@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");

/*===================================
  基本設定
===================================*/
:root {
    --c-01: #1db681;
    --c-02: #fc9b2a;
    --c-03: #f0ffd9;
    --c-04: #384076;
    --c-05: #fff9c9;
    --c-06: #fdefcd;
    --c-07: #d2f1e6;
    --c-08: #f0fbf3;
    --c-10: rgba(255, 255, 255, 0.8);
    --f01: "Noto Serif JP", serif;
    --f02: "Noto Sans JP", sans-serif;
    --f03: "Montserrat", sans-serif;
    --f99: "font awesome 5 free";
}
.c-01 {
    color: var(--c-01);
}
.c-02 {
    color: var(--c-02);
}
.c-03 {
    color: var(--c-03);
}
.c-04 {
    color: var(--c-04);
}
.c-05 {
    color: var(--c-05);
}
.c-06 {
    color: var(--c-06);
}
.bgc-01 {
    background: var(--c-01);
}
.bgc-02 {
    background: var(--c-02);
}
.bgc-03 {
    background: var(--c-03);
}
.bgc-04 {
    background: var(--c-04);
}
.bgc-05 {
    background: var(--c-05);
}
.bgc-06 {
    background: var(--c-06);
}
.bgc-07 {
    background: var(--c-07);
}
.bgc-08 {
    background: var(--c-08);
}
.bgc-10 {
    background: var(--c-10);
}

.f-02 {
    font-family: var(--f02);
}

.f-03 {
    font-family: var(--f03);
}

/* 共通コンテンツ間隔 */
.area {
    padding-top: 80px;
    padding-bottom: 80px;
}
@media (max-width: 599px) {
    .area {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}
/* 共通要素読み込みコメント（取り込み後削除） */
[class*="load-"] {
    min-height: 50px;
    border: 3px solid #00bcd4;
    position: relative;
}
[class*="load-"]:before {
    content: "共通要素";
    display: block;
    font-weight: bold;
    color: #ff0;
    text-align: center;
    background: #00bcd4;
    position: absolute;
    z-index: 100;
}
/*===================================
  共通ブロック　block-cmn
==================================*/
/* 共通ブロック１ */
/*===================================
  共通タイトル　ttl-cmn
===================================*/
/* 共通タイトル１ */
.ttl-cmn01 {
    font-size: 28px;
    text-align: center;
}
@media (max-width: 599px) {
    .ttl-cmn01 {
        font-size: 24px;
    }
}
/*===================================
  共通リスト　list-cmn
==================================*/
/* 共通リスト１ */
/*===================================
  共通ボタン btn-cmn
===================================*/
/* 共通ボタン１ */
.btn-cmn01 {
    max-width: 180px;
    margin-top: 50px;
}
.btn-cmn01 a {
    display: block;
    padding: 5px 20px;
    color: #fff;
    text-align: center;
    background: #000;
    position: relative;
}
.btn-cmn01 a:after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 5px;
}
.btn-cmn01.btn-back a:after {
    content: "\f053";
    left: 5px;
    right: inherit;
}
/*===================================
  他共通エレメント -cmn
===================================*/
/*===================================
  共通要素
===================================*/
/*h1ページタイトル */
.pagettl {
    padding: 0 5px;
    font-size: 12px;
}
/**
ヘッダー
header
*/
.header .contents {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
}
.header .logo img {
    max-height: 50px;
}
.header .right {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: end;
    justify-content: flex-end;
}
.header .right .txt {
    margin-right: 10px;
    line-height: 120%;
}
.header .right .txtin {
    display: block;
}
.header .right .tel a {
    font-weight: bold;
    font-size: 30px;
}
.header .right .tel a:before {
    content: "\f879";
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 24px;
}
@media (max-width: 1024px) {
    .header .logo img {
        max-height: 32px;
    }
    .header .right {
        display: none;
    }
}
/* 下部固定コンテンツ */
.fix-bottom {
    display: none;
}
@media (max-width: 1024px) {
    .fix-bottom {
        width: 100%;
        display: -webkit-box;
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 250;
    }
    .fix-bottom .item {
        width: 50%;
        text-align: center;
    }
    .fix-bottom a {
        height: 100%;
        display: -webkit-box;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -webkit-box-pack: center;
        justify-content: center;
        padding: 10px 5px;
    }
    .fix-bottom .tel {
        font-size: 14px;
        color: #fff;
        background: #000;
    }
    .fix-bottom .tel a:before {
        content: "\f879";
        margin-right: 5px;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
    }
    .fix-bottom .contact {
        color: #000;
        background: #eee;
    }
    .fix-bottom .contact a:before {
        content: "\f0e0";
        margin-right: 5px;
        font-family: "Font Awesome 5 Free";
        font-weight: 600;
    }
}
/**
グローバルナビ
gnav
*/
.gnav {
    width: 80%;
    max-width: 1000px;
    transform: translateX(-50%);
    position: absolute;
    top: 65vh;
    left: 50%;
    z-index: 100;
}

.top-header-area .gnav {
    width: 80%;
    max-width: 1000px;
    transform: translateX(-50%);
    position: absolute;
    top: initial;
    bottom: 10%;
    left: 50%;
    z-index: 100;
}

.gnav .box {
    padding: 30px;
    letter-spacing: 1px;
    background: rgb(255 255 255 / 50%);
}
.gnav.fixed {
    width: 100%;
    max-width: 100%;
    height: auto;
    background: #fff;
    box-shadow: 0 0 5px 0 #999;
    transform: none;
    position: fixed;
    top: 0;
    bottom: initial;
    left: 0;
    z-index: 200;
}
.gnav .wrap {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
}
.gnav .navlogo {
    display: none;
    max-width: 250px;
}

/* .gnav.fixed .navlogo {
    display: block;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
} */

.gnav .navlogo a{
  display: block;
}
.gnav .list01 {
    width: 100%;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.gnav .item01 {
    font-weight: 600;
    font-size: 18px;
}
.gnav .item01>a,
.gnav .item01 .itemin {
    display: block;
    padding: 5px;
    cursor: pointer;
}
.gnav .item01.-parent {
    position: relative;
}
.gnav .list02 {
    width: 400px;
    visibility: hidden;
    background: rgba(255,255,255,0.8) content-box;
    box-shadow: 2px 2px 6px #a8a8a8;
    opacity: 0;
    transition: none;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 100%;
    left: 50%;
}

.gnav .list02 .box {
    padding: 20px;
    position: relative;
}
.gnav .list02 .box:before {
    content: "";
    width: 0;
    width: 12px;
    height: 0;
    height: 12px;
    display: inline-block;
    margin: auto;
    background: #fff;
    -webkit-box-shadow: -2px -2px 3px #dedede;
    box-shadow: -2px -2px 3px #dedede;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
}
.gnav .list02 .box .ttl {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-size: 18px;
    border-bottom: 1px solid;
}
.gnav .item01.-parent:hover .list02 {
    visibility: visible;
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.gnav .item02 a {
    display: block;
    padding: 5px;
}
.gnav .item02 a:hover {
    color: var(--c-01);
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}


.gnav .list02 .text a {
    padding: 2px 0 2px 20px;
    font-size: 16px;
    position: relative;
}
.gnav .list02 .text a:before {
    content: "";
    width: 10px;
    height: 1px;
    display: block;
    background: #000;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    position: absolute;
    top: 13px;
    left: 0;
}

.gnav .list02 .text a:hover:before {
    background: var(--c-01);
}

@media (max-width: 1024px) {
    .gnav,
    .top-header-area .gnav{
        width: 100%;
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        background: rgba(255,255,255,0.9);
        -webkit-transition: -webkit-transform ease 0.5s;
        transition: -webkit-transform ease 0.5s;
        transition: transform ease 0.5s;
        transition: transform ease 0.5s, -webkit-transform ease 0.5s;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        position: fixed;
        top: 0;
        left: initial;
        right: 0;
    }
    .gnav.action {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        z-index: 250;
    }
    .gnav .box {
        padding: 50px 5px;
    }
    .gnav .wrap {
        padding-bottom: 100px;
    }
    .gnav .navlogo {
        width: 100%;
        display: block;
        margin-bottom: 20px;
        padding-right: 40px;
        font-weight: bold;
        font-size: 20px;
    }
    .gnav .item01 {
        width: 100%;
        min-height: 40px;
        margin: 0 0 30px 0;
        text-align: left;
    }
    .gnav .list02 {
        width: 100%;
        display: none;
        visibility: visible;
        padding-top: 0;
        background: none;
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        position: relative;
        top: 0;
        left: 0;
    }
    .gnav .item01.-parent:hover .list02 {
        transition: none;
    }
    .gnav .list02 .box {
        padding: 15px;
    }
    .gnav .item01 .itemin {
        margin-bottom: 10px;
    }
    .gnav .list02 .box:before {
        left: 15px;
        right: initial;
    }
    .gnav .list02 .text a{
      margin-bottom: 10px;
    }
}
[data-element-id] .gnav.fixed {
    position: relative;
}
.overlay {
    overflow: hidden;
}
.overlay:after {
    content: "";
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: 0.3;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 249;
}
/*トップへ戻る*/
.totop {
    width: 40px;
    height: 40px;
    font-size: 20px;
    color: #fff;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background: var(--c-02);
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 200;
}
.totop:before {
    content: "\f077";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
}
@media (max-width: 1024px) {
    .totop {
        bottom: 50px;
        right: 10px;
    }
}
/**
フッター
footer
*/
.footer .copy {
    padding: 15px 0;
    color: #fff;
    text-align: center;
    background: var(--c-01);
}
@media (max-width: 1024px) {
    .footer .copy {
        padding-bottom: 60px;
    }
}
@media (max-width: 599px){
  .footer .copy {
        padding-bottom: 120px;
    }
}
/**
フッターナビ
fnav
*/
.fnav {
    padding: 50px 0;
    background: #eee;
}
.fnav .wrap {
    display: -webkit-box;
    display: flex;
}
.fnav .list01 {
    width: 50%;
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}
.fnav .item {
    margin-bottom: 10px;
    padding-right: 10px;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}
.fnav .item a {
    display: block;
    padding-left: 12px;
    position: relative;
}
.fnav .item a:before {
    content: "";
    width: 4px;
    height: 4px;
    display: block;
    border-radius: 50%;
    background: #000;
    position: absolute;
    top: 10px;
    left: 0;
}
.fnav .list02 {
    width: 50%;
}
.fnav .datawrap {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}
.fnav .datattl {
    margin-bottom: 10px;
    padding-left: 12px;
    position: relative;
}
.fnav .datattl:before {
    content: "";
    width: 4px;
    height: 4px;
    display: block;
    border-radius: 50%;
    background: #000;
    position: absolute;
    top: 10px;
    left: 0;
}
.fnav .data {
    margin-bottom: 5px;
    padding-right: 10px;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}
.fnav .data a {
    padding-left: 12px;
    position: relative;
}
.fnav .data a:before {
    content: "";
    width: 5px;
    height: 1px;
    display: block;
    background: #000;
    position: absolute;
    top: 7px;
    left: 0;
}
@media (max-width: 1024px) {
    .fnav .wrap {
        flex-wrap: wrap;
    }
    .fnav .list01 {
        width: 100%;
        margin-bottom: 10px;
    }
    .fnav .list02 {
        width: 100%;
    }
}
@media (max-width: 599px) {
    .fnav .list01 {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
    .fnav .datawrap {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}
/**
2カラムページ
*/
.column2 {
    display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}
.column2 .side {
    width: 200px;
}
.column2 .mainwrap {
    width: calc(100% - 250px);
}
@media (max-width: 1024px) {
    .column2 {
        flex-wrap: wrap;
    }
    .column2 .side {
        width: 100%;
        -webkit-box-ordinal-group: 4;
        order: 3;
        margin-bottom: 50px;
    }
    .column2 .mainwrap {
        width: 100%;
        -webkit-box-ordinal-group: 3;
        order: 2;
        margin-bottom: 50px;
    }
}
/* サイドメニュー */
.side .list {
    margin-bottom: 30px;
}
@media (max-width: 1024px) {
    .side {
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
    .side .list {
        width: 48%;
    }
}
@media (max-width: 599px) {
    .side .list {
        width: 100%;
    }
}
.list-side .datattl {
    margin-bottom: 20px;
    padding: 10px;
    font-size: 20px;
    color: #fff;
    text-align: center;
    background: var(--c-01);
    position: relative;
}
.list-side .data {
    margin-bottom: 10px;
    padding-left: 10px;
}
.list-side a {
    display: inline-block;
    padding-left: 20px;
    position: relative;
}
.list-side a:before {
    content: "ー";
    color: var(--c-01);
    position: absolute;
    left: 0;
}
@media (max-width: 1024px) {
    .list-side.type-archive .datawrap {
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }
    .list-side.type-archive .datawrap .datattl {
        width: 100%;
    }
    .list-side.type-archive .datawrap .data {
        width: 48%;
    }
}
/*===================================
  各個別コンテンツ
===================================*/
/**
トップ
*/
/*ホームビジュアル（トップ）*/
.homevisual .head {
    font-weight: bold;
    font-size: 40px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute !important;
    top: 50%;
    left: 50%;
}
@media (max-width: 1024px) {
    .homevisual .img:before {
        padding-top: 50%;
    }
}
@media (max-width: 599px) {
    .homevisual .head {
        font-size: 28px;
    }
    .homevisual .img:before {
        padding-top: 90%;
    }
}
/* A-BiSUスライダー用 */
.main-visual {
    position: relative;
}

.main-visual .uk-slidenav-position {
    height: 100%;
}

.main-visual .uk-slideshow {
    height: 100% !important;
    max-height: 800px;
    overflow: hidden;
    position: relative;
}

.main-visual .uk-slideshow::after {
    content: "";
    display: block;
    padding-top: 65%;
}

.main-visual .uk-slideshow li {
    width: 100%;
    height: 100% !important;
    position: absolute;
    top: 0;
}

.main-visual .uk-slideshow li>div {
    height: 100% !important;
}

.main-visual .uk-slideshow img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: "object-fit: cover; object-position: center center;";
}
.main-visual .head {
    width: 96%;
    padding: 30px 0;
    font-weight: 500;
    font-size: 36px;
    color: #333;
    letter-spacing: 2px;
    text-align: center;
    filter: drop-shadow(1px 1px 0px White) drop-shadow(-1px -1px 0px White) drop-shadow(-1px 2px 0px White) drop-shadow(1px -1px 0px White);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 60%;
    left: 50%;
    z-index:2;
}
.main-visual .logo {
    width: 100%;
    max-width: 500px;
    filter: drop-shadow(1px 1px 0px White) drop-shadow(-1px -1px 0px White) drop-shadow(-1px 2px 0px White) drop-shadow(1px -1px 0px White);
    transform: translateX(-50%);
    position: absolute;
    top: 35%;
    left: 50%;
}
@media (max-width: 1024px) {
    .main-visual .head {
        font-size: 30px;
        top: 75%;
    }
}
@media (max-width: 599px) {
    .main-visual .uk-slideshow::after {
        padding-top: 100%;
    }
    .main-visual .logo {
        transform: translate(-50%, -50%);
        top: 50%;
    }
    .main-visual .head {
        font-size: 24px;
        top: 80%;
    }
}

/*IE対策*/
/* スリックスライダー（トップ） */
.slick01 {
    padding: 0 20px;
}
.slick01.slick-dotted {
    margin-bottom: 50px;
}
.slick01 .btn-slick {
    font-size: 30px;
    cursor: pointer;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    z-index: 1;
}
.slick01 .btn-slick.btn-back {
    left: 0;
}
.slick01 .btn-slick.btn-next {
    right: 0;
}
.slick01 .slick-dots {
    bottom: -40px;
    left: 0;
}
@media (max-width: 599px) {
    .slick01 {
        padding: 0 10px;
    }
    .slick01 .btn-slick {
        font-size: 20px;
    }
}
/**
下層共通
*/
/* トップビジュアル（下層共通） */
.topvisual {
    position: relative;
}
.topvisual .img {
    height: 100% !important;
    max-height: 800px;
    background: #fff;
    position: relative;
}
.topvisual .img:before {
    content: "";
    display: block;
    padding-top: 65%;
    position: relative;
    z-index: -1;
}
.topvisual .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
    opacity: 0.4;
    position: absolute;
    top: 0;
    left: 0;
}
.topvisual .head {
    width: 96%;
    max-width: 1000px;
    font-family: var(--f-03);
    font-weight: bold;
    font-size: 34px;
    letter-spacing: 2px;
    text-align: center;
    text-shadow: 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white, 0 0 4px white;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute !important;
    top: 50%;
    left: 50%;
}
@media (max-width: 599px) {
    .topvisual .head {
        font-size: 24px;
    }
    .topvisual .img:before {
        padding-top: 70%;
    }
}
/* パンくずリスト */
.breadcrumbs {
    padding: 30px 0;
}

.breadcrumbs-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.breadcrumbs-list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}

.breadcrumbs-list li {
    display: inline;
    font-size: 14px;
    letter-spacing: 1px;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage a {
    font-weight: bold;
    color: var(--c-01);
}

.breadcrumbs-list li+li::before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    margin: 0 10px 0 0px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media (max-width: 1024px) {
    .breadcrumbs {
        padding: 20px 0;
        font-size: 14px;
    }

    .breadcrumbs-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .breadcrumbs-list {
        width: 90%;
    }

    .breadcrumbs li {
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 8px;
        height: 8px;
    }
}

@media (max-width: 599px) {
    .breadcrumbs {
        padding: 15px 0;
        font-size: 12px;
    }

    .breadcrumbs li+li::before {
        width: 6px;
        height: 6px;
    }
}
/* ページネーション */
.pagenation {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}
.pagenation .item {
    margin: 0 10px;
}
.pagenation .prev {
    position: relative;
}
.pagenation .prev a:before {
    content: "\f053";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}
.pagenation .next {
    position: relative;
}
.pagenation .next a:before {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}
.pagenation a,
.pagenation .now {
    font-weight: bold;
}
.pagenation .number a,
.pagenation .now,
.pagenation .next a,
.pagenation .prev a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #000;
    text-align: center;
    border: none;
    border-radius: 50%;
}
.pagenation .number a:hover,
.pagenation .next a:hover,
.pagenation .prev a:hover,
.pagenation .now {
    color: #fff;
    background: var(--c-01);
    opacity: 1;
}
@media (max-width: 599px) {
    .pagenation .item {
        margin: 0 5px;
    }
    .pagenation .prev {
        margin-right: 10px;
    }
    .pagenation .next {
        margin-left: 10px;
    }
}
/**
各下層ページ
*/
/* 記事一覧ページ */
.list-article .cate span {
    display: inline-block;
    margin: 0 5px 2px 0px;
    padding: 0 5px;
    color: #fff;
    background: #000;
}
.list-article .cate .cate1 {
    background: #00f;
}
/* 記事詳細ページ */
.articledtl01 .cate span {
    display: inline-block;
    margin: 0 5px 2px 0px;
    padding: 0 5px;
    color: #fff;
    background: #000;
}
.articledtl01 .cate .cate1 {
    background: #00f;
}
/* ギャラリー */
.list-gallery01 a {
    display: block;
    position: relative;
}
.list-gallery01 .img {
    opacity: 1;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.list-gallery01 .block-txt {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    visibility: hidden;
    overflow: hidden;
    padding: 10px;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    position: absolute;
    top: 0;
    left: 0;
}
.list-gallery01 .cate {
    margin-bottom: 5px;
    font-size: 14px;
}
.list-gallery01 .head {
    font-size: 18px;
}
.list-gallery01 a:hover {
    opacity: 1;
}
.list-gallery01 a:hover .img {
    opacity: 0.5;
}
.list-gallery01 a:hover .block-txt {
    visibility: visible;
    opacity: 1;
}
@media (max-width: 599px) {
    .list-gallery01 .block-txt {
        display: none;
    }
    .list-gallery01 .head {
        font-size: 14px;
    }
}
/* ギャラリー詳細 */
.gallerydtl01 .thumbnail {
    cursor: pointer;
}
/* フォーム */
.form .box {
    display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    padding: 20px 0;
    border-bottom: 2px solid #999;
}
.form .datattl {
    width: 200px;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-shrink: 0;
    font-weight: bold;
    color: #000;
}
.form .require {
    display: inline-block;
    margin-left: 10px;
    padding: 0 4px;
    font-size: 14px;
    color: #fff;
    line-height: 1.6em;
    background: #000;
}
.form .data {
    width: 100%;
    padding-left: 50px;
}
.form .data input {
    width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 5px;
    box-sizing: border-box;
    border: 1px solid #999;
}
.form .data input[type="radio"] {
    display: none;
}
.form .data input[type="radio"]+label {
    margin-right: 20px;
    padding-left: 20px;
    box-sizing: border-box;
    line-height: 200%;
    position: relative;
}
.form .data input[type="radio"]+label::before {
    content: "";
    width: 10px;
    height: 10px;
    display: block;
    border: 1px solid #303841;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 1px 1px 0 1px #999;
    position: absolute;
    top: 4px;
    left: 0;
}
.form .data input[type="radio"]:checked+label::after {
    content: "";
    width: 7px;
    height: 7px;
    display: block;
    border-radius: 50%;
    background: #303841;
    position: absolute;
    top: 7px;
    left: 3px;
}
.form .data input[type="radio"]:checked+label {
    -webkit-transition: 0.6s;
    transition: 0.6s;
}
.form .data input[type="number"] {
    width: 70px;
    margin-right: 10px;
}
.form .data select {
    padding: 5px;
    box-sizing: border-box;
    color: inherit;
    border: 1px solid #999;
}
.form .data textarea {
    width: 100%;
    height: 170px;
    padding: 5px;
    box-sizing: border-box;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border: 1px solid #999;
}
.form .data01 div {
    display: inline-block;
}
@media (max-width: 1024px) {
    .form .item {
        flex-wrap: wrap;
    }
    .form .datattl {
        display: block;
        margin-bottom: 10px;
    }
    .form .data {
        padding-left: 0;
    }
}

.formitem dd input[type="radio"] {
    padding-left: 50px;
}

.formitem dd input[type="radio"]+label::before {
    content: "";
    width: 25px;
    height: 25px;
    border: 2px solid #ff8052;
    border-radius: 5px;
    background: #fff;
    position: absolute;
    top: 5px;
    left: 0;
}

.formitem dd input[type="radio"] label:hover {
    cursor: pointer;
}

.formitem dd input[type="radio"] {
    display: none;
}

.formitem dd input[type="radio"]:checked+label::after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
    color: #ff8052;
    position: absolute;
    top: 5px;
    left: 4px;
    z-index: 1;
}

.formitem dd input[type="radio"]+label {
    display: inline-block;
    margin-left: 10px;
    padding: 5px 10px 5px 35px;
    position: relative;
}

.text-l {
    margin-bottom: 30px;
    padding-left: 0.5em;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.5;
    letter-spacing: 3px;
    border-left: solid 5px var(--c-01);
}

.detail-content-text h2 {
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 0.5em;
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 2px;
    border-bottom: 3px solid var(--c-01);
}

.detail-content-text h3 {
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 0.5em 1em;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
    letter-spacing: 2px;
    background: var(--c-01);
}

.detail-content-text h4 {
    margin-top: 50px;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 18px;
    color: var(--c-01);
    letter-spacing: 2px;
}
.detail-content-text ol {
    counter-reset: count 0;
}
.detail-content-text ol li {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 16px;
    color: #000;
    position: relative;
}
.detail-content-text ol li::before {
    content: counter(count) ". ";
    display: inline-block;
    counter-increment: count 1;
    color: var(--c-01);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}
.detail-content-text ul li {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 16px;
    color: #000;
    position: relative;
}

.detail-content-text ul li::before {
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 50%;
    background: var(--c-01);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}
.detail-content-text ol li marker {
    display: none;
}

.detail-content-text iframe[src*="youtube"] {
    aspect-ratio: 16 / 9;
    height: auto;
    margin-top: 30px;
}

.d-none-tb,
.d-none-sp {
    display: block;
}
.d-b-tb,
.d-b-sp {
    display: none;
}
@media (max-width: 1024px) {
    .d-b-tb {
        display: block;
    }
    .d-none-tb {
        display: none;
    }
}
@media (max-width: 599px) {
    .d-none-sp {
        display: none;
    }
    .d-b-sp {
        display: block;
    }
    .text-l{
      font-size: 24px;
    }
}

.l-text2 {
    letter-spacing: 2px;
}
.l-text3 {
    letter-spacing: 3px;
}
html {
    font-family: var(--f01);
}

/* font */
.oswald {
    font-family: var(--f01);
}

.font2 {
    font-family: var(--f02);
}

.font3 {
    font-family: var(--f03);
}

.ttl_box .oswald {
    margin-top: 10px;
}

.ttl_box .oswald.white {
    color: #fff;
}

.bgc-000 {
    background: #faf5ee;
}

.c-00 {
    color: #1eb881;
}

.m-btn a,
.m-btn.a,
.m-btn button {
    width: 100%;
    max-width: 250px;
    display: block;
    margin: auto;
    padding: 15px 35px;
    font-family: var(--f02);
    color: #fff;
    text-align: center;
    border: 1px solid;
    border: solid 1px var(--c-01);
    background: var(--c-01);
}

.m-btn.mid a{
    max-width: 300px;
}

.m-btn.a {
    margin-top: 50px;
}

.m-btn.m-r a,
.m-btn.m-r.a {
    margin-right: 0;
}
.m-btn.m-l a,
.m-btn.m-l.a {
    margin-left: 0;
}
.m-btn.a {
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}
.m-btn a span, .m-btn.a span, .m-btn button span {
    position: relative;
}
.m-btn:not(.tel) a span, .m-btn:not(.tel).a span, .m-btn:not(.tel) button span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.m-btn a span::after,
.m-btn.a span::after,
.m-btn button span::after {
    content: "\f101";
    font-family: var(--f99);
    font-weight: bold;
    font-size: 12px;
    transform: translateY(-50%);
    position: absolute;
    top: 55%;
    right: -25px;
}

.m-btn.back a span::after,
.m-btn.back button span::after {
    content: "\f100";
    left: -20px;
    right: initial;
}

.m-btn a:hover,
.m-btn button:hover {
    color: var(--c-01);
    background: #fff;
    opacity: 1;
}

.m-btn.inversion a {
    color: var(--c-01);
    background: #fff;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.m-btn.inversion a:hover {
    color: #fff;
    background: var(--c-01);
}

.m-btn.ver2{
  height: 100%;
}

.m-btn.ver2 a {
  height: 100%;
    min-height: 40px;
    padding: 5px 5px;
    font-family: var(--f01);
    font-size: 18px;
    border: solid 1px #f7bb66;
    background: #f7bb66;
}
.m-btn.ver2 a:hover {
    color: #f7bb66;
    background: #fff;
}

.m-btn.ver2.tel a {
    font-size: 22px;
    line-height: 1.4;
    border: solid 1px #4bc69a;
    background: #4bc69a;
}

.m-btn.ver2.tel a .sb-text {
    font-size: 16px;
}

.m-btn.ver2.tel a span::after {
    content: none;
}

.b-kbtn a,
.add-index-banner .banner-more,
.add02more,
.info_box .acc_box .btn_box a {
    width: 240px;
    height: 50px;
    display: flex!important;
    align-items: center;
    justify-content: center;
    margin: auto;
    color: #fff!important;
    border: 0;
    border-radius: 0;
    background: #1eb881;
    position: relative;
}

.add02more {
    width: 140px;
    height: 30px;
}

.b-kbtn.ml-a a {
    margin-right: 0;
}

.cat-btn {
    position: fixed;
    top: 15%;
    right: 0;
    z-index: 10;
}

.cat-btn .text {
    margin-bottom: 20px;
}

.cat-btn .text.tel-box{
  position: relative;
  cursor: pointer;
}

.cat-btn .text.tel-box .block{
      pointer-events: initial;
}

.cat-btn .text.tel-box:hover .block,
.cat-btn .text.tel-box .block:hover{
  max-width: 340px;
  padding: 10px 60px 10px 10px;
}

.type-a .text a,
.type-a .text .a {
    overflow: hidden;
    border: 0 solid transparent;
    position: relative;
}

.type-a .text a::after,
.type-a .text .a::after {
    content: "";
    width: 200%;
    height: 100%;
    background-color: #fff;
    opacity: 0.5;
    -webkit-transform: skewX(-45deg);
    transform: skewX(-45deg);
    -webkit-transform-origin: top right;
    transform-origin: top right;
    -webkit-animation: shine 2.5s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    animation: shine 2.5s cubic-bezier(0.25, 0, 0.25, 1) infinite;
    position: absolute;
    top: 0;
    left: -200%;
    z-index: 1;
}

.cat-btn .block.tel a::after {
    content: none;
}


@-webkit-keyframes shine {
    0% {
        opacity: 0;
        left: -200%;
    }

    70% {
        opacity: 0.5;
        left: -200%;
    }

    71% {
        opacity: 1;
        left: -200%;
    }

    100% {
        opacity: 0;
        left: 200%;
    }
}

@keyframes shine {
    0% {
        opacity: 0;
        left: -200%;
    }

    70% {
        opacity: 0.5;
        left: -200%;
    }

    71% {
        opacity: 1;
        left: -200%;
    }

    100% {
        opacity: 0;
        left: 200%;
    }
}

.cat-btn [class*="type"] a,
.cat-btn .a {
    width: 60px;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--f01);
    color: #fff;
    writing-mode: vertical-rl;
    background: var(--c-02);
    position: relative;

    text-orientation: upright;
}

.cat-btn .block.tel a {
    align-items: center;
    writing-mode: initial;

    text-orientation: initial;
}

.cat-btn .type03 a {
    background: #06c655;
}

.cat-btn [class*="type"] a:before,
.cat-btn .a:before {
    content: "";
    width: 28px;
    height: 35px;
    display: block;
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_30.webp') no-repeat;
    background-size: contain;
    background-position: center;

    aspect-ratio: 1 / 1;
}

.cat-btn [class*="type"] a:before{
  content: "";
width: 28px;
height: 35px;
display: block;
background: url(/import/tenant_2/160.16.241.79/html/images/ks-img_30.webp) no-repeat;
background-size: contain;
background-position: center;
aspect-ratio: 1 / 1;
filter: brightness(0) saturate(100%) invert(63%) sepia(76%) saturate(2922%) hue-rotate(359deg) brightness(96%) contrast(101%);
}

.cat-btn .type02 a:before {
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_29.webp') no-repeat;
    background-size: contain;
    filter: none;
}

.cat-btn .type03 a:before {
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_28.webp') no-repeat;
    background-size: contain;
    filter: invert(1);

    aspect-ratio: 96/96;
}

.cat-btn .block {
    max-width: 0;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-align: center;
    overflow: hidden;
    padding: 10px 0;
    white-space: nowrap;
    background: rgba(255, 255, 255, 0.8);
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 50%;
    z-index: -1;
}

.cat-btn .is-parent .block {
    max-width: 300px;
    padding: 10px 60px 10px 10px;
}

.cat-btn .block a {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: center;
    color: var(--c-02);
    background: none;
}

.cat-btn .block a .blockin {
    font-weight: bold;
    font-size: 28px;
    line-height: 1.2;
}

@media (max-width: 1024px) {
    .cat-btn {
        width: 100%;
        position: fixed;
        top: initial;
        bottom: 0;
    }
    .cat-btn [class*="type"] {
        display: flex;
        pointer-events: none;
    }
    .cat-btn>div,
    .cat-btn>div>div{
              pointer-events: none;
    }
    .cat-btn .text {
        width: calc(100% / 3);
        margin-bottom: 0;
        pointer-events: auto;
    }
    .cat-btn .text.tel-box {
        pointer-events: none;
    }
    .cat-btn [class*="type"] a,
    .cat-btn .a {
        width: 100%;
        min-height: auto;
        padding: 10px 5px;
        font-size: 14px;
        writing-mode: initial;
    }
    .cat-btn .a {
        background: #95d554;
    }
    .cat-btn [class*="type"] a:before,
    .cat-btn .a:before {
        width: 20px;
        height: auto;
        margin-right: 5px;
    }
    .cat-btn [class*="type"] a:before{
            filter: invert(1);
    }
      .cat-btn .type02 a:before{
            filter: none;
    }
    .cat-btn .block {
        width: 100%;
        max-width: 100%;
        opacity: 0;
        transform: none;
        top: 0;
        left: 0;
        right: initial;
    }
    .m-btn.m-r a,
    .m-btn.m-l a,
    .m-btn.m-r.a,
    .m-btn.m-l.a {
        margin-left: auto;
        margin-right: auto;
    }
}

/* mv */
.uk-slidenav-position {
    height: 90vh;
}

ul.uk-slideshow,
.uk-slideshow>.uk-active,
.uk-slideshow>.uk-active>* {
    height: 100% !important;
}

.mv .text_or_box {
    width: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px;
    font-family: var(--f01);
    font-weight: 400;
    font-size: 17px;
    color: #fff;
    border-radius: 50%;
    background: rgba(29,182,129,0.7);

    aspect-ratio: 1 / 1;
    gap: 10px;
}

.mv .text_or_box .icon {
    filter: drop-shadow(0px 0px 5px #fff);
}

.mv .text_or_box .icon img {
    width: 40px;
    filter: invert(1);
}

.mv .text_or_box .text {
    font-size: 17px;
    color: #fff;
    filter: drop-shadow(0px 0px 3px #ccc);
}

.mv .catch_text {
    padding: 30px 0;
    font-weight: 500;
    font-size: 36px;
    color: #333;
    letter-spacing: 2px;
    filter: drop-shadow(1px 1px 0px White) drop-shadow(-1px -1px 0px White) drop-shadow(-1px 2px 0px White) drop-shadow(1px -1px 0px White);
    transform: translateY(110px);
}

.name-logo {
    width: 500px;
    filter: drop-shadow(1px 1px 0px White) drop-shadow(-1px -1px 0px White) drop-shadow(-1px 2px 0px White) drop-shadow(1px -1px 0px White);
    transform: translateX(-50%);
    position: absolute;
    top: 300px;
    left: 50%;
}

.name-logo img {
    width: 100%;
}

table tr:nth-of-type(1) td {
    color: #fff;
}

table th {
    padding: 15px 5px;
}

.news_box dl {
    display: flex;
    margin-bottom: 25px;
    padding-bottom: 28px;
}

.news_box dl:first-of-type {
    padding-top: 27px;
}

.news_box dt {
    width: 30%;
    font-family: var(--f03);
    font-weight: 400;
    font-size: 17px;
    letter-spacing: 0px;
}

.news_box dd {
    font-family: var(--f02);
    font-size: 16px;
}

.news_box.blog {
    width: 100%;
}

.news_box.blog a {
    display: block;
    box-shadow: 0 0 10px #e3e3e3;
}

.news_box.blog a:hover {
    box-shadow: none;
}

.news_box.blog .tit {
    padding: 10px 10px 15px;
}

.news_box.blog .tit>* {
    font-family: var(--f02);
}

.blog .news_cont {
    border: none;
}

.blog .news_cont:before {
    content: none;
}

/* 診療時間 */
.btn_nav li {
    width: 49%;
}

/* add-banner */
.add-index-banner {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    box-shadow: 0 0 10px #e4e4e4;
    position: relative;
}

.add-index-banner::before {
    content: "";
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 1px solid #fff;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
}

.add-index-banner .bgi.up-ofi {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.add-index-banner .text {
    width: 55%;
    height: 200px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-left: 70px;
    background: var(--c-01);

    clip-path: polygon(0 0, 95% 0%, 100% 100%, 0% 100%);
    gap: 20px;
}

/* concept */
.concept-area {
    position: relative;
}

.concept-area .bgi {
    width: 100%;
    height: 100%;
    background: #ffe6c4;
    filter: brightness(1);
    position: absolute;
    top: 0;
    left: 0;
}

.concept-area .bgi img {
    opacity: 0.8;
}

.concept-area .bgi+* {
    position: relative;
    z-index: 2;
}

.concept-btn-box {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}

.concept-btn-box>* {
    width: calc((100% - 20px) / 3);
    padding: 20px 10px;
    font-size: 16px;
    color: #fff;
    text-align: center;
    background: var(--c-01);
    position: relative;
}

.concept-btn-box.type02>* {
    width: calc((100% - 20px) / 3);
}

.concept-btn-box>*::before {
    content: "\f054";
    font-family: "font awesome 5 free";
    font-weight: bold;
    font-size: 12px;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.concept-area .bgimage {
    width: 100%;
    height: 100%;
    filter: brightness(0.8);
    position: absolute;
    top: 0;
    left: 0;
}

.concept-area .tit.up-z-2.up-pos-rel {
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #fff;
}

.new-concept-area {
    position: relative;
}

.reason-box .ttl {
    font-size: 32px;
}

.tt-s {
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}

.imgbox {
    transform: scale(1.3) translate(-25px, 75px);
}

.concept-text {
    color: var(--c-01);
    text-shadow: 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
    transform: translate(-100px, 0px);
}

.concept-content {
    width: 100%;
}

.concept-content .txt {
    width: 55%;
    line-height: 36px;
    transform: translate(0px, -20px);
}

.new-concept-box .m-t {
    font-weight: bold;
    font-size: 38px;
    color: var(--c-01);
    line-height: 1.5;
    letter-spacing: 6px;
    writing-mode: tb;
}

.new-concept-box .sb-ttl {
    color: var(--c-01);
    line-height: 1.8;
    letter-spacing: 2px;
    writing-mode: tb;
}

.new-concept-box .m-btn{
  height: 100%;
}

.new-concept-box .m-btn a {
    max-width: 100%;
    height: 100%;
}

.new-concept-box .m-btn a span{
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.new-concept-box .sb-img .img01 {
    overflow: hidden;
    border-radius: 30px;
}

.imgbox .img01 {
    overflow: hidden;
    border-radius: 30px;
}

.mainimg01 {
    position: relative;
}

.mainimg01::before {
    content: "";
    width: 55%;
    height: 100%;
    display: block;
    background: linear-gradient(90deg, white 30%, transparent);
    position: absolute;
    top: 0;
    left: 0px;
    z-index: 2;
}

@media (max-width: 1024px) {
    .reason-box .ttl {
        font-size: 24px;
    }
}

@media (max-width: 599px) {
    .new-concept-box .m-t {
        font-size: 28px;
        writing-mode: initial;
    }
    .new-concept-box .sb-ttl {
        letter-spacing: 0px;
        writing-mode: initial;
    }
    .imgbox {
        transform: none;
    }
    .concept-content .txt {
        width: 100%;
        line-height: 2;
        transform: none;
    }
}

/* 診療内容 */
.green_box.rvs{
  margin-top:-40px;
}
.green_box li {
    /*     flex-grow: 1; */
    background: none;
}

.green_box li .boxs a {
    height: 100%;
    display: block;
    padding: 10px 10px;
    border: none;
    border-radius: 0;
   /*  background: #fff; */
   background: var(--c-02);
    box-shadow: 0 0 10px #e4e4e4;
    position: relative;
}

.green_box li .boxs a:hover {
    box-shadow: none;
}

.green_box li .boxs .en {
    font-size: 14px;
    color: var(--c-02);
    white-space: nowrap;
    writing-mode: tb;
    position: absolute;
    top: 15px;
    right: 5px;
}

.green_box li .boxs-b .icon {
    width: 168px;
    max-width: 100%;
    margin: 0;
}

.green_box li .tbox {
    padding: 15px 0px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.green_box.rvs li .tbox {
    padding: 20px 0px 15px;
}

.green_box li .name {
width: fit-content;
    margin-top: 0;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--f02);
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0px;
    position: relative;
    padding-left: 0;
    border: none;
    color: #fff;
}

.green_box.rvs li .name {
width: fit-content;
    margin-top: 10px;
    margin-bottom: 0px;
}

/* .green_box li .name::after {
        content: "\f061";
        font-family: var(--f99);
        font-weight: bold;
        font-size: 12px;
        position: absolute;
        bottom: 0;
        right: -20px;
    } */

.green_box li .icon {
    width: 50%;
    max-width: 280px;
    margin: 20px auto -10px;
    filter: drop-shadow(1px 1px 2px rgb(0 0 0 / 20%));
}

.green_box.rvs li .icon{
  margin: -10px auto 20px;
}

.tekisuto {
    width: 98%;
    font-family: var(
    --f02);
    color: rgb(30, 184, 129);
    letter-spacing: 2px;
    text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
    transform: translate(50%,-50%);
    position: absolute;
    top: 50%;
    right: 50%;
    z-index: 2;
}

/* reason */
.t_and_p .text_box {
    width: 48%;
    align-self: auto;
    padding: 0px 0px;
}
.t_and_p .photo_box {
    width: 48%;
}
.t_and_p .box a {
    width: 200px;
    padding: 10px 0;
}

.t_and_p .text {
    margin: 20px 0;
    line-height: 1.8;
}

.top-pickup .pic {
    width: 60%;
}

.top-pickup .tbox {
    width: 50%;
    margin: 30px 0;
    margin-left: -10%;
    padding: 30px;
    background: #fff;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    position: relative;
    z-index: 1;
}

.top-pickup .tbox .sb-ttl {
    margin-bottom: 20px;
    font-weight: normal;
    font-size: 22px;
}

.top-pickup .txt {
    font-family: var(--f02);
}

@media (max-width: 1024px) {
    .top-pickup .pic,
    .top-pickup .tbox {
        width: 100%;
    }
    .top-pickup .tbox {
        margin: 0;
        padding: 15px;
    }
}
@media (max-width: 599px) {
    .top-pickup .tbox .sb-ttl {
        font-size: 20px;
    }
    .green_box.rvs{
  margin-top:0px;
}
}

.banner_box .banner .pic {
    width: 50%;
    margin-left: auto;
}

.banner_box .banner .border {
    border: none;
}

.banner_box .banner .text_box {
    width: 60%;
    height: 100%;
    display: block;
    padding: 5px;
    padding-left: 40px;
    background: var(--c-02);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.banner_box .banner3 .border>.flexc {
    height: 100%;
    /*    align-items: center; */
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    justify-content: center;
    color: #fff;

    gap: 20px;
}

.banner_box .banner3 .text_box {
    width: 100%;
    height: 100%;
    padding: 30px;
    background: none;
}

.banner_box .banner3 .pic {
    width: 100%;
    height: 100%;
    margin-left: 0;
    filter: brightness(0.7);
}

.kobetu {
    padding: 50px;
    background: rgb(255 255 255 / 90%);
}

.kobetsu-wrap  .bgi.up-ofi {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.kobetu * {
    color: #444;
    opacity: 1;
}

.kobetu .box {
    width: 300px;
    padding: 10px 20px;
    color: #fff;
    text-align: center;
    border: 1px solid #444;
}

.kobetu .box a {
    color: #444 !important;
}

.menu-area {
    position: relative;
}

.menu-area .ttl_box {
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

.menu-area .bgi {
    width: 100%;
    height: 100%;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
}

.menu-area .cont {
    position: relative;
    z-index: 1;
}

/* footer */
#footer .menu {
    display: flex;
    flex-wrap: wrap;
}

#footer .menu li {
    width: calc(100% / 4);
    margin: 5px 0;
}
#footer .menu a {
    padding-left: 1em;
    font-family: var(--f02);
    font-weight: 400;
    color: #333;
    position: relative;
}

#footer .menu a:before {
    content: "\f105";
    display: inline-block;
    font-family: var(--f99);
    font-weight: bold;
    font-size: 12px;
    position: absolute;
    top: 5px;
    left: 0;
}

#footer .copy {
    font-family: var(--f02);
}

@media (max-width: 1024px) {
    #footer .menu li {
        width: calc(100% / 3);
    }
}
@media (max-width: 599px) {
    #footer .menu li {
        width: calc(100% / 1);
    }
}

.tit-before span {
    padding-left: 40px;
    position: relative;
}
.tel .tit-before span {
    padding-left: 30px;
}
.tit-before span:before {
    content: "";
    width: 25px;
    height: auto;
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_30.webp') no-repeat;
    background-size: cover;
    transform: translateY(-50%);
    position: absolute;
    top: 53%;
    left: 0;

    aspect-ratio: 1 / 1;
}

.tit-before.reserve span:before {
    width: 35px;
    height: auto;
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_29.webp') no-repeat;
    background-size: cover;
    transform: translateY(-50%);
    position: absolute;
    top: 52%;
    left: 0;
    z-index: 2;
}

.tit-before.line span:before {
    width: 35px;
    height: auto;
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_28.webp') no-repeat;
    background-size: cover;
    filter: invert(1);
    transform: translateY(-50%);
    position: absolute;
    top: 52%;
    left: 0;
    z-index: 2;
}

.tel-icon,
.mail-icon {
    position: relative;
}

.tel-icon:before {
    content: "";
    width: 15px;
    height: auto;
    display: block;
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_30.webp') no-repeat;
    background-size: cover;
    filter: brightness(0.5);
    transform: translateY(-50%);
    position: absolute;
    top: 52%;
    left: -20px;

    aspect-ratio: 1 / 1;
}

.mail-icon:before {
    content: "";
    width: 25px;
    height: auto;
    display: block;
    background: url('/import/tenant_2/160.16.241.79/html/images/ks-img_29.webp') no-repeat;
    background-size: cover;
    filter: brightness(0.5);
    transform: translateY(-50%);
    position: absolute;
    top: 52%;
    left: -30px;

    aspect-ratio: 1 / 1;
}

.top-spoint.cont.up-py-80.bg_aqua2 .txtp {
    margin-top: 70px;
}

.add-index-banner .banner-more {
    font-size: 16px;
    color: var(--c-01);
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 3;
}

.add02more {
    font-weight: 400;
    color: #fff;
    text-shadow: 0 0 4px #000;
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 13;
}

.banner.banner1.txtp .pic {
    filter: brightness(0.8);
}

.date00 {
    flex-shrink: 0;
    margin-right: 10px;
    font-family: var(--f03);
    font-weight: 400;
    letter-spacing: 1px;
}
@media (max-width: 599px) {
    .date00 {
        width: 100%;
        margin-right: 0;
    }
}

.cat span {
    width: fit-content;
    display: inline-block;
    margin: 0 0.1em 0.1em 0;
    padding: 2px 5px;
    font-family: var(--f02);
    font-size: 14px;
    color: #fff;
    background: var(--c-02);
}

#footer .w650 {
    width: 1000px;
}

.m-ttl,
.info_box .name {
    letter-spacing: 2px;
}

.m-ttl {
    padding-bottom: 10px;
    text-align: center;
    position: relative;
}

.m-ttl:before {
    content: "";
    width: 100px;
    height: 3px;
    display: block;
    margin: 0 auto;
    background: #ccc;
    transform: translateX(-50%);
    position: absolute;
    bottom: 0;
    left: 50%;
}

.m-ttl .ja {
    font-size: 38px;
    color: var(--c-01);
}

.m-ttl .en {
    font-size: 12px;
    color: #999;
}

.top-greet .txt {
    line-height: 36px;
}

.text-s-d {
    text-shadow: 0 0 0px #bead83, 0 0 0px #bead83;
    filter: drop-shadow(0px 0px 5px #bead83);
}

.bg-img-02 {
    width: 100%;
    height: 100%;
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
    background-size: 30px 30px;
    background-repeat: repeat;
    background-position: center center;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.up-left-1000 {
    margin-left: calc(50% - 500px);
}
.up-right-1000 {
    margin-right: calc(50% - 500px);
}
[class*=up-fxd-even]>.up-left-1000:nth-child(even),
[class*=up-fxd-odd]>.up-left-1000:nth-child(odd) {
    margin-left: 0;
    margin-right: calc(50% - 500px);
}
[class*=up-fxd-even]>.up-right-1000:nth-child(even),
[class*=up-fxd-odd]>.up-right-1000:nth-child(odd) {
    margin-left: calc(50% - 500px);
    margin-right: 0;
}

@media (max-width: 1024px) {
    .up-left-1000 {
        margin-left: 2%;
    }
    .up-right-1000 {
        margin-right: 2%;
    }
    [class*=up-fxd-even]>.up-left-1000:nth-child(even),
    [class*=up-fxd-odd]>.up-left-1000:nth-child(odd) {
        margin-left: 0;
        margin-right: 2%;
    }
    [class*=up-fxd-even]>.up-right-1000:nth-child(even),
    [class*=up-fxd-odd]>.up-right-1000:nth-child(odd) {
        margin-left: 2%;
        margin-right: 0;
    }
}
@media (max-width: 599px) {
    .up-left-1000 {
        margin-right: 2%;
    }
    .up-right-1000 {
        margin-left: 2%;
    }
    [class*=up-fxd-even]>.up-left-1000:nth-child(even),
    [class*=up-fxd-odd]>.up-left-1000:nth-child(odd) {
        margin-left: 2%;
        margin-right: 2%;
    }
    [class*=up-fxd-even]>.up-right-1000:nth-child(even),
    [class*=up-fxd-odd]>.up-right-1000:nth-child(odd) {
        margin-left: 2%;
        margin-right: 2%;
    }
}


.num-img {
    position: relative;
}

.num-box {
    width: 140px;
    height: 140px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    background: var(--c-01);
    position: absolute!important;
    top: -10%;
    right: -5%;
    z-index: 1;
}

.up-right-1000:nth-of-type(odd) .num-img .num-box {
    background: var(--c-02);
    left: initial;
    right: -5%;
}

.up-right-1000:nth-of-type(odd) .num-img.new .num-box {
    left: -5%;
    right: initial;
}

.num-box .text {
    margin-bottom: 5px;
    letter-spacing: 2px;
}

.num-box .num {
    font-size: 50px;
    line-height: 1;
}

.bg-gj li {
    position: relative;
}

.bg-gj li:after {
    content: "";
    width: 1000%;
    height: 106%;
    background-color: #f0fbf3;
    position: absolute;
    bottom: 0;
    z-index: -2;
}

.bg-gj li:nth-of-type(odd):after {
    background-color: #faf5ee;
}

.bg-gj li .num-img [class*="up-ofi"]:before {
    content: "";
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    display: block;
    position: absolute;
    bottom: -30px;
    left: -30px;
    right: 0px;
    z-index: -1;
}

.bg-gj li:nth-of-type(even) .num-img [class*="up-ofi"]:before {
    background-color: #74c54f;
    left: -30px;
    right: 0px;
}

.bg-gj li:nth-of-type(odd) .num-img [class*="up-ofi"]:before {
    background: #ffcd93;
    left: inherit;
    right: -30px;
}

.bg-gj li+li {
    /* margin-top: 85px; */
    margin-top: 25px;
}

.bg-gj .btns li+li{
  margin-top: 0;
}

.l-sec {
    position: relative;
}

.l-sec .bgc {
    width: 100%;
    height: 80%;
    position: absolute;
    top: 30%;
    left: 0;
    z-index: -1;
}

.l-sec .img {
    position: relative;
}

.l-sec .img .num-box {
    transform: translateX(-50%);
    top: -70px;
    left: 50%;
}

.l-sec .img .num-box.new {
    background: var(--c-02);
}
@media (max-width: 1024px) {
    .bg-gj li+li {
        margin-top: 15px;
    }
}
@media (max-width: 599px) {
    .num-box {
        width: 100px;
        height: 100px;
        right: 0%;
    }
    .num-box .num {
        font-size: 40px;
    }
    .c-ch .num-img.new .num-box {
        left: 0%;
    }
    .num-box .text {
        margin-bottom: 0;
    }
}
/* zengakutiryou */

.zengakutiryou .box-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 60px;
}

.zengakutiryou .box-wrap .box {
    width: 50%;
    flex-grow: 1;
    position: relative;
}

.zengakutiryou .box-wrap .box a {
    display: block;
    padding: 50px;
}

.zengakutiryou .box-wrap .box a:hover {
    opacity: 1;
}

.zengakutiryou .box-wrap .box .bgimage.up-ofi {
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
}

.zengakutiryou .box-wrap .box .bgimage img {
    transition: 0.8s;
}

.zengakutiryou .box-wrap .box a:hover .bgimage img {
    transform: rotate(5deg) scale(1.2);
}

.zengakutiryou .box-wrap .box .box-inner {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.zengakutiryou .box-wrap .box .box-inner .title {
    margin-bottom: 20px;
    padding-top: 60px;
    padding-bottom: 10px;
    font-weight: bold;
    font-size: 24px;
    color: initial;
    line-height: 1.2;
    text-align: center;
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px;
    position: relative;
}

.zengakutiryou .box-wrap .box .box-inner .title::before {
    content: "";
    width: 2em;
    height: 1px;
    display: block;
    background: #000;
    transform: translateX(-50%);
    position: absolute;
    bottom: -5px;
    left: 50%;
}

.zengakutiryou .box-wrap .box .box-inner .txt {
    font-family: var(--f02);
    line-height: 1.8;
    text-align: left;
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px;
}

.zengakutiryou .box a:before {
    content: "";
    width: 100%;
    height: 0;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.8);
    transition: 0.5s;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.zengakutiryou .box a:hover:before {
    content: "";
    height: 100%;
}

.zengakutiryou .box a:hover .m-btn.a {
    color: var(--c-01);
    background: #fff;
}

.title-box {
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px;
    writing-mode: tb;
    position: absolute!important;
    top: 50px;
    left: 20px;
    z-index: 3;
}
.zengakutiryou .box-wrap .box:nth-child(even) .title-box{
    left: auto;
    right: 15px;
}

.title-box::before {
    content: "";
    width: 1px;
    height: 3em;
    display: block;
    background: #818181;
    position: absolute;
    top: -50px;
    left: 9px;
}

.map {
    padding-top: 30%;
}

.maps iframe {
    width: 100%;
}
@media (max-width: 1024px) {
    .zengakutiryou .box-wrap .box .box-inner .title {
        font-size: 20px;
    }
    .map {
        padding-top: 60%;
    }
}
@media (max-width: 599px) {
    .zengakutiryou .box-wrap .box {
        width: 100%;
    }
    .map {
        padding-top: 70%;
    }
}
/* staff */

.index-staff-area .imgbox .img {
    height: 400px;
    overflow: hidden;
}

.index-staff-area .txtbox {
    padding-right: calc(50% - 600px);
}

.index-staff-area .b-kbtn a {
    width: 450px;
    margin-left: 0;
    margin-right: 0;
}

.index-staff-area .ttl_box,
.index-staff-area .ttl_box p {
    text-align: left;
}

.index-staff-area .ttl_box.ttl_border p:before {
    margin-left: 0;
    left: 0;
}

.index-staff-area .txt {
    font-family: var(--f02);
    line-height: 1.8;
}

.btn-box .m-btn {
    margin-top: 20px;
}

.btn-box .m-btn a {
    width: 100%;
    max-width: 450px;
    margin-left: 0;
}

.h1-box {
    display: flex;
    justify-content: space-between;
    font-family: var(--f02);
    font-weight: 700;
    font-size: 14px;
    color: #444;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
    filter: none;
    transform: translateX(-50%)!important;
    position: absolute;
    top: 10px;
    left: 50%;
    z-index: 1;
}

.h1-box .tel a {
    font-family: var(--f03);
    font-weight: 500;
    font-size: 30px;
    letter-spacing: 0.05em;
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

.h1-box .tel a i {
    margin-right: 5px;
    font-size: 24px;
}

.text-s-d {
    text-shadow: 0 0 0px #bead83, 0 0 0px #bead83;
    filter: drop-shadow(0px 0px 5px #bead83);
}

.cmn-hamburger-01 {
    width: 70px;
    height: 70px;
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
}

.cmn-hamburger-01 .bar {
    width: 45px;
    height: 5px;
    display: block;
    margin-top: 12px;
    margin-bottom: 12px;
    background: var(--c-01);
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
    position: relative;
    left: 0;
    box-shadow: 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}

.cmn-hamburger-01 .bar:before {
    content: "";
    width: 45px;
    height: 5px;
    display: block;
    background: var(--c-01);
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
    position: absolute;
    box-shadow: 0 0 10px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}

.cmn-hamburger-01 .bar:before {
    top: -15px;
}

.cmn-hamburger-01.active .bar {
    width: 55px;
    -webkit-transform: rotate(-25deg);
    transform: rotate(-25deg);
}

.cmn-hamburger-01.active .bar:before {
    width: 55px;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
    top: 0;
}

.h1-box .add{
  flex-shrink: 0;
}
.h1-box-sp{
  display: none;
}

.h1-box.noh1{
width: 98%;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1024px) {
    .h1-box-sp{
      display: block;
      margin-bottom: 30px;
      width: 100%;
      font-family: var(--f02);
      font-weight: 700;
      font-size: 14px;
      color: #444;
    }

    .cmn-hamburger-01 {
        display: flex;
    }
    .h1-box{
        position: initial;
        transform: none!important;
        flex-wrap: wrap;
    }
    .h1-box.noh1 {
        flex-wrap: wrap;
        padding-right: 50px;
        transform: translateX(-50%)!important;
    position: absolute;
    top: 10px;
    left: 50%;
    }
    .h1-box-sp .text-s-d {
        display: none;
    }
}

@media (max-width: 599px) {
    .cmn-hamburger-01 {
        width: 45px;
        height: 45px;
        right: 10px;
    }

    .cmn-hamburger-01 .bar {
        width: 40px;
        height: 4px;
    }

    .cmn-hamburger-01 .bar:before,
    .cmn-hamburger-01 .bar:after {
        width: 40px;
        height: 4px;
    }

    .cmn-hamburger-01 .bar:before {
        top: -13px;
    }
    .h1-box.noh1 {
        padding-right: 0px;
    }
    .h1-box .add {
        width: 100%;
        margin-right: 0px;
    }
}
.js-toggle-s {
    cursor: pointer;
    position: relative;
}
.js-toggle02 {
    position: relative;
}

.js-toggle02 .plmi {
    display: none;
}

.plmi span::before,
.plmi span::after {
    content: "";
    width: 20px;
    height: 3px;
    display: block;
    border-radius: 5px;
    background: var(--c-01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.plmi span::after {
    background: var(--c-01);
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}

.is-parent .plmi span::after {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0);
}

@media (max-width: 1024px) {
    .js-toggle02 .plmi {
        display: block;
    }
}

.news-box {
    border-top: 6px solid var(--c-01);
    position: relative;
}

.news-box:before {
    content: "";
    width: 50%;
    height: 6px;
    border-top: 6px solid #dcdcdc;
    position: absolute;
    top: -6px;
}

.news-box li {
    padding: 28px 0;
    border-bottom: solid 1px var(--c-01);
}

.news-box li a {
    display: flex;
    font-family: var(--f02);
}

.news-box li .time {
    flex-shrink: 0;
    margin-right: 20px;
}

.time-area table {
    width: 100%;
    margin: 15px 0;
    border-collapse: collapse;
    background: #f7f7f7;
}

.time-area table tr {
    border-bottom: solid 1px #ccc;
}

.time-area th {
    width: 170px;
    padding: 15px 5px;
    font-size: 15px;
    color: #444;
    text-align: center;
}

.time-area td {
    padding: 15px 0;
    text-align: center;
}

.time-area .header-row {
    background: var(--c-01);
}

.time-area .header-row th,
.time-area .header-row td {
    color: #fff;
}

.time-area .header-row td:last-of-type {
    padding-right: 5px;
}

.gnav .time-area .header-row td{
      width: 20px;
      padding: 0px 5px;
}

.time-area .morning-row {
    color: var(--c-01);
}

.time-area .afternoon-row {
    color: var(--c-01);
    border-bottom: none;
}

.time-area .off-day {
    color: #444;
}

.time-area .limited {
    color: var(--c-01);
}

.bnr-box a {
    max-width: 700px;
    height: 150px;
    display: block;
    margin: 0 auto;
    background: #000;
    position: relative;
    z-index: 1;
}
.bnr-box a:hover {
    -webkit-box-shadow: 0 2px 4px 0 #333, 0 8px 15px 0px rgba(0,0,0,0.4);
    box-shadow: 0 2px 4px 0 #333, 0 8px 15px 0px rgba(0,0,0,0.4);
}
.bnr-box .head {
    width: 100%;
    font-weight: 500;
    font-size: 22px;
    color: #fff;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
}
.bnr-box .img {
    width: 100%;
    height: 100%;
    opacity: 0.8;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.bnr-box .img {
    background-color: #000;
}

.bnr-box .img.-cover img {
    opacity: 0.7;
}

.staff-list .m-ttl {
    text-align: left;
}

.staff-list .m-ttl:before {
    transform: none;
    left: 0;
}

.staff-list .img {
    height: 100%;
}
@media (max-width: 1024px) {
    .staff-list {
        width: 96%;
        max-width: 768px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 599px) {
    .index-staff-area .txtbox {
        padding-right: 0;
    }
    .news-box li a {
        flex-wrap: wrap;
    }
    .news-box li .time {
        width: 100%;
    }
}

.medical .logo {
    width: 100%;
    max-width: 340px;
    margin: 15px auto;
}

.medical .time-area table {
    margin: 0 0 15px;
    background: #fff;
}

@media (max-width: 1024px) {
    .m-ttl .ja {
        font-size: 32px;
    }
}

@media (max-width: 599px) {
    .m-ttl .ja {
        font-size: 24px;
    }
}


.res-area .box {
    margin-top: 50px;
    position: relative;
}
.res-area .num-boxs {
    width: 80px;
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    border-radius: 50%;
    background: var(--c-01);
    position: absolute;
    top: -50px;
    left: 0;
    z-index: 1;
}

.res-area .num-boxs .text {
    font-size: 14px;
}

.res-area .box .ttl {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 20px;
}


.ttl-01 {
    padding-left: 15px;
    color: var(--c-01);
    position: relative;
}

.ttl-01:before {
    content: "";
    width: 4px;
    height: 1.6em;
    background-color: var(--c-02);
    position: absolute;
    top: 0;
    left: 0;
}

.ttl-02 {
    margin-bottom: 15px;
    padding-bottom: 15px;
    padding-left: 25px;
    font-size: 20px;
    border-bottom: solid 2px var(--c-01);
    position: relative;
}


.ttl-02::before {
    content: "";
    width: 15px;
    height: 15px;
    background: var(--c-01);
    position: absolute;
    top: 8px;
    left: 0;
}

.ttl-03 {
    display: inline-block;
    margin-bottom: 30px;
    padding: 0.1rem 1rem;
    font-family: var(--f02);
    font-weight: 500;
    font-size: 24px;
    color: #fff;
    line-height: 1.6;
    letter-spacing: 1px;
    border-radius: 10px;
    background: var(--c-01);
}
.ttl-03.new {
    background: var(--c-02);
}

.ttl-03.min {
    margin-bottom: 10px;
    font-size: 16px;
}
.ttl-03.min2 {
    margin-bottom: 10px;
    font-size: 20px;
}

.ttl-04 {
    display: inline-block;
    margin-bottom: 20px;
    padding: 0.5em;
    font-weight: bold;
    font-size: 18px;
    border-bottom: solid 3px var(--c-01);
    background: var(--c-07);
}
.ttl-05 {
    overflow: hidden;
    margin-bottom: 30px;
    padding: 0.5rem 2rem 0.5rem 130px;
    font-weight: bold;
    font-size: 24px;
    border-top: 3px solid var(--c-01);
    position: relative;
}

.ttl-05:before {
    content: "";
    width: 200px;
    height: 300%;
    background: var(--c-01);
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
    position: absolute;
    top: -150%;
    left: -100px;
}

.ttl-06 {
    margin-bottom: 20px;
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 22px;
    border-bottom: solid 3px #dfe3ed;
    position: relative;
}
.ttl-06::before {
    content: "";
    width: 50px;
    height: 3px;
    display: block;
    background-color: var(--c-01);
    position: absolute;
    bottom: -3px;
    left: 0;
}

.ttl-07 {
    padding: 5px;
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    letter-spacing: 3px;
    text-align: center;
    background: var(--c-01);
}

.ttl-07.dem{
    background: var(--c-02);
}

.up-lh-2 {
    font-family: var(--f02);
}

.box-flex {
    padding: 1em;
    background-color: #fff;
    box-shadow: 0 0 10px #e4e4e4;
}

.box-flex.new {
    background: var(--c-08);
}

.company .box {
    max-width: 800px;
    overflow: hidden;
    margin: auto;
    border: solid 3px var(--c-01);
    box-shadow: 0 0 10px #e4e4e4;
}

.company .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;
    font-family: var(--f02);
}

.company .item>* {
    padding: 20px;
}

.company .item .tit {
    width: 220px;
    font-weight: bold;
    color: #fff;
    background: var(--c-01);
}

.company .item+.item .tit {
    border-top: 1px solid #fff;
}

.company .item .txt {
    width: calc(100% - 220px);
    background: #fff;
}

.company .item+.item .txt {
    border-top: 1px solid var(--c-01);
}
@media (max-width:599px) {
    .company .item .tit,
    .company .item .txt {
        width: 100%;
    }
    .ttl-03 {
        margin-bottom: 20px;
        padding: 0.1rem 0.5rem;
        font-size: 18px;
        letter-spacing: 0px;
    }
    .ttl-02 {
        font-size: 18px;
    }
    .sp-min .ttl-02{
      font-size: 16px;
      padding-bottom: 10px;
    }
    .sp-min .ttl-02::before{
      top: 5px;
    }
    .ttl-05 {
        padding: 0.5rem 0rem 0.5rem 50px;
        font-size: 20px;
    }
    .ttl-05:before {
        left: -160px;
    }
    .ttl-01,
    .ttl-06{
      flex-wrap: wrap;
    }
    .ttl-06.new{
      flex-wrap: nowrap;
    }
    .ttl-01 span,
    .ttl-06 span{
      width: 100%;
    }
    .ttl-01.new span,
    .ttl-06.new span{
      width: auto;
    }
}

.flow09 {
    padding-left: 0;
    border-bottom: solid 1px #e1e8ed;
}

.flow09 .box-area {
    display: flex;
    list-style-type: none;
    padding: 20px 0;
    border-top: solid 1px #e1e8ed;
}

.flow09 .ttl {
    margin-bottom: 10px;
    font-family: var(--f02);
    font-weight: bold;
    font-size: 20px;
    color: var(--c-02);
    letter-spacing: 2px;
}

.flow09 .icon09 {
    width: 70px;
    margin-top: 0;
    font-weight: bold;
    font-size: 2em;
    color: var(--c-01);
    line-height: 1;
    text-align: center;
    position: relative;
}

.flow09 .icon09 .sb {
    display: block;
    margin-bottom: 3px;
    font-size: 0.3em;
    letter-spacing: 1px;
}

.flow09 .icon09::after {
    content: "";
    width: 1px;
    height: calc(100% - 60px);
    display: block;
    margin: auto;
    background-color: var(--c-01);
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
}

.flow09 .box {
    width: calc(100% - 70px);
    margin-top: 0.8em;
}

@media (max-width:599px) {
    .flow09 .ttl {
        font-size: 18px;
    }
    .rec-area .box {
        padding-right: 0;
    }
}

.step-body5 li {
    padding-left: 1em;
    font-family: var(--f02);
    font-weight: bold;
    position: relative;
}
.step-body5 li+li {
    margin-top: 10px;
}
.step-body5 li::after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #000;
    position: absolute;
    top: 10px;
    left: 0;
}

.box-pss {
    padding: 50px;
    background: #fff;
    -webkit-box-shadow: 0px 0px 7px #8b8b8b;
    box-shadow: 0px 0px 7px #8b8b8b;
}

.name {
    margin-bottom: 30px;
    padding-left: 0.5em;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.5;
    letter-spacing: 3px;
    border-left: solid 5px var(--c-01);
}

.message {
    padding: 30px 20px;
    font-weight: 500;
    font-size: 38px;
    color: #fff;
    line-height: 1.6;
    text-align: center;
    text-shadow: 1px 1px 4px #878787;
    background: linear-gradient(135deg, var(--c-01), var(--c-07));
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.message .wh {
    text-shadow: 1px 1px 4px #fff;
}

.message .big {
    font-weight: bold;
    font-size: 140%;
    color: var(--c-02);
    text-shadow: 0 0 4px #fff;
}
.bg-area {
    background: #6b6b6b;
}

/*.bg-area .m-ttl{
  text-shadow: 0 0 4px #fff;
}*/

.bg-area .m-ttl .ja{
  color:var(--c-07);
}

.bg-area .m-ttl .en{
  text-shadow:none;
  color: #fff;
}
.bg-area .pa-100 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.op-30 {
    opacity: 0.3;
}
@media (max-width:599px) {
    .name {
        font-size: 22px;
    }
    .message {
        padding: 30px 10px;
        font-size: 24px;
    }

    .rot90 i {
        margin-left: -10px;
        transform: rotate(90deg);
    }
    .box-pss{
      padding: 30px 15px;
    }
    .message .big{
      font-size: 120%;
    }
}

.tb01 {
    width: 100%;
    min-width: 700px;
    min-height: 100px;
    font-family: var(--f02);
    border-collapse: collapse;
    background: #fff;
}
.tb01 th,
.tb01 td {
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
    border: solid 1px #ccc;
}
.tb01 th {
    color: #fff;
    background: var(--c-01);
}

.md-area .tb01{
  min-width: auto;
}

.md-area .tb01 th{
  width: 50%
}

.md-area .tb01 th.dem{
  background: var(--c-02);
}

.md-area .tb01 td{
  text-align: left;
}
.ws-no{
  white-space: nowrap;
}
.box-ss {
    -webkit-box-shadow: 0px 0px 7px #8b8b8b;
    box-shadow: 0px 0px 7px #8b8b8b;
}

.check li {
    margin-bottom: 10px;
    padding-left: 30px;
    font-family: var(--f02);
    font-size: 18px;
    line-height: 2;
    position: relative;
}

.check.t-l li {
    text-align: left;
}

.check li:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--c-01);
    position: absolute;
    top: 8px;
    left: 0;
}
.check li:after {
    content: "\f00c";
    font-family: var(--f99);
    font-weight: 900;
    font-size: 14px;
    color: #fff;
    line-height: 1;
    position: absolute;
    top: 12px;
    left: 4px;
}

.bnr-area .box {
    overflow: hidden;
    box-shadow: 10px 10px 0 rgba(0, 0, 0, 0.1);
    position: relative;
}

.bnr-area .box .img {
    background: #000;
}

.bnr-area .box .img img {
    opacity: 0.6;
}

.bnr-area .box .ttl {
    font-size: 42px;
    color: var(--c-07);
    position: absolute;
    top: 10%;
    left: 10%;
    z-index: 1;
}

.bnr-area .box .ttl::after {
    content: "";
    width: 45px;
    height: 1px;
    background: var(--c-02);
    position: absolute;
    bottom: -10px;
    left: -10px;
}

.bnr-area .box .img span {
    height: 250px;
}

.t-box li {
    display: flex;
    justify-content: center;
    padding: 5px 15px;
    font-family: var(--f02);
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    text-align: center;
    text-align: center;
    background: var(--c-01);
}

.t-box.new li {
    background: var(--c-02);
}

.t-box li+li {
    margin-top: 10px;
}

.system-box .boxs a {
    display: block;
    padding: 15px;
    border: solid 3px var(--c-01);
    background: #fff;
    box-shadow: 0px 0px 7px #8b8b8b;
}

.system-box .boxs a .sb-ttl {
    margin-bottom: 10px;
    font-family: var(--f02);
    font-weight: bold;
    text-align: center;
}

@media (max-width:599px) {
    .bnr-area .box .ttl {
        font-size: 20px;
    }
}

.ba-area .sb-ttl {
    padding: 0.5em;
    font-weight: bold;
    font-size: 18px;
    color: #fff;
    letter-spacing: 1px;
    text-align: center;
}

.img-num .img {
    margin-top: 25px;
    position: relative;
}

.img-num .img .num {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    line-height: 1;
    border-radius: 50%;
    background: var(--c-01);
    transform: translateX(-50%);
    position: absolute;
    top: -45px;
    left: 50%;
    z-index: 1;
}

.sin-area>li+li {
    margin-top: 30px;
}

.sin-area .box {
    padding: 30px;
    background: #fff;
    box-shadow: 0 0 10px #e4e4e4;
}

.sin-area .box .ttl {
    margin-bottom: 10px;
    padding-bottom: 10px;
    font-size: 18px;
    color: var(--c-01);
    border-bottom: solid 1px var(--c-01);
    display: flex;
}

.sin-area .box .ttl .num{
  font-size: 140%;
  flex-shrink: 0;
  line-height: 1;
}

.scale-img {
    transform: scale(0.5);
}

.index-news-list li+li {
    margin-top: 25px;
    padding-top: 30px;
    border-top: 1px solid var(--c-01);
}

.index-news-list .item {
    display: flex;
    flex-wrap: wrap;
}

.index-news-list .item .data {
    margin-bottom: 5px;
    width: 100%;
}

.index-news-list .item .date {
    margin-right: 1em;
    font-size: 14px;
    color: #999;
}

.index-news-list .item .cate>* {
    display: inline-block;
    margin: 0 0.1em 0.1em 0;
    padding: 2px 10px;
    font-size: 14px;
    color: #fff;
    background: var(--c-01);
}

@media(max-width:599px) {
}

.index-faq-list .item {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--c-07);
}

.index-faq-list .item dt,
.index-faq-list .item dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    -ms-flex-align: baseline;
    font-family: var(--f02);
    position: relative;
}

.index-faq-list .item dt {
    padding-right: 45px;
    font-weight: 500;
    position: relative;
}

.index-faq-list .item dd {
    width: 90%;
    display: none;
    margin: 30px auto;
    padding: 30px;
    background: var(--c-08);
}

.index-faq-list .item dd .box {
    display: flex !important;
}

.index-faq-list .item dt::before,
.index-faq-list .item dd .box::before {
    content: "Q";
    width: 40px;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
    font-weight: 500;
    font-size: 18px;
    color: #fff;
    border-radius: 50%;
    background-color: var(--c-01);
}

.index-faq-list .item dd .box::before {
    content: "A";
    background: var(--c-02);
}

.plmi span::before,
.plmi span::after {
    content: "";
    width: 20px;
    height: 3px;
    display: block;
    border-radius: 5px;
    background: var(--c-01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 10px;
}

.plmi span::after {
    background: var(--c-01);
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}

.is-parent .plmi span::after {
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateY(-50%) rotate(0);
    transform: translateY(-50%) rotate(0);
}

.a-btn a {
    display: block;
    padding: 5px 20px;
    font-family: var(--f02);
    font-weight: bold;
    font-size: 18px;
    color: var(--c-01);
    letter-spacing: 3px;
    text-align: center;
    border: solid 1px var(--c-01);
    background: #fff;
    position: relative;
}

@media (max-width: 599px) {
    .index-faq-list .item dd {
        width: 100%;
        padding: 15px;
    }
}

.t-main {
    margin-bottom: 40px;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.t-main span {
  display: inline-block;
    margin: 0px 20px;
    position: relative;
}

.t-main span::before {
    content: "";
    width: 2px;
    height: 120%;
    display: inline-block;
    background-color: var(--c-01);
    -webkit-transform: rotate(-30deg) translateY(-50%);
    transform: rotate(-30deg) translateY(-50%);
    position: absolute;
    top: 50%;
    left: -10%;
}

.t-main span::after {
    content: "";
    width: 2px;
    height: 120%;
    display: inline-block;
    background-color: var(--c-01);
    -webkit-transform: rotate(30deg) translateY(-50%);
    transform: rotate(30deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: -10%;
}
@media (max-width: 599px) {
  .t-main span{
    margin: 0px;
  }
}

.bgc-col li {
    padding: 30px;
    background: var(--c-08);;
}

.bgc-col li:nth-child(odd) {
    background: #faf5ee;
}

.contact-f .box {
    padding: 30px;
    font-family: var(--f02);
    background: #fff;
    -webkit-box-shadow: 0 0 5px 0 #999;
    box-shadow: 0 0 5px 0 #999;
}

.contact-f dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: flex-start;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 40px;
}

.contact-f dt {
    width: 270px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
}

.contact-f dt .tit {
    width: 100%;
    font-weight: 500;
}

.contact-f dd {
    width: calc(100% - 290px);
}

.contact-f .form dt .label {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 2px 10px;
    font-size: 12px;
    color: #fff;
    background: #cb2626;
}

.contact-f .form .form_shape li {
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 20px;
}

.contact-f .form .form_shape input {
    display: none;
}

.contact-f .form .form_shape label {
    padding-left: 25px;
    line-height: 28px;
    position: relative;
    z-index: 0;
}

.contact-f .form .form_shape label:before {
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    border: 2px solid;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.contact-f .form .form_shape label:after {
    content: "";
    width: 12px;
    height: 12px;
    display: block;
    display: none;
    border-radius: 50%;
    background: var(--back-color-03);
    position: absolute;
    top: 3px;
    left: 3px;
}

.contact-f .form .form_shape input:checked+label:after {
    display: block;
}

.contact-f .form dd input,
.contact-f .form dd textarea {
    width: 100%;
    height: 100%;
    padding: 10px 10px;
    border: none;
    border: solid 1px #ccc;
}

.contact-f .form .address-code dd input {
    width: 50%;
}

.contact-f .form .address {
    margin-bottom: 20px;
}

.contact-f .form .address .txt {
    display: inline-block;
    padding-left: 30px;
    position: relative;
}

.contact-f .form .address .txt input {
    width: 100px;
    position: relative;
    z-index: 0;
}

.contact-f .form dd.radiobtn label {
    display: inline-block;
    padding: 0 10px 0 30px;
    position: relative;
}

.contact-f .form dd.radiobtn label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 2px solid #dcdcdc;
    border-radius: 3px;
    background-color: white;
    position: absolute;
    top: 0.2em;
    left: 0;
}

.contact-f .form dd.radiobtn label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.contact-f .form dd.radiobtn input {
    display: none;
}

.contact-f .form dd.radiobtn input:checked+label {
    text-decoration: underline;
}

.contact-f .form dd.radiobtn input:checked+label::after {
    content: "\f00c";
    width: 0;
    height: 0;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 24px;
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 2px;
}

.contact-f .form dd.radiobtn input+label {
    margin-bottom: 15px;
    margin-right: 15px;
}

@media (max-width: 1024px) {
    .contact-f .box {
        padding: 2em;
    }
}

@media (max-width: 599px) {
    .contact-f .box {
        padding: 2em 1em;
    }

    .contact-f dt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
    }

    .contact-f dt .tit {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .contact-f .form dt .label {
        margin-left: 1em;
    }

    .contact-f dt,
    .contact-f dd {
        width: 100%;
    }

    .contact-f dd {
        margin-top: 0.5em;
    }

    .contact-f .form dd.radiobtn {
        padding: 0.5em 0;
    }
}

.implant-ver .item01 {
    display: none;
}

.implant-ver02 .item02 {
    display: none;
}

.denture-ver .item03 {
    display: none;
}

.bridge-ver .item04 {
    display: none;
}

.doctor{
    border: solid 3px var(--c-01);
    padding: 30px;
}

.doctor .q-area li+li{
  margin-top: 15px;
}

.doctor .q-area .box-q{
    background: var(--c-08);
    display: flex;
    position: relative;
}

.doctor .q-area .box-q .q{
    background: var(--c-01);
    width: 60px;
    color: #fff;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    line-height: 1;
    flex-shrink: 0;
}

.doctor .q-area .box-q .text{
    font-size: 18px;
    padding: 15px;
    padding-right: 30px;
}

.doctor .q-area .box-q .icon-a{
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0px, -50%);
    color: var(--c-01);
}

.top-header-area{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.top-header-area .top-header-box{
    width: 100%;
    height: 100% !important;
    max-height: 800px;
    position: relative;
}

/* .top-header-area .top-header-box:after{
      content: "";
    display: block;
    padding-top: 65%;
} */

.top-header-area .header{
      width: 100%;
    height: 100% !important;
    position: absolute;
    top: 0;
}

@media (max-width: 599px) {
  .doctor{
        padding: 30px 10px;
  }
  .doctor .q-area .box-q .q{
    width: 40px;
    font-size: 24px;
  }
  .doctor .q-area .box-q .text{
    font-size: 16px;
  }
  .ori-p .up-p-30{
    padding: 30px 10px;
  }

.price-area.n-s .tb01{
      min-width: auto;
}

.price-area.n-s .tb01 th,
.price-area.n-s .tb01 td{
  padding: 3px;
    font-size: 12px;
}
}

[data-element-id] .up-d-none,
[data-element-id] .gnav .navlogo{
    display: block;
    border: solid 4px black;
    position: relative;
}

[data-element-id] .up-d-none:after,
[data-element-id] .gnav .navlogo:after{
    content: "モバイル用";
    width: 100%;
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    text-shadow: none;
    background: black;
}

[data-element-id] .up-sp-text {
    width: 100%;
    max-width: 375px;
    margin: auto;
}

[data-element-id] .up-sp-text .m-ttl .ja {
    font-size: 24px;
}

[data-element-id] .new-concept-box .up-sp-text .m-t{
  font-size: 28px;
        writing-mode: initial;
}

[data-element-id] .new-concept-box .up-sp-text .sb-ttl{
  letter-spacing: 0px;
        writing-mode: initial;
}

[data-element-id] .main-visual .head{
   top: 80%;
}

[data-element-id] .main-visual .head .up-sp-text{
          font-size: 24px;
}

[data-element-id] .new-concept-box .up-sp-text .concept-text{
  flex-wrap: wrap;
  margin-left: 0;
}

[data-element-id] .up-sp-text .ttl-02 {
    font-size: 18px;
}

[data-element-id] .sp-min .up-sp-text .ttl-02{
      font-size: 16px;
      padding-bottom: 10px;
    }

[data-element-id] .up-sp-text .ttl-03 {
    margin-bottom: 20px;
    padding: 0.1rem 0.5rem;
    font-size: 18px;
    letter-spacing: 0px;
}
[data-element-id] .up-sp-text .ttl-05 {
    padding: 0.5rem 0rem 0.5rem 50px;
    font-size: 20px;
}

[data-element-id] .up-sp-text .ttl-01,
[data-element-id] .up-sp-text .ttl-06{
  flex-wrap: wrap;
}

[data-element-id] .up-sp-text .ttl-01 span,
[data-element-id] .up-sp-text .ttl-06 span{
  width: 100%;
}

[data-element-id] .up-sp-text .ttl-01.new span,
[data-element-id] .up-sp-text .ttl-06.new span{
  width: auto;
}

[data-element-id] .up-sp-text .ttl-05:before {
        left: -160px;
    }

[data-element-id] .topvisual .head .up-sp-text{
          font-size: 24px;
}

[data-element-id] .message .up-sp-text{
          font-size: 24px;
}

[data-element-id] .reason-box .up-sp-text .ttl {
    font-size: 24px;
}

[data-element-id] .up-sp-text .name{
  font-size: 22px;
}
[data-element-id] .gnav {
    margin-left: auto;
}

[data-element-id] .gnav .list02 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    visibility: visible;
    padding: 0;
    border: solid 2px #f48100;
    opacity: 1;
    position: relative;
    top: 0;
}

[data-element-id] .gnav .list02:after {
    content: "当院について";
    width: 100%;
    display: block;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    text-shadow: 0 0 black;
    background: #f48100;
}

[data-element-id] .gnav .list02.var02:after {
    content: "初めての方へ";
}

[data-element-id] .gnav .list02.var03:after {
    content: "診療内容";
}

[data-element-id] .main-visual,
[data-element-id] .topvisual{
      margin-bottom: 150vh;
}

[data-element-id] .gnav{
      top: 95vh;
}

[data-element-id] .cat-btn{
  top: 150px;
  position: absolute;
}

[data-element-id] .cat-btn .block{
  max-width: 300px;
    padding: 10px 60px 10px 10px;
}

[data-element-id] .gnav .list01{
  align-items: flex-start;
}

[data-element-id] .zengakutiryou .box a:hover:before{
  height: 0;
}

[data-element-id] .zengakutiryou .box-wrap .box a:hover .bgimage img{
  transform:none;
}

[data-element-id] .slick02{
  display: flex;
}

[data-element-id] .gnav .item01>a, 
[data-element-id] .gnav .item01 .itemin{
  text-align: center;
}

[data-element-id] .news-box li a{
  flex-wrap: wrap;
}

[data-element-id] .date00{
  flex-shrink: 1;
}

[data-element-id] .bnr-box [class*="item0"]{
      width: calc(100% / 4);
}

[data-element-id] .implant-ver .item01,
[data-element-id] .implant-ver02 .item02,
[data-element-id] .denture-ver .item03,
[data-element-id] .bridge-ver .item04{
    display: block;
}

[data-element-id] .top-header-area .top-header-box:after{
  content: none;
}

[data-element-id] .top-header-area .top-header-box{
  overflow: initial;
}




/*2024/09/28神野追記しました///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
.h1-box.noh1{
  z-index:3;
}

.top-header-area{
  z-index:4;
  height: 800px;
}

.main-visual {
    height: 800px;
    max-height:800px;
    overflow:hidden;
}

[data-element-id].main-visual {
    overflow:visible;
}


.main-visual>.ken-burns{
  display:inline-block;
  position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index:1;
     filter: brightness(90%) contrast(100%) sepia(50%) blur(1px);
}

.main-visual .head{
    width: 88%;
    padding: 30px 0;
    font-weight: 500;
    font-size: 36px;
    color: #fff;
    letter-spacing: 2px;
    text-align: right;
    filter: none;
    transform: translate(-50%, -50%);
    position: absolute;
    top: 60%;
    left: 50%;
    z-index: 2;
    font-family: "Noto Serif JP", system-ui;
}

.main-visual .head .up-sp-text{
    font-size:24px;
}

.main-visual .head .ttl div{
font-family: "Noto Serif JP", system-ui;
}

[data-element-id].main-visual .head{
  background-color:rgba(0,0,0,0.5);
}

[data-element-id].main-visual .head .ttl span{
  display:none!important;
}


@media(max-width:1024px){
  .main-visual {
    height: 600px;
}

.top-header-area{
  height: 600px;
}

.main-visual .head{
    font-size: 30px;
    width:96%;
    top:72%;
}
}

@media(max-width:599px){
  .main-visual {
    height: 400px;
}

.top-header-area{
  height: 400px;
}
}

.overlay:after{
  display:none!important;
}

.zengakutiryou .box-wrap .box .bgimage.up-ofi{
  filter: brightness(90%) contrast(100%) sepia(50%) blur(1px);
  opacity:1;
}

.zengakutiryou .box-wrap .box .box-inner .txt {
    text-shadow: 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px;
}

.zengakutiryou .box-wrap .box .box-inner .title{
  text-shadow: 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px #fff, 0px 0px 2px;
}




.zengakutiryou .box a.white-out:before {
    content: "";
    height: 100%;
}

.zengakutiryou .box-wrap .box a.white-out .bgimage img {
    transform: rotate(5deg) scale(1.2);
}

.for-cb{
display:inline-block;
position:fixed;
bottom:40px;
left:0;
z-index: 10;
}

.for-cb>a{
  display:flex;
  align-items: center;
  justify-content: center;
  background-color:#f7bb66;
  padding:15px;
}

.cb-img{
  width:50px;
  height:50px;
  background-color:#fff;
  padding:8px;
  border-radius:50%;
  margin-right:7px;
}

.cb-img>img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.cb-txt{
  font-size:14px;
  color:#fff;
  padding-left:7px;
  border-left:1px solid #fff;
}

@media(max-width:1024px){
  .for-cb{
display:none
}

.cat-btn .a {
        background:var(--c-01)
    }
}


#footer .list01 {
    width: 100%;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    font-family: var(--f02);
}

#footer .item01 {
        width: 100%;
        min-height: 0px;
        margin: 0 0 0px 0;
        text-align: left;
        font-weight: 400;
        font-size: 16px;
    }
    
    #footer .item01>a, #footer .item01 .itemin {
    display: block;
    padding: 5px;
    cursor: pointer;
}

#footer .item01.-parent {
    position: relative;
}

    
    #footer .list02 {
        width: 100%;
        display: none;
        visibility: visible;
        padding-top: 0;
        background: none;
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        position: relative;
        top: 0;
        left: 0;
        box-shadow: 2px 2px 6px #a8a8a8;
    }
#footer .list02 .box {
        padding: 10px;
        position: relative;
    }
#footer .box {
    letter-spacing: 1px;
    background: rgb(255 255 255 / 50%);
}

#footer .list02 .box .ttl {
    margin-bottom: 10px;
    font-size: 15px;
    border-bottom: 1px solid;
}

#footer .item02 a {
    display: block;
    padding: 5px;
}

#footer .list02 .text a {
    padding: 2px 0 2px 20px;
    font-size: 14px;
    position: relative;
    margin-bottom: 0px;
}

#footer .list02 .text a::before{
    content: "";
    width: 10px;
    height: 1px;
    display: block;
    background: var(--c-01);
    -webkit-transition: 0.5s;
    transition: 0.5s;
    position: absolute;
    top: 12px;
    left: 9px;
}

@media(max-width:1024px){
  .time-area th {
    width:120px;
  }
}

@media(max-width:599px){
  .news-box li {
    padding: 15px 0;
  }
  
  .time-area th {
    width:130px;
  }

.zengakutiryou .box-wrap {
    margin-top: 20px;
}

.title-box{
  left:0;
}

.zengakutiryou .box-wrap .box a {
    padding: 30px;
}

.zengakutiryou .box-wrap .box:nth-child(even) .title-box{
  right:0;
}

.zengakutiryou .box-wrap .box .box-inner .title {
    padding-top: 20px;
}

.m-btn.a{
  margin-top:20px;
}

.green_box li .tbox {
    padding: 20px 0px 0px;
}

.green_box li .name{
  font-size:18px;
}

.green_box li .icon {
    width: 40%;
}
}

.bg-white{
  background-color:#fff;
}

.implant-ver .box-wrap .box.item02 .m-btn{
  margin-left:auto;
  margin-right:0;
}

.implant-ver .box-wrap .box.item03 .m-btn{
  margin-left:0;
  margin-right:auto;
}

.implant-ver .box-wrap .box.item04 .m-btn{
  margin-left:auto;
  margin-right:auto;
}

.implant-ver02 .box-wrap .box.item01 .m-btn{
  margin-left:auto;
  margin-right:0;
}

.implant-ver02 .box-wrap .box.item03 .m-btn{
  margin-left:0;
  margin-right:auto;
}

.implant-ver02 .box-wrap .box.item04 .m-btn{
  margin-left:auto;
  margin-right:auto;
}

.denture-ver .box-wrap .box.item01 .m-btn{
  margin-left:auto;
  margin-right:0;
}

.denture-ver .box-wrap .box.item02 .m-btn{
  margin-left:0;
  margin-right:auto;
}

.denture-ver .box-wrap .box.item04 .m-btn{
  margin-left:auto;
  margin-right:auto;
}

.bridge-ver .box-wrap .box.item01 .m-btn{
  margin-left:auto;
  margin-right:0;
}

.bridge-ver .box-wrap .box.item02 .m-btn{
  margin-left:0;
  margin-right:auto;
}

.bridge-ver .box-wrap .box.item03 .m-btn{
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:599px){
.implant-ver .box-wrap .box.item02 .m-btn,
.implant-ver .box-wrap .box.item03 .m-btn,
.implant-ver .box-wrap .box.item04 .m-btn,
.implant-ver02 .box-wrap .box.item01 .m-btn,
.implant-ver02 .box-wrap .box.item03 .m-btn,
.implant-ver02 .box-wrap .box.item04 .m-btn,
.denture-ver .box-wrap .box.item01 .m-btn,
.denture-ver .box-wrap .box.item02 .m-btn,
.denture-ver .box-wrap .box.item04 .m-btn,
.bridge-ver .box-wrap .box.item01 .m-btn,
.bridge-ver .box-wrap .box.item02 .m-btn,
.bridge-ver .box-wrap .box.item03 .m-btn{
  margin-left:auto;
  margin-right:auto;
}
}

 .message .minifi-space{
  font-size:20px;
}

.message .minifi-space .big{
  font-size:24px;
}

 .message .minifi-space .txt-mk1{
  font-size:20px;
  line-height:1.5em;
}

 .message .minifi-space .txt-mk2{
  font-size:16px;
  line-height:1.5em;
}

[data-element-id] .top-header-area{
  height: initial;
  z-index: inherit;
}

[data-element-id] a[href*="tel"] {
    pointer-events: initial;
}


.footer-white{
  background: #fff;
    margin-top: 1rem;
    padding: 10px 0;
    border-radius: 30px;
    border: 1px solid #0d875d;
}

.footer-white img{
  width: 30px;
    margin-left: 10px;
    margin-top: -4px;
}


@media(max-width:599px){
.footer-white {
    width: 90%;
    margin: 0px auto;
    background: #fff;
    margin-top: 0.5rem;
    padding: 10px 0;
}

.footer-white img {
    margin-left: 2px;
}

}
