@charset "utf-8";

/*
 * スマホ用スタイルCSS
 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');

body {
  font-family: 'Noto Serif JP', serif;
  background-color: #e4e4e4;
}

/* ===================================================================================================================
   ■共有
------------------------------------------------------------------------------------------------------------------- */
/* リンク */
a:link, a:visited, a:hover, a:active{
  text-decoration: underline;
}


/* ロゴの上下余白調整 */
#h1_teaser_image {
  margin: 0;
}

/*fixする場合*/
#h1_teaser_image {
  position: fixed;
  top: 0;
  z-index: 1000;
  background:
    url(/files/sp_main_logo.png) repeat-y center top / 100%,
    url(/files/header_bg.png) repeat-y center top / 100% #f5f5f5 !important;
}
#main {
  margin-top: 14.3%;
  overflow: hidden;
}

/*top用*/
#page-6 #h1_teaser_image {top: -20%;transition: 0.8s;}
#page-6 #h1_teaser_image.fixed {top: 0;}
#page-6 #main {margin-top: 0;}

/* TOP ロゴ非表示 
#page-6 #h1_teaser_image {
  background-image: none !important;
  height: 0px !important;
}*/

/* ページ送り */
.tablenav { clear: both; }

.sp_gallery { text-align: center; }
.sp_gallery img {
  max-width: 100%;
  width: auto;
}
.img_border { border: 0 none; }


/* ===================================================================================================================
   ■ナビ
------------------------------------------------------------------------------------------------------------------- */
/* メニューON時　メニューの文字色変更 */
#Side .xoxo li .menu-item a {
  color: #ffffff !important;
}

/* ブログ下部 ブログメニュー部分　文字色変更 */
#primary ul.xoxo li ul li a {
  color: #970d85 !important;
}
/* ブログ下部 ブログメニュー部分　下線色変更 */
#Side .xoxo li .menu-item a,
#primary ul.xoxo li ul li {
  border-color: #642ac4 !important;
}
#rSide_wrap {background: none transparent !important;}
#calendar_wrap table tr td a { text-decoration: underline; }
#calendar_wrap table tr td a:hover { text-decoration: none; }
#calendar_wrap table tr td#today,
#calendar_wrap table tr td#today a { color: #555555; }

#searchform input[type="text"] { max-width: 77%; }

/* ===================================================================================================================
   ■見出し
------------------------------------------------------------------------------------------------------------------- */
/*中ページ ページタイトル*/
#naka_page_title {
    margin: 0 0 1em;
}
#naka_page_title h1 {
  background: url(/files/sp_body_bg_naka.png) no-repeat center top / 100% #544d7b;
  color: #fff;
  height: 21.25vw;
  line-height: 21.25vw;
  padding: 0 5%;
  text-align: center;
  font-weight: normal;
  letter-spacing: 0.2em;
  font-size: 140% !important;
}

* .headline_title {
  font-weight: bold !important;
  border: none !important;
  background-position: center !important;
  letter-spacing: 0.1em !important;
  background-color:  transparent !important;
  padding: 14vw 2.5% !important;
}
* .entry_title {
  font-weight: bold !important;
  border: none !important;
  letter-spacing: 0.1em !important;
  background-color: transparent !important;
  font-size: 140% !important;
}
* .widget-title, * .widget-title2, .top-back.unity_title {
  font-weight: bold !important;
  border: none !important;
  letter-spacing: 0.1em !important;
  background-color: transparent !important;
  font-size: 140% !important;
}
* .sub_post_title {
  font-weight: bold !important;
  border: none !important;
  background-position: center bottom !important;
  padding: 10px 2.5% 15vw !important;
  letter-spacing: 0.1em !important;
  background-color: transparent !important;
  font-size: 140% !important;
}
* .inline_title,
* small a {
  text-align: center;
  font-weight: bold !important;
  border: none !important;
  letter-spacing: 0.1em !important;
}



/* ===================================================================================================================
   ■ブロック
------------------------------------------------------------------------------------------------------------------- */
th,td{
  vertical-align: top;
  white-space: initial !important;
}

.mobile_e1 .icon_list_block {
  width: 100%;
  box-sizing: border-box;
}
.mobile_e1 .entry_post:not(:last-of-type) .icon_list_block {
  padding-bottom: 0 !important;
}

.icon_list_block {
}
.img_thumb, .column_1, .column_2, .column_3, .column_4 { text-align: center; }
.img_thumb img, .column_1 img, .column_2 img, .column_3 img, .column_4 img {
  max-width: 100%;
  width: auto;
  vertical-align: top;
}


.menu_area td, .menu_td_text, .bottom_border {
  /* Dブロック　メニュー部点線 */
  border-color: #642ac4 !important;
}
.menu_area td, .menu_td_text {
  vertical-align: top !important;
}

.flow_arr {
  background-size: contain !important;
}

/* K-01、K-02 メール投稿ブロック */
.k_01 .content_area, .k-02 .content_area {
  line-height: 2;
}

/* Z-J スライドショー */
.z_j1 { margin: 0 0 20px; }

.gallery_box {
  display: inline-block;
  width: 100%;
  height: auto;
}

.j_01 .sub-post { margin: 0 10px 20px; }
.j_01 .content_area .sub-post { margin: 0; }


.z_d1 {
  overflow-x: hidden;
  overflow-y: scroll;
  max-height: 75vh;
  margin-bottom: 20px;
}


/* 必須項目 */
.iqfm-req_color{
  color: #b41229;
}

/* お問合せフォーム整形 */
.iqfm-table th,
.iqfm-table td {
  vertical-align: middle !important;
  white-space: normal !important;
}
.iqfm-table td {
  min-width: 16em;
}
.iqfm-table td textarea {
  height: 10em;
  width: 96%;
}
.iqfm-table td input[type="text"]:not([size]) { width: 96%; }
.iqfm-table td input[type="text"][size="4"] { width: 4em; }


/* プライバシーポリシー整形 */
.privacy_block strong {
    font-size: 130%;
    line-height: 2;
}
.privacy_block ul li {
    line-height: 1.7;
    list-style: square outside none;
    margin: 0 0 0 20px;
    padding: 0;
}


.z_g1 .content_area { box-shadow: none; }

/* テーブルブロックのはみ出し禁止 */
.z_g1 .column1, .z_g1 .column2, .z_g1 .column3, .z_g1 .column4 {
  text-align:left;
  white-space: normal !important;
  word-break: break-all;
  vertical-align: top;
}

/* テーブルセルの最小幅設定 */
.menu_area td:before, .menu_td_text:before, td.td_name:before,
.z_g1 .column1:before, .z_g1 .column2:before, .z_g1 .column3:before, .z_g1 .column4:before {
    content: '';
    min-width: 4em;
    display: block;
}




#nav-below div a { background-size: cover !important; }

.category-blog .entry-content img:not([src*="wp-social-book"]) {
  max-width: 100%;
  width: auto !important;
  height: auto !important;
}


.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignright,
.entry-content img.alignleft,
.entry-content .photo img {
  width: auto;
  max-width: 80%;
  min-width: 0;
}
.entry-content .alignleft { text-align: left; }
.entry-content .aligncenter { text-align: center; }
.entry-content .alignright { text-align: right; }


/*テーブル設定*/
.iqfm-table tr th, .iqfm-table tr td,
td.td_name, td.td_value,
td.coupon_meta_title, td.coupon_meta, td.coupon_data,
.no_01 table td, .zg_01 table td {
  background: none #fff;
  border: solid 1px #333333;
}

.z_m1 { margin: 0 10px 10px; }

#jquery_slider_sp {
  margin: 0 0 10px;
  background: none #010f33;
  position: relative;
  z-index: -1;
}
#jquery_slider_sp .viewer {min-height: 100vh;}



/*  メニューアイコン
---------------------------------------------------------------------------------------------------- */
/*ハンバーガーメニューアイコン*/
#float_header #btn_menu {
  width: 14.3%;
  height: auto;
  top: 0;
  right: 0;
}
/*アクセスマップボタン*/
#float_header #menu_access_btn {
  width: 14.3%;
  height: auto;
  top: 0;
  right: 14.3%;/*12.5％=ハンバーガーメニューの横幅*/
}
/*メニュー左上のロゴの位置
  ※ハンバーガーメニューのtop指定と同じ値を入れる*/
#menu-sp_side {
  background-position: center top;
}


/*top用*/
#page-6 #float_header #btn_menu:after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: url(/files/sp_btn_menu_off_top.png) no-repeat center / 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  opacity: 1;
  transition: 0.4s 0s;
}
#page-6 #float_header #btn_menu.fixed:after {/*紫アイコンに変更*/
  opacity: 0;
  transition: 0.3s 0.5s;
}
#page-6 #float_header #btn_menu.open_menu:after {/*メニュー開いた時*/
  background: none;
}

/*  scrollfooter（最下部固定 お問い合わせ･TELボタン）
     ※画像差し替えはFTPにてそれぞれ上書き
---------------------------------------------------------------------------------------------------- */
/*最下部までスクロールした時用の余白 =.scroll_footerの高さと同じ値にする*/
body.has_scroll_footer {padding: 0 0 17.5vw;}

.scroll_footer,
.scroll_footer ul {height: 17.5vw;}
.scroll_footer ul li {width: 17.5vw; height: 17.5vw;}

.scroll_footer ul li.footer_tel_link {left: 0;}/*TELボタン*/
.scroll_footer ul li.footer_contact_link {right: 0;}/*contactボタン*/



/*  その他
---------------------------------------------------------------------------------------------------- */
.content_area {margin: 0 20px 20px;}

/*top セカンドメイン、アイコンメニュー、お問い合わせバナー*/
#o1fmgmkocchyj74kesfg .content_area,
#omvf6vtarqen1w9fh0q9 .content_area,
#kb6poi3cobzaqp88cq1k .content_area {margin: 0 0 20px;}
#omvf6vtarqen1w9fh0q9 .column_1 {margin: 0 0 10vw;}

/*top スクロールアイコン*/
#wg0kegp62q54gvbyh9jj {margin: -45vw 0 0;}
#wg0kegp62q54gvbyh9jj .entry_post {opacity: 1 !important;}
#wg0kegp62q54gvbyh9jj .content_area {
  position: relative;
  width: 100%;
  height: 43vw;
  margin: 0;
}
#wg0kegp62q54gvbyh9jj a {
  position: absolute;
  top: 11vw;
  left: calc(50% - 8vw);
  z-index: 2;
  display: block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
  padding-top: 13vw;
  color: #fff;
  letter-spacing: 0.2em;
  font-family: sans-serif;
}
a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 6vw;
  height: 11vw;
  margin-left: -3.2vw;
  border: 2px solid #fff;
  border-radius: 4vw;
  box-sizing: border-box;
}
a span::before {
  position: absolute;
  top: 1vw;
  left: 50%;
  content: '';
  width: 1.5vw;
  height: 1.5vw;
  margin-left: -0.75vw;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@keyframes sdb {
  0% {transform: translate(0, 0);opacity: 0;}
  40% {opacity: 1;}
  80% {transform: translate(0, 6.5vw);opacity: 0;}
  100% {opacity: 0;}
}


/*  ローディング画面
---------------------------------------------------------------------------------------------------- */
.black-screen {
  background-color: #000000;
}

.black-screen > .inner {
  top: calc(50vh - (5vw / 2));
  width: 3vw;
  height: 3vw;
  background-image: url("/files/loading.svg");
}


/*  地図
---------------------------------------------------------------------------------------------------- */
#map_canvas {
  width: 100%;
  height: 450px;
}


/*  googleカレンダー
---------------------------------------------------------------------------------------------------- */
iframe[src^="https://calendar.google.com"] {
  height: 500px;
  display: block !important;
  width: 1000px !important;
  max-width: 100%;
  margin: 0 0 20px;
  border: none !important;
}