@charset "UTF-8";

/* --------------------------------------------- */
/* PC 共通デザイン */
/* --------------------------------------------- */

/* 1rem=10px */
html {font-size: 62.5%;}
/* HTML5実装用 */
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, dialog {
   display:block;
}
.clearfix:after {
   content: "";
   clear: both;
   display: block;
}
* {
   margin: 0;
   padding: 0;
}
*::after,
* {
   	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
img{
   display:block;
}
/* lazyload */
.lazyload {
  width: 100%;
  height: auto;
  visibility: hidden; 
  border: 0;
  outline: none;
}
img.lazyload {
  color: transparent;
}
.lazyload-loaded {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s;
}
.lazyload:not([src*="spacer"]) {
  visibility: visible;
}

/*copy禁止*/
img {
  pointer-events: none; 
}

body {
   /*font-family: 'Lato','Hiragino Sans','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;*/
   font-family: 'Inter', 'Noto Sans JP', sans-serif;
   /*font-family: 'Hiragino Sans','Hiragino Kaku Gothic ProN','BIZ UDPGothic','Yu Gothic Medium','Yu Gothic','Meiryo',sans-serif;*/
   font-weight: 400;
   background: #fff;
   letter-spacing: 0.05em;
   line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
ul li{
   list-style: none;
}
.br {
   display:inline-block;/* 任意の位置で改行 */
}
h1, h2, h3, h4, h5, h6, blockquote, ul, li, p, div, a, hr {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

article{
   width: 100%;
   text-align: center;
}
article a{
   text-decoration:none;
   color: #277cb0;
}

.black{
   color:#333;
}

/*パンくずリスト*/
.topicpath{
max-width: 1100px;
width: 70%;
margin: 20px auto 0;
text-align: left;
}
.topicpath a{
text-decoration:none;
color:#7c7c7c;
}
.topicpath .to01{
font-size: 14px;font-size: 1.4rem;
color:#7c7c7c;
}
.topicpath .to02{
font-size: 14px;font-size: 1.4rem;
margin-left: 10px;
color:#7c7c7c;
}
.topicpath .to02::before{
font-size: 15px;font-size: 1.5rem;
font-family: "Font Awesome 5 Free";
content : "\f105";
font-weight: 900;
color:#7c7c7c;
margin-right: 10px;
}

/*記事幅*/
#container {
   width: 90%;
   max-width: 1200px;
   margin: 0 auto;
   padding: 20px;
   text-align: left;
}


#header {
position: relative;
width: 100%;
}
#header img {
width: 100%;
height: auto;
}
#header-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100px;
background: rgba(0,0,0,.6);
}
.relative {position: relative;}

h1 {
font-size: 22px; font-size: 2.2rem;
font-family: 'Fjalla One', sans-serif;
opacity: 0.8;
padding: 0 20px;
}
#container h1 {
text-align : center;
font-size: 25px; font-size: 2.5rem;
margin: 120px auto 100px;
}
#container h1 > .h1-1 {
font-size: 30px; font-size: 3.0rem;
font-family: 'Hind', sans-serif;
font-weight: 600;
color: #000;
}
#container h1 > .h1-2 {
font-size: 15px; font-size: 1.5rem;
font-family: 'Hind', sans-serif;
color: #333;
font-weight: normal;
display: block;
clear: both;
}
#container h1 > .h1-3 {
font-size: 17px; font-size: 1.7rem;
font-family: 'Hind', sans-serif;
color: #B6BABA;
font-weight: normal;
display: block;
clear: both;
}

#container h1 > .h1-1:after {
content: "\A";
white-space: pre;
}

#container h2 {
text-align : center;
font-size: 25px; font-size: 2.5rem;
margin: 10px auto 60px;
}
#container h2 > .h2-1 {
font-size: 30px; font-size: 3.0rem;
font-family: 'Hind', sans-serif;
font-weight: 600;
color: #000;
}
#container h2 > .h2-2 {
font-size: 15px; font-size: 1.5rem;
font-family: 'Hind', sans-serif;
color: #666;
font-weight: normal;
display: block;
clear: both;
margin-bottom: 100px;
}

#container h2 > .h2-1:after {
content: "\A";
white-space: pre;
}


h3 {
font-size: 19px; font-size: 1.9rem;
opacity: 0.8;
text-align : left;
}



/* header */
.inner {
	width: 980px;
	margin: 0 auto;
}
.inner:after {
	content: "";
	clear: both;
	display: block;
}
#top-head {
	width: 100%;
	top: -100px;
	position: absolute;
	margin: 100px auto 0;
	padding: 30px 0 0;
	line-height: 1;
	z-index: 999;
	font-size: 14px;
}
#top-head a,
#top-head {
	color: #fff;
	text-decoration: none;
}
#top-head .inner {
	position: relative;
        width: 100%;
}
#global-nav ul {
	list-style: none;
	position: absolute;
	right: 20px;
	bottom: 0;
	font-size: 14px;
}
#global-nav ul li {
	float: left;
	position: relative;
}
#global-nav ul li a {
	padding: 0 20px;
        transition: opacity 0.3s ease;
}
#global-nav ul li a:hover {
  opacity: 0.6;
}

/* Btn Hover ナビのリンク下線 PCのみ*/
#global-nav ul li:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	bottom: -20px;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
}
#global-nav ul li:hover:after {
	background: #fff;
	bottom: -22px;
}
/* Fixed */
#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	padding-top: 15px;
	height: 60px;
	background: #1d3156;
	background: #333;
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
	font-size: 22px; font-size: 2.2rem;
	color: #fff;
}
#top-head.fixed #global-nav ul li a {
	color: #fff;
	padding: 0 20px;
}

/* Fixed Btn Hover */
#top-head.fixed #global-nav ul li:after {
	bottom: -10px;
}
#top-head.fixed #global-nav ul li:hover:after {
	background: #fff;
	bottom: -10px;
}


/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 20px;
	top: 17px;
	width: 30px;
	height: 25px;
	cursor: pointer;
	z-index: 101;
        user-select: none;
        -webkit-user-select: none; /* Safari用 */
}

#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 2px;
	width: 100%;
	background: #FFF;
        opacity: 0.8;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 10px;
}
#nav-toggle span:nth-child(3) {
	top: 20px;
}
/* header END */





.islands-wrap, h2 {
padding: 0 15%;
}
article p {
   margin-bottom: 1em;
   font-size: 18px;
   line-height:1.7;
   text-align: left;
}

/*　TopPageふんわり表示*/
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


.section-wrapper {
max-width:1200px;
margin:0 auto;
width: 70%;
}
.wrap70 {
max-width:1200px;
margin:0 auto;
width: 70%;
}
.wrap70 p {
padding:0;
}
.wrap70 p.top {
margin-bottom:100px;
}
.wrap70 ul,
.wrap70 ol{
margin-bottom:40px;
margin-left:20px;
}
.wrap70 li{
   font-size:18px;
   line-height:180%;
   text-align: left;
}
.wrap70 ul li:before{
font-family: "Font Awesome 5 Free";
content: "\f0da";
font-weight: 900;
color:#bfbfbf;
font-size:18px;font-size:1.8rem;
display:block;/*-以下2行になる場合の調整-*/
float:left;
margin-left:-20px;
}
.wrap70 ol li:before{
display:none;
}

#top-img-text {
position: absolute;
width: 100%;
top: 25%;
text-align: center;
color: #fff;
font-size: 55px; font-size: 5.5rem;
font-family: 'Hind', sans-serif;
font-weight: 700;
text-shadow: 2px 3px 3px #02010C;
opacity: 0.9;
}
#top-img-textja {
position: absolute;
width: 100%;
top: calc(25% + 80px);
text-align: center;
color: #fff;
font-size: 20px; font-size: 2.0rem;
text-shadow: 1px 2px 2px #02010C;
}


img.index-bigisland {
 width: 100%;
 height: auto;
 padding: 50px 0 10px ;
}
#index-bigislandimg-textS {
position: absolute;
width: auto;
top: 5%;
left: 10%;
color: #fff;
font-family: 'Hind', sans-serif;
font-weight: 700;
font-size: 70px; font-size: 7.0rem;
text-shadow: 1px 2px 2px #02010C;
opacity: 1;
}
#index-bigislandimg-text {
position: absolute;
width: auto;
top: 16%;
left: 10%;
color: #fff;
font-family: 'Hind', sans-serif;
font-weight: 700;
font-size: 30px; font-size: 3.0rem;
text-shadow: 1px 2px 2px #02010C;
}
.index-islandimg-textS {
position: absolute;
width: auto;
top: 5%;
left: 10%;
color: #fff;
font-family: 'Hind', sans-serif;
font-weight: 700;
font-size: 70px; font-size: 7.0rem;
text-shadow: 1px 2px 2px #02010C;
opacity: 0;
}
.index-islandimg-text {
position: absolute;
width: auto;
top: 16%;
left: 10%;
color: #fff;
font-family: 'Hind', sans-serif;
font-weight: 500;
font-size: 30px; font-size: 3.0rem;
text-shadow: 1px 2px 2px #02010C;
opacity: 0;
}

.island-topimg-textS {
position: absolute;
width: auto;
top: 30%;
left: 5%;
color: #fff;
font-family: 'Hind', sans-serif;
font-weight: 700;
font-size: 70px; font-size: 7.0rem;
text-shadow: 1px 2px 2px #02010C;
opacity: 1;
}
.island-topimg-textja {
position: absolute;
width: auto;
top: calc(30% + 100px);
left: 5%;
color: #fff;
/*font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;*/
font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
font-weight: 900;
font-size: 22px; font-size: 2.2rem;
text-shadow: 1px 1px 1px #000;
}
/* トップの見出し-文字数が多いもの*/
.island-topimg-textXS {
position: absolute;
width: auto;
top: 33%;
left: 5%;
color: #fff;
font-family: 'Hind', sans-serif;
font-weight: 700;
font-size: 45px; font-size: 4.5rem;
text-shadow: 1px 2px 2px #02010C;
opacity: 1;
}


/*-- index専用　--*/

.headline1-1 {
font-size: 30px; font-size: 3.0rem;
font-family: 'Hind', sans-serif;
font-weight: 600;
margin: 120px 0 0;
text-align: center;
}
.headline1-2 {
font-size: 15px; font-size: 1.5rem;
color: #666;
text-align: center;
padding: 0;
margin-bottom: 100px;
}


.newstitle {
width: 100%;
font-size: 25px;font-size: 2.5rem;
font-family: 'Hind', sans-serif;
font-weight: 600;
margin: 20px 0;
padding-left: 40px;
}
li.news {
   width: 100%;
   list-style:none;
   margin: 0 0 30px;
   text-align: left;
}
li.news:last-child {
  padding-bottom: 30px;
  margin-bottom: 0;
}
.news-date {
width: 17%;
font-family: 'Hind', sans-serif;
font-weight: 600;
font-size: 15px; font-size: 1.5rem;
color: #861834;
color: #7f7f7f;
margin-right: 20px;
display: inline-block;
vertical-align: top;
margin-top: 6px;
}
.news-contents {
width: 75%;
font-size: 18px; font-size: 1.8rem;
display: inline-block;
line-height: 1.7;

}
hr.hr-top {
width: 100%;
margin: 10px 0 60px;
border: 0;
height: 1px;
background: #bfbfbf;
background-image: -webkit-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
background-image:    -moz-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
background-image:     -ms-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
background-image:      -o-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
}
hr.hr-bottom {
width: 100%;
margin: 60px 0 80px;
border: 0;
height: 1px;
bbackground: #bfbfbf;
background-image: -webkit-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
background-image:    -moz-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
background-image:     -ms-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
background-image:      -o-linear-gradient(left, #f2f2f2, #bfbfbf, #f2f2f2);
}

.islands-wrap {
width:100%;
display:flex;
display: -webkit-flex;
justify-content: center;
padding:0 15%;
margin:0
}
.islands-wrap:first-of-type{
 padding-top: 50px;
}
.bigisland {
position: relative;
width:calc(100% / 1);
min-height: 0%;
background: #FFF;
padding-bottom: 40px;
margin: 0 5px 60px 5px;
box-shadow: 1px 1px 3px 1px #dadada;
-moz-box-shadow: 1px 1px 3px 1px #dadada;
-webkit-box-shadow: 1px 1px 3px 1px #dadada;
-o-box-shadow: 1px 1px 3px 1px #dadada;
-ms-box-shadow: 1px 1px 3px 1px #dadada;
display:block;
}
.islands {
position: relative;
width:calc(100% / 3);
min-height: 0%;
margin: 0 5px 0 15px;
background: #FFF;
padding-bottom: 40px;
box-shadow: 1px 1px 3px 1px #dadada;
-moz-box-shadow: 1px 1px 3px 1px #dadada;
-webkit-box-shadow: 1px 1px 3px 1px #dadada;
-o-box-shadow: 1px 1px 3px 1px #dadada;
-ms-box-shadow: 1px 1px 3px 1px #dadada;
display:block;
}
.bigisland a, .islands a {
display: block;
position: absolute;
top: 0;
left: 0;
height:100%;
width: 100%;
}
.islands-wrap p {
padding:0px 15px;
}
p.islands-name-ja {
font-size: 19px; font-size: 1.9rem;
font-weight: bold;
margin-bottom: 0;
padding:20px 15px 0px;
}
p.islands-name {
font-size: 14px; font-size: 1.4rem;
font-family: 'Fjalla One', sans-serif;
padding: 0 15px;
color: #BFBFBF;
}

.bigisland:hover, .islands:hover {opacity:0.8;}

.bigisland img, .islands img {
width: 100%;
}
/*-- index専用 END　--*/




.tourlist-box {
width:100%;
display:flex;
display: -webkit-flex;
justify-content: center;
padding:15px 10px 0 10px;
margin: 20px auto;
background: #fff;
/*box-shadow: 1px 1px 3px 1px #dadada;
    -moz-box-shadow: 1px 1px 3px 1px #dadada;
    -webkit-box-shadow: 1px 1px 3px 1px #dadada;
    -o-box-shadow: 1px 1px 3px 1px #dadada;
    -ms-box-shadow: 1px 1px 3px 1px #dadada;*/
box-sizing: border-box;
border: 1px solid #a3a3a3;
border-radius: 5px;
}
a.tourlist-link {
width: 90%;
text-decoration: none;
color: #333;
display: block;
margin: 20px auto;
}
.tourlist-box:hover {
opacity: 0.5;
}
.tourlist-map {
width: 100px;
height: 100px;
}
.tourlist-map img {
width: 100px;
height: 100px;
}
.tourlist-contents {
min-height: 0%;
-webkit-flex: 1;
flex: 1;
padding-bottom: 15px;
}
.tourlist-contents p {
margin: 0 20px;
padding: 0;
}
.tourlist-contents p:first-child {
margin: 0 20px 15px;
}
.tourlist-contents-tourname {
font-weight: bold;
}
.tourlist-contents-tourinfo {
margin-top: -10px!important;
}
.tourlist-contents .icon-clock:before {
content: "\e94e";
color: #727272;
}


/*-- リボン--*/
.tourlist-box-wrapper{
    display: block;
    position: relative;
    width: 100%;
    margin: 0 auto;
}

.tourlist-box-wrapper .tourlist-box {
    width: 100%;
    margin: 0;
    z-index: 1;
}
.ribbon_area {
    position: absolute;
    top: -6px;
    right: -6px;
    width: 89px;
    height: 91px;
    overflow: hidden;
z-index: 2;
  }
.ribbon {
    display: inline-block;
    position: absolute;
    padding: 7px 0;
    left: -23px;
    top: 22px;
    width: 160px;
    text-align: center;
    font-size: 16px;
    line-height: 16px;
    background: linear-gradient(to right, #2d3052 0%,#8fcdff 100%);
    color: #fff;
    font-family: 'Fjalla One', sans-serif;
    text-shadow: 0 2px 2px #56a1f3;
    letter-spacing: 0.05em;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.6);
}
/*-- リボン END--*/


.tour-box {
width:70%;
padding:0;
margin: 30px auto;
background: #fff;
box-sizing: border-box;
max-width: 1200px;
}
.tour-box-img{
width: 70%;
padding: 0;
margin: 20px auto 0;
max-width: 1000px;
}
.tour-box-img img{
width: 100%;
}

/*--Youtube-top-*/
.wrapper-movie {
   padding: 0;
   margin: 100px auto;
   box-sizing: border-box;
}
.movie{
position: relative;
padding-bottom: 56.25%; /*16:9の縦幅*/
height: 0;
overflow: hidden;
}
.movie iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
/*--Youtube-contents内-*/
.wrapper-movie.con {
  width: 70%;
  margin: 30px auto 0;
  background: #333;
}
/*--Instagram-top-*/
.wrapper-instagram{
 width: 60%;
 display: flex;
 justify-content: center;
 align-items: center;
 margin: 0 auto 7em;
}
/*--img-サムネイル-*/
.wrapper-pic {
  width: 70%;
  margin: 0 auto;
  padding: 50px 30px;
  background: #333;
  display: grid;
  grid-template-columns: repeat(auto-fill, 98px);
  gap: 20px;
  justify-content: center;
}

/*-- サムネイルリンク（個々の枠） --*/
.wrapper-pic .tmb {
  display: block;
  margin: 0;
  width: 98px;
  height: 98px;
}

/*-- 画像本体 --*/
.wrapper-pic .tmb img {
  width: 98px;
  height: 98px;
  display: block;
}

#lightbox .lb-container {
 padding: 0;
}
.lb-nav a.lb-prev {
opacity: 1;
}
.lb-nav a.lb-next {
opacity: 1;
}
.tour-contents .con-movie{
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  width: 100%;
  background: #333;
  margin-bottom: 0
}
.wrappic-op {
  width: 100%;
  margin: 0 auto;
  padding: 50px 30px;
  background: #333;
  display: grid;
  grid-template-columns: repeat(auto-fill, 98px);
  gap: 20px;
  justify-content: center;
}
.wrappic-op .tmb {
  display: block;
  margin: 0;
  width: 98px;
  height: 98px;
}
.tour-contents .con-movie-g{
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
margin-bottom:30px;
}

/*黒ラベル*/
.tour-contents .lab-all{
   display: inline-block;
   color: #fff;
   background: #4c4c4c;
   font-size: 14px;
   font-weight: bold;
   padding: 0.5em 1.5em;
   margin: 5px 10px 10px 0;
   text-align: center;
   border-radius: 5px;
   letter-spacing: 0.05em;
}
/*グレーラベル*/
.tour-contents .lab-fff{
   display: inline-block;
   color: #bfbfbf;
   background:#fff;
   border:1px solid #bfbfbf;
   font-size: 14px;
   font-weight:bold;
   padding: 0.5em 1.5em;;
   margin: 5px 10px 10px 0;
   text-align: center;
   border-radius: 5px;
   letter-spacing: 0.05em;
}
/*黒ラベル タイトル内*/
.tour-contents .lab-bl{
   display: inline-block;
   color: #fff;
   background:#4c4c4c;
   font-size: 14px;
   font-weight:bold;
   padding: 0.5em 1.5em;
   margin: 5px 10px 10px 0;
   text-align: center;
   border-radius: 5px;
   letter-spacing: 0.05em;
}
/*赤ラベル タイトル内*/
.tour-contents .lab-red{
   display: inline-block;
   color: #fff;
   background:#bc0d0d;
   font-size: 14px;
   font-weight:bold;
   padding: 0.5em 1.5em;
   margin: 5px 10px 10px 0;
   text-align: center;
   border-radius: 5px;
}
.tour-contents span[class^="lab-"] + p {
    margin-top: 2em;
}

.tour-box p>a:hover,
.oshirase.red p>a:hover{
color:#999;
}
.tour-box .tourlist-map {
width: 100%;
text-align: right;
padding: 20px 10%!important;
}
.tour-box .tourlist-map img {
width: 150px;
}
.tour-box-time:after {
font-family: "Font Awesome 5 Free";
content : "\f101";
font-weight: 900;
text-align: right;
display: block;
margin-top: -30px;
margin-right: 0;
font-size: 20px;
}

.tour-contents-table a:hover{
color:#999;
}
.tour-contents p {
margin: 0 0 20px 0;
padding: 0;
}
.ul-wrap{
margin-left:20px
}
.tour-contents li {
    font-size:18px;
    line-height: 2.2;
    text-align: left;
}

/*飛行区域マップ*/
img.overview-map{
max-width: 350px;
margin: 1em 0 1em;
}

.wappen-wrapper {
position:absolute;
top: 0px;
right: 4%;
width:18%;
margin-top: -5px;
}
.wappen-wrapper img {
width: 70%;
-webkit-filter: drop-shadow(2px 2px 2px #0C0D38);
}


/*オプション紹介の枠内*/
.op {
width: 100%;
max-width: 1200px;
border: 1px solid #999;
border-radius: 10px;
margin: 80px auto;
padding: 30px 30px 0;
padding: 30px 0 0;
background: #f2f2f2;
}
/*.op-title{
font-size: 18px; font-size: 1.8rem;
font-weight:bold;
margin: 0 0 20px 0;
padding:  0 30px;
}
.op-title::before{
font-family: "Font Awesome 5 Free";
font-size: 30px; font-size: 3.0rem;
content: "\f05a";
font-weight: 900;
color:#333;
margin: 2px 10px 0 0;
vertical-align: middle;
}
.op-top{
font-size: 18px; font-size: 1.8rem;
line-height: 1.9;
margin: 0;
padding: 0 30px;
}*/
.op-wrapper{
width:100%;
border-top: 1px solid #999;
/*border-bottom: 1px solid #999;*/
padding: 20px 30px 30px;
margin:70px 0 0;
/*background: #fff;*/
}
.op p{
padding: 0 30px;
}
.op-wrapper .tx1{
font-size: 19px; font-size: 1.9rem;
font-weight:900;
border-bottom: 1px solod #999;
padding-top: 15px;
}
.op-wrapper .tx2::before{
border-top: 1px solod #999;
}
.op-wrapper .tx2{
font-size: 15px; font-size: 1.5rem;
font-weight:normal;
color:#666;
}
.op .bookinfo-contents ul {
margin: 0;
line-height: 2.0;
}
.bookinfo-contents ul+p{
margin-top: 20px;
}

.bookinfo-contents.short {
margin-bottom: 40px;
}
.tour-contents .con-img img{
width: 100%;
margin-bottom: 20px;
}

/*.tour-contents .con-movie iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
*/


/*仕切り線*/
.line{
  width: 80%;
  margin: 150px auto;
  height: 7px;
  background: repeating-linear-gradient(
    90deg,              /* 線の角度 */
    #2f486d 0px,        /* 優しいブルーの開始位置 */
    #2f486d 1px,        /* 優しいブルーの終了位置（線の太さ） */
    #ffffff 1px,        /* 白の開始位置 */
    #ffffff 4px         /* 白の終了位置（線間の幅） */
  );
}

/*ツアー名*/
.h3-wrapper {
   min-height: 90px;
   margin: 40px 0 0;
}
h3.h3-tourtitle{
   font-size: 22px;
   line-height: 30px;
   padding-left: 24px;
   border-left: 1px solid #333;
   width: 100%;
   display: inline-block;
   vertical-align: top;
}
.h3-tour-subtitle {
color:#666;
font-size: 14px;
font-weight: normal;
width: calc(100% - 170px);
}
.h3-wrapper img {
width: 160px;
margin-top: -20px;
display: inline-block;
vertical-align: top;
}

.detail-wrapper {
padding: 20px 0;
}

/*--目次・料金表のアイコン---*/
.infobox p.title-icon.toc{
   margin: 1em 0.3em;
}
.accbox p.title-icon,
p.title-icon{
   /*margin: 80px 0 30px 0;*/
   margin: 0 0 30px 0;
   font-weight: bold;
   font-size: 18px;
   position: relative;
   padding-left: 1.5em;
}
.title-icon::before{
   font-family: "Font Awesome 5 Free";
   content : "\f138";
   font-weight: 900;
   position: absolute;
   left: 0;
   top: 0;
   width: 1.2em;
   text-align: center;
}

/*--accbox--*/
.tour-contents .accbox {
margin: 0 0 80px 0;
}
.tour-contents .accbox.mar {
margin: 80px 0;
}
.accbox .lab-red {
display: inline-block;
border:1px solid #bc0d0d;
border-radius: 3px;
font-size: 12px;font-size: 1.2rem;
padding: 0 7px;
margin: 0 0 0 10px;
text-align: center;
line-height: 1.5;
vertical-align: middle;
}

/*--料金表 label使用accordion */

/*ボックス全体*/
.price .accbox {
width: 100%;
max-width: 700px;
margin: 50px 0 10px;
}
.price .accbox .accbox {
width: 100%;
max-width: 700px;
margin: 0 0 10px;
}

/*ラベル*/
.tour-contents .accbox label {
width: 100%;
padding: 30px 10px;
border-top: 1px dotted #bfbfbf;
font-size: 18px;font-size: 1.8rem;
display: block;
}
.accbox label:last-of-type {
  border-bottom: 1px dotted #bfbfbf;
}
.tour-contents .accbox label.open {
position: relative;
width: 100%;
padding: 30px 10px;
border-top: 1px dotted #bfbfbf;
display: block;
cursor :pointer;
transition: all 1.0s;
}
.tour-contents .accbox label .labeltxt-left :not(p){
font-weight:normal;
}
.tour-contents .accbox label .labeltxt-left li{
line-height: 1.7;
font-size: 1.6rem;font-size: 16px;
}

.tour-contents .accbox label .labeltxt-left{
   font-size: 1.8rem;font-size: 18px;
   font-weight:bold;
   display: inline-block;
   width: 43%;
   vertical-align: top;
}
.tour-contents .accbox label .labeltxt-left.short{
   width: 26%;
}
label .labeltxt-left::before {
   font-size: 18px;
   font-family: "Font Awesome 5 Free";
   content : "\f105";
   font-weight: 900;
   color: #B2B2B2;
   display: inline-block;
   text-align: center;
   margin-right: 0.5em;
}

.tour-contents .accbox label .labeltxt-left.short.price{
   font-size: 30px;
   font-weight: 900;
   color: #686767;
   width: 100%;
}
.tour-contents .accbox label .labeltxt-left.short.price.red{
   color: #bc6f6f;
}


.tour-contents .accbox label .labeltxt-left p {
margin: 0 0 5px 0;
padding: 0;
font-weight:bold;
font-size: 17px;font-size: 1.7rem;
}
.tour-contents .accbox label .long {
margin: 0 0 5px 0;
padding: 0;
font-size: 16px;font-size: 1.6rem;
/*font-weight:bold;*/
}
.tour-contents .accbox label .long::before {
font-size: 17px;font-size: 1.7rem;
font-family: "Font Awesome 5 Free";
content : "\f107";
font-weight: 900;
color: #565656;
margin-right: 8px;
}
.tour-contents .accbox label .date {
display: block;
font-size: 18px;font-size: 1.8rem;
font-weight: normal;
margin: 10px 10px 10px 20px;
}
.tour-contents .accbox label .date::before {
font-size: 15px;font-size: 1.5rem;
font-family: "Font Awesome 5 Free";
content : "\f0da";
font-weight: 900;
color: #a3a3a3;
margin-right: 5px;
vertical-align: middle;
}

.tour-contents .accbox label .labeltxt-right{
    font-size: 18px;
    display: inline-block;
    width: 53%;
    vertical-align: top;
    padding-left: 1em;
}
.tour-contents .accbox label .labeltxt-right.small{
font-size: 16px;
}
.tour-contents .accbox label .labeltxt-right li{
    font-size: 18px;
    line-height: 2.2;
    position: relative;
    padding-left: 1em;
}
.tour-contents .accbox label .labeltxt-right li::before{
   font-family: "Font Awesome 5 Free";
   content : "\f0da";
   font-weight: 900;
   font-size: 18px;
   color: #ccc;
   -webkit-transition: all 0.4s ease;
   -o-transition: all 0.4s ease;
   transition: all 0.4s ease;
   position: absolute;
   left: 0;
   top: 0;
}
/*.tour-contents .accbox label:last-of-type{
border-bottom: 1px dotted #bfbfbf;
}*/

/*トグルを開く 詳細ボタン*/
.tour-contents .accbox label.open::after {
    position: absolute;
    content: "";
    top:50%;
    right:10px;
    transform: translateY(-50%);
    width: 45px;
    height: 45px;
    background: url("../img/btn-shosai01.png") no-repeat center / contain;
    pointer-events: none;
}
/*トグルを閉じる とじるボタン*/
.tour-contents .cssacc:checked + label.open::after {
    content: "";
    width: 45px;
    height: 45px;
    background: url("../img/btn-shosai02.png") no-repeat center / contain;
    transition: background-color 1.0s ease;
}
.tour-contents .cssacc:checked + label.open{
  background-color:#efefef;
}

/*ラベルホバー時*/
.tour-contents .accbox label.open:hover {
background :#d8d8d8;
}
.tour-contents .accbox .price label{
background :#e2e2e2;
}
/*チェックは隠す*/
.tour-contents .accbox input {
display: none;
}

/*中を非表示*/
.accbox .accshow {
height: 0;
padding: 0;
overflow: hidden;
opacity: 0;
transition: 1.3s;
}

/*クリックで中を表示*/
.tour-contents .cssacc:checked + label.open + .accshow {
height: auto;
/*padding: 5px;*/
opacity: 1;
}

/*.tour-contents .accshow p {
margin: 15px 10px
}*/
.tour-contents .accshow .h3-bookinfo{
margin: 0 0 15px 0;
font-size:18px;
}
.tour-contents .accshow p {
margin: 10px 0;
}
.tour-contents .accshow .price ul {
margin-bottom: 10px;
}
.tour-contents .accshow .price label ul {
margin-bottom: 10px;
}
.tour-contents .accshow .price label li {
padding: 0 5px;
line-height: 2.2;
font-size: 18px;font-size: 1.8rem;
}
.bookinfo-contents .accshow .bookinfo-contents label li:before{
display: none;
}
.accshow .bookinfo-contents,
.accshow .bookinfo-contents.border{
   border: 1px solid #bfbfbf;
   border-radius: 0 0 7px 7px;
   padding: 1em 2em;
   margin: 0 0 3rem;
}
.accshow .bookinfo-contents.border ul{
   margin-bottom: 0;
}
.accshow .bookinfo-contents.border label:first-of-type{
 border-top: none;
}
.accshow .bookinfo-contents.border label:last-of-type{
 border-bottom: none;
}
.accshow .bookinfo-contents .labeltxt-100{
   font-size: 15px;
   /*font-weight: 900;
   color: #a50b0b;*/
   padding-bottom: 1rem;
}



/*--料金表 label使用のaccordionここまで */


/* This css button was generated by css-button-generator.com */

.tour-box-button {
   position: relative;
   height: 64px;
   margin: 50px 0 30px;
   box-sizing: border-box;
   width: 100%;
}
.button-booking {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 90%;
    font-size: 1.6em;
    font-weight: bold;
    border: 1px solid #333;
    border-radius: 5px;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.05em;
    background: #333;
    color: #fff;
    padding: 20px;
    transition: all .5s;
    box-sizing: border-box;
    display: block;
}
.button-booking::before{
    font-family: "Font Awesome 5 Free";
    content: "\f533";
    font-weight: 900;
    color:#fff;
    padding-right:10px;
    transition: all .5s;
}
.button-booking:hover {
    background:#fafafa;
    color:#333;
    border:1px solod #333;
    border-radius: 5px;
    font-weight: bold;
}
.button-booking:hover::before{
    font-family: "Font Awesome 5 Free";
    content: "\f533";
    font-weight: 900;
    color:#333;
    padding-right:10px;
}
.button-booking:active {
    margin: 2px 0 0 2px;
}
.button-booking.read {
    border: 1px solid #ad5656;
    background: #ad5656;
    color: #fff;
}

.button-booking.read:hover {
   background:#fff;
   color:#ad5656;
   border:1px solod #ad5656;
   border-radius: 5px;
   font-weight: bold;
}
.button-booking.read:before{
font-family: "";
content: "";
font-weight: 900;
color:#fff;
padding-right:10px;
transition: all .5s;
}
/*.button-booking.read:hover:before{
font-family: "Font Awesome 5 Free";
content: "\f15c";
font-weight: 900;
color:#ad5656;
padding-right:10px;
}*/
.button-booking.read:before{

}
.button-booking.report {
    border: 1px solid #333;
    background: #fff;
    color: #333;
}
.button-booking.report:hover {
   background:#333;
   color:#fff;
   border:1px solod #333;
   border-radius: 5px;
   font-weight: bold;
}
.button-booking.report::before{
    font-family: "Font Awesome 5 Free";
    content: "\f533";
    font-weight: 900;
    color:#333;
    padding-right:10px;
    transition: all .5s;
}
.button-booking.report:hover::before{
    font-family: "Font Awesome 5 Free";
    content: "\f533";
    font-weight: 900;
    color:#fff;
    padding-right:10px;
}

/* This css button was generated by css-button-generator.com END*/


/*.bookinfo-img {
    position: relative;
    width: 300px;
    min-height: 100px;
border: 1px solid black;
}
.bookinfo-img img{
    position: absolute;
    width: 40%;
    transform: rotate(10deg);
    opacity: 0.05;
    top:0;
    left:0;
}*/

/* 案内枠 */
.oshirase{
width: 100%;
max-width: 1200px;
border: 1px solid #333;
border-radius: 10px;
margin: 5em auto;
padding: 3em;
}
.oshirase.red{
border: 1px solid #bc0d0d;
}
.oshirase p,
.oshirase.red p{
font-size:18px;font-size:1.8rem;
padding-left: 0;
line-height: 1.7;
}
.oshirase p:last-of-type{
margin-bottom: 0;
}
.oshirase.acc {/*アコーディオン内挿入*/
margin: 30px auto 0;
padding: 30px;
}

/*一括案内用 赤枠*/
.oshirase-red{
   max-width: 1000px;
   border: 2px solid #a50b0b; /* 2px赤 */
   border-radius: 10px;
   margin: 0 0 2rem;
   padding: 3em;
}
/* 前に要素がある（ページトップではない）場合のみ適用*/
* + .oshirase-red,
* + .oshirase-red-1 {
  margin: 2rem 0;
}
.oshirase-red-1{
   max-width: 1000px;
   border: 1px solid #a50b0b; /* 1px赤 */
   border-radius: 10px;
   margin: 0 0 3em;
   padding: 30px;
}
.oshirase-red .o-title,
.oshirase-red-1 .o-title {
   font-size: 19px;
   font-weight: bold;
   color:#a50b0b;
   line-height: 1.7;
   position: relative;
   padding: 0 0 0.2em 1.5em;
}
.oshirase-red .o-title::before,
.oshirase-red-1 .o-title::before{
   font-family: "Font Awesome 5 Free";
   content: "\f06a";
   font-weight: 900;
   font-size:19px;
   color:#a50b0b;
   position: absolute;
   left: 0;
   top: -1px;
   width: 1.2em;
   text-align: center;
}
.oshirase-red .o-date,
.oshirase-red-1 .o-date {
   font-size:14px;
   font-weight:normal;
   text-align: right;
   padding-right:0.8em;
}
.oshirase-red .o-txt,
.oshirase-red-1 .o-txt {
   padding: 0.5em 0;
   font-size:18px;
   font-weight:normal;
   line-height: 1.7;
}
.oshirase-red .o-txt:last-of-type,
.oshirase-red-1 .o-txt:last-of-type {
   padding-bottom: 1em;
}

.oshirase-red ul.o-ul,
.oshirase-red-1 ul.o-ul {
   padding-left:0;
   margin-bottom: 0;
}
.oshirase-red ul.o-ul li,
.oshirase-red-1 ul.o-ul li {
   padding: 0 0 0 1.3em; 
   margin-bottom: 10px;
   font-size: 18px;
   position: relative;
   line-height: 1.7;
}
.oshirase-red ul.o-ul li:last-child,
.oshirase-red-1 ul.o-ul li:last-child,
.oshirase-red ul.o-ul li.bold:last-child {
   margin-bottom: 0;
}
.oshirase-red ul.o-ul li::before,
.oshirase-red-1 ul.o-ul li::before,
.bookinfo-contents .oshirase-red ul.o-ul li::before,
.bookinfo-contents .oshirase-red-1 ul.o-ul li::before {
   font-family: "Font Awesome 5 Free";
   content: "\f0da";
   font-weight: 900;
   font-size:18px;
   color: #bfbfbf;
   position: absolute;
   left: 0;
   top: -2px;
   width: 1.4em;
   text-align: center;
}
/*.oshirase-red ul.o-ul li::before,
.oshirase-red-1 ul.o-ul li::before {
   font-family: "Font Awesome 5 Free";
   content: "\f0da";
   font-weight: 900;
   font-size: 18px;
   color: #bfbfbf;
   position: absolute;
   left: 0;
   top: 0.1em;
   width: 1.4em;
   text-align: center;
}*/
.oshirase-red ul.o-ul li.bold {
   font-size: 17px; 
   font-weight: 600;
   margin-bottom: 14px;
}

/*汎用 flexbox*/
.flex-box{
width: 100%;
display: flex;
align-items:stretch;
justify-content: space-between;
}
.flex-item{
display: flex;
width: 50%;
flex-direction: column;
padding: 30px 15px 30px 0;
}
.flex-item:last-of-type{
display: flex;
width: 50%;
flex-direction: column;
padding: 30px 0 0 15px;
}
.flex-item .mov-wp{
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}
.flex-item .mov-wp iframe{
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.flex-item .mov-wp img{
position: absolute;
width: auto;
height: 100%;
top: 0;
left: 0;
}
.flex-item img{
width: 100%;
}
.flex-item p.txt{
width: 100%;
font-size:14px;font-size:1.4rem;
margin-top: 5px;
color:#888;
}

/*予約案内 flex-item*/
.title{
width:70%;
max-width: 1000px;
margin: 0 auto;
/*padding: 90px 0 50px;*/
padding: 50px 0 10px;
}
.bi.flex-box{
width: 70%;
max-width: 1000px;
display: flex;
align-items:stretch;
justify-content: space-between;
margin: 0 auto;
padding: 4em 0;
border-top: 1px dotted #dadada;
}
.bi.flex-box .flex-item01{
display: flex;
width: 50%;
flex-direction: column;
padding: 0 20px 0 0;
}
.bi.flex-box .flex-item02{
display: flex;
width: 50%;
flex-direction: column;
padding: 0;
}
.bi.flex-box .flex-item01 p:first-child::before{
font-family: "Font Awesome 5 Free";
content: "\f054";
font-weight: 900;
color:#bfbfbf;
font-size:18px;font-size:1.8rem;
margin-right:7px;
}
.bi.flex-box .flex-item02 img{
width: 100%;
}
.bi.flex-box .flex-item02 p.txt{
width: 100%;
font-size:14px;font-size:1.4rem;
margin-top: 5px;
color:#888;
}

/*ページ内リンクの移動位置を下げる*/
a.anchor{
   display: block;
   height: 0.5em;
}


/*機種案内 flexbox*/
.tour-box .flex-box{
width: 100%;
display: flex;
align-items:stretch;
justify-content: space-between;
}
.tour-box .flex-box .flex-item{
display: flex;
width: 50%;
flex-direction: column;
padding: 0 60px 0 0;
}
.tour-box .flex-box .flex-item:last-of-type{
border: 1px solid #999;
border-radius: 10px;
padding: 20px!important;
}

/* 機種案内 説明open/close*/
/* アコーディオンA,ボタンを下揃え*/
.accordion-box{
width: auto;
margin: 30px 0 0;
margin-top: auto;
}
/*ラベル*/
.accordion-box label{
position: relative;
display: block;
max-width: 200px;
font-size: 15px;font-size: 1.5rem;
text-align: center;
background: #333;
color: #fff;
border: 1px solid #333;
padding: 10px 30px;
cursor: pointer;
transition: all 0.5s;
}
/*ラベルホバー時*/
.accordion-box label:hover{
background: #999;
color: #fff;
-webkit-transition: all .5s;
transition: all .5s;
}
/*チェックを隠す*/
.accordion-box input{
display: none;
}
/*open*/
.accordion-box label:after{
color: #fff;
font-family:"Font Awesome 5 Free";
content:" \f067";
font-weight: 900;
margin-left: 10px;
}
/* close*/
.accordion-box input:checked ~ label::after {
color: #fff;
font-family:"Font Awesome 5 Free";
content:" \f068";
font-weight: 900;
margin-left: 10px;
}
/*内容を非表示*/
.accordion-box div{
height: 0px;
padding: 0px;
overflow: hidden;
opacity: 0;
transition: 0.5s;
}
/*クリックで内容を表示*/
.accordion-box input:checked ~ div{
height: auto;
padding: 20px 0;
opacity: 1;
}
/*表示内容の調整*/
.accordion-box div p{
color: #333;
line-height: 1.9;
font-size: 16px;font-size: 1.6rem;
text-align: justify;
}
.ac-small p{
margin-bottom: 0px;
}

.wrapper-info ul{
margin-bottom:40px;
margin-left:20px;
}
.wrapper-info li{
font-size:18px;font-size:1.8rem;
line-height:180%;
}
.wrapper-info li:before{
font-family: "Font Awesome 5 Free";
content: "\f0da";
font-weight: 900;
color:#bfbfbf;
font-size:18px;font-size:1.8rem;
display:block;/*-以下2行になる場合の調整-*/
float:left;
margin-left:-20px;
}


/*機種案内とご予約案内のmargin調整*/
.tour-box:last-child{
margin: 20px auto 150px;
}

/* ツアー下部の案内*/
.bookinfo-box {
width:70%;
padding:0;
margin: 100px auto 200px;
box-sizing: border-box;
max-width: 1000px;
}
.h3-bookinfo {
font-size: 2rem;
opacity: 0.8;
text-align: left;
margin: 30px 0;
padding: 10px 0 10px 0;
position:  relative;
}
.h3-bookinfo::before {
content:  '';
width: 100%;
height: 2px;
background-color:#2f486d ; 
display:  block;
position:  absolute;
left:  0;
bottom: 1px;
}
.h3-bookinfo::after {
content:  '';
width: 100%;
height: 1px;
background-color: #d2c7b8; 
display:  block;
position:  absolute;
left:  0;
bottom: -3px;
}


.bookinfo-contents {
margin: 3rem 0 6rem;
}
.bookinfo-contents ul {
font-size: 16px;font-size: 1.6rem;
margin-bottom: 30px;
line-height:1.7;
text-align: left;
}
.bookinfo-contents li {
   line-height:1.7;
   font-size: 18px;
   position: relative;
   padding-left: 1.5em;
   margin-bottom: 10px;
}
.bookinfo-contents li.bold {
   font-size: 17px;
   font-weight: 600;
   margin-bottom: 18px;
}
.bookinfo-contents li::before {
   font-family: "Font Awesome 5 Free";
   content: "\f0da";
   font-weight: 900;
   font-size: 18px;
   color:#bfbfbf;
   position: absolute;
   left: 4px;
   top: 0;
   width: 1.2em;
   text-align: center;
}
.bookinfo-contents li p {/*リストに案内文が入る場合*/
margin: 5px 0 30px;
line-height:1.7%;
font-size: 18px;font-size:1.8rem;
}
.bookinfo-contents ul ul li {
   line-height:1.7;
   font-size: 18px;
   position: relative;
   padding-left: 0;
   margin-bottom: 10px;
}
.bookinfo-contents ul ul li:before {
   font-family: "Font Awesome 5 Free";
   content: "\f105";
   font-weight: 900;
   color:#bfbfbf;
   position: absolute;
   left: -1.5em;
   top: 0;
   width: 1.2em;
   text-align: center;
}
.bookinfo-contents ul ul {
padding: 10px 0 0 30px;
}
.bookinfo-contents ul ul li.x{
   line-height:1.7;
   font-size: 18px;
   position: relative;
   padding-left: 0;
}
.bookinfo-contents ul ul li.x:before {
   font-family: "Font Awesome 5 Free";
   content: "\f00d";
   color:#b2b2b2;
   position: absolute;
   left: -1.7em;
   top: 0;
   width: 1.2em;
   text-align: center;
}
.bookinfo-contents ul ul li.ck:before {
   font-family: "Font Awesome 5 Free";
   content: "\f00c";
   color:#b2b2b2;
   position: absolute;
   left: -0.4em;
   top: 0;
   width: 1.2em;
   text-align: center;
}
.bookinfo-contents img.bookinfo{
   width: 100%;
   display: block;
   max-width: 400px;
}


/*-GoogleMap レスポンシブ-*/
.googlemap {
margin: 2em auto;
width: 100%;
overflow: hidden;
}
.googlemap iframe {
max-width:800px;
max-height: 400px;
}

/*アイコン アラート*/
p.icon-alart {
    line-height: 1.8;
    position: relative;
    padding-left: 1.5em;
}
.icon-alart::before {
    font-family: "Font Awesome 5 Free";
    content: "\f06a";
    font-weight: 900;
    color: #bc0d0d;
    position: absolute;
    left: 0;
    top: 0;
}
p.icon-shita{/*-2行になる場合の調整-*/
    position: relative;
    width: 100%;
    line-height: 1.7;
    font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
    font-weight: 700;
    -webkit-font-smoothing: antialiased;    
    padding-left: 1.25em;
    margin-bottom: 1.5em;
    -webkit-text-size-adjust: 100%;
}
p.icon-shita::before{
    position: absolute;
    font-family: "Font Awesome 5 Free";
    content: "\f13a";
    font-weight: 900;
    left: 0;
    top: 0.2em;
    text-align: center;
    font-size: 16px;
}
.td-wrapper p.icon-shita{
   padding-left: 1.5em;
}
.icon-cost::before{
font-family: "Font Awesome 5 Free";
content: "\f155";
font-weight: 900;
margin-right:5px;
color: #727272;
}
.icon-link::before{
font-family: "Font Awesome 5 Free";
content: "\f155";
font-weight: 900;
color:#333;
margin-right:20px;
}


.icon-map::before{
font-family: "Font Awesome 5 Free";
content: "\f3c5";
font-weight: 900;
display:block;/*-以下2行になる場合の調整-*/
float:left;
margin-left:-20px;
}
p.icon-map{/*-2行になる場合の調整-*/
padding: 0 0 0 20px;;
line-height:180%;
}
.icon-link:after{
font-family: "Font Awesome 5 Free";
content: "\f360";
font-weight: 900;
color:#333;
margin-left:20px;
}


/*----- info系ページ-------------*/
.toptxt{
margin: 160px 0 120px;
}
.infopage-box {
padding: 0;
margin: 20px auto;
}
.infopage-box-wp {
padding: 0;
margin: 100px auto;
}
.infopage-box .table-wrapper {
width: 100%;
padding: 0;
}
.infopage-box .info-table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
}
.infopage-box .info-table th {
width: 160px;
text-align: left;
vertical-align: top;
font-size: 18px;font-size:1.8rem;
font-weight: bold;
padding: 3em 10px;
border-top: 1px dotted #bfbfbf;
}
.infopage-box .info-table td {
text-align: left;
vertical-align: top;
font-size: 18px;font-size:1.8rem;
border-top: 1px dotted #bfbfbf;
padding: 3em 5px 3em 2em;
}
.infopage-box .info-table {
border-bottom: 1px dotted #bfbfbf;
}
/*.infopage-box .info-table td .td-wrapper{
   margin-left:20px;
}*/
.infopage-box .info-table td ul li{
   position: relative;
   display: inline-block;
   padding: 0 0 0.7em 1.5em;
}
.infopage-box .info-table td ul li:last-child {
padding-bottom: 0;
}



/* 会社概要 */
.wrap70 .infopage-box .info-table td ul li{
   position: relative;
   display: inline-block;
   padding: 0 0 0.7em 0;
}
.wrap70 .infopage-box .info-table td ul li::before{
   left: -0.3em;
   top: 0;
}
.infopage-box ul.bookinfo-contents{
   margin: 1em 0;
}
.infopage-box h3.h3-bookinfo{
   margin: 70px 0 30px;
}
.infopage-box .button-booking{
   width: 100%;
}

article .info-table td p {
padding: 0;
}
article .info-table td ul {
margin-bottom: 30px;
}

/*ハワイ時間の表示*/
.hw-clock-container {
  margin-top: 40px;
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #f9f9f9;
  max-width: 100%;
  box-sizing: border-box;
  font-family: sans-serif;
}
.hw-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  justify-content: flex-start;
  margin-bottom: 5px;
}
.hw-label { font-size: 13px; color: ; }
.hw-date  { font-size: 15px; font-weight: bold; color: #333; }

.hw-time  {
  font-size: 19px;
  font-weight: bold;
  font-family: 'Courier New', Courier, monospace;
  color: #333;
  transform: translateY(2px);
}
.hw-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 10px;
}
.hw-msg {
  font-size: 16px;
  color: #d35400;
  line-height: 1.4;
  margin: 0;
  text-align: left;
}


/* ツアーレポート 斜め背景*/
.slant {
    position: relative;
    overflow: hidden;
    margin: 8% 0 0;
}
.slant:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 70%;
  margin: 3% -10% 0;
  background-color: rgba( 30, 31, 30, 1.00 );
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(2deg);
  -ms-transform: rotate(2deg);
  transform: rotate(2deg);
  z-index: -1;
}
.slant:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 70%;
  margin: 3% -10% 0;
  background: #dadada;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  transform: rotate(-2deg);
  z-index: -2;
}
.slant-inner {
  box-sizing: boder-box;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 120px 0 150px;
  color: #fff;
  text-align: center;
}
.slant-number {
  color: #fff;
  opacity: 0.8;
  font-size: 45px;
  font-family: 'Fjalla One', sans-serif;
  margin: 0 auto;
  padding-right: 8px;
}
.slant-ti01 {
    width: 100%;
    color: #fff;
    opacity: 0.8;
    font-size: 45px;
    font-size: 4.5rem;
    font-family: 'Fjalla One', sans-serif;
    margin: 0 auto;
    padding: 100px 0 20px;
}
.slant-ti02 {
  width: 100%;
  color: #fff;
  opacity: 0.8;
  font-size: 35px;
  font-family: 'Fjalla One', sans-serif;
  margin: 0 auto;
  padding: 0 0 150px;
}
/* ツアーレポート本文*/
.title-rep{
   width:70%;
   max-width: 1000px;
   margin: 0 auto 120px;
}
.title-rep p.title{
   position: relative;
   width: 100%;
   font-weight:bold;
   margin-bottom: 3rem;
   padding: 0 0 0 3.5rem;
   line-height: 1.7;
}
.title-rep p.title::before{
   position: absolute;
   font-family: "Font Awesome 5 Free";
   content: "\f152";
   font-weight: 900;
   color: #bfbfbf;
   font-size: 25px;
   display: inline-block;
   left: 0;
   top: -5px;
   width: 1.2em;
}
.title-rep ul{
     width:100%;
     margin: 4em 2px;
}
.title-rep ul li{
    font-size: 18px;
    line-height: 1.7;
    position: relative;
    padding: 0 0 1em 1.5em;
    display: block;
}
.title-rep ul li::before{
    font-family: "Font Awesome 5 Free";
    content: "\f0da";
    font-weight: 900;
    color: #bfbfbf;
    font-size: 18px;
    position: absolute;
    left: 0;
    top: 0.15em;
    width: 1.2em;
    text-align: center;
}
.title-rep img{
 width:100%;
 margin: 70px 0 0;
}
.title-rep p.txt {
 width: 100%;
 font-size: 14px; font-size: 1.4rem;
 margin: 5px 0 70px;
 color: #888;
}
.title-rep .comment {
 width: 100%;
 border: 1px solid #999;
 margin: 60px auto;
 padding: 30px;
 border-radius: 10px;
}
.title-rep .comment p.title{
    position: relative;
    width: 100%;
    padding: 0 0 0 2em;
    margin-bottom: 1em;
}
.title-rep .comment p.title::before{
    font-family: "Font Awesome 5 Free";
    content: "\f075";
    font-size: 19px;
    font-weight: 900;
    color: #666;
    transform: scaleX(-1);
    position: absolute;
    display: inline-block;
    width: 1.2em;
    left: 0;
    top: -2px;
}
.title-rep .comment p{
 font-size:17px;font-size:1.7rem;
 padding: 0;
}
/*-ツアーレポート 最下部のボタン-*/
.title-rep.link{
    width:70%;
    max-width: 1000px;
    margin: 0 auto 200px;
}
.title-rep.link .tour-box-button {
    height: 64px;
    margin: 0 0 50px;
    box-sizing: border-box;
}
.title-rep.link .tour-box-button .button-booking {
    width: 70%;
    font-size: 1.6em;
    border: 1px solid #333;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.05em;
    background: #fafafa;
    color: #333;
    padding: 20px;
    transition: all .5s;
    box-sizing: border-box;
    display: block;
}
.title-rep.link .tour-box-button .button-booking:hover {
background:#333;
color:#fff;
border:1px solod #333;
}
.title-rep.link .tour-box-button .button-booking:active {
        margin: 2px 0 0 2px;
}
.title-rep.link .tour-box-button .button-booking:before{
font-family: "Font Awesome 5 Free";
content: "\f533";
font-weight: 900;
color:#333;
padding-right:10px;
transition: all .5s;
}
.title-rep.link .tour-box-button .button-booking:hover:before{
font-family: "Font Awesome 5 Free";
content: "\f533";
font-weight: 900;
color:#fff;
padding-right:10px;
}

article table.info-table.rep td p.title-icon{
    position: relative;
    padding-left: 1.5em;
    display: block;
}
article table.info-table.rep td p.title-icon::before{
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: -0.05em;
    width: 1.2em;
    text-align: center;
}

/*-ツアーレポート最下部ボタン 本のアイコン-*/
.title-rep.link .tour-box-button .button-booking.read::before{
font-family: "Font Awesome 5 Free";
content: "\f303";
font-weight: 900;
color:#333;
padding-right:10px;
transition: all .5s;
}
.title-rep.link .tour-box-button .button-booking.read:hover::before{
font-family: "Font Awesome 5 Free";
content: "\f303";
font-weight: 900;
color:#fff;
padding-right:10px;
transition: all .5s;
}

/*-ツアーレポート　丸付き数字リスト-*/
*.comment ol {
  counter-reset:number;
  list-style-type: none!important;
}
.comment ol li {
    position: relative;
    line-height: 1.7;
    padding: 0.5em 0.5em 1em 2.5em;
    font-size: 18px;
}
.comment ol li:before{
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number;
    content: counter(number);
    /*以下数字のデザイン変える*/
    display: inline-block;
    background: #c98283;
    color: #fff;
    font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
    font-weight: bold;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
    left: 0;
    text-align: center;
    vertical-align: top;
    /*以下 上下中央寄せのため*/
    top: 40%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
/*ツアーレポートトップ*/
.info-table.rep th{
    width: 160px;
    text-align: left;
    vertical-align: top;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 60px 10px 20px;
    border-top: 1px dotted #bfbfbf;
}
.info-table.rep td{
    text-align: left;
    vertical-align: top;
    font-size: 18px;
    font-size: 1.8rem;
    border-top: 1px dotted #bfbfbf;
    padding: 60px 5px 40px 20px;
}
.info-table.rep td .tour-box-button{
    margin: 60px 0 80px;
}
.info-table.rep td .button-booking {
    width: 100%;
    max-width: 750px;
    font-size: 17px;
    font-size: 1.7rem;
}


/* 予約案内の目次*/
.infobox {
    border: 1px solid #999;
    border-radius: 10px;
    padding: 3rem;
}

.infobox label{
    border-top: 1px dotted #dadada;
    display: block;
    font-size: 18px;
    line-height: 1.6;
    padding: 10px 40px;
    text-align: left;
}
.infobox label::before{
font-family: "Font Awesome 5 Free";
content: "\f0da";
font-weight: 900;
color: #dadada;
display: block;
float: left;
font-size: 20px;font-size:2.0rem;
margin: 2px 10px 0 0;
}


/* 会社概要のリストのみ*/
article .info-table td ul.c-p {
margin-bottom: 0;
}
article .info-table td ul.c-p li {
padding-bottom: 20px;
}

/* FAQのみ*/
.bookinfo-contents.faq .h3-bookinfo {
position: relative;
margin: 130px 0 15px 0;
}
.bookinfo-contents.faq .h3-bookinfo:first-of-type {
margin: 50px 0 15px 0;
}
.bookinfo-contents.faq .h3-bookinfo::before {
content:  '';
width: 100%;
height: 2px;
background-color:#223148 ; 
display:  block;
position:  absolute;
left:  0;
bottom: 1px;
}
.bookinfo-contents.faq .h3-bookinfo::after {
content:  '';
width: 100%;
height: 1px;
background-color: #d2c7b8; 
display:  block;
position:  absolute;
left:  0;
bottom: -2px;
}

/*目次 FAQ*/
.bookinfo-box .accbox.faq{
   margin: 0 3rem;
}
.bookinfo-box .accbox.faq label{
   width: 100%;
   max-width: 400px;
   border-top: 1px dotted #bfbfbf;
   display: block;
   font-size: 18px;
   padding: 12px 5px;
   text-align: left;
}
.bookinfo-box .accbox.faq a.faq{
display:block;
}
.bookinfo-box .accbox.faq label::before{
font-family: "Font Awesome 5 Free";
content: "\f0da";
font-weight: 900;
color: #dadada;
display: block;
float: left;
font-size: 20px;font-size:2.0rem;
margin: 2px 10px 0 0;
}
.bookinfo-box .accbox.faq label:last-of-type{
border-top: 1px dotted #bfbfbf;
border-bottom: 1px dotted #bfbfbf;
}
.bookinfo-box .accbox.faq label:hover{
background: #dadada;
cursor: pointer;
}

.bookinfo-contents.faq .h3-bookinfo{
font-size: 18px;font-size: 1.8rem;
margin-bottom: 0;
}

.bookinfo-contents.faq p.q{
   position: relative;
   font-size: 18px;
   margin:30px 0 5px 0;
   border-top: 1px dotted #999;
   border-bottom: 1px dotted #999;
   padding: 0.8em 0.8em 0.8em 1.6em;
}
.bookinfo-contents.faq p.q::before{
   font-family: "Font Awesome 5 Free";
   content: "\f059";
   font-weight: 900;
   color: #bc0d0d;
   font-size: 20px;
   position: absolute;
   left: 0;
   top: 0.7em;
   width: 1.2em;
   text-align: center;
}

.bookinfo-contents.faq p.q:first-of-type{
margin-top:0;
/*border-top:none;*/
}

.bookinfo-contents.faq .lab-area{
   width: 100%;
   text-align: left;
}
.bookinfo-contents.faq p{
margin-bottom: 20px;
}
/*FAQ全島共通ラベル*/
.bookinfo-contents.faq .lab-all{
   display: inline-block;
   color: #4c4c4c;
   background:#e5e5e5;
   border:1px solid #4c4c4c;
   font-size: 14px;
   font-weight:bold;
   padding: 0.5em 1.5em;
   margin: 1em 0.5em 1em 0;
   text-align: center;
   border-radius: 5px;
   letter-spacing: 0.05em;
}
/*FAQ島個別用ラベル*/
.bookinfo-contents.faq .lab-is{
   display: inline-block;
   color: #fff;
   background:#4c4c4c;
   font-size: 14px;
   padding: 0.5em 1.5em;
   margin: 1em 0.5em 1em 0;
   text-align: center;
   border-radius: 5px;
   letter-spacing: 0.05em;
}

.infopage-box .info-table td p.icon-alart {
   position: relative;
   padding-left: 1.5em;
   line-height: 1.7;
}
.infopage-box .info-table td .icon-alart::before {
   font-family: "Font Awesome 5 Free";
   content: "\f06a";
   font-weight: 900;
   color: #bc0d0d;
   position: absolute;
   left: 0;
   top: 0.15em;
   width: 1.2em;
   text-align: center;
}
.infopage-box .info-table td li::before {
   font-family: "Font Awesome 5 Free";
   content: "\f0da";
   font-weight: 900;
   color: #bfbfbf;
   position: absolute;
   left: 0;
   top: 0.15em;
   width: 1.2em;
   text-align: center;
}
.infopage-box .info-table td .tour-box-button {
margin: 0 0 2em;
}
.infopage-box .info-table td .button-booking {
width: 100%;
font-size: 17px;
font-size: 1.7rem;
background: #333;
color:#fff;
}
.infopage-box .info-table td .button-booking:hover {
background: #fafafa;
color: #333;
}
.infopage-box .info-table td .tour-box-button.b-info{
margin: 0 0 80px -20px;
}

.infopage-box .info-table td a.button-booking.read::before {
font-size: 17px;
font-size: 1.7rem;
color:#fff;
}
.infopage-box .info-table td a.button-booking.read:hover::before {
font-size: 17px;
font-size: 1.7rem;
color:#333;
}
/* td内にpのみが入る場合に適用--問い合わせの表など */
.infopage-box td > p:only-child {
   margin-bottom: 0;
}
/* td内 ulが最後の要素の場合に適用--問い合わせの表など*/
.infopage-box td .td-wrapper > ul:last-child {
    margin-bottom: 0;
}

.bookinfo-box .bookinfo-contents h3.h3-bookinfo p{
   padding: 0;
}

.tel {
pointer-events: none;
color:black;
}
.m-last{
margin-bottom: 300px;
}

/*新フッター*/
#footer {
   min-height: 700px;
   background-color: #262626;
   background: url(https://bluehawaiian-jp.com/img/footer.jpg) no-repeat center center / cover;
   position: relative;
   display: flex;
   flex-direction: column;
   line-height: 0;/* footer-topの上部にできる隙間を消す */
}
#footer a {
   color:#dadada;
   text-decoration: none;   
}
#footer a:hover {
   color:#999;
   transition: all .3s;
}
.footer-top {
   height: 80px;
   flex-shrink: 0;
   font-size: 22px;
   font-family: 'Fjalla One', sans-serif;
   color: #dadada;
   background:rgba(51,51,51,0.7);
   line-height: 1.7;/* footer-topの上部にできる隙間を消す、を戻す*/
}
.footer-top:hover {
   background: #333;
   background:rgba(51,51,51,0.9);
   transition: all .5s;
}
#footer-wrap{
   flex-grow: 1;/* 残りのスペース（700-80-80=540px）を自動で埋める */
   display: flex;
   align-items: center;
}
.footer-inner {
   width: 740px;
   margin: 0 auto;
   height: 100%;

   display: flex;
   align-items: center;
   justify-content: flex-start;
}
.footer-main {
    display: grid;
    grid-template-columns: 180px 180px 300px; 
    gap: 40px;
    justify-content: center;
    width: 95%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
}
.footer-column {
    text-align: left;
}
.footer-column-wide {
    grid-column: auto; /* PCでは1列分 */
}
.footer-heading {
    font-size: 15px; font-size: 1.5rem;
    font-family: 'Hind', sans-serif;
    font-weight: 900;
    font-size: 1.8rem;
    margin: 2rem 0 1.5rem 0;
    padding: 0 !important;
    line-height: 1.2;
    color: #dadada;
}
.footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer-links li {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 18px;
    text-align: left;
    color: #dadada;
}
/* お問い合わせボタン */
.footer-action {
    margin-top: 30px;
    text-align: center;
}
.footer-action a{
   width: 100%;
}
.footer-button {
    display: inline-block;
    font-size: 14px; font-size: 1.4rem;
    padding: 18px 30px;
    border:1px solid #fff;
    border-radius: 3px;
    color: #dadada;
    text-decoration: none;
    margin: 0;
}
.footer-button:hover{
   border-color: #999;
   transition: all .3s;
}
.footer-bottom {
   width:100%;
   height:80px;
   flex-shrink: 0;
   background: #262626;/*墨黒*/
   color: #dadada;
   font-size: 14px;;
}
.footer-bottom a {
   color: #dadada;
}
/*.footer-bottom a:hover {
   text-decoration: none;
   color: #999;
}*/
.footer-bottom .footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 740px;
    margin: 0 auto;
}
.footer-bottom-copyright {
    display: block;
    white-space: nowrap;
    font-size: 14px;
    color: #dadada;
}
.copyright-symbol {
    display: inline-block;
    font-size: 1.2em; 
    vertical-align: -0.1em;
    margin-right: 2px;
    font-family: sans-serif;
}
.footer-bottom-sns {
    display: flex;
    gap: 20px;
}
.footer-bottom-sns a {
    font-size: 20px;
    color: #dadada;
    transition: transform 0.2s, color 0.2s;
    text-decoration: none;
}
.footer-bottom-sns a:hover {
    transform: scale(1.2);
}
.footer-bottom-sns a.x-twitter:hover { color: #000; }
.footer-bottom-sns a.youtube:hover { color: #FF0000; }

/*新フッターEND*/

.back-top {
   position: fixed;
   bottom: 35px;
   right: 5%;
   -ms-filter: "alpha(opacity=80)";
   -moz-opacity: 0.9;
   -khtml-opacity: 0.9;
   font-size: 50px; font-size: 5.0rem;
   color: #8e8e8e;
   opacity: 0.8;
   z-index: 10;
   text-decoration: none;
}
a .back-top {
   display: block;
}
a.back-top:hover {
   opacity: 0.6;
} 

/*.copyright {
font-family: "Droid Sans",Verdana;
}*/



.m-B50 {margin-bottom: 50px;}
.m-B5r {margin-bottom: 5rem;}
.m-B30 {margin-bottom: 30px;}
.m-B10 {margin-bottom: 10px;}
.m-B0 {margin-bottom: 0}
.m-B15 {margin-bottom: 15px;}
.m-B300{margin-bottom: 300px;}
.m-T50 {margin-top: 50px;}
.m-T4r {margin-top: 4rem;}
.m-T30 {margin-top: 30px;}
.m-T20 {margin-top: 20px;}
.m-T2 {margin-top: 2em;}
.m-T0 {margin-top: 0;}
.m-L15 {margin-left: 15px;}
.m-R15 {margin-right: 15px;}
.m-R35 {margin-right: 35px;}

.p-T100 {padding-top:100px;}
.p-T30 {padding-top:30px;}
.p-T20 {padding-top:20px;}
.p-R80 {padding-right:80px;}

.f-bold{font-weight: bold!important;}
.f-normal{font-weight: normal!important;}

.f12{font-size: 12px; font-size: 1.2rem;}
.f13{font-size: 13px; font-size: 1.3rem;}
.f14{font-size: 14px; font-size: 1.4rem;}
.f15{font-size: 15px; font-size: 1.5rem;}
.f16{font-size: 16px; font-size: 1.6rem;}
.f17{font-size: 17px; font-size: 1.7rem;}
.f19{font-size: 19px; font-size: 1.9rem;}
.f24{font-size: 24px; font-size: 2.4rem;}
.f26{font-size: 26px; font-size: 2.6rem;}
.f12em{font-size: 1.2em;}
.f13em{font-size: 1.3em;}
.f10em{font-size: 1.0em;}

.red{color:#a50b0b;}
.gray{color:#999999;}
.blue{color:#277cb0;}
.bold{font-weight:bold;}
.normal{font-weight:normal;}
.block{display:inline-block;}
.br{display:block;}
.al-r{text-align:right;}
.torikeshi{text-decoration:line-through;}
span.marker {background-color: rgba(255, 208, 209, 1);}



/*------------------------------------------------------------------------------------------------------------------------------------*/
/*　major breakpoint タブレット・小型ノート 768～1023　 */
/*------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1023px) {

.inner {
width: 100%;
padding: 0 20px;
}

#header {
margin-top: 56px;
}
#header-bg {
background: rgba(0,0,0,.0);
}
#header img {
    padding-top: 0;
}
#global-nav ul li a {
    display: block;
    width: 100%;
    padding: 0 20px;
    transition: background-color 0.3s ease, opacity 0.3s ease;
    text-decoration: none;
}
#global-nav ul li a:hover {
    background-color: rgba(255, 255, 255, 0.1);
    opacity: 0.8;
}


#container {
   max-width: 90%;
}

h1 {
font-size: 20px; font-size: 2.0rem;
}
#container h1 {
   margin: 50px auto;
   font-size: 25px;
}
#container h1 > .h1-1 {
font-size: 28px;
font-weight:bold;
}

#container h2 > .h2-1{
   font-weight:bold;
}

/*一括案内用 赤枠*/
.oshirase-red,
.oshirase-red-1 {
   width: 100%;
   padding: 4rem;
}
.oshirase-red .o-date,
.oshirase-red-1 .o-date{
   padding-right: 0;
   padding-top: 10px;
   font-size: 15px;
}
.oshirase-red .o-title::before,
.oshirase-red-1 .o-title::before{
   top: -1px;
}

h2 {
padding: 0 5%;
}
article p{
padding: 0;
}

/*パンくずリスト*/
.topicpath{
width:90%;
}

/*--各ツアーの画像 tablet/mobileのみ---*/
.tour-box-img{
width: 100%;
padding: 0;
}

.h2-line {
padding: 0 2%;
}

#top-img-text {
top: 15%;
font-size: 45px; font-size: 4.5rem;
}
#top-img-textja {
top: calc(15% + 65px);
font-size: 18px;
}

.headline1-1 {
margin: 100px 0 0;
}

.index.wrapper-movie{
width:100%;
padding: 0;
}
.news-wrapper {
padding: 10px 8% 0;
}

.newstitle {
width: 100%;
padding: 0 6%;
margin: 40px 0 0;
font-size: 20px;font-size: 2.0rem;
}
li.news{
width:100%;
margin: 10px 0 0;
}
.news-date {
   width: 100%;
   padding: 20px 6% 0;
  text-align: left;
   margin-right:0;
   font-size: 16px;
   margin-top: 0;
}
.news-contents {
width: 100%;
padding: 0 6%;
display: block;
clear: both;
}
hr.hr-top {
width: 92%;
margin: 0 auto;
}
hr.hr-bottom {
width: 92%;
margin: 50px auto;
}


.section-wrapper {
max-width: 980px;
width: 100%;
}
.wrap70 {
width: 100%;
}

/*--Youtube--*/
.wrapper-movie {
width: 100%;
padding: 0;
margin: 100px auto;
max-width: 980px;
}
.wrapper-movie.con {
width: 100%;
padding: 0;
margin: 30px auto 0;
max-width: 980px;
}

.islands-wrap{
flex-direction: column;
width: 100%;
padding: 0%;
}
.bigisland{
width:calc(95% / 1);
margin: 0 auto 70px;
}
.islands{
width:calc(95% / 1);
margin:0 auto 70px;
}
li.islands:last-child {
  margin-bottom: 0;
}
.islands > p, .bigisland > p {
padding: 0 10%;
}
p.islands-name-ja {
margin-bottom: 0;
padding: 20px 10% 0;
}

#index-bigislandimg-textS {
top: 5%;
left: 10%;
font-size: 70px; font-size: 7.0rem;
opacity: 1;
}
#index-bigislandimg-text {
top: 16%;
left: 10%;
font-size: 30px; font-size: 3.0rem;
opacity: 1;
}
.index-islandimg-textS {
top: 5%;
left: 10%;
font-size: 70px; font-size: 7.0rem;
opacity: 1;
}
.index-islandimg-text {
top: 16%;
left: 10%;
font-size: 30px; font-size: 3.0rem;
opacity: 1;
}
.island-topimg-textS {
top: 5%;
font-size: 55px; font-size: 5.5rem;
}
.island-topimg-textja {
top: calc(5% + 70px);
font-size: 18px;
}
.island-topimg-textXS {
top: 5%;
font-size: 55px; font-size: 5.5rem;
}



.bigisland:hover, .islands:hover {opacity:1;}


	#top-head,
	.inner {
		width: 100%;
		padding: 0;
	}
	#top-head {
		top: 0;
		position: fixed;
		margin-top: 0;
	}
	/* Fixed reset */
	#top-head.fixed {
		padding-top: 0;
		background: transparent;
	}


	#mobile-head {
		background: #1d3156;
        	background: #333;
		width: 100%;
		height: 56px;
		z-index: 999;
		position: relative;
	}
	#top-head.fixed .logo,
	#top-head .logo {
		position: absolute;
		top: 20px;
		color: #fff;
		font-size: 23px; font-size: 2.3rem;
	}

	#global-nav {
		position: absolute;
		/* 開いていないときは画面外に配置*/
		top: -500px;
		background: rgba(29,49,86,.9);
		-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
		width: 100%;
		text-align: left;
		padding: 0;
		-webkit-transition: .5s ease-in-out;
		-moz-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	#global-nav ul {
		list-style: none;
		position: static;
		right: 0;
		bottom: 0;
		font-size: 16px; font-size: 1.6rem;
	}
	#global-nav ul li {
		float: none;
		position: static;
	}
	#global-nav ul li:after  {
		display: none;
	}
	#top-head #global-nav ul li a,
	#top-head.fixed #global-nav ul li a {
		width: 100%;
		display: block;
		color: #fff;
		padding: 25px 10px 25px 7%;
	}
	#nav-toggle {
		display: block;
	}


	/* #nav-toggle 切り替えアニメーション */

	.open #nav-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	/* #global-nav スライドアニメーション */
	.open #global-nav {
		/* #global-nav top + #mobile-head height */
		-moz-transform: translateY(556px);
		-webkit-transform: translateY(556px);
		transform: translateY(556px);
	}


.h2-line {
margin: 70px 0 40px;
}
.line {
margin: 80px auto;
width:100%;
}

.tourlist-box {
width: 100%;
margin: 1px auto;
}

.tourlist-contents {
min-height: 0%;
padding:0 0 25px 0;
margin: 10px;
}
.tourlist-box-wrapper{
width: 100%;
}
.tour-box {
width:100%;
}
h3.h3-tourtitle {
margin: 0 0 10px;
font-size: 19px; font-size: 1.9rem; 
}
.h3-tour-subtitle{
margin: 0 0 30px;
}

/* 予約案内の目次*/
.bookinfo-contents {
margin: 3rem auto;
}
.bookinfo-contents ul ul li.ck:before {
font-size: 13px; 
}


.h3-wrapper img {
width: 160px;
margin-top: -20px;
}
/* This css button was generated by css-button-generator.com */
.button-booking {
width:100%;
padding: 27px;
}
/* This css button was generated by css-button-generator.com END*/
.tour-box-button{
  width: 100%;
}

.wappen-wrapper img {
width: 80%;
}
.table-wrapper {
width: 100%;
margin: 40px 0;
padding: 0;
}

.bookinfo-box {
width:87%;
margin: 80px auto 150px;
}

/*飛行区域マップ*/
img.overview-map{
width: 100%;
}

/*オプション紹介の枠内*/
.bookinfo-contents.short {
margin: 8px auto 40px;
}

/*案内枠*/
.oshirase,
.oshirase.red {
width: 90%;
margin: 5em auto 3em;
padding: 2em;
}
.oshirase.acc,
.oshirase.red.acc{
width: 100%;
margin: 3em auto 1em;
}

/*--img-サムネイル-*/
.wrapper-pic {
  width: 100%;
  padding: 40px 30px;
}
.wrapper-pic .tmb {
display:inline-block;
}
.wrappic-op {
  padding: 40px 30px;
}
.wrappic-op .tmb {
  display: inline-block;
}

.tour-contents-table {
max-width: none;
}
.tour-contents .accordion{
max-width: none;
}
.tour-contents .accbox {
max-width: none;
}
.tour-contents .accbox label .labeltxt-left.short,
.tour-contents .accbox label .labeltxt-left{
   width: 40%;
}

.accshow .bookinfo-contents.border label{
   padding:2rem 0;
}
.accshow .bookinfo-contents.border label ul{
   margin-bottom: 0;
}
.googlemap iframe {
   max-height: 400px;
}

/*------info系ページ-----*/
.toptxt{
margin: 120px 0;
}
.infopage-box .info-table th{
   padding: 2em 10px;
}
.infopage-box .info-table td{
   padding: 2em 5px 2em 2em;
}
/*トップページ*/
.headline1-2 {
margin-bottom: 80px;
}

/*汎用 flexbox*/
.flex-box{
flex-direction: column;
width: 100%;
}
.flex-item{
width: 100%;
padding: 30px 0;
}
.flex-item:last-of-type{
width: 100%;
flex-direction: column;
padding: 0;
}
.flex-item .mov-wp img{
width: 100%;
height: auto;
}
.flex-item .mov-wp{
margin: 30px 0 0;
}

/*予約案内 flex-item*/
.title{
width:100%;
}

.bi.flex-box{
width: 100%;
padding: 20px 0 10px;
border-top: none;
}
.bi.flex-box .flex-item01{
width: 100%;
padding: 0 0 20px 0;
}
.bi.flex-box .flex-item02{
width: 100%;
padding: 0;
margin-bottom: 0; 
}
.bi.flex-box .flex-item01 p{
padding: 0;
}
.bi.flex-box .flex-item02 p{
padding: 0;
}
.bi.flex-box .flex-item02 p.txt{
font-size:15px;font-size:1.5rem;
margin-top: 7px;
}
/* 予約案内の目次*/
.infobox{
   margin-top: 3em;
}
.bookinfo-box .bookinfo-contents h3.h3-bookinfo p{
   padding-left: 0;
}
/* ツアーレポート 斜め背景*/
.slant::before {
  -webkit-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
}
.slant::after {
  -webkit-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}
.slant-inner {
  padding: 80px 0;
}
.slant-number {
  font-size:35px
}
.slant-ti01 {
  font-size:35px;font-size:3.5rem;
  padding: 60px 20px 20px;
}
.slant-ti02 {
  font-size:25px;font-size:2.5rem;
  padding: 0 20px 100px;
}

/* ツアーレポート本文*/
.title-rep{
   width:100%;
   margin: 0 auto 80px;
}
.title-rep p{
 width:100%;
 padding: 0;
}
.title-rep img {
 margin: 50px 0 0;
}
/*-ツアーレポート 最下部のボタン-*/
.title-rep.link{
width:87%;
margin: 0 auto 100px;
}
.title-rep.link .tour-box-button .button-booking {
width: 100%;
}
/* FAQのみ*/
.bookinfo-box .accbox.faq{
   margin: 0;
}
/*機種案内 flexbox*/
.tour-box .flex-box{
flex-direction: column;
width: 100%;
}
.tour-box .flex-box .flex-item {
   width: 100%;
   padding: 0 0 3em;
}
.tour-box .flex-box .flex-item p{
   padding: 0;
}
.tour-box .flex-box .flex-item:last-child {
padding: 0 10px;
}
/*問い合わせ*/
.infopage-box h3.h3-bookinfo {
    margin: 40px 0 30px;
}

/*-レポート　丸付き数字リスト-*/
ol li::before{
  top: 38%;
  -webkit-transform: translateY(-40%);
  transform: translateY(-40%);
}

.m-last{
margin-bottom: 200px;
}


/*新フッター*/
#footer {
   height: auto;
   min-height: 800px;
   background: url(https://bluehawaiian-jp.com/img/footer-tablet.jpg) no-repeat center center / cover;
}
.footer-inner{
   justify-content: center;
   width: auto;
}
.footer-inner a{
   font-size: 20px; 
}
.icon-heli2:before {
   font-size: 19px;
}
.footer-main {
   grid-template-columns: 150px 150px;
   gap: 5px 150px;
   max-width: none;
   margin: 30px auto 45px;
}
.footer-column-wide {
   grid-column: 1 / 3;
   width: 100%;
}
.footer-heading {
   margin: 1rem 0 1.5rem 0;
}
.footer-links {
   display: inline-block;
   text-align: left;
}
.footer-action {
   text-align: center;
   margin: 10px 0 0;
}
.footer-action a{
   padding: 22px 20px;
}
.footer-bottom {
   height: auto;
   padding: 20px 0;
}
.footer-bottom .footer-inner {
   flex-direction: row;
   justify-content: center;
   gap: 15px;
   width: 80%;
}
}

/*------------------------------------------------------------------------------------------------------------------------------------*/
/*　小型タブレット 600～767　*/
/*------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {

/*新フッター*/
.footer-main {
   gap: 5px 100px;
}
}

/*------------------------------------------------------------------------------------------------------------------------------------*/
/*　大型スマホ 429～599　*/
/*------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {

/*--img-サムネイル-*/
.wrapper-pic {
  grid-template-columns: repeat(auto-fill, 55px);
  padding: 40px 20px;
}
.wrapper-pic .tmb{
  width: 55px;
  height: 55px;
}
.wrapper-pic .tmb img{
  width: 55px;
  height:55px;
}
.wrappic-op {
  grid-template-columns: repeat(auto-fill, 55px);
  padding: 40px 20px;
}
.wrappic-op .tmb {
  width: 55px;
  height: 55px;
}
.wrappic-op .tmb img{
  width: 55px;
  height:55px;
}
.
/*新フッター*/
.footer-main {
   gap: 30px;
}

}

/*------------------------------------------------------------------------------------------------------------------------------------*/
/*　モバイル 428以下　*/
/*------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 428px) {

/*#global-nav {
  padding: 10px 0 15px 0;
}
#global-nav ul {
font-size: 16px;
font-size: 1.6rem;
padding: 10px 0 15px 0;
}*/
#global-nav ul li a:active {
    background-color: rgba(255, 255, 255, 0.2);
}

#container {
   width: 100%;
   padding: 0;
}

h1 {
font-size: 18px;
}
#container h1 {
font-size: 25px; font-size: 2.5rem;
margin: 1.5em auto;
}
#container h1 > .h1-1 {
font-size: 21px; font-size: 2.1rem;
}
#container h1 > .h1-2 {
font-size: 15px; font-size: 1.5rem;
padding: 0 auto;
}


/*パンくずリスト*/
.topicpath .to02{
margin-left: 5px;
}
.topicpath .to02::before{
margin-right: 5px;
}


.newstitle {
margin: 20px 0 0;
color:#7f7f7f;
}
.news-contents {
font-size: 18px; font-size: 1.8rem;
padding: 0
}
li.news{
width:100%;
margin: 10px 0 0;
}
hr.hr-bottom {
margin: 0 auto 30px;
}
.news-date {
padding: 10px 0 0;
}

article p {
   font-size: 18px;
   line-height: 1.9;
   padding:0;
}


#top-head .fixed {
background:  #000;
}
#top-head.fixed .logo, #top-head .logo {
top: 20px;
font-size: 18px;

}


#top-img-text {
display: none;
}
#top-img-textja {
display: none;
}
#index-bigislandimg-textS {
display: none;
}
#index-bigislandimg-text {
display: none;
}
.index-islandimg-textS {
display: none;
}
.index-islandimg-text {
display: none;
}
.island-topimg-textS {
display:none;
}
.island-topimg-textja {
display: none;
}
.island-topimg-textXS {
display:none;
}

.islands-wrap:first-of-type{
 padding-top: 30px;
}

.islands > p, .bigisland > p {
padding: 0 5%;
}
p.islands-name-ja {
margin-bottom: 0;
padding: 20px 5% 0;
}


.section-wrapper {
max-width: 640px;
width: 100%;
}
.wrap70 {
width: 100%;
}
.wrap70 li{
font-size:17px;font-size:1.7rem;
line-height: 2.0;
}
.wrap70 p.top {
margin-bottom:50px;
}

.wrapper-movie{
margin: 40px auto;
}


.headline1-1 {
margin: 60px auto 0;
font-size: 24px;font-size: 2.4rem;
}
.headline1-2 {
margin-bottom: 50px;
}
.index-islandimg-text {
display: none;
}
#container h2 {
margin: 70px auto 0;
}
#container h2 > .h2-1 {
font-size: 21px;font-size: 2.1rem;
}
#container h2 > .h2-2 {
margin-bottom: 70px;
}

.tourlist-contents .icon-clock:before{
color: #727272;
}
.tourlist-contents-tourname {
font-size: 17px;
}
.infopage-box .info-table td .icon-shita:before{
margin: 0 5px 0 0;
}

.tour-box:last-child {
margin: 20px auto 100px;
}


.back-top {
bottom: 28px;
right: 3%;
}

.wappen-wrapper img {
width: 100%;
}

a.tourlist-link {
width: 100%;
}
.tourlist-box {
width: 100%;
padding: 10px;
}

.tourlist-box-wrapper{
width: 100%;
}
.tourlist-map {
display: none;
}
.tourlist-contents {
margin: 5px;
padding: 0;
}
.tourlist-contents p {
margin: 0;
}
.tourlist-contents p:first-child {
margin: 0 20px 10px 0;
}
/*ラベル＋p*/
.tour-contents span[class^="lab-"] + p {
   margin-top: 1em;
}
.tour-box-time:after {
display: none;
}
.tourlist-contents-tourinfo:after{
font-family: "Font Awesome 5 Free";
content: "\f101";
font-weight: 900;
text-align: right;
display: block;
margin: -30px 10px 0 0;
font-size: 20px;
}


.h3-wrapper {
width: 100%;
margin: 5px 0 10px;
}
h3.h3-tourtitle {
width:100%;
margin: 15px 0 10px;
padding-left: 15px;
font-size: 19px; font-size: 1.9rem;
min-height: 70px;
}
.h3-tour-subtitle{
width:100%;
margin: 0 0 15px;
}
.h3-wrapper img {
width: 130px;
height:130px;
display: inline-block;
margin-top: 5px;
}

.detail-heading {
width: 36%;
padding: 3px 0;
margin-right: 0px;
}
.detail-heading-L {
width: 100%;
padding: 3px 0;
}
.detail-contents {
width: 61%;
padding: 3px 0;
}
.detail-contents-L {
width: 100%;
padding: 3px 0;
}

/*オプション紹介の枠内*/
.op {
margin: 40px auto;
padding: 10px 0 0;
}
.op-title{
font-size: 18px; 
margin: 15px 0;
padding: 0 15px;
}
.op-title::before{
font-size: 24px; font-size: 2.4rem;
margin: 2px 10px 0 3px;
}
.op-top{
font-size: 18px; 
margin: 0;
padding: 0 15px;
}
.op-wrapper{
padding: 15px 15px 20px;
margin: 40px 0 0;
}
.op p{
padding: 0 15px;
}
.op-wrapper .tx1{
font-size: 16px; font-size: 1.6rem;
}
.tour-contents .lab-bl{
font-size: 12px;font-size:1.2rem;
margin: 10px 10px 0 0;
}
.bookinfo-contents.short {
margin: 8px auto 25px;
}

/*案内枠*/
.oshirase,
.oshirase.red{
width: 95%;
max-width: 640px;
margin: 3em 1em 3em;
}
.oshirase p,
.oshirase.red p {
font-size:17px;
line-height: 1.7;
padding-right: 0;
}

/*一括案内用 赤枠*/
.oshirase-red,
.oshirase-red-1 {
   padding: 2rem;
}
.oshirase-red .o-title,
.oshirase-red-1 .o-title {
   font-size: 18px;
   padding-bottom: 0.5em;
}
.oshirase-red .o-date,
.oshirase-red-1 .o-date {
   display: block;
   width: 100%;
   font-size: 14px;
   font-weight: normal;
   text-align: right;
   padding: 0 0.8em 0 0;
   box-sizing: border-box;
}
.oshirase-red .o-txt,
.oshirase-red-1 .o-txt{
   padding: 0.5em 0.25em 0.5em 0.5em;
}
.oshirase-red ul.o-ul li,
.oshirase-red-1 ul.o-ul li{
   font-size: 18px;
}

/*--料金表 label/Accordion--------------------*/

/*--accbox 上下margin---*/
.tour-contents .accbox {
margin: 60px 0;
}
.tour-contents .accbox.mar {
margin: 60px 0;
}

.tour-contents .accbox label {
padding: 10px 0;
font-size: 18px;
}
.tour-contents .accbox label.open {
padding: 10px 0;
}
.tour-contents .accbox label .labeltxt-left {
display: block;
width: 100%;
padding: 0 10px 5px 5px;
font-size: 18px;
top: 7px;
}
.tour-contents .accbox label .labeltxt-left li{
padding-left: 5px;
}
.tour-contents .accbox label .labeltxt-left.open {
display: block;
width: 100%;
padding: 0 10px 5px 13px;
font-size: 16px;
top: 7px;
}
.tour-contents .accbox label .labeltxt-left p {
font-size: 16px;font-size: 1.6rem;
}
.tour-contents .accbox label .long {
padding-left: 5px;
}
.tour-contents .accbox label .normal {
font-size: 18px;
}

.tour-contents .accbox label .labeltxt-right {
display: block;
width: 100%;
left: 0;
top: 30px;
padding: 0 10px;
font-size: 18px;
border-bottom: none;
}

.tour-contents .accbox label::before {
top: 10px;
position: absolute;
}
.tour-contents .accbox p{
margin: 20px 0 10px;
}

.tour-contents .accbox label .labeltxt-right .la::before{
font-family: "Font Awesome 5 Free";
content: "\f0da";
font-weight: 900;
font-size: 16px;font-size: 1.6rem;
color: #dadada;
margin: 0 7px 0 3px;
-webkit-transition: all 0.4s ease;
-o-transition: all 0.4s ease;
transition: all 0.4s ease;
}
.wrapper-info li{
font-size: 18px;
}
.tour-contents li {
font-size:17px;font-size:1.7rem;
}
.tour-contents .accshow .price ul {
margin: 0;
}
.tour-contents .accshow .price label li {
margin: 0;
padding-left: 0;
line-height: 1.8;
font-size: 18px;
}
.tour-contents .accbox label .date {
margin: 6px 10px 6px 20px;
}


.tour-contents .accbox label .labeltxt-left.short,
.tour-contents .accbox label .labeltxt-left{
width:100%;
margin-left: 1rem;
}
.tour-contents .accbox label .labeltxt-right{
width:100%;
padding: 0 0 0 3.5rem;
}
.accshow .bookinfo-contents,
.accshow .bookinfo-contents.border {
margin: 0 0 2rem;
width: 100%;
}
/*.accshow .bookinfo-contents {
padding: 0 2rem;
}*/
.accshow .bookinfo-contents.border label .labeltxt-right{
padding: 0 0 0 3rem;
}
.accshow .bookinfo-contents.border li{
margin-left: -2rem;
}
.tour-contents .accbox label .labeltxt-left.short.price {
    font-size: 25px;
}
/*機種案内 flexbox*/
.tour-box .flex-box{
flex-direction: column;
width: 100%;
}
.tour-box .flex-box .flex-item:last-child {
padding: 0 10px;
}


.tour-box-button {
height: 64px;
margin: 34px 0 0;
}
/* This css button was generated by css-button-generator.com */
.button-booking {
width: 100%;
margin:0;
padding:18px 15px;
}
/* This css button was generated by css-button-generator.com END*/


.bookinfo-contents {
margin: 30px auto 50px;
width: 100%;
}
#container h2 > .h2-1-bookinfo {
    font-size: 22px;
    font-size: 2.2rem;
    margin-top: 50px;
}
.h3-bookinfo {
font-size: 18px;
margin-bottom: 20px;
}

/*.bookinfo-img img{
width: 50%;
transform: rotate(6deg);
opacity: 0.05;
}*/
.bookinfo-box {
width:100%;
margin: 0 auto 100px;
}
.bookinfo-contents ul ul {
padding: 10px 0 0 0;
}
.bookinfo-contents ul ul li {
   font-size: 17px;
   padding-left: 1em;
}
.bookinfo-contents ul ul li:before {
   left: -0.5em;
}
.bookinfo-contents li {
line-height: 1.8;
font-size:17px;
}

.bookinfo-contents ul{
   margin-bottom: 0;
}
.tour-contents .accbox label .labeltxt-right.small{
font-size: 15px;
}
/*飛行区域マップ*/
img.overview-map{
width: 80%;
margin: 0 auto;
}

/* 料金表の矢印アイコン モバイルのみ*/
.tour-contents-table th::before{
font-family: "Font Awesome 5 Free";
content : "\f0da";
font-weight: 900;
color: #bfbfbf;
margin: 0 5px 0 0;*/
}
.tour-contents .accbox label .labeltxt-left li{
font-size: 18px;
}
.tour-contents .accbox label .date {
font-size: 18px;
}



/*------info系ページ-----*/
.toptxt{
margin: 60px 0;
}
.infopage-box {
width: 100%;
}
.infopage-box .info-table th {
display: block;
width: 100%;
padding: 1.5em 10px 0;
font-size: 18px;
}
/*.infopage-box .info-table td .td-wrapper{
margin-left:20px;
}*/
.infopage-box .info-table td {
display: block;
width: 100%;
border-top: none;
padding: 10px 15px 1.5em;
font-size: 18px;
}
.infopage-box .info-table td .button-booking {
font-size: 16px;
}

/*汎用 flexbox*/
.flex-item{
padding: 10px 0 30px;
}
.flex-item:last-of-type{
padding: 20px 0 30px;
}
.flex-item .mov-wp img{
width:auto;
height:100%;
}

.bookinfo-contents ul ul li.x{
   padding-left: 1em;
}
.bookinfo-contents ul ul li.x::before{
   left: -0.5em;
}

/* ツアーレポート 斜め背景*/
.slant {
  margin: 30px 0;
}
.slant:after {
  background: #999999;
}
.slant-inner {
  padding: 0;
}
.slant-number {
  font-size: 25px;
}
.slant-ti01 {
  font-size: 25px;
  padding: 80px 15px 10px;
}
.slant-ti02 {
  font-size: 22px;font-size: 2.2rem;
  padding: 10px 10px;
  margin-bottom: 100px;
}

/* ツアーレポート本文*/
.title-rep{
 width:100%;
 margin: 0 auto;
 padding: 0 0 50px;
 margin-top: -30px;
}
.title-rep ul{
 width: 92%;
 margin: 0 auto 30px;
}
.title-rep ul li{
 font-size: 18px;
}
.title-rep p.title{
    width: 100%;
    margin: 0 auto 20px;
    padding-left: 2.8em;
}
.title-rep p.title::before{
    font-size: 25px;
   left: 0.5em;
}

.title-rep p{
 width: 92%;
 padding: 0;
 margin: 0 auto 20px;
}
.title-rep .comment{
 width: 92%;
 padding: 15px;
 margin: 30px auto 50px;
}
.title-rep .comment p{
 width: 100%;
 margin: 0 0 20px;
}
.title-rep .comment p.title {
 margin-bottom: 20px;
}
.title-rep .comment p.title::before {
 font-size: 20px;font-size: 2.0rem;
}
.title-rep p.txt{
 padding: 0 4%;
 margin: 5px 0 50px;
}
/* ツアーレポート 最下部のボタン*/
.title-rep.link{
width:87%;
margin: 0 auto 40px;
}
.title-rep.link .tour-box-button .button-booking {
width: 100%;
}

/*予約案内 flex-item*/
.title{
width:100%;
padding: 50px 0 0;
}
.bi.flex-box{
width: 100%;
}
.bi.flex-box .flex-item01{
width: 100%;
padding: 0;
}
.bi.flex-box .flex-item02{
width: 100%;
padding: 0;
margin-bottom: 30px;
}
.bi.flex-box .flex-item02 p.txt{
width: 92%;
margin: 5px 0 0 20px;
}

/* 予約案内の目次*/
.infobox{
padding: 10px;
}
.infobox label{
font-size: 18px
line-height: 1.6;
padding: 10px;
}

.bookinfo-contents {
  margin: 1em auto 0;
}
/*ハワイ時間の表示*/
.hw-time { font-size: 32px; }
.hw-msg  { font-size: 14px; }

/* FAQのみ*/
.bookinfo-contents.faq .h3-bookinfo{
font-size: 18px;
}
.bookinfo-contents.faq p.q{
font-size: 18px;
}
.bookinfo-box .accbox.faq a{
font-size:17px;font-size:1.7rem;
width:100%;
}

/*-レポート　丸付き数字リスト-*/
ol {
  padding:0;
}
ol li {
  padding: 0.5em 0 1em 2em;
  font-size: 18px;
}
ol li:before{
    font-size: 16px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    top: 15%;
    -webkit-transform: translateY(-15%);
    transform: translateY(-15%);
}

/*レポートトップ*/
.info-table.rep th{
font-size: 18px;
}
.info-table.rep td{
font-size: 18px;
font-weight: nomal;
}
.info-table.rep td .tour-box-button{
margin: 30px 0 40px;
}
.info-table.rep td .button-booking {
font-size: 18px;
}



.tel {
pointer-events: auto;
color: #277cb0;
}
.m-last{
margin-bottom: 100px;
}


/*新フッター*/
#footer {
   min-height: 700px;
}
.footer-top{
   height: auto;
   padding: 15px 0;
}
.footer-main {
   grid-template-columns: 1fr;
   gap: 20px;
   width: 80%;
   margin: 0 auto;
   padding: 20px 0;
   text-align: center;
}
.footer-column {
   grid-column: auto; 
}
.footer-action {
   margin: 10px 0 20px;
}
.footer-action a {
   padding: 23px 20px;
}
.footer-inner a{
   font-size: 18px;
}
.icon-heli2:before{
   font-size: 16px;
}
}


/*--------------------------------------------*/
/*　google fonts　*/
/*--------------------------------------------*/

/* latin-ext 
@font-face {
  font-family: 'Fjalla One';
  font-style: normal;
  font-weight: 400;
  src: local('Fjalla One'), local('FjallaOne-Regular'), url(//fonts.gstatic.com/s/fjallaone/v4/SHXJdWnWW6HDq-6DpcG8PyEAvth_LlrfE80CYdSH47w.woff2) format('woff2');
  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 
@font-face {
  font-family: 'Fjalla One';
  font-style: normal;
  font-weight: 400;
  src: local('Fjalla One'), local('FjallaOne-Regular'), url(//fonts.gstatic.com/s/fjallaone/v4/rxxXUYj4oZ6Q5oDJFtEd6vk_vArhqVIZ0nv9q090hN8.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;
}
--*/



/*--------------------------------------------*/
/*　icomoon　*/
/*--------------------------------------------*/
@font-face {
  font-family: 'icomoon';
  src:  url('https://bluehawaiian-jp.com/fonts/icomoon.eot?7zv2op');
  src:  url('https://bluehawaiian-jp.com/fonts/icomoon.eot?7zv2op#iefix') format('embedded-opentype'),
    url('https://bluehawaiian-jp.com/fonts/icomoon.ttf?7zv2op') format('truetype'),
    url('https://bluehawaiian-jp.com/fonts/icomoon.woff?7zv2op') format('woff'),
    url('https://bluehawaiian-jp.com/fonts/icomoon.svg?7zv2op#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-ab-logo:before {
  content: "\e90b";
  display:inline-block;
}
.icon-heli2:before {
  content: "\e901";
}
.icon-heli:before {
  content: "\e902";
}
.icon-mail:before {
  content: "\e909";
}
.icon-circle-hatena:before {
  content: "\e90a";
}
.icon-circle-down2:before {
  content: "\e904";
}
.icon-circle-left2:before {
  content: "\e905";
}
.icon-circle-right2:before {
  content: "\e906";
}
.icon-circle-up2:before {
  content: "\e907";
}
.icon-line:before {
  content: "\e903";
}
.icon-dollar:before {
  content: "\e900";
}
.icon-pencil:before {
  content: "\e908";
}
.icon-camera:before {
  content: "\e90f";
}
.icon-video-camera:before {
  content: "\e914";
}
.icon-cart:before {
  content: "\e93a";
}
.icon-credit-card:before {
  content: "\e93f";
}
.icon-phone:before {
  content: "\e942";
}
.icon-location:before {
  content: "\e948";
}
.icon-clock:before {
  content: "\e94e";
}
.icon-fukidashi:before {
  content: "\e96b";
}
.icon-hukidashi2:before {
  content: "\e96e";
}
.icon-warning:before {
  content: "\ea07";
}
.icon-notification:before {
  content: "\ea08";
}
.icon-info:before {
  content: "\ea0c";
}
.icon-arrow-right:before {
  content: "\ea34";
}
.icon-arrow-down:before {
  content: "\ea36";
}
.icon-circle-up:before {
  content: "\ea41";
}
.icon-circle-right:before {
  content: "\ea42";
}
.icon-circle-down:before {
  content: "\ea43";
}
.icon-circle-left:before {
  content: "\ea44";
}
.icon-checkbox-checked:before {
  content: "\ea52";
}
.icon-checkbox-unchecked:before {
  content: "\ea53";
}
/*.icon-google-plus:before {
  content: "\ea8c";
}*/
.icon-facebook:before {
  content: "\ea91";
  display:inline-block;
}
.icon-twitter:before {
  content: "\ea96";
  display:inline-block;
}




