@charset "utf-8";

/* ==========================================================================
   utility tool
   ========================================================================== */
/*--970pxまで、幅あり--*/
.u_center970{
  width:100%;
  max-width:970px;
  margin:0 auto;
}
@media screen and (max-width: 970px) {
}
/*--970px、768px、480pxで表示切替--*/
.u_under970{
display:none;
}
.u_under768{
display:none;
}
.u_under480{
display:none;
}
.u_under320{
display:none;
}
@media screen and (max-width: 970px) {
  .u_over970{
    display:none;
  }
  .u_under970{
  display:block;
  }
}
@media screen and (max-width: 768px) {
  .u_center970{
  width:100%;
  }


  .u_over768{
  display:none;
  }
  .u_under768{
  display:block;
  }
}

.l_contents .l_contents_mainLayout {
  max-width: none;
  width: auto;
}
/* ==========================================================================
   germany styles
   ========================================================================== */
.u_pcOnly{
  display:block;
}
.u_spOnly{
  display:none;
}
.l_contents .l_contents_mainLayout{
  background:#eeeeee;
  margin:0 auto;
  padding:0;
}
.l_contents .l_contents_footer{
  width:100%;
  max-width:970px;
  margin:0 auto;
  padding:10px 0;
}
/* common */
.fade {  
    transition: 0.2s ease-in-out;  
}  
.fade:hover {  
    opacity: 0.8;  
    filter: alpha(opacity=80);  
}
img {
  vertical-align:bottom;
}
/* header Logo */
.u_header .logoSet {
  align-items: center;
}
.u_header .logoSet .collaboMark {
  padding:0px 10px;
}
.u_header .logoSet .collaboLogo {
  padding-top: 5px;
}
.u_header .logoSet .collaboLogo img {
  width: auto;
  height: 50px;
}
.u_header .logoSet .collaboLogo.is_frankfurt img {
  height:24px;
}
@media screen and (max-width:768px) {
  .u_header .logoSet img {
    height: 28px;
  }
  .u_header .logoSet .collaboLogo {
    width: 100px;
  }
  .u_header .logoSet .collaboLogo img,
  .u_header .logoSet .collaboLogo.is_frankfurt img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width:320px) {
  .u_header .logoSet .logo img {
    width:80px;
    height: auto;
  }
  .u_header .logoSet .collaboMark {
    padding:0px 7px;
  }
}

/* l_contents_mainVisual */
.l_contents_mainLayout #mainVisual{
  width:100%;
  margin:0 auto 30px;
  height:730px;
  position:relative;
  background:url(../img/mainVisual_lh.jpg) no-repeat right top;
  background-size:cover;
}
.l_contents_mainLayout #mainVisual .mainVisual_title{
  padding-top:180px;
  text-align: center;
}
.l_contents_mainLayout #mainVisual .mainVisual_credit{
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 12px;
  color: #fff;
  text-shadow: 0 0 5px rgba(0, 0, 0, 1);
  opacity: 0.8;
}
@media screen and (max-width:768px) {
  .u_pcOnly{
    display:none;
  }
  .u_spOnly{
    display:block;
  }
  .l_contents_mainLayout #mainVisual .mainVisual_title img{
    width:85%;
  }
  .l_contents .l_contents_footer{
    width:100%;
    margin:0 auto;
    padding:10px 0;
  }
  .l_contents .l_contents_footer p{
    padding: 0 10px;
  }
}
@media screen and (max-width:480px) {
  .l_contents_mainLayout #mainVisual {
    height: 300px;
    margin-bottom: 10px;
  }
  .l_contents_mainLayout #mainVisual .mainVisual_title {
    padding-top: 70px;
  }
}

/* PAGE TOPボタンをキャンペーン用に上書き */
.u_bottomNavigation {
  bottom: 15px;
}
.u_bottomNavigation a {
  opacity: 1.0;
}
.u_bottomNavigation img {
  width: 180px;
  height: auto;
}
@media screen and (max-width:480px) {
  .u_bottomNavigation img {
    width: 100px;
  }
}

/* 記事タイトル */
.l_contents_mainLayout .u_sectionTitle {
  min-height: 195px;
  padding-top: 100px;
  background:url(../img/title00_bg.jpg) no-repeat center bottom/75%;
  font-family: 'Noto Serif JP', serif;
  font-size: 42px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;

}
.l_contents_mainLayout .u_sectionTitle.is_noBg {
  background: none;
  min-height: auto;
  padding-top: 35px;
}
.l_contents_mainLayout .u_sectionTitle span {
  display: inline-block;
  font-weight: 700;
}
@media screen and (max-width:480px) {
  .l_contents_mainLayout .u_sectionTitle {
    min-height: 100px;
    padding: 30px 10px 0;
    background-size: 100%;
    font-size: 21px;
  }
  .l_contents_mainLayout #sns .u_sectionTitle,
  .l_contents_mainLayout .u_sectionTitle.is_1line {
    padding-top: 50px;
  }
}

/* ==========================================================================
   絶景のクリスマスマーケットを尋ねる
   ========================================================================== */
.l_contents_mainLayout #market,
.l_contents_mainLayout #lufthansa{
  background-color:#FFF;
  margin:0 auto 35px;
  width:100%;
  max-width:970px;
}
.l_contents_mainLayout #market .market_box,
.l_contents_mainLayout #lufthansa .market_box{
  overflow:hidden;
}
.l_contents_mainLayout #market .market_boxL .pic,
.l_contents_mainLayout #lufthansa .market_boxL .pic{
  float:left;
}
.l_contents_mainLayout #market .market_boxL .market_detail,
.l_contents_mainLayout #lufthansa .market_boxL .market_detail{
  float:right;
}
.l_contents_mainLayout #market .market_boxR .pic,
.l_contents_mainLayout #lufthansa .market_boxR .pic{
  float:right;
}
.l_contents_mainLayout #market .market_boxL .pic,
.l_contents_mainLayout #market .market_boxR .pic,
.l_contents_mainLayout #lufthansa .market_boxL .pic,
.l_contents_mainLayout #lufthansa .market_boxR .pic {
  width: 485px;
}
.l_contents_mainLayout #market .market_boxL .pic img,
.l_contents_mainLayout #market .market_boxR .pic img,
.l_contents_mainLayout #lufthansa .market_boxL .pic img,
.l_contents_mainLayout #lufthansa .market_boxR .pic img {
  width: 100%;
  height: auto;
}
.l_contents_mainLayout #market .market_boxR .market_detail,
.l_contents_mainLayout #lufthansa .market_boxR .market_detail{
  float:left;
}
.l_contents_mainLayout #market .market_detail,
.l_contents_mainLayout #lufthansa .market_detail{
  width:455px;
  margin-left:30px;
}
.l_contents_mainLayout #market .market_box .title,
.l_contents_mainLayout #lufthansa .market_box .title {
  float:left;
  width: calc(100% - 110px);
  padding-top:30px;
  font-family: 'Noto Serif JP', serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.4;
}
.l_contents_mainLayout #lufthansa .market_box .title {
  float: none;
  width: 100%;
  padding-bottom: 20px;
}
.l_contents_mainLayout #market .market_box .title img {
  height:60px;
}
.l_contents_mainLayout #market .market_box .map {
  float:right;
  padding:10px 10px 10px 0;
}
.l_contents_mainLayout #market .market_box .text,
.l_contents_mainLayout #lufthansa .market_box .text {
  clear:both;
  padding-right:30px;
  font-size: 16px;
  line-height: 1.7;
}
.l_contents_mainLayout #market .market_box .text a,
.l_contents_mainLayout #lufthansa .market_box .text a {
  color: #b6441c;
  text-decoration: underline;
}
.l_contents_mainLayout #market .market_box .text a:hover,
.l_contents_mainLayout #lufthansa .market_box .text a:hover {
  text-decoration: none;
}
.l_contents_mainLayout #market + .btnDetail,
.l_contents_mainLayout #lufthansa + .btnDetail {
  margin-bottom: 35px;
  text-align: center;
}
.l_contents_mainLayout #market + .btnDetail a,
.l_contents_mainLayout #sns .btnDetail a,
.l_contents_mainLayout  #lufthansa + .btnDetail a{
  display: inline-block;
  background-color:#e3ad1e;
  color:#333333;
  font-size:18px;
  padding:10px 30px;
  border-radius: 25px;
}
.l_contents_mainLayout #market + .btnDetail a p,
.l_contents_mainLayout #sns .btnDetail a p,
.l_contents_mainLayout #lufthansa + .btnDetail a p{
  display: inline-block;
  background:url(../img/icon_01.png) no-repeat left center;
  background-size:16px;
  padding-left:25px;
  font-weight:bold;
}
.l_contents_mainLayout #market .btnDetail a p span,
.l_contents_mainLayout #lufthansa + .btnDetail a p span{
  font-size:14px;
}
.l_contents_mainLayout #market + .btnDetail a:hover,
.l_contents_mainLayout #sns .btnDetail a:hover,
.l_contents_mainLayout #lufthansa + .btnDetail a:hover{
  text-decoration:none;	
}
@media screen and (max-width:970px) { /* PCレイアウトの970px幅に合わせて切り替え */
  .l_contents_mainLayout #market,
  .l_contents_mainLayout #lufthansa{
    padding:10px;
    margin-bottom:20px;
    width:100%;
    box-sizing:border-box;
  }
  .l_contents_mainLayout #market .market_box,
  .l_contents_mainLayout #lufthansa .market_box{
    padding-bottom:30px;
  }
  .l_contents_mainLayout #market .market_boxL .pic,
  .l_contents_mainLayout #market .market_boxR .pic,
  .l_contents_mainLayout #lufthansa .market_boxL .pic,
  .l_contents_mainLayout #lufthansa .market_boxR .pic,
  .l_contents_mainLayout #market .market_boxL .market_detail,
  .l_contents_mainLayout #market .market_boxR .market_detail,
  .l_contents_mainLayout #lufthansa .market_boxL .market_detail,
  .l_contents_mainLayout #lufthansa .market_boxR .market_detail{
    float:none;
  }
  .l_contents_mainLayout #market .market_boxL .pic,
  .l_contents_mainLayout #market .market_boxR .pic,
  .l_contents_mainLayout #lufthansa .market_boxL .pic,
  .l_contents_mainLayout #lufthansa .market_boxR .pic {
    width: auto;
  }
  .l_contents_mainLayout #market .market_detail,
  .l_contents_mainLayout #lufthansa .market_detail{
    width:100%;
    margin-left:0px;
  }
  .l_contents_mainLayout #market .market_box .pic img,
  .l_contents_mainLayout #lufthansa .market_box .pic img{
    width:100%;
  }
  .l_contents_mainLayout #market .market_box .title,
  .l_contents_mainLayout #lufthansa .market_box .title {
    float:left;
    width: calc(100% - 50px);
    padding-top:20px;
    font-size: 18px;
  }
  .l_contents_mainLayout #lufthansa .market_box .title {
    float: none;
    width: 100%;
  }
  .l_contents_mainLayout #market .market_box .title img {
    height:43px;
  }
  .l_contents_mainLayout #market .market_box .map {
    float:right;
    padding-top:20px;
    padding-right:0px;
    padding-bottom:20px;
  }
  .l_contents_mainLayout #market .market_box .map img {
    width:46px;
  }
  .l_contents_mainLayout #market .market_box .text,
  .l_contents_mainLayout #lufthansa .market_box .text {
    padding-right:0px;
    font-size: 14px;
  }
  .l_contents_mainLayout #market + .btnDetail,
  .l_contents_mainLayout #market .market_box .btnDetail02 {
    text-align:center;
  }
  .l_contents_mainLayout #market + .btnDetail a,
  .l_contents_mainLayout #sns .btnDetail a,
  .l_contents_mainLayout #lufthansa + .btnDetail a{
    display: inline-block;
    font-size:16px;
    padding:15px 27px;
  }
  .l_contents_mainLayout #market + .btnDetail a p,
  .l_contents_mainLayout #sns .btnDetail a p,
  .l_contents_mainLayout #lufthansa + .btnDetail a p{
    display: inline-block;
    background:url(../img/icon_01.png) no-repeat left center;
    background-size:12px;
    padding-left:18px;
    font-weight:bold;
  }
  .l_contents_mainLayout #market .market_box .btnDetail02 a{
    background-color:#e3ad1e;
    color:#333333;
    font-size:16px;
    padding:15px 30px;
    border-radius: 25px;
  }
  .l_contents_mainLayout #market .market_box .btnDetail02 a p{
    display: inline-block;
    background:url(../img/icon_01.png) no-repeat left center;
    background-size:12px;
    padding-left:18px;
    font-weight:bold;
    line-height:16px;
    vertical-align: middle;
  }
  .l_contents_mainLayout #market + .btnDetail a p span,
  .l_contents_mainLayout #market .market_box .btnDetail02 a p span,
  .l_contents_mainLayout #lufthansa + .btnDetail a p span{
    display: inline-block;
    font-size:12px;
  }
}
/* ==========================================================================
   おすすめツアー
   ========================================================================== */
.l_contents_mainLayout #recotour{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom:35px;
}
.l_contents_mainLayout #recotour .recotour_box{
  width:480px;
  background-color:#FFF;
  margin-bottom:10px;
}
.l_contents_mainLayout #recotour .recotour_box a{
  color:#333333;
}
.l_contents_mainLayout #recotour .recotour_box a:hover{
  text-decoration:none;
}
.l_contents_mainLayout #recotour .recotour_boxL{
  margin-right:10px;
}
.l_contents_mainLayout #recotour .recotour_box .text01{
  padding:15px 15px 10px 15px;
  text-decoration:underline;
}
.l_contents_mainLayout #recotour .recotour_box .text01:hover{
  text-decoration: none;
}
.l_contents_mainLayout #recotour .recotour_box .text02{
  padding:0 15px 15px 15px;
  font-weight:bold;
  font-size:18px;
}
.l_contents_mainLayout #recotour .recotour_info {
  width: 100%;
  font-size: 12px;
}
.l_contents_mainLayout #recotour .btnAnother{
  text-align:center;
  clear:both;
  padding-top:10px;
}
.l_contents_mainLayout #recotour .btnAnother a{
  display: inline-block;
  background-color:#e3ad1e;
  color:#333333;
  font-size:18px;
  padding:10px 50px;
  border-radius: 25px;
}
.l_contents_mainLayout #recotour .btnAnother a span{
  background:url(../img/icon_02.png) no-repeat left center;
  background-size:17px;
  padding-left:25px;
  font-weight:bold;
}
.l_contents_mainLayout #recotour .btnAnother a:hover{
  text-decoration:none;	
}
@media screen and (max-width:768px) {
.l_contents_mainLayout #recotour{
  margin:0 10px 30px 10px;
}
.l_contents_mainLayout #recotour .recotour_box{
  width:100%;
  background-color:#FFF;
  margin-bottom:10px;
}
.l_contents_mainLayout #recotour .recotour_boxL{
  margin-right:0px;
}
.l_contents_mainLayout #recotour .btnAnother a{
  font-size:16px;
}
.l_contents_mainLayout #recotour .btnAnother a span{
  background:url(../img/icon_02.png) no-repeat left center;
  background-size:13px;
  padding-left:25px;
  font-weight:bold;
}
}
/* ==========================================================================
   行ってきました
   ========================================================================== */
.l_contents_mainLayout #commu {
  margin-bottom:60px;
}
.l_contents_mainLayout #commu .commu_box {
  display: flex;
  justify-content: space-between;
  margin-bottom:13px;
  color:#FFFFFF;
}
.l_contents_mainLayout #commu .commu_box .pic {
  width: 250px;
}
.l_contents_mainLayout #commu .commu_box .pic img {
  width: 100%;
  height: auto;
}
.l_contents_mainLayout #commu .commu_boxRed {
  background-color:#b6441c;
}
.l_contents_mainLayout #commu .commu_boxGreen {
  background-color:#167069;
}
.l_contents_mainLayout #commu .commu_box .textBox {
  width: calc(100% - 250px);
  padding: 20px;
}
.l_contents_mainLayout #commu .commu_box .text01 {
  font-size:12px;
  padding-bottom: 10px;
}
.l_contents_mainLayout #commu .commu_box .text01 span {
  font-size:18px;
  font-weight:bold;
}
.l_contents_mainLayout #commu .commu_box a {
  display: inline-block;
  margin-left: 5px;
  text-decoration: underline;
  color:#FFFFFF;
}
@media screen and (max-width:768px) {
  .l_contents_mainLayout #commu .commu_box {
    flex-direction: column;
  }
  .l_contents_mainLayout #commu .commu_box .pic,
  .l_contents_mainLayout #commu .commu_box .textBox {
    width: 100%;
  }
}

/* ==========================================================================
   公式SNS
   ========================================================================== */

.l_contents_mainLayout  #sns {
  padding-bottom: 60px;
}
.l_contents_mainLayout  #sns .u_main .flex_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto;
  padding: 10px;
  background: #fff;
}
.l_contents_mainLayout  #sns .u_main .text1 p {
  margin: 20px 0 15px 15px;
  font-size: 16px;
  text-align: left;
}
.l_contents_mainLayout  #sns .u_main .text1 span {
  display: inline-block;
  font-weight: bold;
}
.l_contents_mainLayout  #sns .u_main .text2 {
  margin: 0 0 52px;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  text-align: center;
}
.l_contents_mainLayout  #sns .u_main .sns_box {
  display: flex;
  justify-content: space-around;
}
.l_contents_mainLayout  #sns .u_main .sns_box img.sns_qr {
  display: block;
  width: 120px;
  height: auto;
  margin: 0 15px 24px;
}
@media screen and (max-width:768px) {
  .l_contents_mainLayout  #sns {
    margin-bottom: 35px;
  }
  .l_contents_mainLayout  #sns .u_main .flex_box {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .l_contents_mainLayout  #sns .u_main .flex_item {
    width: 100%;
  }
  .l_contents_mainLayout  #sns .u_main .text1 p {
    margin: 0 0 15px 0;
  }
  .l_contents_mainLayout  #sns .u_main .text2 {
    margin: 0 0 52px;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-align: center;
  }
  .l_contents_mainLayout #sns .u_main .flex_item.twitter {
    display: flex;
    justify-content: center;
    margin-left: 0;
  }
}

/* ==========================================================================
   in cooperation with
   ========================================================================== */
.l_contents_mainLayout #cooperation {
  padding-bottom: 60px;
}
.l_contents_mainLayout #cooperation .cooperation_box {
  display: flex;
  justify-content: space-evenly;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 15px auto 0;
  padding: 20px;
  background: #fff;
}
.l_contents_mainLayout #cooperation .cooperation_box .cooperation_box_item {
  display: inline-block;
  padding: 15px;
}
.l_contents_mainLayout #cooperation .cooperation_box .cooperation_box_item img {
  width: auto;
  height: 30px;
}