@charset "UTF-8";
/*-----------------------------------------------------------------------------------------------------
共通設定(PC)
--------------------------------------------------------------------------------------------------------*/
html, body {
  width: 100%;
}
body {
  font-family: "游ゴシック体", "游ゴシック", "Yu Gothic", "sans-serif";
  font-size: 62.5%;
  font-style: normal;
  line-height: 1.5;
  color: #5c5c5c;
}
/*リンク文字の設定*/
a {
  text-decoration: underline;
}
a:link, a:visited {
  color: #39f;
}
a:hover, a:active {
  color: #f60;
}
/*ボタンホバー設定(半透明)*/
.btn:hover {
  opacity: 0.7;
}
/*-----------------------------------------------------------------------------------------------------
各エリアの設定(PC)
-----------------------------------------------------------------------------------------------------*/
 
.loaded {
  opacity: 0;
  visibility: hidden;
}

/*ページ全体*/
#container {
  position: relative;
}

/*本体*/
#main {
  background-image: url(../images/bg_main.jpg);
  background-repeat: no-repeat;            /* 背景を繰り返さない */
  background-position: 50% 50%;            /* 背景画像の位置は画面中央 */
  background-attachment:fixed;             /* 背景画像を固定する */
  background-size:cover;
}
/*カラム部分*/
#main-in {
  background-color: #fff;
  padding: 0em 0;
  box-shadow: 12px 1px 35px #594a42;
}
/*カラム内部のサイズ*/
#main-contents .contents {
  margin-bottom: 0em;
  padding: 0 40px;
}
/*段落タグ*/
#main-contents p {
  line-height: 1.8em;
}
/*全体のフォントサイズ*/
#main-contents {
  font-size: 1.8em;
}
/*カラム全体の幅を変更する*/
.header_inr {
  width: 680px;
  margin: 0 auto
}
/*--------------------------------------------------------
上部固定ヘッダー設定
--------------------------------------------------------*/
/*上部固定ヘッダー全体*/
.header {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 5000;
  background: #fff;
  border-bottom: 1px solid #ccc;
  overflow: auto;
  padding: 0.5em 0em;
}
/*ヘッダーロゴ*/
.header_logo {
  float: left;
  width: 35%;
  margin: 0.2em 0em 0.2em;
}
/*ヘッダー 電話ボタン*/
.header_tel {
  width: 40%;
  float: right;
  margin: 0.5em 0.5em 0em;
}
/*ヘッダー 問い合わせボタン*/
.header_mail {
  width: 18%;
  float: right;
  margin: 0.8em 0.3em 0em;
}
/*ヘッダー内の画像はエリア幅に合わせる*/
.header_logo img, .header_tel img, .header_mail img {
  width: 100%;
}
/***** 20250512 added  *******/
.drawer {
  position: fixed;
  top: 0;
  left: -65%; /* 初期状態で画面外 */
  width: 65%;
  height: 100%;
  background: rgba(0,0,0,.8);
  color: #fff;
  transition: left 0.3s;
  z-index: 1000;
  padding-top:2.0em;
}

.drawer.open {
  left: 0; /* 表示状態 */
}

.drawer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.drawer li {
  width: 100%;
  margin: 0;
  padding:0;
  box-sizing: border-box;
  border-bottom: dotted 1px rgba(255,255,255,.9);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.drawer li:last-child{
    border-bottom: none;
}
.num_li01{
    width: 70%;
    margin: 0;
    padding: .2em 1.0em;
    box-sizing: border-box;
}
.num_li02{
    width: 30%;
    margin: 0;
    padding:.2em  .5em;
    box-sizing: border-box;
    text-align: center;
}
.drawer li span.tenponame{
    display: inline-block;
    background: #ff0403;
    color: antiquewhite;
    font-size: .75em;
    line-height: 1.4;
    padding: .1em .4em;
    border-radius: 5px;
}
.drawer li span.telnum{
    display: block;
    color: antiquewhite;
    font-size: .85em;
    line-height: 1.6;
}
img.tel_tap_s{
    color: aliceblue;
    width: 55% !important;
    height: auto !important;
    padding: 2px;
    box-sizing: border-box;
    background: #ff0403;
    border-radius: .2em;
}

.drawer a {
  color: #fff;
  text-decoration: none;
  font-size: 1.0em;
  transition: color 0.2s;
}

.drawer a:hover {
  color: #ff9800;
}

/*-----------------------------------------------------------------------------------------------------
ｈタグの設定(PC)
-----------------------------------------------------------------------------------------------------*/
/*H2タグ*/
#main-contents h2 {
  margin: 0 0 0em;
  padding: 0.3em 0.9em;
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  color: #333;
}
/*H3タグ*/
#main-contents h3 {
  margin: 0 0 0.5em;
  padding: 0.3em 0.5em;
  border-bottom: 1px solid #ccc;
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
}
/*H4タグ*/
#main-contents h4 {
  margin: 0 0 1.5em;
  padding: 0.8em;
  border: 1px solid #8e8e8e;
  font-weight: bold;
}
/*H5タグ*/
#main-contents h5 {
  margin: 0 0 1.5em;
  padding: 0 0.8em 0.5em;
  border-bottom: 2px solid #414141;
  font-weight: bold;
}

/*-----------------------------------------------------------------------------------------------------
ヘッド部分
-----------------------------------------------------------------------------------------------------*/

.head_menu{
  display: flex;
  object-fit: contain;

}
/* 20250512 add**/
.head_menu img{
    width: 100% !important;
    height: auto !important;
}
   .head_menu .h_logo_sp{
        width: 40% !important;
        height: auto !important;
    }
    .head_menu .h_tenpo_sp{
        width: 20% !important;
        height: auto !important;
    }
    .head_menu .h_tel_sp,
    .head_menu .h_line_sp{
        display: none;
    }
    .head_menu .h_line_pc{
        width: 40% !important;
        height: auto !important;
    }
.logo{
  width: 40%;
  padding-top: 5px;

}

.head_map{
  width:23.2%;
}

.head_btn{
  width: 42%;
}


/*-----------------------------------------------------------------------------------------------------
ファーストビュー(ヘッダー画像)
-----------------------------------------------------------------------------------------------------*/
#main-image {
  padding-top: 0em;
  background: url(../images/top_image_back.jpg) center top no-repeat #fff;
  height: auto;
}
#main-image-in {
  position: relative;
  padding-bottom: 0em;
  background-color: transparent;
}
#main-image img {
  width: 100%;
  height: auto;
}
/*-----------------------------------------------------------------------------------------------------
PC閲覧時メニュー（スマホは非表示）
-----------------------------------------------------------------------------------------------------*/

.anta-regular {
  font-family: "Anta", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.global-menu {
  position: fixed; /* 画面に固定 */
  left: 0; /* 画面の左側に配置 */
  top: 0; /* 画面の上から配置 */
  width: 300px; /* メニューの幅 */
  height: 100%; /* 画面の高さいっぱい */
  z-index: 1000; /* 他の要素より前面に表示 */
  padding-top: 20px; /* 上部に余白を設定 */
  padding-left: 20px; /* 上部に余白を設定 */
}

.global-menu .logo {
  text-align: center; /* ロゴを中央寄せ */
  width: 100%;
  margin-bottom: 30px; /* ロゴとメニュー項目の間に余白 */
}

.global-menu nav ul {
  list-style: none; /* リストのスタイルをなくす */
  padding: 0; /* リストのパディングをなくす */
  margin: 0; /* リストのマージンをなくす */
}

.global-menu nav ul li {
  font-family: "Anta", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 10px; /* メニュー項目間の余白 */
}

.global-menu nav ul li a {
  display: block; /* リンクをブロック要素にする */
  padding: 10px; /* リンクの内側に余白を設定 */
  text-decoration: none; /* リンクの下線を消す */
  font-size: 2.5em;
  color: #fff; /* リンクの色 */
}

.global-menu nav ul li a:hover {
  background-color: #ff0402; /* ホバー時の背景色 */
}

.order_btn{
  border: 1px solid #fff;
  padding: 10px;
  font-size: 0.8em;
  text-align: center;
}






/*-----------------------------------------------------------------------------------------------------
メイン部分(ボディ) ※ここに案件独自のcssを記述していく
-----------------------------------------------------------------------------------------------------*/


.subhead {
  margin: 0 -2.2em;
  padding: 0em 0em;
  margin-bottom: 1.5em;
  color: #fff;     
}


.cta_area_01{
	position: relative;
}

.cta_btn_01{
	position: absolute;
	bottom: 3%;
    text-align: center;
}

.cta_btn_01 img{
	width:86%;
    margin: 0 auto;
}

.cta_area_02{
	position: relative;
}

.cta_btn_02{
	position: absolute;
	bottom: 5%;
    text-align: center;
}

.cta_btn_02 img{
	width:86%;
    margin:0 auto; 
}

.btn_tel{
	display: none;
}


.anim-box.poyopoyo {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.85);
  }
}


/*--------------------------------------------------------
段落・リスト・テーブル設定
--------------------------------------------------------*/
/*チェックリスト（リストタグ）*/
#main-contents ul.checklist {
  margin: 0 0 1.5em;
  padding: 1em;
  padding-bottom: 0;
  border: 1px solid #414141;
}
#main-contents ul.checklist li {
  margin-bottom: 1.5em;
  padding-top: 5px;
  padding-left: 24px;
  background: url(../images/icon-check01-red.png) left top no-repeat;
  list-style-type: none;
}
/*テーブルタグ*/
#main-contents table {
  margin-bottom: 1em;
  padding: 0;
  color: #333;
}
#main-contents th {
  background-color: #031824;
  font-size: 1em;
  text-align: left;
  padding: 0.5em 1em;
    color: #fff;
}
#main-contents td {
  padding: 1em 1em;
  font-size: 0.9em;
  background-color: #f9f9f9;
}
#main-contents table.table-style01 th, #main-contents table.table-style01 td {
  text-align: left;
  vertical-align: middle;
}
/*--------------------------------------------------------
店舗情報
--------------------------------------------------------*/
.are_access{
  padding: 1.5em 1.5em;
  background-color: #031824;
}

.accordion {
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  margin-bottom: 0.5em;
  text-align: left;
  font-weight: bold;
  outline: none;
  font-size: 1.5em;
  transition: 0.4s;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-image: linear-gradient(to right, #fd2810, #fca728); 
  color: #fff;
}

.active, .accordion:hover {
  background-color: #ccc; 
}

.panel {
  padding: 15px;
  display: none;
  background-color: #fff;
  overflow: hidden;
  margin-bottom: 1em;
}



/*-----------------------------------------------------------------------------------------------------
よくある質問
-----------------------------------------------------------------------------------------------------*/

/* QA全体のスタイル */
.qa {
  width: 100%; /* 幅を100%に設定 */
  border: 1px solid #ccc;
  border-radius: 5px;
}

/* 各質問項目のスタイル */
.qa-item {
  border-bottom: 1px solid #ccc;
}

/* 質問のタイトル部分のスタイル */
.qa-title {
  background-color: #f7f7f7;
  padding: 20px;
  cursor: pointer;
  font-weight: bold;
  display: flex; /* アイコンとテキストを横に並べるためにflexを使用 */
  justify-content: space-between; /* テキストとアイコンを左右に配置 */
  align-items: center; /* 中央揃え */
}

/* 回答部分のスタイル（初期状態は非表示） */
.qa-content {
  display: none;
  padding: 15px;
  background-color: #fff;
}

/* FontAwesomeアイコンのスタイル */
.qa-icon {
  font-size: 1rem; /* アイコンのサイズを調整 */
}

/*-----------------------------------------------------------------------------------------------------
CTA フローティングバナー
-----------------------------------------------------------------------------------------------------*/
.floating-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  left: 0;
  opacity: 0;
  transition:
    opacity 0.3s ease;
  will-change: opacity;
  padding: 1em;
  box-sizing: border-box;
  z-index: 100;
}
.floating-banner.visible {
  opacity: 1;
}
.floating-banner img{
    width: 100% !important;
    max-width: 600px;
    height:auto !important;
    display: block;
    margin: 0 auto;
}

@media (prefers-reduced-motion: reduce) {
  .floating-banner {
    transition: none;
  }
}

/*-----------------------------------------------------------------------------------------------------
フッター部分
-----------------------------------------------------------------------------------------------------*/
#footer {
  background: #031824;
  padding: 2em 0;
  text-align: center;
  font-size: 1.4em;
  color: #fff;
}
#footer a {
  color: #fff;
}
.fix_menu_smartphone {
  display: none;
}

.tel_left{
  display: none;
}

.tel_right{
  display: none;
}

.fadeintop {
  opacity: 0;
  transform: translateY(-40px);
  transition: all 2s;
}
.fadein {
  opacity: 0;
  transform: translateY(0px);
  transition: all 2s;
}
.fadeinleft {
  opacity: 0;
  transform: translateX(-40px);
  transition: all 2s;
}
.fadeinright {
  opacity: 0;
  transform: translateX(40px);
  transition: all 2s;
}
.fadeinbottom {
  opacity: 0;
  transform: translateY(40px);
  transition: all 2s;
}