@charset "utf-8";
/*
 * CSS for SmartPhone
 * @date     2017.03.21
 * @author   Sungjoon Park
 */

/* ------------------------------------------

------------------------------------------ */
#widewrapper {
	color: #502b0a;
}

.sp {
	display: inline-block;
}
.pc {
	display: none !important;
}

a *,
a::Before,a::after {
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

a:hover img {
	opacity: 0.8;
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.page_term {
	font-size: 13px;
	line-height: 1.4;
	margin: auto 12px 15px 12px;
	text-align: center;
}


/* ----- keyVisual -----*/
.pr_absolute::before {
  background-color: rgba(0, 0, 0, .5);
  z-index: 2;
}
#keyVisual {
	width: 100%;
	margin: 0;
}
#keyVisual img {
	width: 100%;
	display: block;
}
#keyVisual h1 {
	position: absolute;
	width: 84%;
	height: auto;
	max-width: 600px;
	text-align: center;
	bottom: 2%;
  left: 0;
	z-index: 1;
}

.slider_fade {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: auto;
	padding-top: 128%;
}
.slider_fade li {
	position: absolute;
	top: 0;
	list-style: none;
	visibility: hidden;
	animation: anime_slider_fade 15s linear infinite;
	width: 100%;
}
.slider_fade li:nth-of-type(2) {
	animation-delay: 5s;
}
.slider_fade li:nth-of-type(3) {
	animation-delay: 10s;
}
.slider_fade li img {
	width: 100%;
	height: auto;
}

@keyframes anime_slider_fade {
	0% {
		visibility: visible;
		opacity: 0;
	}
	15% {
		opacity: 1;
	}
	33.3% {
		opacity: 1;
	}
	48.3% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}


/* ----- nav -----*/
#pageTab {
	background: #f6f6f6;
	width: 100%;
	margin: auto;
}
#pageTab ul {
	width: 100%;
	margin: auto;
	z-index: 99;
}
#pageTab ul.tab5 li {
	width: calc(100% / 5);
	margin: 0;
	box-sizing: border-box;
}
#pageTab ul.tab5 li + li {
	border-left: #989795 1px solid;
}
#pageTab ul li a {
	height: auto;
	padding: 10px 0 2px;
	font-size: 3vw;
}
#pageTab ul li a span {
	display: block;
	color: #502b0a;
	line-height: 1.2;
	padding: 0.5em 0;
}
#pageTab ul li:nth-child(3) a span {
	line-height: 2.4;
}
#pageTab ul li a:hover {
	opacity: 0.75;
}
#pageTab ul li a img {
	max-width: 70%;
}

#contentsArea #pageTab ul li.is-current a {
	border-bottom: #502b0a 2px solid;
	background: rgba(255,255,255,0.6);
}
#pageTab .alwaysFix  {
	background: rgba(255,255,255,0.6);
	padding-bottom: 0;
}
#pageTab ul.alwaysFix li a {
	padding: 5px 0 2px;
	font-size: 2vw;
}
#pageTab ul.alwaysFix li a img {
	width: 50%;
}

/* ----- contents -----*/

#contents {
    padding: 0;
    background: #fff;
}
.page_cpn .cpn_box {
    margin: 12px 12px 28px;
}
.page_cpn .cpn_box img {
    display: block;
    width: 100%;
}
.page_cpn .cpn_box a:hover img {
    opacity: 0.8;
}
#contentsArea .page_cpn .cpn_box span {
  font-size: 12px;
  margin-top: 10px;
  background-repeat: no-repeat;
}
.cpCal,.cpUser,.cpPoint,.cpTogether {
  padding-left: 16px;
  padding-right: 4px;
}
.cpCal {
  background-image: url(https://img.travel.rakuten.co.jp/special/sales/coupon/images/cpCal.svg);
}
.cpUser {
  background-image: url(https://img.travel.rakuten.co.jp/special/sales/coupon/images/cpUser.svg);
}
.cpPoint {
  background-image: url(https://img.travel.rakuten.co.jp/special/sales/coupon/images/cpPoint.svg);
}
.cpTogether {
  background-image: url(https://img.travel.rakuten.co.jp/special/sales/coupon/images/cpTogether.svg);
  background-position: left 2px;
}
.cpVol {
  font-weight: bold;
}
.page_box_sty1 {
    margin-bottom: 15px;
}
.page_h2 {
    background: #777;
    color: #fff;
    text-align: center;
    padding: 6px 0;
    margin: 0 10px 12px 10px;
    font-size: 20px;
}
.page_box1 {
    margin: 0 10px 12px 10px;
}
.box1img img {
    display: block;
    width: 100%
}
.page_box1 h3 {
    font-size: 14px;
    margin: 10px 0 8px;
}
.txtfont13 {
    font-size: 14px;
    line-height: 1.4;
}
.page_box_sty2 .page_box1 {
    width: 30.8%;
    margin: 0 0 10px 2%;
    float: left;
}
.page_box_sty2 .box1img {
    position: relative;
}
.page_box_sty2 .box1img:before {
    position: absolute;
    width: 25px;
    height: 25px;
    background: url(../images/magnify.jpg) 0 0 no-repeat;
    bottom: 0;
    right: 0;
    content: "";
}
.cpn_box_info .ss-center .cp__acordion {
    clear: both;
}
.cpn_box_info .cp__acordion .cp__trigger:hover {
    background-color: #bababa;
    color: #ffffff;
}
.cpn_box_info .cp__acordion .cp__trigger {
    font-size: 13px;
    display: block;
    position: relative;
    padding: 10px;
    cursor: pointer;
}
.cpn_box_info .cp__acordion .cp__trigger::after {
    display: inline-block;
    content: " ";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 7px;
    margin-top: -3.5px;
    background-repeat: no-repeat;
}
.cpn_box_info .cp__acordion li .cp__trigger {
    background: #e1e1e1;
}
.cpn_box_info .cp__liststyle-dot > * {
    text-indent: 0 !important;
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.4;
}
.cpn_box_info .cp__acordion ul.submenu {
    padding: 10px 0;
    background-color: #f0f0f0;
    line-height: 1.4;
}
.cpn_box_info .cp__acordion .cp__trigger::after {
    background-image: url(../images/icon_1.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}
.cpn_box_info .cp__acordion .cp__trigger.active-submenu::after {
    background-image: url(../images/icon_2.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}
/* ----- page_box1 -----*/

.page_box1 .ss-center .cp__acordion {
    clear: both;
}
.page_box1 .cp__acordion .cp__trigger:hover {
    background-color: #bababa;
    color: #ffffff;
}
.page_box1 .cp__acordion .cp__trigger {
    font-size: 13px;
    display: block;
    position: relative;
    padding: 10px;
    cursor: pointer;
}
.page_box1 .cp__acordion .cp__trigger::after {
    display: inline-block;
    content: " ";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 7px;
    margin-top: -3.5px;
    background-repeat: no-repeat;
}
.page_box1 .cp__acordion li .cp__trigger {
    background: #e1e1e1;
}
.page_box1 .cp__liststyle-dot > * {
    margin-left: 1em;
    text-indent: -1em;
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.4;
}
.page_box1 .cp__acordion ul.submenu {
    background-color: #f0f0f0;
    padding: 8px 10px 10px 10px;
    line-height: 1.4;
}
.page_box1 .cp__acordion .cp__trigger::after {
    background-image: url(../images/icon_1.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}
.page_box1 .cp__acordion .cp__trigger.active-submenu::after {
    background-image: url(../images/icon_2.png) !important;
    background-size: 22px 22px;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    right: 6px;
}
.holder {
    margin-top: 10px;
}
.cp_right {
    display: none;
}
.fixBnr2 {
    position: fixed;
    display: block;
    right: 0px;
    bottom: 0px;
    z-index: 9;
}
#contents .pagetop_btn {
    width: 50px;
    z-index: 999;
}
.pagetop_btn li {
    margin-bottom: 1px;
    background: #fff;
}
.pagetop_btn li a {
    background: #dedede;
    width: 50px;
    display: block;
    text-align: center;
    padding: 6px 0;
    font-size: 13px;
}
#contentsArea .pagetop_btn li a:hover {
    text-decoration: none;
    opacity: 0.8;
}
/* ----- Access -----*/

.accessBox {
    border: none;
}
.page_footer {
    background: #f7f7f7;
    padding: 10px;
    border-top: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
    margin: 0 10px 12px 10px;
}
.page_footer ul li {
    margin-bottom: 6px;
}
.page_footer a {
    color: #777;
    font-size: 13px;
    line-height: 1.6;
    text-decoration: none;
}
.page_footer a:hover {
    text-decoration: underline;
}
.page_footer p {
    margin: auto;
}
.page_footer p span {
    margin-right: 12px;
    display: inline-block;
}
#search-box h1 {
    display: none;
}
/*oy*/
.jdsSwiper {
    padding: 0 40px !important;
}
.swiper-wrapper {
    padding-bottom: 30px;
}
.jdsSwiper .page_box1 {
    margin: 0 0px 12px 0px;
}
.swiper-button-next {
    font-size: 12px;
    background: none !important;
}
.jdsColorBoxHtml_main .box1img {
    display: none;
}
.jdsColorBoxHtml_main .txtfont13 {
    display: none;
}
#cboxContent .jdsColorBoxHtml_main .box1img {
    display: block;
}
#cboxContent .jdsColorBoxHtml_main .txtfont13 {
    display: block;
}
#colorbox {
    height: 100% !important;
    position: fixed !important;
    top: 20px !important;
    overflow: visible !important;
}
#cboxContent {
    float: none !important;
    height: 100% !important;
    max-width: 96% !important;
    margin: auto !important;
}
#cboxWrapper {
    height: auto !important;
    overflow: visible!important;
}
#cboxMiddleLeft {
    height: 100% !important;
}
#cboxOverlay {
    background-color: rgba(0,0,0,0.5) !important;
    height: 100% !important;
}
#cboxLoadedContent {
    background: #fff !important;
    border: 1px solid #333 !important;
    padding: 12px 15px;
    box-sizing: border-box;
    height: auto !important;
    width: auto !important;
}
#cboxClose {
    background: url(../images/close.jpg) top right no-repeat !important;
    background-position-x: center;
    background-position-y: top;
    width: 25px !important;
    height: 25px !important;
}
#cboxTitle {
    font-size: 0;
}
button#cboxPrevious {
    background: url(../images/arrow_left.png) top right no-repeat !important;
    width: 32px !important;
    left: -20px !important;
    height: 32px;
}
button#cboxNext {
    background: url(../images/arrow_right.png) top right no-repeat !important;
    z-index: 999;
    width: 32px !important;
    right: -20px !important;
    height: 32px;
}
.swiper-button-prev {
    width: 32px !important;
    height: 32px !important;
    content: "" !important;
    background: url(../images/arrow_left.png) 0 0 no-repeat !important;
    font-size: 0;
    top: 35% !important;
    z-index: 999;
}
.swiper-button-next {
    width: 32px !important;
    height: 32px !important;
    content: "" !important;
    background: url(../images/arrow_right.png) 0 0 no-repeat !important;
    font-size: 0;
    top: 35% !important;
    z-index: 999
}
.page_foot_box .swiper-button-prev {
    left: 0px;
}
.page_foot_box .swiper-button-next {
    right: 0px;
}
.page_foot_box .swiper-container {
    width: 96% !important;
    margin: auto;
    padding: 0 2%!important;
}
#contentsArea .cpn_box .btn {
    margin: 12px 15px;
}
#contentsArea .cpn_box .btn .main {
    border: 2px solid #7bb33e;
    border-radius: 5px;
    background-color: #fff;
    color: #7bb33e;
    text-align: center;
    display: block;
    margin: 0px auto;
    font-weight: bold;
    padding: 10px 0;
    position: relative;
    font-size: 16px;
}
#contentsArea .cpn_box .btn .main:after {
    position: absolute;
    content: '';
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAMCAYAAABfnvydAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpDNkQ4N0ZGMzJGQzRFNzExODg5RkM1RTg2NEE3ODZENyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpDNzczMUIzN0M1QjcxMUU3ODhGNEZFQzVFMjgxMEUyOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpDNzczMUIzNkM1QjcxMUU3ODhGNEZFQzVFMjgxMEUyOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjNCMjI2MTI1MUFDNUU3MTE5RkIzOUM4RTk0QkM0M0U5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkM2RDg3RkYzMkZDNEU3MTE4ODlGQzVFODY0QTc4NkQ3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xa2QmQAAAM5JREFUeNpc0L8LAWEcx/HnZLiBQcmk/AVKdu4fMCr5D1hJEqV0GSwkshoNYmCVTPwZwmAxUSTnvO96Tg9Pvfo+d9/P8+NOqy/SdyGEjgoGZmbzEMrwYQ0LTRQbS0P/DxQwQQAt51kNabZtC15EmXeQxw0NjDju6QacQShGMZGToTZW34AMRShDZPHCzid+RxghOb/g7FdWJyg9GNijiq13SafZRwpHlLjg1P1MmklqVzZPKGPm7ewcMUYcB9mcs/qt/qggrqjJpqXe+iPAAHnLRIHtZQkmAAAAAElFTkSuQmCC) 0 0 no-repeat;
    height: 12px;
    width: 8px;
    right: 12px;
    top: 50%;
    margin-top: -6px;
    display: block;
}
#contentsArea .cpn_box .btn .main:hover {
    opacity: 0.8;
}
.tableholder {
    margin: 0 10px;
}
.tableholder table {
    background-color: #fff;
    border: 1px solid #b4b4b4;
    font-size: 13px;
    line-height: 1.4;
    position: relative;
}
.tableholder table tr:first-child {
    color: #fff;
}
.tableholder table tr:first-child td {
    text-align: center!important;
    background-color: #1ba81b!important;
}
.tableholder table td {
    display: block;
    padding: 5px;
}
.tableholder table tr td:first-child {
    background-color: #e1e1e1;
    font-weight: bold;
}
.coupon-guide {
  margin: 1em auto;
  font-size: 13px;
  text-align: center;
}
.coupon-guide a {
  display: inline-block;
  padding: .25em .5em .5em 1em;
  border-radius: 4px;
  background-color: #e1e1e1;
}
.coupon-guide a::after {
  display: inline-block;
  content: "";
  background-image: url(https://img.travel.rakuten.co.jp//special/sales/template/html/images/Linkwindow.svg);
  width: 16px;
  height: 16px;
  position: relative;
  right: -2px;
}
.disclaimer {
  margin: 20px auto;
  font-size: 12px;
  text-align: center;
}
#newetiquette {
    width: 90%;
    text-align: center;
    margin: 30px auto;
    background: #eee;
    padding: 15px 0;
}
#newetiquette a {
  color: #0059B2!important;
}
#pageInquiry .inquiryTable {
  width: 92%;
  margin: 40px auto 20px;
  font-size: 14px;
}
#pageInquiry tr,
#pageInquiry th,
#pageInquiry td {
  display: block;
}
#pageInquiry th,
#pageInquiry td {
  border: solid 1px #aaa;
  padding: 1em;
}
#pageInquiry th {
  background-color: #efefef;
}
#pageInquiry td {
  border-top: none;
  border-bottom: none;
}
#pageInquiry tr:last-child td {
  border-bottom: solid 1px #aaa;
}
#pageInquiry .inquiryTable a {
  color: #0059B2;
}
#contents .gototop_btn {
    margin-top: 10px;
    background: none;
}
#contents .gototop_btn a {
    display: block;
    height: 30px;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 4px 4px 0 0;
    color: #FFF;
    position: relative;
}
#contents .gototop_btn a::before {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin-top: -3px;
    margin-left: -7px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    content: "";
}
#contents .gototop_btn a span {
    display: none;
}
.page_foot_box {
    width: 94%;
    margin: auto;
}
.page_foot_box .swiper-slide {
    width: 180px !important;
    font-size: 13px;
}


/* ------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------ */
#contents {
	position: relative;
	background-color: #ffffff;
	padding-top: 8%;
}
#contents * {
	box-sizing: border-box;
}


#contents .column1 {
	width: 86%;
	padding: 0;
	margin: auto;
	background: none;
}
#contents h2 {
	text-align: center;
	padding: 0 5%;
	margin: 0 auto 3em;
}
#contents h2 span {
	display: block;
	padding-bottom: 4%;
}
#contents h2 img {
	width: 100%;
	height: auto;
}
#contents h3 {
	font-size: 120%;
	margin: 0 auto 1em;
}
#contents h4 {
	font-size: 120%;
	margin: 0 auto 1em;
}
#contents p {
	line-height: 1.9;
}
#contents #sec01 p,
#contents #sec02 p,
#contents #sec03 p {
	/*color: #611718;*/
}
#contents img {
	max-width: 100%;
	display: inline-block;
}

#page_intro {
	position: relative;
	padding: 50% 0% 14%;
	overflow: hidden;
}
#page_intro .column1 {
	padding-top: 5%;
	text-align: center;
}
#page_intro::before {
	content: "";
	display: block;
	width: 46%;
	aspect-ratio: 397 / 469;
	background: url("../images/intro_map.png") no-repeat;
	background-size: cover;
	position: absolute;
	z-index: -1;
	top: -1%;
	left: 54%;
}
#page_intro .intro {
	margin-bottom: 60%;
}
#page_intro p {
	letter-spacing: 0.1em;
	line-height: 2.1;
	font-size: 1.5rem;
}
#page_intro p + p {
	margin-top: 2em;
}
#page_intro img {
	max-width: 100%;
	height: auto;
}
#page_intro .flip {
	position: absolute;
	width: 30%;
}
#page_intro .flip.img1 {
	top: 0%;
	left: 30%;
}
#page_intro .flip.img2 {
	top: 10%;
	left: 5%;
}
#page_intro .flip.img3 {
	bottom: 23%;
	left: 3%;
}
#page_intro .flip.img4 {
	bottom: 15%;
	left: 35%;
}
#page_intro .flip.img5 {
	bottom: 19%;
	right: 3%;
}
#page_intro .btnwrap {
	max-width: 90%;
	margin: auto;
}


.btn {
	border-radius: 2em;
	background-color: #fff;
	color: #000;
	text-align: center;
	display: inline-block;
	margin: 0px auto;
	padding: 10px 0;
	position: relative;
	font-size: 16px;
	line-height: 1;
	box-sizing: border-box;
	text-decoration: none !important;
}
.btn.main {
	background: #d85b5b;
	width: 100%;
	max-width: 650px;
	color: #fff !important;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 1em 1.5em;
	border-radius: 6px;
}
.btn.main::before {
	content: "";
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	border: #d85b5b 2px solid;
	border-radius: 6px;
	box-sizing: border-box;
	left: 5px;
	top: 5px;
}
.btn.main::after {
	content: "";
	position: absolute;
	display: block;
	height: 8px;
	width: 8px;
	border-top: #fff 3px solid;
	border-right: #fff 3px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 20px;
	top: 50%;
	margin-top: -5px;
}
.btn.more {
	width: 60%;
	color: #14808d !important;
	font-weight: bold;
	letter-spacing: 0.05em;
	padding: 1em 1.5em;
	border: #14808d 2px solid;
	border-radius: 6px;
	box-shadow: #fff 3px 5px 0 0, #14808d 3px 5px 0 2px;
}
.btn.more::after {
	content: "";
	position: absolute;
	display: block;
	height: 8px;
	width: 8px;
	border-top: #14808d 2px solid;
	border-right: #14808d 2px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	right: 20px;
	top: 50%;
	margin-top: -5px;
}
.btn.more small {
	font-size: 65%;
	letter-spacing: 0;
}


#sec01 {
	background: url("../images/sec01_bg.jpg") top center repeat;
	padding: 18% 0 0;
}
#sec02 {
	background: url("../images/sec02_bg.jpg") top center repeat;
	padding: 18% 0 0;
}
#sec03 {
	background: url("../images/sec03_bg.jpg") top center repeat;
	padding: 18% 0 10%;
}
#event {
	padding: 18% 0 10%;
}
#recommend {
	background: url("../images/reco_bg.jpg") top center repeat;
	padding: 18% 0 10%;
}
#contents .arrow {
	width: 20%;
	margin: auto;
	text-align: center;
	transform: translateY(40%);
}

.spot {
	max-width: 1050px;
	margin: 0 auto 2em;
}
#contents .swiper-wrapper {
  padding-bottom: 40px;
}
#contents .swiper-pagination {
	text-align: center;
}
#contents .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
	opacity: 1;
	background: none;
	border: #a7a7a7 1px solid;
	border-radius: 10px;
}
#contents .swiper-pagination-bullet-active {
  background: #a7a7a7;
	border: #a7a7a7 1px solid;
}


#sec01 .spotwrap .spot {
	position: relative;
	display: flex;
	flex-direction: column;
	text-align: left;
	z-index: 1;
	margin-bottom: 23%;
}
#sec01 .spotwrap .spot:nth-child(1) {
	flex-direction: column-reverse;
	margin-bottom: 10%;
}
#sec01 .spotwrap .spot:nth-child(1) .slidewrap {
	margin-top: 10%;
}
#sec01 .spotwrap .spot .slidewrap::before {
	content: "";
	display: block;
	width: 2px;
	height: 18%;
	border-left: #502b0a 2px dashed;
	position: absolute;
	bottom: 90%;
	left: 50%;
	z-index: 0;
}
#sec01 .spotwrap .spot:nth-child(1) .slidewrap::before {
	content: "";
	display: none;
}
#sec01 .spotwrap .spot:last-child {
	margin-bottom: 10%;
}
#sec01 .spotwrap h3 {
	text-align: center;
	margin-bottom: 0.3em;
}
#sec01 .spotwrap h4 {
	text-align: center;
}
#sec01 .spotwrap h4 img {
	height: 60px;
	width: auto;
}
#sec01 .spotwrap p.linehead {
	padding-left: 2em;
	margin-top: 1em;
}
#sec01 .fuki1 {
	width: 40%;
	position: absolute;
	right: 60%;
	bottom: -8%;
}
#sec01 .fuki2 {
	width: 40%;
	position: absolute;
	right: 45%;
	bottom: 30px;
}


#sec02 .txtwrap {
}
#sec02 .spotwrap .spot {
	margin-bottom: 10%;
}
#sec02 .swiper-wrapper {
  padding-bottom: 10px;
}
#sec02 .spotwrap h3 {
	text-align: center;
	margin-bottom: 0.3em;
}
#sec02 .spotwrap h4 {
	text-align: center;
}
#sec02 .spotwrap h4 img {
	height: 60px;
	width: auto;
}
#sec02 .spotwrap p.linehead {
	padding-left: 2em;
}


#sec03 .column1 {
}
#sec03 .spotwrap .spot {
	margin-bottom: 30%;
}
#sec03 .spotwrap .spot h3 {
	text-align: center;
	padding-top: 0.5em;
}


#sec03 .btnwrap {
	width: 86%;
  margin: 0 auto 5em;
}

#sec03 .attention {
	width: 90%;
	background: #f9f7f1;
	padding: 1.5em;
	margin: auto;
}
#sec03 .attention .note {
	padding-top: 0;
	font-size: 100%;
}

#souvenir {
	margin-top: -25%;
	padding-top: 25%;
}
.kakomi {
	display: block;
	background:  url("../images/sec03_kakomi_bg_sp2.png") no-repeat bottom center, url("../images/sec03_kakomi_bg_sp.png") no-repeat top center;
	background-size: 100% auto,100% auto;
	margin: 0 -7%;
}
.kakomi .inner {
	padding: 0 5% 15%;
}
.kakomi h4 {
	width: 70%;
	text-align: center !important;
	margin-bottom: 0 !important;
	transform: translateY(-18%);
	position: relative;
}
.kakomi h4 .fuki3 {
	width: 30%;
	position: absolute;
	bottom: 50%;
	left: 90%;
}
.kakomi h5 {
	text-align: center;
	padding-top: 0.5em;
	margin-bottom: 1em;
}
.kakomi h5 img {
	width: 55%;
	height: auto;
}
.kakomi .flex li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 6%;
}
.kakomi .flex li div {
	order: 1;
	width: 45%;
}
.kakomi .flex li h5 {
	width: 100%;
}
.kakomi .flex li p {
	order: 2;
	width: 50%;
}
.kakomi .flex li:nth-child(2) div {
	order: 2;
}
.kakomi .flex li:nth-child(2) p {
	order: 1;
}
.kakomi .slide {
	text-align: center;
}
#sec03 .kakomi p {
	font-size: 90%;
	line-height: 1.8;
}
#sec03 .kakomi p.lead {
	text-align: center;
	font-size: 100%;
}



#event .spotwrap .spot {
	margin-bottom: 8%;
}
#event .spotwrap .spot .mv {
	position: relative;
}
#event .spotwrap .spot .mv .txt {
	width: 100%;
}
#event .spotwrap .spot h3 {
	text-align: center;
	margin-top: 8%;
}
#contents #event .linehead {
	padding-left: 2em;
	margin-top: 2em;
}
#contents #event .linehead::before {
	transform: rotate(3deg);
}
#event .spotwrap .spot .flex .btnwrap {
	width: 100%;
	text-align: center;
	margin-top: 8%;
}




#recommend .spotwrap .spot {
	text-align: left;
	margin-bottom: 18%;
}
#recommend .spotwrap .midasi {
	width: 100%;
	text-align: center;
	font-size: 125%;
	font-weight: 900;
  letter-spacing: 0.03em;
	position: relative;
	margin-bottom: 1em;
	line-height: 1;
}
#recommend .spotwrap .midasi span {
	position: relative;
	display: inline-block;
	width: 100%;
	margin: auto;
	line-height: 1.4;
	color: #dd7785;
}
#recommend .spotwrap .spot:nth-child(2) .midasi span {
	color: #314682;
}
#recommend .spotwrap .spot:nth-child(3) .midasi span {
	color: #9567ac;
}
#recommend .spotwrap .midasi span::before,
#recommend .spotwrap .midasi span::after {
	content: "";
	display: block;
	width: 10px;
	height: 100%;
	border-top: #dd7785 3px solid;
	border-bottom: #dd7785 3px solid;
	box-sizing: border-box;
	position: absolute;
	top: 0;
}
#recommend .spotwrap .midasi span::before {
	border-left: #dd7785 3px solid;
	left: 0;
}
#recommend .spotwrap .midasi span::after {
	border-right: #dd7785 3px solid;
	right: 0;
}
#recommend .spotwrap .spot:nth-child(2) .midasi span::before,
#recommend .spotwrap .spot:nth-child(2) .midasi span::after {
	border-top: #314682 3px solid;
	border-bottom: #314682 3px solid;
}
#recommend .spotwrap .spot:nth-child(2) .midasi span::before {
	border-left: #314682 3px solid;
	left: 0;
}
#recommend .spotwrap .spot:nth-child(2) .midasi span::after {
	border-right: #314682 3px solid;
	right: 0;
}
#recommend .spotwrap .spot:nth-child(3) .midasi span::before,
#recommend .spotwrap .spot:nth-child(3) .midasi span::after {
	border-top: #9567ac 3px solid;
	border-bottom: #9567ac 3px solid;
}
#recommend .spotwrap .spot:nth-child(3) .midasi span::before {
	border-left: #9567ac 3px solid;
	left: 0;
}
#recommend .spotwrap .spot:nth-child(3) .midasi span::after {
	border-right: #9567ac 3px solid;
	right: 0;
}
#recommend .spotwrap .midasi::before {
	left: 0;
}
#recommend .spotwrap .midasi::after {
	right: 0;
}
#recommend .spotwrap h3 {
	text-align: center;
}

#recommend .spotwrap .btnwrap {
	text-align: center;
	padding-top: 2em;
}



#contents .linehead {
	position: relative;
	padding-left: 1em;
	font-size: 90%;
}
#contents .linehead::before {
	content: "";
	display: block;
	width: 2px;
	height: 100%;
	background: #502b0a;
	transform: rotate(10deg);
	transform-origin: 0% 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.disclaimer {
	margin: 8% auto 0;
	font-size: 1.4rem;
	text-align: left;
	padding: 0;
	background: none;
	border-radius: 0;
}


.accessBox {
	margin: 0;
}
.accessBox .map {
  margin: 0;
}
#access {
	padding: 10% 0 10%;
}
#access h2 {
	max-width: 100%;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	margin-bottom: 1em;
}
#access h2::before,
#access h2::after {
	content: "";
	display: block;
	background: #502b0a;
	height: 3px;
	width: 16%;
	position: absolute;
	top: 50%;
}
#access h2::before {
	left: 0;
}
#access h2::after {
	right: 0;
}

#access .accessBox {
	width: 100%;
}
#access .accessBox .map {
  margin: 0 0 10px;
}
#access .route {
	float: none;
	margin: 0 0 5%;
}
#access .route dl {
	width: 100%;
	text-align: left;
	padding: 1em 0;
}
#access .route dl + dl {
	margin-top: 5%;
}
#access .route dl dt {
	padding-bottom: 1em;
}
#access .route dl dd {
	font-size: 94%;
}
#access .route dl dd + .head {
	margin-top: 1em;
}



#search h2 {
	max-width: 100%;
	font-size: 2rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	margin-bottom: 1em;
}
#search h2::before,
#search h2::after {
	content: "";
	display: block;
	background: #502b0a;
	height: 3px;
	width: 16%;
	position: absolute;
	top: 50%;
}
#search h2::before {
	left: 0;
}
#search h2::after {
	right: 0;
}



#inquiry {
	padding: 10% 0;
	background: #f2f2f2;
}
#newetiquette {
	margin: 0 auto 10%;
	background: #fff;
	border: #611717 1px solid;
	padding: 15px 0;
	color: #611717;
}
#newetiquette a {
  color: #0059B2!important;
}
#pageInquiry .inquiryTable {
	margin: 10% auto 0;
}
#pageInquiry th,
#pageInquiry td {
	color: #101010;
}
#pageInquiry th {
	text-align: left;
	background: #d7d7d7;
}
#pageInquiry td {
	background: #ffffff;
}









