@charset "utf-8";
/* ==========================================================================
# common.css
ホームメイト介護 共通基本CSS

## Filepath
/css-cmn/

## History
2024/12/12 WEB2TCI-49106 em指定の文字サイズクラス（0.05em刻み）追加
2019/10/10 ログインに関する注意 追加
2019/07/25 おすすめ施設修正
2019/06/25 #16444_5-フィードバックに従ってコンテンツ編集
2019/06/05 #16444_4-【HMS】読み物系コンテンツ／MFI残タスク対応
2018/08/14 新規作成
2018/08/28 修正
2018/09/03 修正
2018/09/06 社員アイコン追加
2018/09/13 下層ページ内容追加
2018/09/21 SP時のテキスト省略のclass変更
2018/09/27 一般ページ内容追加・修正
2019/03/13 ページャ余白修正
2019/03/29 静的用コード追加
2019/04/11 木目背景ベタ修正

========================================================================== */

/* 調整用ベーススタイル
   ========================================================================== */

html,
body {
  margin: 0;
  padding: 0;
}
body,
button,
input,
select,
textarea {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Hiragino Sans", ヒラギノ角ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", YuGothic, "游ゴシック", sans-serif;
}
/*IE用*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  body,
  button,
  input,
  select,
  textarea {
    font-family: Meiryo, "メイリオ", sans-serif;
  }
}
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
label, /*追加*/
form,  /*追加*/
input,  /*追加*/
textarea,  /*追加*/
*:after,
*:before {
  box-sizing: border-box;
  margin: 0; /*追加*/
  padding: 0; /*追加*/
}
h1,h2,h3,h4,h5,h6,b,strong,th{
  font-weight: 600;
}
ol,
ul {
  list-style: none;
}
p,
li,
dl,
table,
th,
td {
  line-break: strict;
  overflow-wrap: break-word;  
  word-break: normal;
  word-wrap: break-word;
}
img {
  border: 0;
  line-height: 1;
  vertical-align: bottom;
}
a {
  background: transparent;
  cursor: pointer; /*追加*/
  outline: 0 none;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
/* 全体
   ========================================================================== */

html {
  display: flex;
  flex-direction: column;
  font-size: 62.5%;
}
body {
  color: #000;
  display: flex;
  flex-direction: column;
  font-size: 1.7rem;
  min-height: 100vh;
}
a {
  color: #004edf;
}
.pc_style a:hover,
.tablet_style a:active,
.sp_style a:active {
  color: #64af86;
}
.pc_style .a_alpha:hover,
.tablet_style .a_alpha:active,
.sp_style .a_alpha:active {
  opacity: .8;
}
main {
  flex: 1 1 auto;
}
/* clearfix */
.clearfix::after {
content: "";
display: block;
clear: both;
}
/* レイアウト用 */
.wrap {
  margin: auto;
  position: relative;
  width: 100%;
}
.wrap_sub {
  margin: auto;
  position: relative;
  width: 900px;
}
.flex_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.com_box {
  margin-bottom: 50px;
}
.com_inner {
  margin-left: 10px;
  margin-right: 10px;
}
.txtbox {
  line-height: 1.5;
  max-width: 700px;
  margin: auto;
}
.txtbox01 {
  text-align: center;
}
.txtbox02 {
  max-width: 740px;
}
.content_box {
  margin-bottom: 50px;
}
.txtnw{
  white-space: nowrap;
}
.bnr_box {
  text-align: center;
  margin-bottom: 20px;
}
.bnr_box a:hover {
  opacity: .7;
}
.bnr_box .cap {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-top: 5px;
}

/* 背景パターン */
.bg_pattern01 {
  background: #feebf1;
}
.bg_pattern02 {
  background: url(../image-cmn/bg-texture01.jpg) repeat;
}
.bg_pattern03 { /*薄い茶色*/
  background: #fcf8ee;
  box-shadow: 0 0 1px inset rgba(0,0,0, .5);
}
.bg_pattern04 {
  background: url(../image-cmn/bg-green01.png) right top / 134px 119px no-repeat, url(../image-cmn/bg-green02.png) left bottom / 141px 106px no-repeat #fffcf0;
  border: 1px solid #ded588;
}
.bg_pattern05,
.detail_member .bg_pattern_member{ /*薄いピンク*/
  background: #fdeef0;
}
.bg_pattern06 { /*薄い朱色*/
  background: #f0f9e0;
}

/*ボタン*/
.btn_com { 
  align-items: center;
  background: #f75586;
  border: 1px solid #f75586;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 14px 3px;
  position: relative;
  text-align: center;
}
.pc_style .btn_com:hover,
.tablet_style .btn_com:active,
.sp_style .btn_com:active {
  background: #f75586;
  border-color: #f75586;
  color: #fff;
}
.pc_style .btn_com:hover,
.tablet_style .btn_com:active {
  opacity: .7;
}
.btn01 { /* 茶色のボタン→ピンク */
    background: #f75586;
    border: 1px solid #cd3160;
    border-bottom: 3px solid #cd3160;
}
.pc_style .btn01:hover,
.tablet_style .btn01:active,
.sp_style .btn01:active {
  background: #cd3160;
  border-color: #cd3160;
  color: #fff;
}
.btn02 { /* 薄い緑のボタン */
  background: #feebf1;
  border-color: #ffc2d9;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8);
  color: #000;
  font-weight: 600;
}
.btn02.btn_arrow01::after{
  background: url(../image-cmn/ico-arrow-green-right.svg) 0 0 / contain no-repeat;
}
.btn03 {  /* 薄い緑のハイライトがあるボタン */
  background: #c7d9a3;
  background: #d3e5af;
  border: 1px solid #a4bd71;
  border-bottom-width: 3px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5);
  color: #000;
    color: #2c6a47;
}
.btn04 { /* 黄色のボタン */
  background: #ffe551;
  border: 1px solid #fcdb1a;
  color: #000;
}
.pc_style .btn04:hover,
.tablet_style .btn04:active,
.sp_style .btn04:active {
  background: #d6b000;
  border: 1px solid #d6b000;
}
.btn05 { /*薄い黄色のボタン*/
  background: #fffcf0;
  border: 1px solid #a59b73;
  border-bottom-width: 2px;
  border-radius: 3px;
  color: #000;
}
.btn06,
.detail_member .btn_member,
.search_block_special .btn_member { /* ライトピンク色のボタン */    
  color: #d64d5a;
  background: #fdeef0;
  border: solid 1px #d3646d;
  border-bottom: solid 3px #d3646d;
}
.btn06.btn_arrow::after {
    background: url(../image-cmn/ico-arrow-red-right.svg) center center / contain no-repeat;
}
.btn07 { /* ピンク色のボタン 改め緑のボタン */  
  background: #49946a ;
  border: 1px solid #1e653d;
  border-bottom: 3px solid #1e653d;
  color: #fff;
}
.btn07.btn_arrow::after {
  content: '\e315';
  font-weight: 600;
  font-family: "Material Icons";
  background: none;
  width: auto;
  height: auto;
  right: 5px;
}
.pc_style .btn06:hover,
.tablet_style .btn06:active,
.sp_style .btn06:active,
.pc_style.detail_member .btn_member:hover,
.tablet_style.detail_member .btn_member:active,
.sp_style.detail_member .btn_member:active,
.pc_style .search_block_special .btn_member:hover,
.tablet_style .search_block_special .btn_member:active,
.sp_style .search_block_special .btn_member:active {
  background: #af4750;
  border-color: #af4750;
  color: #fff;
}
.pc_style .btn07:hover,
.tablet_style .btn07:active,
.sp_style .btn07:active{
  background: #64af86;
  border-color: #1e653d;
}
.btn08 { /* 青色のボタン */
  background: #0093d6;
  border: 1px solid #0092d5;
}
.pc_style .btn08:hover,
.tablet_style .btn08:active,
.sp_style .btn08:active {
  background: #0077b0;
  border: 1px solid #0077b0;
  color: #fff;
}
.btn09 { /* 赤色のボタン */
  background: #bf3a45;
  border: 1px solid #b92b37;
}

.pc_style .btn09:hover,
.tablet_style .btn09:active,
.sp_style .btn09:active {
  background: #dc5762;
  border: 1px solid #b92b37;
}

.btn10,
.btn_com.btn10:hover { /* 赤色の白ボタン */
  background: #fde6e8;
  border: solid 1px #d3646d;
  border-bottom-width: 2px;
  color: #000;
}
.btn10:after{
  color: #a3010f;
}
.btn_com.btn10:hover {
  color: #fff;
  background: #af4750;
  border-color: #af4750;
}
.btn11,
.btn_com.btn11:hover { /* 緑色の白ボタン */
  background: #fff;
  border: solid 1px #64af86;
  border-bottom-width: 2px;
  color: #2c6a47;
}
.btn_com.btn11:hover {
  background: #effbf4;
}
.btn11.btn_arrow::after {
    background: url(../image-cmn/ico-arrow-green-right.svg) center center / contain no-repeat;
}
.btn12{ /* 有料のピンク */
  background: #ef6d7c;
  border: solid 1px #e05365;
  border-bottom-width: 2px;
  color: #fff;
}
.btn_com.btn12:hover { 
  background: #e05365;
  border-color: #e05365;
}

.btn_disabled {
  background: #bbb linear-gradient(to bottom, #c0c0c0 0%, #bdbdbd 100%) !important;
  border: 1px solid #bdbdbd !important;
  cursor: auto !important;
}
.pc_style .btn05:hover,
.tablet_style .btn05:active,
.sp_style .btn05:active {
  background: #a59b73;
    border: 1px solid #a59b73;
    color: #000;
    cursor: default;
}
.btn_arrow::after,
.btn_arrow_left::after {
  background: url(../image-cmn/ico-arrow-white-right.svg) center center / contain no-repeat;
  content: "";
  height: 10px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 6px;
}

.btn_arrow::after {
  right: 7px;
}
.btn_arrow_left::after {
  left: 10px;
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}
.btn_s {
  padding: 10px;
  width: 150px;
}
.btn_m {
  width: 200px;
}
.btn_l {
  width: 300px;
}
.link_disabled {
  color: #959ba7;
}
.btn_sns {
  display: flex;
  font-size: 1.6rem;
}
.btn_sns li {
  margin: 0 5px;
  width: 140px;
}
.btn_sns a {
  border: 1px solid;
  border-radius: 5px;
  color: #000;
  display: block;
  padding: 10px 5px 10px 26px;
  position: relative;
  text-align: center;
}
.btn_sns a:hover {
  color: #000;
}
.btn_sns a::before {
  background: url(../image-cmn/ico-sns.png) 0 0 / 80px 20px no-repeat;
  content: "";
  height: 20px;
  left: 10px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
}
.btn_sns_fb a {
  background: #ebeff7;
  border-color: #4267b2;
  box-shadow: 0 2px 0 #4267b2;
}
.pc_style .btn_sns_fb a:hover,
.tablet_style .btn_sns_fb a:active,
.sp_style .btn_sns_fb a:active {
  background: #d0dbf3;
}
.btn_sns_fb a::before {
  background-position: 0 0;
}
.btn_sns_tw a {
  background: #000;
  border-color: #000;
  box-shadow: 0 2px 0 #5f5e5e;
  color: #fff;
}
.btn_sns_tw a .fzs {
  font-size: 13px;
}
.pc_style .btn_sns_tw a:hover,
.tablet_style .btn_sns_tw a:active,
.sp_style .btn_sns_tw a:active {
  background: #bddbee;
}
.btn_sns_tw a::before {
  background-position: -20px 0;
}
.btn_sns_yt a {
  background: #ffdada;
  border-color: #ff0000;
  box-shadow: 0 2px 0 #ff0000;
}
.pc_style .btn_sns_yt a:hover,
.tablet_style .btn_sns_yt a:active,
.sp_style .btn_sns_yt a:active {
  background: #eebdbd;
}
.btn_sns_yt a::before {
  background-position: -40px 0;
}
.btn_sns_in a {
  background: #e8e8fb;
  border-color: #5e70d3;
  box-shadow: 0 2px 0 #5e70d3;
}
.pc_style .btn_sns_in a:hover,
.tablet_style .btn_sns_in a:active,
.sp_style .btn_sns_in a:active {
  background: #d6d6f4;
}
.btn_sns_in a::before {
  background-position: -60px 0;
}
/* 2文字テキスト用 */
.txt_spc {
 letter-spacing: .3rem;
 text-indent: .3rem;
}
/* アイコン */
.com_ic_user::before,
.com_ic_login::before,
.com_ic_edit::before,
.com_ic_mail::before,
.com_ic_att::before {
  font-family: "Material Icons";
}
.com_ic_user::before {
  content: "\e853";
}
.com_ic_login::before {
  content: "\e897";
}
.com_ic_edit::before {
  content: "\e3c9";
}
.com_ic_mail::before {
  content: "\e0be";
}
.com_ic_att::before {
  content: "\e8b2";
}
/* 注釈 */
.com_ac_unit {
  padding-left: 1.3em;
  position: relative;
}
.com_ac_unit::before {
  content: "※";
  left: 0;
  position: absolute;
  top: 0;
}
/*loadingアニメーション*/
.ajax_loading {
  background: url(../image-cmn/ico-loading.svg) center center no-repeat;
  height: 200px;
}
/*IE用*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .ajax_loading {
    background-image: url(../image-cmn/ico-loading-gif.gif);
  }
}

/*エラーテキスト*/
.error_txt {
  color: #c00;
  line-height: 1.5;
}
/* 画像装飾 */
.img_frame {
  border: 1px solid #64af86;
  box-shadow: 0 1px 6px rgba(0,0,0,.2);
}
.img_frame02 {
  border: 1px solid #ded588;
}
/* ユーザー名 */
.person_name::after {
  content: "さん";
}
/* 改行 */
.br {
  display: block;
}

@media screen and (min-width:768px), print {
  html {
    /* min-width: 1060px; */
    min-height: 100vh;
  }
  body {
    /* min-width: 1060px; */
    -webkit-print-color-adjust: exact;
  }
  .pc_hide {
    display: none !important;
  }
  .main_wrap {
    margin-bottom: 30px;
  }
  /* PCのみ改行 */
  .pc_br {
    display: inline-block;
  }
}
@media screen and (max-width:767px) {
  html {
    min-width: 320px;
  }
  body {
    font-size: 1.6rem;
  }
  img {
    height: auto;
    max-width: 100%;
  }
  .sp_hide {
    display: none !important;
  }
  .wrap,
  .wrap_sub {
    margin-left: 15px;
    margin-right: 15px;
    width: auto;
  }
  .com_box {
    margin-bottom: 30px;
  }
  .com_inner {
    margin-left: 5px;
    margin-right: 5px;
  }
  .content_box {
    margin-bottom: 30px;
  }
  .main_wrap {
    margin-bottom: 0;
  }
  /* スマホのみ改行 */
  .sp_br {
    display: inline-block;
  }
  .btn_sns {
    flex-wrap: wrap;
  }
  .btn_sns li {
    margin-bottom: 10px;
  }
  .btn_sns li:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width:768px) {
  .content_box_nrw {
    padding-left: 75px;
    padding-right: 75px;
  }
}

/*CPバナー702サイズ*/
.hmr_cp_bnr {
  margin: 0 auto 30px;
  width: 702px;
}
.hmr_cp_bnr.hmr_cp_bnr_top {
  margin: 30px auto 40px;
}
.hmr_cp_bnr.hmr_cp_bnr_detail {
  margin: 0 auto 30px;
  width: 563px;
}
/*PC 一覧*/
#main-form + aside .hmr_cp_bnr.hmr_cp_bnr_detail {
  margin: 0 auto 45px;
}
.hmr_cp_bnr a {
  display: block;
  height: auto;
  text-align:center;
}
.hmr_cp_bnr a:hover img {
  opacity: .7;
}
.hmr_cp_bnr p {
  font-size: 16px;
  letter-spacing: .08em;
  line-height: 1.3;
  margin: 14px auto 0;
  text-align: center;
  width: 88%;
}
.hmr_cp_bnr_pc {
  display: inline-block;
}
.hmr_cp_bnr_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .hmr_cp_bnr_pc {
    display: none;
  }
  .hmr_cp_bnr_sp {
    display: inline-block;
    max-width: 100%;
  }
  .hmr_cp_bnr, .hmr_cp_bnr.hmr_cp_bnr_top {
    margin: 40px auto;
    padding: 0 15px;
    width: 100%;
  }
  .hmr_cp_bnr.hmr_cp_bnr_top p {
    margin: .5em 0 0;
    text-align: left;
    font-size: 1.5rem;
    line-height: 1.5;
    letter-spacing: normal;
    width: 100%;
  }
  .hmr_cp_bnr.hmr_cp_bnr_detail {
    width: 100%;
  }
  /*SP 一覧*/
  #main-form + aside .hmr_cp_bnr.hmr_cp_bnr_detail {
    margin: 15px auto 30px;
  }
  /*SP 施設詳細*/
  .detail_recommd + aside .hmr_cp_bnr.hmr_cp_bnr_detail {
    margin: 30px auto 30px;
  }
}

/* header
  ========================================================================== */

  .header {
  min-height: 100px;
  text-align: left;
}
.header > .wrap {
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.header_logo {
  display: block;
  line-height: 1;
  width: 320px;
  text-align: center;
  margin-right: auto;
  z-index: 1;
}
.header_logo_contents{
  width: 272px;
}
.header_logo strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1.2rem;
  font-weight: normal;
  text-align: center;
}
.header_logo .ttl_sub01 {
  margin-bottom: 3px;
}
.header_logo .ttl_sub02 {
  margin-bottom: 5px;
  font-size: 1.2rem;
}
.header_logo img {
  height: auto;
  width: 262px;
  margin: auto;
}
.header_size {
  align-items: flex-end;
  display: flex;
  justify-content: flex-end;
  height: 52px;
  margin-top: 7px;
  padding: 8px 0 7px;
  font-size: 1.3rem;
}
.header_size dt {
  font-weight: 600;
  margin-right: 4px;
  margin-bottom: 1px;
}
.header_size dd {
    align-items: center;
    background: #feebf1;
    border: 1px solid #ea6094;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    font-size: 15px;
    font-weight: 600;
    height: 25px;
    justify-content: center;
    margin-left: 5px;
    width: 42px;
}
.header_size dd.font_size_m {
    border-radius: 4px;
    height: 20px;
    width: 40px;
}
.header_size .txt_spc {
  letter-spacing: 0;
  text-indent: 0;
}
.header_size .active {
  background: #ea6094;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
.pc_style .header_size dd:hover,
.tablet_style .header_size dd:active {
  background: #dd4573;
  color: #fff;  
}
.font_size_ss {
  font-size: 14px;
}
.font_size_s {
  font-size: 16px;
}
.font_size_m {
  font-size: 15px;
}
.font_size_l {
  font-size: 15px;
}
.btn_history,
.btn_history_disabled{
  display: inline-block;
}
.header > .wrap .btn_history {
  margin-top: 7px;
}
.btn_history a{
  align-items: center;
  background: #feebf1;
  border: 1px solid #ea6094;
  border-radius: 5px;
  display: flex !important;
  height: 28px;
  justify-content: center;
  margin-left: 13px;
  padding: 0 8px 1px 6px;
  color: #000;
  font-size: 1.4rem;
  white-space: nowrap;
}

.btn_history a > span.material-icons{
  padding-right: 2px;
  font-size: 1.8rem;
}
.btn_history a > span {
    color: #ea6094;
}
.btn_history a:hover{
  background: #ea6094;
  border: 1px solid #cd3160;
  color: #fff!important;
}
.btn_history a:hover span {
  color: #fff;
}
.header_member,
.header_login_after {
    border: 1px solid #f75586;
    border-radius: 15px;
    display: flex;
    margin-left: 19px;
    margin-top: 8px;
    padding-left: 20px;
    font-size: 1.3rem;
    height: 51px;
    align-items: center;
}
.header_login_after {
    border: none;
}
.header_member li {
  margin-left: 0;
}
.header_member li:first-of-type {
  margin-left: 0;
}
.header_member a,
.header_mypage a {
  height: 28px;
  background: none;
  border: none;
  color: #004edf;
  box-shadow: none;
  font-weight: normal;
  padding: 12px 10px 12px 0;
}
.header_member a.btn_com.btn01.com_ic_user,
.header_member a.btn_com.com_ic_login
{
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
.pc_style .header_member .btn01:hover,
.pc_style .header_member .btn01:active {
  background: none;
  border-color: #1e633d !important;
  color: #000;
}
}
.header_member a::before,
.header_mypage a::before {
  color: #f45b89;
  font-size: 1.8rem;
  margin-right: 2px;
  vertical-align: middle;
}
.header_member .com_ic_user {
  font-size: 14px;
  font-weight: 600;
}
.header_member .com_ic_login,
.header_mypage a {
    width: 108px;
    color: #000;
    background: none;
    font-size: 1.5rem;
}
.header_member .com_ic_login::before {
  border-left: 1px solid #f45b89;
  font-size: 1.1em;
  font-weight: 300;
  padding-left: 10px;
}
.header_member .btn_com.com_ic_login:hover,
.header_mypage a.btn_com:hover {
    color: #000;
    background: none;
    border-color: #1e633d;
}

.header_login_after figure {
  height: 40px;
  margin-right: 3px;
  width: 40px;
}
.header_login_after figure img {
  height: 40px;
  width: 40px;
}
.header_user_data {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
  margin: 0 5px;
  width: 132px;
}
.header_user_name {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 3px;
  white-space: nowrap;
}
.header_user_name .display_name {
  display: inline-block;
  line-height: 1;
  max-width: 112px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.header_user_name::after {
  content: "さん";
  font-size: 1.2rem;
  font-weight: normal;
}
.header_logout_btn {
  align-items: center;
  background: #c7d9a3;
  border: 1px solid #7a914d;
  border-radius: 3px;
  color: #000;
  display: flex;
  font-size: 1.2rem;
  justify-content: center;
  height: 1.4em;
  width: 90px;
}
.pc_style .header_logout_btn:hover,
.tablet_style .header_logout_btn:active,
.sp_style .header_logout_btn:active {
  background: #49946a;
  border: 1px solid #1e653d;
  color: #fff !important;
}
.header_user_employee {
  align-items: center;
  background: #000;
  color: #fff;
  display: flex;
  font-size: 1.3rem;
  height: 50px;
  justify-content: center;
  width: 18px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (min-width:768px), print {
    .sp_navi_btn {
        display: none;
    }
    .header_mypage {
        align-self: center;
        border: 1px solid #f75586;
        border-radius: 25px;
    }

    body:not(.modal_lock) .header {
        background: #fff;
        z-index: 10;
    }
    .header {
        border-bottom: solid 1px #ffc2d9;
        overflow: hidden;
        position: relative;
    }
    .header > .wrap {
        padding: 11px 0 0;
        width: 1030px;
    }
    .header:not(.fix_header)  {
      height: 159px;
      min-height: 137px;
    }
    .header.fix_header > .wrap {
        align-items: flex-start;
    }
    .header_logo {
        margin-left: 10px;
        margin-bottom: 8px;
        width: fit-content;
    }
    .header.fix_header .header_logo {
        margin-left: 0;
        margin-top: -3px;
        margin-bottom: 3px;
    }
    .header.fix_header .header_logo img {
        margin: auto;
        width: 238px;
    }
    .header .inner {
        margin: 0 0 0 auto;
    }
    .header_info {
        align-items: center;
        display: flex;
        justify-content: flex-end;
        height: 40px;
        margin-bottom: 1px;
    }
    .header_size {
        height: 40px;
        margin-top: 0;
    }
    #content_page .header_size {
        justify-content: flex-end;
    }
    .header > .wrap .btn_history {
        align-items: center;
        display: flex;
        justify-content: center;
        margin-top: 0;
    }
    .header_member,
    .header_login_after {
        height: 26px;
        margin-left: 15px;
        margin-top: 0;
        padding-left: 15px;
    }

    body:not(.modal_lock) .header.fix_header {
        animation: DownAnime 0.5s forwards;
        border-bottom: solid 1px #ffc2d9;
        border-bottom: none;
        box-shadow: 0 1px 2px rgba(0,0,0,.2);
        /* height: 131px;
        min-height: 95px; */
        position: sticky;
        top: 0;
        transform: translate3d(0,0,0);
        z-index: 100;
    }
    @keyframes DownAnime {
        from {
            transform: translateY(-200px);
            opacity: 0;
        }

        to {
            transform: translateY(0);
            opacity: 1;
        }
    }

    .header.fix_header .header_info {
        display: none;
    }
}
@media screen and (max-width:767px) {
    .header {
        min-height: 60px;
    }
  .header > .wrap {
    align-items: center;
    box-shadow: 0 2px 2px rgba(0,0,0,.2);
    height: 60px;
    min-height: 60px;
    margin: 0;
    padding: 5px 10px 5px 12px;
  }
  .header_logo {
    margin: 0;
    width: 180px;
    line-height: 1;
  }
  .header_logo strong {
    width: 180px;
    font-size: 0.8rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2px;
    transform: scale(0.8,0.8);
    white-space: nowrap;
  }
  .header_logo .ttl_sub01{
    margin-bottom: 2px;
    margin-top: 0px;
  }
  .header_logo .ttl_sub02 {
    font-size: 0.7rem;
    margin-bottom: 3px;
    margin-left: -0.75em;
  }
  .header_logo img {
    height: auto;
    vertical-align: top;
    width: 160px;
  }
  .header > .wrap .inner {
    width: calc(100% - 180px - 10px);
  }
  .header_info {
    align-items: flex-end;
    display: flex;
    justify-content: flex-end;
  }
  .header_size {
    display: none;
  }
  .header_member,
  .header_login_after {
    display: none;
  }
  .sp_navi_btn {
    font-size: 1.4rem;
    height: 40px;
    margin-left: 5px;
    padding: 0 20px 0 0;
    position: relative;
    min-width: 54px;
    width: 100%;
    max-width: 100px;
  }
  .sp_navi_btn.btn_com {
    background: #ea6094;
  }
  .sp_navi_btn::after {
    content: "\e313";
    font-family: "Material Icons";
    font-size: 1.8rem;
    position: absolute;
    right: 5px;
  }
  .sp_navi_btn_close::after {
    content: "\e316";
  }
  .header > .wrap .btn_history {
    margin-top: 0;
  }
  .btn_history a{
    font-size: .8em;
    flex-direction: column;
    justify-content: center;
    line-height: 1;
    height: 100%;
    padding: 1px 3px 2px;
    font-weight: normal;
  }
  .btn_history a > span{
    padding: 0;
    line-height: 0.9;
  }
  .btn_com.com_ic_user {
    background: #f75586;
    border-radius: 20px;
    box-shadow: none;
    font-weight: 600;
  }
}
@media screen and (max-width:320px) {
  .btn_history a {
    font-size: 3vw;
  }
  .sp_navi_btn{
    font-size: 3vw;
  }
}

/* gnavi
   ========================================================================== */
.gnavi *:not(.material-icons) {
  font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif ;
}
@media screen and (min-width:768px), print {
    .global_navi_box {
        margin: 0 auto;
        /* width: 1060px; */
    }

    .btn_history a {
        background: #fff;
        border: 1px solid #ea6094;
        border-radius: 15px;
        height: 26px;
        padding: 0 13px;
        color: #004edf;
        font-size: 1.4rem;
        font-weight: 600;
        margin-left: 15px;
    }
    .btn_history a:hover {
        background: none;
        color: #000 !important;
        }
    .btn_history a:hover span {
        color: #ea6094;
    }
}
.gnavi_list {
    align-items: center;
    display: flex;
    justify-content: center;
}
.gnavi_list li {
    color: #fff;
    position: relative;
}
.gnavi_list li:not(:last-child) {
    margin-right: 0;
}
.gnavi_list li.gnavi_drugstore {
    margin-right: 0;
}
.gnavi_list a {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 13px;
  justify-content: center;
  line-height: 1.15em;
  width: 100%;
  height: 33px;
}
.gnavi_list .active,
.gnavi_list .active a,
.pc_style .gnavi_list a:hover,
.tablet_style .gnavi_list a:active,
.sp_style .gnavi_list a:active {
  background: #f75586;
  color: #fff;
  opacity: 1;
}

.gnavi_list a:hover::before {
  color: #fff;
}

.gnavi_list li.gnavi_area_support a:before {
color: #fff;
}
@media screen and (min-width:768px), print {
  .gnavi {
    margin-bottom: 8px;
  }
  .gnavi_list_wrapper {
    background: #36925f;
  }
  .gnavi_list {
    border-top: 2px solid #f45b89;
    padding-top: 6px;
  }
  .gnavi_list.wrap {
    width: 1060px;
  }
  .header.fix_header .gnavi_list {
    margin: 5px auto 0;
  }
  .gnavi_list li {
    border-left: 1px solid #f75586;
    flex-grow: 1;
  }
  .gnavi_list li.gnavi_home {
    border-left: none;
  }

  .gnavi_list a {
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
  }
  .gnavi_list .gnavi_groundin a,
  .gnavi_list .gnavi_glossary a {
    font-feature-settings: "palt";
  }
  .gnavi_list li:first-child a {
    background: #fff;
    color: #f75586;
   }
  .gnavi_list .gnavi_home {
    background-color: #f75586;
  }
  .gnavi_list .gnavi_home a:hover{
    opacity: 1;
  }
  .gnavi_list .gnavi_home i {
    font-size: 2.2rem;
  }

  .gnavi_list .gnavi_home a:before{
    content: none;
  }

  .gnavi_sub {
    width: 100%;
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3","Hiragino Sans", ヒラギノ角ゴシック, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
  }
  .header.fix_header .gnavi_sub {
    background: none;
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
  }
  .gnavi_sub_list {
    height: 48px;
    display: flex;
    justify-content: flex-end;
  }
  .header.fix_header .gnavi_sub_list {
    flex-wrap: nowrap;
    float: right;
    height: 40px;
    margin: 0 0 0 auto;
    padding: 0;
    width: auto;
  }
  .gnavi_sub_list_item_all {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 14px;
    margin-right: 10px;
    width: 140px;
  }
  header:not(.fix_header) .gnavi_sub_list_item_all {
    min-width: 140px;
  }
  .header.fix_header .gnavi_sub_list_item_all {
    font-size: 12px;
    margin-right: 10px;
    padding: 0;
    width: auto;
  }
  .gnavi_sub_list_item {
    align-items: center;
    position: relative;
    display: flex;
    justify-content: center;
    line-height: 1;
    font-size: 14px;
    margin-left: 0;
    margin-right: 6px;
    width: auto;
  }
  .gnavi_sub_list_item a.disabled{
    background: #bbb linear-gradient(to bottom, #c0c0c0 0%, #bdbdbd 100%) !important;
    border: 1px solid #bdbdbd !important;
    color: #fff;
    pointer-events: none;
  }
  .gnavi_sub_list_item:last-child {
    margin-right: 0;
  }
  .header.fix_header .gnavi_sub_list_item {
    font-size: 12px;
    margin-right: 6px;
  }
  .header:not(.fix_header) .gnavi_sub_list .gnavi_sub_btn br {
    display: none;
  }
.gnavi_sub_list_item.active .gnavi_sub_btn {
    background: #f45b89;
    border: 1px solid #f45b89;
    border-bottom-width: 1px;
    color: #fff;
}
.nursing_item.active .gnavi_sub_btn,
.nursing_item.active .gnavi_sub_btn:hover {
    background: #ec43c5;
    border-color: #ec43c5;
}
.senior_item.active .gnavi_sub_btn,
.senior_item.active .gnavi_sub_btn:hover {
    background: #28ae5d;
    border-color: #28ae5d;
}
.group_home_item.active .gnavi_sub_btn,
.group_home_item.active .gnavi_sub_btn:hover {
    background: #ff8d11;
    border-color: #ff8d11;
}

.gnavi_sub_list_item_all.active .gnavi_sub_btn.gnavi_sub_btn_all::after,
.gnavi_sub_list_item.active .gnavi_sub_btn::after {
    color: #fff;
}

.gnavi_sub_list_item a.disabled::after {
    color: #fff;
}

.gnavi_sub_list_item.active .gnavi_sub_btn:hover {
     opacity: 0.8;
}
.gnavi_sub_title {
    font-feature-settings: "palt";
    font-size: 13px;
    font-weight: 600;
    margin: 0 6px;
    text-align: center;
    line-height: 1.2;
    width: auto;
    white-space: nowrap;
}
.header.fix_header .gnavi_sub_title {
    margin-right: 6px;
    width: auto;
    justify-content: flex-start;
    white-space: nowrap;
}
.gnavi_sub_title .gnavi_area {
    align-items: center;
    background-color: #fff;
    border: 2px solid #f75586;
    border-radius: 25px;
    color: #f75586;
    display: flex;
    font-weight: 600;
    font-size: 15px;
    line-height: 14px;
    margin: 0 5px 0 0;
    max-width: 93px;
    min-width: 56px;
    padding: 3px 8px;
    height: auto;
    justify-content: center;
    white-space: normal;
  }
.gnavi_sub_title .gnavi_area:has(+ span) {
    display: block;
}
.gnavi_sub_title .gnavi_area > span {
    display: inline-block;
}
.gnavi_sub_title .small {
    font-size: 12px;
}
  .header.fix_header .gnavi_sub_title .gnavi_area {
      font-size: 15px;
      margin: 0 6px 0 9px;
  }
  .gnavi_sub_link {
      margin-left: 3px;
      width: max-content;
    }
  .header.fix_header .gnavi_sub_link {
      flex-grow: 0;
      margin: 0 2px 0 6px;
      width: auto;
    }
  .header.fix_header .gnavi_sub_link a {
      font-size: 11px;
  }
  .gnavi_sub_link a {
      display: block;
      font-feature-settings: "palt";
      font-size: 12px;
      font-weight: 600;
      line-height: 1.25;
      position: relative;
      padding-left: 20px;
      white-space: nowrap;
    }
    .gnavi_sub_link a:hover {
        color: unset;
        opacity: .7;
    }
  .gnavi_sub_link a span {
      font-size: 11px;
    }
  .gnavi_sub_link a::before {
      content: "";
      position: absolute;
      top: 48%;
      left: 0;
      transform: translateY(-50%);
      width: 16px;
      height: 16px;
      background: url(../image-cmn/icon_question.png) no-repeat center / contain;
  }
  .gnavi_sub_btn {
      align-items: center;
      border-radius: 4px;
      cursor: pointer;
      display: flex;
      justify-content: center;
      position: relative;
      text-align: center;
      border: 1px solid #f75586;
      border-bottom-width: 3px;
      padding: 8px 10px 8px 20px;
      font-size: 13px;
      font-weight: 600;
      margin: 0 0;
      background: #feebf1;
      color: #000;
      width: 100%;
      white-space: nowrap;
    }
    .nursing_item .gnavi_sub_btn {
      background: #fce4f6;
      border-color: #ec43c5;
    }
    .nursing_item .gnavi_sub_btn::after {
      color: #ec43c5;
    }
    .senior_item .gnavi_sub_btn {
      background: #d9f5e9;
      border-color: #28ae5d;
    }
    .senior_item .gnavi_sub_btn::after {
      color: #28ae5d;
    }
    .group_home_item .gnavi_sub_btn {
      background: #ffead9;
      border-color: #ff8d11;
    }
    .group_home_item .gnavi_sub_btn::after {
      color: #ff8d11;
    }
  .header.fix_header .gnavi_sub_btn {
      height: 32px;
      font-size: 13px;
    }

  .gnavi_sub_btn::after {
    content: '\e315';
    font-weight: 600;
    font-family: "Material Icons";
    color: #f45b89;
    left: 5px;
    position: absolute;
  }

  .gnavi_sub_btn:hover:after {
    color: #fff;
  }

  .gnavi_sub_btn.gnavi_sub_btn_all {
      background: #feebf1;
      border-color: #f75586;
  }

  .active .gnavi_sub_btn.gnavi_sub_btn_all {
      background: #ffd8e4;
      opacity: 1;
  }

  .active .gnavi_sub_btn.gnavi_sub_btn_all {
      background: #f45b89;
      border: 1px solid #f45b89;
      border-bottom-width: 1px;
      color: #fff;
  }

  .active.area .gnavi_sub_btn.gnavi_sub_btn_all {
      background: #ffd8e4;
      border: 1px solid #f75586;
      border-bottom-width: 2px;
      color: #000;
  }

  .gnavi_sub_btn.gnavi_sub_btn_all {
      background: #ffd8e4;
  }

  .gnavi_sub_btn.gnavi_sub_btn_all:hover,
  .gnavi_sub_list_item .gnavi_sub_btn:hover {
      background: #f45b89;
      border: 1px solid #f45b89;
      border-bottom-width: 1px;
      color: #fff;
      opacity: 1;
    }
  .nursing_item .gnavi_sub_btn:hover {
    background: #ec43c5;
    border-color: #ec43c5;
  }
  .senior_item .gnavi_sub_btn:hover {
    background: #28ae5d;
    border-color: #28ae5d;
  }
  .group_home_item .gnavi_sub_btn:hover {
    background: #ff8d11;
    border-color: #ff8d11;
  }
  .active .gnavi_sub_btn.gnavi_sub_btn_all:hover {
    opacity: 0.8;
  }

    /* -- large_cat_nav -- */
  .large_cat_nav{
    display: none;
    background: #E2EAC5;
  }
  .header.fix_header .large_cat_nav{
    display: block;
    border-top: solid 1px #ea6094;
  }
  .large_cat_nav_list {
    background-color: #E2EAC5;
    counter-reset: listnum;
    display: flex;
      flex-wrap: wrap;
    padding: 7px 10px;
  }
  .large_cat_nav_list.wrap {
    max-width: 1000px;
  } 
  .large_cat_nav_list > .list_item {
    background-color: #FFF;
    border: 1px solid #597320;
    border-radius: 100vh;
    display: flex;
    font-size: 1.4rem;
    margin: 5px 5px 3px;
    position: relative;
    overflow: hidden;
    width: calc((100% - 40px) / 4);
  }
  .large_cat_nav_list > .list_item::before {
    background-color: #93b90f;
    content: "";
    display: block;
    position: absolute;
      left: 0;
      top: 0;
    height: 100%;
    width: 1.5em;
  }
  .large_cat_nav_list > .list_item a::before {
    color: #FFF;
    counter-increment: listnum;
    content: counter(listnum);
    margin-right: 2px;
    text-align: center;
    width: 1.5em;
  }
  .large_cat_nav_list a {
    border-radius: 100vh;
    color: #000;
    display: flex;
      align-items: center;
    letter-spacing: 0;
    padding: 5px 16px 3px 0;
    position: relative;
    text-align: center;
    width: 100%;
  }
  .large_cat_nav_list > .list_item a::after {
    background: url(../image-cmn/header/ico-arrow-anchor.png) no-repeat center center / 100%;
    content: "";
    display: block;
    position: absolute;
      right: 7px;
      top: 50%;
    transform: translateY(-50%);
    height: 8px;
    width: 10px;
  }
  .large_cat_nav_list a > span {
    flex: 1;
  }
  .header.fix_header hr.large_cat_nav_hr {
    display: block;
    margin: 0;
    height: 12px;
    border: 0;
    box-shadow: inset 0 12px 12px -12px rgba(0,0,0,0.5);
  }
  /* large_cat_navが存在する時headerのbox-shadowを非表示 */
  body:not(.modal_lock) .header.fix_header:has(hr) {
    box-shadow:none;
  }
}
@media (min-width: 768px) and (max-width: 1060px) {
  .header > .wrap {
    width: 100%;
  }
  .header_logo {
    width: 185px;
  } 
  .header_logo .ttl_sub01,
  .header_logo .ttl_sub02 {
    font-size: 0.85rem;
  }
  .header_size dt { 
    font-size: 10px;
  }
  .gnavi_list.wrap {
    width: 100%;
  }
  .gnavi_sub_title {
    font-size: 10px;
  }
  .btn_history a {
    padding: 0 5px;
  }
  header:not(.fix_header) .gnavi_sub_list_item_all {
    min-width: initial;
    width: auto;
  }
  .header_member,
  .header_login_after {
    margin-left: 5px;
    padding-left: 5px;
  }
  .header_member a.com_ic_user{
    padding-left: 5px;
    padding-right: 5px;
  }
  .header_member .com_ic_login,
  .header_mypage a {
    width: 95px;
    padding-left: 5px;
    padding-right: 5px;
  }
  .btn_history a,
  .header_mypage a,
  .header_member a.com_ic_user,
  .header_member a.com_ic_login {
    font-size: 11px;
  }
  .header_member a::before,
  .header_mypage a::before {
    font-size: 1.3rem;
  }
  .header.fix_header .header_logo {
    margin-bottom: 8px;  
    margin-left: 10px;
    margin-top: 0;  
  }
  .gnavi_sub_title .gnavi_area,
  .header.fix_header .gnavi_sub_title .gnavi_area{
    font-size: 10px;
    min-width: 45px;
  }
  .gnavi_sub_btn {
    padding: 8px 5px 8px 5px;
  }
  .gnavi_sub_btn,
  .gnavi_list a,
  .gnavi_sub_link a {
    font-size: 10.5px;
  }
  .gnavi_sub_title .small {
    font-size: 10px;
  }
  .gnavi_sub_btn::after {
    content: none;
  } 
  .global_navi_box {
    margin: 0 auto;
    width: 100%;
  }
}
@media screen and (max-width:767px) {
  .gnavi {
    background: #f86c95;
    box-shadow: 0 2px 2px rgba(0,0,0,.2);
    border-top: solid 2px #feebf1;
    display: none;
    height: auto;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    z-index: 3;
  }
  .sp_member {
    background: #fff7fa;
    display: flex !important;
    justify-content: space-between;
    padding: 10px;
  }
  .sp_member li {
    width: calc( 50% - 5px );
  }
  .sp_member a {
    align-items: center;
    display: flex;
    font-size: 1.4rem;
    height: 40px;
    justify-content: center;
  }
  .sp_member a.btn_com.com_ic_login{
    color: #f75586;
    background: #feebf1;
    border: solid 1px #f75586;
    border-bottom: solid 3px #f75586;

  }
  .sp_member a::before {
    font-size: 2.2rem;
    margin-right: 5px;
    vertical-align: middle;
  }
  .gnavi_list {
    border: none;
    display: block;
    margin: 0;
  }
  .gnavi_list li {
    align-items: center;
    border-bottom: 1px solid #fdf4f5;
    border-left: none;
    border-right: none;
    display: flex;
    min-height: 45px;
    width: 100%;
  }
  .gnavi_list li.gnavi_sub_sp {
    border-bottom: none;
  }
  .gnavi_list li.gnavi_sub_sp.has-border {
    border-bottom: 1px solid #d3e5af;
  }
  .gnavi_list a {
    font-size: 1.6rem;
    height: auto;
    justify-content: flex-start;
    padding: 15px 30px 15px 25px;
    position: relative;
    text-shadow: none;
    color: #fff;
  }
  .gnavi_list .sp_gnavi_home a {
    padding: 15px 30px 15px 50px;
  }
  .gnavi_list li.gnavi_sub_sp a {
    font-size: 1.4rem;
    height: auto;
    padding: 5px 30px 5px 0;
    text-indent: 1em;
  }
  .gnavi_list a:active {
    color: #fff;
  }
  .gnavi_list a::after {
    background: url(../image-cmn/ico-arrow-white-right.svg) center center / contain no-repeat;
    content: "";
    height: 12px;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px;
  }
  .gnavi_show {
    display: block;
  }
  .sp_gnavi_close {
    background: #fff; 
    border: 1px solid #feebf1;
    border-radius: 5px;
    color: #ea6094;
    cursor: pointer;
    display: block;
    font-size: 1.4rem;
    margin: 10px auto;
    padding: 10px 10px 10px 5px;
    position: relative;
    text-align: center;
    width: 95px;
  }
  .sp_gnavi_close::after {
    content: "\e5cd";
    font-family: "Material Icons";
    position: absolute;
    right: 5px;
  }
  .gnavi_list .sp_gnavi_home a::before {
    content: "\e88a";
    font-family: "Material Icons";
    font-size: 2.2rem;
    height: 2.2rem;
    left: 20px;
    position: absolute;
    top: calc(50% - 8px);
    width: 2.2rem;
  }

  .gnavi_list .gnavi_search {
    align-items: flex-start;
    flex-direction: column;
    padding: calc(15px /2) 0 calc(15px /2) 25px;
  }
  .gnavi_list .gnavi_search ul {
    padding-top: 5px;
    width: 100%;
  }
  .gnavi_list .gnavi_search .gnavi_sub_sp {
    min-height: auto;
  }
  .header_sp_login_after {
    align-items: center;
    background: #dfebd0;
    display: flex !important;
    padding: 10px 10px 10px 15px;
  }
  .header_sp_login_after figure {
    flex-basis: 50px;
    height: 50px;
    margin-right: 5px;
    width: 50px;
  }
  .header_sp_login_after figure img {
    height: 50px;
    width: 50px;
  }
  .header_sp_user_data {
    flex-grow: 1;
    margin: 0 5px;
    width: calc(100% - 198px);
  }
  .header_sp_user_data .header_logout_btn {
    height: 30px;
  }
  .header_sp_mypage {
    flex-basis: 120px;
    width: 120px;
  }
  .header_sp_mypage a {
    align-items: center;
    display: flex;
    font-size: 1.4rem;
    height: 40px;
    justify-content: center;
  }
  .header_sp_mypage a::before {
    font-size: 2rem;
    margin-right: 5px;
  }
  hr.large_cat_nav_hr{
    display: none;
  }
}

@media screen and (min-width:768px) and (max-width:1000px) {
  .wrap .inner .gnavi_list a {
    font-size: calc(10px + 3 * (100vw - 768px)/232);
    padding-left: .5vw;
    padding-right: .7vw;
    white-space: nowrap;
  }
  .wrap .inner .gnavi_list .gnavi_home {
    width: auto;
  }
  .wrap .inner .gnavi_list .gnavi_home a{
    padding-right: .5vw;
  }
  /* -- gnavi_sub -- */
  .header.fix_header .gnavi_sub_list .gnavi_sub_title {
    font-size: calc(10px + 2 * (100vw - 768px)/232);
    margin-right: .5em;
  }
  .header.fix_header .gnavi_sub_list .gnavi_sub_btn {
    white-space: initial;
    font-size: calc(10px + 2 * (100vw - 768px)/232);
  }
  /* -- large_cat_nav -- */
  .large_cat_nav_list {
    padding: 5px 5px;
  }
  .large_cat_nav_list > .list_item {
    font-size: 1.1rem;
    margin: 3px 3px;
  }
}


/* content
========================================================================== */
/* 見出し */
.ttl01 {
  background: #fffcf0 url(../image-cmn/bg-title.png) right top no-repeat;
  border-bottom: 1px solid #ded588;
  border-left: 1px solid #ded588;
  border-right: 1px solid #ded588;
  border-top: 3px solid #64af86;
  font-size: 2rem;
  margin-bottom: 20px;
  padding: 14px 90px 13px 60px;
  position: relative;
}
.ttl01 span {
  display: inline-block;
  font-size: 2rem;
}
.ttl01::before {
  color: #64af86;
  font-family: "Material Icons";
  font-weight: normal;
  left: 0.5em;
  position: absolute;
  text-align: center;
  top: 9px;
  width: 40px;
}
.ttl02 {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 2rem;
  padding-top: 4px;
  position: relative;
}
.ttl02 .font_s {
  font-size: 1.6rem;
}
.ttl03 {
  background: linear-gradient(to bottom, transparent calc(50% - 1px), #64af86 calc(50% - 1px), #64af86 calc(50% + 1px), transparent calc(50% + 1px));
  background-size: 100% calc(100%);
  position: relative;
  margin-bottom: 15px;
  text-align: center;
}
.ttl03 span {
  background: #49946a;
  border: 1px solid #edf7d5;
  color: #fff;
  display: inline-block;
  font-size: 2rem;
  line-height: 1.5;
  margin: 0 30px;
  outline: 1px solid #64af86;
  padding: 5px 48px;
  text-align: center;
}
.ttl03_sub::before,
.ttl03_sub::after {
  background: #64af86;
  border-radius: 100%;
  content: "";
  height: 10px;
  position: absolute;
  top: calc(50% - 5px);
  width: 10px;
}
.ttl03_sub::before {
  left: 0;
}
.ttl03_sub::after {
  right: 0;
}
.ttl04 {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 2.4rem;
  line-height: 1.4;
  margin-bottom: 12px;
  position: relative;
  text-align: center;
}
.ttl04::after,
.ttl04::before {
  background: currentColor;
  content: "";
  display: block;
  flex-grow: 1;
  height: 2px;
  min-width: 50px;
}
.ttl04::after {
  margin-left: 20px;
}
.ttl04::before {
  margin-right: 20px;
}
.ttl04 span::after,
.ttl04 span::before {
  background: currentColor;
  border-radius: 100%;
  content: "";
  height: 10px;
  position: absolute;
  top: calc(50% - 5px);
  width: 10px;
  color: #64af86;
}
.ttl04 span::before {
  left: 0;
}
.ttl04 span::after {
  right: 0;
}
.ttl05 {
  background: linear-gradient(to bottom, transparent calc(50% - 1px), #64af86 calc(50% - 1px), #64af86 calc(50% + 1px), transparent calc(50% + 1px));
  background-size: 100% calc(100%);
  color: #619b13;
  font-size: 2.5rem;
  position: relative;
  margin-bottom: 20px;
  text-align: center;
}
.ttl05 span {
  background: #fffcf0;
  display: inline-block;
  padding: 0 26px;
  position: relative;
}
.ttl05 span::before,
.ttl05 span::after {
  background: #64af86;
  border-radius: 100%;
  content: "";
  height: 10px;
  position: absolute;
  top: calc(50% - 5px);
  width: 10px;
}
.ttl05 span::before {
  left: 0;
}
.ttl05 span::after {
  right: 0;
}
.ttl06.ttl_home:before {
  content: "\e88a";
}
.ttl06.ttl_location:before {
  content: "\e0c8";
}
.ttl06.screen_ico span {
  padding: 4px 45px 0 49px;
}
.ttl06,
.ttl07,
.sp_style .ttl07,
.ttl01.kuchikomi_ttl,
.ttl01.access_ttl,
.ttl01.japanmap_ttl
 {
  background: none;  
  border: 0;
  border-bottom: 3px solid #4a946b;
  display: flex;
  padding: 1px 0 0;
  overflow: hidden;
}
.ttl06 span,
.ttl07 span,
.sp_style .ttl07 span,
.ttl01.kuchikomi_ttl span,
.ttl01.access_ttl span,
.ttl01.japanmap_ttl span
 {
  background: #4a946b;
  border-top-left-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: 1.6rem;
  letter-spacing: .11em;
  margin-right: -1px;
  padding: 4px 0 0 60px;
}
.ttl06 > span,
.ttl07 > span,
.sp_style .ttl07 > span,
.ttl01.kuchikomi_ttl > span,
.ttl01.access_ttl > span,
.ttl01.japanmap_ttl > span
 {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  min-height: 41px;
  padding-right: 48px;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .ttl06 > span,
  .ttl07 > span,
  .sp_style .ttl07 > span,
  .ttl01.kuchikomi_ttl > span,
  .ttl01.access_ttl > span,
  .ttl01.japanmap_ttl > span
   {
    background: #4a946b;
    display: flex;
    margin-bottom: -1px;
    padding-right: 50px;
  }
  .ttl06.facility_ttl > span {
    padding-right: 50px;
  }
  .ttl06 > span {
    padding-right: 50px;
  }
}
.ttl06 span span:last-child,
.ttl07 span span:last-child,
.sp_style .ttl07 span span:last-child,
.ttl01.kuchikomi_ttl span span:last-child,
.ttl01.review_ttl span span:last-child,
.ttl01.access_ttl span span:last-child,
.ttl01.japanmap_ttl span span:last-child
 {
  background: none;
  display: inline;
  margin-left: -17px;
  padding-left: 10px;
  padding-top: 0;
  font-size: .9em;
}
.ttl06:before,
.ttl07:before,
.sp_style .ttl07:before,
.ttl01.kuchikomi_ttl:before,
.ttl01.review_ttl:before,
.ttl01.access_ttl:before
 {
  color: #fff;
  left: 15px;
  top: 5px;
  z-index: 2;
}
.ttl01.japanmap_ttl:before
 {
  left: 15px;
  top: 8px;
  z-index: 2;
}
.ttl01.kuchikomi_ttl:before
 {
  top: 11px;
}
.ttl07.ttl_home:before,
.sp_style .ttl07.ttl_home:before {
  content: "\e88a";
}
.ttl07.ttl_location:before,
.sp_style .ttl07.ttl_location:before {
  content: "\e0c8";
}
.ttl01.access_ttl:before,
.sp_style .ttl01.access_ttl:before {
  content: "\e536";
}
.ttl06 > span:after,
.ttl07 > span:after,
.sp_style .ttl07 > span:after,
.ttl01.kuchikomi_ttl > span:after,
.ttl01.access_ttl > span:after,
.ttl01.japanmap_ttl > span:after
 {
  border-left: 124px solid transparent;
  border-top: 127px solid #fff;
  bottom: 0;
  content: "";
  display: inline-block;
  height: 0;
  position: absolute;
  right: 0;
  transform: translateX(1px) translateY(1px);
  vertical-align: middle;
  width: 0;
  z-index: 1;
}
@media screen and (max-width: 375px) {
  .ttl06.facility_ttl > span,
  .ttl06.screen_ico > span,
  .ttl07 > span,
  .sp_style .ttl07 > span,
  .ttl01.kuchikomi_ttl > span,
  .ttl01.access_ttl > span,
  .ttl01.japanmap_ttl > span
   {
    border-top-right-radius: 5px;
    padding: 7px 15px 3px 50px;
  }
  .ttl06.facility_ttl > span {
    display: flex;
  }
  .ttl01.kuchikomi_ttl > span {
    display: table-cell;
    padding: 7px 15px 3px 60px;
    vertical-align: middle;
   }
  .ttl01.access_ttl > span
   {
    padding: 7px 15px 3px 50px;
   }
  .ttl06 > span:after
   {
    bottom: 1px;
    right: 1px;
    transform: translateX(1px) translateY(4px);
  }
  .ttl06.facility_ttl > span:after,
  .ttl06.screen_ico > span:after,
  .ttl07 > span:after,
  .sp_style .ttl07 > span:after,
  .ttl01.kuchikomi_ttl > span:after,
  .ttl01.review_ttl > span:after,
  .ttl01.access_ttl > span:after,
  .ttl01.japanmap_ttl > span:after
   {
    display: none;
  }
  .ttl06.screen_ico > span {
    padding: 7px 15px 3px 50px;
  }
}
.txt_b {
  font-weight: 600;
}
/* スライドショー */
.com_slide_list a {
  background: #fff;
  border: 1px solid #7a914d;
  border-radius: 5px;
  box-shadow: 0 1px 6px rgba(0,0,0,.2);
  display: block;
  height: 100%;
  overflow: hidden;
}
.com_slide_list_type {
  background: #c7d9a3;
  color: #2c6a47;
  font-size: 1.4rem;
  font-weight: 600;
  overflow: hidden;
  padding: 6px 12px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.com_slide_list_detail {
  padding: 12px 15px;
  position: relative;
}
.com_slide_list_add {
  border: 1px solid #2c6a47;
  color: #2c6a47;
  display: inline-block;
  font-size: 1.4rem;
  margin-bottom: 3px;
  overflow: hidden;
  padding: 2px 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}
.com_slide_list_name {
  color: #000;
  font-size: 1.6rem;
  line-height: 1.3;
  width: 100%;
}
.com_slide_list_txt {
  color: #666;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-top: 3px;
}
.com_slide_list_imgname {
  color: #000;
  font-size: 1.6rem;
  padding: 8px;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
}
.com_slide_link {
  margin: 0 35px 0 auto;
  width: 150px;
}
.com_slide_link a {
  padding: 10px;
}
.js_ofi {
  font-family: "object-fit: cover;"; /* IE・Edge対応 */
  height: 100%;
  object-fit: cover;
  width: 100%;
}
/* 広告バナー */
.ad_banner {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 630px;
}
.ad_banner iframe{
  margin-bottom: 30px;
}

/* 動画再生ボタン */
.com_movie_start {
  display: block;
  position: relative;
}
.com_movie_start::after {
  background-image: url(../image-cmn/ico-movie-start.png);
  background-size: 36px 36px;
  content: "";
  height: 36px;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 36px;
}

/* 下層ページメインタイトル */
.com_box_ttl {
  position: relative;
  overflow: hidden;
}
.com_box_ttl_memb {
  border-top: 3px solid #ef6d7c !important;
}
.com_box_ttl h1 {
  color: #000;
  line-height: 1.4;
  padding: 0 5px;
}
.com_box_ttl h1 .sitename{
  font-size: .75em;
  display: inline-block;
} 

/* 件数表示 */
.detail_count,
.detail_allcount {
  display: inline-block;
}

@media screen and (min-width:768px), print {
  .com_slide_list_photo {
    overflow: hidden;
    position: relative;
  }

  /* 下層ページメインタイトル */
  .com_box_ttl {
    background: url(../image-cmn/bg-content-top-ttl.png) right top no-repeat #effbf4;
    border-bottom: 1px solid #cbdfd2;
    border-top: 3px solid #64af86;
  }
  .com_box_ttl {
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.1);
    margin-bottom: 30px;
    padding: 10px 0;
  }
  .com_box_ttl_memb {
    background: url(../image-cmn/bg-memb-ttl-pc.png) right top no-repeat #fffcfd;
    border-bottom: 1px solid #fcb9c1;
  }
  .com_box_ttl h1 {
    font-size: 2.4rem;
    padding-left: 3px;
  }
  /*tablet_style*/
  .tablet_style .com_box_ttl {
    padding: 8px 0 10px;
  }

}
@media screen and (max-width:767px) {
  .ttl01 {
    background-size: 82px 54px;
    font-size: 2rem;
    margin-bottom: 15px;
    padding: 12px 15px 12px 65px;
  }
  .ttl01::before {
    left: 20px;
    top: 10px;
    -webkit-transform: none;
    transform: none;
    width: 50px;
  }
  .ttl01_sub {
    margin-bottom: 15px;
  }
  .ttl01 span {
    font-size: 1.6rem;
  }
  .ttl02 {
    font-size: 1.7rem;
  }
  .ttl02 .font_s {
    font-size: 1.1rem;
  }
  .ttl03 span {
    font-size: 1.8rem;
    padding: 10px 18px;
  }
  .ttl04 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .ttl04::after,
  .ttl04::before {
    min-width: 20px;
  }
  .ttl04::before {
    margin-right: 10px;
  }
  .ttl04::after {
    margin-left: 10px;
  }
  .ttl05 {
    font-size: 2rem;
    margin-bottom: 15px;
  }
  .ttl05 span {
    padding: 0 18px;
  }
  .com_slide_link {
    margin: auto;
  }
  .ad_banner {
    display: none;
  }
  .com_slide_list_photo {
    overflow: hidden;
    width: 100%;
  }
  .com_btmline {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }
  .com_slide_list_type {
    font-size: 1.4rem;
    padding: 5px 8px;
  }
  .com_slide_list_add {
    font-size: 1.3rem;
  }
  .com_slide_list_detail::after {
    right: 5px;
  }
  .media_list {
    margin-left: auto;
    margin-right: auto;
    padding-left: 5px;
    padding-right: 5px;
    max-width: 500px;
  }
  .media_list li {
    margin-right: 5px;
    width: calc((100% - 5px) / 2);
  }
  .media_list li:nth-of-type(2n) {
    margin-right: 0;
  }

  /* 下層ページメインタイトル */
  .com_box_ttl {
    background: url(../image-cmn/bg-content-top-ttl-sp.png) right bottom / 103px 135px no-repeat #effbf4;
    border-bottom: 1px solid #cbdfd2;
    border-top: 3px solid #64af86;
  }
  .com_box_ttl_memb {
    background: url(../image-cmn/bg-memb-ttl-sp.png) right top / 140px no-repeat #fffcfd;
    border-bottom: 1px solid #fcb9c1;
  }
  .com_box_ttl {
    margin-bottom: 15px;
    padding: 16px 0;
  }
  .com_box_ttl h1 {
    font-size: 2rem;
  }
}
@media screen and (max-width:374px) {
  .com_slide_list_type {
    font-size: 1.2rem;
  }
}
@media screen and (max-width:767px) {
  .ttl06 span {
    font-size: 1.6rem;
    margin-left: -50px;
    margin-top: 0;
  }
  .ttl06:after {
    bottom: 11px;
  }
}

  /* 口コミ告知 */
.kuchikomi_announce {
  margin: auto;
  line-height: 1.5;
  font-size: 1.7rem;
}
 .kuchikomi_announce .em{
   font-size: 1.8rem;
   color: #000;
   font-weight: 600;
  }
 .kuchikomi_announce .strong{
   color: #ff0000;
  }
.kuchikomi_announce a {
  font-weight: 600;
}
.detail_descript01 + .kuchikomi_announce {
  width: 660px;
  border: solid 1px #ff0000;
  padding: 20px 10px 20px 28px;
  margin: -18px auto 25px;
}
.kuchikomi_top{
  border: solid 1px #f00;
  width: 690px;
  padding: 20px 10px 20px 35px;
  margin: 30px auto;
}
@media screen and (max-width:767px) {
  .kuchikomi_announce,
  .detail_descript01 + .kuchikomi_announce {
    width: auto;
    margin: 0 auto 1.5em;
    font-size: 1.6rem;
    padding: 15px;
  }
  .kuchikomi_announce .em {
    line-height: 1.4em;
    font-size: 1.65rem;
  }
  .top_main_searcharea + .kuchikomi_announce{
    padding: 0 1em;
  }
  .kuchikomi_top{
    width: 90%;
    padding: 20px;
  }
}

/* sidebar
   ========================================================================== */
.sidebar {
  width: 300px;
}
.side_box li {
  margin-bottom: 20px;
}
.side_box li:last-of-type {
  margin-bottom: 0;
}
@media screen and (min-width:768px), print {
  .side_box {
    margin-bottom: 50px;
  }
  .side_bn {
    border-top: 1px solid #aaa;
    padding-top: 20px;
  }
}
@media screen and (max-width:767px) {
  .sidebar {
    width: 100%;
  }
  .side_bn {
    margin-left: auto;
    margin-right: auto;
    max-width: 380px;
    padding: 0 20px;
  }
  .side_bn img {
    height: auto;
    width: 100%;
  }
}

/*
footer sitemap
*/
.com_sitemap {
  padding-top: 30px;
  position: relative;
  margin: 0 auto 3em;
  width: 870px;
}
.com_sitemap::before {
  border-top: solid 1px #85b79b;
  content: '';
  display: inline-block;
  position: absolute;
  left: 0;
  margin: auto;
  right: 0;
  top: 0;
  width: 100%;
}
.com_sitemap .footer_logo  {
  margin: 0 auto 15px;
  width: 200px;
}
.com_sitemap .footer_logo img {
  height: auto;
  width: 200px;
}
.col1_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.link_box {
  text-align: left;
  width: 420px;
}
.link_box dt {
  border-bottom: solid 2px #0c6f38;
  border-left: solid 5px #0c6f38;
  font-size: 18px;
  font-weight: 600;
  margin: 15px 0 15px 0;
  padding: .4em 0 .5em .75em;
}
.link_box dd {
  font-size: 14px;
  display: inline-block;
  margin: 0 4px 1em 0;
  position: relative;
  text-align: left;
}
.link_box dd a,
.link_box dd .a_disabled {
  padding: 0 10px 0 12px;
}
.link_box dd .a_disabled {
  color: #ccc;
}
.link_box dd a::before,
.link_box dd .a_disabled::before {
  border-style: solid;
  border-width: 4px 0 4px 6px;
  border-color: transparent transparent transparent #f75586;
  content: '';
  display: inline-block;
  left: 0;
  top: 5px;
  position: absolute;
}
@media screen and (max-width:767px) {
  .com_sitemap {
    margin: 0 auto 0;
    width: auto;
  }
  .link_box {
    padding: 0 1em;
    width: 100%;
  }
 }
  /* footer
   ========================================================================== */
  .btm_description {
    background: #fffcf0 url(../image-cmn/footer/bg-footer-txt.png) right top no-repeat;
    border: 1px solid #ded588;
    border-radius: 5px;
    font-size: 1.3rem;
    line-height: 1.5;
    margin: 0 auto 50px;
    max-width: 800px;
    padding: 14px;
  }

  footer {
    border-top: 1px solid #ffc2d9;
    padding-top: 30px;
  }

  footer .wrap {
    overflow-x: hidden;/* iPadで横スクロールが表示されるため */
  }
    footer .wrap::before,
    footer .wrap::after {
      content: "";
      position: absolute;
    }

    footer .wrap::before {
      background: url(../image-cmn/footer/img-footer01.png) 0 0 / 275px 110px;
      height: 110px;
      left: -6px;
      top: 2px;
      width: 275px;
    }

    footer .wrap::after {
      background: url(../image-cmn/footer/img-footer02.png) 0 0 / 269px 111px;
      height: 111px;
      right: -14px;
      top: 0;
      width: 269px;
    }

  .footer_faciliry_login {
    background: #fff;
    border: 1px solid #ea6094;
    border-radius: 25px;
    display: table;
    margin: 0 auto 20px;
    overflow: hidden;
    padding: 2px;
    width: 460px;
    position: relative;
    z-index: 1;
  }

    .footer_faciliry_login dt,
    .footer_faciliry_login dd {
      display: table-cell;
      padding-bottom: 10px;
      padding-top: 10px;
      text-align: center;
      vertical-align: middle;
    }

    .footer_faciliry_login dt {
      background: #ea6094;
      border-radius: 23px 0 0 23px;
      color: #fff;
      width: 120px;
    }

    .footer_faciliry_login dd:nth-of-type(1) {
      padding-left: 10px;
    }

    .footer_faciliry_login dd:last-of-type {
      padding-right: 10px;
    }

    .footer_faciliry_login a::before {
      color: #d35785;
      font-size: 2.2rem;
      vertical-align: sub;
    }

  .footer_logo {
    height: auto;
    margin: 0 auto 20px;
    width: 220px;
  }
  footer .btn_sns {
    margin: 0 auto 15px;
    width: 600px;
  }

  .footer_product {
    font-size: 1.4rem;
    margin-bottom: 15px;
    text-align: center;
  }

  .footer_navi {
    background: #ea6094;
    padding: 10px;
  }

    .footer_navi ul {
      display: flex;
      font-size: 1.4rem;
      justify-content: center;
      padding: 5px;
    }

    .footer_navi li {
      border-left: 1px solid #fff;
    }

      .footer_navi li:first-of-type {
        border-left: 0;
      }

    .footer_navi a {
      color: #fff;
      padding: 0 1em;
    }

  .pc_style .footer_navi a:hover,
  .tablet_style .footer_navi a:active,
  .sp_style .footer_navi a:active {
    color: #f0f9e0;
  }

  .footer_copy {
    background: #fff;
    font-size: 1.4rem;
    padding: 12px;
    text-align: center;
  }

  #page_top {
    bottom: 10px;
    display: none;
    height: 80px;
    position: fixed;
    right: 25px;
    width: 80px;
    z-index: 9;
  }

    #page_top a {
      background: #dd4573;
      border-radius: 40px;
      color: #fff;
      display: block;
      font-size: 1.4rem;
      height: 80px;
      line-height: 1.2;
      padding-top: 30px;
      position: relative;
      text-align: center;
      width: 80px;
    }

      #page_top a::before {
        background: url(../image-cmn/ico-arrow-white-right.svg) center center / contain no-repeat;
        content: "";
        height: 12px;
        left: 50%;
        position: absolute;
        top: 12px;
        -webkit-transform: translateX(-50%) rotate(-90deg);
        transform: translateX(-50%) rotate(-90deg);
        width: 8px;
      }

  .pc_style #page_top a:hover,
  .tablet_style #page_top a:active {
    opacity: .5;
  }

  @media screen and (max-width:767px) {
    #page_top {
      display: none !important;
    }

    .sp_pagetop {
      margin: 30px auto;
      width: 180px;
    }

      .sp_pagetop a {
        border: none;
        border-radius: 22px;
        height: 44px;
        margin: 3px;
        padding-right: 10px;
        position: relative;
      }

    .pc_style .sp_pagetop a:hover,
    .tablet_style .sp_pagetop a:active,
    .sp_style .sp_pagetop a:active {
      border: none;
    }

    .sp_pagetop a::before {
      border: 1px solid #feebf1;
      border-radius: 25px;
      content: "";
      display: block;
      height: 50px;
      left: -3px;
      position: absolute;
      padding-right: 10px;
      top: -3px;
      width: 180px;
    }

    .sp_pagetop a::after {
      background: url(../image-cmn/ico-arrow-pink-right_02.svg) center center / contain no-repeat;
      color: #fff;
      content: "";
      height: 12px;
      position: absolute;
      right: 14px;
      top: 50%;
      -webkit-transform: translateY(-50%) rotate(-90deg);
      transform: translateY(-50%) rotate(-90deg);
      width: 6px;
    }

    .btm_description {
      background-size: 106px 69px;
      margin: 0 15px 30px;
    }

    footer {
      padding-top: 20px;
    }

      footer .wrap::before,
      footer .wrap::after {
        display: none;
      }

    .footer_faciliry_login {
      border-radius: 10px;
      display: block;
      height: auto;
      margin-bottom: 15px;
      padding: 10px 2px;
      position: relative;
      width: 100%;
    }

      .footer_faciliry_login dt,
      .footer_faciliry_login dd {
        display: block;
      }

      .footer_faciliry_login dt {
        align-items: center;
        border-radius: 8px 0 0 8px;
        display: flex;
        height: calc(100% - 4px);
        justify-content: center;
        position: absolute;
        top: 2px;
        width: 110px;
      }

      .footer_faciliry_login dd {
        padding: 4px 10px 4px 130px;
        text-align: left;
      }

        .footer_faciliry_login dd:nth-of-type(1) {
          padding-left: 130px;
        }

    .footer_logo {
      margin-bottom: 15px;
      width: 225px;
    }

    footer .btn_sns {
      width: 300px;
    }

    .footer_product {
      line-height: 1.4;
      padding-top: 70px;
      position: relative;
      text-align: left;
    }

      .footer_product::before,
      .footer_product::after {
        background-size: contain;
        background-repeat: no-repeat;
        content: "";
        position: absolute;
      }

      .footer_product::before {
        background-image: url(../image-cmn/footer/img-footer01.png);
        height: 60px;
        left: 0;
        top: 0;
        width: 150px;
      }

      .footer_product::after {
        background-image: url(../image-cmn/footer/img-footer02.png);
        height: 60px;
        right: 0;
        top: 0;
        width: 145px;
      }

    .footer_navi {
      padding: 0;
    }

      .footer_navi ul {
        flex-wrap: wrap;
        padding: 0;
      }

      .footer_navi li {
        border-bottom: 1px solid #fdf4f5;
        border-left: none;
        width: 100%;
      }

      .footer_navi a {
        display: block;
        padding: 12px 14px;
        position: relative;
        text-align: left;
        width: 100%;
      }

        .footer_navi a::before {
          content: "◆";
          margin-right: .5em;
        }

        .footer_navi a::after {
          background: url(../image-cmn/ico-arrow-white-right.svg) center center / contain no-repeat;
          content: "";
          height: 10px;
          position: absolute;
          right: 10px;
          top: 50%;
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          width: 6px;
        }

    .footer_copy {
      line-height: 1.5;
      padding: 10px;
    }

    .js_toggle_txt {
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
      overflow: hidden;
    }

      .js_toggle_txt.js_toggle_txt_open {
        display: inline;
      }

    .js_txt_open,
    .js_txt_close {
      color: #004edf;
      cursor: pointer;
    }

    .js_txt_close {
      display: none;
    }

    .js_txt_open::after {
      content: "▼";
    }

    .js_txt_close::after {
      content: "▲";
    }
  }
  /* フォーム関連
   ========================================================================== */
  input,
  button,
  textarea,
  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

    input:focus {
      outline: 0;
    }

    input::placeholder {
      color: #999;
      position: relative;
    }
  /* チェックボックス */
  .com_checkbox01 {
    display: none;
  }

  .com_checkbox01_parts {
    cursor: pointer;
    padding-left: 25px;
    position: relative;
  }

    .com_checkbox01_parts::before {
      background: #fffcf0;
      border: 2px solid #d3646d;
      border-radius: 3px;
      content: "";
      display: block;
      height: 20px;
      left: 0;
      position: absolute;
      top: 0;
      width: 20px;
    }

  .com_checkbox01:checked + .com_checkbox01_parts::after {
    border-bottom: 3px solid #2c6a47;
    border-right: 3px solid #2c6a47;
    content: "";
    display: block;
    height: 14px;
    left: 6px;
    position: absolute;
    top: 1px;
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg);
    width: 7px;
  }

  .com_checkbox {
    display: none;
  }

  .com_checkbox02_parts {
    padding-left: 25px;
    position: relative;
  }

    .com_checkbox02_parts::before {
      background: #fff;
      border: 2px solid #d3646d;
      border-radius: 3px;
      content: "";
      display: block;
      height: 20px;
      left: 0;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 20px;
    }

  .com_checkbox:checked + .com_checkbox02_parts::after {
    border-bottom: 3px solid #d3646d;
    border-right: 3px solid #d3646d;
    content: "";
    display: block;
    height: 14px;
    left: 6px;
    position: absolute;
    top: calc(50% - 1px);
    -webkit-transform: translateY(-50%) rotate(40deg);
    transform: translateY(-50%) rotate(40deg);
    width: 7px;
  }
  /* ラジオボタン */
  .com_radio {
    display: none;
  }

  .com_radio01_parts {
    padding-left: 30px;
    position: relative;
  }

    .com_radio01_parts::before {
      background: #fff;
      border: 2px solid #64af86;
      border-radius: 11px;
      content: "";
      display: block;
      height: 22px;
      left: 0;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 22px;
    }

  .com_radio:checked + .com_radio01_parts::after {
    background: #49946a;
    border-radius: 7px;
    content: "";
    display: block;
    height: 14px;
    left: 4px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 14px;
  }

  /* modal
   ========================================================================== */
  /*login*/
  .modal_login {
    padding-top: 30px;
    width: 580px;
  }

  .modal_login_form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    margin: 30px auto 15px;
  }

    .modal_login_form dt,
    .modal_login_form dd {
      margin-bottom: 10px;
    }

    .modal_login_form dt {
      color: #d3646d;
      width: 180px;
    }

      .modal_login_form dt::before {
        color: #d3646d;
        font-size: 3.2rem;
        margin-right: 5px;
        vertical-align: middle;
      }

    .modal_login_form dd {
      width: 320px;
    }

  .modal_login_input {
    background: #fffcf0;
    border: 2px solid #d3646d;
    border-radius: 5px;
    height: 50px;
    padding: 10px;
    width: 320px;
  }

    .modal_login_input::-webkit-input-placeholder {
      padding-top: 4px;
    }

  .modal_login_txt,
  .modal_login_txt_label {
    text-align: center;
  }

  .modal_login_txt {
    line-height: 1.5;
  }

  .modal_login_btn {
    margin: 25px auto 40px;
    width: 250px;
  }

    .modal_login_btn a {
      font-size: 2rem;
      padding: 12px;
    }

      .modal_login_btn a::after {
        font-size: 2.4rem;
      }

  .modal_login_link {
    border-radius: 0 0 5px 5px;
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    padding: 30px;
  }

    .modal_login_link li {
      margin: 0 10px;
      width: 240px;
    }

    .modal_login_link a {
      padding: 15px;
      width: 100%;
    }

  .modal_login_btn input {
    font-size: 2rem;
    padding: 12px;
    width: 258px;
  }

    .modal_login_btn input::after {
      background: url(../image-cmn/ico-arrow-white-right.svg) center center / contain no-repeat;
      content: "";
      height: 12px;
      position: absolute;
      right: 10px;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 8px;
    }

  .modal_login_loading {
    min-height: 285px;
  }

  .modal_login_des {
    line-height: 1.5;
  }

  .modal_login_error {
    margin-bottom: 20px;
    text-align: center;
  }

  .modal_login .modal_close_btn {
    background: #64af86 !important;
  }
  /* 写真・動画 */
  .modal_media {
    padding-top: 20px;
    width: 680px;
  }

  .modal_media_img {
    margin-bottom: 15px;
    text-align: center;
  }

    .modal_media_img img {
      height: auto;
      max-height: 600px;
      width: auto;
      max-width: 100%;
    }

  .modal_media_ttl {
    align-items: center;
    background: #f0f9e0;
    display: flex;
    justify-content: space-between;
    padding: 5px 5px 5px 10px;
  }

  .modal_media_ttl_box {
    line-height: 1.4;
    width: 375px;
  }

  .modal_media_ttl h2 {
    font-size: 1.8rem;
  }

  .modal_media_link {
    margin-left: 10px;
    width: 200px;
  }

    .modal_media_link a {
      padding: 5px;
    }

      .modal_media_link a::before {
        content: "\e15e";
        font-family: "Material Icons";
        font-size: 2.4rem;
        margin-right: 5px;
        vertical-align: middle;
      }

  .modal_media_detail {
    display: flex;
    flex-wrap: wrap;
    line-height: 1.5;
    margin-top: 10px;
  }

    .modal_media_detail dt,
    .modal_media_detail dd {
      margin-bottom: 8px;
    }

    .modal_media_detail dt {
      color: #2c6a47;
      font-weight: 600;
      padding-left: 10px;
      padding-right: 20px;
      width: 140px;
    }

    .modal_media_detail dd {
      padding-right: 10px;
      width: calc(100% - 140px);
    }

  .modal_media_detail_hr {
    border-top: 1px solid #aaa;
    margin-top: 5px;
    padding-top: 13px;
  }

  .modal_media_detail_distance {
    margin-bottom: -10px;
    padding-bottom: 0;
  }

    .modal_media_detail_distance dt,
    .modal_media_detail_distance dd {
      width: auto;
    }

  .modal_content .com_ac_unit {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-left: 10px;
    padding-bottom: .75em;
  }

  .modal_media_att {
    align-items: center;
    background: #fffcf0;
    border-top: solid 1px #ded588;
    border-radius: 0 0 5px 5px;
    display: flex;
    font-size: 1.4rem;
    justify-content: center;
    padding: 12px;
  }

    .modal_media_att .com_ic_att::before {
      color: #cb3939;
      font-size: 2.4rem;
      vertical-align: middle;
    }

  .modal_movie_img a,
  .modal_movie_iframe {
    display: block;
    height: 0;
    margin-bottom: 15px;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
  }

    .modal_movie_iframe iframe {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
    }

  .modal_movie_img img {
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
  }

  .modal_movie_img.com_movie_start::after {
    background-size: 90px 90px;
    height: 90px;
    width: 90px;
  }

  .modal_sparea {
    padding: 15px 15px 20px;
  }

  .com_sparea_map_ttl {
    color: #64af86;
    font-size: 2rem;
    padding-bottom: 15px;
    padding-left: 39px;
    position: relative;
    text-align: left;
  }

    .com_sparea_map_ttl span {
      font-size: 2.4rem;
    }

    .com_sparea_map_ttl::before {
      background: url(../image-cmn/ico-search-btn02.png) right top / 170px 28px no-repeat;
      content: "";
      display: block;
      height: 28px;
      left: 0;
      position: absolute;
      width: 34px;
    }
    .com_sparea_map_ttl.ico_station {
      color: #26ac62;
      padding-left: 46px;
    }
    .com_sparea_map_ttl.ico_station::before {
      background: url(../image-cmn/ico-station-sp.png) right center / 100% auto no-repeat;
      height: 28px;
      width: 38px;
    }

  .com_sparea_map dl {
    margin-bottom: 15px;
    width: 100%;
  }

  .com_sparea_map dt {
    height: 30px;
    margin-bottom: 10px;
    width: 100%;
  }

  .com_sparea_map dd {
    margin: 0 0 5px 5px;
    width: calc((100% - 15px)/4);
  }

    .com_sparea_map dd:nth-of-type(4n+1) {
      margin: 0 0 5px;
    }

    .com_sparea_map dd a {
      height: 40px;
    }

  .modal_sparea_close {
    align-items: center;
    display: flex;
    font-size: 1.4rem;
    justify-content: center;
    height: 40px;
    margin: auto;
    padding-right: 5px;
    position: relative;
    width: 10em;
  }

    .modal_sparea_close::after {
      content: "\e5cd";
      font-family: "Material Icons";
      position: absolute;
      right: 5px;
    }

  @media screen and (max-width: 767px) {
    .modal_login {
      padding-top: 20px;
      width: calc( 100% - 30px);
    }

      .modal_login .modal_content {
        margin-left: 15px;
        margin-right: 15px;
      }

    .modal_login_form {
      margin: 20px auto 0;
    }

      .modal_login_form dt,
      .modal_login_form dd {
        width: 100%;
      }

      .modal_login_form dt {
        margin-bottom: 0;
      }

      .modal_login_form dd {
        margin-bottom: 20px;
      }

    .modal_login_input {
      width: 100%;
    }

      .modal_login_input::-webkit-input-placeholder {
        padding-top: 4px;
      }

    .modal_login_btn {
      margin-bottom: 25px;
      width: 225px;
    }

    .modal_login_txt {
      text-align: left;
    }

    .modal_login_link {
      display: block;
      margin-top: 15px;
      padding: 20px 20px 10px;
    }

      .modal_login_link li {
        margin: 0 auto 10px;
        width: 225px;
      }

      .modal_login_link a {
        padding: 10px;
      }

    .modal_media {
      padding-top: 20px;
      width: calc( 100% - 30px);
    }

    .modal_media_img {
      max-height: 300px;
      margin-bottom: 10px;
    }

      .modal_media_img img {
        height: auto;
        max-height: 300px;
        width: auto;
        max-width: 100%;
      }

    .modal_media_ttl {
      display: block;
      padding: 5px;
    }

      .modal_media_ttl h2 {
        padding: 5px;
      }

    .modal_media_ttl_box {
      padding: 5px;
      width: 100%;
    }

    .modal_media_ttl .modal_media_ttl_box h2 {
      padding: 0;
    }

    .modal_media_link {
      margin: 0 0 0 auto;
      width: 170px;
    }

    .modal_media_att {
      display: block;
      line-height: 1.5;
    }

    .modal_media_report {
      text-align: right;
    }
  }
  /* table
   ========================================================================== */
  .tbl_com,
  .tbl_com th,
  .tbl_com td {
    border-collapse: collapse;
    border-spacing: 0;
  }

  .tbl_com {
    border: 2px solid #64af86;
    width: 100%;
  }

    .tbl_com th {
      background: #f0f9e0;
    }

    .tbl_com .no_data th {
      background-color: #b7bcb0;
      position: inherit;
      color: #fff;
      font-weight: normal;
    }

    .tbl_com th,
    .tbl_com td {
      border: 1px solid #64af86;
      line-height: 1.5;
    }

    .tbl_com .no_data td {
      background: #f2f7ed;
      position: inherit;
      color: #fff;
    }

  .tbl01 th {
    background: #f0f9e0;
    color: #000;
  }

  @media screen and (min-width:768px), print {
    .tbl_com {
      margin-bottom: 20px;
      table-layout: fixed;
    }

      .tbl_com th {
        width: 180px;
        padding: 12px;
      }

      .tbl_com tr.no_data th,
      .tbl_com tr.no_data td {
        padding: 5px;
      }

    .th_width_com {
      width: 180px;
    }

    .tbl_com td {
      padding: 12px 20px;
    }
  }

  @media screen and (max-width:767px) {
    .tbl_com {
      margin-bottom: 20px;
    }

      .tbl_com,
      .tbl_com tbody,
      .tbl_com tr {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
      }

        .tbl_com th,
        .tbl_com td {
          align-items: center;
          border-left: none;
          border-top: none;
          display: flex;
          flex-wrap: wrap;
          font-size: 1.4rem;
          padding: 10px;
          word-break: break-all;
        }

        .tbl_com th {
          justify-content: center;
          flex: 0 1 auto;
          width: 110px;
        }

    .th_width_com {
      width: 110px;
    }

    .tbl_com td {
      border-right: none;
      flex: 1 1 auto;
      width: calc(100% - 110px);
    }

    .tbl_com tr:last-of-type th,
    .tbl_com tr:last-of-type td {
      border-bottom-style: none;
    }
  }
  /* breadcrumbs
   ========================================================================== */
  #breadcrumbs {
    text-align: left;
  }

    #breadcrumbs ol li {
      display: inline-block;
    }

    #breadcrumbs a {
      position: relative;
    }

    #breadcrumbs ol li:before {
      content: "\03e";
      padding: 0 2px;
    }

    #breadcrumbs ol li:first-of-type::before {
      content: none;
    }

  @media screen and (min-width:768px), print {
    #breadcrumbs {
      font-size: 1.6rem;
      padding: 10px 0 6px;
    }

      #breadcrumbs ol li {
        max-width: 1000px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
    /*tablet_style*/
    .tablet_style #breadcrumbs {
      padding: 8px 0 5px;
    }
  }

  @media screen and (max-width:767px) {
    #breadcrumbs {
      font-size: 1.6rem;
      margin: 0;
      overflow-y: auto;
      padding: 0;
      text-overflow: ellipsis;
      width: 100%;
      white-space: nowrap;
    }

      #breadcrumbs ol {
        padding: 8px;
      }
  }
  /* pagenavi
   ========================================================================== */
  .pagenavi {
    margin-top: 10px;
    font-size: 1.5rem;
  }

  .pager_line_top {
    display: none;
  }

  .pager01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: right;
    margin-bottom: 15px;
  }

    .pager01 li,
    .pager01 a {
      align-items: center;
      display: flex;
      justify-content: center;
      position: relative;
    }

    .pager01 li {
      border-radius: 5px;
      color: #fff;
      height: 35px;
      margin: 0 3px;
      min-width: 36px;
      text-align: center;
    }

      .pager01 li:last-child {
        margin-right: 0;
      }

    .pager01 .pager_num span {
      padding-left: 5px;
      padding-right: 5px;
    }

    .pager01 a {
      background: #d3e5af;
      border: 1px solid #7a914d;
      border-radius: 5px;
      color: #487608;
      height: 100%;
      padding-left: 5px;
      padding-right: 5px;
      width: 100%;
      z-index: 1;
    }

      .pager01 a:hover {
        background: #64af86;
        border-color: #64af86;
        color: #fff;
      }

        .pager01 a:hover::before,
        .pager01 a:hover::after {
          color: #fff;
        }

  .page_count_ellipsis span {
    color: #487608;
  }

  .pager01 .current {
    background: #64af86;
  }

  .pager01 .pager_prev_g,
  .pager01 .pager_next_g {
    background: #fff !important;
    border: 1px solid #7a914d !important;
    color: #487608;
  }

    .pager01 .pager_prev_g::after,
    .pager01 .pager_prev a::after,
    .pager01 .pager_next_g::after,
    .pager01 .pager_next a::after {
      background: url(../image-cmn/ico-arrow-green-right.svg) center center / contain no-repeat;
      content: "";
      height: 10px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      width: 6px;
    }

  .pager01 .pager_prev a:hover::after,
  .pager01 .pager_next a:hover::after {
    background-image: url(../image-cmn/ico-arrow-white-right.svg);
  }

  .pager01 .pager_prev_g::after,
  .pager01 .pager_prev a::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
  }

  .pagenavi_lbl {
    text-align: center;
  }

  .pager01 .pager_select {
    width: 180px;
  }

  .pager01 .page_select {
    color: #000;
    height: 100%;
    text-align: left;
    width: 100%;
    z-index: 2;
  }

  .pager01 .page_select_ttl {
    align-items: center;
    background: #fff;
    border: 2px solid #64af86;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    height: 100%;
    padding: 0 34px 0 18px;
    position: relative;
    width: 100%;
  }

    .pager01 .page_select_ttl::after {
      border-radius: 0 2px 2px 0;
      background: #64af86 url(../image-cmn/ico-arrow01.svg) center center / 13px 8px no-repeat;
      content: "";
      display: block;
      height: 34px;
      position: absolute;
      right: -1px;
      top: -1px;
      width: 34px;
    }

    .pager01 .page_select_ttl.page_select_ttl_hover::after {
      -webkit-transform: scaleY(-1);
      transform: scaleY(-1);
    }

  .pager01 .page_select_menu {
    background: #fff;
    border: 2px solid #64af86;
    border-radius: 5px;
    max-height: 200px;
    margin-top: -2px;
    overflow: hidden;
    overflow-y: auto;
  }

    .pager01 .page_select_menu li {
      border-radius: 0;
      border-top: 1px solid #64af86;
      color: #ccc;
      justify-content: flex-start;
      margin: 0;
    }

      .pager01 .page_select_menu li:first-of-type {
        border-top: none !important;
      }

    .pager01 .page_select_menu a {
      background: #fff;
      border: none;
      border-radius: 0;
      cursor: pointer;
      justify-content: flex-start;
      padding: 0 10px 0 18px;
    }

  .pc_style .pager01 .page_select_menu a:hover,
  .tablet_style .pager01 .page_select_menu a:active,
  .sp_style .pager01 .page_select_menu a:active {
    background: #e5f3d2;
    color: #487608;
  }

  @media screen and (min-width:768px), print {
    .pager01_area {
      height: 35px;
    }

    .pager01 {
      float: right;
    }

      .pager01 .pager_prev a,
      .pager01 .pager_next a,
      .pager01 .pager_prev_g,
      .pager01 .pager_next_g {
        min-width: 114px;
      }

        .pager01 .pager_prev_g span,
        .pager01 .pager_next_g span {
          padding-left: 0;
          padding-right: 0;
        }

      .pager01 .pager_prev a,
      .pager01 .pager_prev_g {
        padding: 0 10px 0 20px;
        text-align: right;
      }

      .pager01 .pager_next a,
      .pager01 .pager_next_g {
        padding: 0 20px 0 10px;
        text-align: left;
      }

      .pager01 .pager_prev_g::after,
      .pager01 .pager_prev a::after {
        left: 6px;
      }

      .pager01 .pager_next_g::after,
      .pager01 .pager_next a::after {
        right: 6px;
      }

      .pager01 .pager_select {
        margin-left: 6px;
      }
  }

  @media screen and (max-width:767px) {
    .pager01 {
      justify-content: center;
      font-size: 1.3rem;
      margin-bottom: 0;
    }

      .pager01 li {
        margin: 0 2px 10px;
        min-width: 30px;
      }

        .pager01 li.page_count_ellipsis {
          font-size: 1rem;
          min-width: unset;
        }

      .pager01 a {
        padding-left: 2px;
        padding-right: 2px;
      }

      .pager01 .pager_prev_g,
      .pager01 .pager_prev a,
      .pager01 .pager_next_g,
      .pager01 .pager_next a {
        text-indent: -9999px;
      }

        .pager01 .pager_prev_g::after,
        .pager01 .pager_prev a::after {
          text-indent: initial;
        }

        .pager01 .pager_next_g::after,
        .pager01 .pager_next a::after {
          text-indent: initial;
        }
  }
  /* 各マップボタン
========================================================================== */
  .com_main_searchlist {
    display: flex;
  }

    .com_main_searchlist li {
      margin: 0 5px;
      flex-grow: 1;
    }

    .com_main_searchlist a {
      display: block;
      font-size: 16px;
      font-weight: 600;
      height: 70px;
      padding: 37px 10px 0;
      position: relative;
      text-align: center;
      width: 100%;
      background: #fff;
      border: solid 1px #d3646d;
      border-bottom: solid 3px #d3646d;
      color: #000;
    }

      .com_main_searchlist a span {
        font-size: 19px;
      }

      .com_main_searchlist a::before {
        background: url(../image-cmn/ico-search-btn.png) 0 0 / 170px 27px no-repeat;
        content: "";
        height: 27px;
        left: calc(50% - 17px);
        position: absolute;
        top: 7px;
        width: 34px;
      }

  .com_ico_map a::before {
    background-position: -34px 0;
  }

  .com_ico_photo a::before {
    background-position: -68px 0;
  }

  .com_ico_movie a::before {
    background-position: -103px 0;
  }

  .com_main_searchlist a.btn_com:hover {
    background: #f75586;
    border: 1px solid #f75586;
    color: #000;
  }
  /* 施設を探す
========================================================================== */
  .modal_map .modal_content {
    margin-top: -30px;
    margin-left: 45px;
    margin-right: 45px;
  }

  .modal_map .area_map {
    margin: 0 auto 20px;
  }

  .modal_map .top_main_searchlist a {
    display: block;
    font-weight: 600;
    position: relative;
    text-align: center;
    width: 100%;
  }

  .com_ico_search {
    display: none;
  }

  .tablet_style .com_ico_search,
  .sp_style .com_ico_search {
    display: block;
  }


  @media screen and (min-width:768px), print {
    .modal_map {
      padding-bottom: 30px;
      padding-top: 30px;
      width: 745px;
    }

      .modal_map .top_main_searchlist a {
        height: 70px;
        padding: 37px 10px 0;
      }
  }

  @media screen and (max-width:767px) {
    .modal_map_sub,
    .modal_overlay_map {
      display: none !important;
    }
  }

  /* 静的用コード
========================================================================== */
  .main_contents {
    flex: 1 1 auto;
  }

  /* ログインに関するご注意
========================================================================== */
  .modal_box_login_caution {
    border: 1px solid #c50101;
    box-sizing: border-box;
    margin: 30px auto;
    padding: 20px 4%;
    position: relative;
    width: 100%;
  }

    .modal_box_login_caution .ttl {
      background: #fff;
      display: inline-block;
      font-size: 1.5rem;
      font-weight: 100;
      left: 0;
      margin: 0 auto;
      padding: 1%;
      position: absolute;
      right: 0;
      text-align: center;
      top: -14px;
      width: 50%;
    }

      .modal_box_login_caution .ttl::before {
        background: #c50101;
        border-radius: 50%;
        color: #fff;
        content: "!";
        display: inline-block;
        height: 22px;
        line-height: 22px;
        margin-right: 15px;
        position: relative;
        text-align: center;
        top: -2px;
        vertical-align: middle;
        width: 22px;
      }

    .modal_box_login_caution .read {
      border-left: none;
      font-size: 1.4rem;
      line-height: 1.5;
      text-align: left;
      padding-left: 0;
      width: 100%;
    }

    .modal_box_login_caution strong {
      color: #c50101;
      display: inline;
      font-weight: 100;
    }

  @media screen and (min-width:768px), print {
    .modal_box_login_caution {
      padding: 20px 4%;
    }
  }

  @media screen and (max-width:767px) {
    .modal_box_login_caution {
      padding: 20px 4%;
    }

      .modal_box_login_caution .ttl {
        font-size: 15px;
        top: -12px;
        width: 230px;
      }

      .modal_box_login_caution .read {
        font-size: 14px;
      }
  }

  /* kuchikomi */
  .posting_name {
    margin-bottom: 12px;
  }

    .posting_name a {
      display: block;
      font-size: 16px;
      font-weight: bold;
      overflow: hidden;
      text-align: center;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

  .posting_reviews_heading {
    padding-top: 70px;
    position: relative;
  }

    .posting_reviews_heading .star {
      left: 0;
      margin: auto;
      position: absolute;
      right: 0;
      top: 22px;
    }

  .posting_reviews_body {
    font-size: 15px;
    padding: 0 25px;
  }

  .posting_reviews_ttl {
    border-bottom: 1px solid #7a914d;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.4;
    margin-bottom: 8px;
    margin-top: 2px;
    overflow: hidden;
    padding-bottom: 8px;
    padding-left: 23px;
    padding-right: 0;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
  }

  .posting_reviews_body p {
    line-height: 1.6;
  }

  .posting_reviews_ttl:before {
    content: url(../image-cmn/ico_buzz.png);
    left: 0;
    position: absolute;
    top: 2px;
  }

  .com_slide_list .posting_reviews_frame {
    background: #fff;
    border: 1px solid #7a914d;
    border-radius: 5px;
    box-shadow: 0 1px 6px rgb(0 0 0 / 20%);
    display: block;
    height: 100%;
    margin-bottom: 10px;
    overflow: hidden;
    padding-bottom: 19px;
  }

    .com_slide_list .posting_reviews_frame a {
      border: none;
      box-shadow: none;
    }

  .com_slide_list .posting_reviews_ttl a {
    border-radius: 0;
    overflow: hidden;
    padding-left: 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .top_review {
    margin-bottom: 30px;
  }

  .review_ttl::before {
    background: url(../image-cmn/ico-review.png) 0px 0 /contain no-repeat;
    content: "";
    height: 30px;
    left: 22px;
    width: 48px;
  }

  .ttl01 .em {
    color: #fc686f;
    font-size: 2.3rem;
  }

  .ttl01.review_ttl:before {
    background: url(../image-cmn/ico-review.png) 0px 0 /contain no-repeat;
    content: "";
    height: 30px;
    top: 11px;
    left: 14px;
    width: 40px;
  }

  .posting_reviews_frame .text_hide {
    display: none;
  }

  .slick-dotted.slick-slider.top_review_ul {
    margin-bottom: 5px;
  }

  .box_kuchikomi_lst {
    padding: 10px 0 21px;
  }

  .kuchikomi_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 30px;
  }

    .kuchikomi_lst .post_reviews_area {
      margin-bottom: 10px;
      padding: 23px 15px 13px;
      position: relative;
      width: calc(50% - 5px);
      border: 1px solid #ded588;
    }

  .post_reviews_ttl_area {
    display: flex;
    justify-content: flex-start;
    padding-bottom: 5px;
    position: relative;
  }

  @media screen and (min-width: 768px) {
    .post_reviews_ttl_area {
      padding-right: 128px;
    }
  }

  .post_reviews_ttl {
    color: #004edf;
    font-size: 17px;
  }

    .post_reviews_ttl:before {
      content: url(../image-cmn/ico_buzz.png);
      left: 2px;
      margin-right: 14px;
      position: absolute;
      top: 1px;
    }

  .post_reviews_detail .post_reviews_user_area {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 10px auto 0;
  }

  .post_reviews_day {
    font-size: 14px;
    margin-top: 4px;
  }

  .post_reviews_user_btn_area {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
  }

  .post_reviews_user {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2px;
    max-width: 100%;
    font-size: 14px;
  }

  .post_reviews_user_name {
    font-weight: 600;
    margin-right: 3px;
    max-width: 100%;
  }

  .post_reviews_txt {
    margin-top: 1px;
    word-break: break-all;
  }

  .reviews_area_txt .post_reviews_txt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.5;
  }

  .post_reviews_txt span {
    line-height: 1.4;
  }

  .post_reviews_txt:after {
    clear: both;
    content: "";
    display: block;
  }

  .kuchikomi_photo_area {
    margin: 4px 9px 0 3px;
  }

  .post_reviews_txt .text_hide {
    display: none;
  }

  .post_reviews_txt .read_more {
    display: inline-block;
    margin-left: 5px;
  }

  .reviews_area {
    align-items: stretch;
    display: flex;
    justify-content: space-between;
    margin: 8px auto 0;
  }

    .reviews_area .kuchikomi_img {
      width: 80px;
    }

      .reviews_area .kuchikomi_img p {
        width: 80px;
        height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .reviews_area .kuchikomi_img img {
        max-width: 100%;
      }

      .reviews_area .kuchikomi_img figcaption {
        font-size: 12px;
        margin: 2px auto;
        text-align: center;
      }

  .kuchikomi_lst .txt_right {
    font-size: 14px;
    width: 80px;
  }

  .box_kuchikomi_lst .com_slide_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 11px 0 0 auto;
    padding: 0 30px 0 30px;
    width: 100%;
    font-size: 1.6rem;
  }

  .btn_review {
    padding: 9px 10px 9px 40px !important;
    width: 207px;
    font-size: 1.6rem;
  }

    .btn_review::before {
      background: url(../image-cmn/ico-buzz-white.png) 0 0 / auto 19px no-repeat !important;
      content: "";
      height: 19px;
      left: 17px;
      position: absolute;
      top: 12px;
      width: 23px;
    }

  .box_kuchikomi_lst .com_slide_link .btn_arrow {
    padding: 9px 20px 9px 10px;
    width: 135px;
    font-size: 1.6rem;
  }

  .review_blank {
    border: none;
  }

  .kuchikomi_lst .review_blank {
    background-color: #FFF;
    width: calc(48% - 5px);
    border: none;
  }

  .btn_arrow_disabled {
    background-color: #a4a4a4;
    border-color: #949494;
    pointer-events: none;
  }

  @media screen and (min-width: 768px) {
    .post_reviews_ttl {
      width: 100%;
    }

    .box_kuchikomi_lst .com_slide_link .btn_review {
      margin-left: 2px;
    }

    .post_reviews_user {
      margin-left: 0;
      margin-top: 1px;
    }

    .posting_name {
      padding: 0 25px;
    }

    .post_reviews_ttl a {
      display: block;
      overflow: hidden;
      padding-left: 31px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .post_reviews_user_area {
      align-items: flex-start;
      box-sizing: border-box;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      flex-direction: column;
      width: calc(100% - 80px);
    }

      .post_reviews_user_area p {
        margin-left: -0.5em;
      }
  }

  @media screen and (max-width: 767px) {
    .review_ttl::before {
      top: 7px;
    }

    .post_reviews_txt span {
      line-height: 21px;
    }

    .detail_contributor .kuchikomi_ttl,
    .detail_contributor .review_ttl {
      margin-top: 29px;
    }

    .slick-dotted.slick-slider.top_review_ul {
      margin-bottom: 45px;
    }

    .top_review_ttl::before {
      background-position-y: 2px;
      left: 21px;
    }

    .posting_reviews_heading {
      padding-top: 43px;
    }

    .posting_name {
      margin-bottom: 8px;
    }

      .posting_name a {
        font-size: 15px;
      }

    .posting_reviews_body {
      padding: 0 15px;
    }

    .posting_reviews_ttl:before {
      content: url(../image-cmn/ico_buzz_sp.png);
      top: 0;
    }

    .posting_reviews_ttl {
      line-height: 1.4;
      margin-bottom: 4px;
      padding-bottom: 7px;
      padding-left: 20px;
      padding-right: 0;
    }

    .posting_reviews_body p {
      line-height: 1.4;
    }

    .com_slide_list .posting_reviews_frame {
      padding-bottom: 9px;
    }

    .com_slide_list .posting_reviews_ttl a {
      padding-left: 0;
    }

    .kuchikomi_lst .post_reviews_area {
      padding: 9px 7px 11px;
      width: 100%;
    }

    .box_kuchikomi_lst {
      padding: 3px 10px 10px;
    }

    .post_reviews_ttl_area {
      align-items: flex-start;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    .kuchikomi_lst .post_reviews_ttl {
      width: calc(100% - 110px);
    }

    .post_reviews_user_btn_area {
      margin-top: 0;
      flex-direction: column;
    }

    .post_reviews_user {
      font-size: 15px;
    }

    .reviews_area .kuchikomi_img {
      max-width: 80px;
    }

    .post_reviews_ttl:before {
      left: 2px;
      margin-right: 9px;
      top: 6px;
    }

    .post_reviews_txt {
      margin-bottom: 25px;
    }

    .post_reviews_ttl a {
      padding-left: 28px;
      display: block;
    }

    .btn_review,
    .box_kuchikomi_lst .com_slide_link .btn_arrow {
      margin-left: auto;
      margin-right: auto;
      max-width: 323px;
      width: 100%;
    }

    .box_kuchikomi_lst .com_slide_link .btn_arrow {
      margin-bottom: 10px;
    }

    .btn_review::before {
      left: 20%;
    }

    .box_kuchikomi_lst .com_slide_link {
      flex-direction: column-reverse;
    }

    .box_kuchikomi_lst .com_slide_link {
      margin-top: 2px;
    }

    .post_reviews_user {
      margin-bottom: 0;
      margin-top: 5px;
    }

    .reviews_area {
      margin: 5px auto 0;
    }

    .kuchikomi_lst .txt_right {
      width: auto;
      margin-top: 1em;
      align-self: flex-end;
    }

    .kuchikomi_lst .post_reviews_area {
      padding-bottom: 7px;
    }

    .kuchikomi_lst .post_reviews_area {
      margin-bottom: 8px;
    }

    .post_reviews_day {
      font-size: 13px;
      margin-top: 6px;
    }

    .kuchikomi_lst .post_reviews_txt {
      margin-top: 0;
    }

    .kuchikomi_lst .post_reviews_area {
      padding-top: 4px;
    }

    .post_reviews_ttl {
      margin-bottom: 5px;
      margin-top: 5px;
    }

    .reviews_area .kuchikomi_img figcaption {
      margin-top: 2px;
    }

    .kuchikomi_lst .post_reviews_day {
    }
  }

  /* star */
  .star {
    background: url(../image-cmn/img-ranking-star5.png) no-repeat left -30px;
    background-size: 142px;
    width: 142px;
  }

    .star span {
      display: block;
      height: 30px;
      overflow: hidden;
    }

    .star .rating_10 {
      width: 31px;
    }

    .star .rating_15 {
      width: 46px;
    }

    .star .rating_20 {
      width: 60px;
    }

    .star .rating_25 {
      width: 73px;
    }

    .star .rating_30 {
      width: 87px;
    }

    .star .rating_35 {
      width: 101px;
    }

    .star .rating_40 {
      width: 116px;
    }

    .star .rating_45 {
      width: 129px;
    }

    .star .rating_50 {
      width: 142px;
    }

    .star span img {
      max-width: none;
      width: 142px;
    }

  .kuchikomi_lst .star {
    background: url(../image-cmn/img-ranking-star5.png) no-repeat 0 -27px;
    background-size: 100%;
    margin: auto;
    width: 128px;
  }

    .kuchikomi_lst .star span {
      height: 27px;
    }

    .kuchikomi_lst .star .rating_10 {
      width: 29px;
    }

    .kuchikomi_lst .star .rating_15 {
      width: 41px;
    }

    .kuchikomi_lst .star .rating_20 {
      width: 55px;
    }

    .kuchikomi_lst .star .rating_25 {
      width: 66px;
    }

    .kuchikomi_lst .star .rating_30 {
      width: 80px;
    }

    .kuchikomi_lst .star .rating_35 {
      width: 91px;
    }

    .kuchikomi_lst .star .rating_40 {
      width: 105px;
    }

    .kuchikomi_lst .star .rating_45 {
      width: 117px;
    }

    .kuchikomi_lst .star .rating_50 {
      width: 128px;
    }

    .kuchikomi_lst .star span img {
      margin-top: -1px;
      width: 128px;
    }

  @media screen and (min-width: 768px) {
    .kuchikomi_lst .star {
      position: absolute;
      right: 0;
      top: -5px;
    }

    #kuchikomi_load .posting_reviews_body p {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      height: 75px;
    }
  }

  @media screen and (max-width: 767px) {
    .posting_reviews_heading .star {
      top: 12px;
    }

    .star .rating_50 {
      width: 98px;
    }

    .star span {
      height: 21px;
    }

      .star span img {
        width: 98px;
      }

    .star {
      background-position-y: -21px;
      background-size: 98px;
      width: 98px;
    }

      .star .rating_10 {
        width: 23px;
      }

      .star .rating_15 {
        width: 32px;
      }

      .star .rating_20 {
        width: 42px;
      }

      .star .rating_25 {
        width: 51px;
      }

      .star .rating_30 {
        width: 60px;
      }

      .star .rating_35 {
        width: 70px;
      }

      .star .rating_40 {
        width: 79px;
      }

      .star .rating_45 {
        width: 89px;
      }

    .kuchikomi_lst .star .rating_15 {
      width: 35px;
    }

    .kuchikomi_lst .star .rating_20 {
      width: 45px;
    }

    .kuchikomi_lst .star .rating_25 {
      width: 55px;
    }

    .kuchikomi_lst .star .rating_30 {
      width: 65px;
    }

    .kuchikomi_lst .star .rating_35 {
      width: 76px;
    }

    .kuchikomi_lst .star .rating_40 {
      width: 87px;
    }

    .kuchikomi_lst .star .rating_45 {
      width: 97px;
    }

    .kuchikomi_lst .star {
      background: url(../image-cmn/img-ranking-star5.png) no-repeat 0 -22px;
      background-size: 106px;
      margin: 5px 2px 5px;
      width: 106px;
    }

      .kuchikomi_lst .star span {
        height: 22px;
      }

      .kuchikomi_lst .star .rating_50 {
        width: 106px;
      }

      .kuchikomi_lst .star span img {
        margin-top: 0;
        width: 106px;
      }

    #kuchikomi_load .posting_reviews_body p {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      height: 65px;
    }

    .reviews_area .kuchikomi_img p {
      width: 80px;
      height: 80px;
    }
  }

  @media screen and (min-width: 768px) {
    .detail_control_link li {
      font-size: 16px !important;
    }
  }

  @media screen and (min-width: 768px) {
    .header_member .com_ic_login,
    .header_mypage a,
    .top_main_searchlist a,
    .top_main_searchlist p {
      font-size: 13px ;
    }
    .header_member .com_ic_login {
      color: #004edf;
      font-size: 14px;
      font-weight: 600;
    }

    .top_main_publish {
        font-size: 14px !important;
    }

      .top_main_publish span {
        font-size: 21px !important;
      }

    .top_main_searchlist a span, .top_main_searchlist p span {
      font-size: 18px;
    }
  }

  .tbl_com.detail_tbl .hide_tr ~ tr {
    display: none;
  }

  .tbl_com.detail_tbl tr.active {
    display: table-row;
  }

  @media screen and (max-width:767px) {
    .tbl_com.detail_tbl tr.active {
      display: inherit;
    }
  }

  .btn_load_more {
    margin: 20px auto 25px;
    width: 160px;
  }

    .btn_load_more a {
      padding: 9px 16px 7px 0;
    }

      .btn_load_more a::after {
        background: url(../image-cmn/ico-arrow-white-right.svg) center center / contain no-repeat;
        content: "";
        height: 10px;
        margin-top: -5px;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: rotate(90deg);
        width: 6px;
      }

  body:not(.detail_member) .ttl07.photo_ttl > span {
    padding-right: 50px;
  }

    body:not(.detail_member) .ttl07.photo_ttl > span span {
      padding-right: 0;
    }

  @media screen and (max-width: 767px) {
    body:not(.detail_member) .ttl01.kuchikomi_ttl,
    body:not(.detail_member) .ttl01.ttl07.photo_ttl,
    body:not(.detail_member) .ttl01.ttl07.movie_ttl,
    body:not(.detail_member) .ttl01.ttl06.facility_info_ttl.screen_ico,
    body:not(.detail_member) .detail_article .ttl01.ttl06.facility_ttl,
    body:not(.detail_member) .ttl01.ttl06.facility_ttl {
      border-bottom: none;
      padding-left: 0;
      table-layout: fixed;
    }

      body:not(.detail_member) .ttl01.kuchikomi_ttl > span,
      body:not(.detail_member) .ttl01.ttl07.photo_ttl > span,
      body:not(.detail_member) .ttl01.ttl07.movie_ttl > span,
      body:not(.detail_member) .ttl01.ttl06.facility_info_ttl.screen_ico > span,
      body:not(.detail_member) .ttl01.ttl06.facility_ttl > span {
        border-top-right-radius: 5px;
        border: 1px solid #4a946b;
        display: table-cell;
        height: 41px;
        padding: 7px 15px 6px 50px;
        vertical-align: middle;
        width: 100%;
      }

        body:not(.detail_member) .ttl01.kuchikomi_ttl > span span:last-child,
        body:not(.detail_member) .ttl01.ttl07.photo_ttl > span span:last-child,
        body:not(.detail_member) .ttl01.ttl07.movie_ttl > span span:last-child,
        body:not(.detail_member) .ttl01.ttl06.facility_info_ttl.screen_ico > span span:last-child,
        body:not(.detail_member) .ttl01.ttl06.facility_ttl > span span:last-child {
          margin: 0 0 0 -7px;
          padding-left: 0;
        }

        body:not(.detail_member) .ttl01.ttl07.movie_ttl > span span {
          padding-right: 0;
        }

        body:not(.detail_member) .ttl01.kuchikomi_ttl > span:after,
        body:not(.detail_member) .ttl01.ttl07.photo_ttl > span:after,
        body:not(.detail_member) .ttl01.ttl07.movie_ttl > span:after,
        body:not(.detail_member) .ttl01.ttl06.facility_info_ttl.screen_ico > span:after,
        body:not(.detail_member) .ttl01.ttl06.facility_ttl > span:after {
          display: none;
        }

    body:not(.detail_member) .detail_article .ttl06.facility_info_ttl.screen_ico:before {
      transform: translateY(-25%);
    }

    body:not(.detail_member) .main_wrap .detail_article .ttl06.facility_ttl:before {
      transform: translateY(-50%);
    }

    body:not(.detail_member) .ttl07.photo_ttl > span {
      padding: 4px 20px 0 60px;
    }
  }

  /* 基本知識/店舗名検索
   ========================================================================== */
  .col_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
  }

  .acc_wrap {
    max-width: 900px;
  }

  .useful_knowledge,
  .btn_search-list-link {
    display: contents;
  }

  .acc_btn {
    background: #78ac33;
    border-bottom: 4px solid #416c16;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    letter-spacing: .025em;
    padding: 2.5px 25.5px 5.14px 8.5px;
    position: relative;
    text-align: center;
    width: 300px;
  }

    .acc_btn::before {
      background: url(../image-cmn/ico-book.png) no-repeat center center /contain;
      bottom: 0;
      content: '';
      display: block;
      width: 28px;
      height: 28px;
      margin: auto 0;
      position: absolute;
      left: 18px;
      top: 0;
      transition: .5s;
    }

    .acc_btn::after {
      background: url(../image-cmn/ico-plus.png) no-repeat center center /contain;
      bottom: 0;
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      margin: auto 0;
      position: absolute;
      right: 18px;
      top: 0;
      transition: .5s;
    }

    .acc_btn.acc_open:after {
      background: url(../image-cmn/ico-minus.png) no-repeat center center /contain;
    }

    .acc_btn.acc_btn_m,
    .acc_wrap .acc_btn.acc_btn_m {
      max-width: none !important;
      width: 370px;
    }

    .acc_btn.acc_btn_l,
    .acc_wrap .acc_btn.acc_btn_l {
      max-width: none !important;
      width: 370px;
    }

  .col_flex .btn_search-list-link + .useful_knowledge > .acc_btn {
    height: auto;
    margin-left: 20px;
    margin-right: 0;
    margin-top: 0;
    line-height: 1.1;
  }

  .btn_search-list-link a {
    background: #36925f;
    border-radius: 30px;
    border-bottom: 4px solid #255b3d;
    box-sizing: border-box;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.1;
    position: relative;
    width: 320px;
    max-width: none;
  }

  .acc_wrap .acc_btn > span,
  .acc_wrap .btn_search-list-link a {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
  }

    .acc_wrap .acc_btn .fz_lg,
    .acc_wrap .btn_search-list-link a .fz_lg {
      font-size: 120%;
    }

    .acc_wrap .acc_btn .fz_lg.newline {
      flex-basis: 100%;
      width: 100%;
    }

  .acc_wrap .btn_search-list-link a,
  .acc_wrap .acc_btn {
    align-items: center;
    border-radius: 9999px;
    display: flex;
    flex-wrap: wrap;
    font-size: 15px;
    font-weight: 600;
    justify-content: center;
    letter-spacing: 0.025em;
    line-height: 1.25;
    margin: 0 7px;
  }

  .acc_wrap .btn_search-list-link a {
    padding: 9px 20px 8px 38px;
    text-shadow: 0 2px 1px rgb(43 117 76);
  }

  .acc_wrap .acc_btn {
    padding: 7px 30px 6px 40px;
    text-shadow: 0 2px 1px rgb(65 108 22);
  }

  .btn_base .acc_btn {
    position: relative;
    background: #a92121;
    border: 1px solid #831919;
    border-bottom: 5px solid #831919;
    text-shadow: 0 2px 0.98px rgb(118 23 23 / 70%);
  }

    .btn_base .acc_btn::before {
      content: none;
    }

    .btn_base .acc_btn::after {
      background: url(../image-cmn/ico-arrow07.png) center center / contain no-repeat;
      position: absolute;
      top: 2px;
      right: 9px;
      transform: rotate(180deg);
      width: 15px;
    }

  .acc_wrap .btn_search-list-link a:hover,
  .acc_wrap .acc_btn:hover {
    color: #fff;
    opacity: .7;
  }

  .btn_search-list-link .fz17,
  .acc_btn.fz17 {
    font-size: 17px !important;
  }

  .btn_search-list-link a::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 9px;
    width: 38px;
    height: 25px;
    transform: translateY(-49%);
    background: url(../image-cmn/ico-book.png) no-repeat center / contain;
  }

  .btn_search-list-link a::after {
    content: "";
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 6px 0 6px 10px;
    bottom: 0;
    height: 0;
    margin: auto;
    position: absolute;
    right: 6px;
    top: 0;
    width: 0;
  }

  .btn_search-list-link span {
    display: inline-block;
  }

  .btn_glossary a,
  .btn_diagram a {
    background: #78ac33;
    border-bottom: 4px solid #416c16;
    padding: 5px 5px 4px 26px;
  }

  .btn_glossary a::before {
    background: url(../image-cmn/ico-book-op.png) no-repeat center / contain;
    height: 22px;
  }

    .btn_diagram a::before {
        width: 44px;
        background: url(../image-cmn/ico-diagram.png) no-repeat 25% center / contain;
    }

  @media screen and (max-width: 767px) {
    .btn_glossary,
    .btn_diagram {
        margin-top: 1em;
        display: block;
    }

    .acc_wrap .btn_search-list-link.btn_glossary a,
    .acc_wrap .btn_search-list-link.btn_diagram a {
        padding-top: .5em;
        padding-bottom: .5em;
    }
  }

  .acc_btn.acc_btn_cls {
    border-radius: 4px;
    color: #fff;
    display: block;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 22px;
    margin: 7.25px auto 7.5px;
    padding: 1px 24.5px 0 6px;
    position: relative;
    text-align: center;
    text-indent: -4.5px;
    width: 90px;
  }

    .acc_btn.acc_btn_cls:after {
      background: url(../image-cmn/ico-arrow07.png) center center / contain no-repeat;
      position: absolute;
      right: 9px;
      transform: rotate(180deg);
      width: 15px;
    }

  .useful_knowledge {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin: 0 auto 20px;
    width: 568px;
  }

  .useful_knowledge_m {
    width: 480px;
  }

  .acc_wrap .useful_knowledge {
    display: contents;
    width: 100%;
  }

  .acc_inner {
    border: solid 2px #78ac33;
    display: none;
    font-size: 15px;
    line-height: 26px;
    margin: 8px auto 0;
    padding: 15px;
    position: relative;
    text-align: left;
  }

  .acc_wrap .acc_inner {
    padding: 16px;
    width: 516px;
  }

  .acc_inner:before {
    border-color: transparent transparent #78ac33 transparent;
    border-style: solid;
    border-width: 0 8px 8px 8px;
    content: '';
    height: 0;
    left: 50%;
    margin-left: -6px;
    position: absolute;
    top: -9px;
    width: 0;
  }

  .acc_wrap .acc_inner:before {
    left: 461px;
  }

  .acc_inner .ttl_sty01 {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 3.6px;
    margin-bottom: 4px;
    padding-left: 20px;
    padding-right: 31.5px;
  }

  .ttl_sty02 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .8px;
    line-height: 21px;
    margin: 6px 0 10px;
  }

  .acc_inner .ttl_sty03 {
    display: flex;
    line-height: 19.5px;
    padding-bottom: 3.75px;
    text-indent: -21px;
    padding-left: 26.75px;
  }

  .acc_inner ul {
    letter-spacing: .75px;
  }

  .acc_inner > ul {
    padding: 0 0 0 33.75px;
  }

  .acc_inner ul ul {
    padding: 3px 0 5px 30px;
  }

    .acc_inner ul ul li a {
      font-weight: normal;
      padding-left: 11.25px;
      color: #0000ee;
    }

  .ttl_sty02:before {
    content: "◆";
    margin-bottom: 0.15em;
    padding-right: 0.5em;
  }

  .bnr_search-list-link{
    margin-bottom: 30px;
    text-align: center;
  }
  .bnr_search-list-link a:hover{
    opacity: .7;
  }


  @media screen and (max-width: 767px) {
    .acc_wrap {
      margin-top: 1em;
      overflow: hidden;
      width: 90%;
    }

    .btn_search-list-link.btn_search-list_s a,
    .acc_btn,
    .acc_wrap .acc_btn {
      border-radius: 1.2rem;
      font-size: 1.4rem;
      letter-spacing: .05rem;
      line-height: 1.9rem;
      margin-left: auto;
      margin-right: auto;
      margin-top: 1rem;
      padding: .65rem 3.5rem .814rem 1rem;
    }

      .useful_knowledge,
      .acc_wrap .useful_knowledge {
        box-sizing: border-box;
      }

      .acc_wrap .btn_search-list-link + .useful_knowledge > .acc_btn {
        margin-left: auto;
        margin-top: 1rem;
      }

      .acc_wrap .acc_inner {
        line-height: 2.448rem;
        padding: 1.4rem 1.4rem 2rem;
      }

    .acc_wrap .acc_inner:before {
      left: 50%;
      transform: translateX(-50%);
    }

    .acc_inner .ttl_sty01 {
      font-size: 1.7rem;
      font-weight: 600;
      letter-spacing: .25rem;
      line-height: 2.55rem;
      margin-bottom: .425rem;
      padding: 0;
      text-align: center;
      font-size: 19px;
      font-weight: 600;
      margin-bottom: 15px;
      text-align: center;
    }

    .ttl_sty02 {
      display: flex;
      font-size: 1.632rem;
      font-weight: 600;
      line-height: 2.2rem;
      margin: 0 0 .3264rem;
      padding: 0;
      text-indent: 0;
    }

      .ttl_sty02:before {
        content: "◆";
        padding-right: .3264rem;
      }

    .acc_inner ul ul,
    .acc_inner ul {
      letter-spacing: 0;
      margin: 0;
      padding-left: 0;
    }

    .acc_inner .ttl_sty03 {
      line-height: 2.1rem;
      padding-left: 1.9rem;
      text-indent: -1.9rem;
    }

    .acc_inner ul ul li {
      font-size: 1.4rem;
      line-height: 1.96rem;
      padding-left: .7rem;
    }

    .useful_knowledge .btn_base {
      display: table;
      margin: 0 auto;
      text-align: center;
      width: 100%;
    }

    .acc_btn.acc_btn_cls {
      background-color: #a92121;
      border-radius: .4rem;
      border: none;
      box-shadow: 0 1px 0 1px rgb(0 0 0 / 15%);
      box-sizing: border-box;
      color: #fff;
      display: inline-block;
      font-size: 1.4rem;
      margin: 0.5em auto 0;
      padding: .7rem 2.8rem;
      position: relative;
      text-align: left;
      text-decoration: none;
      vertical-align: middle;
      width: auto;
    }

    .btn_search-list-link.btn_search-list_s a {
      width: 100%;
      padding: 0.65rem 3.5rem 0.814rem 4rem;
    }

    .acc_btn.acc_btn_l, .acc_wrap .acc_btn.acc_btn_l {
      width: 100%;
      padding: 0.65rem 3.5rem 0.814rem 4rem;
    }

    .acc_btn.acc_btn_cls:after {
      display: none;
    }

    .btn_search-list-link a::before {
      width: 20px;
      height: 20px;
      left: 10px;
    }

    .btn_search-list-link a::after {
      right: 10px;
    }

    .acc_btn::before {
      width: 23px;
      height: 23px;
      left: 10px;
    }

    .acc_btn::after {
      width: 20px;
      height: 20px;
      right: 10px;
    }

    .bnr_search-list-link {
      margin-bottom: 5px;
    }

  }

  /* 施設種別の解説モーダル
   ========================================================================== */
  .modal_box.modal_facilityTypes {
    background: #fffafb;
  }

  .modal_facilityTypes_wrap {
    border-radius: 10px;
    margin-bottom: 20px;
    margin-top: 10px;
    padding-top: 20px;
  }

  .modal_facilityTypes_title {
    display: flex;
    align-items: center;
    position: relative;
  }

    .modal_facilityTypes_title::before {
      background-color: #64af86;
      content: "";
      display: block;
      height: 2px;
      left: 50%;
      position: absolute;
      transform: translateX(-50%);
      top: calc(50% - 1px);
      width: 92%;
    }

    .modal_facilityTypes_title span {
      position: relative;
      background: #fbfff2;
      padding: 0 .5em;
      margin: 0 auto;
      display: inline-block;
      font-size: 2rem;
      font-weight: 600;
      z-index: 1;
    }

  .modal_facilityTypes_desc {
    border-bottom: solid 1px #f75586;
    margin: 14px 44px;
  }

  .modal_facilityTypes_title + .modal_facilityTypes_desc {
    margin-top: 12px;
  }

  .modal_facilityTypes_desc:last-child {
    border-bottom: none !important;
  }

  .modal_facilityTypes_desc dl {
    font-size: 16px;
    padding: 0 0 15px 15px;
  }

    .modal_facilityTypes_desc dl dt {
      position: relative;
      color: #000;
      font-weight: 600;
      line-height: 1.5;
    }

      .modal_facilityTypes_desc dl dt::before {
        content: "";
        display: block;
        position: absolute;
        width: 5px;
        height: 5px;
        background-color: currentColor;
        top: 50%;
        transform: translateY(-50%);
        left: -10px;
      }

    .modal_facilityTypes_desc dl dd {
      line-height: 1.5;
    }

  .modal_box.modal_facilityTypes .modal_close_btn {
    border: none;
    background: #ea6094;
    box-shadow: 0px 4px rgba(0,0,0, 0.2);
  }

  .ttl_md_facilityTypes {
    text-align: center;
  }

    .ttl_md_facilityTypes span {
      text-align: center;
      color: #fff;
      background: #f75586;
      display: inline-block;
      font-size: 2.5rem;
      font-weight: 600;
      margin: 0 auto 1em;
      padding: 0.3em 2.5em;
    }

  @media screen and (max-width:767px) {
    .modal_facilityTypes_desc {
      margin: 0 1em;
    }

      .modal_facilityTypes_desc dl {
        padding: 1em;
      }

    .ttl_md_facilityTypes span {
      margin-top: 1em;
    }

    html .modal_lock .modal_overlay {
      z-index: 10;
    }
  }

  .modal_box.modal_facilityTypes {
    display: none;
  }

  @media screen and (min-width:768px) {
    .btn_search-list-link.btn_diagram a{
      margin-top: 1em;
    }

    .modal_box.modal_facilityTypes {
      padding: 40px 37px 10px;
      border-radius: 20px;
    }

    .modal_box.modal_facilityTypes .modal_close_btn {
      width: 45px;
      height: 45px;
      background: #ea6094;
      box-shadow: 0px 4px rgba(0,0,0, 0.2);
    }
  }
  .modal_facilityTypes_wrap .btn_area {
    margin: 25px 0 0 auto;
    width: 120px;
  }
  .modal_facilityTypes_wrap .btn_area .btn_com {
    border: none;
    border-radius: 20px;
    font-size: 15px;
    font-weight: 600;
    padding: 3px 14px 3px 8px;
  }
  .modal_facilityTypes_wrap .btn_area .btn_arrow::after {
    right: 13px;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(1) {
    background-color: #FEEDF2;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(1) .modal_facilityTypes_desc {
    border-bottom: solid 1px #f75586;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(1) .modal_facilityTypes_title span {
    background:#FEEDF2;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(1) .modal_facilityTypes_title::before {
    background-color: #dd4573;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(1) .modal_facilityTypes_desc dl dt::before {
    background-color: #f75586;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(2) {
    background-color: #E9F1E6;
  } 
  ul.modal_facilityTypes_wrap:nth-of-type(2) .modal_facilityTypes_desc {
    border-bottom: solid 1px #53B75B;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(2) .modal_facilityTypes_title span {
    background:#E9F1E6;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(2) .modal_facilityTypes_title::before {
    background-color: #53B75B;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(2) .modal_facilityTypes_desc dl dt::before {
    background-color: #53B75B;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(2) .btn_com {
    background-color: #53B75B;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(3) {
    background-color:#FCECE2;
  } 
  ul.modal_facilityTypes_wrap:nth-of-type(3) .modal_facilityTypes_desc {
    border-bottom: solid 1px #E7913C;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(3) .modal_facilityTypes_title span {
    background:#FCECE2;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(3) .modal_facilityTypes_title::before {
    background-color: #E7913C;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(3) .modal_facilityTypes_desc dl dt::before {
    background-color: #E7913C;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(3) .btn_com {
    background-color: #E7913C;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(4) {
    background-color:#E9F0F3;
  } 
  ul.modal_facilityTypes_wrap:nth-of-type(4) .modal_facilityTypes_desc {
    border-bottom: solid 1px #57ADBE;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(4) .modal_facilityTypes_title span {
    background:#E9F0F3;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(4) .modal_facilityTypes_title::before {
    background-color: #57ADBE;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(4) .modal_facilityTypes_desc dl dt::before {
    background-color: #57ADBE;
  }
  ul.modal_facilityTypes_wrap:nth-of-type(4) .btn_com {
    background-color: #57ADBE;
  }


/* 高齢者施設キーワード相関図モーダル
   ========================================================================== */

.modal_diagram {
    background: url('/static/top/image/bg-diagram.png') no-repeat center center / contain;
    border-radius: 0;
    max-height: 650px;
    position: relative;
    max-width: none;
    width: auto;
    aspect-ratio: 1001 / 650;
}

.modal_diagram .modal_close_btn {
    align-items: center;
    aspect-ratio: 45 / 45;
    background: #369b7d;
    border-color: transparent;
    display: flex;
    height: calc((45 / 650) * 100 * 1%);
    justify-content: center;
    right: calc((20 / 1001) * 100 * -1%);
    padding: 0.125em;
    top: calc((20 / 650) * 100 * -1%);
    width: calc((45 / 1001) * 100 * 1%);
}

.modal_diagram .modal_close_btn i {
    aspect-ratio: 45 / 45;
    color: #fff;
    font-size: calc(((((45 / 650) * 100) - 4.75) * 100) * 1%);
    height: 100%;
    line-height: 100%;
    width: auto;
}

.modal_diagram_ttl {
    background: url('/static/top/image/ico-clover.png') no-repeat left center / 25px auto, url('/static/top/image/ico-clover.png') no-repeat right center / 25px auto;
    color: #fff;
    line-height: 45px;
    margin: 0 auto;
    padding: 0 45px 0 35px;
    text-align: center;
    width: fit-content;
}

.modal_diagram_ttl img {
    aspect-ratio: 1189 / 52;
    height: calc((26 / 45) * 100 * 1%);
    width: auto;
}

.modal_diagram_sub_ttl,
.modal_diagram_item {
    position: absolute;
    width: auto;
}

.modal_diagram_sub_ttl img,
.modal_diagram_item img {
    height: 100%;
    width: 100%;
}

.modal_diagram_sub_ttl {
    align-items: center;
    color: #fff;
    display: flex;
    font-weight: 600;
    line-height: 1;
    justify-content: center;
}

.modal_diagram_sub_ttl_shisetu {
    background-color: #369b7d;
    border-radius: 35px;
    font-size: 22px;
    left: 40%;
    padding: 7px 30px;
    top: 12%;
}

.modal_diagram_sub_ttl_kaigoshisetu {
    background-color: #d4a20c;
    border-radius: 35px;
    font-size: 19px;
    left: 42%;
    padding: 6px 28px;
    top: 19%;
}

.modal_diagram_sub_ttl_kaigohoken {
    background-color: #d4a20c;
    border-radius: 35px;
    font-size: 19px;
    left: 16%;
    padding: 6px 24px;
    top: 19%;
}

.modal_diagram_sub_ttl_tintai {
    background-color: #369b7d;
    border-radius: 35px;
    font-size: 19px;
    left: 25.5%;
    padding: 6px 24px;
    top: 90%;
}

.modal_diagram_sub_ttl_jyutaku {
    background-color: #369b7d;
    border-radius: 35px;
    font-size: 19px;
    left: 43.5%;
    padding: 6px 24px;
    top: 90%;
}

.modal_diagram_item_s {
    height: calc((125 / 650) * 100 * 1%);
    aspect-ratio: 125 / 125;
}

.modal_diagram_item_m {
    height: calc((155 / 650) * 100 * 1%);
    aspect-ratio: 155 / 155;
}

.modal_diagram_item01 {
    left: 46%;
    top: 25%;
}

.modal_diagram_item02 {
    left: 11%;
    top: 28%;
}

.modal_diagram_item03 {
    left: 25%;
    top: 28%;
}

.modal_diagram_item04 {
    left: 18%;
    top: 45%;
}

.modal_diagram_item05 {
    left: 61.5%;
    top: 25%;
}

.modal_diagram_item06 {
    left: 77%;
    top: 25%;
}

.modal_diagram_item07 {
    left: 40%;
    top: 47.5%;
}

.modal_diagram_item08 {
    left: 56%;
    top: 47.5%;
}

.modal_diagram_item09 {
    left: 63%;
    top: 64%;
}

.modal_diagram_item10 {
    left: 20%;
    top: 70.75%;
}

.modal_diagram_item11 {
    left: 35%;
    top: 70.75%;
}

.modal_diagram_item12 {
    left: 50%;
    top: 70.75%;
}
@media screen and (max-width: 767px) {
  .modal_diagram {
    width: 1024px;
  }
}
@media screen and (min-width: 768px) {
    .modal_diagram_item a:hover::after {
        content: '';
        background-color: rgba(225, 225, 225, .2);
        border-radius: 50%;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
    }
}

/* ------------------------------------ */
/* ▼ FONT Size em指定 */
/* ------------------------------------ */
.fz0_6em {
  font-size: .6em;
}
.fz0_65em {
  font-size: .65em;
}
.fz0_7em {
  font-size: .7em;
}
.fz0_75em {
  font-size: .75em;
}
.fz0_8em {
  font-size: .8em;
}
.fz0_85em {
  font-size: .85em;
}
.fz0_9em {
  font-size: .9em;
}
.fz0_95em {
  font-size: .95em;
}
.fz1em {
  font-size: 1em;
}
.fz1_05em {
  font-size: 1.05em;
}
.fz1_1em {
  font-size: 1.1em;
}
.fz1_15em {
  font-size: 1.15em;
}
.fz1_2em {
  font-size: 1.2em;
}
.fz1_25em {
  font-size: 1.25em;
}
.fz1_3em {
  font-size: 1.3em;
}
.fz1_35em {
  font-size: 1.35em;
}
.fz1_4em {
  font-size: 1.4em;
}
.fz1_45em {
  font-size: 1.45em;
}
.fz1_5em {
  font-size: 1.5em;
}
/* SP Only */
@media screen and (max-width: 767px) {
  .sp_fz0_6em {
    font-size: .6em;
  }
  .sp_fz0_65em {
    font-size: .65em;
  }
  .sp_fz0_7em {
    font-size: .7em;
  }
  .sp_fz0_75em {
    font-size: .75em;
  }
  .sp_fz0_8em {
    font-size: .8em;
  }
  .sp_fz0_85em {
    font-size: .85em;
  }
  .sp_fz0_9em {
    font-size: .9em;
  }
  .sp_fz0_95em {
    font-size: .95em;
  }
  .sp_fz1em {
    font-size: 1em;
  }
  .sp_fz1_05em {
    font-size: 1.05em;
  }
  .sp_fz1_1em {
    font-size: 1.1em;
  }
  .sp_fz1_15em {
    font-size: 1.15em;
  }
  .sp_fz1_2em {
    font-size: 1.2em;
  }
  .sp_fz1_25em {
    font-size: 1.25em;
  }
  .sp_fz1_3em {
    font-size: 1.3em;
  }
  .sp_fz1_35em {
    font-size: 1.35em;
  }
  .sp_fz1_4em {
    font-size: 1.4em;
  }
  .sp_fz1_45em {
    font-size: 1.45em;
  }
  .sp_fz1_5em {
    font-size: 1.5em;
  }
}

/* ------------------------------------ */
/* ▼ margin top, bottom, right, left */
/* ------------------------------------ */
/* SP Only */
@media screen and (max-width: 767px) {
  .sp_mt0 {
    margin-top: 0 !important;
  }
  .sp_mr0 {
    margin-right: 0 !important;
  }
  .sp_ml0 {
    margin-left: 0 !important;
  }
  .sp_mt5 {
    margin-top: 5px !important;
  }
  .sp_mt10 {
    margin-top: 10px !important;
  }
  .sp_mt15 {
    margin-top: 15px !important;
  }
  .sp_mt20 {
    margin-top: 20px !important;
  }
  .sp_mt25 {
    margin-top: 25px !important;
  }
  .sp_mt30 {
    margin-top: 30px !important;
  }
  .sp_mt35 {
    margin-top: 35px !important;
  }
  .sp_mt40 {
    margin-top: 40px !important;
  }
  .sp_mt50 {
    margin-top: 50px !important;
  }
  .sp_mt60 {
    margin-top: 60px !important;
  }
  .sp_mt70 {
    margin-top: 70px !important;
  }
  .sp_mt80 {
    margin-top: 80px !important;
  }
  .sp_mt90 {
    margin-top: 90px !important;
  }
  .sp_mt100 {
    margin-top: 100px !important;
  }
  
  .sp_mb0 {
    margin-bottom: 0 !important;
  }
  .sp_mb5 {
    margin-bottom: 5px !important;
  }
  .sp_mb10 {
    margin-bottom: 10px !important;
  }
  .sp_mb15 {
    margin-bottom: 15px !important;
  }
  .sp_mb20 {
    margin-bottom: 20px !important;
  }
  .sp_mb25 {
    margin-bottom: 25px !important;
  }
  .sp_mb30 {
    margin-bottom: 30px !important;
  }
  .sp_mb35 {
    margin-bottom: 35px !important;
  }
  .sp_mb40 {
    margin-bottom: 40px !important;
  }
  .sp_mb50 {
    margin-bottom: 50px !important;
  }
  .sp_mb60 {
    margin-bottom: 60px !important;
  }
  .sp_mb70 {
    margin-bottom: 70px !important;
  }
  .sp_mb80 {
    margin-bottom: 80px !important;
  }
  .sp_mb90 {
    margin-bottom: 90px !important;
  }
  .sp_mb100 {
    margin-bottom: 100px !important;
  }
}