@charset "utf-8";

/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 999;
    background:#ccc;
    text-align:center;
    color:#888;
}

/* Loading画像中央配置　*/
#splash_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
    width:260px;
}

/* fadeUpをするアイコンの動き */

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
    from {
    opacity: 0;
    transform: translateY(100px);
    }

    to {
    opacity: 1;
    transform: translateY(0);
    }
}



/*========= レイアウトのためのCSS ===============*/

#container{
    width:100%;
    height: 100vh;
    background: #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

a{
    color: #333;
}

a:hover{
     text-decoration: none;   
}


/*===========================================================*/
/* 機能編 5-3-1中心から外に線が伸びる（下部）*/
/*===========================================================*/

.main-nav{
	display: flex;
	justify-content: center;
	margin:50px 0;
	list-style: none;
    text-transform: uppercase;
}

.main-nav li{
	position: relative;
    cursor: pointer;
    margin: 0 20px;
}

.main-nav li::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom:-5px;
    left: 25%;
    /*線の形状*/
    width: 50%;
    height: 2px;
    background:#a0a0a0;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
.main-nav li.active::after,
.main-nav li:hover::after{
    transform: scale(1, 1);/*X方向にスケール拡大*/
}
.current {
    pointer-events: none;
}




/*==================================================
ふわっ
===================================*/
.home-content{
    animation-name: fadeRightAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeRightAnime{
        from {
        opacity: 0;
        transform: translateX(100px);
        }
    
        to {
        opacity: 1;
        transform: translateX(0);
        }
    }

/*==================================================
機能編　9-1-2 丸が動いてスクロールを促す
===================================*/

/*スクロールダウン全体の場所*/
.scrolldown{
    position: absolute;
	bottom:10px;
	left:50%;    
}
/*Scrollテキストの描写*/
.scrolldown span{
    /*描画位置*/
	position: absolute;
	left:10px;
	bottom:10px;
    /*テキストの形状*/
	color: #937117;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
/* 丸の描写 */
.scrolldown:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#707070;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}
/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
    0%{bottom:45px;}
    100%{bottom:-5px;}
}
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
    0%{opacity:0}
    50%{opacity:1;}
    80%{opacity:0.9;}
    100%{opacity:0;}
}
/* 線の描写 */
.scrolldown:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	left:0;
    /*線の形状*/
	width:2px;
	height: 50px;
	background:#707070;
}

/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
#page-top a{
    display: flex;
    justify-content:center;
    align-items:center;
    background:#666;
    width: 50px;
    height: 45px;
    color: #fff;
    text-align: center;
    text-transform: uppercase; 
    text-decoration: none;
    font-size:0.6rem;
    transition:all 0.3s;
    margin-right: 8px;
}
#page-top a:hover{
    height: 50px;
}
/*リンクを右下に固定*/
#page-top {
    position: fixed;
    right: 10px;
    z-index: 900;
    /*はじめは非表示*/
    opacity: 0;
    transform: translateY(100px);
}
/*　上に上がる動き　*/

#page-top.UpMove{
    animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
    from {
    opacity: 0;
    transform: translateY(100px);
    }
    to {
    opacity: 1;
    transform: translateY(0);
    }
}
/*　下に下がる動き　*/
#page-top.DownMove{
    animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
    from {
    opacity: 1;
    transform: translateY(0);
    }
    to {
    opacity: 1;
    transform: translateY(100px);
    }
}


/*==================================================
タブメニュー
===================================*/
/*tabの形状*/
.tab{
    display: flex;
    white-space: nowrap;
    padding-left: 0;
    width: 92%;
}
.tab li a{
    display: block;
    background:#ddd;
    margin:0 2px;
    padding:10px 20px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

/*liにactiveクラスがついた時の形状*/
.tab li.active a {
    background:#fff;
}

/*エリアの表示非表示と形状*/
.area {
    display: none;/*はじめは非表示*/
    opacity: 0;/*透過0*/
    background: #fff;
    padding:50px 20px;
    width: 92%;
}
/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
}

@keyframes displayAnime{
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
/*========= レイアウトのためのCSS ===============*/
.tab, .sp-tab{
    list-style:none;
}
.tab a{
    color:#888;
    text-decoration: none;
    font-family: 'Noto Serif JP', serif;
    font-size: 0.875rem;
    font-weight: bold;
}
.b {
    border-bottom: 1px solid #D8D8D8 !important;
}
#onyoku table th ,table td {
    border-right: 0;
}
.tab-sab-text {
    color: #888;
    font-family: "Noto Serif JP";
    font-size: 0.812rem;
    text-align:left !important;
    margin:0 auto; 
}
#onyoku table, #pack table, #g-up-shampoo table, #dental table, #other table {
    width: 100%;
}
#onyoku th, #pack th, #g-up-shampoo th, #dental th, #other th {
    text-align: left;
    vertical-align: top;
    width: 70%;
    border-right: none;
}
#onyoku td, #pack td, #g-up-shampoo td, #dental td, #other td {
    border-right: none;
}
.op-price {
    text-align: right;
}
.sp_br {
    display: none;
}
@media screen and (max-width: 500px){
    .sp_br {
        display: block;
    }
}
@media screen and (max-width: 700px){
    .tab li a{
        background:#ddd;
        margin:0 2px;
        padding:10px 20px;
        border-radius: 10px;
        display: block;
    }
    
    .tab{
        display: flex;
        padding-left: 0;
        width: 90%;
        white-space: nowrap;
        height: 50px;
        overflow-x: auto;
    }
    .area.is-active {
        border-top-left-radius: 20px;
    }
}

