/* fuji の差分（tools/build_css.py で生成。共通CSSの後に読み込む） */
.mini { font-size:18px; }
@media only screen and (min-width:768px) {
.head_comment { position: absolute;
     width: 40%;
    max-width:580px;
    top: 7%;
    right: 7%;
	  transform: none; -ms-transform: initial; -webkit-transform: initial; }
}
@media only screen and (max-width:767px) {
.head_comment { position: relative;
    width: 100%;

    display: block;
    margin: 0vw auto 0;
	  right:0; margin-top: initial; }
}
.swiper_topbnr swiper-slide { vertical-align: top; }
.swiper_topbnr-pagination { position: absolute;
	bottom: 15px;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 10; }
.swiper_topbnr-pagination { position: absolute;
	bottom: 5px !important;
	left: 0;
	width: 100%;
	text-align: center;
	z-index: 10; }
.swiper_topbnr-pagination .swiper-pagination-bullet { width: 10px;
	
	height: 10px;
	background: rgba(0, 0, 0, 0.3);
	opacity: 1;
	margin: 0 10px;
	
	border-radius: 50%;
	transition: background 0.3s, transform 0.3s;
	cursor: pointer; }
.swiper_topbnr-pagination .swiper-pagination-bullet-active { background: rgba(0, 0, 0, 0.6);
	transform: scale(1.2); }
@media screen and (min-width: 1025PX) {
#reservation-container>a>#reservation_visit-btn, #reservation-container>a>#reservation_membership-btn { font-size: 16px;
	  line-height:1.3;
    font-weight: 600;
    height: 170px;
	          text-align: center;
    color: white;
    padding: 16px 8px;
    border-radius: 100px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
#reservation-container>a>#reservation_visit-btn { margin-bottom: 20px;
    background: #00a498;
    transition: 0.3s; }
#reservation-container>a>#reservation_membership-btn { background: #e64f94;
    transition: 0.3s; }
#reservation-container>a>#reservation_visit-btn:before, #reservation-container>a>#reservation_membership-btn:before { display:none;
    content: '';
    width: 28px;
    height: 28px;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center left;
    position: absolute;
    top: 10px; }
#reservation-container>a>#reservation_visit-btn:hover { background: #00a498;
    transition: 0.3s; }
#reservation-container>a>#reservation_membership-btn:hover { background: #e64f94;
    transition: 0.3s; }
}
@media screen and (max-width: 1024px) {
#reservation-container>a>#reservation_visit-btn, #reservation-container>a>#reservation_membership-btn { font-size: 15px;
	  line-height:1.3;
	  text-align:center;
    font-weight: 600;
    height: 50px;
    color: white;
    padding: 16px 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
#reservation-container>a>#reservation_visit-btn { background: #00a498;
    transition: 0.3s; }
#reservation-container>a>#reservation_membership-btn { background: #e64f94;
    transition: 0.3s; }
#reservation-container>a>#reservation_visit-btn::before, #reservation-container>a>#reservation_membership-btn::before { display:none;
    content: '';
    width: 23px;
    height: 23px;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: center left;
    position: absolute;
    top: 10px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    left: calc(50% + -58px); }
#reservation-container>a>#reservation_visit-btn:hover { background: #00a498;
    transition: 0.3s; }
#reservation-container>a>#reservation_membership-btn:hover { background: #e64f94;
    transition: 0.3s; }
}
@media only screen and (max-width:767px) {
body.home .site-branding__logo.-before { margin-left:-9999px; }
}
.top-nav-inner .top-nav-h2:before { background-image: url(../../img/common/home_icon.svg); background-position: initial; background-repeat: initial; background-size: initial; content: initial; height: initial; left: initial; position: initial; top: initial; width: initial; }
.system_box h3.sysetem_h { position: absolute;
border-radius: 100%;
width: 160px;
height: 160px;
top: 0;
left: 0;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.2em;
font-weight: 600;
background-size: cover;
color: #fff;
background-image: url(../../img/common/Polygon.svg); }
.head-img { width: 100vw;
	object-fit:cover;
	object-position:20%;
	height:80vw;
	max-height: 1100px; min-height: initial; }
@media only screen and (max-width:991px) {
.head-img { min-height: 90vw;
		    object-position: 18%; }
}
