@charset "utf-8";
/* CSS Document */

html{
overflow-y:scroll;
}
body {
background:#fff;
font-family:"Noto Sans JP";
font-size: 90%;
line-height: 1.6;
color: #222222;
}
* {
margin:0;
padding:0;
}
.w1000{
width: 1000px;
margin: 0 auto;
}
.center{
text-align: center;
}
.f-header-mypage a, .f-header-store a, .f-header-english a{
text-align: center;
}
/*
.atodekesu{
display: none;
}
*/
/*--------------------clearfix */
.clearfix:before,
.clearfix:after{
display: block;
overflow: hidden;
content: '';
}
.clearfix:after{
clear: both;
}
.clearfix{
zoom: 1;
}
.box{
clear: both;
}
.box:first-child,
.box:nth-child(2){
clear: both;
/*margin-bottom: 30px;*/
}
/*--------------------------*/
p,
li,
dt,
dd{
text-align: justify;
}
/*h1,h2,h3,h4,h5,h6 {
}*/
p,li,dt,dl {
line-height:1.6;
}
p {
margin:0 0 1em 0;
}
li {
list-style-type:none;
}
img {
border:0;
}
/*--------------------pankuzu */
#pankuzu{
display: block;
background: #fff;
font-size: 0.95em;
}
#pankuzu ul{
width: 1000px;
margin: 0 auto;
overflow: auto;
padding: 10px;
_zoom: 1;
}
#pankuzu li{
float: left;
list-style: none;
}
#pankuzu li + li:before{
margin: 0 8px;
content: '>';
}
/*--------------------container */
#container{
clear: both;
zoom: 1;
width: 100%;
margin: 0 auto;
font-size: 1.1em;
}
/*--------------------contact */
#contact{
background-color: #333333;
padding: 30px 0 50px;
color: #fff;
}
#contact h5{
/*font-size: 2rem;*/
padding-bottom:15px;
text-align: center;
}
.contacts{
width: 950px;
margin: 0 auto;
padding-top: 20px;
font-size: 1.02rem;
vertical-align:middle;
}
.contact_tyo ul{
display: flex;
justify-content: space-between;
}
.contact_tyo ul li{
width: calc(100%/2);
}
.contact_tyo ul li a{
color: #fff;
font-weight: bold;
}
.contact_tyo dl dd.migizoroe{
padding-left: 30px;
}
span.ph-number{
font-size: 1.8em;
padding-left: 15px;
letter-spacing: 4px;
}
/*--------------------上に戻るボタン */
.pagetop {
color: #fff;
background-color: rgba(0,0,0,0.2);
text-decoration: none;
display: none;
position: fixed;
bottom: 1em;
right: 1em;
font-size: 1.8em;
width: 2em;
height:2em;
line-height:1.8em;
border-radius: 3em;
text-align: center;
cursor: pointer;
}
.pagetop:hover {
color: #fff !important;
background-color:#800000;
text-decoration: none;
transition: 0.8s;
}
/*--------------------top */
#top{
width: 100%;
display: block;
}
#top {
width: 100%;
height: 500px;
background: url("../img/bg_top.jpg");
background-repeat: no-repeat;
background-position: center;
color: #fff;
font-family: "Noto Serif JP", serif;
font-weight: 500;
}
#top p.ttl_2{
font-size: 415%;
text-align: center;
margin-bottom: 30px;
text-shadow: 0 0 7px rgba(0, 0, 0, 1);
letter-spacing: 0.02em;
}
#top p.ttl_1{
display: block;
position: relative;
text-align: center;
font-size: 285%;
margin-bottom: 10px;
padding-top: 90px;
text-shadow: 0 0 7px rgba(0, 0, 0, 0.9);
}
#top .ttl_1::before {
background-color: #e2af00; /* 線の色 */
border-radius: 5px; /* 線の両端を丸く */
bottom: -10px; /* 線の位置 */
content: "";
height: 4px; /* 線の高さ */
left: 50%; /* 線の中央寄せ */
position: absolute;
transform: translateX(-50%); /* 線の中央寄せ */
width: 50px; /* 線の長さ */
}
#top p.subtitle{
width: 580px;
margin: 0 auto 15px;
text-align: center;
font-size: 125%;
font-weight: 700;
color: #800000;
background: #fff;
border-radius: 25px;
}
#top p.subtitle span{
font-size: 85%;
}
#top_sp{
display: none;
}
/*--------------------intro */
#intro{
padding: 50px 0;
background-image: url("../img/bg_wall.jpg");
background-repeat: repeat;
background-size: auto;
}
#intro h5{
font-size: 135%;
color: #800000;
border-left: 14px solid #800000;
margin-bottom: 30px;
padding-left: 10px;
font-family: "Noto Serif JP", serif;
}
#intro h5 span{
display: block;
font-size: 65%;
}
#intro p{
font-weight: 500;
}
#intro ul{
padding: 30px 0 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#intro ul li{
width: calc(100% / 2 - 1%);
margin-bottom: 12px;
}
#intro ul li img{
width: 100%;
height: 326px;
object-fit: cover;
border-radius: 25px; 
}
/*--------------------haman */
.haman{
padding: 50px 0;
}
.haman h5{
font-size: 135%;
color: #800000;
border-left: 14px solid #800000;
margin-bottom: 30px;
padding-left: 10px;
font-family: "Noto Serif JP", serif;
}
p.date{
display: inline-block;
color: #fff;
background: #800000;
font-weight: 500;
font-size: 125%;
font-family: "Noto Serif JP", serif;
padding: 0 18px;
margin-bottom: 25px;
border-radius: 20px;
}
p.date span{
font-size: 85%;
padding-left: 5px;
}
.haman ul,
.haman dl{
display: flex;
flex-wrap: wrap;
}
.haman dl dt{
width: 150px;
font-weight: 700;
font-size: 115%;
color: #800000;
}
.haman dl dt,
.haman dl dd{
padding-bottom: 10px;
}
.haman dl dd{
width: 620px;
font-weight: 500;
font-size: 110%;
}
.haman ul li.timetable{
display: block;
width: 16px;
margin-right: 14px;
}
.haman ul li.flow{
width: 800px;
}
.haman ul li.timetable img{
width: 100%;
padding-top: 3px;
}
/*--------------------heritage */
#heritage{
padding: 50px 0;
background-image: url("../img/bg_paper.jpg");
background-repeat: no-repeat;
background-size: cover;
}
#heritage h5{
display: block;
position: relative;
text-align: center;
color: #540000;
font-size: 135%;
font-family: "Noto Serif JP", serif;
margin-bottom: 50px;
}
#heritage h5::before {
background-color: #540000; /* 線の色 */
border-radius: 5px; /* 線の両端を丸く */
bottom: -10px; /* 線の位置 */
content: "";
height: 4px; /* 線の高さ */
left: 50%; /* 線の中央寄せ */
position: absolute;
transform: translateX(-50%); /* 線の中央寄せ */
width: 50px; /* 線の長さ */
}
#heritage ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#heritage ul li{
width: calc(100% / 3 - 1%);
}
#heritage ul li img{
width: 100%;
border-radius: 15px;
}
#heritage ul li p{
color: #8B4513;
font-family: "Noto Serif JP", serif;
font-weight: 700;
font-size: 118%;
border-left: 5px solid #8B4513;
padding-left: 10px;
margin-top: 7px;
}
#heritage ul li p span{
font-size: 85%;
font-weight: 600;
color: #fff;
background: #AC6E16;
background: linear-gradient(60deg, rgba(172, 110, 22, 1) 0%, rgba(227, 164, 58, 1) 50%, rgba(172, 110, 22, 1) 100%);
padding: 0 12px;
margin-right: 7px;
border-radius: 15px;
}
#heritage .icon{
position: relative;
}
#heritage .icon img.logo_view30{
width: 90px;
position: absolute;
top: 0;
left: 0;
}
/*--------------------schedule */
#schedule{
padding: 50px 0;
}
#schedule h5{
font-size: 135%;
color: #8B4513;
border-left: 14px solid #8B4513;
margin-bottom: 20px;
padding-left: 10px;
font-family: "Noto Serif JP", serif;
}
#schedule ul{
display: flex;
justify-content: space-between;
}
#schedule ul li.graph{
width: 70%;
}
#schedule ul li.gourmet{
width: 28%;
}
#schedule table {
border: 1px solid #8B4513;
width: 100%;
border-collapse: collapse;
}
#schedule table tr{
border: none;
}
#schedule table tr.btm-line{
border-bottom: 1px solid #8B4513;
}
#schedule table th{
background: #8B4513;
color: #fff;
font-weight: 700;
padding: 0 8px;
text-align: center;
}
#schedule table td{
padding-top: 2px;
font-weight: 500;
}
#schedule table td.tb-time{
background: #ffeee3;
padding-left: 7px;
border-right: 1px solid #8B4513;
}
#schedule table td.tb-time-btm{
vertical-align: bottom!important;
}
#schedule table td.tb-time-top{
vertical-align: top;
}
#schedule table td.first{
padding-top: 15px;
}
#schedule table td.last{
padding-bottom: 15px;
}
#schedule table td.detail{
padding-left: 10px;
}
#schedule table td.stay{
text-align: right;
}
#schedule table td.stay_sp,
#schedule table td span.meal_sp{
display: none;
}
#schedule table td.meal{
text-align: center;
vertical-align: top;
border-left: 1px solid #8B4513;
}
#schedule table td.bento{
width: 50px;
margin: 0 auto;
font-size: 90%;
line-height: 1.1em;
}
#schedule table td span.blue,
p.blue{
color: #00688d;
}
#schedule table td span.red{
color: #800000;
}
#schedule table td span.orange{
color:#8B4513;
}
.balloon1 {
position: relative;
display: inline-block;
width: 100%;
margin: 0 auto 20px;
padding: 5px 0;
min-width: 120px;
max-width: 100%;
color: #555;
background: #8B4513;
border-radius: 25px;
}
.balloon1:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -10px;
border: 10px solid transparent;
border-top: 10px solid #8B4513;
}
.balloon1 p {
margin: 0;
padding: 0;
text-align: center;
font-size: 120%;
font-family: "Noto Serif JP", serif;
font-weight: 700;
color: #fff;
}
ul li.gourmet img{
width: 100%;
}
ul li.gourmet dt.gourmet30{
position: relative;
}
ul li.gourmet dt.gourmet30 img.logo_gourmet{
position: absolute;
width: 90px;
top: 0;
left: 0;
}
ul li.gourmet dl dd{
font-size: 115%;
font-weight: 600;
color: #540000;
padding-top: 7px;
margin-bottom: 15px;
}
ul li.gourmet dl dd span{
background: #c49308;
color: #fff;
padding: 0 15px;
margin-right: 7px;
border-radius: 20px;
}
/*--------------------attention */
.attention{
padding: 10px 0;
font-size: 90%;
}
.attention p{
margin-bottom: 0;
font-weight: 500;
}
.attention ul{
display: block!important;
padding-top: 10px;
}
/*--------------------request */
#request{
padding: 50px 0;
background: #f5f5f5;
}
#request p.eng{
color: #8B4513;
text-align: center;
font-weight: 700;
font-size: 110%;
}
#request p.eng span.material-symbols-outlined{
vertical-align: -3px;
padding-right: 7px;
transform: rotate(-30deg); 
}
#request h5{
font-size: 135%;
color: #8B4513;
font-weight: 600;
font-family: "Noto Serif JP", serif;
padding: 20px 0 0;
text-align: center;
}
#request h6{
font-size: 125%;
color: #540000;
text-align: center;
font-weight: 600;
font-family: "Noto Serif JP", serif;
}
ul.fourdays,
ul.byon_tour{
display: flex;
justify-content: space-between;
}
ul.fourdays{
margin: 20px auto 30px;
}
ul.fourdays li,
ul.byon_tour li{
width: calc(100%/3 - 1%);
}
ul.fourdays li p,
ul.byon_tour li p{
margin-bottom: 7px;
font-size: 110%;
font-weight: 700;
color: #222;
}
ul.fourdays li p span{
display: block;
color: #8B4513;
font-size: 85%;
}
ul.fourdays li a{
display: inline-block;
background:#8b4513;
width: 100%;
color: #fff;
font-weight: 600;
margin: 0 auto;
padding: 10px 0;
position: relative;
text-align: center;
}
ul.fourdays li a::before {
content: "";
top: 0;
left: 0;
border-bottom: 1.5em solid transparent;
border-left: 1.5em solid #cc8d62;/* ラベルの色はここで変更 */
position: absolute;
z-index: 100;
}
ul.fourdays li a::after {
content: "";
display: block;
top: 5px;
transform: rotate(-45deg);
left: 0;
position: absolute;
z-index: 101;
}
.byon{
padding: 30px 0 0;
}
.circle{
text-align: center;
padding: 20px 0 0;
}
.circle img {
width: 160px;
height: 160px;
border-radius: 50%;  /* 円形にする */
border: 3px solid #fff;
}
ul.byon_tour li a{
display: inline-block;
background: #9e005d;
width: 100%;
color: #fff;
font-weight: 600;
margin: 0 auto;
padding: 10px 0;
position: relative;
text-align: center;
}
ul.byon_tour li a::before {
content: "";
top: 0;
left: 0;
border-bottom: 1.5em solid transparent;
border-left: 1.5em solid #b56297;/* ラベルの色はここで変更 */
position: absolute;
z-index: 100;
}
ul.byon_tour li a::after {
content: "";
display: block;
top: 5px;
transform: rotate(-45deg);
left: 0;
position: absolute;
z-index: 101;
}
ul.byon_tour li p span{
display: block;
color: #9e005d;
font-size: 85%;
}
#request a:hover{
opacity: 0.6;
transition: 0.3s;
}
/*--------------------other */
#other{
padding: 30px 0 50px;
}
#other ul{
display: flex;
justify-content: space-between;
}
#other ul li{
width: calc(100% / 2);
}
#other ul li.movie{
padding-top: 10px;
}
#other ul li img{
width: 320px;
}
#other dl{
display: flex;
justify-content: end;
}
#other dl dd{
text-align: right;
font-weight: 600;
font-size: 110%;
padding-top: 30px;
}
#other dl dd a{
border-bottom: 2px solid #322e27;
color: #322e27;
}
#other dl dd a:hover{
opacity: 0.6;
transition: 0.3s;
}
#other dl dt {
position: relative;
display: inline-block;
margin: 0 10px 0 0;
padding: 0 5px;
width: 90px;
height: 90px;
line-height: 90px;
text-align: center;
color: #FFF;
font-size: 20px;
font-weight: bold;
background: #322e27;
border-radius: 50%;
box-sizing: border-box;
}
#other dl dt:before {
content: "";
position: absolute;
bottom: -8px;
right: -8px;
margin-top: -15px;
border: 15px solid transparent;
border-left: 15px solid #322e27;
z-index: 0;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
