html { overflow-x: hidden;  font-size:16px; }

.m10{margin:1rem;}
.m20{margin:2rem;}
.m30{margin:3rem;}
.m50{margin:5rem;}

.p10{padding:1rem;}
.p20{padding:2rem;}
.p30{padding:3rem;}
.p50{padding:5rem;}
	
.mb10{margin-bottom:1rem;}
.mb15{margin-bottom:1.5rem;}
.mb20{margin-bottom:2rem;}
.mb30{margin-bottom:3rem;}
.mb50{margin-bottom:5rem;}
.mb66{margin-bottom:6.66rem;}
.mb70{margin-bottom:7rem;}
.mb80{margin-bottom:8rem;}
.mb100{margin-bottom:10rem;}
.mb200{margin-bottom:20rem;}

.mt10{margin-top:1rem;}
.mt20{margin-top:2rem;}
.mt30{margin-top:3rem;}
.mt50{margin-top:5rem;}
.mt80{margin-top:8rem;}
.mt100{margin-top:10rem;}

.mtb10{margin-top:1rem;margin-bottom:1rem;}
.mtb20{margin-top:2rem;margin-bottom:2rem;}
.mtb30{margin-top:3rem;margin-bottom:3rem;}
.mtb50{margin-top:5rem;margin-bottom:5rem;}
.mtb70{margin-top:7rem;margin-bottom:7rem;}
.mtb100{margin-top:10rem;margin-bottom:10rem;}
.mtb200{margin-top:20rem;margin-bottom:20rem;}

.mrl10{margin-right:1rem;margin-left:1rem;}
.mrl20{margin-right:2rem;margin-left:2rem;}
.mrl30{margin-right:3rem;margin-left:3rem;}
.mrl50{margin-right:5rem;margin-left:5rem;}

.mr20{margin-right:2rem;}

.ml10{margin-left:1rem;}
.ml20{margin-left:2rem;}
.ml30{margin-left:3rem;}

.pb10{padding-bottom:1rem;}
.pb20{padding-bottom:2rem;}
.pb30{padding-bottom:3rem;}
.pb40{padding-bottom:4rem;}
.pb50{padding-bottom:5rem;}
.pb60{padding-bottom:6rem;}
.pb70{padding-bottom:7rem;}
.pb100{padding-bottom:10rem;}

.ptb10{padding-top:1rem;padding-bottom:1rem;}
.ptb20{padding-top:2rem;padding-bottom:2rem;}
.ptb30{padding-top:3rem;padding-bottom:3rem;}
.ptb50{padding-top:5rem;padding-bottom:5rem;}
.ptb70{padding-top:7rem;padding-bottom:7rem;}
.ptb90{padding-top:9rem;padding-bottom:9rem;}
.ptb100{padding-top:10rem;padding-bottom:10rem;}

.prl10{padding-right:1rem;padding-left:1rem;}
.prl20{padding-right:2rem;padding-left:2rem;}
.prl30{padding-right:3rem;padding-left:3rem;}
.prl50{padding-right:5rem;padding-left:5rem;}

.pl10{padding-left:1rem;}
.pl20{padding-left:2rem;}

.pr10{padding-right:1rem;}
.pr20{padding-right:2rem;}
.pr30{padding-right:3rem;}
.pr40{padding-right:4rem;}

.pt10{padding-top:1rem;}
.pt20{padding-top:2rem;}
.pt30{padding-top:3rem;}
.pt50{padding-top:5rem;}
.pt70{padding-top:7rem;}
.pt100{padding-top:10rem;}
.pb100{padding-bottom:10rem;}
.pb200{padding-bottom:20rem;}
.gap0{padding-left:0px;padding-right:0px;}

.secP200{padding-top:15vw;padding-bottom:15vw;}
.secM15vw{margin-top:15vw;margin-bottom:15vw;}
.secM10vw{margin-top:10vw;margin-bottom:10vw;}


body {
  font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
  font-feature-settings: 'palt' 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.75;
  overflow: hidden;
}
a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  text-decoration: none; 

}
a:focus, a:hover, a:active {
  outline: 0;
  color:#9C1D22;
  text-decoration: none;
}
a, .button {
  -webkit-transition: .3s;
  -moz-transition: .3s;
  -o-transition: .3s;
  transition: .3s
}
::selection {
  color: #111;
  background: #DFDFDF;
  text-shadow: none;
}
::-webkit-selection {
  color: #111;
  background: #DFDFDF;
  text-shadow: none;
}
::-moz-selection {
  color: #111;
  background: #DFDFDF;
  text-shadow: none;
}
:active,:focus {
  outline: none;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0px;
  font-feature-settings: 'palt' 1;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit
}
ul {
  margin: 0px;
  padding: 0px
}
ul li {
  list-style: none
}
p{margin:0; font-weight:500;}
strong{font-weight:600;}

.linkover {
  position: relative;
  transition:.3s all;
}
.linkover a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent:-999px;
}
.linkover:hover {
  filter:alpha(opacity=90);/* IE 6,7*/
  -ms-filter: "alpha(opacity=90)";/* IE 8,9 */
  -moz-opacity:0.9;/* FF , Netscape */
  -khtml-opacity: 0.9;/* Safari 1.x */
  opacity:0.9;
  zoom:1;/*IE*/
}

.gmap {
overflow: hidden;
height:26rem;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.text-center{
  text-align: center;
}
.text-center-spleft{/*spでは左揃えに*/
  text-align: center;
}
#scrollUp, #back-top {
  background:#9C1D22;
  height: 50px;
  width: 50px;
  right: 31px;
  bottom: 0px;
  position: fixed;
  color: #fff!important;
  font-size: 20px;
  text-align: center;
  line-height: 48px;
  border: 2px solid transparent;
  box-shadow: 0 0 10px 3px rgba(108, 98, 98, 0.2);
  z-index:100;
}

@media (max-width: 575px) {
  #scrollUp, #back-top {
    right: 0px
  }
}
#scrollUp a i, #back-top a i {
  display: block;
  line-height: 50px;
  color:#fff;
}
#scrollUp:hover {
  color: #fff
}

footer{
  margin-top:2rem;
  padding-top:1rem;
  background-color:#EBEBEB;
  width: 100%;
}
.tepco-logo img{
  max-width:150px;
}
.ct{
  line-height: 1.2;
  padding:1rem;
}
.credit{
  margin-top:10px;
}

address.tel{
  font-size:1.5rem;
  font-weight:600;
}
.copyright{font-size:0.85rem;border-top:1px solid #555;text-align: end;padding-right:1rem;}

.mv{
  display: flex;
  justify-content: center;
  margin-bottom:2rem;
}
main{
  max-width:800px;margin:auto;
}
.sitetitle{
  background-color:#4C8DDC;
  color:#fff;
  padding-left:8px;
}
.max1200{
  max-width:1200px;margin:auto;
}
/** 個人情報保護方針 **/
#policyBox{
  height:300px;
  overflow-y:scroll;
  border:1px solid #ccc;
}
.privacypolicy{padding:1rem;}
.privacypolicy ol{list-style: decimal; padding-left:1.3rem;}
.privacypolicy h2{margin-bottom:2rem;font-size:1.75rem; font-weight:600;}
.privacypolicy h3{margin-top:1rem;margin-bottom:0.5rem;font-size:1.125rem; font-weight:600;}
.privacypolicy h4{margin-bottom:0.5rem;font-size:1.125rem; font-weight:600;}
.privacypolicy h5{margin-bottom:0.5rem;font-size:1.125rem; font-weight:600;}
.privacypolicy p{margin-bottom:1rem;font-weight:400;}
.privacypolicy dl{}
.privacypolicy dl dt{font-weight:600;}
.privacypolicy dl dd{margin-bottom:0.5rem;}
.privacypolicy ul{padding-left:1rem;}
.privacypolicy ul li{list-style:disc;}

.doui-btn{
  text-align:center;
}
.doui-btn label{
  display: block;
  padding:1rem 0;
}
.doui-btn button{
  width:80%;
  padding:1rem;
  font-size:1.125rem; font-weight:600;
  color:#fff;
  background-color:#2C84EE;
  border-radius: 10px;
  border:none;
  text-align: center;
  margin:auto;
}



input,textarea {
    text-rendering: auto;
    color: fieldtext;
    letter-spacing: normal;
    word-spacing: normal;
    line-height: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    appearance: auto;
    cursor: text;
    -webkit-rtl-ordering: logical;
    background-color: field;
    margin: 0em 0em 0em 0em;
    padding: 1px 0px;
    border:1px solid #ccc;
    border-radius:5px;
    padding-block: 5px;
    padding-inline: 5px;
}

input[type="submit"] {
  padding:0.5rem 3rem;
  background-color:#9C1D22;
  border:none;
  color:#fff;
  cursor:pointer;
}

/*** background color ***/
.bg-bluglay{background-color:#DFE4EA;}
.bg-red{background-color:#9C1D22;}
.bg-glay{background-color:#F4F5F7;}
.bg-dark{background-color:#454545;}
.bg-3c{background-color:#3c3c3c;}
.bg-light{background-color: #f8f8f8;}
.bg-white{background-color: #fff}

/*** btn  ***/
.btn,
a.btn,
button.btn {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 3rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
}

a.btn-primary{
  background-image: linear-gradient(160deg, rgba(27, 65, 152, 1), rgba(28, 96, 208, 1));
  border-radius: 50px;
  color:#fff;
}
.btn-secondary{
  background-color:#90C3FF;
  border-radius: 10px;
  color:#fff;
}
.btn-secondary a{
  color:#202020;
}
.btn-center{
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-secondary{background-color:#90C3FF;color:#202020;}
.btn-secondary:hover{background-color:#CBE1FF;color:#202020;}
.btn-secondary-outline{border:1px solid #CBE1FF;color:#CBE1FF;}
.btn-round{background-color:#00B1FF;border-radius:50px;color:#fff;}
.btn-skel{border:3px solid #fff; color:#fff; text-shadow:2px 2px 2px rgba(0,0,0,0.5); box-shadow: 2px 2px 2px rgba(0,0,0,0.3);}
a.btn-skel:hover{background-color:#9C1D22;color:#fff;}
.btn-red{background-color:#D5262D;color:#fff;border-radius:1rem;}
a.btn-red:hover{background-color:#fff;color:#D5262D;}
/*** END btn primary ***/


.infobox{
  background-color:#E8E8E8;
  padding:0.5rem 1rem;
  border-radius: 1rem;
  margin:1.5rem 0;
}
.infobox ul{
  padding-left:10px;
}
.infobox ul li{
  list-style:disc;
  margin:0.5rem 0;
}
.infobox-red{
  border:3px solid #EA0000;
  color: #EA0000;
  border-radius: 1rem;
  padding:5px;
}



.list-monthly-calendar, .mix-calendar, .list-calendar, .timetable-calendar, .multiple-calendar, .monthly-calendar {
  font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
}
td.day-box.disable{
  background-color: #f0f0f0;
}
td.day-box.booked,.vacant,.full{
  background-color:#FEFFEF;
}
.calendar-daylink{
  display: flex;
  flex-direction: column;
}
a.calendar-daylink .calendar-marking{
  padding:10px 5px;
  background-color: #FFE3F3;
  color:#FF2D86;
  font-size:1.5rem;
  text-decoration: underline;
}
.calendar-mark a{
  border-radius: 50px;
  padding:10px 5px; 
}
.calendar-time-mark, .calendar-mark {
    color: #888888;
    font-size: 1rem!important;
}
.calendar-daylink{}
.schedule-note{
  display:none;
}
.article-name{color:#000;}
.calendar-marking{}

.list-header.sun, .mix-calendar .header-row .sun, .week-title.sun, .day-box.sun .day-number {
    color: #EA0000!important;
}
.day-number{
  font-weight:600;
}
.mix-calendar th, .mix-calendar td, .timetable-calendar th, .timetable-calendar td, .multiple-calendar th, .multiple-calendar td, .monthly-calendar th, .monthly-calendar td {width:auto!important;}

td.day-box.mon,td.day-box.tue,td.day-box.wed,td.day-box.thu,td.day-box.fri
{
  width: 10%!important;
}
.list-monthly-calendar table, .mix-calendar table, .list-calendar table, .timetable-calendar table, .multiple-calendar table, .monthly-calendar table {width:100%!important;}
.calendar-caption {
  font-size: 1rem!important;
  font-weight:600;
  text-align: left!important; 
}
.mtssb-timetable-name{
  margin-top:2rem;
  font-weight:600;
  font-size:1.2rem;
  color:#555;
}
.mtssb-timetable-date{
  font-weight:600;
  font-size:1.5rem;
}
.booking-box{
  border:1px solid #ccc;
  border-radius: 15px;
  padding:1rem;
  text-align: center;
}
.day-time{
  font-weight:600;
  font-size:1.5rem;
  line-height: 1.35;
}
.timetable-slot-note{
  font-size:1rem;
  font-weight:400;
  padding:0.5rem 0;
}

.day-zansu .booking-timelink{
  color:#2C84EE;
}
.day-zansu .booking-timelink span{
  font-weight:900;
  font-size:2rem;
  margin-left:5px;
}

.content-form legend {
  font-size:0.9rem!important;
  color:#555;
  background-color: #E3ECFF;
  border-radius: 15px;
  padding:0 10px !important;
}
.content-form fieldset {
  width:100%!important;
  padding-bottom:1rem!important;
}
.form-label{
  font-size:1rem;
  font-weight:600;
  color:#555;
}

.form-table{
  padding:1rem;
}
.form-row{
  margin-bottom:1rem;
}
.content-form input, .content-form textarea{

  font-size:1.2rem;
  padding: 0.6rem 0.5rem;
  min-height: 2.75rem;
  border-radius: 10px;
}  
.content-radio{
  padding:1rem 1rem 1rem 0;
}
.content-form select, .content-form select option {
  border-radius: 10px;
  border:1px solid #ccc;
}

.content-text.medium {
  width:80%!important;
}

.form-input{}
#action-button button{
  background-color:#FF6164;
  color:#fff;
  font-weight:600;
  width:80%;
  padding:1rem;
  border-radius: 1rem;
}
.content-form input[type="checkbox"]{
  cursor:default!important;
}
#action-button button:hover{
  cursor: pointer;
  background-color:#E93A3D;
}
#booking-notices{
}
.booking-notices-title{
  font-weight:600;
  font-size:1.2rem;
  color:#EF0006
 }
.booking-notices-section{
  background-color:#E5E5E5;
  border-radius: 10px;
  padding:5px 10px;
  margin-bottom:1rem;
}
.booking-notices-list li{
  margin-bottom:0.8rem;
  line-height:1.3;
}
.content-form th,
.content-form td {
	border:none!important;
}
#yoyakukanryo{}
#yoyakukanryo h2{
  font-size:1.8rem;
  font-weight:600;
  color:#555;
}

#yoyakukanryo p{
  margin:1rem 0;
}

/* ===== キャンセル完了ページ：フッター下部固定 ===== */
body.cancel-thanks-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: visible;
}
/* body直下のコンテンツラッパー（クラスなしdiv）を伸長してfooterを押し下げる */
body.cancel-thanks-page > div:not(.max1200) {
  flex: 1;
}
body.cancel-thanks-page footer {
  margin-top: 0;
}

.coming-soon-img{
  width:200px;
  margin:auto;
}
#coming-soon h2{
  font-size:1.2rem;
  font-weight:600;
  text-align: center;
  color:#2C84EE;
  padding-top:1.5rem;
  padding-bottom:1.5rem;

}
.coming-soon-date{
  font-size:1.1rem;
  text-align: center;
  padding:1rem;
  border:3px solid #555;
  border-radius:15px;
}
