*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:#f7f6ef;
  color:#31515a;
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",Arial,sans-serif;
  font-size:14px;
  line-height:1.65;
}
a{color:#7e3658;text-decoration:underline}
a:hover{opacity:.78}
.topbar{height:18px;background:linear-gradient(90deg,#8c4c68,#b27b92,#8c4c68)}
.nav-wrap{height:67px;background:#f5f5ef;border-bottom:1px solid #ddd}
.nav{width:1040px;max-width:calc(100% - 30px);height:67px;margin:auto;display:flex;align-items:stretch;justify-content:center}
.nav a{
  display:flex;align-items:center;padding:0 17px;
  color:#8a3659;text-decoration:none;font-size:15px;white-space:nowrap
}
.nav a.active{background:#91405f;color:#fff}
.hero{
  height:100px;
  background:url("assets/header-hero.jpg") center center/cover no-repeat;
}
.cyan-band{height:60px;background:#c7e2e1}
.layout{
  width:1080px;max-width:calc(100% - 40px);
  margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:48px;
  padding:65px 0 90px;
}
.sidebar{padding-top:35px;font-size:13px;color:#34545b}
.side-block{padding:0 0 21px;margin-bottom:18px;border-bottom:2px solid #9d4666}
.side-block p{margin:0 0 8px}
.side-title{font-weight:bold;margin-bottom:8px}
.social{display:flex;gap:10px;margin-top:12px}
.social a{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  text-decoration:none;color:white;font-weight:bold;font-size:19px
}
.social .fb{background:#3568ad}.social .x{background:#000}.social .line{background:#32b64a}
.content{min-width:0}
.content h1{
  margin:0 0 14px;color:#0808ef;font-size:36px;line-height:1.25;
  font-weight:800;text-align:center
}
.content h2{
  margin:0 0 14px;color:#8c355b;font-size:27px;text-align:center;
  border-top:2px solid #9e4966;padding-top:10px
}
.content h3{color:#7e3658;margin:10px 0 4px}
.content p{margin:0 0 13px}
.content .intro-title{color:#0808ef;font-size:34px;font-weight:800;text-align:center;margin-bottom:4px}
.profile-grid{display:grid;grid-template-columns:480px 1fr;gap:26px;align-items:start}
.profile-grid img{width:480px;max-width:100%;display:block}
.profile-text h3{margin-top:0;text-decoration:underline}
.profile-text{font-size:14px}
.event-title{
  color:#76566a;letter-spacing:5px;font-size:17px;
  margin:2px 0 14px
}
.rule-title{border-top:2px solid #a04b69;border-bottom:2px solid #a04b69;padding:8px 0;text-align:center;color:#9b4062;font-size:22px;font-weight:bold}
.home-event{
  display:grid;grid-template-columns:1fr 230px;gap:12px;
  border-top:2px solid #a04b69;padding-top:8px;margin-top:10px
}
.home-event img{width:100%;height:145px;object-fit:cover}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:26px 36px;margin-top:26px}
.tile{text-align:center}
.tile .label{display:block;color:#8e365a;text-decoration:underline;font-weight:bold;margin-bottom:5px}
.tile img{width:100%;height:155px;object-fit:cover;display:block}
.cta{
  display:block;width:max-content;margin:26px auto 24px;
  padding:9px 24px;background:#1115f5;color:white;border-radius:24px;
  text-decoration:none;font-size:16px
}
.local-card{border-top:2px solid #9d4967;padding-top:10px;margin-top:25px}
.local-card h2{border:0;padding:0;color:#31515a;font-size:25px}
.local-flex{display:grid;grid-template-columns:1.25fr .75fr;gap:15px;align-items:start}
.local-flex img{width:100%;display:block}
.services-image{width:100%;display:block;border-top:2px solid #9e4966;padding-top:10px}
.service-list{font-size:21px;line-height:1.65;margin:16px 0 0;padding-left:28px}
.service-list a{color:#8d3b60}
.work-item{display:grid;grid-template-columns:438px 1fr;gap:22px;margin-bottom:16px}
.work-item img{width:100%;display:block}
.work-item p{margin-top:0}
.contact-grid{display:grid;grid-template-columns:1fr;max-width:920px;margin:0 auto}
.contact-grid h1{text-align:center;color:#a83d69;margin-bottom:22px}
form{width:100%;max-width:920px}
label{display:block;margin:8px 0 3px}
.required{color:#d00}
input,select,textarea{
  width:100%;border:2px solid #c9c9c9;border-radius:18px;
  background:#fff;padding:10px 14px;font:inherit;color:#555
}
textarea{height:170px;border-radius:7px;resize:vertical}
.submit{
  background:#c9e0df;color:#fff;border:0;border-radius:22px;
  padding:9px 20px;margin-top:15px;cursor:pointer
}
.footer{
  background:#e4e3dc;min-height:180px;padding:28px 0 24px;
  color:#666;font-size:12px
}
.footer-inner{width:1080px;max-width:calc(100% - 40px);margin:auto;position:relative}
.footer a{color:#666}
.jimdo{margin-top:32px}
.to-top{
  position:fixed;right:20px;bottom:20px;background:#777;color:#fff;
  width:27px;height:27px;border-radius:3px;text-decoration:none;
  display:grid;place-items:center;font-size:14px
}
.mobile-menu{display:none}
@media(max-width:900px){
  .nav{width:100%;overflow:auto;justify-content:flex-start}
  .nav a{padding:0 12px;font-size:13px}
  .hero{height:300px}
  .layout{grid-template-columns:1fr;gap:15px;padding-top:35px}
  .sidebar{padding-top:0;order:2}
  .content{order:1}
  .profile-grid,.local-flex,.work-item,.home-event{grid-template-columns:1fr}
  .profile-grid img{margin:auto}
  .work-item img{max-width:100%;margin:auto}
}
@media(max-width:600px){
  body{font-size:13px}
  .topbar{height:12px}.nav-wrap{height:54px}.nav{height:54px}
  .nav a{font-size:12px;padding:0 9px}
  .hero{height:210px}
  .cyan-band{height:35px}
  .layout{max-width:calc(100% - 24px);padding:28px 0 50px}
  .content h1,.content .intro-title{font-size:28px}
  .content h2{font-size:22px}
  .tiles{gap:18px}
  .tile img{height:120px}
  .service-list{font-size:18px}
}

/* WordPress navigation */
.dia-menu{display:flex;margin:0;padding:0;list-style:none;height:67px}
.dia-menu li{margin:0;padding:0}
.dia-menu li a{display:flex;align-items:center;height:67px;padding:0 17px;color:#8a3659;text-decoration:none;font-size:15px;white-space:nowrap}
.dia-menu li.current-menu-item>a,.dia-menu li.current_page_item>a{background:#91405f;color:#fff}
.page-content{min-width:0}
.page-content img{max-width:100%;height:auto}
.page-content .aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-block-image{margin:1em 0}
.wp-block-image img{display:block}
.wp-block-columns{gap:24px}
.required{color:#d00}
