@charset "utf-8";
/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2013/5/10
 */


/*------------------------index.php------------------------*/

/* =========================================================
   2026 Love-Ribbon inspired color theme (PC + Mobile unified)
   NOTE: Layout/structure/sizes untouched; colors/gradients only.
   ========================================================= */
:root{
  --lr-bg: #F6F2FF;              /* soft lavender mist */
  --lr-bg2:#EDE7FF;
  --lr-primary:#BACEFF;          /* main lavender */
  --lr-primary2:#89AEFF;         /* deeper lavender */
  --lr-primary3:#91B3FF;         /* accent lavender */
  --lr-accent:#89AEFF;           /* soft pink */
  --lr-accent2:#91B3FF;          /* light pink */
  --lr-text:#3A2A5E;             /* ink */
  --nav-text:#ffffff;             /*nav ink */
  --lr-muted:rgba(58,42,94,.72);

  --lr-line:rgba(175,164,241,.55);
  --lr-line2:rgba(255,255,255,.35);

  --lr-surface:rgba(255,255,255,.78);
  --lr-surface2:rgba(255,255,255,.92);

  --lr-glow: 0 0 12px rgba(255,255,255,.95),
             0 0 24px rgba(255,255,255,.55);
  --lr-glow-soft: 0 0 10px rgba(255,255,255,.75);
}


.card{
    text-align: center;
    margin-top: 10px;
}
.tit{
    text-align: center;
}

.panel {
    border-radius: 0px;
    margin-bottom: 2rem;
}

.panel > .panel-heading {
    border: none;
    border-radius: 0px;
    background-color: transparent;
    background-position: center bottom;
    padding: 0 0 20px;
}

.panel > .panel-heading .panel-title {
    color: var(--lr-accent);
    text-shadow: var(--lr-glow);
}

.panel .panel-heading .panel-title, #main-nav .nav .item a {
    font-family: "Playfair Display", serif;
}

.panel > .panel-heading .panel-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    text-transform: uppercase;
    text-align: center;
    padding: 20px 0;
}

.panel > .panel-heading .panel-title span {
    line-height: 1;
}

.panel > .panel-heading .panel-title small {
    font-size: 13px;
    font-weight: normal;
    letter-spacing: 0;
    font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}

.panel > .panel-heading::after {
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    z-index: 1;
    background-color: var(--lr-line);
    background: -moz-linear-gradient(left, rgba(175,164,241,0) 0%, rgba(175,164,241,.95) 50%, rgba(175,164,241,0) 100%);
    background: -webkit-linear-gradient(left, rgba(175,164,241,0) 0%, rgba(175,164,241,.95) 50%, rgba(175,164,241,0) 100%);
    background: linear-gradient(to right, rgba(175,164,241,0) 0%, rgba(175,164,241,.95) 50%, rgba(175,164,241,0) 100%);
}


.flbox{
    margin-top: 10px;
}
.flbox .leftbox{
    float: left;
    width: 245px;
    text-align: center;
}

.flbox .rightbox{
    float: right;
    width: 507px;
}
.flbox .pick-up-box{
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.pick-up-box .container{
    border: 1px solid var(--lr-line);
    padding: 10PX 10PX;
    margin: 10px 3px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.top .news-box{
    border: 1px solid var(--lr-line);
    margin: 10px 3px 0;
    background-color: var(--lr-primary);
    background-image: linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 45%, rgba(255,198,227,.18) 100%);
    background-repeat: repeat, repeat;
    background-position: center, top center;
    height: 348px;
    overflow-y: scroll;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.top .news-box .time{
    font-size: 14px;
    color: #ffffff;
    font-weight: bold;
    text-shadow: var(--lr-glow-soft);
}
.top .news-box .new-tit{
    padding: 0.4rem 1rem;
    border-left: 6px double var(--lr-text);
    background: var(--lr-surface2);
}
.top .news-box .txt{
	margin-top:5px;
    font-size: 14px;
    line-height: 1.5;
}
.news-box-cont+.news-box-cont{
    margin-top: 30px;
}
.news-box-cont .box{
    margin-top: 10px;
    font-size: 16px;
    border: 1px solid var(--lr-line);
}
.news-box-cont .box-tit{
    background: var(--lr-primary2);
    padding: 10px 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.box-txt01{
    color: #fff;
    padding: 10px 0 0;
    font-size: 14px;
    padding-left: 10px;
}
.box-txt02{
    font-size: 14px;
    padding-left: 10px;
    color: #ffffff;
    padding-bottom: 10px;
}

.top-event{ margin-top:15px;}

.index-tel{
	display: flex;
    flex-direction: column;   /* 纵向排列 */
    align-items: center;      /* 整体水平居中 */
    justify-content: center;
    position: absolute;
    left: 50%;                /* 配合 transform 真正居中 */
    transform: translateX(-50%);
    margin-top: -100px;
    z-index: 10;
    width: 100%;
}

#spheader .header-info {
    display: flex;
    justify-content: center;
    align-self: center;
    flex-wrap: wrap;
    font-size: .875rem;
    width: 70%;
    background: hsla(0,0%,100%,.8);
    border: 2px solid var(--lr-accent);
    border-radius: 30px;
    box-shadow: 0 10px 25px rgba(60,40,120,.10);
    margin: 0 auto;
    padding: 4px 0;
}


#spheader .header-info li {
    display: inline-block;
    color: var(--lr-accent);
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
}

#spheader .head-address {
	display: flex;
	flex-wrap: wrap;
    margin: 10px auto 0;
    text-align: center;
    background: linear-gradient(90deg, var(--lr-primary2), var(--lr-accent));
    border-radius: 15px;
    padding: 3px 10px !important;
    color: #fcf8f8;
    font-size: .875rem;
	
	justify-content: center;
    width: fit-content;
    max-width: 90%;
}


@media screen and (max-width: 767px) {
    .sp-pick-up-box .container{
        padding: 10px 0 0;
    }
    .sp-pick-up-box .slick-slide{
        padding: 0 2px;
    }
    .flbox{
        margin-top: 10px;
    }
    .flbox .leftbox{
        float: none;
        display: none;
    }
    .flbox .rightbox{
        float: none;
        width: 100%;
    }
    .flbox .pick-up-box{
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .pick-up-box .container{
        border: 1px solid var(--lr-line);
        padding: 10PX 10PX;
        margin: 10px 3px 0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .top .news-box{
        border: 1px solid var(--lr-line);
        margin: 10px 3px 0;
        background-color: var(--lr-primary);
		background-image: linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 45%, rgba(255,198,227,.18) 100%);
		background-repeat: repeat, repeat;
		background-position: center, top center;
        height: 348px;
        overflow-y: scroll;
        padding: 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .top .news-box .time{
        font-size: 14px;
        color: #ffffff;
        font-weight: bold;
        text-shadow: var(--lr-glow-soft);
    }
    .top .news-box .new-tit{
        
    }
 
    .news-box-cont+.news-box-cont{
        margin-top: 30px;
    }
    .news-box-cont .box{
        margin-top: 10px;
        font-size: 16px;
        border: 1px solid var(--lr-line);
    }
    .news-box-cont .box-tit{
        background: var(--lr-primary2);
        padding: 10px 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .box-txt01{
        color: #fff;
        padding: 10px 0 0;
        font-size: 14px;
        padding-left: 10px;
    }
    .box-txt02{
        font-size: 14px;
        padding-left: 10px;
        color: #ffffff;
        padding-bottom: 10px;
    }
}
.face{
    margin-top: 26px;
}
.face-slider .slick-slide{
    padding: 0 8px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.face-slider .slick-slide img{
    border: 2px solid var(--lr-line);
}

.top-schedule{
    margin-top: 14px;
}
.top-schedule-box{
    margin: 15px 4px 0;
}
.top-schedule-box ul{
    margin: -20PX 0 0 -15px;
}
.top-schedule-box li{
    float: left;
    width: 25%;
    padding-left: 15px;
    padding-top: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.schedule ul{
    margin: -20PX 0 0 -24px;
}
.schedule li{
    float: left;
    width: 33.33%;
    padding-left: 24px;
    padding-top: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.top-schedule-box .name{
    font-size: 14px;
    text-align: center;
    color: var(--lr-text);
    font-weight: bold;
    height: 32px;
	line-height: 34px;
    background: linear-gradient(
	  180deg,
	  var(--lr-primary) 0%,
	  rgb(from var(--lr-primary) r g b / 0.95) 100%
	);
}
.top-schedule-box .size{
    margin: 3px 0 0;
    font-size: 12px;
    color: #FFF;
    font-weight: bold;
    line-height: 25px;
    background: linear-gradient(
	  180deg,
	  var(--lr-primary3) 0%,
	  rgb(from var(--lr-primary3) r g b / 0.95) 100%
	);
    text-align: center;
}
.top-schedule-box .listtxt{
    border: 1px solid var(--lr-primary3);
    padding: 10px;
    font-size: 12px;
    color: #FFF;
    line-height: 1.7;
    background: var(--lr-primary3);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .top-schedule{
        margin-top: 10px;
    }
    .top-schedule-box{
        margin: 10px 2px 0;
    }
    .top-schedule-box ul{
        margin: -15PX 0 0 -10px;
    }
    .top-schedule-box li{
        float: left;
        width: 50%;
        padding-left: 10px;
        padding-top: 15px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .schedule ul{
        margin: -15PX 0 0 -10px;
    }
    .schedule li{
        float: left;
        width: 50%;
        padding-left: 10px;
        padding-top: 15px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .top-schedule-box .name{
        font-size: 14px;
    }
    .top-schedule-box .size{
        margin: 3px 0 0;
        font-weight: normal;
    }
    .top-schedule-box .listtxt{
        border: 1px solid var(--lr-primary3);
        padding: 10px;
        font-size: 12px;
        color: #FFF;
        line-height: 1.7;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/*------------------------system.php------------------------*/
.system-box{

}
.system .img{
    text-align: center;
}

/*------------------------room.php------------------------*/
.room-box ul{
    margin: -30px 0 0 -30px;
}

.room-box li{
    float: left;
    width: 50%;
    padding-left: 30px;
    padding-top: 30px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.room-box li img{
    border-radius: 10px;
}

.fancybox-close {
    position: absolute;
    top: -22px;
    right: -22px;
    width: 44px;
    height: 44px;
    cursor: pointer;
    z-index: 8040;
    background: url(../images/box-close.png) no-repeat 0 0;
    -webkit-background-size: 100%;
    background-size: 100%;
}
@media screen and (max-width: 767px) {
    .room-box ul{
        margin: -10px 0 0 -10px;
    }

    .room-box li{
        float: left;
        width: 50%;
        padding-left: 10px;
        padding-top: 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .room-box li img{
        border-radius: 10px;
    }
}
/*------------------------staff.php------------------------*/



/*------------------------staff01.php------------------------*/
.box-left{
    width: 320px;
    float: left;
    margin-right: 20px;
}
.staff01-img{
    width: 320px;
    border: 3px solid var(--lr-primary2);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.staff01-img img{
    width: 100%;
}
.staff01-des{
    overflow: hidden;
}
.staff01-des .tablebox-cont+.tablebox-cont{
    margin-top: 15px;
}
.staff01-des .tablebox-cont table{
    width: 100%;
}
.staff01-des .tablebox-cont tr{

}
.staff01-des .tablebox-cont th{
    border: 1px solid var(--lr-line2);
    font-size: 14px;
    width: 40%;
    background: linear-gradient(to right, var(--lr-primary3),var(--lr-primary2));
    padding: 8px 20px;
    color: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.staff01-des .tablebox-cont td{
    border: 1px solid var(--lr-line2);
    font-size: 14px;
    width: 60%;
    padding: 8px 20px;
    background: linear-gradient(to right, var(--lr-primary2),var(--lr-primary3));
    color: #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.staff01-des .tablebox-cont .txt{
    font-size: 14px;
    line-height: 1.8;
}
.staff01-des .tablebox-cont dl{
    display: table;
    width: 100%;
    margin-top: 10px;
}
.staff01-des .tablebox-cont dt{
    display: table-cell;
    text-align: left;
    font-size: 14px;
    width: 40%;
    background: linear-gradient(to right, var(--lr-primary3),var(--lr-primary2));
    padding: 8px 20px;
    border: 1px solid var(--lr-line2);
    border-right: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.staff01-des .tablebox-cont dd{
    display: table-cell;
    text-align: left;
    font-size: 14px;
    width: 60%;
    padding: 8px 20px;
    background: linear-gradient(to right, var(--lr-primary2),var(--lr-primary3));
    color: #fff;
    vertical-align: middle;
    border: 1px solid var(--lr-line2);
}


.ht02 {
	font-size:14px;
    margin: 0 0 15px;
	 padding: 1rem 2rem;
  color: #fff;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--lr-accent)), to(var(--lr-accent2)));
  background-image: -webkit-linear-gradient(left, var(--lr-accent) 0%, var(--lr-accent2) 100%);
  background-image: linear-gradient(to right, var(--lr-accent) 0%, var(--lr-accent2) 100%);
}

}
.imglist{
    margin-top: 10px;
    background: var(--lr-primary2);
    padding: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.imglist .imgtit{
    font-size: 14px;
    padding: 5px 0 10px;
    text-align: center;
    color: #fff;
}

.imglist ul{
    margin-left: -5px;
}
.imglist li{
    float: left;
    width: 25%;
    padding-left: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.imglist li img{
    cursor: pointer;
}
.nav-list03{
    margin: 0 0 10px;
    text-align: center;
}

.staff01-box .slick-slide img{
    margin: 0 auto;
    max-height: 380px;
}
.staff01 .icoimg{
    padding: 10px 0 10px;
}

.slider-nav .slick-slide{
    padding: 0 5px !important;
    margin: 5px 0 0 0;
    -webkit-box-sizing: border-box!important;
    -moz-box-sizing: border-box!important;
    box-sizing: border-box!important;
}
.slick-next::before{
    content: '';
}
.slick-prev::before, .slick-next::before {
    display: none;
}
@media screen and (max-width: 767px) {
    .staff01-des{
        margin-top: 15px;
    }
}


/*------------------------recruit.php------------------------*/
.recruit-in{
    margin-top: 10px;
    border-bottom: 1px solid var(--lr-line2);
}
.recruit-box .ht01{
    margin-bottom: 20px;
}
.recruit-box dl{
    display: table;
    width: 100%;
    border-top: 1px solid var(--lr-line2);
}
.recruit-box dt{
    display: table-cell;
    width: 30%;
    padding: 10px 0;
    font-size: 16px;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    background: linear-gradient(90deg, rgba(137,173,255,1), #89aeff);
    border-left: 1px solid var(--lr-line2);
    border-right: 1px solid var(--lr-line2);
}
.recruit-box dd{
    display: table-cell;
    padding: 10px 0 10px 10px;
    font-size: 14px;
    color: #fff;
    text-align: left;
    vertical-align: middle;
    border-right: 1px solid var(--lr-line2);
    line-height: 2;
}
.recruit-box dd a{
    color: #fff;
}

.link-box{}
.link-box table{
    width: 100%;
}
.link-box td{
    padding: 30px 30px;
    border: 1px solid var(--lr-line);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
/*---------------------------access---------------------*/

.access-box .map{
    margin: 0 auto 20px;
    text-align: center;
}

.access-box01{
    position: relative;
    text-align: center;
    margin-top: 20px;
}
.access-box01 .txt{
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
    padding:0 10px;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
    z-index: 2;
    line-height: 2;
}
.address{
    margin-bottom: 30PX;
}
.address table{
    width: 100%;
    border: 1px solid var(--lr-line2);
    border-collapse: separate;
    border-spacing: 1px;
}
.address th{
    width: 90px;
    border: 1px solid var(--lr-line2);
    padding: 10px 0;
    font-size: 14px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
}
.address td{
    border: 1px solid var(--lr-line2);
    padding: 10px 10px;
    font-size: 14px;
    color: #fff;
}
.map01{
    margin: 0 auto;
    width: 100%;
}
.map01 iframe{
    width: 100%;
    height: 450px;
}

/*------------------------system.php------------------------*/


.panel .panel-body {
    padding: 5px;
    max-width: 1300px;
    margin: 30px auto;
}

.res, .res .gvalue, .res .item {
    border-color: #e6e6e6;
}

.res {
    margin-bottom: 2em;
    background-color: var(--lr-surface);
    border: 1px solid #e6e6e6;
    max-width: 1000px;
    margin: 5px auto;
}

.res .gvalue {
    padding: 1em;
    margin: 0;
    border-bottom: 1px solid #e6e6e6;
    text-align: center;
}

.res .gname {
    background: linear-gradient(90deg, var(--lr-primary2), var(--lr-primary), var(--lr-accent));
    color: #FFF;
}

.res .gname {
    text-align: center;
    background: linear-gradient(90deg, var(--lr-primary2), var(--lr-primary), var(--lr-accent));
    padding: 15px 0;
    font-size: 120%;
    margin: 0;
    color: #FFF;
}

.res .gvalue {
    color: var(--lr-text);
}

.res .item:last-child {
    border-bottom: none;
}

.res, .res .gvalue, .res .item {
    border-color: #e6e6e6;
}

.res .item {
    display: table;
    align-items: center;
    border-bottom: 1px solid #e6e6e6;
    width: 100%;
}

.res .item .name {
    color: var(--lr-text);
    background-color: var(--lr-surface2);
}

.res .item .name {
    width: 30%;
    padding: 1em;
    color: var(--lr-text);
    font-weight: bold;
	font-size:1.3em;
    display: table-cell;
    background-color: var(--lr-surface2);
    vertical-align: middle;
    text-align: center;
}

.res .item .value {
    color: var(--lr-text);
}


.res .item .value {
    padding: 1em;
	font-size:1.3em;
	font-weight: bold;
    width: 35%;
    display: table-cell;
    text-align: center;
}


.res .item .value2 {
    padding: 1em;
	font-size:1.3em;
	font-weight: bold;
    width: 35%;
    display: table-cell;
    text-align: center;
}



.caution .item .value {
    text-align: left !important;
}


@media screen and (max-width: 767px) {
    .map01{
        margin: 0 auto;
        width: 100%;
        height: auto;
    }
    .map01 iframe{
        width: 100%;
        height: 320px;
    }
    .recruit-box dt{
        font-size: 14px;
    }
    .recruit-box dd{
        font-size: 12px;
    }
    .access-box01{
        position: relative;
        text-align: center;
        margin-top: 10px;
    }
    .access-box01 .txt{
        font-size: 18px;
    }
}


@media screen and (max-width: 767px) {
    .access-box .map{
        margin: 0 auto 10px;
    }
    .access-box .address{
        margin-top: 15px;
        font-size: 16px;
    }
    .access-box .tel{
        font-size: 16px;
    }
    .access-box .tel a{
        display: block;
        font-size: 24px;
    }
}















/***PC 960px ~***/

/***IPAD 768px ~ 959px***/
@media screen and (max-width: 959px) {
	
}

/*** SP 480px ~ 767px***/
@media screen and (max-width: 767px) {
	
}

/*** SP 320px ~ 479px***/
@media screen and (max-width: 479px) {
	
}