@charset "utf-8";

/* ============================= ‹¤’Ê =============================  */

* { 
	padding: 0px;
	margin: 0px;
	border: none;
	box-sizing: border-box;
}
:root{
    --c-blue:#1e50a2;
    --c-green:#69b076;
    --c-purple:#A34773;
    --c-red:#87291b;
}
li { list-style-type: none;}
a { text-decoration:none; color: #333; overflow: hidden;}

body {
	line-height: 130%;
}
article{
    max-width: 1024px;
	margin: 0 auto;
}
nav{
	max-width:1024px;
	margin: 0 auto;
}
.centerbody{	
    font-family: inherit!important;
}

#mainRight{
    max-width: 1024px;
	margin: 0 auto;
	overflow: hidden;
}

#mainContent h2{
	border-left: 5px solid var(--c-green);
	border-bottom: 1px dashed var(--c-green);
    padding:12px 0 12px 12px;
	margin:30px 0 15px;
	font-size:1.6em;
    font-weight: bold;
}
.c-red #mainContent h2{
    border-left: 5px solid var(--c-red);
    border-bottom: 1px dashed var(--c-red);
}
/*ナビ*/
.menuCont{
	margin: 16px 0;
}
.menuCont ul{
    display:flex;
    justify-content: center;
}
.menuCont li{
	text-align: center;
	border-right:1px dashed #666;
	position:relative;
}

.menuCont li:after {
    font-family: "fontAwesome";
    content: '\f107';
    position: absolute;
    right: 5%;
    top: 0;
    font-size: 1.4em;
    color: #666;
    bottom: 0;
    margin: auto;
    height: 15px;
}
.menuCont li:last-child{
    border-right:none;
}
.menuCont li a {
    display: block;
    padding: 8px 32px 8px 16px;
}
/*検索*/
#searchTour{
	border:1px solid #666;
	margin:20px auto;
	width:95%;
}
#searchTour p{
	background:#666;
	color:#fff;
	text-align: center;
	padding:8px 0;
	font-size:1.1em;
}
.selectDateInner{
	padding:12px;
}

#selectDateBox input{
    padding: 5px;
    height: auto!important;
    border: 1px solid #999;
    font-size: 1em;
    margin:0;
}
#selectDateBox input.year1{
    width: 50px;
}
#selectDateBox form button.searchDateBtn{
	padding: 5px 10px;
    background: #f90;
    color: #fff;
    font-weight: bold;
    font-size: 1.1em;
    margin:0 0 0 30px;
    border-radius: 5px;
}
#useDay01,img.ui-datepicker-trigger,button.searchDateBtn {
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
}
.selectDuck{
	display: block;
	padding:8px 0;
}
.searchTop #selectDateBox form button.searchDateBtn{
	padding: 8px 50px;
    font-size: 1.2em;
    margin: auto;
    display: block;
}

/*追加*/
.leadText {
    padding: 0px 8px 10px;
}
.leadText p {
    font-size: medium;
}

.comingsoon{
	position:absolute;
	width: 95%;
	height:100%;
	text-align: center;
	background:rgba(253,253,253,0.8);
	z-index: 2;
	font-size:1.2em;
	padding:12px 0;
}

/*人気エリア*/
.popular-area ul{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap:16px;
}
.popular-area li{
	position: relative;
    flex: 0 0 calc((100% - 16px * 3 ) / 4);
    overflow: hidden;
}
.popular-area li h3{
    margin:8px 0;
    font-size:1.1em;
    font-weight: bold;
}
.popular-area li img{
	width:100%;
	height: 160px;
	object-fit: cover;
}
.popular-area p{
    font-size:0.9em;
}
/*ツアーリスト*/
.are_btn {
    display: flex;
    justify-content: center;
    margin: 24px 0;
    gap:8px;
}
.are_btn a {
    display: block;
    padding: 16px 0;
    font-weight: bold;
    border: 2px solid var(--c-green);
    border-radius: 8px;
    width: 30%;
    text-align: center;
    transition:all .3s ease-in;
}
.c-blue .are_btn a {
    border:2px solid var(--c-blue);
}
.c-red .are_btn a {
    border:2px solid var(--c-red);
}
.are_btn a:hover {
    background: var(--c-green);
    color:#fff;
}
.c-blue .are_btn a:hover {
    background:var(--c-blue);
}
.c-red .are_btn a:hover {
    background:var(--c-red);
}
@media (max-width: 768px) {
    .menuCont ul{
        flex-direction: column;   
    }
    .menuCont li{
        text-align: left;
        border-bottom: 1px dashed #666;
        border-right: none;
    }
    .are_btn{
        flex-direction: column;
    }
    .are_btn a {
        width:100%;
        padding: 8px 0;
    }
}
.course-name{
    margin: 32px 0 24px;
    padding-left: 16px;
    position: relative;
    font-size: 1.4em;
    font-weight: bold;
}
.course-name::before{
    position:absolute;
    content:'';
    width:8px;
    height: 8px;
    background:#555;
    border-radius: 50%;
    top:0;
    bottom:0;
    margin:auto;
    left:0;
}
.tour-wrap {
    display: flex;
    flex-wrap:wrap;
    gap:16px;
}
.tourCont {
    border: 2px solid var(--c-green);
    display: flex;
    flex-direction: column;
    flex:0 0 calc((100% - 16px * 2 ) / 3);
}
.c-red .tourCont{
    border: 2px solid var(--c-red);
}
.tourCont h3{
    background:var(--c-green);
    color:#FFF;
    padding:12px;
    line-height: 140%;
    font-size: 1.2em;
    font-weight: bold;
    min-height: 91.5px;
}
.c-red .tourCont h3{
    background:var(--c-red);
}
.tourWrap {
    display: flex;
    flex-direction: column;
}
.tourImg img {
    height: 200px;
    object-fit: cover;
    width: 100%;
}
.tourDetail {
    width: 100%;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap:12px 0;
    flex-grow:1;
}
.tourFeature {
    display: flex;
    justify-content: space-between;
}

.tourFeature li {
    border: 2px solid #999;
    padding: 8px 8px 8px 30px;
    border-radius: 5px;
    width: calc(100% / 2 - 5px);
    text-align: center;
}

.tour_time {
    background: url(../../img/pref_category/ishigaki_snorkeling/icon_time.png) no-repeat 5px;
}
.tour_price {
    background: url(https://www.tabione.com/img/topics/hokkaido_taxi/price.png) no-repeat 5px;
}

.tourPoint {
	display: flex;
    gap: 4px 8px;
    font-size: 0.9em;
    flex-wrap:wrap
}
.tourPoint li {
    padding: 3px 6px;
    background-color: #666;
    color: #fff;
}

.priceWrap .tour_link {
    width: 45%;
}
.priceWrap ul, .priceWrap .tour_link {
    display: inline-block;
    vertical-align: middle;
}
.tour_link {
    margin: 12px auto 0;
    width: 80%;
}
.reserveBtn,.reserveBtn-s a{
    position: relative;
    background:#f90;
	color:#fff;
    display: block;
    text-align: center;
    border-radius: 8px;
    font-weight:bold;
    border: #f90 2px solid;
    transition: all 300ms 0s ease;
}
.reserveBtn{
	margin:16px auto 0;
    width: 80%;
	padding:12px 0;
	font-size:1.1em;
}
.reserveBtn:before{
	content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    width: 7px;
    height: 7px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: scaleY(0.8) rotate(-45deg);
    -moz-transform: scaleY(0.8) rotate(-45deg);
    -ms-transform: scaleY(0.8) rotate(-45deg);
    -o-transform: scaleY(0.8) rotate(-45deg);
    transform: scaleY(0.8) rotate(-45deg);
}
a:hover .reserveBtn,.reserveBtn-s a:hover{
	color:#f90;
	background:#fff;
}
.reserveBtn-s {
    flex-grow: 1;
    justify-self: flex-end;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-end;
}
.reserveBtn-s a{
    width: 100%;
    padding:8px 0;
}
.reserveBtn-s a span{
    display: inline-block;
}
/*予約・利用までの流れ*/
.flow ul {
    display: flex;
    gap: 8px;
}
.flow li {
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    width: calc(100% / 5);
    border: 2px solid #eaeaea;
    padding: 8px;
}

.flow li img{
	width: 100%;
}
/*メール問合せ*/
.inquiry {
    margin-top: 8px;
    display: block;
}

.inquiry a {
    background: #f9f9f9;
    text-align: center;
    padding: 6px 0;
    border-radius: 8px;
    position: relative;
    display: block;
    font-size: 0.9em;
    font-weight: bold;
    border: #333 1px solid;
    transition: all 300ms 0s ease;
}
.inquiry a:before{
	content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(https://www.tabione.com/img/topics/hokkaido_taxi/mail_icon.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 5px;
}

/*種類と料金目安*/
.kindsaim {
    margin-top: 24px;
}
.kindsaim ul{
	display: flex;
    justify-content: space-evenly;
    flex-direction: row;
    flex-wrap: nowrap;
}
.kindsaim li{
	position: relative;
    margin: 0 auto;
    border-radius: 8px;
    overflow: hidden;
	width: calc(90%/3);
}
.kindsaim li:nth-child(3n) {
    margin-right: none;
}
.kindsaim li img{
	width:100%;
	height:184px;
    object-fit: cover;
}

.kindsaim p{
    padding: 8px 0;
}
.kindsaim h3 {
    text-align: center;
    padding-bottom: 15px;
    font-weight: bold;
    font-size:1.1em;
}
.kindsaim h4 {
    padding: 10px;
    margin: 0 auto;
    font-size: 1em;
    color: #ff0000;
}

/*タクシー会社から選ぶ*/
.company ul{
	display: flex;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
}
.company li{
	position: relative;
    flex: 0 0 calc(100%/3 - 10px);
    margin: 5px;
    background: #69b076;
    border-radius: 8px;
    overflow: hidden;
}
.company li:nth-child(3n) {
    margin-right: none;
}
.company li img{
	width:100%;
	height: 160px;
	object-fit: cover;
}
.company span{
	background: #60aec3;
    color: #fff;
    font-size: 1.6em;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-align: center;
    line-height: 40px;
    position: absolute;
    top: 8px;
    left: 8px;
}
.company p{
	color:#fff;
	padding:8px;
}
/*おすすめ*/
.recommend ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap:16px;
}	
.recommend li {
    position: relative;
    flex: 0 0 calc((100% - 16px * 3) / 4);
    background: #ffffff;
    overflow: hidden;
}	
.recommend li img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}
.recommend li h3{
    margin:8px 0;
    position:relative;
    font-size: 1.1em;
    font-weight: bold;
}
.recommend li h3::before{
    position:absolute;
    content:'';
    right:8px;
    top:0;
    bottom:0;
    margin:auto;
    width:8px;
    height: 8px;
    border-top:1px solid #333;
    border-right:1px solid #333;
    transform:rotate(45deg);
}
@media (min-width: 788px) {
#selectDateBox input{
    padding: 5px;
    height: auto!important;
    border: 1px solid #999;
    font-size: 1.1em;
    margin:0 5px;
}
#selectDateBox input.year1{
    width: 100px;
}
#selectDateBox form button.searchDateBtn{
	padding: 5px 30px;
    background: #f90;
    color: #fff;
    font-weight: bold;
    font-size: 1.1em;
    margin:0 0 0 30px;
    border-radius: 5px;
}
#searchTour{
	border:1px solid #666;
	margin:20px auto;
	width:100%;
}
.courseCont{
	width:100%;
}
.courseCont dd{
	width: 73%;
    border-bottom: 1px dotted #ddd;
    margin-left: 5px;
}
}

/*sp*/
.sp-only { display: block!important; }
.pc-only { display: none!important; }
@media  (min-width: 787px) {
.sp-only { display: none!important; }
.pc-only { display: block!important; }
}

@media screen and (max-width : 787px){
#mainContent h2 {
    padding: 8px 0 8px 12px;
    font-size: 1.2em;
}
.courseCont{
    padding:0 16px;
}
.popular-area ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap:8px;
}
.popular-area li {
    position: relative;
    flex: 0 0 calc((100% - 8px) / 2);
}	
.popular-area li img {
    width: 100%;
    height: 85px;
    object-fit: cover;
}	

.tourCont {
    flex: 0 0 100%;
    margin: 0 auto;
}
.tourCont h3{
    min-height: auto;
    padding: 8px;
}
.tourImg img {
    height: 180px;
}
.flow ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}	
.flow p {
    padding: 10px 0px 10px 15px;
}	
.flow li {
    position: relative;
    display:flex;
    align-items: center;
    width: 100%;
}
.flow li img {
    width:30%;
    height: auto;
}	
.flow .reserveBtn {
    padding: 8px 30px;
    margin: 0 auto;
    position: relative;
}

.company ul {
    display: flex;
}
.company li {
    position: relative;
    flex: 0 0 calc(100%/2 - 10px);
    background: #69b076;
    border-radius: 8px;
    overflow: hidden;
    width: 95%;
}	
.company li img {
    width: 100%;
    height: 100px;
    object-fit: cover;
}
.kindsaim ul {
    gap: 8px;
    flex-wrap:wrap;
}
.kindsaim li {
    width: calc(100% / 2 - 8px);
}
.kindsaim h3{
    font-size:15px;
}
.kindsaim li img {
    height: 110px;
}	

.recommend li {
    flex: 0 0 calc(100%/2 - 10px);
    overflow: hidden;
}	
.recommend li img {
    height: 100px;
}
}
