/*
エージェント別
*/
.l-pc { display: block !important; }
.l-pc__inline { display: inline !important; }
.l-sp { display: none !important; }
.l-sp__inline { display: none !important; }
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-pc { display: none !important; }
.l-pc__inline { display: none !important; }
.l-sp { display: block !important; }
.l-sp__inline { display: inline !important; }
}

.l-warp {
  overflow-x: hidden;
	background-color: #bce2e8;
}

/********* pcのみ *********/
@media only screen and (min-width: 751px) {
.l-sec--slider a:hover,
.u-ov__alpha:hover {
 -webkit-transition: 0.3s ease-in-out;  
 -moz-transition: 0.3s ease-in-out;  
 -o-transition: 0.3s ease-in-out;  
 transition: 0.3s ease-in-out;
 opacity: 0.5;  
 filter: alpha(opacity=50);
 }
}

/* ----------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------- */
.l-visual {
  width: 100%;  
  background-image: url("../images/main_bg.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  box-sizing: border-box;
  padding: 80px 50px 100px;
  text-align: center;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-visual {
  background-image: url("../images/main_bg.jpg");
  padding: 2rem 0;
 }
}

.l-visual .logo01 {
  width: 16%;
  margin: 0 auto 1em;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-visual .logo01 {
    width: 20%;
    margin: 0 auto 1em;
  }
}

.l-visual .ttl01 {
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  color: #fff;
  font-weight: bold;
  font-size: 280%;
  margin-bottom: 10px;
  text-align: center;
  display: block;
  line-height: 1;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-visual .ttl01 {
    font-size: 180%;
    margin: 0 auto;
  }
}

.l-visual .ttl02 {
  color: #fff;
  font-weight: bold;
  font-size: 140%;
  display: block;
  margin-bottom: 40px;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-visual .ttl02 {
    font-size: 120%;
    margin-bottom: 10px;
  }
}

.l-visual .logo02 {
  width: 10%;
  margin: 0 auto;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-visual .logo02 {
    width: 20%;
  }
}


/* ----------------------------------------------------------------
キャンペーン
---------------------------------------------------------------- */
.l-campaign {
  width: 100%;  
  background-image: url("../images/campaign_bg.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  box-sizing: border-box;
  padding: 20px 0;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-campaign {
  background-image: url("../images/campaign_bg.jpg");
  padding: 0;
 }
}

.l-campaign_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-campaign_area {
    display: flex;
    flex-flow: column;
  }
}

.l-campaign_img {
  width: 30%;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-campaign_img {
    width: 80%;
    order: 2;
    margin-bottom: 10px;
  }
}

.l-campaign_img img {
  width: 100%;
}

.l-campaign_txt {
  width: 65%;
  color: #fff;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-campaign_txt {
    font-size: 80%;
    width: 100%;
    order: 1;
    padding-bottom: 20px;
  }
}

.l-campaign_txt p {
  color: #fff;
  margin-bottom: 20px;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .l-campaign_txt p {
    margin-bottom: 10px;
  }
}


.l-campaign_txt p:last-child {
  margin-bottom: 0;
}

.l-campaign_txt p span {
  font-size: 140%;
  font-weight: bold;
  color: #f2f2b0;
}

.l-campaign_txt a {
  font-size: 140%;
  font-weight: bold;
  color: #f09199;
}

/* ----------------------------------------------------------------
sec
---------------------------------------------------------------- */
.l-sec {
  background-color: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  line-height: 1.6;
  padding: 30px;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
.l-sec {
  padding: 15px;
 }
}

.l-sec--inner {
  max-width: 1000px;
  margin: 0 auto;
  width: 90%;
  padding: 50px 0;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-sec--inner {
    width: 95%;
    padding: 15px 0;
  }
}


/* ----------------------------------------------------------------
目次
---------------------------------------------------------------- */
.l-contents-link {
  margin-bottom: 30px;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-contents-link {
    margin-bottom: 15px;
  }
}

.l-contents-link h3 {
  font-size: 140%;
  font-weight: 700;
  margin-bottom: 30px;
  border-bottom: thin solid #D8D8D8;
  padding: 0.5rem 2rem;
  color: #fff;
  border-radius: 5px;
  background-color: #00a3af;
  background-image: url("https://www.transparenttextures.com/patterns/asfalt-dark.png");
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-contents-link h3 {
    font-size: 100%;
    padding: 0.3rem 1.4rem;
    margin-bottom: 20px;
  }
}

.l-contents-link a {
  color: #007bbb;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-contents-link li  {
    font-size: 80%;
    margin-bottom: 10px;
  }
}

/* ----------------------------------------------------------------
ツアー紹介コンテンツ
---------------------------------------------------------------- */
.l-tour-content {
  margin-bottom: 30px;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-tour-content {
    margin-bottom: 15px;
  }
}

.l-tour-content h2 {
  font-size: 140%;
  font-weight: 700;
  margin-bottom: 30px;
  border-bottom: thin solid #D8D8D8;
  padding: 1rem 2.6rem;
  color: #fff;
  border-radius: 5px;
  background-color: #007bbb;
  background-image: url("https://www.transparenttextures.com/patterns/asfalt-dark.png");
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-tour-content h2 {
    font-size: 100%;
    padding: 0.3rem 1.4rem;
    margin-bottom: 15px;
  }
}

.l-tour-content__price {
  border-top: 2px #ccc solid;
  border-bottom: 2px #ccc solid;
  padding: 20px;
  margin-bottom: 30px;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-tour-content__price {
    padding: 10px;
    margin-bottom: 20px;
  }
}

.l-tour-content__price li {
  font-size: 120%;
  border-bottom: 2px #ccc dotted;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-tour-content__price li {
    font-size: 80%;
  }
}

.l-tour-content__price li:last-child {
  border-bottom: none;
}

.l-tour-content__price li span {
  color: #cc0000;
  font-size: 160%;
  font-weight: bold;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-tour-content__price li span {
    font-size: 120%;
  }
}

.swiper-container {
  margin-bottom: 2rem;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .swiper-container {
    margin-bottom: 15px;
  }
}

.u-tour-btn a {
  display: block;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  border-radius: 2px;
  padding: 10px;
  color: #fff;
  font-size: 100%;
  background-color: #0095d9;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .u-tour-btn a {
    font-size: 80%;
  }
}

.u-tour-btn a:hover {
  background-color:#1e50a2;
}

.u-tour-btn_type2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.u-tour-btn_type2 a {
  display: block;
  width: 49%;
  text-align: center;
  border-radius: 2px;
  padding: 10px;
  color: #fff;
  font-size: 100%;
  background-color: #0095d9;
  margin-bottom: 15px;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .u-tour-btn_type2 a {
    width: 100%;
    font-size: 80%;
    margin-bottom: 10px;
  }
}

.u-tour-btn_type2 a.mb0,
.u-tour-btn_type2 a.mb00 {
  margin-bottom: 0;
}
/********* sp *********/
@media only screen and (max-width: 750px){
  .u-tour-btn_type2 a.mb0{
    margin-bottom: 10px;
  }
}

.u-tour-btn_type2 a:hover {
  background-color:#1e50a2;
}

.l-tour-content__txt {
  border-top: 2px #ccc solid;
  border-bottom: 2px #ccc solid;
  padding: 20px;
  margin-bottom: 30px;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-tour-content__txt {
    font-size: 80%;
    padding: 10px;
    margin-bottom: 15px;
  }
}

.l-tour-content__txt span {
  color: #cc0000;
  font-size: 160%;
  font-weight: bold;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-tour-content__txt span {
    font-size: 120%;
  }
}

.l-tour-content__txt a {
  color: #007bbb;
}


/* ----------------------------------------------------------------
目次
---------------------------------------------------------------- */
.l-contents-explanation {
  margin-bottom: 30px;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-contents-explanation {
    margin-bottom: 10px;
  }
}

.l-contents-explanation h3 {
  font-size: 140%;
  font-weight: 700;
  margin-bottom: 30px;
  border-bottom: thin solid #D8D8D8;
  padding: 0.5rem 2rem;
  color: #fff;
  border-radius: 5px;
  background-color: #84b9cb;
  background-image: url("https://www.transparenttextures.com/patterns/asfalt-dark.png");
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-contents-explanation h3 {
    font-size: 100%;
    padding: 0.3rem 1.4rem;
    margin-bottom: 20px;
  }
}

.l-contents-explanation__txt {
  margin-bottom: 30px;
  padding: 0 20px;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-contents-explanation__txt {
    margin-bottom: 20px;
    padding: 0 10px;
  }
}

.l-contents-explanation__txt li {
  padding-left: 1em;
  text-indent: -1em;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-contents-explanation__txt li {
    font-size: 80%;
  }
}

.l-contents-explanation a {
  color: #007bbb;
}


/* ----------------------------------------------------------------
copyright
---------------------------------------------------------------- */
.l-copyright {
  width: 100%;  
  background-image: url("../images/campaign_bg.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  box-sizing: border-box;
  text-align: center;
  padding: 30px;
}

.l-copyright p {
  font-size: 80%;
  color: #fff;
}
/********* sp *********/
@media only screen and (max-width: 750px) {
  .l-copyright p {
    font-size: 50%;
  }
}