@charset "UTF-8";

/* ================================================================

制作コンテンツ

info:
- レスポンシブの場合は、ブレイクポイント 768px で記述してください。
- SP用CSSを先に記述する方法を推奨します。下記の記述は例です。
- PCのみの場合は、記述を削除してください。

================================================================ */

/* SP用CSSの記述 */

/* ////////////////////////////////////
	common
//////////////////////////////////// */

.container {
  font-family: "Noto Sans JP", "Helvetica", "Helvetica Neue", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  position: relative;
  z-index: 0;
}
.container .inner {
  width: 990px;
  margin: 0 auto;
  padding: 0 7px;
}

.c-text {
  background: #fff;
  padding: 0.7em 1em;
}
.c-text-inner {
  max-width: 990px;
  margin: 0 auto;
  font-size: 0.85em;
  font-weight: bold;
  color: #f91f1f;
}
.c-text-inner a {
  color: #f91f1f;
  text-decoration: underline;
}

.dot-lead {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial",
    "Yu Gothic", "Meiryo", sans-serif;
}

/* ////////////////////////////////////
	slider
//////////////////////////////////// */

.bx-wrapper {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  background: #fff;
  flex: 0 1 49%;
  margin-bottom: 0;
}

/* ////////////////////////////////////
	header
//////////////////////////////////// */

header {
  padding: 15px 0;
  background: #262e48;
}
header h1 {
  max-width: 150px;
  height: auto;
  margin: 0 auto;
}
header h1 img {
  width: 100%;
}

/* ////////////////////////////////////
	.contents-top
//////////////////////////////////// */

.contents-top {
  position: relative;
  z-index: 1;
  padding-bottom: 80px;
}

.container:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 1370px;
  background: url("../images/bg-top-right.png") no-repeat top center;
  background-size: contain;
  z-index: 0;
}

.container:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1401px;
  background: url("../images/bg-bottom-left.png") no-repeat bottom center;
  background-size: contain;
  z-index: 0;
}

.contents-top::after {
  content: "";
  position: absolute;
  top: 3%;
  left: 0;
  right: 0;
  width: 100%;
  height: 56vw;
  min-height: 1100px;
  background: url("../images/content-top-ilu.png") no-repeat top center;
  z-index: 1;
}

/*
	.top-main
------------------------------------ */

.top-main {
  padding: 100px 0 0;
  position: relative;
}

.top-main h1 {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.top-main h1 img {
  height: 140px;
  display: block;
  margin: 0 auto;
}

.top-main .top-main-read {
  max-width: 750px;
  margin: 40px auto 0;
  color: #8d7841;
  border-top: 3px double #8d7841;
  border-bottom: 3px double #8d7841;
  padding: 20px 15px;
  line-height: 1.7;
  font-size: 17px;
  text-align: center;
}

/*
	.type-wrap
------------------------------------ */

.type-wrap {
  /* margin-top: 80px; */
  box-shadow: 0px 5px 9px -6px #a1a1a1;
}
.type-list {
  display: flex;
  flex-wrap: wrap;
}
.type-list-item {
  flex: 0 1 50%;
  height: 275px;
  position: relative;
  cursor: pointer;
}
.type-list-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  z-index: 0;
  transition: opacity 0.3s;
}
.type-list-item.active:before {
  opacity: 0.5;
}
.type-list-item:hover:before {
  opacity: 0.5;
}
.type-list-item:hover .type-list-cate {
  background: #fff;
}

.type-list-item.item-1 {
  background: url("../images/type-bg-1.jpg") no-repeat center;
  background-size: cover;
}
.type-list-item.item-2 {
  background: url("../images/type-bg-2.jpg") no-repeat center;
  background-size: cover;
}
.type-list-item.item-3 {
  background: url("../images/type-bg-3.jpg") no-repeat center;
  background-size: cover;
}
.type-list-item.item-4 {
  background: url("../images/type-bg-4.jpg") no-repeat center;
  background-size: cover;
}
.type-list-cate {
  background: #641611;
  width: 60px;
  height: 60px;
  box-sizing: border-box;
  padding: 13px;
  position: relative;
  z-index: 1;
  transition: background 0.3s;
}
.type-list-item.item-1 .type-list-cate {
  background: url("../images/type-cate-1-off.png") no-repeat center, #641611;
  background-size: 55%;
}
.type-list-item.item-2 .type-list-cate {
  background: url("../images/type-cate-2-off.png") no-repeat center, #641611;
  background-size: 55%;
}
.type-list-item.item-3 .type-list-cate {
  background: url("../images/type-cate-3-off.png") no-repeat center, #641611;
  background-size: 55%;
}
.type-list-item.item-4 .type-list-cate {
  background: url("../images/type-cate-4-off.png") no-repeat center, #641611;
  background-size: 55%;
}

.type-list-item.item-1:hover .type-list-cate,
.type-list-item.item-1.active .type-list-cate {
  background: url("../images/type-cate-1-on.png") no-repeat center, #fff;
  background-size: 55%;
}
.type-list-item.item-2:hover .type-list-cate,
.type-list-item.item-2.active .type-list-cate {
  background: url("../images/type-cate-2-on.png") no-repeat center, #fff;
  background-size: 55%;
}
.type-list-item.item-3:hover .type-list-cate,
.type-list-item.item-3.active .type-list-cate {
  background: url("../images/type-cate-3-on.png") no-repeat center, #fff;
  background-size: 55%;
}
.type-list-item.item-4:hover .type-list-cate,
.type-list-item.item-4.active .type-list-cate {
  background: url("../images/type-cate-4-on.png") no-repeat center, #fff;
  background-size: 55%;
}

.type-box-item {
  display: none;
  background: url("../images/type-box-bg.jpg") no-repeat right bottom, #f7f2e5;
}
.type-box-item.active {
  display: block;
}
.type-box-inner {
  padding: 45px 120px 50px;
  margin: 0 auto;
  position: relative;
}
.type-box-inner h3 {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN",
    "Yu Mincho", "MS PMincho", serif;
  color: #8d7841;
  text-align: center;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.5;
}
.type-box-line {
  display: block;
  height: 1px;
  background: #8d7841;
  margin: 20px 0 25px;
  position: relative;
}
.type-box-line:before {
  content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8d7841;
}
.type-box-line:after {
  content: "";
  position: absolute;
  top: -3px;
  right: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8d7841;
}
.type-box-inner p {
  font-size: 16px;
  line-height: 1.9;
}
.type-box-inner > small {
  position: absolute;
  right: 25px;
  bottom: 15px;
  max-width: 780px;
}

.type-box-item.item-1 .type-box-inner {
  background: url("../images/type-cate-1.png") no-repeat left 30px top 20px;
  background-size: 100px auto;
}
.type-box-item.item-2 .type-box-inner {
  background: url("../images/type-cate-2.png") no-repeat left 30px top 20px;
  background-size: 100px auto;
}
.type-box-item.item-3 .type-box-inner {
  background: url("../images/type-cate-3.png") no-repeat left 30px top 20px;
  background-size: 100px auto;
}
.type-box-item.item-4 .type-box-inner {
  background: url("../images/type-cate-4.png") no-repeat left 30px top 20px;
  background-size: 100px auto;
}

/* ////////////////////////////////////
	.coupon-wrap
//////////////////////////////////// */

.coupon-wrap a {
  width: 100%;
  max-width: 752px;
  background: #e0e0e0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 60px auto 0;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  border: 1px solid #bebebe;
  transition: opacity 0.3s;
}
.coupon-wrap a:hover {
  opacity: 0.7;
}

/* ////////////////////////////////////
	.contents-hotel
//////////////////////////////////// */

.contents-hotel {
  padding: 60px 0 80px 0;
  background: #f7f5f1;
}

.contents-hotel .inner {
  background: #f7f5f1;
}

.hotel-title {
  text-align: center;
}
.hotel-title img {
  height: 70px;
}
.hotel-title.title-1 img {
  height: 30px;
}
.hotel-title.title-2 {
  margin-top: 80px;
}

.hotel-item figure img {
  width: 100%;
}

/* .hotel-item > figure.a_left::before{
	content: "";
    position: absolute;
    top: -30px;
    left: -20px;
    right: -25px;
    background: url(../images/ashirai-1.png);
    background-size: cover;
    height: 60px;
}
.hotel-item > figure.a_right::before{
	content: "";
    position: absolute;
    top: -28px;
    left: -17px;
    right: -20px;
    background: url(../images/ashirai-2.png);
    background-size: cover;
    height: 58px;
}
.hotel-item > figure.left::before{
	content: "";
    position: absolute;
    top: -35px;
    left: -20px;
    right: -20px;
    background: url(../images/ashirai-1.png);
    background-size: cover;
    height: 80px;
} */

.hotel-box {
  display: flex;
  justify-content: space-between;
}
.hotel-item {
  flex: 0 1 47.5%;
  margin-top: 60px;
}
.hotel-item .read {
  text-align: center;
  color: #9c0f06;
  font-weight: bold;
  font-size: 17px;
  line-height: 1.75;
}
.hotel-item > figure {
  margin-top: 15px;
  position: relative;
}
.hotel-item > figure figcaption {
  padding-left: 10px;
  padding-top: 10px;
  max-width: 240px;
  margin-bottom: -10px;
}
.hotel-item > figure span {
  position: absolute;
  bottom: 10px;
  left: 10px;
  width: 260px;
}
.hotel-item .name {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN",
    "Yu Mincho", "MS PMincho", serif;
  font-size: 20px;
  font-weight: bold;
  margin-top: 30px;
  text-align: center;
  position: relative;
}

.valu-box {
  position: relative;
}

.hotel-item .text {
  line-height: 1.7;
  margin-top: 10px;
  font-size: 14.3px;
  text-align: justify;
}
.hotel-item .text .caution {
  color: red;
  text-align: right;
}
.hotel-item .sub-figure {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

/* .hotel-item .sub-figure-4 {
	margin-top: 54px;
} */

.hotel-item .sub-figure figure {
  flex: 0 1 49%;
}
.hotel-item .sub-figure.figure-landscape figure:nth-child(1) {
  flex: 0 1 33.5%;
}
.hotel-item .sub-figure.figure-landscape figure:nth-child(2) {
  margin-left: 10px;
  flex: 0 1 64%;
}
.hotel-item .sub-figure-cap {
  font-size: 14px;
  line-height: 1.7;
  margin-top: 10px;
  text-align: justify;
}
.hotel-item .sub-figure-cap .sub-attn {
  text-align: right;
  font-size: 11.5px;
}

.hotel-item .sub-figure-cap .sub-attn-smaller {
  font-size: 11px;
}
.hotel-item .valu-box {
  background: #f5eddb;
  border: 1px solid #dfc385;
  margin-top: 20px;
  padding: 20px;
}
/* .hotel-item .valu-box-1 {
	margin-top: 39px;
} */
.hotel-item .valu-box img {
  width: 16px;
  height: auto;
}
.hotel-item .valu-box .top {
  font-size: 18px;
  font-weight: bold;
}
.hotel-item .valu-box .top .point {
  display: inline-block;
  color: #c10;
  padding-left: 15px;
}
.hotel-item .valu-box .point-list {
  /* display: flex; */
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 10px;
}
.hotel-item .valu-box .point-list li {
  flex: 0 1 49%;
  display: flex;
  margin-top: 10px;
}

/* .hotel-item .valu-box .point-list li .cate{
	
} */
.hotel-item .valu-box .point-list li .cate.cate-s {
  flex: 0 1 32%;
}
.hotel-item .valu-box .point-list li .point {
  display: inline-block;
  padding: 0 0.5em;
  font-weight: bold;
  color: #c10;
}
.hotel-item .btn a {
  display: block;
  background: #631611;
  border: 1px solid #631611;
  text-align: center;
  color: #fff;
  line-height: 1;
  padding: 0.9em 0;
  font-size: 17px;
  font-weight: bold;
  margin-top: 30px;
  transition: all 0.3s;
}
.hotel-item .btn a:hover {
  color: #631611;
  background: none;
}
.hotel-item .valu-box .date {
  display: block;
  text-align: right;
  font-size: 0.8em;
}

/* ////////////////////////////////////
	.contents-map
//////////////////////////////////// */

.contents-map {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial",
    "Yu Gothic", "Meiryo", sans-serif !important;
}

/* ////////////////////////////////////
	.new-map
//////////////////////////////////// */

.new-map {
  width: 770px;
  margin: 50px auto 100px;
  padding: 0 100px;
  position: relative;
  z-index: 2;
}

.new-map svg {
  width: 100%;
  height: 100%;
}

.new-map svg g path.show-map {
  cursor: pointer;
}

.new-map svg g > g:hover path.show-map {
  fill: #631611;
}

.new-map g > g path.map-text {
  fill: #7c6d3d;
  cursor: pointer;
}

.new-map g > g path.map-text.active-map {
  fill: white;
}

.new-map g > g:hover path.map-text {
  fill: white;
}

.new-map svg g .show-map:hover.map-text {
  fill: white;
}

.new-map .map-click {
  position: absolute;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN",
    "Yu Mincho", "MS PMincho", serif;
  left: 0;
  top: 25px;
  padding: 15px;
  border: solid 1px #7c6d3d;
  border-radius: 5px;
  color: #7c6d3d;
  text-align: center;
  font-weight: 700;
}

.new-map .map-pin-note {
  position: absolute;
  bottom: -10px;
  right: -80px;
  /* background: rgba(255, 255, 255, 0.5);
	padding: 5px 0 5px 5px; */
}

.new-map .map-pin-note span {
  margin-right: 10px;
}

.new-map .map-click {
  position: absolute;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN",
    "Yu Mincho", "MS PMincho", serif;
  left: 0;
  top: 25px;
  padding: 15px;
  border: solid 1px #7c6d3d;
  border-radius: 5px;
  color: #7c6d3d;
  text-align: center;
  font-weight: 700;
}

.new-map .map-pin {
  position: absolute;
  cursor: pointer;
  display: inline-block;
}

.new-map .map-pin span.map-pin-text {
  visibility: hidden;
  width: 150px;
  position: absolute;
  left: -12px;
  bottom: -30px;
  color: white;
  border-radius: 3px;
  padding: 0.3em 0.5em;
  background: #631611;
  border: 1px solid #631611;
  z-index: 98;
}

.new-map .map-pin span.map-pin-text::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 7px 8px;
  border-color: transparent transparent #631611 transparent;
  top: -6px;
  left: 16.5px;
  z-index: 98;
}

.new-map .map-pin span.map-pin-text:hover::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 9px 6px 7px;
  border-color: transparent transparent white transparent;
  top: -5px;
  left: 18px;
  z-index: 99;
}

.new-map .map-pin span.map-pin-text:hover {
  background: white;
  color: #631611;
}

.new-map .map-pin:hover span.map-pin-text {
  visibility: visible;
  text-align: center;
  transition: all 300ms ease-in-out;
}

.new-map .map-pin:hover a img {
  transform: translateY(-10px);
  transition: all 300ms ease-in-out;
}

.new-map #map-pin-1 {
  right: 282px;
  bottom: 226px;
}
.new-map #map-pin-1 span.map-pin-text {
  width: 215px;
}

.new-map .map-pin span.map-pin-text-1 {
  bottom: 37px !important;
}

.new-map .map-pin span.map-pin-text-1::before {
  top: 33px !important;
  transform: scaleY(-1);
}

.new-map .map-pin span.map-pin-text-1:hover::after {
  top: 33px !important;
  left: 17.5px;
  transform: scaleY(-1);
}

.new-map #map-pin-2 {
  bottom: 157px;
  right: 344px;
}
.new-map #map-pin-2 span.map-pin-text {
  width: 230px;
}

.new-map #map-pin-3 {
  bottom: 158px;
  right: 262px;
}

.new-map #map-pin-3 span.map-pin-text {
  width: 210px;
}

.new-map #map-pin-4 {
  bottom: 180px;
  right: 383px;
}
.new-map #map-pin-4 span.map-pin-text {
  width: 170px;
}

.new-map .map-tab {
  position: absolute;
  top: 0;
  left: -200px;
  background: #fff5e4;
  padding: 0 15px 15px;
  border: solid 1px #631611;
  border-radius: 10px;
  min-width: 488px;
  z-index: 99;
}

.hidden-map {
  display: none;
}

path.active-map {
  fill: #631611;
}

.new-map .map-tab span {
  font-size: 24px;
  color: #631611;
  position: absolute;
  top: -45px;
  left: 26px;
  font-weight: 600;
}
.new-map .map-tab em {
  font-size: 11.5px;
  font-style: normal;
  font-weight: bold;
  color: #cc1a1c;
  display: block;
  padding: 0 0 0 0;
}
.new-map .map-tab .new-hotel em {
  font-size: 11.5px;
  font-style: normal;
  font-weight: bold;
  color: #cc1a1c;
  display: block;
  padding: 0 0 0 0;
}
.new-map .map-tab .new-hotel a {
  border: double 3px #ff442a;
  background: #fd7627;
  font-weight: bold;
}
.new-map .map-tab .new-hotel a:hover {
  color: #fd7627;
  background-color: white;
}

.new-map .map-tab table {
  width: 100%;
}

.new-map .map-tab table td {
  margin-right: 20px;
  padding: 5px;
  min-width: 225px;
  /* text-align: center; */
}

.new-map .map-tab table td p {
  display: inline-block;
  color: white;
  text-align: center;
  background-color: #9c0f06;
  font-size: 14px;
  padding: 5px 10px;
  width: 100%;
  border-radius: 8px;
  border: solid 1px #9c0f06;
}

.new-map .map-tab table th {
  text-align: left;
  padding-top: 10px;
}

.new-map #map_tab_5.map-tab table td a {
  width: 225px;
}
.new-map #map_tab_7.map-tab table td a {
  width: 225px;
}
.new-map #map_tab_8.map-tab table td a {
  width: 225px;
}
.new-map #map_tab_6.map-tab table td a {
  width: 225px;
}

.new-map .map-tab table td a {
  display: inline-block;
  color: white;
  text-align: center;
  background-color: #9c0f06;
  font-size: 14px;
  padding: 5px 10px;
  width: 100%;
  border-radius: 8px;
  border: solid 1px #9c0f06;
}

.new-map .map-tab table td a:hover {
  display: inline-block;
  color: #9c0f06;
  background-color: white;
}

.lh{
  line-height: 1.85 !important;
}

@media screen and (max-width: 1600px) {
  .contents-top::after {
    background-size: 100vw;
  }
}

/* PC、Tablet用CSSの記述 */
@media screen and (max-width: 1024px) {
  .new-map {
    width: 800px;
  }

  .new-map #map-pin-2 {
    bottom: 190px;
    left: 385px;
  }

  .new-map .map-tab {
    left: -100px !important;
  }

  .container .inner {
    background: rgb(255, 255, 255, 0);
  }

  .contents-top::after {
    background-size: contain !important;
  }

  .container:after {
    top: 37px;
  }

  /* ontents-top::after {
    background: url("../images/content-top-ilu.png") no-repeat top center;
  }.c */
}
