@charset "UTF-8";
/* CSS Document */

html,
body {
	padding: 0;
	margin: 0;
    scroll-behavior: smooth;	
	
}
img {
	max-width: 100%;
	width: 100%;
	border:none;
}
ul,li {
	list-style: none;
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,p,a {
	margin: 0;
	padding: 0;
}
iframe {
	border: none;
	display: block;
	width: 100%;
	/*height: 100%;*/
	margin: 0;
	padding: 0;
	background: transparent;
}
.pcv {
	display: none;
}
.spv {
	display: block;
}
/* 01_北海道 */
.hokkaido1 {
	background: #d6ece4;
}
.hokkaido2 {
	background: #b1e0cf;
}
.hokkaido3 {
	background: #fcfbd1;
}
.hokkaido_border {
	border: 3px solid #82dac4;
}
/* 02_宮城 */
.miyagi1 {
	background: #F5EADA;
}
.miyagi2 {
	background: #F9DFB1;
}
.miyagi3 {
	background: #ffffff;
}
.miyagi4 {
	background: #B5A1DE;
}
.miyagi_border {
	border: 3px solid #F1BF93;
}
/* 03_新潟 */
.niigata1 {
	background: #DFDDE8;
}
.niigata2 {
	background: #C9C0E2;
}
.niigata3 {
	background: #E3DDF3;
}
.niigata4 {
	background: #CBFFFF;
}
.niigata_border {
	border: 3px solid #BBADDF;
}
/* 04_群馬 */
.gunma1 {
	background: #ECEBDE;
}
.gunma2 {
	background: #EAE6B2;
}
.gunma3 {
	background: #ffffff;
}
.gunma4 {
	background: #77D3B1;
}
.gunma_border {
	border: 3px solid #DDD109;
}
main .recommend.gunma2 .address .addr_box {
	padding: 2.5% 8%;
}
main .recommend.gunma2 .address .addr_box ul {
	justify-content: center;
}
main .recommend.gunma2 .address .addr_box ul li {
	width: 33%;
}
/* 05_東京 */
.tokyo1 {
	background: #ECEBDE;
}
.tokyo2 {
	background: #EAE6B2;
}
.tokyo3 {
	background: #ffffff;
}
.tokyo4 {
	background: #77D3B1;
}
.tokyo_border {
	border: 3px solid #E5DB2A;
}
/* 06_京都 */
.kyoto1 {
	background: #EAE2E6;
}
.kyoto2 {
	background: #E8D0DD;
}
.kyoto3 {
	background: #ffffff;
}
.kyoto4 {
	background: #F5B3D7;
}
.kyoto_border {
	border: 3px solid #F5B3D7;
}
main .recommend.kyoto2 .address .addr_box {
	padding: 2.5% 4%;
}
main .recommend.kyoto2 .address .addr_box ul {
	justify-content: center;
}
main .recommend.kyoto2 .address .addr_box ul li {
	width: 33%;
}
/* 07_島根 */
.shimane1 {
	background: #DFE4ED;
}
.shimane2 {
	background: #C4D5F3;
}
.shimane3 {
	background: #ffffff;
}
.shimane4 {
	background: #B5A1DE;
}
.shimane_border {
	border: 3px solid #A1BBED;
}
main .recommend.shimane2 .address .addr_box {
	padding: 2.5% 8%;
}
/* 08_四国 */
.shikoku1 {
	background: #F0EAE2;
}
.shikoku2 {
	background: #DCD2C8;
}
.shikoku3 {
	background: #ffffff;
}
.shikoku4 {
	background: #E9C192;
}
.shikoku_border {
	border: 3px solid #B99F7D;
}
/* 09_宮崎 */
.miyazaki1 {
	background: #EFE1E1;
}
.miyazaki2 {
	background: #F8F1C7;
}
.miyazaki3 {
	background: #ffffff;
}
.miyazaki4 {
	background: #C66B6B;
}
.miyazaki_border {
	border: 3px solid #CF6D6D;
}
main .recommend.miyazaki2 .btn2 span {
	top: 20%;
}

@media only screen and (min-width:769px ) {
	main .recommend.miyazaki2 .btn2 span {
		top: 16%;
	}
}

@media only screen and (min-width: 769px) {
	.pcv {
		display: block!important;
	}
	.spv {
		display: none;
	}
}

#lp_wrap {
	position: relative;
	line-height: 1.8;
	font-size: 14px;
	font-family: "Noto Sans JP", sans-serif;
    background-image: radial-gradient(rgba(161, 220, 252, 1), rgba(14, 156, 210, 1) 100%, rgba(16, 52, 194, 1));
	margin: 0 auto;
}
#contents {
	margin: 0 auto;
}
@media only screen and (min-width: 769px) {
	#contents {
		width: 878px;
		margin: 0 auto;
		/*margin-left: calc(100% - 950px);*/
	}
	
}



.banner_area {
	position: relative;
}
.banner_area .banner {
	line-height: 0;
}
.banner_area .freame {
	/*aspect-ratio: 375 / 324;*/
	aspect-ratio: 390 / 320;
}
.banner_area .freame iframe {
	width: 100%;
	height: 100%;
}
@media only screen and (min-width: 769px) {
/*	.banner_area {
		display: none;
	}*/
	.banner_area .freame {
		aspect-ratio: 878 / 195.5;
	}	
	
}



header {
	position: relative;
	background: #FFF;
	
}
header h1 {
	width: 16%;
	padding: 5%;
	line-height: 0;
}
@media only screen and (min-width: 769px) {
header {
	background: none;
}	
header h1 {
	margin: 0 auto;
}
}


main {

}

main .top {
	position: relative;
}
main .top .visual {
	position: relative;
}
main .top .img {
	position: relative;
	line-height: 0;
	padding-bottom: 20px;
}
main .top .title {
	position: absolute;
	bottom: 0;
	left: 2%;
	width: 96%;
	display: flex;
	flex-wrap: wrap;
}
main .top .title .face {
	width: 25%;
	height: 25%;
	overflow: hidden;
	border-radius: 100px;
	box-sizing: border-box;
	margin-top: auto;
	line-height: 0;
}
main .top .title .txt {
	width: 72%;
	margin-left: 3%;
	margin-bottom: 33px;
}
main .top .title .txt h2 {
	font-size: 18px;
	font-weight: 500;
	color: #FFF;
	line-height: 1.6;
}
main .top .title .txt h2 span {
	font-size: 12px;
	display: block;
	margin-top: 5px;
}
main .top .title .info {
	position: absolute;
	bottom: 0;
	right: 18%;
	font-size: 12px;
}
main .top .read {
	background: #FFF;
	box-sizing: border-box;
	padding: 5%;
	width: 90%;
	margin: 5% auto;
	text-align: center;
}
main .top .read p {
	font-size: 12px;
}
@media only screen and (min-width: 769px) {
	main .top .title .face {
		margin-top: 0%;
	}
	main .top .title .txt h2 {
		font-size: 32px;
	}
main .top .title .txt {
	width: 72%;
	margin-left: 3%;
	margin-bottom: 42px;
}	
	main .top .read p {
		font-size: 16px;
	}
	main .top .title .info {
		right: 12%;
	}
}
@media only screen and (max-width: 500px) {
	main .top .title .info {
		right: 24%;
	}
}



main .copy {
	text-align: center;
	margin: 10% auto;
}
main .copy a {
	font-size:18px;
	font-style: italic;
	text-align: center;
	color: #000;
	text-decoration: none;
	display: inline-block;
	padding:0 55px 0 5px;
	position: relative;
	font-weight: 500;
	box-sizing: border-box;
}
main .copy span {
	position: relative;
	z-index: 2
}
main .copy img {
	width: 40px;
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translate(0,-50%) rotate(-10deg);
	display: block;
	z-index: 2
}
main .copy a::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 15px;
	background: #FFF;
	transform: skewX(-20deg); 
}
@media only screen and (min-width: 769px) {
	main .copy {
		margin: 5% auto;
	}
	main .copy a {
		font-size:30px;
		padding:0 85px 0 5px;
	}
	main .copy img {
		width: 60px;
	}
}



main .head {
	position: relative;
	padding: 5% 0
}
main .head .inner {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
	border: 2px solid #FFF;
	border-radius: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	box-sizing: border-box;
	padding: 4%;
}
main .head .inner .img {
	width:28%;
}
main .head .inner .txt {
	width: 68%;
	margin-left: 4%;
}

main .head .inner .txt p {
	font-size: 10px;
	line-height: 1.6;
}
main .head .inner .txt p.name {
	font-size: 16px;
	display: block;
	font-weight: 500;
		
}

main .head .inner .txt .sb-wrap {
	width: 70%;
	display: flex;
	justify-content: space-between;
	margin: 8px 0;
}
main .head .inner .txt .sb {
	position: relative;
	background: #FFF;
	border-radius: 100px;
	padding: 2px 20px;
	box-sizing: border-box;
	width: 60%;
	max-width: 120px;
	border: 1.5px solid #000;
	line-height: 1.4;
	margin: 10px 0;
	display: block;
	font-size: 11px;
}
main .head .inner .txt .sb span {
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
}
@media only screen and (min-width: 769px) {
	main .head .inner .txt p {
		font-size: 14px;
	}
	
}

main .inner {
	max-width: 550px;
	margin: 0 auto;
	padding-bottom: 15px
}

main .recommend {
	position: relative;
	padding: 5% 0 0;
}
main .recommend .title1 {
	box-sizing: border-box;
	padding: 15% 10% 5%;
	position: relative;
	overflow: hidden;
}
main .recommend .title2 {
	box-sizing: border-box;
	padding: 5%;
	width: 55%;
	position: relative;
}
main .recommend .title3 {
	box-sizing: border-box;
	padding: 5% 6% 5%;
	position: relative;
}
main .recommend h3 {
	position: relative;
	z-index: 2;
	line-height: 0;
}
main .recommend .icon1 {
	position: absolute;
	top: 1%;
	left: 1%;
	width: 40%;
}
main .recommend .photo {
	width:100%;
	margin: 0 auto;
}
main .recommend .data {
	width: 90%;
	margin: 0 auto 10%;
}
main .recommend .data h4 {
	font-size: 20px;
	font-weight: 500;
	background: #FFF;
	padding: 4px;
	box-sizing: border-box;
	display: inline-block;
	letter-spacing: 1px;
	line-height: 1.6;
}
main .recommend .data p {
	margin: 10px auto;
	font-size: 12px;
}
main .recommend .data p.info {
	font-size: 10px;
}
@media only screen and (min-width: 769px) {
	main .recommend .data h4 {
		font-size: 24px;
	}	
	
}



main .recommend .point {
	width: 94%;
	margin: 10% auto;
	border: 2px solid #FFF;
	box-sizing: border-box;
	padding: 4%;
	border-radius: 20px;
}
main .recommend .point .point_head {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	
}
main .recommend .point .point_head .img {
	width: 18%;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 100px;
	line-height: 0;
}
main .recommend .point .point_head .txt {
	width: 74%;
	margin-left: 3%;
}
main .recommend .point .point_head .txt p {
	text-decoration: underline;
	font-size: 16px;
	font-weight: 500;
}
main .recommend .point .point_head .txt .sb-wrap {
	display: flex;
	gap: 10px;
	margin: 8px 0;
}
main .recommend .point .point_head .txt .sb {
	position: relative;
	background: #FFF;
	border-radius: 100px;
	padding: 2px 10px;
	box-sizing: border-box;
	width: 35%;
	border: 1.5px solid #000;
	line-height: 1.4;
	margin: 10px 0;
	display: block;
	font-size: 11px;
}
main .recommend .point .point_head .txt .sb span {
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
}
main .recommend .point .comment {
	width: 90%;
	margin: 10px auto 0;
}
main .recommend .point .comment p {
	font-size: 14px;
	line-height: 1.4
}
main .recommend .btn1,main .recommend .btn2 {
	position: relative;
	width: 90%;
	margin: 0 auto 10%;
}
main .recommend .btn1 span {
	display: block;
	position: absolute;
	top: 24%;
	left: 16%;
	font-size: 15px;
	color: #000;
	line-height: 1;
	font-weight: 500;
}
main .recommend .btn2 span {
	display: block;
	position: absolute;
	top: 24%;
	left: 5%;
	font-size: 15px;
	color: #000;
	line-height: 1;
	font-weight: 500;
}
@media only screen and (min-width: 769px) {
	main .recommend .btn1,main .recommend .btn2 {
		width: 80%;
		margin: 0 auto 5%;
	}
	main .recommend .btn1 span {
		font-size: 15px;
		top: 25%;
	}
	main .recommend .btn2 span {
		font-size: 15px;
		top: 25%;
	}
}




main .recommend .hotel_slide {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
main .recommend .hotel {
	width: 80%;
	margin: 0 auto;
}


main .recommend .address {
	margin: 2% auto 10%;
}
main .recommend .address p {
	text-align: center;
	font-size: 12px;
	margin: 10px auto;
}
main .recommend .address .addr_box {
	background: #FFF;
	width: 90%;
	margin: 5% auto;
	border-radius: 20px;
	box-sizing: border-box;
	padding: 2.5% 10%;
}
main .recommend .address .addr_box p {
	font-size: 14px;
	font-weight: 600;
	position: relative;
	text-align: left;
	padding-left: 15px;
}
main .recommend .address .addr_box p::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #000;

}
main .recommend .address .addr_box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	margin: 10px auto 0;
}
main .recommend .address .addr_box ul li {
	width: 50%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
main .recommend .address .addr_box ul li img {
	width: 28%;
}
main .recommend .address .addr_box ul li span {
	width: 67%;
	margin-left: 5%;
}
main .recommend .staff_comment {
	position: relative;
	width: 90%;
	margin: 5% auto;
	padding: 15% 0 10%;
}
main .recommend .staff_comment .img {
	width: 25%;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	line-height: 0;
	border-radius: 100px;
	box-sizing: border-box;
	z-index: 2;
}
main .recommend .staff_comment .comment {
	width: 80%;
	margin-left: 20%;
	box-sizing: border-box;
	padding: 5%;
	position: relative;
	z-index: 1
}
main .recommend .staff_comment .comment span {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
main .recommend .staff_comment .comment span span {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: rotate(5deg);
	z-index: -1
}
main .recommend .staff_comment .comment p {
	position: relative;
	font-size: 14px;
	line-height: 1.4;
	z-index: 2
}

main .foot .other_slide {
	width: 100%;
	max-width: 550px;
	margin: 10% auto;
	position: relative;
}
main .foot .other_staff {
	width: 80%;
	margin: 0 auto;
}
main .foot .other_staff .swiper-slide {
	background: #FFF;
	box-sizing: border-box;
	padding: 5%;
}
main .foot .inner {
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	padding: 0;
}
main .foot .inner .img {
	width:28%;
}
main .foot .inner .txt {
	width: 68%;
	margin-left: 4%;
	margin-top: -10%;
}
main .foot .inner .txt p {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;	
}
main .foot .inner .txt p.name {
	font-size: 18px;
}
main .foot .box {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin-top: -10%;
}
main .foot .box .img {
	width: 49%;
	margin-right: 1%;
}
main .foot .box .txt {
	width: 49%;
	margin-left: 1%;
	margin-top: 3%;
}
main .foot .box .txt p {
	font-size: 12px;
	line-height: 1.7;
}

main .foot .btn {
	text-align: center;
}
main .foot .btn a {
	display: inline-block;
	border-radius: 100px;
	text-align: center;
	padding: 5px 20px;
	box-sizing: border-box;
	margin: 10% auto 0;
	color: #000;
	text-decoration: none;
	border: 2px solid #000;
	font-size: 14px;
	font-weight: 600;
	
}
main .foot_banner a{
	display: block;
	width: 94%;
	margin: 5% auto;
}

@media only screen and (min-width: 769px) {
	main .foot_banner{
		display: flex;
		flex-wrap: wrap;
		gap:2%;
		width: 90%;
		margin: 0 auto 10%;
	}
	main .foot_banner a{
		width: 49%;
		margin: 0 ;
	}
	
}

.gotop a {
  bottom: 5px;
  position: fixed;
  right: 5px;;
	max-width: 100px;
	width: 20%;
	z-index: 100
}
.stick_btn {
	position: fixed;
	top: 0;
	right: -10px;
	width: 25%;
	max-width: 180px;
	z-index: 100;
	visibility: hidden;
	opacity: 0;
	transform: translate(100%,0);
	transition: 1s all 0s ease;
}
.stick_btn.ac {
	opacity: 1;
	visibility: visible;
	transform: translate(0);
}




main .swiper-button-next, main .swiper-button-prev {
    color: #000!important
}
main .swiper-button-next:after, main .swiper-button-prev:after {
	font-size: 18px;
}
main .swiper-button-next, main .swiper-rtl .swiper-button-prev {
	right: 2%;
	background: #FFF;
	border-radius: 100px;
	width: 40px;
	height: 40px;
}
main .swiper-button-prev, main .swiper-rtl .swiper-button-next {
	left: 2%;
	background: #FFF;
	border-radius: 100px;
	width: 40px;
	height: 40px;
}


#contents {
	opacity: 0;
	transition: 1.4s all 0.1s ease;
}
#contents.ac {
	opacity: 1;
}



.pc_logo {
	position: fixed;
	top: 50%;
	left: 4%;
	transform: translate(0,-50%);
	width: 12%;
}


    .like-btn {
		position: absolute;
		bottom: 0;
		right: 3%;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 5px 10px;
      border-radius: 12px;
      border: 1.5px solid #e0b4b4;
      background: #fff5f5;
      cursor: pointer;
      user-select: none;
      font-family: sans-serif;
      transition: transform 0.1s, background 0.2s;
      -webkit-tap-highlight-color: transparent;
    }
    .like-btn:hover:not(.liked) {
      background: #ffe8e8;
      border-color: #e88;
    }
    .like-btn:active {
      transform: scale(0.94);
    }
    .like-btn.liked {
      background: #fff0f0;
      border-color: #e05555;
      cursor: default;
    }
    .like-btn.pop {
      animation: pop 0.32s cubic-bezier(.36,.07,.19,.97);
    }
    @keyframes pop {
      0%   { transform: scale(1); }
      40%  { transform: scale(1.22); }
      70%  { transform: scale(0.92); }
      100% { transform: scale(1); }
    }
    .heart-icon {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
    }
    .like-count {
      font-size: 14px;
      font-weight: 500;
      color: #c0392b;
      min-width: 20px;
    }


.movie {
	width: 50%;
	margin: 5% auto 5%;
}
video {
	width: 100%;
}

@media only screen and (max-width: 750px) {
.movie {
	width: 80%;
	margin: 4% auto 5%;
}
main .head .inner .txt .sb-wrap {
	width: 100%;	
	display: flex;
	justify-content: space-between;
	margin: 8px 0;
}
main .head .inner .txt .sb {
	position: relative;
	background: #FFF;
	border-radius: 100px;
	padding: 2px 20px;
	box-sizing: border-box;
	width: 60%;
	max-width: 100px;
	border: 1.5px solid #000;
	line-height: 1.4;
	margin: 10px 2px;
	display: block;
	font-size: 10px;
}
main .recommend .point .point_head .txt .sb {
	width: 38%;
	font-size: 10px;
}	
main .head .inner .img {
	width:28%;
	margin-top: 5%;
}	
	
main .recommend.gunma2 .address .addr_box {
	padding: 2.5% 3%;
}
main .recommend.gunma2 .address .addr_box ul {
	justify-content: center;
}
main .recommend.gunma2 .address .addr_box ul li {
	width: 33%;
}	
	
}
