@charset "utf-8";
/* CSS Document */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');
@import url('https://fonts.googleapis.com/css?family=Vollkorn:400,700,900');
@import url('https://fonts.googleapis.com/css?family=PT+Serif');
/*@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);*/
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');
/* font-family: 'M PLUS 1p', sans-serif; */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
/*font-family: 'Poppins', sans-serif;*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap" rel="stylesheet');
/*font-family: "Noto Serif JP", serif; 明朝体*/



@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.0.1/dist/css/yakuhanjp.css");
/* font-family: YakuHanJP, ゴシック*/

@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.0.1/dist/css/yakuhanmp.css');
/* font-family: YakuHanMP, 明朝*/

@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@4.0.1/dist/css/yakuhanrp.css');
/* font-family: YakuHanRP, 丸ゴ*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;800;900&display=swap');
/* font-family: 'Noto Sans JP', sans-serif; */




/* =============================================================================
   clearfix
   ========================================================================== */
.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
/* IE/Mac */
.clearfix{
	display: inline-table;
	zoom: 1;
}
/* Hide from IE/Mac, apply to IE/Win \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}

.clear {
	clear: both;
	display: block;
}


/* =============================================================================
   デザイン基本
   ========================================================================== */
body {
   margin: 0;
   overflow-y: scroll; /* 2 */
   font-family: "Noto Sans JP", sans-serif;
   font-optical-sizing: auto;
   font-weight: 400;
   font-style: normal;
}

html,body{
   min-width:1100px;
}

ul, ol, dl {
	list-style-type: none;
}

h1,h2,h3,h4,h5,p,ol,ul,li,dl,dt,dd{
	margin:0;
	padding:0;
}

p{
	padding-top:10px;
}

img {
   vertical-align:bottom
}


.cau01{
   background-color: rgba(254,112,150,1.00);
   color: rgba(255,255,255,1.00);
   padding: 3px 10px;
   font-weight: 600;
}

.lh16{
   line-height: 1.6;
}

/* -----------------------------------------
   区切り指定
   -----------------------------------------*/

.ne span{
  display:inline-block;
}


/* -----------------------------------------
   文字下げ
   -----------------------------------------*/

.sage{
    padding-left: 1em; 
    text-indent: -1em; 
}

.sage1_5{
    padding-left: 1.5em; 
    text-indent: -1.5em; 
}

.sage2{
    padding-left: 2em; 
    text-indent: -2em; 
}


.sage2_5{
    padding-left: 2.5em; 
    text-indent: -2.5em; 
}

.sage3{
    padding-left: 3em; 
    text-indent: -3em; 
}

.sage4{
    padding-left: 4em; 
    text-indent: -4em; 
}

.sage5{
    padding-left: 5em; 
    text-indent: -5em; 
}

.sage6{
    padding-left: 6em; 
    text-indent: -6em; 
}

.sage7{
    padding-left: 7em; 
    text-indent: -7em; 
}

.ev_sage{
    padding-left: 1em; 
    text-indent: -1em;
    margin-bottom: 7px;
}


.sage_link{
  position: relative;
  padding: 0 0 0 1.2em;
}

.sage_link::before {
  position: absolute;
  left: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f35a';
  color: #686868;
}

.sage_dot{
  position: relative;
  padding: 0 0 0 1.0em;
}

.sage_dot::before {
  position: absolute;
  left: 0;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: '\f105';
}


.sage_dot2{
  position: relative;
  padding: 0 0 0 1.0em;
}

.sage_dot2::before {
  position: absolute;
  left: 0;
  font-weight: 900;
  content: '・';
}

.sage_kome{
  position: relative;
  padding: 0 0 0 1.0em;
}

.sage_kome::before {
  position: absolute;
  left: 0;
  font-weight: 900;
  content: '※';
}


/* -----------------------------------------
   下空け
   -----------------------------------------*/

.mb07{
  margin-bottom: 7px;
}

.mb10{
  margin-bottom: 10px;
}

.mb15{
  margin-bottom: 15px;
}

.mb20{
  margin-bottom: 20px;
}

.mb25{
  margin-bottom: 25px;
}

.mb30{
  margin-bottom: 30px;
}

.mb40{
  margin-bottom: 40px;
}

.mb50{
  margin-bottom: 50px;
}

.mb60{
  margin-bottom: 60px;
}

.mb80{
  margin-bottom: 80px;
}

/* -----------------------------------------
   上空け
   -----------------------------------------*/

.mt07{
  margin-top: 7px;
}

.mt10{
  margin-top: 10px;
}

.mt15{
  margin-top: 15px;
}

.mt20{
  margin-top: 20px;
}

.mt25{
  margin-top: 25px;
}

.mt30{
  margin-top: 30px;
}

.mt40{
  margin-top: 40px;
}

.mt50{
  margin-top: 50px;
}

/* -----------------------------------------
   左空け
   -----------------------------------------*/

.ml10{
  margin-left: 10px;
}

.ml15{
  margin-left: 15px;
}

.ml20{
  margin-left: 20px;
}

.ml25{
  margin-left: 25px;
}

.ml30{
  margin-left: 30px;
}

/* -----------------------------------------
   右空け
   -----------------------------------------*/

.mr10{
  margin-right: 10px;
}

.mr15{
  margin-right: 15px;
}

.mr20{
  margin-right: 20px;
}

.mr25{
  margin-right: 25px;
}

.mr30{
  margin-right: 30px;
}



/* -----------------------------------------
   インデックス
   -----------------------------------------*/

h1{
  font-size: 300%;
  font-weight: 900;
  font-family: "Noto Serif JP", serif; 
  margin-bottom: 10px;
  color: rgba(254,112,150,1.00);
  line-height: 1.4;
}

h2{
  font-size: 180%;
  font-weight: 900;
  font-family: "Noto Serif JP", serif;
  line-height: 1.6;
}

.gsc{
  font-family: "Noto Sans Japanese";
}

h3{
  font-size: 140%;
  font-weight: 900;
  font-family: "Noto Serif JP", serif; 
}

h4{
  font-size: 200%;
  font-weight: 700;
  font-family: "Noto Serif JP", serif; 
  margin-bottom: 10px;
  line-height: 1.4;
}

h5{
  font-size: 200%;
  font-weight: 900;
  border-bottom: rgba(254,112,150,1.00) 2px solid;
  border-left: rgba(254,112,150,1.00) 20px solid;
  padding-left: 10px;
  line-height: 1.6;
}

h6{
}


.h_pink{
  border-left: rgba(254,112,150,1.00) 60px solid;
  padding: 10px 15px;
  background-color: rgba(253,217,229,1.00);
  border-radius: 10px;
  color: rgba(77,77,77,1.00);
}


.h_pink2{
  padding: 10px 15px;
  background-color: rgba(254,112,150,1.00);
  color: rgba(255,255,255,1.00);
    -webkit-box-shadow: 10px 10px 0 #FF2D88;
  box-shadow: 10px 10px 0 #FF2D88;
}
   @media screen and (max-width: 480px) {
      .h_pink2{
        padding: 5px 15px;
          -webkit-box-shadow: 5px 5px 0 #FF2D88;
        box-shadow: 5px 5px 0 #FF2D88;
}
   
   }


h2.pink{
  border-bottom: rgba(233,135,174,1.00) 4px dotted;
}


/* -----------------------------------------
   区切りバー
   -----------------------------------------*/
 
 .bar01{
   border-bottom: rgba(0,0,0,1.00) 1px solid;
 }
 
 .bar02{
   border-bottom: rgba(0,0,0,1.00) 2px dotted;
 }
 
  .bar03{
   border-bottom: rgba(91,91,91,1.00) 1px dotted;
 }
   
/* -----------------------------------------
   ボーダー
   -----------------------------------------*/

.border_gray{
  border: rgba(142,142,142,1.00) 1px solid;
}

.border_pink{
  border: rgba(254,112,150,1.00) 2px solid;
  box-sizing:border-box;
}


.border_inner{
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

/* -----------------------------------------
   Awaysome
   -----------------------------------------*/

i{
  padding-right: 5px;
}

/* -----------------------------------------
   フォントサイズ
   -----------------------------------------*/

.fsize50{
	font-size:50%;
}

.fsize60{
	font-size:60%;
}

.fsize70{
	font-size:70%;
}

.fsize80{
	font-size:80%;
}

.fsize90{
	font-size:90%;
}

.fsize100{
	font-size:100%;
}

.fsize110{
	font-size:110%;
}

.fsize120{
	font-size:120%;
}

.fsize130{
	font-size:130%;
}

/* -----------------------------------------
   フォントカラー
   -----------------------------------------*/

.txt_white{
	color:#FFFFFF;
}
.txt_red1{
	color:#C6002F;
}

.txt_red2{
	color:#CC5F7D;
}

.txt_pink1{
	color:rgba(254,112,150,1.00);
}

.txt_pink2{
	color:#FDD9E5;
}

.txt_pink3{
	color:rgba(255,133,172,1.00);
}

.txt_pink4{
	color:rgba(244,204,207,1.00);
}

.txt_blue1{
	color:rgba(65,126,223,1.00);
}

.txt_blue2{
	color:#09F;
}

.txt_green1{
	color:#396;
}

.txt_green2{
	color:#00A6A3;
}

.txt_green3{
	color:#7FBF39;
}

.txt_gray1{
	color:#999;
}

.txt_gray2{
	color: rgba(77,77,77,1.00);;
}

.txt_Purple1{
	color:#90C;
}

.txt_orange1{
	color:#F60;
}

.txt_yellow{
	color:rgba(245,236,153,1.00);
}

.txt_brown{
  color: rgba(223,174,91,1.00);
}

/* -----------------------------------------
   イメージサイズ
   -----------------------------------------*/

.img_100 img{
  width: 100%;
  height: auto;
}

.img_99 img{
  width: 99%;
  height: auto;
}



  
  
/* -----------------------------------------
   TOPへ戻る
   -----------------------------------------*/
#back-top {
    position: fixed;
    bottom: 35px;
    right: 10px;
	 z-index:100;
}
#back-top a {
    width: 60px;
    height: 60px;
    display: block;
}

#back-top img{
   width: 60px;
   height: 60px;
}

#back-top img{
   border: rgba(255,253,249,1.00) 1px solid;
   border-radius: 30px;
}

/* -----------------------------------------
   ＰＣ・スマホ表示切り替え
   -----------------------------------------*/

.style_pc{
  display: block;
}

.style_mobile{
  display: none !important;
}

#mobileHeader{
	display:none;
}


/* =============================================================================
   Flex 
   ========================================================================== */
   
.flex_wrapper{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex_wrapper2{
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.flex_wrapper3{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}


.flex_box_15{
  width: 15%;
}

.flex_box_8{
  width: 8%;
}

.flex_box_10{
  width: 10%;
}


.flex_box_18{
  width: 18%;
}
.flex_box_20{
  width: 20%;
}

.flex_box_23{
  position: relative;
  overflow: hidden;
  width: 23%;
}


.flex_box_24{
  position: relative;
  overflow: hidden;
  width: 24%;
}

.flex_box_25{
  position: relative;
  overflow: hidden;
  width: 25%;
}

.flex_box_28{
  width: 28%;
}

.flex_box_30{
  position: relative;
  overflow: hidden;
  width: 30%;
}

.flex_box_32{
  position: relative;
  overflow: hidden;
  width: 32%;
}

.flex_box_33{
  position: relative;
  overflow: hidden;
  width: 33.333333%;
}

.flex_box_38{
  position: relative;
  overflow: hidden;
  width: 38%;
}
.flex_box_40{
  position: relative;
  overflow: hidden;
  width: 40%;
}

.flex_box_48{
  position: relative;
  overflow: hidden;
  width: 48%;
}

.flex_box_49{
  position: relative;
  overflow: hidden;
  width: 48.7%;
}

.flex_box_50{
  width: 50%;
}

.flex_box_55{
  width: 55%;
}


.flex_box_58{
  width: 58%;
}
.flex_box_60{
  width: 60%;
}

.flex_box_68{
  width: 68%;
}
.flex_box_70{
  width: 70%;
}

.flex_box_78{
  width: 80%;
}
.flex_box_78{
  width: 80%;
}

.flex_box_100{
  position: relative;
  overflow: hidden;
  width: 100%;
}

.flex_box_pv{
  width: 75%;
}






.fb08{
  position: relative;
  overflow: hidden;
  width: 8%;
}
.fb10{
  position: relative;
  overflow: hidden;
  width: 10%;
}
.fb18{
  position: relative;
  overflow: hidden;
  width: 18%;
}
.fb20{
  position: relative;
  overflow: hidden;
  width: 20%;
}
.fb23{
  position: relative;
  overflow: hidden;
  width: 23%;
}
.fb24{
  position: relative;
  overflow: hidden;
  width: 24%;
}
.fb25{
  position: relative;
  overflow: hidden;
  width: 25%;
}
.fb28{
  position: relative;
  overflow: hidden;
  width: 28%;
}
.fb30{
  position: relative;
  overflow: hidden;
  width: 30%;
}
.fb33{
  position: relative;
  overflow: hidden;
  width: 33.3333%;
}
.fb32{
  position: relative;
  overflow: hidden;
  width: 32%;
}
.fb38{
  position: relative;
  overflow: hidden;
  width: 38%;
}
.fb40{
  position: relative;
  overflow: hidden;
  width: 40%;
}
.fb48{
  position: relative;
  overflow: hidden;
  width: 48%;
}
.fb49{
  position: relative;
  width: 49%;
}
.fb50{
  position: relative;
  overflow: hidden;
  width: 50%;
}
.fb55{
  position: relative;
  overflow: hidden;
  width: 55%;
}
.fb58{
  position: relative;
  overflow: hidden;
  width: 58%;
}
.fb60{
  position: relative;
  overflow: hidden;
  width: 60%;
}
.fb68{
  position: relative;
  overflow: hidden;
  width: 68%;
}
.fb70{
  position: relative;
  overflow: hidden;
  width: 70%;
}
.fb78{
  position: relative;
  overflow: hidden;
  width: 78%;
}
.fb80{
  position: relative;
  overflow: hidden;
  width: 80%;
}
.fb100{
  position: relative;
  overflow: hidden;
  width: 100%;
}





/* ---------------------------------------------------------------------------
   ページャー
   ---------------------------------------------------------------------------*/

.page {
}

.page-elm {
	overflow:hidden;
}

.pager {
	clear:both;
	margin:30px 0;
	text-align:center;
}

.pager span {
	margin:5px;
	padding:5px 8px;
	color:#FFFFFF;
	background:rgba(0,0,0,1.00);
	border:rgba(171,0,0,1.00) 1px solid;
}
.pager span:hover {
	cursor:pointer;
	background:rgba(171,0,0,1.00);
	color:rgba(255,255,255,1.00);
}

.pager span.current {
	color:#fff;
	background:rgba(171,0,0,1.00);
}
.pager span.current:hover {
	cursor:default;
}

.pager span.invalid {
	display:none;
}
.pager span.invalid:hover {
	cursor:default;
}

.pager span.ellipsis {
	color:#000;
	background:none;
	border:none;
}
.pager span.ellipsis:hover {
	cursor:default;
}

.pager span.first,
.pager span.last,
.pager span.prev,
.pager span.next {
	background:rgba(0,0,0,1.00);
	border:rgba(255,255,255,1.00) 1px solid;
	color:rgba(255,255,255,1.00);
}

.pager span.first:hover,
.pager span.last:hover,
.pager span.prev:hover,
.pager span.next:hover {
	color:#fff;
	background:rgba(171,0,0,1.00);
}

.pageNum {
	margin:30px 0;
	text-align:center;
}


/* ----------------------------*/


.pageFilter{
  width: 100%;
  margin: auto;
}

.pageFilter li{
  float: left;
	padding-bottom:10px;
  padding: 10px 15px 10px 15px;
  margin-right: 10px;
  border: rgba(223,174,91,1.00) 1px solid;
  background-color: rgba(255,255,255,1.00);
  border-radius: 10px;
}

	.pageFilter a{
		color:rgba(0,0,0,1.00) !important;
		text-decoration:none;
	}

	.pageFilter .selected a{
    color:rgba(255,255,255,1.00) !important;
	  font-weight:900;
	}
  
	.pageFilter .selected {

    background-color: rgba(237,152,176,1.00);
	}
	
	.pageFilter a.visited{
		color:rgba(0,0,0,1.00);
		text-decoration:none;
  }



/* ==========================================================================
   記事フィルター
   ========================================================================== */

.filter_wrapper{
  position: relative;
  overflow: hidden;
  width: 100%;
}

.filter_wrapper a{
  display: block;
}

.filter_wrapper .list{
  display: block;
  float: left;
  margin-right: 15px;
  line-height: 1.8;
  font-weight: 400;
  padding: 3px 10px 3px 10px;
  background-color: rgba(255,255,255,1.00);
  border: rgba(155,155,155,1.00) 1px solid;
}

.filter_wrapper .list a{
  color: rgba(124,124,122,1.00);
  text-decoration: none;
}
.filter_wrapper .list a:visited{
  color: rgba(124,124,122,1.00);
  text-decoration: none;
}

/* =============================================================================
   メニューフィルター
   ========================================================================== */

.newsFilter li{
}

	.newsFilter a{
    display:block;
    text-decoration: none;
    width: 100%;
	}


	.newsFilter .selected {
    background-color: rgba(254,112,150,1.00);
	}
	
	.newsFilter li .visited{
    background-color: rgba(233,135,174,1.00);
	}

	.spList{
		/*width: 1000px;*/
	}
/* =============================================================================
   イメージフロート
   ========================================================================== */

.img_left{
  float: left;
  margin: auto 20px 20px auto;
}


.mobile-contact-bar {
  display: none;
}
/* 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
   スマホ版
   〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 */

@media screen and (max-width: 480px) {


/* ==========================================================================
   デザイン基本
   ========================================================================== */

html,body{
	min-width:100%;
	max-width:100%;
  font-size: 110%;
}


img{
	width:100%;
	height:auto;
}

/* =============================================================================
   イメージフロート
   ========================================================================== */

.img_left{
  float: none;
  width: 90%;
  margin: auto auto 20px auto;
}

/* -----------------------------------------
   ＰＣ・スマホ表示切り替え
   -----------------------------------------*/

.style_pc{
  display: none !important;
}

.style_mobile{
  display: block !important;
}

#mobileHeader{
	display:block;
	position:absolute;
	width:100%;
	height:50px;
  z-index: 999;
  top: 0;
}


/* -----------------------------------------
   インデックス
   -----------------------------------------*/

h1{
  font-size: 140%;
}

h2{
  font-size: 130%;
}

h3{
}

h4{
  font-size: 110%;
  font-weight: 700;
  font-family: source-han-serif-japanese, serif; 
  margin-bottom: 10px;
  line-height: 1.4;
}

h5{
}

h6{
}


.h_pink{
  border-left: rgba(254,112,150,1.00) 30px solid;
  padding: 6px 10px;
  background-color: rgba(253,217,229,1.00);
  border-radius: 10px;
  color: rgba(77,77,77,1.00);
}


/* =============================================================================
   Flex 
   ========================================================================== */
   
.flex_wrapper{
  display:block;
}



.flex_box_15{
  width: 100%;
}

.flex_box_8{
  width: 100%;
}

.flex_box_10{
  width: 100%;
}


.flex_box_18{
  width: 100%;
}

.flex_box_20{
  width: 100%;
}

.flex_box_23{
  width: 100%;
}


.flex_box_24{
  width: 100%;
}

.flex_box_25{
  width: 100%;
}

.flex_box_28{
  width: 100%;
}

.flex_box_30{
  width: 100%;
}

.flex_box_32{
  width: 100%;
}

.flex_box_33{
  width: 100%;
}

.flex_box_38{
  width: 100%;
}
.flex_box_40{
  width: 100%;
}

.flex_box_48{
  width: 100%;
}

.flex_box_49{
  width: 100%;
}

.flex_box_50{
  width: 100%;
}

.flex_box_55{
  width: 100%;

}


.flex_box_58{
  width: 100%;
}
.flex_box_60{
  width: 100%;
}

.flex_box_68{
  width: 100%;
}
.flex_box_70{
  width: 100%;
}

.flex_box_78{
  width: 100%;
}
.flex_box_78{
  width: 100%;
}

.flex_box_100{
  width: 100%;
}

.flex_box_pv{
  width: 100%;
}








.fb08{
  width: 100%;
}
.fb10{
  width: 100%;
}
.fb18{
  width: 100%;
}
.fb20{
  width: 100%;
}
.fb23{
  width: 100%;
}
.fb24{
  width: 100%;
}
.fb25{
  width: 100%;
}
.fb28{
  width: 100%;
}
.fb30{
  width: 100%;
}
.fb33{
  width: 100%;
}
.fb32{
  width: 100%;
}
.fb38{
  width: 100%;
}
.fb40{
  width: 100%;
}
.fb48{
  width: 100%;
}
.fb49{
  width: 100%;
}
.fb50{
  width: 100%;
}
.fb55{
  width: 100%;
}
.fb58{
  width: 100%;
}
.fb60{
  width: 100%;
}
.fb68{
  width: 100%;
}
.fb70{
  width: 100%;
}
.fb78{
  width: 100%;
}
.fb80{
  width: 100%;
}
.fb100{
  width: 100%;
}

.mlc{
   margin-left: 0;
}


/* ==========================================================================
   テーブル整形
   ========================================================================== */

.tbl2{
  width: 100%;
  margin-top: 10px;
}

.tbl2 td, .tbl2 th {
  display: block;
  width: calc(100% - 20px);
  padding: 10px;
}

.tbl2 th{
  border-bottom: rgba(254,112,150,1.00) 1px dotted;
  font-weight: bold;
}



.tbl3{
  width: 100%;
  margin-top: 10px;
}

.tbl3 td, .tbl3 th {
  display: block;
  width: calc(100% - 20px);
  padding: 10px;

}

.tbl3 th{
  border-bottom: rgba(254,112,150,1.00) 1px dotted;
  font-weight: bold;
  text-align: left;
}


/* ==========================================================================
   記事フィルター
   ========================================================================== */

.filter_serect_wrapper .list{
  display: block;
  float: left;
  width: 15%;
  font-size: 90%;
  line-height: 1.8;
  margin-bottom: 10px;
  margin-right: 2%;
  text-align: center;
}

.filter_serect_wrapper .list a{
}



 
/* ==========================================================================
   スマホ用・お問い合わせ固定バー
   ==========================================================================*/

:root {
    --mobile-contact-bar-height: 52px;
  }

  /*
   * 固定バーによってページ最下部が
   * 隠れないように余白を確保
   */
  body {
    padding-bottom:
      calc(
        var(--mobile-contact-bar-height) +
        env(safe-area-inset-bottom)
      );
  }

  .mobile-contact-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;

    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;

    width: 100vw;
    min-height:
      var(--mobile-contact-bar-height);

    padding-bottom:
      env(safe-area-inset-bottom);

    box-sizing: border-box;
    background-color: #fff;

    border-top:
      1px solid rgba(0, 0, 0, 0.12);

    box-shadow:
      0 -4px 12px rgba(0, 0, 0, 0.2);

    z-index: 998;
  }


  /* 共通リンク */
  .mobile-contact-bar a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-width: 0;
    min-height:
      var(--mobile-contact-bar-height);

    box-sizing: border-box;
    padding: 7px 10px;

    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;

    text-align: center;
    text-decoration: none;
  }


  /* 資料請求 */
  .mobile-contact-bar__request {
    background-color: rgba(251,74,121,1.00);
    color: #fff;
  }

  .mobile-contact-bar__request:active {
    background-color: #e9547d;
  }

  .mobile-contact-bar__request i {
    flex-shrink: 0;
    font-size: 20px;
  }


  /* 電話 */
  .mobile-contact-bar__tel {
    background-color: #fff;
    color: rgba(254,112,150,1.00);

    border-left:
      1px solid rgba(0, 0, 0, 0.12);
  }

  .mobile-contact-bar__tel:active {
    background-color: #fff1f5;
  }

  .mobile-contact-bar__tel i {
    flex-shrink: 0;
    font-size: 19px;
  }

  .mobile-contact-bar__tel-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
  }

  .mobile-contact-bar__tel-text strong {
    display: block;
    white-space: nowrap;

    font-size: 16px;
    font-weight: 800;
    line-height: 1.15;

    letter-spacing: 0.02em;
  }

  .mobile-contact-bar__tel-text small {
    display: block;
    margin-top: 2px;

    color: #555;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.2;

    white-space: nowrap;
  }


  /*
   * モーダル表示中は固定バーを隠す
   */
  body.enabled_modal .mobile-contact-bar {
    display: none;
  }


  #back-top {
    position: fixed;
    right: 12px;

    bottom:
      calc(
        var(--mobile-contact-bar-height) +
        env(safe-area-inset-bottom) +
        12px
      );
  }
  
   

}

