* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    font-size: 10px;
}

body,
body input,
body textarea,
body button {
    -webkit-text-size-adjust: 100%;
    font-family: "Roboto", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

body {
    position: relative;
    background: #E5E5DB;
}

body p {
    font-size: 1.4rem;
    color: #0a0a0a;
    font-weight: 500;
    line-height: 2.8rem;
    letter-spacing: 0.05rem;
}

.container {
    max-width: 1000px;
    margin: 0 auto;
}

header {
    width: 100%;
    height: 100vh;
    position: relative;
}

#main-slider {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
}

.course_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    background-image: url(../img/course_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
}

.food_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;

}

.food_h1_wrap::after {
    content: '';
    filter: brightness(0.4);
    background-image: url(../img/menupg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    width: 100%;
    height: 100%;

}

.drink_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    background-image: url(../img/drink_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
}

.gallery_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;

}

.gallery_h1_wrap::after {
    content: '';
    background-image: url(../img/gallery_h1.jpg);
    width: 100%;
    height: 100%;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
    filter: brightness(0.4);
}

.access_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;

}

.access_h1_wrap::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(../img/access_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
    filter: brightness(0.4);

}

.quality_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;

}

.quality_h1_wrap::after {
    content: '';
    position: absolute;
    background-image: url(../img/quality_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
    filter: brightness(0.4);
    width: 100%;
    height: 100%;

}



.staff_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    background-image: url(../img/staff_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
}

.recruit_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    background-image: url(../img/recruit_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
}

.news_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    background-image: url(../img/news_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
}



.top-sns img {
    object-fit: contain;
    width: 3rem;
    height: auto;
}



.blog_h1_wrap {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    background-image: url(../img/blog_h1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    background-size: cover;
}

.slider {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}


.slider img {
    /* display: block; */
    position: absolute;
    top: 0;
    bottom: 0;
    left: -300%;
    right: -300%;
    margin: auto;
    filter: brightness(0.4);
}


.header_logo {
    /* position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: auto;
    text-align: center;
    z-index: 100;
    display: none; */
}

.header_logo img {
    width: 18rem;
}

.slider p {
    position: relative;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: auto;
    text-align: center;
    font-size: 4.8rem;
    line-height: 4rem;
    z-index: 100;
    color: #fff;
    text-shadow: 0px 0px 1px #6f6f6f;
}

.gnav {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    padding: 0 4rem;

}

.gnav_wrap {
    list-style: none;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: flex-end;
    align-items: center;
}

.gnav_item {
    margin-right: 38px;
}

.reserve_here a {
    color: #0a0a0a;
    text-decoration: none;
    background-color: #fff;
    padding: 1rem 2rem;
    font-weight: 700;
    font-size: larger;
    z-index: 100;
    border: solid #0a0a0a 2px;
    position: fixed;
}

.reserve_here {
    width: 8rem;
    display: flex;
    flex-direction: column;
    position: relative;
    margin-bottom: 4rem;
}




.gmenu {
    text-decoration: none;
    color: #fff;
    font-family: YuGothic, 'Yu Gothic', sans-serif;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    transition: all 0.5s;
    position: relative;
}

.gmenu::after {
    position: absolute;
    bottom: -5px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
}

.gmenu:hover::after {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.top_news,
.top_info {
    padding: 100px 0;
}

.top_gallery {
    background-color: #fff;
    padding: 100px 0;
}

.top_concept {
    padding: 100px 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top_concept h3 {
    color: #0a0a0a;
    text-align: center;
    font-size: 2rem;
    padding-bottom: 20px;
    line-height: 3.2rem
}

.top_concept p {
    color: #0a0a0a;

}

.top_menu {
    padding: 0px 0;
}

.top_course_wrap p {
    z-index: 100;
    position: relative;
    padding: 0 4rem;
    text-align: left;
}

/* .top_course {
    padding: 100px 0;
    background-image: url(/img/photo_image1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
} */

.top_staff {
    padding: 0 4rem;
}

.top_staff img {
    width: 35rem;
    height: 35rem;
    object-fit: cover;
    object-position: 86%;
}

.top_course_inner {
    display: flex;
}

.top_course.staff {
    padding: 100px 0;
    background-image: url(/img/photo_image1.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

.top_course.staff::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    /* ← white filter / transparency adjust here */
    z-index: -1;
    top: 0;

}


.heading1 {
    color: #fff;
    font-family: "YuGothic,'Yu Gothic',sans-serif";
    font-size: 3.6rem;
    font-weight: 600;
    letter-spacing: 0.8rem;
    text-align: center;
    margin-bottom: 60px;
    position: relative;
    z-index: 100;
}

.heading2 {
    /* color: #A7C7E7; */
    font-family: "YuGothic,'Yu Gothic',sans-serif";
    text-shadow: 3px 3px 3px #808080;
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 0.8rem;
    text-align: center;
    margin-bottom: 60px;
    position: relative;
    z-index: 10;
}

.heading2::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: #535353;
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: auto;
}

.news_list_wrap {
    text-align: left;
}

.news_list_row_inner {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 15px 0;
    border-bottom: solid 1px #313131;
}

.news_list_wrap ul {
    list-style: none;
}

.list_h,
.list_d {
    font-size: 1.4rem;
    line-height: 2rem;
}

.list_h {
    font-weight: 600;
    color: #fff;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
}

.list_d {
    color: #bfbfbf;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    font-weight: 500;
}

.ta_center_pc {
    text-align: center;
    padding: 0 4rem;
}

.top_menu_img01_flex {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.top_menu_img02_flex {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.top_menu_img01 img,
.top_menu_img02 img,
.top_menu_img01_sp img,
.top_menu_img02_sp img {
    width: 100%;
    max-width: 100%;
    height: auto;
}


.mt20 {
    margin-top: 20px;
}

.mt40 {
    margin-top: 40px;
}

.mb10 {
    margin-bottom: 10px;
}

.btn_wrap {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.btn {
    text-decoration: none;
    width: 300px;
    padding: 20px 0;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    color: #0a0a0a;
    font-family: "Playfair Display";
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    border: solid 2px #0a0a0a;
    position: relative;
    overflow: hidden;
}

.btn::before {
    position: absolute;
    top: 0;
    right: -50px;
    bottom: 0;
    left: 0;
    border-right: 50px solid transparent;
    border-bottom: 60px solid #0a0a0a;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    content: "";
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    z-index: -1;
}



.wt.btn::before {
    border-color: #fff;

}

.btn:hover {
    color: #fff;
}

.btn:hover::before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.btn2 {
    text-decoration: none;
    width: 300px;
    padding: 20px 0;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    color: #0a0a0a;
    font-family: "Playfair Display";
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    border: solid 2px #0a0a0a;
    position: relative;
    overflow: hidden;
}

.btn2::before {
    position: absolute;
    top: 0;
    right: -50px;
    bottom: 0;
    left: 0;
    border-right: 50px solid transparent;
    border-bottom: 60px solid #0a0a0a;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    content: "";
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    z-index: -1;
}

.btn2:hover {
    color: #fff;
    background: #0a0a0a
}

.btn2:hover::before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.wt {
    color: #fff;
}

.mr20_pc {
    margin-right: 20px;
}

.z_2 {
    z-index: 2;
}

.bx-wrapper {
    margin: auto;
    width: 100%;
    max-width: 1920px;
    overflow: hidden;
    border-top: solid 5px #0a0a0a;
    border-bottom: solid 5px #0a0a0a;
    border-right: none;
    border-left: none;
}

.bx-prev,
.bx-next,
.bx-pager {
    display: none;
}

.content_slider_item img {
    max-width: 100%;
    display: block;
    border: solid 5px #0a0a0a;
    object-fit: cover;
    width: 26rem;
    height: 17rem;
}

iframe {
    display: block;
}

.top_info_content_flex {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px;
}

.top_info_content_left,
.top_info_content_right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    padding: 0 10px;
}

.top_info_content_left iframe {
    max-width: 100%;
}

.top_info_content_right a {
    display: block;
    max-width: 100%;
}

.footer_wrap {
    background-image: url(../img/footer_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 50px 0 30px;
    text-align: center;
}

.footer_p {
    color: #bfbfbf;
    font-size: 1.4rem;
    line-height: 2.4rem;
    font-weight: 500;
}

.txt24 {
    font-size: 2.4rem;
}

.txt18_wh {
    font-size: 1.8rem;
    font-weight: 600;
}

.txt_600 {
    font-weight: 600;
}

.footer_tel {
    text-decoration: none;
    color: #bfbfbf;
    font-size: 2.4rem;
}

.sns_wrap {
    padding: 30px 0;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sns_icon {
    margin-right: 10px;
}

.sns_icon:last-child {
    margin-right: 0;
}

.sns_link {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.sns_link:hover {
    opacity: 0.5;
}

.footer_link_list {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.fmenu {
    text-decoration: none;
    color: #fff;
    font-family: "YuGothic,'Yu Gothic',sans-serif";
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    position: relative;
}

.fmenu::after {
    position: absolute;
    bottom: -5px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
}

.fmenu:hover::after {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
}

.footer_link_menu {
    margin-right: 40px;
}

.footer_link_menu:last-child {
    margin-right: 0;
}

.footer_link_wrap {
    margin-bottom: 30px;
}

.copy_right {
    color: #959595;
    font-size: 1.2rem;
    font-weight: 500;
}

#page-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999;
}

#page-top a {
    font-family: "Playfair Display";
    line-height: 85px;
    text-align: center;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    color: #0a0a0a;
    display: block;
    width: 80px;
    height: 80px;
    text-decoration: none;
    border-radius: 50%;
    border: solid 2px #0a0a0a;
    background: rgba(255, 255, 255, 0.8);
}

#page-top a::before {
    content: "";
    width: 6px;
    height: 6px;
    border-top: solid 2px #0a0a0a;
    border-right: solid 2px #0a0a0a;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 14px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.google_translate {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 100;
}

.gnav_inner_sp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    -webkit-transform: translateX(-300%);
    transform: translateX(-300%);
    -webkit-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    z-index: 9999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.gnav_inner_sp.action {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.header_nav_wrap_sp {
    text-align: center;
}

.gmenu_sp {
    font-family: "Playfair Display";
    text-decoration: none;
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: 0.3rem;
    line-height: 50px;
}

.icon_menu_txt {}

.icon_menu {
    content: "";
    display: block;
    border: solid 1px #fff;
    width: 40px;
    height: 40px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    position: relative;
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 10000;
}

.menu_border_box {
    width: 14px;
    height: 14px;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0 auto;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.menu_border {
    display: block;
    width: 14px;
    height: 2px;
    background: #fff;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.menu_border:nth-child(1) {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.menu_border:nth-child(2) {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
}

.menu_border:nth-child(3) {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.icon_menu.action .menu_border:nth-child(1) {
    margin-top: 7px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.icon_menu.action .menu_border:nth-child(2) {
    display: none;
}

.icon_menu.action .menu_border:nth-child(3) {
    margin-top: -7px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}

.fixed {
    position: fixed !important;
    width: 100%;
    height: 100%;
}

.effect {
    -webkit-transition: all 2s;
    transition: all 2s;
}

.fade_r {
    opacity: 0;
    transform: translateX(50px);
    transition: all 2s;
}

.fade_l {
    opacity: 0;
    transform: translateX(-50px);
    transition: all 2s;
}

.lawer_wrap {
    padding: 100px 0;

}

.lawer_content_wrap {
    margin-bottom: 50px;
}

.lawer_content_wrap:last-child {
    margin-bottom: 0;
}

.lawer_content_inner {
    padding-bottom: 40px;
}

.lawer_content_inner:last-child {
    padding-bottom: 0;
}

.heading3 {
    font-size: 1.8rem;
    color: #0a0a0a;
    font-weight: 600;
    padding: 15px 15px 15px 25px;
    margin-bottom: 30px;
    position: relative;
    line-height: 2.2rem
}

.heading3::before {
    content: "";
    display: block;
    width: 4px;
    height: 12px;
    background: #808080;
    position: absolute;
    top: 50%;
    left: 10px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.heading4 {
    font-size: 1.6rem;
    color: #fff;
    font-weight: 600;
    padding: 0 0 0 16px;
    margin-bottom: 20px;
    position: relative;
}

.heading4::before {
    content: "";
    display: block;
    width: 8px;
    height: 2px;
    background: #808080;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.table {
    width: 100%;
}

.table,
.table_row_inner {
    list-style: none;
}

.table_image {
    text-align: center
}

.table_image img {
    width: 60%;
}

.table_row_inner {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: space-between;
    -ms-align-items: center;
    align-items: flex-start;
    padding: 20px 10px;
    border-bottom: solid 1px #313131;
}

.table_item_left {
    font-size: 1.4rem;
    line-height: 2.2rem;
    color: #0a0a0a;
    font-weight: 600;
    flex: 0 0 70%;
}

.table_item_left02 {
    font-size: 1.4rem;
    line-height: 2.2rem;
    color: #0a0a0a;
    flex: 0 0 100%;
    text-align: left
}

.table_item_left03 {
    font-size: 1.4rem;
    line-height: 2.2rem;
    color: #0a0a0a;
    font-weight: 600;
    flex: 0 0 20%;
}

.table_list_content {
    font-size: 1.4rem;
    line-height: 2.2rem;
    color: #0a0a0a;
    font-weight: 600;
    flex: 0 0 75%;
}

.table_tel_link {
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 2.2rem;
    color: #bfbfbf;
    font-weight: 600;
}

.table_item_right {
    font-size: 1.8rem;
    color: #0a0a0a;
    font-weight: 600;
    flex: 0 0 25%;
    text-align: right;
}

.txt12_grey {
    font-size: 1.2rem;
    color: #0a0a0a;
    font-weight: 500;
    line-height: 1.8rem;
}

.txt_note {
    font-size: 1.2rem;
    color: #bfbfbf;
    font-weight: 500;
    line-height: 1.8rem;
}

.txt_note_grey {
    font-size: 1.2rem;
    color: #0a0a0a;
    font-weight: 500;
    line-height: 1.8rem;
}

.db {
    display: block;
}

.gallery_content_sec {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.gallery_content_sec_item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 100%;
    position: relative;
    overflow: hidden;
    padding-top: 25%;
}

.gallery_content_sec_item img {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    display: block;
    max-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    padding: 4%;
}

@keyframes scale {
    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

.slick-slide.moving {
    animation-name: scale;
    animation-duration: 8s;
    animation-timing-function: ease-out;
}

.txt_border {
    padding: 20px;
    border: solid 1px #6f6f6f;
    border-radius: 4px;
    background: #fff;
}

.flexbox {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 4rem;
    flex-direction: column-reverse;
    gap: 4rem;
}


.flexr {
    width: 50%;
    padding-right: 10px
}

.flexr img {
    width: 100%;
}

.flexl {
    width: 50%;
    padding-left: 10px
}

.flexl img {
    width: 100%;
}

.mt30 {
    margin-top: 40px
}

.tel_link {
    color: #0a0a0a;
    text-decoration: none;

    pointer-events: none
}

.footer_tel_link {
    color: #bfbfbf;
    text-decoration: none;
    pointer-events: none
}





#article_page #article_archive h2 {
    font-size: 1.92rem;
}

#article_page #article_archive .CMS-ARTICLE-CONTENT {
    width: 100%;
}

body.lower_page #article_archive .article_body section {
    padding: 0;
}

html.no_touch_device #article_archive .article_item a img {
    transition: all .5s ease-in-out;
}

html.no_touch_device #article_archive .article_item a .txt {
    transition: all .5s ease-in-out;
}

html.no_touch_device #article_archive .article_item a:hover .txt {
    background: rgba(51, 51, 51, 0.8);
}

html.no_touch_device #article_archive .article_item a:hover img {
    filter: blur(5px);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    transform: scale(1.1);
}

#news_page #news_archive h2 {
    margin-bottom: 1em;
    font-size: 2.4rem;
    text-align: center;
}



.contact_sns a {
    /* text-decoration: none; */
    color: #0a0a0a;
}

.contact_sns a:hover {
    color: #7b7a7a;
    transition: 0.7s;
}


@media screen and (max-width: 780px) {

    .gnav_item {
        margin-right: 0;
    }
}