/* CSS Document */
@charset "utf-8";
/*-------------------------------*/
/*でんしゃ旅・おトクなきっぷ*/
body#plan.index .headTyp01sub01 {
  word-break: keep-all;
}
/*.wrapBnrTyp02*/
.idxPlanItemLay {
  position: relative;
  width: 200px;
}
.idxPlanItemLay .bgImg {
  display: flex;
  justify-content: center;
  padding: 100px 10px 25px;
  height: 100%;
  font-size: 0.9rem;
  color: #555555;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  background: #ffffff no-repeat 50% 30px / 100px 55px;
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
}
.idxPlanItemLay a.bgImg {
  transition: box-shadow 0.2s ease-out;
}
.idxPlanItemLay a.bgImg:hover {
  color: #004ea2;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
}
.idxPlanItemLay.idxPlanItem01 .bgImg {
  background-image: url("/img/plan_ico_01_on.svg");
}
.idxPlanItemLay.idxPlanItem02 .bgImg {
  background-image: url("/img/plan_ico_02_on.svg");
}
.idxPlanItemLay.idxPlanItem03 .bgImg {
  background-image: url("/img/plan_ico_03_on.svg");
}
.idxPlanItemLay.idxPlanItem04 .bgImg {
  background-image: url("/img/plan_ico_04_on.svg");
}
.idxPlanItemLay.idxPlanItem05 .bgImg {
  background-image: url("/img/plan_ico_05_on.svg");
}
.idxPlanItemLay.act {
  margin-top: -30px;
}
.idxPlanItemLay.act span.bgImg {
  padding-top: 130px;
  color: #676767;
  background-position: 50% 60px;
  box-shadow: none;
}
@media screen and (max-width:991px) {
  .idxPlanItemLay {
    display: flex;
    justify-content: center;
    width: 31%;
  }
  .idxPlanItemLay.act {
    margin-top: 0;
  }
  .idxPlanItemLay .bgImg {
    flex-direction: column;
    width: 100%;
    height: auto;
    padding: 70px 5px 15px;
    font-size: 0.8rem;
    background-position: 50% 15px;
    background-size: auto 45px;
  }
  .idxPlanItemLay.act span.bgImg {
    padding-top: 70px;
    background-color: rgba(255, 255, 255, 0.5);
    background-position: 50% 15px;
  }
  .idxPlanItemLay.idxPlanItem01, .idxPlanItemLay.idxPlanItem02 {
    margin: 0 0 3%;
    width: 48.5%;
  }
  .idxPlanItemLay .layTxt {
    white-space: nowrap;
  }
}
@media screen and (max-width:424px) {
  .idxPlanItemLay.idxPlanItem03 .bgImg, .idxPlanItemLay.idxPlanItem04 .bgImg, .idxPlanItemLay.idxPlanItem05 .bgImg {
    background-position: 50% 20px;
    background-size: auto 35px;
  }
}
/*お得な割引きっぷ インデックス*/
.wrapIdxDiscountTicket {
  padding: 50px 0;
  background: #f0f0f0;
}
.idxDiscountTicketNav {
  display: flex;
  justify-content: space-between;
}
.wrapIdxDiscountTicket .bgImg {
  display: flex;
  align-items: center;
  width: 550px;
  padding: 0 30px;
  font-size: 1.4rem;
  color: #ffffff;
  text-decoration: none;
  background: url("/img/plan_discount_ticket_bg_01.jpg") no-repeat 50% 50% / cover;
}
.wrapIdxDiscountTicket .bgImg span {
  display: block;
  padding: 0 0 0 10px;
  border-left: 5px solid #ffffff;
  font-weight: 400;
}
.idxDiscountTicketItem {
  display: flex;
  flex-grow: 2;
  flex-direction: column;
  justify-content: center;
  padding: 25px 40px;
  background: #ffffff;
}
.idxDiscountTicketItemLay + .idxDiscountTicketItemLay {
  margin-top: 10px;
}
.idxDiscountTicketItemLay a {
  position: relative;
  padding-left: 15px;
  text-decoration: none;
}
.idxDiscountTicketItemLay a:hover {
  text-decoration: underline;
}
.idxDiscountTicketItemLay a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -2px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #004ea2;
  border-right: 2px solid #004ea2;
  transform: rotate(45deg);
}
@media screen and (max-width:991px) {
  .wrapIdxDiscountTicket {
    padding: 30px 0;
  }
  .idxDiscountTicketNav {
    display: block;
  }
  .wrapIdxDiscountTicket .bgImg {
    width: 100%;
    min-height: 110px;
    padding: 30px 15px;
  }
  .idxDiscountTicketItem {
    padding: 0;
  }
  .idxDiscountTicketItemLay + .idxDiscountTicketItemLay {
    margin-top: 0;
    border-top: 1px solid #dfdfdf;
  }
  .idxDiscountTicketItemLay a {
    display: block;
    padding: 10px 10px 10px 30px;
  }
  .idxDiscountTicketItemLay a:after {
    top: 22px;
    left: 15px;
  }
}
/*-------------------------------*/
/*陣*/
.wrapIdxTyp01 + .layWidTyp01 > .blockTemplateArea {
  margin-top: 80px;
}
/*-------------------------------*/
/*ハイキング・巡拝*/
.idxHikingNav {
  margin: 50px auto;
  width: 1420px;
}
.idxHikingItem {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.idxHikingItemLay {
  position: relative;
  width: 685px;
}
.idxHikingItemLay a.bgImg {
  display: block;
  position: relative;
  text-decoration: none;
}
.idxHikingItemLay span.layImg {
  display: block;
  overflow: hidden;
  height: 335px;
  border-radius: 6px;
}
.idxHikingItemLay span.layImg img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.idxHikingItemLay a:hover span.layImg img {
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
  filter: alpha(opacity=90);
  -moz-opacity: .9;
  opacity: .9;
}
.idxHikingItemLay .txtDecoLay {
  text-align: center;
}
.idxHikingItemLay h2.txtDecoLay {
  display: flex;
  justify-content: center;
  position: relative;
  margin-top: -50px;
  font-size: 1.2rem;
  color: #ffffff;
  text-align: center;
  font-weight: 500;
}
#wrapContents p.txtDecoLay {
  font-size: 0.9rem;
}
.idxHikingItemLay p.txtDecoLay {
  padding: 30px 0 0;
  color: #555555;
}
.idxHikingItemLay a:hover p.txtDecoLay {
  color: #004ea2;
}
@media screen and (max-width:991px) {
  .idxHikingNav {
    margin: 30px auto;
    width: 100%;
  }
  .idxHikingItem {
    display: block;
    margin: 0 20px;
  }
  .idxHikingItemLay {
    position: relative;
    width: 100%;
  }
  .idxHikingItemLay + .idxHikingItemLay {
    margin-top: 30px;
  }
  .idxHikingItemLay span.layImg {
    height: auto;
  }
  .idxHikingItemLay h2.txtDecoLay {
    margin-top: -45px;
  }
}
@media screen and (max-width:330px) {
  .idxHikingItemLay h2.txtDecoLay {
    font-size: 1rem;
  }
}
/*ハイキング　開催概要*/
.wrapRailroadIcon + .wrapRailroadOutline {
  margin-top: 20px;
}
.wrapRailroadOutline + p {
  margin-top: 20px;
}
.railroadOutline {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.wrapRailroadOutline .railroadOutline + .railroadOutline {
  margin-top: 15px;
}
.idxTyp01Lay a.layLink dd.typ4 dl.railroadOutline + dl.railroadOutline {
  margin-top: 10px;
}
.wrapRailroadOutline .railroadOutline dt {
  width: 140px;
  padding: 5px 10px;
  color: #ffffff;
  text-align: center;
  background: #787878;
  border-radius: 6px;
}
.idxTyp01Lay a.layLink dd.typ4 dl.railroadOutline dt {
  width: 40%;
  padding: 2px;
  color: #ffffff;
  text-align: center;
  background: #787878;
  font-size: 0.85rem;
  border-radius: 6px;
}
.wrapRailroadOutline .railroadOutline dd {
  margin-top: 5px;
  width: 330px;
  color: #555555;
}
.idxTyp01Lay a.layLink dd.typ4 dl.railroadOutline dd {
  width: 55%;
  font-size: 0.9rem;
  color: #555555;
}
.railroadOutline dd.difficulty, .idxTyp01Lay a.layLink dd.typ4 dl.railroadOutline dd.difficulty {
  color: #ffc600;
}
@media screen and (max-width:991px) {
  .wrapRailroadIcon + .wrapRailroadOutline {
    margin-top: 10px;
  }
  .wrapRailroadOutline .railroadOutline + .railroadOutline, .idxTyp01Lay a.layLink dd.typ4 dl.railroadOutline + dl.railroadOutline {
    margin-top: 0;
  }
  .wrapRailroadOutline .railroadOutline dt, .idxTyp01Lay a.layLink dd.typ4 dl.railroadOutline dt {
    margin: 10px 0 0;
    width: 40%;
    font-size: 0.9rem;
  }
  .wrapRailroadOutline .railroadOutline dd, .idxTyp01Lay a.layLink dd.typ4 dl.railroadOutline dd {
    margin: 13px 0 0;
    width: 55%;
  }
}
/*ハイキング　特徴アイコン*/
.wrapRailroadIcon {
  display: flex;
  flex-wrap: wrap;
  margin: -4px -4px 0;
}
.wrapRailroadIcon .railroadIcon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 4px;
  width: 158px;
  padding: 3px 2px;
  text-align: center;
  font-size: 0.9rem;
  color: #ffffff;
  border-radius: 6px;
}
.idxTyp01Lay a.layLink dd.typ5 .wrapRailroadIcon {
  justify-content: space-between;
  margin: 0;
}
.idxTyp01Lay a.layLink dd.typ5 .wrapRailroadIcon .railroadIcon {
  /*  margin: 4px 1%;*/
  margin: 4px 0;
  width: 48.5%;
  padding: 2px 4px;
  font-size: 0.8rem;
}
.railroadIcon.rc1 {
  background: #b466c0;
}
.railroadIcon.rc2 {
  background: #31a1cb;
}
.railroadIcon.rc3 {
  background: #f97491;
}
.railroadIcon.rc4 {
  background: #f14440;
}
.railroadIcon.rc5 {
  background: #74af50;
}
.railroadIcon.rc6 {
  background: #dc773d;
}
.railroadIcon.rc7 {
  background: #8b6038;
}
.railroadIcon.rc8 {
  background: #299ea5;
}
@media screen and (max-width:991px) {
  .wrapRailroadIcon {
    justify-content: space-between;
    margin: 0;
  }
  .wrapRailroadIcon .railroadIcon {
    margin: 4px 0;
    width: 48.5%;
    padding: 2px 4px;
    font-size: 0.8rem;
  }
}
/*ハイキング　アイコンの説明*/
.railroadIconNotes {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.railroadIconNotes + .railroadIconNotes {
  margin-top: 20px;
  border-top: 2px dotted #d4d4d4;
  padding-top: 20px;
}
.railroadIconNotes .railroadIcon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  width: 200px;
  padding: 2px;
  color: #ffffff;
  border-radius: 6px;
}
.railroadIconNotes .railroadIconDescription {
  width: 850px;
}
@media screen and (max-width:991px) {
  .railroadIconNotes {
    flex-direction: column;
  }
  .railroadIconNotes .railroadIconDescription {
    margin: 10px 0 0;
    width: 100%;
  }
}
/*ハイキング　難易度*/
table.railroadDifficulty {
  border: 1px solid #9a9a9a;
}
table.railroadDifficulty th {
  padding: 10px 20px;
  font-weight: normal;
  vertical-align: middle;
  color: #ffc600;
  background: #f8f8f8;
  border-bottom: 1px solid #9a9a9a;
}
table.railroadDifficulty td {
  padding: 10px 20px;
  vertical-align: middle;
  background: #ffffff;
  border-left: 1px solid #9a9a9a;
  border-bottom: 1px solid #9a9a9a;
}
@media screen and (max-width:991px) {
  table.railroadDifficulty {
    border: none;
  }
  table.railroadDifficulty, table.railroadDifficulty tr, table.railroadDifficulty th, table.railroadDifficulty td {
    display: block;
  }
  table.railroadDifficulty th, table.railroadDifficulty td {
    padding: 10px;
    border: none;
  }
  table.railroadDifficulty th {
    border-bottom: 1px solid #9a9a9a;
  }
}
/*ハイキング　詳細*/
.layIntroHikingTyp01 {
  display: flex;
  justify-content: space-between;
}
.layIntroHikingTyp01 .layImg {
  width: 550px;
}
.layIntroHikingTyp01 .layImg img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.layIntroHikingTyp01 .layAbout {
  width: 490px;
}
.layIntroHikingTyp01 + .blockTemplateArea {
  margin-top: 60px;
}
@media screen and (max-width:991px) {
  .layIntroHikingTyp01 {
    display: block;
  }
  .layIntroHikingTyp01 .layImg {
    width: 100%;
  }
  .layIntroHikingTyp01 .layAbout {
    margin-top: 20px;
    width: 100%;
  }
  .layIntroHikingTyp01 + .blockTemplateArea {
    margin-top: 40px;
  }
}
/*ハイキング詳細　写真下　ミュースターポイント端末設置コース*/
.railroadMustar {
  position: relative;
  margin-top: 20px;
  min-height: 25px;
  padding: 0 0 0 35px;
}
.railroadMustar:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 25px;
  height: 25px;
  background: url("/img/ico_mustarpoint_01.svg") no-repeat 50% 50% / auto 25px;
}
#wrapContents .railroadMustar p {
  font-size: 0.9rem;
}
/*-------------------------------*/
/*/hiking/pilgrimage/*/
.layTyp01 .headTyp03:last-child {
  margin-bottom: 0;
}
/*-------------------------------*/
/*発売箇所⼀覧*/
.planSellingIdx {
  margin: 40px 0;
}
.planSellingIdx .planSellingIdxItem:nth-child(2n-1) {
  background: #f8f8f8;
}
.planSellingIdxItem {
  display: flex;
  justify-content: space-between;
}
.planSellingIdxItem .layLink {
  display: flex;
  align-items: center;
  width: 510px;
  padding: 25px;
  text-decoration: none;
}
.planSellingIdxItem .layLink:hover {
  text-decoration: underline;
}
.planSellingIdxItem .layTxt {
  width: 415px;
  margin-left: 15px;
}
.planSellingIdxItem .layLink img.stNum {
  display: block;
  width: 40px;
  height: 40px;
}
.planSellingIdxItem .layLink img.stNum {
  transition: opacity 0.3s ease-out;
}
.planSellingIdxItem .layLink:hover img.stNum {
  filter: alpha(opacity=70);
  -moz-opacity: .70;
  opacity: .70;
}
.planSellingIdxItem .linkIconTyp01 {
  display: block;
  width: 40px;
  height: 40px;
  padding: 0;
}
.planSellingIdxItem .linkIconTyp01:after {
  top: 50%;
  left: 35px;
}
.planSellingIdxItem .sellingService {
  display: flex;
  justify-content: space-between;
  width: 585px;
}
.planSellingIdxItem .sellingServiceItemLay {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 195px;
  padding: 20px 0;
  border-left: 1px solid #e6e6e6;
}
.sellingServiceItemLay .bgImg {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 40px;
  font-size: 0.85rem;
  color: #a0a0a0;
  text-decoration: none;
  background: no-repeat 50% 0 / 60px 35px;
}
.sellingServiceItemLay.on .bgImg {
  color: #676767;
  font-weight: 500;
}
.sellingServiceItem01 .bgImg {
  background-image: url(/img/plan_ico_01.svg);
}
.sellingServiceItem03 .bgImg {
  background-image: url(/img/plan_ico_03.svg);
}
.sellingServiceItem04 .bgImg {
  background-image: url(/img/plan_ico_04.svg);
}
.sellingServiceItem01.on .bgImg {
  background-image: url(/img/plan_ico_01_on.svg);
}
.sellingServiceItem02.on .bgImg {
  background-image: url(/img/plan_ico_02_on.svg);
}
.sellingServiceItem03.on .bgImg {
  background-image: url(/img/plan_ico_03_on.svg);
}
.sellingServiceItem04.on .bgImg {
  background-image: url(/img/plan_ico_04_on.svg);
}
.sellingServiceItem05.on .bgImg {
  background-image: url(/img/plan_ico_05_on.svg);
}
.sellingServiceItemLay .sellingStatus {
  display: flex;
  justify-content: center;
  margin-left: 25px;
  height: 35px;
}
@media screen and (max-width:991px) {
  .planSellingIdx {
    margin: 30px -20px;
  }
  .planSellingIdxItem {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
  }
  .planSellingIdxItem .layLink {
    width: 100%;
    padding: 0;
  }
  .planSellingIdxItem .layLink img.stNum {
    width: 35px;
    height: 35px;
  }
  .planSellingIdxItem .layTxt {
    display: block;
    margin-left: 10px;
    width: 100%;
  }
  .planSellingIdxItem .linkIconTyp01 {
    width: 0;
    height: 0;
  }
  .planSellingIdxItem .linkIconTyp01:after {
    left: 0;
  }
  .planSellingIdxItem .sellingService {
    width: auto;
    min-width: 350px;
    padding: 15px 10px 0;
  }
  .planSellingIdxItem .sellingServiceItemLay {
    flex-direction: column;
    justify-content: flex-start;
    width: 33.33333333%;
    padding: 0;
    border-left: none;
  }
  .sellingServiceItemLay .sellingStatus {
    justify-content: center;
    margin: 10px 0 0;
  }
}
@media screen and (max-width:374px) {
  .planSellingIdxItem .sellingService {
    width: 100%;
    min-width: inherit;
    padding: 15px 0 0;
  }
  .sellingServiceItemLay .bgImg {
    font-size: 3.5vw;
  }
}
.wrapPlanSellingNote {
  margin: 80px 0 0;
  border: 4px solid #efefef;
  padding: 35px;
}
.wrapPlanSellingNote .sellingService {
  display: flex;
  justify-content: center;
}
.wrapPlanSellingNote .sellingService .sellingServiceItemLay {
  margin: 0 20px;
}
.sellingServiceItemLay .bgImg {
  text-align: center;
}
.wrapPlanSellingNote .sellingService + p {
  margin: 20px 0 0;
  text-align: center;
}
@media screen and (max-width:991px) {
  .wrapPlanSellingNote {
    margin: 40px 0 0;
    padding: 20px;
  }
  .wrapPlanSellingNote .sellingService .sellingServiceItemLay {
    margin: 0 15px;
  }
}
@media screen and (max-width:991px) {
  .adjSpOrderHikingNav {
    display: flex;
    flex-direction: column-reverse;
  }
}
/*end*/