@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=LINE+Seed+JP:wght@400;700;800&display=swap');

/*PCSP共通設定*/
/*section:nth-of-type(odd){background-color:#f0f0f0;}
section:nth-of-type(even){background-color:#fff;}*/
html {scroll-behavior: smooth;}/*smooth scroll*/

article{
 width: 100%;
 font-family: "LINE Seed JP", sans-serif;
 font-weight: 400;
 font-size: 16px;
 line-height: 1.4;
 color: #000;
 background: url("../images/bg_content.jpg");
 background-attachment: fixed;
 background-size: cover;
 background-position: center;
}
.active{
  opacity: 1;
}
a{
  transition: .3s;
}
a:link,
a:visited{
  color: #0952a4;
}
a:hover{
  opacity: 0.7;
}
strong {
    font-weight: 600;
}
*, *:before, *:after {
	box-sizing: border-box;
}

/*注意事項*/
ul.guideList {
}

ul.guideList li {
	padding-bottom: .5em;
	text-indent: -1em;
  margin-left: 1em;
  text-align: left;
}

ul.guideList li:last-child {
	padding-bottom: 0;
}

ul.guideList li:before {
	content: '◆';
}

ul.guideList li.kome:before {
	content: '※';
}

/*759px以下*/
@media screen and (max-width: 759.9px) {
#wrapper {line-height: 1.4;}
.spnone{display:none;}

/* CSS */
#dirPathBlock {
	overflow-x: scroll;
	overflow-y: hidden;
}

#dirPathBlock,
#anchorLinkBlock {margin: 0 1%;}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
#dirPathBlock p {width: max-content;}

h1 {
	font-size: 12px;
	margin: 0 1% 1%;
}

h2 {
  position: relative;
  padding-bottom: .5em;
  margin-bottom: 1em;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}

h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background: #F00;
  border-radius: 3px;
}

.inner{
	width: 94%;
	margin: 0 3%;
	padding: 3em 0;
}

.content {
  width: 100%;
  padding: 1em 1em 3em 1em;
  background: #FFF;
  border-radius: 10px;
}   

/*title*/
.title {
	width: 100%;
	text-align: center;
}

.title img {
    width: 100%;
}

/*navigation*/
.topNavi { width: 94%; margin: 1em 3% 0; text-align: center; }

.topNavi ul { display: flex; flex-direction: row; flex-wrap: wrap; padding: 0; margin: 0; list-style: none; gap: 0.4em; /* アイテム間の隙間（任意） */ }

.topNavi ul li {
  box-sizing: border-box;
  flex: 0 0 32.111%;
  max-width: 32.111%;
  list-style: none;
  padding: 0; /* パディングは a に移す */
}

.topNavi ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 5px;
  color: #fff;
  line-height: 1.4;
  text-decoration: none;
  border-radius: 8px;
  background: linear-gradient(135deg, #ff3000 0%, #e30000 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: all 0.3s ease-out;
  font-size: 14px;
  position: relative;
}

/* 矢印を a の疑似要素で生成 */
.topNavi ul li a::after {
  content: '';
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  transform: translateY(-50%) rotate(-135deg);
  position: absolute;
  top: 50%;
  left: 14px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

/*キャンペーンのご案内*/
dl.unit  {
  width: 100%;
	padding: 1px 0;
}

dl.unit dt {
	width: 100%;
	padding: .4em .8em;
  color: #FFF;
  background: #009A22;
}

dl.unit dd {
  width: 100%;
  padding: .4em .8em;
  background: #FFF;
}

/*カルーセル*/
.slide-wrap {
  width: 100%;
  margin: 3% auto 0;
  display: flex;
  overflow-x: auto; /* スクロールを自動に変更 */
}

.slide-box3row {
  flex: 0 0 80%;
  margin-right: 3%;
  padding-bottom: .5rem;
}

.slide-box3row .area dt img {
  width: 100%;
}

.area {

}

.area dt img {
  border-radius: 10px;
}

.area dd {
  margin-top: .5em;
}

.area dd p {
  text-align: center;
  font-size: 18px;
}

.area dd.detail {
  padding-bottom: .5em;
  border-bottom: 1px dashed #000;
}

.area .info {
  text-align: center;
  color: #FFF;
  background: #333;
  padding: .1em .3em .2em;
  margin-right: .3em;
}

/*アコーディオン*/
.accordion-001 {
    max-width: 100%;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em;
    border-radius: 5px;
    background-color: #009A22;
    color: #fff;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 10px;
    height: 10px;
    margin-left: 14px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0 auto;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}

.hotelList2 > div,
.hotelList3 > div {
    width: 94%;
    margin: .5em auto;
}

/*list横並び*/
.itemList2 > div,
.itemList3 > div,
.itemList4 > div {
    width: 100%;
    margin-top: .5em;
}

/*ボタン*/
.Btn a {
    background: #009a22;
    border-radius: 9999px;
    position: relative;
    display: flex;
    /*justify-content: space-around; ←rubyタグ入れるとずれる*/
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
    padding: 10px 25px;
    color: #FFF;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

.Btn_gray {
    background: #333;
    border-radius: 9999px;
    position: relative;
    display: flex;
    /*justify-content: space-around; ←rubyタグ入れるとずれる*/
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 10px 25px;
    color: #FFF;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.Btn a:after,
.Btn_gray:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

}




/*760px以上*/
@media screen and (min-width: 760px),print {
#wrapper {line-height: 1.231;}
.pcnone{display:none;}

/* CSS */
#dirPathBlock,
.iframe_end-content_gadget,
#anchorLinkBlock{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto;
}

#dirPathBlock,
#anchorLinkBlock {
	width: 100%;
	margin: 0 auto;
	display: block;
	font-size: 12px;
}

#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}

h1 {
	font-size: 12px;
    width: 100%;
	max-width:1080px;
	min-width:760px;
    margin: 0 auto 5px;
}

h2 {
  position: relative;
  padding-bottom: .5em;
  margin-bottom: 1em;
  font-size: 30px;
  font-weight: 600;
  text-align: center;
}

h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 6px;
  background: #F00;
  border-radius: 3px;
}

.inner{
	width: 100%;
    max-width: 1080px;
	margin: auto;
	padding: 3em 0;
}

.content {
  width: 100%;
  max-width: 1080px;
  padding: 2em;
  background: #FFF;
  border-radius: 10px;
}    

/*title*/
.title {
	width: 100%;
	text-align: center;
}

.title img {
    width: 100%;
    max-width: 1080px;
    margin-top: 2em;
}

/*navigation*/
.topNavi {
	width: 100%;
	text-align: center;
}

.topNavi ul {
	width: 1080px;
	margin: 0 auto 1em;
	padding-top: 1em;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
    gap: 0.5em; /* アイテム間の隙間（任意） */
}

.topNavi ul li {
  box-sizing: border-box;
  flex: 0 0 354px;
  max-width: 354px;
  list-style: none;
  padding: 0; /* パディングは a に移す */
}

.topNavi ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  color: #fff;
  text-decoration: none;
  line-height: 1.4;
  border-radius: 9999px;
  background: linear-gradient(135deg, #ff3000 0%, #e30000 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: all 0.3s ease-out;
  font-size: 18px;
  position: relative;
}

.topNavi ul li a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-left: 3px solid #fff;
  transform: translateY(-50%) rotate(-135deg);
  position: absolute;
  top: 50%;
  left: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

/*キャンペーンのご案内*/
dl.unit {
  width: 100%;
	padding: 1px 0;
  margin: 0 auto;
  display: table;
}

dl.unit dt {
	width: 20%;
  padding: .5em 1em;
  display: table-cell;
  color: #FFF;
  background: #009A22;
}

dl.unit dd {
  width: 80%;
  padding: .5em 1em;
  background: #FFF;
  display: table-cell;
}

/*カルーセル*/
.slide-wrap {
  width: 100%;
  padding: 0;
  margin-top: .5em;
  display: flex;
  flex-wrap: wrap;
}

.slide-box3row {
  width: 33.33%;
  padding: .5em;
}

.slide-box3row:nth-child(4n) {
  margin-right: 0;
}

.slide-box3row:nth-child(-n+4) {
  margin-top: 0;
}

.slide-box3row .area dt img {
  width: 100%;
}

.area {
  margin-bottom: 1em;
}

.area dt img {
  border-radius: 10px;
}

.area dd {
  margin-top: .5em;
}

.area dd p {
  text-align: center;
  font-size: 18px;
}

.area dd.detail {
  padding-bottom: .5em;
  border-bottom: 1px dashed #000;
}

.area .info {
  text-align: center;
  color: #FFF;
  background: #333;
  padding: .1em .3em .2em;
  margin-right: .3em;
}

/*アコーディオン*/
.accordion-001 {
    max-width: 100%;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em;
    border-radius: 5px;
    background-color: #009A22;
    color: #fff;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 10px;
    height: 10px;
    margin-left: 14px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0 auto;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}

 .hotelList2,
 .hotelList3 {
  width: 94%;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;   /* 項目間の等間隔（任意の値に調整） */
  padding: 0;  /* コンテナ両端の内側余白をゼロにする */
  margin: .5em auto;
}

/* 2列 */
.hotelList2 > div {
  box-sizing: border-box;
  width: calc((100% - 1 * 20px) / 2); /* gap が 1 箇所なので (100% - gap) / 2 */
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.hotelList3 > div {
  box-sizing: border-box;
  width: calc((100% - 2 * 20px) / 3); /* gap が 2 箇所なので (100% - 2*gap) / 3 */
  display: flex;
  align-items: flex-start;
  gap: 10px;
}








/*list横並び*/
.itemList2,
.itemList3,
.itemList4 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;   /* 項目間の等間隔（任意の値に調整） */
  padding: 0;  /* コンテナ両端の内側余白をゼロにする */
  margin-top: .5em;
}

/* 2列 */
.itemList2 > div {
  box-sizing: border-box;
  width: calc((100% - 1 * 20px) / 2); /* gap が 1 箇所なので (100% - gap) / 2 */
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* 3列 */
.itemList3 > div {
  box-sizing: border-box;
  width: calc((100% - 2 * 20px) / 3); /* gap が 2 箇所なので (100% - 2*gap) / 3 */
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* 4列 */
.itemList4 > div {
  box-sizing: border-box;
  width: calc((100% - 3 * 20px) / 4); /* gap が 3 箇所なので (100% - 3*gap) / 4 */
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.itemList2 > div .Btn,
.itemList2 > div .Btn_gray {
  width: 100%;
}

/*ボタン*/
.Btn a {
    background: #009a22;
    border-radius: 9999px;
    position: relative;
    display: flex;
    /*justify-content: space-around; ←rubyタグ入れるとずれる*/
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
    padding: 10px 25px;
    color: #FFF;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

.Btn_gray {
    background: #333;
    border-radius: 9999px;
    position: relative;
    display: flex;
    /*justify-content: space-around; ←rubyタグ入れるとずれる*/
    justify-content: center;
    align-items: center;
    /*margin: 0 auto;*/
	margin: 1em auto 0;
    padding: 10px 25px;
    color: #FFF;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

.Btn a:after,
.Btn_gray:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}

}