@charset "utf-8";
/*
    Version: 2.0.0
    Author: mugamuga
    Author URI: https://www.mugamuga.com/
*/
html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
}

/*各ページセット First*/
/* =Body
------------------------------------------*/

/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/noto-sans-jp-v52-japanese-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/noto-sans-jp-v54-japanese-500.woff2') format('woff2');
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/noto-sans-jp-v52-japanese-700.woff2') format('woff2');
}
/*--- navbars offcanvas ---*/

body { 
    padding-top: 0;/*ヘッダー上*/
    padding-bottom: 0;
    font-family:'Noto Sans JP', Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: 500;
	background-image: url("img/bg.webp"); /*cssからのパス*/
}

@media only screen and (min-width: 992px) {
    body { font-weight: 400;}
}

body, html {
    margin: 0;
    padding: 0;
	scroll-padding: 80px 0 0 0;/*nav ページ内リンク*/
    }
/*h1*/
.lead {
    background-image: url("img/bg-hdr-kujira.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    height: 32px;
    min-width:100%;/*全幅*/
    margin: 0;
    padding-top: 0.5em;
}

h1.lead-copy { color:rgba(255,255,255,1.00); font-size:0.6em; font-weight: 700; width: 98%;text-align: center; }

@media only screen and (min-width: 992px) {
    h1.lead-copy { text-align: center;}
}

/*--- スムーズリンク ---*/
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
/*ぼやけ対策*/
img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
}

/* =link
----------------------------------------- */
/*--- main用,navは別 ---*/
a:link, a:any-link {
	color: #00688c;
	text-decoration: none;
    transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;}

a:visited, a:hover {
	color:#000;
}

/* = Navbar
----------------------------------------- */
/* = Header Nav
----------------------------------------- */
.navbar { margin-bottom: 0!important; /*ナビ下余白なし*/}

.bg-org, .bg-mg { background: linear-gradient(180deg, rgba(254, 195, 34, 1), rgba(253, 161, 2, 1)); }

.offcanvas { background: linear-gradient(180deg, rgba(254, 195, 34, 1), rgba(253, 161, 2, 1)); }
.offcanvas-title { color: rgba(0,49,119,1); font-size: .85em; font-weight: bold;/*textの場合*/
}
.offcanvas-body {
    background: #5BBCFF;
    background: linear-gradient(180deg,rgba(199, 232, 255, 1) 0%, rgba(91, 188, 255, 1) 100%);
}
.offcanvas-footer { 
	display: block;
	background: #5BBCFF;}/*sns表示*/

@media only screen and (min-width: 1200px) {
/*PCのみ*/
	.offcanvas { background: none!important; }
    .offcanvas-body { background: transparent!important; }
    .offcanvas-footer { display: none!important; }
}

.navbar-brand { margin-left: 0; margin:0; padding:0;}
img.h-logo { width: 180px; height: 47px; }

@media (min-width: 1200px) {
    .navbar-brand { margin-left: 8rem;}
    img.h-logo { width: 193px; height: 40px; }
}

@media (min-width: 1400x) {
    .navbar-brand { margin-left: 8rem!important;}
    img.h-logo { width: 193px; height: 40px; }
}

/* スマホoffcanvas */
.bg-offcanvas {
    background: rgb(50,138,225);
    background: linear-gradient(90deg, rgba(85,189,247,1) 30%, rgba(56,147,229,1) 100%); 
}
/*PCのみ
@media only screen and (min-width: 1200px) {

	.offcanvas { background: none!important; }
    .offcanvas-body { background: transparent!important; }
}*/

/*--- ハンバーガー ---*/
.navbar-toggler, .navbar-toggler:focus {
    border-color: rgba(0,0,0,0);
    box-shadow: none;
}
/*ボタンホバーの枠線消す*/
.btn:focus {
    border-color: rgba(0,0,0,0);
    box-shadow: none;
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,49,119,1)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")!important;
  }
.navbar-toggler-icon::after {
    position: absolute;
    content: 'menu';
    font-size: 10px;
    top: 45px;
    right: 26px;
    color: #000;
}
/*--- offcanvasリンク色 ---*/
.offcanvas-body .nav-link { color: #111111; padding-left: 10px;} 

@media only screen and (min-width: 1200px) {
	.offcanvas-body .nav-link {color: #111111;}
	.offcanvas-body .nav-link:hover { color: #FFFFFF;}   
/*.offcanvas-body .dropdown-item{ color: #111111;}*/
}

/*--- nav 問合せ --*/
.nav-cta {
	color: #111111;
	border: 1px solid #FBF4E8;
	border-radius: 6px;
}

.nav-cta:hover {
	color: #111111;
	box-shadow: inset -1px -1px 2px 1px rgba(255, 255, 255, 0.5), inset 1px 1px 2px 1px rgba(255, 255, 255, 0.5);
}

.nav-cta:focus {
	color: #111111;
	box-shadow: inset -1px -1px 2px 1px rgba(255, 255, 255, 0.5), inset 1px 1px 2px 1px rgba(255, 255, 255, 0.5);
}

.icon-email { padding-right: 5px;}
.wh { color:#FFFFFF;}

/*--- fontsize 追加 ---*/
.fs-7 { font-size: 0.75em; padding-left: 1em; font-weight: bold;}

/*--- メインナビ　ブレイクポイントxl 1200px ---*/
@media only screen and (min-width: 1200px) {

    .navbar-nav { margin-left: 3rem; }

    .nav-link {
        font-size: 0.9em;
        font-weight: 700;
		color: #111111;
        transition: all 0.2s ease;
    	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
    }
    .nav-link:hover { 
        font-size:0.9em;
		color: #FFFFFF;
        background: #2C9DFF;
        background: linear-gradient(180deg, rgba(44, 157, 255, 1) 0%, rgba(42, 70, 230, 1) 100%);
        border-radius: 4px;
    transition: all 0.2s ease;
    	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
    }

    .dropdown-toggle::after {
	margin-top: 1px;
	display: inline-block;
	width: 0;
	height: 0;

	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: none;
    }
}

/*--- ナビ下イベントメニュー ---*/
.menu-event {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	width: 100%;
}
	
.menu-event li a {
	margin: 0 0.25em;
	padding: 0.25em 1em;
	text-decoration: none;
	font-size: 0.8em;
	color: #000;
}

.menu-event li a:hover {
	margin: 0 0.25em;
	padding: 0.25em 1em;
	text-decoration: none;
	font-size: 0.8em;
	color: #000;
	background-color: rgba(50,213,250,1.00);
    border-radius: 9999px;
}

/* = Slide
----------------------------------------- */


.menu-cnt {
    display: flex;
    padding: 0;
    margin: 2em 0 0 0;
    list-style: none;
    flex-wrap: wrap;
}
.menu-cnt li{
    display: flex;
    width: 47%;
    box-sizing: border-box;
    margin: 3px;
}
.menu-cnt li a{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 10px;
    background-color:rgba(255,255,255,0.30);
    font-size: 0.9rem;
    color: #1D1D1D;
	line-hight: 2.0rem;
    border-radius: 30px;
    border: 3px solid #32D5FA;   
}
.menu-cnt li a:hover { 
    text-decoration: none;
    color: #101E5D;
    background-color:rgba(255,255,255,1.00);
    transform: translateY(-5px);
	filter: Alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;}

.menu-cnt li a::after {
  font-family: 'icomoon';
  content: '\ea3e';
    /*content: '\e909';*/
  font-size: 15px;
  color:#1D1D1D;
padding-left: 10px;
}

@media (min-width: 992px) {
   .menu-cnt { flex-wrap: nowrap; }
   .menu-cnt li { width: 100%; font-size:0.9rem; }
}


/* = home
----------------------------------------- */

/* = kujira
----------------------------------------- */


/* = Event
----------------------------------------- */

/* = SNS
----------------------------------------- */

/* = Sticky
----------------------------------------- */

@media only screen and (min-width: 992px) {
    
    .main-sticky {
    height: 100%;/*必須*/
    }
    .side-sticky { 
	position: -webkit-sticky;
	position: sticky;
	top: 80px;
    height: 10vh;
    }
}

#page-top:before{ /*頁上部リンクの位置調整*/
  content:'';
  display: block;
  padding-top: 0.5rem!important;
  margin-top: -0.5rem!important;
}


/* = Side
----------------------------------------- */
/*--- サイド ---*/

/*--- sticky ---*/
.side { 
	position: relative;
    top: auto;
    margin-top: 20px;
}

/* メニュー（サブメニュー） */

.side h3{ margin: 0 0 0 0; display: block;}

.side h3, .side h4,.side-home h3, .side-home h4 { background-image: none; padding-left: 0;}

.side h2 { font-size: 1.1em; font-weight:bold; padding: 16px 8px 8px 16px; color: #00688c; }
.side h2 a { color: #00688c; text-decoration: none;}
.side h2 a:hover { color: #1E0D69;}

ul.page-menu{ 
	margin: 0;
	padding: 0;
	list-style: none;}
	
.page-menu li { font-size: 1em;}

.page-menu li a { 
    font-size: 0.9em;
	display: block;
	padding: 0.5em 0 0.5em 16px ;
	color: #00688c;
	text-decoration: none;
	border-bottom: 1px solid #8CBAC9;
    
    position: relative;
    list-style: none;
    line-height: 1.6;
}

.page-menu li:first-child a { border-top: 1px solid #8CBAC9;}

.page-menu li a:hover	{ color: #000; background-color:rgba(255,255,255,0.75);}
.page-menu li a:active	{ color: #00688c; }

.page-menu li a:before	{ 
    left: 3px;
	top: 11px;
	font-size: 11px;
	position: absolute;    
    color: #00688c;
	content: '\e90b';
	font-family: 'icomoon';
}

/*2階層目*/
ul.page-menu li ul{	
	margin: 0;
	padding: 0 0 0 14px;
	list-style: none;}

.page-menu li ul li a:before{ 
    left: 0px;
	top: 11px;
	font-size: 11px;
	position: absolute;    
    color: #00688c;
	content: '\e909';
	font-family: 'icomoon';
}
.page-menu li ul li:first-child a { border: none;}
.page-menu li ul li a { border: none; }
.page-menu li ul li:last-child a { border-bottom: 1px solid #8CBAC9;}/**/

/* 枠＋見出しの設定（サブメニュー） */
.side-link div {
    padding: 0.5rem 0.8rem;
	border: none;
	background-color: transparent;
	margin-bottom: 0;
}

@media only screen and (min-width: 992px) {

/* メニュー（サブメニュー） */

.side h3 { margin: 0 0 0 0; display: block;}

.side h3, .side h4,.side-home h3, .side-home h4 { background-image: none; padding-left: 0;}

.side h2 { font-size: 1.1em; font-weight:bold; padding: 16px 8px 8px 16px; color: #00688c; }
.side h2 a { color: #00688c;}
.side h2 a:hover { color: #1E0D69;}

.page-menu li a { 
    font-size: 0.9em;
	display: block;
	padding: 0.5em 0 0.5em 16px ;
	color: #00688c;
	text-decoration: none;
	border-bottom: 1px solid #8CBAC9;
    
    position: relative;
    list-style: none;
    line-height: 1.6;
}

.page-menu li a:before	{ 
    left: 3px;
	top: 11px;
	font-size: 11px;
	position: absolute;    
    color: #00688c;
	content: '\e90b';
	font-family: 'icomoon';
}

.page-menu li:first-child a { border-top: 1px solid #8CBAC9;}

.page-menu li a:hover	{ color: #000; background-color:rgba(255,255,255,0.75);}
.page-menu li a:active	{ color: #00688c; }


/* 枠＋見出しの設定（サブメニュー） */
.side-link div { 
    padding: 1rem;
	border: none;
	background-color: transparent;
	margin-bottom: 15px;
    }

} /*992pxここまで*/

/* side お問合せ */
.side-link summary {
  display: block;
  list-style: none;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
.side-link summary::-webkit-details-marker {
  display:none;
}

.side-rsv {
    max-width: 100%;
    margin-bottom: 5px;
    border-bottom: 2px solid #d6dde3;
}

@media (min-width: 992px) {
    .qa-7 { width: 90%; margin: 0 auto; }
}

.side-rsv summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333;
    font-weight: 600;
    cursor: pointer;
}

.side-rsv summary::before,
.side-rsv p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.side-rsv summary::before {
    color: #0B65C3;
    content: '';
}
 
.side-rsv summary::after { 
    margin-left: 10px;
    content: '+';
    font-size: 1.6em;
    position: relative;
    transition: transform .3s;
}

.side-rsv[open] summary::after {
    content: '-';
    font-size:40px;
    transform: rotate(180deg);
    color: #333;
}

.side-rsv p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.side-rsv [open] p {
    transform: none;
    opacity: 1;
}

.side-rsv p::before {
    color: #D60923;
    line-height: 1.2;
    content: '';
}

/* = Main
----------------------------------------- */

/*背景色を付けるクラスのみ追加*/
h3.t3 a:hover img {
	background-color: #f7f7eb;}

a img { 
    transition: all 0.2s ease;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;}

/* =テキスト余白
----------------------------------------- */

p { line-height:1.8;}

/* = h1-h5
----------------------------------------- */

/*h1 { font-size: 2.2em;}*/

h2 { font-size: 1.8em; font-weight: 700;
	margin-top: 1rem;}

h2 span { font-size: 0.6em!important; padding-left:15px!important;}

/* h2-h3も追加 */
h2.cc, h3.cc {
	font-size: 1.4em;
	background: url(img/line.png) left bottom repeat-x;
	margin-top: 1.25em;
    padding-bottom: 0.5em;
	font-weight: 700;
}

h3 {font-weight: 700;}

/* マーカーマーブル */
.ico3, .ico4, .ico5 {
	margin-left: 0;
	padding-left: 20px;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 32px;
}
.ico3 {
	background: url(img/ico3.svg) 0 0 no-repeat;
	background-size: 32px 32px;
}
.ico4 {
	background: url(img/ico4.svg) 0 0 no-repeat;
	background-size: 32px 32px;
}
.ico5 {
	background: url(img/ico5.svg) 0 0 no-repeat;
	background-size: 32px 32px;}

/*頁タイトル画像*/
h3.t3 img{ max-width: 100%; height: auto; }

/*ダイビングポイント 観光スポット*/
h3.bn, h4.bn { 
	background: none; padding:0.5em 0.5em 0.5em 0; font-size: 1.2em!important; font-weight: 700;}

h3.bn span { 
	font-size: 0.8em;
	font-weight: bold;
	font-family: Verdana, Geneva, "sans-serif";
	font-style: italic;
	padding-left: 1em;
}

@media only screen and (min-width: 992px) {
    h2 { font-size: 2.0em;}
    h2.cc, h3.cc { font-size: 1.6em; padding: 0 0 3px 0;}
}

/*画像見出し用ボーダーなし*/
.timg, .timg-h2 { 
    margin-top: 10px;

}
.timg img,.timg-h2 img  {
	border-bottom: none;
    margin: 0;
    padding: 0;
    width: 100%;
    height: auto;
	-webkit-border-radius: 6px;
    -moz-border-radius: 6px;
	border-radius: 6px;
}
.timg img { 
    aspect-ratio: 36 / 19;
}
.timg-h2 img { 
    aspect-ratio: 144 / 83;
}

@media only screen and (min-width: 992px) {

    .timg img { width: 100%; height:auto; aspect-ratio: 36 / 19;}
	.timg-h2 img, .timg-h2 picture { width: 720px; height:415px; aspect-ratio: 144 / 83;}

}

/*-----画像アスペクト比----*/
.aw11  { aspect-ratio: 1 / 1; margin: 0 auto; text-align: center; width:100%;  }
.aw32  { aspect-ratio: 3 / 2; margin: 0 auto; text-align: center; width:100%;  }
.aw43  { aspect-ratio: 4 / 3; margin: 0 auto; text-align: center; width:100%;  }
.aw169 { aspect-ratio: 16 / 9; margin: 0 auto; text-align: center; width:100%; }

.aw31 { aspect-ratio: 3 / 1; margin: 0 auto; text-align: center; width:100%; } /*アクセス*/

.img-spot{
	aspect-ratio: 4 / 3; margin: 6px auto 0 auto; text-align: center; width:100%; 
	object-fit: cover;
}

/*-----Youtube .icon-youtube2用----*/
.fs-50 { font-size: 50px;}


.wk169 {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9の比率 = 9 ÷ 16 × 100 */
  overflow: hidden;
}

.wk169 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*必要最小限*/
.phf{
	padding: 6px;
	border: 1px solid #C4C0BB;
	background: #FFF;}

.phf-bdr{
	padding: 0;
	border: 10px solid #C4C0BB;
	background: #C4C0BB;
	 -webkit-border-radius: 6px;
     -moz-border-radius: 6px;
          border-radius: 6px;}

/*-----ボックス-----*/
.box-rd,.box-or,.box-pk,.box-bl,.box-lbl,.box-grn,.box-mnt {
	margin: 0 6px 4px 0;
	padding: 0.3em 1em;
	color: #000;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 100%;
	border-radius: 6px;}

.box-rd  {  background: #f50000;}
.box-or  {  background: #FF7900;}
.box-pk  {  background: #E84B91;}
.box-bl  {  background: #7095FF;}
.box-lbl {  background: #3DA5FA;}
.box-grn {  background: #2EAF37;}
.box-mnt {  background: #11d0e5;}

/*-----リスト-----*/
.biko li, .list-chk li, .list-camera li { list-style: none; line-height: 1.6;}

/* ----- 注意書き ----- */
ul.biko {
	margin: 0 0 0.5em 0;
	padding: 0.5em 0.8em;
	background-color: #FDF8F3;
	-webkit-border-radius:10px;
    -moz-border-radius: 10px;
      border-radius: 10px;}

ul.biko li {
	margin: 0;
	padding: 0 0 3px 22px;
	display: block;
    position: relative;
    font-size: 0.95em;
}

ul.biko li:before {
	left: 5px;
	top: 0px;
	content: '※';
    font-weight: bold;
	font-size: 14px;
    position: absolute;
}

/*list-chk*/
ul.list-chk{ margin: 0 0 0.625em 0; padding: 0;}

ul.list-chk li{
	position: relative;
	display: block;
	padding: 3px 5px 3px 30px;
	margin: 0;
	list-style: none;}

ul.list-chk li:before{
	position: absolute;
	left: 5px;
	top: 0px;
	content: '\ea10';
	font-family: 'icomoon';
	font-size: 22px;
	color: #dd1106;}

/*list-camera*/
ul.list-camera{ margin: 0 0 0.5em 0; padding: 0;}

ul.list-camera li{
	position: relative;
	display: block;
	padding: 3px 5px 3px 34px;
	margin: 0;
}

ul.list-camera li:before{
    position: absolute;
	left: 5px;
	top: 0px;
	content: '\e90f';
	font-family: 'icomoon';
	font-size: 22px;
	color: #000;}

/*list-camera*/
ul.list-be{ margin: 0 0 0.5em 0; padding: 0;}

ul.list-be li{
	position: relative;
	display: block;
	padding: 3px 5px 3px 34px;
	margin: 0;
}

ul.list-be li:before{
    position: absolute;
	left: 5px;
	top: 0px;
	content: '\ea54';
	font-family: 'icomoon';
	font-size: 22px;
	color: #2eb135;}

/*list-nun*/
ol.num {
  list-style-type: none;
  counter-reset: number;/* カウンターを初期化 */
  padding: 0;
}

ol.num li {
  margin-bottom: 10px;
  padding-left: 0px;
  position: relative;
	margin-left: 30px;
}
ol.num li:before {
  content: counter(number);
  counter-increment: number;
  background-color: #0152E6;
  color: #FFF;
  display: block;
  float: left;
  line-height: 24px;
  margin-left: -22px;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
	font-family: 'Noto Sans Japanese';
	font-size: 0.9em;
}

/*----- テーブル -----*/

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

@media screen and (min-width: 992px) {
    .table-responsive { overflow-x: auto;}
}

.table-responsive > .table-bordered, .wp-block-table .table-responsive > table {
  border: 0;
}

/*----- 表 -----*/

.data {
	border-collapse: collapse;
	border-spacing: 0;
    width: 100%;
    margin-bottom: 20px;
}

.data tr:nth-child(even) {
  background-color: #E9F2F6;
}

.data tr:nth-child(odd) {
  background-color: #FDF8F3;
}

.data thead th {
    text-align: center;
	background-color: transparent;
	background: url("img/bg-ocn.webp")!important;
    /*background: rgb(253,248,243);
    background: linear-gradient(0deg, rgba(253,248,243,1) 0%, rgba(224,237,243,1) 100%); */
}

.data th,.data td { text-align: left; border: 1px solid #DEDBCC;}

.data th, .data td {
 display: table-cell;
 padding: 0.375em 0.5em;
}


@media (min-width: 992px) {

 .data th, .data td {
    display: table-cell;
    }
    
}

/*----- 料金テーブル -----*/

.price {
	margin: 5px 0 10px 0;
	padding: 0;
	width: 100%;
	border: 1px solid #DEDBCC;
	background:#FDF8F3;}

.price thead th,.price th {
    text-align: center;
	background: url("img/bg-ocn.webp");
	/*background: rgb(253,248,243);
    background: linear-gradient(0deg, rgba(253,248,243,1) 0%, rgba(224,237,243,1) 100%); */
	border: 1px solid #DEDBCC;
}

.price th, .price td {
 display: table-cell;
 padding: 0.375em 0.5em;
}

.price td {
	border: 1px solid #DEDBCC;
	background:#FDF8F3;}

	
/*----- 時刻表テーブル -----*/
.time {
	border-collapse: collapse;
	border-spacing: 0;
    width: 100%;
    margin-bottom: 20px;
}

.time tr:nth-child(even) {
  background-color: #FDF8F3;
}

.time tr:nth-child(odd) {
	background-color: #e4f4ea;  
}


.time th,.time td { text-align: left; border: 1px solid #DEDBCC;}

.time  th, .time td {
 display: table-cell;
 padding: 0.375em 0.5em;
}

@media (min-width: 992px) {

 .time th, .time td {
    display: table-cell;
    }
    
}

/*カメラレンタル追加2210*/
.waku-gry {
	margin-bottom: 20px!important;
	padding: 15px 20px;
	background: #FEFEFE;
	border: 1px solid #B0B0B0;
}

.no-padding {
      padding-left: 0 !important;
      padding-right: 0 !important;
    }

@media (min-width: 992px) {
	.no-padding {
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
	}
}
.yt {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.yt iframe {
  width: 100%;
  height: 100%;
  margin-top: 15px;
}

@media (min-width: 992px) {
	.yt iframe {
		margin-top: 0;
	}
}

/*スマホスクロール*/
.scrollareab, .scrollarea, .scrollarea2, .scrollarea3, .scrollarea4, .scrollarea5 {
    max-width: 100%;/* 最大80%の領域内で要素をおさめる */
	min-width: 100%;
    margin: 0;
    overflow-x: auto;/*枠から出たらスクロール、出なかった場合は何もしない*/
		height: auto;/**/
}
	
img.seazonb { width:730px; height: 449px; min-width:730px; max-width:730px; }
img.seazon1 { width:730px; height: 443px; min-width:730px; max-width:730px; }
img.seazon2 { width:730px; height: 260px; min-width:730px; max-width:730px; }
img.dpoint  { width:720px; height: 531px; min-width:720px; max-width:720px; }
img.acs-rt  { width:641px; height: 214px;min-width:641px; max-width:641px;}
img.kujirazu  { width:720px; height: 475px; min-width:720px; max-width:720px; }

@media (min-width: 1200px) {
	.scrollareab{ /*シーズン大*/
    width: 970px;
	height: 608px;
    margin: 0;
    overflow:none;
	}
	.scrollarea{ /*シーズン大*/
    width: 750px;
	height: 463px;/*+20px*/
    margin: 0;
    overflow:none;
	}
	.scrollarea2{/*シーズン小*/
    width: 750px;
	height: 280px;
    margin: 0;
    overflow:none;
	}

	.scrollarea3{ /*dポイント*//*観光ガイド*/
    width: 720px;
	height: 547px;
    margin: 0;
    overflow:none;
	}
	.scrollarea4 { /*アクセス*/
    width: 770px;
	height: 265px;
    margin: 0 0 1em 0;
    overflow:none;
	}
	
	.scrollarea5{ /*dポイント*//*観光ガイド*/
    width: 720px;
	height: 475px;
    margin: 0;
    overflow:none;
	}
	
	img.seazonb { width:970px; height: 588px;　min-width:970px; max-width:970px; }/*シーズン大 ダイビングTOP*/
	img.seazon1 { aspect-ratio: 485 / 294; width:730px; height: 443px; min-width:730px; max-width:730px; min-height: 443px; }/*シーズン大*/
	img.seazon2 { aspect-ratio: 73 / 26; width:730px; height: 260px; min-width:730px; max-width:730px; min-height: 260px;  }/*シーズン小*/
	img.dpoint  { width:720px; height: 531px; }/*dポイント*/
	img.acs-rt { width: 745px;  height: 248px; min-width:745px; max-width:745px;} /*枠幅-25px=画像幅 アクセス*/
}


/* = Diving TOP
----------------------------------------- */

.slider-wrapper2 { 
	width: 638px; 
	margin: 20px 0 0 0;
}

/*サービスメニュー*/

h3.ct-sb{	 
	font-size: 1.3rem;
	position: relative;
	display: block;
	padding: 0;
	margin: 5px 0 0 0;
	color: #00688c;
	text-decoration: none;
	height: 36px;}


/*----リンク指定アイコン付----*/
/*料金表テキストリンク*/
.plink{
	margin: 5px 0;
	padding: 0 0 5px 0;
	font-weight: bold;}

.plink::after {
	content: "\e90b";
	font-family: icomoon;
	color: #4040FF;
	font-size: 16px;
	top: 0;
	padding-left: 8px;
}

/*メニューテキストリンク*/
.pblink{
	margin: 5px 0;
	padding: 0 0 5px 0;
	font-weight: bold;}

.pblink::before {
	content: "\e90b";
	font-family: icomoon;
	color: #4040FF;
	font-size: 16px;
	top: 0;
	padding-left: 8px;
}


/*= FAQ
----------- */

summary {
  display: block;
  list-style: none;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
  display:none;
}

.qa-7 {
    max-width: 100%;
    margin-bottom: 5px;
    border-bottom: 2px solid #d6dde3;
}

@media (min-width: 992px) {
    .qa-7 { width: 90%; margin: 0 auto; }
}

.qa-7 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333;
    font-weight: 600;
    cursor: pointer;
}

.qa-7 summary::before,
.qa-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-7 summary::before {
    color: #0B65C3;
    content: 'Q';
}
 
.qa-7 summary::after { 
    margin-left: 10px;
	font-family: 'icomoon';
	content: '\e909';
    font-size: 1em;
	color: #0B65C3;
    position: relative;
    transition: transform .3s;
}

.qa-7[open] summary::after {
    font-family: 'icomoon';
	content: '\e909';
    transform: rotate(180deg);
    color: #0B65C3;
}

.qa-7 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-7[open] p {
    transform: none;
    opacity: 1;
}

.qa-7 p::before {
    color: #D60923;
    line-height: 1.2;
    content: 'A';
}


/* = Form
----------------------------------------- */
.err { color: #000; background-color:#FC5474;/*#FC0B29;*/ }
h5 span.gry { font-weight: normal!important; font-size: 0.9em!important;}
/*必須マーク*/
.mst { color: #000; background-color: #F5E877; border-radius: 5em; padding: 0 0.5em; margin-right: 8px; }
.mst:before{ content:'必須'; width:50px; font-size: 0.8em; font-weight: bold; }

.form-check-input {
    margin: 0 0.3em 0.5em 0.5em!important;
}
.form-check-input:focus {
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
}

lable {margin-right: 0.5em;}

/* フォーム送信ボタン */
#btn-sbmt { 
 background: rgb(68,167,243);
 background: linear-gradient(90deg, rgba(24,217,206,1) 5%, rgba(68,167,243,1) 90%); 
 box-shadow: 0px 3px #2F82B2; }

input[type="submit"] { 
    width: 100%;
    font-size: 1.6em;
	font-weight: normal;

	color: #003;
	text-align: center;
	letter-spacing: 0.5em;
	padding: 0.3em 0.5em!important;
	margin: 0 auto!important;
    -webkit-border-radius: 1em;
     -moz-border-radius: 1em;
          border-radius: 1em;
    box-shadow:  0 0 0 0 rgba(0, 0, 0, 0);
	outline: 0;
	border: none;
    -webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	}

input[type="submit"]:hover { 				
	border-color: none;
	box-shadow:  0 0 0 0 rgba(0, 0, 0, 0);
	outline: 0;
	border: none;
    transform: translateY(3px);}

input[type="submit"]:active, input[type="submit"]:focus { 				
 box-shadow: none; transform: translateY(3px);
}
@media (min-width: 992px) {
    input[type="text"] { width: 80%;} 
    textarea.form-control { width: 80%;} 
    select.form-select { width:300px; }
}

/*確認画面*/ 
.table-form { 
	width: 100%; margin-bottom: 1.5em;
 background-color: rgba(255,255,255,0.75);
} 

.table-form th { width: 100%; display: block; text-align: left;} 
.table-form td { width: 100%; display: block; text-align: left;}/*横１列全面縦並び*/

.table-form tr:first-child{ border-top: 2px solid #DCDCDC;}
.table-form th {
    padding: 0.5em 0.3em 0.3em 0.5em;
    line-height: 1.6;
    border-bottom: 2px solid #DCDCDC;
}
.table-form td {
    padding: 0.5em 0.3em 0.3em 0.5em;
    line-height: 1.6;
    border-bottom: 2px solid #DCDCDC;
}

.table-form tr th { background-color:#EAF8FF; }
.table-form tr:nth-child(2n) th { background-color:#F8F9FA; }


@media screen and (min-width: 992px) {
    .table-form th { width: 20%; display: table-cell; text-align: center; } 
    .table-form td { width: 80%; display: table-cell; text-align: left; }/*横並び*/
    }

/* 202507 ここまで
----------------------------------------- */

/* = Parts
----------------------------------------- */

/* ボタン */
.bt{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 10px;
    /*line-hight: 2.0rem;*/
    background-color:none;
    font-size: 1rem;
    font-weight:700;
    color: #1D1D1D!important;
    border-radius: 9999px;
    box-shadow: 0px 3px #28AAC7;
}
.bt:after {
  font-family: 'icomoon';
  content: '\e90b';
  font-size: 16px;
padding-left: 10px; }

.bt:hover { 
    text-decoration: none;
    color: #000!important;
    transform: translateY(3px);
}

.bt:active,.bt:focus { 
    box-shadow: none; transform: translateY(3px);
}


.bt-no-icon{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 10px;
    /*line-hight: 2.0rem;*/
    background-color:none;
    font-size: 1rem;
    color: #1D1D1D!important;
    border-radius: 9999px;
}
.bt-no-icon:hover { 
    text-decoration: none;
    color: #000!important;
    transform: translateY(-5px);
	filter: Alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;}

.bt-no-icon i { padding-left: 10px; }

.bt-outlink:after {
  font-family: 'icomoon';
  content: '\e906';
  font-size: 16px;
padding-left: 10px; }

/* ボタン背景透明 */
.b-trans{ 
	background-color:transparent;
	box-shadow:none;}
.b-trans:hover { 
    text-decoration: none;
    color: #000!important;
	background-color: rgba(50,213,250,1.00);
    transform: translateY(0px);
}

.b-trans:active,.b-trans:focus { 
    box-shadow: none; transform: translateY(0px);
}

/* ボタンyoutube */
.b-yt{ 
	background-color:transparent;
	border: 3px solid #FF8080;
	box-shadow:none;}

.b-yt:hover { 
    text-decoration: none;
    color: #000!important;
	background-color: rgba(255,0,0,0.9);
	border: 3px solid #F00;
}

.b-yt:active,.b-yt:focus { 
    box-shadow: none; 
}

/* ボタン用背景色 */
.b-blg {
 background: rgb(68,167,243);
 background: linear-gradient(90deg, rgba(24,217,206,1) 5%, rgba(68,167,243,1) 90%); 
 box-shadow: 0px 3px #2F82B2;
}

.b-blc {
 background-color: #EAF2FA;
 border: 2px solid #44A7F3;
}

.b-bl {
 background-color: #32D5FA;
 border: 2px solid #32D5FA;/*#44A7F3;*/
}
.b-or, .b-org { background: #FBAB7E;
background: linear-gradient(90deg, rgba(251, 171, 126, 1) 0%, rgba(247, 206, 104, 1) 100%);
box-shadow: 0px 3px #D5916B;
}

hr.clr {clear: both; border-color:transparent!important;}

/*-----見出し線-----*/

/*h4-5 見出し用*/
.bdr{ border-bottom: 1px solid #D3D3D3!important;}

.bdr-gry	{ border-top: 1px dashed #B1ACA9;}
.bdr-gry2	{ border-top: 1px dashed #B1ACA9; border-bottom: 1px dashed #B1ACA9;}

/* WTP IMG枠 */
.bdr-gry4 { border: 1px solid #CFCFCF;}

/*-----ボーダー-----*/
.bdr-light{ border-bottom: 1px dashed #A9A9A9;}

/*-----コピー強調-----*/
.or{	color:#F60;}
.red{	color:#D60923;/*#FC0B29;*/}
.grn{	color:#3AF621;}
.bl{	color:#1CB7FF;}
.pk {	color: #ff2d71;}
.gry {	color: #5e5e5e;}

/*-----文字サイズOP-----*/

.txt-xl{ font-size: 1.5em!important; line-height: 1.5;}
.txt-l { font-size: 1.3em!important; line-height: 1.5;}
.txt-m { font-size: 1.1em!important; line-height: 1.5;}
.txt-s { font-size: 0.9em!important; line-height: 1.5;}
.txt-xs{ font-size: 0.8em!important; line-height: 1.5;}
.txt-xxs{ font-size: 0.7em!important; line-height: 1.5;}

/*-----英字-----*/
.eng {
	font-family:Georgia, "Times New Roman", Times, serif;
	padding: 0;
}

/*-----マーカー-----*/
.m-yl { background: linear-gradient(transparent 70%, #FCF69F 70%);} 

/*-----背景色-----*/
.bg-yl{	background: #FCDF75;}
.bg-lor {	background: #FFF5F0;}
.bg-lgy{	background: #F7F7F7;}
.bg-wh{	background: #FFF;}
.bg-lbl{	background: #EAF8FF;}
.bg-pk {	background: #FFDDDD;}
.bg-lyl{	background: #FFFCEE;}

.bg-pyl{	background: #FEEDB2;/*#FDF9EE;*/}
.bg-por {	background: #FFF2F0;}
.bg-pgrn {	background: #F1F9EE;}
.bg-pbl {	background: #F3F8FD;}

.bg-ant{	background-image:url("img/bg-ant.webp"); background-repeat: no-repeat; background-size:cover;}
.bg-ocn{	background-image:url("img/bg-ocn.webp"); background-repeat: no-repeat; background-size:cover;}

/*-----背景色-----*/
.bg-yl p,.bg-wh p{	padding: 10px 10px 8px 10px!important; margin-bottom: 8px!important;}

.step1,.step2,.step3 { 
	padding: 2em 1em;
	font-weight: 700;
	text-align: center;
	border-radius: 15px;
	
}
.step1 {	background: #FCDF75; border-radius: 27% 73% 49% 51% / 11% 52% 48% 89% }
.step2 {	background: #0EB1C3; border-radius: 51% 49% 47% 53% / 58% 19% 81% 42% }
.step3 {	background: #32B25D; border-radius: 27% 73% 48% 52% / 61% 52% 48% 39% }

/*--- 角丸 ---*/
.rds {border-radius: 6px;}
.kdm4, .rds4 { border-radius: 4px;}
.kdm6, .rds6 { border-radius: 6px;}
.kdm8, .rds8 { border-radius: 8px;}
.kdm10, .rds10 { border-radius: 10px;}


/*シャドウ*/
.sdw4{
	-webkit-box-shadow :  0px 1px 4px #B8B8B8; /*Chrome, Safari3.0+*/
		-moz-box-shadow :  0px 1px 4px #B8B8B8; /*Firefox3.5+*/
			box-shadow :  0px 1px 4px #B8B8B8; /*Opera10.5+, IE9b+*/}



/*----- 幅-----*/

.w5{	width:5%;}
.w10{	width:10%;}
.w15{	width:15%;}
.w20{	width:20%;}
.w25{	width:25%;}
.w30{	width:30%;}
.w35{	width:35%;}
.w40{	width:40%;}
.w45{	width:45%;}
.w50{	width:50%;}
.w55{	width:55%;}
.w60{	width:60%;}
.w65{	width:65%;}
.w70{	width:70%;}
.w75{	width:75%;}
.w80{	width:80%;}
.w85{	width:85%;}
.w90{	width:90%;}
.w95{	width:95%;}
.w100{	width:100%;}


/*= slick 2203 / 2407
---------------------------------------*/


/* = Page 下
----------------------------------------- */

/*--- 現在地 ---*/
ul.location { 
	padding: 0;
	display: flex;
	justify-content: flex-start;
}

ul.location li {list-style: none;}

ul.location li a	{
	padding: 5px;
    font-size: 0.9em;}

ul.location li a:hover	{ color: #000; background-color: rgba( 255,255,255, 0.8); }

ul.location li a:before	{
	left: 5px;
	top: 3px;
	content: '\e90b';
	font-family: 'icomoon';
	font-size: 10px;
    padding: 0 0.3em;}

/*ホームだけなし*/
.location li:first-child a:before { 
    content: '';
}

/*--- ページの先頭 ---*/

.pagetop{ 
	scroll-behavior: smooth;
	display: block;
	background: url("img/pagetop.svg") no-repeat;
    width: 70px;
    height: 47px;
 background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	text-align: center;
	opacity: 1;

	color: #efefef!important;
	padding: 0!important;
	text-decoration: none;
	position: fixed;
	z-index: 10;/*offcanvasでかくれる数字に*/
	bottom: 0px;
	right: 5px;
}

.pagetop:hover{
	filter: Alpha(opacity=100);
	-moz-opacity: 1;
	 opacity: 1;
}

@media only screen and (min-width: 992px) {

	.pagetop{
    width: 80px;
    height: 54px;
	background: url("img/pagetop.svg");
 background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    bottom: 0;
    right: 8vw;
    z-index: 10;/*offcanvasでかくれる*/
	}

	.pagetop:hover{
		filter: Alpha(opacity=100);
		-moz-opacity: 1;
	 	opacity: 1;
	}

}


/* =Footer
----------------------------------------- */

.ftr-content {
	padding: 0;
	margin: 30px 0 0 0;
	background: url("img/ftr-bg-mb.webp") no-repeat top center; /*スマホ専用に*/
  width: 100%;
  height: 100%;
}

.ftr-logo { 
	margin: 0 auto;
}
.ftr-logo img { 
    width: 280px;
	height: 148px;
}

@media only screen and (min-width: 992px) {

    .ftr-content {
	    padding: 0;
	    margin: 30px 0 0 0;
	    background: url("img/ftr-bg.webp") no-repeat top center / cover;
        width: 100%;
        height: 300px;
    }
    .ftr-logo { }
    .ftr-adress{ font-size: 0.8rem; border: none; }
    .shopname { font-weight: bold; font-size: 1.1em; padding-right: 1em;}
    .shopaddress { padding-right: 0.625em;
    }

}

/*--- 住所 ---*/
.ftr-adress{ padding: 0.625em 0.9375em; display: block; font-size: 0.9em; border-top: none; }

.shopname { font-weight: bold; font-size: 1.1em; padding-right: 1em;}

.shoptel a { 
	padding-right: 0.625em;
	color: #000;
	text-decoration:none;
}

/*スマホのみ改行させる*/
.shopname::after{
 content:"\A";
 white-space:pre;
}

.shopaddress::after{
 content:"\A";
 white-space:pre;
}

.sns-list {	
    width: auto; 
    margin: auto;
    padding: 0;
	list-style: none;
    font-size: 22px;
    
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.sns-list li a {
    display: inline-block;
	/*width: 100%;*/
    color: #003764;
	padding: 0.2em 0.5em;
}

.sns-list li a:hover {	
    color: #000;
	background-color: #F7F7EB;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
          border-radius: 4px;
}

.shop-list {
    width: auto; 
    margin: auto;
    padding: 0;
	list-style: none;
    font-size: 1em;
    
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.shop-list li a {
    display: inline-block;
	/*width: 100%;*/
    color: #003764;
	padding: 0.2em 0.5em;
}

.shop-list li a:hover {	
    color: #000;
	background-color: #F7F7EB;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	 -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

@media only screen and (min-width: 992px) {
    .shop-list {	
        width: auto; 
        margin: auto;
        padding: 0;
	    list-style: none;
        font-size: 1em;
    
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        }
}
/*--- 著作権 ---*/
.copy { 
	padding: 0.5em 0.8em;
	font-size: 0.7em; font-family: Arial, Helvetica, sans-serif;
}

/*--- footerメニュー ---*/

.menu-footer {
	margin: 30px 0 30px 0;
	padding: 0!important;
    display: flex;
	flex-direction: column;/*縦*/
}

.menu-footer ul { 
	margin: 0!important;
	padding: 0!important;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;/*よこ*/
}

ul.f-kanren {width: 100%;}
ul.f-kanren li {width: 100%;}

.menu-footer li { 
	width: 49%; /*スマホ２列*/
    position: relative;
    list-style: none;
	margin: 0;
    padding: 3px 5px 3px 20px;
	display: flex;
	flex-direction: column;/*縦*/
	font-size: 0.9em;
    color: #003764;
}
.menu-footer li a::before {
    position: absolute;
    font-family: 'icomoon';
    content: '\e90e';/*content: '\e90b';*/
    font-size: 8px;
    color: rgba(255,255,255,0.9);
    margin-left: -20px;
	top: 14px;
}
.menu-footer li a{ 
	color: #000;
	display: block;
	padding: 5px 4px;
}
.menu-footer li a:hover {
	text-decoration: none;
	color: #000;
	background-color:rgba(247,247,235,0.7);
    border-radius: 4px;
    }

@media only screen and (min-width: 992px) {

    .menu-footer {
    margin: 50px 0 0 0;
    display: flex;
	flex-direction: row;/*横*/
	justify-content: flex-start;
	width: 100%;
	font-size: 0.8em;
    }
    .menu-footer ul { width: 19%; align-content: flex-start;}
    .menu-footer ul.f-kanren { width: 25%; align-content: flex-start;}

    .menu-footer li {
	width: 94%; /*PC1列*/
    position: relative;
    list-style: none;
	margin: 0 0 0 25px;
	padding:0;
	display: flex;
	flex-direction: column;/*縦*/
	font-size: 0.9em;
    color: #003764;
    }

.menu-footer li a::before {
    position: absolute;
    font-family: 'icomoon';
    content: '\e90e';
    font-size: 8px;
    color: rgba(255,255,255,0.9);
    margin-left: -20px;
	top: 8px;
    }
	
.menu-footer li a{ 
	color: #000; 
	display: block;
	padding: 5px 4px;
	}
.menu-footer li a:hover {
	text-decoration: none;
	color: #000;
	background-color:rgba(255,255,255,0.7);
    border-radius: 4px;
    }
}


/* =Footer end
----------------------------------------- */