@charset "UTF-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

common

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

body {
  color: #000;
}

/* ----pc,sp表示切替---- */
.-pcOnly {
  display: inline-block !important;
}

.-spOnly {
  display: none !important;
}
.-none {
  display: none;
}

@media screen and (max-width: 950px) {
  .-pcOnly {
    display: none !important;
  }

  .-spOnly {
    display: block !important;
  }
}

a {
  transition: .4s;
}

a:hover {
  transition: .4s;
  opacity: .7;
  text-decoration: none;
}

a:focus, button:focus {
  outline: transparent;
}

div[class*="pic"] img {
  vertical-align: top;
}

.c-innerWrap {
  width: 950px;
  margin: 0 auto;
  padding: 100px 0 0;
}

.c-innerWrap.min {
  padding: 40px 0;
}

.c-courseSec .c-innerWrap {
  padding: 100px 0;
}

.c-secTit {
  text-align: center;
  margin: auto;
}

.c-btnWrap {
  text-align: center;
}

.c-btnWrap .c-linkBtn a {
  display: inline-block;
  background-color: #fff;
  border: 1px solid #c90000;
  padding: 15px 30px;
  min-width: 335px;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  color: #c90000;
}

/* .ticketModule_unit .mdl_elmCell .fs14 span {
  color: #cc0000;
} */

@media screen and (max-width: 950px) {
  .c-innerWrap {
    width: 100%;
    padding: 60px 10px 0;
  }

  .c-innerWrap.min {
    padding: 40px 10px;
  }

  .c-courseSec .c-innerWrap {
    padding: 60px 20px;
  }
  .c-btnWrap .c-linkBtn a {
    padding: 10px 20px;
    min-width: auto;
    width: 100%;
    line-height: 2;
  }
}


/* ------------------------------------------------------------------------------------------
compo none
------------------------------------------------------------------------------------------ */

.pageTtl {
  margin-bottom: 0;
}

.slick-box, .slick-box2, .slidType_thumb {
  margin-top: 0px;
}

.clm_1_2col.colWrap .col {
  width: calc(50% - 30px);
}

.clm_1_2col.colWrap .col:nth-of-type(n+2) {
  margin-top: 0px;
  margin-left: 60px;
}

.mv_comment .ttlLv2 {
    display: contents;
}

.mv_comment .ttlLv2 .heading {
    display: contents;
    font-size: 32px;
    line-height: 1.4;
}

.head-tit .ttlLv1 .heading {
    display: contents;
    font-size: inherit;
}

.contentsInr .head-tit .ttlLv1, .contentsInr .head-tit .contactBlock {
    display: contents;
}

.head-tit .ttlLv1:after {
    display: contents;
}

@media screen and (max-width: 950px) {
  .fs18 {
    font-size: 1.6rem !important;
  }

  .mv_comment .ttlLv2 .heading {
    font-size: 24px;
  }
}

/* ------------------------------------------------------------------------------------------
contents
------------------------------------------------------------------------------------------ */

.ctm_contentsFull {
  width: 100vw;
  margin-left: calc((-100vw + 100%) / 2);
  padding: 100px 0;
  overflow: hidden;
}

.ctm_contentsFull.full01 {
  color: #fff;
  background: rgb(77,128,152);
  background: linear-gradient(0deg, rgba(77,128,152,1) 0%, rgba(15,18,38,1) 100%);
  position: relative;
}

.ctm_contentsFull.full01::before {
  content: '';
  position: absolute;
  background: url("/jp/ja/domtour/jaldp/oka/kaiensai/img_sites/point_hanabi_bg01.png") no-repeat;
  background-size: contain;
  top: 0;
  right: 0;
  width: 300px;
  height: 370px;
}

.ctm_contentsFull.full01::after {
  content: '';
  position: absolute;
  background: url("/jp/ja/domtour/jaldp/oka/kaiensai/img_sites/point_hanabi_bg02.png") no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 390px;
  height: 610px;
  z-index: 1;
}

.mv_comment {
    text-align: center;
    font-family: 'Noto Serif JP' , serif;
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4;
}

.red {
  color: #cc0000;
}

.contentsUnit {
  width: 950px;
  margin: auto;
  position: relative;
}

.ctm_contentsFull.full01 .contentsUnit::before {
  content: '';
  position: absolute;
  background: url("/jp/ja/domtour/jaldp/oka/kaiensai/img_sites/point_hanabi_bg03.png") no-repeat;
  background-size: contain;
  bottom: -100px;
  right: -70px;
  width: 350px;
  height: 250px;
}

.box_typeA {
  border: 2px solid #cc0000;
  padding: 30px 40px;
  margin-top: 30px;
}

.box_typeA.ticket {
  border: 2px solid #cc0000;
  padding: 10px 60px;
  margin: 30px auto 0;
  width: 83%;
}

.box_typeA_tit {
  font-size: 16px;
  font-weight: bold;
}

.box_typeA .c-lead {
  text-align: left;
  margin-top: 10px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}

.box_typeA_itemBox {
  background-color: #fffbd3;
  padding: 20px;
  margin-top: 20px;
  font-weight: bold;
}

.box_typeB {
  /*border: 1px solid #000;*/
	background-color: #FFEEEE;
  padding: 20px 20px;
  /*margin-top: 30px;*/
}

.box_typeB_tit {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.c-txt p {
  font-size: 14px;
  line-height: 1.7;
}

.date_and_time {
  font-weight: bold;
  font-size: 24px;
  text-align: center;
  margin-top: 25px;
}

.head-tit {
  text-align: center;
  font-family: 'Noto Serif JP' , serif;
  font-size: 46px;
  color: #fff;
  font-weight: bold;
  position: relative;
  line-height: 1;
  letter-spacing: .1em;
}

.head-tit::before {
  content: '';
  position: absolute;
  background: url("/jp/ja/domtour/jaldp/oka/kaiensai/img_sites/point_hanabi.png") no-repeat;
  background-size: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50% , -50%);
  width: 150px;
  height: 150px;
}

@media screen and (max-width: 950px) {
  .ctm_contentsFull.full01 {
    padding: 60px 20px;
  }

  .contentsUnit {
    width: auto;
    margin: auto;
  }

  .box_typeA {
    border: 1px solid #cc0000;
    padding: 20px 15px 20px 10px;
    font-size: 13px;
    margin-top: 60px;
  }

  .ctm_contentsFull {
      padding: 40px 20px;
  }

  .mv_comment {
    font-size: 24px;
    line-height: 1.2;
  }

  .date_and_time {
    font-size: 20px;
  }

  .box_typeA {
    padding: 20px;
  }

  .box_typeA.ticket {
    padding: 10px 20px;
    width: 100%;
  }

  .box_typeB {
    padding: 20px;
  }

  .ctm_contentsFull.full01::before {
    width: 100px;
    height: 123px;
  }

  .ctm_contentsFull.full01::after {
    width: 100px;
    height: 156px;
  }

  .ctm_contentsFull.full01 .contentsUnit::before {
    bottom: -60px;
    right: 30px;
    width: 100px;
    height: 71px;
  }

  .head-tit {
    font-size: 32px;
  }

  .head-tit::before {
    width: 100px;
    height: 100px;
  }
}


/* point ----------------------------------------------------------------------------------*/

.pointBlock {
  margin-top: 100px;
}

.pointBox {
  position: relative;
  background-color: #fff;
  color: #000;
  padding: 50px 20px 30px;
  z-index: 2;
}

.pointBox::before {
  content: '';
  position: absolute;
  top: -37px;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 72px;
}

.pointBox.box01::before {
  background: url("/jp/ja/domtour/jaldp/oka/kaiensai/img_sites/point01.png") no-repeat;
  background-size: contain;
}

.pointBox.box02::before {
  background: url("/jp/ja/domtour/jaldp/oka/kaiensai/img_sites/point02.png") no-repeat;
  background-size: contain;
}

.pointBox.box03::before {
  background: url("/jp/ja/domtour/jaldp/oka/kaiensai/img_sites/point03.png") no-repeat;
  background-size: contain;
}

.pointTit {
  height: 77px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pointTit .ttlLv4 {
  display: contents;
}

.pointTxt {
  height: 62px;
  text-align: center;
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.pointAboutArea {
  margin-top: 80px;
  background-color: rgba(12,21,50,.35);
  border: 1px solid #fff;
  padding: 40px;
  position: relative;
  z-index: 2;
}

.pointAboutBlock .colWrap.clm_1_2col {
  justify-content: space-between;
}

.pointAboutBlock .colWrap.clm_1_2col .col:nth-child(1) {
  width: 60%;
}

.pointAboutBlock .colWrap.clm_1_2col .col:nth-child(2) {
  width: 36%;
  margin-left: 34px;
}

.pointAboutTit {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: .1em;
}

.pointAboutTxt {
  font-size: 16px;
  margin-top: 20px;
}

.date_and_timeArea {
  margin-top: 20px;
}

.date_and_timeBlock {
  display: flex;
  margin-bottom: 10px;
}

.date_and_timeBlock .text {
  display: contents;
}

.date_and_timeTit {
  text-align: center;
  width: 70px;
  background-color: #fff;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.date_and_timeTxt {
  font-size: 18px;
  font-weight: bold;
  margin-left: 10px;
}

.pointAboutList ul li {
  font-size: 12px;
}


@media screen and (max-width: 950px) {
    .pointBlock {
      margin-top: 60px;
  }

  .pointBox {
      padding: 40px 20px 20px;
  }

  .pointBox::before {
      top: -30px;
      width: 62px;
      height: 62px;
  }

  .pointTit {
      height: auto;
      font-size: 20px;
  }

  .pointTxt {
      height: auto;
      margin-top: 10px;
  }

  .pointBlock.col3 .clm_1_3col.colWrap .col:nth-of-type(n+2) {
      margin-top: 40px;
  }

  .pointAboutArea {
      margin-top: 40px;
      padding: 20px;
  }

  .pointAboutBlock .colWrap.clm_1_2col .col:nth-child(1) {
      width: 100%;
  }

  .pointAboutBlock .colWrap.clm_1_2col .col:nth-child(2) {
      width: 100%;
      margin-left: 0;
      margin-top: 20px;
  }

  .pointAboutTit {
      font-size: 24px;
  }

  .pointAboutTxt {
      font-size: 14px;
      margin-top: 10px;
  }
}



/* hotel ----------------------------------------------------------------------------------*/

.c-tit {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: .1em;
  line-height: 1;
}

.hotelBlock {
  margin-top: 30px;
}

.hotelTit .ttlLv4 {
  /* display: contents; */
  height: 55px;
  display: flex;
  align-items: center;
  padding-top: 10px;
}

.hotelLinkBlock {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}

.hotelLinkBlock .linkbtn a {
  width: 100%;
  line-height: 1;
  min-height: 40px;
  margin: 8px 0 0;
}

.c-lead.-adj {
  background-color: #fffbd3;
  padding: 20px;
  margin-top: 20px;
  font-weight: bold;
}

@media screen and (max-width: 950px) {
  .c-tit {
    font-size: 28px;
  }

  .hotelBlock {
      margin-top: 20px;
  }

  .hotelBlock .clm_1_3col.colWrap .col:nth-of-type(n+2) {
      margin-top: 10px;
  }

  .c-lead.-adj {
    padding: 10px;
  }
}

/* option ----------------------------------------------------------------------------------*/

.optionArea {
  margin-top: 80px;
}

.optionMainTit {
	text-align: center;
  font-size: 28px;
  font-weight: bold;
  background-color: #cc0000;
  color: #fff;
  padding: 0 0 5px 0;
}


.optionAreaInner {
  border: 1px solid #cc0000;
  padding: 40px 40px 60px;
}

.optionBlock.col2 {
  margin-bottom: 20px;
}

.optionBlock.col2 .colWrap.clm_1_2col .col:nth-child(1) {
  width: 65%;
}

.optionBlock.col2 .colWrap.clm_1_2col .col:nth-child(2) {
  width: 30%;
  margin-left: 40px;
}

.subTitImg img {
  height: 48px;
  width: auto;
}

.optionTit {
  font-size: 34px;
  font-weight: bold;
  margin-top: 5px;
}
 .optionTit p::before {
  background-color: #cc0000;
	font-size: 22px;
	content: '限定';
  color: #fff;
  padding: 2px 10px 0;
  border-radius: 5px;
  margin-right: 10px;
	text-align: center;
	vertical-align: middle;
}
@media screen and (max-width: 950px) {
  .optionTit p::before {
    font-size: 16px;
}
}

.optionTxt {
  margin-top: 25px;
}

.optionTxt p strong {
  color: #000;
  font-size: 16px;
}

.option_dlBlock {
  margin-top: 15px;
}

.option_dt {
  font-weight: bold;
  line-height: 1;
  margin-top: 15px;
}

.option_dd {
  margin-top: 5px;
}

.option_dlItemBox .txtListBox {
  margin-top: 0;
}

.c-txt .txtList > li:before {
  width: 10px;
  height: 10px;
}

.btnBox .c-linkBtn a {
  width: 25%;
  margin: 40px auto 10px;
  display: block;
}

.optionTxtLink {
  text-align: center;
}

.comment {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 12px;
  margin-top: 2px;
}

.optionContents.sec {
  margin-top: 30px;
  padding-top: 10px;
  border-top: 1px solid #ccc;
}

.travel_feeBox {
  border: 1px solid #ccc;
  padding: 20px;
  margin-top: 20px;
}

.c-txt.redtxt .txtList > li:nth-child(1)::before, .c-txt.redtxt .txtList > li:nth-child(2)::before, .c-txt.redtxt .txtList > li:nth-child(3)::before, .c-txt.redtxt .txtList > li:nth-child(4)::before {
  background-color: #cc0000;
}

.travel_feeBox .colWrap.clm_1_2col {
  justify-content: center;
  align-items: center;
}

.travel_feeBox .colWrap.clm_1_2col .col:nth-child(1) {
  width: 56%;
}

.travel_feeBox .colWrap.clm_1_2col .col:nth-child(2) {
  width: 39%;
  border-left: 1px dotted #ccc;
  padding-left: 30px;
  margin-left: 30px;
  letter-spacing: .05em;
}

.bnrArea {
  margin-top: 60px;
}


@media screen and (max-width: 950px) {

  .optionArea {
    margin-top: 40px;
  }

  .optionMainTit {
      font-size: 18px;
  }

  .optionAreaInner {
      padding: 20px;
  }

  .optionBlock.col2 .colWrap.clm_1_2col .col:nth-child(1) {
      width: 100%;
  }

  .optionBlock.col2 .colWrap.clm_1_2col .col:nth-child(2) {
      width: 100%;
  }

  .subTitImg img {
      height: 25px;
      width: auto;
  }

  .optionTit {
      font-size: 24px;
      line-height: 1.4;
  }

  .optionTxt {
      margin-top: 10px;
  }

  .optionTxt {
      margin-top: 10px;
      font-size: 14px;
  }

  .optionBlock.col2 .colWrap.clm_1_2col .col:nth-child(2) {
      width: 85%;
      margin: 20px auto 0;
      padding-left: 25px;
  }

  .option_dlBlock .colWrap {
      flex-direction: column;
  }

  .option_dlBlock .colWrap .col {
      width: 100%;
  }

  .option_dlBlock .clm_1_2col.colWrap .col:nth-of-type(n+2) {
      margin-top: 5px;
      margin-left: 0;
  }

  .btnBox .c-linkBtn a {
      width: 75%;
      margin: 30px auto 10px;
  }

  .optionContents.sec {
      margin-top: 30px;
      padding-top: 30px;
  }

  .travel_feeBox .colWrap.clm_1_2col {
    justify-content: baseline;
    align-items:baseline
  }
  
  .travel_feeBox .colWrap.clm_1_2col .col:nth-child(1) {
    width: 100%;
  }
  
  .travel_feeBox .colWrap.clm_1_2col .col:nth-child(2) {
    width: 100%;
    border-left: none;
    border-top: 1px dotted #ccc;
    padding-left: 0;
    margin-left: 0;
    padding-top: 15px;
    margin-top: 15px;
    font-size: 13px;
  }

  .bnrArea {
      margin-top: 40px;
  }
}


/* present ----------------------------------------------------------------------------------*/

.presentArea {
  margin-top: 40px;
}

.presentBlock {
  padding: 40px;
  background-color: #ffebeb;
}

.presentTit {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
}

.presentTxt {
  font-size: 16px;
  font-weight: bold;
  color: #cc0000;
  line-height: 2;
  padding-left: 20px;
  margin-bottom: 10px;
}

.presentTxt p {
  position: relative;

}

.presentTxt p::before {
  content: '';
  position: absolute;
  background-color: #cc0000;
  width: 15px;
  height: 15px;
  top: 50%;
  transform: translateY(-65%);
  left: -20px;
  border-radius: 100%;
}

.presentBox .linkbtn a {
  margin: 10px auto 0;
  display: block;
  width: 180px !important;
}
@media screen and (max-width: 950px) {
  .presentBlock {
    padding: 20px;
}
}

/*.presentBlock .colWrap {
    flex-direction: column-reverse;
}*/

.presentBlock .colWrap .col {
    width: 100%;
}

.presentBlock .clm_1_2col.colWrap .col:nth-of-type(n+2) {
    margin-left: 0;
    margin-bottom: 20px;
}

.presentTit {
    font-size: 22px;
    margin-bottom: -10px;
}

.presentTxt {
    font-size: 16px;
    line-height: 1.4;
}

.presentTxt p {
    padding-top: 10px;
}

.presentTxt p::before {
    width: 10px;
    height: 10px;
    transform: translateY(0%);
}
}





/* ------------------------------------------------------------------------------------------
teaser
------------------------------------------------------------------------------------------ */

.ctm_contentsFull.teaser {
  padding: 60px 0;
}

.teaser .head-tit {
  font-size: 36px;
}

.date_and_time.large {
    font-size: 36px;
    margin-top: 30px;
    color: #ffeb1f;
}

.c-lead {
    text-align: center;
    margin-top: 10px;
    font-size: 20px;
    line-height: 1.8;
}

@media screen and (max-width: 950px) {

  .ctm_contentsFull.teaser {
    padding: 40px 20px;
  }

  .teaser .head-tit {
    font-size: 28px;
  }

  .date_and_time.large {
    font-size: 28px;
    margin-top: 20px;
  }

  .teaser .c-lead {
    text-align: left;
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.6;
  }
}


.mile-tit {
    font-size: 2.8rem;
}

.limited {
	font-size: 20px;
	background-color: #FFF;
	color: #cc0000;		
	padding: 4px 10px 0;
	border-radius: 5px;
	margin-right: 20px;
}

@media screen and (max-width: 950px) {
.limited {
	font-size: 16px;
	margin-right: 0px;
}
.optionMainTit .heading {
	line-height: 2;
}
}

.bgRed {
  padding: 40px;
  background-color: #ffebeb;
}
