@charset "utf-8";
/*----------------------------------
	body
-----------------------------------*/
html{
	overflow-x: hidden;
}
body{
    font-family: 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', '游明朝','Yu Mincho', '游明朝体', 'YuMincho','ＭＳ Ｐ明朝', 'MS PMincho', serif;
	line-height: 1.8;
	color: #000;
}
.sp-block {
	display: none;
}
.sp-br {
	display: none;
}
.tablet-br {
	display: none;
}
.pc-br {
	display: block;
}
h1,h2,h3,h4{
	font-weight: 100;
}
a{
	color: #2D333C;
}
.block {
	width: 90%;
	margin: 0 auto;
}
.flex {
	display: flex;
	justify-content: space-between;
}
.menu-btn, .g-nav {
	display: none;
}
.center {
	text-align: center;
}
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
  background: #b10000;
  text-decoration: none;
  color: #fff;
  width: 100px;
  padding: 28px 5px;
  text-align: center;
  display: block;
  border-radius: 90px;
  opacity: 0.9;
  transition: all .3s ease;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}
.sp {
	display: none !important;
}
.area-block ul li .shop-time span.sp-none {
	display: inline;
}
/*----------------------------------
	br 
-----------------------------------*/
.br-sp {
	display: none;
}
.sp-block {
	display: none;
}
.br-tablet {
	display: none;
}
/*----------------------------------
	link button
-----------------------------------*/
/*== ボタン共通設定 */
.btn{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
    border: 1px solid #555;/* ボーダーの色と太さ */
    padding: 10px 50px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn span {
  position: relative;
  z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color:#333;
}

.btn:hover span{
  color:#fff;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
    /*色や形状*/
  background:#333;/*背景色*/
  width: 100%;
  height: 100%;
    /*アニメーション*/
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before{
  transform-origin:left top;
  transform:scale(1, 1);
}
/*----------------------------------
	wrapper
-----------------------------------*/
#wrapper {
	position: relative;
}
#container {
	border-top: 10px solid #b10000;
}
/*----------------------------------
	sp
-----------------------------------*/
#spnav_bt {
	display:none;
}
#sp-sidebar {
	display:none;
}
.slider-sp {
	display: none;
}
/*----------------------------------
	title
-----------------------------------*/

/*----------------------------------
	header
-----------------------------------*/
header{
	position: fixed;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	width: 240px;
	height: 85vh;
	background: rgba(0,0,0,0.6);
	padding: 3.0rem;
	z-index: 10000;
	border-radius: 10px;
}
header h1{
	width: 145px;
	margin: 0 auto 2.0rem; 	
}
.header-inner {
	height: 100%;
}
/*----------------------------------
	nav
-----------------------------------*/
nav.gnav {
	height: calc(100% - 120px);
}
nav.gnav ul{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
nav.gnav ul li{
	font-size: 1.4rem;
	font-weight: 400;
}
nav.gnav ul li a{
	color: #fff;
}
/*----------------------------------
	footer
-----------------------------------*/
footer{
	font-size: 1.2rem;
	padding: 5.0rem 2.0rem;
	text-align: right;
}

/*----------------------------------
	keyv
-----------------------------------*/
#keyv {
	position: relative;
	width: 100%;
	height: 100vh;
	margin-bottom: 10.0rem;
}
.wrapper__video{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#keyv h2{
	position: absolute;
	bottom: 80px;
	right: 20px;
	font-size: 3.5rem;
	color: #fff;
	text-align: right;
	text-shadow:1px 1px 3px #000;
}
#keyv .slider li{
	width: 100%;
	height: 100vh;
}
#keyv .slider li:first-child{
	background: url("/common/images/keyv/keyv_01.jpg") no-repeat center center;
	background-size: cover;
}
#keyv .slider li:nth-child(2){
	background: url("/common/images/keyv/keyv_02.jpg") no-repeat center center;
	background-size: cover;
}
#keyv .slider li:nth-child(3){
	background: url("/common/images/keyv/keyv_03.jpg") no-repeat center center;
	background-size: cover;
}
#keyv .slider li:nth-child(4){
	background: url("/common/images/keyv/keyv_04.jpg") no-repeat center center;
	background-size: cover;
}
#keyv .slider li:last-child{
	background: url("/common/images/keyv/keyv_05.jpg") no-repeat center center;
	background-size: cover;
}
/*スクロールダウン全体の場所*/
.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:1%;
  right:50%;
    /*矢印の動き1秒かけて永遠にループ*/
  animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
  position: absolute;
  left:-20px;
  bottom:10px;
    /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background: #eee;
    transform: skewX(-31deg);
}

.scrolldown4:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:0;
  right:0;
    /*矢印の形状*/
  width:1px;
  height: 50px;
  background:#eee;
}
/*----------------------------------
	index
-----------------------------------*/
.section-index {
	position: relative;
	margin-bottom: 10.0rem;
}
.section-index article{
	margin-left: 300px;
}
.index-ttl {
	font-size: 2.5rem;
	line-height: 1.4;
	margin-bottom: 3.0rem;
}
.index-about-l {
	width: 40%;
	font-size: 1.6rem;
	padding: 2.0rem 0;
}
.index-about-r {
	width: 55%;
	background: url("/common/images/pht/pht_about202404.jpg") no-repeat center center;
	background-size: cover;
	height: 80vh;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
}
.topics-list {
	margin-bottom: 5.0rem;
}
.topics-list li{
	border-bottom: 1px solid #dedddb;
	padding: 2.0rem 0.5rem;
	font-size: 1.6rem;
	word-wrap: break-word;
    overflow-wrap: break-word;
}
.topics-list li .topics-date {
	font-size: 1.4rem;
}
#topics a.btn {
	float: right;
	margin-right: 5.0rem;
}
.media-list {
	margin-bottom: 5.0rem;
}
.media-list li{
	border-bottom: 1px solid #dedddb;
	padding: 2.0rem 0.5rem;
	font-size: 1.6rem;
}
.media-list li a, .topics-list li a{
	position: relative;
	font-size: 1.4rem;
	color: #b10000;
	border-bottom: 1px solid #b10000;
}
#media a.btn {
	float: right;
	margin-right: 5.0rem;
}
/*----------------------------------
	page
-----------------------------------*/
.page-block {
	padding: 5.0rem 2.0rem 5.0rem 0;
    margin-left: 300px;
}
.page-block-ttl {
	font-size: 5.0rem;
	margin-bottom: 5.0rem;
}
.page-block-subttl {
	font-size: 3.5rem;
	margin-bottom: 3.0rem;
}
.page-block-ttl span{
	color: #b10000;
}
.page-txt {
	padding-left: 0.5rem;
	font-size: 1.8rem;
}
.page-img {
    margin-left: 300px;
}
.page-block .flex{
	align-items: center;
}
.page-fleximg {
	width: 25%;
}
.page-flextxt {
	width: 70%;
	font-size: 1.8rem;
}
.menu-list {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.menu-list li{
	width: 32%;
	margin: 0 2% 8.0rem 0;
}
.menu-list li:nth-child(3n){
	margin-right: 0;
}
.menu-list li:nth-child(7), .menu-list li:nth-child(8), .menu-list li:nth-child(9){
	margin-bottom: 0;
}
.menu-list li h3{
	font-size: 1.8rem;
	margin-bottom: 2.0rem;
	border-left: 5px solid #b10000;
	padding-left: 1.5rem;
}
.menu-list li .menu-img {
	margin-bottom: 2.0rem;
}
.area-list {
	margin-bottom: 5.0rem;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.area-list li{
	width: 30%;
	margin-right: 5%;
	font-size: 1.8rem;
	text-align: center;
	margin-bottom: 2.0rem;
	border: 1px solid #e6b422;
}
.area-list li:nth-child(3n){
	margin-right: 0;
}
.area-list li a{
	display: block;
	width: 100%;
	background: #e6b422;
	color: #fff;
	padding: 1.0rem 0;
	transition: .3s;
}
.area-list li a:hover {
	background: #fff;
	color: #e6b422;
}
.area-block h3{
	font-size: 2.5rem;
	background: #b10000;
	color: #fff;
	margin-bottom: 2.0rem;
	padding-left: 1.0rem;
}
.area-block h4{
	font-size: 2.1rem;
	margin-bottom: 2.0rem;
}
.area-block ul{
	border-top: 1px solid #b10000;
	margin-bottom: 10.0rem;
}
.area-block ul li{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	border-bottom: 1px solid #b10000;
	padding: 2.0rem 0;
}
.area-block ul li h5.shop-name {
	width: 100%;
	font-size: 1.6rem;
	margin-bottom: 1.0rem;
}
.area-block ul li h5.shop-name span{
	font-size: 1.4rem;
	display: inline-block;
	margin-left: 1.5rem;
	padding: 0 0.5rem;
}
.eatin {
	background: #f39800;
	color: #fff;
}
.fc {
	background: #11daff;
	color: #fff;
}
.fa-house::before {
	content: "\f015";
}
.area-block ul li .shop-address span, .area-block ul li .shop-tel span, .area-block ul li .shop-time span{
	display: block;
}
.area-block ul li .shop-address {
	width: 45%;
}
.area-block ul li .shop-address a{
	display: inline-block;
	padding: 0 1.0rem;
	color: #b10000;
	border: 1px solid #b10000;
	margin-left: 0.5rem;
	font-size: 1.2rem;
}
.area-block ul li .shop-tel {
	width: 15%;
}
.area-block ul li .shop-time {
	width: 40%;
}
.company-table {
	width: 100%;
	margin: 0 auto;
	border-top: 1px solid #000;
	font-size: 1.6rem;
}
.company-table tr th, .company-table tr td{
	padding: 2.0rem 1.0rem;
	border-bottom: 1px solid #000;
	text-align: left;
}
.company-table tr th{
	width: 30%;
}
.company-table tr td{
	width: 70%;
}
.company-table tr td a{
	color: #b10000;
}
.txt-right {
	text-align: right;
	padding-right: 0.5rem;
}
/*----------------------------------
	event
-----------------------------------*/
.page-block-entryttl {
	font-size: 3.5rem;
	margin-bottom: 5.0rem;
}
.event-img {
	width: 80%;
	margin: 0 auto 5.0rem;
}
.contact-form {
    background: #f1f1f1;
	border-radius: 2.0rem;
	padding: 10.0rem;
	margin: 0 0 5.0rem;
}
.contact-form li{
	padding: 5.0rem 0;
}
.contact-form li:first-child{
	padding-top: 0;
}
.contact-form li:last-child{
	padding-bottom: 0;
}
.contact-form li h4{
	margin-bottom: 2.0rem;
}
.contact-form li h4 span.required {
	font-size: 1.4rem;
	color: #fff;
	background: #b10000;
	padding: 0 1.0rem;
	margin-right: 1.0rem;
	display: inline-block;
}
.contact-form li input {
    padding: 1rem;
    background: #fff;
    display: block;
    width: 100%;
}
.contact-privacy {
    border: 1px solid #707070;
    padding: 30px 50px;
    margin-bottom: 50px;
    overflow: auto;
    height: 300px;
    z-index: 10;
}
.contact-txt02 {
	margin-bottom: 3.0rem;
}
.btn-submit {
	background: #b10000;
	padding: 1.5rem 0;
	width: 300px;
	display: block;
	margin: 0 auto;
	color: #fff;
	font-weight: bold;
	font-size: 2.1rem;
	letter-spacing: 0.4rem;
	border: 3px solid #b10000;
	cursor: pointer;
	transition: .3s;
}
.btn-submit:hover {
	background: #fff;
	color: #b10000;
}
.thanks-ttl {
	text-align: center;
	margin-bottom: 3.0rem;
	font-size: 2.5rem;
}
.privacy p{
	margin-bottom: 2.0rem;
}
.privacy ul{
	margin-bottom: 2.0rem;
}
.privacy ul ul{
	margin-left: 2.0rem;
}
.privacy ul ul ul{
	margin-bottom: 0;
}
.privacy h2{
	font-size: 2.0rem;
	font-weight: bold;
}
.privacy h2.page-block-ttl {
    font-size: 3.5rem;
}

/*----------------------------------
	single
-----------------------------------*/
.ayulogo {
	content: "";
	background: url("/common/images/pht/ayu.jpg") no-repeat center center;
	background-size: cover;
	width: 19px;
	height: 15px;
	display: inline-block;
}


.topics-sp {
	border: 20px solid #b10000;
	padding: 3.0rem 5.0rem;
	width: 100%;
}
.topics-sp h3{
	font-size: 2.4rem;
	font-weight: 700;
}
.topics-sp-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.topics-sp-flex .image {
	width: 300px;
}
.topics-sp-flex .detail {
	width: calc( 100% - 300px);
	padding: 0 0 0 5.0rem;
}
.txt-link a{
	color: #b10000;
}
.topics-flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.topics-flex .image {
	width: 150px;
}
.topics-flex .detail {
	width: calc( 100% - 150px);
}












