@charset "UTF-8";
/*==========================
リセットCSS
===========================*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
}
body {
	line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
nav ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color: #666;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}  /* change border colour to suit your needs  */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
ul li {
	list-style: none;
}
/*==========================
共通書式
===========================*/
/*各要素*/
body {
	overflow-x: hidden;
	background-color: transparent;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}
h1,h2,h3,h4,h5,h6{
    display: block;
    padding: 0;
    margin: 0;
}
@media screen and (min-width:1201px) {
.container{
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}
}
@media screen and (min-width:781px)  and (max-width:1200px){
.container{
    max-width: 1200px;
    padding: 0 15px;
}
}
@media screen and (max-width:780px) {
.container{
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
}
}
.img-responsive{
    display: block;
    max-width: 100%;
    height: auto;
}
@media screen and (min-width:781px) {
    .pd10{
        padding: 10px 0;
    }
    .pd15{
        padding: 15px 0;
    }
    .pd20{
        padding: 20px 0;
    }
    .pd30{
        padding: 30px 0;
    }
    .pd40{
        padding: 40px 0;
    }
    .pd50{
        padding: 50px 0;
    }
    .pd60{
        padding: 60px 0;
    }
    .pd70{
        padding: 70px 0;
    }
    .pd80{
        padding: 80px 0;
    }
    .pd90{
        padding: 90px 0;
    }
    .pd100{
        padding: 100px 0;
    }
    .mb10{
        margin-bottom: 10px;
    }
    .mb15{
        margin-bottom: 15px;
    }
    .mb20{
        margin-bottom: 20px;
    }
    .mb30{
        margin-bottom: 30px;
    }
    .mb40{
        margin-bottom: 40px;
    }
    .mb50{
        margin-bottom: 50px;
    }
    .md60{
        margin-bottom: 60px;
    }
    .md70{
        margin-bottom: 70px;
    }
    .md80{
        margin-bottom: 80px;
    }
    .mb90{
        margin-bottom: 90px;
    }
    .mb100{
        margin-bottom: 100px;
    }
    .pb10{
        padding-bottom: 10px;
    }
    .pb20{
        padding-bottom: 20px;
    }
    .pb30{
        padding-bottom: 30px;
    }
    .pb40{
        padding-bottom: 40px;
    }
    .pb60{
        padding-bottom: 60px;
    }
    .pb80{
        padding-bottom: 80px;
    }
    .br_pc{
        display: block;
    }
    .br_sp{
        display: none;
    }
     /*ページタイトル*/
    .page_title{
        height: 70vh;
        width: 100%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }
    .page_title .page_title_index h2{
        font-size: 24px;
        border: 2px solid #fff;
        color: #fff;
        padding: 15px 45px;;
        border-radius: 4px;
        background-color: rgba(0,0,0,0.6);
    }
}
@media screen and (max-width:780px) {
    .pd10{
        padding: 5px 0;
    }
    .pd15{
        padding: 7px 0;
    }
    .pd20{
        padding: 10px 0;
    }
    .pd30{
        padding: 15px 0;
    }
    .pd40{
        padding: 20px 0;
    }
    .pd50{
        padding: 25px 0;
    }
    .pd60{
        padding: 30px 0;
    }
    .pd70{
        padding: 35px 0;
    }
    .pd80{
        padding: 40px 0;
    }
    .pd90{
        padding: 45px 0;
    }
    .pd100{
        padding: 50px 0;
    }
  .mb10{
        margin-bottom: 5px;
    }
    .mb15{
        margin-bottom: 7px;
    }
    .mb20{
        margin-bottom: 10px;
    }
    .mb30{
        margin-bottom: 15px;
    }
    .mb40{
        margin-bottom: 20px;
    }
    .mb50{
        margin-bottom: 25px;
    }
    .md60{
        margin-bottom: 30px;
    }
    .md70{
        margin-bottom: 35px;
    }
    .md80{
        margin-bottom: 40px;
    }
    .mb90{
        margin-bottom: 45px;
    }
    .mb100{
        margin-bottom: 50px;
    }
       .pb10{
        padding-bottom: 5px;
    }
    .pb20{
        padding-bottom: 10px;
    }
    .pb30{
        padding-bottom: 15px;
    }
    .pb40{
        padding-bottom: 20px;
    }
    .pb60{
        padding-bottom: 30px;
    }
    .pb80{
        padding-bottom: 40px;
    }
    .br_pc{
        display: none;
    }
    .br_sp{
        display: block;
    }
    /*ページタイトル*/
    .page_title{
        height: 40vh;
        width: 100%;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }
    .page_title .page_title_index h2{
        font-size: 20px;
        border: 2px solid #fff;
        color: #fff;
        padding: 15px 30px;;
        border-radius: 4px;
        background-color: rgba(0,0,0,0.6);
    }
}

.futura-book{
    font-family: futura-pt, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.futura-light{
    font-family: futura-pt, sans-serif;
    font-weight: 300;
    font-style: normal;
}



/*ページ遷移アニメーション*/
.fade_group div ,
.fade_group2 div {
    content: '';
    position: fixed;
    top: 0;
    left: -100vw;
    width: 100vw;
    height: 100%;
    pointer-events: none;
}
.fade_group div {
    z-index: 9999;
    transition: .6s;
}
.fade_group2 div {
    z-index: 9998;
    transition: .8s;
}
.fade_group div:nth-of-type(1) {
    background: rgba(175,151,94,.3);
}
.fade_group div:nth-of-type(2) {
    background: rgba(175,151,94,.5);
    transition-delay:.1s;
}
.fade_group div:nth-of-type(3) {
    background: rgba(175,151,94,.7);
    transition-delay:.2s;
}
.fade_group div:nth-of-type(4) {
    background: rgba(50,50,50,1);
    transition-delay:.3s;
}
.fade_group2 div:nth-of-type(1) {
    background: rgba(175,151,94,.8);
    transition-delay: .2s;
}
.fade_group2 div:nth-of-type(2) {
    background: rgba(175,151,94,.8);
    transition-delay: .3s;
}
body.fade_window .fade_group div{
    left: 0;
}
body.fade_window .fade_group2 div{
    left: 100vw;
}

/*共通｜フッター*/
@media screen and (min-width:781px) {
#footer{
    background-color: #efefef;
    color: #333;
    
    text-align: center;
    font-size: 14px;
}
#footer .shop_guide{
    padding: 60px 0;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
#footer .footer_logo{
    flex-basis: 30%;
}
#footer .footer_logo img{
    width: 50%;
    display: block;
}
#footer .footer_shop{
    flex-basis: 70%;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
}
#footer .footer_shop ul{
    flex-basis: 50%;
    padding: 30px 0;
    display: block;
}
#footer .footer_shop ul{
    border-right: 1px solid #666;
    border-left: 1px solid #666;
}
#footer .footer_shop ul:last-child {
    border-left: none;
}
#footer .footer_shopname{
    font-size: 16px;
    font-weight: bold;
    padding: 15px 0;
}
#footer .footer_shop li{
    line-height: 1.6;
}
#footer .copyright{
    background-color: #104567;
    padding: 30px;
    color: #fff;
    font-size: 11px;
}
#footer .footer_shoptel{
    font-family: Helvetica, Arial,  "sans-serif";
    font-size: 24px;
}
#footer .footer_shop i{
    margin-right: 0.3em;
}
}
@media screen and (max-width:780px) {
#footer{
    background-color: #efefef;
    color: #333;
    
    text-align: center;
    font-size: 13px;
}
#footer .shop_guide{
    padding: 30px 0 0 0;
    display:block;
}
#footer .footer_logo{
    width: 100%;
    padding-bottom: 30px;
}
#footer .footer_logo img{
    width: 50%;
    display: block;
    margin: 0 auto;
}
#footer .footer_shop{
    
}
#footer .footer_shop ul{
    padding: 30px 0;
    display: block;
    border-top:1px solid #cdcdcd;
}
#footer .footer_shop ul{
    
}
#footer .footer_shopname{
    font-size: 15px;
    font-weight: bold;
    padding: 10px 0;
}
#footer .footer_shop li{
    line-height: 1.4;
}
#footer .copyright{
    background-color: #104567;
    padding: 30px;
    color: #fff;
    font-size: 10px;
}
#footer .footer_shoptel{
    font-family: Helvetica, Arial,  "sans-serif";
    font-size: 24px;
}
#footer .footer_shop i{
    margin-right: 0.3em;
}
}

/*共通｜ヘッダー*/
@media screen and (min-width:961px) {
#header{
    height: 90px;
    width: 100%;
    background-color: #fff;
    border-bottom: 1px solid #333;
}
    #top-head-inner{
        display: none;
    }
#header .g_navi{
    height: 60px;
    max-width: 100%;
    padding: 15px 0;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
#header .brand_logo img{
    height: 50px;
    width: auto;
}
.menu_wrap{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
}
.menu_wrap a{
    display: block;
    padding: 0 15px;
}
}

@media screen and (max-width:960px) {
   #header .g_navi{ 
       display: none;
    }
    
    #header{
    height: 60px;
    width: 100%;
    background-color: #fff;
    border-bottom: 1px solid #333;
}
    #header .brand_logo img{
    height: 30px;
    width: auto;
        padding: 15px 0;
}
    
.open #global-nav {
  z-index: 5000;
  visibility: visible;
}
#global-nav {
  visibility: hidden;
  position: fixed;
  display: table;
  vertical-align: middle;
  color: #fff;
  top: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  font-size: 14px;
}
#global-nav ul {
  display: table-cell;
  vertical-align: middle;
  list-style: none;
}
#global-nav a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 10px 0;
}

/* ***********************************************************
* nav-list
* *********************************************************** */
#global-nav ul li {
  opacity: 0;
  -webkit-transform: scaleX(0) translateX(-260px);
  transform: scaleX(0) translateX(-260px);
  -webkit-transition: none;
  transition: none;
}
.open #global-nav ul li {
  opacity: 1;
  -webkit-transform: scaleX(1) translateX(0);
  transform: scaleX(1) translateX(0);

  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;

  -webkit-transition-delay: .1s;
  transition-delay: .1s;
}
.open #global-nav ul li:nth-child(2) {
  -webkit-transition-delay: .2s;
  transition-delay: .2s;
}
.open #global-nav ul li:nth-child(3) {
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
}
.open #global-nav ul li:nth-child(4) {
  -webkit-transition-delay: .4s;
  transition-delay: .4s;
}
.open #global-nav ul li:nth-child(5) {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}

/* ***********************************************************
* #nav-bg
* *********************************************************** */
#nav-bg {
  content: "";
  width: 2400px;
  height: 2400px;
  margin-right: -1200px;
  margin-top: -1200px;
  top: 27px;
  right: 29px;
  display: block;
  position: fixed;
  background: #104567;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: scale(.02);
  transform: scale(.02);
    z-index: 1200;
}
.open #nav-bg {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all .6s ease-out;
  transition: all .6s ease-out;
}

/* ***********************************************************
* #nav-toggle
* *********************************************************** */
#nav-toggle {
  display: block;
  position: fixed;
  right: 8px;
  top: 8px;
  width: 23px;
  height: 30px;
  cursor: pointer;
  padding: 10px 11px;
  z-index: 5001;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}

#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #fff;
  left: 0;
  zoom: 1;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 8px;
}
#nav-toggle span:nth-child(3) {
  top: 16px;
}
.open #nav-toggle {
  background: transparent;
}
.open #nav-toggle span {
  background: #fff;
    z-index: 5000;
}

.open #nav-toggle span:nth-child(1) {
  top: 9px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  zoom: 1;
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 9px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  zoom: 1;
}
}

/*トップ｜トップカバー*/
@media screen and (min-width:1201px) {
    #top_cover{
        position: relative;
        height: 90vh;
        width: 100%;
        /*background-image: url("img/top_cover.jpg");*/
    }
    #top_cover  .swiper-container {
        width: 100%;
        height: 90vh;
    }
    #top_cover .swiper-wrapper .swiper-slide {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
    #top_cover .top_cover_copy{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0px;
        width: 20%;
        background-color: rgba(255,255,255,0.7);
        padding: 30px 60px;
        z-index: 1000;
    }
    #top_cover .top_cover_copy .today_display{
        padding-top: 30px;
        padding-bottom: 10px;
        font-size: 30px;
        letter-spacing: 2px;
        border-bottom: 1px solid #666;
    }
    /*トップ｜イントロ*/
    #intro .intro_inner{
        border: 1px solid #666;
        padding: 60px;
        text-align: center;
        box-sizing: border-box;
        background-image: url("img/intro_bg.png");
        background-position: right;
        background-repeat: no-repeat;
    }
    #intro .intro_inner h3{
        font-size: 36px;
        padding: 0 0 60px 0;
        letter-spacing: 3px;
    }
    #intro .intro_inner p{
        font-size: 14px;
        line-height: 2.5;
    }
    /*トップ｜店選択*/
    #btn_selector{
        background-color: #efeedf;
    }
    #btn_selector .shop_select_btn{
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
    }
    #btn_selector .shop_select_btn a{
        display: block;
        flex-basis: 48%;
    }
}

@media screen and (min-width:781px) and (max-width:1200px) {
    #top_cover{
        position: relative;
        height: 60vh;
        width: 100%;
    }
    #top_cover  .swiper-container {
        width: 100%;
        height: 60vh;
    }
    #top_cover .swiper-wrapper .swiper-slide {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
    #top_cover .top_cover_copy{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0px;
		background-color: rgba(255,255,255,0.7);
        width: 40%;
		padding:15px;
        z-index: 1000;
    }
    #top_cover .top_cover_copy .today_display{
        padding-top: 20px;
        padding-bottom: 10px;
        font-size: 20px;
        letter-spacing: 2px;
        border-bottom: 1px solid #666;
    }
    /*トップ｜イントロ*/
    #intro .intro_inner{
        border: 1px solid #666;
        padding: 30px;
        text-align: center;
        box-sizing: border-box;
        background-image: url("img/intro_bg_sp.png");
        background-position: right;
        background-repeat: no-repeat;
    }
    #intro .intro_inner h3{
        font-size: 24px;
        padding: 0 0 30px 0;
        letter-spacing: 3px;
    }
    #intro .intro_inner p{
        font-size: 14px;
        line-height: 2;
    }
    /*トップ｜店選択*/
    #btn_selector{
        background-color: #efeedf;
    }
    #btn_selector .shop_select_btn{
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
    }
    #btn_selector .shop_select_btn a{
        display: block;
        flex-basis: 48%;
    }
}

@media screen and (max-width:780px) {
    #top_cover{
        position: relative;
        height: 50vh;
        width: 100%;
    }
    #top_cover  .swiper-container {
        width: 100%;
        height: 50vh;
    }
    #top_cover .swiper-wrapper .swiper-slide {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
    }
    #top_cover .top_cover_copy{
        position: absolute;
        bottom: 15px;
        left: 0px;
		background-color: rgba(255,255,255,0.7);
        width: 50%;
		padding:15px;
        z-index: 1000;
    }
    #top_cover .top_cover_copy .today_display{
        padding-top: 20px;
        padding-bottom: 10px;
        font-size: 20px;
        letter-spacing: 2px;
        border-bottom: 1px solid #666;
    }
    /*トップ｜イントロ*/
    #intro .intro_inner{
        border: 1px solid #666;
        padding: 30px;
        text-align: center;
        box-sizing: border-box;
        background-image: url("img/intro_bg_sp.png");
        background-position: right;
        background-repeat: no-repeat;
    }
    #intro .intro_inner h3{
        font-size: 24px;
        padding: 0 0 30px 0;
        letter-spacing: 3px;
    }
    #intro .intro_inner p{
        font-size: 14px;
        line-height: 2;
    }
    /*トップ｜店選択*/
    #btn_selector .shop_select_btn{
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
    }
    #btn_selector .shop_select_btn a{
        display: block;
       margin-bottom: 30px;
    }
}
@media screen and (min-width:781px) {
    /*トップ｜新着情報*/
    #headlinenews{
        
        font-size: 14px;
    }
    #headlinenews .flex-nml{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 25px 0;
    }
    #headlinenews li{
        border-bottom: 1px solid #cdcdcd;
    }
    #headlinenews .top-news-cat{
        flex-basis: 15%;
        text-align: center;
        color: #fff;
    }
    #headlinenews .top-news-cat .cat_icon{
        padding: 5px 10px;
        display: block;
    }
    #headlinenews .top-news-day{
        flex-basis: 15%;
        padding: 0 15px;
    }
    #headlinenews .top-news-ttl{
        flex-basis: 60%;
    }
    #headlinenews .top-news-ttl::after{
         content: "\f054";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-left: 1em;
    }
    #headlinenews .cv_btn{
        padding: 15px 0px;
       text-align: center;
        width: 100%;
        
    }

    #headlinenews .cv_btn a{
        display: inline-block;
        border: 1px solid #666;
        padding: 15px 35px;
        font-size: 14px;
        transition: 0.3s;
    }
    #headlinenews .cv_btn a::after{
        content: "\f054";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-left: 1em;
    }
    #headlinenews .cv_btn a:hover{
        background-color: #104567;
        transition: 0.3s;
        color: #fff;
    }
    /*トップ｜イベント抜粋表示*/
    .event_info_inner{
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        font-size: 13px;
        line-height: 1.7;
    }
    .event_info_inner .event_info_img{
        flex-basis: 50%;
    }
    .event_info_inner .event_info_text{
        flex-basis: 50%;
        padding-left: 60px;
    }
    .event_info_inner .event_info_data{
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        flex-direction: row;
        border-bottom: 1px solid #cdcdcd;
    }
    .event_info_inner .event_info_data dt{
        flex-basis: 25%;
        padding: 15px 0;
        color: #666;
        font-weight: bold;
    }
    .event_info_inner .event_info_data dd{
        flex-basis: 75%;
        padding: 15px 0;
    }
    .event_info_inner .cv_btn{
        padding: 20px 0 0 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
    }
    .event_info_inner .cv_btn a{
        display: block;
        text-align: center;
        flex-basis: 45%;
        background-color: #666;
        color: #fff;
        padding: 10px;
        transition: 0.3s;
    }
    .event_info_inner .cv_btn a:hover{
        background-color: #104567;
        color: #fff;
        transition: 0.3s;
    }

    .event_status{
        padding-bottom: 30px;
        max-width: 100%;
        font-weight: bold;
        font-size: 13px;
    }
    .event_preview{
        border: 2px solid #666;
        text-align: center;
        padding: 10px 50px;
        width: 100%;
        border-radius: 3px;
        color:#666;
    }
    .event_open{
        border: 2px solid #f73205;
        text-align: center;
        padding: 10px 50px;
        width: 100%;
        border-radius: 3px;
        color: #f73205;
    }
}
@media screen and (max-width:780px) {
    /*トップ｜新着情報*/
    #headlinenews{
        
        font-size: 14px;
    }
    #headlinenews .flex-nml{
        display: block;
        width: 100%;
    }
    #headlinenews li{
        border-bottom: 1px solid #cdcdcd;
        padding: 30px 0;
    }
    #headlinenews .top-news-cat{
        width: 40%;
        text-align: center;
        color: #fff;
    }
    #headlinenews .top-news-cat .cat_icon{
        padding: 5px 10px;
        display: block;
    }
    #headlinenews .top-news-day{
        padding: 5px 0;
    }
    #headlinenews .top-news-ttl{
        font-weight: bold;
        font-size: 15px;
    }
    #headlinenews .top-news-ttl::after{
         content: "\f054";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-left: 1em;
        float: right;
    }
    #headlinenews .cv_btn{
        padding: 15px 0;
       text-align: center;
    }

    #headlinenews .cv_btn a{
        display: block;
        border: 1px solid #666;
        padding: 20px 0;
        font-size: 14px;
        transition: 0.3s;
    }
    #headlinenews .cv_btn a::after{
        content: "\f054";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-left: 1em;
    }
    #headlinenews .cv_btn a:hover{
        background-color: #104567;
        transition: 0.3s;
        color: #fff;
    }
    /*トップ｜イベント抜粋表示*/
    .event_info_inner{
        font-size: 14px;
        line-height: 1.4;
    }
    .event_info_inner .event_info_img{
        
    }
    .event_info_inner .event_info_text{
        
    }
    .event_info_inner .event_info_data{
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        flex-direction: row;
        border-bottom: 1px solid #cdcdcd;
    }
    .event_info_inner .event_info_data dt{
        flex-basis: 25%;
        padding: 15px 0;
        color: #666;
        font-weight: bold;
    }
    .event_info_inner .event_info_data dd{
        flex-basis: 75%;
        padding: 15px 0;
    }
    .event_info_inner .cv_btn{
        padding: 20px 0 0 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
    }
    .event_info_inner .cv_btn a{
        display: block;
        text-align: center;
        flex-basis: 45%;
        background-color: #666;
        color: #fff;
        padding: 10px;
        transition: 0.3s;
    }
    .event_info_inner .cv_btn a:hover{
        background-color: #104567;
        color: #fff;
        transition: 0.3s;
    }

    .event_status{
        max-width: 100%;
        font-weight: bold;
        font-size: 13px;
        padding-top: 20px;
    }
    .event_preview{
        border: 2px solid #666;
        text-align: center;
        padding: 5px 50px;
        width: 100%;
        border-radius: 3px;
        color:#666;
    }
    .event_open{
        border: 2px solid #f73205;
        text-align: center;
        padding: 5px 50px;
        width: 100%;
        border-radius: 3px;
        color: #f73205;
    }
}
@media screen and (min-width:781px) {
    /*トップ｜複合カレンダー*/
    #event_carender .calendar-title,
    #photo_carender .calendar-title{
        display: none;
    }
    .article-name,
    .article-name{
        font-size: 12px;
        display: block;
        padding: 10px;
        text-align: center;
        color: #333;
    }
    .multiple-calendar{
        width: 100%;
    }
    .multiple-calendar table{
        width: 100%;
    }

    .multiple-calendar .sun{
        color: #FC0408;
    }
    .multiple-calendar .sat{
        color: #14499F;
    }
    .multiple-calendar tr th{
        width: 14.28571%;
    }

    #photo_carender .cv_btn,
    #event_carender .cv_btn{
        padding: 30px 0;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        justify-content: space-between;
    }
    #photo_carender .shop_select,
    #event_carender .shop_select{
        flex-basis: 48%;
        text-align: center;
    }
    #photo_carender .shop_select a,
    #event_carender .shop_select a{
        display: block;
        border: 1px solid #666;
        padding: 20px 0;
        font-size: 14px;
        transition: 0.3s;
    }
    #photo_carender .shop_select a::after,
    #event_carender .shop_select a::after{
        content: "\f054";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-left: 1em;
    }
    #photo_carender .shop_select a:hover,
    #event_carender .shop_select a:hover{
        background-color: #104567;
        transition: 0.3s;
        color: #fff;
    }
}
@media screen and (max-width:780px) {
    /*トップ｜複合カレンダー*/
    #event_carender .calendar-title,
    #photo_carender .calendar-title{
        display: none;
    }
    .article-name,
    .article-name{
        font-size: 11px;
        display: block;
        padding: 5px;
        text-align: center;
        color: #333;
    }
    .multiple-calendar{
        width: 100%;
    }
    .multiple-calendar table{
        width: 100%;
    }

    .multiple-calendar .sun{
        color: #FC0408;
    }
    .multiple-calendar .sat{
        color: #14499F;
    }
    .multiple-calendar tr th{
        width: 14.28571%;
    }

    #photo_carender .cv_btn,
    #event_carender .cv_btn{
        padding: 15px 0;
       
    }
    #photo_carender .shop_select,
    #event_carender .shop_select{
        margin-bottom: 15px;
        text-align: center;
    }
    #photo_carender .shop_select a,
    #event_carender .shop_select a{
        display: block;
        border: 1px solid #666;
        padding: 20px 0;
        font-size: 14px;
        transition: 0.3s;
    }
    #photo_carender .shop_select a::after,
    #event_carender .shop_select a::after{
        content: "\f054";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-left: 1em;
    }
    #photo_carender .shop_select a:hover,
    #event_carender .shop_select a:hover{
        background-color: #104567;
        transition: 0.3s;
        color: #fff;
    }
}




@media screen and (min-width:781px) {
    .section_title{
        font-size: 36px;
        padding: 0 0 60px 0;
        letter-spacing: 3px;
        display: block;
        text-align: center;
    }
    .section_title:after{
        content: url("img/title_eyecatch.svg");
        width: 30px;
        height: 30px;
        display: block;
        text-align: center;
        margin: 0 auto;
        padding: 15px 0 0 0;
    }
}
@media screen and (max-width:780px) {
    .section_title{
        font-size: 20px;
        padding: 0 0 30px 0;
        letter-spacing: 1px;
        display: block;
        text-align: center;
    }
    .section_title:after{
        content: url("img/title_eyecatch.svg");
        width: 30px;
        height: 30px;
        display: block;
        text-align: center;
        margin: 0 auto;
        padding: 15px 0 0 0;
    }
}



/*催事個別｜催事情報*/
@media screen and (min-width:781px) {
    .single_event_wrap{
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;  
        padding-bottom: 45px;
        letter-spacing: 1;
    }
    .single_event_img{
        flex-basis: 40%;
        padding-right: 45px;
    }
    .single_event_text{
        flex-basis: 60%;
    }
    .single_event_text .single_event_data{
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between; 
        border-bottom: 1px solid #666;
        font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    }
    .single_event_text .single_event_data dt{
        flex-basis: 20%;
        font-weight: bold;
        padding: 15px 0;
        line-height: 1.5;
    }
    .single_event_text .single_event_data dd{
        flex-basis: 80%;
        padding: 15px 0;
        line-height: 1.5;
    }

    /*催事個別｜確約情報*/
    .single_kakuyaku{
        border: 1px solid #666;
        padding: 30px 15px;
        box-sizing: border-box;
    }
    .single_kakuyaku h3{
        display: block;
        text-align: center;
        padding: 0 0 30px 0;
        font-size: 24px;
    }
    .single_kakuyaku_wrap{
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: stretch;
        font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    }
    .single_kakuyaku_wrap .single_kakuyaku_inner{
        flex-basis: 33.333%;
    }

    .single_kakuyaku_inner .single_kakuyaku_box{
        padding: 0px 15px;
    }
    .single_kakuyaku_inner .single_kakuyaku_img{
        position: relative;
        width: 100%;
        padding: 0;
    }
    .single_kakuyaku_inner .single_kakuyaku_type{
        position: absolute;
        top:10px;
        left: 10px;
        padding: 7px 12px;
        display: inline-block;
        text-align: center;
        z-index: 100;
        border-radius: 3px;
        font-size: 24px;
        color: #fff;
        font-family: futura-pt, sans-serif;
        font-weight: 500;
        font-style: normal;
    }
    .single_kakuyaku_inner .single_kakuyaku_name h4{
        display: block;
        font-size: 18px;
        line-height: 1.7;
    }
    .single_kakuyaku_inner .single_kakuyaku_text p{
        padding: 5px 0;
        text-align: justify;
        line-height: 1.4;
    }
    .single_kakuyaku_inner .single_kakuyaku_r_price{
        font-weight: bold;
        border-top:1px solid #cdcdcd;
        border-bottom:1px solid #cdcdcd;
        padding: 7px 0;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal;
    }
    .single_kakuyaku_inner .single_kakuyaku_s_price{
        font-size: 20px;
        color: #FF0004;
        font-weight: bold;
        text-align: right;
        padding: 10px 15px;
        border-bottom:1px solid #cdcdcd;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal;
    }

    .booking_cv_btn{
        width: 100%;
        margin: 45px auto;
        text-align: center;
    }
    .booking_cv_btn a{
        font-size: 20px;
        background-color: #104567;
        color: #fff;
         text-align: center;
        padding: 30px 80px;
        display: inline-block;
        transition: 0.3s;
    }
    .booking_cv_btn a:hover{
        background-color: #333;
        color: #fff;
        transition: 0.3s;
    }
}
@media screen and (max-width:780px) {
    /*催事個別｜催事情報*/
    .single_event_wrap{
        display: block;
    }
    .single_event_img{
       margin-bottom: 15px;
    }
    .single_event_text{
        
    }
    .single_event_text .single_event_data{
        display: block;
        font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
        border-bottom: 1px solid #cdcdcd;
        font-size: 14px;
        margin-bottom: 10px;
    }
    .single_event_text .single_event_data dt{
        padding: 0px 0;
        line-height: 1.5;
        font-weight: bold;
        color: #104567;
        font-size: 16px;
    }
    .single_event_text .single_event_data dd{
        padding: 0px 0;
        line-height: 1.5;
        text-align: justify;
    }

    /*催事個別｜確約情報*/
    .single_kakuyaku{
        border: 1px solid #666;
        padding: 0px 15px;
        box-sizing: border-box;
    }
    .single_kakuyaku h3{
        display: block;
        text-align: center;
        padding: 15px 0 30px 0;
        font-size: 18px;
    }
    .single_kakuyaku_wrap{
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        align-items: stretch;
        font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    }
    .single_kakuyaku_wrap .single_kakuyaku_inner{
    }

    .single_kakuyaku_inner .single_kakuyaku_box{
        margin-bottom: 30px;
        font-size: 14px;
    }
    .single_kakuyaku_inner .single_kakuyaku_img{
        position: relative;
        width: 100%;
        padding: 0;
    }
    .single_kakuyaku_inner .single_kakuyaku_type{
        position: absolute;
        top:10px;
        left: 10px;
        padding: 7px 12px;
        display: inline-block;
        text-align: center;
        z-index: 100;
        border-radius: 3px;
        font-size: 24px;
        color: #fff;
        font-family: futura-pt, sans-serif;
        font-weight: 500;
        font-style: normal;
    }
    .single_kakuyaku_inner .single_kakuyaku_name h4{
        display: block;
        font-size: 18px;
        line-height: 1.7;
        padding: 15px 0 0 0;
    }
    .single_kakuyaku_inner .single_kakuyaku_text p{
        padding: 5px 0;
        text-align: justify;
        line-height: 1.4;
    }
    .single_kakuyaku_inner .single_kakuyaku_r_price{
        font-weight: bold;
        border-top:1px solid #cdcdcd;
        border-bottom:1px solid #cdcdcd;
        padding: 7px 0;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal;
    }
    .single_kakuyaku_inner .single_kakuyaku_s_price{
        font-size: 18px;
        color: #FF0004;
        font-weight: bold;
        text-align: right;
        padding: 10px 0px;
        border-bottom:1px solid #cdcdcd;
        font-family: futura-pt, sans-serif;
        font-weight: 700;
        font-style: normal;
    }

    .booking_cv_btn{
        width: 100%;
        margin: 30px auto;
        text-align: center;
    }
    .booking_cv_btn a{
        font-size: 14px;
        background-color: #104567;
        color: #fff;
         text-align: center;
        padding: 15px 15px;
        display: block;
        transition: 0.3s;
        font-weight: bold;
    }
    .booking_cv_btn a:hover{
        background-color: #333;
        color: #fff;
        transition: 0.3s;
    }
}


@media screen and (min-width:781px) {

    /*予約｜月間カレンダー*/
    .monthly-calendar{
        width: 100%;
    }
    .monthly-calendar table{
        width: 100%;
    }
    .calendar-title,
    .mtssb-timetable-name{
        text-align: center;
        font-size: 24px;
        padding: 15px 0;
        border: 2px solid #666;
        border-radius: 5px;
        margin-bottom: 45px;
        width: 100%;
        box-sizing: border-box;
    }
    .week-title{
        font-family: futura-pt, sans-serif;
        font-weight: 400;
        font-style: normal;
    }
    .calendar-caption,
    .mtssb-timetable-date{
        padding: 10px 0;
        background-color: #efefef;
        font-size: 30px;
        margin-bottom:15px;
        font-family: futura-pt, sans-serif;
        font-weight: 500;
        font-style: normal;
    }
    .header-row{
        padding: 5px 0;
        border-bottom: 2px solid #cdcdcd;
    }
    .header-row .week-title{
        padding: 10px 0;
        font-size: 18px;
    }
    .monthly-calendar .sun{
        color: #FC0408;
    }
    .monthly-calendar .sat{
        color: #14499F;
    }
    .week-row{
        border-bottom: 1px solid #cdcdcd;
        text-align: center;
    }
    .week-row:last-child{
        border-bottom: 2px solid #cdcdcd;
    }
    .week-row .day-box{
        padding: 10px 0;
        font-size: 36px;
        font-family: futura-pt, sans-serif;
        font-weight: 500;
        font-style: normal;
    }
    .calendar-mark{
        font-size: 36px;
        padding: 5px 0;
    }
    .calendar-mark .maru{
        color: #fff;
        background-color: #3A77A6;
        display: block;
        width: 90%;
        border-radius: 3px;
        margin: 0 auto;
    }
    .calendar-mark .sankaku{
        color: #fff;
        background-color: #AB9D0E;
        display: block;
        width: 90%;
        border-radius: 3px;
        margin: 0 auto;
    }
    .calendar-mark .batsu{
        color: #FC0307;
    }
    .calendar-mark .bar{
        color: #efefef;
    }
    .monthly-calendar .today{
        background-color: #F6EECD;
    }
    .monthly-prev-next{
        padding: 10px 0;
        font-size: 18px;
    }
 .monthly-prev-next .monthly-prev{
        float: left;
    }
    .monthly-prev-next .monthly-prev::before{
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f137";
        margin-right: 0.5em;

    }
    .monthly-prev-next .monthly-next{
        float: right;
    }
    .monthly-prev-next .monthly-next::after{
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f138";
        margin-left: 0.5em;
    }
    /*追記　祝祭日クラス*/
.schedule-note{
    background-color: #D90C0F;
    color: #fff;
    text-align: center;
    font-size: 13px;
    padding: 3px 5px;
    line-height: 1.3;
    margin: 0 5px;
}

}
@media screen and (max-width:780px) {

    /*予約｜月間カレンダー*/
    .monthly-calendar{
        width: 100%;
    }
    .monthly-calendar table{
        width: 100%;
    }
    .calendar-title,
    .mtssb-timetable-name{
        text-align: center;
        font-size: 18px;
        padding: 15px 0;
        border: 2px solid #666;
        border-radius: 5px;
        margin-bottom: 45px;
        width: 100%;
        box-sizing: border-box;
    }
    .week-title{
        font-family: futura-pt, sans-serif;
        font-weight: 400;
        font-style: normal;
    }
    .calendar-caption,
    .mtssb-timetable-date{
        padding: 10px 0;
        background-color: #efefef;
        font-size: 21px;
        margin-bottom:10px;
        font-family: futura-pt, sans-serif;
        font-weight: 500;
        font-style: normal;
    }
    .header-row{
        padding: 5px 0;
        border-bottom: 2px solid #cdcdcd;
    }
    .header-row .week-title{
        padding: 10px 0;
        font-size: 16px;
    }
    .monthly-calendar .sun{
        color: #FC0408;
    }
    .monthly-calendar .sat{
        color: #14499F;
    }
    .week-row{
        border-bottom: 1px solid #cdcdcd;
        text-align: center;
    }
    .week-row:last-child{
        border-bottom: 2px solid #cdcdcd;
    }
    .week-row .day-box{
        padding: 10px 0;
        font-size: 21px;
        font-family: futura-pt, sans-serif;
        font-weight: 500;
        font-style: normal;
    }
    .calendar-mark{
        font-size: 21px;
        padding: 5px 0;
    }
    .calendar-mark .maru{
        color: #fff;
        background-color: #3A77A6;
        display: block;
        width: 90%;
        border-radius: 3px;
        margin: 0 auto;
    }
    .calendar-mark .sankaku{
        color: #fff;
        background-color: #AB9D0E;
        display: block;
        width: 90%;
        border-radius: 3px;
        margin: 0 auto;
    }
    .calendar-mark .batsu{
        color: #FC0307;
    }
    .calendar-mark .bar{
        color: #efefef;
    }
    .monthly-calendar .today{
        background-color: #F6EECD;
    }
    .monthly-prev-next{
        padding: 10px 0;
        font-size: 14px;
    }
    .monthly-prev{
        float: left;
    }
    .monthly-prev-next .monthly-prev::before{
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f137";
        margin-right: 0.5em;

    }
    .monthly-prev-next .monthly-next{
        float: right;
    }
    .monthly-prev-next .monthly-next::after{
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        content: "\f138";
        margin-left: 0.5em;
    }
    /*追記　祝祭日クラス*/
.schedule-note{
    background-color: #D90C0F;
    color: #fff;
    text-align: center;
    font-size: 10px;
    padding: 2px 5px;
    line-height: 1.3;
    margin: 0 5px;
}

}



/*予約｜日別カレンダー*/
.mtssb-timetable-link{
    border-bottom: 1px solid #cdcdcd;
}
.mtssb-timetable-link tr:first-of-type{
    border-bottom: 2px solid #cdcdcd;
}

.mtssb-timetable-link .day-left{
    text-align: center;
    font-size: 30px;
    margin-bottom:15px;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    border-bottom: 1px solid #cdcdcd;
    padding: 10px;
    letter-spacing: 2px;
}
.mtssb-timetable-link .day-right{
    text-align: center;
    font-size: 30px;
    margin-bottom:15px;
    border-bottom: 1px solid #cdcdcd;
    padding: 10px;
    
}
.mtssb-timetable-link tr:last-of-type{
    border-bottom: 2px solid #cdcdcd;
}
.mtssb-timetable-link tr:first-child  .day-left{
    font-size: 16px;
    font-weight: bold;
}
.mtssb-timetable-link tr:first-child  .day-right{
    font-size: 16px;
    font-weight: bold;
}
.mtssb-daily-action{
    margin: 30px 0;
}
.mtssb-daily-action button{
    background: none;
	border: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    padding: 10px 30px;
    border:1px solid #666;
    transition: 0.3s;
    
}
.mtssb-daily-action button:hover{
    background-color: #333;
    color: #fff;
    transition: 0.3s;
}


/*予約｜予約フォーム入力*/
@media screen and (min-width:781px) {
    #booking-form{
        width: 100%;
        box-sizing: border-box;
    }
    .booking_title{
        display: block;
        text-align: center;
        padding: 30px 0;
        font-size: 24px;
    }
    #booking-form legend{
        font-size: 16px;
        font-weight: bold;
        display: block;
        padding: 10px 0;
        border-top:1px solid #cdcdcd;
        border-left:1px solid #cdcdcd;
        border-right:1px solid #cdcdcd;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
        background-color: #104567;
        color: #fff;
    }

    #booking-form table{
        border:1px solid #cdcdcd;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 45px;
    }
    #booking-form th{
        width: 20%;
        font-size: 14px;
        vertical-align: middle;
        padding: 15px;
        border-bottom: 1px solid #cdcdcd;
        border-right: 1px solid #cdcdcd;
    }
    #booking-form td{
        width: 80%;
        font-size: 14px;
        vertical-align: middle;
        padding: 15px;
        border-bottom: 1px solid #cdcdcd;
    }

    #booking-form .content-text{
        font-size: 18px;
        padding: 7px;
        border: 1px solid #cdcdcd;
    }
    #booking-form .content-text.fat{
        width: 100%;
        box-sizing: border-box;
    }
    #booking-form .content-text.small-medium{
        width: 35%;
        box-sizing: border-box;
    }
    #booking-form .content-text.medium{
        width: 50%;
        box-sizing: border-box;
    }
    #booking-form .booking-date,
    #booking-form #client-adult,
    #booking-form #client-child{
       -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        outline: none;
        background: transparent; 
        font-size: 18px;
        border:3px solid #aaaaaa;
        padding: 7px 25px;
    }
    #booking-form .booking-option-select{
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        outline: none;
        background: transparent; 
        font-size: 18px;
        border:3px solid #aaaaaa;
        padding: 7px 25px;
        width: 100%;
        box-sizing: border-box;
    }
    #action-button{
        width: 100%;
        margin: 45px auto;
        text-align: center;
    }
    #action-button button{
        font-size: 20px;
        background-color: #104567;
        color: #fff;
         text-align: center;
        padding: 30px 80px;
        display: inline-block;
        transition: 0.3s;
    }
    #action-button button:hover{
        background-color: #333;
        color: #fff;
        transition: 0.3s;
    }
    #booking-form .required{
        color: #FE0206;
        font-weight: bold;
    }
    /*予約｜予約完了*/
    #booking_thanks_message{
        padding: 30px 0;
    }
    #booking_thanks_message h5{
        display: block;
        font-size: 18px;
        text-align: center;
        padding: 30px 0;
        border-bottom: 2px solid #104567;
        color: #104567;
    }
    #booking_thanks_message p{
        padding: 30px;
        line-height: 1.7;
    }
    #booking_thanks_message ul{
        padding: 0 30px;
        line-height: 1.7;
    }
    #booking_thanks_message li::before{
        content: "\f058";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-right: 0.5em;
       color: #104567; 
    }

}

@media screen and (max-width:780px){
    #booking-form{
        width: 100%;
        box-sizing: border-box;
    }
    .booking_title{
        display: block;
        text-align: center;
        padding: 30px 0;
        font-size: 18px;
    }
    #booking-form legend{
        font-size: 15px;
        font-weight: bold;
        display: block;
        padding: 5px 0;
        border-top:1px solid #cdcdcd;
        border-left:1px solid #cdcdcd;
        border-right:1px solid #cdcdcd;
        text-align: center;
        width: 100%;
        box-sizing: border-box;
        background-color: #104567;
        color: #fff;
    }
    #booking-form table{
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 30px;
    }
    #booking-form th{
        width: 100%;
        font-size: 14px;
        vertical-align: middle;
        display: block;
        box-sizing: border-box;
        padding: 10px 0 0px 0;
        text-align: left;
        color: #104567;
    }
    #booking-form td{
        width: 100%;
        font-size: 14px;
        vertical-align: middle;
        padding: 5px 0;
        display: block;
        box-sizing: border-box;
    }
    #booking-form .booking_table_data{
        font-size: 18px;
        line-height: 1.5;
    }
    #booking-form .input-number{
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    #booking-form .content-text{
        font-size: 18px;
        padding: 10px;
        border: 1px solid #666;
        -moz-appearance: none;
        -webkit-appearance: none;
          appearance: none;
          background-color: transparent;
          background-image: none;
    }
    #booking-form .content-text.fat{
        width: 100%;
        box-sizing: border-box;
    }
    #booking-form .content-text.small-medium{
        width: 40%;
        box-sizing: border-box;
    }
    #booking-form .content-text.medium{
        width: 100%;
        box-sizing: border-box;
        -moz-appearance: none;
        -webkit-appearance: none;
          appearance: none;
          background-color: transparent;
          background-image: none;
    }
    #booking-form .content-text:focus{
        background-color: #fffbc7;
    }
    
    #booking-form .booking-date,
    #booking-form #client-adult,
    #booking-form #client-child{
       -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        outline: none;
        background: transparent; 
        font-size: 18px;
        border:3px solid #aaaaaa;
        padding: 7px 10px;
    }
    #booking-form .booking-option-select{
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        border: none;
        outline: none;
        background: transparent; 
        font-size: 18px;
        border:3px solid #aaaaaa;
        padding: 7px 10px;
        width: 100%;
        box-sizing: border-box;
    }
    #action-button{
        width: 100%;
        margin: 30px auto;
        text-align: center;
    }
    #action-button button{
        font-size: 14px;
        background-color: #104567;
        color: #fff;
         text-align: center;
        padding: 15px 15px;
        display: inline-block;
        transition: 0.3s;
        width: 100%;
        font-weight: bold;
    }
    #action-button button:hover{
        background-color: #333;
        color: #fff;
        transition: 0.3s;
    }
    #booking-form .required{
        color: #FE0206;
        font-weight: bold;
    }
    /*予約｜予約完了*/
    #booking_thanks_message{
        padding: 30px 0;
    }
    #booking_thanks_message h5{
        display: block;
        font-size: 18px;
        text-align: center;
        padding: 30px 0;
        border-bottom: 2px solid #104567;
        color: #104567;
        line-height: 1.7;
    }
    #booking_thanks_message p{
        padding: 30px 0px;
        line-height: 1.7;
        font-size: 14px;
    }
    #booking_thanks_message ul{
        padding: 0 0px;
        line-height: 1.7;
         font-size: 14px;
    }
    #booking_thanks_message li::before{
        content: "\f058";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-right: 0.5em;
       color: #104567; 
    }

}


/*予約｜確認画面*/
#booking-form .option-confirm-header{
    color: #104567;
    font-weight: bold;
}



@media screen and (min-width:781px) {
    /*イベント｜イベント一覧*/
    .event_list{
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        width: 100%;
    }
    .event_list .event_list_box{
        flex-basis: 30%;
        margin-bottom: 60px;


    }
    .event_list::after{
        content: "";
        width: 30%;
        display: block;
    }
    .event_list .event_list_img{
        position: relative;
    }
    .event_list .event_list_status{
        position: absolute;
        top: 7px;
        left:7px;
        background-color: #fff;
        font-size: 12px;
        border-radius: 3px;
    }
    .event_list_preview{
        border: 1px solid #666;
        padding: 7px 15px;
        display: block;
        color:#666;
    }
    .event_list_open{
        border: 1px solid red;
        padding: 7px 15px;
        display: block;
        color:red;
    }
    .event_list .event_list_title{
        font-size: 16px;
        padding: 10px 0;
        line-height: 1.5;
    }
    .event_list .event_list_date{
        display: block;
        padding: 5px 0;
    }
    .event_list .event_list_place{
        display: block;
        padding: 5px 0;
    }
    .event_list .event_list_cv_btn{
        padding: 15px 0;
    }
    .event_list .event_list_cv_btn a{
        display: block;
        border: 1px solid #cdcdcd;
        text-align: center;
        padding: 10px;
        font-weight: bold;
        margin-bottom: 10px;
        font-size: 14px;
        transition: 0.3s;
    }
    .event_list .event_list_cv_btn a:hover{
        background-color: #104567;
        transition: 0.3s;
        color: #fff;
    }
}

@media screen and (max-width:780px) {
    /*イベント｜イベント一覧*/
    .event_list{
        display: block;
        width: 100%;
    }
    .event_list .event_list_box{
        font-size: 14px;
        margin-bottom: 30px;
    }
    
    .event_list .event_list_img{
        position: relative;
    }
    .event_list .event_list_status{
        position: absolute;
        top: 7px;
        left:7px;
        background-color: #fff;
        font-size: 12px;
        border-radius: 3px;
    }
    .event_list_preview{
        border: 1px solid #666;
        padding: 7px 15px;
        display: block;
        color:#666;
    }
    .event_list_open{
        border: 1px solid red;
        padding: 7px 15px;
        display: block;
        color:red;
    }
    .event_list .event_list_title{
        font-size: 14px;
        padding: 10px 0 0 0;
        line-height: 1.5;
    }
    .event_list .event_list_date{
        display: block;
        padding: 5px 0;
    }
    .event_list .event_list_place{
        display: block;
        padding: 5px 0;
    }
    .event_list .event_list_cv_btn{
        padding: 15px 0;
    }
    .event_list .event_list_cv_btn a{
        display: block;
        border: 1px solid #cdcdcd;
        text-align: center;
        padding: 10px;
        font-weight: bold;
        margin-bottom: 10px;
        font-size: 14px;
        transition: 0.3s;
    }
    .event_list .event_list_cv_btn a:hover{
        background-color: #104567;
        transition: 0.3s;
        color: #fff;
    }
}

@media screen and (min-width:781px) {
    /*お知らせ｜お知らせ一覧*/
    .news_list{
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        width: 100%;
    }
    .news_list a{
        display: block;
        transition: 0.3s;
    }
    .news_list .news_list_box{
        flex-basis: 30%;
        margin-bottom: 60px;
    }
    .news_list::after{
        content: "";
        width: 30%;
        display: block;
    }
    .news_list .news_list_img{
        position: relative;
    }
    .news_list .news_list_cat{
        padding: 5px 0;
    }
    .news_list .news_list_cat .cat_icon{
        padding: 5px 20px;
        color: #fff;
        font-size: 12px;
        border-radius: 3px;
    }
    .news_list .news_list_title{
        font-size: 16px;
        padding: 5px 0;
        line-height: 1.5;
    }
    .news_list .news_list_date{
        display: block;
        padding: 5px 0;
    }
    
    .news_list .news_list_cv_btn{
        padding: 10px 0;
    }
    .news_list .news_list_cv_btn{
        display: block;
        border: 1px solid #cdcdcd;
        text-align: center;
        padding: 15px;
        font-weight: bold;
        margin-bottom: 10px;
        font-size: 14px;
        transition: 0.3s;
    }
    .news_list .news_list_cv_btn::after{
        content: "\f054";
        font-family: "Font Awesome 5 Free";
      font-weight: 900;
        margin-left: 1em;
    }
    .news_list a:hover .news_list_cv_btn {
        background-color: #104567;
        transition: 0.3s;
        color: #fff;
    }
    .news_list a:hover .news_list_img{
        opacity: 0.6;
        transition: 0.3s;
    }
    .news_list .news_list_arrow{
        display: none;
    }
}
@media screen and (max-width:780px) {
    .news_list{
        display: block;
        width: 100%;
    }
    .news_list .news_list_box a{
        border-bottom: 1px solid #cdcdcd;
        padding: 20px 0;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        font-size: 14px;
    }
    .news_list .news_list_img{
        flex-basis: 30%;
    }
    .news_list .news_list_text{
        flex-basis: 55%;
    }
    .news_list .news_list_arrow{
        flex-basis: 10%;
        content: "";
    }
    .news_list .news_list_cat{
        padding-bottom: 5px;
        font-size: 12px;
    }
    .news_list .news_list_cat .cat_icon{
        padding: 3px 15px;
        color: #fff;
        border-radius: 3px;
    }
    .news_list .news_list_title{
        font-size: 15px;
        line-height: 1.5;
    }
    .news_list .news_list_arrow::after{
         content: "\f054";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        margin-left: 1em;
        float: right;
    }
   .news_list_cv_btn{
        display: none;
    }
}

/*お知らせ｜個別表示*/
@media screen and (min-width:781px) {
    #news_single .single_news_wrap{
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }
    #news_single .single_news_img{
        flex-basis: 45%;
    }
    #news_single .single_news_text{
        flex-basis: 45%;
    }
    #news_single .single_news_info{
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 15px;
        border-bottom: 1px solid #cdcdcd;
    }
    #news_single .single_news_info .cat_icon{
        padding: 5px 15px;
        display: block;
        color: #fff;
        border-radius: 3px;
        font-size: 12px;
    }
    #news_single .single_news_text p{
        padding: 30px 0;
        font-size: 14px;
        line-height: 1.7;
        display: block;
    }
}
@media screen and (max-width:780px) {
    #news_single .single_news_wrap{
        display: block
    }
    #news_single .single_news_img{
        margin-bottom: 30px;
    }
    #news_single .single_news_text{
        
    }
    #news_single .single_news_info{
        display: flex;
        flex-wrap: nowrap;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding-bottom: 15px;
        border-bottom: 1px solid #cdcdcd;
    }
    #news_single .single_news_info .cat_icon{
        padding: 5px 15px;
        display: block;
        color: #fff;
        border-radius: 3px;
        font-size: 12px;
    }
    #news_single .single_news_text p{
        padding: 15px 0 30px 0;
        font-size: 14px;
        line-height: 1.7;
        display: block;
    }
}
.booking_caution{
    border: 1px solid #cdcdcd;
    padding: 30px;
    font-size: 14px;
    margin: 60px 0;
}
.booking_caution li{
    line-height: 1.7;
}
.booking_caution li::before{
    content: "●";
    margin-right: 0.5em;
}

/*管理画面ダッシュボード*/
@media screen and (min-width:1201px) {
    .dashboard_link {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        padding: 30px;
        justify-content: space-between;
    }
    .dashboard_link .dashboard_btn {
        flex-basis: 18%;
        text-align: center;
        margin-bottom: 30px;
        box-sizing: border-box;
    }
    .dashboard_link .dashboard_btn a {
        display: block;
        padding: 30px 15px;
    }
    .dashboard_link .dashboard_btn a i {
        padding: 10px;
        font-size: 2rem;
    }
}
@media screen and (min-width:781px)  and (max-width:1200px){
    .dashboard_link {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        padding: 30px;
        justify-content: space-between;
    }
    .dashboard_link .dashboard_btn {
        flex-basis: 30%;
        text-align: center;
        margin-bottom: 30px;
        box-sizing: border-box;
    }
    .dashboard_link .dashboard_btn a {
        display: block;
        padding: 30px 15px;
    }
    .dashboard_link .dashboard_btn a i {
        padding: 10px;
        font-size: 2rem;
    }
}
@media screen and (max-width:781px) {
    .dashboard_link {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: center;
        padding: 30px;
        justify-content: space-between;
    }
    .dashboard_link .dashboard_btn {
        flex-basis: 48%;
        text-align: center;
        margin-bottom: 30px;
        box-sizing: border-box;
    }
    .dashboard_link .dashboard_btn a {
        display: block;
        padding: 30px 15px;
    }
    .dashboard_link .dashboard_btn a i {
        padding: 10px;
        font-size: 2rem;
    }
}
.dashboard_link .btn01 a {
    border: 3px solid #e60012;
    border-radius: 5px;
}
.dashboard_link .btn01 a:hover {
    background-color: #e60012;
    color: #fff;
    transition: 0.3s;
}
.dashboard_link .btn02 a {
    border: 3px solid #f39800;
    border-radius: 5px;
}
.dashboard_link .btn02 a:hover {
    background-color: #f39800;
    color: #fff;
    transition: 0.3s;
}
.dashboard_link .btn03 a {
    border: 3px solid #8fc31f;
    border-radius: 5px;
}
.dashboard_link .btn03 a:hover {
    background-color: #8fc31f;
    color: #fff;
    transition: 0.3s;
}
.dashboard_link .btn04 a {
    border: 3px solid #00a0e9;
    border-radius: 5px;
}
.dashboard_link .btn04 a:hover {
    background-color: #00a0e9;
    color: #fff;
    transition: 0.3s;
}
.dashboard_link .btn05 a {
    border: 3px solid #59493f;
    border-radius: 5px;
}
.dashboard_link .btn05 a:hover {
    background-color: #59493f;
    color: #fff;
    transition: 0.3s;
}
.dashboard_link .btn06 a {
    border: 3px solid #5f52a0;
    border-radius: 5px;
}
.dashboard_link .btn06 a:hover {
    background-color: #5f52a0;
    color: #fff;
    transition: 0.3s;
}
.dashboard_link .btn07 a {
    border: 3px solid #5f52a0;
    border-radius: 5px;
}
.dashboard_link .btn07 a:hover {
    background-color: #5f52a0;
    color: #fff;
    transition: 0.3s;
}