/* Table of Content
==================================================
    1.Reset & Basics
    2.Basic Styles
    3.Typography and Common style
    4.Links
    5.Misc


/* Reset & Basics (Inspired by E. Meyers) */

*,
*:before,
*:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
}
* {
    margin: 0;
    padding: 0;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    text-decoration: none;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
ol,
ul {
    list-style: none;
}
blockquote,
q {
    quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
a,
a:hover,
a:active,
a:visited,
a:focus {
    text-decoration: none;
}


img {
    display: inline-block;
    vertical-align: middle;
    height: auto;
    max-width: 100%;
}
.map img {
    max-width: none;
}
a:focus {
    outline: 0;
}
iframe {
    width: 100%;
    border: none;
    display: inline-block;
}
::-moz-selection {
    background: #ff5252;
    color: #ffffff;
}
/* End reset & basics (Inspired by E. Meyers) */



/*Basic Styles*/

body {
    background: #13181d;
    font-family: "Zen Antique Soft", serif;
    font-weight: 400;
    color: #ffffff;
    margin: 0;
    font-size: 1em;
    line-height: 1.55;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    justify-content: center;
    align-items: center;
    height: 100vh;
    text-align: center;
}

/*End basic styles*/


/* Typography and Common style*/

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h3,
.h4,
.h5,
.h6
 {
    font-family: "Zen Antique Soft", serif;
    font-weight: 400;
    margin-bottom:.5rem;
    position: relative;
    /* letter-spacing: 2px; */
    
}

h1, .h1{
     font-size:2.875rem;
     line-height: 1.2;
     letter-spacing: 5px;
}

 h2, .h2 {
     font-size:2.5rem;
     line-height: 3rem;
     letter-spacing: 5px;
}
 h3, .h3 {
     font-size: 1.125rem;
}
 h4, .h4{
     font-size:1.25rem;
     font-weight: 400;
    line-height: 2rem;
}

.h4 {
    font-weight: 500;
}

 h5,.h5{
     font-size: 1rem;
}
 h6, .h6{
     font-size: .75rem;
     line-height: 1.5rem;
     font-weight: 700;
}


.avatar {

    flex-shrink: 0;
    border-radius: 50%;

}


.avatar.avatar-lg {

    width: 3.5rem;
    height:3.5rem;

}


.avatar.avatar-sm {

    width: 2.5rem;
    height:2.5rem;

}

.block-title{
    display: inline-block;
    position: relative;
    padding: 0 .625em;
}

.block-title:before{
    position: absolute;
    content: "";
    width: 100%;
    height: .875rem;
    bottom: .775rem;
    left: 0;
}
.span{
    font-size: .75rem;
}

.big-icon{
    font-size: 5rem;
    opacity: .5;
    color: #3b4b5b;
}
blockquote{
    font-size:1.25rem;
    font-style: italic;
    margin:  .7537rem 0;
    font-weight: 300;
    line-height: 1.5735rem;
}


p,.p{
    line-height: 1.9;
    font-size: .8125rem;
    display: block;
}

p span, small span{
    font-size: inherit;
}

p em{
    display: block;
    font-weight: 400 !important;
}

form{
    position: relative;
}

em {
    margin-bottom: .5rem;
    
}

.w-93{
    width: 93%;
}


.opc-70{
    opacity: .7;
}

.vertical-align {
    display: -webkit-flex !important;
    display: -moz-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}

.text-small{
    font-size: 0.8em;
    display: inline-block;
}


section,
.section {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.block-content {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: .3125rem;
}

.front-p {
    position: relative;
    z-index: 100;
}
.uppercase {
    text-transform: uppercase;
}

.text-white {
    color: #ffffff;
}

.text-red {
    color: #ff5252;
}


.bold{
    font-weight: 700;
}

.switch-fot{
    font-family: "Zen Antique Soft", serif;
    font-weight: 400;
}

.form-control-border0{
    border: none;
}

.height-70 {
    height: 70vh;
}


img {
    /* margin-bottom: 1rem; */
    display: block;
}

img.animated{
    -webkit-transform: translateX(-10px) translateZ(0);
    transform: translateX(-10px) translateZ(0);
    transition: .45s ease;
    width: calc(100% + 10px);
    max-width: initial;
}


img:hover{
-webkit-transform: translateX(0);
transform: translateX(0);
}


.sing {
    max-width: 30%;
}


.adjust-space{
    margin-top: -30px;
    display: block;
}

.container{
    position:relative;
}

.indent {
    text-indent: -999px;
    display: none;
}

input[type]:-moz-placeholder {
    color: rgba(85,45,35,.5);
}
:-moz-placeholder {
    color: rgba(85,45,35,.5);
}
::-moz-placeholder {
    color: rgba(85,45,35,.5);
}
:-ms-input-placeholder {
    color: rgba(85,45,35,.5);
}
::-webkit-input-placeholder {
    color: rgba(85,45,35,.5);
}


.zoom {
    animation: zoom 15s ease 0s normal both infinite;
    -webkit-animation: zoom 15s ease 0s normal both infinite;
    -moz-animation: zoom 15s ease 0s normal both infinite;
    -ms-animation: zoom 15s ease 0s normal both infinite;
    -o-animation: zoom 15s ease 0s normal both infinite;
}
@keyframes zoom {
0% {
    transform: scale(1, 1);
}
50% {
    transform: scale(1.1, 1.1);
}
100% {
    transform: scale(1, 1);
}
}
@keyframes zoom {
0% {
    transform: scale(1, 1);
}
50% {
    transform: scale(1.1, 1.1);
}
100% {
    transform: scale(1, 1);
}
}
@keyframes zoom {
0% {
    transform: scale(1, 1);
}
50% {
    transform: scale(1.1, 1.1);
}
100% {
    transform: scale(1, 1);
}
}



/* End typography and common style*/

/*Links*/

a.link{
    margin-bottom: 1rem;
    display: block;
}
.as-link{
    cursor: pointer;
}

a,
.but,
.block-hover,
input[type="text"],
.mobile-but .lines:after,
.mobile-but .lines:before,
.insta-Feed li img,
.block-tabs li,
.playlist li
 {
    transition: 0.3s ease-in-out;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
}

.btn-s{
   padding: .29rem .725rem .29rem .625rem;
   font-size: .6875rem;
}

.btn.with-ico i{
    margin-right: .5125rem;

}

.with-ico i{
    display: inline-block;
    margin-right: .8125rem;
}

.border-2{
    border-color:#ff5252 !important;

}

.border-3{
    border-color:rgba(255,255,255,.5) !important;

}

.but:hover {
    color: #ffffff;
}



.block-social li a{
    color: rgba(255,255,255,.7);
    border: 2px solid transparent;
    border-color:rgba(255,255,255,.07);
    padding: 0.2875rem 0.55rem;
    font-size: 0.9357rem;
    display: inline-block;
    margin-right: .3rem;
}

.block-social li a:hover{
    color: rgba(255,255,255,1);
}

a.link:hover{
    opacity: .7;
    text-decoration: none;
}


strong a{
    color: #ffffff;
}

p a.link{
    margin-top: 0;
    font-size: inherit;
    text-decoration: underline;
    display: inline-block;

}

section.divider{
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/*
section.main{
    padding-top: 2rem;
    padding-bottom: 2rem;
} */


div[class*="col-"].gap-one-bottom-md, .gap-one-bottom-md{
    padding-bottom: 1rem;
}


div[class*="col-"].gap-one-top-md, .gap-one-top-md{
    padding-top: 1rem;
}


div[class*="col-"].gap-double-md, .gap-double-md {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

div[class*="col-"].gap-one-bottom-lg, .gap-one-bottom-lg{
    padding-bottom: 10rem;
}


div[class*="col-"].gap-one-top-lg, .gap-one-top-lg{
    padding-top: 10rem;
}



div[class*="col-"].gap-double-lg, .gap-double-lg {
    padding-top: 10rem;
    padding-bottom: 10rem;
}


div[class*="col-"].gap-one-bottom-sm, .gap-one-bottom-sm{
    padding-bottom: 3rem;
}


div[class*="col-"].gap-one-top-sm, .gap-one-top-sm{
    padding-top: 3rem;
}


div[class*="col-"].gap-double-sm, .gap-double-sm {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

/*End links*/

/*Misc */

.bg-secondary {
    border-top: 0px solid rgba(59, 75, 91, 0.3)
}
.bg-red {
    background: #ff5252;
}
.bg-dark-blue {
    background: #13181d;
}

/*End misc */

/*センタリングしたい*/
.morecenter {
    margin:  0 auto;
}

.test {
background: #ffffffc7;
}

/* システム表 */
.sys_container {
    max-width: 350px;
    border-radius: 8px;
}

h1 {
    text-align: center;
    margin-bottom: 20px;
}

.item {
    display: flex;
    justify-content: space-between;
    padding: 10px 20px;
    border-bottom: 1px solid #ddd;
}

.item ul {
    margin: 0;
    padding-left: 20px;
    list-style-type: none;
}

.item span {
    font-size:1rem;
}

.small {
    font-size: 0.8em;
    text-align: center; /* テキストのセンタリング */
}

.notes {
    margin-top: 20px;
}

.notes p {
    margin: 5px 0;
    font-size: 0.9em;
}


@media (max-width: 1000px) {
    .sys_container {
        padding: 0px;
    }
}

@media (max-width: 800px) {
    .item span, .notes p {
        font-size: 1rem;
    }
}


/* システム用 */
.systobox {
    display: flex;
    flex-wrap: wrap;
}

.hako {
    flex: 1 0 45%; /* 要素の初期幅を設定 */
    margin: 5px; /* 隙間を設定 */
    box-sizing: border-box;
}

@media screen and (max-width: 700px) {
    /* 画面幅が700px以下の場合に適用されるスタイル */
    .hako {
        flex-basis: 100%; /* 幅を100%に設定して縦並びにする */
        display: flex; /* Flexbox を利用してセンタリング */
        justify-content: center; /* 横方向に中央揃え */
        align-items: center; /* 縦方向に中央揃え（必要に応じて） */
    }
}

/* 追加ヘッダー */
#riseplus-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    position: fixed;
    width: 100%;
    z-index: 1000;
    transition: background-color 0.3s;
}

.riseplus-logo img {
    height: auto;
}

.riseplus-nav-menu ul {
    list-style: none;
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.riseplus-nav-menu ul li {
    display: inline;
}

.riseplus-nav-menu ul li a {
    text-decoration: none;
    color: white; /* リンクの通常時の色を白に設定 */
    transition: color 0.3s;
}

.riseplus-nav-menu ul li a:hover {
    color: red; /* ホバー時の色を赤に設定 */
}

.riseplus-nav-menu ul li a.active {
    color: #FFD700; /* アクティブ時の色 */
}

.riseplus-hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    gap: 5px;
}

.riseplus-hamburger span {
    width: 25px;
    height: 3px;
    background-color: white; /* 通常時のハンバーガーメニューの色を白に設定 */
    transition: transform 0.3s, background-color 0.3s;
}

.riseplus-hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.riseplus-hamburger.active span:nth-child(2) {
    opacity: 0;
}

.riseplus-hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

@media (max-width: 768px) {
    .riseplus-nav-menu {
        display: none;
        flex-direction: column;
        gap: 10px;
    }

    .riseplus-nav-menu.active {
        display: flex;
    }

    .riseplus-hamburger {
        display: flex;
    }

    #riseplus-header.active {
        background-color: white;
    }

    #riseplus-header.active a {
        color: black;
    }

    #riseplus-header.active .riseplus-hamburger span {
        background-color: black; /* バツ印の時のハンバーガーメニューの色を黒に設定 */
    }

    /* CSS追加 */
    #riseplus-header.active .riseplus-logo {
    display: none;
}
}

.riseplus-nav-menu ul li a:hover {
    color: red; /* ホバー時の色を赤に設定 */
}

/* フッターの店舗情報用 */
.plus_contents {
    padding-top: 15px;
    width:100%;
    background-color: #000000;
    display: inline-block;
    text-align: center;
}

.plus_contents img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.plus_contents p {
    margin: 10px 0;
    font-size:1.1rem;
}


/* PCではバナーを非表示 */
#banner {
    display: none;
    position: fixed;
    max-width: 100%;
    text-align: center;
    z-index: 1000;
}

/* スマートフォンやタブレットでのみバナーを表示 */
@media screen and (max-width: 1024px) {
    #banner {
        display: none; /* 初期状態では非表示 */
        transition: opacity 1ms ease-in-out; /* トランジションを追加 */
        opacity: 0; /* 初期状態の透明度 */
        position: fixed; /* 画面に固定 */
        top: 70%; /* 画面の縦方向の中央に配置 */
        right: 0; /* 画面の右側に配置 */
        transform: translateY(-50%); /* バナーを縦方向の中央に配置 */
        z-index: 1000; /* 他の要素の上に表示されるようにする */
    }

    /* スクロールで表示 */
    #banner.show {
        display: block;
        opacity: 1; /* 表示時の透明度 */
    }

    #banner img {
        max-width: 100%; /* 画像がバナーの幅を超えないようにする */
        max-height: 100%; /* 画像がバナーの高さを超えないようにする */
        height: auto; /* 高さを自動調整 */
        width: auto; /* 幅を自動調整 */
    }
}



.accessicon {
    display: flex;
    align-items: center;
}

.accessicon span {
    color:#ffd700;
    font-size: 0.8rem;
    line-height:1;
}

.accessicon img {
    margin-top:2px;
    margin-right: 10px; /* 画像とテキストの間にスペースを追加 */
    width: 30px; /* 画像の幅を指定 */
    height: 30px; /* 画像の高さを指定 */
}

/* アクセスの文言調整用 */

.plus_left {
    text-align: left;
    font-size: 0.8rem;
    margin-bottom:8px;
}

.plus_left_line {
    text-align: left;
    font-size: 0.9rem;
}

/* 見出し用拡張 */
.h_center   {
        display: flex;
        justify-content: center;
        align-items: center;
    }

/* 追加フォント */
.shippori-mincho-regular {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
  }

  .kiwi-maru-regular {
    font-family: "Kiwi Maru", serif;
    font-weight: 400;
    font-style: normal;
  }

/* パソコン（幅が751px以上）の場合は非表示 */
@media screen and (min-width: 751px) {
    .spf {
      display: none;
    }
  }
  
  /* スマートフォン（幅が750px以下）の場合は表示 */
  @media screen and (max-width: 750px) {
    .spf {
      display: inline;
    }
  }

/* アバウト余白調整 */
  @media screen and (max-width: 600px) {
    .lead {
        padding: 0 20px;
    }
  }

/* h2見出し画像調整 */
@media screen and (max-width: 600px) {
    #about h2 img {
        width: 90%;
        margin: 0 auto;
    }
}

/* Accessの駅バス調整 */
.plus_sb {
    line-height:0.7;
    font-size:1.1rem;
}

/* メインの文字にグラデーション */
.copy_color {
    display: inline-block;
    font-size: 28px;
    margin:0 auto 5%;
    background: linear-gradient(90deg, #8c7537 0%, #dbb00b 45%, #fde79d 70%, #dbb10c 85%, #bc7f04 90% 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 要素の頭調整用 */
.headplus {
    padding-top:30px;
}

/* 要素の頭調整用 */
.headplus2 {
    padding-top:30px;
}
@media screen and (max-width: 600px) {
    .headplus2 {
        padding-top:0px;
    }
}

/* ロゴ調整用 */
.logoplus {
    padding-bottom:20px;
}


/* about調整用 */
.aboutplus {
    padding-bottom:20px;
}
@media screen and (max-width: 600px) {
    .aboutplus {
        padding-bottom:0px;
    }
}

.rioshare {
    margin-top: 35px;
    display: block;
    font-size: 13px;
    text-align: center;
    color: #000;
}

.rioshare img {
    width: 200px;
}

@media (max-width: 600px) {
    .rioshare img {
        width: 80%;
    }
}