@charset "utf-8";
/* CSS Document */

/* =========================
	body
========================= */

body {
	background:  #fff;
	font-size: 16px;/*13px*/
	font-family: "メイリオ", "Meiryo", sans-serif;
	line-height: 1.7em;/*2em*/
	color: #333;
}

@supports (-ms-ime-align: auto) and (-webkit-text-stroke: initial) { body {
		font-family: "メイリオ", "Meiryo", sans-serif;
	}
}


p {
}

img {
	margin: 0;
	padding: 0;
	max-width: 100%;
	border: none;
}

a:link,
a:visited {
	font-weight: bold;
	color: #693e52;
	text-decoration: underline;
	word-break: break-all;
}

a:focus {
	outline: none;
}

table {
	width: 100%;
	margin-bottom: 10px;
	border-collapse: separate;
	word-break: break-all;
	border-spacing: 2px;
}

tr{
}

th,
td{
	padding: 4px 7px;
	/*border: 1px solid #978500;*/
}

th {
	background: rgba(3,104,176,.12);
	width: 25%;
	font-weight: normal;
	white-space: nowrap;
	text-align: left;
}

td {
	background: rgba(3,104,176,.05);
	word-break: break-all;
	text-align: left;
}

ul {
	padding: 0;
	list-style-type: none;
}
ol {
	padding-left: 10px;
	list-style-type: decimal outside;
}

dl dd{
	margin: 0;
}

#tabs {
	max-width: 700px;
	margin: 30px auto;
	padding: 0;
}

div[data-role=navbar] ul li {
	overflow: hidden;
}

div[data-role=navbar] ul li a {
	padding: 15px 0;
	background: url(../img/guestroom/guestroom_link2.png) no-repeat center center;
	background-size: 98% 100%;
	line-height: 0;
}

div[data-role=navbar] .ui-btn-active {
	background: url(../img/guestroom/guestroom_link1.png) no-repeat center center;
	background-size: 98% 100%;
}


/* =========================
	logo
========================= */

h1 {
	margin: 0;
	padding: 10px 10%;
	line-height: 0;
	text-align: center;
	/*background: url(../img/all/header-back.png) top left repeat-x;*/
}

#index h1 img {
	width: 60%;
	max-width: 273px;
	margin-bottom: 10px;
}

h1 img {
	width: 60%;
	max-width: 273px;
}

.header_inner {
	background: url(../img/all/header_back.png) repeat-x left top;
}

#index .header_inner{
	background: url(../img/index/indexmenu_bot.png) repeat-x left -30px;
	padding-top: 5px;
	z-index: 1;
}

/* =========================
	slider
========================= */

.slider_box {
	position: relative;
	max-width: 800px;
	margin: 0 auto;
	line-height: 0;
	text-align: center;
	z-index: -1;
}
#room .sub_box .room-img{
width:min(100%, 510px);
    height:auto;
    margin:0 auto;
    aspect-ratio:51 / 34;
}
#room .sub_box .slider{
    width:100%;
    height:auto;
    margin:0 auto;
}
#room .sub_box img,
#room .sub_box video{
    width:100%;
    height:100%;
    object-fit: cover;
}
/* =========================
	g_menu
========================= */

.g_menu {
	min-height: 1em;
	line-height: 1em;
	margin: 0;
	padding-top: 0px;
	padding-bottom: 10px;
	background: url(../img/all/nav-back.png) no-repeat  -15px center;
	text-align: center;
}

.g_menu a {
	display: inline-block;
	width: 50%;
	max-width: 350px;
}

.g_menu img {
	max-width: 180px;
}

#index .index_header .nav-bottom{
	position: absolute;
	top: -134px;
	width: 100%;
	height: 134px;
	z-index: 100;
	box-shadow: 0 4px 5px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 4px 5px rgba(0,0,0,0.5);
	-moz-box-shadow: 0 4px 5px rgba(0,0,0,0.5);
	background: none;
}
.nav-bottom {
	background: url(../img/all/wave.png) left center repeat-x;
	position: absolute;
	top: -18px;
	width: 100%;
	height: 35px;
	z-index: 100;
}
.wave-bottom {
	background: url(../img/all/wave.png) left center repeat-x;
	position: absolute;
	margin-top: -10px;
	width: 100%;
	height: 35px;
	z-index: 200;
}

/* =========================
	menu
========================= */

.menu {
	margin: 0 ;
	padding-top: 3px;
	background: /*rgba(116,134,63,.2)*/rgba(255,255,255,.3);
}

.menu ul {
	width: 90%;
	max-width: 700px;
	margin: 0 auto;
	padding: 0;
}

.menu ul li {
	background: url(../img/menu/menu_border.png) no-repeat bottom center / 100% auto;
	/*border-bottom: #a0a0a0 1px solid*/;
	line-height: 0;
	list-style: none;
}

.menu ul li:last-child {
	border-bottom: none;
}

.menu ul li a {
	display: block;
	padding: 6px 10px;
	background: url(../img/menu/arrow.png) no-repeat 95% 50%;
	background-size: auto 14px;
	text-decoration: none;
}


/* =========================
	footer_menu
========================= */

.footer_menu {
	margin: 0 auto;
	padding: 0 5% 50px;
	background:  ;
	text-align: center;
}

.footer_menu img {
	margin-top: 30px;
}


/* =========================
	f_menu
========================= */

.f_menu {
	margin: 0;
	background: ;
}

.f_menu:after {
	content: "";
	display: block;
	clear: both;
}

.f_menu img {
	max-width: 160px;
}

.f_menu ul {
	max-width: 700px;
	margin: 0 auto;
}

.f_menu li {
	float: left;
	width: 50%;
	padding: 5px 0;
	line-height: 0;
	text-align: center;
	list-style: none;
}


/* =========================
	footer
========================= */

#index .footer {
	margin: 0;
	padding: 110px 0 0 0;
	background: url(../img/index/indexfotter_dot.png) top center repeat-x;
}

.footer {
	margin: 0;
	padding: 0;
	background: url(../img/all/footer_back.png) top center repeat-x;
}

.footer_inner {
	width: 90%;
	max-width: 600px;
	margin: 0 auto;
	padding: 20px 0 0;
}

.footer_inner img {
	width: 40%;
	max-width: 230px;
}

.footer_inner p {
	margin: 5px 0 5px;
	text-align: center;
	color: #fff;
}

.footer_inner span {
	display: inline-block;
	margin-right: 5px;
}

.copyright {
	background: #0A627E;
	margin: 5px 0 0;
	padding: 5px 0;
	font-size: 11px;
	text-align: center;
}

.copyright p {
	margin: 0;
	color: #fff;
	text-align-last: center;
}

.text-pc_center-sp_left{
    text-align: left!important;
}
@media screen and (min-width:768px){
    .text-pc_center-sp_left{
        text-align: center!important;
    }  
}
/* =========================
	Contents
========================= */

.contents {
	width: 96%;
	max-width: 700px;
	margin: 0 auto;
}

.contents p {
	padding: 0 2%;
}

#index .link a {
	display: block;
	width: 60%;
	max-width: 200px;
	margin: 0px auto 30px;
	padding: 15px 20px;
	background: #009363;
	border: 1px double rgba(255,255,255,0.3);
	box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	-webkit-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	font-size: 14px;
	font-weight: normal;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
.link a {
	display: block;
	width: 60%;
	max-width: 200px;
	margin: 30px auto;
	padding: 15px 20px;
	background: #0A627E;
	border: 1px double rgba(255,255,255,0.3);
	box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	-webkit-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	font-size: 14px;
	font-weight: normal;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
.link2 a {
	display: block;
	width: 60%;
	max-width: 200px;
	margin: 15px auto 0;
	padding: 8px 10px;
	background: #0A627E;
	border: 1px double rgba(255,255,255,0.3);
	box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	-webkit-box-shadow: 2px 2px 3px 1px rgba(0,0,0,0.2);
	font-size: 14px;
	font-weight: normal;
	color: #fff;
	text-decoration: none;
	text-align: center;
}

.text_contents {
	max-width: 530px;
	margin: 0 auto;
	padding: 1px 15px 15px;
}

.lightbox:after {
	content: "";
	display: block;
	clear: both;
}

.lightbox_info {
	margin: -15px 0 -5px;
	font-size: 11px;
	text-align: center;
}

.inline_block span {
	display: inline-block;
}


/* =========================
	page
========================= */
h3 {
	margin-top: 0;
}

h4.title_text {
	height: auto;
	overflow: hidden;
	padding: 5px 0 5px 15px;
	margin-top: 0;
	margin-bottom: 10px;
	color: #004C85;
	font-size: 1.2em;
	font-weight: bold;
	letter-spacing: 1px;
	border: solid 3px #004C85;
}
h4.title_text > span {
	float: right;
	display: inline-block;
	background: #004C85;
	margin-right: 5px;
	padding: 0 15px;
	color: #fff;
	font-size: 0.8em;
	font-weight: bold;
	letter-spacing: 1px;
}

h4.title_text2 {
	display: block;
}

h4.title_text2 > span.title {
	display: table-cell;
	background: #004C85;
	width: 100%;
	margin-top: 0;
	margin-bottom: 10px;
	padding: 8px 0 5px 10px;
	font-size: 1.2em;
	font-weight: bold;
	color: #fff;
	letter-spacing: 1px;
}
h4.title_text2 > span.no {
	display: table-cell;
	background: #f8a010;
	padding: 8px 10px;
	color: #fff;
	font-size: 1em;
	font-weight: bold;
	letter-spacing: 1px;
	vertical-align: middle;
}


.sub_box {
	margin: 20px auto 10px;
	padding: 10px 0 20px;
}


/*------------------ 追加 index ------------------*/

.header {
	position: relative;
	margin: 0 auto;
}

.index_header {
	margin: 0 auto;
	background: url(../img/index/slider10.jpg) no-repeat bottom center;
	background-size: cover;
}

#index .contents {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;
}
#index .top01 {
	/*background: url(../img/index/content-back_02.jpg) no-repeat center center / cover;*/
	padding-top: 20px;
	padding-bottom: 20px;
}
#index .top01 .text_contents p {
	color: #fff;
	text-shadow: 1px 1px 2px #000,-1px 1px 2px #000,-1px -1px 2px #000,1px -1px 2px #000;
}
#index .top02 {
	/*background: url(../img/index/awa.png) no-repeat left 150px / 200px auto , url(../img/index/content-back_01.jpg) no-repeat center center /cover ;
	padding-bottom: 20px;*/
}
#index .top02 .contents_inner {
	/*background: url(../img/index/title-back.png) no-repeat left bottom / cover ;*/
	padding-bottom: 20px;
	margin: 0 -2%;
}
#index .contents_inner h3 > span {
	display: block;
	color: #3581C4;
	font-weight: bold;
	
}

#index .bg_gray{
	padding-top: 30px;
	padding-bottom: 30px;
	background-color: rgb(242,243,241);
}
#index .bg_gray h3{margin: 0;}
#index .bg_gray p{margin-top: 0;}

#index .top05 {
	/*margin-bottom: 50px;*/
}
#index .top06 {
	background: url(../img/index/content-back_00.jpg) no-repeat center center / cover;
	padding-top: 20px;
	padding-bottom: 20px;
}
#index .top06 .wave-bottom {
	margin-bottom: 30px;
}
#index .top06 h3 {
	margin-bottom: 0;
}
#index .contents ul.plan_bn {
	display: table;
	height: auto;
	overflow: hidden;
	margin: 30px auto;
}
#index .contents ul.plan_bn li {
	background: #ffcc33;
	padding: 0 5px;
	margin-bottom: 20px;
}
#index .contents ul.plan_bn li .text_contents {
	background: rgba(255,255,255,.5);
	margin-bottom: 5px;
}

.ui-btn {
	padding-top: 0.5em;
}

/*.ui-btn-icon-bottom {
	padding-bottom: 2em;
}*/

#index .contents ul.img03 {
	display: table;
	height: auto;
	overflow: hidden;
	margin: 0 auto;
}

#index .contents ul.img03 li.half {
	width: 33%;
	margin-left: 0.5%;
	float: left;
}
#index .contents ul.img03 li.half:first-child {
	margin-left: 0;
}

#index .contents ul.img02 {
	display: table;
	width: 74.5%;
	height: auto;
	overflow: hidden;
	margin: 0 auto;
}

#index .contents ul.img02 li.half {
	width: 49%;
	margin-left: 2%;
	float: left;
}
#index .contents ul.img02 li.half:first-child {
	margin-left: 0;
}

.top-c1_text{
	margin: 10px auto 20px;
}
.top-c1_text strong {
    font-size: 25px;
    background: linear-gradient(transparent 60%, #00D48A 60%);
    text-align: left ;
    color: rgba(44,44,44,1.00);
    /*text-shadow: 2px 2px 2px #000000;*/
	text-shadow: 2px 2px 1px #ffffff;
}
.orange_b {
    color: rgb(255,62,62);
    font-weight: bold;
    text-shadow: 2px 2px 1px #ffffff;
    text-align: left;
}

.bou_text strong {
	color: #333;
    font-size: 25px;
    background: linear-gradient(transparent 60%, #FCDE21 60%);
}
#index .po-adjust01:nth-of-type(1) h3 a{
	background: url(../img/index/season_bg01.jpg);
}
#index .po-adjust01:nth-of-type(1) h3 + div{
	background: #fef;
}
#index .po-adjust01:nth-of-type(2) h3 a{
	background: url(../img/index/season_bg02.jpg);
}
#index .po-adjust01:nth-of-type(2) h3 + div{
	background: #efe;
}
#index .po-adjust01:nth-of-type(3) h3 a{
	background: url(../img/index/season_bg03.jpg);
}
#index .po-adjust01:nth-of-type(3) h3 + div{
	background: #fed;
}
#index .po-adjust01:nth-of-type(4) h3 a{
	background: url(../img/index/season_bg04.jpg);
}
#index .po-adjust01:nth-of-type(4) h3 + div{
	background: #def;
}
/*------------------ spa ------------------*/

.spa_title {
	position: relative;
}

.spa_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background:  url(../img/spa/title_01.png) no-repeat left 80% / 70% auto ,  url(../img/spa/spa.jpg) no-repeat center center;
}
.plan-col .oreange_waku{
	width:95%;max-width:1105px;box-sizing:border-box;text-align: center;border:2px solid #F58833;padding:10px;margin:0px auto 30px;
}
.plan-col .oreange_waku h2{
	width:100%;font-size:1.5em;color:#F58833;margin:0 auto;font-weight:500;background:none;padding:0;text-align:left;
}
.plan-col .oreange_waku a{
	display:block; text-decoration: none;
}
@media screen and (max-width: 320px) {
	.spa_title h2 {
		background-size: 100% auto;
	}
}

#spa .contents {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;
}

#spa .lead {
	background: url(../img/spa/header-back.jpg) no-repeat center center / cover;
	padding-top: ;
	padding-bottom: ;
}

#spa .lead h3 {
	float: right;
	display: table;
	background: rgba(255,255,255,.75);
	height: 100%;
	margin-bottom: 0;
	padding: 40px 50px 30px;
}
#spa .lead:after {
	content: "";
	clear: both;
	display: block;
}
#spa .lead h3 img {
	height: 80%;
}

.blue {
	color: #004C85;
}
	
/*------------------ cuisine ------------------*/

.cuisine_title {
	position: relative;
}

.cuisine_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/cuisine/title_01.png) no-repeat left 80% / 70% auto ,  url(../img/cuisine/cuisine.jpg) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.cuisine_title h2 {
		background-size: 100% auto;
	}
}

#cuisine .contents {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;
}

#cuisine .lead {
	background: url(../img/cuisine/header-back.jpg) no-repeat center center / cover;
	padding-top: ;
	padding-bottom: ;
}

#cuisine .lead h3 {
	float: ;
	display: table;
	background: rgba(255,255,255,.75);
	height: 100%;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 40px 50px 30px;
}
#cuisine .lead:after {
	content: "";
	clear: both;
	display: block;
}

.bf-imgs{
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap:5px;
}
.bf-imgs img{
    width:100%;
    height: auto;
    object-fit: cover; 
}
.bf-imgs img{
    grid-column: span 2; 
}
.bf-imgs img.main_img{
    grid-column: 1 / -1;
}
.bf-imgs img:nth-of-type(2),
.bf-imgs img:nth-of-type(3){
    grid-column: span 3; 
}

/*------------------ room ------------------*/

.room_title {
	position: relative;
}

.room_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/room/title_01.png) no-repeat left 80% / 70% auto , url(../img/room/room.jpg) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.facilities_title h2 {
		background-size: 100% auto;
	}
}

#room .contents {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;
}

#room .lead {
	background: url(../img/room/header-back.jpg) no-repeat center center / cover;
	padding-top: ;
	padding-bottom: ;
}

#room .lead h3 {
	float: right;
	display: table;
	background: rgba(255,255,255,.75);
	height: 100%;
	margin-bottom: 0;
	padding: 40px 50px 30px;
}
#room .lead:after {
	content: "";
	clear: both;
	display: block;
}


/*------------------ facilities ------------------*/

.facilities_title {
	position: relative;
}

.facilities_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/facilities/title_01.png) no-repeat left 80% / 70% auto , url(../img/facilities/facilities.jpg) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.facilities_title h2 {
		background-size: 100% auto;
	}
}

#facilities .contents {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;
}

#facilities .lead {
	background: url(../img/facilities/header-back.jpg) no-repeat center center / cover;
	padding-top: ;
	padding-bottom: ;
}

#facilities .lead h3 {
	float: left;
	display: table;
	background: rgba(255,255,255,.75);
	height: 100%;
	margin-bottom: 0;
	padding: 40px 50px 30px;
}
#facilities .lead:after {
	content: "";
	clear: both;
	display: block;
}


/*------------------ sightseeing ------------------*/

.sightseeing_title {
	position: relative;
}

.sightseeing_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/sightseeing/title_01.png) no-repeat left 80% / 70% auto , url(../img/sightseeing/sightseeing.jpg) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.sightseeing_title h2 {
		background-size: 100% auto;
	}
}

/*------------------ access ------------------*/

.access_title {
	position: relative;
}

.access_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/access/title_01.png) no-repeat left 80% / 70% auto , url(../img/access/access.jpg) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.access_title h2 {
		background-size: 100% auto;
	}
}

#access .contents {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;
}

#access .lead {
	background: url(../img/access/background.jpg) no-repeat center bottom / 100% auto;
	padding-top: ;
	padding-bottom: 100px;
}

.large {
	font-size: 1.2em;
	font-weight: bold;
}

/*------------------ reservation ------------------*/

.reservation_title {
	position: relative;
}

.reservation_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/reservation/title_01.png) no-repeat left 80% / 70% auto , url(../img/reservation/reservation.jpg) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.reservation_title h2 {
		background-size: 100% auto;
	}
}


/*------------------ plan ------------------*/

.plan_title {
	position: relative;
}

.plan_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/plan/title_01.png) no-repeat left 80% / 70% auto , url(../img/plan/plan.jpg) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.plan_title h2 {
		background-size: 100% auto;
	}
}

#plan ul.tab {
	background: block;
	height: auto;
	overflow: hidden;
	margin: 20px auto 10px;
	padding: 10px 0 10px;
}
#plan ul.tab li {
	/*display: inline-block;*/
	/*float: left;*/
	background: #0368b1;
	/*width: 44%;*/
	/*margin-left: 2%;*/
	margin-bottom: 1%;
	padding: 5% 2%;
	color: #fff;
	text-decoration: none;
}

#plan ul.tab a:nth-of-type(2n+1) li {
	margin-left: 0;
}

#plan dl {
	display: block;
	max-width: 600px;
	margin: 20px auto 10px;
	padding: 10px 0 10px;
}
#plan dl.point {
	display: block;
	margin: 20px auto 10px;
	padding: 10px 0 20px;
}

#plan dl dt.title {
	margin-bottom: 10px;
	text-align: center;
}
#plan dl dt.img {
	text-align: center;
}

#plan dl dd.img {
	text-align: center;
}
#plan dl dd.text {
	max-width: 520px;
	padding: 0 2%;
}

#plan ol {
	background: block;
	height: auto;
	overflow: hidden;
	padding-left: 25px;
}

#plan table.price th ,
#plan table.price td  {
	width: 50%;
}

/*------------------ movie ------------------*/

.movie_contents {
	width: 96%;
	max-width: 700px;
	margin: 30px auto 0;
}

.movie_contents p,
.movie_contents h2 {
	margin: 50px 0 20px;
	text-align: center;
	color: #004c85;
}

.movie_contents span {
	display: inline-block;
}

.movie_contents strong {
	display: inline-block;
	margin: 0 10px;
}

.movie {
	padding: 0;
}

.movie_box {
	margin: 10px 0 30px;
}


/* =========================
	add
========================= */

/*------------------ float ------------------*/

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.clear {
	clear: both;
}

.float_clear:after {
	content: "";
	display: block;
	clear: both;
}

.float_left {
	float: left;
}

.float_right {
	float: right;
}

.img_left {
	width: 49%;
	float: left;
	margin: 1% 0;
	line-height: 0;
	text-align: left;
}

.img_right {
	width: 49%;
	float: right;
	margin: 1% 0;
	line-height: 0;
	text-align: right;
}

.attention {
	color: red;
}

/*------------------ margin ------------------*/

.m0 {
	margin: 0;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mt50 {
	margin-top: 50px;
}

.mt70 {
	margin-top: 70px;
}


/*------------------ line_height ------------------*/

.line_height {
	line-height: 0;
	text-align: center;
}


.oshirase {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #FFF;
    background: #1dc1d6;
    border-top: solid 6px #e4fcff;
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
}
.oshirase p {
    margin: 0 auto; 
    padding: 0;
	text-align:center;
	color:#FFF;
}


/*------------------ 追加 ------------------*/

#index .top07 {
	padding-bottom: 20px;
}
#index .top07 .wave-bottom {
	margin-bottom: 30px;
}
#index .top07 h3 {
	margin-bottom: 0;
}h2 .red {
	color: #C00;
}

#index .top08 {
	
}
.ido3 {
    margin: 0 0 0 10px;
    padding: 5px;
    color: #fff !important;
	text-shadow: none ;
    background: #38A6C1;
}

.index_nav {
    padding: 0px;
    width: 100%;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
}
.index_nav nav.ido_index ul li {
    display: inline-block;
    vertical-align: bottom;
    width: 100%;
	max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}
.index_nav nav.ido_index ul li.nomal a {
    background-color: #fff;
    border: 1px dotted #aaa;
}
.ido_index a {
    display: block;
    margin-top: 20px;
    padding: 16px 16px 16px 16px;
    text-align: center;
    background-color: #FCDE21;
    background-image: url(../img/index/arrow.png);
    background-position: 16px 50%;
    background-repeat: no-repeat,repeat;
    font-size: 14px;
    font-weight: bold;
}

.sub_title .no{
	padding: 15px;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #F8A010;
	width: 30px;
}
.sub_title .sub_plantitle{
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background: #0368B1;
}

#index .ichioshi{
	display:flex;
	flex-wrap: wrap;
	box-sizing: border-box;
    display:grid;
    grid-template-columns: 1fr;
    margin-top: 0;
}
.ichioshi li{
	width: 100%;
	height:auto;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	position: relative;
    display:grid;

}
.ichioshi li.topmain{
    grid-column: 1 / -1;
	width: 100%;
	margin: 0;
	padding: 0;
}
.ichioshi li .under{
	position: absolute;
    display: grid;
    width: 100%;
  	height:100%;
    top: 0;
    background: rgba(0,0,0,0.2);
	z-index: 0;
    place-items:center;
    place-content:center;
}


.ichioshi li img{
	width: 100%;
	height:100%;
    object-fit: cover;
	margin: 0;
	padding: 0;
}
@media screen and (min-width:481px){
#index .ichioshi{
	box-sizing: border-box;
    grid-template-columns: 1fr 1fr;
}    
}
@font-face{
  font-family: 'logotype_g';
  src: url('fonts/logotype_g.woff') format('woff');
}

.logotype_font{font-family: 'logotype_g';}

.ichioshi li h2{
    box-sizing: border-box;
    opacity: 1;
	width:100%;
	color:#fff;
	font-size:clamp(22px,2.4vw,24px);
   position: absolute;
   top: 22%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	font-family: 'logotype_g';
	font-weight:600;
	text-shadow:1px 1px 2px rgba(0,0,0,1),1px 1px 2px rgba(0,0,0,1),1px 1px 2px rgba(0,0,0,1);
	z-index: 1;
	line-height: 1.3;
    letter-spacing: 0.2rem;
    padding-inline:5px;
}
.ichioshi li.topmain h2{
	width: 100%;
	margin: 0;
	padding: 0;
	top: 25%;
}
.ichioshi li.planlist h2{
   top: 40%;
}
.ichioshi li h2 + h4{
	font-size:clamp(11px,0.8vw,16px);
	text-align: center;
	color:#fff;
	position: absolute;
   bottom: 50px;
   left: 50%;
   -webkit-transform: translateX(-50%);
   transform: translateX(-50%);
	font-family: 'logotype_g';
	font-weight:400;
	padding: 3px 10px;
	background: rgba(0,0,0,0.65);
	border-radius: 5px;
	line-height: 1.2;
	width:75%;
	height:auto;
	display:inline-block;
	margin:0 auto;
	vertical-align: middle;
	box-sizing: border-box;
}
.ichioshi li h2 span{
	font-size:calc(100% * 0.8);
}
.ichioshi li h3.shousai{
	width:40%;
	min-width:80px;
	color:#00A73C;
	font-size:9px;
   position: absolute;
   bottom: 10px;
   left: 50%;
   -webkit-transform: translate(-50%, -5px);
   transform: translate(-50%, -5px);
	font-family: serif;
	/*font-family: "Rounded Mplus 1c";*/
	font-weight:700;
	line-height:1.1em;
	padding:5px 8px;
	background:#fff;
	z-index: 1;
	text-align: center;
}
.autoplay{
	width: 100%;
	margin-top: 20px;
}
.autoplay img{
	width: 100%;
}

.pageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
}
.pageTop a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
.pageTop a:hover {
    text-decoration: none;
    background: #999;
}

.oshirase-plan-wrap,.oshirase-plan-wrap *{
    box-sizing:border-box;
}

.oshirase-plan-wrap{
    width:100%;
    height:auto;
    margin:0px auto;
     display:grid;
    place-items:center;
    background:#FFEDD6;
    padding:60px 20px;
    gap:20px 0;
}
.oshirase-plan{
    width:min(98%,1000px);
     display:grid;
    grid-template-columns: 1fr;
    overflow: hidden;
}

.oshirase-plan > img.oshirase_bg{
    grid-column: 1 / -1;
    grid-row: 1 / 2;
    width:100%;
    height:100%;
    object-fit: cover;
    overflow: hidden;
    object-position: left 5% bottom 0;
    opacity: 0.8;
    z-index: 1;
    border-radius: 5px;
}
.oshirase-plan-wrap > .oshirase-plan{
    place-items:center;
    place-content:center;
}
.oshirase-plan > div{
    width:100%;
    height: 100%;
     display:grid;
    gap: 10px;
    z-index: 2;
    margin: 0 auto;
    padding:25px 60px 35px;
    background:rgba(255,255,255,0.60);
    border:4px solid #AA4861 ;
    box-shadow: 0 0 40px rgba(0,0,0,0.2);
    border-radius: 5px;
    grid-column: 1 / -1;
    grid-row:1 / 2;
    overflow: hidden;
    grid-template-columns: 1fr;
}

.oshirase-plan h2{
    display:inline-block;
    font-size:1.6rem;
    text-align: center;
    line-height:1.3;
    margin:0;
    padding:0;
    color:#000;
    margin-bottom: 10px;
    width: 100%;
}
.oshirase-plan h3{
    display:inline-block;
    text-align: center;
    margin-bottom: 0px;
    width: 100%;
    padding: 5px 10px;
    background: rgba(255,255,255,0.3);
    border-radius: 30px;
    box-shadow: inset 10px 15px 40px rgba(166,25,41,0.15),inset -10px -15px 40px rgba(166,25,41,0.15);
    color:rgba(181,0,61,1.00);
    font-size: clamp(18px,1.8vw,22px);
    line-height: 1.4;
    -webkit-backdrop-filter: blur(5px);
backdrop-filter: blur(5px);
    mix-blend-mode: multiply;
}
.oshirase-plan h3 + a{
    font-size: 18px;
    text-align: right;
    justify-self: end;
    display: inline-block;
    padding: 5px 15px;
    background: #1F831D; 
/*    padding-right: 6%;*/
    margin-bottom:15px;
    color: #fff;
    border-radius: 20px;
    box-shadow: 2px 3px 0 rgba(31,4,4,0.80);
    position: ease-out 0.5s;
    margin-right: 3%;
    text-decoration: none;
}
.oshirase-plan h3 + a:hover{
    opacity: 0.7;
    text-decoration: none;
}

.oshirase-plan .bou_text{
   font-size: 16px;
    line-height: 1.4;
    margin:10px;
}
.oshirase-plan .bou_text strong{
    font-size: 18px;
}
.oshirase-plan li{
    text-align: left;
}
.oshirase-plan > div > p{
    padding: 10px 30px;
    background:rgba(255,255,255,0.8);
    box-shadow:3px 3px 0 rgba(0,0,0,0.3);
    width: 95%;
    display: grid;
    grid-template-columns: 1fr 2.5fr;
    gap: 20px;
    margin:0 auto 5px;
}
.oshirase-plan > div > p span{
    display: grid;
    align-content: center;
    color:rgba(37,20,25,1.00);
    font-size:1.3rem;
    text-align: left;
    line-height:1.5;
    letter-spacing:0.1em;
    padding:5px 5px;
}
.oshirase-plan > div > p img{
    width: 100%;
    height: 100%;
/*    aspect-ratio: 10 / 6;*/
    object-fit: cover;
}
.oshirase-plan li.waku_wrap{
    padding:0px;
    display: grid;
    place-items: center;
    gap: 20px 0;
}
.oshirase-plan li .waku{
    width:100%;
    height: auto;
    background: #fff;
    padding:15px;
    display: grid;
    place-items: center;
    text-align: center;
    filter: drop-shadow(5px 5px 0 rgba(100,0,28,0.8));
}
.oshirase-plan li .waku h4{
    color:#E52F62;
    font-size: 18px;
    text-align: center;
    padding-bottom:10px;
}


@media screen and (max-width:480px){
.oshirase-plan > div > p{
    grid-template-columns: 1fr;
    padding: 10px 15px;
    width: 100%;
    gap: 10px;
    margin: 0 auto 5px;
}
.oshirase-plan > div > p span{
    font-size:18px;
    text-align: left;
    line-height:1.3;
    padding-top: 0;
}
.oshirase-plan > div > p img{
    height: auto;
}
}

.oshirase-plan p span.narabu{
   display:grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: start;
    gap:10px;
}
.oshirase-plan p span.under{
   background: linear-gradient(transparent 50%, yellow 50%); 
}
.oshirase-plan p span.bigger{
    font-size: calc(100% * 1.2);
}
.oshirase-plan p span.price{
   color:red;
    font-size: calc(100% * 1.5);
}

.oshirase-plan h2 span.black {
    color: #000;
}

.oshirase-plan h2 span {
    font-size: calc(100%* 0.8);
}

.oshirase-plan-wrap > .oshirase-plan{
    place-items:center;
    place-content:center;
}
.oshirase-plan > div{
    margin: 0 auto;
    padding:clamp(20px,3vw,30px) clamp(15px,5vw,50px) clamp(20px,3.5vw,35px);
    background:rgba(255,255,255,0.70);
/*    border-radius: 20px;*/
    box-shadow: 0 0 40px rgba(0,0,0,0.2);
    border:6px solid red ;
    border-radius: 5px;
    grid-column: 1 / -1;
    grid-row:1 / 2;
}
.oshirase-plan h2{
    text-align: center;
    margin-bottom: 10px;
    width: 100%;
    padding: 0;
    font-size: clamp(18px,5vw,50px);
    line-height: 1.4;
    color: red;
}
.color-pink{
    color: pink!important;
}
.border-pink{
    border-color: pink!important;
}
.color-darkpink{
    color: rgba(255,28,119,1.00)!important;
}
.border-darkpink{
    border-color: rgba(255,28,119,1.00)!important;
}
.oshirase-plan h2 .grade{
    background-color: #FFCC70;
background-image: linear-gradient(43deg, #4260FF 10%, #FF316B 30%, #FFAE00 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

}

.oshirase-plan h2 .grade .smaller{
 filter: none;     
}
.oshirase-plan h2 span.bigger{
    font-size: calc(100% * 1.5);

}
.oshirase-plan h2 span.smaller{
    font-size: calc(100% * 0.65);
}

.oshirase-plan h3 + a:hover{
    opacity: 0.7;
    text-decoration: none;
}
.oshirase-plan h4{
    font-size: 1.1rem;
    text-align: center;
    color:#D52863;
    line-height: 1.4;
    margin:0;
    text-shadow: 
    #ffffff 2px 0px 2px, #ffffff -2px 0px 2px,
    #ffffff 0px -2px 2px, #ffffff -2px 0px 2px,
    #ffffff 2px 2px 2px, #ffffff -2px 2px 2px,
    #ffffff 2px -2px 2px, #ffffff -2px -2px 2px,
    #ffffff 1px 2px 2px, #ffffff -1px 2px 2px,
    #ffffff 1px -2px 2px, #ffffff -1px -2px 2px,
    #ffffff 2px 1px 2px, #ffffff -2px 1px 2px,
    #ffffff 2px -1px 2px, #ffffff -2px -1px 2px,
    #ffffff 1px 1px 2px, #ffffff -1px 1px 2px,
    #ffffff 1px -1px 2px, #ffffff -1px -1px 2px;
}
@media screen and (max-width:480px){
.oshirase-plan h4:last-of-type{
    text-align: left;
}
.oshirase-plan ul li h4{
    text-align: left;
} 
}

.oshirase-plan .bou_text{
   font-size: 30px;
    line-height: 1.6;
    margin:10px;
}
.oshirase-plan ul{
    background:#FFE9F2;
     padding:10px 10px;
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap:10px;
    margin:0;
}
.oshirase-plan ul.blue_bg{
/*    background: #00b2c4;*/
    background: linear-gradient(0deg, rgba(0,178,196,0.2), rgba(0,178,196,0.2)), 
        linear-gradient(0deg, #fff, #fff);
}
.oshirase-plan .plan-title {
    width: 100%;
    position: relative;
    padding: 10px 15px 8px 65px;
    color: #fff;
    text-align: left;
    background: #0368B1;
    font-size: 18px;
    font-weight: bold;
    display: block;
}
.oshirase-plan li{
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: 3px;
}
.oshirase-plan li .waku p,
.oshirase-plan li > p{
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0px;
    width:100%;
    padding-inline:0px;
    margin:0;
    text-align: center;
}
.oshirase-plan li.plan-title{
    position: relative;
    padding: 10px 15px 8px 65px;
    color: #fff;
    text-align: left;
    background: #0368B1;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.2;
/*    white-space: nowrap;   */
}
.oshirase-plan .plan-title .no{
    position: absolute;
    top: 0;
    left: 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 100%;
    box-sizing: border-box;
    background: #F8A010;
    font-size: 18px;
    font-weight: bold;   
}

.oshirase-plan .imgs{
    width:min(98%,800px);
    margin:10px auto 15px;
    display: grid;
    gap:5px;
}

.oshirase-plan .imgs.gallery{
   grid-template-columns: repeat(auto-fit,minmax(45px,1fr));
   grid-template-rows: repeat(3,250px);
    grid-auto-rows: auto;
}
.oshirase-plan .imgs.gallery > div{
    overflow: hidden;
}
.oshirase-plan .imgs img{
    width:100%;
    height: auto;
    object-fit: cover;
    border-radius: 5px;
}
.oshirase-plan .imgs.gallery > div img{
    width:100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px; 
    object-position: bottom;
}


.grid_wrap{
    display: grid;
}
.plan-intro{
    display: grid;
    grid-template-columns: 1fr 1fr;
/*    gap: 15px;*/
    gap: 0px;
}
@media screen and (max-width:767px){
.plan-intro{
    grid-template-columns: 1fr;
}   
}
.grid_wrap img{
    width:100%;
    height: auto;
}
.plan-intro h5,
.plan-intro p{
     font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, serif;   
}
.plan-intro h5{
    margin-block: 0 10px;
}
.plan-intro h5.emphasis strong{
    font-size: 22px;
    background: linear-gradient(transparent 60%, #FCDE21 60%);
    line-height: 1.6;
    letter-spacing: 0.05em;
    color:#0368B1;
}
@media screen and (max-width:767px){
    .plan-intro h5.emphasis strong{
        font-size: 20px;
    }
}
.plan-intro p{
   font-size: 16px;
    line-height: 1.6;
    letter-spacing: 1px;
}
.plan-intro-text{
    padding:10px 15px;
    background: #fff;
   
}
.cols-1fr-auto{
    display: grid;
    grid-template-columns: auto 1fr;
    gap:20px;
}
.cols-auto-1fr{
    display: grid;
    grid-template-columns: auto 1fr;
    gap:20px;
}
.cols-1fr-1fr{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:20px;
}


.cols-1fr-auto{
    display: grid;
    grid-template-columns: auto 1fr;
    gap:20px;
}
.cols-auto-1fr{
    display: grid;
    grid-template-columns: auto 1fr;
    gap:20px;
}
.colspan-2{
    grid-column: auto / span 2;
}
.colspan-3{
    grid-column: auto / span 3;
}
.colspan-4{
    grid-column: auto / span 4;
}
.colspan-5{
    grid-column: auto / span 5;
}
.colspan-6{
    grid-column: auto / span 6;
}
.colspan-7{
    grid-column: auto / span 7;
}
.colspan-8{
    grid-column: auto / span 8;
}
.colspan-9{
    grid-column: auto / span 9;
}
.colspan-10{
    grid-column: auto / span 10;
}
.colspan-11{
    grid-column: auto / span 11;
}
.colspan-12{
    grid-column: 1 / -1;
}
.colspan-full{
    grid-column: 1 / -1;
}


/*swiper-slide*/

.slider-thumbnail > .swiper-wrapper{
    display: grid;
    gap: 5px;
    background: #fff;
}
@media screen and (min-width:768px){
.slider-thumbnail > .swiper-wrapper{
    grid-template-columns: repeat(4,minmax(0,1fr));
    grid-template-rows: repeat(3,minmax(0,1fr));
    grid-auto-flow: column;
}  
}
@media screen and (max-width:767px){
.slider-thumbnail > .swiper-wrapper{
    grid-template-columns: repeat(3,minmax(0,1fr));
}  
}
.slider-thumbnail .swiper-slide{
  opacity: 1;
  transition: opacity .5s;
/*  width: calc(100% / 8);*/
    width:100%!important;
    height: auto;
}
.slider-thumbnail .swiper-slide{
    cursor: pointer;
}
.slider-thumbnail .swiper-slide:nth-of-type(7){
    order: 9;
}
.slider-thumbnail .swiper-slide:nth-of-type(8){
    order: 8;
}
.slider-thumbnail .swiper-slide:nth-of-type(9){
    order: 7;
}
.slider-thumbnail .swiper-slide img{
    width:100%;
    height: auto;
    aspect-ratio: 6 / 4;
    object-fit: cover;
}
.slider-thumbnail .swiper-slide.swiper-slide-thumb-active{
  opacity: 1;
}
/* レイアウトのためのスタイル */
.swiper {
  width: min(90%,925px);
    margin-inline: auto;
}
:root{
    --swiper-theme-color: #fff;
}
.swiper.sw_slider{
    padding-bottom: 3px;
}
.swiper.sw_slider .swiper-slide img{
  height: auto;
  width: 100%;
    aspect-ratio: 6 / 3;
    object-fit: cover;
    border-radius: 8px;
}
.oshirase-plan .video_slider1,
.oshirase-plan .video_slider2{
    grid-column: span 2;
    grid-row:span 2;
}
.oshirase-plan .video_slider1 video.video_in_sw,
.oshirase-plan .video_slider2 video.video_in_sw{
    margin: 0!important;
    height: 100%;
    object-fit: cover;
}
/*swiper 花火大会*/
.swiper.fw{
  height: auto;
  width: 100%;
      padding-top: 20px;
      padding-bottom: 50px;
}
.swiper.fw .swiper-slide{
      background-position: center;
      background-size: cover;
      width: 65%;
      height: auto;
}
.swiper.fw .swiper-slide img{
  height: 100%;
  width: 100%;
    object-fit: cover;
    display: block;
    filter: drop-shadow(-5px -0px 7px rgba(57,0,0,0.50));
}
.swiper.fw .swiper-slide-active{
    position: relative;
}
.swiper.fw .swiper-slide-active img{
    filter: drop-shadow(-3px -3px 5px rgba(57,0,0,0.010));
}
.swiper.fw .swiper-slide-active:after{
    content: "";
    position: absolute;
    width:100%;
    height:30px;
    left: 0;
    bottom: 0;
    display: block;
    background: rgba(57,0,0,0.80);
    filter: 
        drop-shadow(-1px -5px 5px rgba(81,0,0,0.90)) 
        drop-shadow(-10px -10px 15px rgba(98,0,0,0.30)) ;
    z-index: -1;
}


@media screen and (max-width:767px){
    .oshirase-plan .imgs.gallery > div{
       grid-column: 1 / -1!important; 
    }
}
.oshirase-plan > div > p{
    padding: 10px 10px;
    background:rgba(255,255,255,0.8);
    box-shadow:3px 3px 0 rgba(0,0,0,0.3);
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 5px;
    line-height: 1.4;
    letter-spacing: 0;
}
/*
.imgs.gallery > div{
    grid-column: 1 / -1;
}
*/

.oshirase-plan > div p > span,
.oshirase-plan > div p > a{
    display: grid;
    align-content: center;
    color:rgba(37,20,25,1.00);
    font-size: clamp(16px,1vw,1.2rem);
    text-align: left;
    line-height:1.3;
    letter-spacing:0;
    padding: 8px 0px;
    gap: 5px;
    font-weight: 600;
}
.oshirase-plan > div p span span.service_t{
    font-size: 1rem;
    background: #FD1145;
    color:#fff;
    font-weight: 600;
    padding:0px 15px 3px;
    width:fit-content;
    line-height: 1.4;
    border-radius: 5px;
}
.oshirase-plan > div p.other{
    grid-template-columns: 1fr;
}
.oshirase-plan > div p.other > span{
    display: block;
}
.oshirase-plan > div p.other a.color_red{
    color:#FD1145!important;
    font-weight: 800;
}
.oshirase-plan > div p.other a{
    text-decoration: underline;
    text-decoration-color: #FD1145!important;
}
.oshirase-plan > div p img{
    width: 100%;
    height: auto;
    aspect-ratio: 10 / 6;
    object-fit: cover;
}
.oshirase-plan video{
    width:min(100%,800px);
    height: auto;
    margin-inline:auto;
    aspect-ratio: 6 / 4;
    margin-top:30px;
}






.oshirase-tel{
    width:min(100%,800px);
    grid-template-columns: 30px 1fr 1.4fr 30px;
    grid-template-rows: 15px 1fr 15px;
    gap:0px;
    text-align: center;
    border:8px solid #F58833;
     border: solid 6px #ED2400;
    padding:0px;
    margin:20px auto;
    background:#fff;
    align-items: center;
    overflow: hidden;
    aspect-ratio:10 / 6;
}

.kaisendon{
    width:100%;
    grid-column: 2 / 3;
    grid-row: 2 / -2;
    position: relative;
}
.kaisendon:after{
    position: absolute;
    content:"※写真はイメージです";
    bottom:10px;
    right:30px;
    font-size: 15px;
    text-shadow:#fff 2px 0px 2px, #fff -2px 0px 2px,
    #fff 0px -2px 2px, #fff -2px 0px 2px,
    #fff 2px 2px 2px, #fff -2px 2px 2px,
    #fff 2px -2px 2px, #fff -2px -2px 2px,
    #fff 1px 2px 2px, #fff -1px 2px 2px,
    #fff 1px -2px 2px, #fff -1px -2px 2px,
    #fff 2px 1px 2px, #fff -2px 1px 2px,
    #fff 2px -1px 2px, #fff -2px -1px 2px,
    #fff 1px 1px 2px, #fff -1px 1px 2px,
    #fff 1px -1px 2px, #fff -1px -1px 2px;
}
.kaisendon img{
    width:90%;
    height:auto;
}
.oshirase-tel h2{
    text-align: center;
    width:100%;
    font-size:clamp(18px,2.5vw,24px);
    color:#ED2400;
    margin:0 auto;
    font-weight:500;
    padding:10px;
    grid-column: 3 / -2;
    grid-row: 1 / -1;
    text-shadow:1px 1px 0 #fff;
    line-height: 1.4;
   background:rgba(255,255,255,0.4);
    -webkit-backdrop-filter: blur(2px);
backdrop-filter: blur(2px);
    margin:0;
}
.kaisen_bg{
    width:100%;
    height:100%;
    grid-column: 1 / -1;
    grid-row: 1 / -1;
        filter: blur(2px);
    filter: opacity(0.4);
    position: relative;
}
.oshirase-tel .kaisen_bg img{
    width:100%;
    height:100%;
    object-fit: cover;
  object-position: left 0px bottom 0px;
}
@media screen and (max-width:767px){
.oshirase-plan-wrap{
    width:100%;
    padding:25px 15px;
    gap:10px 0;
}
    .oshirase-plan > div{
        width:min(100%,800px);
    padding: 15px 10px 25px;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    border:4px solid red;
}
    .oshirase-plan p span.price{
   color:red;
    font-size: calc(100% * 1.1);
}
  .oshirase-tel{
    grid-template-columns: 30px 1fr 30px;
    grid-template-rows: 15px 1fr 1fr 15px;
    text-align: center;
    border:8px solid #F58833;
     border: solid 4px #ED2400;
      place-content:center;
      aspect-ratio:9 / 10;
}  
    .kaisendon{
    grid-column: 2 / -2;
    grid-row: 2 / 3;
}
    .oshirase-tel h2{
    grid-column: 2 / -2;
    grid-row: 3 / 4;
}
    .oshirase-tel .kaisen_bg img{
  object-position: left 0px bottom 0px;
}
}
@media screen and (max-width:480px){
  .oshirase-tel{
      aspect-ratio:7 / 10;
}
    .oshirase-plan p span.narabu{
    grid-template-columns: auto 1fr;
    gap:0px;
}
    
}
.oshirase-tel2{
    width:min(90%,800px);
    box-sizing:border-box;
    text-align: center;
    border:2px solid #F58833;
    padding:10px;
    margin:10px auto 10px;
    background:#fff;
}
.oshirase-tel2 h2{
    width:100%;
    font-size:1.5em;
    color:#F58833;
    margin:0 auto;
    font-weight:500;
    padding:0;
}


.oshirase-plan .imgs{
    width:min(95%,925px);
    margin:10px auto 20px;
    display: grid;
    grid-template-columns: repeat(12,1fr);
    gap:5px;
    background: var(--color-bg-pink);
}
.oshirase-plan .imgs.gallery{
   grid-template-columns: repeat(auto-fit,minmax(45px,1fr));
   grid-template-rows: repeat(3,250px);
    gap:20px;
    grid-auto-rows: auto;
}
.oshirase-plan .imgs.gallery > div{
    overflow: hidden;
}
.oshirase-plan .imgs img{
    width:100%;
    height: auto;
    object-fit: cover;
    border-radius: 5px;
}
.oshirase-plan .imgs .main{
    aspect-ratio: 6 / 4;
    grid-row: 1 / 2;
    grid-column-start: 1;
}
.oshirase-plan .imgs img.sub_img{
    grid-row: 2 / 3;
}
.oshirase-plan .imgs img.sub_1{
    grid-column-start:  1;
}
.oshirase-plan .imgs img.sub_2{
    grid-column-start: 7;
}
.oshirase-plan .imgs .cap{
    grid-column: 1 / -1;
    grid-row: 2 / 3;
    align-self: end;
    justify-self: end;
    z-index: 10;
    color: #fff;
    padding:0px 5px 0px;
    font-size: 13px;
    margin:0;
}
/*
.oshirase-plan .imgs img.sub_1{
    grid-column-start: 2;
}
*/
.oshirase-plan .imgs.gallery > div img{
    width:100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px; 
    object-position: bottom;
}

.fw_infomation{
    width:min(100%,500px);
    margin-inline: auto; 
}
.fw_infomation > p{
    font-size: 15px;
    line-height: 1.5;
}
.fw_infomation > p.indent-1em{
    padding-left:1em;
    text-indent:-1em;
}
.oshirase-plan li .kikan{
   color: red;
    font-size: 18px;
    font-weight: inherit;
    text-align: center;
    padding-block: 20px 0;
    line-height: 1.6;
    letter-spacing: 0;
}
.oshirase-plan li .kikan h4{
    text-align: center;
}
.oshirase-plan li .kikan p{
    margin-block: 0;
}
.fw_schedule{
    width:100%;
    display: grid;
    gap: 2px;
    grid-template-columns: 4rem minmax(0,1fr);
    font-size: 14px;
    text-align: left;
}
.fw_schedule dt,
.fw_schedule dd{
    padding: 10px 10px;
    display: grid;
}
.fw_schedule dt > span{
    align-self: start;
    justify-self: center;
}
.fw_schedule dd > span{
    align-self: center;
}
.fw_schedule dd > span span{
    display: inline-block;
}
.fw_schedule dt{
    color: #fff;
    background:rgba(138,56,94,0.70);
}
.fw_schedule dd{
    color: #D52863;
    letter-spacing: 0;
    background:rgba(255,255,255,0.8);
    padding-left: calc(10px + 0.5em);
}
.fw_schedule dd > span{
    
}
.images_wrap{
    display: grid;
    grid-template-columns: 0px 1fr 30px 30px 1.3fr 0px;
    grid-template-rows: 1fr;
    gap: 10px 5px;
    place-items: center;
    place-content: center;
    padding-block: 50px 20px;
}
.images_wrap img{
    width:100%;
    height: auto;
    object-fit: cover;
    grid-row: 1 / -1;
}
img.ball_image{
    grid-column: 3 / 5;
    align-self: start;
    transform: translateY(-60%);
    z-index: 10;
}
img.tourui_image{
    grid-column: 4 / -2;
    height: 100%;
}
img.illust{
    object-fit: contain;
    grid-column: 2 / 4;
    height: auto;
    max-height: 250px;
}
.moreover{    
    font-size: 20px!important;
    font-weight: bold!important;
    text-align: center!important;
    width: fit-content!important;
    margin-inline: auto!important;
    padding-block: 15px!important;
    margin-block:0;
}

.moreover > span{
    color: #004C85!important;
    font-size: clamp(20px,3vw,1.2rem);
    background: linear-gradient(transparent 60%, #FCDE21 60%);
    letter-spacing: -0.01em;
    line-height: 2;
}
/*------------------ 追加 footer ------------------*/
footer .footer-inner #pageTop{
	padding-right: 40px;
	padding-bottom:20px;
	position:fixed;
	right:0;
	bottom:0;
	display:block;
	cursor:pointer;
}
/*------------------ 追加 box ------------------*/
.box_gw{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #004c85;
    background: #fff8e8;/*背景色*/
    border-left: double 7px #fbcb33;/*左線*/
    border-right: double 7px #fbcb33;/*右線*/
	font-size: 18px;
	font-weight: bold；

}
.box_gw p {
    margin: 0; 
    padding: 0;
	line-height:normal;
}



/*------------------ bbq ------------------*/

.bbq_title {
	position: relative;
}

.bbq_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/bbq/title_01.png) no-repeat left 80% / 70% auto ,  url(../img/bbq/header-back.png) no-repeat center center;
}

@media screen and (max-width: 320px) {
	.bbq_title h2 {
		background-size: 100% auto;
	}
}

#bbq .contents {
	width: 96%;
	padding-left: 2%;
	padding-right: 2%;
}

#bbq .lead {
	background: url(../img/bbq/header-back.jpg) no-repeat center center / cover;
	padding-top: ;
	padding-bottom: ;
}

#bbq .lead h3 {
	float: ;
	display: table;
	background: rgba(255,255,255,.75);
	height: 100%;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 40px 50px 30px;
}
#bbq .lead:after {
	content: "";
	clear: both;
	display: block;
}

.bbq_sub_title {
	border-bottom-width: 3px;
	border-bottom-style: dashed;
	border-bottom-color: #036EB3;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-left: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
	font-size: 18px;
	font-weight: bold;
	color: #004C85;
}

.announce {
	display:block;
	width:90%;
	max-width:600px;
	margin:50px auto -50px;
	padding:10px 10px;
	background:#FFDFDF;
	border-radius: 8px;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
}
.announce p{
	font-size:16px;
	color:#C41244;
	font-weight:600;
	text-align: center;
	margin: 0 auto;
}
.higaeribbq {
	width:100%;
	max-width:500px;
	margin:50px auto 0;
	padding:0;
}
.higaeribbq img{
	width:100%;
}
.video-wrap {
	width:100%;
	max-width:665px;
	height:auto;
    position: relative;
}
.video-wrap video{
	width:100%;
	height:auto;
	object-fit: cover;
}
.video-btn {
    content: "";
    position: absolute;
	width:100%;
	height:auto;
    top:0;
    left:0;
    right:0;
    bottom:40px; /*コントローラー分下部に余白を*/
    cursor: pointer;
}


/*旅割ページ*/
#campaign table{
	width:95%;
	max-width:750px;
}
#campaign th{
	width:25%;
	white-space:inherit;
	padding:5px;
}
#campaign td{
	width:75%;
	padding:10px;
}
h2 .red {
	color: #C00;
}
#campaign h3{
	font-size:24px;
	margin:50px auto 15px;
	text-align:center;
	font-weight:600;
}
#campaign table{
	margin:0 auto 50px;
}
table td ul li.coupon{
	padding:5px 0;
	text-indent:0;
}
table td ul li.coupon a{
	display:block;
	margin:5px 0px 0px;
	padding:5px 5px;
	border:1px solid #000;
	border-radius: 25px;
	text-align:center;
	font-size:14px;
	background:#fff;
	position:relative;
	text-decoration: none;
	color:#333;
	font-weight:600;
	line-height: 1.3em;
}
td ul li.coupon a:hover{
	background:#F0EFEB;
	transition:0.5s;
}
td ul li.coupon a:after{
	content:"＞";
	display:inline-block;
	position:absolute;
	right:3%;
	top:50%;
	transform:translateY(-50%);
}

/*旅割ページ*/

#tabiwari .plan_title {
	position: relative;
}

#tabiwari .plan_title h2 {
	max-width: 700px;
	margin: 0 auto;
	background: url(../img/plan/title_kenmin.png) no-repeat left 80% / 70% auto , url(../img/plan/tabiwari_header.jpg) no-repeat center center;
}


#tabiwari h2.kigen{position:relative;margin-bottom:80px;}
/*
#tabiwari h2.kigen:after{
	content:"期間限定：12月20日（火）まで！";
	position:absolute;
	bottom:-55px;
	right:0%;
	color:red;
	font-size:18px;
	font-weight:600;
	line-height:1.2em;
	text-align: left;
}
*/
@media screen and (max-width:389px){
	#tabiwari h2.kigen:after{
	bottom:-50px;
	right:0%;
}
}
.waribiki.kakaku02{
	display:flex;
	justify-content: space-between;
	width:100%;
	flex-wrap: wrap;
	padding-top:15px;
}

.waribiki.kakaku02 dl{
	max-width:465px;
	width:100%;
	margin-top:-20px;
	/*order:2;*/
}
.waribiki.kakaku02 dl dt{
	margin: 0;
    color: #004C85;
    font-size: 17px;
    font-weight: bold;
	text-align: left;
}
.waribiki,.waribiki *{
	box-sizing:border-box;
}
.waribiki > div,
.waribikimae,
.waribikigo,
.warikakaku,
.waribikiritu{
	display:flex;
	align-items: center;
	align-content: space-between;
	flex-wrap: wrap;
}
.waribiki > div{
	max-width:700px;
	width:100%;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	align-content: flex-start;
	align-items: flex-start;
	margin:0 auto;
}

.waribiki > div > p{
	max-width:670px;
	width:100%;
	margin:0;
	text-align:left;
}

.waribikimae{
	width:360px;
	position:relative;
	margin-bottom:20px;
	justify-content: center;
}

.waribikimae:after{
	content:"▼";
	display:block;
	position: absolute;
	bottom:-35px;
	left:50%;
	top:auto;
	right:auto;
	transform: translateX(-50%);
	font-size:18px;
}
.warikakaku{
	max-width:280px;
}
@media screen and (min-width:750px){
	.waribiki > div{
	justify-content: space-between;
}
	.waribikimae{
	max-width:280px;
	position:relative;
}
	.waribikimae:after{
	content:"▶";
	display:block;
	position: absolute;
	top:55px;
	right:-45px;
	bottom:auto;
	left:auto;
	font-size:18px;
}
}
.waribikigo{
	display:flex;
	justify-content: center;
	align-items: center;
	align-content: flex-start;
	flex-wrap: wrap;
	width:360px;
}

.waribikimae > div,
.waribikigo > div{
	display:flex;
	justify-content: space-between;
	align-items: center;
	align-content: space-between;
	flex-wrap: wrap;
	font-size:16px;
/*flex-direction: column;*/
}
.warikakaku{
	width:68%;
}
.waribikimae .warikakaku{
	width:72%;
}
.waribikiritu{
	width:35%;
	background:#FFD6CE;
	border:2px dashed #fff;
	box-shadow:0 0 0 2px #FFD6CE;
	margin-bottom:10px;
	line-height:1.2em;
}
.waribikiritu p{
	width:110px;
}
.waribikimae .waribikiritu{
	width:35%;
	background:none;
	border:none;
	box-shadow:none;
}
@media screen and (min-width:750px){
	.waribikimae .warikakaku{
	width:92%;
}
	.waribikiritu{
	width:30%;
}
}
.waribikigo > div{
		margin-bottom:10px;

}
.waribikimae p span,
.warikakaku p span{
	font-size:14px;
}
.waribikimae > p,
.waribikigo > p{
	font-size:16px;
	width:100%;
	margin:7px 0 10px;
		padding:0px;
	background:#E0FBD5;
	text-align:center;
}
.waribikigo > div > p{
	width:100%;
	height:100%;
	line-height:1.4em;
	font-size:14px;
	margin:3px;
	text-align:center;
}
.waribikimae > div > p{
	width:100%;
	margin:3px;
}
.waribikigo > div > p > *{
	/*width:100%;*/
	margin-bottom:10px;
		/*padding:5px;*/
}
.red{color:red;}

.jissitu{
	margin:50px auto 15px;font-size:16px;text-align:center;font-weight:600;max-width:700px;width:95%;margin:20px auto;border:4px double #FB282B;padding:10px;background:#eee;
}
.contents .jissitu p {padding:0;}
.jissitu p{
	text-align:center;
}
.jissitu > div.jissitu_wari{
	text-align:center;width:100%;max-width:500px;margin:10px auto 5px;padding:0px;background:yellow;
}
.jissitu > div.jissitu_wari > p{
	text-align:center;font-size:20px;line-height:1.5em;vertical-align: text-bottom;padding:7px 5px 5px;margin:0px auto;
}
.jissitu,.jissitu *{
	box-sizing:border-box;
}

.outline {
  display        : inline-block;
  color          : #333333;            /* 文字の色 */
  /*font-size      : 36pt; */              /* 文字のサイズ */
  letter-spacing : 0px;                /* 文字間 */
  text-shadow    : 
       3px  3px 1px #ffffff,
      -3px  3px 1px #ffffff,
       3px -3px 1px #ffffff,
      -3px -3px 1px #ffffff,
       3px  0px 1px #ffffff,
       0px  3px 1px #ffffff,
      -3px  0px 1px #ffffff,
       0px -3px 1px #ffffff;        /* 文字の影 */
}



.tabiwari_zu, .tabiwari_zu *{
    box-sizing: border-box;
}
.plan-col .tabiwari_zu *, .plan-col .tabiwari_zu p, .plan-col .tabiwari_zu h5{
   padding:0;
    margin:0;
    color:inherit;
    line-height: 1.7;
}
.plan-col .tabiwari_zu{
    width:min(100%,600px);
    margin:30px auto;
    
    padding:30px 0px;
    text-align: left;
    display:grid;
    grid-template-columns:1fr;
    justify-content: center;
    gap:30px;
}
.plan-col .tabiwari_zu .youken{
    margin-bottom:10px;
}
.plan-col .waribiki_waku{
    padding:15px;
     width:100%;
    display:grid;
    justify-content: center;
    grid-template-columns: 1fr 50px 1fr;
    gap:0px 0px;
    border:3px solid #DF2E74;
    border-radius: 15px;
}
.plan-col .waribiki_waku > ul{
    grid-column: 1 / -1;
    background:#FFF9B1;
    padding:0 0px 10px;
}
.plan-col .waribiki_waku > ul li{
    font-size: 16px;
    color:#222;
    padding-left:calc(1em + 10px);
    list-style: none;
}
.plan-col .waribiki_waku > ul li .cl_ao{
    color:#50BEC7;
}
.plan-col .waribiki_waku h5{
    width:100%;
    background:#00ABBF;
    color:#fff;
    text-align: center;
    margin-bottom:10px;
    border-radius: 20px;
    grid-column: 1 / -1;
    font-size: 18px;
}
 .plan-col .waribiki_waku .kikan + p{
    grid-column: 1 / -1;
    margin-bottom:10px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    background:#EEEEEE;
}
 .plan-col .waribiki_waku h5.purasu{
    background: none;
    grid-column: 2 / 3;
    text-align: center;
}
.plan-col .tabiwari_zu .purasu{
    font-size: 30px;
    color:#00ABBF;
    grid-row: span 2;
    align-self: center;
}
 .plan-col .waribiki_waku .waku{
    background:#D3EDFA;
    padding:10px;
    text-align: center;
}
.plan-col .waribiki_waku .shiharai{
    width:calc(100% - 4px);
    padding:3px 0;
    text-align: center;
    border: 2px solid #00ABBF;
    color:#00ABBF;
    font-weight: 600;
    font-size: 15px;
    grid-column: 1 / 2;
    grid-row: 5 / 6;
}
.plan-col .waribiki_waku .shiharai.kara{
    border:none;
    grid-column: 3 / 4;
    grid-row: 5 / 6;
}
.plan-col .waribiki_waku .waku:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 6 / 7;
}
.plan-col .waribiki_waku .waku:nth-of-type(2){
    grid-column: 3 / 4;
    grid-row: 6 / 7;
}
.plan-col .waribiki_waku .waku p:first-of-type{
    font-size: 16px;
    text-align: center;
    font-weight: 600;
}

.plan-col .waribiki_waku .waku p:nth-of-type(2){
    font-weight: 800;
    font-size: 18px;
    color:#002B80;
    line-height: 1.3;
}
.plan-col .waribiki_waku .waku:nth-of-type(1) p:nth-of-type(2){
    font-size: 28px;
}
.plan-col .waribiki_waku .waku:nth-of-type(1) p:nth-of-type(2) span{
    font-size: calc(100% * 0.5);
}
.plan-col .tabiwari_zu .jyougen{
    grid-column: 1 / -1;
    display:grid;
    grid-template-columns: 100px 1fr;
    margin:15px 0 0;
    gap:5px 30px;
    justify-self: center;
}
.plan-col .tabiwari_zu .jyougen > p{
    width:100px;
    height:auto;
    border:solid 2px #032E7C;
    padding:3px;
    text-align: center;
    align-self: center;
    color:#032E7C;
    font-weight: 600;
}
.plan-col .tabiwari_zu .jyougen > ul{
    grid-column: 1 / -1;
}
.plan-col .tabiwari_zu .jyougen > div p{
    font-size: 22px;
    font-weight: 800;
    color:#000;
    line-height: 1;
}
.plan-col .tabiwari_zu .jyougen > div p .small{
    font-size: calc(100% * 0.6);
    background:#EEEEEE;
    display:block;
    margin-top:-5px;
    width:90%;
}
.plan-col .tabiwari_zu .jyougen > div p .red{
    color:red;
}
.plan-col .tokusetu_site{
    width:100%;
    margin-bottom:30px;
}
.plan-col .tokusetu_site p{
    font-size: 18px;
    font-weight: 600;
    margin-bottom:15px;
}
.plan-col .tokusetu_site a{
    display:block;
    border:2px solid #FF7E00;
    padding:5px;
    font-size: 16px;
    color:#FF7E00;
    font-weight: 600;
    color:#FF7E00;
    text-align: center;
    transition: 0.5s all;
    text-decoration: none;
}
.plan-col .tokusetu_site a:hover{
    text-decoration: none;
    background:#FF7E00;
    color:#fff;
    background-size:100%;
}

.osusume,.osusume *{
    box-sizing: border-box;
}
.osusume{
    width:100%;
    padding:15px;
    margin:0 auto 30px;
}
 .osusume h4{
    font-size: 24px;
    
}
 .osusume p{
    font-size: 18px;
    line-height: 1.4;
    margin-bottom:15px;
    text-align: left;
}
 .osusume p span{
     border-bottom:3px solid rgba(79,7,8,0.1);
}

/*楽天アワード背景帯*/
.bg-rakuten {
    margin: 2em 0;
	background:url(../img/index/bg_all.jpg);
	padding: 40px 5%;
	color: #565656;
	font-weight: bold;
}
/*
.bg-rakuten .box-title {
    background: #B00000;
    padding: 4px;
    color: #FFF;
    font-weight: bold;
    font-size: 28px;
    text-align: center;
    line-height: 1.4;
}
*/
.bg-rakuten .box-title {
    background: #B00000;
    padding:20px 5px 7px;
    color: #FFF;
    font-weight: bold;
    font-size: 24px;
    text-align: center;
    line-height: 1.4;
    overflow: hidden;
}
.bg-rakuten .box-title > span{
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,1));
}
.bg-rakuten .box-title > span.big.kage{
/*    letter-spacing: 0.1em; */
    font-size: calc(100% * 1.2);
    filter: drop-shadow(3px 3px 0 rgba(0,0,0,1));
/*    white-space: nowrap;*/
    margin-bottom: 10px;
}
.bg-rakuten .box-title > span.big.kage {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1;
}
.bg-rakuten .box-title > span.big.kage::before,
.bg-rakuten .box-title > span.big.kage::after {
  width: 4px;
  height: 28px;
  content: "";
  background-color: #fff;
}

.bg-rakuten .box-title > span.big.kage::before {
  margin-right: 0.5em;
  transform: rotate(-28deg);
    background-color: #fff;
    content: "";
     width: 5px;
  height: 28px;
}

.bg-rakuten .box-title > span.big.kage::after {
  margin-left: 0.5em;
  transform: rotate(30deg);
}



.bg-rakuten p {
    padding: 12px 20px;
    margin: 0 auto;
	text-align: center;
	font-size: calc(100% * 1.15)	
}

/* rakuten-button ****************************************/
.r-btn {
  min-width: 120px;
  height: 40px;
  display: table;
}
.r-btn a {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0px 35px 0px 20px;
  border-radius: 3px;
  font-size: 0.8em;
  font-weight: 600;
  line-height: 1;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  opacity: 1;
  position: relative;
  border-color: #00B900;
  background-color: #00B900;
  color: #fff;
}
.r-btn a:hover {
  opacity: 0.9;
}
.r-btn a::after {
  display: inline-block;
  content: ">";
  font-size: 1.4em;
  position: absolute;
  top: 50%;
  right: 5px;
  -webkit-transform: translateY(-50%) scaleX(0.5);
  -ms-transform: translateY(-50%) scaleX(0.5);
  transform: translateY(-50%) scaleX(0.5);
}
.r-btn.round {
  min-width: 200px;
  height: 40px;
  margin-left: auto;
  margin-right: auto;
}
.r-btn.round a {
  border-color: #00B900;
  background: #00B900;
  border-radius: 20px;
  text-align: left;
  padding-left: 30px;
}
.r-btn.round a:hover {
  color: #fff;
  background: rgba(0, 185, 0, 0.8);
}

.r-btn.mono a {
  border-color: #222;
  background-color: #222;
  color: #fff;
}
.r-btn.mono a:hover {
  background-color: transparent;
  color: #222;
}
