@charset "UTF-8";
/* =====================================================
1.0 - Foundation
===================================================== */
/*
1.1 - Reset
-----------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; vertical-align: baseline; font: inherit; font-size: 100%; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

body { line-height: 1; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

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

button { margin: 0; }

input, button, select, textarea { -webkit-appearance: none; -moz-appearance: none; appearance: none; background: transparent; border: none; border-radius: 0; font: inherit; /* outline: none; */ }

textarea { resize: vertical; }

input[type='checkbox'], input[type='radio'] { display: none; }

input[type='submit'], input[type='button'], label, button, select { cursor: pointer; }

select::-ms-expand { display: none; }

/* main
=================================================*/
*, :before, :after { -webkit-box-sizing: border-box; box-sizing: border-box; }

html { -webkit-box-sizing: border-box; box-sizing: border-box; height: 100%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; }

body { height: 100%; color: #1a1b1f; font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', 游ゴシック体, YuGothic, 游ゴシック, 'Yu Gothic', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', sans-serif; line-height: 1.5; }

img { max-width: 100%; height: auto; vertical-align: bottom; }

a { color: #4B4B4B; text-decoration: none; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; }

.wrap { width: 1200px; max-width: 100%; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 1200px) { .wrap { padding: 0 30px; } }

@media screen and (max-width: 1024px) { .wrap { padding: 0 15px; } }

/* =====================================================
2.0 - Project
===================================================== */
/* common
=================================================*/
.flex { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.bg-gray { background: #efefef; }

.copy { font-size: 38px; }

.copy.tac { text-align: center; }

.copy.tac + * { margin-top: 30px; }

.copy.maincolor { color: #3da9ea; }

/* header
=================================================*/
.header { padding: 25px 0; position: relative; }

.header-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.header-catchcopy { font-size: 12px; display: block; margin-bottom: 8px; }

.header-contact { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.header_tel { margin-right: 20px; font-size: 25px; font-weight: bold; }

.header_tel::before { content: ''; display: inline-block; width: 30px; height: 30px; background: url(../img/icon_tel.svg) no-repeat center/contain; margin-right: 10px; vertical-align: middle; position: relative; top: -6px; }

.globalnav { margin-top: 10px; }

.globalnav-list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.globalnav-list li:not(:last-child) { margin-right: 30px; }

/*  globalnav */
/* Button */
.button-hamburger { position: absolute; top: 0; right: 2.5%; bottom: 0; z-index: 1; width: 30px; height: 30px; margin: auto 0; border: 0; outline: 0; background-color: transparent; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; /* IE非対応 */ -webkit-transition: right .3s ease-in-out; transition: right .3s ease-in-out; }

.hamburger { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; width: 25px; height: 2px; margin: auto; border-radius: 4px; background-color: #263238; }

.hamburger:before, .hamburger:after { position: absolute; display: block; width: 100%; height: 100%; border-radius: 4px; background-color: inherit; content: ''; }

.hamburger:before { top: -5px; }

.hamburger:after { top: 5px; }

@media screen and (min-width: 1025px) { .button-hamburger { display: none; } }

@media screen and (max-width: 1024px) { .button-hamburger { display: block; }
  .header_time, .header_tel { display: none; }
  .sitelogo { display: block; max-width: 60%; }
  .header-catchcopy { margin-bottom: 8px; }
  .globalnav { margin-top: 0; position: fixed; width: 50%; height: 100%; background: #e9f7ff; top: 0; right: 0; z-index: 1; -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); -webkit-transition: -webkit-transform .4s ease-in-out; transition: -webkit-transform .4s ease-in-out; transition: transform .4s ease-in-out; transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out; }
  .is-open .globalnav { -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
  .globalnav-list { display: block; padding: 30px; }
  .globalnav-list li a { display: block; padding: 10px 0; }
  .is-open .button-hamburger { right: 50%; background: rgba(255, 255, 255, 0.8); }
  .is-open .hamburger { background: transparent; }
  .is-open .hamburger::before, .is-open .hamburger::after { background: #222222; }
  .is-open .hamburger::before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); top: 0; }
  .is-open .hamburger::after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); top: 0; } }

/* footer
=================================================*/
.footer { padding: 40px 0; }

.footer .copyright { margin-top: 20px; font-size: 13px; }

.footer-logo + * { margin-top: 20px; }

.footer-tel { font-size: 30px; font-weight: bold; margin-right: 20px; }

.footer-tel_wrap { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.footer-tel::before { content: ''; display: inline-block; width: 30px; height: 30px; background: url(../img/icon_tel.svg) no-repeat center/contain; margin-right: 10px; vertical-align: middle; position: relative; top: -6px; }

.footer-nav { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 20px; }

.footer-nav li:not(:last-child) { margin-right: 30px; }

/* main
=================================================*/
/*  common  */
.sec-main { padding: 90px 0; }

.heading-primary { font-weight: bold; font-size: 40px; }

.heading-primary + * { margin-top: 24px; }

.heading-secondary { font-size: 36px; }

.heading-secondary + * { margin-top: 20px; }

/*  mv  */
.mv { width: 100%; height: 570px; background: url(../img/img_mv.jpg) no-repeat center/cover; }

/*  lead  */
.lead { padding-bottom: 150px; }

.lead-copy { background: #3da9ea; color: #ffffff; font-size: 38px; padding: 20px 0; text-align: center; position: relative; }

.lead-copy + * { margin-top: 90px; }

.lead-copy::after { content: ''; display: block; position: absolute; width: 0; height: 0; border-style: solid; border-width: 30px 50px 0 50px; border-color: #3da9ea transparent transparent transparent; top: 100%; left: 50%; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); }

.lead-imglist { margin-top: 40px; -ms-flex-pack: distribute; justify-content: space-around; }

.lead-imglist li { max-width: calc(100%/3 - 10px); }

/*  slider  */
.slider { overflow: hidden; }

.slider-main img { width: 100%; }

.slider-nav { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 5px; margin-right: -5px; margin-left: -5px; }

.slider-nav li { border: 5px solid transparent; cursor: pointer; }

/*  price  */
.price-sec { margin-top: 100px; }

.price-freeplan { margin-top: 20px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; font-size: 34px; font-weight: bold; }

.price-freeplan .price { color: red; font-size: 2.35294em; position: relative; top: 10px; margin: 0 4px; }

.price-freeplan .small { font-size: 14px; }

.price-freeplan_text:not(:last-child) { margin-right: 40px; }

.price-table { width: 100%; border: 1px solid #ccc; }

.price-table_wrap { width: 1020px; max-width: 100%; margin-right: auto; margin-left: auto; }

.price-table th, .price-table td { text-align: center; padding: 10px 0; }

.price-table th { border-bottom: 1px solid #ccc; vertical-align: middle; background: #fafafa; }

.price-table th:not(:last-child) { border-right: 1px solid #ccc; }

.price-table th.workday { background: #b2e2ff; }

.price-table th.holiday { background: #3da9ea; }

.price-table td:not(:last-child) { border-right: 1px solid #ccc; }

.price-table td.em { color: red; }

.price-table tr:not(:last-child) td { border-bottom: 1px solid #ccc; }

/*  facility  */
.facility-main { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.facility_text { width: 30%; padding-top: 70px; }

.facility_img { width: 65%; }

.facility-list { margin-top: 40px; margin-right: -10px; margin-left: -10px; }

.facility-list li { width: 25%; border: 10px solid transparent; }

.facility-list li img { margin-bottom: 10px; }

.facility-env { margin-top: 50px; }

.facility-env_img { display: block; }

.facility-env_img + * { margin-top: 20px; }


#center_Box{
  height:100%;
  margin: 20px auto;
}

@media screen and (max-width: 600px) {
    #center_Boximg {
max-width: 100%;
width:100%;
} }

#center_Box .bento_img {    display: block;
    margin-left: auto;
    margin-right: auto }
  }


/*  seminar  */
.seminar { overflow: hidden; }

.seminar-slider { margin-top: 50px; }

/*  philosophy  */
.philosophy { width: 800px; max-width: 100%; margin-right: auto; margin-left: auto; padding: 50px; padding-right: 20%; background: url(../img/bg_phil.jpg), #efefef; background-size: contain; background-position: center right; background-repeat: no-repeat; }

.philosophy .copy + * { margin-top: 30px; }

/*  access  */
.access-map + * { margin-top: 30px; }

.access-text { font-size: 17px; font-weight: bold; }

#map { width: 100%; height: 600px; }

/*  reserve  */
.reserve { padding: 80px 0; margin-top: 50px; background: #3da9ea; text-align: center; color: #ffffff; }

.reserve-btn { max-width: 400px; margin-right: auto; margin-left: auto; }

.reserve-btn_wrap { margin-top: 20px; text-align: center; cursor: pointer;}

.reserve_m50 { margin-top: 50px; font-size: 30px; }

.reserve .mail { font-size: 30px; color: #ffffff;}
.reserve .mail a { color: #ffffff;}



.guide { width: 820px; max-width: 100%; margin-right: auto; margin-left: auto; }

.guide-calender iframe { width: 100%; }

/* contact form*/
.contact-form_list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; text-align: left; margin-top: 50px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.contact-form_list dt { width: 30%; margin-top: 20px; font-weight: bold; font-size: 1.1em; }

.contact-form_list dd { width: 70%; margin-top: 20px; }

.contact-form .add { display: block; font-size: 0.8em; }

.contact-form input, .contact-form textarea { background: #ffffff; min-height: 45px; padding: 8px; width: 100%; }

.contact-form input[type="number"] { display: inline-block; width: 50px; margin-right: 10px; }

.contact-form input[type="number"]:nth-child(2) { margin-left: 10px; }

.contact-form textarea { resize: vertical; }

.contact-form input[type="checkbox"], .contact-form input[type="radio"] { display: none; }

.contact-form input[type="checkbox"] + label, .contact-form input[type="radio"] + label { position: relative; padding-left: 30px; }

.contact-form input[type="checkbox"] + label { margin-top: 10px; display: block; }

.contact-form input[type="checkbox"] + label::before { content: ''; display: block; height: 20px; width: 20px; background: #ffffff; position: absolute; top: 0; left: 0; border-radius: 2px; }

.contact-form input[type="checkbox"]:checked + label::after { content: '\f00c'; font-family: "Font Awesome 5 Free"; font-weight: 900; color: #222222; position: absolute; top: -1px; left: 2px; }

.contact-form input[type="radio"] + label { margin-top: 10px; display: block; }

.contact-form input[type="radio"] + label::before { content: ''; display: block; height: 20px; width: 20px; background: #ffffff; position: absolute; top: 0; left: 0; border-radius: 50%; }

.contact-form input[type="radio"]:checked + label::after { content: ''; position: absolute; width: 12px; height: 12px; background: #222222; border-radius: 50%; display: block; top: 4px; left: 4px; }

.contact-form button { width: 200px; margin-right: auto; margin-left: auto; display: block; padding: 8px 0; background: #ffffff; border-radius: 4px; margin-top: 40px; }

@media screen and (max-width: 1024px) { .facility_text { width: 50%; padding-top: 0; }
  .facility_img { width: calc(50% - 10px); }
  .price-freeplan { font-size: 3.125vw; } }

@media screen and (max-width: 600px) { .copy { font-size: 26px; }
  .heading-primary { font-size: 26px; }
  .heading-secondary { font-size: 20px; }
  .sec-main { padding: 45px 0; }
  .lead-copy { font-size: 26px; }
  .mv { height: 40vw; }
  .lead .tac { text-align: left; }
  .lead { padding-bottom: 50px; }
  .lead-imglist { display: block; }
  .lead-imglist li { max-width: 100%; margin-bottom: 20px; }
  .facility_text { width: 100%; padding-top: 0; }
  .facility_img { width: 100%; margin-top: 20px; }
  .facility-list li { border-width: 5px; width: 50%; }
  #map { height: 78.125vw; }
  .reserve-btn { width: 100%; max-width: 100%; }
  .reserve-btn + * { margin-top: 10px; }
  .reserve-btn:not(:last-child) { margin-right: 0; }
  .price-table_wrap.sp-overflow { overflow: auto; }
  .price-table.sp-scroll { width: 500px; }
  .price-freeplan { display: block; font-size: 20px; }
  .price-freeplan .price { top: 7px; }
  .price-freeplan_text:not(:last-child) { margin-right: 0; }
  .price-sec { margin-top: 40px; }
  .philosophy { padding: 30px 15px 133.33333vw; background-position: right bottom; }
  .guide { padding: 0; }
  .reserve { padding: 45px 0; }
  .contact-form_list dt, .contact-form_list dd { width: 100%; }
  .contact-form_list { margin-top: 40px; }
  .contact-form_list dt { margin-top: 20px; }
  .contact-form_list dd { margin-top: 8px; } }

.screen-reader-text { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(1px, 1px, 1px, 1px); }

.tac { text-align: center; }

.u-em { color: red; }

@media screen and (max-width: 600px) { .pc-db { display: none; } }

.pc-dib { display: inline-block; }

.tab-db { display: none; }

@media screen and (max-width: 1024px) { .tab-db { display: block; } }

.sp-db { display: none; }

@media screen and (max-width: 600px) { .sp-db { display: block; } }

.se-db { display: none; }

@media screen and (max-width: 320px) { .se-db { display: block; } }

_:-ms-lang(x)::-ms-backdrop, .header_subnavlist li { width: 50px; }



.plans {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
}

.plan-column {
  width: 48%;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  padding: 30px;
  box-sizing: border-box;
  border-radius: 10px; 
}

.plan-column h2 {  /* 見出しのスタイル */
  font-size: 1.4em;  /* サイズを大きく */
  font-weight: bold; /* 太字にする */
  margin-bottom: 10px; /* 下マージンを追加 */
  border-bottom: 2px solid #333; /* 下線を引く */
  padding-bottom: 5px; /* 下線の余白 */
}


.plan {
  margin-bottom: 10px;
}

.plan p:last-child {
  font-size: 1.2em;
  font-weight: bold;
  color: #e44d26;
}

@media (max-width: 768px) {
  .plan-column {
    width: 100%;
  }
}

/* アピール */
.appeal {
  font-size: 1.7rem;
  font-weight: bold;
  color: red; /* アピール色 */
  text-align: center;
  margin-top: 20px;
}

.appeal-sub {
  text-align: center;
  color: #555;
}
