@charset "UTF-8";
@import "base.css";
@import "fonts.css";
@import url('https://fonts.googleapis.com/css2?family=Kalam&display=swap');
/*==========================================================================*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
font-size: 170%;
-webkit-text-size-adjust: none;
font-weight: 400;
}
html:focus-within {scroll-behavior: smooth;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
*,
::before,
::after{box-sizing:border-box;outline: none;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;text-decoration:none;color: var(--txt);}
a[href^="tel:"] {word-break: keep-all;}
/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html{background:#fff}
body{color:var(--txt);-webkit-text-size-adjust:none;min-width:320px;font-family: var(--font-main);}
table {width: 100%}
h1,h2,h3,h4,h5,h6{line-height: 1.5;}
p,
dd,
dt,
li,
th,
td,
address{line-height: 1.8em;letter-spacing: 0.05em;}
p {margin: 0 0 1.5em;}
p:last-child{margin-bottom: 0}

.bold{font-weight: bold;}
.left{text-align:left}
.right{text-align: right;}
.auto{margin-left: auto; margin-right: auto;}
.red{color: var(--red);}
.txt_line{text-decoration: underline;}
.m0a{display: block;margin: 0 auto;}
.f_big{font-size: 150%;}
.f_sm{font-size: 100%;letter-spacing: -0.02em}

:root {
  --font-main: "Noto Sans JP", sans-serif; 
  --txt: #333;     
  --mbody: #FBF9F5;
  --mbody_u:#F0EEE9;
  --mcolor: #45851A;
  --scolor: #544423; 
  --site_size: 1200px; 
  --color_h2:#F8F8E7;
  --color_h3:#2C5710;
  --bg_pick:#E8E3D8;
  --bg:#F8F8F8;

  --f-ZMGothic: "Zen Maru Gothic", serif;
  --f-Outfit: "Outfit", sans-serif;
  --f-nts: "Noto Sans JP", sans-serif;
  --f-en: "Nothing You Could Do", cursive;
  --f-en2: "Kalam", cursive;
}

#wrapper{min-width: 1260px;overflow:hidden;margin:0 auto;max-width: 1920px;}
.inner{width: var(--site_size);margin:0 auto;position:relative;max-width: 100%;}
body.active{overflow: hidden}
/*==========================================================
                       H E A D E R  
==========================================================*/
header{position: relative; z-index: 10;}
h1{color: #fff;font-size:14px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; padding: 14px 0 7px 0;}
#index h1{display: none}
.h_box{width:100%;position: fixed;top: 16px;max-width: 1920px;margin: 0 auto;transition: 0.1s all ease;}
.h_inner{display:flex;justify-content:space-between;align-items: center;height: 100%;width: 100%;padding: 4px 147px 0 60px;}
header.show .h_box{top: 0;padding: 24px 0 27px 0;background:rgb(255,255,255,90%);transition: 0.1s all ease;box-shadow: 0 5px 10px #EBEBEB;}
.h_contact{display: flex;align-items: center;}
.h_contact > p{margin-bottom: 0;}
.h_contact > p:not(:last-child){margin-right: 23px;}
.h_contact_mail a{color:#FFF;font-weight: bold;text-align: center;background-color:var(--mcolor);display: flex;justify-content: center;align-items: center;width: 250px;height: 60px;position: relative;}
.h_contact_mail a span{position: relative; z-index: 2;font-size: 20px;display: inline-block; padding-left: 30px;}
.h_contact_mail a span::before{content: ''; position: absolute; width: 20px; height: 20px; left: 0; top: calc(50% - 10px); background: url('../images/ic_h_mail.png') no-repeat center /cover;}
.h_contact_tel a{position: relative;line-height: 1;display: flex;align-items: center;justify-content: center;border-radius: 5px;font-size: 40px;letter-spacing: 0.1em;font-weight: 500;}
.h_contact_tel a .txt_small{position: relative;color: var(--mcolor);font-size: 30px;top: 5px;}
.h_contact_tel .time{font-size: 12px;display: block;line-height: 1.6; text-align: right;}

/* HAMBUGER BUTTON */
.hamburger{font:inherit;display: flex;overflow:visible;margin:0;padding: 7px 4px 0px 4px;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0;width: 75px;height: 75px;border-radius: 50%;background: var(--mcolor);justify-content: center;flex-direction: column;align-items: center;z-index: 2;position: relative;}
.hamburger-box{position:relative;display:inline-block;width: 34px;height:24px}
.hamburger-inner{top:50%;display:block;margin-top:-2px}
.hamburger-inner,
.hamburger-inner::after,
.hamburger-inner::before{position:absolute;width: 33px;height: 1px;transition:all ease 0.15s;background-color: #fff;}
.hamburger-inner::after,
.hamburger-inner::before{display:block;content:""}
.hamburger-inner::before{top:-10px}
.hamburger-inner::after{bottom:-10px}
.hamburger--3dxy .hamburger-box{perspective:80px}
.hamburger--3dxy .hamburger-inner{transition:transform .15s cubic-bezier(0.645,0.045,0.355,1),background-color 0 cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy .hamburger-inner::after,
.hamburger--3dxy .hamburger-inner::before{transition:transform cubic-bezier(0.645,0.045,0.355,1) .1s}
.hamburger--3dxy.is_active .hamburger-inner{transform:rotateX(180deg) rotateY(180deg);background-color:transparent!important}
.hamburger--3dxy.is_active .hamburger-inner::before{transform: translate3d(0,10px,0) rotate(30deg);width: 40px;}
.hamburger--3dxy.is_active .hamburger-inner::after{transform: translate3d(0,-10px,0) rotate(-30deg);width: 40px;}
.nav_list>li>a, .nav_list>li>.sub_btn{}
.hamburger .txt_menu{display: block;font-size: 14px;color:#fff;font-weight: 500;position: relative;top: -2px;}
.h_right nav .item_bottom_menu{width: 100%;max-width: 1094px;margin: 40px auto 0 auto;display: flex;}
.h_right nav .item_bottom_menu .open1{font-size: 14px}
.h_right nav .item_bottom_menu .loction{flex-direction: column;align-items: flex-start;margin-bottom: 22px;}
.h_right nav .item_bottom_menu .menu_l{margin-right: 0px;padding-top: 16px;}
.h_right nav .item_bottom_menu .menu_l .h_contact_tel{margin-bottom: 46px}
.h_right nav .item_bottom_menu .menu_l,.h_right nav .item_bottom_menu .menu_r{width: calc((100% - 80px) / 2);}
.h_right nav .item_bottom_menu .address{margin-bottom: 5px}
.h_right nav .item_bottom_menu .table_time{margin-bottom: 6px}
.h_right nav .item_bottom_menu .open1{margin-bottom: 4px}
.open span{font-size: 13px}
.txt_open{display: flex;justify-content: space-between;font-size: 14px;font-weight: 600;letter-spacing: 0;}
.txt_open .txt1{margin-right: 32px;position: relative}
.txt_open .txt1:before{position: absolute;content:"";right: -17px;top: 2px;width: 1px;height: 50px;background: #707070}
.h_right nav .item_bottom_menu .menu_l .h_contact_tel a,.h_right nav .item_bottom_menu .menu_l .h_contact_tel a .txt_small{font-size: 43px;justify-content: flex-start;top: 0;}
/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main{position: relative;z-index: 2;}
.mv{position: relative;padding: 0;width:100%;height: 920px;}
.mv:before{position: absolute;content:"";height: 100%;width: 1920px;background: url(../images/mv.jpg) center /cover no-repeat;left: 0;top: 0}
.mv_bg{position:relative;overflow:hidden;opacity:1;transition:all .3s;}
.mv_bg.init{opacity:1}
.main_slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.mv_bg,
.main_slider .slide_item{width:100%;height:870px}
.main_slider .slide_item .bg{position:absolute;width:100%;height:100%;z-index:0;top:0;left:0;background-size:cover;background-position:center}
.main_slider .slide_item.zoomed .bg{animation-name:zoomImg;animation-duration:6s;animation-timing-function:linear;animation-fill-mode:forwards}

.mv_txt{position:absolute;z-index:2;top: 46.2%;left:24.6%;transform:translate(-50%,-50%);height:auto}
.mv_txt h2{font-size:50px;font-weight:500;font-family: var(--f-ZMGothic);line-height: 1.8em;letter-spacing: 0.4em;webkit-writing-mode: vertical-rl;-moz-writing-mode: vertical-rl;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;-webkit-text-orientation: upright;-moz-text-orientation: upright;-ms-text-orientation: upright;text-orientation: upright;}
.mv_txt h2 .txt_big{position: relative;margin-bottom: 0;font-size: 50px;font-weight: 500;line-height: 1.8em;letter-spacing: 0.4em;}
.mv_txt h2 .txt_big:not(.big2):before{position: absolute;left: -6px;top: -8px;width: 1px;height: calc(100%  - 148px);background: #242424;content:""}
.mv_txt h2 .txt_big.big3:before{right: 5px;left: initial;height: calc(100% - 14px);}
@keyframes zoomImg { 0%{transform:scale(1.2)} 100%{transform:scale(1.0)}}
.msk-set {
    overflow: hidden;
    overflow-y: hidden;
}
.active .msk {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.msk {
    -webkit-transform: translateY(150%);
    transform: translateY(150%);
    transition: -webkit-transform 1.2s cubic-bezier(.25,.82,.355,1);
    -webkit-transition: -webkit-transform 1.2s cubic-bezier(.25,.82,.355,1);
    transition: transform 1.2s cubic-bezier(.25,.82,.355,1);
    transition: transform 1.2s cubic-bezier(.25,.82,.355,1), -webkit-transform 1.2s cubic-bezier(.25,.82,.355,1);
}
.active .delay-02 {
    -webkit-transition-delay: .1s;
    transition-delay: .1s;
}
.active .delay-02 {
    -webkit-transition-delay: .2s;
    transition-delay: .2s;
}
/*==========================================================
                M A I N    C O N T E N T
==========================================================*/
/* DEFAULT TITLE */
.ttl{}
.ttl span{display: block;}
.ttl .ja{font-size: 40px;font-family: var(--f-ZMGothic);letter-spacing: 0.15em;font-weight: 500}
.ttl .en{font-size: 20px;font-family: var(--f-Outfit);letter-spacing:0.1em;color:var(--mcolor);position: relative;margin-bottom: 17px;text-transform:uppercase;letter-spacing: 0.1em;margin-bottom: 0}
/* DEFAUTL NAME BUTTON */
.btn a{width: 340px;height: 50px;border-radius: 999px;display: flex;justify-content: center;align-items: center;background: url('../images/ic-right.svg') no-repeat right 20px center /23px var(--scolor);font-size: 16px;color: #fff;text-decoration: none;position: relative;letter-spacing: 0;font-weight: 500}
.btn.center a{margin-left: auto; margin-right: auto;}
.tt-en{font-size: 235px;letter-spacing: 0.1em;text-transform: capitalize;color:#EFEDE8;font-family: var(--f-en2);}
section{padding: 40px 0;}

/*==================== SEC01 ===================*/
.sec01{padding: 100px 0 0px 0;}
.sec01 .ttl{margin-bottom: 17px;}
.sec01 .inner{background: var(--bg);border-radius:5px;padding: 53px 50px 53px 50px;display: flex;justify-content: space-between;align-items: center;}
.info_new dl{position: relative;display: flex;margin-bottom: 22px;}
.info_new dl dt,.info_new dl dd{letter-spacing: 0;color: #707070}
.info_new dl dt{=: 150px;margin-right: 30px;width: 80px;}
.info_new dl dd .name{text-decoration: underline;overflow: hidden;text-overflow: ellipsis;-webkit-line-clamp:1;display: -webkit-box;-webkit-box-orient: vertical;letter-spacing: 0;padding-right: 50px;}
.info_new dl dd{position: relative;width: calc(100% - 80px)}
.info_new dl dd .name:before{right: 0;top: calc(50% - 2px);background: url(../images/ic_row1.svg) center /cover no-repeat;width: 25px;height: 5px;transition: 0.3s all ease;}
.info_new dl:last-child{margin-bottom: 0}

/*==================== SEC02 ===================*/

/*==================== SEC03 ===================*/
.sec03{padding: 144px 0 126px 0;background: var(--bg);margin:220px 0 0;position: relative}
.sec03 .tt-en{position: absolute;left: 0;top: -180px;}
.sec03 .ttl{line-height: 1.2em;}
.sec03 .ttl .ja{color: var(--scolor)}
.sec03 .ttl .ja .blue{display: inline;color: var(--mcolor);font-size: 60px;}
.sec03 .l_sec03{display: flex;justify-content: center;margin-bottom: 122px}
.sec03 .list_sec03{display: flex;justify-content: space-between;flex-wrap: wrap;margin-bottom: 15px;}
.sec03 .list_sec03 li{width: calc((100% - 209px) / 3);margin-bottom: 62px;position: relative}
.sec03 .list_sec03 li .img{margin-bottom: 16px;position: relative;}
.sec03 .list_sec03 li .txt_small{font-size: 40px;color:var(--mcolor);font-family: var(--f-ZMGothic);-webkit-writing-mode: vertical-rl;-moz-writing-mode: vertical-rl;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;-webkit-text-orientation: upright;-moz-text-orientation: upright;-ms-text-orientation: upright;text-orientation: upright;position: absolute;top: 0;right: 0;line-height: 1.75em;letter-spacing: 0.2em;background: rgb(255,255,255,80%);width: 70px;height: 160px;border-radius: 0 0 0 20px;display: flex;text-align: center;padding-top: 6px;}
.sec03 .list_sec03 li .txt_small .num{writing-mode: horizontal-tb;font-size: 75%;text-align: center;line-height: 1.6em;letter-spacing: 0;}
.sec03 .list_sec03 li .name{padding: 0 5px;letter-spacing: 0;text-align: center;color: #544423;font-weight: 500;font-size: 20px;}
.sec03 .desc{margin-bottom: 0;}
.sec03 .btn a{margin: 0 auto}

/*==================== SEC04 ===================*/
.sec04{padding: 50px 0 63px 0;position: relative}
.sec04:before{top: 215px;height: calc(100% - 215px);left: 0;z-index: -1;background: var(--bg);width: 100%;position: absolute;content:""}

.sec04 .tt-en{text-align: right;margin-left: auto;display: block;margin-right: 0;margin-bottom: 10px;}
.sec04 .ttl{text-align: center;margin-bottom: 78px;}

.sec04 .r_sec04{}
.sec04 .list_sec04{display: flex;justify-content: space-between;flex-wrap: wrap;}
.sec04 .list_sec04 li{margin-bottom: 120px;position: relative;display: flex;justify-content: space-between;align-items: center;}
.sec04 .list_sec04 li .info_sec04{width: 642px;background: var(--bg);border-radius: 5px;padding: 105px 70px 80px 70px;position: relative;z-index: 2;height: 603px;}
.sec04 .list_sec04 li .img{margin-bottom: 0;position: relative;}
.sec04 .list_sec04 li .num{color: var(--mcolor);font-size: 100px;letter-spacing: 0;position: relative;text-align: center;display: block;margin-bottom: 52px;font-family: var(--f-ZMGothic);}
.sec04 .list_sec04 li .name{font-family: var(--f-ZMGothic);letter-spacing: 0.15em;color:var(--txt);line-height: 1.8em;font-size: 30px;margin-bottom: 83px;position: relative;text-align: center;font-weight: 500;}
.sec04 .list_sec04 li .name:before{width: 100px;height: 1px;background: #B8B8B8;bottom: -41px;left: 0;right: 0;margin: 0 auto;}
.sec04 .list_sec04 li.row-reverse{flex-direction: row-reverse;}
.sec04 .list_sec04 li:last-child{margin-bottom: 0}
.sec04 .list_sec04{margin-bottom: 80px}
.sec04 .btn a{margin: 0 auto}
/*==================== SEC05 ===================*/

.sec05{background: var(--bg);padding: 120px 0 67px 0;position: relative;margin: 218px 0 65px 0;}
.sec05 .tt-en{position: absolute;left: 0;top: -155px;}
.sec05 .desc{position: relative;}
.sec05 .ttl{margin-bottom: 82px;text-align: center;}
.sec05 .desc{line-height: 1.6em;margin-bottom: 48px;}
.sec05 .ttl .en{letter-spacing: 0.1em}
.sec05 .ttl .en:before{background: #fff}

.sec05 .info_sec05_1{position: relative;margin: 0px 0 50px 0;}
.sec05 .info_sec05_2{position: relative;}
.sec05 .list_sec05{display:flex;justify-content: space-between;position: relative;flex-wrap: wrap;}
.sec05 .list_sec05 .item{width: calc((100% - 90px) / 3);background: #fff;border-radius: 5px;padding: 20px;position: relative;transition: 0.3s all ease;box-shadow: 0 5px 10px #EBEBEB;position: relative}


.sec05 .list_sec05 .item .name{font-size: 23px;font-weight: 500;letter-spacing: 0.1em;font-family: var(--f-ZMGothic);padding: 0 0 17px 50px;margin-bottom: 18px;position: relative;text-align: left;}
.sec05 .list_sec05 .item .name:before{height:1px;background: var(--mcolor);bottom: 0;left: 0;right: 0;margin: 0 auto;}
.sec05 .list_sec05 .item .name:after{position: absolute;content:"";width: 35px;height: auto;left: 0;top: calc(50% - 26px);aspect-ratio: 57 / 56;}
.sec05 .list_sec05 .item1 .name:after{background: url(../images/ic_1.png) center /cover no-repeat}
.sec05 .list_sec05 .item2 .name:after{background: url(../images/ic_2.png) center /cover no-repeat}
.sec05 .list_sec05 .item3 .name:after{background: url(../images/ic_3.png) center /cover no-repeat}
.sec05 .list_sec05 .item4 .name:after{background: url(../images/ic_4.png) center /cover no-repeat}
.sec05 .list_sec05 .item5 .name:after{background: url(../images/ic_5.png) center /cover no-repeat}
.sec05 .list_sec05 .item6 .name:after{background: url(../images/ic_6.png) center /cover no-repeat}
.sec05 .list_sec05 .item7 .name:after{background: url(../images/ic_7.png) center /cover no-repeat}
.sec05 .list_sec05 .item8 .name:after{background: url(../images/ic_8.png) center /cover no-repeat}
.sec05 .list_sec05 .item9 .name:after{background: url(../images/ic_9.png) center /cover no-repeat}
.sec05 .list_sec05 .item:after{width: 41px;height: 8px;background: url(../images/ic_row2.svg) center /cover no-repeat;right: 20px;bottom: 20px;}
.sec05 .list_sec05 .item .desc{color:var(--txt);line-height: 1.8em;margin-bottom: 0;}
.sec05 .info_sec05_2 .list_sec05 .item{padding: 20px;width: calc((100% - 90px) / 3);margin-bottom: 52px;}
.sec05 .info_sec05_2 .item img{border-radius: 5px}
.sec05 .info_sec05_2 .item .name:before{width: 100%;}
.sec05 .info_sec05_2 .item .desc{position: relative;}

.sec05 .list_sec05 .slick-list{margin: 0 -10px}
.sec05 .slick-prev,.sec05 .slick-next{width: 65px;height: 50px;top: -48%;}
.sec05 .slick-prev{background: url(../images/next.svg) center /cover no-repeat;right: 85px;left: initial;}
.sec05 .slick-next{background: url(../images/prev.svg) center /cover no-repeat;right: 1px;}
.sec05 .slick-prev::before,.sec05 .slick-next::before{display: none}


/*==================== SEC06 ===================*/
.sec06{padding: 35px 0;position: relative;}
.sec06 .inner{width: 100%;margin: 0 auto;max-width: 1110px;padding: 58px 155px 40px 155px;position: relative;border-radius: 5px;position: relative;transition: 0.3s all ease;}
.sec06 .ttl{border-bottom: 1px solid #F4F4F5;padding-bottom: 28px;margin-bottom: 17px;position: relative;}
.sec06 .ttl:before{width:66px;height: 13px;background: url(../images/ic_row3.svg) center /cover no-repeat;right: 0;top: 22px;}
.sec06 .ttl,.sec06 .ttl .ja,.sec06 .desc{color:#fff}
.sec06 .ttl .ja{font-size: 35px}
.sec06 .inner:before{height: 278px;width: 100%;left: 0;top: 0;background: url(../images/bg_sec06.jpg) center /cover no-repeat;z-index: -1}

/*==================== SEC07 ===================*/
.sec07{padding: 104px 0 114px 0;margin: 259px 0 65px 0;position: relative;}
.sec07:before{background: var(--bg);width: 1560px;right: 0;height: 100%;position: absolute;content:"";top: 0}
.sec07 .tt-en{position: absolute;right: 25px;top: -180px;letter-spacing: 0.02em;}
.sec07 .ttl{text-align: center;margin-bottom: 46px}
.sec07 .tt_desc{margin-bottom: 88px;max-width: 850px;margin: 0 auto 46px auto;}
.sec07 ul.info_news2{display: flex;justify-content: center;flex-wrap: wrap;max-width: 900px;margin: 0 auto;margin-bottom: 30px;}
.sec07 ul.info_news2 li{margin-right: 60px;position: relative;width: calc((100% - 61px) / 2);margin-bottom: 30px;background:#fff;border-radius:5px;padding: 37px 33px 36px 33px;transition: 0.3s all ease}
.sec07 ul.info_news2 li:nth-child(2n+2){margin-right: 0}
.sec07 ul.info_news2 li .name{font-size: 18px;font-family: var(--f-nts);letter-spacing: 0;padding-bottom: 14px;margin-bottom: 15px;border-bottom:1px solid var(--mcolor);position: relative;padding-right: 50px;font-weight: 500}
.sec07 ul.info_news2 li .name span{overflow: hidden;text-overflow: ellipsis;-webkit-line-clamp:1;display: -webkit-box;-webkit-box-orient: vertical;}
.sec07 ul.info_news2 li .name:after{width: 41px;height: 8px;background: url(../images/ic_row2.svg) center / cover no-repeat;right: 0;bottom: 30px;}
.sec07 ul.info_news2 li .desc{margin-bottom: 0;overflow: hidden;text-overflow: ellipsis;-webkit-line-clamp: 3;display: -webkit-box;-webkit-box-orient: vertical;}
.sec07 .btn{margin:21px auto}
.sec07 .btn a{margin:0 auto}


/*==================== SEC08 ===================*/
.sec08{padding: 0px 0 111px 0;}
.sec08 .tt-en{display:block;}
.sec08 .ttl{text-align: center;margin: -140px 0 70px 0;}
.sec08 dl{padding: 26px 33px 26px 33px;border-radius: 5px;background: var(--bg);=: 40px;transition: 0.3s all ease;position:relative;max-width: 870px;margin: 0 auto 40px auto;}
.sec08 dl dt{font-size: 18px;letter-spacing: 0;padding-bottom: 16px;margin-bottom: 16px;position: relative;display: flex;padding-right: 100px;font-weight: 500;}
.sec08 dl dt:before{border-bottom:1px solid #CBC8C2;bottom: 0;left: 0;width: calc(100% - 8px);}
.sec08 dl dt:after{width: 41px;height: 8px;background: url(../images/ic_row2.svg) center / cover no-repeat;right: 7px;bottom: 25px;}
.sec08 dl dt .name{overflow: hidden;text-overflow: ellipsis;-webkit-line-clamp: 1;display: -webkit-box;-webkit-box-orient: vertical;}
.sec08 dl dt .date{font-family: var(--font-main);font-size: 16px;color:#707070;margin-left: 20px;font-weight: 400;}
.sec08 dl dd .desc{overflow: hidden;text-overflow: ellipsis;-webkit-line-clamp: 2;display: -webkit-box;-webkit-box-orient: vertical;}
.sec08 .btn{margin: 80px 0 0 0;}
.sec08 .btn a{margin: 0 auto}

/*==================== SEC09 ===================*/
.sec09{position: relative;padding: 40px 0 130px 0;margin: 133px 0 65px 0;}
.sec09 .tt-en{position: absolute;right: 0;top: -145px;z-index: 2;}
.sec09 .l_staff{padding: 197px 0 90px 0;}
.sec09 .r_staff{padding: 312px 0 14px 0;}
.sec09 .ttl{margin-bottom: 58px;}
.sec09 .ttl .en:before{background: #fff}
.sec09 .l_staff:before{background: var(--scolor);width: 1058px;left: calc(50% - 685px);top: 0;height: 100%;z-index: -1;border-radius: 0 10px 10px 0;}
.sec09 .r_staff:after{background: var(--bg);width: 959px;right: calc(50% - 584px);top: 115px;height: calc(100% - 31px);z-index: -2;border-radius: 20px 0 0 20px;}
.sec09 .list_staff{justify-content: space-between;}
.sec09 .list_staff .l_staff{margin-right: 0;width: 650px}
.sec09 .ttl,.sec09 .ttl .ja,.sec09 .ttl,.sec09 .ttl .en{color: #fff}
.sec09 .name-tt{font-size: 30px;color:#fff;letter-spacing: 0.1em;line-height: 1.4em;font-family: var(--f-ZMGothic);margin-bottom: 86px;font-weight: 500;}
.sec09 .img img{border-radius: 7px}
.sec09 .list_sec09{display: flex;margin: 45px 0 40px 0;}
.sec09 .list_sec09 li{color:#fff;position: relative;font-size: 25px;letter-spacing: 0;padding-bottom: 0px;margin-bottom: 12px;padding-left: 37px;}
.sec09 .list_sec09 li:before{width: 15px;height: 18px;background: url(../images/ic_check.svg) center /cover no-repeat;left: 10px;top: 15px}
.sec09 .list_sec09 li:after{border-bottom: 1px solid #F4F4F5;width: 100%;left: 0;bottom: 0}
.sec09 .list_staff .r_staff ul li.txt_big{margin-bottom: 7px;font-family: var(--f-nts);font-weight: 500;}

.sec09 .list_sec09 li.item1{margin-right: 77px}
.sec09 .list_sec09 li.item1:after{width: calc(100% + 30px);}
.sec09 .list_sec09 li.item2:before{left: 4px}
.sec09 .desc_index p{color: #fff;line-height: 2.4em;}
.sec09 .desc_index .desc1{margin-bottom: 41px;}
.sec09 .btn a{width: 360px;margin: 0 auto;background:url(../images/ic-right2.svg) no-repeat right 20px center / 23px #fff;color: var(--scolor);}
.sec09 .info_sec09{padding-right: 40px;}
.sec09 .btn{margin: 61px 10px 0 0;}
.sec09 .btn a{padding-left:5px}
.sec09 .img{position: relative;width: 100%;max-width: 600px;}
.sec09 .list_staff .name_staff{background: #fff;width: 114px;height: 313px;position: absolute;top: 0;right: 0;margin: 0;display: flex;align-items: center;flex-direction: column;justify-content: center;border-radius: 0 0 0 20px;z-index: 2;}
.sec09 .list_staff .name_staff .txt_ja .small{margin: 4px 0 14px 0;font-size: 45%;letter-spacing: 0.5em;font-family: var(--f-nts);}
.sec09 .list_staff .name_staff .txt_ja{font-size: 45px;letter-spacing: 0.38em;line-height: 1.2em;position: relative;top: 4px;font-family: var(--f-nts);}
.sec09 .txt_en{margin-top: 43px;}
.sec09 .list_staff .name_staff .txt_en{font-size: 18px;}
.sec09 .info_txt{position: absolute;top: 26%;height: 171px;display: flex;align-items: center;justify-content: center;font-size: 35px;font-weight: 500;background: rgb(123,123,123,73%);width: 100%;color: #fff;letter-spacing: 0.15em;}

/*==================== SEC10 ===================*/
.sec10{padding: 102px 0;position: relative;background: var(--bg);margin: 234px 0 0 0}
.sec10 .tt-en{position: absolute;left: 0;top: -185px;z-index: 2;}
.sec10 .ttl .ja{color: var(--mcolor);font-size: 30px;text-align: center;margin-bottom: 9px;}
.sec10 .tt-name{text-align: center;font-size: 30px;font-family: var(--f-nts);letter-spacing: 0;margin-bottom: 45px;}
.sec10 .tt-name span{position: relative;padding-left: 30px;}
.sec10 .tt-name span:before{width: 26px;height: 26px;top: 11px;left: 0;background: url(../images/ic_ins.png) center /cover no-repeat}


.sec11{min-height:650px;position:relative;margin: 106px 0 42px 0;}
.sec11:before{position: absolute;content:"";left: 0;top: 0;background: url(../images/bg_sec11.jpg) center /cover no-repeat;width: 1920px;height: 100%}

.sec12{padding: 80px 0}
.sec12 .ttl{text-align: center}
.sec12 .tt-en{position: relative;text-align: center;font-size: 199px;line-height: 1em;}

.schedule{margin: 50px 0}
.xo-event-calendar table.xo-month tr th,.xo-event-calendar table.xo-month .calendar-caption{font-size: 15px}
.sec12 .schedule .holiday-titles {
  display: flex;
  gap: 20px;
}
.sec12 .schedule td:has(.today) {
  text-align: right;
}
.sec12 .schedule .today {
  display: inline-block;
  width: 34px;
  height: 34px !important;
  padding: 4px im;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #F1A2B6 !important;
  color: #000;
  margin-left: auto;
  margin-right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec12 .schedule .holiday-title{font-size: 14px}
.sec12 .schedule .xo-event-calendar table.xo-month .month-dayname td div{line-height: 1.5em}

/*ALL PAGE*/
.list_staff{display: flex;margin-bottom: 100px}
.list_staff:last-child{margin-bottom: 0}
.list_staff .l_staff{width: 600px;margin-right: 79px;position: relative;}
.list_staff .r_staff{width: 451px;position: relative;}
.list_staff .r_staff ul{padding-left: 27px;margin-bottom: 30px;position: relative}
.list_staff .r_staff ul:before{position: absolute;content:"";left: 0;top: 16px;height: calc(100% - 16px);width: 2px;background: var(--mcolor)}
.list_staff .r_staff ul li{position: relative;letter-spacing: 0}
.list_staff .r_staff ul li:before{position: absolute;content:"";left: -25px;width: 15px;height: 1px;background: var(--mcolor);top: 13px;}
.list_staff .r_staff ul li.txt_big{color: var(--mcolor);font-size: 20px;font-family: var(--f-ZMGothic);padding-left: 14px;font-weight: bold;}
.list_staff .r_staff ul li.txt_big:before{height: 2px;width: 30px;top: 16px;}
.list_staff .name_staff{text-align: right;margin: 54px 33% 0 0;}
.list_staff .name_staff p{margin-bottom: 0}
.list_staff .name_staff .txt_en{font-size: 22px;font-family: var(--f-Outfit);letter-spacing: 0.1em;color:var(--mcolor);line-height: 1.5em;}
.list_staff .name_staff .txt_ja{font-size: 40px;font-family: var(--f-ZMGothic);letter-spacing: 0.03em;line-height: 1.7em;font-weight: 500;}
.list_staff .name_staff .txt_ja .small{font-size: 64%;margin-right: 20px;font-weight: 500;}


.sec01 .inner:after,.info_new dl dd .name:before,.sec02 .inner:after,.loction .map a:before,.sec04 .list_sec04 li .name:before,.sec05 .info_sec05_1:before,.sec05 .info_sec05_1 h4:before,.sec05 .list_sec05 .item:after,.sec05 .list_sec05 .item .name:before,.sec05 .info_sec05_2 .item:after,.sec06 .inner:before,.sec06 .ttl:before,.sec07 ul.info_news2 li .name:after,.sec08 dl dt:before,.sec08 dl dt:after,.sec10 .tt-name span:before,.sec09 .l_staff:before,.sec09 .l_staff:after,.sec09 .r_staff:after,.sec09 .list_sec09 li:before,.sec09 .list_sec09 li:after{position: absolute;content:""}
.hover_full{position: absolute;left: 0;top: 0;width: 100%;height: 100%;z-index:2}
.desc{letter-spacing: 0}
.loction{display: flex;letter-spacing: 0;justify-content: space-between;align-items: center;margin-bottom: 12px;}
.loction p{letter-spacing: 0;margin-bottom: 0px;}
.loction .map{font-size: 18px;position: relative;top: 2px;}
.loction .map a{padding-left: 25px;position: relative;left: 0px;letter-spacing: 0;}
.loction .map a:before{background: url(../images/ic_map.png) center /cover no-repeat;width: 23px;height: 31px;left: 0;top: 0px;}
.open{margin-bottom: 14px;letter-spacing: 0;}
.location_bus{letter-spacing: 0;margin-bottom: 21px;line-height: 1.6em;}
.txt_ver_en{  -webkit-writing-mode: vertical-rl;-moz-writing-mode: vertical-rl;-ms-writing-mode: tb-rl;writing-mode: vertical-rl;-webkit-text-orientation: mixed;-moz-text-orientation: mixed;-ms-text-orientation: mixed;text-orientation: mixed;}
/*==========================================================
                        F O O T E R
==========================================================*/
footer .ft_top{position: relative;z-index: 3;padding: 118px 0 118px 0;margin: 0 auto}
footer .ft_bottom{background-color: var(--scolor);position: relative;z-index: 3;padding: 118px 0 14px 0;}
footer .ft_bottom .banner_ft{position: absolute;right: 0;top: -112px;}
footer .ft_top .h_contact_tel a{width: 500px;font-size: 43px;height: 80px;font-weight: 500;background: #fff;color: var(--txt);}
footer .h_contact_tel a .txt_small{font-size: 43px;top: 0;}
footer .ft_top .h_contact_tel{margin-bottom: 20px;}
footer .ft_top .ft_info_logo{margin-bottom: 79px;}
footer .ft_top .table_time{margin-bottom: 12px}
footer .seo_bt{color: #fff;padding: 30px 0;}
footer .seo_bt p{font-size: 14px;font-weight: 300;line-height: 2.1em;}

/* FOOTER INFORMATION */
.ft_info{width: 50%;padding-right: 30px;padding-top: 13px;}
.ft_info_tel a{font-size: 28px;color: #332829;font-weight: bold;padding-left: 25px;position: relative;line-height: 1;display: block;}
.ft_top .info_top{display: flex;justify-content: space-between;}
.ft_map{width: 50%;}
.ft_map_iframe{width: 100%;height: 317px;margin-bottom: 15px;}
.ft_map_iframe iframe{width: 100%;height: 100%;border:none;outline:none;margin-bottom: 12px;}
.ft_map .loction .map{top: 2}
/* FOOTER LINK */
.ft_link{
    padding-right: 328px;
}
.ft_link .inner{display: flex;justify-content: center}
.ft_link ul:not(:last-child){margin-right: 107px;}
.ft_link ul li.big{}
.ft_link ul li.big p,.ft_link ul li.big a{font-size:20px;font-weight: 500;color:#fff;border-bottom: 1px solid #fff;display: inline-block;padding-bottom: 0px;margin-bottom: 15px;line-height: 1.75em;letter-spacing: 0.087em;}

.ft_link ul li{
    margin-bottom: 16px;
}
.ft_link ul li > a{position: relative;color: #fff;}

address{text-align:center;color:#fff;font-size: 14px;font-family: var(--f-ZMGothic);letter-spacing: 0.087em}

/* BACK TO TOP */
.to_top{position:fixed;z-index:9;width:80px;height:80px;bottom:70px;right:20px;cursor:pointer;transition: 0.3s all ease;opacity:0;visibility:hidden}
.to_top.show{transform:scale(1);opacity:1;visibility:visible;bottom: 40px;}
/* FIREFOX ONLY */
@-moz-document url-prefix() {

}

/*スタッフ紹介画像*/
.staff{
    width: 50%;
    display: block;
    margin: 0 auto;
}

/*xo-event-calendar*/
.xo-event-calendar .month-event-title.category-none {
  color: #F1A2B6 !important;              
  background-color: #f0f0f0 !important; /* 背景色：明るいグレー */
  font-weight: bold;
  padding: 2px 4px;
  border-radius: 4px;
}

/* カレンダーのイベントリンクを無効化（クリック不可） */
.xo-event-calendar .month-event a {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: inherit !important;
}


