﻿@charset "UTF-8";
/* CSS 毎日コミュニケーション */

body {
background-color:#000;
	font-size: 12px;
	margin: 0 auto;
	text-align: center;
    color:#000;
    font-family: 'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic'  ;

	}

td.time {
  text-align: right;   /* ← これで「22:20」「10:00」が右に揃う */
  width: 150px;        /* 列幅を固定するとより綺麗に */
}


img#floatButton1 {
position:fixed;
width:900px;
top:23%;
left:48%;
margin-left:-426px;
margin-top:-60px;
    opacity:0.2;
 z-index: 0;
pointer-events: none;

}


.fixed-banner {
  position: fixed;
  bottom: 20px;
  right:80px; 
  display: flex;
  flex-direction: column; /* 縦に並べる */
  gap: 10px;              /* ボタン間の隙間 */
  z-index: 9999;
}

.banner-btn {
  display: inline-block;
    background: linear-gradient(135deg, rgba(173,216,230,0.7), rgba(135,206,250,0.7)); /* 薄い青水色 */
    color: #0d47a1;         /* グレー文字 */
  font-weight: bold;
  padding: 10px 16px;
  border-radius: 8px;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
  transition: transform 0.2s, box-shadow 0.2s, background 0.3s, color 0.3s;
}

.banner-btn:hover {
    background: linear-gradient(135deg, #add8e6, #87cefa); /* ホバー時に少し濃く */
    color: #002f6c; 
  transform: translateY(-2px);
  box-shadow: 0 5px 8px rgba(0,0,0,0.25);
}





h1.tab{
    font-size: 12px;
    color: #656363;
    text-align: left;
    letter-spacing: 0.1em;
   
}



table{
    border-collapse: collapse; border-spacing: 0; 
    
}

#wrapper {
    position:static;
    background-color: #fff;
	margin: 0 auto;
	width: 1000px;
	}


.contact-notice {
    background-color: #e6f7ff; /* 薄い水色背景 */
    color: #002b4d;             /* 全体テキストは濃いネイビー */
    padding: 15px;
    border-radius: 8px;
    line-height: 1.6;
    text-align: left;
    font-size: 16px;            /* 適宜調整可能 */
    margin-bottom: 20px;
    border: 2px solid skyblue;
}

.contact-notice .phone {
    color: lightseagreen;
    font-weight: bold;
    background-color: #d0f0f0;
    padding: 2px 4px;
    border-radius: 4px;
}
ul.bxslider{
    margin-left: 10px;
    margin-top: 5px;


}

    img.sl {
    width: 900px;
        z-index: 2;
        margin-bottom: 10px;

    }

.highlight {
  background: linear-gradient(to right, #fff8f8, pink);
  padding: 2px 4px;
  border-radius: 4px;
  font-weight: 600;
}

h1.top {
    text-align: left;
    padding-left: 2em;
    padding-top: 0;
    font-size:16px;
    padding-right: 1em;
    letter-spacing: 0.8px;
    font-weight: 500;
    margin-bottom: 0;
    width: 600px;
    color: #333; /* ベース文字色 */
    
    /* 薄いベージュ系背景 */
    background-color: #fcfcfc; /* OldLace */
    border-radius: 6px;

    /* 影を薄めに */
    box-shadow: 1px 2px 5px rgba(0, 0, 0, 0.1);
}


       
	
/* ==============HEADER=============== */





/* ===== NEWS ===== */
.news-box {
  max-width: 900px;
  margin: 0 auto 40px;
  padding: 10px;
}

/* トピックス */
.news-topic {
  background: #fff5f8;
  border: 2px solid #f5a8b8;
  border-radius: 12px;
  padding: 16px 18px;
  margin-bottom: 24px;
}

.news-badge {
  display: inline-block;
  background: #e91e63;
  color: #fff;
  font-size: 12px;
  padding: 3px 10px;
  border-radius: 12px;
  margin-bottom: 8px;
}

.news-title {
  display: block;
  font-size: 18px;
  font-weight: bold;
  color: #1e90ff;
  margin: 8px 0;
  text-decoration: none;
}

.news-title:hover {
  text-decoration: underline;
}

.news-meta {
  font-size: 14px;
  color: #555;
}

/* 通常お知らせ */
.news-item {
  border-top: 1px dashed #ccc;
  padding: 18px 6px;
}

.news-label {
  font-size: 18px;
  color: #1e90ff;
  font-weight: bold;
}

.news-title-sub {
  font-size: 17px;
  font-weight: bold;
  margin: 6px 0;
}

.news-date {
  color: #268d1b;
  font-weight: bold;
  font-size: 16px;
}

.news-text {
    font-size: 16px;
  margin-top: 8px;
  line-height: 1.7;
}


/* NEWS テキスト左揃え */
.news-box,
.news-topic,
.news-item,
.news-title,
.news-title-sub,
.news-meta,
.news-text,
.news-date {
  text-align: left;
}

/* スケジュール（共通） */
.schedule-list {
  list-style: none;
  padding: 0;
  margin: 12px 0 20px;
  border-radius: 8px;
  overflow: hidden;
}

.schedule-list li {
  padding: 10px 14px;
  line-height: 1.6;
  font-size: 15px;
}

/* 交互背景 */
.schedule-list li:nth-child(odd) {
  background: #ffffff;
}

.schedule-list li:nth-child(even) {
  background: #f7f9f6;
}

/* 日付 */
.schedule-list .date {
  display: inline-block;
  min-width: 64px;
  font-weight: bold;
  color: #1e90ff;
}









/* ==============MENUBAR=============== */
table#menu1{
margin:0 auto;
border-collapse:collapse;
margin-top: 30px;

}

a {
    text-decoration:none;
}

a.menu1{
display:block;
color:#656363;
text-decoration:none;
width:170px;
height:30px;
background-color:#f8dff2;
line-height:30px;
font-size:18px;
border-bottom: 1px solid gray;
border-right: 1px solid gray;
 letter-spacing: 1px;
}

a.menu1:hover{
    color: #000;
display:block;
background-color:pink;
border-bottom: 1px solid gray;
border-right: 1px solid gray;
transition: 0.5s ;


}

a.menu111:hover{
    color: #000;
display:block;
background-color:pink;
border-bottom: 1px solid gray;
border-right: 1px solid gray;
transition: 0.5s ;


}
a.menu3{
display:block;
color:#fff;
text-decoration:none;
width:170px;
height:30px;
background-color:#000;
line-height:30px;
font-size:18px;
border-bottom: 1px solid gray;
border-right: 1px solid gray;
 letter-spacing: 1px;
}

a.menu3:hover{
    color: #000;
display:block;
background-color:#f8dff2;
border-bottom: 2px solid gray;
border-right: 2px solid gray;
transition: 0.5s ;


}

a.menu2{
display:block;
color:#fff;
text-decoration:none;
width:170px;
height:50px;
background-color:#656363;
line-height:54px;
font-size:16px;
border-bottom: 1px solid gray;
border-right: 1px solid gray;

}

a.menu2:hover{
    color: #fff;
display:block;
background-color:gold;
border-bottom: 2px solid gray;
border-right: 2px solid gray;

}

	
/* ==============MENUBAR=============== */






p.rinen2 {
              padding: 15px;
              text-align: left;
              font-size: 18px;
              margin-top: 15px;
              margin: auto;
              width: 800px;
              line-height: 26px;

              letter-spacing: 0.2em;
               border-right: solid 1px gray;
               border-bottom: solid 1px gray;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;

}

h2.rinen2 {
              padding: 15px;
              text-align: left;
              font-size: 16px;
              margin-top: 15px;
              margin: auto;
              width: 800px;
              line-height: 26px;
              font-weight: normal;

              letter-spacing: 0.2em;
               border-right: solid 1px gray;
               border-bottom: solid 1px gray;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;

}
div.rinen2 {
              padding: 15px;
              text-align: left;
              font-size: 16px;
              margin-top: 15px;
              margin: auto;
              width: 800px;
              line-height: 26px;
              font-weight: normal;

              letter-spacing: 0.2em;
               border-right: solid 1px gray;
               border-bottom: solid 1px gray;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;

}

h1.rinen2 {
              padding: 15px;
              text-align: left;
              font-size: 18px;
              margin-top: 15px;
              margin: auto;
              width: 800px;
              line-height: 26px;
              font-weight: normal;
              letter-spacing: 0.2em;
               border-right: solid 1px gray;
               border-bottom: solid 1px gray;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;

}



table.foot{
                                    margin: auto;
height: auto;
}
td.footl{
    vertical-align: top;
    width: 600px;
    text-align: left;
}
td.footr {
    vertical-align: top;
    text-align: left;
    width: 180px;
}



img.riva {width: 200px;
}

input::placeholder {
  color: #d3d3d3;font-size: 22px;
}

/* IE */
input:-ms-input-placeholder {
  color: #d3d3d3;font-size: 22px;
}






h2.green2 {
     font-size: 100%;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
    height: 40px;
    line-height: 43px;
    margin-top: 50px;
    font-size: 35px;
    color: #000;
    text-align: center;
    margin-bottom: 0px;
    color:#656363;
}

h1.green2 {
     font-size: 100%;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
    height: 40px;
    line-height: 43px;
    margin-top: 50px;
    font-size: 35px;
    color: #000;
    text-align: center;
    margin-bottom: 0px;
    color:#656363;
}
h2.green23 {
     font-size: 100%;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
    height: 40px;
    line-height: 43px;
    margin-top: 50px;
    font-size: 28px;
    color: #000;
    text-align: center;
    margin-bottom: 0px;
    color:#656363;
}


h2.green22 {
     font-size: 100%;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
    height: 40px;
    line-height: 43px;
    margin-top: 50px;
    font-size: 35px;
    color: #000;
    text-align: center;
    margin-bottom: 0px;
    color:#656363;
}


table.jig{
    margin-top: 20px;
    margin: auto;
}






td.c{
    width: 460px;
    padding-right: 10px;
    height: 320px;
    vertical-align: top;
}


img.mini {
    width: 400px;
    z-index:10;
}










#footer {
	
	text-align:center;
   font-size: 5px;
    vertical-align: middle;
	}

h1.foot{
     margin-top: 0px;
    height: auto;
    line-height: 20px;
    font-size: 16px;
    text-align: center;
    font-weight: 400;
    padding-left: 20px;
    letter-spacing:0.2em;
}

span.foot{
font-size: 16px;

}

img.mini5 {
    width: 60px;
    margin-right: 10px;
}

img.mini55{
    width: 90px;
    margin-right: 10px;
}







#information{

}
#information2{
margin:20px;}

table#info {
    margin: auto;
      text-align: left;
}

input.m{
    border: 1px gray solid ;
    font-size: 17px;
    height: 40px;
              border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;

width:700px;}

input.l{    border: 1px gray  solid ;
width:700px;
    height: 40px;
              border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;

        font-size: 17px;
}

textarea {
    border: 1px gray  solid ;
                  font-size: 15px;
                  width:700px;
                            border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;



}

input.xl {
    border: 1px gray  solid ;
                  font-size: 15px;
                  width:700px;
                            border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;



}


input.button{padding: 15px;
              text-align: center;
              font-size: 18px;
              margin-top: 15px;
              margin: auto;
              width: 200px;
              color: #656363;
              letter-spacing: 0.1em;
              
               background-color:#f8dff2;

          border-bottom: 1px solid black;
border-right: 1px solid black;
}

input.button2{padding: 15px;
              text-align: center;
              font-size: 18px;
              margin-top: 15px;
              margin: auto;
              width: 200px;

              letter-spacing: 0.1em;
               border: solid 1px gray;
               background-color:#7fffd4;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;
}
 th{font-weight:normal;
text-align:left;
font-size: 22px;
width: 150px;
color: #656363;
height: 28px;
vertical-align: bottom;
padding-bottom: 0px;
padding-top: 30px;

}




#sub{margin: auto;
     height: 100px;
     margin-top: 50px;
}

p.mail{font-size:15px;}


span.gr{color: #66cdaa;
            font-weight:  600 ;
                         font-size: 15px;


}

span.blue{color: #656363;
            font-weight:  bold ;
                         font-size: 20px;


}

div.radio{
    border: solid 1px gray;
    width: 700px;
    border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;
    font-size: 15px;

}






td.radio {
    text-align: left;
    font-size: 22px;
}


p.pcont {
        margin: auto;
    border: 1px solid gray;
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
    line-height: 1.5em;
    color: #000;
    text-align: left;
    width: 36em;
    height: 15em;
   overflow:auto;
    margin-bottom: 50px;
    margin-top: 0px;
    margin-top: 0px;
    padding-left: 10px;
    display: block;
}
.button:hover{
    cursor: pointer;
}


p.pcont::-webkit-scrollbar{ 
    width: 15px;
}
p.pcont::-webkit-scrollbar-thumb{ 
    background:#a9a9a9;
    border-radius: 10px;
}
p.pcont::-webkit-scrollbar-track-piece:start{
    background:#d3d3d3 ;
}
p.pcont::-webkit-scrollbar-track-piece:end{
    background: #d3d3d3;
}

div#smaho{
    display: none;
    
}



.news-note {
  font-size: 15px;
  font-weight: normal;
  color: orange;
  margin-left: 6px;
  white-space: nowrap;
}




.snow {
  color: snow; /*雪の色*/
  font-size: 10px; /*雪の大きさ*/
  position: fixed;
  top: -5%; /*初期位置*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  animation: anim 9s linear infinite;
}

@keyframes anim {
  100% {
    color: transparent;
    top: 150%;
  }
}
.gold {
  color: #f3ef3e; /*雪の色*/
  font-size: 12px; /*雪の大きさ*/
  position: fixed;
  top: -5%; /*初期位置*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  animation: anim 14s linear infinite;
}
.hotpink {
  color: pink; /*雪の色*/
  font-size: 15px; /*雪の大きさ*/
  position: fixed;
  top: -5%; /*初期位置*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  animation: anim 30s linear infinite;
}

@keyframes anim {
  100% {
    color: transparent;
    top: 150%;
  }
}



table#top2{
	margin-top:0px;
	width: 640px;
	margin: 0 auto;
	border:1px gray solid;
    background-color: papayawhip;
  margin-top: 1em;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 6px;
  margin-bottom: 1em;

}
td.topl{
padding:0;
	width: 250px;
	text-align: left;
	
	font-size:22px;
	line-height:28px;

	color:#000;
    vertical-align: top;
    padding: 10px;
}
td.topr{
padding:0;
	text-align: left;

	padding-bottom:0px;
	font-size:20px;
	line-height:28px;

	color:#000;
    vertical-align: top;
    padding: 10px;
}

div.map {
    margin: 0 auto;
    width:640px;
}
    h1.map {
   padding-left:0;padding-right:5px;color:#000;font-size:16px;line-height:24px; text-align: left;font-weight: normal;}


iframe{
    width: 640px;
     height:300px; 
     border:1px gray solid;
     border-radius: 6px;
     margin-top: -15px;
}

div#time{
    display: block;
    width: 500px;
    margin-left: 0px;
}

select#月 ,select#月2 ,select#月3{
    width: 50px;
    height: 25px;
    font-size: 15px;
}
select#日 ,select#日2 ,select#日3{
    width: 50px;
    height: 25px;
    font-size: 15px;
}

select#時間 ,select#時間2 ,select#時間3{
    width: 75px;
    height: 25px;
    font-size: 15px;
}


div.input{
    font-size: 17px;
    margin-top:10px;
}

div.input2{
    font-size: 17px;
    margin-top:10px;
    line-height: 1.5em;
}

span.add{ color:#000;font-size:30px;line-height:40px;}
span.add2{ color:#0094ff;font-size:25px;line-height:30px;}
span.add3{ color:#000;font-size:16px;line-height:26px;}
span.add4{ color:#0094ff;font-size:16px;line-height:26px;font-weight: bold;}
p.addm{margin-left:  color:#000;font-size:16px;line-height:26px; text-align: left;}
form{
    margin-left: 10px;
}

a.menu111{
    display:block;
color:gray;
text-decoration:none;
text-align: center;
height:25px;
background-color:#f8dff2;
line-height:25px;
font-size:15px;
width: 150px;
border-bottom: 1px solid #141369;
border-right: 1px solid #141369;
	margin: 0 auto;
margin-bottom: 0px;

}

a.menu111:hover{
    color: #000;
display:block;
background-color:pink;
border-bottom: 1px solid gray;
border-right: 1px solid gray;
transition: 0.5s ;


}

/* レイアウトや見た目のスタイル */
/* ---------------------------- */

.single-item + .single-item{
    margin-top: 80px;
}

/* アニメーションスタイル */
/* ---------------------------- */

/* アニメーション前 */
.u-fade-type-up{
    transform: translateY(50px);
    opacity: 0;
}

/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active{
    transition: .8s;
    transform: translateY(0);
    opacity: 1;
}

p.news{
    width: 200px;
    display: block;
    margin-left: 10px;
    font-size: 20px;
}

div#news{
    margin-top: -10px;
    margin-bottom: -25px;
}
table#tigai{
    width:850px;
    margin: 0 auto;
}

#tigai th{
    font-size: 18px;
    border: 1px pink solid;
    vertical-align: middle;
    padding: 10px;
     letter-spacing: 1px;
     background-color: #e3f9f9;
     color: #000;
}

#tigai td{
    font-size: 12.5px;
    border: 1px pink solid;
    padding: 5px;
    letter-spacing: 1.5px;
}

td.pricered-txt {
    background-color: #f8dff2;
    font-weight:  bold;
    font-size: 80%;
}

.red_bk {
    background-color: #e0ffff;
     font-weight:  bold;
}

    p.ch {
    margin: 20px;
    font-size: 15px;
    text-align: left;
    }


div.prof {
     border-right: solid 1px gray;
               border-bottom: solid 1px gray;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;
          width: 800px;
           margin: 0 auto;
}

table.prof {
    margin: 0 auto;
    margin-top: 10px;
   
}
td.prof-l {
     vertical-align: top;
     
}
img.prof {
    width: 300px;
    margin-top: 10px;
}

td.prof-r {
    text-align: left;
    vertical-align: top;
    padding: 10px;
    font-size: 14px;
    width: 500px;
    line-height: 18px;
    letter-spacing: 1px;
    
}
p.prof {
    line-height: 22px;
    background-color: #e6f7ff; /* 薄い水色 */
    color: #00334d;            /* 濃いブルー系で柔らかく落ち着いた印象 */
    padding: 12px 15px;
    border-radius: 8px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08); /* 軽い影 */
    font-family: "Noto Sans JP", sans-serif;
}

div.prof2{
    line-height: 22px;
    background-color: #fff0f5; /* 柔らかいラベンダー系 */
    color: #4b2e3a;            /* 暗めピンク系で読みやすく柔らかい印象 */
    padding: 12px 15px;
    border-radius: 8px;
    margin-top: -10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08); /* 軽い影で浮き上がる印象 */
    font-family: "Noto Sans JP", sans-serif;

}

div.prof3{
    line-height: 22px;
    background-color: #f0fff5; /* 柔らかいミントグリーン系 */
    color: #2e4b3a;            /* 暗めグリーン系で読みやすく */
    padding: 12px 15px;
    border-radius: 8px;
    margin-top: -10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
    font-family: "Noto Sans JP", sans-serif;
}

img.tamisa {width: auto;
   
}

img.tamisa2 {width: auto;
    margin-top: 5px;
}
a.btn-pink {
  display: inline-block;
  background-color: #f8b6c8; /* 薄いピンク */
  color: #fff; /* 白文字 */
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 8px; /* 角丸 */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* シャドー */
  font-weight: bold;
  transition: all 0.3s ease;
    font-size:14px;
}

/* ホバー時の効果 */
a.btn-pink:hover {
  background-color: #f497ab; /* 少し濃いピンク */
  transform: translateY(-2px);
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.3);
}
.info-card {
 background: #f9f9f9; /* 薄いピンク系 */
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 20px 20px 20px 30px; /* 左に余白多め */
  max-width: 500px;
  margin: 10px auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  font-family: "游ゴシック", sans-serif;
  font-size: 18px;   /* 一回り大きく */
  line-height: 1.3;  /* 行間をせまく */
  color: #333;
  text-align: left;  /* 左揃え */
}

.info-card .info-title {
  font-size: 22px; /* タイトルはさらに強調 */
  color: #344699;
  margin-bottom: 10px;
  text-align: center; /* ← 中央揃え */
}

.info-card .info-title span {
  font-size: 16px;
  color: #666;
}

.info-card a {
  color: #0094ff;
  font-weight: 600;
  text-decoration: none;
}

.info-card a:hover {
  text-decoration: underline;
}

.info-card .note {
  font-size: 16px;
  color: #0094ff;
  margin: 12px 0;
}

.review-item {
  margin-bottom: 10px; /* 口コミ同士の隙間 */
  border: 1px solid #ddd;
  border-radius: 5px;
  overflow: hidden;
}

.review-title {
  color: #1e90ff;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  background-color: #ffffff;
  transition: background-color 0.3s;
}

.review-title:hover {
  background-color: #f0f8ff;
}

.review-content {
  display: none;
  padding: 10px 15px;
  background-color: #ffe6f0;
}

.review-icon {
  margin-left: 10px;
}

.photo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2列 */
  column-gap: 10px;  /* ← 中央の隙間を10pxに設定 */
  row-gap: 12px;     /* 上下の隙間 */
  justify-content: center;
  padding: 30px; 50px;    /* 外側に少し余白（任意） */
}

.photo-grid img.mini {
  width: 100%;       /* 画像をセルいっぱいに */
  height: auto;
  border-radius: 8px;
  display: block;
}

/* 縦長写真（6枚目）は2行分にする */
.photo-grid img.tall {
  grid-row: span 2;
}
.course-banner {
  display: block;
  width: fit-content;
  padding: 6px 16px;
  font-size: 1.2rem;
  font-weight: bold;
  border-radius: 8px;
  color: #fff;
  margin: 15px 0 15px 80px; /* 上 15px / 右 0 / 下 15px / 左 50px */
  text-align: left;
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
  cursor: default;
  transition: transform 0.3s, box-shadow 0.3s;
}


.course-banner:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 8px rgba(0,0,0,0.15);
}

.course-banner.in-person {
  background: linear-gradient(135deg, #ffdde1, #ffcfd2); /* 薄いピンク系 */
  color: #b71c1c; /* ダークレッド系の文字色で柔らかくも見やすい */
}

.course-banner.online {
  background: linear-gradient(135deg, #d0f0fd, #a0e0ff); /* 薄い水色系 */
  color: #0d47a1; /* 濃い青系の文字色でコントラストを確保 */
}





.pc{display: block;}
.smaho{display: none;}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/

@media screen and (max-width: 768px) {

    .smaho{display: block;}
 .pc{display: none;}
	h1.top{text-align: left;
           padding-left: 1em;
           padding-top: 0;
                   font-size: 10.0px;
                   font-weight: 500;
                   margin-bottom: -300px;
                   margin-right: 0;
                      width: 285px;
        font-size:9px;
        padding-bottom: 0px;
           }


td.c{
    padding: 0;
    height: 240px;
}


table.jig{
    margin-top: 0px;
    margin:  0 auto;
    margin-left:10px;
    width: 330px;
}

div#time{
    display: block;
    width: 330px;
    margin-left: 0px;
}



    #wrapper {
    background-color: #fff;
        margin: 0 auto;
        width: 380px;
    }


    img.sl {
        width: 385px;
        margin-top: 20px;
        margin-bottom: 10px;
    }

    li {
        margin-left: -11%;
    }


ul.bxslider{
    margin-left: 0px;
}


a.menu1 {
        display: block;
        color: gray;
        text-decoration: none;
        width: 200px;
        height: 26px;
        line-height: 26px;
        font-size: 12px;
        letter-spacing: 1px;
    }
    a.menu1:hover {
        display: block;
background-color:#d3d3d3;
color: #000;
   }
a.menu3{
        display: block;
        color: #fff;
        text-decoration: none;
        width: 100px;
        height: 20px;
        line-height: 20px;
        font-size: 12px;
        letter-spacing: 1px;
    }
    a.menu3:hover {
        display: block;
background-color:#f8dff2;    }
a.menu111{
    display:block;

text-decoration:none;
text-align: center;
width: 100px;
        height: 20px;
        line-height: 20px;
        font-size: 10px;
        letter-spacing: 1px;
border-bottom: １px solid #141369;
border-right: １px solid #141369;
	margin: 0 auto;
margin-bottom: 0px;

}

    table#menu1 {
        margin: 0 auto;
        border-collapse: collapse;
        margin-top: 15px;
        margin-bottom: 25px;
    }


    h2.green2 {
         letter-spacing: 0.1em;
        font-weight: bold;
        margin-bottom:0px;
        width:360px;
       
        margin-top: 20px;
        
        height: auto;
        line-height:25px;
        
       
       
        font-size: 16px;
    color:#656363;
              text-align: center;
    }
    h1.green2 {
         letter-spacing: 0.1em;
        font-weight: bold;
        margin-bottom:0px;
        width:360px;
       
        margin-top: 20px;
        
        height: auto;
        line-height:25px;
        
       
       
        font-size: 16px;
    color:#656363;
              text-align: center;
    }

 h2.green23 {
         letter-spacing: 0.1em;
        font-weight: bold;
        margin-bottom:0px;
        width:360px;
       
        margin-top: 20px;
        
        height: auto;
        line-height:25px;
        
       
       
        font-size: 15px;
    color:#656363;
              text-align: center;
    }
    h2.green22 {
         letter-spacing: 0.1em;
        font-weight: bold;
        margin-bottom:0px;
        width:360px;
       
        margin-top: 20px;
        
        height: auto;
        line-height:25px;
        
       
       
        font-size: 16px;
    color:#656363;
              text-align: center;
    }


.review {
  border: 1px solid #ddd;
  padding: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  background-color: #f9f9f9;
}

.review-title {
  color: #1e90ff;
  font-weight: bold;
}

.review-content {
  display: none; /* 初期は非表示 */
  margin-top: 5px;
}
    
    
    div#pc {
        display: none;
    }



    div#smaho {
        display: block;
    }











img.mini {
    width: 360px;
z-index:3;
}



             p.rinen2 {
              padding-left: 10px;
              padding-right: 10px;
              text-align: left;
              font-size: 12px;
              margin-top: 12px;
              letter-spacing: 0.1em;
              margin-bottom: 0px;
              width: 330px;
              padding-bottom:8px;
}

             h2.rinen2 {
              padding-left: 10px;
              padding-right: 10px;
              text-align: left;
              font-size: 13px;
              line-height: 18px;
              margin-top: 12px;
              letter-spacing: 0.1em;
              margin-bottom: 0px;
              width: 330px;
              padding-bottom:8px;
}
                 div.rinen2 {
              padding-left: 10px;
              padding-right: 10px;
              text-align: left;
              font-size: 13px;
              line-height: 18px;
              margin-top: 12px;
              letter-spacing: 0.1em;
              margin-bottom: 0px;
              width: 330px;
              padding-bottom:8px;
}

             h1.rinen2 {
              padding-left: 10px;
              padding-right: 10px;
              text-align: left;
              font-size: 13px;
              margin-top: 12px;
              letter-spacing: 0.1em;
              margin-bottom: 0px;
              width: 330px;
              padding-bottom:8px;
              font-weight: normal;
}













#information{
margin:0px;}

input.m{
    border: 1px gray solid ;
    font-size: 16px;
    height: 25px;
width:340px;}

input.l{    border: 1px gray solid ;
width:340px;
    height: 25px;
        font-size: 16px;
}

textarea {border: 1px gray solid ;
                  font-size: 18px;
                  width:340px;


}

th{
    padding-top: 10px;
}

    td.info {
    
        height: 20px;

    }



input.button{padding: 15px;
              text-align: center;
              font-size: 15px;
              margin-top: 15px;
              margin: auto;
              width:100px;
                  height: 25px;
              letter-spacing: 0.1em;
                        background-color:#f8dff2;

          border:  1px solid black;

}


input.button2{padding: 15px;
              text-align: center;
              font-size: 15px;
              margin-top: 15px;
              margin: auto;
              width:100px;
                  height: 25px;
              letter-spacing: 0.1em;
               border: solid 1px gray;
               background-color:#ffffe0;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;
}
 th{font-weight:normal;
text-align:left;
font-size: 16px;
width:90px;
color: #656363;

}


p.pcont {
            display: block;

        margin: auto;
    border: 1px solid gray;
    font-size: 12px;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
    line-height: 1.3em;
    color: #656363;
    text-align: left;
    width: 36em;
    height: 15em;
   overflow:auto;
    margin-bottom: 50px;
    margin-top: 0px;
    margin-top: 0px;
    padding-left: 10px;
    display: block;
}


#footer {
    padding-top:10px;
	height: auto;
	text-align:left;
    
    vertical-align: middle;
	}

h1.foot{
    margin-top: 0px;
    height: auto;
    line-height: 15px;
    font-size: 8px;
    text-align: center;
    font-weight: 400;
    padding-left: 7px;
    letter-spacing:0.2em;
}
span.foot{
font-size: 10px;
font-weight: 400;

}





table.foot{
            width: 380px;
                         

}
td.footl{
    vertical-align: top;
    text-align: left;
    width: 330px;
    
}
td.footr {
    vertical-align: top;
  
    width: 45px;
}



input.button{padding: 0px;
              text-align: center;
              font-size: 12px;
              margin-top: 15px;
              margin: auto;
              width: 90px;
              height: 25px;
              letter-spacing: 0.1em;
               font-weight: 400;
               background-color:#7fffd4;
               line-height: 25px;

               background-color:#f8dff2;

          border-bottom: 1px solid black;
border-right: 1px solid black;
}
#sub{margin: auto;
     height: 50px;
     margin-top: 20px;
     text-align:center;
}








p.pcont {
    border: 1px solid gray;
    font-size: 12px;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-bottom: 0px;
    line-height: 1.5em;
    color: #000;
    text-align: left;
    width: 330px;
    height: 120px;
   overflow:auto;
   margin: auto;
    margin-bottom: 25px;
    margin-top: 0px;
    padding-left: 10px;
}

a.blog{
    color: #656363;
text-decoration:none;
}
p.pcont::-webkit-scrollbar{ 
    width: 12px;
}
p.pcont::-webkit-scrollbar-thumb{ 
    background:#656363;
    border-radius: 10px;
}
p.pcont::-webkit-scrollbar-track-piece:start{
    background:#d3d3d3 ;
}
p.pcont::-webkit-scrollbar-track-piece:end{
    background: #d3d3d3;
}






table#info{
    margin-top: -10px;
}







.bx-wrapper .bx-viewport {
}


	td.top{
padding:0;

	padding-right:10px;
	padding-bottom:0px;
	font-size:13px;
	line-height:15px;
	
}

span.add{ color:#000;font-size:20px; line-height: 30px;}
span.add2{ color:#0094ff;font-size:16px;line-height:14px;}
span.add3{ color:#000;font-size:14px;line-height:16px;}
span.add4{ color:#0094ff;font-size:13px;line-height:16px;font-weight: 600;}
p.addm{margin-left:  color:#000;font-size:14px;line-height:16px; text-align: left;}
div.map {
    margin: 0 auto;
    width:350px;
}
    h1.map {
   padding-left:0;padding-right:5px;color:#000;font-size:11px;line-height:16px; text-align: left;font-weight: normal;}

iframe{
    margin-top: -10px;
    width: 350px;
     height:200px; 
     border:1px gray solid;
     border-radius: 6px;
}

table#top2{
	margin:10px;
	width: 350px;
	margin: 0 auto;
	border:1px gray solid;
    background-color: papayawhip;
  padding: 0;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 6px;
  margin-bottom: 1em;
  margin-top:1em;

}
td.topl{
padding:0;
	width: 150px;
	text-align: left;
	padding-bottom:0px;
	font-size:14px;
	line-height:16px;
    vertical-align: top;
	color:#000;
    vertical-align: top;
    padding-left: 10px;
    padding-bottom:10px;
        padding-top:10px;

}
td.topr{
padding:0;
	text-align: left;

	padding-bottom:0px;
	font-size:14px;
	line-height:16px;
     vertical-align: top;
	color:#000;
    vertical-align: top;
    padding-left: 10px;
  
}

div.radio{
    border: solid 1px gray;
    width: 340px;
    border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;
    font-size: 12px;

}

img.mini5 {

    width: 50px;
    padding-right: 0px;
}
    
    img.mini55 {
    display: block;
    width: 60px;
    padding-right: 0px;
}

    p.ins {
    height: 40px;
    line-height: 40px;
    }


select#月 ,select#月2 ,select#月3{
    width: 50px;
    height: 20px;
    font-size: 10px;
}
select#日 ,select#日2 ,select#日3{
    width: 50px;
    height: 20px;
    font-size: 10px;
}

select#時間 ,select#時間2 ,select#時間3{
    width: 75px;
    height: 20px;
    font-size: 10px;
}

div.input{
    font-size: 11px;
    margin-top:7px;
    width: 90%;
}

div.input2{
    font-size: 11px;
    margin-top:7px;
    width: 90%;
}

th{
    padding: 0px;
    font-size: 14px;
}

p.news{
    width: 200px;
    display: block;
    margin-left: 10px;
    font-size: 15px;
}

div#news{
    margin-top: -10px;
    margin-bottom: -10px;
}

    span.blue {
        color: #656363;
        font-weight: bold;
        font-size: 16px;
    }
img.rumi{width: 330px;}
table#tigai{
    width: 330px;
    margin: 0 auto;
}

table#tigai{
    width:350px;
    margin: 0 auto;
}

#tigai th{
    font-size: 10px;
    border: 1px pink solid;
    vertical-align: middle;
    padding: 5px;
     letter-spacing: 1px;
     background-color: #e3f9f9;
     color: #000;
}

#tigai td{
    font-size: 9px;
    border: 1px pink solid;
    padding: 2px;
    letter-spacing: 1px;
}
    p.ch {
    margin: 10px;
    font-size: 11px;
    text-align: left;
    }

div.prof {
     border-right: solid 1px gray;
               border-bottom: solid 1px gray;

          border-radius: 6px 6px 6px 6px / 6px 6px 6px 6px;
          width: 360px;
           margin: 0 auto;
}

table.prof {
    margin: 0 auto;
    margin-top: 10px;
   
}
td.prof-l {
     vertical-align: top;
     
}
img.prof {
    width: 140px;
    margin-top: 10px;
    margin-left: 5px;
}

td.prof-r {
    text-align: left;
    vertical-align: top;
    padding-left: 0px;
    font-size: 12px;
    width: auto;
    line-height: 13px;
    letter-spacing: 1px;
    
}

td.prof-r2 {
    text-align: left;
    vertical-align: top;
    padding-left: 0px;
    font-size: 12px;
    width: auto;
    line-height: 14px;
    letter-spacing: 1px;
    text-align: left;
    padding-left: 5px;
    padding-right: 5px;
    padding-top:5px;
}
p.prof2 {
    line-height: 22px;
    background-color: #fff0f5; /* 柔らかいラベンダー系 */
    color: #4b2e3a;            /* 暗めピンク系で読みやすく柔らかい印象 */
    padding: 12px 15px;
    border-radius: 8px;
    margin-top: -10px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08); /* 軽い影で浮き上がる印象 */
    font-family: "Noto Sans JP", sans-serif;
}
    


/* プロフィール文章デザイン */
p.prof {
    line-height: 22px;
    background-color: #e6f7ff; /* 薄い水色 */
    color: #00334d;            /* 濃いブルー系で柔らかく落ち着いた印象 */
    padding: 12px 15px;
    border-radius: 8px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08); /* 軽い影 */
    font-family: "Noto Sans JP", sans-serif;
}

    ul.prof {
    margin-top: 3px;
    margin-left: 0px;
    font-size: 11px;
    padding-right: 5px;
    }

img.tamisa {width: 150px;
}
    
    img.tamisa2 {width: 200px;
        margin-top: 5px;
}

img.light {width: 200px;
}

img.riva {width: 200px;
}
    
    .info-card {
    padding: 10px 10px 10px 15px; /* 余白を少し小さく */
    font-size: 16px; /* 本文を少し小さく */
  }

  .info-card .info-title {
    font-size: 20px; /* タイトルも縮小 */
      padding-top: 0;
      margin-top: 0;
  }

  .info-card .info-title span {
    font-size: 15px;
  }

  .info-card .note {
    font-size: 13px;
  }
    
    .info-card P {
    font-size: 14px;
        line-height: 18px;
        margin: 0;
        padding: 0;
  }
    
      .photo-grid {
    grid-template-columns: 1fr;  /* 1列 */
    padding: 20px; 15px;            /* 外側余白を狭く */
  }

  /* 縦長写真も1列で通常表示 */
  .photo-grid img.tall {
    grid-row: auto;
  }
    
      .course-banner {
    margin-left: 20px;   /* 左の余白を縮小 */
    font-size: 0.8rem;     /* フォントサイズも少し小さく */
    padding: 2px 6px;   /* パディングもコンパクトに */
  }
    
      .fixed-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;      /* 右端から少し空ける */
    display: flex;
    flex-direction: column; /* 縦に並べる */
    gap: 10px;              /* ボタン間の隙間 */
    z-index: 9999;
  }

  .banner-btn {
    display: inline-block;
    background: linear-gradient(135deg, rgba(173,216,230,0.7), rgba(135,206,250,0.7)); /* 薄い青水色 */
    color: #0d47a1;       /* グレー文字 */
    font-weight: bold;
    padding: 5px 8px;
    border-radius: 8px;
    text-decoration: none;
    text-align: center;
    box-shadow: 0 3px 5px rgba(0,0,0,0.1);
    transition: transform 0.2s, box-shadow 0.2s, background 0.3s, color 0.3s;
  }

  .banner-btn:hover {
    background: linear-gradient(135deg, #add8e6, #87cefa); /* ホバー時に少し濃く */
    color: #002f6c; 
    transform: translateY(-2px);
    box-shadow: 0 5px 8px rgba(0,0,0,0.25);
  }
    
    .contact-notice {
    font-size: 14px;  /* PCより少し小さく */
    padding: 12px;    /* 内側余白も少し小さく */
  }

  .contact-notice .phone {
    font-size: 15px;  /* 電話番号は少し大きめにして目立たせる */
  }

td.prof-r ul {
  list-style: none;
  padding-left: 0.5em; /* ← 適度に余白 */
  background-color: #e6fff7;
  border-radius: 8px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.05);
  margin: 0;
}

    td.prof-r p {
  list-style: none;
  padding-left: 1em; /* ← 適度に余白 */
  background-color: #e6fff7;
  border-radius: 8px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.05);
  margin: 0;
        padding-bottom: 10px;margin-bottom: 5px;
}
td.prof-r ul li {
  position: relative;
  margin-bottom: 0.5em; /* 各行に余白 */
}

td.prof-r ul li::before {
  content: "•";
  color: #4db6ac;
  position: absolute;
  left: -0.5em;   /* ← ここで微調整 */
}
    
  /* スマホ専用ページ用 CSS */
.profile-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 50px;
}

.profile-table tr {
    display: block;
    width: 100%;
    margin-bottom: 10px; /* 行間を少し開ける */
}

.profile-table td {
    display: block;
    width: 50%;
    padding: 0;
    text-align: center; /* テキストと画像を中央寄せ */
    vertical-align: top;
}

.profile-text {
    margin-bottom: 15px;
    text-align: center; /* 中央寄せ */
}

.profile-image {
    margin-bottom: 15px; /* テキストとの間隔 */
}

.profile-image img {
    width: 10%;  /* 親幅に合わせる */
    height: auto;
    display: inline-block; /* ブロック化で消えないように */
}

    .title-wrap {
  display: flex;          /* 横並び */
  align-items: center;    /* 縦を中央に */
  width: 100%;
  gap: 5px;    
        margin-bottom: -30px;
 
        
    
}

.title-wrap h1 {
  flex: 1;                /* 余った幅を全部使う */
  margin: 0;
  font-size: 10px;

}

.title-wrap img.mini6 {
  width: 50px;            /* 幅50pxで固定 */
  height: auto;           /* アスペクト比維持 */
}
td.time {
  text-align: right;   /* ← これで「22:20」「10:00」が右に揃う */
  width: 120px;        /* 列幅を固定するとより綺麗に */
}
    
      .schedule-list {
    border-radius: 0;
  }



  /* スマホではカード風に */
  .schedule-list li:nth-child(odd),
  .schedule-list li:nth-child(even) {
    background: #ffffff;
  }




    
  .schedule-list {
    padding: 0 8px;
    margin: 0;
    box-sizing: border-box;
  }

  .schedule-list li {
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 8px 0;     /* ↓ 少し詰める */
    padding: 5px 12px;   /* ↓ 上下を軽く */
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    line-height: 1.5;     /* ← 全体を締める */
  }

  /* 日付 */
  .schedule-list .date {
    display: block;
    margin-bottom: 2px;   /* ← ★ここが一番効く */
    font-size: 13px;
    font-weight: bold;
 color: #1e90ff; /* ← PCと同じ青に */
    line-height: 1.3;     /* ← 日付行を詰める */
  }
    
        
    

    
    
}


input::placeholder {
  color: #d3d3d3;font-size: 18px;
}

/* IE */
input:-ms-input-placeholder {
  color: #d3d3d3;font-size: 18px;
}


