@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap");

/*===================================
  基本設定
===================================*/
html {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 300;
    font-size: 18px;
    color: #000;
    line-height: 1.5;
}

/* レスポンシブ */
.responsive * {
    font-size: 24px;
}

html {
    --transition-duration: 0.45s;

    --text-color-01: #426ab3;
    --text-color-02: #d9e1f0;
    --text-color-03: #697b96;
    --text-color-04: #8795ab;
    --text-color-05: #4b7b6f;
    --text-color-06: #6f958c;
    --text-color-07: #595757;
    --text-color-08: #e6e6e6;
    --text-color-09: #fcf6ed;
    --bg-color-01: #426ab3;
    --bg-color-02: #d9e1f0;
    --bg-color-03: #697b96;
    --bg-color-04: #8795ab;
    --bg-color-05: #4b7b6f;
    --bg-color-06: #6f958c;
    --bg-color-07: #595757;
    --bg-color-08: #e6e6e6;
    --bg-color-09: #fcf6ed;
    --btn-color-01: #426ab3;
    --btn-color-02: #d9e1f0;
    --btn-color-03: #697b96;
    --btn-color-04: #8795ab;
    --btn-color-05: #4b7b6f;
    --btn-color-06: #6f958c;
    --btn-color-07: #595757;
    --btn-color-08: #e6e6e6;
    --btn-color-09: #fcf6ed;
    --transition-ease: cubic-bezier(0.65, 0, 0.076, 1);
}

a {
    width: 100%;
    height: 100%;
    display: block;
}

.list-inner {
    height: 100%;
}

a[href*="tel"],
button[href*="tel"] {
    pointer-events: initial;
}

/* PC・TB・SPで表示切替 */
.show\@pc {
    display: block;
}

.hide\@pc {
    display: none;
}

@media (max-width: 1024px) {
    .show\@tb {
        display: block;
    }

    .hide\@tb {
        display: none;
    }
}

@media (max-width: 599px) {
    .show\@sp {
        display: block;
    }

    .hide\@sp {
        display: none;
    }
}

/* 〇点リーダー */
.reader1 {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reader2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;

    -webkit-line-clamp: 2;
}

/*===================================
  component.css
===================================*/

/* A-BiSUスライダー */
.main-visual .uk-slidenav-position {
    height: 100%;
}

.main-visual .uk-slideshow {
    height: 100% !important;
    overflow: hidden;
    position: relative;
}

.main-visual .uk-slideshow::after {
    content: "";
    display: block;
    padding-top: 60%;
}

.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;";
}

.uk-dotnav>*>* {
    width: 10px;
    height: 10px;
}

.uk-dotnav .uk-active>* {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.uk-dotnav li a:hover {
    opacity: 1;
}

.uk-dotnav-contrast>*>* {
    background: #ccc;
}

.uk-dotnav-contrast>.uk-active>* {
    background: #565656;
}

.uk-position-bottom {
    bottom: -30px;
}

@media (max-width: 599px) {
    .main-visual .uk-slideshow::after {
        padding-top: 140%;
    }
}

/* 背景に画像 */
.bg-parent {
    position: relative;
}

.bg-content {
    position: relative;
    z-index: 1;
}

.bg-content.orange {
    background-color: rgb(254 132 34 / 64%);
}

.bg-image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.bg-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
}

.bg-image.filter01 img {
    -webkit-filter: contrast(0.4);
    filter: contrast(0.4);
}

/* ##### パンくずリスト breadcrumbs ##### */
.breadcrumbs {
    padding: 2em 0;
    color: #000;
}

.breadcrumbs-list li {
    display: inline;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage,
.breadcrumbs-list li.breadcrumbs-thispage {
    font-size: 14px;
}

.breadcrumbs-list li.breadcrumbs-home,
.breadcrumbs-list li.breadcrumbs-prevpage {
    font-weight: bold;
}

.breadcrumbs-list li.breadcrumbs-thispage::before {
    content: "";
    width: 0.8em;
    height: 0.8em;
    display: inline-block;
    margin: 0 1em 0 0.5em;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.breadcrumbs-list li.breadcrumbs-prevpage a::before {
    content: "";
    width: 0.8em;
    height: 0.8em;
    display: inline-block;
    margin: 0 1em 0 0.5em;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.breadcrumbs a {
    display: inline;
}

/* ページネーション */
.pagenation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.pagenation li {
    width: 50px;
    height: 50px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 10px;
}

.pagenation li a,
.pagenation li .now {
    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;
    font-size: 24px;
    color: #000;
    text-align: center;
    border-radius: 10px;
}

.pagenation li.prev a::before,
.pagenation li.next a::before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #000;
}

.pagenation li.prev a::before {
    content: "\f104";
}

/* レスポンシブ */
.responsive-sp .pagenation li {
    width: 40px;
    height: 40px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 5px;
}

/* カテゴリーアーカイブ */
.aside-container .item {
    padding: 20px;
}

.aside-container .item+.item {
    margin-top: 20px;
}

.aside-container .title {
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    font-family: "Lato", sans-serif;
    font-size: 20px;
    border-bottom: 2px solid var(--text-color-01);
}

.aside-container02 .list-category li {
    margin-bottom: 0.5em;
}

.aside-container02 .wrap {
    margin: 25px 0;
    padding: 25px 50px;
    border: 1px solid rgba(89, 87, 87, 0.5);
}

.list-category02 li 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;
    padding: 1em;
    color: #fff;
    text-align: center;
    background-color: var(--bg-color-07);
}

.list-category03 li a {
    padding: 1em;
    text-align: center;
    border: 1px solid var(--text-color-07);
}

.list-category04 li 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;
    padding: 1em;
    color: #fff;
    text-align: center;
    background-color: var(--bg-color-07);
}


.list-category.staff{
  display: flex;
  flex-direction: column-reverse;
}

.list-category.staff li{
  width: 100%;
}

.responsive .list-category02 li a {
    font-size: 22px;
}

.responsive .list-category04 li a {
    font-size: 22px;
}

/* 「ブログ詳細ぺージ」見出し用CSS */
.detail-content h2 {
    margin: 1.5em 0 1em;
    padding: 0.2em 0.5em;
    font-weight: bold;
    font-size: clamp(1.375rem, 1.15rem + 0.97vw, 1.875rem);
    border-bottom: 2px solid var(--text-color-01);
}

.detail-content h3 {
    margin: 1.5em 0 1em;
    padding-left: 0.5em;
    font-weight: bold;
    font-size: clamp(1.25rem, 1.02rem + 0.97vw, 1.75rem);
    border-left: 10px solid var(--text-color-01);
}

.detail-content h4 {
    margin: 1.5em 0 1em;
    padding: 0.2em;
    font-weight: bold;
    font-size: clamp(1.125rem, 0.9rem + 0.97vw, 1.625rem);
    border-bottom: 2px dotted var(--text-color-01);
}

.detail-content ol {
    list-style: auto;
    list-style-position: outside;
    margin: 1em 0;
    padding-left: 2em;
}

.detail-content ul {
    list-style: inherit;
    list-style-position: outside;
    margin: 1em 0;
    padding-left: 2em;
}

/* お問い合わせフォームの基本 */

.contact-form input[type="text"],
.contact-form textarea {
    width: 100%;
    padding: 20px;
    border: 1px solid #bfbfbf;
    border-radius: 5px;
}

.contact-form textarea {
    height: 200px;
}

.contact-form dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1em 0;
}

.contact-form dt {
    width: 25%;
    font-weight: bold;
}

.contact-form dt .require-icon {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
    margin-top: 5px;
    padding: 1px 10px;
    color: #fff;
    background-color: var(--bg-color-01);
}

.contact-form dd {
    width: 70%;
}

/* レスポンシブ */
.responsive-sp .contact-form dl {
    display: block;
}

.responsive-sp .contact-form dt {
    width: 100%;
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
    -ms-flex-direction: initial;
    flex-direction: initial;
    -webkit-box-pack: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    margin-bottom: 0.5em;
    padding-left: 0;
    padding-right: 0;
}

.responsive-sp .contact-form dd {
    width: 100%;
}

.responsive-sp .contact-form input[type="text"],
.responsive-sp .contact-form textarea {
    padding: 10px;
    border-radius: 3px;
}

/* .contact-item をつけることで解決*/
.contact-item.radiobtn dd {
    padding: 0.5em;
}

.contact-item.radiobtn dd label {
    display: inline-block;
    margin: 0.5em 0;
    padding: 0 10px 0 30px;
    position: relative;
}

.contact-item.radiobtn dd label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 2px solid #dcdcdc;
    border-radius: 3px;
    background-color: white;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.contact-item.radiobtn dd label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.contact-item.radiobtn dd input {
    display: none;
}

.contact-item.radiobtn dd input:checked+label {
    text-decoration: underline;
}

.contact-item.radiobtn dd input:checked+label::after {
    content: "\f00c";
    width: 0;
    height: 0;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
    color: #94b67a;
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: -3px;
    left: 2px;
}

.contact-item.radiobtn dd input+label {
    margin-left: 15px;
}

.responsive-sp .contact-item.radiobtn dd {
    padding: 0.5em 0;
}

.responsive-sp .contact-form dl.file dt {
    margin-bottom: 30px;
}

.file-input input {
    padding: 1em;
}

/*===================================
  fead-text-01
===================================*/
.fead-text-01>* {
    display: inline-block;
    opacity: 0;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
}

.fead-text-01.mv>*.textin {
    opacity: 1;
    -webkit-transition: all 0.6s ease;
    transition: all 0.6s ease;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.fead-text-01.mv .space {
    min-width: 0.25em;
}

.fead-text-01>*.textin:nth-of-type(1) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.fead-text-01>*.textin:nth-of-type(2) {
    -webkit-transition-delay: 0.36s;
    transition-delay: 0.36s;
}

.fead-text-01>*.textin:nth-of-type(3) {
    -webkit-transition-delay: 0.12s;
    transition-delay: 0.12s;
}

.fead-text-01>*.textin:nth-of-type(4) {
    -webkit-transition-delay: 0.24s;
    transition-delay: 0.24s;
}

.fead-text-01>*.textin:nth-of-type(5) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.fead-text-01>*.textin:nth-of-type(6) {
    -webkit-transition-delay: 0.24s;
    transition-delay: 0.24s;
}

.fead-text-01>*.textin:nth-of-type(7) {
    -webkit-transition-delay: 0.12s;
    transition-delay: 0.12s;
}

.fead-text-01>*.textin:nth-of-type(8) {
    -webkit-transition-delay: 0.48s;
    transition-delay: 0.48s;
}

.fead-text-01>*.textin:nth-of-type(9) {
    -webkit-transition-delay: 0.36s;
    transition-delay: 0.36s;
}

.fead-text-01>*.textin:nth-of-type(10) {
    -webkit-transition-delay: 0.12s;
    transition-delay: 0.12s;
}

.fead-text-01>*.textin:nth-of-type(11) {
    -webkit-transition-delay: 0.24s;
    transition-delay: 0.24s;
}

.fead-text-01>*.textin:nth-of-type(12) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.fead-text-01>*.textin:nth-of-type(13) {
    -webkit-transition-delay: 0.48s;
    transition-delay: 0.48s;
}

/*===================================
  fead-zoom
===================================*/
.fead-zoom01 img {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
}

.fead-zoom01.mv img {
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.fead-zoom02 img {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}

.fead-zoom02.mv img {
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.fead-zoom03 img {
    -webkit-transition: 0.5s ease-in;
    transition: 0.5s ease-in;
    -webkit-transform: scale(1);
    transform: scale(1);

    will-change: animation;
}

.fead-zoom03 {
    overflow: hidden;
}

.fead-zoom03.mv img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

@-webkit-keyframes zoom {
    0% {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1.1);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1.1);
    }
}

@keyframes zoom {
    0% {
        opacity: 0;
        -webkit-transform: scale(1);
        transform: scale(1.1);
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1.1);
    }
}

/*===================================
  タイトル・ボタン
===================================*/
.title01 {
    margin-bottom: 100px;
    font-family: Lato, sans-serif;
    font-weight: 400;
    font-size: 28px;
    letter-spacing: 0.25em;
    text-align: center;
}

.title01:after {
    content: "";
    width: 50px;
    height: 5px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: 5px;
    background-color: var(--bg-color-01);
}

.title01.mb50 {
    margin-bottom: 50px;
}

.title02 {
    font-weight: 500;
    font-size: 85px;
    color: var(--text-color-01);
}

.title03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    font-family: Lato, sans-serif;
    font-size: 60px;
    letter-spacing: 0.25em;
}

.title03-inner {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.title03-inner .sub {
    display: block;
    font-size: 50%;
}

.title03::after {
    content: "";
    width: 100%;
    height: 1px;
    display: block;
    background-color: #000;
}

.title03.white::after {
    background-color: #fff;
}

.title04 {
    margin-bottom: 50px;
    font-family: Lato, sans-serif;
    font-weight: 400;
    font-size: 28px;
    letter-spacing: 0.25em;
}

.title04 .sub {
    display: block;
    margin-top: 5px;
    font-size: 50%;
}

/* レスポンシブ */
.responsive .title01 span {
    font-size: 56px;
}

.btn {
    margin-top: 50px;
}

.btn.mt20 {
    margin-top: 20px;
}

.btn.mt0 {
    margin-top: 0px;
}

:root {
    --bg: #f3f8fa;
    --white: #fff;
    --black: #282936;
}

.btn01 {
    width: 130px;
    height: auto;
    display: block;
    vertical-align: middle;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    font-family: inherit;
    font-size: inherit;
    text-decoration: none;
    outline: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
}

.btn01.right {
    margin-right: 0;
}

.btn01.left {
    margin-left: 0;
}

.btn01.left50 {
    margin-left: 50px;
}

.btn01 .circle {
    height: 3rem;
    display: block;
    margin: 0;
    border-radius: 1.625rem;
    background: transparent;
    -webkit-transition: all var(--transition-duration) var(--transition-ease);
    transition: all var(--transition-duration) var(--transition-ease);
    position: relative;
}

.btn01 .circle .icon {
    margin: auto;
    background: var(--white);
    -webkit-transition: all var(--transition-duration) var(--transition-ease);
    transition: all var(--transition-duration) var(--transition-ease);
    position: absolute;
    top: 0;
    bottom: 0;
}

.btn01 .circle .icon.arrow {
    width: 0.75em;
    height: 0.05em;
    background: #000;
    -webkit-transition: all var(--transition-duration) var(--transition-ease);
    transition: all var(--transition-duration) var(--transition-ease);
    left: 0.5em;
}

.btn01 .circle .icon.arrow::before {
    content: "";
    width: 0.65em;
    height: 0.05em;
    background-color: #000;
    -webkit-transform: rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    position: absolute;
    top: 50%;
    left: 50%;
}

.btn01 .button-text {
    margin: 0 0 0 2em;
    padding: 0.75rem 0;
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    -webkit-transition: all var(--transition-duration) var(--transition-ease);
    transition: all var(--transition-duration) var(--transition-ease);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.btn01:hover .circle {
    width: 100%;
    background-color: var(--bg-color-01);
}

.btn01:hover .circle .icon.arrow {
    background: var(--white);
    -webkit-transform: translate(1em, 0);
    transform: translate(1em, 0);
}

.btn01:hover .circle .icon.arrow::before {
    content: none;
}

.btn01:hover .button-text {
    color: var(--white);
    -webkit-transform: translate(1em, 0);
    transform: translate(1em, 0);
}

.contact-btn li button {
    width: 220px;
    padding: 20px 10px;
    border: none;
    border-radius: 50px;
    background-color: var(--bg-color-01);
}

/* 文字色が青色ver */
.btn01.blue .button-text {
    color: var(--text-color-01);
}

.btn01.blue .circle .icon.arrow {
    background: var(--bg-color-01);
}

.btn01.blue .circle .icon.arrow::before {
    background-color: var(--bg-color-01);
}

.btn01.blue:hover .button-text {
    color: var(--white);
}

.btn01.blue:hover .circle .icon.arrow {
    background: #fff;
}

.btn01.blue:hover .circle .icon.arrow::before {
    background-color: #fff;
}

.btn02 a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5em 1em;
    color: #fff;
    border-radius: 100px;
    background-color: var(--bg-color-01);
}

.responsive-sp .btn02 a {
    width: 100%;
    padding: 5px;
    font-size: 10px;
    text-align: center;
}

/*===================================
  共通デザイン
===================================*/
/* 背景色 */
.colorline {
    color: #06c755;
}

.bgc00 {
    background-color: #493a37;
}

.color00 {
    color: #493a37;
}

.bgc01 {
    background-color: var(--bg-color-01);
}

.color01 {
    color: var(--text-color-01);
}

.bgc02 {
    background-color: var(--bg-color-02);
}

.color02 {
    color: var(--text-color-02);
}

.bgc03 {
    background-color: var(--bg-color-03);
}

.color03 {
    color: var(--text-color-03);
}

.bgc04 {
    background-color: var(--bg-color-04);
}

.color04 {
    color: var(--text-color-04);
}

.bgc05 {
    background-color: var(--bg-color-05);
}

.color05 {
    color: var(--text-color-05);
}

.bgc06 {
    background-color: var(--bg-color-06);
}

.color06 {
    color: var(--text-color-06);
}

.bgc07 {
    background-color: var(--bg-color-07);
}

.color07 {
    color: var(--text-color-07);
}

.bgc08 {
    background-color: var(--bg-color-08);
}

.color08 {
    color: var(--text-color-08);
}

.bgc09 {
    background-color: var(--bg-color-09);
}

.color09 {
    color: var(--text-color-09);
}

.bgc10 {
    background-color: var(--bg-color-10);
}

.color10 {
    color: var(--text-color-10);
}

.bgc11 {
    background-color: rgb(66 106 179 / 40%);
}

/* 背景画像 */
.bg-container01 {
    width: 70%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.bg-container02 {
    width: 70%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.bg-container01 img,
.bg-container02 img {
    opacity: 0.3;
}

.bg-container03 {
    position: relative;
}

.bg-container03::before {
    content: "";
    width: 80%;
    height: 50%;
    display: block;
    background-color: var(--bg-color-04);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

.bg-container04 {
    position: relative;
}

.bg-container04::before {
    content: "";
    width: 80%;
    height: 50%;
    display: block;
    background-color: var(--bg-color-06);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

/*===================================
  slider
===================================*/
#slide01 .slick-slide,
#slide02 .slick-slide {
    padding-left: 20px;
    padding-right: 20px;
}

#slide01 .slick-prev {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.5);
    top: 45%;
    left: 10px;
    z-index: 1;
}

#slide02 .slick-prev {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.5);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    left: 10px;
    z-index: 1;
}

#slide01 .slick-prev:before,
#slide02 .slick-prev:before {
    content: "\f104";
    display: block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #493a37;
}

#slide01 .slick-next {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.5);
    top: 45%;
    right: 10px;
    z-index: 1;
}

#slide02 .slick-next {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.5);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    right: 10px;
    z-index: 1;
}

#slide01 .slick-next:before,
#slide02 .slick-next:before {
    content: "\f105";
    display: block;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #493a37;
}

/* Loading　*/
#splash {
    width: 100%;
    height: 100%;
    text-align: center;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}

/* Loading画像中央配置　*/
#splash_logo {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

/* 丸＋ホバーすると大きくなる */
/*デフォルトのマウスカーソルを非表示にする*/
body {
    cursor: none;
    position: relative;
}

/*カーソル要素*/
#cursor {
    width: 10px;
    height: 10px;
    margin: -10px 0 0 -10px;
    border-radius: 10px;
    /*丸の大きさと色の指定*/
    background: var(--bg-color-03);
    /*クリックできなくなるのを防ぐため。noneで対応*/
    opacity: 0;
    -webkit-transition: -webkit-transform 0.1s;
    transition: -webkit-transform 0.1s;
    transition: transform 0.1s;
    transition: transform 0.1s, -webkit-transform 0.1s;
    /*一番手前に来るように*/
    pointer-events: none;
    position: fixed;
    /*真ん中にくるようにマイナスマージンで調整*/
    z-index: 25;
    /*アニメーションの秒数指定*/
}

#cursor.active {
    -webkit-transform: scale(1.8);
    transform: scale(1.8);
}

.responsive #cursor {
    display: none;
}

/*===================================
  メインビジュアル・ヘッダー・フッター・ナビなど
===================================*/
.first-view-container {
    position: relative;
    z-index: 10;
}

.first-view-container .deco-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.first-view-container .deco-container>div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.first-view-container .deco-container>div .deco01 {
    width: 100px;
    height: 100%;
    background-color: var(--bg-color-01);
}

.first-view-container .deco-container>div .deco02 {
    width: 150px;
    height: 100%;
    background-color: var(--bg-color-07);
}

.first-view-container .catchcopy-container {
    width: 100%;
    font-family: "Lato", sans-serif;
    font-weight: 400;
    color: #fff;
    font-style: italic;
    line-height: 1.2;
    text-align: right;
    position: absolute;
    top: 20%;
    right: 0;
    z-index: 2;
}

.first-view-container .catchcopy-container .catchcopy {
    font-size: 72px;
}

.first-view-container .catchcopy-container .sub {
    margin-top: 10px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
}

.first-view-container .header-container {
    width: 100%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 3;
}

.lower .main-visual-container img {
    -webkit-filter: contrast(0.5);
    filter: contrast(0.5);
}

.first-view-container .h1-wrap {
    width: 100%;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1;
}

.first-view-container .h1-wrap h1 {
    font-size: 12px;
}

/* メディアクエリ */
.responsive .first-view-container .header-container {
    -webkit-transform: none;
    transform: none;
    top: 0;
}

.responsive .first-view-container .h1-wrap {
    padding-right: 150px;
}

.responsive .first-view-container .h1-wrap h1 {
    font-size: 24px;
}

/* ナビ */
header {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 50px;
    position: relative;
    z-index: 10;
}

.list-gnav li {
    margin-bottom: 1.5em;
    font-family: "Lato", sans-serif;
    font-weight: 300;
    text-align: center;
}

.list-gnav li a,
.list-gnav li span {
    font-size: 16px;
}

.list-gnav li:first-child {
    margin-bottom: 2em;
}

.list-gnav li.add-wrap {
    display: none;
    font-family: "Noto Sans JP", sans-serif;
}

/* メディアクエリ */
.responsive header {
    padding-left: 0;
}

.responsive .list-gnav {
    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;
}

.responsive .list-gnav li {
    width: 45%;
    margin-bottom: 36px;
    color: #fff;
    text-align: left;
}

.responsive .list-gnav li a,
.responsive .list-gnav li span {
    font-size: 48px;
}

.responsive .list-gnav li.drop-menu a {
    margin-bottom: 36px;
}

.responsive .list-gnav li.drop-menu span {
    display: none;
}

.responsive .lower .list-gnav li {
    text-shadow: none;
}

.responsive .list-gnav li:nth-child(1),
.responsive .list-gnav li:nth-child(2) {
    width: 100%;
}

.responsive .list-gnav li:nth-child(1) img {
    min-width: 300px;
}

.responsive .list-gnav li.add-wrap {
    display: block;
}

/* ナビ（固定された時） */
.fixed header {
    width: 100%;
    padding-left: 0;
}

.fixed .first-view-container .header-container {
    padding: 10px 0;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-transform: none;
    transform: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
}

.fixed .list-gnav {
    max-width: 1200px;
    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;
    margin-left: auto;
    margin-right: auto;
}

.fixed .list-gnav li {
    margin-bottom: 0;
    color: #fff;
}

.fixed .lower .list-gnav li {
    text-shadow: none;
}

.fixed .list-gnav li img {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
}

/* ナビ（ドロップダウンメニュー） */
.drop-menu {
    position: relative;
}

.drop-menu-list {
    width: 100%;
    min-width: 180px;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1;
}

.drop-menu:hover .drop-menu-list {
    visibility: visible;
    opacity: 1;
    -webkit-transition: opacity 0.3s, visibility 0.3s;
    transition: opacity 0.3s, visibility 0.3s;
}

.list-gnav .drop-menu:hover .drop-menu-list li {
    margin-bottom: 0;
}

.drop-menu:hover .drop-menu-list li a {
    padding: 0.5em 1em;
    white-space: nowrap;
    background-color: var(--bg-color-09);
}

.drop-menu .drop-menu-list li a:hover {
    background-color: var(--bg-color-05);
}

.list-gnav .drop-menu-list li {
    text-align: left;
    border-left: none;
}

.list-gnav .drop-menu-list li:last-child {
    border-right: none;
}

.fixed .drop-menu-list {
    top: 100%;
    left: auto;
    right: 0;
}

.fixed .list-gnav li.drop-menu-item a {
    color: #000;
}

/* メディアクエリ */
.responsive-sp .drop-menu-list {
    visibility: visible;
    opacity: 1;
    position: initial;
}

.responsive-sp .drop-menu a {
    height: auto;
}

.responsive-sp .drop-menu:hover .drop-menu-list {
    padding-top: 0;
}

.responsive-sp .drop-menu:hover .drop-menu-list li a {
    padding: 0;
    background-color: transparent;
}

/* ナビ（トグル） */
.toggle {
    width: 150px;
    height: 150px;
    display: none;
    cursor: pointer;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 260;
}

.scrolled .toggle {
    mix-blend-mode: difference;
}

.toggle-inner {
    width: 100%;
    height: 100%;
    position: relative;
}

.toggle-inner::after {
    content: "MENU";
    width: 100%;
    font-size: 36px;
    color: #fff;
    text-align: center;
    position: absolute;
    bottom: 0;
}

.toggle .bar {
    width: 100px;
    height: 2px;
    display: block;
    margin-top: -1px;
    padding: 0;
    text-indent: 9999px;
    background: #fff;
    -webkit-box-shadow: 1px 1px 1px #493a37;
    box-shadow: 1px 1px 1px #493a37;
    -webkit-transition: ease 0.4s;
    transition: ease 0.4s;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.toggle .bar:before {
    content: "";
    width: 100px;
    height: 2px;
    display: block;
    background: #fff;
    -webkit-box-shadow: 1px 1px 1px #493a37;
    box-shadow: 1px 1px 1px #493a37;
    position: absolute;
    top: -7px;
    left: 0;
}

.toggle .bar:after {
    content: "";
    width: 100px;
    height: 2px;
    display: block;
    background: #fff;
    -webkit-box-shadow: 1px 1px 1px #493a37;
    box-shadow: 1px 1px 1px #493a37;
    position: absolute;
    top: 7px;
    left: 0;
}

.toggle.active .bar {
    background-color: transparent;
    /* -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg); */
    -webkit-box-shadow: none;
    box-shadow: none;
}

.toggle.active .bar:before {
    background-color: #fff;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease,
        -webkit-transform 300ms 350ms ease;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
    top: 0;
    left: 0;
}

.toggle.active .bar:after {
    background-color: #fff;
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
    transition: top 300ms 50ms ease, transform 300ms 350ms ease,
        -webkit-transform 300ms 350ms ease;
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
    top: 0;
    left: 0;
}

.toggle.active .toggle-inner::after {
    content: "CLOSE";
}

.responsive .toggle {
    display: block;
}

/* ナビ（開閉） */
.gnav {
    opacity: 0;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.loaded.gnav {
    opacity: 1;
}

.responsive nav {
    width: 100%;
    height: 100%;
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 50px;
        padding-bottom: 200px;
    background-color: var(--bg-color-03);
    -webkit-transition: bottom ease 0.5s;
    -webkit-transition: ease 0.5s;
    transition: ease 0.5s;
    position: fixed;
    bottom: -100%;
    z-index: 250;
}

.responsive nav.active {
    bottom: 0;
}

body.active {
    overflow: hidden;
}

/* オーバーレイ */
.overlay {
    width: 100%;
    height: 100vh;
    display: none;
    background-color: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 200;
}

.overlay.active {
    display: block;
}

/* その他ナビ内のコンテンツ */
.gnav-banner {
    display: none;
}

.gnav-banner a {
    overflow: hidden;
    border-radius: 0.25em;
    position: relative;
}

.gnav-banner a .content-wrap {
    width: 50%;
    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;
    font-size: 30px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
}

.gnav-banner02 {
    display: none;
}

.gnav-line-banner a {
    overflow: hidden;
    border-radius: 0.25em;
    position: relative;
}

.gnav-line-banner a .content-wrap {
    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;
    font-size: 30px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
}

.gnav-line-banner a .icon-wrap {
    font-size: 30px;
    color: #fff;
    position: absolute;
    bottom: 1em;
    right: 1em;
    z-index: 1;
}

/* メディアクエリ */
.responsive .gnav-banner {
    display: block;
}

.responsive .gnav-banner02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.responsive-sp .gnav-banner a .content-wrap {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-left: 1em;
    font-size: 54px;
}

.responsive-sp .gnav-line-banner a .content-wrap {
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    padding-left: 1em;
}

.responsive-sp .gnav-line-banner a .content-wrap span {
    font-size: 54px;
}

.responsive-sp .gnav-line-banner a .icon-wrap {
    bottom: 10px;
    right: 10px;
}

/* フッター */
footer {
    position: relative;
    z-index: 20;
}

.foot-nav {
    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-top: 100px;
    padding-bottom: 400px;
}

.foot-nav li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 1em;
    margin-left: 0.5em;
    margin-right: 0.5em;
    color: #fff;
}

footer .copy {
    text-align: center;
}

/* レスポンシブ */
.responsive .foot-nav {
    padding-bottom: 100px;
}

.responsive footer .copy {
    text-align: left;
}

/* 追従ボタン */
.fixed-container {
    opacity: 0;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: fixed;
    bottom: 120px;
    right: 0;
}

.fixed-container.loaded {
    opacity: 1;
}

.fixed-container .sub {
    display: block;
    font-size: 18px;
    color: #fff;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 1;
}

.fixed-container .main {
    display: block;
    font-size: 28px;
    color: #fff;
    letter-spacing: 0.2em;
    position: relative;
    z-index: 1;
}

.fixed-container .reserve-wrap {
    padding: 1.5em 1.5em 1em 2em;
    background-color: var(--bg-color-04);
    position: relative;
}

.fixed-container .reserve-wrap .deco {
    width: 40%;
    height: 100%;
    background-color: var(--bg-color-03);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;

    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
}

.fixed-container .recruit-wrap a {
    padding: 1.5em 1.5em 1em 2em;
    background-color: var(--bg-color-06);
    position: relative;
}

.fixed-container .recruit-wrap a .deco {
    width: 40%;
    height: 100%;
    background-color: var(--bg-color-05);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;

    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
}

.fixed-container .tel-wrap {
    padding: 1em;
    background-color: var(--bg-color-04);
    position: relative;
}

.fixed-container .tel-wrap.height {
    height: 100%;
}

.fixed-container .tel-wrap .deco {
    width: 40%;
    height: 100%;
    background-color: var(--bg-color-03);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;

    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%, 0% 100%);
}

.fixed-container .tel-container {
    display: none;
}

.fixed-container li+li {
    margin-top: 15px;
}

.yazirusi {
    width: 180px;
    margin: 10px 0 10px 10px;
    position: relative;
}

.line01 {
    height: 1px;
    background-color: #fff;
}

.line02 {
    width: 20px;
    height: 1px;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    position: absolute;
    top: 0;
    right: 0;
}

/* モーダル */
.reserve-modal {
    width: 80%;
    height: 80%;
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
    visibility: hidden;
    padding: 50px;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    -webkit-transition: ease-in 0.3s;
    transition: ease-in 0.3s;
    position: fixed;
    top: 10%;
    left: 10%;
    z-index: -1;
}

.tel-modal {
    width: 80%;
    height: 80%;
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
    visibility: hidden;
    padding: 50px;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    -webkit-transition: ease-in 0.3s;
    transition: ease-in 0.3s;
    position: fixed;
    top: 10%;
    left: 10%;
    z-index: -1;
}

.tel-modal .contact-banner.ver02 {
    width: 100%;
}

.reserve-modal .contact-banner.ver02+.contact-banner.ver02,
.tel-modal .contact-banner.ver02+.contact-banner.ver02 {
    margin-left: 0;
}

.fixed-container .reserve-modal li+li {
    margin-top: 0;
}

.fixed-container .tel-modal .tel-wrap {
    background-color: transparent;
}

.fixed-container .tel-modal .tel-wrap a,
.fixed-container .tel-modal .tel-wrap i {
    font-size: 72px;
}

.reserve-modal .contact-banner,
.tel-modal .contact-banner {
    background-color: var(--bg-color-03);
}

.modal-overlay {
    width: 100%;
    height: 100%;
    display: none;
    background-color: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 15;
}

.reserve-modal .btn01 .circle .icon.arrow {
    background: #fff;
}

.reserve-modal .btn01 .circle .icon.arrow::before {
    background-color: #fff;
}

.reserve-modal .btn01 .button-text {
    color: #fff;
}

/* レスポンシブ */
.responsive.responsive-sp .reserve-modal,
.responsive.responsive-sp .tel-modal {
    height: 60%;
    top: 30%;
}

.responsive.responsive-sp .reserve-modal .contact-banner.ver02+.contact-banner.ver02,
.responsive.responsive-sp .tel-modal .contact-banner.ver02+.contact-banner.ver02 {
    margin-top: 50px;
}

/* bodyにクラスがついた時 */
.active-modal-01 .reserve-modal {
    visibility: visible;
    opacity: 1;
    z-index: 2;
}

.active-modal-01 .modal-overlay {
    display: block;
}

.active-modal-02 .tel-modal {
    visibility: visible;
    opacity: 1;
    z-index: 1;
}

.active-modal-02 .modal-overlay {
    display: block;
}


/* レスポンシブ */
.responsive .fixed-container .tel-container {
    display: block;
}

.responsive .fixed-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    bottom: 0;
}

.responsive .fixed-container li+li {
    margin-top: 0;
}

/* ABテスト */
.reflection {
    overflow: hidden;
    position: relative;
}

.reflection::before {
    content: "";
    width: 30px;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    animation: reflection 2s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    z-index: 1;
}

@-webkit-keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

@keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

/*===================================
  container
===================================*/
/* container01 */
.container01 .content-wrap {
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.6);
}

.container01 .content-wrap .text {
    font-weight: 500;
    font-size: 24px;
    color: #333;
    line-height: 2;
    letter-spacing: 0.1em;
    text-align: center;
    /* text-shadow: 1px 1px 0 #ffffff, -1px -1px 0 #ffffff,
    -1px 1px 0 #ffffff, 1px -1px 0 #ffffff,
    1px 0 0 #ffffff, -1px 0 0 #ffffff,
    0 1px 0 #ffffff, 0 -1px 0 #ffffff; */
    text-shadow: 1px 1px 1px #fff;
}

/* メディアクエリ */
.responsive-sp .container01 .content-wrap .text {
    font-size: 24px;
}

/* container02 */
.container02 {
    overflow: hidden;
    position: relative;
}

.container02 .img-wrap {
    -webkit-transform: rotate(-10deg) scale(1.1);
    transform: rotate(-10deg) scale(1.1);
    position: relative;
    z-index: 0;
}

.container02 .title {
    font-size: 80px;
    color: #fff;
    position: absolute;
    top: 50px;
    z-index: 1;

    mix-blend-mode: difference;
}

.container02 .content-wrap {
    font-weight: 400;
    font-size: 22px;
    line-height: 2;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    z-index: 1;
}

.container02.ver02 .title {
    mix-blend-mode: unset;
}

.container02.ver02 .title .sub {
    font-size: 30%;
}

.container02.ver02 img {
    -webkit-filter: brightness(0.5);
    filter: brightness(0.5);
}

.container02 .banner-container {
    position: relative;
}

.container02 .banner-container.ver02 {
    position: relative;
}

.container02 .banner-container.ver02 .text {
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    z-index: 1;
}

.container02 .banner-container.ver02 .kyoutyou {
    font-weight: bold;
    font-size: 24px;
        text-shadow: 0 0 4px black;
}

.container02 .banner-container.ver02 .price {
    margin-bottom: 10px;
}

.container03 .obi {
    padding: 25px 0;
    background-color: rgba(255, 255, 255, 0.5);
}

.container03 .obi .title {
    margin-top: -120px;
}

.responsive-sp .container03 .obi .title {
    margin-top: -75px;
}

/* blog-news-container */
.blog-news-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}

.blog-news-container .blog-news-wrap {
    width: 60%;
    padding: 70px;
    background-color: var(--bg-color-02);
}

.blog-news-container .blog-news-wrap:after {
    content: "";
    width: 50%;
    height: 350px;
    display: block;
    background-color: var(--bg-color-01);
    position: absolute;
    bottom: -35px;
    right: 0;
    right: 70px;
    z-index: -1;
}

.blog-news-container .img-wrap {
    width: calc(40% + 35px);
    margin-bottom: -70px;
    position: absolute;
    right: 0;
    z-index: 1;
}

.blog-news-container.ver02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: 150px;
    margin-bottom: 200px;
}

.blog-news-container.ver02 .img-wrap {
    left: 0;
    right: auto;
}

.blog-news-container.ver02 .blog-news-wrap:after {
    left: 70px;
    right: auto;
}

/* メディアクエリ */
.responsive-sp .blog-news-container .blog-news-wrap {
    padding: 20px;
}

.responsive-sp .blog-news-container .blog-news-wrap:after {
    width: 70%;
    height: 140px;
    right: 30px;
}

/* curriculum-container */
.curriculum-container .career {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.curriculum-container .career .title {
    width: 70px;
    height: 140px;
    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;
    color: #fff;
    background-color: var(--bg-color-03);
}

.curriculum-container .career .content {
    width: calc(100% - 70px);
    height: 140px;
    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;
    padding: 10px;
    background-color: #eee;
}

.curriculum-container .career .content .content-inner span {
    display: inline-block;
    margin: 3px;
    padding: 0.25em 0.5em;
    color: #fff;
    background-color: var(--bg-color-03);
}

.curriculum-container .career.second-career .title {
    background-color: var(--bg-color-04);
}

.curriculum-container .career.second-career .content .content-inner span {
    background-color: var(--bg-color-04);
}

.curriculum-container .career.third-career .title {
    background-color: #a4b3ca;
}

.curriculum-container .career.third-career .content .content-inner span {
    background-color: #a4b3ca;
}

/*===================================
  list
===================================*/
/* list-salon */
.list-salon .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-salon .item+.item {
    margin-top: 100px;
}

.list-salon .item .img-wrap {
    width: 50%;
}

.list-salon .item .content-wrap {
    width: 52%;
    margin-top: 20px;
}

.list-salon .item .content-wrap .title {
    padding-bottom: 10px;
    font-size: 28px;
    text-align: right;
}

.list-salon .item+.item .content-wrap .title {
    text-align: left;
}

.list-salon .item .content-wrap .content-wrap-inner {
    padding: 30px 30px 10px 30px;
    border-top: 2px solid var(--text-color-01);
    border-bottom: 2px solid var(--text-color-01);
    background-color: #fff;
}

.list-salon .item .content-wrap .content-wrap-inner .info .icon {
    width: 1.5em;
    height: 1.5em;
    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-right: 0.5em;
    color: #fff;
    border-radius: 100%;
    background-color: #000;
}

.list-salon .item .content-wrap .content-wrap-inner .info .icon i {
    font-size: 80%;
}

.list-salon .item:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.list-salon .item:nth-of-type(even) .content-wrap {
    left: 0;
    right: auto;
}

.list-salon.ver02 .item .content-wrap .content-wrap-inner {
    padding: 30px 30px 30px 30px;
}

.list-salon.ver02 .item+.item {
    padding-top: 0;
    padding-bottom: 0;
}

.list-salon.ver02 .item .content-wrap .title {
    font-size: 24px;
}

/* メディアクエリ */
.responsive-sp .list-salon .item .content-wrap .content-wrap-inner {
    padding: 15px 15px 5px 15px;
}

.responsive-sp .list-salon .item .content-wrap .title {
    padding-bottom: 5px;
    font-size: 40px;
}

/* list-banner */
.list-banner a {
    -webkit-box-shadow: 10px 10px 10px #aaa;
    box-shadow: 10px 10px 10px #aaa;
}

.list-banner .list-inner {
    position: relative;
}

.list-banner .list-inner .deco {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 150px;
    padding: 0.5em;
    font-family: Lato, sans-serif;
    font-weight: bold;
    font-size: 22px;
    color: #fff;
    letter-spacing: 0.01em;
    text-align: center;
    background-color: var(--bg-color-01);
    position: absolute;
    bottom: 20px;
    right: -10px;
}

/* メディアクエリ */
.responsive-sp .list-banner .list-inner .deco {
    min-width: 50px;
    font-size: 24px;
}

/* list-gallery */
.list-gallery li:nth-of-type(2) {
    margin-top: 100px;
}

.list-gallery li .list-inner .img-wrap {
    padding-right: 30px;
    position: relative;
}

.list-gallery li:nth-of-type(2) .list-inner .img-wrap {
    padding-left: 30px;
    padding-right: 0;
}

.list-gallery .list-inner .img-wrap::after {
    content: "";
    width: calc(100% - 30px);
    height: 100%;
    display: block;
    margin-left: auto;
    border: 2px solid var(--bg-color-01);
    background-color: #fff;
    position: absolute;
    bottom: -30px;
    right: 0;
    z-index: 0;
}

.list-gallery li:nth-of-type(2) .list-inner .img-wrap::after {
    top: -30px;
    left: 0;
    right: auto;
}

.list-gallery .list-inner .img-wrap .deco {
    width: 150px;
    padding: 1em;
    font-size: 12px;
    color: #fff;
    background-color: var(--bg-color-01);
    position: absolute;
    bottom: -50px;
    right: 20px;
    z-index: 2;
}

.list-gallery li:nth-of-type(2) .list-inner .img-wrap .deco {
    top: -50px;
    bottom: auto;
    left: 20px;
    right: auto;
}

.list-gallery .list-inner .img-wrap .img-wrap-inner {
    position: relative;
    z-index: 2;
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card01>span {
    opacity: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card01.mv>span {
    opacity: 1;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card02 {
    width: 100%;
    margin-top: 0;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card02>span {
    opacity: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card02.mv>span {
    opacity: 1;
    -webkit-transition: 1.5s;
    transition: 1.5s;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card03 {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card03>span {
    opacity: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
}

.list-gallery .list-inner .img-wrap .img-wrap-inner .card03.mv>span {
    opacity: 1;
    -webkit-transition: 2s;
    transition: 2s;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

/* slide-img-wrap */
.slide-img-wrap .img-wrap-inner {
    position: relative;
    z-index: 2;
}

.slide-img-wrap .img-wrap-inner .card01>span {
    opacity: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
}

.slide-img-wrap .img-wrap-inner .card01.mv>span {
    opacity: 1;
    -webkit-transition: 1s;
    transition: 1s;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.slide-img-wrap .img-wrap-inner .card02 {
    width: 100%;
    margin-top: 0;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.slide-img-wrap .img-wrap-inner .card02>span {
    opacity: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
}

.slide-img-wrap .img-wrap-inner .card02.mv>span {
    opacity: 1;
    -webkit-transition: 1.5s;
    transition: 1.5s;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

.slide-img-wrap .img-wrap-inner .card03 {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.slide-img-wrap .img-wrap-inner .card03>span {
    opacity: 0;
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
}

.slide-img-wrap .img-wrap-inner .card03.mv>span {
    opacity: 1;
    -webkit-transition: 2s;
    transition: 2s;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

/* list-gallery02 */
.list-gallery02 .list-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 50px;
    border: 1px solid #000;
}

.list-gallery02 .list-inner .slide-img-wrap {
    width: 45%;
    padding-left: 50px;
}

.list-gallery02 .list-inner .content-wrap {
    width: 45%;
}

.list-gallery02 .list-inner .content-wrap .title {
    margin-bottom: 3em;
    padding-bottom: 0.5em;
    font-size: 24px;
    border-bottom: 1px solid #000;
}

.list-gallery02 .list-inner .content-wrap .staff-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 0;
    border-top: 2px solid var(--text-color-01);
    border-bottom: 2px solid var(--text-color-01);
    position: relative;
}

.list-gallery02 .list-inner .content-wrap .staff-container .info-wrap {
    width: 48%;
    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: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.list-gallery02 .list-inner .content-wrap .staff-container .img-wrap {
    width: 48%;
}

.list-gallery02 .list-inner .content-wrap .staff-container .deco {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 48px;
    color: var(--text-color-01);
    font-style: italic;
    position: absolute;
    top: -50px;
    left: 0;
    z-index: 1;
}

.list-gallery02 li+li {
    margin-top: 20px;
}

/* list-staff */
.list-staff .list-inner .img-wrap {
    margin-bottom: 10px;
}

.list-staff .list-inner .en-name {
    font-size: 16px;
    text-align: center;
}

.list-staff .list-inner .ja-name {
    font-weight: 400;
    font-size: 20px;
    text-align: center;
}

.list-staff .list-inner .salon-name {
    font-size: 16px;
    text-align: center;
}

.list-staff .list-inner .career {
    font-size: 16px;
    text-align: center;
}

/* メディアクエリ */
.responsive-sp .list-staff .list-inner .en-name {
    font-size: 24px;
}

.responsive-sp .list-staff .list-inner .ja-name {
    font-size: 24px;
}

.responsive-sp .list-staff .list-inner .salon-name {
    font-size: 24px;
}

.responsive-sp .list-staff .list-inner .career {
    font-size: 24px;
}

/* list-blog */
.list-blog .list-inner {
    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;
    padding: 20px;
    background-color: #fff;
}

.list-blog .list-inner .img-wrap {
    width: 30%;
}

.list-blog .list-inner .content-wrap {
    width: 65%;
}

.list-blog .list-inner .content-wrap .date {
    font-size: 16px;
    color: var(--text-color-01);
}

.list-blog .list-inner .content-wrap .title {
    font-weight: 400;
    font-size: 16px;
}

.list-blog li+li {
    margin-top: 50px;
}

.blog-news-container .list-blog .list-inner .img-wrap {
    margin-bottom: 0;
    position: initial;
}

/* メディアクエリ */
.responsive-sp .list-blog .list-inner {
    padding: 10px;
}

.responsive-sp .list-blog .list-inner .content-wrap .date {
    font-size: 24px;
}

.responsive-sp .list-blog .list-inner .content-wrap .title {
    font-size: 24px;
}

.responsive-sp .list-blog li+li {
    margin-top: 20px;
}

/* list-blog02*/
.list-blog02 .list-inner {
    -webkit-box-shadow: 1px 1px 5px #9d9d9d;
    box-shadow: 1px 1px 5px #9d9d9d;
}

.list-blog02 .list-inner .content-wrap {
    padding: 30px 5px;
}

.list-blog02 .list-inner .category span {
    display: inline-block;
    margin: 1px;
    padding: 0.25em 0.5em;
    font-size: 14px;
    color: #fff;
    background-color: var(--bg-color-07);
}

.list-blog02 .list-inner .date {
    margin-top: 5px;
    font-size: 14px;
    color: rgba(89, 87, 87, 0.5);
}

.list-blog02 a:hover {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
}

/* list-news */
.list-news {
    padding: 20px 20px 40px 20px;
    background-color: #fff;
}

.list-news li {
    padding: 1.5em 0;
    border-bottom: 4px dotted #aaa;
}

.list-news li a {
    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;
}

.list-news li a .date {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 0.5em;
    font-size: 16px;
    color: var(--text-color-01);
}

.list-news li a .category {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 0.54em;
}

.list-news li a .category span {
    display: block;
    padding: 0.25em 0.5em;
    font-size: 15px;
    color: #fff;
    background-color: #8ea6d0;
}

.list-news li a .category span.Lienhair-flat {
    background-color: var(--bg-color-01);
}

.list-news li a .title {
    font-weight: 400;
    font-size: 16px;
}

/* メディアクエリ */
.responsive-sp .list-news li a {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.responsive-sp .list-news li a .date {
    font-size: 24px;
}

.responsive-sp .list-news li a .category span {
    font-size: 24px;
}

.responsive-sp .list-news li a .title {
    width: 100%;
    font-size: 24px;
}

/* list-waku */
.list-waku .img-wrap {
    margin-top: 50px;
    -webkit-box-shadow: 10px 10px 10px #555;
    box-shadow: 10px 10px 10px #555;
    position: relative;
}

.list-waku .img-wrap::before {
    content: "";
    width: 100%;
    width: 100%;
    height: 100%;
    display: block;
    border: 7px solid var(--text-color-01);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.list-waku .title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
    font-size: 30px;
    text-align: center;
    position: relative;
}

.list-waku .title::before {
    content: "";
    width: 100%;
    height: 2px;
    display: block;
    background-color: var(--bg-color-01);
    position: absolute;
    bottom: -10px;
}

.list-waku .title::after {
    content: "";
    width: 80%;
    height: 2px;
    display: block;
    background-color: var(--bg-color-01);
    position: absolute;
    bottom: -20px;
    left: 10%;
}

.list-waku li+li {
    margin-top: 50px;
}

.list-waku li+li .img-wrap::before {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}

.list-waku.ver02 .title {
    font-weight: 300;
    font-size: 24px;
}

/* メディアクエリ */
.responsive-sp .list-waku .title {
    font-size: 30px;
}

/* list-btn */
.list-btn a {
    overflow: hidden;
    border-radius: 100px;
    -webkit-box-shadow: 10px 10px 10px #555;
    box-shadow: 10px 10px 10px #555;
    position: relative;
}

.list-btn a .title {
    width: 100%;
    display: block;
    font-weight: bold;
    font-size: 30px;
    color: var(--text-color-01);
    line-height: 1;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

.list-btn a .title .main {
    display: block;
    margin-bottom: 5px;
    text-shadow: 1px 1px 0 #fff,
        -1px 1px 0 #fff,
        -1px -1px 0 #fff,
        1px -1px 0 #fff;
}

.list-btn a .title .sub {
    display: block;
    font-size: 25px;
    text-shadow: 1px 1px 0 #fff,
        -1px 1px 0 #fff,
        -1px -1px 0 #fff,
        1px -1px 0 #fff;
}

/* メディアクエリ */
.responsive-sp .list-btn a .title {
    font-size: 18px;
}

.responsive-sp .list-btn a .title .sub {
    font-size: 14px;
}

/* list-reserve */
.list-reserve li {
    padding: 50px;
    background-color: rgba(255, 255, 255, 0.5);
}

.list-reserve li .title {
    margin-bottom: 50px;
    font-weight: 500;
    font-size: 34px;
    color: var(--text-color-01);
    text-align: center;
}

.list-reserve li .shopname {
    margin-bottom: 20px;
    font-weight: 500;
    font-size: 18px;
    color: var(--text-color-01);
    text-align: center;
}

/* メディアクエリ */
.responsive-sp .list-reserve li {
    padding: 20px;
}

.responsive-sp .list-reserve li .title {
    margin-bottom: 20px;
    font-size: 20px;
}

.responsive-sp .list-reserve li .shopname {
    margin-bottom: 10px;
    font-size: 14px;
}

/* list-shopinfo */
.list-shopinfo .map {
    padding-top: 35%;
}

.list-shopinfo li {
    padding: 50px;
    background-color: #fff;
}

.list-shopinfo li+li {
    margin-top: 30px;
}

.list-shopinfo .logo img {
    width: 80%;
}

.list-shopinfo dt {
    font-weight: initial;
    font-size: 17px;
}

/* メディアクエリ */
.responsive-sp .list-shopinfo li {
    padding: 20px;
}

/* list-item */
.list-item .list-inner .category {
    margin-top: 5px;
}

.list-item .list-inner .category span {
    display: inline-block;
    margin: 1px;
    padding: 0.25em 0.5em;
    font-size: 14px;
    color: #fff;
    background-color: var(--bg-color-07);
}

.list-item .list-inner .title {
    font-size: 20px;
}

/* list-menu */
.list-menu .list-inner {
    padding-bottom: 1em;
    border-bottom: 1px solid #000;
}

.list-menu .list-inner .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-menu .list-inner .wrap .title {
    width: 50%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-menu .list-inner .wrap .price {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-menu .list-inner .text {
    font-size: 16px;
}

.list-menu.ver02 li+li {
    margin-top: 1em;
}

/* list-check */
.list-check li {
    padding-left: 1.5em;
    line-height: 2;
    text-indent: -1.5em;
}

.list-check li+li {
    margin-top: 0.25em;
}

.list-check li:before {
    content: "\f14a";
    margin-right: 0.5em;
    font-family: "Font Awesome 6 Free";
}

/* list-kasou */
.list-kasou01 .item+.item {
    margin-top: 120px;
}

/* list-faq */
.list-faq .faq-q {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 20px 20px 20px 80px;
    font-weight: bold;
    border-radius: 5px;
    background-color: #eee;
}

.list-faq .faq-q:hover {
    cursor: pointer;
}

.list-faq .faq-q .label {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 50px;
    color: var(--text-color-03);
}

.list-faq .faq-q .text {
    width: 100%;
    margin: 0 50px;
}

.list-faq .faq-q .accbtn {
    width: 20px;
    height: 20px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 24px;
    position: relative;
}

.list-faq .faq-q .accbtn:before {
    content: "";
    width: 20px;
    height: 4px;
    display: block;
    border-radius: 20px;
    background-color: #000;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.list-faq .acc-parent .faq-q .accbtn:after {
    content: "";
    width: 4px;
    height: 20px;
    display: block;
    border-radius: 20px;
    background-color: #000;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
}

.list-faq .acc-parent.action .faq-q .accbtn:after {
    -webkit-transition: linear 0.3s;
    transition: linear 0.3s;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
}

.list-faq .faq-a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 20px 20px 20px 80px;
    border-radius: 5px;
    background-color: #fff;
}

.list-faq .faq-a .label {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 50px;
}

.list-faq .faq-a .text {
    width: 100%;
    margin-left: 50px;
}

.list-faq li+li {
    margin-top: 10px;
}

/* list-recruit */
.list-recruit .list-inner {
    padding: 50px;
    color: #fff;
    background-color: var(--bg-color-04);
}

/* list-youkou */
.list-youkou li {
    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-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px solid #eee;
}

.list-youkou .title {
    width: 25%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-youkou .content {
    width: 70%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-size: 20px;
}

/* contact-banner */
.contact-banner {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px;
    color: #fff;
    background-color: var(--bg-color-01);
}

.contact-banner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.contact-banner.ver02 {
    width: 48%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding: 20px;
}

.contact-banner.ver02 .shopname {
    font-size: 1.5em;
}

.contact-banner.ver02 .address {
    margin-bottom: 10px;
}

.contact-banner.ver02+.contact-banner.ver02 {
    margin-left: 20px;
}

.contact-banner.ver02 .hpb-container {
    background-color: #fff;
}

.contact-banner.ver02 .hpb-container a {
    padding: 20px;
    text-align: center;
}

.contact-banner.ver02 .hpb-container a img {
    max-width: 300px;
}

/* レスポンシブ */
.responsive.responsive-sp .contact-banner-container {
    display: block;
}

.responsive.responsive-sp .contact-banner.ver02 {
    width: 100%;
}

/*===================================
  詳細ぺージ
===================================*/
.newsblog_detail .title {
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    font-size: 24px;
    border-bottom: 1px solid #000;
}

.newsblog_detail .category {
    text-align: right;
}

.newsblog_detail .category span {
    display: inline-block;
    margin: 1px;
    padding: 0.25em 1em;
    color: #fff;
    background-color: var(--bg-color-03);
}

.item_detail .category span {
    display: inline-block;
    margin: 1px;
    padding: 0.25em 0.5em;
    font-size: 14px;
    color: #fff;
    background-color: var(--bg-color-07);
}

.item_detail .title {
    margin-top: 20px;
    margin-bottom: 1em;
    padding: 0.5em;
    font-size: 24px;
    border-bottom: 1px solid #000;
}

.item_detail .capacityprice dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.item_detail .capacityprice dl+dl {
    margin-top: 0.5em;
}

.item_detail .capacityprice dl dt {
    min-width: 100px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 1em;
    padding: 0.25em 0.5em;
    color: #fff;
    text-align: center;
    background-color: var(--bg-color-07);
}

.gallery_detail .title {
    margin-top: 20px;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    font-size: 24px;
    border-bottom: 1px solid #000;
}

.gallery_detail .staff-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 20px 0;
    border-top: 2px solid var(--text-color-01);
    border-bottom: 2px solid var(--text-color-01);
    position: relative;
}

.gallery_detail .staff-container .info-wrap {
    width: 48%;
    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: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.gallery_detail .staff-container .img-wrap {
    width: 48%;
}

.gallery_detail .staff-container .deco {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-size: 48px;
    color: var(--text-color-01);
    font-style: italic;
    position: absolute;
    top: -50px;
    left: 0;
    z-index: 1;
}

.staff_detail .title {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-bottom: 0.5em;
    font-size: 24px;
    border-bottom: 1px solid #000;
}

.instagram-wrap a::after {
    content: "\f16d";
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
    font-size: 2em;
}

.up-c-red {
    color: red;
}

.up-py-100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.up-my-100 {
    margin-top: 100px;
    margin-bottom: 100px;
}
.up-100 {
  padding-top: 100px;
}
.up-py-50 {
    padding-top: 50px;
    padding-bottom: 50px;
}
.un-100 {
  padding-bottom: 100px;
}

.fead-order>.mv {
    opacity: 1;
}

.up-clearfix {
    display: block;
}

.up-clearfix::before,
.up-clearfix::after {
    content: "";
    display: block;
    clear: both;
}

.topbanner {
    min-height: 700px;
    overflow: hidden;
    position: relative;
}

.topbanner .img-wrap {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.topbanner .img-wrap::after {
    content: "";
    width: 80%;
    height: 150px;
    display: block;
    background-color: #6888c1;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;

    -webkit-clip-path: polygon(100% 100%, 0 100%, 100% 0);
    clip-path: polygon(100% 100%, 0 100%, 100% 0);
}

.topbanner .img-wrap img {
    width: 80%;
    -o-object-position: 0% 100%;
    object-position: 0% 100%;
    left: auto;
    right: 0;
}

.topbanner .title {
    font-size: 80px;
    letter-spacing: 0.25em;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.topbanner .message {
    position: absolute;
    top: 200px;
    left: 75px;
    z-index: 1;
}

.topbanner .text {
    margin-left: 25px;
    font-weight: 500;
    font-size: 22px;
    line-height: 2.25;
    position: absolute;
    top: 350px;
    left: 120px;
    z-index: 1;
}

.top-slick li{
  margin: 10px;
}

.top-slick .btn-slick {
    position: absolute;
    top: 45%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 2;
    background: #fff;
    width: 40px;
    height: 40px;
    color: var(--bg-color-01);
    border: 2px solid;
    border-radius: 50%;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
}

.top-slick .btn-slick.btn-back {
    left: -10px;
}

.top-slick .btn-slick.btn-next {
    right: -10px;
}

.pl {
display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.staff-voice{
  padding: 30px;
    border: solid 1px;
    margin-bottom: 50px;
}

.staff-voice .left {
    width: 40%;
}

.staff-voice .right {
    width: 55%;
}

.staff-voice .c-text{
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}

.staff-voice .namebox .txtbox {
    margin-top: 20px;
}

.staff-voice .namebox .num {
    font-size: 14px;
}

.staff-voice .namebox .name {
    font-weight: bold;
    font-size: 18px;
}

.staff-voice .list li {
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--txt-color-04);
}

.staff-voice .list li+li {
    margin-top: 50px;
}

.staff-voice .list .tit {
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 20px;
}

.staff-voice:nth-of-type(2) > .flex{
flex-direction: row-reverse;  
}

.price-box {
display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 10px 0;
}

.price-box .p-i{
  font-size: 40px;
    line-height: 1;
}

.price-box .p-ori{
  text-decoration:line-through
}

.price-box .p-new{
  font-size: 24px;
  font-weight: bold;
}

@media (max-width: 1024px) {
    .staff-voice .left {
        width: 60%;
        margin: 0 auto;
    }

    .staff-voice .right {
        width: 100%;
        margin-top: 40px;
    }

    .staff-voice .list li+li {
        margin-top: 30px;
    }
  .price-box{
        flex-wrap: wrap;
  }
  .pl > *{
      width: 100%;
}
}

@media (max-width: 599px) {

    .staff-voice .left {
        width: 80%;
    }

    .staff-voice .list li+li {
        margin-top: 20px;
    }

    .staff-voice .list .tit {
        margin-bottom: 10px;
        font-size: 17px;
    }

    .staff-voice .list .txt {
        font-size: 14px;
    }
}

.responsive .sp-br{
  display: block;
}


/* 見たまま編集画面用 */
[data-element-id].drop-menu-list {
    visibility: visible;
    opacity: 1;
    position: initial;
}

[data-element-id].fixed-container {
    width: 90%;
    margin-left: auto;
    border: 5px solid red;
    opacity: 1;
    position: relative;
    bottom: 0;
}

[data-element-id].fixed-container::before {
    content: "追従ボタン";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: red;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id].breadcrumbs {
    padding-top: 150px;
}

[data-element-id].reserve-modal {
    visibility: visible;
    border: 2px solid #000;
    opacity: 1;
    position: relative;
    z-index: 0;
}

[data-element-id].reserve-modal::before {
    content: "Web予約ボタンをクリックすると表示されます";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .gnav {
    opacity: 1;
}

[data-element-id].gnav-banner {
    display: block;
}

[data-element-id].first-view-container .header-container {
    -webkit-transform: none;
    transform: none;
    position: initial;
}

[data-element-id] header {
    width: 100%;
}

[data-element-id] .gnav-banner02 {
    display: block;
}

[data-element-id] .fixed-container .tel-container {
    max-width: 768px;
    display: block;
    margin-left: auto;
    border: 2px solid #000;
    position: relative;
}

[data-element-id] .fixed-container .tel-container::before {
    content: "モバイルで表示";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id].tel-modal {
    visibility: visible;
    border: 2px solid #000;
    opacity: 1;
    position: relative;
    z-index: 0;
}

[data-element-id].tel-modal::before {
    content: "電話予約ボタンをクリックすると表示されます";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] #splash {
    padding-top: 1.5em;
    border: 1px solid #000;
    position: initial;
    position: relative;
}

[data-element-id] #splash::before {
    content: "ローディング画面";
    width: 100%;
    display: block;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
}

[data-element-id] #splash_logo {
    -webkit-transform: none;
    transform: none;
    position: initial;
}

[data-element-id] .contact-banner.ver02 .hpb-container a img {
    width: 100%;
    max-width: none;
}

[data-element-id] .fixed-container .tel-modal .tel-wrap a,
[data-element-id] .fixed-container .tel-modal .tel-wrap i {
    font-size: initial;
}

[data-element-id].list-gnav {
    max-width: 768px;
    margin-left: auto;
}

[data-element-id].list-gnav li.logo {
    padding: 10px 0;
    background-color: rgba(0, 0, 0, 0.5);
}

[data-element-id].list-gnav li.add-wrap {
    max-width: 768px;
    display: block;
    margin-left: auto;
    border: 2px solid #000;
    position: relative;
}

[data-element-id].list-gnav li.add-wrap::before {
    content: "モバイル表示/ハンバーガーメニュー内のみで表示";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id].gnav-banner {
    max-width: 768px;
    display: block;
    margin-left: auto;
    border: 2px solid #000;
    position: relative;
}

[data-element-id].gnav-banner::before {
    content: "モバイル表示/ハンバーガーメニュー内のみで表示";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id].gnav-banner02 {
    max-width: 768px;
    display: block;
    margin-left: auto;
    border: 2px solid #000;
    position: relative;
}

[data-element-id].gnav-banner02::before {
    content: "モバイル表示/ハンバーガーメニュー内のみで表示";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id].list-gnav .drop-menu-list {
    padding-top: 1.5em;
    border: 2px solid blue;
}

[data-element-id].list-gnav .drop-menu-list::before {
    content: "「RECRUIT」にカーソルをあてると表示されます";
    width: 100%;
    color: #fff;
    text-align: center;
    background-color: blue;
    position: absolute;
    top: 1.5em;
    left: 0;
    z-index: 1;
}

[data-element-id].list-gnav .drop-menu-list.contact::before {
    content: "「CONTACT」にカーソルをあてると表示されます";
}

[data-ab-test-block] {
    padding-top: 2em;
}

[data-element-id] .top-slick{
  display: flex;
      justify-content: space-between;
}

[data-element-id] .top-slick li{
   width: 20%;
}

[data-element-id] .top-slick > div{
     display: contents;
}

[data-element-id] .first-view-container .deco-container {
    z-index: -1;
}

/**2025/01/29**/
.link-box ul {
  display: flex;
  flex-wrap: wrap;
}
.link-box ul li {
  width: 31%;
  margin: auto;
}
.link-box ul li a {
  display: block;
  width: 100%;
  padding: 20px 0;
  background: #426ab3;
  color: #fff;
  text-align: center;
}
.link-box ul li a:hover {
  opacity: 0.6;
}
/* @media (max-width: 1024px){ 
  .link-box ul li a {
    font-size: 16px;
  }
}

@media (max-width: 599px){
  .link-box ul li {
    width: 80%;
    margin: 5px auto;
  }
} */
