@charset "utf-8";

html {
  font-size: 62.5%;
}



/* 基準の書体をゴシックに、body背景色を#に */
body {
  font-family: "M PLUS 1", "Zen Maru Gothic", "Noto Sans JP";
  background-color: #E6F4F1;
  line-height: 1.45;
  font-size: 1.8rem;
  font-weight: 500;
  padding-top: 20px;

}

header h1,
header nav a,
footer h2 {
  background-color: #11b2d8;
  color: #fff;
  font-weight: 500;
}



.grotesk {
  font-family: "Space Grotesk";
  font-weight: 400;
}

.instagram_wrapper section h2,
.rental_wrapper section h2,
.price_wrapper section h2,
.list_logo section h2,
.best_wrapper section h2 {
  font-family: "Space Grotesk";
  font-weight: 400;
}


h3,
.global,
th,
dt,
p {
  font-family: "M PLUS 1", "Zen Maru Gothic", "Noto Sans JP"
}


img {
  max-width: 100%;
  height: auto;
}

ul{
  margin:0;
  padding: 0;
  list-style: none;
}

a:hover,
a:active{
  text-decoration: none;
}



/* 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);
    }
  }
  
  
  /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
   
  .fadeUpTrigger {
      opacity: 0;
  }
  




/* topindex.html -------------------- */
.wrapper {
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: #E6F4F1;
}

/* header ---- */

header {
  width: 1200px;
  background-color: #11b2d8;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: fixed;
  z-index: 10001;
  top: 0;
  overflow-x: hidden; /* メニューがはみ出さないように */
}

header h1 {
  color: #fff;
  font-size: 3.8rem;
  margin: 20px;
  font-family: "Space Grotesk";
}

header h1 a {
  color: #ffffff;
  text-decoration: none;
}

/* header_inner をヘッダー幅いっぱいにし、中身は中央寄せ */
.header_inner {
  flex: 1;
  min-width: 0;
  max-width: 1000px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.header_inner h1 {
	width: 150px;
}

.header_inner h1 img {
	width: 100%;
	height: auto;
}


/* headerここまで ---- */



/*========= スクロールダウンのためのCSS ===============*/


/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/

/*スクロールダウン全体の場所*/
.scrolldown4 {
  /*描画位置※位置は適宜調整してください*/
position:absolute;
bottom:1%;
right:50%;
  /*矢印の動き1秒かけて永遠にループ*/
animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
    0%{bottom:1%;}
    50%{bottom:3%;}
   100%{bottom:1%;}
}

/*Scrollテキストの描写*/
.scrolldown4 span{
  /*描画位置*/
position: absolute;
left:-20px;
bottom:10px;
  /*テキストの形状*/
color: #eee;
font-size: 0.7rem;
letter-spacing: 0.05em;
/*縦書き設定*/
-ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: -6px;
  /*矢印の形状*/
  width: 1px;
  height: 20px;
  background: #eee;
  transform: skewX(-31deg);
}

.scrolldown4:after{
content:"";
  /*描画位置*/
position: absolute;
bottom:0;
right:0;
  /*矢印の形状*/
width:1px;
height: 50px;
background:#eee;
}

#slider {
  width: 100%;
  height: 500px;
  overflow-x: scroll;
    white-space: nowrap;
    /* IE, Edge 対応 */
    -ms-overflow-style: none;
    /* Firefox 対応 */
    scrollbar-width: none;

}

#slider::-webkit-scrollbar {
  display: none;
}




.header {
  position: fixed;
  top: 0;
  z-index: 1;
  width: 100%;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 30px;
}

.header-logo {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
  margin-right: 20px;
  letter-spacing: .05em;
}

.header-logo a {
  color: #333;
}

.header-nav-list {
  display: flex;
  justify-content: space-between;
}

.header-nav-item:not(:last-child) {
  margin-right: 20px;
}

.header-nav-item a {
  font-size: 13px;
  font-weight: bold;
  padding: 5px 0;
  letter-spacing: .05em;
  color: #333;
}

.header-nav-item a:hover {
  opacity: .8;
}



.visual_text p {
  font-size: 4.0rem;
  font-weight: bold;
  margin: 250px 20px;
  color: #fff;
 
}


/* ------nav.global ------- */

/* メニューがヘッダーからはみ出さないように縮小可能にする */
.global_local {
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 20px;
}

.global_local ul {
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  margin: 0;
  min-width: 0;
}

.global_local menu {
  padding: 100px;
  font-family: "Space+Grotesk", "M PLUS 1", "Zen Maru Gothic", "Noto Sans JP";
  font-weight: 400;
}

.global_local li {
  flex: 1 1 0;
  min-width: 70px;
  max-width: 130px;
}

.global_local li a {
  display: block;
  color: #fff;
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
  text-decoration: none;
  padding: 0 0.5em;
  border-right: 1px solid #f2f3ff;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.global_local li:last-child a {
  padding-right: 0;
  border-right: none;
}


.global_local li a:hover {
  color: #FCB900;
  border-bottom: 1px solid #fff;
}




@media screen and (max-width:768px) {
  .global_local {
      /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
      position:fixed;
      z-index: 999;
      /*ナビのスタート位置と形状*/
    top:-120%;
      left:0;
    width:100%;
      height: 100vh;/*ナビの高さ*/
    background:rgba(0,0,0,0.8);
      /*動き*/
    transition: all 0.6s;
  }
  
  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive{
      top: 0;
  }
  
  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list{
      /*ナビの数が増えた場合縦スクロール*/
      position: fixed;
      z-index: 999; 
      width: 100%;
      height: 100vh;/*表示する高さ*/
      overflow: auto;
      -webkit-overflow-scrolling: touch;
  }
  
  /*ナビゲーション*/
  .global_local ul {
      /*ナビゲーション天地中央揃え*/
      width: 90%;
      margin:100px auto 0 auto;
  }
      
  #g-nav ul ul{
      width: 100%;
      margin: 0;
  }
   
  /*プルダウンナビのCSS*/
  #g-nav ul li.has-child ul{
      position: relative;
    left:0;
    top:0;
    width:100%;
    visibility:visible;/*JSで制御するため一旦表示*/
    opacity:1;/*JSで制御するため一旦表示*/
    display: none;/*JSのslidetoggleで表示させるため非表示に*/
    transition:none;/*JSで制御するためCSSのアニメーションを切る*/
      transform: none;
  }
  
  /*リストのレイアウト設定*/
  
  .global_local li {
    list-style: none;
      text-align: center; 
  }
  
  .global_local li a {
    color: #aaa;
    text-decoration: none;
    padding:10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  }



/* ------nav.globalここまで ----- */



/* ------visualここまで------- */


/* icon_menu */

.icon {
  margin-top: 50px;
  margin-bottom: 40px;
  display: flex;
  justify-content: center;
}

.icon p {
  background-color: #11b2d8;
  font-size: 1.6rem;
  width: 140px;
  height: 30px;
  text-align: center;
  margin: auto;
  padding: auto;
}

.icon_group {
  margin: 5px;
}

.icon_group img {

  margin: auto;
  display: block;
  padding-bottom: 5px;
}

.icon_group a {
  text-decoration: none;
  color: #fff;
}


/* icon_menuここまで */

/* 戻るページ */

/* .re_hr_top {
  border: 1px dashed #000;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 12px;
} */

.top_return {
  margin: 0 auto 60px;
  margin-left: 30px;
  padding: 20px 0;
}

.top_return img {
  padding: 5px;
}

.top_return a {
  text-align: left;
  padding: 5px;
}




/* 戻るページここまで */








/* お知らせ */


/*タブ切り替え全体のスタイル*/
.tabs {
  margin: 0 auto;
  margin-top: 150px;
  margin-bottom: 40px;
  padding: 30px 40px 50px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: 700px;
  max-width: 100%;
  box-sizing: border-box;
}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/3);
  height: 50px;
  border-bottom: 3px solid #FCB900;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#programming:checked ~ #programming_content,
#design:checked ~ #design_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #FCB900;
  color: #fff;
}

p.c-txtsp time,
p.c-txtsp span {
  background: linear-gradient(transparent 70% , yellow 70%);
}


/* お知らせここまで */


/* 波ウェーブ */





:root {
  --width: min(100vw, 42rem);
  --angle: -5deg;
  --abs-angle: max(var(--angle), var(--angle) * -1);
  --tan-alpha: tan(var(--abs-angle));
  --skew-padding: calc(var(--width) * var(--tan-alpha) / 2);
}



h2 {
  font-size: 2.5em;
  margin: 0 0 0.5em;
  font-weight: 900;
  color: white;
}

/* p {
  font-size: 1.25em;
  margin: 0;
  line-height: 1.5;
  color: white;
} */

/* 波ウェーブここまで */



.point_img {
  width: 1000px;
  height: 700px;
  overflow: hidden;
  margin: 0 auto;
  position: relative;

}

.point_img h2 {
  font-size: 2.2rem;
  color: #000000;
  padding-left: 20px;
}

.point_img p {
  font-size: 16px;
  color: #000;
   padding-left: 20px;
}


.umigame1 {
  margin-top: 66px;
  animation: slideIn01 6s 1;
  padding-left: 30px;
}

.kumanomi {
  animation: slideIn02 6s 1;

  position: absolute;
  top: 35%;
  right:3%;
  left: 56%;
}

.point_text {
  margin-top: 30px;
  animation: slideIn03 6s 1;
  font-family: "Space+Grotesk", "M PLUS 1", "Zen Maru Gothic", "Noto Sans JP";
  font-weight: 400;
  font-size: 2.0rem;
}

/* .text02 p {
  font-weight: bold;
  color: #11b2d8;
 font-size: 3.0rem;
  position: absolute;
  top: 6%;
  right: 10%;
  animation: slideIn04 5s 1;
} */

@keyframes slideIn01 {
  0% {
    opacity: 0;
    /*初期状態では透明に*/
    transform: translateX(-1000px);
  }

  60% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideIn02 {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 0;
    transform: translateX(1000px);
  }

  70% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideIn03 {
  0% {
    opacity: 0;
  }

  20% {
    opacity: 0;
    transform: translateY(500px);
  }

  80% {
    opacity: 1;
    transform: translateY(0);
  }
}













/* point ここまで */







/* 5つのポイントここから */

.five_point {
  margin-top: 50px;
  margin-bottom: 100px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.five_point p {
  text-align: center;
  /* line-height: 50px; */
}


span.five {
  color: #11b2d8;
  font-size: 3.4rem;
  font-weight: bold;
}

span.yl {
  color: #FCB900;
  font-size: 4.0rem;
  font-weight: bold;
}




.point h2 {
  margin-top: 350px;
  margin-left: 210px;
  font-size: 2.5rem;
  text-align: left;
}


h2.point_bl {
  font-size: 3rem;
  color: #11b2d8;
  margin: 5px 0;
}

h2.point_yl {
  font-size: 3rem;
  color: #FCB900;
  margin: 5px 0;
}

h2.point_pk {
  font-size: 3rem;
  color: #F080AF;
  margin: 5px 0;
}



.cruiser {
  margin: 0 auto;
  width: 550px;
  height: auto;
}


.point_inner {
  margin: 0 auto;
  margin-top: 98px;
  margin-left: 10px;
  width: 450px;
  height: 580px;
}

.point_inner h2 {
  text-align: left;
}


.point_inner p {
  font-size: 1.8rem;
  line-height: 22px;
  margin-top: 5px;
  text-align: left;

}

/* 5つのポイントここまで */



/* menu */
.slide-in {
	overflow: hidden;
    display: inline-block;
    padding: 0 10px;/*英語がはみ出るので見えるように余白追記*/
}

.slide-in_inner {
	display: inline-block;

}



/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #999;/*矢印の色*/
    border-right: 2px solid #999;/*矢印の色*/
    height: 15px;
    width: 15px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/



#menu {
  margin: 0 auto;
  padding: 80px 0 60px;
}

#menu section a {
  width: 277px;
  text-decoration: none;
  color: #000;
  font-size: 1.6rem;
}


#slider_course_menu a {
  margin:  0 auto;
  text-decoration: none;
  color: #000;
  font-size: 1.6rem;
}

#menu section h3,
#slider_course_menu h3 {
  background-color: #11b2d8;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  margin: 0 0 10px 0;
}

#menu section p,
#slider_course_menu p {
  font-size: 1.6rem;
  padding: 5px;
 
}

#menu img,
#slider_course_menu img {
  width: 350px;
  height: 250px;
}
#menu .menu-area {
  background-color: #FFF;
  width: 350px;
  height: 470px;
}
#menu .menu-area p{
  padding: 5px;
  
 }
 

#menu .menu-btn,
#slider_course_menu .menu-btn {
  text-align: center;
  margin: 50px 0 0 0;
}


/*　7-9 波紋　*/
.circle {
  width: 100%;
}


.circle span.mask{
	position: relative;/*波紋の基点となる位置を定義*/
}

.circle span.mask::before {
	position: absolute;
	content: '';
	transform: scale(0);/*円の大きさ初期値は0*/
	opacity: 0;/*透過0*/
	width:100%;/*円のサイズ指定*/
	height:100%;/*円のサイズ指定*/
	border-radius:50%;/*円の角丸指定*/
	background: rgba(255,255,255,0.2);/*円の背景色*/
}

.circle span.mask:hover::before {/*hoverした時の変化*/
	animation: circle 0.75s;/*アニメーションの名前と速度を定義*/
}

@keyframes circle {
  0% {
  transform: scale(0);
  opacity: 1;/*透過なし*/
  }
  30% {
    opacity: 1;
  }
  100% {
  transform: scale(2);/*アニメーションで大きくなった2倍の円の指定*/
  }
}





 #slider_course_menu {
  display: none;
 }
 









/* 人気ベストプラン・コースツアー一覧・貸出一覧まとめ */


/*==================================================
スライダーのためのcss
===================================*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
    margin:0 auto;
}

.slider img {
  width:60vw;
  height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
  transform: scale(0.8);/*左右の画像のサイズを80%に*/
  transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
  opacity: 0.5;/*透過50%*/
}
.slider .slick-slide.slick-center{
  transform: scale(1);/*中央の画像のサイズだけ等倍に*/
  opacity: 1;/*透過なし*/
}




/*ドットナビゲーションの設定*/

.slick-dots {
    text-align:center;
  margin:20px 0 50px 0;
  
}



.slick-dots li {
    display:inline-block;
  margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:12px;/*ドットボタンのサイズ*/
    display:block;
    border: none;
    border-radius:50%;
    background:#11B2DB;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#FCB900;/*ドットボタンの現在地表示の色*/
}

.slick-dots li button:before {
  font-size: 26px;
}









/* .box {
  display: inline-block;
} */

.plan {
  max-width: 1000px;
  /* height: 664px; */
  display: flex;
  justify-content: center;
  margin: 0 auto;

}

h2.best_plan {
  margin-top: -10px;
}



.plan_group {
  margin: 0 auto;
  width: 320px;
  height: 535px;
  margin: 10px;
  background-color: #fff;
}

.plan_group img {
  width: 350px;
  height: 250px;
  object-fit: cover;
}
 
p.plan_p {
  text-align: left;
  padding: 5px;
  font-size: 1.5rem;
  height: 90px;
}


.plan_price p {
 padding: 3px;
  text-align: center;
  font-size: 1.6rem;
}


.plan_group h3 {
  color: #5ab4bd;
  font-size: 2.0rem;
  font-weight: bold;
  border-bottom: 5px dotted #FCB900;
  text-align: center;
  margin: 5px;
  padding: 3px;
}


.course h2 {
  text-align: center;
  font-size: 3.6rem;
  font-weight: bold;
  color: #11b2d8;
}


h2.best_plan {
  margin-top: -10px;
}





.list_group img,
.slider_group img {
  width: 350px;
  height: 250px;
  object-fit: cover;
}



/* これは別 */
.plan_p {
  text-align: center;

}


.plan_p p {
  text-align: center;
  font-weight: bold;
}

p.plan {
  text-align: center;
}


p.money {
  color: #11b2d8;
  font-size: 2.2rem;
  font-weight: bold;
}



.list_p span {
  justify-content: center;
  color: #11b2d8;
  font-size: 2.2rem;
  font-weight: bold;
}


.plan_price {
  width: 100%;
  height: 134px;
}

/* list group */

.list {
  margin: 0 auto;
  margin-top: 80px;
  margin-bottom: 40px;
  width: 1100px;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  box-sizing: border-box;
}

.list_group h3,
.slider_group h3 {
  color: #11B2DB;
  font-size: 2.0rem;
  font-weight: bold;
  text-align: center;
}


.wave {
  min-height: 760px;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 60px 0 80px;
  box-sizing: border-box;
}

/* セクションごとの背景色 */
.wave--about {
  background-color: #D4EDF7; /* ショップ紹介：薄い水色 */
}

.wave--plans {
  background-color: #FFF5E0; /* 人気プランBEST3：薄いクリーム */
}

.wave--price {
  background-color: #E0F2F0; /* 料金一覧：薄いティール */
}

.wave--instagram {
  background-color: #F0F4F8; /* Instagram：薄いグレーブルー */
}

.course {
  margin: 0 auto;
  padding-bottom: 14px;
  margin-top: 5px;

}

/* ウミガメのロゴ */
.list_logo img {
  margin-top: 36px;
}

.list_logo h2 {
  margin: 0 auto;
  margin-top: -43px;
  width: 350px;
  color: #000;
  font-size: 2.8rem;
  text-align: center;
}

.list_group,
.slider_group {
  width: 350px;
  height: 540px;
  background-color: #fff;
  margin-top: 20px;
}

.list_logo {
  width: 350px;
  height: 40px;
  margin-bottom: 30px;
}

/* 上でまとめてるけど残す */
.list_group p,
.slider_group p {
 margin: 10px;
 height: 150px;
 font-size: 1.6rem;
 
}

.list_p p {
  border-top: 5px dotted #FCB900;
  text-align: center;
  font-weight: bold;
  margin-bottom: -20px;
}



.list h3 {
  width: 350px;
  font-size: 1.8rem;
  font-weight: 500;
  background-color: #11B2DB;
  color: #fff;
  text-align: center;
  padding-bottom: 3px;
  margin-bottom: 3px;
}


/* rental レンタルここから*/

.rental_top {
  margin-top: 80px;
  margin-bottom: 40px;
}

.rental {
  margin: 0 auto;
  margin-bottom: 20px;
  /* width: 1100px; */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;

}

.rental_group {
  width: 320px;
  margin: 5px;
  /* margin-bottom: 14px; */
  background-color: #fff;

}


.rental_group img {
  width: 320px;
  height: 230px;
  object-fit: cover;
}

.rental_group h3 {
  background-color: #11b2d8;
  color: #fff;
  text-align: center;
}

.rental_group p {
  font-size: 1.6rem;
  padding: 10px;
  margin-top: 10px;
}

/* rentalここまで */


/* .price    料金一覧ここから */
.price {
  margin: 0 auto;
  margin-top: 40px;
  margin-bottom: 80px;
  display: flex;
  width: 1000px;
  max-width: 100%;
  flex-direction: row-reverse;
  box-sizing: border-box;
}


.price img {
  width: 350px;
  height: auto;
  margin-left: 6px;
  z-index: 2;
}


/* テーブルここから */




table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  max-width: 700px;
  height: 500px;
  z-index: 2;
}

table tr {
  background-color: #fff;
}

table th,
table td {
  text-align: center;
  padding: 3px 10px;
  border-bottom: 1px solid #eee;
  z-index: 2;
}

table thead th,
table thead tr {
  background-color: #FFC107;
  color: #fff;
  font-weight: bold;
  z-index: 2;
  font-size: 1.8rem;
  padding: 10px;
  font-weight: 600;

}


/* table td,td:nth-child(2n) {
  background-color: #FFC107;
  color:#000;
} */


table tbody th {
  text-align: left;
  font-size: 1.8rem;
  font-weight: bold;
}

table tbody td {
  text-align: right;
  font-size: 1.8rem;
}


/* .price    料金一覧ここまで */

/* instagram ここから */

.instagram_wrapper {
  margin: 0 auto;
  margin-top: 40px;
  margin-bottom: 40px;
  width: 1000px;
  max-width: 100%;
  min-height: 800px;
  box-sizing: border-box;
}

.instagram_wrapper p {
  margin: 60px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
}

ul.instagram {
  /* background-size: auto;
  background-position: -20px -200px; */
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  padding: 0 20px;

}

.instagram li {
  width: fit-content;
  height: fit-content;
}

.instagram img {
  margin: 3px;
  width: 220px;
  height: 220px;
  object-fit: cover;
  vertical-align: top;
}

.instagram video {
  margin: 3px;
  width: 220px;
  height: 220px;
  object-fit: cover;
  vertical-align: top;
}


/* instagram ここまで*/

.follow {
  margin: 0 auto;
  margin-top: 40px;
  margin-bottom: 50px;
  text-align: center;
}

.follow h2 {
  color: #11b2d8;
}

.follow p {
  padding-bottom: 10px;
}

.follow img {
  margin: 10px;
}


.h_Price {
  position: relative;
  padding-top: 80px;
  padding-bottom: 30px;
  font-size: 26px;
  text-align: center;
  color: #000;
}

.heading06 {
  position: relative;
  z-index: 2;
  margin-top: 30px;
  padding-top: 64px;
  padding-bottom: 30px;
  font-size: 26px;
  text-align: center;
  color: #000;
}

.best_plan {
  position: relative;
  z-index: 2;
  margin-top: 2px;
  padding-top: 10px;
  font-size: 26px;
  text-align: center;
  color: #000;
}

.best_plan::before {
  content: attr(data-en);
  position: absolute;
  top: -115px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(250, 183, 0, 0.560);
  font-size: 7.8rem;
  font-weight: bold;
  font-style: italic;
}


.heading06::before {
  content: attr(data-en);
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(250, 183, 0, 0.560);
  font-size: 7.8rem;
  font-weight: bold;
  font-style: italic;
}

.h_Price::before {
  content: attr(data-en);
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(250, 183, 0, 0.560);
  font-size: 7.8rem;
  font-weight: bold;
  font-style: italic;
}







.heading06 a {
  margin-left: 8px;
  text-decoration: none;
  color: #11b2d8;
}





/* 
.heading06::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%) rotate(30deg);
	width: 1px;
	height: 40px;
	background-color: rgba(224,66,114,1);
} */








/* footerここから */

.footer_content {
  background: linear-gradient(to top, transparent 0%, transparent 70%, #E6F4F1 100%), url(../images/miyako.jpeg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
}



.footer_local {
  background-color: rgba(255, 255, 255, 0.5);
  margin: 0 auto;
  margin-top: 70px;
  display: flex;
  justify-content: space-evenly;
  align-content: space-evenly;
  max-width: 900px;

}

.footer_nav1,
.footer_nav2 {
  padding: 44px;
  text-align: left;
  line-height: 23px;

}

.footer_nav1 p,
.footer_nav2 p {
  margin: 8px;
  text-align: left;
  font-size: 1.8rem;
}

.footer_nav1 a,
.footer_nav2 a {
  font-size: 1.6rem;
  text-decoration: none;
  color: #000;
}

.footer_nav1 a:hover,
.footer_nav2 a:hover {
  color: #FCB900;
  text-decoration: underline;
}









.address {
  max-width: 900px;
  padding-bottom: 40px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}

.address iframe {
  max-width: 100%;
}


.address_p {
  background-color: rgba(255, 255, 255, 0.5);
  width: 400px;
  padding: 8px;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  margin-left: 10px;
}

.telicon {
  margin-top: 10px;
}

.address_p span {
  font-size: 2.2rem;
  font-weight: 500;
  color: #1c1c1c;
}

.footer_bottom {
  text-align: center;
  color: #000;
}

/* コース一覧とレンタルと料金のボタン */
a.btn_2 {
  display: block;
  text-align: center;
  /* vertical-align: middle; */
  text-decoration: none;
  width: 138px;
  margin: 0 auto;
  font-weight: bold;
  border: 2px solid #27acd9;
  color: #27acd9;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

a.btn_3 {
  display: block;
  text-align: center;
  position: left;
  text-decoration: none;
  width: 260px;
  margin: -6px auto;
  margin-left: 20px;

  padding: 1rem 2rem;
  font-weight: bold;
  border: 2px solid #27acd9;
  color: #27acd9;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

a.btn_4 {
  display: block;
  text-align: center;
  position: left;
  text-decoration: none;
  width: 260px;
  margin: 0 auto;
  margin-top: 116px;
  padding: 1rem 2rem;
  font-weight: bold;
  border: 2px solid #27acd9;
  color: #27acd9;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
}




a.btn_2::before,
a.btn_3::before,
a.btn_4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(39, 172, 217);
  transform: translateX(-100%);
  transition: all .3s;
  z-index: -1;
}

a.btn_2:hover::before,
a.btn_3:hover::before,
a.btn_4:hover::before {
  transform: translateX(0);
}

a.btn_2:hover,
a.btn_3:hover,
a.btn_4:hover {
  color: #fff;
}


/* コース一覧とレンタルと料金のボタンここまで */










.circle_btn02 {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  max-width: 300px;
  /* ボタンの最大幅 */
  padding: 1em 2em;
  color: initial;
  /* 文字色 */
  transition: 0.3s ease-in-out;
  font-weight: bold;
  text-decoration: none;
}

.circle_btn02::before,
.circle_btn02::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.circle_btn02::before {
  width: 0.5em;
  height: 0.5em;
  left: 1em;
  border-top: solid 2px #fff;
  /* 矢印の色 */
  border-right: solid 2px #fff;
  /* 矢印の色 */
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition:
    all 0.3s;
}

.circle_btn02::after {
  left: 0;
  background: #4D9BC1;
  /* 背景色 */
  z-index: 1;
  width: 3em;
  height: 3em;
  border-radius: 3em;
  transform: translateY(-50%);
  transition: all 0.5s;
}

.circle_btn02 span {
  position: relative;
  transition: all 0.3s;
  z-index: 3;
}

/* マウスオーバーした際のデザイン */
.circle_btn02:hover span {
  color: #fff;
  /* 文字色 */
}

.circle_btn02:hover:before {
  left: 2rem;
}

.circle_btn02:hover:after {
  right: 0;
  width: 100%;
}




/* お問い合わせと電話予約はここ */

.cta_btn09 {
  margin: 60px auto;
  font-weight: 400;
  /* 文字の太さ */
  text-align: center;
  letter-spacing: 0.1em;
  align-items: center;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;

}

.cta_btn09-contact,
.cta_btn09-tel {
  color: #fff;
  /* 文字色 */
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 5px 14px 14px 60px;  border-radius: 100vh;
  width: 280px;
  /* ボタン幅 */
  max-width: 350px;
  /* 最低ボタン幅 */
  transition: 0.3s;
}

.cta_btn09-contact {
  background: #FCB900;
  /* お問い合わせボタン色 */
}

.cta_btn09-tel {
  background: #11b2d8;
  /* 電話ボタン色 */
}

.cta_btn09-contact::before,
.cta_btn09-tel::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: cover;
}

.cta_btn09-contact::before {
  width: 42px;
  height: 42px;
  background-image: url(../images/mail2.png);
  /* メールアイコン */
}

.cta_btn09-tel::before {
  width: 46px;
  height: 46px;
  background-image: url(../images/tel2.png);
  /* 電話アイコン */

}

.cta_btn09 .copy_txt {
  line-height: 1;
  display: inline-block;
  padding: 0.2em 1.5em;
  letter-spacing: 0;
  background: #fff;
  /* 下文字背景色 */
  font-size: 1.8rem;
  /* 下文字サイズ */
  border-radius: 5px;
}

.cta_btn09-contact .copy_txt {
  color: #F88400;
  /* 下文字色 */
  margin-top: 3px;
}

.cta_btn09-tel .copy_txt {
  color: #4D9BC1;
  /* 下文字色 */
  margin-top: 3px;
}

.cta_btn09 img {
  width: 1em;
  margin-right: 0.5em;
}

/* マウスオーバーした際のデザイン */
.cta_btn09-contact:hover,
.cta_btn09-tel:hover {
  transform: scale(1.05);
}



/* 丸いボタン
 */

.circleicon2 {
  position: relative;
}

.circleicon1 {
  border: 12px solid #11B2DB;
  border-radius: 50%;
  /* display: flex;
     justify-content: center; */
  /* align-items: self-end; */
  width: 250px;
  height: 250px;
  background: #fff;
  color: #1c1c1c;
  text-decoration: none;
  text-align: center;
  margin: 10px 0;
  position: absolute;
  top: -286px;
  right: 30px;
}



span.circle1 {
  display: inline-block;
  width: 230px;
  height: 230px;
  margin: 0 auto;

}

span.circle1 p {
  font-size: 1.6rem;
}


.circle1 {
  border-radius: 100%;
  width: 280px;
  height: 280px;
  box-sizing: border-box;
  border: 5px dashed #FCB900;
  animation: 20s linear infinite rotation;

}

@keyframes rotation {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}


.circleicon1 p {
  font-size: 1.4rem;
  font-weight: bold;
  padding: -40px;
}

.circleicon1 span {
  color: #343a40;
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 10px;
  margin-bottom: -188px;
  padding-right: 10px;

}


.rounded-button {
  margin: 0 auto;
  margin-top: 6px;
  padding: 8px 12px;
  background-color: #F080AF;
  border: none;
  border-radius: 20px;
  /* 角丸の設定 */
  color: white;
  font-size: 1.6rem;
}

/* 

 .example2-2{
     border: 3px solid #2544c6;
    border-radius: 100px;
     display: block;
     width: 200px;
     padding: 15px;
     box-sizing: border-box;
     background: #eaf2fc;
     color: #333;
     text-decoration: none;
     text-align: center;
     margin: 10px 0;
 }

 */

/* お問い合わせと電話予約はここまで */


/* ボタンここまで */
  /* 下からふわっと繰り返すやつはここ */
/*===========
inview
===========*/

.fadeIn_right {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/*
fadeinクラスの要素が画面下にきたタイミングで、jQueryのinviewにてshowクラスを追加して
「transform: translate(0, 0);」と「opacity: 1;」で表示させる
※main.jsの「フェード表示」を参照
*/
.fadein.show {
  transform: translate(0, 0);
  opacity: 1;
}

/*===========
inview
===========*/

.fadeIn_left {
  opacity: 0;
  transform: translate(-50%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}



/* フェードイン用のCSS */

.wow {
  visibility: hidden;
  animation-name: fadeInUp;
  animation-duration: 3s;
  animation-timing-function: ease;
  z-index: 3;
}

@keyframes fadeInUp {
  0% {
    transform: translateY(100%);
    visibility: visible;
  }
  100% {
    transform: translateY(0);
  }
}
/* .wow {
  opacity: 0; 
  transform: translateX(50px);
  animation-name: fadeInRight;
  animation-duration: 2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(50px); 
  }
  100% {
    opacity: 1;
    transform: translateX(0); 
  }
} */



















/* 

.slide-bottom {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1.3s 0s ease-out;
}



:root {
  --animate-duration: 5s;
}


.box {
  animation-fill-mode: forwards;
  align-items: center;
  background-color: #3cb371;
  color: #fff;
  display: flex;
  font-size: 14px;
  height: 120px;
  justify-content: center;
  margin: 500px auto;
  width: 120px;
} */


/* アニメーション定義 */
/* 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);
  }
} */


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeUpTrigger {
  opacity: 0;
}

/* アニメーション定義 */


.card {
  background-color: #77cce9;
  clip-path: circle(80px at 50% 50%);
}


/*　　プランページここから　　*/

.diving_img {
  margin-bottom: 50px;
}

.diving_img img {
  margin: 0 auto;
  width: 1366px;
  max-width: 100%;
  height: 400px;
  object-fit: cover;
  background-repeat: no-repeat;
  padding-top: 60px;
  display: block;
}

/* 

.plan_main {
  flex-wrap: wrap;
  align-content: flex-end;
  margin-bottom: 20px;

} */

/* プランページ：セクション間の余白 */
.plan_main .bg1,
.plan_main .bg2,
.plan_main .bg3,
.plan_main .bg4 {
  margin-bottom: 40px;
}

.plan_main {
  margin-bottom: 60px;
}

.bg1 {
  background-image: url(../images/footer.jpeg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 130px;
  height: 290px;
}

.bg2 {
  background-image: url(../images/plan_10.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 130px;
  height: 290px;
}

.bg3 {
  background-image: url(../images/plan_11.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 130px;
  height: 290px;
}

.bg4 {
  background-image: url(../images/plan_13.JPG);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0 130px;
  height: 290px;
}


.plan_1 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  height: 290px;
  background-color: #ffffff;
}

.plan_2 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  height: 290px;
  background-color: #eceff3;
}




.plan_1 img,
.plan_2 img {
  max-width: 250px;
  height: 250px;
  object-fit: cover;
}

/* .plan_10_text {
  max-width: 700px;
  font-size: 1.6rem;
  background-color: #fff;
} */

.plan_1 h2,
.plan_2 h2 {
  font-size: 1.8rem;
  font-weight: 400;
  width: 336px;
  height: 20px;
  margin-bottom: 3px;
  background-image: repeating-linear-gradient(-45deg, rgba(248, 200, 220, 1), rgba(248, 200, 220, 1) 2px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 5px);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: right;
  margin-top: 10px;
  margin-left: 12px;
  padding-bottom: 8px;
  color: #353535;
  text-align: left;
}


.hr2 {
  border: 1px dashed #000;
  width: 636px;
  margin: 0 auto;
}


.plan_text {
  font-size: 1.6rem;
  background-color: #fff;
  height: 250px;
}

.plan_text p {
  margin: 10px;
  width: 632px;
  height: 122px;
}




/* ハンバーガーメニューここから */

.openbtn{
	position: fixed;
  top: 20px;
	right: 5px;
	z-index: 10;
  background:#11b2d8;
  cursor: pointer;
    width: 50px;
    height:50px;
  border-radius: 5px;
  display: none;
}


.openbtn span {
  display: inline-block;
  transition: all .4s;/*アニメーションの設定*/
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 5px;
background: #fff;
width: 45%
  }

.openbtn span:nth-of-type(1) {
  top:13px; 
}

.openbtn span:nth-of-type(2) {
	top:19px;
}

.openbtn span:nth-of-type(3) {
	top:25px;
}

.openbtn span:nth-of-type(3)::after {
  content:"Menu";
  position: absolute;
  top:6px;
  left:-2px;
  color: #fff;
  font-size: 0.9rem;
  text-transform: uppercase;
}


.openbtn.active span:nth-of-type(1) {
  top: 14px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
  top: 26px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

.openbtn.active span:nth-of-type(3)::after {
content:"Close";/*3つ目の要素のafterにClose表示を指定*/
  transform: translateY(0) rotate(-45deg);
top:5px;
left:3px;
  font-size: 0.9rem;
}

.burger-nav {
	display: block;
	justify-content: space-around;
}

.menu_inner li a {
  color: #000;
}


.menu {
  background-color: #11b2d8;
  width: 50%;
	height: 100%;
	padding-top: 30px;
  position: fixed;
  top: 0;
  right: -100%;
  transition: 0.5s;
  z-index: 4;
	overflow-y: scroll;
}

.menu.active {
  right: 0;
}


.menu_inner {
  line-height: 2;
  font-size: 1.8rem;
  text-align: center;
	margin: 0 auto;
	color: #000000;
}


@media screen and (max-width:1024px) {


	.menu .flex_right {
		margin-bottom: 20px;
	}
	

	.openbtn {
		display: block;
	}

}




/* ここからハンバーガーメニュー */
@media screen and (max-width:768px) {
.hamburger_btn {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  clip: auto;
}
.hamburger_btn span {
  display: block;
  height: 2px;
  /* ↑3本線それぞれの太さ */
  width: 20px;
  /* ↑線の長さを設定 */
  margin-bottom: 6px;
  /* ↑線と線の距離 */
  background-color: #000;
  /* ↑線の色 */
  transition: 0.5s;
}

.hamburger_btn.active span:nth-child(1){
  /* ↑ボタンがクリックされた後、1本目を斜めにする処理 */
  transform: rotate(45deg) translate(5.5px,5.5px);
  background-color: #000;
  /* ↑ボタンがクリックされた後の線の色 */
}
.hamburger_btn.active span:nth-child(2){
  /* ２本目の線を非表示に */
  opacity: 0;
}
.hamburger_btn.active span:nth-child(3){
  /* １本目の線と逆方向に斜めにする処理 */
  transform: rotate(-45deg) translate(5.5px,-5.5px);
  background-color: #000;
  /* ↑ボタンがクリックされた後の線の色 */
}



.hamburger_menu {
  background-color: rgba(255, 255, 255, 0.5);
  /* ナビゲーションの背景色 */
  width: 100%;
  /* 画面に対して横幅いっぱいに、半分にしたい場合は50％ */
  position: fixed;
  bottom: 0;
  right: -100%;
  /* 右画面外配置して固定 */
  transition: 0.5s;
  /* 0.5五秒間かけて変化 */
  z-index: 9998;
  /* メニューの重なり順を一番上 */
}

.hamburger_menu.active {
  right: 0;
}

.hamburger_menu ul {
  height: 100vh;
  /* 画面に対して高さ100％ */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
}

.hamburger_menu ul li {
  list-style-type: none;
  text-align: center;
  margin-bottom: 1%;
}

.hamburger_menu ul li a {
  color: #000;
  text-decoration: none;
}

.footer_ad {
  margin: 15px;
  padding: 10px;
}

}

/* カレンダー */




.grid {
  display: grid;
}

.container {
  background-color: #fff;
  max-width: 1200px;
  /* height: 398px; */
  margin: 0 auto;
  margin-top: 3rem;
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}


.c-calender {
  width: 20%;
  margin: 0 auto;
  padding: 2rem;
  background-color: #fff;
}

.c-calender__header {
  width: 100%;
  position: relative;
  padding: 1.5rem 0;
}

.c-calender__header span {
  width: 1rem;
  height: 1rem;
  border-top: 0.2rem solid #333;
  border-right: 0.2rem solid transparent;
  border-left: 0.2rem solid #333;
  border-bottom: 0.2rem solid transparent;
  position: absolute;
  top: 2.6rem;
}

.c-calender__header .arrow-right {
  transform: rotate(135deg);
  right: 5rem;
}

.c-calender__header .arrow-left {
  transform: rotate(-45deg);
  left: 5rem;
}

.c-calender__header p {
  width: 100%;
  text-align: center;
  font-size: 2.0rem;
  font-weight: bold;
}

.c-calender__day {
  height: 6rem;
  grid-template-columns: repeat(7, 1fr);
  align-content: center;
  border-bottom: 0.5px solid #ccc;
}

.c-calender__day span {
  display: block;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
}

.c-calender__day .sun {
  color: red;
}

.c-calender__day .sat {
  color: blue;
}

.c-calender__date {
  grid-template-columns: repeat(7, 1fr);
  grid-auto-rows: 35px;
  gap: 1px;
  margin-top: 3rem;
}

.c-calender__date span {
  display: block;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
}

.c-calender__date span:not(:empty) {
  border: 2px solid #ccc;
}

.c-calender__date span:not(:empty):not(.full):hover {
  background-color: #FEE104;
}

.c-calender__date span:nth-child(7n) {
  color: blue;
}

.c-calender__date span:nth-child(7n+1) {
  color: red;
}

.c-calender__date .full {
  background-color: #ccc;
}


.c-calender__date .slightly {
  background-color: #F9F871;
}

.c-calender__date .possible {
  background-color: #F080AF;
}

.contact span {

  /* 7の倍数のみ色を青にする */
  &:nth-child(7n) {
    color: blue;
  }

  /* 7の倍数+1のみ色を青にする */
  &:nth-child(7n+1) {
    color: red;
  }
}

/* &:not(:empty){    
  border: 2px solid #ccc;
  &:not(.full):hover{    
    background-color: #FEE104;
  }
} */
/* 
//空要素ではない(:blankでも可)
//fullクラスが付いていないものにhover処理 */

.situation {
  margin: 50px 15px;
  width: fit-content;
  height: 150px;
  font-size: 2.2rem;
  border: 2px dotted #F080AF;
  background-color: #fff;
  padding: 20px;
}

span.s_bl {
  color: #F080AF;
}

span.s_yl {
  color: #F9F871;
}

span.s_gy {
  color: #ccc;
}


.Reserve p {
  text-align: center;
  font-size: 2.0rem;
}

/* ボタンはここ */


.btn2 {
  margin: 0 auto;
  margin-top: 10px;
}

.btn a {
  display: block;
  width: 180px;
  font-size: 1.8rem;
  line-height: 50px;
  text-align: center;
  color: #FCB900;
  border: 1px solid #FCB900;
  margin: 0 auto;
  transition: all  0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn a:hover{
  color: #fff;
  background-color: #FCB900;
}

.yazirusi {
  display: flex;
} 

.yazirusi::after {
  content: '';
  width: 30px;
  height: 8px;
  border-bottom: solid 1px;
  border-right: solid 1px;
  transform: skew(45deg);
}




/* カレンダーここまで */

/*----contact.htmlここから----*/

.contact_mv {
  margin-top: 60px;
  height: 330px;
  background-image: url(../images/contact.jpeg);
  background-repeat: no-repeat;

}

.contact_mv h1 {
  font-size: 6.2rem;
  font-weight: bold;
  padding-top: 30px;
  padding-left: 90px;
  color: rgba(0, 0, 0, 0.500);
}

.contact_mv p {
  font-size: 3.5rem;
  font-weight: bold;
  padding-top: -130px;
  padding-left: 110px;
  color: rgba(0, 0, 0, 0.500)
}




.contact-ttl {
  font-size: 2.0rem;
  font-weight: 500;
  margin: 10px 0;
  text-align: center;
}

.contact-table {
  max-width: 860px;
  margin: 0 auto;
}



.contact-item,
.contact-body {
  padding: 10px;
  border: 1px solid #6d5e5e;
}

.contact-item {
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  width: 350px;
  background-color: #f2f3ff;
}

.contact-body {
  width: 700px;
  text-align: left;
  font-size: 1.8rem;
  font-weight: 400;
}

.form-text {
  text-align: left;
  font-weight: 400;
  width: 300px;
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
}


.contact-sex-txt {
  margin-right: 5px;
}

.form-select {
  width: 180px;
  height: 40px;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.form-day {
  width: 110px;
  height: 34px;
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 1.6rem;
  color: #000;
}


.form-textarea {
  width: 300px;
  padding: 10px;
  height: 80px;
  border-radius: 5px;
  border: 1px solid #ccc;
  font-size: 1.6rem;
  box-sizing: border-box;
  resize: none;

}

.contact-skill {
  margin-top: 4px;
}

.contact-submit {
  margin: 0 auto;
  width: 250px;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  background-color: #FCB900;
  padding: 20px;
  margin: -16px 0;
  border-radius: 10px;
  border: none;
}

.tel_box {
  margin: 0 auto;
  padding-top: 30px;
  width: 350px;
  font-size: 1.8rem;
  text-align: center;

}

.submit_wrap {
  width: fit-content;
  margin: 40px auto 50px;
}


.re_inner {
  width: 800px;
  height: 620px;
  background-color: #fff;
  margin: 30px auto;
  /* padding: 30px; */

}

hr.re_hr {
  border: 1px dashed #000;
  width: 650px;
  margin: 0 auto;
  margin-top: 30px;
}


.re_inner h2 {
  color: #000;
  text-align: center;
  font-size: 1.6rem;
}

.re_inner p {
  text-align: center;
  margin-top: 14px;
}

p.tel_p {
  font-size: 2.8rem;
  margin-top: 2px;
}

label.checkbox {
  display: block;
  margin: 30px auto 0;
  text-align: center;
}

p.check {
  margin: 0 auto;
  margin-top: 23px;
  text-align: left;
  width: 700px;
}

#medical_btn {
  margin: 0 auto;
  margin-top: 23px;
  width: 520px;
  background-color: #FCB900;
  color: #fff;
  padding: 8px 18px;
  text-decoration: none;
  font-size: 1.4rem;
  text-align: center;
}

#medical_btn2 {
  margin: 0 auto;
  width: 520px;
  background-color: #F080AF;
  color: #fff;
  padding: 8px 18px;
  text-decoration: none;
  font-size: 1.4rem;
  text-align: center;
}

#medical_btn:hover,
#medical_btn2 {
  color: #fff;
  opacity: 0.8;
}

#medical_btn a,
#medical_btn2 a {
  text-decoration: none;
}


.index .wrapper .news h2.space-grotesk-gtext {
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}




/*----contact.htmlここまで----*/






/* メディアクエリここから */



@media screen and (max-width:1024px) {


	.menu .flex_right {
		margin-bottom: 20px;
	}
	
  .global_local {
    display: none;
  }
  .button-box {
    display: none;
  }
  .list_group,
  .list_logo {
    display: none;
  }
  #slider_course_menu {
    display: block;
   }
}

@media screen and (max-width: 768px) {
  .wrapper {
    padding: 0 20px 60px;
  }

  .header_inner {
    width: 100%;
    max-width: 100%;
    padding: 0 50px 0 15px;
    box-sizing: border-box;
  }

  .global_local {
    width: 100%;
  }

  .nav_menu {
    width: 100%;
  }

  .icon {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 120px;
    flex-wrap: wrap;
    padding: 0 15px;
    box-sizing: border-box;
  }

  .tabs {
    margin: 0 auto;
    width: 100%;
  }

  .wow {
    display: none;
  }



  /* ファーストビューのところ */
  .slide img {
    width: 100%;
  }


  .circle1 {
    display: none;
  }

  .circleicon1 {
    display: none;
  }


  .circleicon2 {
    width: 100%;
    border-radius: 0%;
  }


  /* 5つのポイントのところ */

  .five_point img {
    width:100%;

  }

  .cruiser {
  margin: 0 auto;
  width: 50%;
}


  .five_point {
    margin:0 auto;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
  }

  .point_inner{
    margin-top: 45px;
    height: auto;

  }

  .point_inner p {
    font-size: 1.8rem;
    color: #000;
  }

  
h2.point_bl,
h2.point_yl,
h2.point_pk {
  font-size: 2.0rem;
 
}


  .point_img {
    display: block;
    justify-content: space-around;
    width: 70%;
    height: auto;
    margin: 0 auto;
    margin-top: 128px;
  }

  .kumanomi {
    display: block;
  }
 
 
.umigame1 {
  margin-top: 100px;

 
}

  .point_text {
    width: 100%;
    margin: 0 auto;
  }

  /* .point_text h2,
  p {
    color: #fff;
  } */

  .course {
    margin-top: 30px;
  }

.plan {
    width: 100%;
  }


.plan_group {
  margin: 5px;
  margin-bottom: 10px;
  width: 260px;
  height: auto;

}


.plan_group img {
  width: 260px;
  height: 150px;
  object-fit: cover;
}



p.plan_p {
  color: #000;
  margin: 5px;
  height: 134px;
}


.course.wow {
  display: none;
}

.h_Price {
  margin: 0 auto;
}

/* コース一覧を縮小 */


.list {
  width: 100%;
}


.list_logo {
  display: none;
}






/* 料金一覧を縮小 */



.price
 {
  margin: 0 auto;
  margin-top: 17px;
  width: 100%;
  display: block;
}

.price_wrapper
 {
  height: auto;
  margin: 0 auto;
}

.price img {
  display: none;
}

table tbody th {
  font-size: 1.2rem;
}

table tbody td {
  font-size: 1.4rem;
}


/* レンタル縮小 */

.rental_top {
  margin-top: 30px;
 }

.rental {
  max-width: 100%;
  width: 100%;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

.list_group {
  margin: 0 auto;
  margin-bottom: 10px;
  width: 260px;
  height: 450px;

}

.rental_group {
  margin: 0 auto;
  margin-bottom: 10px;
  width: 260px;
  height: 405px;

}

.list_group img,
.rental_group img,
.slider_group img {
  width: 260px;
  height: 150px;
  object-fit: cover;
}

.plan_group h3,
.list_group h3,
.rental_group h3,
.slider_group h3
 {
  width: auto;
  font-size: 1.5rem;
}


.list_group p,
.rental_group p,
.slider_group p {
  width: auto;
  font-size: 1.6rem;
  height: 180px;
}
.heading06::before{
  top: -37px;
}

.instagram_wrapper{
  margin: 70px auto;
  width: 100%;

}

.ul.instagram {
  width: 50%;
    flex-wrap: wrap;
}


.instagram img,
.instagram video  {
  width: 150px;
  height: 150px;
}



.btn_2 {
  text-align: center;
  height: 40px;
  border-radius: 30px;
}

a.btn_2 {
  margin: 0 auto;
  
}


.btn2 {
  width: 230px;
}




}



/*  */
/* メディアクエリ */
/* max-width:780px */

/* .plan.htmlのページ */

@media screen and (max-width : 768px) {
  /* * {
    box-sizing: border-box;
  } */


  .cta_btn09 {
    display: block;
  }

  .cta_btn09-contact,
  .cta_btn09-tel {
    margin: 10px auto;
    font-size: 1.6rem;
  }

  .cta_btn09-contact::before {
    margin-right: 5px;
    width: 42px;
    height: 42px;
    background-image: url(../images/mail2.png);
    /* メールアイコン */
  }
  
  
  .cta_btn09,
  .copy_txt {
    margin: 0 auto;
    padding: 3px 3px;
    font-size: 1.6rem;
  }
  



/* 
  .plan_main {
    width: 100%;
    height: auto;
  } */

  nav.global_local {
    display: none;
  }

  .bg1,
  .bg2,
  .bg3,
  .bg4 {
    height: 250px;
  }




  .plan_1,
  .plan_2 {
    align-items: flex-start
  }

  .plan_text {
    width: 400px;
    margin: 0 auto;
    background-color: #fff;
  }

  .plan_text p {
    width: 380px;
    height: 126px;
    font-size: 1.4rem;
  }
  
.price {
 width: 100%;
}

  .price img {
    display: none;
  }
  .hr2 {
    width: 400px;
  }

  a.btn_3 {
    width: 230px;
    height: 20px;
    font-size: 1.4rem;
  }

  /* contact.htmlのページ */
  .re_inner {
    width: 100%;
    height: auto;
    /* margin: 15px */

  }

  p.check {
    padding: 20px;
  }

  


  /* 水平線 */
  .re_hr_top {
    width: 100%;
  }



  #medical_btn,
  #medical_btn2 {
    width: 300px;
  }
  #medical_btn a, #medical_btn2 a {
    font-size: 1.4rem;
    color: #000;
  }


  /* 予約状況のカレンダー */

  .container {
    display: block;
  }

  .c-calender {
    width: 90%;
    padding: 0;
    margin: 30px auto;
  }

  .c-calender__day grid,
  .c-calender__date grid {

    width: 100%;
  }
  .c-calender__date span {
    padding: 0.2rem;
  }







form {
  padding: 0 20px ;
}
  .contact {
    display: block;
    width: 100%;
    margin: 0 auto;
  }




  .footer_content {
    width: 100%;
    height: auto;
  }

  /* .footer_local {
    width: 100%;
  } */

  .footer_nav1,
  .footer_nav2 {
    margin-left: 5px;
    margin-right: 5px;
    height: auto;

  }

  .address {
    margin-top: 30px;
    margin-bottom: 40px;
    padding: 20px;
    display: block;
    text-align: center;
    height: auto;
  }

  .address p {
    margin: 0 auto;
  }

  iframe {
    text-align: center;
    width: 60%;
  }




}








/* max-width:480px */

@media screen and (max-width:480px) {
  .wrapper {
    width: 100%;
    padding: 0 15px 50px;
  }
  header {
    width: 100%;
    height: 70px;
  }

  .header_inner {
    width: 100%;
    max-width: 100%;
    padding: 0 50px 0 15px;
    box-sizing: border-box;
  }

  .visual_text p {
    font-size: 2.5rem;
    margin:356px 100px
  }

  #slider img {
    width: 100%;
  }

  /* ハンバーガー */
  /* デスクトップ用ナビは1024pxで非表示のため、.menu（ハンバーガー内）は表示したままにする */
  nav.global_local {
    display: none;
  }

  .icon {
    width: 100%;
    margin-bottom: 30px;
  }

  .slicknav_menu {
    display: block;
  }

  .diving_img img {
    width: 400px;
    height: auto;
  }

  .five_txt {
    width: 100%;
  }

  .tabs {
    margin: 0 auto;
    
  }

  .point_img {
    margin-top: 10px;
  }

  .point_inner {
    width: 100%;
    margin-left: 0;
  }

  h2.point_bl,
h2.point_yl,
h2.point_pk {
  padding-left: 10px;
  width: 200px;
  font-size: 1.6rem;
 
}

.slick-prev {
  left: 1.5%;
}

.slick-next {
  right: 1.5%;
}





.slider .slick-slide {
  margin:0 auto;
}

.slider {
  width: 100%;
}

  .point_inner p {
    padding: 10px;
    font-size: 1.5rem;
  }

  #menu img {
    width: 300px;
  }
  #menu .menu-area{
    width: 300px;
    height: 440px;
   
  }

  #menu .menu-area p{
   padding: 5px;
   
  }
  

  .plan {
    flex-direction: column;
    align-items: center;

  }

  .plan_1,
  .plan_2 {
    flex-direction: column
  }


  .plan_1 img, .plan_2 img {
    width: auto;
    height: auto;
  }

  .plan_1 h2, .plan_2 h2 {
    width: 222px;
  }

  .plan_text p {
    width: 250px;
  }

  
  .rental {
    width: 100%;
    
  }

  .rental_group {
    width: 200px;
    height: auto;
  }

  .rental_group img {
    width: 200px;
  }

  .rental_group p {
    font-size: 1.2rem;
    padding: 0 5px;
  }


  .heading06::before {
    top:-39px;
  }

  .heading06 {
    padding-top: 34px;
  }

  .instagram_wrapper {
    margin-top: 74px;
  }

  .instagram_wrapper p {
    font-size: 1.5rem;
  }

  .follow {
    margin-top: 50px;
  }
  .follow p {
    margin: 0 auto;
    font-size: 1.4rem;
  }
 
  .bg1,
  .bg2,
  .bg3,
  .bg4 {
    background-image: none;
  }

  .footer_nav1,
  .footer_nav2 {
    padding: 5px
  }



  .footer_nav1 p, .footer_nav2 p,
  .footer_nav1 a, .footer_nav2 a {
    font-size: 1.3rem;
  }

  .address p {
    width: 100%;
    font-size: 1.5rem;
  }
 
 .instagram img,
 .instagram video {
  width: 150px;
  height: 150px;
 }


 #menu section a,
 #slider_course_menu a {
   width: 170px;
   font-size: 1.5rem;
 }
 
 #menu section h3,
 #slider_course_menu h3 {
   font-size: 1.6rem;
 }
 
 #menu section p,
 #slider_course_menu p {
   font-size: 1.4rem;
   padding: 10px;
 }



}

/* メディアクエリここまで */