@charset "UTF-8";
@font-face {
    font-family:'Noto Sans Japanese';
    src: url(/public/fonts/NotoSansJP-Medium.ttf);
}
/*******************************************************************************************
変数定義
*******************************************************************************************/
body{
    /*テーマカラー*/
    --themecolor:rgb(255,245,232);
    /*メインフォントカラー*/
    --fontcolor:rgb(38,38,38,1);
    --fontcolor_sub:rgb(129,73,45,1);
    --mask_color:rgb(129,73,45,0.3);
    color:var(--fontcolor);
}
/*******************************************************************************************
共通処理
*******************************************************************************************/
html {
    font-size: 100%;
    /*scroll-behavior:smooth;/*上に戻る挙動をスムーズ化*/
}
body {
    color:var(--fontcolor);
    background-color:var(--themecolor);
    font-family:'Noto Sans Japanese';
    font-size: 0.9rem;
    line-height: 1.7;
}
/*中身のコンテンツ幅指定の共通クラス*/
.wrapper {
    width:1000px;
    max-width:100%;
    margin: 0 auto;
    text-align: center;
    position:relative;
}
/*H3レイアウト*/
.title_h3{
    font-size:1.8vw;
    font-weight:bold;
    white-space: nowrap;
    text-shadow:1px 2px 3px gray;
}
/*新着記事に「NEW」を付与*/
.text_icon{
    color:white;
    font-weight:bold;
    background-color:red;
    border-radius:30px;
    padding:3px 10px;
    margin-left:10px;
}
.sns_link{
    color:#00c;
    border-bottom:1px solid #00c;
}
/*スマホ用改行*/
.br_sm{
    display:none;
}
/*ＰＣ用改行*/
.br_pc{
    display:block;
}

/*******************************************************************************************
header
*******************************************************************************************/
#header {
    position:relative;
    width:100%;
    max-width:100%;
    height:auto;
}
#header_menu_area{
    background-color:rgb(0,0,0,0.3);
    height:auto;
    position:relative;
    z-index:20;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
#header_menu{
    display:flex;
    height:auto;
    justify-content:center;
    align-items:center;
}
#header_menu h1{
    display:block;
    width:100px;
    height:auto;
    margin-right:10px;
    filter: drop-shadow(1px 1px 10px black);
}
#header_menu h1 .header_menu_title{
    display:inline-block;
    vertical-align: middle;/*inline-block上下中央に必須*/
    height:100%;
    width:100%;
}
#header_menu h1 .header_menu_title img{
    display:block;
    width:100%;
    height:100%;
    /*object-fit:cover;*/
    object-fit:contain;
}
#header_menu .title_area{
    display:flex;
    flex-direction:column;
    margin-right:1vw;
}
#header_menu .title_area .sub{
    display:block;
    width:fit-content;
    color:var(--fontcolor_sub);
    font-size:1.0vw;
    font-weight:bold;
    white-space:nowrap;
    background-color:var(--themecolor);
    border:1px solid var(--fontcolor_sub);
    filter: drop-shadow(1px 1px 2px black);
    border-radius:30px;
    text-align:center;
    padding:0 10px;
}
#header_menu .title_area .title{
    color:white;
    font-size:1.5vw;
    white-space:nowrap;
    font-weight:bold;
    text-shadow:1px 2px 3px black;
}
#header_menu #nav_menu{
    display:flex;
    /*justify-content:center;*/
    justify-content:space-between;
    text-align:center;
}
#header_menu #nav_menu .nav_menu_item{
    color:white;
    font-size:1.2vw;
    white-space:nowrap;
    position:relative;
    padding:5px 1vw;
    text-shadow:1px 2px 3px black;
    border-radius:20px;
}
#header_menu #nav_menu .nav_menu_item span{
    display:block;
    text-align:center;
    font-size:0.8vw;
}
#header_menu #nav_menu .nav_menu_item:hover{
    color:var(--fontcolor);
    background-color:white;
    text-shadow:none;
    transition: background-color 1s;
}
#header_menu .nav_menu_item:hover .drop_area{
    opacity:1;
    transition:opacity 1s,visibility 1s;
    visibility:visible;
}
#header_menu .drop_down{
    position:relative;
}
#header_menu .drop_area{
    background-color:#696969;
    padding:5px;
    opacity:0;
    position:absolute;
    left:0;
    top:110%;/*ヘッダーメニューの下部から表示*/
    transition: opacity .3s, visibility .3s;
    visibility:hidden;
    width:max-content;
    z-index:12;
}
#header_menu .drop_area .drop_item{
    color:white;
    text-align:left;
    border-bottom:1px dotted white;
    padding:5px 20px;
    transition: background-color 0.5s;
}
#header_menu .drop_area .drop_item:hover{
    color:var(--fontcolor);
    background-color:white;
}
#header_menu .drop_area .drop_item:last-child{
    border-bottom:none;
}
#header_menu_area #header_menu_right{
    color:var(--fontcolor_sub);
    background-color:var(--themecolor);
    border-radius:10px;
    width:auto;
    height:auto;
    padding:5px 10px;
    margin:10px;
    transition: background-color 0.3s;
}
#header_menu_area #header_menu_right:hover{
    color:white;
    background-color:var(--fontcolor_sub);
}
#header_menu_area #header_menu_right .tel_icon_area{
    display:inline-block;
    width:15px;
    height:15px;
    background-image:url(/public/img/tel_off_img.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#header_menu_area #header_menu_right a.tel_no{
    font-size:1.5vw;
    white-space:nowrap;
    border-radius:10px;
}
#header_menu_area #header_menu_right a.tel_no .tel_area{
    display:flex;
    align-items:center;
}
#header_menu_area #header_menu_right a.tel_no .tel_area .icon_area{
    display:inline-block;
    width:25px;
    height:25px;
    background-image:url(/public/img/tel_img.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
    margin-right:10px;
}
#header_menu_area #header_menu_right a.tel_no .tel_area .telno_area{
    display:inline-block;
    width:fit-content;
    white-space:nowrap;
}
#header_menu_area #header_menu_right .hours{
    font-size:1.0vw;
    white-space:nowrap;
}
/*
ハンバーガメニュー
*/
#header .hamburger_btn{
    display:none;
    position:relative;
    width:55px;
    margin:0 0 0 auto;
    z-index:100;
}
/*ボタン外側*/
#header .hamburger_btn .header_menu_lines{
    position: relative;/*ボタン内側を基点とする*/
    background:white;
    cursor: pointer;
    width: 40px;
    height:40px;
    border-radius: 5px;
}
/*ボタン内側*/
#header .hamburger_btn .header_menu_lines span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 5px;
    height: 4px;
    border-radius: 5px;
    background: #333333;
    width: 75%;
}
#header .hamburger_btn .header_menu_lines span:nth-of-type(1) {
    top:10px; 
}
  
#header .hamburger_btn .header_menu_lines span:nth-of-type(2) {
    top:18px;
}
  
#header .hamburger_btn .header_menu_lines span:nth-of-type(3) {
    top:26px;
}
#header .hamburger_btn .header_menu_lines.active span:nth-of-type(1) {
    top: 12px;
    left:10px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}
#header .hamburger_btn .header_menu_lines.active span:nth-of-type(2) {
    opacity: 0;
}
  
#header .hamburger_btn .header_menu_lines.active span:nth-of-type(3){
    top: 24px;
    left: 10px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}
#header .hamburger_btn .header_menu_lines.active span:nth-of-type(3)::after {
    /*content:"Close";MENU文言非表示*/
    transform: translateY(0) rotate(-45deg);
    top:5px;
    left:4px;
}
#header_slide_menu_area{
    display:none;/*PC非表示*/
    background-color:var(--themecolor);
    position: fixed;
    top: 0px;
    right: 0px;
    width: 80%;
    height:100%;
    padding:10px;
    transform: translateX(100%); /* ハンバーガーメニューOFF時、右側へスライドさせておく */
    z-index:100;
    transition: 0.4s;
    overflow-y:scroll;/*メニュー縦スクロール許可*/
}
#header_slide_menu_area h2{
    color:var(--fontcolor_sub);
    background-color:var(--themecolor);
    font-size:1.1rem;
    font-weight:bold;
    text-align:center;
    filter: drop-shadow(1px 1px 2px black);
    margin-top:10px;
}
#header .header_slide_menu_top{
    display:flex;
    flex-direction:column;
    justify-content:center;
    margin:0 auto;
    text-align:center;
}
#header .header_slide_menu_top .header_slide_menu_logo{
    width:100px;
    margin:0 auto;
    text-align:center;
}
#header .header_slide_menu_top .header_slide_menu_shop{
    font-size:1.2rem;
    margin-bottom:20px;
}
#header .header_slide_menu_top .header_slide_menu_tel{
    width:200px;
    margin:10px auto;
    text-align:center;
    padding:5px;
    background-color:white;
    filter: drop-shadow(1px 1px 2px black);
    border-radius:30px;
    border:1px solid var(--fontcolor_sub);
}
#header .header_slide_menu_top .header_slide_menu_time{
    font-size:0.7rem;
    margin-bottom:20px;
}
#header .header_slide_menu{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-top:10px;
    margin-bottom:0px;
    padding:30px 10px 10px 10px;
    background-color:white;
}
#header .header_slide_menu .nav_item{
    width:48%;
    text-align:center;
    margin-right:5px;
    margin-bottom:30px;
}
#header .header_slide_menu .nav_item_title{
    display:block;
    width:100%;
    color:white;
    background-color:var(--fontcolor_sub);
    border-radius:10px;
    filter: drop-shadow(1px 1px 2px black);
    position:relative;
}
#header .header_slide_menu .nav_item_title span{
    display:block;
    width:100%;
}
/*
アコーディオンパネルの開閉ボタン（＋＆－）
*/
#header .header_slide_menu .nav_item_title::before,
#header .header_slide_menu .nav_item_title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color:white;

}
#header .header_slide_menu .nav_item_title::before{
    top:50%;
    right: 20px;
    transform: rotate(0deg);
}
#header .header_slide_menu .nav_item_title::after{    
    top:50%;
    right: 20px;
    transform: rotate(90deg);
}
/*　closeクラス付与時、形状変化　*/
#header .header_slide_menu .nav_item_title.close::before{
    transform: rotate(0deg);
}  
#header .header_slide_menu .nav_item_title.close::after{
    transform: rotate(0deg);
}
/*
**
*/
/*アコーディオンで現れるエリア*/
#header .header_slide_menu .nav_panel_box {
    display: none;/*最初は非表示*/
    background-color: var(--themecolor);
    margin:5px 0px 5px 0px;
    padding:5px;
    border-radius:10px;
}
#header .header_slide_menu .nav_panel_box .nav_panel{
    color:var(--fontcolor_sub);
    font-size:0.8rem;
    font-weight:bold;
    text-align:center;
    padding-top:10px;
    padding-bottom:10px;
    border-bottom:1px dotted var(--fontcolor);
}
#header .header_slide_menu .nav_panel_box .nav_panel:last-child{
    border-bottom:none;
}
#header .header_slide_menu .nav_item_title_none{
    display:block;
    width:100%;
    color:white;
    background-color:var(--fontcolor_sub);
    border-radius:10px;
    filter: drop-shadow(1px 1px 2px black);
}
#header .header_slide_menu .nav_item_title_none span{
    display:block;
}
#header #header_slide_menu_area .header_slide_sns{
    display:flex;
    justify-content:center;
    width:100%;
    margin-top:10px;
}
#header #header_slide_menu_area .header_slide_sns .shop_sns_lists{
    display:block;
    width:100%;
    background-color:white;
    padding:30px 10px 10px 10px;
}
#header #header_slide_menu_area .header_slide_sns .sns_btn{
    display:flex;
    color:white;
    background-color:var(--fontcolor_sub);
    filter: drop-shadow(1px 1px 2px black);
    margin-bottom:30px;
}
#header #header_slide_menu_area .header_slide_sns .sns_btn .sns_icon{
    display:flex;
    width:15%;
    height:50px;
    margin-left:5px;
    margin-right:5px;
}
#header #header_slide_menu_area .header_slide_sns .sns_btn .sns_icon.instagram{
    display:block;
    background-image:url(/public/img/square-instagram-brands-white.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#header #header_slide_menu_area .header_slide_sns .sns_btn .sns_icon.line{
    display:block;
    background-image:url(/public/img/line-brands-white.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#header #header_slide_menu_area .header_slide_sns .sns_btn .sns_icon.twitter{
    display:block;
    background-image:url(/public/img/square-x-twitter-brands-white.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#header #header_slide_menu_area .header_slide_sns .sns_btn .sns_name{
    display:block;
    width:85%;
}
#header #header_slide_menu_area .header_slide_sns .sns_btn .sns_name span{
    display:block;
}
#header #header_slide_menu_area.active{
    transform: translateX(0); /*ハンバーガーメニューON時、左にスライドさせて画面表示する*/
}
/*******************************************************************************************
maskエリア
*******************************************************************************************/
#header #mask_area.active{
    display:block;
}
#header #mask_area{
    display:none;
    width:100%;
    height:100%;
    background-color:rgb(0,0,0,0.3);
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:99;
}
/*******************************************************************************************
mainvisual_slide（スライドショー用）
*******************************************************************************************/
#mainvisual_slide{
    position:absolute;
    width:100%;
    top:0;
    left:0;
}
#mainvisual_slide .mainvisual_inner{
    position:relative;
    overflow:hidden;
    width:100%;
    height:100vh;
    max-height:100vh;
}
#mainvisual{
    position:relative;
    overflow:hidden;
    width:100%;
    height:100vh;
    max-height:100vh;
}
/*メインビジュアル画像DIV*/
#mainvisual div{
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100vh;
    max-height:100vh;
    background-position: 50% 0%;/*画像のポジション調整 横% 縦%*/
    background-size: cover; /*画像のポジション調整*/
    background-repeat: no-repeat;
    z-index: 10;
    opacity: 0;
}
/*
mainvisual スライドショー アニメーション処理
*/
.anime_mainvisual div{
    animation-name: fade;
    animation-duration: 36s;
    animation-iteration-count: infinite;
}
@keyframes fade {
    0%{
        opacity: 0;
    }
    20%{
        opacity: 1;
    }
    80%{
        opacity: 0;
        transform: scale(1.2);
    }
    100%{
        opacity: 0;
        z-index: 0;
    }
}
/* 1枚目のスライド */
.anime_mainvisual div:first-of-type{
    background-image: url(/public/img/mainvisual_sample1.png);
}
/* 2枚目のスライド */
.anime_mainvisual div:nth-of-type(2){
    background-image: url(/public/img/mainvisual_sample2.png);
    animation-delay: 12s;/*2枚目開始秒数*/
}
/* 3枚目のスライド */
.anime_mainvisual div:last-of-type{
    background-image: url(/public/img/mainvisual_sample3.png);
    animation-delay: 24s;/*3枚目開始秒数*/
}
/*******************************************************************************************
mainvisual_video（動画用）
*******************************************************************************************/
.mainvisual_video{
    width:100%;
    height:100vh;
    overflow: hidden;
    position:absolute;
    top:0;
    left:0;
}
.mainvisual_video::after{
    content: '';
    width: 100%;
    height: 100%;
    background-color:rgb(255, 255, 255,0.3);
    display: block;
    position: absolute;
    left: 0;
    top: 0;
}
.mainvisual_video .mainvisual_video_content{
    width:100%;
    height:100vh;
    position:relative;
    overflow: hidden;
}
.mainvisual_video .mainvisual_video_content video{
    position: absolute;
    top: 50%;/*動画の左上部分を中央に移動*/
    left: 50%;/*動画の左上部分を中央に移動*/
    transform: translateX(-50%) translateY(-50%);/*動画の左上部分が中央のため、縦横それぞれ50%ずつ上、左に移動*/
    min-width: 100%;
    min-height: 100%;
}
/*******************************************************************************************
slogan
*******************************************************************************************/
#slogan_area span{
    font-size:2rem;
    font-weight:bold;
    text-shadow:1px 2px 3px white;
    filter: drop-shadow(1px 1px 20px white);
}
/*
slogan スライドショー アニメーション処理
*/
/*sloganアニメーションanimeslogan1*/
#slogan span:first-child {
    animation-name:animeslogan1;/*アニメーションの名前*/
    animation-fill-mode:backwards;
    animation-duration: 36s;
    animation-delay:1s;/*開始タイミング*/
    animation-iteration-count: infinite;
    position:absolute;
    top:60vh;
    right:2%;
}
#slogan span:nth-child(2) {
    animation-name:animeslogan1;/*アニメーションの名前*/
    animation-fill-mode:backwards;
    animation-duration: 36s;
    animation-delay:2s;/*開始タイミング*/
    animation-iteration-count: infinite;
    position:absolute;
    top:67vh;
    right:2%;
}
@keyframes animeslogan1{
    0%{
        opacity:0;
        z-index:0;
    }
    10%{
        opacity:1;
        z-index:99
    }
    25%{
        opacity:1;
        z-index:99
    }
    30%{
        opacity:0;
        z-index:0;
    }
    100%{
        opacity:0;
        z-index:0;
    }
}
/*sloganアニメーションanimeslogan2*/
#slogan span:nth-child(3) {
    animation-name:animeslogan2;/*アニメーションの名前*/
    animation-fill-mode:backwards;
    animation-duration: 36s;
    animation-delay:12s;/*開始タイミング*/
    animation-iteration-count: infinite;
    position:absolute;
    top:60vh;
    right:2%;
}
#slogan span:nth-child(4) {
    animation-name:animeslogan2;/*アニメーションの名前*/
    animation-fill-mode:backwards;
    animation-duration: 36s;
    animation-delay:13s;/*開始タイミング*/
    animation-iteration-count: infinite;
    position:absolute;
    top:67vh;
    right:2%;
}
@keyframes animeslogan2{
    0%{
        opacity:0;
        z-index:0;
    }
    10%{
        opacity:1;
        z-index:99
    }
    25%{
        opacity:1;
        z-index:99
    }
    30%{
        opacity:0;
        z-index:0;
    }
    100%{
        opacity:0;
        z-index:0;
    }
}
/*sloganアニメーションanimeslogan3*/
#slogan span:nth-child(5) {
    animation-name:animeslogan3;/*アニメーションの名前*/
    animation-fill-mode:backwards;
    animation-duration: 36s;
    animation-delay:24s;/*開始タイミング*/
    animation-iteration-count: infinite;
    position:absolute;
    top:60vh;
    left:2%;
}
#slogan span:nth-child(6) {
    animation-name:animeslogan3;/*アニメーションの名前*/
    animation-fill-mode:backwards;
    animation-duration: 36s;
    animation-delay:25s;/*開始タイミング*/
    animation-iteration-count: infinite;
    position:absolute;
    top:67vh;
    left:2%;
}
@keyframes animeslogan3{
    0%{
        opacity:0;
        z-index:0;
    }
    10%{
        opacity:1;
        z-index:99
    }
    25%{
        opacity:1;
        z-index:99
    }
    30%{
        opacity:0;
        z-index:0;
    }
    100%{
        opacity:0;
        z-index:0;
    }
}
/*******************************************************************************************
scroll
*******************************************************************************************/
#scroll_area{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    width:100%;
    position:absolute;
    bottom:0;
    left:0;
    right:0;

}
#scroll_area .scroll_btn{
    display:block;
    width:50px;
    text-align:center;
    margin:0 auto;
    margin-bottom:10px;
    z-index:99;
}
#scroll_area .scroll_btn span.cursol_img{
    display:block;
    width:10px;
    height:20px;
    margin:0 auto;
}
#scroll_area .scroll_btn p{
    border-bottom:1px dotted #333333;
}
/*アニメーション（上下に動く）*/
.anime_updown{
    animation-name:UpDown;/*名称*/
    animation-duration: 1.5s;/*1回分の長さ*/
    animation-iteration-count: infinite;/*繰り返し回数*/
    animation-timing-function: ease-in-out;/*進行具合*/
    animation-direction: alternate;/*再生の向き*/
    }
    /* アニメーションの設定 */
    @keyframes UpDown{
    /* 開始地点 */
    0%{
    /* Y軸0px */
    transform: translateY(0);
    }
    /* 終了地点 */
    100%{
    /* Y軸50px */
    transform: translateY(15px);
    }
}
/*******************************************************************************************
adjustment_area
*******************************************************************************************/
#adjustment_area{
    margin-top:86vh;
}
/*******************************************************************************************
news
*******************************************************************************************/
.slick-prev:before, .slick-next:before{
    color:var(--fontcolor);
}
#news{
    max-width:100%;
    position:relative;
    margin-bottom:100px;
}
#news .news_back_img{
    display:flex;
    position: relative;
    text-align:center;
    align-items:center;
}
#news .news_back_img .sec_title{
    color:var(--fontcolor_sub);
    display:inline-block;
    font-size:2.0rem;
    letter-spacing:0.3rem;
    padding:0 150px;
    text-align:center;
    margin:0 auto;
    position:relative;
}
#news .news_back_img .sec_title:before,
#news .news_back_img .sec_title:after{
    position:absolute;
    top:calc(50% - 5px);
    width:100px;
    height:10px;
    content:'';
    border-top:solid 3px var(--fontcolor_sub);
}
#news .news_back_img .sec_title:before{
    left:0;
}
#news .news_back_img .sec_title:after{
    right:0;
}
#news .fixed_bg{
    height: 300px;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}
#news .news_slider{
    width:100%;
    margin:0 auto;
    margin-top:0px;
    margin-bottom:0px;
    padding:30px 30px 1px 30px;
    background-color:white;
    border-top:5px solid var(--fontcolor_sub);
    border-bottom:5px solid var(--fontcolor_sub);
}
#news .news_slider .slider_item{
    height:300px;
    border:1px solid var(--fontcolor_sub);
    outline-color:var(--fontcolor);
    outline-style:solid;
    outline-width:1px;
    margin-top:10px;
    margin-bottom:10px;
}
#news .news_slider .slider_item .img_area{
    width:100%;
    height:60%;
    position:relative;
}
#news .news_slider .slider_item .img_area img{
    width:100%;
    height:100%;
    object-fit:cover;
}
#news .news_slider .slider_item .img_area .category{
    background-color:var(--themecolor);
    border-left:1px solid var(--fontcolor_sub);
    border-bottom:1px solid var(--fontcolor_sub);
    position:absolute;
    top:0;
    right:0;
    width:100px;
    height:30px;
    line-height:30px;
    font-size:0.7rem;
    text-align:center;
}
#news .news_slider .slider_item .text_area{
    display:block;
    width:100%;
    height:40%;
    background-color:white;
    text-align:left;
    padding:10px 10px 50px 10px;
    position:relative;
}
#news .news_slider .slider_item .text_area .date{
    font-size:0.7rem;
}
#news .news_slider .slider_item .text_area .title{
    font-size:0.9rem;
    line-height:1rem;
    margin-bottom:5px;
}
#news .news_slider .slider_item .text_area .text{
    color:rgb(38,38,38,0.5);
    font-size:0.7rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp:1;
    overflow: hidden;
}
#news .news_slider .slider_item .text_area .read_more{
    color:var(--fontcolor_sub);
    background-color:var(--themecolor);
    transition: background-color 0.5s;
    border:2px solid var(--fontcolor_sub);
    border-radius:10px;
    filter: drop-shadow(1px 1px 2px black);
    padding:5px;
    font-size:0.56rem;
    position:absolute;
    bottom:5px;
    right:5px;
}
#news .news_slider .slider_item .text_area .read_more:hover{
    color:white;
    background-color:var(--fontcolor_sub);
}
#news .news_slider_btn_area{
    display:block;
    margin-top:100px;
    text-align:center;
}
#news .news_slider_btn{
    display:flex;
    align-items:center;
    width:fit-content;
    color:white;
    background-color:var(--fontcolor_sub);
    border-radius:50px;
    filter: drop-shadow(1px 1px 2px black);
    padding:10px 50px;
    margin:0 auto;
}
#news .news_slider_btn:hover{
    color:var(--fontcolor);;
    background-color:rgb(255,255,255,1);
    transition: background-color 0.5s;
}
#news .news_slider_btn span.text{
    margin-right:10px;
}
#news .news_slider_btn span.cursol_area{
    display:inline-block;
    width:15px;
    height:15px;
    background-image:url(/public/img/angle-right-solid-white.svg);
    background-repeat:no-repeat;
    background-position:center center;
    transform:translateY(5%);
}
#news .news_slider_btn:hover span.cursol_area{
    background-image:url(/public/img/angle-right-solid-black.svg);
} 
/*******************************************************************************************
about
*******************************************************************************************/
#about .about_back_img{
    background-image: url(/public/img/about_back_image.png);
    position: relative;
}
#about .about_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#about .about_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    letter-spacing:0.3rem;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#about .fixed_bg{
    height: 300px;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}
#about .about_items{
    display:flex;
    justify-content:space-between;
    margin-top:100px;
    margin-bottom:100px;
}
#about .about_items .text_area{
    margin-left:50px;
    margin-right:50px;
}
#about .about_items .text_area .title_area{
    display:flex;
    align-items:center;
    justify-content:left;
    height:auto;
    position:relative;
}
#about .about_items .text_area .title_area .title_img_area{
    display:block;
    width:70px;
    height:70px;
}
#about .about_items .text_area .title_area .title_img_area img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
#about .about_items .text_area .title_area h3.title_h3{
    color:var(--fontcolor_sub);
    margin-left:2vw;
    position:relative;
}
#about .about_items .text_area .message_area{
    text-align:left;
    padding-top:50px;
}
#about .about_items .image_area .image_back{
    background-color:white;
    width:50vw;
    height:300px;
    position:relative;
}
#about .about_items .image_area .image_back img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%;
    position:absolute;
    top:5vh;
    left:-2vw;
}
/*
アニメーション（スクロール時、右下にフェードイン）
フェードイン前の初期ポジションを指定用？
*/
.anime_slideSlant {
    opacity: 1;
    transform: translate(10px,-10px);
    transition-property:all;
    transition-duration:0.5s;
    transition-delay:0s;
    transition-timing-function:ease-in-out;
}
/*******************************************************************************************
menu
*******************************************************************************************/
#menu{
    margin-bottom:200px;
    position:relative;
}
#menu .menu_back_img {
    background-image: url(/public/img/menu_back_image.png);
    background-repeat:no-repeat;
    background-position:100% 40%;
    position: relative;
}
#menu .menu_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#menu .menu_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    letter-spacing:0.3rem;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#menu .menu_outer_frame{
    position:relative;
}
#menu .menu_outer_frame .menu_back_lines div:nth-of-type(1){
    display:block;
    background-color:white;
    width:100%;
    height:200px;
    position:absolute;
    bottom:-5%;
    left:0;
    right:0;
}
#menu .menu_outer_frame .menu_back_lines div:nth-of-type(2){
    display:none;
    background-color:white;
    width:100%;
    height:200px;
    position:absolute;
    top:40%;
    left:0;
    right:0;
}
#menu .menu_outer_frame .menu_back_lines div:nth-of-type(3){
    display:none;
    background-color:white;
    width:100%;
    height:200px;
    position:absolute;
    top:40%;
    left:0;
    right:0;
}
#menu ul.menu_lists{
    display:flex;
    justify-content:space-between;
    margin-top:100px;
    margin-left:10px;
    margin-right:10px;
    position:relative;
    z-index:10;
}
#menu ul.menu_lists li.item{
    width:30%;
    height:auto;
    border:1px solid var(--fontcolor);
    background-color:white;
    filter: drop-shadow(1px 1px 2px black);
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
#menu ul.menu_lists li.item::before{
    content:"";
    background-image:url(/public/img/menu_design_sample1.png);
    background-repeat:no-repeat;
    background-size:contain;
    width:50px;
    height:50px;
    position:absolute;
    top:-8%;
    left:-8%;
}
#menu ul.menu_lists li.item .img_area{
    margin:5px;
    height:200px;
}
#menu ul.menu_lists li.item .img_area img{
    width:100%;
    height:100%;
    object-fit:cover;
}
#menu ul.menu_lists li.item .text_area{
    padding:10px;
}
#menu ul.menu_lists li.item .text_area h3{
    font-size:1rem;
    margin-bottom:10px;
}
#menu ul.menu_lists li.item .item_btn{
    display:block;
    color:white;
    background-color:var(--fontcolor_sub);
    border-top:1px solid black;
    transition: background-color 0.5s;
    font-size:0.7rem;
    padding:10px 0;
}
#menu ul.menu_lists li.item .item_btn:hover{
    color:var(--fontcolor);
    background-color:white;
}
#menu .menu_design{
    width:100%;
    height:200px;
    background-color:white;
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:1;
}
/*******************************************************************************************
photo
*******************************************************************************************/
#photo{
    background-color:white;
    margin-top:150px;
    margin-bottom:200px;
}
#photo .photo_slider_nav{
    display:flex;
}
#photo .photo_slider_nav .slider_item .img_area{
    height:200px;
}
#photo .photo_slider_nav .slider_item img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
/*******************************************************************************************
staff
*******************************************************************************************/
#staff{
    margin-bottom:100px;
}
#staff .staff_back_img{
    background-image: url(/public/img/staff_back_image.png);
    background-repeat:no-repeat;
    background-position:100% 10%;
    position: relative;
}
#staff .staff_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#staff .staff_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    letter-spacing:0.3rem;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#staff .staff_lists{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    margin-top:100px;
    margin-left:20px;
    margin-right:20px;
}
#staff .staff_lists .item{
    display:flex;
    justify-content:space-between;
    margin-bottom:100px;
    position:relative;
}
#staff .staff_lists .item h3{
    font-size:1.5rem;
    background-color:white;
    border:1px solid var(--fontcolor_sub);
    filter: drop-shadow(1px 1px 2px black); 
    border-radius:20px;
}
#staff .staff_lists .item h3 .post{
    color:white;
    background-color:var(--fontcolor_sub);
    border-radius:50%;
    font-size:1.0rem;
    padding:10px;
    margin-right:20px;
}
#staff .staff_lists .item h3 .name{
    font-size:0.9rem;
    margin-left:20px;
}
#staff .staff_lists .item .img_area{
    display:flex;
    width:30%;
    height:auto;
    border:10px solid white;
    filter: drop-shadow(1px 1px 2px black);
}
#staff .staff_lists .item .img_area img{
    width:100%;
    height:100%;
    object-fit:cover;
}
#staff .staff_lists .item .manager::before{
    content:"";
    background-image:url(/public/img/post_sample1.png);
    background-repeat:no-repeat;
    background-size:contain;
    width:70px;
    height:70px;
    position:absolute;
    top:-30px;
    left:-30px;
}
#staff .staff_lists .item .staff::before{
    content:"";
    background-image:url(/public/img/post_sample2.png);
    background-repeat:no-repeat;
    background-size:contain;
    width:70px;
    height:70px;
    position:absolute;
    top:-30px;
    left:-30px;
}
#staff .staff_lists .item .text_area{
    width:50%;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
#staff .staff_lists .text_area dl{
    display:flex;
    flex-direction:column;
    text-align:center;
    margin:0 auto;
    background-color:white;
    border:1px solid var(--fontcolor_sub);
    filter: drop-shadow(1px 1px 2px black); 
    border-radius:20px;
    padding:10px 30px;
    width:100%;
}
#staff .staff_lists .text_area dt{
    width:fit-content;
    font-size:1.0rem;
    color:var(--fontcolor_sub);
    border-bottom:3px solid var(--fontcolor_sub);
    margin:0 auto;
}
#staff .staff_lists .text_area dd{
    font-size:0.8rem;
    margin-bottom:10px;
    padding:10px;
}
/*******************************************************************************************
salon
*******************************************************************************************/
#salon{
    margin-bottom:100px;
}
#salon .salon_back_img{
    background-image: url(/public/img/salon_back_image.png);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center 0%;
    position: relative;
}
#salon .salon_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#salon .salon_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    letter-spacing:0.3rem;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#salon .salon_lists{
    display:flex;
    justify-content:space-between;
    margin-top:100px;
}
#salon .salon_lists .item{
    width:30%;
    background-color:rgb(255,255,255.1);
    position:relative;
}
#salon .salon_lists .img_area{
    width:100%;
    height:200px;
    position:relative;
}
#salon .salon_lists .img_area::after{
    width:30px;
    height:30px;
    line-height:30px;
    content:"\f302";
    font-family: 'FontAwesome';
    color:white;
    text-align:center;
    position: absolute;
    top:0;
    right:0;
}
#salon .salon_lists .img_area img{
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    top:0%;
    left:0%;
    transition: opacity 0.4s 0.0s ease-in-out;
}
#salon .salon_lists .img_area:hover img:nth-of-type(2) {
	opacity: 0;
}
#salon .salon_lists .text_area{
    background-color:white;
}
#salon .salon_lists .text_area h3.post{
    background-color:rgb(255,245,232,1);
    border:1px solid  var(--fontcolor_sub);
    border-radius:30px;
    font-size:min(1.3vw, 15px);
    white-space:nowrap;
    margin-top:0px;
    margin-bottom:20px;
    padding-top:10px;
    padding-bottom:10px;
}
#salon .salon_lists .text_area dl{
    padding:20px;
}
#salon .salon_lists .text_area dl dt{
    text-align:left;
}
#salon .salon_lists .text_area dl dd{
    text-align:left;
    padding-bottom:10px;
}
#salon .salon_lists .salon_btn{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    color:white;
    background-color:var(--fontcolor_sub);
    border:1px solid var(--fontcolor_sub);
    filter: drop-shadow(1px 1px 2px black);
    transition: background-color 0.5s;
    padding:10px 0;
}
#salon .salon_lists .salon_btn:hover{
    color:var(--fontcolor);
    background-color:white;
}
#salon .salon_lists .salon_btn span.cursol_area{
    display:inline-block;
    width:15px;
    height:15px;
    background-image:url(/public/img/angle-right-solid-white.svg);
    background-repeat:no-repeat;
    background-position:center center;
    transform:translateY(5%);
}
#salon .salon_lists .salon_btn:hover span.cursol_area{
    background-image:url(/public/img/angle-right-solid-black.svg);
}
/*******************************************************************************************
access
*******************************************************************************************/
#access{
    margin-bottom:100px;
}
#access .access_back_img{
    background-image: url(/public/img/access_back_image.svg);
    background-repeat:no-repeat;
    background-size:100%;
    background-position:30% 50%;
    position: relative;
}
#access .access_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#access .access_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    letter-spacing:0.3rem;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#access .access_area{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-top:100px;
}
#access .access_area .shop_name_area{
    display:flex;
    width:100%;
}
#access .access_area .shop_name_area h3{
    font-size:1.2rem;
    text-align:left;
    line-height:50px;
    display:flex;
}
#access .access_area .shop_name_area h3 img{
    width:50px;
    height:100%;
    object-fit:cover;
}
#access .access_area .text_area{
    display:flex;
    flex-direction:column;
    width:calc(50% - 10px);
    margin-left:10px;
}
#access .access_area .text_area .postcode{
    text-align:left;
}
#access .access_area .text_area .address{
    text-align:left;
}
#access .access_area .text_area dl{
    margin-top:50px;
    margin-bottom:30px;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
}
#access .access_area .text_area dl dt{
    width:25%;
    margin-right:20px;
    margin-bottom:10px;
    color:var(--fontcolor);
    background-color:rgb(255,255,255,1);
    border:1px solid var(--fontcolor_sub);
    border-radius:30px;
}
#access .access_area .text_area dl dt:nth-of-type(5){
    background-color:rgb(255,245,232,1);
    border:none;
}
#access .access_area .text_area dl dd{
    width:70%;
    text-align:left;
    margin-bottom:10px;
}
#access .access_area .text_area dl dd a.tel_no{
    color:rgb(61,83,242);
    border-bottom:1px solid rgb(61,83,242);
}
#access .access_area .text_area .btn_area{
    display:flex;
    justify-content:center;
}
#access .access_area .text_area .web_reserved_btn{
    color:var(--fontcolor);
    background-color:rgb(232,255,234,1);
    border:1px solid var(--fontcolor_sub);
    filter: drop-shadow(1px 1px 2px black);
    padding:10px 50px;
    transition: background-color 0.5s;
    margin-right:20px;
}
#access .access_area .text_area .web_reserved_btn:hover{
    color:white;
    background-color:var(--fontcolor_sub);
}
#access .access_area .text_area .web_reserved_btn span{
    padding:0 10px;
}
#access .access_area .text_area .tel_reserved_btn{
    display:flex;
    align-items:center;
    color:white;
    background-color:var(--fontcolor_sub);
    border:1px solid var(--fontcolor_sub);
    filter: drop-shadow(1px 1px 2px black);
    padding:10px 50px;
    transition: background-color 0.5s;
}
#access .access_area .text_area .tel_reserved_btn:hover{
    color:var(--fontcolor);
    background-color:white;
}
#access .access_area .text_area .tel_reserved_btn span.icon{
    display:block;
    width:20px;
    height:20px;
    background-image:url(/public/img/envelope-solid-white.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#access .access_area .text_area .tel_reserved_btn:hover span.icon{
    background-image:url(/public/img/envelope-solid-black.svg);
}
#access .access_area .text_area .tel_reserved_btn span.text{
    display:block;
    width:fit-content;
    padding:0 10px;
}
#access .access_area .map_area{
    width:50%;
}
#access .access_area .map_area p{
    text-align:left;
    border-bottom:1px solid var(--fontcolor);
    margin-bottom:5px;
}
#access .access_area .map_area iframe{
    width:500px;
    max-width:100%;
    height:400px;
}
/*******************************************************************************************
footer
*******************************************************************************************/
footer{
    padding-top:100px;
    background-color:white;
}
#footer_menu h2{
    text-align:center;
}
#footer_menu h2 img{
    width:200px;
}
#footer_menu .footer_menu_top{
    display:flex;
    justify-content:center;
}
#footer_menu .shop_info{
    width:30%;
}
#footer_menu .shop_info .shop_name{
    font-size:1.5rem;
    font-weight:bold;
    color:var(--fontcolor);
}
#footer_menu .shop_info .tel_no{
    display:inline-block;
    font-size:1.3rem;
    color:var(--fontcolor);
    background-color:rgb(255,228,196,1);
    filter: drop-shadow(1px 1px 2px black);
    border:1px solid var(--fontcolor);
    transition: background-color 0.5s;
    border-radius:20px;
    padding:0 20px;
    margin-top:20px;
}
#footer_menu .shop_info .tel_no:hover{
    color:white;
    background-color:var(--fontcolor_sub);
}
#footer_menu .shop_logo{
    width:30%;
    height:100%;
    object-fit:cover;
}
#footer_menu .shop_sns{
    width:30%;
}
#footer_menu .shop_sns_lists{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}
#footer_menu .shop_sns_lists .item{
    display:block;
    width:200px;
    margin-bottom:20px;
    background-color:rgb(255,245,232);
}
#footer_menu .shop_sns .sns_btn{
    display:flex;
    font-size:0.7rem;
}
#footer_menu .shop_sns .sns_btn .sns_icon{
    display:block;
    width:15%;
    margin-left:5px;
    margin-right:5px;
}
#footer_menu .shop_sns .sns_btn .sns_icon.instagram{
    display:block;
    background-image:url(/public/img/square-instagram-brands-brawn.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#footer_menu .shop_sns .sns_btn .sns_icon.line{
    display:block;
    background-image:url(/public/img/line-brands-brawn.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#footer_menu .shop_sns .sns_btn .sns_icon.twitter{
    display:block;
    background-image:url(/public/img/square-x-twitter-brands-brawn.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#footer_menu .shop_sns .sns_name{
    display:block;
    width:85%;
    height:auto;
    padding:10px 0;
}
#footer_menu .shop_sns .sns_btn span{
    display:block;
}
#footer_menu #footer_menu_lists{
    display:flex;
    justify-content:center;
    padding:30px 0;
}
#footer_menu #footer_menu_lists .footer_menu_item{
    width:15%;
    font-size:0.9rem;
    border-right:1px solid var(--fontcolor);
}
#footer_menu #footer_menu_lists .footer_menu_item:last-child{
    border-right:none;
}
#footer_menu #footer_menu_lists .footer_menu_item span{
    display:block;
}
/*******************************************************************************************
footer トップへ戻るボタン    
*******************************************************************************************/
#footer #return_top_btn {
    position: fixed;
    right: 0px;
    bottom:0px;
    width:80px;
    z-index:99;/*ハンバーガーメニュー表示中は後ろに隠す*/
    scroll-behavior:smooth;
}
/*******************************************************************************************
footer ボトムナビゲーション    
*******************************************************************************************/
#footer #bottom_navi .bottom_navi_area {
    background: var(--fontcolor_sub);
    border-top: solid 1px white;
    position: fixed;
    width: 100%;
    bottom: 0px;
    z-index: 98;
    padding-top:10px;
    padding-bottom:5px;
    display: none;
}
#footer #bottom_navi .bottom_navi_lists {
    display: flex;
    list-style: none;
    padding: 0;
}
#footer #bottom_navi .bottom_navi_lists li {
    display:block;
    color:white;
    width: 33%;
    height:auto;
    text-align: center;
    font-size: 12px;
    border-right:1px solid white;
}
#footer #bottom_navi .bottom_navi_lists li:last-child{
    border-right:none;
}
#footer #bottom_navi .bottom_navi_lists li .bottom_navi_btn{
    display:block;
    width:100%;
    height:100%;
}
#footer #bottom_navi .bottom_navi_lists li .slide_menu_open_btn{
    display:block;
    width:100%;
    height:100%;
    cursor:pointer;
}
#footer #bottom_navi .bottom_navi_lists span.icon_area.home{
    display:block;
    width:20px;
    height:20px;
    margin:0 auto;
    background-image:url(/public/img/house-solid-white.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#footer #bottom_navi .bottom_navi_lists span.icon_area.menu{
    display:block;
    width:20px;
    height:20px;
    margin:0 auto;
    background-image:url(/public/img/bars-solid-white.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#footer #bottom_navi .bottom_navi_lists span.icon_area.tell{
    display:block;
    width:20px;
    height:20px;
    margin:0 auto;
    background-image:url(/public/img/phone-solid-white.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center center;
}
#footer #bottom_navi .bottom_navi_lists span.text{
    display:block;
}
/*******************************************************************************************
menu_main.php
*******************************************************************************************/
#menu_main{
    margin-bottom:100px;
}
#menu_main p.explanation{
    display:block;
    text-align:left;
    margin-top:100px;
}
#menu_main .menu_back_img {
    background-image: url(/public/img/menu_main_back_image.svg);
    background-repeat:no-repeat;
    background-size:100%;
    background-position:0% 30%;
    position: relative;
    z-index:1;
}
#menu_main .menu_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#menu_main .menu_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px var(--fontcolor);
    font-size:2rem;
    font-weight:bold;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
/*
#menu_main .fixed_bg{
    height: 300px;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}*/
#menu_main .menu_item h3.item_title{
    font-size:1.4rem;
    font-weight:bold;
    padding-top:50px;
    padding-bottom:10px;
}
#menu_main .menu_item table.price{
    display:flex;
    width:100%;
    flex-direction:column;
    background-color:white;
}
#menu_main .menu_item table.price thead{
    width:100%;
}
#menu_main .menu_item table.price thead tr{
    display:flex;
    width:100%;
    background-color:bisque;
}
#menu_main .menu_item table.price thead tr th:nth-of-type(1){
    display:block;
    width:50%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.price thead tr th:nth-of-type(2){
    display:block;
    width:25%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.price thead tr th:nth-of-type(3){
    display:block;
    width:25%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    border-right:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.price tbody{
    width:100%;
}
#menu_main .menu_item table.price tbody tr{
    display:flex;
    width:100%;
}
#menu_main .menu_item table.price tbody tr.color{
    background-color:var(--themecolor);
}
#menu_main .menu_item table.price tbody tr td{
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
}
#menu_main .menu_item table.price tbody tr td:nth-of-type(1){
    display:block;
    font-size:0.9rem;
    text-align:left;
    width:50%;
    padding:5px 10px;
}
#menu_main .menu_item table.price tbody tr td:nth-of-type(2){
    display:block;
    font-size:0.9rem;
    text-align:right;
    width:25%;
    padding:5px 10px;
}
#menu_main .menu_item table.price tbody tr td:nth-of-type(3){
    display:block;
    font-size:0.9rem;
    text-align:right;
    width:25%;
    border-right:1px solid var(--fontcolor);
    padding:5px 10px;
}
/*オプションテーブル*/
#menu_main .menu_item table.option{
    display:flex;
    width:100%;
    flex-direction:column;
    background-color:white;
}
#menu_main .menu_item table.option thead{
    width:100%;
}
#menu_main .menu_item table.option thead tr{
    display:flex;
    width:100%;
    background-color:bisque;
}
#menu_main .menu_item table.option thead tr th:nth-of-type(1){
    display:block;
    width:25%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.option thead tr th:nth-of-type(2){
    display:block;
    width:25%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.option thead tr th:nth-of-type(3){
    display:block;
    width:50%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    border-right:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.option tbody{
    width:100%;
}
#menu_main .menu_item table.option tbody tr{
    display:flex;
    width:100%;
}
#menu_main .menu_item table.option tbody tr td{
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
}
#menu_main .menu_item table.option tbody tr td:nth-of-type(1){
    display:block;
    font-size:0.9rem;
    text-align:left;
    width:25%;
    padding:5px 10px;
}
#menu_main .menu_item table.option tbody tr td:nth-of-type(2){
    display:block;
    font-size:0.9rem;
    text-align:right;
    width:25%;
    padding:5px 10px;
}
#menu_main .menu_item table.option tbody tr td:nth-of-type(3){
    display:block;
    font-size:0.8rem;
    text-align:left;
    width:50%;
    border-right:1px solid var(--fontcolor);
    padding:5px 10px;
}
/*ホテル*/
#menu_main .menu_item table.hotel{
    display:flex;
    width:100%;
    flex-direction:column;
    background-color:white;
}
#menu_main .menu_item table.hotel thead{
    width:100%;
}
#menu_main .menu_item table.hotel thead tr{
    display:flex;
    width:100%;
    background-color:bisque;
}
#menu_main .menu_item table.hotel thead tr th:nth-of-type(1){
    display:block;
    width:75%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.hotel thead tr th:nth-of-type(2){
    display:block;
    width:25%;
    text-align:center;
    border-top:1px solid var(--fontcolor);
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
    border-right:1px solid var(--fontcolor);
    padding:5px 10px;
}
#menu_main .menu_item table.hotel tbody{
    width:100%;
}
#menu_main .menu_item table.hotel tbody tr{
    display:flex;
    width:100%;
}
#menu_main .menu_item table.hotel tbody tr td{
    border-left:1px solid var(--fontcolor);
    border-bottom:1px solid var(--fontcolor);
}
#menu_main .menu_item table.hotel tbody tr td:nth-of-type(1){
    display:block;
    font-size:0.9rem;
    text-align:left;
    width:75%;
    padding:5px 10px;
}
#menu_main .menu_item table.hotel tbody tr td:nth-of-type(2){
    display:block;
    font-size:0.9rem;
    text-align:right;
    width:25%;
    border-right:1px solid var(--fontcolor);
    padding:5px 10px;
}
/*******************************************************************************************
news_main
*******************************************************************************************/
#news_main .news_back_img {
    background-image: url(/public/img/news_back_image.svg);
    background-repeat:no-repeat;
    background-position:0% 20%;
    position: relative;
    z-index:1;
}
#news_main .news_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#news_main .news_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#news_main .fixed_bg{
    height: 300px;
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
}
#news_main .news_main_lists{
    display:flex;
    justify-content:left;
    flex-wrap:wrap;
    margin-top:100px;
    margin-bottom:100px;
}
#news_main .news_main_lists .item{
    width:calc(100% / 3 - 30px);
    height:300px;
    background-color:white;
    border:1px solid rgb(129,73,45,1);
    margin-top:10px;
    margin-bottom:50px;
    margin-right:10px;
}
#news_main .news_main_lists .item .img_area{
    width:100%;
    height:60%;
    position:relative;
}
#news_main .news_main_lists .item .img_area img{
    width:100%;
    height:100%;
    object-fit:cover;
}
#news_main .news_main_lists .item .img_area .category{
    background-color:var(--themecolor);
    border-left:1px solid var(--fontcolor_sub);
    border-bottom:1px solid var(--fontcolor_sub);
    position:absolute;
    top:0;
    right:0;
    width:100px;
    height:30px;
    line-height:30px;
    font-size:0.7rem;
    text-align:center;
}
#news_main .news_main_lists .item .text_area{
    display:block;
    width:100%;
    height:40%;
    text-align:left;
    padding:10px;
    position:relative;
}
#news_main .news_main_lists .item .text_area .date{
    font-size:0.7rem;
}
#news_main .news_main_lists .item .text_area .title{
    font-size:0.9rem;
    line-height:1rem;
    margin-bottom:5px;
}
#news_main .news_main_lists .item .text_area .text{
    color:rgb(38,38,38,0.5);
    font-size:0.7rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp:1;
    overflow: hidden;
}
#news_main .news_main_lists .item .text_area .read_more{
    color:var(--fontcolor_sub);
    font-weight:bold;
    background-color:rgb(255,245,232,1);
    transition: background-color 0.5s;
    border:2px solid var(--fontcolor_sub);
    border-radius:10px;
    filter: drop-shadow(1px 1px 2px black);
    padding:5px;
    font-size:0.56rem;
    position:absolute;
    bottom:5px;
    right:5px;
}
#news_main .news_main_lists .item .text_area .read_more:hover{
    color:white;
    background-color:var(--fontcolor_sub);
}
/*******************************************************************************************
news_child
*******************************************************************************************/
#news_child{
    margin-bottom:100px;
}
#news_child .inner{
    background-color:white;
    margin:5%;
    padding:3%;
}
#news_child .inner .thumbnail_area{
    display:block;
    width:100%;
    height:400px;
}
#news_child .inner .thumbnail_area img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
#news_child .inner .title{
    color:var(--fontcolor);
    font-size:1.5rem;
    text-align:left;
}
#news_child .inner .index_area{
    display:flex;
    justify-content:left;
}
#news_child .inner .index_area dt{
    margin-right:5px;
}
#news_child .inner .index_area dd{
    margin-right:50px;
}
#news_child .inner .index_area dd:last-child{
    margin-right:0px;
}
#news_child .inner .text_area{
    margin-top:50px;
    text-align:left;
}
#news_child .inner .text_area .text{
    margin-bottom:5px;
}
#news_child .news_child_btn_area{
    display:block;
    margin-top:100px;
    text-align:center;
}
#news_child .news_child_btn_area .news_child_btn{
    color:white;
    background-color:var(--fontcolor_sub);
    border-radius:50px;
    filter: drop-shadow(1px 1px 2px black);
    padding:10px 50px;
}
#news_child .news_child_btn_area .news_child_btn:hover{
    color:var(--fontcolor);;
    background-color:rgb(255,255,255,1);
    transition: background-color 0.5s;
}
#news_child .news_child_btn_area .news_child_btn span{
    margin-right:10px;
}
/*******************************************************************************************
contact.php
*******************************************************************************************/
#contact_container{
    padding-bottom:100px;
}
#contact_container .contact_back_img {
    background-image: url(/public/img/contact_back_img.png);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
    position: relative;
    z-index:1;
}
#contact_container .contact_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#contact_container .contact_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#contact_container #contact_main{
    text-align:center;
    margin-top:50px;
}
#contact_container #contact_main p.explanation{
    font-size:1.0rem;
    color:var(--fontcolor);
}
#contact_container #contact_main form{
    margin:50px 20% 0 20%;
}
#contact_container #contact_main form .input_item{
    display:flex;
    text-align:left;
    margin-bottom:20px;
    border-radius:5px;
    overflow:hidden;
}
#contact_container #contact_main form .input_item label{
    display:inline-block;
    width:30%;
    font-size:0.9rem;
    color:var(--fontcolor);
    white-space:nowrap;
    padding:3px 10px;
    margin-bottom:5px;
    /*background-color:var(--themeheadcolor);*/
    vertical-align:top;
}
#contact_container #contact_main form .input_item label span.required{
    display:inline-block;
    width:auto;
    color:#d7003a;
    background-color:rgb(238,187,185);
    border-radius:5px;
    padding:0 5px;
    margin-left:10px;
}
#contact_container #contact_main form .input_item .sex_list{
    display:inline-block;
    width:70%;
    background-color:white;
    border:1px solid var(--themecolor);
    border-radius:5px;
}
#contact_container #contact_main form .input_item .sex_list .sex_item{
    display:flex;
    align-items:center;
    margin:10px;
}
#contact_container #contact_main form .input_item .sex_list .sex_item p.text{
    color:var(--fontcolor);
    white-space:nowrap;
    margin-left:10px;
}
#contact_container #contact_main form .input_item input{
    display:inline-block;
    width:70%;
    background-color:white;
    border:1px solid var(--themecolor);
    border-radius:5px;
    padding:3px 10px;
}
#contact_container #contact_main form .input_item input::placeholder{
    color:rgb(0,0,0,0.5);
}
#contact_container #contact_main form .input_item .sex_list .sex_item input{
    display:inline-block;
    width:auto;
    background-color:white;
    border:1px solid var(--themecolor);
    padding:3px 10px;
    appearance: revert;/*ラジオボタンのチェックボタン表示に必要*/
    vertical-align:middle;
    margin-left:10%;
}
#contact_container #contact_main form .input_item select{
    display:inline-block;
    width:70%;
    text-align:center;
    background-color:white;
    border:1px solid var(--themecolor);
    border-radius:5px;
    padding:3px 10px;
}
#contact_container #contact_main form .input_item select option{
    color:var(--fontcolor);
}
#contact_container #contact_main form .input_item textarea{
    display:inline-block;
    width:70%;
    background-color:white;
    border:1px solid var(--themecolor);
    border-radius:5px;
    padding:3px 10px;
}
#contact_container #contact_main form .input_item textarea::placeholder{
    color:rgb(0,0,0,0.5);
}
#contact_container #contact_main form button.submit{
    color:white;
    background-color: var(--fontcolor_sub);
    border:1px solid var(--fontcolor_sub);
    border-radius:5px;
    margin-top:50px;
    padding:10px 30px;
    cursor:pointer;
    transition:0.3s;
}
#contact_container #contact_main form button.submit:hover{
    color: var(--fontcolor_sub);
    background-color:white;
}
/*******************************************************************************************
cofirm.php
*******************************************************************************************/
#cofirm_container{
    padding-bottom:100px;
}
#cofirm_container .cofirm_back_img {
    background-image: url(/public/img/cofirm_back_img.png);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
    position: relative;
    z-index:1;
}
#cofirm_container .cofirm_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#cofirm_container .cofirm_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#cofirm_container #cofirm_main{
    text-align:center;
    margin:50px 10% 0 10%;
}
#cofirm_container #cofirm_main p.comment{
    color:var(--fontcolor);
    font-size:1rem;
}
#cofirm_container #cofirm_main table{
    display:block;
    width:100%;
    margin-top:50px;
    margin-bottom:50px;
    background-color:white;
    border-radius:10px;
}
#cofirm_container #cofirm_main table tbody tr{
    display:flex;
    width:100%;
}
#cofirm_container #cofirm_main table tbody{
    display:block;
    width:100%;
}
#cofirm_container #cofirm_main table tbody tr th{
    display:inline-block;
    width:30%;
    font-size:0.9rem;
    color:var(--fontcolor);
    text-align:left;
    padding:10px 10px;
}
#cofirm_container #cofirm_main table tbody tr td{
    display:inline-block;
    width:70%;
    font-size:0.9rem;
    color:var(--fontcolor);
    text-align:left;
    padding:10px 10px;
}
#cofirm_container #cofirm_main form input.submit_btn{
    color:white;
    background-color: var(--fontcolor_sub);
    border-radius:5px;
    margin-top:50px;
    margin-right:20px;
    padding:10px 30px;
    cursor:pointer;
}
#cofirm_container #cofirm_main form button.return_btn{
    color:var(--fontcolor);
    background-color:white;
    border:1px solid var(--themecolor);
    border-radius:5px;
    margin-top:50px;
    padding:10px 30px;
    cursor:pointer;
}
/*******************************************************************************************
send.php
*******************************************************************************************/
#send_container{
    padding-bottom:100px;
}
#send_container .send_back_img {
    background-image: url(/public/img/send_back_img.png);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center center;
    position: relative;
    z-index:1;
}
#send_container .send_back_img::after{
    content:"";
    width:100%;
    height:100%;
    background-color:var(--mask_color);
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:2;
}
#send_container .send_back_img .sec_title{
    color:white;
    text-shadow:1px 2px 3px black;
    font-size:2rem;
    font-weight:bold;
    text-align:center;
    line-height:300px;
    position:relative;
    z-index:3;
}
#send_container #send_main{
    margin-top:70px;
}
#send_container #send_main p.text_area{
    color:var(--fontcolor);
    font-size:1rem;
}
#send_container #send_main a.return_btn{
    display:inline-block;
    color:white;
    background-color:var(--fontcolor_sub);
    border:1px solid var(--fontcolor_sub);
    border-radius:5px;
    margin-top:70px;
    padding:10px 30px;
    cursor:pointer;
}
/*******************************************************************************************
footer
*******************************************************************************************/
/*******************************************************************************************
copyright
*******************************************************************************************/
#copyright{
    text-align:center;
    color:white;
    background-color:var(--fontcolor_sub);
}
#copyright .webdesign_area{
    text-decoration:underline;
}
/*******************************************************************************************
アニメーション（共通）
*******************************************************************************************/
/*
アニメーション（スクロール時、右下にフェードイン）
フェードイン前の初期ポジションを指定用？
*/
.anime_slideBottom {
    opacity: 0;
    transform: translateY(20px);
    transition-property:all;
    transition-duration:0.5s;
    transition-delay:0s;
    transition-timing-function:ease-in-out;
}
/*******************************************************************************************
Media Queries
*******************************************************************************************/
@media only screen and (min-width: 1930px) {

}
/* Smaller than standard 1200 */
@media only screen and (max-width: 1199px) {

}
/* Smaller than standard 980 */
@media only screen and (max-width: 991px) {

}
@media only screen and (max-width: 1024px) {

}
@media only screen and (max-width: 780px) {

}
/* Tablet Landscape */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {

}

@media only screen and (max-width: 1399px) {

}

/* All Mobile Sizes */
@media only screen and (max-width: 767px) {

}
@media only screen and (max-width: 600px) {

}

/* Mobile Portrait Size */
/*@media only screen and (max-width: 479px) {*/
@media only screen and (max-width: 768px) {
    /*スマホ用改行*/
    .br_sm{
        display:block;
    }
    /*ＰＣ用改行*/
    .br_pc{
        display:none;
    }
    .wrapper {
        width:90%;
        max-width:90%;
        margin: 0 20px;
    }
    /*
    header
    */
    #header {
        height:auto;
        max-height:auto;
    }
    #header_menu_area{
        padding-top:5px;
        padding-bottom:5px;
    }
    #header_menu{
        height:10vh;
        max-height:10vh;
    }
    #header_menu h1{
        width:auto;
        height:10vh;
        line-height:10vh;
        max-height:10vh;
        margin-right:10px;
    }
    #header_menu .title_area{
        margin-right:10px;
    }
    #header_menu .title_area .sub{
        font-size:0.7rem;
    }
    #header_menu .title_area .title{
        font-size:0.85rem;
    }
    #header_menu #nav_menu{
        display:none;
    }
    #header_menu_area #header_menu_right{
        display:none;
    }
    #header .hamburger_btn{
        display:block;
    }
    #header_slide_menu_area{
        display:block;
    }
    /*
    main
    */
    #main{
        margin-top:0vh;
    }
    /*
    mainvisual
    */
    #mainvisual_slide .mainvisual_inner{
        height:50vh;
        max-height:50vh;
    }
    #mainvisual{
        width:100%;
        /*height:80vh;*/
        height:50vh;
        /*max-height:80vh;*/
        max-height:50vh;
    }
    /*メインビジュアル画像DIV*/
    #mainvisual div{
        height: 50vh;
        max-height:50vh;
        background-position: 40% 0%;/*画像のポジション調整 横% 縦%*/
        background-size: cover; /*画像のポジション調整*/
    }
    /*メインビジュアル1枚目*/
    .anime_mainvisual div:first-of-type{
        background-position:0%  0%;
    }
    /*メインビジュアル2枚目*/
    .anime_mainvisual div:nth-of-type(2){
        background-position:0px 0px;
        animation-delay: 12s;
    }
    /*メインビジュアル3枚目*/
    .anime_mainvisual div:last-of-type{
        background-position:0px 0px;
        animation-delay: 24s;
    }
    /*
    slogan
    */
    #slogan span:first-child {
        top:30vh;
        left:2%;
    }
    #slogan span:nth-child(2) {
        top:35vh;
        left:2%;
    }
    #slogan span:nth-child(3) {
        top:30vh;
        left:2%;
    }
    #slogan span:nth-child(4) {
        top:35vh;
        left:2%;
    }
    #slogan span:nth-child(5) {
        top:30vh;
        left:2%;
    }
    #slogan span:nth-child(6) {
        top:35vh;
        left:2%;
    }
    #slogan_area span{
        font-size:1.3rem;
    }
    /*
    scroll_area
    */
    #scroll_area{
        height:40vh;
        max-height:40vh;
    }
    /*
    adjustment
    */
    #adjustment_area{
        margin-top:40vh;
    }
    /*
    news
    */
    #news{
        margin-top:0vh;
    }
    #news .fixed_bg{
        background-attachment:scroll; /* スマホ時、背景をスクロール */
    }
    #news .news_slider{
        width:100%;
        margin-left:0px;
        margin-right:0px;
    }
    #news .news_back_img .sec_title{
        font-size:2.0rem;
        padding:0 100px;
    }
    #news .news_back_img .sec_title:before,
    #news .news_back_img .sec_title:after{
        width:50px;
    }
    /*
    about
    */
    #about .about_back_img{
        background-image: url(/public/img/about_back_image.png);
        background-repeat:no-repeat;
        background-size:cover;
        background-position:center center;
        position: relative;
    }   
    #about .fixed_bg{
        background-attachment:scroll; /* スマホ時、背景をスクロール */
    }
    #about .about_items{
        flex-direction:column-reverse;
    }
    #about .about_items:nth-of-type(3){
        flex-direction:column;
    }
    #about .about_items .text_area{
        width:100vw;
        padding:10px;
        margin-top:50px;
        margin-left:0px;
    }
    #about .about_items .text_area .title_area{
        justify-content:left;
        height:auto
    }
    #about .about_items .text_area .title_area .title_img_area{
        width:40px;
        height:40px;
    }
    #about .about_items .text_area .title_area h3.title_h3{
        font-size:1.2rem;
        margin-left:8vw;
    }
    #about .about_items .text_area .title_area h3.title_h3::before{
        width:50px;
        height:50px;
        top:0;
        left:0;
    }
    #about .about_items .image_area{
        width:100vw;
        height:auto;

    }
    #about .about_items .image_area .image_back{
        width:90vw;
        height:250px;
        margin:0 0 0 auto;
    }
    #about .about_items:nth-of-type(3) .image_back{
        margin:0 auto 0 0;
    }
    #about .about_items .image_area .image_back img{
        width:90vw;
        height:100%;
        top:3vh;
        left:-5vw;
    }

    #about .title_no1::after{
        font-size:0.5rem;
        letter-spacing:0.15em;
        width:50px;
        height:50px;
        position:absolute;
        top:30%;
        left:32px;
    }
    #about .title_no2::after{
        font-size:0.5rem;
        letter-spacing:0.15em;
        color:white;
        width:50px;
        height:50px;
        top:30%;
        left:32px;
    }
    #about .title_no3::after{
        font-size:0.5rem;
        letter-spacing:0.15em;
        color:white;
        width:50px;
        height:50px;
        top:30%;
        left:32px;
    }
    /*
    menu
    */
    #menu .menu_back_img {
        background-image: url(/public/img/menu_back_image.png);
        background-repeat:no-repeat;
        background-size:cover;
        background-position:100% 40%;
        position: relative;
    }
    #menu .menu_outer_frame .menu_back_lines div:nth-of-type(1){
        top:13%;
        left:0;
        right:0;
    }
    #menu .menu_outer_frame .menu_back_lines div:nth-of-type(2){
        display:block;
        background-color:white;
        width:100%;
        height:200px;
        position:absolute;
        top:47%;
        left:0;
        right:0;
    }
    #menu .menu_outer_frame .menu_back_lines div:nth-of-type(3){
        display:block;
        background-color:white;
        width:100%;
        height:200px;
        position:absolute;
        top:80%;
        left:0;
        right:0;
    }
    #menu ul.menu_lists{
        align-items:center;
        flex-direction:column;
        margin-top:100px;
    }
    #menu ul.menu_lists li.item{
        width:100%;
        margin-bottom:100px;
    }
    #menu ul.menu_lists li.item::before{
        width:50px;
        height:50px;
        position:absolute;
        top:0;
        left:0;
        transform:translate(-30% , -30%);
    }
    /*
    photo slider
    */
    #photo .photo_slider_nav .slider_item .img_area{
        height:150px;
    }
    /*
    staff
    */
    #staff .staff_back_img{
        background-image: url(/public/img/staff_back_image.png);
        background-size:cover;
        background-position:100% 10%;
        position: relative;
    }
    #staff .staff_lists{
        margin-left:5px;
        margin-right:5px;
    }
    #staff .staff_lists .item{
        flex-direction:column;
        margin:40px 0px;
    }
    #staff .staff_lists .item .img_area{
        width:100%;
        height:auto;
        margin-bottom:20px;
    }
    #staff .staff_lists .item .text_area{
        width:100%;
        margin-top:20px;
    }
    #staff .staff_lists .item .text_area h3{
        font-size:1rem;
        margin-bottom:20px;
    }
    #staff .staff_lists .item .manager::before{
        width:80px;
        height:80px;
        position:absolute;
        top:-20px;
        left:-20px;
    }
    #staff .staff_lists .item .staff::before{
        width:80px;
        height:80px;
        position:absolute;
        top:-20px;
        left:-20px;
    }
    /*
    salon
    */
    #salon .salon_back_img{
        background-image: url(/public/img/salon_back_image.png);
        background-size:cover;
        background-position:center center;
        position: relative;
    }
    #salon .salon_lists{
        flex-direction:column;
        margin:100px 0px;
    }
    #salon .salon_lists .item{
        width:100%;
        margin-bottom:80px;
    }
    #salon .salon_lists .text_area h3.post{
        font-size:15px;
    }
    /*
    access
    */
    #access .access_back_img{
        background-image: url(/public/img/access_back_image.svg);
        background-size:cover;
        background-position:0% 0%;
        position: relative;
    }
    #access .access_area{
        flex-direction:column;
        margin:50px 0px;
    }
    #access .access_area .shop_name_area{
        order:1;
    }
    #access .access_area .shop_name_area h3{
        font-size:1.1rem;
        margin-bottom:20px;
    }
    #access .access_area .text_area{
        width:100%;
        margin-bottom:100px;
        margin-left:0px;
        order:3;
    }
    #access .access_area .text_area dl{
        flex-direction:row;
    }
    #access .access_area .text_area dl dt{
        width:25%;
        margin-right:20px;
        margin-bottom:10px;
    }
    #access .access_area .text_area dl dd{
        width:65%;
        margin-bottom:10px;
    }
    #access .access_area .map_area{
        width:100%;
        margin-bottom:10px;
        order:2;
    }
    /*
    footer
    */
    #footer #return_top_btn {
        right: 0px;
        bottom:50px;
        width:80px;
    }
    /**/
    #footer{
        padding-top:50px;
    }
    #footer_menu .footer_menu_top{
        flex-direction:column;
    }
    #footer_menu .shop_info{
        width:100%;
        text-align:center;
    }
    #footer_menu .shop_info .tel_no{
        margin-top:50px;
    }
    #footer_menu .shop_logo{
        width:100%;
        margin:50px auto;
    }
    #footer_menu .shop_sns{
        width:100%;
    }
    #footer_menu .shop_sns_lists{
        flex-direction:column;
        justify-content:center;
    }
    #footer_menu .shop_sns_lists .item{
        width:calc(100% - 40px);
        margin-bottom:20px;
        margin-right:20px;
        margin-left:20px;
    }
    #footer_menu .shop_sns .sns_btn .sns_icon.instagram{
        background-size:80% 80%;
    }
    #footer_menu .shop_sns .sns_btn .sns_icon.line{
        background-size:77% 77%;
    }
    #footer_menu .shop_sns .sns_btn .sns_icon.twitter{
        background-size:80% 80%;
    }
    #footer_menu #footer_menu_lists{
        padding:30px 0;
        flex-wrap:wrap;
    }
    #footer_menu #footer_menu_lists .footer_menu_item{
        width:30%;
        font-size:0.6rem;
        margin-bottom:20px;
    }
    #footer_menu #footer_menu_lists .footer_menu_item:nth-of-type(1){
        border-left:1px solid var(--fontcolor);
    }
    #footer_menu #footer_menu_lists .footer_menu_item:nth-of-type(4){
        border-left:1px solid var(--fontcolor);
    }
    #footer_menu #footer_menu_lists .footer_menu_item:nth-of-type(7){
        border-left:1px solid var(--fontcolor);
    }
    #footer_menu #footer_menu_lists .footer_menu_item:nth-of-type(8){
        border-right:1px solid var(--fontcolor);
    }
    #footer #bottom_navi .bottom_navi_area { 
        display: block;
    }
    /*
    copyright
    */
    #copyright{
        padding-bottom:150px;
    }
    #copyright .copyright_area{
        font-size:0.7rem;
    }
    #copyright .webdesign_area{
        font-size:0.6rem;
    }
    /*
    news_main
    */
    #news_main .news_back_img{
        background-image: url(/public/img/news_back_image.svg);
        background-repeat:no-repeat;
        background-size:cover;
        background-position:center center;
        position: relative;
    }   
    #news_main .news_main_lists .item{
        width:49%;
        height:200px;
        margin-right:0px;
    }
    #news_main .news_main_lists .item .img_area{
        height:50%;
    }
    #news_main .news_main_lists .item .img_area .category{
        width:70px;
        font-size:0.6rem;
    }
    #news_main .news_main_lists .item .text_area{
        padding:5px;
        height:50%;
    }
    #news_main .news_main_lists .item .text_area .date{
        font-size:0.6rem;
    }
    #news_main .news_main_lists .item .text_area .title{
        font-size:0.8rem;
    }
    #news_main .news_main_lists .item .text_area .text{
        display:none;
    }
    /*
    news_child
    */
    #news_child .inner{
        margin:0;
        padding:5px;
    }
    #news_child .inner .thumbnail_area{
        display:block;
        width:100%;
        height:200px;
    }
    /*
    menu_main
    */
    #menu_main .menu_back_img {
        background-repeat:no-repeat;
        background-size:cover;
        background-position:0% 100%;
        position: relative;
        z-index:1;
    }
    /*
    contact
    */
    #contact_container #contact_main p.explanation{
        text-align:left;
        font-size:1rem;
    }
    #contact_container #contact_main form{
        margin:50px 0 0 0;
    }
    #contact_container #contact_main form .input_item{
        flex-direction:column;
    }
    #contact_container #contact_main form .input_item label{
        font-size:0.9rem;
        width:100%;
    }
    #contact_container #contact_main form .input_item input{
        width:100%;
    }
    #contact_container #contact_main form .input_item select{
        width:100%;
    }
    #contact_container #contact_main form .input_item textarea{
        width:100%;
    }
    #contact_container #contact_main form .input_item .sex_list{
        width:100%;
    }
    /*
    cofirm
    */
    #cofirm_container #cofirm_main{
        margin:0;
    }
    #cofirm_container #cofirm_main table tbody tr{
        flex-direction:column;
    }
    #cofirm_container #cofirm_main table tbody tr th{
        width:100%;
        font-size:0.9rem;
        color:rgb(246, 244, 239);
        background-color:#845e56;
    }
    #cofirm_container #cofirm_main table tbody tr td{
        width:100%;
    }
}
@media only screen and (max-width: 320px) {

}
/* Center menu vertically */
@media screen and (min-width: 1025px) {
	
}