@import url('https://fonts.googleapis.com/css2?family=Kosugi&family=Noto+Sans+JP:wght@100..900&display=swap');
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, select, textarea {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-style: normal;
    font-weight: 400;
    vertical-align: bottom;
    background: transparent
}
/* 1. ヘッダー自体の固定 */
.l-header {
    /* ブラウザの表示領域全体に固定 */
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    
    /* 他のどの要素（z-index: 2000のものも）より手前に表示 */
    z-index: 3000; 
    
    /* 背景色がないと下が透けるので必須 */
    background-color: #ffffff; 
    
    /* 必要に応じて高さを設定（例として120px） */
    /* height: 120px; */ 
}



article, aside, details, figcaption, figure, footer, header, menu, nav, section {
    display: block
}
html {
    font-size: 62.5%
}

ul, ol {
    list-style: none
}
blockquote, q {
    quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none
}
a {
    margin: 0;
    padding: 0;
    vertical-align: bottom;
    background: transparent;
    outline: none
}
img {
    vertical-align: bottom
}
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}
del {
    text-decoration: line-through
}
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}
th, td {
    text-align: left;
    vertical-align: top
}
input, select, textarea {
    font-family: inherit
}
input[type="submit"] {
    cursor: pointer
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}
html {
    overflow: auto
}
body {
    min-width: 320px;
    font-family: 'Noto Sans JP', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro W3', 'メイリオ', sans-serif;
    color: #565656;
    font-size: 1.6rem;
    line-height: 1.85;
    letter-spacing: .06em;
    overflow: hidden;
    -webkit-text-size-adjust: 100%
}
@media all and (min-width: 600px) {
    body {
        min-width: 1120px;
        font-size: 1.6rem
    }
}
body.sg {
    height: auto
}
a {
    color: inherit;
    text-decoration: underline
}
@media all and (min-width: 600px) {
    a:hover {
        text-decoration: none
    }
}
span {
    font-weight: inherit
}
strong {
    font-weight: 700
}
img {
    width: 100%;
    height: auto;

}
.l-wrapper {
    position: relative
}
@media all and (min-width: 600px) {
    .l-wrapper {
        min-width: 1100px
    }
}
@media all and (min-width: 600px) {
    .l-container.col2 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 1185px;
        margin: 0 auto
    }
    .l-container.col2 .l-contents {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: calc(100% - 260px);
        box-sizing: border-box;
        padding-right: 100px
    }
    .l-container.col2 .l-sidebar {
        width: 260px
    }
}
@media screen and (min-width: 1121px) {
    .l-container.col2 .l-contents {
        padding-right: 0
    }
}
.u-media-query {
    display: none;
    font-family: 'sp'
}
@media all and (min-width: 600px) {
    .u-media-query {
        font-family: 'pc'
    }
}
@media all and (max-width: 768px) {
    .u-view-pc {
        display: none !important
    }
}
@media all and (min-width: 769px) {
    .u-view-sp {
        display: none !important
    }
}
@media screen and (min-width: 320px) {
    .u-view-sp_small {
        display: none !important
    }
}
@media screen and (max-width: 320px) {
    .u-view-tb {
        display: none !important
    }
}
@media screen and (min-width: 341px) {
    .u-view-tb {
        display: block !important
    }
}
.u-alpha {
    display: block;
    text-decoration: none
}
@media all and (min-width: 600px) {
    .u-alpha {
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .u-alpha:hover {
        opacity: .7
    }
}
.u-cf:after {
    content: "";
    display: block;
    clear: both
}
.u-inner {
    box-sizing: border-box
}
@media all and (max-width: 599px) {
    .u-inner {
        padding-left: 25px;
        padding-right: 25px
    }
}
@media all and (min-width: 600px) {
    .u-inner {
        width: 100%;
        max-width: 1120px;
        margin: auto
    }
}
.u-jost {
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    text-transform: uppercase
}
.u-serif, .c-content07-item:before, .c-head08, .general-cause__progress-list-item:before {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600
}
.c-animation01 {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.c-animation01__item {
    opacity: 0;
    letter-spacing: -.45rem;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    display: inline-block
}
.c-animation01__item.is-wave {
    -webkit-animation-name: leDoorCloseLeft;
    animation-name: leDoorCloseLeft;
    animation-delay: 100ms;
    -moz-animation-delay: 100ms;
    -webkit-animation-delay: 100ms;
    opacity: 1
}
@-webkit-keyframes leDoorCloseLeft {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: rotateY(90deg);
        transform: rotateY(90deg)
    }
    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-transform-origin: left;
        transform-origin: left
    }
}
@keyframes leDoorCloseLeft {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: rotateY(90deg);
        transform: rotateY(90deg)
    }
    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
        -webkit-transform-origin: left;
        transform-origin: left
    }
}
.c-archive01 {
    margin-top: -10px
}
.c-archive01__item {
    margin-top: 10px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e3e2dc
}
.c-archive01__item:last-child {
    border-bottom: none
}
.c-archive01__link {
    display: block;
    text-decoration: none
}
.c-archive01__date {
    color: #bcbbb4;
    font-size: 1.6rem;
    margin-bottom: 5px
}
.c-archive01__txt {
    font-size: 1.6rem;
    line-height: 1.4
}
.c-archive01.is-archive {
    border-top: 1px solid #e3e2dc;
    border-bottom: 1px solid #e3e2dc
}
.c-archive01.is-archive .c-archive01__item {
    padding-bottom: 0
}
.c-archive01.is-archive .c-archive01__link {
    padding: 10px 0 13px
}
.c-archive01.is-archive .c-archive01__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}
.c-archive01.is-archive .c-archive01__date {
    margin: 0 5px 5px 0
}
.c-archive01.is-archive .c-archive01-cat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
.c-archive01.is-archive .c-archive01-cat__item {
    line-height: 1.4;
    display: block;
    min-width: 70px;
    margin: 0 5px 5px 0;
    padding: 2px 5px 0;
    box-sizing: border-box;
    background: #a73963;
    color: #fff;
    font-size: 1.4rem;
    text-align: center
}
.c-archive01.is-archive .c-archive01-cat__item.is-child {
    border: 1px solid #a73963;
    background-color: #fff;
    color: #a73963
}
@media all and (min-width: 600px) {
    .c-archive01 {
        margin-top: -10px
    }
    .c-archive01__item {
        margin-top: 21px;
        padding-bottom: 21px
    }
    .c-archive01__link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .c-archive01__link:hover .c-archive01__txt {
        color: #a73963
    }
    .c-archive01__date {
        font-size: 1.6rem;
        margin: 0 40px 0 0
    }
    .c-archive01__txt {
        font-size: 1.6rem;
        line-height: 1.4;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-archive01.is-archive .c-archive01__item {
        padding-bottom: 0
    }
    .c-archive01.is-archive .c-archive01__link {
        padding: 8px 0 28px
    }
    .c-archive01.is-archive .c-archive01__meta {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        min-width: 240px;
        width: 240px;
        margin: 0 40px 0 0
    }
    .c-archive01.is-archive .c-archive01__date {
        margin: 0 15px 0 0
    }
    .c-archive01.is-archive .c-archive01-cat {
        display: block
    }
    .c-archive01.is-archive .c-archive01-cat__item {
        min-width: 132px;
        margin: 0;
        font-size: 1.4rem
    }
    .c-archive01.is-archive .c-archive01-cat__item+.c-archive01-cat__item {
        margin-top: 5px
    }
}
.c-archive02__item {
    margin-top: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e3e2dc
}
.c-archive02__item:last-child {
    border-bottom: none
}
.c-archive02__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-decoration: none
}
.c-archive02__img {
    width: 37%
}
.c-archive02__txtarea {
    width: 58%
}
.c-archive02__date {
    color: #bcbbb4;
    font-size: 1.6rem;
    margin: -5px 0 5px
}
.c-archive02__txt {
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.5
}
.c-archive02.is-relation {
    border-top: 1px solid #e3e2dc;
    border-bottom: 1px solid #e3e2dc
}
@media all and (min-width: 600px) {
    .c-archive02 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: -20px
    }
    .c-archive02__item {
        width: 22.3%;
        margin: 20px 3.6% 0 0;
        padding-bottom: 15px;
        border-bottom: none
    }
    .c-archive02__item:nth-child(4n) {
        margin-right: 0
    }
    .c-archive02__item:last-child {
        border-bottom: none
    }
    .c-archive02__link {
        display: block
    }
    .c-archive02__link:hover .c-archive02__img {
        opacity: .7
    }
    .c-archive02__link:hover .c-archive02__txt {
        color: #a73963
    }
    .c-archive02__img {
        overflow: hidden;
        width: 100%;
        max-width: 246px;
        max-height: 174px;
        margin: 0 0 10px 0;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-archive02__txtarea {
        width: 100%
    }
    .c-archive02__date {
        font-size: 1.6rem;
        margin: 0 0 3px 0
    }
    .c-archive02__txt {
        font-size: 1.6rem;
        line-height: 1.4;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-archive02.is-relation {
        border-top: none;
        border-bottom: none
    }
    .c-archive02.is-relation .c-archive02__item {
        width: 31%;
        margin: 20px 3% 0 0
    }
    .c-archive02.is-relation .c-archive02__item:nth-child(3n) {
        margin-right: 0
    }
}
.c-btn01 {
    max-width: 260px;
    margin: 0 auto
}
.c-btn01__link {
    position: relative;
    display: block;
    text-decoration: none;
    box-sizing: border-box;
    padding: 12px;
    border-radius: 5px;
    border: 1px solid #a73963;
    color: #a73963;
    text-align: center
}
.c-btn01__link:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 7.5px;
    border-color: transparent transparent transparent #a73963
}
.c-btn01.is-white .c-btn01__link {
    border: 1px solid #fff;
    color: #fff
}
.c-btn01.is-white .c-btn01__link:before {
    border-style: solid;
    border-width: 3.5px 0 3.5px 7.5px;
    border-color: transparent transparent transparent #fff
}
.c-btn01.is-small {
    max-width: 180px
}
.c-btn01.is-small .c-btn01__link {
    padding: 8px;
    font-size: 1.2rem
}
.c-btn01.is-small .c-btn01__link:before {
    right: 15px
}
.c-btn01.is-menu-ico .c-btn01 {
    max-width: 158px;
    margin: 0
}
.c-btn01.is-menu-ico .c-btn01__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 50px;
    height: 100%;
    padding: 8px 20px 8px 40px;
    text-align: left;
    line-height: 1.4;
    font-size: 1.2rem
}
.c-btn01.is-menu-ico .c-btn01__link:after {
    position: absolute;
    display: block;
    content: '';
    margin: auto;
    top: 0;
    bottom: 0
}
.c-btn01.is-anchor .c-btn01__link:before {
    right: 15px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
}
.c-btn01.is-download .c-btn01__link {
    line-height: 1.5;
    padding-top: 6px;
    padding-bottom: 3px
}
.c-btn01.is-download .c-btn01__link:before {
    background-color: #a73963;
    border: 0;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2227%22%20height%3D%2227%22%20viewBox%3D%220%200%2027%2027%22%3E%0A%3Cimage%20xlink%3Ahref%3D%22data%3Aimg%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAACnklEQVRIiWKc2ZnJQCJoYWBgqGZgYGhlYGCoIVovAwMDAAAA%2F%2F9iItUmBgYGHzSaOMDAwAAAAAD%2F%2FyLHMvIAAwMDAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2FCZZkSAwNDEAMDAwuJ5rEyMDDEMzAwGGPIMDAwAAAAAP%2F%2FjM2hCQAgAADBA8ENdCubY9pcwoEEwWQzGcwP9y8sYCCho2J%2FjCIaChYy5q04AAAA%2F%2F%2FC5bN%2FUBqkcT7UAfgASB6kDqQeBL4yMDD8QdHAwMAAAAAA%2F%2F%2FCZtlfBgYGfwYGhk9QfhQDA8MiPBaCxEHyIHUgANIHKjd%2FoKhiYGAAAAAA%2F%2F%2FC5bOTSMEBs3AaAwMDI5o6EB8kDrMIpB6kD6QfFTAwMAAAAAD%2F%2F8KXAA5BXbiFgYGBk4GBIQ0peGEAZBFIHGYRSD1IHyZgYGAAAAAA%2F%2F8ilPT3QVPlbyg%2Fg4GBQQrKBtEgPgiA5EHqQOqxAwYGBgAAAAD%2F%2FyImn%2B2ApkiYhaBUikyDxEHyIHW4AQMDAwAAAP%2F%2FIjZTb4LGC3owgvggcZA8fsDAwAAAAAD%2F%2FwJZxsfAwKBBhFpQHopDEwPxQeKEgAYDAwMfAAAA%2F%2F8CWXaOgYHhOgMDQyIRmpYyMDD0MjAwfIbSID4hADL3OgMDwzkAAAAA%2F%2F8CpUZlqGp9YoKCgYGhBIqJBRBzGRiUAQAAAP%2F%2Fol9BzMDAAAAAAP%2F%2Fop9lDAwMAAAAAP%2F%2FQs7UoJyvQAM7dMEkAwMDAAAA%2F%2F9CtgxUrYAwbQADAwMAAAD%2F%2FwIF42FaWgAHDAyHAQAAAP%2F%2FAwCJ0D332MUi1AAAAABJRU5ErkJggg%3D%3D%22%20width%3D%2227%22%20height%3D%2227%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat center/contain;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2227%22%20height%3D%2227%22%20viewBox%3D%220%200%2027%2027%22%3E%0A%3Cimage%20xlink%3Ahref%3D%22data%3Aimg%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAACnklEQVRIiWKc2ZnJQCJoYWBgqGZgYGhlYGCoIVovAwMDAAAA%2F%2F9iItUmBgYGHzSaOMDAwAAAAAD%2F%2FyLHMvIAAwMDAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2Bin2UMDAwAAAAA%2F%2F%2FCZZkSAwNDEAMDAwuJ5rEyMDDEMzAwGGPIMDAwAAAAAP%2F%2FjM2hCQAgAADBA8ENdCubY9pcwoEEwWQzGcwP9y8sYCCho2J%2FjCIaChYy5q04AAAA%2F%2F%2FC5bN%2FUBqkcT7UAfgASB6kDqQeBL4yMDD8QdHAwMAAAAAA%2F%2F%2FCZtlfBgYGfwYGhk9QfhQDA8MiPBaCxEHyIHUgANIHKjd%2FoKhiYGAAAAAA%2F%2F%2FC5bOTSMEBs3AaAwMDI5o6EB8kDrMIpB6kD6QfFTAwMAAAAAD%2F%2F8KXAA5BXbiFgYGBk4GBIQ0peGEAZBFIHGYRSD1IHyZgYGAAAAAA%2F%2F8ilPT3QVPlbyg%2Fg4GBQQrKBtEgPgiA5EHqQOqxAwYGBgAAAAD%2F%2FyImn%2B2ApkiYhaBUikyDxEHyIHW4AQMDAwAAAP%2F%2FIjZTb4LGC3owgvggcZA8fsDAwAAAAAD%2F%2FwJZxsfAwKBBhFpQHopDEwPxQeKEgAYDAwMfAAAA%2F%2F8CWXaOgYHhOgMDQyIRmpYyMDD0MjAwfIbSID4hADL3OgMDwzkAAAAA%2F%2F8CpUZlqGp9YoKCgYGhBIqJBRBzGRiUAQAAAP%2F%2Fol9BzMDAAAAAAP%2F%2Fop9lDAwMAAAAAP%2F%2FQs7UoJyvQAM7dMEkAwMDAAAA%2F%2F9CtgxUrYAwbQADAwMAAAD%2F%2FwIF42FaWgAHDAyHAQAAAP%2F%2FAwCJ0D332MUi1AAAAABJRU5ErkJggg%3D%3D%22%20width%3D%2227%22%20height%3D%2227%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat center/contain;
    right: 19px;
    width: 13.5px;
    height: 13.5px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}
@media all and (min-width: 600px) {
    .c-btn01 {
        max-width: 320px;
        margin: 0
    }
    .c-btn01__link {
        padding: 19px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-btn01__link:before {
        right: 28px
    }
    .c-btn01__link:hover {
        background: #a73963;
        color: #fff
    }
    .c-btn01__link:hover:before {
        border-style: solid;
        border-width: 3.5px 0 3.5px 7.5px;
        border-color: transparent transparent transparent #fff
    }
    .c-btn01.is-white .c-btn01__link:hover {
        background: #fff;
        color: #a73963
    }
    .c-btn01.is-white .c-btn01__link:hover:before {
        border-style: solid;
        border-width: 3.5px 0 3.5px 7.5px;
        border-color: transparent transparent transparent #a73963
    }
    .c-btn01.is-small {
        max-width: 170px
    }
    .c-btn01.is-small .c-btn01__link {
        padding: 6px;
        font-size: 1.4rem
    }
    .c-btn01.is-menu-ico .c-btn01__link {
        min-height: inherit;
        height: 68px;
        padding: 10px 10px 10px 70px;
        font-size: 1.6rem
    }
    .c-btn01.is-menu-ico .c-btn01__link:hover {
        background: #fff;
        color: #a73963;
        opacity: .7
    }
    .c-btn01.is-menu-ico .c-btn01__link:hover:before {
        border-style: solid;
        border-width: 3.5px 0 3.5px 7.5px;
        border-color: transparent transparent transparent #a73963
    }
    .c-btn01.is-anchor .c-btn01__link:before {
        right: 28px
    }
    .c-btn01.is-download {
        max-width: 340px
    }
    .c-btn01.is-download .c-btn01__link {
        padding: 21px 41px 21px 22px
    }
    .c-btn01.is-download .c-btn01__link:before {
        right: 24px;
        width: 16px;
        height: 16px
    }
    .c-btn01.is-download .c-btn01__link:hover:before {
        background-color: #fff
    }
}
.c-btn02 {
    margin-bottom: 15px
}
.c-btn02__link {
    display: block;
    padding: 12px 5px 14px;
    text-decoration: none;
    background: #fff;
    color: #565656;
    border-radius: 5px;
    text-align: center
}
.c-btn02__num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    margin-bottom: 8px;
    font-size: 2.5rem;
    letter-spacing: .15rem;
    line-height: 1.0
}
.c-btn02__num:before {
    display: block;
    content: '';
    background: url(../img/common/ico_tel01.png) no-repeat center/contain;
    width: 17px;
    height: 17px;
    margin-right: 5px
}
.c-btn02__txt {
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    line-height: 1.6
}
.c-btn02.is-cv {
    border: 1px solid #a73963;
    border-radius: 5px;
    margin-bottom: 8px
}
@media all and (min-width: 600px) {
    .c-btn02 {
        margin: 0 18px 0 0
    }
    .c-btn02__link {
        pointer-events: none;
        padding: 0;
        background: none;
        border-radius: 5px
    }
    .c-btn02__num {
        margin-bottom: 5px;
        font-size: 2.8rem
    }
    .c-btn02__num:before {
        width: 20px;
        height: 20px;
        margin-right: 5px
    }
    .c-btn02__txt {
        font-size: 1.2rem
    }
    .c-btn02.is-foot .c-btn02__num {
        color: #bcbbb4;
        font-size: 3.8rem
    }
    .c-btn02.is-foot .c-btn02__num:before {
        display: block;
        content: '';
        background: url(../img/common/ico_tel02.png) no-repeat center/contain;
        width: 26px;
        height: 26px;
        margin-right: 5px
    }
    .c-btn02.is-foot .c-btn02__txt {
        margin-top: 14px;
        color: #bcbbb4
    }
    .c-btn02.is-large .c-btn02__num {
        font-size: 4.5rem
    }
    .c-btn02.is-large .c-btn02__num:before {
        display: block;
        content: '';
        background: url(../img/common/ico_tel02.png) no-repeat center/contain;
        width: 32px;
        height: 32px;
        margin-right: 15px
    }
    .c-btn02.is-large .c-btn02__txt {
        margin-top: 15px;
        font-size: 1.6rem
    }
    .c-btn02.is-cv {
        border: none;
        margin-bottom: 0
    }
}
.c-btn03__link {
    display: block;
    padding: 24px 5px 23px;
    text-decoration: none;
    background: #a73963;
    color: #fff;
    border-radius: 5px;
    text-align: center
}
.c-btn03__sub {
    display: block;
    margin-bottom: 7px;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.0
}
.c-btn03__txt {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.9rem;
    line-height: 1.0
}
.c-btn03__txt:before {
    display: block;
    content: '';
    background: url(../img/common/ico_reservation01.png) no-repeat center/contain;
    width: 25px;
    height: 23px;
    margin-right: 5px
}
.c-btn03.is-contact .c-btn03__link {
    padding: 23px 5px 20px;
    border-radius: 2.5px
}
.c-btn03.is-contact .c-btn03__txt {
    font-size: 2.0rem
}
.c-btn03.is-contact .c-btn03__txt:before {
    width: 30px;
    height: 26px;
    margin-right: 5px
}
@media all and (min-width: 600px) {
    .c-btn03__link {
        min-width: 200px;
        box-sizing: border-box;
        padding: 18px 5px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-btn03__link:hover {
        background: #a73963
    }
    .c-btn03__sub {
        margin-bottom: 7px;
        font-size: 1.3rem
    }
    .c-btn03__txt {
        font-size: 1.8rem
    }
    .c-btn03__txt:before {
        width: 27px;
        height: 24px;
        margin-right: 5px
    }
    .c-btn03.is-foot .c-btn03__link {
        min-width: 210px;
        padding: 26px 5px 25px
    }
    .c-btn03.is-foot .c-btn03__sub {
        margin-bottom: 13px;
        font-size: 1.5rem
    }
    .c-btn03.is-foot .c-btn03__txt {
        font-size: 2.0rem
    }
    .c-btn03.is-foot .c-btn03__txt:before {
        width: 27px;
        height: 24px;
        margin-right: 5px
    }
    .c-btn03.is-contact .c-btn03__link {
        padding: 17px 5px 20px;
        border-radius: 5px
    }
    .c-btn03.is-contact .c-btn03__txt {
        font-size: 2.8rem
    }
    .c-btn03.is-contact .c-btn03__txt:before {
        width: 36px;
        height: 34px;
        margin-right: 10px
    }
}
.c-btn04__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: none;
    background: #a73963;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 10px;
    width: 100%;
    color: #fff;
    text-align: center;
    font-size: 1.6rem
}
.c-btn04__link:before {
    display: block;
    content: '';
    background: url(../img/common/ico_mail01.png) no-repeat center/contain;
    width: 21px;
    height: 16px;
    margin-right: 5px
}
@media all and (min-width: 600px) {
    .c-btn04 {
        min-width: 210px
    }
    .c-btn04__link {
        border-radius: 5px;
        padding: 15px;
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-btn04__link:before {
        width: 23px;
        height: 18px;
        margin-right: 5px
    }
    .c-btn04__link:hover {
        opacity: .8
    }
}
.c-btn05 {
    text-align: right;
    margin-top: 9px
}
@media all and (min-width: 600px) {
    .c-btn05 {
        margin-top: 5px
    }
}
.c-btn05__link {
    text-decoration: none;
    color: #a73963;
    font-size: 1.2rem
}
@media all and (min-width: 600px) {
    .c-btn05__link {
        font-size: 1.5rem
    }
}
.c-btn05__link:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0 4px 8px;
    border-color: transparent transparent transparent #a73963;
    margin-right: 6px
}
.c-btn05__link:hover {
    text-decoration: underline
}
.c-bg-brown01 {
    background: #a73963
}
.c-bg-grey01 {
    background: #f4f4f2
}
.c-bg-grey02 {
    position: relative
}
.c-bg-grey02:before {
    position: absolute;
    display: block;
    content: '';
    background: #f4f4f2;
    min-width: 325px;
    height: 100%;
    bottom: 0;
    right: 0;
    z-index: -1
}
.c-bg-grey02.is-left:before {
    right: inherit;
    left: 0
}
.c-bg-grey02.is-short:before {
    height: 88%
}
.c-bg-grey02.is-earlycare:before {
    height: 62%
}
.c-bg-grey02.is-child:before {
    height: 63%
}
.c-bg-grey02.is-childbaby:before {
    height: 48%
}
.c-bg-grey02.is-childbaby2:before {
    min-width: 325px;
    height: 38%
}
.c-bg-grey02.is-prevention:before {
    height: 70%
}
.c-bg-grey02.is-root:before {
    height: 67%
}
.c-bg-grey02.is-ceramic:before {
    height: 74%
}
.c-bg-grey02.is-implant:before {
    height: 63%
}
.c-bg-grey02.is-mouthpiece:before {
    height: 83%
}
.c-bg-grey02.is-whitening:before {
    height: 65%
}
.c-bg-grey02.is-txtcard:before {
    top: -46px;
    height: 61%
}
.c-bg-grey02.is-maternity:before {
    height: 202px
}
@media all and (min-width: 600px) {
    .c-bg-grey02:before {
        min-width: 1105px;
        height: 100%
    }
    .c-bg-grey02.is-short:before {
        height: 85.5%;
        min-width: 1420px
    }
    .c-bg-grey02.is-child:before {
        height: 780px;
        min-width: 1420px
    }
    .c-bg-grey02.is-childbaby:before {
        min-width: 1330px;
        height: 402px
    }
    .c-bg-grey02.is-childbaby2:before {
        min-width: 1330px;
        height: 370px
    }
    .c-bg-grey02.is-earlycare:before {
        min-width: 1330px;
        height: 75%
    }
    .c-bg-grey02.is-prevention:before {
        width: 1420px;
        height: 780px
    }
    .c-bg-grey02.is-root:before {
        width: 1420px;
        height: 936px
    }
    .c-bg-grey02.is-ceramic:before {
        height: 948px
    }
    .c-bg-grey02.is-implant:before {
        height: 828px
    }
    .c-bg-grey02.is-mouthpiece:before {
        height: 906px
    }
    .c-bg-grey02.is-whitening:before {
        height: 780px
    }
    .c-bg-grey02.is-txtcard:before {
        top: -100px;
        min-width: 825px;
        height: 72%
    }
    .c-bg-grey02.is-maternity:before {
        min-width: 1330px;
        height: 404px
    }
}
@media screen and (max-width: 360px) {
    .c-bg-grey02.is-prevention:before {
        height: 135%
    }
}
.c-bg-grey03 {
    position: relative
}
.c-bg-grey03:before {
    position: absolute;
    display: block;
    content: '';
    background: #f4f4f2;
    width: 325px;
    height: 65.5%;
    margin: auto;
    top: 29%;
    left: 0;
    z-index: -1
}
.c-bg-grey03.is-right:before {
    right: 0;
    left: inherit
}
@media all and (min-width: 600px) {
    .c-bg-grey03:before {
        width: 1410px;
        height: 57%
    }
    .c-bg-grey03.is-right:before {
        right: -27%
    }
}
.c-txt-brown01 {
    color: #a73963
}
.c-txt-black01 {
    color: #565656
}
.c-contents01__img {
    margin: 0 0 34px 0
}
.c-contents01__txt {
    margin-bottom: 15px;
    text-align: justify;
}
@media all and (min-width: 600px) {
    .c-contents01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .c-contents01__img {
        width: 48%;
        margin: 0 0 0 -17.5%
    }
    .c-contents01__txtarea {
        width: 52%
    }
    .c-contents01.is-left .c-contents01__img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
    .c-contents01.is-left .c-contents01__txtarea {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
}
.c-content02 {
    margin-top: -20px
}
.c-content02__item {
    margin-top: 30px;
    background: #fff;
    box-sizing: border-box;
    padding: 20px 25px 25px;
    box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 15px 15px 0px 0px #e3e2dc
}
.c-content02.is-point {
    margin-top: -20px
}
.c-content02.is-point .c-content02__item {
    margin-top: 40px;
    position: relative;
    padding: 38px 20px 20px
}
.c-content02.is-point .c-content02__item:before {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/about/txt_point01_sp.png) no-repeat center/contain;
    width: 100px;
    height: 20px;
    margin: auto;
    top: 0;
    right: 0;
    left: 0
}
@media all and (min-width: 600px) {
    .c-content02 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: -10px
    }
    .c-content02__item {
        width: 31%;
        margin-top: 0;
        padding: 35px;
        box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 12px 12px 0px 0px #e3e2dc
    }
    .c-content02.is-point .c-content02__item {
        padding: 55px 28px 40px
    }
    .c-content02.is-point .c-content02__item:before {
        background: url(../img/about/txt_point01_pc.png) no-repeat center/contain;
        width: 120px;
        height: 30px
    }
}
.c-content03 {
    border-bottom: 1px solid #a73963;
    padding-bottom: 18px
}
.c-content03+.c-content03 {
    margin-top: 23px
}
.c-content03__img {
    margin-bottom: 13px
}
.c-content03__item {
    text-align: center
}
.c-content03__item-text {
    text-align: left
}
@media all and (min-width: 600px) {
    .c-content03 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: distribute;
        justify-content: space-around;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        padding: 19px 0 39px
    }
    .c-content03__img {
        width: 350px;
        margin-bottom: 0
    }
    .c-content03__img.is_no_download {
        pointer-events: none
    }
    .c-content03__item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 30px 50px 0 0;
        text-align-last: left
    }
    .c-content03__item.is-longtext {
        padding-top: 0;
        margin-top: -20px
    }
    .c-content03__item-text {
        padding-top: 7px
    }
}
.c-content04__item-img {
    margin-top: 20px
}
@media all and (min-width: 600px) {
    .c-content04 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .c-content04__item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        width: auto;
        padding-right: 60px
    }
    .c-content04__item-img {
        width: 512px;
        margin-top: 6px
    }
}
.c-content05__inner {
    padding-top: 52px
}
.c-content05__item-area {
    background: #f4f4f2;
    padding: 10px 25px
}
.c-content05__item-area+.c-content05__item-area {
    margin-top: 28px
}
.c-content05__item-area-text {
    line-height: 1.88
}
@media all and (min-width: 600px) {
    .c-content05__inner {
        padding-top: 108px
    }
    .c-content05__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .c-content05__item-area {
        width: 550px;
        box-sizing: border-box;
        padding: 33px 50px
    }
    .c-content05__item-area+.c-content05__item-area {
        margin-top: 0
    }
}
.c-content06 {
    background: center center/cover no-repeat url(../img/menu/child/bg_child01.jpg)
}
.c-content06__inner {
    margin-top: 60px;
    padding-top: 47px;
    padding-bottom: 64px
}
.c-content06__head {
    margin-bottom: 8px
}
.c-content06__list {
    margin-top: 20px
}
.c-content06__list-item {
    padding: 25px 25px 18px;
    background: #fff
}
.c-content06__list-item+.c-content06__list-item {
    margin-top: 15px
}
.c-content06__list-item-img {
    margin-bottom: 12px
}
.c-content06__list-item-area-text {
    margin-top: -7px;
    letter-spacing: 0.05em;
    line-height: 1.89
}
@media all and (min-width: 600px) {
    .c-content06__inner {
        margin-top: 120px;
        padding-top: 102px;
        padding-bottom: 121px
    }
    .c-content06__head {
        margin-bottom: 26px !important
    }
    .c-content06__list {
        margin-top: 49px
    }
    .c-content06__list-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 50px
    }
    .c-content06__list-item+.c-content06__list-item {
        margin-top: 17px
    }
    .c-content06__list-item-img {
        margin-bottom: 0;
        width: 352px
    }
    .c-content06__list-item-area {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-left: 50px
    }
    .c-content06__intro-text {
        text-align: center
    }
}
.c-content07 {
    padding-left: 40px;
    counter-reset: item
}
.c-content07-item {
    padding-bottom: 26px;
    border-bottom: 1px solid #e3e2dc;
    position: relative
}
.c-content07-item+.c-content07-item {
    padding-top: 17px
}
.c-content07-item-area-head {
    font-size: 1.6rem;
    line-height: 1.62;
    margin-bottom: 11px
}
.c-content07-item-area-text {
    line-height: 1.92;
    letter-spacing: .07em
}
.c-content07-item-img {
    margin-top: 13px
}
.c-content07-item:before {
    z-index: 2;
    position: absolute;
    left: -40px;
    top: 12px;
    counter-increment: item;
    content: counter(item) "";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #a73963;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    font-size: 1.6rem;
    color: #fff
}
.c-content07-item:after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -26px;
    background: #e3e2dc
}
.c-content07-item:first-of-type:before {
    top: 0px
}
.c-content07-item:nth-of-type(6):after {
    height: 105%
}
.c-content07-item:last-of-type:after {
    content: none
}
@media all and (min-width: 600px) {
    .c-content07 {
        padding-left: 63px
    }
    .c-content07-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-bottom: 40px;
        border-bottom: 1px solid #e3e2dc;
        position: relative
    }
    .c-content07-item+.c-content07-item {
        padding-top: 39px
    }
    .c-content07-item-area {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-right: 50px
    }
    .c-content07-item-area-head {
        font-size: 2.6rem;
        line-height: 1.62;
        margin-bottom: 11px;
        font-weight: bold
    }
    .c-content07-item-area-text {
        line-height: 1.92;
        letter-spacing: .07em
    }
    .c-content07-item-img {
        width: 300px;
        height: 203px;
        margin-top: 0
    }
    .c-content07-item:before {
        left: -60px;
        top: 40px;
        width: 40px;
        height: 40px;
        font-size: 2.1rem
    }
    .c-content07-item:after {
        left: -41px
    }
    .c-content07-item:first-of-type:before {
        top: 2px
    }
    .c-content07-item:nth-of-type(6):after {
        height: 120%
    }
}
@media screen and (max-width: 360px) {
    .c-content07__list-item-area-head {
        font-size: 4.5vw
    }
}
.c-form01-table {
    table-layout: fixed;
    border-top: 1px solid #e3e2dc;
    border-bottom: 1px solid #e3e2dc
}
.c-form01-table th, .c-form01-table td {
    box-sizing: border-box;
    display: block;
    width: 100%;
    line-height: 1.1
}
.c-form01-table th {
    padding: 18px 5px 8px;
    font-size: 1.5rem
}
.c-form01-table th label {
    font-weight: bold
}
.c-form01-table td {
    padding: 0 5px 18px
}
.c-form01-table tr {
    border-bottom: 1px solid #e3e2dc
}
.c-form01-table tr:last-of-type {
    border: none
}
.c-form01__required {
    display: inline-block;
    box-sizing: border-box;
    padding: 2px 5px 0;
    margin-left: 8px;
    background: #a73963;
    line-height: 1.1;
    width: 38px;
    height: 16px;
    color: #fff;
    text-align: center;
    font-weight: normal;
    font-size: 1.1rem
}
.c-form01__postcode {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}
.c-form01__postcode-prefix {
    margin-right: 10px
}
.c-form01__postcode-input {
    width: 50%
}
.c-form01__address {
    margin: 10px 0
}
.c-form01 button, .c-form01 textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    outline: none
}
.c-form01 input[type="text"], .c-form01 input[type="email"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 10px 12px;
    background: #f4f4f2;
    font-size: 1.6rem
}
.c-form01 input[type="text"]::-webkit-input-placeholder, .c-form01 input[type="email"]::-webkit-input-placeholder {
    color: #c6c5c5
}
.c-form01 input[type="text"]:-ms-input-placeholder, .c-form01 input[type="email"]:-ms-input-placeholder {
    color: #c6c5c5
}
.c-form01 input[type="text"]::placeholder, .c-form01 input[type="email"]::placeholder {
    color: #c6c5c5
}
.c-form01 textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 210px;
    padding: 10px 12px;
    background: #f4f4f2;
    font-size: 1.6rem
}
@media all and (min-width: 600px) {
    .c-form01 {
        padding: 0 40px
    }
    .c-form01-table th {
        position: relative;
        display: table-cell;
        width: 280px;
        padding: 38px 22px 20px 48px;
        line-height: 1.7;
        font-size: 1.6rem
    }
    .c-form01-table td {
        display: table-cell;
        padding: 27px 50px 23px 50px
    }
    .c-form01__required {
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        top: 37px;
        right: 0;
        padding: 2px 5px 0;
        margin-left: 0;
        width: 60px;
        height: 26px;
        font-size: 1.4rem
    }
    .c-form01__postcode {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .c-form01__postcode-prefix {
        margin-right: 10px
    }
    .c-form01__postcode-input {
        width: 30%
    }
    .c-form01__address {
        margin: 15px 0
    }
    .c-form01 input[type="text"], .c-form01 input[type="email"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        box-sizing: border-box;
        width: 100%;
        max-width: 500px;
        height: 50px;
        padding: 10px 20px;
        background: #f4f4f2;
        font-size: 1.6rem
    }
    .c-form01 textarea {
        min-height: 250px;
        padding: 16px 20px
    }
}
@media screen and (min-width: 1121px) {
    .c-form01 {
        padding: 0
    }
}
.c-form01-submit {
    text-align: center
}
.c-form01-submit a {
    text-decoration: none
}
.c-form01-submit button {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 260px;
    margin-top: 30px;
    padding: 18px 0 19px;
    line-height: 1.1;
    border-radius: 5px;
    background: #a73963;
    cursor: pointer;
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 1.6rem;
    letter-spacing: .06em
}
.c-form01-submit button.is-confirm:after {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8.5px;
    border-color: transparent transparent transparent #fff
}
.c-form01-submit button.is-back {
    background: #808080
}
@media all and (min-width: 600px) {
    .c-form01-submit button[type="submit"], .c-form01-submit button[type="button"] {
        width: 100%;
        max-width: 320px;
        margin: 60px 20px 0;
        padding: 25px 0 25px;
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-form01-submit button[type="submit"].is-confirm:after, .c-form01-submit button[type="button"].is-confirm:after {
        right: 32px;
        border-width: 3.5px 0 3.5px 7.5px
    }
    .c-form01-submit button[type="submit"].is-confirm:hover, .c-form01-submit button[type="button"].is-confirm:hover {
        opacity: .8
    }
    .c-form01-submit button[type="submit"].is-back:after, .c-form01-submit button[type="button"].is-back:after {
        right: inherit;
        left: 32px
    }
    .c-form01-submit button[type="submit"].is-back:hover, .c-form01-submit button[type="button"].is-back:hover {
        background: #a9a9a9
    }
}
.mw_wp_form .error {
    margin-top: 10px
}
.c-head01 {
    margin-bottom: 25px;
    text-align: center;
    font-weight: bold;
    font-size: 2.4rem;
    letter-spacing: .35rem
}
.c-head01__brown {
    color: #a73963
}
@media all and (min-width: 600px) {
    .c-head01 {
        margin-bottom: 45px;
        font-size: 3.8rem;
        letter-spacing: .55rem
    }
}
.c-head02 {
    margin-bottom: 20px
}
.c-head02__en {
    position: relative;
    display: block;
    margin-bottom: 10px;
    color: #b1b4a2;
    font-size: 1.8rem;
    letter-spacing: .2rem
}
/*.c-head02__en:before {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    display: block;
    height: 12px;
    width: 180px;
    opacity: 0.5;
    background-image: url("../img/common/sec_title_block05_deco.png");
    background-size: 40px 40px;
    background-repeat: repeat;
    background-position: center center;
}*/
.c-head02__en::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0px;
    display: block;
    height: 10px;
    width: 215px;
    opacity: 0.5;
    background-image: url("../img/common/sec_title_block05_deco.png");
    background-size: 40px 40px;
    background-repeat: repeat;
    background-position: center center;
}
.c-head02__ja {
    color: #a73963;
    font-size: 2.4rem;
    letter-spacing: .35rem;
    line-height: 1.5
}
.c-head02__black {
    color: #1d1d1d
}
.c-head02.is-ico .c-head02__ja {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 2.1rem
}
.c-head02.is-ico .c-head02__ico {
    display: block;
    width: 60px;
    height: 60px;
    margin-right: 15px
}
@media all and (min-width: 600px) {
    .c-head02 {
        margin-bottom: 35px;
        margin-top: 20px;
    }
    .c-head02__en {
        margin-bottom: 20px;
        padding-left: 0px;
        font-size: 2.8rem;
        letter-spacing: .2rem
    }
    .c-head02__en:before {
        width: 40px;
        height: 5px;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto
    }
    .c-head02__ja {
        font-size: 3.8rem;
        letter-spacing: .45rem
    }
    .c-head02.is-ico {
        margin-top: -10px
    }
    .c-head02.is-ico .c-head02__ja {
        font-size: 3.8rem
    }
    .c-head02.is-ico .c-head02__ico {
        width: 100px;
        height: 100px;
        margin-right: 25px
    }
}
.c-head02-txt.is-ico {
    line-height: 1.93;
    font-size: 1.3rem
}
@media all and (min-width: 600px) {
    .c-head02-txt.is-ico {
        line-height: 1.95;
        font-size: 1.6rem
    }
}
.c-head03 {
    color: #fff
}
.c-head03__en {
    font-size: 4.0rem;
    letter-spacing: .6rem;
    margin-bottom: -13px
}
.c-head03__ja {
    font-size: 1.5rem
}
@media all and (min-width: 600px) {
    .c-head03__en {
        font-size: 5.0rem;
        letter-spacing: .75rem;
        margin-bottom: -17px
    }
    .c-head03__ja {
        font-size: 2.0rem
    }
}
.c-head04 {
    margin-bottom: 20px;
    text-align: center;
    letter-spacing: .25rem;
    font-size: 2.4rem
}
.c-head04.is-ico {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.c-head04.is-ico:before {
    display: block;
    content: '';
    width: 60px;
    height: 60px;
    margin-right: 12px
}
.c-head04.is-left {
    text-align: left
}
@media all and (min-width: 600px) {
    .c-head04 {
        margin-bottom: 35px;
        letter-spacing: .4rem;
        font-size: 3.8rem
    }
    .c-head04.is-ico:before {
        width: 80px;
        height: 80px;
        margin-right: 25px
    }
}
.c-head04.is-mbmod {
    margin-bottom: 8px
}
@media all and (min-width: 600px) {
    .c-head04.is-mbmod {
        margin-bottom: 20px
    }
}
@media screen and (max-width: 360px) {
    .c-head04 {
        font-size: 6.4vw
    }
}
.c-head04-txt {
    margin: -10px 0 30px
}
@media all and (min-width: 600px) {
    .c-head04-txt {
        margin: -10px 0 40px;
        text-align: center;
        line-height: 2.0
    }
}
.c-head05 {
    position: relative;
    padding: 0 0 0 30px;
    margin-bottom: 20px;
    color: #a73963;
    font-weight: bold;
    font-size: 1.6rem
}
.c-head05:before {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/common/ico_tooth01.png) no-repeat center/contain;
    width: 22px;
    height: 26px;
    top: 7px;
    left: 0
}
.c-head05__line {
    overflow: hidden
}
.c-head05__line:after {
    background: url(../img/common/img_dot01.png) bottom repeat-x;
    background-size: 10px;
    position: absolute;
    display: inline-block;
    content: '';
    width: 100%;
    height: 8px;
    bottom: -3px;
    left: 30px
}
@media all and (min-width: 600px) {
    .c-head05 {
        padding: 0 0 0 40px;
        margin-bottom: 20px;
        font-size: 2.2rem
    }
    .c-head05:before {
        width: 25px;
        height: 31px
    }
    .c-head05__line:after {
        left: 40px;
        bottom: 0
    }
}
.c-head06 {
    position: relative;
    padding-left: 75px;
    margin-bottom: 35px;
    letter-spacing: .2rem;
    font-size: 2.1rem
}
.c-head06:before {
    position: absolute;
    display: block;
    content: '';
    width: 60px;
    height: 60px;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0
}
@media all and (min-width: 600px) {
    .c-head06 {
        padding-left: 80px;
        margin: 0 0 37px 8px;
        font-size: 2.8rem
    }
}
.c-head07 {
    text-align: center;
    font-size: 2.1rem;
    margin-bottom: 20px;
    line-height: 1.55
}
.c-head07__sub {
    display: block;
    font-size: 1.6rem
}
.is-prevention .c-head07 {
    margin-bottom: 12px
}
.c-head07.is-left {
    text-align: left
}
.c-head07.is-large {
    font-size: 2.4rem;
    letter-spacing: 0.11em
}
@media all and (min-width: 600px) {
    .c-head07 {
        font-size: 3.6rem;
        margin-bottom: 30px;
        line-height: 1.7;
        letter-spacing: 5px
    }
    .c-head07__sub {
        font-size: 2rem;
        letter-spacing: 3px
    }
    .c-head07.is-large {
        font-size: 3.8rem;
        letter-spacing: 0.15em
    }
}
@media screen and (max-width: 360px) {
    .c-head07 {
        font-size: 5.3vw
    }
    .c-head07__sub {
        font-size: 4.5vw;
        letter-spacing: 3px
    }
    .c-head07.is-large {
        font-size: 6.6vw;
        letter-spacing: 0
    }
}
.c-head08 {
    color: #3b7683;
    font-size: 1.8rem;
    margin-bottom: 10px
}
.c-head08.is-center {
    text-align: center
}
@media all and (min-width: 600px) {
    .c-head08 {
        font-size: 2.8rem;
        margin-bottom: 20px;
        line-height: 1.3;
        letter-spacing: 4px
    }
    .c-head08.is-center {
        text-align: left
    }
}
@media screen and (max-width: 360px) {
    .c-head08 {
        font-size: 4.9vw
    }
}
.c-head09 {
    color: #3b7683;
    font-size: 1.7rem;
    padding: 5px 0 5px 33px;
    background: left center/19px 24px no-repeat url(../img/logo_icon.png);
    font-weight: bold;
    border-bottom: 1px solid #3b7683;
    margin-bottom: 10px
}
@media all and (min-width: 600px) {
    .c-head09 {
        font-size: 2.4rem;
        background-size: 28px 41px;
        padding: 9px 0 9px 36px;
        margin-bottom: 21px;
    }
}
.c-head09.is-periodontal {
    background: left center/25px 26px no-repeat url(../img/logo_icon.png)
}
@media all and (min-width: 600px) {
    .c-head09.is-periodontal {
        background-size: 28px 41px;
        background-position: 0px 15px;
    }
}
.c-head09.is-dentist {
    background: left center/26px 24px no-repeat url(../img/menu/prevention/ico_prevention01.png)
}
@media all and (min-width: 600px) {
    .c-head09.is-dentist {
        background-size: 38px 39px
    }
}
.c-head09.is-home {
    background: left center/26px 26px no-repeat url(../img/menu/prevention/ico_prevention02.png)
}
@media all and (min-width: 600px) {
    .c-head09.is-home {
        background-size: 38px 39px
    }
}
.c-head09.is-noborder {
    border: none
}
.c-head09.is-nomargin {
    margin: 0
}
.c-head10 {
    color: #a73963;
    font-size: 2.1rem;
    text-align: center;
    line-height: 1.4
}
@media all and (min-width: 600px) {
    .c-head10 {
        text-align: left;
        font-size: 3.6rem;
        letter-spacing: 5px
    }
}
.c-head11 {
    font-weight: bold;
    color: #565656;
    padding-left: 10px;
    border-left: 4px solid #a73963;
    margin-bottom: 8px;
    font-size: 1.6rem;
    line-height: 1.6
}
@media all and (min-width: 600px) {
    .c-head11 {
        font-size: 2rem;
        font-weight: bold;
        color: #565656;
        padding-left: 23px;
        border-left: 4px solid #a73963;
        line-height: 3rem;
        margin-bottom: 15px
    }
}
.c-head12 {
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold;
    color: #a73963;
    margin-bottom: 15px;
    display: inline-block;
    border-bottom: 3px dotted #a73963;
    padding-bottom: 2px
}
@media all and (min-width: 600px) {
    .c-head12 {
        font-size: 2.6rem
    }
}
.c-head13 {
    border-bottom: 1px solid #e3e2dc;
    color: #a73963;
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin-bottom: 15px;
    padding-bottom: 9px
}
@media all and (max-width: 599px) {
    .c-head13.is-sm {
        font-size: 1.5rem
    }
}
@media all and (min-width: 600px) {
    .c-head13 {
        font-size: 2.5rem;
        margin-bottom: 30px
    }
}
.c-head14 {
    color: #a73963;
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1.5;
    margin-bottom: 10px
}
@media all and (min-width: 600px) {
    .c-head14 {
        font-size: 2.6rem;
        margin-bottom: 18px
    }
}
.c-line01 {
    color: #a73963;
    font-weight: bold;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #f5ebcd));
    background: linear-gradient(transparent 60%, #f5ebcd 60%)
}
.c-list01__item {
    position: relative;
    margin-top: 6px;
    padding-left: 10px;
    font-weight: bold;
    line-height: 1.65
}
.c-list01__item:before {
    position: absolute;
    display: block;
    content: '';
    background: #a73963;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    top: 9px;
    left: 0
}
.c-list01.is-small {
    margin-left: 5px
}
.c-list01.is-small .c-list01__item {
    letter-spacing: .01rem;
    margin-top: 1px
}
.c-list01.is-block .c-list01__item {
    padding-left: 15px;
    font-weight: normal
}
.c-list01.is-block .c-list01__item:before {
    border-radius: 0;
    width: 6px;
    height: 6px;
    top: 7px
}
@media all and (min-width: 600px) {
    .c-list01__item {
        position: relative;
        margin-top: 2px;
        padding-left: 10px;
        font-weight: bold
    }
    .c-list01__item:before {
        position: absolute;
        display: block;
        content: '';
        background: #62c1ce;
        border-radius: 50%;
        width: 5px;
        height: 5px;
        top: 12px;
        left: 0
    }
    .c-list01.is-block .c-list01__item:before {
        top: 9px
    }
    .c-list01.is-col2 {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        gap: 0 30px
    }
}
.c-menu01-faq__inner {
    padding-top: 48px
}
.c-menu01-faq-list__item {
    padding: 16px 25px 25px;
    box-sizing: border-box;
    background-color: #f4f4f2
}
.c-menu01-faq-list__item+.c-menu01-faq-list__item {
    margin-top: 10px
}
.c-menu01-faq-list__head {
    line-height: 1.5;
    position: relative;
    margin-bottom: 10px;
    padding: 0 0 10px 30px;
    box-sizing: border-box;
    border-bottom: 1px solid #e3e2dc;
    color: #a73963;
    font-size: 1.6rem;
    font-weight: 700
}
.c-menu01-faq-list__head-ico {
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 25px;
    height: 25px;
    padding-bottom: 2px;
    box-sizing: border-box;
    border-radius: 50%;
    background-color: #a73963;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center
}
.c-menu01-faq-list-detail__txt-link {
    display: inline-block;
    vertical-align: middle;
    color: #a73963;
    font-weight: 700;
    text-decoration: none
}
.c-menu01-faq-list-detail__txt-link-txt {
    position: relative;
    display: inline-block;
    padding: 0 5px 0 18px;
    box-sizing: border-box;
    text-decoration: underline
}
.c-menu01-faq-list-detail__txt-link-txt:before {
    content: '';
    position: absolute;
    top: 9px;
    left: 7px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2.5px 0 2.5px 5px;
    border-color: transparent transparent transparent #a73963
}
.c-menu01-faq__btn {
    margin-top: 20px
}
@media all and (min-width: 600px) {
    .c-menu01-faq__inner {
        padding-top: 104px
    }
    .c-menu01-faq-list__item {
        padding: 38px 50px 36px
    }
    .c-menu01-faq-list__item+.c-menu01-faq-list__item {
        margin-top: 15px
    }
    .c-menu01-faq-list__head {
        margin-bottom: 24px;
        padding: 0 0 18px 50px;
        font-size: 2.3rem
    }
    .c-menu01-faq-list__head-ico {
        top: -2px;
        width: 40px;
        height: 40px;
        padding-bottom: 4px;
        font-size: 2rem
    }
    .c-menu01-faq-list-detail__txt-link:hover .c-menu01-faq-list-detail__txt-link-txt {
        text-decoration: none
    }
    .c-menu01-faq-list-detail__txt-link-txt {
        padding: 0 7px 0 22px
    }
    .c-menu01-faq-list-detail__txt-link-txt:before {
        top: 10px;
        left: 9px;
        border-width: 4px 0 4px 8px
    }
    .c-menu01-faq__btn {
        max-width: 490px;
        margin: 40px auto 0
    }
}
.c-menu-price__inner {
    padding-top: 60px
}
.c-menu-price__sec {
    margin-top: 30px
}
.c-menu-price__sec-head {
    border-bottom: 0
}
.c-menu-price__note {
    color: #bcbbb4;
    font-size: 1.4rem;
    margin-top: 15px;
    padding-left: 1em
}
.c-menu-price__btn {
    margin: 0 auto;
    width: min(325px, 100%)
}
.c-menu-price__btn:not(:first-child) {
    margin-top: 45px
}
.c-menu-price__btn-link {
    border: 1px solid #a73963;
    box-sizing: border-box;
    display: -ms-grid;
    display: grid;
    place-items: center left;
    padding: 18px;
    position: relative;
    text-decoration: none;
    height: 100px
}
.c-menu-price__btn-txt {
    border-bottom: 3px dotted #a73963;
    color: #a73963;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    padding-bottom: 2px
}
.c-menu-price__btn-arw {
    border: 1px solid #a73963;
    border-radius: 50%;
    box-sizing: border-box;
    margin: auto;
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 34px;
    height: 34px
}
.c-menu-price__btn-arw:after {
    content: '';
    background-color: #a73963;
    -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 2px;
    width: 8px;
    height: 8px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}
@media all and (min-width: 600px) {
    .c-menu-price__inner {
        padding-top: 120px
    }
    .c-menu-price__lead {
        text-align: center
    }
    .c-menu-price__sec {
        margin-top: 50px
    }
    .c-menu-price__sec+.c-menu-price__sec {
        margin-top: 60px
    }
    .c-menu-price__sec-head {
        margin-bottom: 11px
    }
    .c-menu-price__note {
        font-size: 1.6rem;
        margin-top: 20px
    }
    .c-menu-price__btn {
        width: min(700px, 100%)
    }
    .c-menu-price__btn:not(:first-child) {
        margin-top: 80px
    }
    .c-menu-price__btn-link {
        padding: 49px;
        height: 184px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-menu-price__btn-link:hover {
        background-color: #a73963
    }
    .c-menu-price__btn-txt {
        font-size: 2.6rem;
        margin-top: -8px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    :hover>.c-menu-price__btn-txt {
        border-bottom-color: #fff;
        color: #fff
    }
    .c-menu-price__btn-arw {
        right: 50px;
        width: 46px;
        height: 46px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    :hover>.c-menu-price__btn-arw {
        background-color: #a73963;
        border-color: #fff
    }
    :hover>.c-menu-price__btn-arw:after {
        background-color: #fff
    }
}
.c-menu-pamphlet {
    position: relative
}
.c-menu-pamphlet:before {
    content: '';
    background-color: #f4f4f2;
    margin: auto;
    position: absolute;
    top: 70px;
    right: 0;
    bottom: 0;
    left: auto;
    width: 86.7%;
    z-index: -1
}
.c-menu-pamphlet__inner {
    padding-top: 120px;
    padding-bottom: 60px
}
.c-menu-pamphlet__set {
    display: -ms-grid;
    display: grid;
    gap: 25px 52px
}
.c-menu-pamphlet__btn {
    margin-top: 16px
}
@media all and (max-width: 599px) {
    .c-menu-pamphlet__sub-head {
        font-size: 1.7rem
    }
}
@media all and (min-width: 600px) {
    .c-menu-pamphlet:before {
        top: 120px;
        width: 63.5%
    }
    .c-menu-pamphlet__inner {
        padding-top: 220px;
        padding-bottom: 100px
    }
    .c-menu-pamphlet__head {
        margin-bottom: 38px
    }
    .c-menu-pamphlet__set {
        -ms-grid-columns: 55% 1fr;
        grid-template-columns: 55% 1fr;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .c-menu-pamphlet__area-txt {
        margin-top: -22px
    }
    .c-menu-pamphlet__btn {
        margin-top: 44px
    }
}
.c-pager01 {
    text-align: center;
    letter-spacing: -.5em
}
.c-pager01 li {
    display: inline-block;
    margin: 0 5px 10px;
    letter-spacing: 0
}
.c-pager01 li a, .c-pager01 li span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 45px;
    height: 50px;
    box-sizing: border-box;
    padding-top: 1px;
    border: 1px solid #a73963;
    border-radius: 5px;
    text-decoration: none;
    color: #a73963
}
.c-pager01 li.current span {
    color: #fff;
    background: #a73963
}
.c-pager01 li.next, .c-pager01 li.previous {
    position: relative
}
.c-pager01 li.next:before, .c-pager01 li.previous:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8.5px;
    border-color: transparent transparent transparent #a73963
}
.c-pager01 li.previous:before {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}
.c-pager01 li.next {
    margin-left: 30px
}
.c-pager01 li.next:after {
    position: absolute;
    display: block;
    content: '…';
    top: 13px;
    left: -25px;
    color: #a73963
}
@media all and (min-width: 600px) {
    .c-pager01 li {
        margin: 0 5px
    }
    .c-pager01 li a, .c-pager01 li span {
        width: 58px;
        height: 68px;
        padding: 1px 0 0 0;
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-pager01 li a:hover, .c-pager01 li span:hover {
        color: #fff;
        background: #a73963
    }
    .c-pager01 li.current {
        padding: 4px 0 0 0
    }
    .c-pager01 li.previous:hover:before, .c-pager01 li.next:hover:before {
        border-style: solid;
        border-width: 4.5px 0 4.5px 8.5px;
        border-color: transparent transparent transparent #fff
    }
    .c-pager01 li.previous {
        margin-right: 5px
    }
    .c-pager01 li.next {
        margin-left: 50px
    }
    .c-pager01 li.next:after {
        top: 20px;
        left: -35px
    }
}
.c-pager02 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 70px 0 55px;
    color: #a73963
}
.c-pager02 a {
    display: block;
    text-decoration: none
}
.c-pager02__all {
    position: absolute;
    display: block;
    margin: auto;
    top: -68px;
    right: 0;
    left: 0
}
.c-pager02__all a {
    border: 1px solid #a73963;
    border-radius: 5px;
    max-width: 260px;
    margin: auto;
    box-sizing: border-box;
    padding: 12px;
    text-align: center
}
.c-pager02__previous a, .c-pager02__next a {
    position: relative
}
.c-pager02__previous a:before, .c-pager02__next a:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8.5px;
    border-color: transparent transparent transparent #a73963
}
.c-pager02__previous a {
    padding-left: 20px
}
.c-pager02__previous a:before {
    left: 0;
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}
.c-pager02__next a {
    padding-right: 20px
}
.c-pager02__next a:before {
    right: 0
}
@media all and (min-width: 600px) {
    .c-pager02 {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0 65px 100px 50px;
        color: #a73963
    }
    .c-pager02 a {
        display: block;
        text-decoration: none
    }
    .c-pager02__all {
        width: 260px;
        top: -17px
    }
    .c-pager02__all a {
        width: 100%;
        max-width: inherit;
        margin: inherit;
        padding: 18px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .c-pager02__all a:hover {
        background: #a73963;
        color: #fff
    }
    .c-pager02__previous a:hover, .c-pager02__next a:hover {
        text-decoration: underline
    }
}
.c-single01 {
    padding: 28px 0;
    background: #fff
}
.c-single01__head {
    position: relative;
    margin: 20px 0 40px
}
.c-single01__head:after {
    position: absolute;
    display: block;
    content: '';
    background: #a73963;
    width: 100%;
    height: 2px;
    margin: auto;
    right: 0;
    bottom: -16px;
    left: 0
}
.c-single01__head h1 {
    font-weight: bold;
    line-height: 1.5;
    font-size: 2.1rem;
    letter-spacing: .15em
}
.c-single01__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}
.c-single01__date {
    margin: 0 8px 5px 0;
    color: #bcbbb4;
    letter-spacing: .04em
}
.c-single01-cat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
.c-single01-cat__item {
    line-height: 1.4;
    display: inline-block;
    min-width: 70px;
    margin: 0 5px 5px 0;
    padding: 2px 5px 0;
    box-sizing: border-box;
    background: #a73963;
    color: #fff;
    font-size: 1.4rem;
    text-align: center
}
.c-single01-cat__item.is-child {
    border: 1px solid #a73963;
    background-color: #fff;
    color: #a73963
}
.c-single01__thum {
    margin-bottom: 25px
}
.c-single01__content {
    padding-bottom: 35px;
    border-bottom: 1px solid #e3e2dc
}
.c-single01__content h2 {
    position: relative;
    background: #f4f4f2;
    box-sizing: border-box;
    padding: 8px 8px 9px 28px;
    margin: 10px 0 15px;
    font-family: 'Noto Serif JP', serif;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .25rem;
    font-size: 1.8rem
}
.c-single01__content h2:after {
    position: absolute;
    display: block;
    content: '';
    background: #a73963;
    width: 4px;
    height: 70%;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 15px
}
.c-single01__content h3 {
    display: inline-block;
    margin: 10px 0 15px;
    border-bottom: 3px dotted #a73963;
    color: #a73963;
    font-weight: bold;
    letter-spacing: .15rem;
    font-size: 1.6rem
}
.c-single01__content h4 {
    position: relative;
    margin: 10px 0 15px;
    padding-left: 13px;
    font-weight: bold;
    font-size: 1.4rem
}
.c-single01__content h4:after {
    position: absolute;
    display: block;
    content: '';
    background: #a73963;
    width: 4px;
    height: 90%;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0
}
@media all and (min-width: 600px) {
    .c-single01 {
        box-sizing: border-box;
        padding: 55px 0 50px 50px
    }
    .c-single01__head {
        margin: 20px 0 65px
    }
    .c-single01__head:after {
        bottom: -26px
    }
    .c-single01__head h1 {
        line-height: 1.5;
        font-size: 2.8rem;
        letter-spacing: .15em
    }
    .c-single01__meta {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .c-single01__date {
        margin: 0 14px 10px 0;
        letter-spacing: .04em
    }
    .c-single01-cat__item {
        min-width: 90px;
        margin: 0 5px 10px 0;
        padding: 3px 5px 0;
        font-size: 1.4rem
    }
    .c-single01__thum {
        margin-bottom: 50px
    }
    .c-single01__content {
        overflow: hidden;
        padding-bottom: 53px
    }
    .c-single01__content h2 {
        padding: 13px 8px 14px 38px;
        margin-bottom: 22px;
        line-height: 1.5;
        letter-spacing: .35rem;
        font-size: 2.2rem
    }
    .c-single01__content h2:after {
        height: 67%;
        left: 20px
    }
    .c-single01__content h3 {
        margin-bottom: 22px;
        font-size: 2.2rem
    }
    .c-single01__content h4 {
        margin-bottom: 15px;
        padding-left: 23px;
        font-size: 2.0rem
    }
    .c-single01__content p {
        line-height: 1.9
    }
    .c-single01__content img {
        display: block
    }
    .c-single01__content .alignleft {
        float: left
    }
    .c-single01__content .aligncenter {
        margin: 0 auto
    }
    .c-single01__content .alignright {
        float: right
    }
    .c-single01__content img.alignleft {
        max-width: 324px;
        margin-right: 4%
    }
    .c-single01__content img.aligncenter {
        max-width: 324px
    }
    .c-single01__content img.alignright {
        max-width: 324px;
        margin-left: 4%
    }
}
.c-tab01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
.c-tab01__item {
    margin-right: 5px;
    padding: 5px 10px
}
.c-tab01__item.is-active {
    background: #333;
    color: #fff
}
.c-table01 .blank:after {
    content: '';
    display: inline-block;
    margin-left: 4px;
    width: 16px;
    height: 12px;
    background-color: currentColor;
    color: #a73963;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12"><path d="M10 4v7H3V4h7Zm1-1H2v9h9V3Z"/><path d="M14 0v9h-4V8h3V1H6v3H5V0h9Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12"><path d="M10 4v7H3V4h7Zm1-1H2v9h9V3Z"/><path d="M14 0v9h-4V8h3V1H6v3H5V0h9Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}
@media all and (max-width: 599px) {
    .c-table01 table, .c-table01 thead, .c-table01 tbody, .c-table01 tr, .c-table01 th, .c-table01 td {
        display: block
    }
    .c-table01 table {
        border-bottom: 1px solid #e3e2dc
    }
    .c-table01 tr {
        padding: 12px;
        border-top: 1px solid #e3e2dc
    }
    .c-table01 th {
        font-weight: bold
    }
    .c-table01 td {
        line-height: 1.5
    }
    .c-table01__salary {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .c-table01__salary dt {
        display: block;
        word-break: keep-all
    }
}
@media all and (min-width: 600px) {
    .c-table01.is-top th {
        min-width: 200px
    }
    .c-table01 tr {
        border-top: 1px solid #e3e2dc;
        border-bottom: 1px solid #e3e2dc
    }
    .c-table01 th {
        padding: 23px 30px;
        font-weight: bold
    }
    .c-table01 td {
        padding: 23px 15px;
        vertical-align: middle
    }
    .c-table01__salary {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .c-table01__salary dt {
        display: block;
        word-break: keep-all
    }
}
.c-table02 table {
    background: #fff;
    margin-bottom: 5px;
    border-radius:10px;
}
.c-table02 thead {
    border-bottom: 1px solid #e3e2dc
}
.c-table02 th, .c-table02 td {
    box-sizing: border-box;
    color: #565656;
    width: 25px
}
.c-table02 th {
    padding: 5px 0;
    font-weight: bold;
    text-align: center;
    font-size: 1.3rem
}
.c-table02 th:first-child {
    padding: 5px 15px;
    min-width: 75px;
    text-align: left
}
.c-table02 th:last-child {
    box-sizing: content-box;
    padding: 5px;
    width: 20px
}
.c-table02 td {
    max-width: 27px;
    padding: 12px 9px 15px;
    vertical-align: middle;
    text-align: center
}
@media screen and (-ms-high-contrast: none) {
    .c-table02 td {
        padding: 12px 15px 15px
    }
}
.c-table02 td:first-child {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 5px 5px 5px 15px
}
.c-table02 td:last-child:empty:before {
    top: 0;
    right: 20%;
    bottom: 0;
    left: inherit
}
@media screen and (-ms-high-contrast: none) {
    .c-table02 td:last-child:empty:before {
        top: 100%;
        right: 20%
    }
}
.c-table02 td:empty {
    position: relative
}
.c-table02 td:empty:before {
    position: absolute;
    display: block;
    content: '';
    background: #565656;
    height: 2px;
    width: 17px;
    margin: auto;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}
@media screen and (-ms-high-contrast: none) {
    .c-table02 td:empty:before {
        top: 100%
    }
}
.c-table02 td img {
    width: 18px;
    margin: 0 auto
}
.c-table02__triangle img {
    display: block;
    margin-top: 4px;
    width: 24px
}
.c-table02__note {
    font-size: 1.1rem;
}
.c-table02__sub {
    font-weight: bold !important
}
.c-table02.is-foot thead {
    border-bottom: 1px solid #565656
}
.c-table02.is-brown th, .c-table02.is-brown td {
    border: 1px solid #e3e2dc
}
.c-table02.is-brown th {
    background: #a73963;
    color: #fff
}
.c-table02.is-brown td {
    padding: 12px 9px 15px
}
@media screen and (-ms-high-contrast: none) {
    .c-table02.is-brown td {
        padding: 12px 15px 15px
    }
}
@media screen and (-ms-high-contrast: none) {
    .c-table02.is-brown td:empty:before {
        top: 125%
    }
}
.c-table02.is-brown td:last-child:empty:before {
    right: 20%
}
@media screen and (-ms-high-contrast: none) {
    .c-table02.is-brown td:last-child:empty:before {
        top: 150%;
        right: 16%
    }
}
.c-table02.is-brown .c-table02__note {
    margin: 8px -8px 0 0;
    color: #53524e;
    text-align: right;
    letter-spacing: .06rem;
    font-size: 1.1rem
}
@media all and (min-width: 600px) {
    .c-table02 thead {
        border-bottom: 1px solid #e3e2dc
    }
    .c-table02 th, .c-table02 td {
        box-sizing: border-box;
        color: #565656;
        width: 35px
    }
    .c-table02 th {
        padding: 10px 0;
        font-weight: bold;
        text-align: center;
        font-size: 1.6rem
    }
    .c-table02 th:first-child {
        padding: 10px 25px;
        width: 210px;
        text-align: left
    }
    .c-table02 th:last-child {
        box-sizing: content-box;
        padding: 10px 10px 10px 0;
        width: 50px
    }
    .c-table02 td {
        max-width: 32px;
        padding: 5px 11px 17px;
        vertical-align: middle
    }
    .c-table02 td:first-child {
        font-size: 1.6rem;
        line-height: 1.5;
        padding: 5px 5px 5px 25px
    }
    .c-table02 td:last-child:empty {
        padding-left: 25px
    }
    .c-table02 td:empty {
        padding: 10px
    }
    .c-table02 td:empty:before {
        position: relative;
        display: block;
        content: '';
        background: #565656;
        height: 2px;
        width: 17px;
        margin: auto;
        left: 45%
    }
    .c-table02 td img {
        width: 18px
    }
    .c-table02__triangle img {
        display: block;
        margin: 10px 0 0 0 !important;
        width: 24px
    }
    .c-table02__note {
        font-size: 1.4rem
    }
    .c-table02__sub {
        font-weight: bold
    }
    .c-table02.is-foot thead {
        border-bottom: 1px solid #565656
    }
    .c-table02.is-brown th {
        width: 20px;
        padding: 13px 9px 13px;
        text-align: center;
        font-size: 1.8rem
    }
    .c-table02.is-brown th:first-child {
        width: 85px
    }
    .c-table02.is-brown td {
        padding: 22px 9px;
        text-align: center;
        font-weight: bold;
        font-size: 1.8rem
    }
    .c-table02.is-brown td img {
        width: 30px
    }
    .c-table02.is-brown td:first-child {
        width: 85px
    }
    .c-table02.is-brown td:last-child:empty {
        padding-left: 0
    }
    .c-table02.is-brown td:last-child:empty:before {
        right: 0
    }
    .c-table02.is-brown td:empty:before {
        height: 3px;
        width: 30px;
        left: 20%
    }
    .c-table02.is-brown .c-table02__note {
        margin: 15px -8px 0 0;
        letter-spacing: .08rem;
        font-size: 1.4rem
    }
}
.c-table03+.c-table03 {
    margin-top: 30px
}
.c-table03.has-tfoot tbody th {
    background-color: #fff
}
.c-table03.is-tfoot-min tfoot th, .c-table03.is-tfoot-min tfoot td {
    background-color: #e3e2dc
}
.c-table03.is-tfoot-min tfoot th:not(:last-child), .c-table03.is-tfoot-min tfoot td:not(:last-child) {
    border-right-color: #fff
}
.c-table03.is-tfoot-min tfoot th {
    font-size: 1.5rem
}
.c-table03.is-tfoot-min tfoot td {
    font-size: 1.6rem;
    font-weight: normal;
    padding-left: 0
}
.c-table03.is-tfoot-min tfoot .c-table03__num {
    font-size: 1.7rem
}
.c-table03.is-scroll {
    overflow-x: auto;
    padding-bottom: 20px
}
.c-table03.is-scroll table {
    min-width: 750px
}
.c-table03 table {
    border-collapse: collapse;
    table-layout: fixed
}
.c-table03 thead th, .c-table03 thead td {
    background-color: #a73963;
    color: #fff;
    font-weight: bold;
    height: 43px
}
.c-table03 tfoot th, .c-table03 tfoot td {
    background-color: #f4f4f2;
    font-weight: bold;
    height: 68.5px
}
.c-table03 tfoot td {
    font-size: 1.7rem;
    padding-left: 8px
}
.c-table03 th, .c-table03 td {
    border: 1px solid #e3e2dc;
    box-sizing: border-box;
    font-size: 1.6rem;
    padding: 4px;
    text-align: center;
    vertical-align: middle;
    height: 53px
}
.c-table03 th {
    background-color: #f4f4f2;
    font-weight: bold
}
.c-table03__unit, .c-table03__txt {
    display: inline-block;
    font-size: 1.6rem;
    margin-bottom: 0.3em
}
.c-table03__txt {
    font-weight: normal
}
.c-table03__bold {
    font-weight: bold
}
@media all and (min-width: 600px) {
    .c-table03+.c-table03 {
        margin-top: 40px
    }
    .c-table03.is-tfoot-min tfoot th {
        font-size: 2.2rem
    }
    .c-table03.is-tfoot-min tfoot td {
        font-size: 1.8rem
    }
    .c-table03.is-tfoot-min tfoot .c-table03__num {
        font-size: 2.8rem;
        line-height: 1.3
    }
    .c-table03 thead th, .c-table03 thead td {
        height: 59px
    }
    .c-table03 tfoot th, .c-table03 tfoot td {
        height: 89px
    }
    .c-table03 tfoot th {
        font-size: 2.3rem
    }
    .c-table03 tfoot td {
        font-size: 2.8rem
    }
    .c-table03 th, .c-table03 td {
        font-size: 1.8rem;
        height: 59px
    }
    .c-table03__unit, .c-table03__txt {
        font-size: 1.8rem
    }
}
.c-note01 {
    display: inline-block;
    position: relative;
    padding-left: 14px
}
.c-note01:before {
    position: absolute;
    display: block;
    content: '※';
    left: 0
}
@media all and (min-width: 600px) {
    .c-note01 {
        padding-left: 17px
    }
}
.c-note02 {
    color: #bcbbb4;
    display: block;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 15px;
    padding-left: 1em;
    position: relative
}
.c-note02+.c-note02 {
    margin-top: 0
}
.c-note02:before {
    content: '※';
    display: block;
    position: absolute;
    left: 0
}
@media all and (min-width: 600px) {
    .c-note02 {
        font-size: 1.6rem;
        margin-top: 20px
    }
}
.c-note02.is-intable {
    margin-top: 0
}
.c-note02.is-intable:before {
    display: inline;
    position: static
}
.c-textcard__inner {
    margin: 10px 25px 0;
    padding: 33px 25px 24px;
    background: #fff;
    box-shadow: 10px 10px 0px 0px #e3e2dc
}
.c-textcard__inner.is-darkbrown {
    box-shadow: 10px 10px 0px 0px #a73963;
    margin-top: 136px;
    margin-bottom: 22px;
    padding: 24px 25px
}
.c-textcard__text {
    letter-spacing: 0.05rem
}
.is-prevention .c-textcard__text {
    line-height: 1.9
}
.c-textcard__img {
    margin: 22px 25px 22px
}
.c-textcard__item {
    margin-top: 16px
}
.c-textcard__item-text {
    letter-spacing: 0.075rem;
    line-height: 1.88
}
#root .c-textcard__item-list-text {
    margin-top: 1px
}
@media all and (min-width: 600px) {
    .c-textcard__inner {
        margin: 69px auto 0;
        padding: 38px 160px 80px
    }
    .c-textcard__inner.is-darkbrown {
        padding: 89px 80px 54px;
        margin-top: 220px;
        margin-bottom: 51px;
        position: relative
    }
    .is-prevention .c-textcard__inner {
        padding: 33px 100px 73px 110px
    }
    .c-textcard__text {
        margin-top: 34px
    }
    .is-prevention .c-textcard__text {
        line-height: 1.86
    }
    .c-textcard__img {
        position: absolute;
        right: 68px;
        top: 19px;
        width: 239px;
        height: 162px
    }
    .c-textcard__img img {
        width: 100%;
        height: auto
    }
    .c-textcard__item {
        margin-top: 42px
    }
    .is-child .c-textcard__item {
        margin-top: 35px
    }
    .is-darkbrown .c-textcard__item+.c-textcard__item {
        margin-top: 28px
    }
    .c-textcard__item-text {
        margin-top: 34px
    }
    .is-child .c-textcard__item-text {
        margin-top: 10px
    }
    .is-darkbrown .c-textcard__item-text {
        margin-top: 0
    }
}
.c-toggle-tit01 {
    position: relative;
    padding: 10px 50px 10px 15px;
    background: #565656;
    color: #fff
}
.c-toggle-tit01:before, .c-toggle-tit01:after {
    position: absolute;
    top: 50%;
    right: 15px;
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    margin-top: -1px;
    background: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}
.c-toggle-tit01:before {
    -webkit-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg)
}
.c-toggle-tit01.is-active:before {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0)
}
.l-breadcrumb .breadcrumb-list {
    padding: 12px 30px 0
}
.l-breadcrumb .breadcrumb-list__item {
    display: inline-block
}
.l-breadcrumb .breadcrumb-list__item+.breadcrumb-list__item {
    padding-left: 1px
}
.l-breadcrumb .breadcrumb-list__item+.breadcrumb-list__item:before {
    content: ">";
    margin-right: 4px
}
.l-breadcrumb .breadcrumb-list__item:first-child {
    text-decoration: underline;
    color: #a73963
}
@media screen and (min-width: 1164px) {
    .l-breadcrumb .breadcrumb-list {
        padding: 12px 10px 0
    }
}
.l-footer {
    padding: 80px 0;
    background: #5b6466;
    color: #e2e2df
}
@media all and (min-width: 600px) {
    .l-footer {
        padding: 35px 0 80px
    }
}
.ft-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: 7px 19px
}
.ft-list__wrap {
    border-bottom: 1px solid #676767;
    margin-bottom: 40px;
    padding: 0 25px 23px
}
.ft-list__link {
    font-size: 1.4rem;
    text-decoration: none
}
@media all and (max-width: 599px) {
    .ft-list__item {
        border-bottom: 1px solid #676767
    }
    .ft-list__item:nth-last-child(-n+2) {
        border-bottom: 0
    }
    .ft-list__link {
        display: block;
        padding-bottom: 9px
    }
}
@media all and (min-width: 600px) {
    .ft-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 0 auto;
        max-width: 1120px
    }
    .ft-list__wrap {
        margin: 0 auto 80px;
        padding-bottom: 34px
    }
    .ft-list__link {
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .ft-list__link:hover {
        color: #a73963
    }
}
.ft-info__wrap {
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #676767
}
.ft-info__table {
    margin: 0 10px 26px
}
.ft-info__btns {
    margin: 0 25px
}
.ft-info__logos {
    text-align: center
}
.ft-info__logo {
    width: 288px;
    margin: 0 auto 23px
}
.ft-info__address {
    margin-bottom: 10px;
    font-size: 1.4rem;
    line-height: 1.6
}
.ft-info__link {
    margin-bottom: 27px
}
.ft-info__link a:after {
    content: '';
    display: inline-block;
    margin-left: 4px;
    width: 16px;
    height: 12px;
    background-color: currentColor;
    color: #fff;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12"><path d="M10 4v7H3V4h7Zm1-1H2v9h9V3Z"/><path d="M14 0v9h-4V8h3V1H6v3H5V0h9Z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12"><path d="M10 4v7H3V4h7Zm1-1H2v9h9V3Z"/><path d="M14 0v9h-4V8h3V1H6v3H5V0h9Z"/></svg>');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}
@media all and (min-width: 600px) {
    .ft-info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 0 auto;
        width: calc(100% - 50px);
        max-width: 1120px
    }
    .ft-info__wrap {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none
    }
    .ft-info__table {
        margin: 0 -2px 76px -13px
    }
    .ft-info__btns {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0
    }
    .ft-info__tel {
        color: #fff
    }
    .ft-info__logos {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        text-align: left
    }
    .ft-info__logo {
        width: 377px;
        margin: 0 0 35px
    }
    .ft-info__address {
        font-size: 1.6rem;
        line-height: 1.6
    }
    .ft-info__link {
        margin-bottom: 138px;
        font-size: 1.4rem
    }
}
.ft-cr {
    font-weight: bold;
    font-size: 1.4rem;
    letter-spacing: .2rem
}
.l-header__wrap {
    position: relative;
    min-width: 320px;
    z-index: 1500;
    margin-bottom: 6px;
}
@media all and (min-width: 600px) {
    .l-header {
        z-index: 2000
    }
    .l-header.is_hide .l-header__wrap {
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
        top: 0;
        z-index: 1000
    }
    .l-header.is_hide .l-nav {
        -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
        transform: translateY(-100%);
        top: 0;
        z-index: 1000
    }
    .l-header__wrap {
        position: fixed;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        background: #fff;
        min-width: 0;
        top: 0;
        left: 0;
        width: 100%;
        padding-bottom: 57px;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
    .l-header__wrap.is_opacity {
        background: rgba(255, 255, 255, 0.8);
        padding-bottom: 55px
    }
}
.l-header .hd-info {
    position: relative;
    z-index: 1500;
    height: 70px;
    background: #fff
}
.l-header .hd-info__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
.l-header .hd-info__logo {
    margin-left: -15px;

}
.l-header .hd-info__logo-img {
    display: block;
    margin-top: 2px;
    width: 219px
}
.l-header .hd-info__logo-sub {
    color: #9a9b9b;
    font-size: 1.0rem
}
@media all and (max-width: 340px) {
    .l-header .hd-info__logo-img {
        width: 160px
    }
}
@media all and (min-width: 600px) {
    .l-header .hd-info {
        background: none;
        height: auto;
        margin: 23px 0 0 45px
    }
    .l-header .hd-info__inner {
        max-width: 95%;
        max-height: 70px
    }
    .l-header .hd-info__logo {
        margin-left: -45px
    }
    .l-header .hd-info__logo-img {
        width: clamp(312px, 28vw, 391px);
        margin-top: 10px
    }
    .l-header .hd-info__logo-sub {
        font-size: 1.3rem
    }
    .l-header .hd-info__btn {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: -30px 0 0 0
    }
    .l-header .hd-info__nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 1.6rem;
        line-height: 1.2;
        margin-top: 6px;
        margin-right: 20px
    }
    .l-header .hd-info__nav-item {
        padding: 0 15px
    }
    .l-header .hd-info__nav-item+.hd-info__nav-item {
        border-left: 1px solid #e3e2dc
    }
    .l-header .hd-info__nav-link {
        color: #bcbbb4;
        font-weight: bold;
        text-decoration: none;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .l-header .hd-info__nav-link:hover {
        color: #a73963
    }
}
.l-header__fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2000
}
@media all and (min-width: 600px) {
    .l-header__fixed {
        position: static;
        z-index: 1
    }
}
.l-header .nav-btn {
    z-index: 2000;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    background: #ccc;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}
.l-header .nav-btn.is-open .nav-btn__img {
    display: none
}
.l-header .nav-btn.is-open {
    padding: 0;
    background: url(../img/common/ico_close01.jpg) no-repeat center;
    background-size: cover
}
.l-nav {
    position: absolute;
    top: 70px;
    left: 0;
    z-index: 2;
    width: 100%;
    max-height: calc(100vh - 70px);
    min-width: 320px;
    padding: 45px 25px 25px;
    background: #f4f4f2;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}
@media all and (max-width: 599px) {
    .l-nav {
        overflow: auto;
        visibility: hidden;
        opacity: 0
    }
    .l-nav::-webkit-scrollbar {
        display: none
    }
    .l-nav.is-open {
        visibility: inherit;
        opacity: 1
    }
}
@media all and (min-width: 600px) {
    .l-nav {
        top: 106px;
        left: 50%;
        min-width: auto;
        max-width: 95%;
        width: 100%;
        max-height: none;
        padding: 0;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        background: none
    }
}
.nav-list {
    margin-top: -15px;
    position: inherit
}
.nav-list__item {
    border-bottom: 1px solid #e3e2dc
}
.nav-list__item:last-child {
    border-bottom: none
}
.nav-list__link {
    position: relative;
    display: block;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.6rem;
    padding: 14px 0;
    box-sizing: border-box
}
.nav-list__link:after {
    position: absolute;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.7px 0 3.7px 7.5px;
    border-color: transparent transparent transparent #bcbbb4;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto
}
.nav-list__txt {
    position: relative;
    display: block;
    padding: 14px 0;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 700
}
.nav-list__txt-toggle {
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}
.nav-list__txt-toggle:before, .nav-list__txt-toggle:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 12px;
    height: 2px;
    background-color: #a73963
}
.nav-list__txt-toggle:after {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    -ms-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg)
}
.nav-list__txt.is-active .nav-list__txt-toggle:after {
    -webkit-transform: translate(-50%, -50%) rotate(0);
    -ms-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0)
}
.nav-list-child {
    padding: 16px 20px 18px;
    box-sizing: border-box;
    background-color: #ebebe7
}
.nav-list-child__head {
    line-height: 1.5;
    margin-bottom: 15px
}
.nav-list-child__head-link {
    position: relative;
    display: inline-block;
    padding-left: 14px;
    box-sizing: border-box;
    color: #a73963;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none
}
.nav-list-child__head-link:before {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.7px 0 3.7px 7.5px;
    border-color: transparent transparent transparent #a73963
}
.nav-list-child-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -5px -18px
}
.nav-list-child-list__item {
    line-height: 1.5;
    width: calc(50% - 10px);
    margin: 0 5px 18px
}
.nav-list-child-list__link {
    position: relative;
    display: block;
    padding-left: 10px;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none
}
.nav-list-child-list__link:before {
    content: '・';
    position: absolute;
    top: 0;
    left: -6px;
    color: #a73963
}
@media (max-width: 375px) {
    .nav-list-child {
        padding-left: 15px;
        padding-right: 15px
    }
    .nav-list-child-list__link {
        font-size: 1.2rem
    }
}
@media all and (min-width: 600px) {
    .nav-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        margin: 0 -25px 0 0
    }
    .nav-list__item {
        border-bottom: none
    }
    .nav-list__link {
        font-size: 1.6rem;
        padding: 0 21px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .nav-list__link:after {
        content: none
    }
    .nav-list__link:hover {
        color: #a73963
    }
    .nav-list__txt {
        padding: 0 34px 0 21px;
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .nav-list__txt:before {
        content: '';
        position: absolute;
        top: 11px;
        right: 20px;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 8px 5px 0 5px;
        border-color: #a73963 transparent transparent transparent;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .nav-list__txt-toggle {
        display: none
    }
    .nav-list__txt.is-active {
        color: #a73963
    }
    .nav-list__txt.is-active:before {
        -webkit-transform: scaleY(-1);
        -ms-transform: scaleY(-1);
        transform: scaleY(-1)
    }
    .nav-list-child {
        position: absolute;
        top: 44px;
        right: -1px;
        width: 905px;
        padding: 20px 105px 20px 56px;
        background-color: #f4f4f2
    }
    .nav-list-child__wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .nav-list-child__head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        min-width: 144px;
        width: 144px;
        margin: 0 38px 0 0;
        border-right: 1px solid #e3e2dc;
        box-sizing: border-box
    }
    .nav-list-child__head-link {
        padding-left: 18px;
        font-size: 1.7rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .nav-list-child__head-link:before {
        top: 8px
    }
    .nav-list-child__head-link:hover {
        opacity: .7
    }
    .nav-list-child-list {
        margin: 0 -10px -16px;
        padding: 16px 0;
        box-sizing: border-box
    }
    .nav-list-child-list__item {
        width: calc(100% / 3 - 20px);
        margin: 0 10px 16px
    }
    .nav-list-child-list__link {
        padding-left: 20px;
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .nav-list-child-list__link:before {
        content: '';
        top: 8px;
        left: 0;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 3.7px 0 3.7px 7.5px;
        border-color: transparent transparent transparent #bcbbb4
    }
    .nav-list-child-list__link:hover {
        color: #a73963
    }
}
@media screen and (min-width: 600px) and (max-width: 1235px) {
    .nav-list {
        margin-right: -10px
    }
    .nav-list__link {
        padding: 0 10px
    }
    .nav-list__txt {
        padding: 0 23px 0 10px
    }
    .nav-list__txt:before {
        right: 10px
    }
    .nav-list-child {
        width: 900px;
        padding: 20px 20px 20px 30px
    }
    .nav-list-child__head {
        min-width: 120px;
        width: 120px;
        margin: 0 30px 0 0
    }
}
.nav-contact {
    position: absolute;
    width: 50px;
    height: 50px;
    top: 10px;
    right: 60px;
    z-index: 50
}
.nav-contact__contents {
    background: #e3e2dc;
    position: fixed;
    top: 70px;
    right: 0;
    z-index: 3;
    width: 100%;
    max-height: calc(100vh - 70px);
    min-width: 320px;
    box-sizing: border-box;
    overflow: auto;
    box-sizing: border-box;
    padding: 40px 25px 35px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    visibility: hidden;
    opacity: 0
}
.nav-contact__contents.is-open {
    visibility: inherit;
    opacity: 1
}
.nav-contact__reservation {
    margin-bottom: 30px
}
.nav-contact__table {
    margin: 0 -15px
}
.nav-contact.is-open {
    padding: 0;
    background: url(../img/common/ico_close02.jpg) no-repeat center;
    background-size: cover
}
.nav-contact.is-open .nav-contact__btn {
    display: none
}
.nav-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(225, 225, 225, 0.7);
    z-index: 1000
}
@media all and (min-width: 600px) {
    .nav-overlay {
        display: none !important
    }
}
.l-main-img {
    position: relative
}
.l-main-img__bg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    width: 100%;
    height: 82vh;
    max-height: 870px
}
.l-main-img__bg img {
    -webkit-animation: bgLoop 60s linear infinite;
    animation: bgLoop 60s linear infinite;
    width: 3190px;
    height: 100%
}
@-webkit-keyframes bgLoop {
    0% {
        -webkit-transform: translteX(0);
        transform: translteX(0)
    }
    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}
@keyframes bgLoop {
    0% {
        -webkit-transform: translteX(0);
        transform: translteX(0)
    }
    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}
.l-main-img__wrap {
    background: #f4f4f2;
    position: relative;
    width: 100%;
    min-height: 222px;
    margin: 0 0 -25% 0
}
.l-main-img__copyarea {
    position: absolute;
    background-color: rgba(255, 255, 255, 0.8);
    box-sizing: border-box;
    border-radius: 0 20px 20px 0;
    padding: 22px 25px 28px;
    width: 100%;
    max-width: 340px;
    top: -264px;
    left: 0
}
.l-main-img__copyarea-txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #a73963;
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: .3rem;
    position: relative
}
/* SP向けの高さを確保するCSSを追加 */
@media screen and (max-width: 767px) {

.l-main-img__copyarea {
    position: absolute;
    box-sizing: border-box;
    border-radius: 0 20px 20px 0;
    padding: 22px 25px 28px;
    width: 100%;
    max-width: 340px;
    top: -124px;
    left: 0
}
.l-main-img__wrap {
    background: #f4f4f200 !important;
    position: relative;
    width: 100%;
    min-height: 222px;
    margin: 0 0 -25% 0
}

.l-main-img__copyarea-txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #a73963;
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: .3rem;
    position: relative
}
.l-main-img__info {
    position: absolute;
    width: 160px;
    top: -16px;
    right: 10px
}
}
.l-main-img__copyarea-txt:before {
    display: block;
    content: '';
    background: url(../img/common/ico_tooth01.png) no-repeat center/contain;
    width: 18px;
    height: 22px;
    margin-right: 5px
}
.l-main-img__copyarea-txt:after {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/common/img_line01_sp.png) no-repeat center/contain;
    width: 133px;
    height: 3px;
    bottom: 0;
    left: 25px
}
.l-main-img__copyarea-copy {
    display: block;
    margin-bottom: 4px;
    font-size: 1.8rem;
    letter-spacing: .28rem
}
.l-main-img__copyarea-sub {
    color: #a73963;
    font-size: 1.4rem;
    letter-spacing: 0.15em
}
.l-main-img__info {
    position: absolute;
    width: 160px;
    top: -10px;
    right: 10px
}
@media screen and (min-width: 600px) {
    .l-main-img {
        position: relative;
        margin-top: 150px
    }
    .l-main-img__bg {
        margin: 0 auto;
        width: 95%;
        height: calc(99vh - 200px);
        max-height: 868px
    }
    .l-main-img__wrap {
        background: none;
        z-index: 3;
        margin: 486px auto 0;
        width: 100%
    }
    .l-main-img__copyarea {
        position: inherit;
        padding: 30px 20px 30px 20px;
        width: 100%;
        max-width: 600px;
        margin-top: 200px;
    }
    .l-main-img__copyarea-txt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 2.0rem;
        letter-spacing: .3rem
    }
    .l-main-img__copyarea-txt:before {
        width: 22px;
        height: 27px;
        margin-right: 10px
    }
    .l-main-img__copyarea-txt:after {
        background: url(../img/common/img_line01_pc.png) no-repeat center/contain;
        width: 195px;
        left: 30px
    }
    .l-main-img__copyarea-copy {
        margin-bottom: 8px;
        font-size: 3.6rem;
        letter-spacing: .15em
    }
    .l-main-img__copyarea-sub {
        font-size: 1.6rem
    }
    .l-main-img__info {
        top: -24px;
        right: 60px;
        width: 305px
    }
}
.l-sub-img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    height: 170px;
    width: 87%;
    box-sizing: border-box;
    padding: 170px 25px;
    margin: auto;
    text-align: center
}
.l-sub-img__en {
    color: #fff;
    font-size: 1.6rem;
    margin-bottom: -2px
}
.l-sub-img__head {
    line-height: 1.3;
    letter-spacing: .4rem;
    font-size: 2.5rem;
    color: #fff;
}
@media all and (min-width: 600px) {
    .l-sub-img {
        width: 95%;
        height: 300px;
        padding: 0 25px;
        margin: 150px auto 0
    }
    .l-sub-img__en {
        letter-spacing: .3rem;
        font-size: 1.6rem;
        margin-bottom: 0
    }
    .l-sub-img__head {
        line-height: 1.3;
        letter-spacing: .5rem;
        font-size: 4.0rem;
        color: #ffffff;
    }
}
@-webkit-keyframes fadezoom {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.05) rotate(0.1deg);
        transform: scale(1.05) rotate(0.1deg)
    }
}
@keyframes fadezoom {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.05) rotate(0.1deg);
        transform: scale(1.05) rotate(0.1deg)
    }
}
.sd-section__head {
    border-top: 2px solid #565656;
    box-sizing: border-box;
    padding: 15px 0 0;
    margin-bottom: 15px;
    text-align: center;
    color: #a73963;
    font-weight: bold;
    letter-spacing: .2rem;
    font-size: 1.6rem
}
@media all and (min-width: 600px) {
    .sd-section {
        margin: 94px 0 0 0;
        padding: 0 0 0 40px
    }
    .sd-section__head {
        margin-bottom: 13px;
        font-size: 2.0rem
    }
}
@media screen and (min-width: 1121px) {
    .sd-section__head {
        padding: 15px 0 0
    }
}
.sd-section-list-btn__item {
    border-top: 1px dashed #e3e2dc
}
.sd-section-list-btn__link {
    position: relative;
    display: block;
    text-decoration: none;
    box-sizing: border-box;
    padding: 13px 23px 11px
}
.sd-section-list-btn__link:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: 25px;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 8.5px;
    border-color: transparent transparent transparent #a73963
}
.sd-section-list-btn__link.is-active {
    background: #e3e2dc;
    color: #a73963
}
.sd-section-list-btn__child {
    padding: 8px 23px;
    box-sizing: border-box
}
.sd-section-list-btn__child+.sd-section-list-btn__child {
    padding-top: 0
}
.sd-section-list-btn__child-link {
    position: relative;
    display: inline-block;
    padding-left: 1.5em;
    box-sizing: border-box;
    font-size: 1.4rem;
    text-decoration: none
}
.sd-section-list-btn__child-link:before {
    content: '└ ';
    position: absolute;
    top: 0;
    left: 0;
    color: #a73963;
    font-weight: 700
}
.sd-section-list-btn__child-link.is-active {
    color: #a73963;
    font-weight: 700
}
@media all and (min-width: 600px) {
    .sd-section-list-btn {
        border-bottom: 1px solid #e3e2dc
    }
    .sd-section-list-btn__item {
        border-top: 1px dashed #e3e2dc
    }
    .sd-section-list-btn__link {
        position: relative;
        display: block;
        text-decoration: none;
        box-sizing: border-box;
        padding: 13px 23px 11px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .sd-section-list-btn__link:hover {
        opacity: .7
    }
    .sd-section-list-btn__child {
        padding: 10px 23px
    }
    .sd-section-list-btn__child-link {
        font-size: 1.5rem
    }
    .sd-section-list-btn__child-link:hover {
        text-decoration: underline
    }
}
.js-switch-tab {
    cursor: pointer
}
.js-switch-content {
    display: none
}
.js-switch-content.is-active {
    display: block
}
.js-toggle-trigger {
    cursor: pointer
}
.js-toggle-content {
    display: none
}
#about .l-sub-img {
    background-image: url(../img/about/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #about .l-sub-img {
        background-image: url(../img/about/bg_mv01_pc.jpg)
    }
}
.about-policy {
    padding: 50px 0 20px
}
@media all and (min-width: 600px) {
    .about-policy {
        padding: 80px 0 65px
    }
    .about-policy__inner {
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .about-policy__inner {
        padding: 0
    }
}
.about-policy-sec:last-child .about-policy-sec__img {
    max-width: 250px;
    margin: 0 0 22px 16%
}
.about-policy-sec__img {
    margin-bottom: 32px
}
@media all and (min-width: 600px) {
    .about-policy-sec {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .about-policy-sec:first-child {
        margin-bottom: 80px
    }
    .about-policy-sec:last-child .about-policy-sec__img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 35.5%;
        max-width: inherit;
        margin: 0 -6% 22px 0
    }
    .about-policy-sec:last-child .about-policy-sec__wrap {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 65%
    }
    .about-policy-sec__img {
        width: 60.5%;
        margin: 0 0 0 -17%
    }
    .about-policy-sec__wrap {
        width: 50%
    }
}
.about-policy-txtarea {
    margin-bottom: 38px;
    display: block
}
.about-policy-txtarea.is-top {
    margin-bottom: 22px
}
.about-policy-txtarea__sub.is-top:after {
    width: 150px
}
.about-policy-txtarea__sub.is-bottom:after {
    width: 130px
}
@media all and (min-width: 600px) {
    .about-policy-txtarea {
        margin-bottom: 38px;
        display: block
    }
    .about-policy-txtarea.is-top {
        margin-bottom: 35px
    }
    .about-policy-txtarea__sub.is-top:after {
        width: 210px
    }
    .about-policy-txtarea__sub.is-bottom:after {
        width: 160px
    }
}
.about-promise {
    padding-bottom: 75px
}
.about-promise__head {
    display: block;
    position: relative;
    background: url(../img/about/bg_promise01_sp.jpg) no-repeat center/cover;
    padding: 50px 0 25px;
    margin-bottom: 50px
}
.about-promise__tit {
    position: relative;
    z-index: 2
}
.about-promise__sub {
    position: absolute;
    color: #fff;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    font-size: 7.5rem
}
@media all and (min-width: 600px) {
    .about-promise {
        padding-bottom: 120px
    }
    .about-promise__inner {
        padding: 0 40px
    }
    .about-promise__head {
        background: url(../img/about/bg_promise01_pc.jpg) no-repeat center/cover;
        padding: 145px 0 108px;
        margin-bottom: 120px
    }
    .about-promise__sub {
        top: 5%;
        letter-spacing: 2.5rem;
        font-size: 18rem
    }
}
@media screen and (min-width: 1121px) {
    .about-promise__inner {
        padding: 0
    }
}
.about-promise-content {
    margin-top: 78px
}
.about-promise-content:first-child {
    margin-top: 0
}
.about-promise-content__flex {
    margin-bottom: 18px
}
.about-promise-content__img {
    margin-bottom: 32px
}
@media all and (min-width: 600px) {
    .about-promise-content {
        margin-top: 125px
    }
    .about-promise-content:first-child {
        margin-top: 0
    }
    .about-promise-content.is-left .about-promise-content__img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 58%;
        margin: 0 -18% 0 0
    }
    .about-promise-content.is-left .about-promise-content__txtarea {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
    .about-promise-content.is-right:before {
        right: 0 !important
    }
    .about-promise-content__flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 80px
    }
    .about-promise-content__img {
        width: 58%;
        margin: 0 0 0 -18%
    }
    .about-promise-content__txtarea {
        width: 54%
    }
}
@media screen and (min-width: 1121px) {
    .about-promise-content__txtarea {
        width: 52%
    }
}
.about-promise-list__head {
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 10px;
    text-align: center;
    color: #a73963;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: .25rem;
    font-size: 1.6rem
}
.about-promise-list__head:before {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/about/img_line01.png) no-repeat center/contain;
    width: 100%;
    height: 3px;
    margin: auto;
    right: 0;
    bottom: 0;
    left: 0
}
@media all and (min-width: 600px) {
    .about-promise-list__head {
        padding-bottom: 12px;
        font-size: 2.0rem
    }
}
#ceramic .l-sub-img {
    background-image: url(../img/menu/ceramic/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #ceramic .l-sub-img {
        background-image: url(../img/menu/ceramic/bg_mv01_pc.jpg)
    }
}
.ceramic-about__content-inner {
    padding-top: 32px
}
.ceramic-about__content-head {
    line-height: 1.52;
    margin-bottom: 15px;
    letter-spacing: .15em
}
.ceramic-about__content-item+.ceramic-about__content-item .ceramic-about__content-item-list-text {
    margin-top: 3px
}
@media all and (min-width: 600px) {
    .ceramic-about__content-inner {
        padding-top: 35px
    }
    .ceramic-about__content-item+.ceramic-about__content-item {
        margin-top: 33px
    }
    .ceramic-about__content-item-text {
        margin-top: -3px;
        letter-spacing: .06em
    }
}
.ceramic-repair__inner {
    padding-top: 60px;
    padding-bottom: 60px
}
.ceramic-repair__item-area-head {
    margin-bottom: 10px;
    letter-spacing: .15em
}
.ceramic-repair__item-area-text {
    line-height: 1.9
}
@media all and (min-width: 600px) {
    .ceramic-repair__inner {
        padding-top: 120px;
        padding-bottom: 120px
    }
    .ceramic-repair__item-area {
        padding-top: 17px
    }
    .ceramic-repair__item-area-head {
        line-height: 1.6;
        margin-bottom: 28px
    }
}
.ceramic-care__inner {
    padding-top: 19px
}
.ceramic-care__head {
    text-align: left;
    margin-bottom: 27px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 60px
}
.ceramic-care__head:before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background: center/contain no-repeat url(../img/menu/ceramic/ico_ceramic01.png);
    margin-right: 13px
}
.ceramic-care__item {
    counter-reset: item
}
.ceramic-care__item-area {
    padding: 13px 23px 22px
}
.ceramic-care__item-area+.ceramic-care__item-area {
    margin-top: 14px
}
.ceramic-care__item-area-head {
    background: none;
    line-height: 1.55;
    padding-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.ceramic-care__item-area-head:before {
    font-family: 'Jost', sans-serif;
    counter-increment: item;
    content: "" counter(item, decimal-leading-zero);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .15em;
    color: #bcbbb4;
    padding-top: 3px;
    padding-right: 8px
}
.ceramic-care__item-area-text {
    line-height: 1.9
}
@media all and (min-width: 600px) {
    .ceramic-care__inner {
        padding-top: 120px
    }
    .ceramic-care__head {
        padding-left: 91px;
        margin-bottom: 30px;
        height: 80px
    }
    .ceramic-care__head:before {
        content: "";
        width: 80px;
        height: 80px;
        margin-right: 30px;
        margin-left: -169px
    }
    .ceramic-care__item-area {
        margin-top: 20px;
        padding-top: 29px;
        padding-bottom: 45px
    }
    .ceramic-care__item-area+.ceramic-care__item-area {
        margin-top: 20px
    }
    .ceramic-care__item-area-head:before {
        font-size: 1.8rem;
        padding-top: 5px;
        padding-right: 13px
    }
}
.ceramic-demerit__inner {
    padding-top: 54px
}
.ceramic-demerit__head {
    text-align: left;
    margin-bottom: 26px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 60px
}
.ceramic-demerit__head:before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background: center/contain no-repeat url(../img/menu/ceramic/ico_ceramic02.png);
    margin-right: 13px
}
.ceramic-demerit__item-area {
    padding: 10px 23px 18px;
    border: 1px solid #a73963;
    background: #fff
}
.ceramic-demerit__item-area+.ceramic-demerit__item-area {
    margin-top: 15px
}
.ceramic-demerit__item-area-head {
    background: none;
    padding-left: 0;
    padding-bottom: 10px;
    margin-bottom: 7px
}
@media all and (min-width: 600px) {
    .ceramic-demerit__inner {
        padding-top: 121px
    }
    .ceramic-demerit__head {
        padding-left: 82px;
        margin-bottom: 50px;
        height: 80px
    }
    .ceramic-demerit__head:before {
        content: "";
        width: 80px;
        height: 80px;
        margin-right: 30px;
        margin-left: -158px
    }
    .ceramic-demerit__item-area {
        padding: 25px 49px 43px
    }
    .ceramic-demerit__item-area+.ceramic-demerit__item-area {
        margin-top: 0
    }
    .ceramic-demerit__item-area-head {
        background: none;
        padding-left: 0;
        padding-bottom: 8px;
        margin-bottom: 20px
    }
}
.ceramic-treatment {
    margin-top: 60px;
    background: center/cover no-repeat url(../img/menu/child/bg_child01.jpg)
}
.ceramic-treatment__inner {
    padding-top: 48px;
    padding-bottom: 60px
}
.ceramic-treatment__head {
    line-height: 1.6;
    margin-bottom: 9px
}
.ceramic-treatment__intro-text {
    margin-bottom: 18px
}
.ceramic-treatment__list {
    background: #fff;
    border-bottom: none;
    padding: 25px 25px 20px
}
.ceramic-treatment__list+.ceramic-treatment__list {
    margin-top: 15px
}
.ceramic-treatment__list-img {
    margin-bottom: 15px
}
.ceramic-treatment__list-item-head {
    line-height: 1.6;
    border: none;
    margin-bottom: 8px
}
@media all and (min-width: 600px) {
    .ceramic-treatment {
        margin-top: 120px
    }
    .ceramic-treatment__inner {
        padding-top: 106px;
        padding-bottom: 120px
    }
    .ceramic-treatment__head {
        line-height: 1.6;
        margin-bottom: 30px;
        letter-spacing: .15em
    }
    .ceramic-treatment__intro-text {
        margin-bottom: 49px;
        text-align: center
    }
    .ceramic-treatment__list {
        padding: 50px 52px 50px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
    .ceramic-treatment__list+.ceramic-treatment__list {
        margin-top: 20px
    }
    .ceramic-treatment__list-img {
        width: 350px;
        height: 237px;
        margin-bottom: 0
    }
    .ceramic-treatment__list-item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 0 0 0 50px
    }
    .ceramic-treatment__list-item-head {
        letter-spacing: .24em;
        margin-bottom: 13px
    }
    .ceramic-treatment__list-item-text {
        padding-top: 0
    }
    .ceramic-treatment__list:nth-of-type(1) .ceramic-treatment__list-item {
        padding-top: 11px
    }
    .ceramic-treatment__list:nth-of-type(3) .ceramic-treatment__list-item {
        margin-top: -16px;
        margin-bottom: -11px
    }
    .ceramic-treatment__list:nth-of-type(4) .ceramic-treatment__list-item {
        margin-top: -10px
    }
    .ceramic-treatment__list:nth-of-type(5) .ceramic-treatment__list-item {
        padding-top: 13px
    }
}
@media screen and (max-width: 360px) {
    .ceramic-treatment__list-item-head {
        font-size: 4.4vw;
        letter-spacing: 0
    }
}
.ceramic-maintenance__item-text {
    margin-bottom: 15px
}
#child .l-sub-img {
    background-image: url(../img/menu/child/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #child .l-sub-img {
        background-image: url(../img/menu/child/bg_mv01_pc.jpg)
    }
}
@media all and (min-width: 600px) {
    .child-policy__item-text {
        letter-spacing: .06em
    }
}
.child-hatedentist__inner {
    padding-top: 58px;
    padding-bottom: 60px
}
.child-hatedentist__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}
.child-hatedentist__item-head {
    font-size: 2.1rem;
    line-height: 1.6;
    margin-bottom: 9px
}
.child-hatedentist__item-text {
    margin-top: 10px
}
.child-hatedentist__img {
    margin-top: 18px
}
@media all and (min-width: 600px) {
    .child-hatedentist__inner {
        padding-top: 126px;
        padding-bottom: 120px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .child-hatedentist__img {
        padding-left: 65px;
        margin-top: 0;
        width: 512px
    }
    .child-hatedentist__item {
        padding-top: 13px
    }
    .child-hatedentist__item-list {
        margin-top: 36px
    }
    .child-hatedentist__item-list-text {
        margin-top: 4px
    }
    .child-hatedentist__item-head {
        font-size: 3.6rem;
        line-height: 1.5;
        margin-bottom: 17px
    }
    .child-hatedentist__item-text {
        margin-top: 27px
    }
}
.child-care__head {
    margin-bottom: 8px
}
@media all and (min-width: 600px) {
    .child-care__list {
        margin-top: 45px
    }
}
.child-menu__inner {
    padding-top: 46px
}
.child-menu__head {
    margin-bottom: 11px
}
@media all and (min-width: 600px) {
    .child-menu__inner {
        padding-top: 103px
    }
    .child-menu__head {
        margin-bottom: 13px
    }
}
.child-baby.is-last .child-baby__inner {
    padding-bottom: 56px
}
.child-baby__inner {
    padding-top: 61px;
    padding-bottom: 44px
}
.is-imgright .child-baby__inner {
    padding-top: 52px
}
.child-baby__item-head {
    margin-bottom: 12px
}
.child-baby__img {
    margin-bottom: 18px
}
@media all and (min-width: 600px) {
    .child-baby.is-last .child-baby__inner {
        padding-bottom: 188px
    }
    .child-baby__inner {
        padding: 120px 0 126px 545px;
        position: relative
    }
    .is-imgright .child-baby__inner {
        padding: 164px 545px 76px 0
    }
    .child-baby__item-head {
        margin-bottom: 26px
    }
    .child-baby__img {
        position: absolute;
        left: -200px;
        width: 650px;
        height: 440px;
        margin-bottom: 0
    }
    .is-imgright .child-baby__img {
        right: -200px;
        top: 117px;
        left: auto
    }
    .child-baby__item {
        padding-top: 13px
    }
    .child-baby__item-text {
        line-height: 1.91
    }
}
#clinic .l-sub-img {
    background-image: url(../img/clinic/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #clinic .l-sub-img {
        background-image: url(../img/clinic/bg_mv01_pc.jpg)
    }
}
.clinic-facility {
    background: url(../img/clinic/bg_facility01_sp.jpg) no-repeat center/cover;
    margin-top: 40px;
    padding: 50px 0 60px
}
@media all and (min-width: 600px) {
    .clinic-facility {
        background: url(../img/clinic/bg_facility01_pc.jpg) no-repeat center/cover;
        margin-top: 80px;
        padding: 105px 0 123px
    }
    .clinic-facility__inner {
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .clinic-facility__inner {
        padding: 0
    }
}
.clinic-facility-list {
    margin-top: -10px
}
.clinic-facility-list__item {
    margin-top: 25px
}
.clinic-facility-list__txtarea {
    background: #a73963;
    box-sizing: border-box;
    padding: 15px 20px 17px;
    color: #fff
}
.clinic-facility-list__head {
    text-align: center;
    font-size: 1.8rem
}
.clinic-facility-list__txt {
    line-height: 2.0
}
@media all and (min-width: 600px) {
    .clinic-facility-list {
        margin-top: -5px
    }
    .clinic-facility-list__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 40px
    }
    .clinic-facility-list__img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 59%
    }
    .clinic-facility-list__txtarea {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 41%;
        padding: 15px 45px 17px
    }
    .clinic-facility-list__head {
        margin-bottom: 15px;
        font-size: 2.8rem
    }
}
.clinic-equipment {
    padding: 50px 0
}
.clinic-equipment:before {
    top: 32%;
    height: 67.2%
}
@media all and (min-width: 600px) {
    .clinic-equipment {
        padding: 100px 0
    }
    .clinic-equipment:before {
        top: 33.2%;
        height: 67.8%
    }
    .clinic-equipment__inner {
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .clinic-equipment__inner {
        padding: 0
    }
}
.clinic-equipment-list {
    margin-top: -12px
}
.clinic-equipment-list__item {
    overflow: hidden;
    margin-top: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e3e2dc
}
.clinic-equipment-list__item:last-child {
    border-bottom: none
}
.clinic-equipment-list__img {
    width: 50%;
    margin: 0 4% 10px 0;
    float: left
}
.clinic-equipment-list__head {
    margin-top: 8%;
    line-height: 1.5;
    letter-spacing: .3rem;
    font-size: 1.8rem
}
.clinic-equipment-list__head.is-line {
    margin-top: 5%
}
.clinic-equipment-list__txt {
    clear: both
}
@media all and (min-width: 600px) {
    .clinic-equipment-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-top: -50px
    }
    .clinic-equipment-list__item {
        width: 31%;
        margin-top: 50px;
        padding-bottom: 0;
        border-bottom: none
    }
    .clinic-equipment-list__item:nth-child(3n+1) {
        margin-right: 3.5%
    }
    .clinic-equipment-list__item:nth-child(3n) {
        margin-left: 3.5%
    }
    .clinic-equipment-list__img {
        width: 100%;
        margin: 0 0 25px 0;
        float: none
    }
    .clinic-equipment-list__head {
        margin: 0 0 10px;
        text-align: center;
        font-size: 2.0rem
    }
    .clinic-equipment-list__head.is-line {
        margin-top: 0
    }
}
#contact .l-sub-img {
    background-image: url(../img/contact/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #contact .l-sub-img {
        background-image: url(../img/contact/bg_mv01_pc.jpg)
    }
}
#thanks .l-sub-img {
    background-image: url(../img/contact/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #thanks .l-sub-img {
        background-image: url(../img/contact/bg_mv01_pc.jpg)
    }
}
.contact-form {
    padding: 45px 0 60px
}
@media all and (min-width: 600px) {
    .contact-form {
        padding: 70px 0 100px
    }
}
.contact-form-lead {
    margin-bottom: 22px
}
@media all and (min-width: 600px) {
    .contact-form-lead {
        margin-bottom: 41px
    }
    .contact-form-lead__txt {
        text-align: center
    }
}
.contact-form-cv {
    margin: 18px 0 23px;
    background: #f4f4f2;
    box-sizing: border-box;
    padding: 45px 0 50px
}
.contact-form-cv__content.is-bottom {
    margin-top: 15px
}
.contact-form-cv__head {
    margin-bottom: 10px;
    text-align: center;
    letter-spacing: .25rem;
    font-size: 1.5rem
}
.contact-form-cv__tel {
    max-width: 270px;
    margin: 0 auto
}
.contact-form-cv__contact {
    max-width: 274px;
    margin: 0 auto
}
@media all and (min-width: 600px) {
    .contact-form-cv {
        margin: 47px 0 80px;
        padding: 0 40px;
        background: none
    }
    .contact-form-cv__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .contact-form-cv__content {
        width: 49%;
        background: #f4f4f2;
        box-sizing: border-box;
        padding: 20px 0 25px
    }
    .contact-form-cv__content.is-bottom {
        margin-top: 0
    }
    .contact-form-cv__head {
        margin-bottom: 10px;
        letter-spacing: .25rem;
        font-size: 2.0rem
    }
    .contact-form-cv__tel {
        max-width: 546px
    }
    .contact-form-cv__contact {
        max-width: 300px
    }
}
@media screen and (min-width: 1121px) {
    .contact-form-cv {
        padding: 0
    }
}
.contact-thanks {
    padding: 40px 0 60px
}
.contact-thanks__txt {
    margin-bottom: 20px
}
@media all and (min-width: 600px) {
    .contact-thanks {
        padding: 80px 0 100px
    }
    .contact-thanks__txt {
        text-align: center;
        margin-bottom: 50px
    }
    .contact-thanks__btn {
        margin: 0 auto
    }
}
#error .l-sub-img {
    background-image: url(../img/clinic/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #error .l-sub-img {
        background-image: url(../img/clinic/bg_mv01_pc.jpg)
    }
}
.error-page404 {
    padding: 40px 0;
    text-align: center
}
.error-page404__txt {
    margin-bottom: 20px
}
@media all and (min-width: 600px) {
    .error-page404 {
        padding: 60px 0 100px
    }
    .error-page404__txt {
        margin-bottom: 30px
    }
    .error-page404__btn {
        margin: 0 auto
    }
}
#general .l-sub-img {
    background-image: url(../img/menu/general/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #general .l-sub-img {
        background-image: url(../img/menu/general/bg_mv01_pc.jpg)
    }
}
#perio .l-sub-img {
    background-image: url(../img/menu/perio/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #perio .l-sub-img {
        background-image: url(../img/menu/perio/bg_mv01_pc.jpg)
    }
}

#preventive .l-sub-img {
    background-image: url(../img/menu/preventive/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #preventive .l-sub-img {
        background-image: url(../img/menu/preventive/bg_mv01_pc.jpg)
    }
}
#root .l-sub-img {
    background-image: url(../img/menu/root/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #root .l-sub-img {
        background-image: url(../img/menu/root/bg_mv01_pc.jpg)
    }
}
#oral .l-sub-img {
    background-image: url(../img/menu/oral/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #oral .l-sub-img {
        background-image: url(../img/menu/oral/bg_mv01_pc.jpg)
    }
}
#whitening .l-sub-img {
    background-image: url(../img/menu/whitening/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #whitening .l-sub-img {
        background-image: url(../img/menu/whitening/bg_mv01_pc.jpg)
    }
}
#denture .l-sub-img {
    background-image: url(../img/menu/denture/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #denture .l-sub-img {
        background-image: url(../img/menu/denture/bg_mv01_pc.jpg)
    }
}
#ceramic .l-sub-img {
    background-image: url(../img/menu/ceramic/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #ceramic .l-sub-img {
        background-image: url(../img/menu/ceramic/bg_mv01_pc.jpg)
    }
}

@media all and (min-width: 600px) {
    .general-importace__text {
        letter-spacing: .06em
    }
}
.general-dentalcare__inner {
    padding-top: 50px;
    padding-bottom: 60px
}
@media all and (min-width: 600px) {
    .general-dentalcare__inner {
        padding-top: 106px;
        padding-bottom: 30px
    }
}
.general-dentalcare__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: top;
    -ms-flex-pack: top;
    justify-content: top;
    -webkit-box-align: top;
    -ms-flex-align: top;
    align-items: top;
    border-bottom: 1px solid #e3e2dc;
    padding-bottom: 25px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
@media all and (min-width: 600px) {
    .general-dentalcare__item {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 16px 0 40px
    }
}
.general-dentalcare__item+.general-dentalcare__item {
    padding-top: 16px
}
@media all and (min-width: 600px) {
    .general-dentalcare__item+.general-dentalcare__item {
        padding-top: 39px
    }
}
.general-dentalcare__item-img {
    width: 100%;
    height: auto;
    margin: 18px 0 0 0
}
@media all and (min-width: 600px) {
    .general-dentalcare__item-img {
        width: 300px;
        /*height: 237px;*/
        margin: 0
    }
}
.general-dentalcare__item-img2 {
    width: 100%;
    height: auto;
    margin: 18px 0 0 0
}
@media all and (min-width: 600px) {
    .general-dentalcare__item-img2 {
        width: 550px;
        height: auto;
        margin: 0
    }
}
.general-dentalcare__item-img3 {
    width: 100%;
    height: auto;
    margin: 18px 0 0 0
}
@media all and (min-width: 600px) {
    .general-dentalcare__item-img3 {
        width: 750px;
        height: auto;
        margin: 0
    }
}
.general-dentalcare__item-area-text {
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto
}
@media all and (min-width: 600px) {
    .general-dentalcare__item-area-text {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-right: 50px
    }
}
.general-cause__inner {
    padding-top: 50px
}
@media all and (min-width: 600px) {
    .general-cause__inner {
        padding-top: 10px;
        padding-bottom: 50px;
    }
}
.general-cause__head {
    margin-bottom: 8px
}
@media all and (min-width: 600px) {
    .general-cause__head {
        margin-top: 30px;
        margin-bottom: 26px;
    }
}
.general-cause__intro {
    text-align: left
}
@media all and (min-width: 600px) {
    .general-cause__intro {
        text-align: center
    }
}
.general-cause__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 3px
}
@media all and (min-width: 600px) {
    .general-cause__list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 42px
    }
}
.general-cause__list-item {
    width: 100%;
    background: #f4f4f2;
    padding: 13px 25px 26px;
    box-sizing: border-box;
    margin-top: 15px
}
@media all and (min-width: 600px) {
    .general-cause__list-item {
        width: 550px;
        padding: 26px 50px 45px;
        margin-top: 0
    }
}
.general-cause__list-item2 {
    width: 100%;
    background: #f4f4f2;
    padding: 13px 25px 26px;
    box-sizing: border-box;
    margin-top: 15px
}
@media all and (min-width: 600px) {
    .general-cause__list-item2 {
        width: 100%;
        padding: 26px 50px 45px;
        margin-top: 0
    }
}
.general-cause__progress {
    margin-top: 26px
}
@media all and (min-width: 600px) {
    .general-cause__progress {
        margin-top: 84px
    }
}
.general-cause__progress-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    counter-reset: item;
    margin-top: 26px
}
@media all and (min-width: 600px) {
    .general-cause__progress-list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: flex-start;
        gap: 24px; 
        margin-top: 33px
    }
}
.general-cause__progress-list-item {
    position: relative
}
.general-cause__progress-list-item+.general-cause__progress-list-item {
    margin-top: 28px
}
@media all and (min-width: 600px) {
    .general-cause__progress-list-item+.general-cause__progress-list-item {
        margin-top: 0
    }
}
@media all and (min-width: 600px) {
    .general-cause__progress-list-item {
        width: calc(33.333% - 20px);
    }
    /* 4〜6番目の li にだけ margin-top を付ける */
.general-cause__progress-list-item:nth-child(n+4) {
  margin-top: 40px; /* お好みで調整 */
}
}
.general-cause__progress-list-item:before {
    z-index: 2;
    position: absolute;
    left: -9px;
    top: -9px;
    counter-increment: item;
    content: counter(item) "";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #3b7683;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    font-size: 1.6rem;
    color: #fff
}
@media all and (min-width: 600px) {
    .general-cause__progress-list-item:before {
        font-size: 3.2rem;
        width: 60px;
        height: 60px;
        left: -10px;
        top: -20px
    }
}
@media all and (min-width: 600px) {
    .general-cause__progress-list-item-text {
        font-size: 1.6rem;
        line-height: 1.9
    }
}
.general-cause__progress-list-item-img {
    margin-bottom: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
@media all and (min-width: 600px) {
    .general-cause__progress-list-item-img {
        margin-bottom: 16px
    }
}
.general-cause__progress-list-item-img img {
    box-sizing: border-box;
    border: 1px solid #3b7683;
    width: 50%
}
@media all and (min-width: 600px) {
    .general-cause__progress-list-item-img img {
        margin-bottom: 30px;
        width: 100%
    }
}
.general-cause__progress-list-item-img-caption {
    box-sizing: border-box;
    width: 50%;
    padding-left: 20px;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 500;
}
@media all and (min-width: 600px) {
    .general-cause__progress-list-item-img-caption {
        text-align: center;
        font-weight: bold;
        padding-left: 0;
        width: 100%;
        font-size: 2rem
    }
}
@media screen and (max-width: 360px) {
    .general-cause__progress-list-item-img-caption {
        font-size: 4.6vw;
        line-height: 1.4
    }
}
.general-earlycare__inner {
    padding-top: 54px;
    padding-bottom: 54px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
.general-earlycare__img {
    width: 100%;
    height: auto;
    margin-bottom: 19px
}
.general-earlycare__img img {
    width: 100%;
    height: auto
}
.general-earlycare__list-item+.general-earlycare__list-item {
    margin-top: 14px
}
.general-earlycare__list-head {
    font-size: 2.1rem;
    line-height: 1.6;
    margin-bottom: 10px
}
@media all and (min-width: 600px) {
    .general-earlycare__inner {
        padding-top: 111px;
        padding-bottom: 114px;
        position: relative;
        padding-left: 545px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .general-earlycare__list {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
    .general-earlycare__list-head {
        font-size: 3.6rem;
        line-height: 1.5;
        margin-bottom: 17px
    }
    .general-earlycare__list-item+.general-earlycare__list-item {
        margin-top: 19px
    }
    .general-earlycare__img {
        position: absolute;
        left: -200px;
        width: 650px;
        height: 440px;
        padding-right: 90px
    }
}

.home-policy {
    /*background: url(../img/common/bg-noise.png) no-repeat;*/
    background: #f1ece9;
    padding: 0 0 155px;
    margin-top: -100px
}

@media all and (max-width: 768px) {
.home-policy {
    /*background: url(../img/common/bg-noise.png) no-repeat;
    background: #f1ece9;*/
    padding: 4px 0 20px;
    margin-top: 20px
}
}

.home-policy__inner {
    position: relative;
    z-index: 2
}
.home-policy__img {
    margin: 20px 0 -5px
}
.home-policy__txtarea {
    margin-top: 45px
}
.home-policy__list {
    margin-bottom: 12px
}
.home-policy__btn {
    margin-top: 25px
}
@media all and (min-width: 600px) {
    .home-policy {
        position: relative;
        background: none;
        padding: 100px 0 100px;
        margin-top: 0
    }
    .home-policy:before {
        position: absolute;
        display: block;
        content: '';
        /*    background: url(../img/common/bg-noise.png) repeat;*/
       /* background: #f1ece9;*/
        width: 68.6%;
        height: 154%;
        top: -49%;
        right: 0;
        z-index: -1
    }
    .home-policy__inner {
        padding: 0 40px
    }
    .home-policy__img {
        margin: 0 0 0 -8.5%
    }
    .home-policy__txtarea {
        margin-top: 0
    }
    .home-policy__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 0 -1% 12px 0
    }
    .home-policy__listaera {
        width: 48%
    }
    .home-policy__listaera.is-right {
        width: 48%
    }
    .home-policy__btn {
        margin-top: 47px
    }
}
@media screen and (min-width: 1121px) {
    .home-policy__inner {
        padding: 0
    }
}
.home-message {
    padding-bottom: 58px;
    margin-top: -103px;
    background: url(../img/common/sec_liberty_bg.jpg) no-repeat bottom/100%
}
.home-message__img {
    width: 82%;
    margin: 20px 0 30px 12.5%
}
@media all and (max-width: 767px) {
.home-message {
    padding-bottom: 58px;
    margin-top: 0px;
    /*background: url(../img/common/sec_liberty_bg.jpg) no-repeat bottom/100%*/
}
}
@media all and (min-width: 600px) {
    .home-message {
        padding-bottom: 113px;
        margin-top: -42px;
        /*background: url(../img/common/sec_liberty_bg.jpg) no-repeat 0 31%/48%*/
    }
    .home-message__inner {
        padding: 0 40px
    }
    .home-message__img {
        width: 44.5%;
        margin: 100px 0 0 0
    }
}
@media screen and (min-width: 1121px) {
    .home-message__inner {
        padding: 0
    }
}
.home-promise {
    background: url(../img/home/bg_promise01_sp.jpg) no-repeat center/cover;
    padding: 48px 0 58px;
    position: relative
}
.home-promise__head {
    display: block;
    position: relative;
    z-index: 2
}
.home-promise__head-sub {
    position: absolute;
    display: block;
    color: #fff;
    text-align: center;
    font-size: 6.5rem;
    letter-spacing: .8rem;
    top: 10px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1
}
.home-promise-list {
    margin: 0 15px;
    margin-top: 100px;
}
.home-promise-list__item {
    margin-top: 20px
}
.home-promise-list__txtarea {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 2;
    margin-top: -34px;
    max-width: 240px;
    height: 65px;
    box-sizing: border-box;
    padding: 10px 15px;
    background: #fff;
    color: #a73963;
    font-size: 1.6rem;
    letter-spacing: .25rem;
    line-height: 1.5
}
@media all and (min-width: 600px) {
    .home-promise {
        background: url(../img/home/bg_promise01_pc.jpg) no-repeat center/cover;
        padding: 103px 0 122px
    }
    .home-promise__inner {
        margin-top: 50px;
        max-width: 1420px
    }
    .home-promise__head-sub {
        font-size: 18rem;
        letter-spacing: 2.5rem;
        top: -50px;
        right: 0;
        left: 0;
        margin: auto
    }
    .home-promise-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 0
    }
    .home-promise-list__item {
        width: 31.5%;
        margin-top: 0
    }
    .home-promise-list__img {
        width: 100%;
        height: auto;
        overflow: hidden;
        border-radius: 20px 20px 0 0;
    }
    .home-promise-list__txtarea {
        margin-top: -40px;
        max-width: 340px;
        height: 90px;
        padding: 10px 30px;
        font-size: 2.0rem
    }
}
.home-guidance {
    padding: 38px 0 70px
}
.home-guidance__head {
    letter-spacing: -.15rem
}
.home-guidance-list {
    margin-bottom: 37px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    color: #fff
}
.home-guidance-list__item {
    margin-top: 35px;
    width: 48%
}
.home-guidance-list__item:nth-child(odd) {
    margin-right: 4%
}
.home-guidance-list__link {
    display: block;
    text-decoration: none;
    text-align: center
}
.home-guidance-list__ico {
    margin: 0 auto 8px;
    width: 50px;
    height: 50px
}
.home-guidance-list__ico.is-general {
    background: url(../img/home/ico_guidance01.png) no-repeat center/contain
}
.home-guidance-list__ico.is-child {
    background: url(../img/home/ico_guidance02.png) no-repeat center/contain
}
.home-guidance-list__ico.is-prevention {
    background: url(../img/home/ico_guidance03.png) no-repeat center/contain
}
.home-guidance-list__ico.is-whitening {
    background: url(../img/home/ico_guidance04.png) no-repeat center/contain
}
.home-guidance-list__ico.is-ceramic {
    background: url(../img/home/ico_guidance05.png) no-repeat center/contain
}
.home-guidance-list__ico.is-implant {
    background: url(../img/home/ico_guidance06.png) no-repeat center/contain
}
.home-guidance-list__ico.is-root {
    background: url(../img/home/ico_guidance07.png) no-repeat center/contain
}
.home-guidance-list__ico.is-mouthpiece {
    background: url(../img/home/ico_guidance08.png) no-repeat center/contain
}
.home-guidance-list__ico.is-maternity {
    background: url(../img/home/ico_guidance09.png) no-repeat center/contain
}
.home-guidance-list__txt {
    font-weight: bold;
    font-size: 1.4rem
}
@media all and (min-width: 600px) {
    .home-guidance {
        padding: 95px 0 135px
    }
    .home-guidance__inner {
        padding: 0 40px
    }
    .home-guidance__head {
        letter-spacing: -.25rem
    }
    .home-guidance__flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .home-guidance__wrap {
        width: 40%
    }
    .home-guidance__btn {
        margin: 40px 0 0 0;
        max-width: 260px
    }
    .home-guidance-list {
        width: 60%;
        margin: -8px -20px 0 20px
    }
    .home-guidance-list__item {
        margin-top: 32px;
        width: calc(100% / 3)
    }
    .home-guidance-list__item:nth-child(odd) {
        margin-right: 0
    }
    .home-guidance-list__link:hover .home-guidance-list__ico {
        width: 60px;
        height: 60px
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-general {
        background: url(../img/home/ico_guidance01_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-child {
        background: url(../img/home/ico_guidance02_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-prevention {
        background: url(../img/home/ico_guidance03_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-whitening {
        background: url(../img/home/ico_guidance04_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-ceramic {
        background: url(../img/home/ico_guidance05_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-implant {
        background: url(../img/home/ico_guidance06_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-root {
        background: url(../img/home/ico_guidance07_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-mouthpiece {
        background: url(../img/home/ico_guidance08_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__ico.is-maternity {
        background: url(../img/home/ico_guidance09_hover.png) no-repeat center/contain
    }
    .home-guidance-list__link:hover .home-guidance-list__txt {
        color: #f5ebcd
    }
    .home-guidance-list__ico {
        margin: 0 auto 15px;
        width: 60px;
        height: 60px;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .home-guidance-list__txt {
        font-size: 1.8rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
}
@media screen and (min-width: 1121px) {
    .home-guidance__inner {
        padding: 0
    }
}
.home-virus {
    margin: 40px 0 0;
    background: #fff;
    box-sizing: border-box;
    padding: 80px 20px 30px;
    box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 10px 10px 0px 0px #a73963
}
.home-virus__head {
    margin-bottom: 5px
}
.home-virus__head-tit {
    position: relative;
    margin-bottom: 12px;
    color: #a73963;
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: .15rem;
    text-align: center
}
.home-virus__head-tit:before {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/home/ico_virus01.png) no-repeat center/contain;
    width: 50px;
    height: 47px;
    top: -100%;
    right: 0;
    left: 0;
    margin: auto
}
.home-virus__head-tit:after {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/home/img_line01_sp.png) no-repeat center/contain;
    width: 153px;
    height: 33px;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto
}
.home-virus__head-sub {
    font-size: 1.3rem
}
.home-virus__list {
    margin-bottom: 12px
}
@media all and (min-width: 600px) {
    .home-virus {
        position: relative;
        max-width: 960px;
        margin: 50px auto 0;
        padding: 33px 100px 43px 100px;
        box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 15px 15px 0px 0px #a73963
    }
    .home-virus__head {
        padding-left: 45px;
        margin-bottom: 22px
    }
    .home-virus__head-tit {
        position: relative;
        margin-bottom: 8px;
        font-size: 2.2rem;
        letter-spacing: .15rem;
        text-align: left
    }
    .home-virus__head-tit:before {
        width: 60px;
        height: 60px;
        top: 10px;
        right: inherit;
        left: -72px;
        margin: 0
    }
    .home-virus__head-tit:after {
        background: url(../img/home/img_line01_pc.png) no-repeat center/contain;
        width: 423px;
        height: 3px;
        right: inherit;
        left: 0;
        margin: 0
    }
    .home-virus__head-sub {
        font-size: 1.6rem
    }
    .home-virus__btn {
        position: absolute;
        width: 170px;
        top: 55px;
        right: 7.1%
    }
    .home-virus__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 0 0 0 -5%
    }
}
.home-gallery {
    position: relative;
    padding: 35px 0
}
.home-gallery:before {
    position: absolute;
    display: block;
    content: '';
    background: #f4f4f2;
    width: 81%;
    height: 50%;
    top: 0;
    left: 0
}
.home-gallery__head {
    position: relative;
    z-index: 2;
    margin-bottom: -40px;
    font-size: 5.0rem;
    letter-spacing: -.35rem
}
.home-gallery-slide {
    margin: 0 -15px;
    cursor: pointer
}
.home-gallery-slide .slick-dots {
    right: -5px;
    bottom: -29px !important;
    text-align: right !important
}
.home-gallery-slide .slick-dots li {
    width: 20px !important;
    margin: 0 !important
}
.home-gallery-slide .slick-dots li button {
    padding: 0 2px !important
}
.home-gallery-slide .slick-dots li button:before {
    color: #a73963 !important;
    content: "" !important;
    background: #a73963;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}
@media all and (min-width: 600px) {
    .home-gallery {
        padding: 75px 0
    }
    .home-gallery:before {
        width: 1115px;
        height: 600px
    }
    .home-gallery__head {
        margin: 0 0 -83px 30px;
        font-size: 8.0rem;
        letter-spacing: -.8rem
    }
    .home-gallery-slide {
        margin: 0
    }
    .home-gallery-slide .slick-dots {
        right: -7px;
        bottom: -30px !important
    }
    .home-gallery-slide .slick-dots li {
        width: 25px !important
    }
    .home-gallery-slide .slick-dots li button:before {
        width: 10px;
        height: 10px
    }
}
.home-recruit {
    padding: 26px 0 12px;
    overflow: hidden
}
.home-recruit__img {
    margin: 35px -25px 20px 30px
}
.home-recruit__bottomtxt {
    margin: 35px 0 25px
}
.home-recruit__leftimg {
    margin: 40px 0 0 -25px;
    max-width: 105px
}
.home-recruit__bottomimg {
    float: right;
    margin: -33.5% 25px 0 0;
    max-width: 190px
}
@media all and (min-width: 600px) {
    .home-recruit {
        padding: 60px 0 100px
    }
    .home-recruit__inner {
        padding: 0 40px
    }
    .home-recruit__img {
        width: 76%;
        min-width: 650px;
        margin: 190px 0 0 3%;
    }
    .home-recruit__img:before {
        position: absolute;
        display: block;
        content: '';
        background: #3b7683;
        width: 330px;
        height: 430px;
        top: 35%;
        right: -40%;
        z-index: -1;
        border-radius: 9px;
    }
    .home-recruit__toparea {
        min-width: 580px
    }
    .home-recruit__toptxt {
        margin-top: -120px
    }
    .home-recruit__leftimg {
        position: absolute;
        top: -40px;
        left: -370px;
        max-width: 205px;
        z-index: -1
    }
    .home-recruit__bottomcontents {
        position: relative
    }
    .home-recruit__txtarea {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin: 40px 0 0 0;
        width: 62.5%
    }
    .home-recruit__bottomtxt {
        margin: 45px 0 45px
    }
    .home-recruit__btn {
        float: right;
        margin: 0;
        min-width: 320px
    }
    .home-recruit__bottomimg {
        float: none;
        margin: 0 0 0 -5%;
        width: 35.5%;
        max-width: inherit;
        z-index: -1
    }
}
@media screen and (min-width: 1121px) {
    .home-recruit__inner {
        padding: 0
    }
}
.home-blog {
    padding: 46px 0 42px
}
@media all and (min-width: 600px) {
    .home-blog {
        padding: 100px 0 103px
    }
    .home-blog__inner {
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .home-blog__inner {
        padding: 0
    }
}
.home-news {
    padding-bottom: 25px
}
.home-news__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.home-news__tit {
    font-size: 2.5rem;
    letter-spacing: .2rem;
    color: #1d1d1d;
}
.home-news__link {
    position: relative;
    display: block;
    text-decoration: none;
    padding-left: 10px;
    color: #a73963;
    font-size: 1.2rem
}
.home-news__link:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5px 0 3.5px 7.5px;
    border-color: transparent transparent transparent #a73963
}
@media all and (min-width: 600px) {
    .home-news {
        padding-bottom: 75px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .home-news__head {
        display: block
    }
    .home-news__tit {
        font-size: 3.6rem;
        letter-spacing: .2rem;
        margin-bottom: 15px;
        color: #1d1d1d;
    }
    .home-news__link {
        padding-left: 15px;
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .home-news__link:hover {
        text-decoration: underline
    }
    .home-news__archive {
        width: 76%
    }
}
.home-column__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.home-column__tit {
    font-size: 2.5rem;
    letter-spacing: 0
}
.home-column__link {
    position: relative;
    display: block;
    text-decoration: none;
    padding-left: 10px;
    color: #a73963;
    font-size: 1.2rem
}
.home-column__link:before {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3.5px 0 3.5px 7.5px;
    border-color: transparent transparent transparent #a73963
}
@media all and (min-width: 600px) {
    .home-column__head {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-bottom: 20px
    }
    .home-column__tit {
        font-size: 3.6rem;
        letter-spacing: .5rem;
        margin-right: 45px
    }
    .home-column__link {
        padding-left: 15px;
        font-size: 1.6rem;
        -webkit-transition: all .3s ease;
        transition: all .3s ease
    }
    .home-column__link:hover {
        text-decoration: underline
    }
}
#implant .l-sub-img {
    background-image: url(../img/menu/implant/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #implant .l-sub-img {
        background-image: url(../img/menu/implant/bg_mv01_pc.jpg)
    }
}
.implant-about__inner {
    padding-top: 32px
}
.implant-about__head {
    line-height: 1.52;
    margin-bottom: 15px;
    letter-spacing: .09em
}
.implant-about__item-list-text {
    margin-top: 5px
}
@media all and (min-width: 600px) {
    .implant-about__head {
        letter-spacing: .15em
    }
    .implant-about__inner {
        padding: 35px 0 79px
    }
    .implant-about__item {
        padding: 0 160px
    }
    .implant-about__item+.implant-about__item {
        margin-top: 33px
    }
    .implant-about__item-text {
        margin-top: -3px
    }
    .implant-about__item-list-text {
        margin-top: 4px
    }
}
@media screen and (max-width: 360px) {
    .implant-about__head {
        letter-spacing: 0
    }
}
.implant-consultation__inner {
    padding-top: 60px;
    padding-bottom: 60px
}
.implant-consultation__item-area-head {
    margin-bottom: 10px;
    letter-spacing: .15em
}
.implant-consultation__item-area-text {
    line-height: 1.9
}
@media all and (min-width: 600px) {
    .implant-consultation__inner {
        padding-top: 118px;
        padding-bottom: 120px
    }
    .implant-consultation__item-area {
        padding-top: 17px
    }
    .implant-consultation__item-area-head {
        line-height: 1.6;
        margin-bottom: 28px
    }
}
.implant-compare__inner {
    padding-top: 52px
}
.implant-compare__head {
    line-height: 1.6;
    margin-bottom: 9px;
    letter-spacing: .12em
}
.implant-compare__intro-text {
    margin-bottom: 19px
}
.implant-compare__list {
    padding-bottom: 21px
}
.implant-compare__list-item-head {
    margin-bottom: 13px
}
.implant-compare__list-item-area-head {
    text-align: left;
    font-weight: bold
}
.implant-compare__list-item-area-card+.implant-compare__list-item-area-card {
    margin-top: 13px
}
.implant-compare__list-item-area-detail {
    text-align: left
}
.implant-compare__list-item-area-detail-text {
    margin-top: 4px
}
@media all and (min-width: 600px) {
    .implant-compare__inner {
        padding-top: 102px
    }
    .implant-compare__head {
        letter-spacing: .15em;
        margin-bottom: 31px
    }
    .implant-compare__intro-text {
        text-align: center;
        margin-bottom: 43px
    }
    .implant-compare__list {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .implant-compare__list-item {
        padding: 0 45px 0 0
    }
    .implant-compare__list-item-head {
        margin-bottom: 23px
    }
    .implant-compare__list-item-area-row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .implant-compare__list-item-area-card {
        width: 50%
    }
    .implant-compare__list-item-area-card+.implant-compare__list-item-area-card {
        margin-top: 0
    }
    .implant-compare__list-item-area-card:nth-of-type(2) {
        padding-left: 19px;
        box-sizing: border-box
    }
    .implant-compare__list-item-area-card:nth-of-type(3) {
        margin-top: 17px
    }
    .implant-compare__list:first-of-type {
        border-top: 1px solid #a73963;
        padding-top: 38px;
        padding-bottom: 43px
    }
    .implant-compare__list:nth-of-type(2) {
        padding-top: 20px;
        padding-bottom: 43px
    }
    .implant-compare__list:nth-of-type(3) {
        padding-top: 20px;
        padding-bottom: 43px
    }
}
@media screen and (max-width: 360px) {
    .implant-compare__head {
        font-size: 5.7vw
    }
}
.implant-merit__inner {
    padding-top: 84px
}
.implant-merit__head {
    padding-left: 91px;
    background: none;
    margin-bottom: 27px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 60px;
    text-align: left
}
.implant-merit__head:before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background: center/contain no-repeat url(../img/menu/ceramic/ico_ceramic01.png);
    margin-right: 14px;
    margin-left: -92px
}
.implant-merit__item {
    counter-reset: item
}
.implant-merit__item-area {
    padding-top: 13px;
    padding-bottom: 19px
}
.implant-merit__item-area+.implant-merit__item-area {
    margin-top: 14px
}
.implant-merit__item-area-head {
    background: none;
    line-height: 1.55;
    padding-left: 0;
    padding-bottom: 9px;
    margin-bottom: 6px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.implant-merit__item-area-head:before {
    font-family: 'Jost', sans-serif;
    counter-increment: item;
    content: "" counter(item, decimal-leading-zero);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .15em;
    color: #bcbbb4;
    padding-top: 3px;
    padding-right: 8px
}
.implant-merit__item-area-text {
    line-height: 1.94
}
@media all and (min-width: 600px) {
    .implant-merit__inner {
        padding-top: 120px
    }
    .implant-merit__head {
        padding-left: 91px;
        margin-bottom: 30px;
        height: 80px
    }
    .implant-merit__head:before {
        content: "";
        width: 80px;
        height: 80px;
        margin-right: 30px;
        margin-left: -78px
    }
    .implant-merit__item-area {
        margin-top: 20px;
        padding-top: 29px;
        padding-bottom: 43px
    }
    .implant-merit__item-area+.implant-merit__item-area {
        margin-top: 20px
    }
    .implant-merit__item-area-head {
        letter-spacing: 0.08em;
        margin-bottom: 22px
    }
    .implant-merit__item-area-head:before {
        font-size: 1.8rem;
        padding-top: 5px;
        padding-right: 13px
    }
}
@media screen and (max-width: 360px) {
    .implant-merit__item-area-head {
        letter-spacing: 0;
        font-size: 4.4vw
    }
}
.implant-effort {
    margin-top: 62px;
    background: center/cover no-repeat url(../img/menu/child/bg_child01.jpg)
}
.implant-effort__inner {
    padding-top: 50px;
    padding-bottom: 60px
}
.implant-effort__head {
    line-height: 1.56;
    margin-bottom: 10px
}
.implant-effort__intro-text {
    margin-bottom: 18px
}
.implant-effort__list {
    padding: 25px 23px 18px;
    background: #fff;
    border-bottom: none
}
.implant-effort__list+.implant-effort__list {
    margin-top: 15px
}
.implant-effort__list-head {
    background: none;
    padding-left: 0;
    padding-bottom: 10px;
    margin-bottom: 7px
}
.implant-effort__list-item-head {
    line-height: 1.54;
    margin-bottom: 2px
}
.implant-effort__list-item-text {
    line-height: 1.88
}
@media all and (min-width: 600px) {
    .implant-effort {
        margin-top: 113px
    }
    .implant-effort__inner {
        padding-top: 107px;
        padding-bottom: 120px
    }
    .implant-effort__head {
        letter-spacing: 0.15em;
        margin-bottom: 30px
    }
    .implant-effort__intro-text {
        text-align: center;
        margin-bottom: 43px
    }
    .implant-effort__list {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 49px 51px 52px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
    .implant-effort__list+.implant-effort__list {
        margin-top: 19px
    }
    .implant-effort__list-img {
        width: 350px;
        height: 237px
    }
    .implant-effort__list-item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 13px 0 0 51px
    }
    .implant-effort__list-item-head {
        font-size: 2.8rem;
        letter-spacing: .15em;
        line-height: 1.45
    }
    .implant-effort__list:nth-of-type(2) .implant-effort__list-item {
        padding-top: 1px
    }
    .implant-effort__list:nth-of-type(3) .implant-effort__list-item {
        margin-top: -28px
    }
    .implant-effort__list:nth-of-type(4) .implant-effort__list-item {
        margin-top: -20px
    }
}
@media screen and (max-width: 360px) {
    .implant-effort__list-item-head {
        font-size: 4.4vw;
        letter-spacing: 0
    }
}
#information .l-sub-img {
    background-image: url(../img/information/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #information .l-sub-img {
        background-image: url(../img/information/bg_mv01_pc.jpg)
    }
}
.information-time {
    padding: 37px 0 57px
}
.information-time__table {
    margin: 0 -14px 0
}
@media all and (min-width: 600px) {
    .information-time {
        padding: 60px 0 115px
    }
    .information-time__table {
        max-width: 920px;
        margin: 0 auto
    }
}
.information-access {
    padding: 50px 0 57px
}
.information-access__contents-map iframe {
    width: 100%;
    min-height: 300px
}
@media all and (min-width: 600px) {
    .information-access {
        padding: 100px 0 120px
    }
    .information-access__contents-map {
        max-width: 1520px;
        margin: 0 auto
    }
    .information-access__contents-map iframe {
        min-height: 480px
    }
}
.information-access-wrap {
    position: relative;
    z-index: 2;
    margin: -35px 0 42px;
    background: #fff;
    box-sizing: border-box;
    padding: 25px;
    border-radius: 10px;
}
.information-access-wrap__img {
    margin-bottom: 18px
}
@media all and (min-width: 600px) {
    .information-access-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: -60px 70px 50px;
        padding: 50px
    }
    .information-access-wrap__img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 50%;
        max-width: 485px;
        margin-bottom: 0
    }
}
@media screen and (min-width: 1230px) {
    .information-access-wrap {
        margin: -60px 0 50px;
        border-radius: 10px;
    }
}
.information-access-list__item {
    margin-top: 15px
}
.information-access-list__head {
    color: #a73963;
    padding-bottom: 6px;
    margin-bottom: 8px;
    border-bottom: 1px solid #e3e2dc;
    font-weight: bold;
    font-size: 1.6rem
}
@media all and (min-width: 600px) {
    .information-access-list {
        margin-top: -35px;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 45.5%
    }
    .information-access-list__item {
        margin-top: 25px
    }
    .information-access-list__head {
        padding-bottom: 10px;
        margin-bottom: 12px;
        font-size: 2.2rem
    }
}
@media screen and (min-width: 1230px) {
    .information-access-list {
        width: 100%;

    }
}
.information-access-tel {
    border: 1px solid #e3e2dc;
    box-sizing: border-box;
    padding: 20px 23px 10px
}
.information-access-tel__txt {
    margin-bottom: 15px;
    text-align: center;
    color: #a73963;
    font-weight: bold;
    line-height: 1.9;
    font-size: 1.4rem
}
@media all and (min-width: 600px) {
    .information-access-tel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 38px 20px 38px;
        margin: 0 40px
    }
    .information-access-tel__txt {
        width: 42%;
        display: block;
        margin: 10px 30px 0 0;
        text-align: left;
        font-weight: bold;
        line-height: 1.9;
        font-size: 1.8rem
    }
    .information-access-tel__btn {
        display: block
    }
}
@media screen and (min-width: 1121px) {
    .information-access-tel {
        margin: 0
    }
}
.information-outline {
    padding-top: 60px;
    padding-bottom: 40px
}
@media all and (min-width: 600px) {
    .information-outline {
        padding-top: 120px;
        padding-bottom: 120px
    }
    .information-outline__inner {
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .information-outline__inner {
        padding: 0
    }
}
#maternity .l-sub-img {
    background-image: url(../img/menu/maternity/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #maternity .l-sub-img {
        background-image: url(../img/menu/maternity/bg_mv01_pc.jpg)
    }
}
.maternity-important__inner {
    padding-top: 60px;
    padding-bottom: 60px
}
.maternity-important__item-area-head {
    margin-bottom: 12px
}
@media all and (min-width: 600px) {
    .maternity-important__inner {
        padding-top: 114px;
        padding-bottom: 120px
    }
    .maternity-important__item-area-head {
        line-height: 1.53;
        margin-bottom: 35px
    }
}
.maternity-reason__head {
    letter-spacing: .15em
}
.maternity-reason__text {
    letter-spacing: .06em;
    line-height: 1.6
}
.maternity-timing__inner {
    padding-top: 50px;
    padding-bottom: 50px
}
.maternity-timing__sec {
    display: -ms-grid;
    display: grid;
    gap: 15px
}
.maternity-timing__sec+.maternity-timing__sec {
    margin-top: 45px
}
@media all and (min-width: 600px) {
    .maternity-timing__inner {
        padding-top: 110px;
        padding-bottom: 160px
    }
    .maternity-timing__sec {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
    .maternity-timing__sec.is-sm {
        -ms-grid-columns: 1fr 31.25%;
        grid-template-columns: 1fr 31.25%;
        gap: 55px
    }
    .maternity-timing__sec-img {
        margin-right: 95px;
        margin-left: -200px
    }
    .is-sm>.maternity-timing__sec-img {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin: 0
    }
}
.maternity-consider__inner {
    padding-top: 56px
}
@media all and (min-width: 600px) {
    .maternity-consider__head {
        margin-bottom: 17px
    }
    .maternity-consider__inner {
        padding-top: 125px
    }
    .maternity-consider:first-of-type {
        padding-top: 5px
    }
}
#menu .l-sub-img {
    background-image: url(../img/menu/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #menu .l-sub-img {
        background-image: url(../img/menu/bg_mv01_pc.jpg)
    }
}
.menu-anchor {
    padding: 50px 0 25px
}
.menu-anchor__inner {
    margin: 0 -1px
}
@media all and (min-width: 600px) {
    .menu-anchor {
        padding: 80px 0 60px
    }
    .menu-anchor__inner {
        margin: 0 auto;
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .menu-anchor__inner {
        padding: 0
    }
}
.menu-anchor.is-pagelink {
    margin-bottom: 35px
}
@media all and (min-width: 600px) {
    .menu-anchor.is-pagelink {
        margin-bottom: 57px
    }
}
.menu-anchor-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 9px
}
.menu-anchor-list__item {
    width: 100%
}
.menu-anchor-list__link.is-general:after {
    background: url(../img/menu/ico_anchor01.png) no-repeat center/contain;
    width: 13px;
    height: 23px;
    left: 10px
}
.menu-anchor-list__link.is-child:after {
    background: url(../img/menu/ico_anchor02.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 10px
}
.menu-anchor-list__link.is-prevention:after {
    background: url(../img/menu/ico_anchor03.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 10px
}
.menu-anchor-list__link.is-whitening:after {
    background: url(../img/menu/ico_anchor04.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 10px
}
.menu-anchor-list__link.is-ceramic:after {
    background: url(../img/menu/ico_anchor05.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 8px
}
.menu-anchor-list__link.is-implant:after {
    background: url(../img/menu/ico_anchor06.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 10px
}
.menu-anchor-list__link.is-mouthpiece:after {
    background: url(../img/menu/ico_anchor07.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 8px
}
.menu-anchor-list__link.is-root:after {
    background: url(../img/menu/ico_anchor08.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 10px
}
.menu-anchor-list__link.is-maternity:after {
    background: url(../img/menu/ico_anchor09.png) no-repeat center/contain;
    width: 22px;
    height: 22px;
    left: 10px
}
@media all and (min-width: 600px) {
    .menu-anchor-list {
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
        gap: 20px
    }
    .is-pagelink .menu-anchor-list {
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr)
    }
    .menu-anchor-list__item {
        max-width: inherit
    }
    .menu-anchor-list__link.is-general:after {
        width: 20px;
        height: 36px;
        left: 25px
    }
    .menu-anchor-list__link.is-child:after {
        width: 35px;
        height: 32px;
        left: 18px
    }
    .menu-anchor-list__link.is-prevention:after {
        width: 35px;
        height: 32px;
        left: 18px
    }
    .menu-anchor-list__link.is-whitening:after {
        width: 35px;
        height: 32px;
        left: 18px
    }
    .menu-anchor-list__link.is-ceramic:after {
        width: 37px;
        height: 34px;
        left: 18px
    }
    .menu-anchor-list__link.is-implant:after {
        width: 37px;
        height: 34px;
        left: 18px
    }
    .menu-anchor-list__link.is-mouthpiece:after {
        width: 37px;
        height: 34px;
        left: 18px
    }
    .menu-anchor-list__link.is-root:after {
        width: 35px;
        height: 32px;
        left: 18px
    }
    .menu-anchor-list__link.is-maternity:after {
        width: 37px;
        height: 34px;
        left: 18px
    }
}
.menu-about {
    padding: 25px 0 60px
}
@media all and (min-width: 600px) {
    .menu-about {
        padding: 60px 0 123px
    }
    .menu-about__inner {
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .menu-about__inner {
        padding: 0
    }
}
.menu-about-sec {
    margin-bottom: 120px
}
.menu-about-sec.is-bottom {
    margin-bottom: 65px
}
.menu-about-sec:before {
    height: 49%;
    top: 58%
}
.menu-about-sec__head {
    margin-bottom: 40px
}
.menu-about-sec__head.is-general:before {
    background: url(../img/menu/ico_menu01.png) no-repeat center/contain
}
.menu-about-sec__head.is-child:before {
    background: url(../img/menu/ico_menu02.png) no-repeat center/contain
}
.menu-about-sec__head.is-prevention:before {
    background: url(../img/menu/ico_menu03.png) no-repeat center/contain
}
.menu-about-sec__head.is-whitening:before {
    background: url(../img/menu/ico_menu04.png) no-repeat center/contain
}
.menu-about-sec__head.is-ceramic:before {
    background: url(../img/menu/ico_menu05.png) no-repeat center/contain
}
.menu-about-sec__head.is-implant:before {
    background: url(../img/menu/ico_menu06.png) no-repeat center/contain
}
.menu-about-sec__head.is-mouthpiece:before {
    background: url(../img/menu/ico_menu07.png) no-repeat center/contain
}
.menu-about-sec__head.is-root:before {
    background: url(../img/menu/ico_menu08.png) no-repeat center/contain
}
.menu-about-sec__head.is-maternity:before {
    background: url(../img/menu/ico_menu09.png) no-repeat center/contain
}
.menu-about-sec__img {
    margin-bottom: 20px
}
.menu-about-sec__img.is_no_download {
    position: relative;
    pointer-events: none
}
.menu-about-sec__img.is_no_download:before {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
    z-index: 2
}
.menu-about-sec__txtarea-head {
    margin-bottom: 15px;
    line-height: 1.6;
    letter-spacing: .3rem;
    font-size: 2.1rem
}
.menu-about-sec__txtarea-btn {
    margin-top: 14px
}
@media all and (min-width: 600px) {
    .menu-about-sec {
        margin-bottom: 240px
    }
    .menu-about-sec.is-bottom {
        margin-bottom: 118px
    }
    .menu-about-sec:before {
        height: 72%;
        top: 48%
    }
    .menu-about-sec.is-right:before {
        right: 0 !important
    }
    .menu-about-sec__head {
        margin-bottom: 80px
    }
    .menu-about-sec__flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .menu-about-sec__flex.is-order .menu-about-sec__img {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        width: 58%;
        margin: 0 -12% 0 0
    }
    .menu-about-sec__flex.is-order .menu-about-sec__txtarea {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }
    .menu-about-sec__img {
        width: 58%;
        margin: 0 0 0 -13.5%
    }
    .menu-about-sec__txtarea {
        width: 52%;
        margin: -10px 0 0 0
    }
    .menu-about-sec__txtarea-head {
        margin-bottom: 20px;
        line-height: 1.5;
        letter-spacing: .4rem;
        font-size: 2.8rem
    }
    .menu-about-sec__txtarea-txt {
        line-height: 1.95
    }
    .menu-about-sec__txtarea-btn {
        margin-top: 38px
    }
}
@media screen and (min-width: 1121px) {
    .menu-about-sec__flex.is-order .menu-about-sec__img {
        margin: 0 -18% 0 0
    }
    .menu-about-sec__img {
        width: 58%;
        margin: 0 0 0 -18%
    }
}
#mouthpiece .l-sub-img {
    background-image: url(../img/menu/mouthpiece/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #mouthpiece .l-sub-img {
        background-image: url(../img/menu/mouthpiece/bg_mv01_pc.jpg)
    }
}
.mouthpiece-about__content-head {
    margin-bottom: 11px;
    letter-spacing: .15em
}
.mouthpiece-about__content-item+.mouthpiece-about__content-item {
    margin-top: 11px
}
.mouthpiece-about__content-item-list-text {
    margin-top: 3px;
    letter-spacing: -.03em
}
@media all and (min-width: 600px) {
    .mouthpiece-about__content-head {
        margin-bottom: 0
    }
    .mouthpiece-about__content-inner {
        padding-top: 32px
    }
    .mouthpiece-about__content-item {
        margin-top: 37px
    }
    .mouthpiece-about__content-item+.mouthpiece-about__content-item {
        margin-top: 36px
    }
    .mouthpiece-about__content-item-head {
        margin-bottom: 13px
    }
    .mouthpiece-about__content-item-text {
        margin-top: 0 !important
    }
}
.mouthpiece-intro__inner {
    padding-top: 62px;
    padding-bottom: 60px
}
.mouthpiece-intro__item-area-head {
    letter-spacing: 0;
    margin-bottom: 11px;
    letter-spacing: .15em
}
.mouthpiece-intro__item-area-text {
    line-height: 1.89
}
.mouthpiece-intro__item-area-text.is-margin {
    margin-top: 6px
}
@media all and (max-width: 599px) {
    .mouthpiece-intro__item-area-list__item {
        font-size: 1.2rem
    }
    .mouthpiece-intro__item-area-list__item:before {
        top: 6px
    }
}
@media all and (min-width: 600px) {
    .mouthpiece-intro__inner {
        padding-top: 122px;
        padding-bottom: 120px
    }
    .mouthpiece-intro__item-area {
        padding-top: 14px
    }
    .mouthpiece-intro__item-area-head {
        letter-spacing: .14em;
        line-height: 1.52;
        margin-bottom: 35px
    }
    .mouthpiece-intro__item-area-text.is-margin {
        margin-top: 16px
    }
    .mouthpiece-intro__item-area-list {
        margin-top: 16px
    }
}
@media screen and (max-width: 360px) {
    .mouthpiece-intro__item-area-head {
        font-size: 5vw
    }
}
.mouthpiece-merit__inner {
    padding-top: 60px
}
.mouthpiece-merit__head {
    padding-left: 91px;
    background: none;
    margin-bottom: 27px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 60px;
    text-align: left
}
.mouthpiece-merit__head:before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    background: center/contain no-repeat url(../img/menu/ceramic/ico_ceramic01.png);
    margin-right: 14px;
    margin-left: -92px
}
.mouthpiece-merit__item {
    counter-reset: item
}
.mouthpiece-merit__item-area {
    padding-top: 15px;
    padding-bottom: 15px
}
.mouthpiece-merit__item-area+.mouthpiece-merit__item-area {
    margin-top: 17px
}
.mouthpiece-merit__item-area-head {
    line-height: 1.6
}
.mouthpiece-merit__item-area-head {
    background: none;
    line-height: 1.55;
    padding-left: 0;
    padding-bottom: 9px;
    margin-bottom: 6px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.mouthpiece-merit__item-area-head:before {
    font-family: 'Jost', sans-serif;
    counter-increment: item;
    content: "" counter(item, decimal-leading-zero);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .15em;
    color: #bcbbb4;
    padding-top: 3px;
    padding-right: 8px
}
.mouthpiece-merit__item-area-text {
    line-height: 1.94
}
@media all and (min-width: 600px) {
    .mouthpiece-merit__inner {
        padding-top: 114px
    }
    .mouthpiece-merit__head {
        padding-left: 91px;
        margin-bottom: 30px;
        height: 80px
    }
    .mouthpiece-merit__head:before {
        content: "";
        width: 80px;
        height: 80px;
        margin-right: 32px;
        margin-left: -78px
    }
    .mouthpiece-merit__item-area {
        margin-top: 20px;
        padding-top: 29px;
        padding-bottom: 43px
    }
    .mouthpiece-merit__item-area+.mouthpiece-merit__item-area {
        margin-top: 20px
    }
    .mouthpiece-merit__item-area-head {
        letter-spacing: 0.06em;
        margin-bottom: 22px
    }
    .mouthpiece-merit__item-area-head:before {
        font-size: 1.8rem;
        padding-top: 5px;
        padding-right: 13px
    }
}
@media screen and (max-width: 360px) {
    .mouthpiece-merit__item-area-head {
        letter-spacing: 0;
        font-size: 4.4vw
    }
}
.mouthpiece-suitable {
    margin-top: 60px;
    background: center/cover no-repeat url(../img/menu/child/bg_child01.jpg)
}
.mouthpiece-suitable__inner {
    padding-top: 50px;
    padding-bottom: 61px
}
.mouthpiece-suitable__head {
    line-height: 1.56;
    margin-bottom: 15px;
    letter-spacing: .15em
}
.mouthpiece-suitable__card-item {
    background: #fff;
    padding: 20px 25px 17px
}
.mouthpiece-suitable__card-item+.mouthpiece-suitable__card-item {
    margin-top: 13px
}
.mouthpiece-suitable__card-item-head {
    font-size: 1.6rem;
    color: #a73963;
    letter-spacing: .06em;
    text-align: center;
    margin-bottom: 8px
}
.mouthpiece-suitable__card-item-list-text {
    margin-top: -2px;
    letter-spacing: -0.02em;
    line-height: 2
}
@media all and (min-width: 600px) {
    .mouthpiece-suitable {
        margin-top: 116px
    }
    .mouthpiece-suitable__inner {
        padding-top: 107px;
        padding-bottom: 120px
    }
    .mouthpiece-suitable__head {
        margin-bottom: 39px;
        letter-spacing: .15em
    }
    .mouthpiece-suitable__card {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .mouthpiece-suitable__card-item {
        width: calc(50% - 10px);
        padding: 40px 50px;
        box-sizing: border-box
    }
    .mouthpiece-suitable__card-item+.mouthpiece-suitable__card-item {
        margin-top: 0
    }
    .mouthpiece-suitable__card-item-head {
        font-size: 2.8rem;
        letter-spacing: .15em;
        margin-bottom: 20px;
        line-height: 1.6
    }
    .mouthpiece-suitable__card-item-list-text {
        margin-top: -2px;
        letter-spacing: 0.068em;
        line-height: 2
    }
}
@media screen and (max-width: 360px) {
    .mouthpiece-suitable__card-item-head {
        letter-spacing: -.03em;
        font-size: 4.3vw
    }
}
.mouthpiece-flow {
    padding-top: 50px
}
.mouthpiece-flow__head {
    font-size: 2.4rem;
    letter-spacing: .16em
}
.mouthpiece-flow__list-item-area-head {
    font-weight: bold
}
.mouthpiece-flow__list-item-area-text {
    line-height: 1.91
}
.mouthpiece-flow__list-item-area-text.is-bg {
    background: #f4f4f2;
    margin-top: 7px;
    padding: 14px 15px;
    letter-spacing: 0.059em;
    font-size: 1.4rem;
    line-height: 1.9
}
.mouthpiece-flow__list-item-area-text-bold {
    display: block;
    margin-bottom: 8px;
    font-size: 1.6rem;
    font-weight: 700
}
.mouthpiece-flow__list-item:nth-of-type(4):after {
    height: 106%
}
.mouthpiece-flow__list-item:last-of-type {
    padding-top: 24px
}
.mouthpiece-flow__list-item:last-of-type:before {
    top: 20px
}
.mouthpiece-flow__list-item:last-of-type .mouthpiece-flow__list-item-area-head {
    margin-bottom: 8px
}
.mouthpiece-flow__list-item:last-of-type .mouthpiece-flow__list-item-area-text.is-bg {
    margin-top: 14px;
    margin-bottom: 20px
}
@media all and (min-width: 600px) {
    .mouthpiece-flow {
        padding-top: 103px
    }
    .mouthpiece-flow__head {
        font-size: 3.6rem;
        letter-spacing: 0.22em;
        margin-bottom: 37px
    }
    .mouthpiece-flow__intro-text {
        text-align: center;
        margin-bottom: 43px
    }
    .mouthpiece-flow__list {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 0 0 0 51px;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
    .mouthpiece-flow__list+.mouthpiece-flow__list {
        margin-top: 19px
    }
    .mouthpiece-flow__list-img {
        width: 350px;
        height: 237px
    }
    .mouthpiece-flow__list-item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding: 0 0 41px 11px
    }
    .mouthpiece-flow__list-item:before {
        left: -50px
    }
    .mouthpiece-flow__list-item:after {
        left: -30px
    }
    .mouthpiece-flow__list-item-area-head {
        margin-bottom: 14px;
        letter-spacing: .06em
    }
    .mouthpiece-flow__list-item-area-text {
        line-height: 1.91
    }
    .mouthpiece-flow__list-item-area-text.is-bg {
        background: #f4f4f2;
        margin-top: 21px;
        padding: 30px 35px 27px 35px;
        letter-spacing: 0.059em;
        font-size: 1.6rem;
        line-height: 1.9
    }
    .mouthpiece-flow__list-item-area-text-bold {
        font-size: 1.7rem
    }
    .mouthpiece-flow__list-item:nth-of-type(4):after {
        height: 106%
    }
    .mouthpiece-flow__list-item:last-of-type {
        padding-top: 39px
    }
    .mouthpiece-flow__list-item:last-of-type:before {
        top: 38px
    }
    .mouthpiece-flow__list-item:last-of-type .mouthpiece-flow__list-item-area-head {
        margin-bottom: 13px
    }
    .mouthpiece-flow__list-item:last-of-type .mouthpiece-flow__list-item-area-text.is-bg {
        margin-top: 19px;
        margin-bottom: 0
    }
}
@media screen and (max-width: 360px) {
    .mouthpiece-flow__list-item-head {
        font-size: 4.4vw;
        letter-spacing: 0
    }
}
#news .l-sub-img {
    background-image: url(../img/news/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #news .l-sub-img {
        background-image: url(../img/news/bg_mv01_pc.jpg)
    }
}
.news-archive {
    padding: 60px 0 50px
}
.news-archive__ico {
    margin-bottom: 47px
}
.news-archive__ico:before {
    background: url(../img/news/ico_news01.png) no-repeat center/contain
}
.news-archive__list {
    margin-bottom: 30px
}
@media all and (min-width: 600px) {
    .news-archive {
        padding: 82px 0 100px;
        margin-left: 50px
    }
    .news-archive__ico {
        margin-bottom: 47px
    }
    .news-archive__list {
        margin-bottom: 45px
    }
}
.news-relation {
    padding: 70px 0 61px
}
@media all and (min-width: 600px) {
    .news-relation {
        position: relative;
        padding: 100px 50px 102px
    }
    .news-relation:before {
        position: absolute;
        content: '';
        display: block;
        background: #f4f4f2;
        min-width: 2500px;
        height: 100%;
        margin: auto;
        top: 0;
        bottom: 0;
        left: -100%;
        z-index: -1
    }
}
#prevention .l-sub-img {
    background-image: url(../img/menu/prevention/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #prevention .l-sub-img {
        background-image: url(../img/menu/prevention/bg_mv01_pc.jpg)
    }
}
.prevention-important__inner {
    padding-top: 60px;
    padding-bottom: 60px
}
.prevention-important__item-area-head {
    margin-bottom: 12px
}
@media all and (min-width: 600px) {
    .prevention-important__inner {
        padding-top: 114px;
        padding-bottom: 120px
    }
    .prevention-important__item-area-head {
        line-height: 1.53;
        margin-bottom: 35px
    }
}
.prevention-reason__head {
    letter-spacing: .15em
}
.prevention-reason__text {
    letter-spacing: .06em;
    line-height: 1.6
}
.prevention-inspection__inner {
    padding-top: 56px
}
@media all and (min-width: 600px) {
    .prevention-inspection__head {
        margin-bottom: 17px
    }
    .prevention-inspection__inner {
        padding-top: 125px
    }
    .prevention-inspection:first-of-type {
        padding-top: 5px
    }
}
.prevention-treatment {
    background: #f4f4f2
}
.prevention-treatment__inner {
    margin-top: 61px;
    padding-top: 52px;
    padding-bottom: 60px
}
.prevention-treatment__area+.prevention-treatment__area {
    margin-top: 24px
}
.prevention-treatment__area-text {
    line-height: 1.88
}
@media all and (min-width: 600px) {
    .prevention-treatment__head {
        margin-bottom: 17px
    }
    .prevention-treatment__inner {
        margin-top: 120px;
        padding-top: 100px;
        padding-bottom: 120px
    }
    .prevention-treatment__area {
        padding-top: 19px;
        padding-bottom: 35px
    }
    .prevention-treatment__area-item {
        padding-top: 23px
    }
    .prevention-treatment:first-of-type {
        padding-top: 5px;
        padding-bottom: 20px
    }
}
.prevention-routine__inner {
    margin-bottom: 15px !important
}
@media all and (min-width: 600px) {
    .prevention-routine__inner {
        margin-bottom: 56px !important
    }
}
#price .l-sub-img {
    background-image: url(../img/price/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #price .l-sub-img {
        background-image: url(../img/price/bg_mv01_pc.jpg)
    }
}
.price-intro {
    padding-top: 80px;
    position: relative
}
.price-intro:before {
    content: '';
    background-color: #f4f4f2;
    position: absolute;
    top: 40px;
    left: 0;
    width: 86.7%;
    height: calc(100% - 80px);
    z-index: -1
}
@media all and (min-width: 600px) {
    .price-intro:before {
        width: 826px;
        height: 311px
    }
    .price-intro__inner {
        padding-top: 80px
    }
}
.price-main {
    padding-top: 80px;
    padding-bottom: 60px
}
.price-main__sec+.price-main__sec {
    margin-top: 40px
}
@media all and (min-width: 600px) {
    .price-main {
        padding-top: 90px;
        padding-bottom: 120px
    }
    .price-main__inner {
        padding: 0 40px
    }
    .price-main__sec+.price-main__sec {
        margin-top: 60px
    }
}
@media screen and (min-width: 1121px) {
    .price-main__inner {
        padding: 0
    }
}
.price-payment {
    padding-top: 60px;
    padding-bottom: 60px
}
.price-payment__sec {
    margin-top: 30px
}
.price-payment__sec+.price-payment__sec {
    margin-top: 40px
}
.price-payment__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -6px -10px
}
.price-payment__list+.price-payment__list {
    margin-top: 10px
}
.price-payment__list-item {
    margin: 0 6px 10px;
    width: 72px
}
@media all and (min-width: 600px) {
    .price-payment {
        padding-top: 120px;
        padding-bottom: 120px
    }
    .price-payment__inner {
        padding: 0 40px
    }
    .price-payment__lead {
        text-align: center
    }
    .price-payment__sec {
        margin-top: 70px
    }
    .price-payment__sec+.price-payment__sec {
        margin-top: 60px
    }
    .price-payment__list {
        margin: 0 -5px -10px
    }
    .price-payment__list+.price-payment__list {
        margin-top: 20px
    }
    .price-payment__list-item {
        margin: 0 5px 10px;
        width: 112px
    }
}
@media screen and (min-width: 1121px) {
    .price-payment__inner {
        padding: 0
    }
}
.price-deduction {
    padding-top: 60px;
    padding-bottom: 60px
}
.price-deduction__box-wrap {
    display: -ms-grid;
    display: grid;
    gap: 20px;
    margin-top: 25px
}
.price-deduction__box {
    background-color: #f4f4f2;
    padding: 25px 20px
}
@media all and (min-width: 600px) {
    .price-deduction {
        padding-top: 120px;
        padding-bottom: 120px
    }
    .price-deduction__inner {
        padding: 0 40px
    }
    .price-deduction__lead {
        text-align: center
    }
    .price-deduction__box-wrap {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        margin-top: 50px
    }
    .price-deduction__box {
        padding: 40px 50px 50px
    }
    .price-deduction__box.is-col2 {
        grid-column: 1/3
    }
    .price-deduction__box-head {
        margin-bottom: 24px
    }
}
@media screen and (min-width: 1121px) {
    .price-deduction__inner {
        padding: 0
    }
}
#recruit .l-sub-img {
    background-image: url(../img/recruit/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #recruit .l-sub-img {
        background-image: url(../img/recruit/bg_mv01_pc.jpg)
    }
}
.recruit-message {
    padding: 40px 0 30px
}
.recruit-message:before {
    height: 91.6%;
    top: 2.8%
}
@media all and (min-width: 600px) {
    .recruit-message {
        padding: 80px 0 60px
    }
    .recruit-message:before {
        width: 1420px;
        height: 73%;
        top: 14%
    }
    .recruit-message__inner {
        padding: 0 40px
    }
}
@media screen and (min-width: 1121px) {
    .recruit-message__inner {
        padding: 0
    }
}
.recruit-message-sec.is-bottom {
    margin: 43px 0 48px
}
.recruit-message-sec__tit {
    margin-bottom: 3px
}
.recruit-message-sec__sub {
    margin-bottom: 10px;
    color: #a73963;
    letter-spacing: .2rem;
    line-height: 1.5;
    font-size: 1.5rem
}
.recruit-message-sec__name {
    margin-top: 5px
}
.recruit-message-sec__name-sub {
    margin-left: 8px;
    font-size: 1.8rem
}
.recruit-message-sec__txtarea {
    margin-bottom: 25px
}
.recruit-message-sec__txt.is-top {
    margin-bottom: 30px
}
.recruit-message-sec__img {
    margin: 0 -25px 0 0
}
.recruit-message-sec__img.is-bottom {
    width: 185px;
    margin: 0 0 0 -10px
}
.recruit-message-sec__list {
    margin-bottom: 30px
}
@media all and (min-width: 600px) {
    .recruit-message-sec {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .recruit-message-sec.is-bottom {
        margin: 80px 0 93px
    }
    .recruit-message-sec.is-bottom .recruit-message-sec__txtarea {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }
    .recruit-message-sec__tit {
        margin-bottom: 30px
    }
    .recruit-message-sec__sub {
        margin-bottom: 18px;
        font-size: 2.0rem
    }
    .recruit-message-sec__name {
        margin-top: 10px;
        text-align: right
    }
    .recruit-message-sec__name-sub {
        margin-left: 12px;
        font-size: 2.0rem
    }
    .recruit-message-sec__txtarea {
        width: 54%;
        margin: 28px 0
    }
    .recruit-message-sec__img {
        width: 71%;
        margin: 0 -31% 0 0
    }
    .recruit-message-sec__img.is-bottom {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        width: 42%;
        margin: 0 0 0 0
    }
    .recruit-message-sec__list {
        margin-bottom: 40px
    }
}
.recruit-promise__head {
    margin-bottom: 10px;
    color: #a73963;
    letter-spacing: .2rem;
    line-height: 1.5;
    font-size: 1.5rem
}
.recruit-promise__txt {
    letter-spacing: .05rem
}
@media all and (min-width: 600px) {
    .recruit-promise__head {
        font-size: 2.0rem
    }
}
.recruit-essentials {
    padding: 30px 0 40px
}
.recruit-essentials__head {
    margin-bottom: 30px
}
@media all and (min-width: 600px) {
    .recruit-essentials {
        padding: 60px 0 120px
    }
    .recruit-essentials__inner {
        padding: 0 40px
    }
    .recruit-essentials__head {
        margin-bottom: 35px
    }
}
@media screen and (min-width: 1121px) {
    .recruit-essentials__inner {
        padding: 0
    }
}
.recruit-essentials-sec.is-bottom {
    margin-top: 60px
}
.recruit-essentials-sec__ico.is-detail:before {
    background: url(../img/recruit/ico_detail01.png) no-repeat center/contain
}
.recruit-essentials-sec__ico.is-info:before {
    background: url(../img/recruit/ico_info01.png) no-repeat center/contain
}
@media all and (min-width: 600px) {
    .recruit-essentials-sec.is-bottom {
        margin-top: 60px
    }
}
.recruit-cv {
    padding: 28px 0 48px
}
.recruit-cv__content {
    background: #fff;
    box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 15px 15px 0px 0px #a73963;
    box-sizing: border-box;
    padding: 20px 22px 30px
}
.recruit-cv__txtarea {
    margin-bottom: 6px
}
.recruit-cv__head {
    position: relative;
    margin-bottom: 8px;
    color: #a73963;
    font-weight: bold;
    font-size: 1.6rem
}
.recruit-cv__head:before {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/recruit/img_line01_sp.png) no-repeat center/contain;
    width: 152px;
    height: 3px;
    bottom: 0;
    left: 0
}
.recruit-cv__btnarea {
    position: relative
}
.recruit-cv__btnarea:before {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/recruit/img_cv01.png) no-repeat center/contain;
    width: 102px;
    height: 145px;
    top: -145px;
    right: -3px
}
@media all and (min-width: 600px) {
    .recruit-cv {
        padding: 50px 0 65px
    }
    .recruit-cv__content {
        position: relative;
        max-width: 800px;
        margin: 0 auto;
        padding: 30px 22px 35px
    }
    .recruit-cv__content:before {
        position: absolute;
        display: block;
        content: '';
        background: url(../img/recruit/img_cv01.png) no-repeat center/contain;
        width: 155px;
        height: 222px;
        right: 0;
        bottom: 0
    }
    .recruit-cv__txtarea {
        margin-bottom: 15px;
        text-align: center
    }
    .recruit-cv__head {
        margin-bottom: 12px;
        letter-spacing: .25rem;
        font-size: 2.2rem
    }
    .recruit-cv__head:before {
        background: url(../img/recruit/img_line01_pc.png) no-repeat center/contain;
        width: 213px;
        margin: auto;
        right: 0;
        left: 0
    }
    .recruit-cv__btnarea {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
    .recruit-cv__btnarea:before {
        content: none
    }
    .recruit-cv__tel {
        margin: 8px 6% 0 0
    }
}
#rootcanal .l-sub-img {
    background-image: url(../img/menu/rootcanal/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #rootcanal .l-sub-img {
        background-image: url(../img/menu/rootcanal/bg_mv01_pc.jpg)
    }
}
.rootcanal-care__inner {
    padding-top: 61px;
    padding-bottom: 60px
}
.rootcanal-care__item-area-head {
    margin-bottom: 10px
}
.rootcanal-care__item-area-text {
    line-height: 1.92
}
.rootcanal-care__item-img {
    margin-top: 14px
}
@media all and (min-width: 600px) {
    .rootcanal-care__inner {
        padding-top: 118px;
        padding-bottom: 120px
    }
    .rootcanal-care__item-area-head {
        margin-bottom: 30px;
        line-height: 1.55
    }
}
.rootcanal-point {
    background: center center/cover no-repeat url(../img/menu/child/bg_child01.jpg)
}
.rootcanal-point__inner {
    margin-top: 60px;
    padding-top: 45px;
    padding-bottom: 55px
}
.rootcanal-point__list-item {
    background: #fff;
    padding: 23px 25px
}
.rootcanal-point__list-item+.rootcanal-point__list-item {
    margin-top: 12px
}
.rootcanal-point__list-item-img {
    margin-bottom: 13px
}
.rootcanal-point__list-item-area-head {
    font-size: 1.6rem;
    letter-spacing: 0.13em;
    margin-bottom: 8px;
    line-height: 1.75
}
@media all and (min-width: 600px) {
    .rootcanal-point__inner {
        margin-top: 120px;
        padding-top: 105px;
        padding-bottom: 120px
    }
    .rootcanal-point__head {
        margin-bottom: 36px
    }
    .rootcanal-point__list-item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 51px 52px 37px
    }
    .rootcanal-point__list-item+.rootcanal-point__list-item {
        margin-top: 19px
    }
    .rootcanal-point__list-item-img {
        width: 350px;
        height: 237px
    }
    .rootcanal-point__list-item-area {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        padding-left: 49px;
        padding-bottom: 23px
    }
    .rootcanal-point__list-item:nth-child(2) .rootcanal-point__list-item-area {
        padding-bottom: 0
    }
    .rootcanal-point__list-item-area-head {
        font-size: 2.8rem;
        letter-spacing: 0.15em;
        margin-bottom: 12px;
        line-height: 1.75
    }
}
.rootcanal-flow__inner {
    padding-top: 52px
}
.rootcanal-flow__head {
    font-size: 2.4rem;
    letter-spacing: 0.14em
}
@media all and (min-width: 600px) {
    .rootcanal-flow__inner {
        padding-top: 104px;
        padding-bottom: 0
    }
    .rootcanal-flow__head {
        font-size: 3.6rem;
        letter-spacing: 0.19em;
        margin-bottom: 40px
    }
    .rootcanal-flow__list-item {
        padding-bottom: 39px
    }
}
#rootcanal .rootcanal-about__inner {
    padding: 26px 25px 23px
}
#rootcanal .rootcanal-about__item-area-head {
    text-align: left;
    line-height: 1.58;
    margin-top: 5px;
    margin-bottom: 17px;
    letter-spacing: 0.17em
}
@media all and (min-width: 600px) {
    #rootcanal .rootcanal-about__inner {
        padding: 33px 160px 77px;
        margin-top: 72px
    }
    #rootcanal .rootcanal-about__item-area-head {
        text-align: center;
        margin-top: 0
    }
    #rootcanal .rootcanal-about__item-area-detail {
        margin-top: 36px
    }
    #rootcanal .rootcanal-about__item-area-detail-text {
        margin-top: 0;
        letter-spacing: .06em
    }
}
#staff .l-sub-img {
    background-image: url(../img/staff/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #staff .l-sub-img {
        background-image: url(../img/staff/bg_mv01_pc.jpg)
    }
}
.staff-director {
    padding-top: 50px;
    padding-bottom: 60px;
    position: relative
}
.staff-director:before {
    content: '';
    background-color: #f4f4f2;
    position: absolute;
    top: 300px;
    left: 0;
    width: 86.7%;
    height: 75%;
    z-index: -1
}
.staff-director__intro-area-txt {
    background-color: #fff;
    box-sizing: border-box;
    padding: 25px 15px 30px 30px;
    position: relative
}
.staff-director__intro-head {
    color: #a73963;
    font-size: 1.8rem;
    letter-spacing: 0.15em;
    line-height: 1.5;
    margin-bottom: 10px
}
.staff-director__intro-head>span {
    font-size: 1.6rem;
    letter-spacing: 0.15em;
    margin-left: 14px
}
.staff-director__intro-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    gap: 0 13px
}
@media all and (max-width: 599px) {
    .staff-director__intro-img {
        margin: 0 -25px
    }
    .staff-director__intro-area-txt {
        margin-top: -96px;
        margin-right: -25px;
        margin-left: 10px
    }
}
@media all and (min-width: 600px) {
    .staff-director {
        padding-top: 80px;
        padding-bottom: 120px
    }
    .staff-director:before {
        width: min(1420px, 74%);
        height: 73%
    }
    .staff-director__inner {
        padding: 0 40px
    }
    .staff-director__intro {
        padding-bottom: 90px;
        position: relative
    }
    .staff-director__intro-area-txt {
        position: absolute;
        right: 0;
        bottom: 0;
        padding: 38px 48px 48px;
        width: 50%
    }
    .staff-director__intro-head {
        font-size: 3.2rem;
        margin-bottom: 28px
    }
    .staff-director__intro-head>span {
        font-size: 2.2rem;
        margin-left: 10px
    }
}
@media screen and (min-width: 1121px) {
    .staff-director__inner {
        padding: 0
    }
    .staff-director__intro-area-txt {
        padding: 60px
    }
    .staff-director__intro-head {
        font-size: 3.4rem
    }
    .staff-director__intro-head>span {
        font-size: 2.4rem
    }
}
.staff-director-record {
    display: -ms-grid;
    display: grid;
    gap: 25px 30px;
    margin-top: 40px
}
.staff-director-record__box-head {
    font-size: 1.6rem
}
@media all and (min-width: 600px) {
    .staff-director-record {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        margin-top: 80px
    }
    .staff-director-record__box-head {
        font-size: 2.2rem;
        margin-bottom: 15px;
        padding-bottom: 12px
    }
}
.staff-director-history {
    background-color: #fff;
    box-sizing: border-box;
    box-shadow: 15px 15px 0 0 #e3e2dd;
    margin-top: 40px;
    padding: 25px 25px 55px;
    position: relative
}
.staff-director-history__head {
    color: #a73963;
    font-size: 1.6rem;
    letter-spacing: 0.15em;
    line-height: 1.5;
    margin-bottom: 20px
}
.staff-director-history__sec {
    margin-top: 35px
}
.staff-director-history__sec.is-mt0 {
    margin-top: 0
}
.staff-director-history__grid {
    display: -ms-grid;
    display: grid;
    gap: 1em 45px
}
.staff-director-history__txt+.staff-director-history__txt {
    margin-top: 1.5em
}
.staff-director-history__img {
    margin: 20px 0
}
.staff-director-history__img:first-child {
    margin-top: 0
}
.staff-director-history__img:last-child {
    margin-bottom: 0
}
.staff-director-history__img+.staff-director-history__img {
    margin-top: -15px
}
.staff-director-history__img.is-05 {
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 40px;
    position: relative;
    width: 70%;
    z-index: 1
}
.staff-director-history__img.is-05:before {
    content: '';
    aspect-ratio: 1/1;
    background-color: #f4f4f2;
    position: absolute;
    right: -48px;
    bottom: 0;
    width: 45.5%;
    z-index: -1
}
.staff-director-history__switch {
    display: none
}
.staff-director-history__switch:checked~.staff-director-history__label:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}
.staff-director-history__switch:checked~.staff-director-history__label:after {
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg)
}
.staff-director-history__switch:checked~.staff-director-history__label>span:before {
    content: '閉じる'
}
.staff-director-history__switch:checked~.staff-director-history__wrapper {
    height: auto
}
.staff-director-history__label {
    cursor: pointer;
    color: #a73963;
    display: block;
    margin: auto;
    padding-right: 16px;
    position: absolute;
    right: 0;
    bottom: 25px;
    left: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}
.staff-director-history__label:before, .staff-director-history__label:after {
    content: '';
    background-color: #a73963;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 11px;
    height: 1px
}
.staff-director-history__label:after {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg)
}
.staff-director-history__label>span:before {
    content: '続きを読む'
}
.staff-director-history__wrapper {
    overflow: hidden;
    height: 0
}
@media all and (min-width: 600px) {
    .staff-director-history {
        margin-top: 80px;
        padding: 60px 60px 115px
    }
    .staff-director-history__head {
        font-size: 2.5rem;
        margin-bottom: 32px
    }
    .staff-director-history__sec {
        margin-top: 70px
    }
    .staff-director-history__grid {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr)
    }
    .staff-director-history__txt+.staff-director-history__txt {
        margin-top: 2em
    }
    .staff-director-history__img {
        margin: 30px 0
    }
    .staff-director-history__img+.staff-director-history__img {
        margin-top: -25px
    }
    .staff-director-history__img.is-05 {
        padding-bottom: 56px
    }
    .staff-director-history__img.is-05:before {
        right: -72px
    }
}
.staff-doctor {
    padding-bottom: 60px
}
.staff-doctor__sec+.staff-doctor__sec {
    margin-top: 60px
}
.staff-doctor__intro-area-txt {
    background-color: #fff;
    box-sizing: border-box;
    padding: 23px 20px 0 30px;
    position: relative
}
.staff-doctor__intro-head {
    color: #a73963;
    font-size: 1.8rem;
    letter-spacing: 0.15em;
    line-height: 1.5;
    margin-bottom: 10px
}
.staff-doctor__intro-head>span {
    font-size: 1.6rem;
    letter-spacing: 0.15em;
    margin-left: 14px
}
.staff-doctor__intro-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto 1fr;
    grid-template-columns: auto 1fr;
    gap: 0 12px
}
.staff-doctor__msg {
    margin-top: 30px
}
.staff-doctor__msg-head {
    font-size: 2rem;
    letter-spacing: 0.15em;
    line-height: 1.5;
    margin-bottom: 7px
}
.staff-doctor__box {
    background-color: #f4f4f2;
    margin-top: 10px;
    padding: 25px 20px 20px
}
.staff-doctor__box-head {
    font-size: 2rem
}
.staff-doctor__box-head-sub {
    font-size: 1.3rem
}
.staff-doctor__box-txt+.staff-doctor__box-txt {
    margin-top: 0.5em
}
.staff-doctor__box-label {
    border: 1px solid #e3e2dc;
    display: inline-block;
    line-height: 1.5;
    margin-right: 8px;
    padding: 2px 10px 1px
}
@media all and (max-width: 599px) {
    .staff-doctor__intro-img {
        margin: 0 -25px
    }
    .staff-doctor__intro-area-txt {
        margin-top: -100px;
        margin-right: -25px;
        margin-left: 10px
    }
    .staff-doctor__box-head-sub {
        display: block
    }
    .staff-doctor__box-label {
        font-size: 1.3rem
    }
}
@media all and (min-width: 600px) {
    .staff-doctor {
        padding-bottom: 120px
    }
    .staff-doctor__inner {
        padding: 0 40px
    }
    .staff-doctor__sec+.staff-doctor__sec {
        margin-top: 120px
    }
    .staff-doctor__intro {
        position: relative
    }
    .staff-doctor__intro-area-txt {
        padding: 50px 40px 28px 60px;
        position: absolute;
        right: 0;
        bottom: 0;
        width: 50%
    }
    .staff-doctor__intro-head {
        font-size: 3.4rem;
        margin-bottom: 28px
    }
    .staff-doctor__intro-head>span {
        font-size: 2rem;
        margin-left: 25px;
        vertical-align: baseline
    }
    .staff-doctor__msg {
        margin-top: 60px
    }
    .staff-doctor__msg-head {
        font-size: 2.8rem;
        margin-bottom: 25px
    }
    .staff-doctor__box {
        margin-top: 34px;
        padding: 34px 50px 40px
    }
    .staff-doctor__box-head {
        font-size: 2.6rem;
        margin-bottom: 12px;
        padding-bottom: 14px
    }
    .staff-doctor__box-head-sub {
        font-size: 1.8rem;
        margin-right: 15px;
        vertical-align: baseline
    }
}
@media screen and (min-width: 1121px) {
    .staff-doctor__inner {
        padding: 0
    }
}
#whitening .l-sub-img {
    background-image: url(../img/menu/whitening/bg_mv01_sp.jpg)
}
@media all and (min-width: 600px) {
    #whitening .l-sub-img {
        background-image: url(../img/menu/whitening/bg_mv01_pc.jpg)
    }
}
.whitening-about__content-head {
    margin-bottom: 11px;
    letter-spacing: .15em
}
.whitening-about__content-item+.whitening-about__content-item {
    margin-top: 11px
}
.whitening-about__content-item-head {
    line-height: 1.5
}
.whitening-about__content-item-list-text {
    margin-top: 1px;
    line-height: 1.9;
    letter-spacing: 0
}
@media all and (min-width: 600px) {
    .whitening-about__content-head {
        margin-bottom: 0;
        letter-spacing: .14em;
        line-height: 1.6
    }
    .whitening-about__content-inner {
        padding-top: 34px;
        padding-bottom: 72px
    }
    .whitening-about__content-item {
        margin-top: 37px
    }
    .whitening-about__content-item+.whitening-about__content-item {
        margin-top: 34px
    }
    .whitening-about__content-item-head {
        margin-bottom: 12px
    }
    .whitening-about__content-item-text {
        margin-top: 0 !important;
        letter-spacing: .06em
    }
    .whitening-about__content-item-list-text {
        margin-top: 0px;
        letter-spacing: .062em
    }
}
.whitening-cause {
    letter-spacing: .24em
}
.whitening-cause__inner {
    padding-top: 60px;
    padding-bottom: 60px
}
.whitening-cause__item-area-head {
    margin-bottom: 15px
}
.whitening-cause__item-area-list {
    margin-bottom: 7px
}
.whitening-cause__item-area-list-text {
    letter-spacing: 0
}
.whitening-cause__item-area-text {
    letter-spacing: 0.05em
}
@media all and (min-width: 600px) {
    .whitening-cause__inner {
        padding-top: 123px;
        padding-bottom: 120px
    }
    .whitening-cause__item-area {
        padding-top: 18px
    }
    .whitening-cause__item-area-head {
        margin-bottom: 33px
    }
    .whitening-cause__item-area-list {
        margin-left: 3px;
        margin-bottom: 18px
    }
    .whitening-cause__item-area-list-text {
        letter-spacing: .06em
    }
    .whitening-cause__item-area-text {
        letter-spacing: .06em
    }
}
.whitening-structure__head {
    margin-bottom: 23px
}
.whitening-structure__item {
    counter-reset: item
}
.whitening-structure__item-area {
    padding: 12px 0 18px
}
.whitening-structure__item-area+.whitening-structure__item-area {
    margin-top: 17px
}
.whitening-structure__item-area-head {
    background: none;
    line-height: 1.55;
    padding-left: 0;
    padding-bottom: 9px;
    margin: 0 25px 7px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.whitening-structure__item-area-head:before {
    font-family: 'Jost', sans-serif;
    counter-increment: item;
    content: "" counter(item, decimal-leading-zero);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .15em;
    color: #bcbbb4;
    padding-top: 3px;
    padding-right: 8px
}
.whitening-structure__item-area-text {
    padding: 0 24px;
    line-height: 1.93
}
@media all and (min-width: 600px) {
    .whitening-structure__inner {
        padding-bottom: 58px
    }
    .whitening-structure__item-area {
        margin-top: 15px;
        padding: 30px 0 44px
    }
    .whitening-structure__item-area+.whitening-structure__item-area {
        margin-top: 15px
    }
    .whitening-structure__item-area-head {
        letter-spacing: 0.08em;
        margin: 0 50px 22px
    }
    .whitening-structure__item-area-head:before {
        font-size: 1.8rem;
        padding-top: 5px;
        padding-right: 13px
    }
    .whitening-structure__item-area-text {
        padding: 0 50px
    }
    .whitening-structure__item-area-text.is-small {
        font-size: 1.6rem;
        margin-top: 1px;
        letter-spacing: .06em
    }
}
.whitening-method {
    background: #f4f4f2;
    margin-top: 60px
}
.whitening-method__inner {
    padding-top: 50px;
    padding-bottom: 60px
}
.whitening-method__head {
    margin-bottom: 12px
}
.whitening-method__intro-text {
    margin-bottom: 20px
}
.whitening-method__item {
    counter-reset: item
}
.whitening-method__item-area {
    background: #fff;
    padding: 14px 0 20px
}
.whitening-method__item-area+.whitening-method__item-area {
    margin-top: 15px
}
.whitening-method__item-area-head {
    background: none;
    line-height: 1.55;
    padding-left: 0;
    padding-bottom: 10px;
    margin: 0 25px 7px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    letter-spacing: 0.06em
}
.whitening-method__item-area-head:before {
    font-family: 'Jost', sans-serif;
    counter-increment: item;
    content: "" counter(item, decimal-leading-zero);
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .15em;
    color: #bcbbb4;
    padding-top: 3px;
    padding-right: 8px
}
.whitening-method__item-area-sub {
    line-height: 1.5;
    margin-bottom: 12px;
    padding: 0 25px;
    box-sizing: border-box;
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: .15em
}
.whitening-method__item-area-img {
    margin-top: 18px;
    padding: 0 25px;
    box-sizing: border-box
}
.whitening-method__item-area-text {
    padding: 0 25px;
    letter-spacing: .05em;
    margin-bottom: 10px
}
.whitening-method__item-area-feature {
    padding: 0 25px
}
.whitening-method__item-area-feature-list-text {
    margin-top: 4px;
    letter-spacing: 0
}
@media all and (min-width: 600px) {
    .whitening-method__inner {
        padding-top: 104px;
        padding-bottom: 125px
    }
    .whitening-method__head {
        margin-bottom: 30px
    }
    .whitening-method__intro-text {
        text-align: center;
        margin-bottom: 34px
    }
    .whitening-method__item {
        counter-reset: item
    }
    .whitening-method__item-area {
        margin-top: 0;
        padding: 30px 0 44px
    }
    .whitening-method__item-area.is-wide {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        margin-top: 30px !important
    }
    .whitening-method__item-area+.whitening-method__item-area {
        margin-top: 0
    }
    .whitening-method__item-area-head {
        letter-spacing: 0.08em;
        margin: 0 50px 22px
    }
    .whitening-method__item-area-head:before {
        font-size: 1.8rem;
        padding-top: 5px;
        padding-right: 13px
    }
    .whitening-method__item-area-sub {
        padding: 0 50px;
        font-size: 2.8rem
    }
    .whitening-method__item-area-wrap {
        width: 100%
    }
    .whitening-method__item-area-img {
        min-width: 545px;
        width: 545px;
        margin-top: 0;
        padding: 20px 50px 0 0
    }
    .whitening-method__item-area-text {
        padding: 0 50px;
        margin-bottom: 27px
    }
    .whitening-method__item-area-feature {
        padding: 0 50px
    }
    .whitening-method__item-area-feature-list-text {
        margin-top: 4px;
        letter-spacing: 0.06em
    }
}
.whitening-dual:before {
    height: 44%
}
.whitening-dual__inner {
    padding-top: 61px;
    padding-bottom: 60px
}
.is-imgright .whitening-dual__inner {
    padding-top: 98px
}
.whitening-dual__item-head {
    margin-bottom: 17px;
    font-size: 2.1rem;
    letter-spacing: 0.16em;
    line-height: 1.5
}
.whitening-dual__img {
    margin-bottom: 22px
}
@media all and (min-width: 600px) {
    .whitening-dual:before {
        min-width: 1330px;
        height: 402px
    }
    .whitening-dual__inner {
        padding: 120px 0 170px 539px;
        position: relative
    }
    .whitening-dual__item {
        padding-top: 22px
    }
    .whitening-dual__item-head {
        font-size: 3.6rem;
        line-height: 1.5;
        margin-bottom: 35px
    }
    .whitening-dual__item-text {
        line-height: 1.91
    }
    .whitening-dual__img {
        position: absolute;
        left: -200px;
        width: 650px;
        height: 440px;
        margin-bottom: 0
    }
    .is-imgright .whitening-dual__img {
        right: -200px;
        top: 75px;
        left: auto
    }
}
.whitening-flow__inner {
    padding-top: 60px
}
.whitening-flow__head {
    font-size: 2.4rem;
    letter-spacing: .15em
}
.whitening-flow__list-item {
    padding-bottom: 25px
}
.whitening-flow__list-item-area-head {
    font-weight: bold;
    letter-spacing: .07em
}
.whitening-flow__list-item-img {
    margin-top: 11px
}
@media all and (min-width: 600px) {
    .whitening-flow__inner {
        padding-top: 102px
    }
    .whitening-flow__head {
        font-size: 3.812rem;
        margin-bottom: 37px
    }
    .whitening-flow__list-item {
        padding-bottom: 40px
    }
    .whitening-flow__list-item-img {
        margin-top: 0
    }
    .whitening-flow__list-item-area {
        padding-right: 0
    }
    .whitening-flow__list-item-area-head {
        letter-spacing: .06em;
        padding-right: 40px
    }
    .whitening-flow__list-item-area-text {
        letter-spacing: .062em;
        padding-right: 50px
    }
}

/*こうして欲しいエリア*/
.txt_box {
    background-color: #fff;
    padding: 20px;
    border-radius: 0 0 20px 20px;
}
.txt_box dt {
    position: relative;
    display: block;
    text-align: center;
    margin-bottom: 40px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 20px;
    font-size: 2.0rem;
    color: #a73963;
}
.txt_box dd {
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.06em;
    line-height: 2.0;
    text-align: justify;
    text-justify: inter-ideograph;
    padding: 0 14px;
}
.txt_box .text_request {
    position: relative;
}
.txt_box dt:before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -20px;
    margin-left: -20px;
    display: block;
    width: 40px;
    height: 2px;
    background-color: #333333;
}

.sec_title_block02 {
    position: absolute;
    top: -2px;
    width: 100%;
}
.sec_title_block02 .title {
    text-align: center;
    font-size: 2.8rem;
    letter-spacing: .2rem;
    font-weight: 400;
    color: #bcbbb4;
}
.sec_title_block02 .title .f_roll {
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 2.8rem;
    line-height: 1.333;
    display: block;
    margin-top: 30px;
    margin-bottom: 8px;
    letter-spacing: .2rem;
}
.sec_title_block02 .catch {
    text-align: center;
    font-style: normal;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 3.8rem;
    letter-spacing: 0.06em;
 line-height: 1.0;
    color: #1d1d1d;
    display: block;
}
.f_ryo {
    font-style: normal;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media screen and (max-width: 767px) {
.txt_box dt {
    position: relative;
    display: block;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 40px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    font-size: 20px;
    font-size: 2.0rem;
    color: #a73963;
}
.sec_title_block02 {
    top: -1.4rem;
}
.f_ryo {
    font-style: normal;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
            font-size: 2.7rem;
}
    .sec_title_block02 .title .f_roll {
        font-size: 27px;
        font-size: 2.7rem;
        line-height: 1.4;
        margin-bottom: 0.7rem;
    }
}
/*PHILOSOPHY用*/
.box27 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #62c1ce;
}
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #62c1ce;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box27 p {
    margin: 0; 
    padding: 0;
}

/*診療案内*/
@media (min-width: 769px) {
.sp, .SP {
    display: none !important;
}
.tit01_en {
color: #f3f3f0 !important;
    font-size: 2.8rem;
    letter-spacing: .2rem;
    line-height: 1;
    margin-bottom: 15px;
    font-weight: 400;
}
.tit01_main {
    font-weight: 500;
    font-style: normal;
    letter-spacing: .2em;
    line-height: 1.4;
    font-size: 3.8rem;
}
.sec-top-environment {
        padding: 70px 0px 100px;
    }
.sec-top-environment .shape {
    position: absolute;
    height: 400px;
    left: 0px;
    right: 0px;
    bottom: 237px;
}
.sec-top-environment .shape-ani {
    width: 100%;
    height: 100%;
}
.sec-top-environment .shape img {
    width: 100%;
    height: 100%;
}
.sec-top-environment .environment-row {
    display: flex;
    margin-bottom: 100px;
}
.sec-top-environment .environment-left {
    flex: 1 1 0%;
    padding: 46px 60px 0px 0px;
}
.sec-top-environment .c-ttl02 {
    margin-bottom: 50px;
}
.c-ttl02.is-large {
    font-size: 4rem;
    line-height: 1.73333em;
}
.c-ttl02 {
    font-size: 2.8rem;
    line-height: 1.78571em;
    letter-spacing: 0.1em;
}
.txt-base {
    font-size: 1.6rem;
    line-height: 2.13333em;
    letter-spacing: 0.06em;
}
.sec-top-environment .environment-right {
    width: calc(55.5556%);
}
.sec-top-environment .environment-list > li {
    padding: 30px;
}
.sec-top-environment .environment-item {
    padding-right: 40px;
    transition: 0.5s;
}
.sec-top-environment .environment-img {
    width: 200px;
    height: 150px;
}
.sec-top-environment .environment-ttl {
    padding: 4px 0px 0px 41px;
}
.sec-top-environment .txt-en {
    margin-bottom: 9px;
    font-size: 1.4rem;
    line-height: 1.15625em;
}
.sec-top-environment .environment-list > li {
    padding: 30px;
}
.sec-top-environment .environment-item {
    padding-right: 40px;
    transition: 0.5s;
}
.sec-top-environment .top-faq {
    display: flex;
    align-items: center;
    min-height: 200px;
    background: linear-gradient(90deg, rgb(255, 255, 255) 20%, rgb(245, 244, 242) 200%);
    padding: 10px 90px 10px 320px;
    margin: 0px 40px;
    border-radius: 10px;
}
}

.sec-top-environment {
    position: relative;
}
.sec-top-environment .inner1080 {
    position: relative;
    z-index: 1;
}
.inner1080 {
    max-width: 1130px;
    padding: 0px 25px;
    margin: 0px auto;
}
.c-ttl02 {
    font-weight: 500;
}
.anim-fadeup.is-animated {
    transform: translateY(0px);
    opacity: 1;
}
.c-ttl02-en {
    font-family: Montserrat, sans-serif;
    display: inline-block;
    position: relative;
    font-size: 1.8rem;
    line-height: 1.6em;
    letter-spacing: 0.04em;
    font-weight: 500;
    padding-left: 22px;
    margin-bottom: 18px;
}
.anim-fadeup {
    transform: translateY(20px);
    opacity: 0;
    will-change: transform;
    backface-visibility: hidden;
    transition: 0.5s;
}
.c-ttl02-en::before {
    position: absolute;
    content: "";
    top: 9px;
    left: 0px;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background: #62c1ce;
}
*, ::before, ::after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}
.c-ttl02-en {
    font-family: Montserrat, sans-serif;
    display: inline-block;
    position: relative;
    font-size: 1.8rem;
    line-height: 1.6em;
    letter-spacing: 0.04em;
    font-weight: 500;
    padding-left: 22px;
    margin-bottom: 18px;
}
.c-ttl02-jp {
    display: block;
}
.sec-top-environment .environment-item {
    position: relative;
    display: flex;
    cursor: pointer;
}
.sec-top-environment a {
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s;
}
.sec-top-environment .environment-img {
    overflow: hidden;
    border-radius: 5px;
}
.sec-top-environment .c-hover .img-hover {
    backface-visibility: hidden;
    transform: translateZ(0px);
    overflow: hidden;
    border-radius: 5px;
}
.sec-top-environment .c-hover .img-hover img {
    transform: scale(1);
    will-change: transform;
    transition: 0.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-img img {
    display: block;
    object-fit: cover;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}
.sec-top-environment .environment-ttl {
    align-self: center;
    font-weight: 500;
    flex: 1 1 0%;
}
.sec-top-environment .txt-en {
    letter-spacing: 0.04em;
    font-family: Montserrat, sans-serif;
    display: block;
    color: #a73963;
}
.sec-top-environment .txt-jp {
    font-size: 2.2rem;
    line-height: 1.375em;
    /*letter-spacing: 0.1em;*/
}
.sec-top-environment .environment-item .c-arr01 {
    right: 0px;
}
.c-arr01 {
    position: absolute;
    top: calc(50% - 10px);
    width: 20px;
    height: 20px;
    border-radius: 100%;
    transition: 0.5s;
}
.c-arr01::before {
    position: absolute;
    content: "";
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    width: 20px;
    height: 20px;
    transform: scale(1);
    border-radius: 100%;
    background: #a73963;
    transition: 0.5s;
}
.c-arr01::after {
    position: absolute;
    content: "";
    top: 0px;
    bottom: 0px;
    left: 50%;
    width: 6px;
    height: 8px;
    margin: auto 0px auto -2px;
    background: url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"6\" height=\"8\" viewBox=\"0 0 6 8\"><path id=\"arw\" d=\"M7.067,0,4,3.73.934,0,0,1.135,4,6,8,1.135Z\" transform=\"translate(0 8) rotate(-90)\" fill=\"%23fff\"/></svg>") center center / contain no-repeat;
    transition: 0.5s;
}
*, ::before, ::after {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
}
.sec-top-environment .environment-list > li {
    border-bottom: 1px solid rgb(204, 204, 202);
}
.sec-top-environment .environment-item {
    position: relative;
    display: flex;
    cursor: pointer;
    text-decoration: none;
}

@media (max-width: 768px) {
.sec-top-environment {
    padding: 42px 0 70px;
}
.pc, .PC {
    display: none !important;
}
.sec-top-environment .environment-row {
    margin-bottom: 50px;
}
.sec-top-environment .environment-left {
    margin-bottom: 37px;
}
.sec-top-environment .c-ttl02 {
    margin-bottom: 14px;
}
.c-ttl02.is-large {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.64286em;
}
.c-ttl02 {
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.69231em;
    letter-spacing: .04em;
}
.sec-top-environment .c-ttl02 .c-ttl02-en {
    margin-bottom: 8px;
}
.txt-base {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em;
    letter-spacing: .02em;
}
.sec-top-environment .environment-list>li {
    padding-bottom: 30px;
    margin-bottom: 30px;
}
.sec-top-environment .environment-item {
    padding-right: 40px;
}
.sec-top-environment .environment-img {
    width: 32vw;
    height: 32vw;
}
.sec-top-environment .environment-ttl {
    padding-left: 30px;
}
.sec-top-environment .txt-en {
    margin-bottom: 5px;
    font-size: 28px;
    font-size: 1.4rem;
    line-height: 1.32143em;
}
.sec-top-environment .top-faq {
    background: #fff;
    border-radius: 5px;
    display: block;
}
.sec-top-environment .top-faq:before {
    background-image: url("/wp/wp-content/themes/wp-templ/assets/img/top/faq_img_sp.png");
    background-size: 100% auto;
    width: 85px;
    height: 90px;
    top: 15px;
    right: 34px;
    z-index: 1;
}
.sec-top-environment .top-faq .c-ttl01 {
    background: #f5f5f2;
    padding: 27px;
}
.sec-top-environment .c-ttl01 .c-ttl01-en {
    font-size: 28px;
    font-size: 2.8rem;
    margin-bottom: 8px;
}
.sec-top-environment .c-ttl01 .c-ttl01-en:before {
    width: 8px;
    height: 8px;
    top: 9px;
    left: 2px;
}
.c-ttl01-jp {
    padding-left: 22px;
}
.sec-top-environment .top-faq .txt-base {
    font-size: 15px;
    font-size: 1.6rem;
    line-height: 1.73333em;
    letter-spacing: 0em;
    background: #fff;
    padding: 16px 40px 17px 20px;
    position: relative;
}
.sec-top-environment .top-faq .txt-base:after {
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -7px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15"><path id="arw" d="M7.5,0,6.164,1.312l5.25,5.25H0V8.437H11.414l-5.25,5.25L7.5,15,15,7.5Z" transform="translate(0 0)" fill="%23f2b230"/></svg>') no-repeat center center/100% auto;
}
}
/*imgの角丸用*/
.brad {
    border-radius: 10px;
}
.mb25 {
    margin-bottom: 25px;
}

/*診療案内のCSS*/
/* 通常時 */
.environment-item {
  display: block;
  padding: 20px;
  background: #fff;
  color: #333;
  transition: all 0.3s ease;
}

/* テキストカラー */
.environment-item .environment-ttl span {
  color: inherit;
  transition: color 0.3s ease;
}

/* hover時の反転 */
.environment-item:hover {
  background: #a0375f; /* ← 好きな色に変更可 */
  color: #fff;
}

/* テキストも白に反転 */
.environment-item:hover .environment-ttl span {
  color: #fff;
}

/* アイコンの色反転（i.c-arr01 が border の矢印の場合） */
.environment-item:hover .c-arr01 {
  border-color: #fff;
}

/*診療案内*/

.top_medical {
  background: url(../img/medical2.jpg) center top no-repeat;
  background-size: cover;
  padding-top: 135px;
  padding-bottom: 235px;
}

@media only screen and (max-width: 640px) {
  .top_medical {
    /* sp */
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.top_medical .tit01 {
  margin-bottom: 80px;
}

@media only screen and (max-width: 640px) {
  .top_medical .tit01 {
    /* sp */
    margin-bottom: 50px;
  }
}

.top_medical .tit01 * {
  color: #fff;
}

.top_news .tit01 {
  margin-bottom: 30px;
}
.top_medical .tit01 {
  margin-bottom: 80px;
}

@media only screen and (max-width: 768px) {
  .top_medical .tit01 {
    /* sp */
    margin-bottom: 50px;
  }
  .tit01_en {
  font-size: 2.7rem;
    font-size: 1.8rem;
    letter-spacing: .2rem;
    color: #ffffff !important;
}
.tit01_main{
  font-size: 2.7rem;
  font-weight: bold;
}
}
.top_medical .tit01 * {
  color: #fff;
}
.tit01 {
  text-align: center;
  margin-bottom: 50px;
}
.inView {
  visibility: hidden;
  opacity: 0;
  transition: opacity 1s ease 0.2s, -webkit-transform 1s ease 0.2s;
  transition: transform 1s ease 0.2s, opacity 1s ease 0.2s;
  transition: transform 1s ease 0.2s, opacity 1s ease 0.2s, -webkit-transform 1s ease 0.2s;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

.inView.inView_on {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.top_medical_list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
}

@media print, screen and (min-width: 641px) {
  .top_medical_list {
    /* pc only */
    padding-left: 115px;
    padding-right: 115px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media only screen and (max-width: 640px) {
  .top_medical_list {
    /* sp */
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }
}

.top_medical_list li {
  width: 170px;
}

@media print, screen and (min-width: 641px) {
  .top_medical_list li {
    /* pc only */
  }
  .top_medical_list li:nth-child(1) {
    margin-left: 85px;
  }
  .top_medical_list li:nth-child(4) {
    margin-right: 85px;
  }
  .top_medical_list li:nth-child(n+2):nth-child(-n+4) {
    margin-left: 30px;
  }
  .top_medical_list li:nth-child(n+5):not(:nth-child(5n+5)) {
    margin-left: 30px;
  }
  .top_medical_list li:not(:nth-child(-n+4)) {
    margin-top: 30px;
  }
}

@media only screen and (max-width: 640px) {
  .top_medical_list li {
    /* sp */
    width: 150px;
  }
  .top_medical_list li:not(:nth-child(-n+2)) {
    margin-top: 30px;
  }
  .top_medical_list li:not(:nth-child(2n+1)) {
    margin-left: 16px;
  }
}

.top_medical_list li.small {
  font-size: 14px;
}

@media only screen and (max-width: 640px) {
  .top_medical_list li.small {
    /* sp */
    font-size: 12px;
  }
}
.top_medical_list li a {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  height: 170px;
  text-align: center;
  padding-bottom: 30px;
  text-decoration: none;
}

@media only screen and (max-width: 640px) {
  .top_medical_list li a {
    /* sp */
    height: 150px;
    padding-bottom: 24px;
  }
}

.top_medical_list li a > span {
  width: 100%;
  display: block;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: .1em;
  padding-bottom: 18px;
  position: relative;
}
.top_medical_list li a > span {
  width: 100%;
  display: block;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: .1em;
  padding-bottom: 18px;
  position: relative;
}

.top_medical_list li a > span::before {
  content: "";
  display: block;
  height: 71px;
  background-position: center center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  margin-bottom: 5px;
}

.top_medical_list li a > span::after {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: url(../img/arrow03.png) center bottom no-repeat;
  background-size: auto 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all .3s;
}
@media print, screen and (min-width: 641px) {
  .top_medical_list li a {
    /* pc only */
  }
  .top_medical_list li a:hover > span::before {
    -webkit-animation: rotation .4s ease-in-out;
            animation: rotation .4s ease-in-out;
  }
  .top_medical_list li a:hover > span::after {
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
}

.top_medical_list li:nth-child(1) a > span::before {
  height: 44px;
  background-image: url(../img/icon_medical1.png);
}

.top_medical_list li:nth-child(2) a > span::before {
  height: 62px;
  background-image: url(../img/icon_medical2.png);
}

.top_medical_list li:nth-child(3) a > span::before {
  height: 56px;
  background-image: url(../img/icon_medical3.png);
}

.top_medical_list li:nth-child(4) a > span::before {
  height: 64px;
  background-image: url(../img/icon_medical4.png);
}

.top_medical_list li:nth-child(5) a > span::before {
  height: 61px;
  background-image: url(../img/icon_medical5.png);
}

.top_medical_list li:nth-child(6) a > span::before {
  height: 60px;
  background-image: url(../img/icon_medical6.png);
}

@media only screen and (max-width: 640px) {

  .top_medical_list li:nth-child(6) a > span::before {
    /* sp */
    height: 42px;
  }

}

.top_medical_list li:nth-child(7) a > span::before {
  height: 65px;
  background-image: url(../img/icon_medical7.png);
}

.top_medical_list li:nth-child(8) a > span::before {
  height: 44px;
  background-image: url(../img/icon_medical8.png);
}

.top_medical_list li:nth-child(9) a > span::before {
  height: 48px;
  background-image: url(../img/icon_medical9.png);
}

/*MV切り替え用CSS*/
/* 1. 全体を囲む要素 (.l-main-img) の調整 */
.l-main-img2 {
  position: relative; /* 子要素の absolute の基準にする */
  width: 100%;
  
  /* 高さの確保 (アスペクト比 16:9 の場合) */
  height: 0;
  padding-top: 56.25%; /* (9 / 16) * 100 = 56.25% */
  /* もし 4:3 の比率なら padding-top: 75%; */
  /* 固定の高さにしたい場合は、height: 500px; などと設定してください */
  margin-top: 150px;
  overflow: hidden; /* 念のため */
}

/* 2. スライドショーコンテナ (.slideshow-container) の調整 */
.slideshow-container {
  /* 親要素いっぱいに広げる */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90%; 
}

/* 3. 画像 (.slide-img) の調整 (既存のコードから変更なしの可能性が高い) */
.slide-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* 親要素の高さに合わせる */
  object-fit: cover; /* 画像がコンテナを覆うように調整 */
  
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
  z-index: 0; /* テキストより奥に配置 */
}
.slide-img.active {
  opacity: 1;
  z-index: 1; /* フェードイン中は他の画像より手前に */
}


/* 4. 画像の上に重ねるテキスト情報 (.l-main-img__inner) の調整 */
.l-main-img__inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10; /* 画像よりずっと手前に配置 */
  /* ここに flex や grid を使ってコンテンツを中央などに配置するスタイルを追加 */
  display: flex;
  align-items: center; /* 縦方向中央揃えの例 */
  justify-content: center; /* 横方向中央揃えの例 */
}
@media only screen and (max-width: 768px) {
    .l-main-img2 {
  position: relative; /* 子要素の absolute の基準にする */
  width: 100%;
  
  /* 高さの確保 (アスペクト比 16:9 の場合) */
  height: 0;
  padding-top: 56.25%; /* (9 / 16) * 100 = 56.25% */
  /* もし 4:3 の比率なら padding-top: 75%; */
  /* 固定の高さにしたい場合は、height: 500px; などと設定してください */
  margin-top: 0px;
  overflow: hidden; /* 念のため */
}
  /* 2. スライドショーコンテナ (.slideshow-container) の調整 */
.slideshow-container {
  /* 親要素いっぱいに広げる */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; 
}
  .l-main-img2 {
  position: relative; /* 子要素の absolute の基準にする */
  width: 100%;
  
  /* 高さの確保 (アスペクト比 16:9 の場合) */
  height: 580px;
  padding-top: 56.25%; /* (9 / 16) * 100 = 56.25% */
  /* もし 4:3 の比率なら padding-top: 75%; */
  /* 固定の高さにしたい場合は、height: 500px; などと設定してください */
  
  overflow: hidden; /* 念のため */
}
.slide-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* 親要素の高さに合わせる */
  object-fit: cover; /* 画像がコンテナを覆うように調整 */
  
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
  z-index: 0; /* テキストより奥に配置 */
}

/* 4. 画像の上に重ねるテキスト情報 (.l-main-img__inner) の調整 */
.l-main-img__inner {
  position: absolute;
  top: 280px;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10; /* 画像よりずっと手前に配置 */
  /* ここに flex や grid を使ってコンテンツを中央などに配置するスタイルを追加 */
  display: flex;
  align-items: center; /* 縦方向中央揃えの例 */
  justify-content: center; /* 横方向中央揃えの例 */
}
}

/*求人バナー用CSS*/
.bnr_recruit{
max-width: 937px;  /* 親要素からはみ出さない */
  height: auto;     /* 縦横比を維持する */
  display: block;   /* 下の隙間を消し、レイアウトを安定させる */
  margin: 0 auto;   /* 中央寄せにする場合 */
  margin-top: -50px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
    .bnr_recruit{
max-width: 937px;  /* 親要素からはみ出さない */
  height: auto;     /* 縦横比を維持する */
  display: block;   /* 下の隙間を消し、レイアウトを安定させる */
  margin: 0 auto;   /* 中央寄せにする場合 */
  margin-top: 0px;
  margin-bottom: 10px;
}
.top_medical_list li a > span {
  width: 100%;
  display: block;
  font-family: dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  padding-bottom: 18px;
  font-size: 1.5rem;
  position: relative;
}
}

/*SP時電話問い合わせボタン*/
/* PCでは非表示 */
.sp-fixed-tel {
  display: none;
}

/* スマホ表示の設定 */
@media screen and (max-width: 767px) {
  .sp-fixed-tel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* アイコンと文字の間隔 */
    
    /* 固定位置の設定 */
    position: fixed;
    bottom: 20px;       /* 下から少し浮かすのがおしゃれのコツ */
    left: 5%;           /* 左右に余白を作る */
    width: 90%;         /* 横幅いっぱいにしないことで「浮かんでいる感」を出す */
    height: 56px;
    z-index: 9999;      /* 他の要素より手前に表示 */
    
    /* デザイン装飾 */
    background-color: #ae9f80; /* 目立つオレンジ（お好みの色に） */
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    border-radius: 50px;       /* 完全に丸くする */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); /* 影をつけて立体感を出す */
    transition: transform 0.3s ease; /* タップ時の動き */
  }

  /* タップした時に少し沈む演出 */
  .sp-fixed-tel:active {
    transform: scale(0.98);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }

  .tel-icon {
    font-size: 20px;
  }
}

/*チェックリスト用CSS*/
/* 全体 */
.checklist {
  background: #f7f9fb;
  padding: 24px;
  border-radius: 14px;
  max-width: 100%;
}

/* タイトル */
.checklist-title {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: #2b2b2b;
  position: relative;
  padding-left: 12px;
}

.checklist-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 1.2em;
  background: #4caf93;
  border-radius: 2px;
  transform: translateY(-50%);
}

/* リスト */
.checklist-items {
  list-style: none;
  padding: 0;
  margin: 0;
}

.checklist-items li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 12px;
  font-size: 1.8rem;
  color: #444;
  line-height: 1.6;
}

/* チェックボックス風アイコン */
.checklist-items li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: #4caf93;
}

/* チェックマーク */
.checklist-items li::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 0.6em;
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}

.mt30{
    margin-top: 30px;
}
.mt50{
    margin-top: 50px;
}
/* PCサイズの設定（デフォルト） */
.general-importace__inner {
    display: flex;
    flex-wrap: wrap; /* 要素が入り切らない場合の折り返し許可 */
    align-items: center; /* 垂直方向の中央揃え（お好みで） */
    justify-content: space-between; /* 左右の余白を均等に */
    gap: 30px; /* pとimgの間の余白 */
}

/* タイトル(h2)は横並びの対象外（100%幅）にする */
.general-importace__head {
    width: 100%;
}

/* テキスト(p)の幅調整 */
.general-importace__text {
    flex: 1; /* 空いているスペースを埋める */
    min-width: 300px; /* 極端に狭くなるのを防ぐ */
    text-align: justify;
}

/* 画像(img)の幅調整 */
.general-importace__inner img {
    width: 45%; /* PC時の画像の横幅（適宜調整してください） */
    height: auto;
}

/* --- スマホサイズの設定（767px以下の場合） --- */
@media screen and (max-width: 767px) {
    .general-importace__inner {
        display: block; /* Flexboxを解除して縦並びにする */
    }

    .general-importace__inner img {
        width: 100%; /* スマホ時は画像を横幅いっぱいに */
        margin-top: 20px; /* テキストとの間に隙間を作る */
    }
}

/*表示アニメーションCSS*/
/* 最初は透明で左に20pxズラしておく */
.fade-in-left {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.8s, transform 0.8s;
}

/* JSでこのクラスがついたら表示する */
.fade-in-left.is-active {
  opacity: 1;
  transform: translateX(0);
}
/* 最初は透明で「右」に20pxズラしておく */
.fade-in-right {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.8s, transform 0.8s;
}

/* JSでこのクラスがついたら元の位置（0）に戻る */
.fade-in-right.is-active {
  opacity: 1;
  transform: translateX(0);
}

.stylish-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.stylish-list li {
  position: relative;
  padding: 12px 16px 12px 40px;
  margin-bottom: 10px;
  background: #f7f7f7;
  border-radius: 8px;
  font-size: 15px;
  transition: 0.3s ease;
}

.stylish-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 22px; /* 左上に固定 */
  width: 10px;
  height: 10px;
  background: #c9a24d;
  border-radius: 50%;
}

.stylish-list li:hover {
  background: #ececec;
}
.arrow-link a {
  position: relative;
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  padding-right: 20px;
  transition: 0.3s ease;
}

/* 矢印 */
.arrow-link a::after {
    position: absolute;
    display: block;
    content: '';
    top: 0;
    right: 4px;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4.5px 0 4.5px 7.5px;
    border-color: transparent transparent transparent #ffffff
}

/* ホバー */
.arrow-link a:hover {
  opacity: 0.7;
}

/* フッター内でボタン風にする */
a.btn_44 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 80%;
	padding: 1rem 2rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #fff;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
    border-radius: 10px;
}
a.btn_44::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(39, 172, 217);
	transform: translateX(-100%);
	transition: all .3s;
	z-index: -1;
}
a.btn_44:hover::before {
	transform: translateX(0);
}
a.btn_44:hover {
	color: #fff;
}

a.btn_45 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 80%;
	padding: 1rem 2rem;
	font-weight: bold;
	border: 2px solid #292929;
	color: #fff;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
    border-radius: 10px;
}
a.btn_45::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(18, 18, 19);
	transform: translateX(-100%);
	transition: all .3s;
	z-index: -1;
}
a.btn_45:hover::before {
	transform: translateX(0);
}
a.btn_45:hover {
	color: #363636;
}

/* --- スマホサイズの設定（767px以下の場合） --- */
@media screen and (max-width: 767px) {
a.btn_44 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 70%;
    margin: auto;
	padding: 1rem 2rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #fff;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
}
a.btn_45 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 90%;
    margin: auto;
	padding: 1rem 2rem;
	font-weight: bold;
    background-color: #6b6b6b;
	border: 2px solid #191c1d;
	color: #ffffff;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
    margin-bottom: 15px;
}
    .home-promise {
        padding-left: 0px;
        padding-right: 0px;
        box-sizing: border-box; /* 余白を含めて横幅を計算させる（はみ出し防止） */
    }
}
/* ipad表示用CSS */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    /* リストアイテムのレイアウト調整（必要に応じて） */
    .home-promise-list__item {
        display: block; /* 横並びなら縦並びに変えるなど */
    }

    .home-promise-list__img {
        width: 100%;    /* 親要素の幅に合わせる */
        max-width: 400px; /* 大きくなりすぎない上限を指定 */
        margin: 0 auto;  /* 中央寄せ */
    }

    .home-promise-list__img img {
        width: 100%;    /* 枠内に収める */
        height: auto;   /* 高さは比率を維持して自動 */
    }
/* 1. セクション全体に左右の余白（20px）を作る */
    .home-promise {
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box; /* 余白を含めて横幅を計算させる（はみ出し防止） */
    }

    /* 2. 画像のサイズ調整（前回分） */
    .home-promise-list__img img {
        width: 100%;    /* 親要素の幅に合わせる */
        height: auto;   /* または指定の高さ（例：200px） */
        object-fit: cover;
    }

    /* もしタイトル部分（sec_title_block02）も左右に余裕を持たせたい場合 */
    .sec_title_block02 {
        padding-left: 20px;
        padding-right: 20px;
    }
.txt_box {
    background-color: #fff;
    padding: 20px;
    border-radius: 0 0 20px 20px;
    margin-top: -60px;
}
    .l-main-img__copyarea {
        position: inherit;
        padding: 30px 20px 30px 20px;
        width: 100%;
        max-width: 600px;
        margin-top: 280px;
    }
    .home-recruit__img {
        width: 76%;
        min-width: 550px;
        margin: 190px 0 0 3%;
    }
    #dentalcare{
        padding-left: 40px;
        padding-right: 40px;
    }
    #cause{
        padding-left: 40px;
        padding-right: 40px;        
    }
        .general-cause__list-item {
        width: 500px;
        padding: 26px 50px 45px;
        margin-top: 0;
    }
    .top_medical_list {
        padding-left: 115px;
        padding-right: 115px;
        max-width: 1024px;
        margin-left: auto;
        margin-right: auto;
    }
      .top_medical_list li {
    /* pc only */
  }
  .top_medical_list li:nth-child(1) {
    margin-left: 25px;
  }
  .top_medical_list li:nth-child(4) {
    margin-right: 25px;
  }
  .top_medical_list li:nth-child(n+2):nth-child(-n+4) {
    margin-left: 10px;
  }
  .top_medical_list li:nth-child(n+5):not(:nth-child(5n+5)) {
    margin-left: 10px;
  }
  .top_medical_list li:not(:nth-child(-n+4)) {
    margin-top: 10px;
  }
}
/* SNSエリアの余白調整 */
.ft-info__sns {
    margin-top: 15px;
    margin-bottom: 10px;
}

/* インスタグラムリンクの装飾 */
.instagram-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: #ffffff; /* 既存の文字色に合わせる */
    transition: opacity 0.3s ease;
}

/* アイコンのサイズと色 */
.instagram-link i {
    font-size: 24px; /* アイコンを少し大きめに */
    margin-right: 8px;
    color: #E1306C; /* インスタカラー（お好みで#333などへ変更してください） */
}

/* テキストのスタイル */
.instagram-link span {
    font-size: 14px;
    font-weight: bold;
}

/* ホバー時に少し薄くする */
.instagram-link:hover {
    opacity: 0.7;
}

/* スマホ時の調整（必要であれば） */
@media screen and (max-width: 767px) {
    .ft-info__sns {
        justify-content: center; /* 中央寄せにする場合 */
        display: flex;
    }
}
.color_black{
    color: #181818;
}
/*略歴用CSS*/
.general-dentalcare__item-img {
  display: flex;
  flex-direction: column;
}

.general-dentalcare__item-img img {
	display: block;
	width: 100%;
	height: auto;
}

.general-dentalcare__caption {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  display: block;
  text-align: justify;
}

.general-dentalcare__caption strong {
	display: block;
	margin-bottom: 4px;
	font-weight: bold;
}
@media screen and (min-width: 768px) {
  .general-dentalcare__caption {
    display: block;
  }
}