﻿@charset "utf-8";
* {	 
	padding: 0;
	margin: 0;
	text-decoration: none;
}
.item:hover a:after {
	opacity: 0;
}
.dd {
	margin: -38px auto 40px auto;
	border-radius: 0;
}
.coupon .tag_box{
	display: none;
}
div.spa {
	max-width: 960px;
	margin: 0 auto;
}
div.spa_inner {
    display: grid;
    grid-template-columns: 270px 310px 340px 40px;
    margin: 0 auto 40px auto;
    gap: 1px;
    background-color: #fff;
    box-shadow: 0 5px 5px rgba(0,0,0,0.1);
	box-sizing: border-box;
}
div.spa rt {
	font-weight: normal;
}
div.spa div.ttl_box {
	display: flex;
    flex-direction: column;
    height: auto;
    background: #191970;
	padding: 5px 0;
	overflow: hidden;
}
div.spa div.ttl_box table td {
	position: relative;
    height: auto;
    color: #fff;
	font-size: 1.05em;
	font-weight: bold;
    text-align: center;
    line-height: 1.7;
}
div.spa div.ttl_box table td a {
    color: #fff;
}
div.spa div.ttl_box table td.name {
	font-size: 1.2em;
}
div.spa div.ttl_box table td.name a {
    position: relative;
    display: inline-block;
    justify-content: center;
    flex-direction: column;
    top: 0;
    left: 0;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
}
div.spa div.ttl_box table td.name a b {
    position: relative;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}
div.spa div.ttl_box table td.name a:before,
div.spa div.ttl_box table td.name a:after,
div.spa div.ttl_box table td.name a b:before,
div.spa div.ttl_box table td.name a b:after {
    position: absolute;
    display: block;
    content: "";
}
div.spa div.ttl_box table td.name a:before {
    top: 50%;
    left: 0.25rem;
    width: 0.4rem;
    height: 0.4rem;
    border-top: solid 4px #fff;
    border-right: solid 4px #fff;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
}
div.spa div.ttl_box table td.name a:after {
    top: 50%;
    left: 0;
    width: 1.2rem;
    height: 1.2rem;
    background: #25b7c0;
    border-radius: 50%;
    z-index: 1;
}
div.spa div.ttl_box table td.name a:after,
div.spa div.ttl_box table td.name a b:after {
    transform: translateY(-50%);
    transition: all 0.3s;
}
div.spa div.ttl_box table td.name a b:before {
    bottom: -2px;
    left: -2px;
    width: 0;
    height: 0;
    background: #25b7c0;
    transition: all 0.3s;
    z-index: -1;
    opacity: 0;
}
div.spa div.ttl_box table td.name a b:after {
    top: 50%;
    left: -1rem;
    width: 1rem;
    height: 3px;
    background: #fff;
    opacity: 0;
}
div.spa div.ttl_box table td.name a:hover:before {
    left: 1rem;
}
div.spa div.ttl_box table td.name a:hover:after {
    opacity: 0;
}
div.spa div.ttl_box table td.name:hover a b:before {
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    opacity: 1;
}
div.spa div.ttl_box table td.name a:hover b:after {
    left: 0.5rem;
    opacity: 1;
}
div.spa div.ttl_box table td a,
div.spa div.ttl_box table td .fax {
    display: block;
    text-indent: -0.5em;
}
div.spa div.ttl_box table td a:before,
div.spa div.ttl_box table td .fax:before {
    color: #fff;
}
div.spa td table {
	width: 100%;
	margin: 0;
}
div.spa div[class^="outline"] table th {
	background-color: #94adda;
	color: #fff;
}
div.spa div.outline1,
div.spa div.outline2 {
	border-right: 1px solid #94adda;
}
div.spa div.outline1 table td {
	padding: 0 5px;
}
div.spa div.outline1 table .car,
div.spa div.outline1 table .bus,
div.spa div.outline1 table .walk,
div.spa div.outline1 table .bus a,
div.spa div.outline1 table .bus a:before,
div.spa .asterisk {
	color: #0073a8;
}
div.spa div.outline1 table,
div.spa div.outline2 table {
	border-collapse: collapse;
	line-height: 1.6;
}
div.spa div.outline2 table {
	width: 100%;
	letter-spacing: -0.03em;
}
div.spa div.outline2 table td {
	border-bottom: 1px solid #84a2d4;
	padding: 0 1px;
}
div.spa div.outline2 table td.age,
div.spa div.outline2 table td.kubun,
div.spa div.outline2 table td.day {
	color: #0073a8;
    font-size: 0.95em;	
	white-space: nowrap;
}
div.spa div.outline2 table td.age,
div.spa div.outline2 table td.kubun {
	background: #f0f8ff;
	border-right: 1px solid #84a2d4;
	border-left: 1px solid #84a2d4;
    text-align: center;
}
div.spa div.outline2 table td:first-child {
	border-left: none;
}
div.spa div.facilities div.icon_box {				/* icon ◆*/
    display: grid;
	grid-template-columns: repeat(5, 50px);
	gap: 3px;
	max-width: 262px;
	margin: 0 auto 3px auto;
	align-content: flex-start;
}  
div.spa div.facilities div {
	display: flex;
    align-items: center;
    justify-content: center;
	width: 50px;
	height: 50px;
	background-color: #62A1CB;
	border-radius: 5px;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
}
div.spa div.facilities div.cb {
	background-color: #d3d3d3;
}
div.spa div.facilities div.cm {
	background-color: #a2d7dd;
}
					                @media screen and (max-width:1259px){
.icon {
    margin: 0;
}									}@media screen and (max-width:959px){
.dd {
	width: 320px;
}
.icon {
    margin: 0 3px;
}
div.spa_inner {
	grid-template-columns: 1fr;
    gap: 1px;
	width: 320px;
}                              
div.spa div.facilities div.icon_box {
	grid-template-columns: repeat(5, 60px);
	gap: 3px;
    width: 320px;
    height: auto;
	margin: 5px auto;
    background: #000080;
}
div.spa div.facilities div {
	width: 60px;
	height: 60px;
	font-size: 16px;
}
div.spa div.outline1,
div.spa div.outline2 {
	border-right: none;
}
div.spa div.outline1 {
	margin-top: -1px;
}										
div.spa div.outline2 {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
div.spa div.outline2::-webkit-scrollbar {
        height: 12px;
    }											
div.spa div.outline2::-webkit-scrollbar-track {
	background: #e8ecef;
	border-radius: 6px;
}
div.spa div.outline2::-webkit-scrollbar-thumb {
	background: #274a78;
	border-radius: 6px;
}
div.spa div.outline2::-webkit-scrollbar-thumb:hover {
	background: #4d5aaf;
}										}/* max-width:959px */
