@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "Hannari";
  src: url("../fonts/Hannari.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-Regular";
  src: url("../fonts/NotoSerifCJKjp-Regular.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-Medium";
  src: url("../fonts/NotoSerifCJKjp-Medium.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-SemiBold";
  src: url("../fonts/NotoSerifCJKjp-SemiBold.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-Bold";
  src: url("../fonts/NotoSerifCJKjp-Bold.otf");
  font-display: swap;
}
/*	layout
------------------------------------ */
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "Hannari";
  src: url("../fonts/Hannari.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-Regular";
  src: url("../fonts/NotoSerifCJKjp-Regular.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-Medium";
  src: url("../fonts/NotoSerifCJKjp-Medium.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-SemiBold";
  src: url("../fonts/NotoSerifCJKjp-SemiBold.otf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifCJKjp-Bold";
  src: url("../fonts/NotoSerifCJKjp-Bold.otf");
  font-display: swap;
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/************************************************

  SP layout

************************************************/
/*	cmn parts  SP
------------------------------------ */
.com-inner {
  padding: 50px 15px;
}

.com-md-inner {
  padding: 50px 15px;
}

.no-sb {
  margin: 30px auto 0;
}

.com-ib {
  display: inline-block;
}

.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}

.anchor-mp {
  margin: -70px auto 0;
  padding-top: 70px;
}

.com-txt-box p:nth-of-type(n+2) {
  margin-top: 15px;
}

/*  共通パーツ
------------------------------------ */
.com-bg01 {
  background-position: left top, right bottom, center;
  background-size: 35%, 35%, cover;
}
.com-bg02 {
  background-size: 50%, 300px, 50px, 50%, 80%, cover;
  background-position: left top, calc(50% + 50px) 20px, calc(50% - 120px) 15px, right bottom, calc(50% - 250px) calc(100% - 15px), center;
}
.com-bg03 {
  background-size: 300px, 100%, cover;
  background-position: calc(50% + 50px) 20px, calc(50% - 250px) calc(100% - 15px), center;
}
.com-bg04 {
  background-size: 75%, 75%, cover;
}
.com-bg05 {
  background-position: 20px 10px, calc(100% - 15px) 15px, calc(100% - 15px) 50%;
  background-size: 250px, 100px, 300px, cover;
}
.com-bg06 {
  background-position: calc(100% - 30px) 20px, 15px 150px, calc(100% + 20px) 100%, center;
  background-size: 200px, 100%, 200px, cover;
}

.com-tel {
  font-size: 2.5rem;
}

.para {
  height: 0;
  padding-top: 46.875%;
  background-attachment: local;
}

.news-post-tag {
  margin-left: 10px;
}
.news-post-tag-txt {
  padding: 2px 9px;
  font-size: 1.4rem;
}

.com-tag {
  flex-direction: column;
  align-items: center;
}
.com-tag-item {
  width: 100%;
}
.com-tag-item:nth-of-type(n+2) {
  margin-top: 20px;
}

/* =========================================

  main  SP

========================================= */
/* top-greeting  SP
------------------------------------ */
#top-greeting .greeting-bg {
  background-size: 90%, cover;
  background-position: center 20px, center;
  position: relative;
  z-index: 1;
}
#top-greeting .greeting-bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#top-greeting .greeting-ttl {
  font-size: 2.5rem;
  text-align: center;
}
#top-greeting .greeting-txt-box {
  margin: 20px auto 0;
}
#top-greeting .greeting-txt-box p:nth-of-type(n+2) {
  margin: 20px auto 0;
}

/* top-about  SP
------------------------------------ */
#top-about .about-bg {
  padding: 70px 0 0;
  background: url(../img/top/about-sp-lt.png) no-repeat left top/200px, url(../img/bgbody.jpg);
}
#top-about .about-inner {
  padding: 0;
}
#top-about .about-inner02 {
  padding: 0;
}
#top-about .about-contents {
  margin: 15px auto 0;
  padding: 0 15px;
}
#top-about .about-ttl {
  background: url(../img/top/abotu-sp-kinpaku.png) no-repeat right top/100px;
}
#top-about .about-txt {
  margin-top: 20px;
}
#top-about .about-img {
  position: static;
}
#top-about .about-img img {
  height: auto;
  position: static;
}
#top-about .about-img01 {
  width: 100%;
  height: auto;
  text-align: right;
}
#top-about .about-img01 img {
  width: 90%;
  margin: 0 0 0 auto;
}
#top-about .about-img01_2 {
  width: 80%;
}
#top-about .about-img01_2 img {
  width: 100%;
  margin: 0 auto 0 0;
}
#top-about .about-img02 {
  width: 80%;
  margin: 20px auto 0;
  text-align: right;
}
#top-about .about-img03 {
  margin-top: 30px;
  margin-left: 15px;
  padding-top: 20px;
  background: url(../img/top/about-sp-img03.png) no-repeat 95% top/80px;
}
#top-about .about-img03 img {
  width: 80%;
}
#top-about .about-img04 {
  margin-top: 20px;
  background: url(../img/top/about-sp-img04.png) no-repeat -100px top/180px;
  text-align: right;
}
#top-about .about-img04 img {
  width: 80%;
}
#top-about .about-img05 {
  margin-top: 20px;
  background: url(../img/top/about-sp-img05.png) no-repeat 75% 15px/60px;
}
#top-about .about-img05 img {
  width: 70%;
}

/* top-map  SP
------------------------------------ */
#top-map .map-bg {
  background: url(../img/top/map-kinpaku.png) no-repeat calc(50% - 120px) 20px/50px, url(../img/top/map-bg-lt.png) no-repeat left top/90%, url(../img/top/map-bg-rb.png) no-repeat right bottom/90%, url(../img/bgbody.jpg);
}
#top-map .map-con {
  margin: 30px auto 0;
}
#top-map .map-con-ttl {
  text-align: center;
  font-size: 2rem;
}
#top-map .map-1f {
  margin-top: 15px;
}
#top-map .map-1f-list-item a {
  width: 6.3%;
}
#top-map .map-1f-list-item a::before {
  content: none;
}
#top-map .map-1f-link02 {
  left: 49px;
  bottom: -20px;
}
#top-map .map-1f-link10 {
  right: 37px;
  bottom: -36px;
}
#top-map .map-1f-flx {
  display: flex;
  margin: 30px auto 0;
  justify-content: space-between;
  align-items: flex-end;
}
#top-map .map-1f-left, #top-map .map-1f-right {
  display: inline-block;
  position: static;
}
#top-map .map-1f-left {
  width: 110px;
}
#top-map .map-1f-right {
  width: 118px;
  margin-left: auto;
}
#top-map .map-2f {
  margin-top: 15px;
}

/* モーダルウインドウ  SP
------------------------------------ */
.map-modal-frame {
  padding: 30px;
}
.map-modal-ttl {
  padding: 10px 0;
  font-size: 1.8rem;
}
.map-modal-img {
  margin-top: 15px;
}
.map-modal-txt {
  margin-top: 15px;
}

/* top-features  SP
------------------------------------ */
#top-features .features-inner {
  display: block;
  padding: 50px 0;
}
#top-features .features-img li {
  width: 100%;
  height: 0;
  padding-top: 44.7%;
  position: relative;
}
#top-features .features-img li img {
  width: 100%;
  height: 100%;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
#top-features .features-contents {
  width: 90%;
  margin: -30px 0 0 auto;
  padding: 60px 15px 30px;
  background: rgba(0, 0, 0, 0.09);
}
#top-features .features-contents::before {
  content: none;
}
#top-features .features-txt {
  margin-top: 20px;
  margin-right: 0;
}
#top-features .features-btn {
  margin-top: 25px;
}
#top-features .bx-wrapper {
  width: 90%;
}

/* top-seen  SP
------------------------------------ */
#top-seen .seen-ttl {
  font-size: 2.1rem;
}
#top-seen .seen-ttl-wrap {
  padding: 19% 0 17%;
  background-position: left top, right bottom, center;
  background-size: 30%, 30%, cover;
}
#top-seen .seen-list {
  flex-direction: column;
  align-items: center;
}
#top-seen .seen-list-item {
  width: 100%;
}
#top-seen .seen-list-ttl-ja {
  margin-top: 10px;
}

/* top-news  SP
------------------------------------ */
#top-news .news-bg {
  background-size: 150%, cover;
  background-position: left top, center;
}
#top-news .news-flx {
  flex-direction: column;
  align-items: center;
}
#top-news .news-ttl-ja {
  margin-top: 5px;
}
#top-news .news-post {
  margin: 25px auto 0;
}
#top-news .news-btn {
  margin: 30px auto 0;
}

/* =========================================

sub layout  SP

========================================= */
/* features  SP
------------------------------------ */
#features .about {
  background: url(../img/top/about-sp-lt.png) no-repeat left top/150px, url(../img/top/about-sp-img03.png) no-repeat 15% 85%/100px, url(../img/top/about-sp-img04.png) no-repeat 15% 100%/200px, url(../img/bgbody.jpg);
}
#features .about-ttl {
  margin: 15px auto 0;
  padding-top: 15px;
  background: url(../img/top/map-kinpaku.png) no-repeat right top/50px;
}
#features .about-txt {
  text-align: left;
}
#features .about-img-l {
  margin: 20px auto 0;
}
#features .about-img-rb {
  width: 60%;
  margin: 30px auto 0 0;
}
#features .com-read {
  background-position: 100% 15px, center 90%;
  background-size: 48px, 96%;
}
#features .com-read .read-inner {
  padding: 50px 15px;
}
#features .com-read .read-flx {
  flex-direction: column;
  align-items: center;
}
#features .com-read .read-img {
  width: 100%;
}
#features .com-read .read-contents {
  margin: 25px auto 0;
  padding-top: 0;
}
#features .com-read .read-ttl::after {
  top: -20px;
  left: -12px;
}
#features .com-read .read-txt {
  margin-top: 20px;
}
#features .history-ttl::after {
  top: -22px;
  left: -6px;
}
#features .history-txt-box {
  max-width: none;
  margin-top: 20px;
}
#features .enjoy {
  background-position: left top, calc(50% + 50px) 81vw, calc(50% - 120px) 15px, right bottom, calc(50% - 250px) calc(100% - 15px), center;
}
#features .enjoy.western {
  background-position: calc(50% + 50px) 36vw, calc(50% - 120px) 15px, calc(50% - 250px) calc(100% - 15px), center;
}
#features .enjoy.add {
  background-position: left 95%, 98% 11px;
  background-size: 411px, 67px;
}
#features .enjoy-flx {
  flex-direction: column;
  align-items: center;
}
#features .enjoy-img {
  width: 100%;
}
#features .enjoy-slider {
  width: 100%;
  height: 0;
  padding-top: 68.75%;
}
#features .enjoy-slider li, #features .enjoy-slider img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}
#features .enjoy-contents {
  margin: 35px auto 0;
}
#features .enjoy-ttl::after {
  left: -9px;
  top: -22px;
}
#features .enjoy-txt {
  margin-top: 15px;
}
#features .hos {
  background: url(../img/top/about-kinpaku.png) no-repeat calc(100% - 30px) 10px/200px, url(../img/bgbody.jpg);
}
#features .hos-list {
  margin-top: 25px;
}
#features .hos-list-item {
  background: url(../img/features/facility-kinpakku.png) no-repeat right bottom/250px;
  flex-direction: column;
  align-items: center;
}
#features .hos-list-item:nth-of-type(n+2) {
  margin: 35px auto 0;
}
#features .hos-list-item:nth-of-type(2n) {
  background: url(../img/features/hos-l.png) no-repeat left bottom/376px;
}
#features .hos-list-contents {
  width: 100%;
  margin: 10px auto 0;
}
#features .hos-list-ttl-ja {
  font-size: 1.8rem;
}
#features .hos-list-txt {
  margin-top: 15px;
  font-size: 1.4rem;
  line-height: 1.8;
}
#features .menu-txt {
  margin-top: 20px;
}
#features .menu-list-item {
  width: 49%;
}
#features .menu-list-item:nth-of-type(n+3) {
  margin-top: 30px;
}
#features .menu-list-ttl {
  margin-top: 8px;
  padding-left: 6px;
  letter-spacing: 0.07em;
}
#features .menu-list-ttl::before {
  height: 25px;
}
#features .room {
  background: url(../img/features/room-kinpaku.png) no-repeat calc(50% + 50px) 20px/300px, url(../img/bgbody_gray.jpg);
}
#features .room-list {
  margin-top: 25px;
  flex-direction: column;
  align-items: center;
}
#features .room-list-item {
  display: block;
}
#features .room-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
#features .room-list-img-l {
  box-shadow: -15px 15px rgba(0, 0, 0, 0.09);
}
#features .room-list-img-r {
  box-shadow: 15px 15px rgba(0, 0, 0, 0.09);
}
#features .room-list-contents {
  margin: 20px auto 0;
}
#features .room-list-txt-box {
  margin-top: 20px;
}
#features .room-list-txt-box p:nth-of-type(n+2) {
  margin-top: 20px;
}
#features .facility-list {
  margin-top: 30px;
}
#features .facility-list-item {
  flex-direction: column;
  align-items: center;
}
#features .facility-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
#features .facility-list-contents {
  margin: 15px auto 0;
}
#features .facility-list-contents-sm {
  margin-top: -27vw;
}
#features .facility-list-txt-box {
  margin-top: 15px;
}
#features .service {
  padding: 10px 10px 30px;
}
#features .service-inner {
  padding: 30px 15px;
}
#features .service-list {
  margin: 25px auto 0;
}
#features .service-list-item:nth-of-type(n+2) {
  margin-top: 25px;
}
#features .service-list-ttl {
  margin-top: 10px;
  font-size: 1.7rem;
}
#features .read-flx02 {
  margin-top: 50px;
}

/* family_trip  SP
------------------------------------ */
.com-greeting .greeting-txt {
  margin-top: 25px;
  text-align: left;
}

.com-plan {
  background-size: 80%, 80%;
}
.com-plan .plan-list {
  margin-top: 25px;
}
.com-plan .plan-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
.com-plan .plan-list-flx {
  margin-top: 15px;
  flex-direction: column;
  align-items: center;
}
.com-plan .plan-list-img {
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
}
.com-plan .plan-list-contents {
  margin: 10px auto 0;
}
.com-plan .plan-list-point-ttl {
  font-size: 1.7rem;
}
.com-plan .plan-list-point-txt {
  font-size: 1.4rem;
}
.com-plan .plan-reco {
  margin-top: 30px;
  padding: 0;
  background-position: center;
  background-size: 400px;
}
.com-plan .plan-reco::before {
  width: 150px;
  height: 150px;
  top: -100px;
  right: 15px;
}
.com-plan .plan-reco-img {
  position: static;
}
.com-plan .plan-reco-img-l {
  margin: 30px auto 0;
}
.com-plan .plan-reco-img-l img {
  max-width: none;
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
}
.com-plan .plan-reco-img-r {
  margin: 30px auto 0;
}
.com-plan .plan-reco-img-r img {
  max-width: none;
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
}
.com-plan .plan-reco-ttl {
  margin: 20px auto 0;
}
.com-plan .plan-reco-txt {
  margin: 20px auto 0;
}
.com-plan .plan-point-list {
  margin-top: 15px;
}
.com-plan .plan-point-list li {
  display: block;
}
.com-plan .plan-point-list li:nth-of-type(n+2) {
  margin-top: 30px;
}
.com-plan .plan-point-list li:nth-of-type(2n-1)::before {
  width: 130px;
  height: 105px;
  right: 0;
  bottom: 0;
}
.com-plan .plan-point-list li:nth-of-type(2n) {
  text-align: right;
}
.com-plan .plan-point-list li:nth-of-type(2n)::before {
  width: 357px;
  height: 208px;
  background-image: url(../img/family_trip/point-l.png);
  bottom: 0;
  left: 0;
}
.com-plan .plan-point-list-con {
  margin-top: 10px;
}
.com-plan .plan-point-list-ttl {
  margin-top: 0;
}

.com-spot .spot-list {
  margin-top: 20px;
}
.com-spot .spot-list-ttl {
  display: block;
  font-size: 1.7rem;
}
.com-spot .spot-list-ttl-left {
  display: block;
  text-align: left;
}
.com-spot .spot-list-ttl-right {
  display: block;
  margin-top: 10px;
  font-size: 1.4rem;
  text-align: right;
}
.com-spot .spot-list-txt {
  margin-top: 10px;
}
.com-spot .spot-list-img {
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
  margin-top: 20px;
}
/* womens_trip  SP
------------------------------------ */
#womens_trip .com-greeting {
  background-position: 63% center;
}

/* couple_trip  SP
------------------------------------ */
#couple_trip .greeting-inner {
  padding: 29px 15px;
}
#couple_trip .greeting-ttl {
  position: relative;
}
#couple_trip .greeting-ttl::after {
  width: 16px;
  height: 16px;
}
#couple_trip .greeting-txt {
  margin-top: 6px;
}
#couple_trip .senior {
  margin-top: 50px;
}
#couple_trip .senior-box {
  padding: 25px 10px;
}
#couple_trip .senior-box::before {
  width: 250px;
  height: 281px;
  left: -19px;
  top: 23vw;
}
#couple_trip .senior-box-img {
  position: static;
}
#couple_trip .senior-box-contents {
  margin: 10px auto 0;
}
#couple_trip .senior-box-ttl {
  text-align: center;
  font-size: 1.8rem;
  padding-bottom: 8px;
}
#couple_trip .senior-box-txt {
  margin-top: 10px;
}
#couple_trip .com-bg03 {
  background: url(../img/features/room-kinpaku.png) no-repeat calc(50% + 50px) 20px/300px, url(../img/bgbody_gray.jpg);
}
#couple_trip .com-bg05 {
  background: url(../img/features/facility-kinpakku.png) no-repeat calc(50% + 50px) 20px/300px, url(../img/bgbody.jpg);
}
#couple_trip .com-bg05 .com-ttl01 {
  font-size: 1.9rem;
}
#couple_trip .spot-list-item {
  background: url(../img/family_trip/spot-rt.png) no-repeat right bottom/100px;
}

/* access  SP
------------------------------------ */
#access .info-list-txt {
  margin-top: 10px;
}
#access .info-list-item a {
  width: 5%;
  line-height: 1;
}
#access .info-map01 {
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
  padding-top: 80%;
}
#access .info-map02 {
  width: calc(100% + 30px);
  margin-left: -15px;
  margin-right: -15px;
  padding-top: 140%;
}
#access .contact-inner {
  padding-bottom: 100px;
}
#access .contact-table th, #access .contact-table td {
  vertical-align: middle;
}
#access .access-list {
  margin-top: 25px;
}
#access .access-list-scroll {
  overflow-x: scroll;
}
#access .access-list-flow-double li {
  margin-right: 206px !important;
}
#access .hotel-table {
  margin-top: 25px;
}
#access .hotel-table th {
  width: 130px;
}
#access .faq-list {
  margin-top: 30px;
}
#access .faq-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
#access .faq-list-ttl {
  font-size: 1.7rem;
}
#access .faq-list-ttl::before {
  font-size: 1.8rem;
}
#access .faq-list-txt {
  margin-top: 10px;
}

/* news  SP
------------------------------------ */
#news .com-news-item:nth-of-type(n+2) {
  margin-top: 15px;
  padding-top: 15px;
}

/* site  SP
------------------------------------ */
#site .dropdown-menu__list {
  margin-left: 26px;
}
/* com-faq  SP
------------------------------------ */
.com-faq .faq-list {
  margin-top: 30px;
}
.com-faq .faq-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
.com-faq .faq-list-ttl {
  font-size: 1.7rem;
}
.com-faq .faq-list-ttl::before {
  font-size: 1.8rem;
}
.com-faq .faq-list-txt {
  margin-top: 10px;
}

/* com-model  SP
------------------------------------ */
.com-model {
  background-size: 100%;
  background-position: center 150px;
}
.com-model .model-list {
  margin-top: 30px;
}
.com-model .model-list-item:nth-of-type(n+2) {
  margin-top: 40px;
}
.com-model .model-list-box {
  padding: 20px;
  flex-direction: column-reverse;
  align-items: center;
}
.com-model .model-list-con {
  margin: 15px auto 0;
}
.com-model .model-list-ttl {
  padding-left: 10px;
}
.com-model .model-list-ttl02 {
  margin-bottom: 25px;
  padding-bottom: 10px;
  font-size: 1.8rem;
}
.com-model .model-list-ttl .time {
  padding-left: 12px;
}
.com-model .model-list-ttl .txt {
  margin-top: 5px;
  font-size: 1.8rem;
  padding-bottom: 10px;
}
.com-model .model-list-txt {
  margin-top: 6px;
}
.com-model .model-course li:nth-of-type(n+2)::before {
  height: 60px;
  margin-left: 20px;
}
.com-model .model-course-point {
  top: 16px;
  left: 44px;
}
.com-model .model-course-point.car::before {
  width: 26px;
  height: 20px;
  margin-right: 11px;
}
.com-model .model-course-point.person {
  top: 11px;
}
.com-model .model-course-point.person::before {
  width: 18px;
  margin-right: 11px;
}/*# sourceMappingURL=style_sp.css.map */