@charset "UTF-8";
/*!
  Theme Name: Ori Framework
  Author: Ori
  Author URI: http://shikiori.com/
  Description: Ori framework
  Version: 1.0
  Date: 2023.06.19
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
@charset "UTF-8";
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
}

address {
    font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace; /* 1 */
    font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
    vertical-align: bottom;
    max-width: 100%;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none; /* 1 */
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    cursor: pointer;
}

button:disabled,
[type="button"]:disabled,
[type="reset"]:disabled,
[type="submit"]:disabled {
    cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
    outline: auto;
}

select:disabled {
    opacity: inherit;
}

/**
 * Remove padding
 */
option {
    padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

legend {
    padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type="search"] {
    outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type="number"] {
    -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
    cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
    outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
    border-color: inherit; /* 1 */
    border-collapse: collapse;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}

/* base */
:root {
    --scrollbar: 0;
}

body {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-weight: normal;
    color: rgb(93, 31, 10);
    line-height: 1.6;
    font-size: 16px;
    overflow-x: hidden;
}

a {
    color: rgb(93, 32, 10);
    transition: opacity 0.3s ease-out, background-color 0.3s ease-out;
}

a:hover,
button:hover {
    cursor: pointer;
}

/* header */
.header {
    position: fixed;
    width: calc(100% - 12px);
    top: 6px;
    margin: 0 6px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    background: #fff;
    z-index: 9999;
    transition: all 0.3s ease-out;
    padding: 17px 12px 17px 19px;
    box-shadow: 0px 2px 5px rgba(70, 70, 70, 0.1);
}

.header.is-active {
    background: rgb(252, 103, 178);
    width: 100%;
    inset: 0;
    margin: 0;
    top: 0 !important;
    border-radius: 0;
    height: 100vh;
    align-items: start;
    flex-flow: column;
}

.header--static {
    top: 0;
    position: static;
    box-shadow: none;
    opacity: 1;
}

.header.header--page {
    top: -150px;
    opacity: 0;
}

.header--page.is-down {
    top: 6px;
    opacity: 1;
}

.scroll-lock {
    overflow: hidden;
}

.header__logo {
    width: 60%;
    max-width: 300px;
}

.header.is-active .header__logo {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px;
}

.toggle {
    position: relative;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136.06 132.2"><path fill="%236b2800" stroke="%236b2800" stroke-width="2px" d="M133.68,48.7c-3.74-11.52-14.39-19.26-26.49-19.26-2.92,0-5.82,.46-8.62,1.37-.96,.31-1.89,.68-2.8,1.08v-.05s-.04,.02-.04,.02c.11-.99,.16-2,.16-3,0-15.36-12.5-27.86-27.86-27.86s-27.86,12.5-27.86,27.86c0,1,.05,2.01,.16,3l-.05-.02v.05c-.91-.41-1.86-.77-2.8-1.08-2.8-.91-5.7-1.37-8.62-1.37-12.1,0-22.75,7.74-26.49,19.26-2.3,7.08-1.71,14.63,1.67,21.26,3.38,6.63,9.14,11.55,16.22,13.85,.96,.31,1.93,.57,2.9,.78l-.04,.04h.05c-.68,.75-1.31,1.53-1.89,2.34-4.38,6.02-6.15,13.38-4.98,20.74,1.16,7.35,5.12,13.8,11.14,18.18,4.79,3.48,10.45,5.32,16.35,5.32,8.9,0,17.34-4.29,22.56-11.49,.59-.8,1.13-1.65,1.63-2.52l.03,.05,.02-.05c.5,.87,1.04,1.72,1.63,2.52,5.23,7.19,13.66,11.49,22.56,11.49h0c5.91,0,11.56-1.84,16.35-5.32,6.02-4.38,9.98-10.83,11.14-18.18,1.17-7.35-.6-14.71-4.98-20.74-.58-.8-1.22-1.59-1.9-2.33h.05s-.04-.05-.04-.05c.98-.21,1.95-.46,2.9-.78,7.08-2.3,12.83-7.22,16.21-13.85,3.38-6.63,3.97-14.18,1.68-21.26Z" /></svg>');
    background-repeat: no-repeat;
    width: 80px;
    height: 77px;
    display: grid;
    place-items: center;
    z-index: 2;
    margin: 0 0 0 auto;
}

.toggle[aria-expanded="true"] {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136.06 132.2"><path fill="%23FC67B2" stroke="%23fff" stroke-width="2px" d="M133.68,48.7c-3.74-11.52-14.39-19.26-26.49-19.26-2.92,0-5.82,.46-8.62,1.37-.96,.31-1.89,.68-2.8,1.08v-.05s-.04,.02-.04,.02c.11-.99,.16-2,.16-3,0-15.36-12.5-27.86-27.86-27.86s-27.86,12.5-27.86,27.86c0,1,.05,2.01,.16,3l-.05-.02v.05c-.91-.41-1.86-.77-2.8-1.08-2.8-.91-5.7-1.37-8.62-1.37-12.1,0-22.75,7.74-26.49,19.26-2.3,7.08-1.71,14.63,1.67,21.26,3.38,6.63,9.14,11.55,16.22,13.85,.96,.31,1.93,.57,2.9,.78l-.04,.04h.05c-.68,.75-1.31,1.53-1.89,2.34-4.38,6.02-6.15,13.38-4.98,20.74,1.16,7.35,5.12,13.8,11.14,18.18,4.79,3.48,10.45,5.32,16.35,5.32,8.9,0,17.34-4.29,22.56-11.49,.59-.8,1.13-1.65,1.63-2.52l.03,.05,.02-.05c.5,.87,1.04,1.72,1.63,2.52,5.23,7.19,13.66,11.49,22.56,11.49h0c5.91,0,11.56-1.84,16.35-5.32,6.02-4.38,9.98-10.83,11.14-18.18,1.17-7.35-.6-14.71-4.98-20.74-.58-.8-1.22-1.59-1.9-2.33h.05s-.04-.05-.04-.05c.98-.21,1.95-.46,2.9-.78,7.08-2.3,12.83-7.22,16.21-13.85,3.38-6.63,3.97-14.18,1.68-21.26Z" /></svg>');
}

.toggle__text {
    position: relative;
    color: #fff;
    font-family: "Delius", cursive;
}

.toggle__text::before,
.toggle__text::after {
    content: "";
    display: block;
    width: 33px;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.toggle__text::before {
    top: 2px;
}

.toggle__text::after {
    bottom: 0px;
}

.gnav[aria-hidden="true"] {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px;
}

.gnav {
    font-weight: bold;
    color: rgb(255, 255, 255);
    font-size: 20px;
    width: 100%;
}

.gnav a {
    color: rgb(255, 255, 255);
}

.gnav__item + .gnav__item {
    margin-top: 10px;
}

.gnav__link + .gnav__link {
    margin-top: 10px;
}

.gnav__link {
    display: inline-block;
    width: 100%;
}

.gnav__list .gnav__link {
    transition: color 0.15s ease-out;
}

.gnav__list .gnav__link:hover {
    color: rgb(93, 32, 10);
}

.gnav__button-list {
    display: flex;
    flex-flow: column;
    margin-top: 50px;
    padding-top: 30px;
    border-top: 1px solid rgb(255, 255, 255);
}

.gnav__button-list a {
    border: 1px solid rgb(255, 255, 255);
}

@media screen and (min-width: 550px) {
    .header {
        top: 16px;
        width: calc(100% - 47px);
        margin: 0 27px 0 20px;
        padding: 27px 22px 27px 29px;
    }
    .header.header--page {
        top: -200px;
    }
    .header--page.is-down {
        top: 16px;
    }
    .toggle {
        width: 100px;
        height: 98px;
    }
    .toggle__text::before,
    .toggle__text::after {
        width: 55px;
    }
    .toggle__text::before {
        top: -5px;
    }
    .toggle__text::after {
        bottom: -5px;
    }
}
@media screen and (min-width: 1280px) {
    .header {
        justify-content: space-between;
    }
    .toggle {
        display: none;
    }
    .gnav {
        position: static;
        background: transparent;
        font-size: 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0 14px;
        width: 72%;
        max-width: 1200px;
    }
    .gnav__list {
        display: flex;
        margin-top: 0;
        width: 58%;
        justify-content: space-between;
    }
    .gnav__item + .gnav__item {
        margin-top: 0px;
    }
    .gnav a {
        color: rgb(93, 32, 10);
    }
    .gnav__list .gnav__link {
        position: relative;
    }
    .gnav__list .gnav__link::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -2px;
        height: 0px;
        background-color: transparent;
        transition: all 0.15s ease-in-out;
    }
    .gnav__list .gnav__link:hover::before {
        background-color: rgb(93, 32, 10);
        height: 2px;
    }
    .gnav__button-list {
        flex-flow: row;
        margin: 0;
        padding-top: 0;
        align-items: center;
    }
    .gnav__button-list a {
        border: 1px solid rgb(93, 32, 10);
    }
    .gnav__link + .gnav__link {
        margin-top: 0px;
        margin-left: 7px;
    }
}
@media screen and (min-width: 1420px) {
    .gnav__link + .gnav__link {
        margin-top: 0px;
        margin-left: 14px;
    }
}
@media screen and (min-width: 1280px) and (max-width: 1750px) {
    .gnav__button-list a {
        padding: 1em 15px;
        line-height: 1.2;
    }
}

/* body */
.inner,
.inner--small {
    max-width: 1200px;
    width: calc(100% - 30px);
    margin: 0 auto;
}

.inner--small {
    max-width: 1100px;
}

@media screen and (min-width: 768px) {
    .inner,
    .inner--small {
        width: calc(100% - 60px);
    }
}
/* footer */
.footer {
    background: url(img/repeat_text.png) repeat-x top 20px center;
    padding: 80px 0 18px;
}

.footer__wrapper {
    display: flex;
    flex-flow: wrap;
}

.footer__logo {
    text-align: center;
    width: 100%;
    padding-bottom: 30px;
    border-bottom: 1px solid rgb(93, 32, 10);
}

.footer__logo a:hover {
    opacity: 0.5;
}

.footer__content {
    width: 100%;
    padding: 30px 0;
    border-bottom: 1px solid rgb(93, 32, 10);
}

.footer__heading {
    font-weight: bold;
    font-size: 24px;
}

.footer__tel {
    font-family: "Delius", cursive;
}

.footer__tel:hover {
    opacity: 0.5;
}

.footer__tel-tag {
    font-size: 21px;
}

.footer__tel-number {
    font-size: 32px;
}

.footer__postal {
    font-family: "Delius", cursive;
}

.footer__sns {
    margin-top: 30px;
}

.footer__sns-heading {
    font-weight: bold;
}

.footer__sns-list {
    margin-top: 30px;
}

.footer__sns-link {
    font-family: "Delius", cursive;
    padding-left: 50px;
    position: relative;
    font-size: 14px;
}

.footer__sns-link:hover {
    opacity: 0.5;
}

.footer__sns-item + .footer__sns-item {
    margin-top: 25px;
}

.footer__sns-item .icon__line,
.icon__youtube {
    position: absolute !important;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.footer__nav {
    margin-top: 50px;
}

.footer__nav-link {
    font-weight: bold;
    display: inline-block;
}

.footer__nav-link:hover {
    opacity: 0.5;
}

.footer__nav-link .symbol__angle-right {
    margin-right: 7px;
}

.footer__nav-item {
    margin-top: 10px;
}

.copyright {
    font-family: "Delius", cursive;
    font-size: 12px;
    text-align: center;
    margin-top: 42px;
}

@media screen and (min-width: 550px) {
    .footer__nav {
        gap: 20px 100px;
        display: flex;
        flex-flow: wrap;
        gap: 20px 50px;
    }
    .footer__nav-item {
        margin-top: 0;
    }
    .footer__nav-item + .footer__nav-item {
        margin-top: 20px;
    }
}
@media screen and (min-width: 768px) {
    .footer {
        background-position: top 26px center;
        padding: 121px 0 18px;
    }
    .footer__content {
        width: 50%;
        border-right: 1px solid rgb(93, 32, 10);
        margin-right: 30px;
        padding: 30px 0 15px;
        border-bottom: none;
    }
    .copyright {
        margin-top: 73px;
    }
}
@media screen and (min-width: 1280px) {
    .footer__wrapper {
        justify-content: space-between;
        align-items: center;
    }
    .footer__logo {
        text-align: left;
        width: auto;
        margin: 0;
        padding: 0;
        border: none;
    }
    .footer__content {
        padding: 10px 6%;
        margin: 0 30px;
        border-left: 1px solid rgb(93, 32, 10);
    }
    .footer__sns {
        margin: 0;
    }
    .footer__nav {
        margin-top: 98px;
        gap: 20px 100px;
    }
}
/* other */
.other__list {
    display: flex;
    flex-flow: wrap;
    gap: 2px;
    max-width: 1500px;
    margin: 0 auto;
}

.other__item {
    width: 100%;
    position: relative;
    z-index: 0;
}

.other__item a {
    width: 100%;
    height: 450px;
    display: flex;
    flex-flow: column;
    align-items: end;
    justify-content: end;
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.other__item a::before {
    content: "";
    position: absolute;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: 0.3s ease-out;
    z-index: -1;
}

.other__item a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(93, 32, 10, 0.1);
    z-index: 0;
}

.other__item a:hover::before {
    transform: scale(1.1);
}

.other__list--top .other__item:first-of-type {
    width: 100% !important;
}

.other__item--top__logo::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(img/image_other-top.png) no-repeat left 15px top 30px / contain;
    background-size: 130px auto;
    z-index: 1;
}

@media screen and (min-width: 550px) {
    .other__item--top__logo::before {
        background-size: 188px auto;
        background-position: left 30px center;
    }
}
@media screen and (min-width: 768px) {
    .other__list--top .other__item:first-of-type::after {
        background-position: left 57px center;
    }
}
.other__item .section__title {
    color: rgb(255, 255, 255);
    display: flex;
    flex-flow: column-reverse;
    padding-right: 30px;
    align-items: end;
    position: relative;
    z-index: 2;
}

.other__item .section__title-ja {
    margin-top: 8px;
}

.other__button {
    position: relative;
    z-index: 3;
    text-align: right;
    margin: 10px 0 -1px 0;
    padding: 20px 30px 9px 78px;
    background: url(img/bg_content_button.png) no-repeat right bottom/contain;
}

.other__item a:hover .other__button .symbol__circle-right {
    background: rgb(93, 32, 10);
}

.other__item a:hover .other__button .symbol__circle-right::before {
    background: rgb(255, 255, 255);
}

@media screen and (min-width: 550px) {
    .other__item {
        width: calc((100% - 2px) / 2);
    }
}
@media screen and (min-width: 814px) {
    .other__item {
        width: calc((100% - 4px) / 3);
    }
}
.other__item--top-dental a::before {
    background-image: url(img/bg_other_dental_top.jpg);
}

.other__item--dental a::before {
    background-image: url(img/bg_other_dental.jpg);
}

.other__item--greetings a::before {
    background-image: url(img/bg_other_greetings.jpg);
}

.other__item--facility a::before {
    background-image: url(img/bg_other_facility-equipment.jpg);
}

.other__item--recruitment a::before {
    background-image: url(img/bg_other_recruitment.jpg);
    background-position: right center;
}

/* section */
.sectionBg {
    padding-top: 80px;
    padding-bottom: 100px;
}

.section + .section {
    padding-top: 80px;
}

.sectionBg + .section {
    padding-top: 80px;
}

@media screen and (min-width: 768px) {
    .section + .section {
        padding-top: 160px;
    }
    .sectionBg + .section {
        padding-top: 160px;
    }
}
.section__title {
    margin-bottom: 32px;
    display: flex;
    align-items: center;
}

.section__title-en {
    font-family: "Delius", cursive;
    margin-left: 8px;
    font-size: 14px;
}

.section__title--column {
    display: flex;
    flex-flow: column;
    align-items: start;
    gap: 10px 0;
}

.section__title--column .section__title-en {
    margin-left: 0;
}

[class*="icon__"] + .section__title-ja,
[class*="icon__"] + .section__title--column {
    margin-left: 10px;
}

@media screen and (min-width: 550px) {
    [class*="icon__"] + .section__title-ja {
        margin-left: 24px;
    }
    .section__title-en {
        font-size: 16px;
        margin-left: 16px;
    }
    .section__title--column {
        flex-flow: row;
        align-items: center;
    }
    .section__title--column .section__title-en {
        margin-left: 16px;
    }
}
/* page */
.page__title-wrapper {
    background: rgb(255, 232, 243) url(img/repeat_tree.png) repeat-x center bottom 10px;
    padding: 70px 0 112px;
    position: relative;
}
.page__title-wrapper.page__title-wrapper--topdemo {
    background: none;
    padding: 0;
}

.page__title-wrapper--dental {
    background: url(img/repeat_flower_01.png) repeat-x center/contain;
}
.page__title-wrapper--dental-demo {
    background: url(img/repeat_flower_01.png) repeat-x center/contain;
}
.page__title-wrapper--access {
    background: url(img/bg_stripe.png) no-repeat bottom/cover;
}

.page__title-wrapper--information {
    background: rgb(255, 232, 243) url(img/repeat_tree.png) repeat-x center bottom 10px;
}

.page__title-wrapper--facility-equipment {
    background: rgb(230, 197, 144) url(img/repeat_flower_03.png) repeat-x left top/contain;
}
.page__title-wrapper--equipment-demo {
    background: rgb(230, 197, 144) url(img/repeat_flower_03.png) repeat-x left top/contain;
}
.page__title-wrapper--recruitment {
    background: rgb(192, 230, 240) url(img/repeat_leaf.png) repeat-x center bottom 14px / contain;
}

.page__title-wrapper--treatment {
    background: rgb(241, 242, 234) url(img/repeat_tree.png) repeat-x center bottom 10px / contain;
}
.page__title-wrapper--treatment-demo {
    background: rgb(241, 242, 234) url(img/repeat_tree.png) repeat-x center bottom 10px / contain;
}
.page__title-wrapper--greetings {
    background: rgb(232, 234, 216) url(img/repeat_flower_02.png) center/contain;
    background-size: 130px;
}

.page__title-wrapper--notes {
    background: rgb(232, 234, 216) url(img/repeat_tree-orange.png) repeat-x center bottom 10px / contain;
}

.page__title-wrapper--contact {
    background: rgb(144, 69, 36) url(img/repeat_leaf.png) repeat-x center bottom 14px / contain;
}

.page__title {
    background: rgb(93, 32, 10);
    border-radius: 20px;
    text-align: center;
    max-width: 280px;
    padding: 30px 0;
    margin: 0 auto;
    color: #fff;
    line-height: 0.8;
}

.page__title--greetings,
.page__title--contact {
    max-width: 380px;
    margin: 0 15px;
}

.page__title--greetings img,
.page__title--contact img {
    width: 80%;
}

.page__title-en {
    font-family: "Delius", cursive;
}

.page__title-ja--privacy-policy {
    font-size: 20px;
}

@media screen and (min-width: 410px) {
    .page__title--greetings,
    .page__title--contact {
        margin: 0 auto;
    }
}
@media screen and (min-width: 768px) {
    .page__title {
        min-width: 420px;
    }
    .page__title--contact {
        min-width: 520px;
    }
}
/* detail */
.detail.section {
    padding-top: 105px;
}

.detail__content {
    padding: 17px 15px;
    background: rgb(250, 243, 233);
    margin-top: 34px;
    border-radius: 9px;
}

.detail__title-wrapper {
    display: flex;
    align-items: center;
    gap: 0 26px;
    flex-flow: wrap;
}

.detail__title {
    font-size: 36px;
    font-weight: bold;
}

.detail__years {
    font-family: "Delius", cursive;
}

.detail [class*="information__category"] {
    margin: 24px 0 0;
}

.detail__content .size-detail-thumbnails {
    margin-top: 40px;
}

.detail__content h1,
.detail__content h2,
.detail__content h3,
.detail__content h4,
.detail__content h5,
.detail__content h6 {
    font-weight: bold;
}

.detail__content h1 {
    font-size: 32px;
}

.detail__content h2 {
    font-size: 28px;
}

.detail__content h3 {
    font-size: 24px;
}

.detail__content h4 {
    font-size: 22px;
}

.detail__content h5 {
    font-size: 18px;
}

.detail__content h6 {
    font-size: 16px;
}

.detail__content p + p {
    margin-top: 1em;
}

.detail__content *:not(:first-child) {
    padding-top: 0.4em;
}

.detail__content img {
    height: auto;
}

@media screen and (min-width: 550px) {
    .detail__content {
        padding: 35px 30px;
    }
}

@media screen and (min-width: 768px) {
    .detail__content {
        padding: 55px 50px;
    }
}
.detail__pagenavi {
    position: relative;
    margin-top: 48px;
    font-weight: bold;
}

.detail__previous,
.detail__next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.detail__next {
    right: 0;
}

.detail__pagenavi .symbol__circle-left,
.detail__pagenavi .symbol__circle-right {
    border: 2px solid rgb(93, 32, 10);
}

.detail__previous:hover .symbol__circle-left,
.detail__next:hover .symbol__circle-right {
    background: rgb(93, 32, 10);
}

.detail__previous:hover .symbol__circle-left::before,
.detail__next:hover .symbol__circle-right::before {
    background: rgb(255, 255, 255);
}

.detail__pagenavi .symbol__circle-left {
    margin: 0 7px 0 0;
}

.detail__pagenavi .symbol__circle-right {
    margin: 0 0 0 7px;
}

@media screen and (min-width: 550px) {
    .detail__pagenavi .symbol__circle-left {
        margin: 0 14px 0 0;
    }
    .detail__pagenavi .symbol__circle-right {
        margin: 0 0 0 14px;
    }
}
/* button */
.button__link {
    display: inline-block;
    padding: 1em 1.5em;
    border: 1px solid rgb(93, 31, 10);
    border-radius: 100px;
    width: auto !important;
    font-weight: bold;
    transition: all 0.3s ease-out;
}

.button__link:hover {
    background-color: rgb(93, 31, 10);
    color: rgb(255, 255, 255);
}

.button__link-text {
    font-weight: bold;
}

.button__link-text:hover .symbol__circle-right {
    background: rgb(93, 32, 10);
}

.button__link-text:hover .symbol__circle-right::before {
    background: rgb(255, 255, 255);
}

.button__list {
    display: flex;
    align-items: center;
}

.archive_list {
    padding-left: 20px;
    border-left: 1px solid rgb(93, 32, 10);
    margin-left: 36px;
}

.button__previous,
.button__next {
    width: 40px;
    height: 40px;
    position: relative;
    display: inline-block;
    border-bottom: 1px solid transparent;
    transition: all 0.1s ease-in-out;
}

.button__previous:hover,
.button__next:hover {
    border-bottom: 3px solid rgb(93, 32, 10);
}

.button__previous::before,
.button__next::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 42% 90%, 78% 57%, 0 57%, 0 43%, 78% 43%, 42% 10%);
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 42% 90%, 78% 57%, 0 57%, 0 43%, 78% 43%, 42% 10%);
    background: rgb(93, 32, 10);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.button__next {
    margin-left: 2px;
}

.button__previous {
    transform: scaleX(-1);
}

.button__access {
    background: rgb(255, 255, 255);
    border: 2px solid rgb(93, 32, 10);
    border-radius: 100px;
    padding: 0.8em 1em;
    font-size: 13px;
    font-weight: bold;
    line-height: 1;
    display: inline-block;
    transition: all 0.3s ease-out;
}

.button__access .fa-location-dot {
    margin-right: 5px;
}

.button__access:hover {
    background: rgb(93, 32, 10);
    color: rgb(255, 255, 255);
}

.button__access:hover .fa-location-dot::before {
    color: rgb(255, 255, 255);
}

.button__option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1em 1.5em;
    border: 1px solid rgb(93, 31, 10);
    border-radius: 100px;
    font-weight: bold;
}

.button__option:hover .symbol__circle-bottom {
    background: rgb(93, 32, 10);
}

.button__option:hover .symbol__circle-bottom::before {
    background: rgb(255, 255, 255);
}

.button__page-top {
    position: sticky;
    display: block;
    width: 57px;
    height: 55px;
    bottom: 20px;
    right: 15px;
    margin: 30px 0 0 auto;
    z-index: 8888;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.button__page-top.is-active {
    visibility: visible;
    opacity: 1;
}

.button__page-top:hover {
    opacity: 0.5;
}

.button__form,
.button__archive {
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 1em 1.5em;
    max-width: 319px;
    border: 1px solid rgb(93, 31, 10);
    border-radius: 100px;
    width: 100%;
    font-weight: bold;
}

.button__archive {
    padding: 0.5em 1em;
    width: 33%;
}

.button__form:hover,
.button__archive:hover {
    background: rgb(93, 31, 10);
    color: rgb(255, 255, 255);
}
@media screen and (min-width: 550px) {
    .button__archive {
        padding: 1em 1.5em;
        width: 100%;
    }
}
@media screen and (min-width: 768px) {
    .button__list-wrapper {
        display: flex;
        justify-content: space-between;
    }
    .button__page-top {
        bottom: 30px;
        right: 30px;
        margin: 80px 0 0 auto;
        z-index: 8888;
    }
}
/* symbol */
.symbol__circle-right,
.symbol__circle-left,
.symbol__circle-bottom {
    margin-left: 14px;
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgb(93, 32, 10);
    position: relative;
    vertical-align: middle;
    transition: all 0.3s ease-out;
    flex-shrink: 0;
}

.symbol__circle-right::before,
.symbol__circle-left::before,
.symbol__circle-bottom::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 42% 90%, 78% 57%, 0 57%, 0 43%, 78% 43%, 42% 10%);
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 42% 90%, 78% 57%, 0 57%, 0 43%, 78% 43%, 42% 10%);
    background: rgb(93, 32, 10);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s ease-out;
}

.symbol__circle-bottom {
    transform: rotate(90deg);
}

.symbol__circle-left {
    transform: rotate(180deg);
    margin: 0 14px 0 0;
}

.symbol__flower {
    display: inline-block;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136.06 132.2"><path fill="%23FC67B2" stroke="%23FC67B2" stroke-width="2px" d="M133.68,48.7c-3.74-11.52-14.39-19.26-26.49-19.26-2.92,0-5.82,.46-8.62,1.37-.96,.31-1.89,.68-2.8,1.08v-.05s-.04,.02-.04,.02c.11-.99,.16-2,.16-3,0-15.36-12.5-27.86-27.86-27.86s-27.86,12.5-27.86,27.86c0,1,.05,2.01,.16,3l-.05-.02v.05c-.91-.41-1.86-.77-2.8-1.08-2.8-.91-5.7-1.37-8.62-1.37-12.1,0-22.75,7.74-26.49,19.26-2.3,7.08-1.71,14.63,1.67,21.26,3.38,6.63,9.14,11.55,16.22,13.85,.96,.31,1.93,.57,2.9,.78l-.04,.04h.05c-.68,.75-1.31,1.53-1.89,2.34-4.38,6.02-6.15,13.38-4.98,20.74,1.16,7.35,5.12,13.8,11.14,18.18,4.79,3.48,10.45,5.32,16.35,5.32,8.9,0,17.34-4.29,22.56-11.49,.59-.8,1.13-1.65,1.63-2.52l.03,.05,.02-.05c.5,.87,1.04,1.72,1.63,2.52,5.23,7.19,13.66,11.49,22.56,11.49h0c5.91,0,11.56-1.84,16.35-5.32,6.02-4.38,9.98-10.83,11.14-18.18,1.17-7.35-.6-14.71-4.98-20.74-.58-.8-1.22-1.59-1.9-2.33h.05s-.04-.05-.04-.05c.98-.21,1.95-.46,2.9-.78,7.08-2.3,12.83-7.22,16.21-13.85,3.38-6.63,3.97-14.18,1.68-21.26Z" /></svg>');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 19px;
    transition: all 0.3s ease-in-out;
}

.symbol__flower--sun {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136.06 132.2"><path fill="transparent" stroke="%23FC67B2" stroke-width="5px" d="M133.68,48.7c-3.74-11.52-14.39-19.26-26.49-19.26-2.92,0-5.82,.46-8.62,1.37-.96,.31-1.89,.68-2.8,1.08v-.05s-.04,.02-.04,.02c.11-.99,.16-2,.16-3,0-15.36-12.5-27.86-27.86-27.86s-27.86,12.5-27.86,27.86c0,1,.05,2.01,.16,3l-.05-.02v.05c-.91-.41-1.86-.77-2.8-1.08-2.8-.91-5.7-1.37-8.62-1.37-12.1,0-22.75,7.74-26.49,19.26-2.3,7.08-1.71,14.63,1.67,21.26,3.38,6.63,9.14,11.55,16.22,13.85,.96,.31,1.93,.57,2.9,.78l-.04,.04h.05c-.68,.75-1.31,1.53-1.89,2.34-4.38,6.02-6.15,13.38-4.98,20.74,1.16,7.35,5.12,13.8,11.14,18.18,4.79,3.48,10.45,5.32,16.35,5.32,8.9,0,17.34-4.29,22.56-11.49,.59-.8,1.13-1.65,1.63-2.52l.03,.05,.02-.05c.5,.87,1.04,1.72,1.63,2.52,5.23,7.19,13.66,11.49,22.56,11.49h0c5.91,0,11.56-1.84,16.35-5.32,6.02-4.38,9.98-10.83,11.14-18.18,1.17-7.35-.6-14.71-4.98-20.74-.58-.8-1.22-1.59-1.9-2.33h.05s-.04-.05-.04-.05c.98-.21,1.95-.46,2.9-.78,7.08-2.3,12.83-7.22,16.21-13.85,3.38-6.63,3.97-14.18,1.68-21.26Z" /></svg>');
}

.symbol__flower-line {
    transition: all 0.3s ease-in-out;
    display: inline-block;
}

.symbol__flower-line::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 26px;
    height: 24px;
    background: url(img/icon_flower-line.png) no-repeat center/contain;
}

.symbol__angle-right {
    display: inline-block;
    -webkit-clip-path: polygon(15% 0, 100% 50%, 15% 100%, 0 84%, 58% 50%, 0 16%);
    clip-path: polygon(15% 0, 100% 50%, 15% 100%, 0 84%, 58% 50%, 0 16%);
    width: 7px;
    height: 10px;
    background: rgb(93, 32, 10);
}

/* icon */
[class*="icon__"] {
    display: inline-block;
    vertical-align: middle;
}

[class*="icon__"]::before {
    content: "";
    display: grid;
    place-items: center;
}

.icon__line::before,
.icon__youtube::before {
    width: 40px;
    height: 41px;
    background: url(img/icon_line.png) no-repeat center/contain;
    background-image: -webkit-image-set(url(img/icon_line@2x.png) 2x);
    background-image: image-set(url(img/icon_line@2x.png) 2x);
}

.icon__youtube::before {
    background: url(img/icon_youtube.png) no-repeat center/contain;
    background-image: -webkit-image-set(url(img/icon_youtube@2x.png) 2x);
    background-image: image-set(url(img/icon_youtube@2x.png) 2x);
}

.icon__general::before,
.icon__orthodontics::before,
.icon__pediatric::before {
    width: 38px;
    height: 30px;
    background: url(img/icon_general.png) no-repeat center/contain;
    background-image: -webkit-image-set(url(img/icon_general@2x.png) 2x);
    background-image: image-set(url(img/icon_general@2x.png) 2x);
}

.icon__orthodontics::before {
    width: 30px;
    height: 30px;
    background: url(img/icon_orthodontics.png) no-repeat center/contain;
    background-image: -webkit-image-set(url(img/icon_orthodontics@2x.png) 2x);
    background-image: image-set(url(img/icon_orthodontics@2x.png) 2x);
}

.icon__pediatric::before {
    background: url(img/icon_pediatric.png) no-repeat center/contain;
    background-image: -webkit-image-set(url(img/icon_pediatric@2x.png) 2x);
    background-image: image-set(url(img/icon_pediatric@2x.png) 2x);
}

.icon__general-flower::before,
.icon__orthodontics-flower::before,
.icon__pediatric-flower::before {
    width: 137px;
    height: 133px;
    background: url(img/icon_general-flower.png) no-repeat center/contain;
}

.icon__orthodontics-flower::before {
    background: url(img/icon_orthodontics-flower.png) no-repeat center/contain;
}

.icon__pediatric-flower::before {
    background: url(img/icon_pediatric-flower.png) no-repeat center/contain;
}

/* bg */
.bg__flower {
    background-color: rgb(250, 243, 233);
    position: relative;
    z-index: 0;
}

.bg__flower::before,
.bg__flower::after {
    position: absolute;
    content: "";
    inset: 0;
    z-index: -1;
}

.bg__flower::before {
    background: url(img/bg_flower_left.png) no-repeat left bottom;
    background-size: 40%;
}

.bg__flower::after {
    background: url(img/bg_flower_right.png) no-repeat right top;
    background-size: 40%;
}

@media screen and (min-width: 768px) {
    .bg__flower::before,
    .bg__flower::after {
        background-size: auto;
    }
}
.bg__flower-text {
    background: url(img/repeat_text.png) repeat-x top 80px center;
}

/* breadcrumbs */
.breadcrumbs {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    background: rgb(255, 255, 255);
    padding: 28px 34px;
    border-radius: 10px;
    font-weight: bold;
    font-size: 12px;
    z-index: 1;
    line-height: 1;
}

.breadcrumbs a {
    text-decoration: underline;
    display: inline-block;
    padding-bottom: 5px;
}

.breadcrumbs a:hover {
    opacity: 0.5;
}

.breadcrumbs__symbol {
    margin: 0 10px;
}

/* operating-table */
.operating-table {
    width: 100%;
    border-bottom: 1px solid rgb(93, 32, 10);
    font-weight: bold;
    font-size: 14px;
}

.operating-table th,
.operating-table td {
    padding: 0.5em;
    text-align: center;
    vertical-align: middle;
}

.operating-table th:first-of-type {
    padding: 0.2em;
    vertical-align: top;
}

.operating-table tr {
    border-top: 1px solid rgb(93, 32, 10);
}

.operating-table th + th,
.operating-table td + td {
    border-left: 1px solid rgb(93, 32, 10);
}

.operating-table-time {
    font-family: "Delius", cursive;
    line-height: 1;
    font-size: 12px;
}

@media screen and (min-width: 375px) {
    .operating-table th:first-of-type {
        padding: 0.5em;
        vertical-align: middle;
    }
}
@media screen and (min-width: 550px) {
    .operating-table {
        font-size: 16px;
    }
    .operating-table th,
    .operating-table td {
        padding: 1em;
    }
    .operating-table-time {
        font-size: 14px;
    }
}
/* wp-pagenavi */
.wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 60px;
}

.wp-pagenavi .current {
    background: rgb(93, 31, 10);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: rgb(255, 255, 255);
    display: grid;
    place-items: center;
    margin: 0 13px;
}

.wp-pagenavi .page,
.wp-pagenavi .last {
    margin: 0 5px;
    padding: 0 5px;
}

.wp-pagenavi .page:hover,
.wp-pagenavi .last:hover {
    opacity: 0.5;
}

.wp-pagenavi .button__previous {
    margin-right: 10px;
}

.wp-pagenavi .button__next {
    margin-left: 20px;
}

/* form */
form {
    width: 100%;
}

.form__list {
    border-bottom: 1px solid rgb(250, 243, 233);
}

.form__item {
    padding: 15px 0;
    border-top: 1px solid rgb(250, 243, 233);
}

.form__label {
    padding: 0 0 12px 20px;
    flex-basis: 198px;
    font-weight: bold;
    display: flex;
}

.label-required {
    padding: 0 0 12px 20px;
}

.required {
    background: rgb(252, 103, 178);
    color: rgb(255, 255, 255);
    font-size: 12px;
    width: 45px;
    height: 25px;
    display: grid;
    place-items: center;
    font-weight: bold;
    border-radius: 5px;
    margin-right: 15px;
}

.form__label .required {
    margin-right: 25px;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    color: rgb(230, 197, 144);
}

input::placeholder,
textarea::placeholder {
    color: rgb(230, 197, 144);
}

.input-text,
.input-textarea {
    background: rgb(248, 248, 248);
    border-radius: 50px;
    padding: 15px 25px;
    width: 100%;
}

.input-textarea {
    border-radius: 5px;
    height: 250px;
}

.form__privacy {
    text-align: center;
    margin-top: 20px;
}

.form__agreement {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.input-checkbox {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px;
}

.input-checkbox + span::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background: rgb(255, 255, 255);
    border-radius: 5px;
    border: 1px solid rgb(93, 32, 10);
    flex-shrink: 0;
}

.input-checkbox:checked + span::before {
    background: url(img/symbol_check.png) no-repeat center/contain;
    background-image: -webkit-image-set(url(img/symbol_check@2x.png) 2x);
    background-image: image-set(url(img/symbol_check@2x.png) 2x);
    background-size: 18px 15px;
}

.input-checkbox + span {
    display: flex;
    align-items: center;
    gap: 12px;
}

@media screen and (min-width: 768px) {
    .form__item {
        display: flex;
        align-items: center;
        gap: 0 50px;
    }
    .form__label {
        padding-bottom: 0;
        flex-basis: calc(90px + 7em);
        flex-shrink: 0;
    }
    .label-required {
        padding-bottom: 0;
    }
    .required {
        margin-right: 46px;
    }
}
/* archive */
.archive-list {
    background: rgb(255, 255, 255);
    padding: 4px 0;
    overflow-y: scroll;
    max-height: calc(4px + 4em + 80px);
    line-height: 1;
    margin-top: 5px;
    width: 100%;
}

.archive-item a {
    padding: 10px 10px;
    display: inline-block;
    width: 100%;
}

.archive-item a:hover {
    background: rgb(245, 245, 245);
}

@media screen and (min-width: 375px) {
    .archive-list {
        max-height: 204px;
    }
}
@media screen and (min-width: 1280px) {
    .archive-list {
        max-height: 328px;
        margin-top: 14px;
    }
    .archive-item a {
        padding: 12px 16px;
    }
}
/* mv */
.mv {
    width: 100%;
    min-height: 500px;
    height: 100vh;
    max-height: 780px;
    overflow: hidden;
    position: relative;
}

.mv_inner {
    height: 100%;
}

.mv_inner img {
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
}

.mv_inner img::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.2);
}

.mv__content {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.mv_timer-wrapper {
    display: flex;
    position: absolute;
    bottom: 34px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.mv .swiper-pagination-bullet {
    width: 28px;
    height: 5px;
    border-radius: 2px;
    background: rgb(255, 255, 255);
    opacity: 1;
    cursor: pointer;
    transition: all 0.3s ease-out;
}

.mv .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: rgb(93, 32, 10);
}

.mv .swiper-pagination-bullet + .swiper-pagination-bullet {
    margin-left: 5px;
}

@media screen and (min-width: 768px) {
    .mv {
        height: 52vw;
    }
    .mv .swiper-pagination-bullet {
        width: 60px;
    }
}
/* top-intro */
.intro {
    background: url(img/repeat_text.png) repeat-x top 26px center;
    padding: 117px 0 110px;
    text-align: center;
    position: relative;
}

.intro::before {
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
    background: url(img/repeat_tree.png);
    background-size: 200px;
    opacity: 4%;
}

.intro::after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: -2;
    background-color: rgb(250, 243, 233);
}

.intro__inner::before,
.intro__inner::after {
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
    font-family: "Delius", cursive;
    font-size: 20px;
    color: rgb(255, 255, 255);
}

.intro__inner::before {
    content: "welcome to sakura dental clinic";
    text-align: right;
    background: url(img/bg_intro_left.png) no-repeat left top;
    padding-right: 11px;
}

.intro__inner::after {
    content: "let’s maintain your beautiful smile!";
    display: flex;
    align-items: end;
    padding-left: 11px;
    background: url(img/bg_intro_right.png) no-repeat right bottom;
}

.intro__catch {
    font-size: 24px;
    font-weight: bold;
    margin: 30px 0;
}

.intro__text {
    font-size: 18px;
}

@media screen and (min-width: 550px) {
    .intro__inner::before,
    .intro__inner::after {
        font-size: 40px;
    }
}
@media screen and (min-width: 768px) {
    .intro__inner::before,
    .intro__inner::after {
        font-size: 60px;
    }
}
@media screen and (min-width: 1280px) {
    .intro__inner::before,
    .intro__inner::after {
        font-size: 80px;
    }
}
/* top-notes */
.top-notes .inner {
    overflow: hidden;
}

.top-notes .swiper {
    overflow: visible;
}

.top-notes__wrapper {
    margin: 30px 15px 0 15px;
    overflow: hidden;
}

.top-notes__list {
    display: flex;
}

.top-notes__item a:hover {
    opacity: 0.5;
}

@media screen and (min-width: 768px) {
    .top-notes__wrapper {
        margin: 55px 0 0 30px;
    }
}
@media screen and (min-width: 1260px) {
    .top-notes__wrapper {
        margin-left: calc((100% - 1200px) / 2);
    }
}
/* sns */
.sns__button {
    margin: 0 auto 50px;
    display: block;
    max-width: 380px;
}
.sns__list {
    display: flex;
    justify-content: space-between;
    flex-flow: column;
    gap: 20px;
}

.sns__item {
    transition: opacity 0.3s ease-out;
}

.sns__item:hover {
    opacity: 0.5;
}

.sns__item iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
}

@media screen and (min-width: 768px) {
    .sns__list {
        flex-flow: row;
    }
    .sns__item {
        width: 50%;
    }
}
/* gallery */
.gallery__list {
    display: flex;
    flex-flow: wrap;
    gap: 2px;
    position: relative;
    max-width: 1500px;
    margin: 48px auto 50px;
}

.gallery__list::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    display: block;
    width: 250px;
    height: 242px;
    background: url(img/logo_flower_text.png) no-repeat center/contain;
    background: -webkit-image-set(url(img/logo_flower_text@2x.png) 2x) no-repeat center/contain;
    background: image-set(url(img/logo_flower_text@2x.png) 2x) no-repeat center/contain;
    background-size: 84px 75px;
}

.gallery__list::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    display: block;
    width: 190px;
    height: 202px;
    background-repeat: no-repeat;
    animation: gallery 10s ease-in-out 0s infinite alternate;
    background-size: contain;
}
@keyframes gallery {
    0% {
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136.06 132.2"><path fill="%236b2800" d="M133.68,48.7c-3.74-11.52-14.39-19.26-26.49-19.26-2.92,0-5.82,.46-8.62,1.37-.96,.31-1.89,.68-2.8,1.08v-.05s-.04,.02-.04,.02c.11-.99,.16-2,.16-3,0-15.36-12.5-27.86-27.86-27.86s-27.86,12.5-27.86,27.86c0,1,.05,2.01,.16,3l-.05-.02v.05c-.91-.41-1.86-.77-2.8-1.08-2.8-.91-5.7-1.37-8.62-1.37-12.1,0-22.75,7.74-26.49,19.26-2.3,7.08-1.71,14.63,1.67,21.26,3.38,6.63,9.14,11.55,16.22,13.85,.96,.31,1.93,.57,2.9,.78l-.04,.04h.05c-.68,.75-1.31,1.53-1.89,2.34-4.38,6.02-6.15,13.38-4.98,20.74,1.16,7.35,5.12,13.8,11.14,18.18,4.79,3.48,10.45,5.32,16.35,5.32,8.9,0,17.34-4.29,22.56-11.49,.59-.8,1.13-1.65,1.63-2.52l.03,.05,.02-.05c.5,.87,1.04,1.72,1.63,2.52,5.23,7.19,13.66,11.49,22.56,11.49h0c5.91,0,11.56-1.84,16.35-5.32,6.02-4.38,9.98-10.83,11.14-18.18,1.17-7.35-.6-14.71-4.98-20.74-.58-.8-1.22-1.59-1.9-2.33h.05s-.04-.05-.04-.05c.98-.21,1.95-.46,2.9-.78,7.08-2.3,12.83-7.22,16.21-13.85,3.38-6.63,3.97-14.18,1.68-21.26Z" /></svg>');
    }
    100% {
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 136.06 132.2"><path fill="%23FC67B2" d="M133.68,48.7c-3.74-11.52-14.39-19.26-26.49-19.26-2.92,0-5.82,.46-8.62,1.37-.96,.31-1.89,.68-2.8,1.08v-.05s-.04,.02-.04,.02c.11-.99,.16-2,.16-3,0-15.36-12.5-27.86-27.86-27.86s-27.86,12.5-27.86,27.86c0,1,.05,2.01,.16,3l-.05-.02v.05c-.91-.41-1.86-.77-2.8-1.08-2.8-.91-5.7-1.37-8.62-1.37-12.1,0-22.75,7.74-26.49,19.26-2.3,7.08-1.71,14.63,1.67,21.26,3.38,6.63,9.14,11.55,16.22,13.85,.96,.31,1.93,.57,2.9,.78l-.04,.04h.05c-.68,.75-1.31,1.53-1.89,2.34-4.38,6.02-6.15,13.38-4.98,20.74,1.16,7.35,5.12,13.8,11.14,18.18,4.79,3.48,10.45,5.32,16.35,5.32,8.9,0,17.34-4.29,22.56-11.49,.59-.8,1.13-1.65,1.63-2.52l.03,.05,.02-.05c.5,.87,1.04,1.72,1.63,2.52,5.23,7.19,13.66,11.49,22.56,11.49h0c5.91,0,11.56-1.84,16.35-5.32,6.02-4.38,9.98-10.83,11.14-18.18,1.17-7.35-.6-14.71-4.98-20.74-.58-.8-1.22-1.59-1.9-2.33h.05s-.04-.05-.04-.05c.98-.21,1.95-.46,2.9-.78,7.08-2.3,12.83-7.22,16.21-13.85,3.38-6.63,3.97-14.18,1.68-21.26Z" /></svg>');
    }
}

.gallery__item:nth-of-type(-n + 6) {
    width: calc((100% - 2px) / 2);
}

.gallery__item:nth-of-type(n + 7) {
    width: 100%;
}

@media screen and (min-width: 550px) {
    .gallery__item:nth-of-type(-n + 6) {
        width: calc((100% - 4px) / 3);
    }
}
@media screen and (min-width: 768px) {
    .gallery__list {
        margin-bottom: 0;
    }
    .gallery__item:nth-of-type(-n + 6) {
        width: calc((100% - 10px) / 6);
    }
    .gallery__item:nth-of-type(n + 7) {
        width: calc(50% - 1px);
    }
    .gallery__list::before {
        width: 250px;
        height: 242px;
    }
}
/* access */
.access {
    padding-top: 103px;
}

.access__content {
    background: rgb(250, 243, 233);
    border-radius: 20px;
    padding: 27px 15px 30px;
}

.access__content {
    margin-top: 54px;
}

.access__content--top {
    margin-top: 0;
}

.access__name {
    font-weight: bold;
    font-size: 20px;
}

.access__postal {
    margin: 12px 0 0;
    font-family: "Delius", cursive;
}

.access__list {
    margin-top: 35px;
}

.access__item {
    display: flex;
    align-items: start;
}

.access__item + .access__item {
    margin-top: 15px;
}

.access__item-icon {
    flex-shrink: 0;
}

.access__item-content {
    margin-left: 11px;
}

.access__item-content p + p {
    margin-top: 10px;
}

.access__item-heading {
    font-weight: bold;
}

.access__map iframe {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background: rgb(250, 243, 233);
}

.access__map {
    margin-top: 18px;
}

.access__map iframe {
    aspect-ratio: 599/275;
}

.access__map--top {
    margin-top: 30px;
}

.access__map--top iframe {
    aspect-ratio: 16/9;
    min-height: 300px;
}

.access__button {
    margin: 30px auto 0;
    width: -moz-fit-content;
    width: fit-content;
}

.top-access__inner + .operating__wrapper {
    margin-top: 50px;
}

.operating__text {
    margin-top: 17px;
}
.operating__text.operating__text-demo {
    margin-top: 0;
}

.operating__button-list {
    margin-top: 33px;
    display: flex;
    flex-flow: column;
    align-items: start;
}

.operating__button-list .button__link {
    margin-top: 10px;
}

.operating__tel {
    font-family: "Delius", cursive;
}

.operating__tel-tag {
    font-size: 21px;
}

.operating__tel-number {
    font-size: 32px;
}

.operating__calendar {
    margin-top: 30px;
}

.operating__calendar iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
}

@media screen and (min-width: 375px) {
    .access__name {
        font-size: 24px;
    }
    .access__content {
        padding: 27px 30px 30px;
    }
}
@media screen and (min-width: 768px) {
    .access__list-wrapper {
        display: flex;
        justify-content: space-between;
        gap: 0 38px;
    }
    .access__list-wrapper .access__list {
        width: calc((100% - 38px) / 2);
        margin-top: 0;
    }
    .access__content {
        padding: 47px 50px 50px;
    }
    .operating__button-list {
        flex-flow: row;
        justify-content: space-between;
    }
    .operating__button-list .button__link {
        margin-top: 0;
    }
}
@media screen and (min-width: 980px) {
    .top-access__inner,
    .operating__wrapper {
        display: flex;
        justify-content: space-between;
    }
    .access__content--top,
    .access__map--top,
    .operating__content,
    .operating__calendar {
        width: 48.3%;
    }
    .operating__content--contact {
        width: 100%;
    }
    .access__item + .access__item {
        margin-top: 30px;
    }
    .access__map--top {
        margin-top: 0px;
    }
    .operating__calendar {
        margin-top: 0px;
    }
}
/* dental */
.consultation {
    padding: 102px 0 80px;
}

.consultation__content {
    margin-top: 30px;
}

.consultation__text {
    margin-top: 10px;
}

.consultation__text + .consultation__heading {
    margin-top: 20px;
}

@media screen and (min-width: 980px) {
    .consultation__inner {
        display: flex;
        justify-content: space-between;
    }
    .consultation .operating-table,
    .consultation__content {
        width: 48.3%;
    }
    .consultation__content {
        margin-top: 0;
    }
}
.dental-option {
    padding-top: 77px;
}

.dental-option__list .button__option {
    min-width: 230px;
}

.dental-option__list .button__option + .button__option {
    margin-top: 10px;
}

@media screen and (min-width: 510px) {
    .dental-option__list {
        display: flex;
        flex-flow: wrap;
        gap: 20px;
    }
    .dental-option__list .button__option {
        width: calc((100% - 20px) / 2);
        margin-top: 0 !important;
    }
}
@media screen and (min-width: 768px) {
    .dental-option {
        padding-top: 154px;
    }
}
@media screen and (min-width: 840px) {
    .dental-option__list .button__option {
        width: calc((100% - 40px) / 3);
        margin-top: 0 !important;
    }
}
@media screen and (min-width: 1280px) {
    .dental-option__list {
        gap: 20px 60px;
    }
    .dental-option__list .button__option {
        width: calc((100% - 120px) / 3);
    }
}
.dental__content {
    background: rgb(250, 243, 233);
    margin-top: 25px;
    border-radius: 9px;
    padding: 18px 24px;
}

.dental__content-list {
    display: flex;
    flex-flow: wrap;
}

.dental__content-item {
    text-indent: -1em;
    padding-left: 1em;
    width: 100%;
}

.dental__content-item::before {
    content: "・";
    font-weight: bold;
}

@media screen and (min-width: 550px) {
    .dental__content-list {
        gap: 0px 10px;
    }
    .orthodontics .dental__content-item {
        width: calc((100% - 10px) / 2);
    }
}
@media screen and (min-width: 768px) {
    .dental__content {
        padding: 34px 40px;
    }
    .dental__content-list {
        gap: 0px 30px;
    }
    .dental__content-item {
        width: calc((100% - 60px) / 3);
    }
    .orthodontics .dental__content-item {
        width: calc((100% - 30px) / 2);
    }
}
@media screen and (min-width: 900px) {
    .dental__content-item {
        width: calc((100% - 90px) / 4);
    }
}
.general {
    padding-top: 123px;
}

.general.bg__flower-text {
    background-position: top 78px center;
}

.general__text {
    margin-top: 42px;
}

@media screen and (min-width: 768px) {
    .general {
        padding-top: 246px;
    }
    .general.bg__flower-text {
        background-position: top 156px center;
    }
}
.orthodontics {
    padding-top: 129px;
}

.orthodontics__heading {
    margin-top: 45px;
}

.orthodontics__heading + .orthodontics__text {
    margin-top: 32px;
}

.orthodontics__text {
    margin-top: 28px;
}

.orthodontics.bg__flower-text {
    background-position: top 71px center;
}

@media screen and (min-width: 768px) {
    .orthodontics.bg__flower-text {
        background-position: top 170px center;
    }
    .orthodontics {
        padding-top: 258px;
    }
}
.dental__fee {
    border: 2px solid rgb(93, 31, 10);
    padding: 18px 24px;
    border-radius: 10px;
    margin-top: 30px;
}

.dental__fee-list {
    display: flex;
    flex-flow: wrap;
    gap: 20px 15px;
}

.dental__fee-item {
    width: 100%;
    text-indent: -1em;
    padding-left: 1em;
}

.dental__fee-item::before {
    content: "・";
    font-weight: bold;
}

.dental__fee + .orthodontics__text + .orthodontics__text {
    margin-top: 32px;
}

@media screen and (min-width: 768px) {
    .dental__fee {
        padding: 40px 50px;
    }
    .dental__fee-item {
        width: calc((100% - 30px) / 2);
    }
}
.dental__flow-list {
    margin-top: 55px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

.dental__flow-item {
    display: flex;
    align-items: center;
    flex-flow: column;
    justify-content: center;
    line-height: 1;
}

.dental__flow-item,
.dental__flow-item--big {
    width: 100%;
    position: relative;
    border: 1px solid rgb(230, 197, 144);
    border-radius: 50px;
    padding: 14px 20px;
    text-align: center;
}

.dental__flow-item--big {
    display: grid;
    place-items: center;
    padding: 14px 40px;
    min-height: 86px;
}

.dental__flow-item + .dental__flow-item,
.dental__flow-item--big {
    margin-top: 50px;
}

.dental__flow-item::before {
    content: "";
    display: none;
    position: absolute;
    right: -28px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 42% 90%, 78% 57%, 0 57%, 0 43%, 78% 43%, 42% 10%);
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 42% 90%, 78% 57%, 0 57%, 0 43%, 78% 43%, 42% 10%);
    width: 18px;
    height: 18px;
    background: rgb(93, 32, 10);
}

.dental__flow-number {
    position: absolute;
    top: -32px;
    left: 50%;
    color: rgb(230, 197, 144);
    transform: translateX(-50%);
    font-family: "Delius", cursive;
}

.dental__flow-body {
    font-size: 24px;
    font-weight: bold;
}

.dental__flow-item--big .dental__flow-body {
    font-size: 18px;
    font-weight: bold;
}

@media screen and (min-width: 550px) {
    .dental__flow-list {
        gap: 50px 40px;
    }
    .dental__flow-item,
    .dental__flow-item--big {
        width: calc((100% - 40px) / 2);
    }
    .dental__flow-item:nth-of-type(odd):before {
        display: block;
    }
    .dental__flow-item + .dental__flow-item,
    .dental__flow-item--big {
        margin-top: 0px;
    }
}
@media screen and (min-width: 1100px) {
    .dental__flow-item {
        max-width: 190px;
    }
    .dental__flow-item--big {
        min-width: 350px;
        padding: 14px 70px;
    }
    .dental__flow-item,
    .dental__flow-item--big {
        width: calc((100% - 120px) / 4);
    }
    .dental__flow-item:before {
        display: block;
        right: -33px;
    }
}
@media screen and (min-width: 1200px) {
    .dental__flow-item:before {
        right: -54px;
    }
}
.pediatric {
    padding-top: 115px;
    padding-bottom: 124px;
}

.dental__content + .pediatric__text {
    margin-top: 50px;
}

.pediatric__text,
.dental-option__text {
    margin-top: 28px;
}

.pediatric__heading {
    margin-top: 50px;
}

.pediatric.bg__flower-text {
    position: relative;
    background-position: top 57px center;
}

.pediatric.bg__flower-text::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url(img/repeat_text.png) repeat-x bottom 70px center;
    z-index: -1;
}
@media screen and (min-width: 550px) {
    .dental-option__text {
        text-align: center;
    }
}
@media screen and (min-width: 768px) {
    .pediatric {
        padding-top: 230px;
        padding-bottom: 248px;
    }
    .pediatric.bg__flower-text {
        background-position: top 135px center;
    }
    .pediatric.bg__flower-text::before {
        background: url(img/repeat_text.png) repeat-x bottom 168px center;
    }
}
.affiliated {
    padding: 70px 0;
}

.affiliated__text {
    margin-top: 43px;
}

.affiliated__text + .affiliated__text {
    margin-top: 30px;
    text-align: left;
}

@media screen and (min-width: 550px) {
    .affiliated__text + .affiliated__text {
        margin-top: 72px;
        text-align: center;
    }
}
.section__title .icon__general-flower::before,
.section__title .icon__orthodontics-flower::before,
.section__title .icon__pediatric-flower::before {
    width: 84px;
    height: 80px;
}

@media screen and (min-width: 550px) {
    .section__title .icon__general-flower::before,
    .section__title .icon__orthodontics-flower::before,
    .section__title .icon__pediatric-flower::before {
        width: 94px;
        height: 90px;
    }
}
@media screen and (min-width: 768px) {
    .section__title .icon__general-flower::before,
    .section__title .icon__orthodontics-flower::before,
    .section__title .icon__pediatric-flower::before {
        width: 137px;
        height: 133px;
    }
}
/* facility-equipment */
.facility {
    padding: 105px 0 126px;
}

.facility__inner {
    position: relative;
}

.facility__inner::before {
    content: "a look at our clinic";
    font-family: "Delius", cursive;
    position: absolute;
    color: rgb(255, 255, 255);
    font-size: 30px;
    bottom: 0;
    right: 0;
    transform: translateY(100%);
}

@media screen and (min-width: 375px) {
    .facility__inner::before {
        font-size: 40px;
    }
}
@media screen and (min-width: 550px) {
    .facility__inner::before {
        font-size: 50px;
    }
}
@media screen and (min-width: 768px) {
    .facility__inner::before {
        font-size: 60px;
    }
}
.facility__text {
    margin-top: 23px;
}

.facility__catch {
    text-align: center;
    margin-top: 42px;
}

.facility__list {
    display: flex;
    gap: 20px 20px;
    margin-top: 70px;
    flex-flow: wrap;
    justify-content: space-around;
    position: relative;
}

.facility__list::before {
    content: "";
    position: absolute;
    display: block;
    width: 155px;
    height: 103px;
    right: -20px;
    top: -60px;
    background: url(img/image_facility_character.png) no-repeat center/contain;
    background-image: -webkit-image-set(url(img/image_facility_character@2x.png) 2x);
    background-image: image-set(url(img/image_facility_character@2x.png) 2x);
    z-index: 1;
}

.facility__item {
    border-radius: 50%;
    border: 1px solid rgb(230, 197, 144);
    position: relative;
    text-align: center;
    width: 100%;
    padding-top: 100%;
}

.facility__item-content {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 30px);
    border-radius: 50%;
}

.facility__item .symbol__flower-line {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.facility__item-text {
    margin-top: 22px;
}

.facility__item-heading-en {
    display: inline-block;
    margin-bottom: 3px;
}

@media screen and (min-width: 472px) {
    .facility__item {
        width: 352px;
        padding-top: 352px;
    }
    .facility__item .symbol__flower-line {
        top: 50px;
    }
    .facility__item-heading-en {
        margin-bottom: 10px;
    }
    .facility__list::before {
        width: 185px;
        height: 133px;
    }
}
@media screen and (min-width: 612px) {
    .facility__list {
        gap: 0 10px;
    }
    .facility__list::before {
        width: 155px;
        height: 103px;
    }
    .facility__item {
        width: calc((100% - 20px) / 2);
        padding-top: calc((100% - 20px) / 2);
    }
    .facility__item .symbol__flower-line {
        top: 20px;
    }
}
@media screen and (min-width: 768px) {
    .facility__list::before {
        width: 185px;
        height: 133px;
    }
}
@media screen and (min-width: 890px) {
    .facility__list {
        gap: 10px;
    }
    .facility__item {
        width: calc((100% - 20px) / 3);
        padding-top: calc((100% - 20px) / 3);
    }
    .facility__item-content {
        width: calc(100% - 40px);
    }
}
@media screen and (min-width: 968px) {
    .facility__item .symbol__flower-line {
        top: 30px;
    }
    .facility__item-heading-en {
        margin-bottom: 10px;
    }
    .facility__list {
        margin-top: 22px;
    }
}
@media screen and (min-width: 1280px) {
    .facility__list {
        gap: 20px;
    }
    .facility__item .symbol__flower-line {
        top: 50px;
    }
    .facility__item {
        width: calc((100% - 40px) / 3);
        padding-top: calc((100% - 40px) / 3);
    }
    .facility__item-content {
        width: calc(100% - 60px);
    }
}
.facility__gallery-text {
    margin-top: 52px;
    text-align: center;
}

.facility__gallery-list {
    margin-top: 42px;
}

.facility__gallery-list img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 5px;
}

.facility__gallery-list {
    display: grid;
    grid-template-columns: 20fr 11fr 20fr;
    grid-template-rows: 48fr 48fr 29fr 29fr 14fr 13fr 29fr;
    grid-gap: 10px;
}

.facility__gallery-item01 {
    grid-column: 1/3;
    grid-row: 1;
}

.facility__gallery-item02 {
    grid-column: 3;
    grid-row: 1;
}

.facility__gallery-item03 {
    grid-column: 1/4;
    grid-row: 2;
}

.facility__gallery-item04 {
    grid-column: 1;
    grid-row: 3;
}

.facility__gallery-item05 {
    grid-column: 1;
    grid-row: 4;
}

.facility__gallery-item06 {
    grid-column: 1;
    grid-row: 5/7;
}

.facility__gallery-item07 {
    grid-column: 1;
    grid-row: 7;
}

.facility__gallery-item08 {
    grid-column: 2/4;
    grid-row: 3/6;
}

.facility__gallery-item09 {
    grid-column: 2/4;
    grid-row: 6/8;
}

@media screen and (min-width: 768px) {
    .facility__gallery-list {
        grid-template-columns: 9fr 5fr 5fr 7fr;
        grid-template-rows: 29fr 29fr 14fr 13fr 29fr;
    }
    .facility__gallery-item01 {
        grid-column: 1;
        grid-row: 1/3;
    }
    .facility__gallery-item02 {
        grid-column: 2;
        grid-row: 1/3;
    }
    .facility__gallery-item03 {
        grid-column: 1/3;
        grid-row: 3/6;
    }
    .facility__gallery-item04 {
        grid-column: 3;
        grid-row: 1;
    }
    .facility__gallery-item05 {
        grid-column: 3;
        grid-row: 2;
    }
    .facility__gallery-item06 {
        grid-column: 3;
        grid-row: 3/5;
    }
    .facility__gallery-item07 {
        grid-column: 3;
        grid-row: 5;
    }
    .facility__gallery-item08 {
        grid-column: 4;
        grid-row: 1/4;
    }
    .facility__gallery-item09 {
        grid-column: 4;
        grid-row: 4/6;
    }
}
.equipment__heading {
    margin-bottom: 30px;
}

.equipment__text {
    margin-top: 23px;
}

.equipment__img-box img {
    width: 100%;
    height: auto;
}

.equipment__item + .equipment__item {
    margin-top: 50px;
}

.equipment__row-item + .equipment__row-item {
    margin-top: 23px;
}
@media screen and (min-width: 550px) {
    .equipment__item + .equipment__item {
        margin-top: 102px;
    }
}
@media screen and (min-width: 768px) {
    .equipment__row {
        display: flex;
        justify-content: space-between;
    }
    .equipment__row-item {
        width: 48.4%;
    }
    .equipment__row-item + .equipment__row-item {
        margin-top: 0;
    }
}
/* greetings */
.greetings {
    padding: 196px 0 70px;
    position: relative;
}

.greetings__text {
    margin-top: 20px;
}

.greetings__content {
    display: flex;
    flex-flow: column;
    gap: 20px;
}

.greetings__content::before {
    font-family: "Delius", cursive;
    position: absolute;
    content: "greetings from doctor takuro hasegawa";
    color: rgb(255, 255, 255);
    left: 15px;
    right: 15px;
    text-align: center;
    top: 70px;
    font-size: 30px;
    line-height: 1.2;
}

.greetings__name {
    display: flex;
    align-items: end;
    justify-content: end;
    line-height: 1;
    margin-top: 34px;
}

.greetings__name img {
    margin-left: 0.5em;
    display: inline-block;
}

@media screen and (min-width: 550px) {
    .greetings__content::before {
        top: 70px;
        font-size: 40px;
    }
}
@media screen and (min-width: 768px) {
    .greetings__content {
        gap: 0 46px;
        flex-flow: row;
    }
    .greetings__content::before {
        left: 30px;
        right: 30px;
    }
    .greetings__img-box {
        flex-shrink: 0;
    }
}
@media screen and (min-width: 940px) {
    .greetings__content::before {
        top: 70px;
        font-size: 50px;
    }
}
@media screen and (min-width: 1140px) {
    .greetings__content::before {
        top: 70px;
        font-size: 60px;
    }
}
.profile.section {
    padding-top: 75px;
}

.profile__list + .profile__list {
    margin-top: 32px;
}

.profile__item + .profile__item {
    margin-top: 32px;
}

.profile__heading {
    margin-bottom: 8px;
}

@media screen and (min-width: 768px) {
    .profile__list-wrapper {
        display: flex;
        justify-content: space-between;
    }
    .profile__list + .profile__list {
        margin-top: 0px;
    }
    .profile__list {
        width: calc((100% - 38px) / 2);
    }
}
/* information */
.information {
    padding-top: 103px;
}

.top-information__wrapper {
    overflow: hidden;
}

.information__list {
    border-top: 1px solid rgb(232, 234, 216);
    width: 100%;
}

.information__list--top {
    margin-top: 26px;
}

.information__item--top {
    border-top: 1px solid rgb(232, 234, 216);
}

.information__item a {
    padding: 15px 0;
    /* display: inline-block; */
    display: block;
}

.information__item a {
    border-bottom: 1px solid rgb(232, 234, 216);
}

.information__list--top .information__item a:hover {
    opacity: 0.5;
}

.information__tags {
    margin: 0 0 8px 0;
}

.information__item a .symbol__circle-right {
    margin: 0 0 0 5px;
}

.information__item a:hover .symbol__circle-right {
    background: rgb(93, 32, 10);
}

.information__item a:hover .symbol__circle-right::before {
    background: rgb(255, 255, 255);
}

.information__years {
    font-family: "Delius", cursive;
    color: rgb(51, 51, 51);
    display: inline-block;
    min-width: 5.7em;
}

[class*="information__category"] {
    padding: 0.8em 1.2em;
    min-width: 8.4em;
    border-radius: 100px;
    color: rgb(255, 255, 255);
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 5px 5px;
    display: inline-block;
    flex-shrink: 0;
    text-align: center;
}

.information__title {
    margin-left: 5px;
    display: inline;
}

.information__wrapper {
    display: flex;
    flex-flow: column-reverse;
    align-items: start;
    gap: 50px;
}

.information__side {
    display: flex;
    background: rgb(250, 243, 233);
    border-radius: 10px;
    padding: 23px 30px 30px 30px;
    width: 100%;
    gap: 10px;
}

.information__side-category {
    width: 50%;
}

.information__side-category-list {
    margin: 5px 0 0 0;
}

.information__side-category-item + .information__side-category-item {
    margin-top: 5px;
}

.information__side-archive {
    width: 50%;
}

@media screen and (min-width: 375px) {
    .information__side-category-list {
        margin: 12px 0 0 24px;
    }
    .information__side-category-item + .information__side-category-item {
        margin-top: 12px;
    }
}
@media screen and (min-width: 768px) {
    .information__side {
        padding: 43px 50px 50px 30px;
    }
    .information__list--top {
        margin-top: 46px;
    }
    .information__tags {
        margin: 0;
    }
    .information__item a {
        padding: 23px 26px 25px 50px;
        display: flex;
        align-items: center;
    }
    .information__item a .symbol__circle-right {
        margin: 0 0 0 auto;
    }
    [class*="information__category"] {
        margin: 0 0 0 5px;
    }
    .information__title {
        margin: 0 10px 0 50px;
    }
}
@media screen and (min-width: 1280px) {
    .information__wrapper {
        justify-content: space-between;
        flex-flow: row;
        gap: 0;
    }
    .information__side {
        display: block;
        width: 240px;
        flex-shrink: 0;
        margin-left: 5.2%;
    }
    .information__side-category {
        width: auto;
    }
    .information__side-category-list {
        margin: 30px 0 0 24px;
    }
    .information__side-category-item + .information__side-category-item {
        margin-top: 22px;
    }
    .information__side-archive {
        margin-top: 52px;
        width: auto;
    }
}
/* notes */
.notes__wrapper {
    display: flex;
    align-items: start;
    gap: 30px;
    flex-flow: column-reverse;
}

.notes.section {
    padding-top: 103px;
}

.notes__list {
    display: flex;
    flex-flow: wrap;
    gap: 42px 15px;
}

.notes__side {
    background: rgb(250, 243, 233);
    border-radius: 10px;
    padding: 20px 15px 15px 20px;
    width: 100%;
}

.notes__item a:hover {
    opacity: 0.5;
}

.notes__years {
    margin-top: 23px;
}

.notes__title {
    font-weight: bold;
    font-size: 21px;
    margin: 5px 0;
}

.notes__img-box img {
    width: 100%;
    height: auto;
    border-radius: 20px;
}

@media screen and (min-width: 375px) {
    .notes__item {
        width: calc((100% - 15px) / 2);
    }
}
@media screen and (min-width: 550px) {
    .notes__side {
        padding: 23px 30px 30px 30px;
    }
}
@media screen and (min-width: 768px) {
    .notes__item {
        width: calc((100% - 15px) / 2);
    }
    .notes__wrapper {
        flex-flow: row;
        justify-content: space-between;
    }
    .notes__side {
        width: 240px;
        flex-shrink: 0;
    }
}
@media screen and (min-width: 980px) {
    .notes__item {
        width: calc((100% - 30px) / 3);
    }
}
/* recruitment */
.open-position01.bg__flower-text,
.open-position02.bg__flower-text {
    background-position: center top 30px;
}

@media screen and (min-width: 768px) {
    .open-position01.section,
    .open-position02.section {
        padding-top: 120px;
    }
    .open-position01.bg__flower-text,
    .open-position02.bg__flower-text {
        background-position: center top 50px;
    }
}
.please {
    padding: 137px 0 50px;
    position: relative;
}

.please__title::before {
    content: "join sakura dental clinic!";
    font-family: "Delius", cursive;
    position: absolute;
    left: 15px;
    right: 15px;
    text-align: center;
    top: 50px;
    color: rgb(255, 255, 255);
    font-size: 30px;
    line-height: 1.2;
}

.please__gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 26px;
}

.please__gallery img {
    width: 100%;
}

@media screen and (min-width: 460px) {
    .please__title::before {
        font-size: 40px;
    }
}
@media screen and (min-width: 550px) {
    .please__gallery img {
        width: calc((100% - 5px) / 2);
    }
}
@media screen and (min-width: 590px) {
    .please__title::before {
        font-size: 50px;
    }
}
@media screen and (min-width: 680px) {
    .please__title::before {
        font-size: 60px;
        top: 34px;
    }
}
@media screen and (min-width: 768px) {
    .please__gallery img {
        width: calc((100% - 15px) / 4);
    }
}
.open-position__inner {
    background: rgb(250, 243, 233);
    border-radius: 29px;
    padding: 22px 30px 30px;
}

.open-position__heading {
    text-align: center;
}

.open-position__list {
    margin-top: 30px;
}

.open-position__item + .open-position__item {
    margin-top: 26px;
}

.open-position__item-name {
    font-weight: bold;
    margin-bottom: 10px;
}

.open-position__button {
    margin-top: 50px;
}

@media screen and (min-width: 768px) {
    .open-position__inner {
        padding: 44px 50px 50px;
    }
    .open-position__item {
        display: flex;
    }
    .open-position__item-name {
        flex-basis: 9em;
        flex-shrink: 0;
        margin-right: 50px;
        margin-bottom: 0;
    }
}
.application-form {
    padding-bottom: 30px;
}

/* treatment */
.gentle {
    padding: 105px 0 55px;
}

.gentle__img-box {
    margin-top: 35px;
    position: relative;
}

.gentle__catch {
    margin-bottom: 20px;
    text-align: center;
}

.gentle__img {
    border-radius: 12px;
}

@media screen and (min-width: 768px) {
    .gentle__catch {
        position: absolute;
        top: 5.25%;
        left: 30px;
        right: 30px;
    }
    .gentle__catch img {
        padding: 10px;
        background: rgba(255, 255, 255, 0.8);
        border-radius: 12px;
    }
}
.careful {
    padding-bottom: 30px;
}

.careful__list {
    margin-top: 46px;
}

.careful__img-box + .careful__img-box {
    margin-top: 20px;
}

.careful__img-box img,
.careful__section img {
    width: 100%;
    height: auto;
}

.careful__section-wrapper {
    margin-top: 83px;
}

.careful__section {
    display: flex;
    flex-flow: column-reverse;
    justify-content: start;
}

.careful__section + .careful__section {
    margin-top: 40px;
}

.careful__section-text {
    margin-top: 10px;
}

.careful__section-content {
    margin-top: 18px;
}

@media screen and (min-width: 768px) {
    .careful__img-box + .careful__img-box,
    .careful__section + .careful__section {
        margin-top: 0;
    }
    .careful__section-wrapper,
    .careful__list {
        display: flex;
        flex-flow: wrap;
        gap: 17px;
    }
    .careful__section,
    .careful__img-box {
        width: calc((100% - 17px) / 2);
    }
}
@media screen and (min-width: 1280px) {
    .careful__section-wrapper,
    .careful__list {
        gap: 34px;
    }
    .careful__section,
    .careful__img-box {
        width: calc((100% - 34px) / 2);
    }
}
/* contact */
.contact {
    padding-top: 90px !important;
}

.call__tel {
    font-family: "Delius", cursive;
    border-radius: 15px;
    display: block;
    text-align: center;
    border: 2px solid rgb(144, 69, 36);
    padding: 15px 30px;
    font-size: 28px;
}

.call__tel-number {
    font-weight: bold;
}

.call__text {
    margin-top: 30px;
}

.contact__content + .contact__content {
    margin-top: 50px;
}

@media screen and (min-width: 768px) {
    .contact {
        display: flex;
        justify-content: space-between;
    }
    .call,
    .contact-operating {
        width: 48.3%;
    }
    .call__tel-tag {
        font-size: 28px;
    }
    .call__tel-number {
        font-size: 32px;
    }
    .contact__content + .contact__content {
        margin-top: 0px;
    }
}
@media screen and (min-width: 940px) {
    .call__tel-number {
        font-size: 48px;
    }
}
@media screen and (min-width: 1436px) {
    .contact.inner {
        max-width: 1262px;
        margin: 0 87px 0 calc((100% - 1200px) / 2);
        gap: 0 100px;
    }
    .contact-operating {
        width: 100%;
    }
    .call {
        width: 562px;
        flex-shrink: 0;
    }
}
/* privacy-policy */
.privacy-policy {
    margin-top: 80px;
}
.privacy-policy *:not(:first-child) {
    margin-top: 0.4em;
}
.privacy-policy [class*="heading"]:not(:first-child) {
    margin-top: 50px;
}
/* responsive */
.tab {
    display: none;
}
.sp {
    display: block;
}
@media screen and (min-width: 768px) {
    .tab {
        display: block;
    }
    .sp {
        display: none;
    }
}
/* visually_hidden */
.visually_hidden {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px;
}

/* margin */
.mt0 {
    margin-top: 0px;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt15 {
    margin-top: 15px;
}

.mt20 {
    margin-top: 20px;
}

.mt25 {
    margin-top: 25px;
}

.mt30 {
    margin-top: 30px;
}

.mt35 {
    margin-top: 35px;
}

.mt40 {
    margin-top: 40px;
}

.mt45 {
    margin-top: 45px;
}

.mt50 {
    margin-top: 50px;
}

.mt55 {
    margin-top: 55px;
}

.mt60 {
    margin-top: 60px;
}

.mt65 {
    margin-top: 65px;
}

.mt70 {
    margin-top: 70px;
}

.mt75 {
    margin-top: 75px;
}

.mt80 {
    margin-top: 80px;
}

.mt85 {
    margin-top: 85px;
}

.mt90 {
    margin-top: 90px;
}

.mt95 {
    margin-top: 95px;
}

.mt100 {
    margin-top: 100px;
}

.mb0 {
    margin-bottom: 0px;
}

.mb5 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb25 {
    margin-bottom: 25px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb35 {
    margin-bottom: 35px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb45 {
    margin-bottom: 45px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb55 {
    margin-bottom: 55px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb65 {
    margin-bottom: 65px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb75 {
    margin-bottom: 75px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb85 {
    margin-bottom: 85px;
}

.mb90 {
    margin-bottom: 90px;
}

.mb95 {
    margin-bottom: 95px;
}

.mb100 {
    margin-bottom: 100px;
}

.ml0 {
    margin-left: 0px;
}

.ml5 {
    margin-left: 5px;
}

.ml10 {
    margin-left: 10px;
}

.ml15 {
    margin-left: 15px;
}

.ml20 {
    margin-left: 20px;
}

.ml25 {
    margin-left: 25px;
}

.ml30 {
    margin-left: 30px;
}

.ml35 {
    margin-left: 35px;
}

.ml40 {
    margin-left: 40px;
}

.ml45 {
    margin-left: 45px;
}

.ml50 {
    margin-left: 50px;
}

.ml55 {
    margin-left: 55px;
}

.ml60 {
    margin-left: 60px;
}

.ml65 {
    margin-left: 65px;
}

.ml70 {
    margin-left: 70px;
}

.ml75 {
    margin-left: 75px;
}

.ml80 {
    margin-left: 80px;
}

.ml85 {
    margin-left: 85px;
}

.ml90 {
    margin-left: 90px;
}

.ml95 {
    margin-left: 95px;
}

.ml100 {
    margin-left: 100px;
}

.mr0 {
    margin-right: 0px;
}

.mr5 {
    margin-right: 5px;
}

.mr10 {
    margin-right: 10px;
}

.mr15 {
    margin-right: 15px;
}

.mr20 {
    margin-right: 20px;
}

.mr25 {
    margin-right: 25px;
}

.mr30 {
    margin-right: 30px;
}

.mr35 {
    margin-right: 35px;
}

.mr40 {
    margin-right: 40px;
}

.mr45 {
    margin-right: 45px;
}

.mr50 {
    margin-right: 50px;
}

.mr55 {
    margin-right: 55px;
}

.mr60 {
    margin-right: 60px;
}

.mr65 {
    margin-right: 65px;
}

.mr70 {
    margin-right: 70px;
}

.mr75 {
    margin-right: 75px;
}

.mr80 {
    margin-right: 80px;
}

.mr85 {
    margin-right: 85px;
}

.mr90 {
    margin-right: 90px;
}

.mr95 {
    margin-right: 95px;
}

.mr100 {
    margin-right: 100px;
}

/* padding */
.pt0 {
    padding-top: 0px;
}

.pt5 {
    padding-top: 5px;
}

.pt10 {
    padding-top: 10px;
}

.pt15 {
    padding-top: 15px;
}

.pt20 {
    padding-top: 20px;
}

.pt25 {
    padding-top: 25px;
}

.pt30 {
    padding-top: 30px;
}

.pt35 {
    padding-top: 35px;
}

.pt40 {
    padding-top: 40px;
}

.pt45 {
    padding-top: 45px;
}

.pt50 {
    padding-top: 50px;
}

.pt55 {
    padding-top: 55px;
}

.pt60 {
    padding-top: 60px;
}

.pt65 {
    padding-top: 65px;
}

.pt70 {
    padding-top: 70px;
}

.pt75 {
    padding-top: 75px;
}

.pt80 {
    padding-top: 80px;
}

.pt85 {
    padding-top: 85px;
}

.pt90 {
    padding-top: 90px;
}

.pt95 {
    padding-top: 95px;
}

.pt100 {
    padding-top: 100px;
}

.pb0 {
    padding-bottom: 0px;
}

.pb5 {
    padding-bottom: 5px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb15 {
    padding-bottom: 15px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb25 {
    padding-bottom: 25px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb35 {
    padding-bottom: 35px;
}

.pb40 {
    padding-bottom: 40px;
}

.pb45 {
    padding-bottom: 45px;
}

.pb50 {
    padding-bottom: 50px;
}

.pb55 {
    padding-bottom: 55px;
}

.pb60 {
    padding-bottom: 60px;
}

.pb65 {
    padding-bottom: 65px;
}

.pb70 {
    padding-bottom: 70px;
}

.pb75 {
    padding-bottom: 75px;
}

.pb80 {
    padding-bottom: 80px;
}

.pb85 {
    padding-bottom: 85px;
}

.pb90 {
    padding-bottom: 90px;
}

.pb95 {
    padding-bottom: 95px;
}

.pb100 {
    padding-bottom: 100px;
}

.pl0 {
    padding-left: 0px;
}

.pl5 {
    padding-left: 5px;
}

.pl10 {
    padding-left: 10px;
}

.pl15 {
    padding-left: 15px;
}

.pl20 {
    padding-left: 20px;
}

.pl25 {
    padding-left: 25px;
}

.pl30 {
    padding-left: 30px;
}

.pl35 {
    padding-left: 35px;
}

.pl40 {
    padding-left: 40px;
}

.pl45 {
    padding-left: 45px;
}

.pl50 {
    padding-left: 50px;
}

.pl55 {
    padding-left: 55px;
}

.pl60 {
    padding-left: 60px;
}

.pl65 {
    padding-left: 65px;
}

.pl70 {
    padding-left: 70px;
}

.pl75 {
    padding-left: 75px;
}

.pl80 {
    padding-left: 80px;
}

.pl85 {
    padding-left: 85px;
}

.pl90 {
    padding-left: 90px;
}

.pl95 {
    padding-left: 95px;
}

.pl100 {
    padding-left: 100px;
}

.pr0 {
    padding-right: 0px;
}

.pr5 {
    padding-right: 5px;
}

.pr10 {
    padding-right: 10px;
}

.pr15 {
    padding-right: 15px;
}

.pr20 {
    padding-right: 20px;
}

.pr25 {
    padding-right: 25px;
}

.pr30 {
    padding-right: 30px;
}

.pr35 {
    padding-right: 35px;
}

.pr40 {
    padding-right: 40px;
}

.pr45 {
    padding-right: 45px;
}

.pr50 {
    padding-right: 50px;
}

.pr55 {
    padding-right: 55px;
}

.pr60 {
    padding-right: 60px;
}

.pr65 {
    padding-right: 65px;
}

.pr70 {
    padding-right: 70px;
}

.pr75 {
    padding-right: 75px;
}

.pr80 {
    padding-right: 80px;
}

.pr85 {
    padding-right: 85px;
}

.pr90 {
    padding-right: 90px;
}

.pr95 {
    padding-right: 95px;
}

.pr100 {
    padding-right: 100px;
}

/* font */
.font__bold {
    font-weight: bold;
}

.font__center {
    text-align: center;
}

.font__left {
    text-align: left;
}

.font__right {
    text-align: right;
}

.font__right {
    text-align: right;
}

.font__link {
    color: rgb(252, 102, 178);
    text-decoration: underline;
}

.font__link:hover {
    opacity: 0.5;
}

/* heading */
.headingLv3 {
    font-size: 24px;
    font-weight: bold;
}

.headingLv4 {
    font-size: 21px;
    font-weight: bold;
}

.headingLv5 {
    font-size: 18px;
    font-weight: bold;
}

/* space */
.space {
    padding-left: 1em;
}

/* hover */
.hover__no:hover {
    opacity: 1 !important;
}

.fz11 {
    font-size: 11px;
    line-height: 1;
}

.d_inline-block {
    display: inline-block;
}

.break_point01 {
    display: none;
}

@media screen and (min-width: 1280px) and (max-width: 1640px) {
    .break_point01 {
        display: block;
    }

    .gnav__button-list a {
        min-width: 110px;
        text-align: center;
    }
}
@media screen and (min-width: 1280px) and (max-width: 1360px) {
    .gnav__button-list a {
        padding: 10px 15px;
        line-height: 1.2;
        min-width: 95px;
    }
}
/* 250502 */
.general.general-demo {
    padding-top: 0;
}

.other__item--recruitment-demo a::before {
    background-image: url(img/bg_other_recruitment_demo.jpg);
    background-position: right center;
}

.headingLv3-demo {
    font-size: 20px;
    font-weight: bold;
}

/* 202506225 */
.font_gray {
    color: #666;
}
