@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
/* font-family: "Noto Serif JP", serif; */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
/* font-family: "Noto Sans JP", sans-serif; */
@import url("https://fonts.googleapis.com/css2?family=Allura&display=swap");
/* font-family: "Allura", cursive; */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");
/* font-family: "Roboto", sans-serif; */
/*===================================
  基本設定
===================================*/
:root {
    --c-01: #09a5ed;
    --c-02: #d3e8f9;
    --c-03: #00d49b;
    --c-04: #ff9232;
    --c-05: #dff2ff;
    --c-06: #cafdec;
    --c-07: #fdede0;
    --c-08: #7d7d7d;
    --c-09: #447882;
    --c-10: #f4a5ab;
    --c-100: linear-gradient(125deg, rgba(238, 252, 255, 1) 0%, rgba(232, 234, 255, 1) 100%);
    --c-101: linear-gradient(140deg, rgba(9, 165, 237, 1) 0%, rgba(0, 212, 155, 1) 100%);
    --c-102: linear-gradient(95deg, rgba(59, 169, 232, 1) 0%, rgba(123, 200, 244, 1) 100%);
    --c-103: linear-gradient(125deg, rgba(248, 237, 255, 1) 0%, rgba(232, 234, 255, 1) 100%);
}
.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);
}
.c-07 {
    color: var(--c-07);
}
.c-08 {
    color: var(--c-08);
}
.c-09 {
    color: var(--c-09);
}
.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-100 {
    background: var(--c-100);
}
.bgc-101 {
    background: var(--c-101);
}
.bgc-102 {
    background: var(--c-102);
}
.bgc-103 {
    background: var(--c-103);
}
.c-w {
    color: #fff;
}
.c-red {
    color: #cb2626;
}
.bgc-w {
    background: #fff;
}
/* 共通コンテンツ間隔 */
.area {
    padding-top: 100px;
    padding-bottom: 100px;
}
@media (max-width: 599px) {
    .area {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

html {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    color: #333;
    font-style: normal;
    letter-spacing: 1px;
}

[class*="ttl"],
[class*="btn"],
[class*="nav"]{
  font-family: "Noto Serif JP", serif;
}

.btn-slick{
      font-family: "Font Awesome 6 Free";
}

.en {
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-style: normal;
  text-transform:capitalize;
}
/* 共通要素読み込みコメント（取り込み後削除） */
[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;
    padding-left: 20px;
    font-size: 12px;
}
/**
ヘッダー
header
*/
.header {
  padding-left: 20px;
}
.header .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.header .contents .logo {
    max-width: 300px;
}
.header .logo img {
    max-height: 50px;
}
.header .right {
    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;
    -webkit-box-pack: end;
    -ms-flex-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 {
        padding: 5px 0;
    }
    .header .logo img {
        max-height: 32px;
    }
    .header .right {
        display: none;
    }
    .pagettl{
      padding-left: 5px;
    }
}
/* 下部固定コンテンツ */
.fix-bottom {
    display: none;
}
@media (max-width: 1024px) {
    .fix-bottom {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        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: -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;
        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 {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 10px 0;
    position: relative;
    z-index: 100;
}
.header.fixed {
    width: 100%;
    height: auto;
    background: #fff;
    -webkit-box-shadow: 0 0 5px 0 #999;
    box-shadow: 0 0 5px 0 #999;
    cursor: pointer;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 200;
}
.gnav .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.gnav .navlogo {
    display: none;
}
.gnav .navlogo img {
    max-height: 40px;
}
.gnav .list01 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}
.gnav .item01 {
    font-size: 16px;
    text-align: center;
}
.gnav .item01>a,
.gnav .item01 .itemin {
    display: block;
    padding: 5px;
    cursor: pointer;
}
.gnav .item01.-parent {
    position: relative;
}
.gnav .item01.-parent:hover .list02 {
    visibility: visible;
    opacity: 1;
}
.gnav .list02 {
    width: 300px;
    visibility: hidden;
    padding-top: 10px;
    background: rgba(255,255,255,0.8) content-box;
    opacity: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 100%;
    left: 50%;
}
.gnav .item02 a {
    display: block;
    padding: 5px;
    transition: none;
}

.gnav .item02 a:hover {
    color: #fff;
    background: var(--c-01);
}
@media (max-width: 1024px) {
    .gnav .item02 a:hover {
        color: #333;
        background: none;
    }
    .gnav {
        width: 100%;
        max-width: 350px;
        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: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        position: fixed;
        top: 0;
        right: 0;
    }
    .gnav.action {
        -webkit-transform: translate3d(0%, 0, 0);
        transform: translate3d(0%, 0, 0);
        z-index: 250;
    }
    .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 10px 0;
        text-align: left;
    }
    .gnav .list02 {
        width: 100%;
        visibility: visible;
        padding-top: 0;
        padding-left: 20px;
        background: none;
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        position: relative;
        top: 0;
        left: 0;
    }
    .gnav .list02 a {
        padding: 2px 0 2px 20px;
        position: relative;
    }
    .gnav .list02 a:before {
        content: "";
        width: 10px;
        height: 1px;
        display: block;
        background: #000;
        position: absolute;
        top: 13px;
        left: 0;
    }
}
[data-element-id] .gnav.fixed {
    position: relative;
}
/* ハンバーガーメニュー  */
.toggle {
    width: 10%;
    height: 50px;
    display: none;
    background: rgb(254, 199, 160);
    background: linear-gradient(300deg, rgba(254, 199, 160, 1) 0%, rgba(253, 237, 224, 1) 100%);
    cursor: pointer;
    position: fixed !important;
    bottom: 0px;
    right: 0px;
    z-index: 251;
}
.bar {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 40%;
    left: 50%;
}
.bar span {
    width: 35px;
    height: 3px;
    display: block;
    margin: 5px 0;
    background-color: #333;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}

.active .bar span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(45deg);
    transform: translateY(7px) rotate(45deg);
}

.active .bar span:nth-of-type(2) {
    -webkit-transform: translateY(-1px) rotate(-45deg);
    transform: translateY(-1px) rotate(-45deg);
}

.active .bar span:nth-of-type(3) {
    -webkit-transform: scale(0);
    transform: scale(0);
}
@media (max-width: 1024px) {
    .toggle {
        display: block !important;
    }
}
.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: 100px;
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    font-size: 12px;
    color: #fff;
    line-height: 40px;
    text-align: center;
    border: solid 2px;
    border-radius: 50%;
    background: var(--c-101);
    cursor: pointer;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 200;
}
.totop:before {
    content: "\f077";
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    line-height: 1;
}
@media (max-width: 1024px) {
    .totop {
        width: 80px;
        height: 80px;
        bottom: 55px;
        right: 10px;
    }
}
/**
フッター
footer
*/
.footer .copy {
    margin-top: 50px;
    font-size: 14px;
    color: #fff;
}
@media (max-width: 1024px) {
    .footer .copy {
        padding-bottom: 85px;
    }
}
/**
フッターナビ
fnav
*/
.fnav {
    padding: 50px 0;
    background: rgb(60,170,233);
    background: linear-gradient(145deg, rgba(60,170,233,1) 0%, rgba(120,198,244,1) 100%);
}

.fnav .wrap {
    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;
    color: #fff;
}

.fnav .wrap .ttl {
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 18px;
    border-bottom: solid 1px;
}

.fnav .wrap .list01 li+li {
    margin-top: 15px;
}

@media (max-width: 1024px) {
    .fnav .wrap {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .fnav .wrap .box {
        width: 30%;
        margin: 10px;
    }
}

/**
2カラムページ
*/
.column2 .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.column2 .side {
    width: 200px;
}
.column2 .mainwrap {
    width: calc(100% - 250px);
}
@media (max-width: 1024px) {
    .column2 .inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .column2 .side {
        width: 100%;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        margin-bottom: 50px;
    }
    .column2 .mainwrap {
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        margin-bottom: 50px;
    }
}
/* サイドメニュー */
.side .list {
    margin-bottom: 30px;
}
@media (max-width: 1024px) {
    .side {
        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;
    }
    .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;
    border-radius: 2em;
    background: #000;
    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: #000;
    position: absolute;
    left: 0;
}
@media (max-width: 1024px) {
    .list-side.type-archive .datawrap {
        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;
    }
    .list-side.type-archive .datawrap .datattl {
        width: 100%;
    }
    .list-side.type-archive .datawrap .data {
        width: 48%;
    }
}
/*===================================
  各個別コンテンツ
===================================*/
/**
トップ
*/
/*ホームビジュアル（トップ）*/
.homevisual {
    position: relative;
}
.homevisual .img {
    min-height: 300px;
    max-height: 700px;
    position: relative;
}
.homevisual .img:before {
    content: "";
    display: block;
    padding-top: 40%;
    position: relative;
    z-index: -1;
}
.homevisual .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    /*IE対策*/
    font-family: "object-fit: cover; object-position: 50% 50%;";
    position: absolute;
    top: 0;
    left: 0;
}
/*IE対策*/
.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: 599px) {
    .homevisual .head {
        font-size: 28px;
    }
}
/* A-BiSUスライダー用 */
.mainimg {
    overflow: hidden;
    position: relative;
}
.mainimg img {
    width: 100%;
}
.mainimg .uk-slidenav-position {
    min-height: 300px;
    overflow: hidden;
    position: relative;
}
.mainimg .uk-slidenav-position:after {
    content: "";
    display: block;
    padding-top: 50%;
}
.mainimg .uk-slideshow {
    height: 100% !important;
    position: absolute;
    top: 0;
}
.mainimg .uk-slideshow li {
    height: 100% !important;
}
.mainimg .uk-slideshow .uk-flex {
    height: 100%;
}
.mainimg .uk-slideshow img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    /*IE対策*/
    font-family: "object-fit: cover; object-position: 50% 50%;";
}
/*IE対策*/
/* スリックスライダー（トップ） */
.slick01 {
    padding: 0 20px;
}
.slick01.slick-dotted {
    margin-bottom: 50px;
}
.slick01 .btn-slick {
    padding: 15px;
    font-size: 20px;
    color: #fff;
    line-height: 1;
    background: rgb(60, 170, 233);
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
    cursor: pointer;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    z-index: 1;
}
.slick01 .btn-slick.btn-back {
    left: -30px;
}
.slick01 .btn-slick.btn-next {
    right: -30px;
}
.slick01 .slick-dots {
    bottom: -40px;
    left: 0;
}

.requirement-area .slick-initialized .slick-slide a {
    position: relative;
}

.requirement-area .slick-initialized .slick-slide a::after {
    content: "";
    width: 100%;
    height: 90%;
    background: rgb(60, 170, 233);
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1;
}

.requirement-area .slick-initialized .slick-slide:nth-child(3n+1) a::after {
    background: rgb(186,255,237);
    background: linear-gradient(55deg, rgba(186,255,237,1) 0%, rgba(203,236,255,1) 100%);
}
.requirement-area .slick-initialized .slick-slide:nth-child(3n+2) a::after {
    background: rgb(254,225,245);
    background: linear-gradient(55deg, rgba(254,225,245,1) 0%, rgba(203,236,255,1) 100%);
}
.requirement-area .slick-initialized .slick-slide:nth-child(3n+3) a::after {
    background: rgb(254,226,205);
    background: linear-gradient(55deg, rgba(254,226,205,1) 0%, rgba(203,236,255,1) 100%);
}

.requirement-area .slick-initialized .slick-slide a .ttl {
    font-size: 30px;
    text-align: center;
}

.requirement-area .slick-initialized .slick-slide a .text {
    width: 100%;
    max-width: 170px;
    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;
    overflow: hidden;
    margin: 10px auto 0;
    padding: 10px;
    font-size: 14px;
    color: #fff;
    letter-spacing: 3px;
    border-radius: 9999px;
}

.requirement-area .slick-initialized .slick-slide:nth-child(3n+1) a .text {
    background: #00d49b;
}
.requirement-area .slick-initialized .slick-slide:nth-child(3n+2) a .text {
    background: #f788d4;
}
.requirement-area .slick-initialized .slick-slide:nth-child(3n+3) a .text {
    background: #ff9233;
}

.requirement-area .slick-initialized .slick-slide a .img {
    width: 80%;
    margin: 0 auto 10px;
}
@media (max-width: 1024px) {
    .slick01 .btn-slick.btn-back {
        left: 0px;
    }
    .slick01 .btn-slick.btn-next {
        right: 0px;
    }
}
@media (max-width: 599px) {
    .slick01 {
        padding: 0 10px;
    }
    .slick01 .btn-slick {
        font-size: 20px;
    }
}
/**
下層共通
*/
/* トップビジュアル（下層共通） */
.topvisual {
    position: relative;
}
.topvisual .img {
    min-height: 200px;
    opacity: 0.4;
    position: relative;
}
.topvisual .img:before {
    content: "";
    display: block;
    padding-top: 35%;
    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%;";
    position: absolute;
    top: 0;
    left: 0;
}
.topvisual .head {
    width: 96%;
    max-width: 1000px;
    font-weight: bold;
    font-size: 34px;
    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: 100%;
    }
}
/* パンくずリスト */
.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: 8px;
    height: 8px;
    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 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: 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;
    }
}
.column2 .boxs {
    display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}
.column2 .side {
    width: 240px;
}
.column2 .mainwrap {
    width: calc(100% - 280px);
}
@media (max-width: 1024px) {
    .column2 .boxs {
        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;
    }
}
.aside-container .wrap {
    height: 100%;
    background-color: #fff;
    border-radius: 15px;
    border: solid 1px var(--c-01);
        padding: 30px 15px;
}
.aside-container .wrap li+li{
  margin-top: 15px;
}
.aside-container .wrap .title {
text-align: center;
    margin-bottom: 20px;
        font-weight: bold;
    font-size: 20px;
}

.aside-container .wrap .title:after{
      content: "";
    width: 30px;
    height: 3px;
    display: block;
    margin: 10px auto;
    background: -webkit-gradient(linear, left top, right top, from(#d988a6), color-stop(50%, #d988a6), color-stop(50%, #d988a6), color-stop(50%, #529cd4), to(#529cd4));
    background: linear-gradient(to right, #d988a6 0%, #d988a6 50%, #d988a6 50%, #529cd4 50%, #529cd4 100%);
}


.aside-container .wrap .title .ja {
    font-size: 140%;
}

.aside-container .wrap li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold;
}

.aside-container .wrap li a:before{
      content: "\●";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-right: 5px;
    font-weight: bold;
    font-size: 80%;
    color: var(--c-10);
}

.aside-container+.aside-container {
    margin-top: 50px;
}

@media (max-width: 1024px) {
    .aside-container {
        width: 48%;
    }
    .aside-container+.aside-container {
        margin-top: 0;
    }
}

@media (max-width: 599px) {
    .aside-container {
        width: 100%;
    }
    .aside-container+.aside-container {
        margin-top: 50px;
    }
}
/* ページネーション */
.pagenation {
    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;
}
.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: 30px;
    height: 30px;
    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;
    padding: 2px 8px;
    font-size: 20px;
    color: #000;
    text-align: center;
    border-radius: 50%;
}
.pagenation .number a:hover,
.pagenation .next a:hover,
.pagenation .prev a:hover,
.pagenation .now {
    color: #fff;
    background: var(--c-10);
    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: -ms-flexbox;
    display: flex;
    -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;
    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: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 20px 0;
    border-bottom: 2px solid #999;
}
.form .datattl {
    width: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-negative: 0;
    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;
    -webkit-box-sizing: border-box;
    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;
    -webkit-box-sizing: border-box;
    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;
    -webkit-box-shadow: inset 1px 1px 0 1px #999;
    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;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    border: 1px solid #999;
}
.form .data textarea {
    width: 100%;
    height: 170px;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    border: 1px solid #999;
}
.form .data01 div {
    display: inline-block;
}
.form .btn {
    margin-top: 30px;
}
.form .btn button {
    width: 200px;
    margin: 10px 20px;
    padding: 0.2em;
    color: #fff;
    text-align: center;
    border: none;
    border-radius: 2em;
    background: #000;
    -webkit-transition: 0.3s all ease;
    transition: 0.3s all ease;
}
.form .btn button:hover {
    opacity: 0.6;
    cursor: pointer;
}
@media (max-width: 1024px) {
    .form .item {
        -ms-flex-wrap: wrap;
        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;
}

.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  #00bbdc;
}

.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: #00bbdc;
}

.detail-content-text h4 {
    margin-top: 50px;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 18px;
    color: #00bbdc;
    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: #00bbdc;
    -webkit-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: #00bbdc;
    -webkit-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;
}
[data-ab-test-block] [data-ab-test-contents]+[data-ab-test-contents] {
    display: none;
}

.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-02 {
    width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: inherit;

    -webkit-line-clamp: 2;
}

.l-text2 {
    letter-spacing: 2px;
}
.l-text3 {
    letter-spacing: 3px;
}
[data-element-id] .up-d-none {
    display: block;
    border: solid 4px black;
    position: relative;
}
[data-element-id] .up-d-none:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: black;
        text-shadow: none;
}

[data-element-id].fead-order>* {
    opacity: 1;
    -webkit-transition: 0.5s ease-out;
    transition: 0.5s ease-out;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.con-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.con-box .con {
    margin-left: 30px;
}

.con-box .con a {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    padding: 20px;
    color: #fff;
    letter-spacing: 3px;
    background: var(--c-101);
}

.con-box .con.ab a{
  background: linear-gradient(242.97deg, #4d4398, #db7438);
}

.con-box .tel .tel-logo {
    margin-right: 10px;
    line-height: 0;
}

.con-box .tel a {
    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;
    font-weight: 500;
    font-size: 22px;
}

/* A-BiSUスライダー */
.main-visual {
    position: relative;
}

.main-visual .uk-slidenav-position {
    height: 100%;
}

.main-visual .uk-slideshow {
    height: 100% !important;
    max-height: 770px;
    overflow: hidden;
    position: relative;
}

.main-visual .uk-slideshow::after {
    content: "";
    display: block;
    padding-top: 55%;
}

.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;";
}

.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;
    background: initial;
    -webkit-box-shadow: none;
    box-shadow: none;
    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%);
    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;
    background: initial;
    -webkit-box-shadow: none;
    box-shadow: none;
    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%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}
.detail-content-text ol li marker {
    display: none;
}

.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;
    }
}

.l-text2 {
    letter-spacing: 2px;
}
.l-text3 {
    letter-spacing: 3px;
}

.main-visual .head {
    position: absolute;
    top: 60%;
    left: 10%;
}

.main-visual .head .ttl,
.main-visual .head .en-ttl .ttl {
    display: inline-block;
    padding: 5px 30px;
    font-size: 40px;
    color: #fff;
    letter-spacing: 5px;
    background: var(--c-102);
}

.main-visual .head .en-ttl {
    margin-top: 30px;
}

.main-visual .head .en-ttl .ttl {
    font-family: "Roboto", sans-serif;
    font-size: 34px;
    letter-spacing: 1px;
}

.message-area .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.message-area .img-box {
    width: 25%;
}

.message-area .img-box .m-img {
    position: relative;
}

.message-area .img-box:nth-child(1) .m-img {
    margin-bottom: 100px;
}

.message-area .img-box:nth-child(1) .m-img span {
    -webkit-clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
    clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
}
.message-area .img-box:nth-child(3) .m-img {
    margin-top: 100px;
}

.message-area .img-box:nth-child(3) .m-img span {
    -webkit-clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
    clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
}

.message-area .img-box:nth-child(1) .m-img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(253,251,255);
    background: linear-gradient(140deg, rgba(253,251,255,1) 0%, rgba(248,237,254,1) 100%);
    position: absolute;
    top: 20%;
    left: -15%;
    z-index: -1;

    -webkit-clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
    clip-path: polygon(0 15%, 100% 0, 100% 85%, 0 100%);
}

.message-area .img-box:nth-child(3) .m-img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(253,251,255);
    background: linear-gradient(140deg, rgba(253,251,255,1) 0%, rgba(248,237,254,1) 100%);
    position: absolute;
    top: 20%;
    right: -15%;
    z-index: -1;

    -webkit-clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
    clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 85%);
}

.message-area .img-box .sb-img {
    max-width: 130px;
    margin: auto;
}

.message-area .text-box {
    width: 60%;
}

.message-area .text-box .text {
    margin-bottom: 50px;
    font-weight: 600;
    font-size: 18px;
    line-height: 2;
    text-align: center;
}

.message-area .text-box .sb-text {
    font-weight: 500;
    line-height: 2;
    text-align: center;
}

.m-ttl {
    margin-bottom: 80px;
    font-size: 40px;
    letter-spacing: 5px;
    text-align: center;
    position: relative;
    z-index: 1;
}
.m-ttl .ttl {
    margin-top: -30px;
    font-weight: 600;
    position: relative;
    z-index: 1;
}
.m-ttl .en {
    font-size: 100px;
    color: var(--c-02);
    line-height: 0.8;
}

.recruitment-area {
background: rgb(254, 226, 205);
    background: linear-gradient(55deg, rgba(254, 226, 205, 1) 0%, rgba(203, 236, 255, 1) 100%);
}

.recruitment-area .box {
    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;
}

.recruitment-area .img-box {
    width: 45%;

    -webkit-clip-path: polygon(15% 0, 100% 0, 85% 100%, 0 100%);
    clip-path: polygon(15% 0, 100% 0, 85% 100%, 0 100%);
}

.recruitment-area .text-box {
    width: 50%;
    padding: 50px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.recruitment-area .text-box .v-r {
    max-height: 360px;
    margin-bottom: 50px;
    margin-left: auto;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.recruitment-area .text-box .ttl {
    margin-left: 50px;
    font-size: 50px;
}

.recruitment-area .sb-ttl {
    margin-left: -60px;
    font-size: 110px;
    line-height: 0.5;
    color: var(--c-04);
}

.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%;
    }
}


.point-area .box {
    margin-top: 100px;
    margin-bottom: 150px;
}

.point-area .box.not {
    margin-bottom: 0;
}
.point-area .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

.point-area .text-box {
    width: 50%;
    position: relative;
    /* top: 30%; */
    /* left: 0; */
}
.point-area .text-box .bg-w {
    padding: 30px;
    background: #fff;
    position: relative;
    z-index: 1;
}

.point-area .box:nth-child(odd) .img-box {
    width: 60%;
    margin-left: auto;
    position: absolute;
    top: -100px;
    right: 0;
}

.point-area .box:nth-child(even) .img-box {
    width: 60%;
    margin-right: auto;
    position: absolute;
    top: -100px;
    left: 0;
}

.point-area .box .img-box img {
    max-height: 410px;
}

.point-area .box:nth-child(even) .text-box {
    left: initial;
    right: 0;
}

.point-area .box .text-box::after {
    content: "";
    width: 1000%;
    height: 110%;
    min-height: 410px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: -15%;
    z-index: -1;
}

.point-area .box:nth-child(3n+1) .text-box::after {
    background: #fdf2f6;
    left: initial;
    right: -15%;
}

.point-area .box:nth-child(3n+2) .text-box::after {
    background: #f3f9ec;
}

.point-area .box:nth-child(3n+3) .text-box::after {
    background: #e5f6fc;
    left: initial;
    right: -15%;
}

.point-area .box .text-box .num {
    font-weight: bold;
    font-size: 60px;
    position: absolute;
    top: -50px;
    left: -10px;
    filter: drop-shadow(0px 0px 2px #fff);
}
.point-area .box:nth-child(3n+1) .text-box .num {
    background: linear-gradient(300deg, rgba(132, 210, 255, 1) 0%, rgba(223, 242, 255, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.point-area .box:nth-child(3n+2) .text-box .num {
    background: linear-gradient(300deg, rgba(125, 255, 211, 1) 0%, rgba(202, 253, 236, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.point-area .box:nth-child(3n+3) .text-box .num {
   background: linear-gradient(300deg, rgba(254, 199, 160, 1) 0%, rgba(253, 237, 224, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.point-area .box .ttl {
    margin-bottom: 30px;
    padding-bottom: 30px;
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 2px;
    position: relative;
}

.point-area .box .ttl::after {
    content: "";
    width: 105%;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: -30px;
}
.point-area .box:nth-child(3n+1) .ttl::after {
    background: var(--c-05);
}
.point-area .box:nth-child(3n+2) .ttl::after {
    background: var(--c-06);
}
.point-area .box:nth-child(3n+3) .ttl::after {
    background: var(--c-07);
}
.m-btn {
    width: 100%;
    max-width: 250px;
        z-index: 1;
    position: relative;
}

.m-btn.min {
    width: 100%;
    max-width: 230px;
}
.m-btn a,
.m-btn button {
    width: 100%;
    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;
    overflow: hidden;
    padding: 20px 0px;
    color: #fff;
    letter-spacing: 3px;
    border-radius: 9999px;
    position: relative;
}

.m-btn.min a {
    padding: 10px;
}
.m-btn.min.de {
    display: none;
}

[class*="歯科医師"] .m-btn.min.de.歯科医師,
[class*="歯科衛生士"] .m-btn.min.de.歯科衛生士,
[class*="歯科助手・受付"] .m-btn.min.de.歯科助手・受付,
[class*="歯科技工士"] .m-btn.min.de.歯科技工士,
[class*="クリーンスタッフ・事務"] .m-btn.min.de.クリーンスタッフ・事務 {
    display: block;
}

.m-btn button {
    border: none;
    background: none;
}
.m-btn a::before,
.m-btn button::before,
.m-btn a::after,
.m-btn button::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
.m-btn a::before,
.m-btn button::before {
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    z-index: -1;
}

.m-btn.back a::before,
.m-btn.back button::before {
    background-image: -webkit-linear-gradient(26deg, rgb(187, 61, 157) 0%, rgb(83, 45, 199) 100%);
}

.m-btn a::after,
.m-btn button::after {
    background-image: -webkit-linear-gradient(26deg, rgb(187, 61, 157) 0%, rgb(83, 45, 199) 100%);
    z-index: -2;
}

.m-btn.back a::after,
.m-btn.back button::after {
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
}

.m-btn a:hover::before,
.m-btn button:hover::before {
    opacity: 0;
}

.works-area {
    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: 40px 40px;
    background-repeat: repeat;
    background-position: center center;
}

.works-area a {
    display: block;
    background: rgb(83,255,209);
    background: linear-gradient(40deg, rgba(83,255,209,1) 0%, rgba(126,208,255,1) 100%);

    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
}

.works-area a .box {
    position: relative;
}
.works-area .text-box {
    width: 100%;
    padding: 10px;
    color: #fff;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

.works-area .text-box>div {
    position: relative;
    z-index: 1;
}

.works-area .text-box .ttl {
    margin-bottom: 15px;
    font-size: 20px;
}

.works-area .text-box .sb-text {
    display: inline-block;
    padding-bottom: 5px;
    border-bottom: solid 1px;
}

.works-area a .img {
    opacity: 0.5;
    -webkit-transition: 0.4s ease;
    transition: 0.4s ease;
}

.works-area a:hover {
    opacity: 1;
}

.works-area a:hover .img {
    opacity: 1;
}

/* 1番目と5番目 */
.works-area li:nth-child(4n+1) a {
    background: rgb(83,255,209);
    background: linear-gradient(40deg, rgba(83,255,209,1) 0%, rgba(126,208,255,1) 100%);
}

/* 2番目と6番目 */
.works-area li:nth-child(4n+2) a {
    background: rgb(255,181,231);
    background: linear-gradient(40deg, rgba(255,181,231,1) 0%, rgba(126,208,255,1) 100%);
}

/* 3番目と7番目 */
.works-area li:nth-child(4n+3) a {
    background: rgb(255,182,130);
    background: linear-gradient(40deg, rgba(255,182,130,1) 0%, rgba(126,208,255,1) 100%);
}

/* 4番目と8番目 */
.works-area li:nth-child(4n) a {
    background: rgb(129,104,237);
    background: linear-gradient(40deg, rgba(129,104,237,1) 0%, rgba(126,208,255,1) 100%);
}

.works-area li:nth-child(4n+1) .text-box::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(83,255,209);
    opacity: 0.5;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.works-area li:nth-child(4n+2) .text-box::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(255,181,231);
    opacity: 0.5;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.works-area li:nth-child(4n+3) .text-box::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(255,182,130);
    opacity: 0.5;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.works-area li:nth-child(4n+4) .text-box::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(129,104,237);
    opacity: 0.5;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

/* .works-area li:nth-child(2) {
    margin-top: 40px;
}
.works-area li:nth-child(3) {
    margin-top: 80px;
}
.works-area li:nth-child(4) {
    margin-top: 0px;
}
.works-area li:nth-child(5) {
    margin-top: 40px;
}
.works-area li:nth-child(7) {
    margin-top: 80px;
}
.works-area li:nth-child(8) {
    margin-top: 120px;
} */

.works-area li:nth-child(2) {
    margin-top: 40px;
}
.works-area li:nth-child(3) {
    margin-top: 80px;
}
.works-area li:nth-child(4) {
    margin-top: 120px;
}
.works-area li:nth-child(6) {
    margin-top: 40px;
}
.works-area li:nth-child(7) {
    margin-top: 80px;
}
.works-area li:nth-child(8) {
    margin-top: 120px;
}

.welfare-area {
    border-radius: 0 0 300px 0;
    background: var(--c-100);
}

.welfare-area .box {
    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;
}

.welfare-area .en {
    font-size: 180px;
    color: var(--c-02);
    position: absolute;
    bottom: -15%;
    left: -10%;
}

.welfare-area .s-box {
    height: 230px;
    width: 230px;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    margin-bottom: 10px;
    border-radius: 50%;
    background: #fff;
    -webkit-box-shadow: 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9;
    box-shadow: 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9, 0 0 10px #d7eff9;
}

.welfare-area .s-box .img {
    width: 100%;
    max-width: 100px;
}

.welfare-area .s-box .ttl {
    text-align: center;
    margin-top: 15px;
    font-weight: bold;
}

.welfare-area .ttl-box {
    width: 5%;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.top-news li{
      position: relative;
}

[data-element-id] .top-news li{
  padding-bottom: 50px;
}

.top-news li:not(:last-child) {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px #ccc;
}

.top-news li::after {
    content: "\f105";
    display: inline-block;
    margin: auto;
    font-family: FontAwesome;
    font-size: 20px;
    color: var(--c-02);
    position: absolute;
    top: 5px;
    right: 10px;
}

.top-news li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding-right: 30px;
}

.top-news li a .date {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 30px;
    padding: 0.3em 1.5em;
    font-weight: 600;
}

.top-blog .text-box {
    padding: 15px;
    background: #fff;
}

.top-blog .date {
    margin-bottom: 10px;
}

.bolg-area {
    border-radius: 300px 0 0 0;
    background: rgb(248,237,255);
    background: linear-gradient(125deg, rgba(248,237,255,1) 0%, rgba(232,234,255,1) 100%);
}

.list-cmp09 {
    position: relative;
    z-index: 1;
}

.list-cmp09 .item {
    margin-bottom: 20px;
}
.list-cmp09 .datattl {
    padding: 15px 40px 15px 80px;
    font-weight: 500;
    font-size: 16px;
    background: #fff;
    -webkit-box-shadow: 0 0 5px 0 #999;
    box-shadow: 0 0 5px 0 #999;
    cursor: pointer;
    position: relative;
}
.list-cmp09 .datattl:before {
    content: "Q";
    width: 60px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 1rem;
    font-weight: bold;
    font-size: 26px;
    color: #fff;
    line-height: 1;
    background: rgb(60, 170, 233);
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
    position: absolute;
    top: 0;
    left: 0;
}
.list-cmp09 .data {
    display: none;
    margin-top: 10px;
    padding: 15px 10px 15px 80px;
    font-size: 16px;
    background: #fff;
    -webkit-box-shadow: 0 0 5px 0 #999;
    box-shadow: 0 0 5px 0 #999;
    position: relative;
}
.list-cmp09 .data:before {
    content: "A";
    width: 60px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 12px 1rem;
    font-weight: bold;
    font-size: 26px;
    color: #fff;
    line-height: 1;
    background: rgb(83, 255, 209);
    background: linear-gradient(40deg, rgba(83, 255, 209, 1) 0%, rgba(126, 208, 255, 1) 100%);
    position: absolute;
    top: 0;
    left: 0;
}

.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: 15px;
}

.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: 599px) {
    .list-cmp09 .item {
        margin-bottom: 20px;
    }
    .list-cmp09 .datattl {
        padding-left: 45px;
        padding-right: 40px;
    }
    .list-cmp09 .datattl:after {
        width: 20px;
        height: 20px;
        font-size: 16px;
        line-height: 18px;
    }
    .list-cmp09 .data {
        padding-left: 45px;
    }
    .list-cmp09 .datattl:before,
    .list-cmp09 .data:before {
        width: 35px;
    }
}

.pa-100 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.opa-20 {
    opacity: 0.2;
}
.contact-area .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px;
    background: #fff;
}

.contact-area .box li {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.contact-area .box li:first-child {
    border-right: solid 1px #ccc;
}

.contact-area .sb-ttl {
    margin-bottom: 30px;
    font-size: 60px;
    line-height: 1;
    text-align: center;
    background: var(--c-102);
    -webkit-background-clip: text;

    -webkit-text-fill-color: transparent;
}

.contact-area .text {
    margin-bottom: 30px;
    font-size: 18px;
    letter-spacing: 5px;
    text-align: center;
}

.contact-area .tel {
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 3px;
}

.contact-area .tel a {
    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;
}

.contact-area .tel a img {
    margin-right: 10px;
}

.contact-area .m-btn {
    width: 100%;
    max-width: 315px;
}

.contact-area .m-btn a i {
    font-size: 20px;
}

.contact-box {
    background: rgb(178,242,225);
    background: linear-gradient(145deg, rgba(178,242,225,1) 0%, rgba(181,227,250,1) 100%);
}

.contact-box.entry{
    background: rgb(254, 226, 205);
    background: linear-gradient(55deg, rgba(254, 226, 205, 1) 0%, rgba(203, 236, 255, 1) 100%);

}

.contact-box .box {
    padding: 3em;
    background: #fff;
    -webkit-box-shadow: 0 0 5px 0 #999;
    box-shadow: 0 0 5px 0 #999;
}

.contact-box dl {
    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;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 40px;
}

.contact-box dt {
    width: 220px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.contact-box dt .tit {
    width: 100%;
}

.contact-box dd {
    width: calc(100% - 250px);
}

.contact-box .form dt .label {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 2px 10px;
    font-size: 12px;
    color: #fff;
    background: #cb2626;
}

.contact-box .form .form_shape li {
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 20px;
}

.contact-box .form .form_shape input {
    display: none;
}

.contact-box .form .form_shape label {
    padding-left: 25px;
    line-height: 28px;
    position: relative;
    z-index: 0;
}

.contact-box .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-box .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-box .form .form_shape input:checked+label:after {
    display: block;
}

.contact-box .form dd input,
.contact-box .form dd textarea {
    width: 100%;
    height: 100%;
    padding: 10px 10px;
    border: none;
    border: solid 1px #ccc;
    border-radius: 5px;
}

.contact-box .form .address-code dd input {
    width: 50%;
}

.contact-box .form .address {
    margin-bottom: 20px;
}

.contact-box .form .address .txt {
    display: inline-block;
    padding-left: 30px;
    position: relative;
}

.contact-box .form .address .txt input {
    width: 100px;
    position: relative;
    z-index: 0;
}

.contact-box .form dd.radiobtn label {
    display: inline-block;
    margin: 0.5em 0;
    padding: 0 10px 0 30px;
    position: relative;
}

.contact-box .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-box .form dd.radiobtn label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.contact-box .form dd.radiobtn input {
    display: none;
}

.contact-box .form dd.radiobtn input:checked+label {
    text-decoration: underline;
}

.contact-box .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-box .form dd.radiobtn input+label {
    margin-right: 15px;
}

.contact-box .m-ttl .en {
    color: var(--c-06);
}

.contact-box.entry .m-ttl .en{
      color: var(--c-04);
}

@media (max-width: 1024px) {
    .contact-box .box {
        padding: 2em;
    }
}

@media (max-width: 599px) {
    .contact-box .box {
        padding: 2em 1em;
    }

    .contact-box dt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
    }

    .contact-box dt .tit {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
    }

    .contact-box .form dt .label {
        margin-left: 1em;
    }

    .contact-box dt,
    .contact-box dd {
        width: 100%;
    }

    .contact-box dd {
        margin-top: 0.5em;
    }

    .contact-box .form dd.radiobtn {
        padding: 0.5em 0;
    }
}

.footer .box .text-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .box .logo {
    max-width: 300px;
    margin: 0 auto 10px;
    text-align: center;
}

.footer .box .add {
    margin-bottom: 10px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
}

.footer .box .tel {
    margin-bottom: 10px;
}

.footer .box .tel a {
    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;
    font-weight: bold;
    font-size: 32px;
}

.footer .box .tel a img {
    margin-right: 10px;
}

.footer .box .sns {
    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;
    margin-bottom: 10px;
}

.footer .box .sns>div {
    margin: 0px 10px;
}

.footer .box .btn-s a {
    display: block;
    padding: 15px;
    text-align: center;
    background: #f4a5ab;
}

.footer .box .map {
    padding-top: 40%;
}

@media (max-width: 599px) {
    .footer .box .map {
        padding-top: 65%;
    }
}

@media (max-width: 1024px) {
    .con-box {
        width: 100%;
        height: 50px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        position: fixed;
        bottom: 0;
        z-index: 10;
    }
    .toggle .text {
        width: 100%;
        font-size: 12px;
        text-align: center;
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .con-box >div {
        width: 45%;
        height: 100%;
        margin: 0;
    }
     .con-box >div>div{
       height: 100%;
     }
    .con-box .con{
       margin: 0;
       height: 100%;
    }
    .con-box .tel {
        background: linear-gradient(125deg, rgba(248, 237, 255, 1) 0%, rgba(232, 234, 255, 1) 100%);
    }
    .con-box .con a {
        height: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 5px 20px;
    }
    .con-box .con a .img {
        max-width: 15px;
        margin-right: 10px;
    }
    .con-box .tel a {
        height: 100%;
    }
    .header .flex {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 10px 0;
    }
    .main-visual .head .ttl {
        font-size: 30px;
    }
    .main-visual .head .en-ttl .ttl {
        font-size: 24px;
    }
    .m-ttl .en,
    .recruitment-area .sb-ttl {
      font-size: 70px;
    line-height: 1.4;
    }
    .m-ttl {
        font-size: 28px;
    }
    .recruitment-area .text-box .ttl {
        font-size: 42px;
    }
    .point-area .box .ttl {
        font-size: 18px;
    }
    .point-area .box .text-box .num {
        font-size: 50px;
        left: 0px;
    }
    .point-area .text-box {
        top: 15%;
    }
    .works-area .text-box .ttl {
        font-size: 20px;
    }
    .welfare-area .s-box {
        height: 180px;
        width: auto;
    }
    .welfare-area .s-box .img {
        max-width: 80px;
    }
    .welfare-area .en {
        font-size: 100px;
        bottom: -25%;
        left: 0%;
    }
    .top-news li a {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .top-news li a .date {
        width: 100%;
        margin-bottom: 10px;
        margin-right: 0;
        padding: 0;
    }
    .requirement-area .slick-initialized .slick-slide a .ttl {
        font-size: 20px;
    }
    .contact-area .text {
        font-size: 16px;
    }
    .contact-area .box {
        padding: 30px 15px;
    }
    .contact-area .m-btn {
        max-width: 250px;
    }
    .message-area .text-box{
      width: 70%
    }
    .message-area .img-box{
      width: 15%;
    }
}

@media (max-width: 599px) {
    .main-visual .uk-slideshow::after {
        padding-top: 100%;
    }
    .con-box>div{
      width: 40%;
    }
    .toggle {
        width: 20%;
    }
    .con-box .tel a {
        font-size: 14px;
    }
    .main-visual .head .ttl {
        font-size: 24px;
    }
    .main-visual .head .en-ttl .ttl {
        font-size: 20px;
    }
    .main-visual .head {
        top: 65%;
    }
    .m-ttl .en,
    .recruitment-area .sb-ttl {
        font-size: 50px;
        line-height: 1.6;
    }
    .m-ttl .en.rec-text{
          font-size: 50px;
    line-height: 1.8;
    }
    .m-ttl {
        margin-bottom: 50px;
        font-size: 24px;
    }
    .message-area .box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .message-area .img-box {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .message-area .img-box>div {
        width: 50%;
    }
    .message-area .text-box {
        width: 100%;
    }
    .message-area .text-box .text,
    .message-area .text-box .sb-text {
        text-align: left;
    }
    .message-area .img-box:nth-child(3) .m-img {
        margin-top: 0;
        margin-bottom: 100px;
    }
    .recruitment-area {
        padding: 80px 0;
    }
    .recruitment-area .en{
      color: var(--c-04);
    }
    .recruitment-area .img-box {
        width: 100%;

        -webkit-clip-path: none;
        clip-path: none;
    }
    .recruitment-area .text-box {
        width: 100%;
        padding: 0;
    }
    .recruitment-area .text-box .v-r {
        max-height: initial;
        margin-top: 10px;
        margin-bottom: 0;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }
    .recruitment-area .sb-ttl {
        display: none;
        margin-left: 0;
        font-size: 80px;
        text-align: center;
    }
    .recruitment-area .m-ttl .ttl {
        margin-top: 0;
    }

    .point-area .box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .point-area .text-box {
        width: 100%;
        margin-bottom: 10px;
        position: static;
    }
    .point-area .box:nth-child(odd) .img-box,
    .point-area .box:nth-child(even) .img-box {
        width: 100%;
    }
    .point-area .box .text-box .num {
        font-size: 40px;
        top: -35px;
        left: 10px;
    }
    .point-area .box {
        margin-bottom: 50px;
        padding: 50px 0;
    }
    .point-area .box .text-box::after {
        content: "";
        width: 1000%;
        height: 100%;
        min-height: auto;
        position: absolute;
        left: -15%;
        z-index: -1;
    }
/*     .works-area li:nth-child(3),
.works-area li:nth-child(5),
.works-area li:nth-child(7) {
    margin-top: 0;
}
.works-area li:nth-child(4),
.works-area li:nth-child(8) {
    margin-top: 40px;
} */
    .works-area li:nth-child(3),
    .works-area li:nth-child(7) {
        margin-top: 0;
    }
    .works-area li:nth-child(4),
    .works-area li:nth-child(8) {
        margin-top: 40px;
    }
    .welfare-area .ttl-box {
        width: 100%;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }
    .welfare-area .s-box {
        width: 180px;
        height: 180px;
        margin: auto;
        margin-bottom: 10px;
    }
    .welfare-area {
        border-radius: 0 0 100px 0;
    }
    .welfare-area .en {
        position: relative;
        bottom: initial;
        left: initial;
    }
    .bolg-area {
        border-radius: 100px 0 0 0;
    }
    .contact-area .box li {
        width: 100%;
    }
    .contact-area .box li:first-child {
        margin-bottom: 30px;
        padding-bottom: 30px;
        border-bottom: solid 1px #ccc;
        border-right: none;
    }
    .fnav .wrap .box {
        width: 48%;
        margin: 0 0 50px;
    }
    .fnav .wrap .box:last-child {
        margin: 0;
    }
    .fnav .wrap {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .fnav .wrap .item {
        font-size: 14px;
    }
     .works-area .text-box .ttl {
        font-size: 16px;
    }
}
.bn-area,
.recruit-area {
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #fff calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #fff calc(100% - 1px));
    background-size: 40px 40px;
    background-repeat: repeat;
    background-position: center center;
    background-color: #f7f8fa;
}
.bn-area a {
    display: block;
    padding: 30px;
    position: relative;
    z-index: 1;
    border-radius: 15px;
    overflow: hidden;
}

.bn-area a::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.bn-area li.item01 a::after {
    background: rgb(83, 255, 209);
    background: linear-gradient(40deg, rgba(83, 255, 209, 1) 0%, rgba(126, 208, 255, 1) 100%);
}
.bn-area li.item02 a::after {
    background: rgb(255, 181, 231);
    background: linear-gradient(40deg, rgba(255, 181, 231, 1) 0%, rgba(126, 208, 255, 1) 100%);
}
.bn-area li.item03 a::after {
    background: rgb(255, 182, 130);
    background: linear-gradient(40deg, rgba(255, 182, 130, 1) 0%, rgba(126, 208, 255, 1) 100%);
}
.bn-area li.item04 a::after {
    background: rgb(129, 104, 237);
    background: linear-gradient(40deg, rgba(129, 104, 237, 1) 0%, rgba(126, 208, 255, 1) 100%);
}
.bn-area .img {
    border-radius: 15px;
    overflow: hidden;
}
.bn-area .ttl-box {
    font-size: 34px;
    position: relative;
}
.bn-area .ttl-box::after {
    content: "\f105";
    display: inline-block;
    margin: auto;
    font-family: FontAwesome;
    font-size: 20px;
    position: absolute;
    bottom: 5px;
    right: 10px;
}

.bgi-c {
    position: relative;
}

.bgi-c::before {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(129, 104, 237);
    background: linear-gradient(40deg, rgba(129, 104, 237, 1) 0%, rgba(126, 208, 255, 1) 100%);
    position: absolute;
    top: 30px;
    left: 30px;

    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
}

.bgi-c img {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
}

@media (max-width: 1024px) {
.bn-area a{
  padding: 30px;
}
}

@media (max-width: 599px) {
    .bgi-c::before {
        top: 10px;
        left: 10px;
    }
    .bgi-c {
        margin-right: 10px;
    }
    .bn-area a{
  padding: 30px;
}
.bn-area .ttl-box{
  font-size: 26px;
}
}

.cc-area {
    background: var(--c-100);
}

.cc-area .box {
    height: 100%;
    padding: 30px;
    border-radius: 30px;
    background: #fff;
}

.cc-area .box .ttl {
    margin-bottom: 30px;
    font-weight: 600;
    font-size: 18px;
}

.cc-area .box .img span {
    overflow: hidden;
    border-radius: 30px;
}

.cc-area .box .text {
    margin-top: 30px;
}

.career {
    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;
    margin-top: 50px;
}

.career .box {
    width: 48%;
    padding: 30px;
    border-radius: 15px;
    background: #f7f8fa;
    -webkit-box-shadow: 0 0 5px 0 #999;
    box-shadow: 0 0 5px 0 #999;
}

.career .box:last-child {
    width: 100%;
    margin-top: 4%;
}

.career .box .ttl {
    margin-bottom: 30px;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}

.career .text_box li+li {
    margin-top: 10px;
}

.director-area .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.director-area .name .ja {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    font-size: 24px;
}

.director-area .name .en {
    width: 100%;
    display: block;
    font-size: 24px;
    color: #99a1ac;
}

.staff-area {
    background: var(--c-100);
}

.staff-area .name {
    margin-bottom: 10px;
    font-size: 18px;
}

.staff-area .name .kn{
  font-size: 14px;
}

.staff-area .pro {
    font-size: 14px;
    color: #99a1ac;
}

.c-li li {
    margin-bottom: 5px;
    padding-left: 1.5em;
    line-height: 2;
    position: relative;
}

.c-li li:before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--c-01);
    position: absolute;
    top: 8px;
    left: 0;
}

@media (max-width: 599px) {
    .career .box {
        width: 100%;
    }
    .career .box+div {
        margin-top: 4%;
    }
}

.cp-img01 {
    margin-bottom: 30px;
}

.cp-img01 span {
    position: relative;

    -webkit-clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
    clip-path: polygon(10% 0, 100% 0%, 90% 100%, 0% 100%);
}

.cp-img01::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgb(253, 251, 255);
    background: linear-gradient(140deg, rgba(253, 251, 255, 1) 0%, rgba(248, 237, 254, 1) 100%);
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;

    -webkit-clip-path: polygon(0 0, 90% 0, 100% 100%, 10% 100%);
    clip-path: polygon(0 0, 90% 0, 100% 100%, 10% 100%);
}

.g-c {
    display: inline-block;
    overflow: hidden;
    position: relative;
}

.g-c::after {
    content: "";
    width: 300%;
    height: 2px;
    display: inline-block;
    background: rgb(180, 221, 192);
    background: -webkit-gradient(linear, left top, right top, from(rgba(180, 221, 192, 1)), color-stop(50%, rgba(186, 160, 255, 1)), color-stop(70%, rgba(180, 221, 192, 1)), to(rgba(185, 176, 237, 1)));
    background: linear-gradient(90deg, rgba(180, 221, 192, 1) 0%, rgba(186, 160, 255, 1) 50%, rgba(180, 221, 192, 1) 70%, rgba(185, 176, 237, 1) 100%);
    opacity: 1;
    -webkit-transition: opacity 0.75s linear 1s;
    transition: opacity 0.75s linear 1s;
    -webkit-transition-delay: 1.25s;
    transition-delay: 1.25s;
    -webkit-animation: gradanim 10s linear 0s infinite;
    animation: gradanim 10s linear 0s infinite;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
    position: absolute;
    bottom: 0;
    left: 0;
}

@-webkit-keyframes gradanim {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0);
    }

    to {
        -webkit-transform: translate(-66.6666%);
        transform: translate(-66.6666%);
    }
}

@keyframes gradanim {
    0% {
        -webkit-transform: translate(0);
        transform: translate(0);
    }

    to {
        -webkit-transform: translate(-66.6666%);
        transform: translate(-66.6666%);
    }
}

.md-ttl {
    margin-bottom: 30px;
    padding-bottom: 10px;
    font-weight: bold;
    font-size: 20px;
}

.box-ss {
    -webkit-box-shadow: 0px 0px 7px #8b8b8b;
    box-shadow: 0px 0px 7px #8b8b8b;
}

.area-09>* {
    color: #fff;
}
.area-09 .box {
    background: linear-gradient(242.97deg, #4d4398, #db7438);
}

.area-09 .box.new {
    background: linear-gradient(242.97deg, #4d4398, #38a1db);
}
.area-09 .box .img {
    opacity: 0.3;
}

.area-09 .box .tbox{
      display: flex;
}

.area-09 .box .tbox .v-r{
      -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.area-09 .box .tbox .sb-m-ttl{
  margin-right: 15px;
  padding-right: 15px;
  border-right: solid 1px;
}

.area-09 .box .tbox .click-text{
      position: absolute;
    bottom: -20px;
    right: 0;
}

.zoom-in-img .img {
    overflow: hidden;
}

.zoom-in-img img {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.zoom-in-img a:hover img,
.zoom-in-img.new:hover .new img {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
}
.zoom-in-img.new:hover .new img {
    cursor: pointer;
}

.sb-m-ttl {
    font-size: 24px;
}

.official-area {
    background: var(--c-100);
}

.official-area a {
    display: block;
    overflow: hidden;
    padding: 32px 20px 28px;
    border-top: 1px solid #c9d1db;
    border-bottom: 1px solid #c9d1db;
    background: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
}

.official-area a::after {
    content: "";
    width: 26px;
    height: 26px;
    display: block;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #f4f4f5;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: scale(0);
    transform: scale(0);
    pointer-events: none;
    position: absolute;
    bottom: -13px;
    left: 0;
    right: 0;
}

.official-area a:hover::after {
    -webkit-transform: scale(24);
    transform: scale(24);
}

.official-area a>div {
    position: relative;
    z-index: 1;
}

.official-area .jp-title {
    font-size: 12px;
    letter-spacing: 0.02em;
}

.official-area .en-title {
    margin-top: 8px;
    font-weight: 200;
    font-size: 28px;
}

.official-area .sb-text {
    margin-top: 12px;
    font-size: 12px;
    text-align: right;
}

@media (max-width: 599px) {
    .sb-m-ttl {
        font-size: 20px;
    }
}

.slick03 {
    margin-bottom: 100px;
}

.slick02 .btn-slick,
.slick03 .btn-slick{
    -webkit-transform: none;
    transform: none;
    bottom: -100px;
    padding: 15px;
    font-size: 20px;
    color: #fff;
    line-height: 1;
    background: rgb(60, 170, 233);
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
    cursor: pointer;
    position: absolute;
    z-index: 1;
}
.slick02 .btn-slick.btn-back,
.slick03 .btn-slick.btn-back{
    left: 20px;
}
.slick02 .btn-slick.btn-next,
.slick03 .btn-slick.btn-next{
    left: 100px;
}

.number-area .stat {
    height: 100%;
    padding: 25px;
    text-align: center;
    border-radius: 8px;
    background: linear-gradient(145deg, #e6e9f0, #fff);
    -webkit-box-shadow: 0 8px 16px rgba(0,0,0,0.1);
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}

.number-area .stat .sb-ttl,
.number-area .stat .text,
.number-area .stat .average-age {
    margin: 5px 0;
}

.number-area .stat .sb-ttl {
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 5px;
    color: #333;
    margin-bottom: 30px;
}

.number-area .stat .text,
.number-area .stat .average-age {
    font-size: 20px;
    color: #666;
}

.number-area .stat .average-age{
  margin-top: 40px;
}

.number-area .stat .text{
width: 100%;
}

.number-area .stat .img{
width: 50%;
    margin: 0 auto 50px;
}

.number-area .stat .num{
      font-weight: 400;
      font-size: 50px;
      color: var(--c-01);
      line-height: 0;
}

.hospital-area .slick02 .ttl {
    margin: 10px 0;
    font-weight: bold;
    font-size: 18px;
    color: var(--c-01);
}

.hospital-area .slick02 .text {
    line-height: 2;
}

.hours-area .box {
    max-width: 800px;
    margin: auto;
    padding: 20px 50px;
    background: #fff;
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.1);
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.hours-area .text-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    z-index: 1;
}

.hours {
    margin-top: 50px;
    font-weight: 400;
    font-size: 80px;
    color: var(--c-01);
    line-height: 0;
    letter-spacing: 0em;
}

.hours span {
    font-weight: 400;
    font-size: 30px;
    color: #1b224c;
    line-height: 1.525;
    letter-spacing: 0em;
}

.hours span.min {
    font-size: 18px;
}

.hours-area .c-li li {
    margin-bottom: 5px;
    padding-left: 1.5em;
    font-weight: bold;
    font-size: 24px;
    line-height: 2;
    position: relative;
}
.hours-area .c-li li:before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--c-01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.f-banner li {
    position: relative;
}
.f-banner .item .tbox {
    width: 90%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
}
.filter-cmn-01 {
    overflow: hidden;
    position: relative;
}
.filter-cmn-01:before,
.filter-cmn-01:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: #999;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;

    mix-blend-mode: multiply;
}
@-webkit-keyframes coverEnd {
    from {
        width: 100%;
    }

    to {
        width: 0;
    }
}

@keyframes coverEnd {
    from {
        width: 100%;
    }

    to {
        width: 0;
    }
}
.hover-cmn-01:hover .filter-cmn-01:after {
    -webkit-animation: coverEnd 1s 1 both;
    animation: coverEnd 1s 1 both;
}
.f-banner .tbox {
    color: #fff;
}
.f-banner a:hover .tbox {
    color: #373737;
    -webkit-transition: 1s;
    transition: 1s;
}

.stepbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    position: relative;
}

.stepbar li {
    list-style: none;
    font-weight: bold;
    color: #000;
    text-align: center;
    position: relative;
}

.stepbar li:before {
    content: "";
    width: 18px;
    height: 18px;
    display: block;
    margin: 0.5em auto;
    text-align: center;
    border: 1px solid #000;
    border-radius: 50%;
    background-color: #fff;
}

.stepbar li:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 1em;
    left: -50%;
    z-index: -1;
}

.stepbar li:first-child:after {
    content: none;
}

@media (max-width: 599px) {
    .hours-area .text-box {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .hours-area .text-box>* {
        width: 100%;
    }
    .hours {
        text-align: center;
    }
}

.list-home08 {
    border: none;
}

.list-home08 .item {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    padding: 15px;
    border-bottom: 2px dotted #ccc;
}
.list-home08 .datattl {
    min-width: 150px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: "Lora","YuMincho","Yu Mincho","游明朝体","ヒラギノ明朝 ProN","Hiragino Mincho ProN",serif;
}

.list-cmp03 .item {
    padding: 20px;
}
.list-cmp03 .item:not(:last-child) {
    border-bottom: 1px dashed var(--c-01);
}
.list-cmp03 .datattl {
    width: 150px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 20px;
}
@media (max-width: 599px) {
    .list-cmp03 .item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 20px 10px;
    }
    .list-cmp03 .datattl {
        width: 100%;
        margin-bottom: 5px;
    }
    .list-cmp03 .data {
        width: 100%;
    }
}
.charm-area {
    background: var(--c-100);
}

.charm-area .box>:nth-child(even) .bgi-c img {
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 85%);
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 85%);
}

.charm-area .box>:nth-child(even) .bgi-c::before {
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 85%);
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 85%);
}

.charm-area .box>div+div {
    margin-top: 80px;
}

.title-left-deco {
    margin-bottom: 15px;
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 20px;
    border-bottom: solid 3px #dfe3ed;
    position: relative;
}
.title-left-deco::before {
    content: "";
    width: 50px;
    height: 3px;
    display: block;
    background-color: var(--c-06);
    position: absolute;
    bottom: -3px;
    left: 0;
}

.border-10 {
    overflow: hidden;
    border-radius: 10px;
}
.p-flow-content .step-list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow-x: inherit;
    overflow-y: hidden;
    position: relative;
}

.p-flow-content .step-list .item-no {
    width: 10%;
    padding-top: 15px;
    font-weight: 400;
    font-size: 14px;
    color: var(--c-01);
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: center;
}

.p-flow-content .step-list .item-content {
    width: 85%;
}

.p-flow-content .step-list .item-content-title {
    font-size: 1.5rem;
}

.p-flow-content .step-list .item-content-text {
    margin-top: 15px;
    padding-bottom: 4.625rem;
    font-size: 0.875rem;
}
.p-flow-content .step-list .item:before {
    content: "";
    width: 1px;
    height: 100%;
    display: block;
    background-color: #a79c9c;
    position: absolute;
    top: 3rem;
    left: 3rem;
}

.p-flow-content .step-list .item:last-child:before {
    content: none;
}
@media (max-width: 1024px) {
    .p-flow-content .step-list .item-no {
        width: 13%;
    }
}

@media (max-width: 599px) {
    .p-flow-content .step-list .item-no {
        width: 25%;
        padding-top: 10px;
        font-size: 14px;
        text-align: center;
    }
    .p-flow-content .step-list .item-content {
        width: 70%;
    }
    .p-flow-content .step-list .item-content-title{
      font-size: 20px;
    }
}

.check li {
    margin-bottom: 10px;
    padding-left: 30px;
    font-size: 18px;
    line-height: 2;
    position: relative;
}

.check li:before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--c-101);
    position: absolute;
    top: 8px;
    left: 0;
}
.check li:after {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 12px;
    color: #fff;
    position: absolute;
    top: 8px;
    left: 5px;
}

.top-staff .card {
    overflow: hidden;
    border-radius: 15px;
    background: #fff;
}

.top-staff .card .text-box {
    padding: 30px;
}

.top-staff .card .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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;
    margin-bottom: 30px;
}

.top-staff .card .ja {
    font-weight: bold;
    font-size: 24px;
}

.top-staff .card .en {
    font-family: "Rubik", sans-serif;
    font-weight: bold;
    font-size: 14px;
    color: var(--c-01);
    letter-spacing: 3px;
    text-align: center;
}

.director {
    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;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.director span {
    margin: 5px 5px 0 0;
    padding: 3px 15px;
    font-weight: 500;
    font-size: 14px;
    color: #fff;
    border-radius: 5px;
    background: var(--c-01);
}

.plan-list {
    position: relative;
}

.plan-list .ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px;
    font-weight: 500;
    font-size: clamp(1.875rem, 0.85rem + 1.6vw, 2.25rem);
    color: #fff;
    border-radius: 15px 15px 0 0;
    background: var(--c-01);
}

.plan-list .ttl .text {
    margin-left: 10px;
    line-height: 1;
}

.plan-list .ttl img {
    max-width: 50px;
}

.plan-list .f-btn a {
    display: block;
    padding: 20px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 3px;
    text-align: center;
    border-radius: 0 0 15px 15px;
    background: #3e3e3e;
}

.plan-list .item {
    padding: 20px;
    border-bottom: solid 3px #ccc;
    background: #fff;
}

.plan-list .item:last-child {
    border-bottom: none;
}

.plan-list .item .pricettl {
    width: 65%;
    margin-right: 20px;
    font-size: 20px;
}

.plan-list .item .price {
    font-size: clamp(1.875rem, 0.167rem + 2.67vw, 2.5rem);
    line-height: 1;
}

@media (max-width: 599px) {
    .top-staff .card .text-box {
        padding: 10px;
    }

    .top-staff .card .ja {
        font-size: 20px;
    }
}

.close-icon {
    width: 60px;
    height: 24px;
    display: block;
    overflow: hidden;
    border-radius: 100px;
    background-color: #c9d1db;
    position: relative;
    z-index: 1;
}
.close-icon span::after,
.close-icon span::before {
    content: "";
    width: 16px;
    height: 1px;
    display: block;
    margin: auto;
    background-color: #202733;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
}
.close-icon span::before {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
}
.close-icon span::after {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg);
}

.modal-text {
    margin-top: 28px;
    padding-top: 32px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.04em;
    border-top: 1px solid #c9d1db;
}

.modal-position {
    font-size: 12px;
    color: rgba(32, 39, 51, 0.75);
    letter-spacing: 0.04em;
}

.modal-name {
    margin-top: 8px;
    font-weight: bold;
    font-size: 24px;
    letter-spacing: 0.06em;
}

.item-name {
    margin-top: 5px;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.04em;
}

.item-position {
    color: rgba(32, 39, 51, 0.75);
    letter-spacing: 0.04em;
}

.staff1 .box {
    width: 96%;
    max-width: 960px;
    max-height: 90%;
    visibility: hidden;
    overflow: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 15px;
    background: #fff;
    opacity: 0;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 900;
}

.staff1 .box.active {
    visibility: visible;
    opacity: 1;
}

.staff1 .box .close {
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
}

[data-element-id] .staff1 .box .img-area {
    width: 100%;
    margin-bottom: 20px;
}

.staff1 .box .img-area {
    width: 50%;
}

[data-element-id] .staff1 .box .tbox {
    width: 100%;
}

.staff1 .box .tbox {
    width: 50%;
    padding: 30px;
}

.staff1 .box .tbox dt {
    width: 30%;
    font-weight: bold;
}

.staff1 .box .tbox .director {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-bottom: 10px;
}

.staff1 .box .tbox dd {
    width: 69%;
}

.staff1 .box .tbox dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
}

.staff1 .box .hito .tit {
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-weight: bold;
    color: var(--c-01);
    border-bottom: 1px solid #bfbfbf;
}

.staff1 .box .hito .omoi {
    padding: 20px 0 20px 0;
}


.overlay2:after {
    content: "";
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: 0.6;
    -webkit-transform: translate3d(0, 0, 0) !important;
    transform: translate3d(0, 0, 0) !important;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 890;
}

[data-element-id] .staff1 .box {
    width: 100%;
    max-width: none;
    max-height: none;
    visibility: visible;
    margin-top: 10px;
    border: 10px solid #000;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: relative;
    left: 0;
}

[data-element-id] .staff1 .box:before {
    content: "staffの詳細内容";
    width: 100%;
    display: block;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
}


.pf-area {
    background: var(--c-100);
}


.pf-area .sw .img.new {
    margin-bottom: 10px;
    border-radius: 10px;
    position: relative;
}
.pf-area .sw .img.new:before{
content: "+";
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1;
    background: #e9b3b0;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    padding-bottom: 3px;
    color: #fff;
    border: solid 2px #fff;
}

.pf-area .kn {
    font-size: 14px;
}

.pf-area .staff1{
  justify-content: center;
}

@media (max-width: 599px) {
    .staff1 .box .img-area,
    .staff1 .box .tbox {
        width: 100%;
    }
    .staff1 .box .close {
        top: 10px;
        right: 10px;
    }
}

.interview-area .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.interview-area li:nth-child(even) .box {
    flex-direction: row-reverse;
}

.interview-area li+li {
    margin-top: 100px;
}

.interview-area .box .img {
    width: 30%;
    height: 100%;
    margin-bottom: 50px;
    position: relative;
}

.interview-area .box .img::after {
    content: "";
    width: 1000%;
    height: 100%;
    background: #eee;
    position: absolute;
    top: 15%;
    right: 15%;
    z-index: -1;
}
.interview-area li:nth-child(3n+1) .box .img::after {
    background: linear-gradient(300deg, rgba(132,210,255,1) 0%, rgba(223,242,255,1) 100%);
}
.interview-area li:nth-child(3n+2) .box .img::after {
    background: linear-gradient(300deg, rgba(125,255,211,1) 0%, rgba(202,253,236,1) 100%);
}
.interview-area li:nth-child(3n+3) .box .img::after {
    background: linear-gradient(300deg, rgba(254,199,160,1) 0%, rgba(253,237,224,1) 100%);
}

.interview-area li:nth-child(even) .box .img::after {
    left: 15%;
    right: inherit;
}

.interview-area .box .text-box {
    width: 65%;
}

.interview-area .box .text-box dl+dl {
    margin-top: 30px;
}

.interview-area .box .text-box .s-ttl {
    font-size: 24px;
}

.interview-area .box .text-box .sb-ttl {
    letter-spacing: 2px;
}

.interview-area .box .text-box .text {
    font-size: 14px;
    line-height: 2;
}

.interview-area .qa {
    display: flex;
    margin-bottom: 15px;
}

.interview-area .qa .num {
    flex-shrink: 0;
    margin-right: 5px;
    font-size: 120%;
    color: var(--c-01);
    line-height: 1;
}

@media (max-width: 599px) {
    .interview-area .box .img,
    .interview-area .box .text-box {
        width: 100%;
    }
    .interview-area .box .img::after{
          top: 8%;
    }
}

.block-cmn01 {
    position: relative;
}
.block-cmn01+li {
    margin-top: 100px;
}
.block-cmn01:after {
    content: "";
    width: 600%;
    height: 100%;
    margin-left: -300%;
    background: #777;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
.block-cmn01:nth-child(1):after {
    background: linear-gradient(40deg, rgba(83, 255, 209, 1) 0%, rgba(126, 208, 255, 1) 100%);
    opacity: 0.2;
}
.block-cmn01:nth-child(2):after {
    background: linear-gradient(40deg, rgba(255, 181, 231, 1) 0%, rgba(126, 208, 255, 1) 100%);
    opacity: 0.2;
}
.block-cmn01:nth-child(3):after {
    background: linear-gradient(40deg, rgba(255, 182, 130, 1) 0%, rgba(126, 208, 255, 1) 100%);
    opacity: 0.2;
}
.block-cmn01:nth-child(4):after {
    background: linear-gradient(40deg, rgba(129, 104, 237, 1) 0%, rgba(126, 208, 255, 1) 100%);
    opacity: 0.2;
}
.block-cmn01:nth-child(5):after {
    background: linear-gradient(40deg, rgb(237, 237, 104) 0%, rgba(126, 208, 255, 1) 100%);
    opacity: 0.2;
}

.block-cmn01 .pic-side {
    margin-top: -50px;
    padding-bottom: 50px;
}

@media (max-width: 599px) {
    .block-cmn01 {
        padding: 50px 0;
    }
    .block-cmn01 .pic-side {
        margin-top: 0px;
        padding-bottom: 0px;
    }
    .block-cmn01+li {
        margin-top: 50px;
    }
}
.a-link-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.a-link-box .a-link {
    width: 20%;
}

.a-link-box .a-link a {
    width: 100%;
    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;
    overflow: hidden;
    padding: 20px 0px;
    color: #fff;
    letter-spacing: 3px;
    border-radius: 9999px;
    position: relative;
}
.a-link-box .a-link a::before,
.a-link-box .a-link a::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.a-link-box .a-link a::before {
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    z-index: -1;
}

.a-link-box .a-link a:hover::before {
    opacity: 0;
}

.a-link-box .a-link a::after {
    background-image: -webkit-linear-gradient(26deg, rgb(187, 61, 157) 0%, rgb(83, 45, 199) 100%);
    z-index: -2;
}

@media (max-width: 1024px) {
    .a-link-box .a-link {
        width: 48%;
    }
    .a-link-box .a-link {
        margin-bottom: 4%;
    }
}

.requirements:nth-of-type(n+4) {
    margin-top: 40px;
}

.requirements .job {
    overflow: hidden;
    padding-bottom: 100px;
    position: relative;
}

.requirements .job::before {
    content: "";
    background-color: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.requirements .job:hover::before {
    opacity: 1;
}

.requirements .job-contents {
    transition: bottom 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
    position: absolute;
    bottom: -135px;
    left: 0;
    right: 0;
}

.requirements .job .contents {
    padding: 0;
    background-color: #fff;
}
.requirements .job .contents-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0 15px;
}
.requirements .job .contents ._heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 400;
    font-size: 18px;
    text-align: center;
}
.requirements .job .contents ._heading-job {
    font-size: 150%;
}
.requirements .job .contents-links {
    border-top: 1px solid #ecf5ff;
}
.requirements .job:hover .job-contents {
    bottom: 0;
}

.requirements .job .contents .links .links-item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 40px;
    font-size: 18px;
    color: currentColor;
    position: relative;
}
.requirements .job .contents .links .links-item:nth-child(1) a:hover {
    color: #fff;
    background: #db7438;
}
.requirements .job .contents .links .links-item:nth-child(2) a:hover {
    color: #fff;
    background: #38a1db;
}
.requirements .job .contents .links-item:nth-of-type(even) {
    width: 100%;
    margin-left: 0;
}

@media (max-width: 1024px) {
    .requirements .job-contents {
        position: relative;
        bottom: 0;
    }
    .requirements .job::before {
        content: none;
    }
    .requirements .job {
        padding-bottom: 0;
    }
    .requirements .job .contents ._heading {
        font-size: 16px;
    }
    .requirements .job .contents .links .links-item a {
        font-size: 14px;
    }
}

@media (max-width: 599px) {
    .requirements:nth-of-type(n+2) {
        margin-top: 0;
    }
}

.layout-list01 .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    padding: 30px 20px;
    border-top: 2px solid var(--c-01);
}
.layout-list01 .item.up-d-none {
    display: none;
}

.layout-list01 .item:last-of-type {
    border-bottom: 2px solid var(--c-01);
}

.layout-list01 .box a {
    display: block;
    padding: 30px;
    border: 2px solid var(--c-01);
}

.layout-list01 dt {
    width: 200px;
    font-weight: bold;
    color: var(--c-01);
    line-height: 1.8;
}

.layout-list01 dd {
    width: calc(100% - 200px);
    padding-left: 20px;
    line-height: 1.8;
}

.layout-list01 dl dd dl {
    padding:0;
    border-bottom: 2px solid var(--c-01);
}

.layout-list01 dl dd dl+dl{
  margin-top: 15px;
}

.layout-list01 dl dd dl:last-child {
    border-bottom: none;
}

@media (max-width: 599px) {
    .layout-list01 .item {
        padding: 10px 10px;
    }

    .layout-list01 dt,
    .layout-list01 dd {
        width: 100%;
    }

    .layout-list01 dd {
        font-size: 13px;
    }
}
.inner-rec-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.5em;
}

.inner-rec-list dt,
.inner-rec-list dd {
    margin: 0;
    padding: 0;
}

.inner-rec-list dt {
    width: 100%;
    max-width: 155px;
    padding-right: 1em;
    font-weight: bold;
    position: relative;
}

.inner-rec-list dt::after {
    content: "：";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
}

.inner-rec-list dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}


@media (max-width: 599px) {
    .inner-rec-list dt,
    .inner-rec-list dd {
        width: 100%;
        max-width: 100%;
    }

    .inner-rec-list dt::after {
        display: none;
    }

    .inner-rec-list dd {
        margin-top: 0.5em;
        padding-left: 1em;
        font-size: 90%;
    }
}

.f-banner-item01 .sb-item01,
.f-banner-item02 .sb-item02,
.f-banner-item03 .sb-item03,
.f-banner-item04 .sb-item04,
.f-banner-item05 .sb-item05 {
    display: none;
}


.slick-box.onlysp .btn-slick {
    width: auto;
    padding: 15px;
    font-size: 20px;
    color: #fff;
    line-height: 1;
    background: rgb(60, 170, 233);
    background: linear-gradient(90deg, rgba(60, 170, 233, 1) 0%, rgba(123, 200, 244, 1) 100%);
    cursor: pointer;
    position: absolute;
    top: -10%;
    z-index: 1;
}

.slick-box.onlysp .btn-slick.btn-next {
    right: 0px;
}

.slick-box.onlysp .btn-slick.btn-back {
    right: 60px;
}

@media (max-width: 599px) {
    .slick-box.onlysp {
        margin-top: 100px;
    }
    .slick-box.onlysp li {
        margin: 0 10px;
    }
}

.delay-1,
.delay-1::before {
    -webkit-transition-delay: 0.3s !important;
    transition-delay: 0.3s !important;
}

.delay-2,
.delay-2::before {
    -webkit-transition-delay: 0.6s !important;
    transition-delay: 0.6s !important;
}

.delay-3,
.delay-3::before {
    -webkit-transition-delay: 0.9s !important;
    transition-delay: 0.9s !important;
}

.delay-4,
.delay-4::before {
    -webkit-transition-delay: 1.2s !important;
    transition-delay: 1.2s !important;
}

.delay-5,
.delay-5::before {
    -webkit-transition-delay: 1.5s !important;
    transition-delay: 1.5s !important;
}

.delay-6,
.delay-6::before {
    -webkit-transition-delay: 1.8s !important;
    transition-delay: 1.8s !important;
}

.delay-7,
.delay-7::before {
    -webkit-transition-delay: 2.1s !important;
    transition-delay: 2.1s !important;
}

.delay-8,
.delay-8::before {
    -webkit-transition-delay: 2.4s !important;
    transition-delay: 2.4s !important;
}

.fead-order>.mv{
  opacity: 1;
      -webkit-transition: .5s ease-out;
    transition: .5s ease-out;
}

.time-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.time-table th,
.time-table td {
    border: 1px solid #ccc;
    padding: 8px;
    text-align: left;
}

 .time-table td.item01{
   width: 25%;
 }

.time-table tbody tr:nth-child(odd) {
    background-color: #f7f7f7;
}

@media (max-width: 599px) {
   .time-table td{
         font-size: 14px;
   }
}

.uk-lb{
  cursor: pointer;
      -webkit-transition: .4s ease;
    transition: .4s ease;
}

.uk-lb:hover{
  opacity: 0.6;
}


[data-element-id] .up-sp-text {
    width: 100%;
    max-width: 375px;
    margin: auto;
}

[data-element-id] .main-visual .head .up-sp-text .ttl {
    font-size: 24px;
}

[data-element-id] .main-visual .head .up-sp-text .en-ttl .ttl {
    font-size: 20px;
}

[data-element-id] .gnav .list01{
      align-items: flex-start;
}

[data-element-id] .gnav .list02 {
    visibility: visible;
    padding: 0;
    border: solid 2px #f48100;
    opacity: 1;
    position: relative;
    top: 0;
}

[data-element-id] .gnav .list02:after {
    content: "事業内容";
    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.num01:after {
content: "医院紹介";
}
[data-element-id] .gnav .list02.num02:after {
content: "職種紹介";
}
[data-element-id] .gnav .list02.num03:after {
content: "福利厚生・研修制度";
}
[data-element-id] .slick01{
  display: flex;
  position: relative;
}

[data-element-id] .slick01 > div{
display: contents  
}

[data-element-id] .up-sp-text .m-ttl{
  margin-bottom: 50px;
    font-size: 24px;
}

[data-element-id] .up-sp-text .m-ttl .en,
[data-element-id] .recruitment-area .up-sp-text .sb-ttl {
    font-size: 50px;
    line-height: 1.6;
}

[data-element-id]  .up-sp-text .m-ttl .en.rec-text{
      font-size: 50px;
    line-height: 1.8;
}

[data-element-id] .recruitment-area .box .up-sp-text{
  position: absolute;
    z-index: 1;
    right: 0;
}

[data-element-id] .point-area .box .up-sp-text .ttl {
    font-size: 18px;
}
[data-element-id] .topvisual .head .up-sp-text{
  font-size: 24px;
}

[data-element-id] .up-sp-text .sb-m-ttl {
    font-size: 20px;
}

[data-element-id] .slick02,
[data-element-id] .slick03{
display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

[data-element-id] .slick02>div,
[data-element-id] .slick03>div{
 display: contents;
}

[data-element-id] .slick02 li{
  width: 15%;
}

[data-element-id] .slick03 li{
  width: 40%;
  margin-bottom: 20px;
}


[data-element-id] .f-banner a:hover .tbox{
  color: #fff;
}

[data-element-id] .hover-cmn-01:hover .filter-cmn-01:after{
  animation: none;
}

/* 2024/12/11 */
.progress{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding-right: 50px;
  background-color: #c1dbeb;
}

/* .progress .progress__item{
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  background-color: #3caae9;
  width: calc(100% / 5);
  padding: 1% 0 1% 7%;
  height: 500px;
} */

.progress .progress__item {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    background-color: #3caae9;
    width: calc(100% / 5);
    padding: 1% 0 1% 5%;
    height: 250px;
    /* display: grid; */
    place-content: center;
    text-align: center;
}


.progress .progress__item+.progress__item:before{
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 270px 0 270px 30px;
  border-color: transparent transparent transparent #fff;
  transform: translateY(-50%);
  top: 50%;
  left: 3px;
}

.progress .progress__item+.progress__item:after{
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 270px 0 270px 30px;
  border-color: transparent transparent transparent #ff8a00;
  transform: translateY(-50%);
  top: 50%;
  left: 0;
}

.progress .progress__item .progress__step{
  font-size: 1.25em;  
  color: #fff;
  font-weight: bold;
  width: 100%;
}


/* .progress .progress__item .progress__txt{
  color: #fff;
  font-weight: bold;
  width: 100%;
  line-height: 1.5;
  height: 3em;
  margin-bottom: 5px;
  font-family: "Noto Serif JP", serif;
} */


.progress .progress__item .progress__txt {
    color: #fff;
    font-weight: bold;
    width: 100%;
    line-height: 1.5;
    height: 3em;
    margin-bottom: 5px;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
}


/* .progress .progress__item+.progress__item {
  background-color: #c1dbeb;
  padding: 1% 0 1% 7%;
} */

.progress .progress__item+.progress__item {
    background-color: #c1dbeb;
    padding: 1% 0 1% 5%;
}

.progress .progress__item+.progress__item .progress__step{
  color: #3caae9;
}

.progress .progress__item+.progress__item .progress__txt{
  color: #000;
}

.progress .progress__item+.progress__item:after {
  border-color: transparent transparent transparent #c1dbeb;
}

.progress .progress__item:nth-child(2):after {
  border-color: transparent transparent transparent #3caae9;
}

.progress .progress__item .description{
  font-size: 14px;
}

@media(max-width:1024px){
.progress .progress__item{
  padding: 1% 0 1% 5.5%;
}

.progress .progress__item{
  height: 420px;
  width: calc(100% / 3);  
}

.progress{
  padding-right: 0;
  background-color: transparent;
}

.progress .progress__item:nth-child(4) {
  margin-top: 10px;
}

.progress .progress__item:nth-child(4):after {
  border-color: transparent transparent transparent #ffffff;
}

.progress .progress__item:nth-child(5) {
  margin-top: 10px;
}
}

@media(max-width:599px) {
.progress .progress__item{
  padding: 1% 0 1% 7%;
  width: calc(100% / 2);
  height: 450px;
}

.progress .progress__item+.progress__item {
  padding: 1% 0 1% 13%;
}

.progress .progress__item:nth-child(3) {
  margin-top: 5px;
}

.progress .progress__item:nth-child(4) {
  margin-top: 5px;
}

.progress .progress__item:nth-child(4):after {
  border-color: transparent transparent transparent #c1dbeb;
}

.progress .progress__item:nth-child(5) {
  margin-top: 5px;
}
}

.ctatxt{
  font-size: 12px;
  text-align: center;
  margin-bottom: 5px;
  color: #eeff6d;
}

@media(max-width:1024px){
.con-box .con a {
  flex-wrap: wrap;
}

/* .ctatxt{
  margin-bottom: 0px;
  letter-spacing: 0.5em;
  width: 100%;
} */

.ctatxt {
  margin-bottom: 0px;
  letter-spacing: 0.25em;
  width: 100%;
  font-size: 10px;
  color: #eeff6d;
}
}

/* 2024/12/13 */

.progress-flow .flow > li {
  position: relative;
}
.progress-flow .flow > li:not(:last-child) {
  margin-bottom: 40px;
}
/* .progress-flow .flow > li:not(:first-child)::before {
  content: "";
  height: 60px;
  display: block;
  border-left: 4px dotted #fff;
  position: absolute;
  top: -40px;
  left: -webkit-calc(10% + 30px - 2px);
  left: calc(10% + 30px - 2px);
  z-index: 10;
} */
.progress-flow .flow > li dl {
  flex-direction: column;  
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid rgb(107,144,219);
  border-radius: 10px;
  position: relative;
  background-color: #fff;
}
.progress-flow .flow > li:not(:last-child) dl::before,
.progress-flow .flow > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.progress-flow .flow > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: rgb(107,144,219);
}
.progress-flow .flow > li:not(:last-child) dl::after {
  border-width: 20px;
}
.progress-flow .flow > li dl dt {
    font-size: 20px;
    font-weight: 600;
    color: rgb(107, 144, 219);
    -ms-flex-preferred-size: 20%;
    flex-basis: 100%;
    margin-right: 2vw;
    text-align: left;
    margin-bottom: 10px;
    margin-right: auto;
    display: flex
;
}
.progress-flow .flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: rgb(107,144,219);
  background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
  background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-right: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}

.progress-flow .flow dd{
  width: 100%;
  font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}

.flow_design03 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 20px;
}

.flow_design03 ul {
  padding: 0;
}

.flow_design03 li {
  list-style-type: none;
}

.flow_design03 dd {
  margin-left: 0;
}

.flow03 {
  position: relative;
}

.flow03::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #eee;
  margin-left: -129px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
  border-radius: 20px;
}

.flow03 > li {
  position: relative;
}

.flow03 > li:not(:last-child) {
  margin-bottom: 60px;
}

.flow03 > li .icon03 {
  font-size: 0.8em;
  width: 2em;
  height: 2em;
  line-height: 2;
  text-align: center;
  font-weight: bold;
  border-radius: 100vh;
  color: #fff;
  background: #6b90db;
  display: inline-block;
  margin-right: 0.3em;
}

.flow03 > li dl {
  padding-left: 70px;
  position: relative;
}

.flow03 > li dl::before,
.flow03 > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}

.flow03 > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #6b90db;
  border-radius: 50%;
  left: -4px;
}

.flow03 > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 5px;
}

.flow03 > li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  color: #6b90db;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}

/* 2024/12/23 */

.con.ab .ctatxt {
  color: #ffffff;
}

.color-666{
  color: #666;
}

/* 2025/01/09 追記 */

.requirement-area .slick-initialized .slick-slide a .ttl {
    font-size: 18px;
}

/* 2025/01/23 */

.requirement-area .slick01 li{
  width: 200px;
}

/* 2025/03/17 */
.insert-link02 {
    position: relative;
    width: 600px;
    text-align: center;
    margin: 0px auto;
    border-top: 3px solid rgb(243, 165, 171);
    border-bottom: 3px solid rgb(243, 165, 171);
    padding: 30px 0px;
}

.insert-link02 .content-wrap {
    position: relative;
    z-index: 2;
}

.insert-link02 .box {
    margin-top: 10px;
    position: relative;
    z-index: 3;
}

.insert-link02 .img-wrap {
    max-width: 50px;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
}

.insert-link02 .img-wrap02 {
    max-width: 50px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1;
}

.banner-area img:not([src*="."]) {
    display: block;
}

.banner-area a {
    display: block;
}

@media(max-width:599px) {
.insert-link02 {
    width: 100%;
}    
}

/* 2024/03/26 */

.scholarship .point-list li{
    background: #fff;
    border-radius: 3px;
    box-shadow: 0px 2px 2px 0px rgba(207, 207, 207, 0.5), inset 0px -3px 6px -2px rgba(0, 0, 0, 0.3);
    padding: 30px 20px 40px 20px;
    position: relative;
}

.scholarship .point-list li .number{
    position: absolute;
    top: -40px;
    left: -10px;
    font-size: 44px;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(to right, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
    background: linear-gradient(to right, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.scholarship .point-list li .head{
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: bold;
}

.scholarship .fwrap-wrap{
  flex-wrap: wrap;
}

.scholarship .gapy-50{
  row-gap: 70px;
}

.scholarship .marker{
    background: linear-gradient(to right, #6b90db 0%, #66d5e9 100%);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 100% 20%;
    font-weight: bold;
}

.scholarship .gradiate-txt{
  -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(to right, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
    background: linear-gradient(to right, rgba(107, 144, 219, 1) 0%, rgba(102, 213, 233, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.scholarship .fz-22to34{
  font-size: clamp(1.375rem, 1.102rem + 1.36vw, 2.125rem);
}

@media screen and (max-width:599px) {
.scholarship .w-96-sp{
  width: 96%;
} 
}

.scholarship .pti-0{
  padding-top: 0px !important;
}

/* 2025/03/28 */

.link-bnr {
    background-image: url(/upload/tenant_3/sk-n7271.webp);
    background-color: rgba(255, 255, 255, 0.5);
    background-blend-mode: lighten;
    width: 80%;
    margin: auto;
    padding: 30px;
    border-radius: 20px;    
}

.link-bnr .inner-content {
    background: #ffffffe8;
    display: block;
    padding: 20px;
    border-radius: 10px;
}

.link-bnr .bnr-head {
    font-family: "Noto Serif JP", serif;
    font-size: 34px;
    margin-bottom: 20px;
    text-align: center;
    padding-bottom: 10px;
    position: relative;
}

.link-bnr .bnr-head::before{
    content: "";
    position: absolute;
    background: -moz-linear-gradient(216deg, rgba(254, 226, 205, 1) 0%, rgba(203, 236, 255, 1) 100%);
    background: -webkit-linear-gradient(216deg, rgba(254, 226, 205, 1) 0%, rgba(203, 236, 255, 1) 100%);
    background: linear-gradient(216deg, rgba(254, 226, 205, 1) 0%, rgba(203, 236, 255, 1) 100%);
    width: 80%;
    transform: translateX(-50%);
    right: 50%;
    left: 50%;
    height: 5px;
    bottom: 0;
    z-index: 3;  
}

.link-bnr .bnr-txt{
  text-align: center;
  margin-bottom: 20px;
}


.link-bnr .link-txt{
 text-align: center;
 display: block;
}

.link-bnr .link-txt a{
    text-align: center;
    margin-top: 20px;
    color: #0077dd;
}

.pc-br{
  display: block;
}

.sp-br{
  display: none;
}


@media screen and (min-width:600px) and (max-width:1024px) {
   .link-bnr {
     width: 80%;
}
}

@media screen and (max-width:599px) {
 .link-bnr {
    width: 100%;
    padding: 10px;
}

.link-bnr .inner-content {
    padding: 15px;
}

.link-bnr .bnr-head {
    font-size: 24px;
}

.link-bnr .bnr-txt {
    font-size: 14px;
    margin-bottom: 10px;
}

.link-bnr .link-txt a{
  font-size: 14px;
}

.pc-br{
  display: none;
}

.sp-br{
  display: block;
}
}

/* 2025/06/02 */
.scholarship-box{
  border: 1px solid #333;
}

.scholarship-box li{
  padding-left: 1em;
  text-indent: -1em;
}

.scholarship-box li:before{
  content: "\f14a";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  line-height: 1;
}

.area-09 .box.ver02 {
  border-radius: 20px;
}

.area-09 .box.ver02 .tbox .sb-m-ttl {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}

.scholarship-banner a{
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.scholarship-banner .ttl{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  background-color: rgba(255,255,255,0.5);
  width: 100%;
  text-align: center;
  padding: 1em 0;
  font-size: 1.5em;
  font-weight: bold;
}

.scholarship-banner .btn{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  width: 100%;
  text-align: center;
  background-color: rgba(255,255,255,0.5);
  width: fit-content;
  border-radius: 50px;
  padding: 1em;
  margin-bottom: 1em;
}

@media(max-width:599px) {
.scholarship-box li+li{
  margin-top: 0.5em;
}    
}

.scholarship .area-09 li{
  pointer-events: none;
}

.scholarship .area-09 li:first-of-type .box {
    background: linear-gradient(242.97deg, #9084e5, #ff8181);
}
