@charset "utf-8";
/* CSS Document */
a:hover {
    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}
.sp_only{
	display: none;
}

.inner {
    width: 90%;
    margin: 0 auto;
}
.mb{
	margin-bottom: 20px;
}
 /* スクロールバー非表示 */
 .center-scroll::-webkit-scrollbar {
  display: none;
}
.layout {
  display: grid;
  grid-template-columns: 1fr 375px 1fr;
  height: 100vh;
  background-image: url(../img/bk.png);
  background-repeat: no-repeat;
  background-position: center bottom;
}
main.center-scroll {
    background-color: #F2EFE9;
	height: 100vh;
    overflow-y: auto; /* ←ここだけスクロール */
    overflow-x: hidden;
}

.left-fixed {
	position: relative;
}
.pc-logo {
    max-width: 324px;
    position: absolute;
    top: 15%;
    right: 20%;
}
.right-fixed {
    position: relative;
}
.nav {
    position: absolute;
    top: 15%;
    left: 20%;
}
.g-nav {
    margin: 0 auto 5%;
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.g-nav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  transition: 0.2s;
  box-sizing: border-box;
  width: 240px;
  margin: 0 auto;
  padding: 5px 0;
  border: 1px solid #fff;
  color: #fff;
}
.g-nav li a .arrow {
  display: flex;
  align-items: center;
}

.g-nav li a .arrow img {
  width: 11px;
  height: auto;
  display: block;
}

.g-nav li a:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 18px rgba(0,0,0,0.2);
}

.sp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  background-color: #F2EFE9;
}

.sp-header__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.sp-header__logo img {
  width: 32px;
}

.sp-header__title {
  font-size: 15px;
  font-weight: bold;
  color: #248CCB;
  font-family: "Outfit", sans-serif;
}

.sp-header__tel img {
  width: 20px;
}


.fv-slider {
}

.heroSwiper {
  overflow: hidden; 
}

.heroSwiper .swiper-slide {
  position: relative;
}

.heroSwiper .swiper-slide a {
  display: block;
}

.heroSwiper .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}

.heroSwiper .swiper-pagination {
  position: static;
  margin-top: 12px;
  margin-bottom: 12px;
  text-align: center;
}

.heroSwiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 8px !important;
  background: #fff;
  opacity: 1;
  border: 1px solid #248CCB;
}

.heroSwiper .swiper-pagination-bullet-active {
  background: #248CCB;
}
.main-tit {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2%;
}

p.foto {
    margin: 2% 0;
}
.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    display: none;
}
h1 {
    
}
 section#consept {
    padding: 56px 0;
    background: linear-gradient(
  to bottom,
  #288ACB 0%,
  #216FA2 100%
);
}
h2 {
    margin-bottom: 40px;
    font-size: 32px;
    color: #fff;
    font-family: "Cormorant Garamond", serif;
    font-weight: bold;
}
.blue{
  margin-bottom: 40px;
    font-size: 32px;
    color: #248CCB;
}
p.text-w {
    color: #fff;
}
section#product {
    padding: 56px 0;
}
video {
    width: 100%;
    margin-bottom: 24px;
}
h3{
	font-size: 18px;
	font-weight: bold;
  margin-bottom: 8px;
  font-family: "Cormorant Garamond", serif;
  font-weight: bold;
}
hr {
    margin: 32px 0;
    display: block;
    color: #AFAFAF;
}
.photo{
  margin-bottom: 24px;
}
section#shop {
  padding: 56px 0;
  background: linear-gradient(
  to bottom,
  #288ACB 0%,
  #216FA2 100%
);
}
.s-inner {
    width: 90%;
    margin: 0 auto;
    background-color: #fff;
}
.ss-inner {
    width: 80%;
    margin: 0 auto;
    padding: 32px 0;;
}
h4 {
    text-align: center;
    font-size: 32px;
    color: #248CCB;
    margin-bottom: 24px;
    font-family: "Cormorant Garamond", serif;
    font-weight: bold;
}
p.shop-tit {
    margin-top: 16px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
}
.map-link span{
  display: block;
  width: 10px;
  align-items: center;
    display: flex;
}

.map-link {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 24px;
}
.map-link a{
  color: #248CCB;
  font-weight: bold;
}
.s-info {
    margin-bottom: 16px;
    border-bottom: dotted #BDB8AE;
    padding-bottom: 16px;
}
.s-info dt,dd{
  
}
.rink-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  background-color: #248CCB;
    padding: 10px;
    color: #fff;
}

.rink-btn a span {
  display: flex;
  align-items: center;
}

.rink-btn a img {
  width: 18px;
  height: auto;
  display: block;
}
.rink-btn2 a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  border:1px solid #248CCB ;
    padding: 10px;
    color: #248CCB;
}

.rink-btn2 a span {
  display: flex;
  align-items: center;
}

.rink-btn2 a img {
  width: 20px;
  height: auto;
  display: block;
}
p.rink-btn1 {
    width: 80%;
    margin: 0 auto;
}
p.rink-btn2 {
    width: 80%;
    margin: 0 auto;
}
p.rink-btn3 {
    width: 80%;
    margin: 40px auto 0;
}
section.ig{
  padding: 56px 0;
}
section#contact {
    padding: 56px 0;
    background: linear-gradient(
  to bottom,
  #288ACB 0%,
  #216FA2 100%
);
}
h4.wh4 {
    color: #fff;
}
p.text-contact {
    color: #fff;
    text-align: center;
}
.rink-btn3 a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  background-color:#fff ;
    padding: 10px;
    color: #248CCB;
}

.rink-btn3 a span {
  display: flex;
  align-items: center;
}

.rink-btn3 a img {
  width: 20px;
  height: auto;
  display: block;
}
p.rink-btn4 {
    width: 80%;
    margin: 10px auto 0;
}
.rink-btn4 a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  background-color:#00C300 ;
    padding: 10px;
    color: #fff;
}

.rink-btn4 a span {
  display: flex;
  align-items: center;
}

.rink-btn4 a img {
  width: 20px;
  height: auto;
  display: block;
}
/* コピーライト */
.copy {
  font-size: 12px;
  color: #2B2B2B;
  padding: 24px 0;
	text-align: center;
  font-family: "Outfit", sans-serif;
}


.sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  padding: 0;
  margin: 0;
}

.sns li {
  list-style: none;
}

.sns li a {
  display: block;
}

.sns li img {
  width: 20px;
  height: auto;
  display: block;
}
footer {
    padding: 40px 0 ;
}
.fixed-cta {
    display: none;
}
li.nav-tel {
    background-color: #fff;
}
li.nav-tel a{
  color: #248CCB;
}
li.nav-line {
  background-color: #00C300;
}
span.tel-icon {
    width: 18px;
    display: flex;
    align-items: center;
}
span.line-icon {
    width: 18px;
    display: flex;
    align-items: center;
}
span.sp-header__tel {
    display: none;
}
.ham-menu{
  display: none;
}
/* ■02.横幅1280px以上（PC用）
--------------------------------------------------- */
@media screen and (min-width:768px) and (max-width:1200px) {
    /* ▼PC用================================================================== */

/* ▲PC用================================================================== */
}
/* ■02.横幅1280px以上（PC用）
--------------------------------------------------- */
@media screen and (min-width:1024px) and (max-width:1280px) {
    /* ▼PC用================================================================== */
  /* ▲PC用================================================================== */
}   

/* ■03.横幅768px以上、1299px以下（Tab用）スクロールバー対策で+20pxを指定する
--------------------------------------------------- */
@media screen and (min-width:1280px) and (max-width:1024px) {
    /* ▼tab用================================================================= */


    /* ▲tab用================================================================== */
}
/* ■05.横幅767px以下（SP用）
--------------------------------------------------- */
@media screen and (min-width:0px) and (max-width:768px) {
/* ▼SP用================================================================ */
.sp_only{
		display: block;
	}
  .fixed-cta {
    display: block;
}
.ham-menu{
  display: block;
}
.sp-hamburger {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  margin: 0;
  flex: 0 0 32px;
  background: #F2EFE9;
  border-radius: 0 0 16px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 0;
}

.sp-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #248CCB;
  transition: transform .3s ease, opacity .3s ease;
}

/* 上の線 */
.sp-hamburger.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

/* 真ん中 */
.sp-hamburger.is-active span:nth-child(2) {
  opacity: 0;
}

/* 下の線 */
.sp-hamburger.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ここ大事 */
.sp-menu {
  width: calc(100% - 24px);
  margin: 0 auto;
  background: #F2EFE9;
  border-radius: 0 0 6px 6px;
  position: relative;
  z-index: 10;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-12px);
  transition: max-height .4s ease, opacity .3s ease, transform .3s ease, visibility .3s ease;
  pointer-events: none;
}

.sp-menu.is-open {
  max-height: 500px; /* メニューが収まる十分な高さ */
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.sp-menu__inner {
  padding: 18px;
}

.sp-menu__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sp-menu__list li + li {
  margin-top: 12px;
}

.sp-menu__list a {
  display: block;
  padding: 14px 16px;
  background: #248CCB;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  border-radius: 999px;
  text-align: center;
}
.sp-menu__list a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; /* ← テキスト中央 */
  padding:10px 16px;
  background:#248CCB;
  color: #fff;
  border-radius: 999px;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
}
.sp-menu__list a .arrow {
  position: absolute;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
}
span.sp-header__tel {
    display: block;
    padding-bottom: 10px;
}
  .fixed-cta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 300;
    max-width: 375px;
    margin: 0 auto;
}
.sp-cta {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
}

.sp-cta li {
  flex: 1;
  list-style: none;
  margin: 0;
}

.sp-cta li a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 50px;
  font-weight: bold;
  text-decoration: none;
}
.sp-cta li:first-child a {
  background: #fff;
  color: #288ACB;
  border-top:1px solid #288ACB ;
  border-bottom:1px solid #288ACB ;
}
.sp-cta li:last-child a {
  background: #00C300;
  border-top:1px solid #00C300 ;
  border-bottom:1px solid #00C300 ;
  color: #fff;
}
.fixed-cta__item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 14px rgba(0,0,0,0.18);
}
.pc_only{
		display: none;
	}
.inner {
    width: 90%;
}
fixed-cta {
    display: block;
}
  body {
    overflow: auto;
  }
.layout {
    display: block;
    height: auto;
  }	   
.left-fixed,
  .right-fixed {
    display: none;
  }
	.center-scroll {
  overflow-y: scroll; /* ←常に表示 */
}
	main.center-scroll {
    height: auto;
    border-left: none;
    border-right: none;
}
	
	.fixed-cta {
        position: fixed;
        bottom: 0;
        z-index: 300;
        margin: 0 auto;
        width: 100%;
        max-width: 100%;
    }
/* ▲sp用================================================================== */
}


















