@charset "utf-8";

/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.8.0r4
*/
/**
 * YUI Reset
 * @module reset
 * @namespace
 * @requires 
 */
html {
	color: #000;
	background: #FFF;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
button,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var,
optgroup {
	font-style: inherit;
	font-weight: inherit;
}

del,
ins {
	text-decoration: none;
}

li {
	list-style: none;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

q:before,
q:after {
	content: '';
}

abbr,
acronym {
	border: 0;
	font-variant: normal;
}

sup {
	vertical-align: baseline;
}

sub {
	vertical-align: baseline;
}

/*because legend doesn't inherit in IE */
legend {
	color: #000;
}


button,
textarea,
select,
optgroup,
option {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}

/*@purpose To enable resizing for IE */
/*@branch For IE6-Win, IE7-Win */
input,
button,
textarea,
select {
	*font-size: 100%;
}


hr {
	display: none;
}

address {
	font-style: normal;
}



/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.8.0r4
*/
/**
 * YUI Fonts
 * @module fonts
 * @namespace yui-
 * @requires 
 */

/**
 * Percents could work for IE, but for backCompat purposes, we are using keywords.
 * x-small is for IE6/7 quirks mode.
 */


body {
	/* for IE6/7 */ 
	*font-size:small;
	/* for IE Quirks Mode */
	*font:x-small;
	font-family: Verdana, Arial, "Verdana", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 13px;
	line-height: 140%;
}

/*
[ 明朝 ]

"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro", Verdana, serif

[ ゴシック ]
"ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Osaka", sans-serif
"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif
"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif

*/


/**
 * Nudge down to get to 13px equivalent for these form elements
 */ 
select,
input,
button,
textarea,
button {
	font:99%;
}

/**
 * To help tables remember to inherit
 */
table {
	font-size:inherit;
	font:100%;
}

/**
 * Bump up IE to get to 13px equivalent for these fixed-width elements
 */
pre,
code,
kbd,
samp,
tt {
	font-family:monospace;
	*font-size:108%;
	line-height:100%;
}

/*-----------------------------------------------------
YUI Font-size Adjustment
※基準サイズは13pxです。

10px = 77%     11px = 85%	  12px = 93%     13px = 100%
14px = 108%	   15px = 116%    16px = 123.1%  17px = 131%
18px = 138.5%  19px = 146.5%  20px = 153.9%  21px = 161.6%
22px = 167%    23px = 174%    24px = 182%    25px = 189%
26px = 197%
------------------------------------------------------*/

.tx10 { font-size: 77%;    !important } /*renders 10px */
.tx11 { font-size: 85%;    !important } /*renders 11px */
.tx12 { font-size: 93%;    !important } /*renders 12px */
.tx14 { font-size: 108%;   !important } /*renders 14px */
.tx15 { font-size: 116%;   !important } /*renders 15px */
.tx16 { font-size: 123.1%; !important } /*renders 16px */
.tx17 { font-size: 131%;   !important } /*renders 17px */
.tx18 { font-size: 138.5%; !important } /*renders 18px */
.tx19 { font-size: 146.5%; !important } /*renders 19px */
.tx20 { font-size: 153.9%; !important } /*renders 20px */
.tx21 { font-size: 161.6%; !important } /*renders 21px */
.tx22 { font-size: 167%;   !important } /*renders 22px */
.tx23 { font-size: 174%;   !important } /*renders 23px */
.tx24 { font-size: 182%;   !important } /*renders 24px */
.tx25 { font-size: 189%;   !important } /*renders 25px */
.tx26 { font-size: 197%;   !important } /*renders 26px */


/* text-align */
.tx_L { text-align: left;    !important }
.tx_C { text-align: center;  !important }
.tx_R { text-align: right;   !important }
.tx_red {
!important ;
	color: #990000;
}
.tx_j { text-align: justify; text-justify: inter-ideograph; !important }


/* float */
.fl_L { float: left;  !important }
.fl_R { float: right; !important }
.fl_n { float: none;  !important }


/* clear */
.clear  { clear: both; !important }


/* overflow */
.hidden { overflow: hidden; !important }
.scroll { overflow: scroll; !important }


/* line-height */
.lh0   { line-height: 0;    !important }
.lh10  { line-height: 1.0;  !important }
.lh11  { line-height: 1.1;  !important }
.lh12  { line-height: 1.2;  !important }
.lh13  { line-height: 1.3;  !important }
.lh14  { line-height: 1.4;  !important }
.lh15  { line-height: 1.5;  !important }
.lh16  { line-height: 1.6;  !important }
.lh17  { line-height: 1.7;  !important }
.lh175 { line-height: 1.75; !important }
.lh18  { line-height: 1.8;  !important }
.lh19  { line-height: 1.9;  !important }
.lh20  { line-height: 2.0;  !important }


/* clearfix */
.cFix:after  { content: "."; display: block; clear: both; height: 0; visibility: hidden; }
.cFix        { min-height: 1px; }
* html .cFix { height: 1px; /*\*//*/ height: auto; overflow: hidden; /**/ }



/* margin */

.m0    { margin: 0; !important }
.m0A    { margin: 0 auto; !important }

.mt0   { margin-top:  0px; !important }
.mt1   { margin-top:  1px; !important }
.mt3   { margin-top:  3px; !important }
.mt5   { margin-top:  5px; !important }
.mt7   { margin-top:  7px; !important }
.mt10  { margin-top: 10px; !important }
.mt15  { margin-top: 15px; !important }
.mt20  { margin-top: 20px; !important }
.mt25  { margin-top: 25px; !important }
.mt30  { margin-top: 30px; !important }
.mt35  { margin-top: 35px; !important }
.mt40  { margin-top: 40px; !important }
.mt45  { margin-top: 45px; !important }
.mt50  { margin-top: 50px; !important }
.mt55  { margin-top: 55px; !important }
.mt60  { margin-top: 60px; !important }
.mt65  { margin-top: 65px; !important }
.mt70  { margin-top: 70px; !important }
.mt75  { margin-top: 75px; !important }
.mt80  { margin-top: 80px; !important }
.mt85  { margin-top: 85px; !important }
.mt90  { margin-top: 90px; !important }
.mt95  { margin-top: 95px; !important }
.mt100 { margin-top: 100px; !important }

.mrA   { margin-right: auto; !important }
.mr0   { margin-right:  0px; !important }
.mr1   { margin-right:  1px; !important }
.mr3   { margin-right:  3px; !important }
.mr5   { margin-right:  5px; !important }
.mr7   { margin-right:  7px; !important }
.mr10  { margin-right: 10px; !important }
.mr15  { margin-right: 15px; !important }
.mr20  { margin-right: 20px; !important }
.mr25  { margin-right: 25px; !important }
.mr30  { margin-right: 30px; !important }
.mr35  { margin-right: 35px; !important }
.mr40  { margin-right: 40px; !important }
.mr45  { margin-right: 45px; !important }
.mr50  { margin-right: 50px; !important }
.mr55  { margin-right: 55px; !important }
.mr60  { margin-right: 60px; !important }
.mr65  { margin-right: 65px; !important }
.mr70  { margin-right: 70px; !important }
.mr75  { margin-right: 75px; !important }
.mr80  { margin-right: 80px; !important }
.mr85  { margin-right: 85px; !important }
.mr90  { margin-right: 90px; !important }
.mr95  { margin-right: 95px; !important }
.mr100 { margin-right: 100px; !important }

.mb0   { margin-bottom:  0px; !important }
.mb1   { margin-bottom:  1px; !important }
.mb3   { margin-bottom:  3px; !important }
.mb5   { margin-bottom:  5px; !important }
.mb7   { margin-bottom:  7px; !important }
.mb10  { margin-bottom: 10px; !important }
.mb15  { margin-bottom: 15px; !important }
.mb20  { margin-bottom: 20px; !important }
.mb25  { margin-bottom: 25px; !important }
.mb30  { margin-bottom: 30px; !important }
.mb35  { margin-bottom: 35px; !important }
.mb40  { margin-bottom: 40px; !important }
.mb45  { margin-bottom: 45px; !important }
.mb50  { margin-bottom: 50px; !important }
.mb55  { margin-bottom: 55px; !important }
.mb60  { margin-bottom: 60px; !important }
.mb65  { margin-bottom: 65px; !important }
.mb70  { margin-bottom: 70px; !important }
.mb75  { margin-bottom: 75px; !important }
.mb80  { margin-bottom: 80px; !important }
.mb85  { margin-bottom: 85px; !important }
.mb90  { margin-bottom: 90px; !important }
.mb95  { margin-bottom: 95px; !important }
.mb100 { margin-bottom: 100px; !important }

.mlA   { margin-left: auto; !important }
.ml0   { margin-left:  0px; !important }
.ml1   { margin-left:  1px; !important }
.ml3   { margin-left:  3px; !important }
.ml5   { margin-left:  5px; !important }
.ml7   { margin-left:  7px; !important }
.ml10  { margin-left: 10px; !important }
.ml15  { margin-left: 15px; !important }
.ml20  { margin-left: 20px; !important }
.ml25  { margin-left: 25px; !important }
.ml30  { margin-left: 30px; !important }
.ml35  { margin-left: 35px; !important }
.ml40  { margin-left: 40px; !important }
.ml45  { margin-left: 45px; !important }
.ml50  { margin-left: 50px; !important }
.ml55  { margin-left: 55px; !important }
.ml60  { margin-left: 60px; !important }
.ml65  { margin-left: 65px; !important }
.ml70  { margin-left: 70px; !important }
.ml75  { margin-left: 75px; !important }
.ml80  { margin-left: 80px; !important }
.ml85  { margin-left: 85px; !important }
.ml90  { margin-left: 90px; !important }
.ml95  { margin-left: 95px; !important }
.ml100 { margin-left: 100px; !important }


/* padding */

.p0    { padding: 0; !important }

.pt0   { padding-top:  0px; !important }
.pt1   { padding-top:  1px; !important }
.pt3   { padding-top:  3px; !important }
.pt5   { padding-top:  5px; !important }
.pt7   { padding-top:  7px; !important }
.pt10  { padding-top: 10px; !important }
.pt15  { padding-top: 15px; !important }
.pt20  { padding-top: 20px; !important }
.pt25  { padding-top: 25px; !important }
.pt30  { padding-top: 30px; !important }
.pt35  { padding-top: 35px; !important }
.pt40  { padding-top: 40px; !important }
.pt45  { padding-top: 45px; !important }
.pt50  { padding-top: 50px; !important }
.pt55  { padding-top: 55px; !important }
.pt60  { padding-top: 60px; !important }
.pt65  { padding-top: 65px; !important }
.pt70  { padding-top: 70px; !important }
.pt75  { padding-top: 75px; !important }
.pt80  { padding-top: 80px; !important }
.pt85  { padding-top: 85px; !important }
.pt90  { padding-top: 90px; !important }
.pt95  { padding-top: 95px; !important }
.pt100 { padding-top: 100px; !important }

.pr0   { padding-right:  0px; !important }
.pr1   { padding-right:  1px; !important }
.pr3   { padding-right:  3px; !important }
.pr5   { padding-right:  5px; !important }
.pr7   { padding-right:  7px; !important }
.pr10  { padding-right: 10px; !important }
.pr15  { padding-right: 15px; !important }
.pr20  { padding-right: 20px; !important }
.pr25  { padding-right: 25px; !important }
.pr30  { padding-right: 30px; !important }
.pr35  { padding-right: 35px; !important }
.pr40  { padding-right: 40px; !important }
.pr45  { padding-right: 45px; !important }
.pr50  { padding-right: 50px; !important }
.pr55  { padding-right: 55px; !important }
.pr60  { padding-right: 60px; !important }
.pr65  { padding-right: 65px; !important }
.pr70  { padding-right: 70px; !important }
.pr75  { padding-right: 75px; !important }
.pr80  { padding-right: 80px; !important }
.pr85  { padding-right: 85px; !important }
.pr90  { padding-right: 90px; !important }
.pr95  { padding-right: 95px; !important }
.pr100 { padding-right: 100px; !important }

.pb0   { padding-bottom:  0px; !important }
.pb1   { padding-bottom:  1px; !important }
.pb3   { padding-bottom:  3px; !important }
.pb5   { padding-bottom:  5px; !important }
.pb7   { padding-bottom:  7px; !important }
.pb10  { padding-bottom: 10px; !important }
.pb15  { padding-bottom: 15px; !important }
.pb20  { padding-bottom: 20px; !important }
.pb25  { padding-bottom: 25px; !important }
.pb30  { padding-bottom: 30px; !important }
.pb35  { padding-bottom: 35px; !important }
.pb40  { padding-bottom: 40px; !important }
.pb45  { padding-bottom: 45px; !important }
.pb50  { padding-bottom: 50px; !important }
.pb55  { padding-bottom: 55px; !important }
.pb60  { padding-bottom: 60px; !important }
.pb65  { padding-bottom: 65px; !important }
.pb70  { padding-bottom: 70px; !important }
.pb75  { padding-bottom: 75px; !important }
.pb80  { padding-bottom: 80px; !important }
.pb85  { padding-bottom: 85px; !important }
.pb90  { padding-bottom: 90px; !important }
.pb95  { padding-bottom: 95px; !important }
.pb100 { padding-bottom: 100px; !important }

.pl0   { padding-left:  0px; !important }
.pl1   { padding-left:  1px; !important }
.pl3   { padding-left:  3px; !important }
.pl5   { padding-left:  5px; !important }
.pl7   { padding-left:  7px; !important }
.pl10  { padding-left: 10px; !important }
.pl15  { padding-left: 15px; !important }
.pl20  { padding-left: 20px; !important }
.pl25  { padding-left: 25px; !important }
.pl30  { padding-left: 30px; !important }
.pl35  { padding-left: 35px; !important }
.pl40  { padding-left: 40px; !important }
.pl45  { padding-left: 45px; !important }
.pl50  { padding-left: 50px; !important }
.pl55  { padding-left: 55px; !important }
.pl60  { padding-left: 60px; !important }
.pl65  { padding-left: 65px; !important }
.pl70  { padding-left: 70px; !important }
.pl75  { padding-left: 75px; !important }
.pl80  { padding-left: 80px; !important }
.pl85  { padding-left: 85px; !important }
.pl90  { padding-left: 90px; !important }
.pl95  { padding-left: 95px; !important }
.pl100 { padding-left: 100px; !important }

#rakuten_index{
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
	background-image: url(https://saito-appi.jp/_resource/imgraku/bg.jpg);
}
#rakuten_index .min{
font-family: "Noto Serif JP", serif;
}

a.btn img{
transition: .3s
}
a.btn img:hover{
opacity: .6;
}

/*--NAVIGATION-------------*/
#gnav {
clear: both;
background-color: #1F1F1F;
text-align: center
}

#gnav ul {
padding: 15px;
}
#gnav ul li {
display: inline;
padding-left: 1em;
padding-right: 1em;
}
#gnav ul li a {
	color: #FFF;
	text-decoration: none;
	display: inline-block;
	line-height: 1;
	border-radius: 100px;
	padding: 7px 20px;
	border: 1px solid #151515;
}
#gnav ul li a:hover {
border: 1px solid #FFF;
}

/*--MAINVIS-------------*/
#slide_main {
width: 100%;
height: 720px;
position: relative;
margin-bottom: 40px;
}
#slide_main .swiper-slide img{
width: 100%;
height: 720px;
object-fit: cover
}
#mv_cont{
width: 1220px;
position: absolute;
left: 10vw;
height: 720px;
z-index: 999;
}

/*--CONTENTS-------------*/
.index_cont {
width: 1220px;
margin-right: auto;
margin-left: auto;
}

#cont_oryouri,#cont_oheya,#cont_oheya,#cont_onsen {
background-color: #1F1F1F;
color: #FFF;
margin-bottom: 40px;
}

.index_cont .heading .ph{
float: left
}
.index_cont .heading .txt{
float: right;
width: 360px;
text-align: center;
height: 733px;
position: relative;
line-height: 2.1;
}

.index_cont .heading.odd .ph{
float: right!important
}
.index_cont .heading.odd .txt{
float: left!important;
}

.index_cont .heading .txt .ttl{
padding-top: 50px;
padding-bottom: 25px;
}

.btn_detail{
text-align: center;
margin-top: 30px;
margin-bottom: 30px;
}
.btn_detail a{
	display: inline-block;
	border: 1px solid #FFFFFF;
	padding: 10px 20px;
	line-height: 1;
	color: #FFF;
	text-decoration: none
}
.btn_detail a:hover{
	color: #000;
	background-color: #FFF
} 

.index_cont .heading .txt .btn_detail{
position: absolute;
bottom: 30px;
left: 0;
right: 0;
margin: auto
}

/*--お料理メイン-------------*/
.oryouri_main {
	width: 1116px;
	padding: 20px;
	margin-left: auto;
	margin-right: auto;
	
	background-color: #625944;
	margin-top: 30px;
	background-image: url(https://saito-appi.jp/_resource/imgraku/oryouri_dinner_bg.png);
	background-repeat: no-repeat;
	background-position: right top;
}

.oryouri_choushoku {
	width: 1116px;
	padding: 20px;
	margin-left: auto;
	margin-right: auto;
	
	background-color: #5F4926;
	margin-top: 30px;
	background-image: url(https://saito-appi.jp/_resource/imgraku/oryouri_choushoku_bg.png);
	background-repeat: no-repeat;
	background-position: right top;
}

.oryouri_cont {}
.oryouri_cont .read{
font-size: 30px;
line-height: 1.4;
margin-bottom: 0.3em
}
.oryouri_cont .label{
width: 190px;
background-color: #101010;
text-align: center;
color: #FFF;
padding: 5px;
margin-bottom: 0.5em
}
.oryouri_cont .ph_main{
margin-bottom: 15px;
}
.oryouri_cont .ph_main img{
width: 100%;
height: auto
}

.oryouri_main ul {}
.oryouri_main ul li{
width: 13%;
margin-right: 1.5%;
float: left;
font-size: 12px;
}
.oryouri_main ul li:last-child{
margin-right: 0%
}
.oryouri_main ul li img{
width: 100%;
height: auto
}

.oryouri_choushoku ul {}
.oryouri_choushoku ul li{
width: 15.5%;
margin-right: 1.4%;
float: left;
font-size: 12px;
}
.oryouri_choushoku ul li:last-child{
margin-right: 0%
}
.oryouri_choushoku ul li img{
width: 100%;
height: auto
}

/*--おすすめプラン-------------*/
.ttl_bar {
font-size: 23px;
background-color: #1F1F1F;
text-align: center;
color: #FFF;
padding: 15px;
margin-bottom: 40px;
}
#cont_recommend_plan table {
width: 100%;
margin-bottom: 40px;
}
#cont_recommend_plan table th {
width: 450px;
padding-right: 20px;
vertical-align: top
}
#cont_recommend_plan table th img{
width: 100%;
height: auto
}
#cont_recommend_plan table td {
vertical-align: top;
position: relative
}
#cont_recommend_plan table td .ttl{
font-size: 22px;
font-weight: 600;
margin-bottom: 0.5em;
line-height: 1.6;
}
span.marker{
background: linear-gradient(transparent 70%, #FFF57D 70%);
}
#cont_recommend_plan table td p{
font-weight: 500;
line-height: 1.4;
}
#cont_recommend_plan table td .sub_ph{
position: absolute;
left: 0;
bottom: 0;
}
#cont_recommend_plan table td .sub_ph img{
width: 140px;
height: auto;
margin-right: 10px;
}
#cont_recommend_plan table td .btn_detail_circle{
position: absolute;
right: 0;
bottom: 0
}
#cont_recommend_plan table td .btn_detail_circle a{
position: absolute;
right: 0;
bottom: 0;
width: 140px;
line-height: 140px;
color: #FFF;
text-decoration: none;
text-align: center;
background-color: #0B0B0B;
border-radius: 200px;
transition: .3s;
}
#cont_recommend_plan table td .btn_detail_circle a:hover{
bottom: 10px;
}
ul.plan_lineup{}
ul.plan_lineup li{
width: 49%;
margin-right: 2%;
float: left;
font-size: 12px;
margin-bottom: 20px;
}
ul.plan_lineup li:nth-child(2n){
margin-right: 0%
}
ul.plan_lineup li .thum{
margin-bottom: 5px
}
ul.plan_lineup li img{
width: 100%;
height: auto;
}
ul.plan_lineup li .ttl{
font-size: 20px;
font-weight: 600;
margin-bottom: 10px;
}
ul.plan_lineup li a{
color: #252525
}
ul.plan_lineup li a:hover{
background-color: #FEFF8F
}

/*--AWARD-------------*/
#slide_award {
padding-top: 60px;
}
#slide_award .swiper-slide img{
width: 100%;
height: auto;
}
.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 0px!important;
  left: 0;
  width: 100%;
}
#slide_award .swiper-container {
  padding-bottom: 7px!important;
}
#slide_award .swiper-wrapper{
height: 370px;
}
/*--index_info-------------*/
#index_info{
text-align: center;
padding-top: 100px;
padding-bottom: 50px;
line-height: 2.0
}
#index_info img{
margin-bottom: 20px;
}
#index_info a{
color: inherit
}


/*--下層ページ-------------*/
.sub_cont {
width: 1220px;
margin-right: auto;
margin-left: auto;
line-height: 2.2;
}
.sub_cont .mv_sub{
margin-bottom: 50px;
}
.ttl_bar_mb{
margin-bottom: 12px;
}
/* 1ブロック全体 */
.cont_open {
  margin-bottom: 30px;
  overflow: hidden;
  width: 1133px;
  margin-left: auto;
  margin-right: 0;
}

/* 画像ラップ＋オーバーレイ用 */
.cont_open-img {
  position: relative;
}

.cont_open-img img {
  display: block;
  width: 100%;
  height: auto;
}

/* タイトルバー（画像の上に乗る部分） */
.cont_open-toggle {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;

  display: flex;
  justify-content: space-between;
  align-items: center;

  background: rgba(0, 0, 0, 0.7);
  color: #fff;

  padding: 10px 16px;
  border: none;
  cursor: pointer;
  font-size: 24px;
  text-align: left;
  font-family: "Noto Serif JP", serif;
}

/* タイトルテキスト */
.cont_open-title {
  flex: 1 1 auto;
}

/* ＋／−アイコン（CSSで十字を描く） */
.cont_open-icon {
  position: relative;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}

/* 横線＆縦線でプラスを描く */
.cont_open-icon::before,
.cont_open-icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70%;
  height: 2px;
  background: #fff;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease;
}

/* 縦線（90度回転） */
.cont_open-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* 開いているとき → マイナスにする（縦線を消すイメージ） */
.cont_open.is-open .cont_open-icon::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

/* アイコンくるっと回転アニメ（閉じているときだけ） */
@keyframes contOpenIconRotate {
  0%   { transform: rotate(0deg); }
  10%  { transform: rotate(180deg); }
  100% { transform: rotate(180deg); }
}

.cont_open:not(.is-open) .cont_open-icon {
  animation: contOpenIconRotate 3s ease-in-out infinite;
}

/* 開閉するコンテンツ本体 */
.cont_open-body {
  max-height: 0;
  overflow: hidden;
  background: #3D3D3D;
  transition: max-height 0.25s ease;
}

.cont_open-body .inner {
  padding: 30px;
  color: #FFF
}
.cont_open-body .inner img{
  width: 100%;
  height: auto;
  margin-top: 30px;
}



/*--四季館彩冬について-------------*/
.outline{
display: flex;
gap: 20px;
align-items: flex-start;
padding-bottom: 80px;
}
.outline .txt{
}
.outline .txt .fig{
padding-top: 2em;
padding-bottom: 2em
}

.about_point{
display: flex;
gap: 40px;
align-items: flex-start;
padding-bottom: 100px;
}

.about_point.rev{
flex-direction: row-reverse;
}

.btn_round{
text-align: right;
margin-top: 2em;
}
.btn_round a{
line-height: 1;
padding: 7px 40px;
background-color: #1A1A1A;
display: inline-block;
border-radius: 20px;
color: #FFF;
text-decoration: none;
}
.btn_round a:hover{
text-decoration: underline;
}
.about_end_message{
text-align: center
}

/*--よくあるご質問-------------*/
.faq_nv{
margin-bottom: 2em;
}
.faq_nv ul{
display: flex;
flex-wrap: wrap;      /* 2行目に折り返し */
gap: 40px;            /* 画像同士の隙間（縦・横まとめて指定できる） */
list-style: none;
padding: 0;
margin: 0;
}
.faq_nv ul li {
  flex: 1 1 calc((100% - 40px * 2) / 3);
  box-sizing: border-box;
}
.faq_nv ul li img {
  display: block;
  width: 100%;
  height: auto;
}


.faq {
    margin-top: 2em;
    margin-right: 0;
    margin-left: auto;
    margin-bottom: 2em;
    width: 95%;
}

/* タイトル部 */
.faq-title {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #555;
  color: #fff;
  padding: 14px 20px;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 16px;
}

/* プラス／マイナスアイコン */
.faq-icon::before {
  content: "+";
  display: inline-block;
  font-size: 24px;
  line-height: 1;
  transition: transform 0.2s ease; /* ちょっと動かす */
}

/* 開いているときはマイナスに */
.faq-item.is-open .faq-icon::before {
  content: "−"; /* 全角マイナスで少し太めに */
  transform: rotate(180deg);
}

/* 答え部分（アコーディオン本体） */
.faq-content {
  max-height: 0;
  overflow: hidden;
  background: #f5f5f5;
  transition: max-height 0.25s ease;
  background-color: rgba(0,0,0,0.15);
  margin-bottom: 1.5em
  }

.faq-content p {
  margin: 0;
  padding: 16px 20px 20px;
  font-size: 14px;
  line-height: 1.6;
}

/* 開いているとき */
.faq-item.is-open .faq-content {
  /* JS で max-height を動的に入れるけど、
     開いた瞬間にスッと見えるようにしておきたいなら
     ここで「max-height: 500px;」みたいに固定も可 */
}

/*--館内案内-------------*/
#kannai{}
.kannai_ttl{
margin-top: 2em
}

#kannai iframe{
width: 100%!important;
height: 450px!important;
}
h4.view_ttl{
background-color: 
rgba(97,97,97,1.00);
border-radius: 100px;
color: #FFF;
padding-left: 30px;
font-size: 12px;
margin-bottom: 5px;
}

.kannnai_spot{}
.kannnai_spot ul{
display: flex;
flex-wrap: wrap;
gap: 20px;
list-style: none;
padding: 0;
margin: 0;
}
.kannnai_spot ul li {
  flex: 1 1 calc((100% - 20px * 2) / 2);
  box-sizing: border-box;
}
.kannnai_spot ul li img {
  display: block;
  width: 100%;
  height: auto;
}
.kannnai_spot ul li .txt {
  background-color: #1D1D1B;
  color: #FFF;
  padding: 20px;
  line-height: 1.6;
  font-size: 14px;
  min-height: 140px;
}
.kannnai_spot ul li .txt .ttl{
  font-size: 24px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  margin-bottom: 0.5em
}

/*--お部屋-------------*/
.exp_bx{
display: flex;
flex-wrap: wrap;
gap: 50px;
}
.exp_bx .txt{
width: calc(76% - 50px);
line-height: 1.6;
}
.exp_bx .btn{
text-align: center;
width: calc(24% - 0px)
}
.exp_bx .btn a{
    display: block;
    line-height: 1;
    border: 1px solid rgba(255,255,255,1.00);
    text-decoration: none;
    color: #FFF;
    padding: 7px 30px;
}
.exp_bx .btn a:hover{
background-color: #000;
border: 1px solid #000000;
    padding: 7px 30px;
}

/*--温泉-------------*/
.onsen_ttl{
font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
 background-color: #120E0A;
 color: #FFF;
 text-align: center;
 margin-bottom: 1em;
 margin-top: 1em
}
.onsen_ttl.mt{
margin-top: 4em
}
table.onsen_price{
width: 100%;
border-collapse: separate;
border-spacing: 5px!important;
}
table.onsen_price .label{
background-color: #6F674D;
color: #FFF;
text-align: center
}
table.onsen_price .label_sub{
background-color: #E6E4D9;
text-align: center
}
table.onsen_price th,
table.onsen_price td{
    padding: 3px 6px;
    border-bottom: 1px solid #D4D4D4;
    border-right: 1px solid #D4D4D4;
}
table.onsen_price td{
vertical-align: top
}
.danbuyrinoyu{
display: flex;
gap: 50px;
}
.danbuyrinoyu img{
width: 480px;
height: auto
}
.danbuyrinoyu .detail{
    border: 1px solid #626262;
    margin-top: 1em;
    font-size: 14px;
    padding: 10px;
}
.danbuyrinoyu .detail p{
text-indent: -4em;
  padding-left: 4em;
  line-height: 1.6
}


/*--お料理-------------*/
.ttl_sub{
font-size: 24px;
font-family: "Noto Serif JP", serif;
font-weight: 600;
}
.ttl_sub.mt{
margin-top: 2em
}

.oryouri_list{}
.oryouri_list ul{
display: flex;
flex-wrap: wrap;
gap: 20px;
list-style: none;
padding: 0;
margin: 0;
}
.oryouri_list ul li {
  flex: 1 1 calc((100% - 20px * 2) / 2);
  box-sizing: border-box;
}
.oryouri_list ul li img {
  display: block;
  width: 100%;
  height: auto;
}
.oryouri_list ul li .txt {
  background-color: #1D1D1B;
  color: #FFF;
  padding: 20px;
  line-height: 1.6;
  font-size: 14px;
  min-height: 140px;
}
.oryouri_list ul li .txt .ttl{
  font-size: 24px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  margin-bottom: 0.5em
}
.oryouri_list ul li .txt .price{
  font-size: 18px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
.oryouri_list .exp{
margin-top: 1em;
font-size: 14px
}
.oryouri_list .exp .ttl{
margin-top: 1em;
font-size: 18px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}

.oryouri_slides{
height: auto;
}
.oryouri_slides .swiper-button-next,
.oryouri_slides .swiper-button-prev {
    --swiper-navigation-color: #FFF;
}
.oryouri_slides .swiper {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
    }
.oryouri_slides .swiper-slide {
  /* display: flex;         ← これをやめる */
  /* justify-content: center;
     align-items: center; */

  display: block;          /* これで OK */
}
.oryouri_slides .swiper,
.oryouri_slides .swiper-wrapper,
.oryouri_slides .swiper-slide {
  height: auto !important;
}

.oryouri_slides .swiper-slide img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: cover;
}

.mySwiper_main {
      height: auto;
      width: 100%;
}
.mySwiper_thum {
      height: auto;
      box-sizing: border-box;
      padding: 10px 0;
      margin-top: 5px;
}
.mySwiper_thum .swiper-slide {
      width: 25%;
      height: 100%;
      opacity: 0.4;
    }
.mySwiper_thum .swiper-slide img {
      width: 100%;
      height: auto;
      object-fit: cover;
}
.mySwiper_thum .swiper-slide-thumb-active {
      opacity: 1;
}

 .oryouri_notice{
 background-color: #E6E6DE;
 padding: 15px;
 line-height: 1.6;
 font-size: 12px;
 margin-top: 1.5em
 }
