BODY{
	font-family:"メイリオ","Meiryo","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	-webkit-text-size-adjust: 100%;
	margin:0px;
	color:#333;
        font-size:14px;
	line-height:1.7em;
}
#pagetop{
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 2;
}
#pagetop img{
	width: 50px;
}
img{
    max-width: 100%;
    height:auto;
}
A,A:VISITED{
	color :#537DD5;
}
A:HOVER{
	color :#FF9900;
}
.foot_sumaho a{
	color:#333;
}

#head_menu a{
        text-decoration:none;
}
#foot1 a{
	color:#333;
        text-decoration:none;
}
.logo{ 
	width: 90%;
	margin:10px 0px 0px 5px;
}
.gengo{ 
	width: 40px;
	margin:10px 5px 0px 5px;
	float:right;
}
.head_1{
	margin:0px;
}
.head_3{
	float:right;
}
.menu-divider{
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: 20px 0;
}


.head_sub_border{
	clear:both;
	border-bottom:2px dotted #4E7EBE;
}

.youtube_ta{
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}

h1{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight:lighter;
	text-align:left;
	font-size:10px;
	margin:0px;
	padding:1px 0px 1px 4px;
	background-color:#1C8DB2;
	color:#FFFFFF;
}




#head_menu a{
        text-decoration:none;
}
ul#head_menu, ul.head_sub{
        list-style:none;
        margin:0px 0px 5px 0px;
        padding:5px 5px 5px 5px;
}
.head_main{
  	background-image : url(img/sumaho/head_navi.png);
	background-size: 30px 21px;
 	background-repeat : no-repeat;
	background-position:2px 50%; 
        font-weight:bold;
        padding-left:40px;
        cursor:pointer;
        line-height:44px;
        border:4px solid #1C8DB2;
        border-radius:5px;
}
.head_sub li{
        background-color:#1C8DB2;
        padding:10px 0px 0px 10px;
        border:1px solid #FFF;
        height:30px;
        margin:-1px 0 0 -1px;
        font-weight:bold;

  	background-image : url(img/sumaho/yj_r.png);
 	background-repeat : no-repeat;
	background-position:87% 50%; 
	background-size: 11px 17px;
}
.head_sub li a{
	color:#FFFFFF;
        display:block;
}







.lang-switch {
  display: inline-block;
	font-weight: bold;
	float:right;
  margin: 0px 10px 5px 0px;
}
.lang-switch select {
  font-size: 14px;
  padding: 6px 10px;
  border-radius: 6px;
  border: 2px solid #666;
  background: #fff;
}




h2,h3,h4{
  font-size:18px;   /* ← ここがポイント */
  font-weight:600;
  margin:14px 0 12px;
  padding:8px 12px;
  border-left:6px solid #2c7fa3;
  background:#f5fbfe;
}

h2 a,h2 a:hover,h3 a,h3 a:hover{
	color:#4E7EBE;
	text-decoration:none;
}



.media_h3{
	color:#4E7EBE;
	background-color:#FFF;
	margin:10px 5px 0px 5px;
}


.main_p,.main_p_map,.main_p_map2,.main_p_map3{
	padding:0px 10px 10px 12px;
	margin-top:0px;
}
.main_gmap{
	padding:0px 10px 10px 12px;
	margin-top:0px;
}

.main_gmap iframe{
	width:320px;
	height:320px;
}

.main_p_map a{
	font-weight:bold;
	font-size:16px;
	color:#3FB034;
	text-decoration:none;
}
.largef{
	font-weight:bold;
	font-size:16px;
}



.main_p_make a{
	font-size:15px;
	font-weight:bold;
	color:#3FB034;
	text-decoration:none;
	padding:0px 10px 10px 12px;
	margin-top:0px;
}
.make_pp a{
	padding-left:12px;
	font-weight:bold;
	font-size:15px;
	color:#3FB034;
}


.make_pp{
	padding:12px 0px;
	border-bottom:1px dashed #5C7FB9;
	border-top:1px dashed #5C7FB9;
}

.oosaka_yo{
	padding:0px 0px 0px 12px;
	margin-top:-10px;
}
.oosaka_yo img{
	width:300px;
	margin:0px;
}




.service-title{
  font-size: 18px;
  letter-spacing: 0.6px;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 6px;
}
.section-title{
  color: #7a6a4f;   /* 落ち着いたゴールド */
  font-weight: 600;
}
.gift-box{
  background: #faf8f4;
  border: 1px solid #e0d8c8;
  padding: 24px;
  border-radius: 6px;
  margin: 30px 0;
}



.main_p_map2 a{
	font-weight:bold;
	text-decoration:none;
	line-height:2em;
}
.mapmap_p2{
	font-weight:bold;
	padding-left:12px;
}




.main_p span{
    background:linear-gradient(transparent 60%, #ff6 60%);
}
.mapmap_p a,.mapmap_p3 a{
	font-weight:bold;
	font-size:18px;
	color:#3FB034;
}

.mapmap_p,.mapmap_p3{
	padding-left:6px;
	font-weight:bold;
	font-size:16px;
	color:#3FB034;
}
.mapmap_p3{
	background-color: #3FB034;
	padding:6px;
}
.mapmap_p3 a{
	color:#FFF;
}
.main_psy{
	padding:5px;
	margin:5px 5px 10px 5px;
	border: 1px solid #5C7FB9;
	border-radius: 5px; 
}
.main_p .mida{
	font-weight:bold;
	border-bottom: 2px solid #5C7FB9;
}
.main_p_osusume{
	padding:8px 10px 8px 10px;
	background-color: #FCF9F3;
	border:1px solid #CCC;
	border-radius: 5px;
	margin:8px 5px;
}
.main_p2,.main_p3{
	padding:0px 10px 10px 10px;
}
.main_p2{
	font-size : 12px;
}
.price_p,.price_make{
	background-color: #FCF9F3;
	border:1px solid #5C7FB9;
	border-radius: 5px; 
	padding:8px 10px;
	margin:-10px 10px 0px 10px;
	font-weight:bold;
	font-size:15px;
	color:#5C7FB9;
}
.price_make{
	padding:8px 10px;
	margin:15px 10px 15px 10px;
}


.youtube{
	width:90%;
	height:315px;
	margin-bottom:15px;
}

.pankuzu{
        padding:0px 0px 10px 10px;
	font-size : 12px;
}


.new dl{
	scrollbar-arrow-color:#FFF;
	height:120px;
	overflow:auto;

	font-size : 13px;
	border:1px solid #4E7EBE;
	padding:5px;
	margin:5px;
}
.new dt{
	font-weight:bold;
	border-bottom:1px dotted #999;
}
.new dd{
	margin:5px 0px 5px 5px;
}



#foot2{
        padding:10px 0px 0px 10px;
	font-size:13px;
	line-height:24px;
}
#foot3{
        margin-top:10px;
	background-color:#1C8DB2;
	text-align:center;
	font-size:10px;
	line-height:18px;
	color:white;
}
#foot4{
        padding:0px 0px 10px 10px;
        margin:5px 0px 0px 0px;
	font-size:13px;
	line-height:24px;
}
#foot2 A,A:VISITED,#foot4 A,A:VISITED{
  text-decoration: underline;
}
#foot_color{
 	background-repeat : no-repeat;
	background-position:100% 5%; 
	background-image: url(img/common/foot_item.png);
	background-size: 70px;
        margin:20px 0px 0px 0px;
	border-top:5px solid #1C8DB2;
}
.foot_span1{
	padding-left:6px;
	border-left:5px solid #1C8DB2;
	height:22px;
	margin-bottom:10px;
}

.foot_social{
	clear:both;
	margin-top:15px;
	margin-left:10px;

}
.foot_social img{
	width:40px;
	margin-right:10px;
}

.foot_social2{
	float:right;
	position: relative;
	bottom: 20px;
    z-index: 3;
}
.foot_social2 img{
	width:50px;
	margin-right:10px;
}

.map_pict{
	width:90%;
	padding-left:10px;
}
.basyo,.basyo2{
	margin-bottom: 10px;
	border-bottom:1px dashed #5C7FB9;
}

.seasoncc{
	margin-top:10px;
	margin-bottom:10px;
}



/* ------- 口コミ -------- */

.kensu{
	margin:0px 30px 10px 12px;
	border-bottom:1px dotted #333;
}
.kensu span{
	font-weight:bold;
	font-size:16px;
}
.jiturei_main{
	padding :8px;
	margin: 0px 0px 15px 10px;  
	border:1px solid #5C7FB9;
	border-radius: 5px;
	height:115px;
}
.jiturei_main .title{
	font-weight:bold;
	color:#5C7FB9;
}
.jitu_pic{
	float:left;
	margin-right: 15px;
	width:60px; 
}


.kuchikomi_main{
	border: 1px solid #5C7FB9;
	border-radius: 5px;
	margin: 0px 10px 20px 10px;  
	padding :8px;
}
.kuchikomi_main .title{
	border-bottom:1px dashed #5C7FB9;
	margin-bottom: 10px;  
}

.kuchikomi_main2{
	border: 2px solid #5C7FB9;
	border-radius: 5px;
	margin: 0px 10px 20px 10px;  
	padding :8px;
}
.jiturei_margin{
	margin-bottom: 40px;  
}


.top_back2{
	text-align:center;
}
.about_pict{
	display: block;
	padding-bottom:10px;
	max-width:260px;
}
.about_pict2,.about_pict3,.about_pict4,.about_pict5,.about_pict6{
	padding-bottom:10px;
	display: block;
}
.about_pict2{
	max-width:300px;
	display: block;
}
.about_pict3{
	padding-bottom:10px;
	max-width:207px;
	display: block;
}
.about_pict4{
	padding-bottom:10px;
	max-width:140px;
	display: block;
}
.about_pict6{
	width: 300px;
}





ul.foot_sub{
        list-style:none;
        margin:0px 10px;
        padding:0px;
}


.foot_sub li{
	text-align:center;
        background-color:#1C8DB2;
        padding:10px 0px;
	border-radius: 5px; 
        border:1px solid #FFF;
        margin:0px;
        font-weight:bold;
      float: left;
      width: calc(50% - 2px);
}
.foot_sub li a{
	color:#FFFFFF;
        display:block;
        text-decoration:none;
}




.foot_m1{
	border-top:3px solid #1C8DB2;
	margin-bottom:20px;
}
.foot_m2{
	clear:both;
}
.foot_mail{
	clear:both;
	text-align:center;
	background-color:#AF709D;
	font-size:20px;
	border-radius: 5px;
	padding:18px 0px 15px 0px;
	margin:18px 10px 10px 10px;
        font-weight:bold;
}
.foot_mail a{
	color:#FFFFFF;
        text-decoration:none;
}
.foot_mail span{
	font-size:16px;
}



.foot_closet img{
	padding:0px 5px;
	margin: 10px 5px 0px 5px;
	border:1px solid #646467;
	width:90%;
}


.bigmoji{
	font-weight:bold;
	font-size : 18px;
}

.mpmp{
	border:1px solid #6666;
}

/* ------- フォーム -------- */

.button{
	font-family:"メイリオ","Meiryo","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size : 24px;
	padding: 5px 20px;
}
.formTable{
	width:98%;
	font-size : 12px;
	border:1px solid #999;
	margin:15px 0px 10px 5px;
}
.formTable th{
	width:25%;
	font-size : 11px;
	text-align:left;
	font-weight:normal;
	background-color: #D9F2F7;
	padding:3px;
}
.formTable td{
	padding:3px;
	border-bottom:1px solid #DCDCDC;
}
.formTable font{
	color:#ff3300;
}
.formTable select{
	font-size : 14px;
	padding-left:5px;
	width:95%;
	height:25px;
}
.formTable input{
	font-size : 14px;
	padding-left:5px;
	width:95%;
	height:25px;
}
.formTable .radio input{
	width:14px;
	vertical-align:-0.4em;
}
.formTable textarea{
	font-size : 14px;
	padding-left:5px;
	width:95%;
	height:160px;
}
.error{
	font-size:16px;
	font-weight:bold;
	padding:20px 5px;
}
.error2{
	padding-bottom:100px;
}
.thanks{
	text-align:left;
	padding:20px 0px 50px 12px;
}
.kojin{
	font-size:12px;
}
/* ------- 絞込 -------- */
#sel2{
	padding:0px 10px 10px 10px;
}

.sc_insta2{
	padding-top: 2px;
	padding-right: 5px;
	vertical-align:top;
	width: 18px;
}

/* ------- TOPプレスリリース -------- */
.press-scroll {
	padding:0px 10px 15px 0px;
	margin:10px 0px 5px 12px;

	text-align:left;
  display: flex;
  overflow-x: auto;           /* 横スクロール可能 */
  gap: 12px;
  scroll-snap-type: x mandatory;  /* 1枚ずつピタっと止まる */
  border: 1px solid #666;
}

.press-scroll img {
  padding:5px;
  width: 180px;               /* 好きな幅に調整可能 */
  height: auto;
  border-radius: 8px;
  flex-shrink: 0;
  scroll-snap-align: start;   /* 次の画像にスナップ */
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  cursor: pointer;
}


.press-scroll-wrapper {
  position: relative;
}


.press-dots {
  text-align: center;
  margin-top:0px;
  margin-bottom:5px;
  padding-bottom:15px;
}

.press-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  border-radius: 50%;
  background: #ccc;
}

.press-dots .dot.active {
  background: #3089B0;   /* ← 先ほどのあなたの青色 */
}


/* ------- リール -------- */

.insta-scroll {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 10px;
  scroll-snap-type: x mandatory;
}

.insta-wrap {
  flex: 0 0 auto;
  scroll-snap-align: start;
}


/* ------- menu-card -------- */

.menu-card{
  border:1px solid #6f86d8;
  border-radius:12px;
  padding:14px 14px;
  margin:12px 0;
  background:#4a62c8;
  background:#fff;
  position:relative;
  background:#fbfbff;

}

/* Popular バッジ */
.menu-card .badge{
  position:absolute;
  top:10px;
  right:10px;
  font-size:10px;
  font-weight:700;
  padding:4px 8px;
  border-radius:999px;
  background:#4a62c8;
  color:#fff;
  white-space:nowrap;
  line-height:1;
}

/* タイトル（Popularバッジと被らないように右余白を確保） */
.menu-card .title{
  font-weight:800;
  font-size:16px;
  color:#4a62c8;
  margin-bottom:8px;
  padding-right:92px; /* ←バッジがある時の重なり防止 */
}

/* バッジが無いカードは右余白を不要にする */
.menu-card:not(.popular) .title{
  padding-right:0;
}

/* サービス内容（省略しない部分） */
.menu-items{
  list-style:none;
  padding:0;
  margin:0 0 10px 0;
}

.menu-items li{
  font-size:14px;
  line-height:1.5;
  color:#333;
}

/* 時間と価格 */
.menu-card .meta{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
}

.menu-card .time{
  font-size:13px;
  color:#666;
  white-space:nowrap;
}

.menu-card .price{
  font-size:18px;
  font-weight:900;
  color:#4a62c8;
  white-space:nowrap;
}

/* さらに小さい端末だけ微調整（任意だけど安全） */
@media (max-width: 360px){
  .menu-card .badge{ font-size:9px; padding:3px 6px; }
  .menu-card .title{ padding-right:78px; }
  .menu-card .price{ font-size:17px; }
}

/* アラカルトは一段トーンを落とす */
.menu-card.alacarte{
  border-color:#c7cce8;
  background:#fafbff;
}

.menu-card.alacarte .title{
  color:#555;
  font-weight:700;
}

.menu-card.alacarte .price{
  color:#555;
}

/* 店名ブロック全体 */
.map-shop-head{
  margin: 14px 0px  10px 0px;  
  padding: 12px 14px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-left: 6px solid #2fb34a; /* 緑アクセント */
  border-radius: 12px;
}

/* 店名 */
.map-shop-title{
  font-size: 18px;
  font-weight: 800;
  color: #1f2a37;
  line-height: 1.25;
}

/* サブ情報（任意） */
.map-shop-sub{
  margin-top: 6px;
  font-size: 13px;
  color: #6b7280;
  line-height: 1.4;
}


/* ------- 消すもの -------- */
	
.nav4,.foot_top,.head_2,#pagetop_pc,nav,#toparea,#topschool,#gad_right,#gad_right2,#gad_foot1,#gad_foot2,#foot_pc,.y_moyori,#footarea_pr,#result_footer2,.gengo2{
    display: none;
}