html,body,div,span,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,samp,small,strike,strong,sub,sup,tt,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figure,figcaption,footer,header,hgroup,menu,nav,output,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-style:normal;font-weight:normal;font-size:100%;vertical-align:baseline;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}html{overflow-y:scroll}body{font-family:-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;line-height:1;color:#333}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}input,textarea{margin:0;padding:0}img{vertical-align:bottom}caption,th{text-align:left}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;appearance:none;-webkit-appearance:none;-moz-appearance:none}a{text-decoration:none;color:inherit}a:focus{outline:none}.cf:before,#wrap #header .top:before,#wrap #header .gmenu ul:before,#wrap #service ul:before,#footer .innner .content:before,.cf:after,#wrap #header .top:after,#wrap #header .gmenu ul:after,#wrap #service ul:after,#footer .innner .content:after{content:'';display:table}.cf:after,#wrap #header .top:after,#wrap #header .gmenu ul:after,#wrap #service ul:after,#footer .innner .content:after{clear:both}::-ms-clear{display:none}*,*:before,*:after{box-sizing:border-box}canvas{-webkit-tap-highlight-color:rgba(0,0,0,0)}.btn:hover{opacity:0.85;transition:0.3s}.fl{float:left}.fr{float:right}.sp{display:none}@media (max-width: 599px){.sp{display:block !important}}@media (max-width: 599px){.pc{display:none !important}}.mt10{margin-top:10px}.mt20{margin-top:20px}.mt30{margin-top:30px}.mt40{margin-top:40px}.contact_f{display:block;background:#3b397a;color:#fff;font-size:16px;padding:13px 38px;border-radius:3px;margin:80px auto 30px;width:240px;text-align:center}#wrap{width:100%;margin:0 auto}@media (max-width: 599px){#wrap{width:100%}}#wrap #header{margin-top:8px}@media (max-width: 599px){#wrap #header{margin-top:10px}}@media (max-width: 599px){#wrap #header .top{position:relative}}@media (max-width: 599px){#wrap #header .top .fl{width:100%;padding-left:3%}}#wrap #header .top .logo{display:block}@media (max-width: 599px){#wrap #header .top .logo img{width:80%}}#wrap #header .top .contact{display:block;background:#3b397a;color:#fff;font-size:16px;padding:13px 38px;border-radius:3px;margin-top:11px}@media (max-width: 599px){#wrap #header .top .contact{display:none}}@media (max-width: 599px){#wrap #header .top{margin-bottom:10px}}#wrap #header .top .hmenu{display:none}@media (max-width: 599px){#wrap #header .top .hmenu{display:inline-block;transition:all .4s;box-sizing:border-box;position:absolute;top:2px;right:10px;width:40px;height:30px}#wrap #header .top .hmenu span{display:inline-block;transition:all .4s;box-sizing:border-box;position:absolute;left:0;width:100%;height:4px;background-color:#3b397a}#wrap #header .top .hmenu span:nth-of-type(1){top:0}#wrap #header .top .hmenu span:nth-of-type(1).active{transform:translateY(13px) rotate(-315deg)}#wrap #header .top .hmenu span:nth-of-type(2){top:13px}#wrap #header .top .hmenu span:nth-of-type(2).active{opacity:0}#wrap #header .top .hmenu span:nth-of-type(3){bottom:0}#wrap #header .top .hmenu span:nth-of-type(3).active{transform:translateY(-13px) rotate(315deg)}}#wrap #header .gmenu{margin-top:20px;border-top:3px solid #3b397a}@media (max-width: 599px){#wrap #header .gmenu{margin-top:0;display:none}}#wrap #header .gmenu ul{border-right:1px solid #ededed}#wrap #header .gmenu ul li{border-left:1px solid #ededed;border-bottom:1px solid #ededed;float:left}@media (max-width: 599px){#wrap #header .gmenu ul li{width:50%}}#wrap #header .gmenu ul li a{display:block;width:165px;height:46px;line-height:46px;text-align:center;color:#3b397a}@media (max-width: 599px){#wrap #header .gmenu ul li a{width:100%;height:40px;line-height:40px;font-size:14px}}#wrap #header .pan{font-size:14px;margin-top:10px}#wrap #header .pan a{text-decoration:underline}@media (max-width: 599px){#wrap #header .pan{text-align:center;margin-top:14px}}#wrap #kv img{width:100%}#wrap #greeting{margin-top:30px}@media (max-width: 599px){#wrap #greeting{margin-top:20px;padding:0 4%}}#wrap #greeting img{width:100%}#wrap #greeting .office{display:block;margin-top:10px;text-align:right}#wrap #greeting .office a{color:#3b397a;text-decoration:underline;font-size:14px}#wrap #service{margin-top:40px;text-align:center}@media (max-width: 599px){#wrap #service{padding:0 4%}}#wrap #service h2{font-size:24px;color:#fff;background:#3b397a;text-align:center;padding:10px}@media (max-width: 599px){#wrap #service h2{font-size:20px}}#wrap #service ul li{display:inline-block;margin:20px 10px 0 10px;box-shadow:2px 2px 2px rgba(0,0,0,0.3);border-radius:6px;overflow:hidden;position:relative;vertical-align:top}@media (max-width: 599px){#wrap #service ul li{margin-left:0}}@media (max-width: 599px){#wrap #service ul li{width:100%}}#wrap #service ul li a{width:320px;height:140px;display:flex;align-items:center;font-size:21px;line-height:1.5em;background:#f1f1f1;color:#fff;text-shadow:2px 2px 0 #3b397a,-2px -2px 0 #3b397a,-2px 2px 0 #3b397a,2px -2px 0 #3b397a,0px 2px 0 #3b397a,0 -2px 0 #3b397a,-2px 0 0 #3b397a,2px 0 0 #3b397a;font-weight:bold;padding-left:40px;border-left:30px #3b397a solid;position:relative;overflow:hidden;z-index:1}@media (max-width: 599px){#wrap #service ul li a{width:100%}}@media (max-width: 599px){#wrap #service ul li a{height:90px}}@media (max-width: 599px){#wrap #service ul li a{font-size:16px}}#wrap #service ul li a:before{content:"";position:absolute;left:0;top:0;width:320px;height:140px;z-index:-1}@media (max-width: 599px){#wrap #service ul li a:before{height:90px}}#wrap #service ul li a.m1:before{background:url(../img/smb_1.jpg) no-repeat}#wrap #service ul li a.m2:before{background:url(../img/smb_2.jpg) no-repeat}#wrap #service ul li a.m3:before{background:url(../img/smb_3.jpg) no-repeat}#wrap #service ul li a.m4:before{background:url(../img/smb_4.jpg) no-repeat}#wrap #service ul li a.m5:before{background:url(../img/smb_5.jpg) no-repeat}#wrap #service ul li a.m6:before{background:url(../img/smb_6.jpg) no-repeat}#wrap #faq .content{margin-top:40px;line-height:1.2}@media (max-width: 599px){#wrap #faq .content{padding:0 4%}}#wrap #faq .content h2{background:#3c397a;padding:12px;font-size:24px;color:#fff}@media (max-width: 599px){#wrap #faq .content h2{font-size:20px}}#wrap #faq .content .disc{margin-top:20px;display:block}#wrap #faq .content .list{margin-top:20px;background:#eaeaf0;padding:10px}#wrap #faq .content .list .q{display:block;color:#6a4778;font-weight:bold}#wrap #faq .content .list .a{color:#2e2e2d;display:block;margin-top:5px}#wrap #office .content{margin-top:40px}@media (max-width: 599px){#wrap #office .content{padding:0 4%}}#wrap #office .content .indent{padding-left:19px}@media (max-width: 599px){#wrap #office .content .indent{padding-left:0}}#wrap #office .content.col2{width:45%}@media (max-width: 599px){#wrap #office .content.col2{width:100%}}#wrap #office .content h2{color:#36328b;font-size:17px;padding:14px 17px;border-left:2px solid #817FA7;border-bottom:1px solid #ecf2f7;line-height:1.5}#wrap #office .content p{margin-top:20px;line-height:1.8;font-size:15px;color:#333}#wrap #office .content p img{display:block;margin-bottom:20px;width:100%}#wrap #office .slidewrap{margin-top:20px;background:#3b397a}#wrap #office .slidewrap .slide{margin:0 auto;overflow:hidden;width:786px;height:376px}@media (max-width: 599px){#wrap #office .slidewrap .slide{width:100%;height:auto}}#wrap #profile .content{margin-top:40px}@media (max-width: 599px){#wrap #profile .content{padding:0 4%}}#wrap #profile .content .indent{padding-left:19px}@media (max-width: 599px){#wrap #profile .content .indent{padding-left:0}}#wrap #profile .content.col2{width:45%}@media (max-width: 599px){#wrap #profile .content.col2{width:100%}}#wrap #profile .content h2{color:#36328b;font-size:17px;padding:17px;border-left:2px solid #817FA7;border-bottom:1px solid #ecf2f7}#wrap #profile .content p{margin-top:20px;line-height:1.8;font-size:15px;color:#333}#wrap #profile .content p img{display:block;margin-bottom:20px;width:100%}#wrap #profile .content .prof{padding-top:20px;display:flex;margin-bottom:40px}@media (max-width: 599px){#wrap #profile .content .prof{display:block}}@media (max-width: 599px){#wrap #profile .content .prof .pict img{width:100%}}#wrap #profile .content .prof .detail{margin-left:20px;width:100%}@media (max-width: 599px){#wrap #profile .content .prof .detail{margin-left:0;margin-top:20px}}#wrap #profile .content .prof .detail table{border-top:1px solid #E6E6E6;border-left:1px solid #E6E6E6;width:100%;font-size:14px}#wrap #profile .content .prof .detail table tr{border-bottom:1px solid #E6E6E6;border-right:1px solid #E6E6E6}@media (max-width: 599px){#wrap #profile .content .prof .detail table tr{border-right:none}}#wrap #profile .content .prof .detail table tr th,#wrap #profile .content .prof .detail table tr td{vertical-align:middle;color:#3C4465;line-height:1.8;padding:8px 14px}@media (max-width: 599px){#wrap #profile .content .prof .detail table tr th,#wrap #profile .content .prof .detail table tr td{width:100%;display:block}}#wrap #profile .content .prof .detail table tr th{background:#F2F2F2;font-weight:bold;border-right:1px solid #E6E6E6;word-break:keep-all}@media (max-width: 599px){#wrap #profile .content .prof .detail table tr th{border-bottom:1px solid #E6E6E6}}#wrap #profile .content .prof .detail table tr td{background:#fff}@media (max-width: 599px){#wrap #profile .content .prof .detail table tr td{border-right:1px solid #E6E6E6}}#wrap #profile .content .prof .detail table tr:first-child th{width:180px}@media (max-width: 599px){#wrap #profile .content .prof .detail table tr:first-child th{width:100%}}#wrap #profile .content .prof .detail table tr:first-child th,#wrap #profile .content .prof .detail table tr:first-child td{font-size:18px;font-weight:bold;padding:14px 14px}@media (max-width: 599px){#wrap #profile .content .prof .detail table tr:first-child th,#wrap #profile .content .prof .detail table tr:first-child td{font-size:16px;padding:10px 14px}}#wrap #profile .staff{font-size:14px;text-align:center}@media (max-width: 599px){#wrap #profile .staff{font-size:10px;width:48%}}#wrap #profile .staff img{width:210px;display:block;margin-bottom:8px}@media (max-width: 599px){#wrap #profile .staff img{width:100%}}#wrap #profile .groupphoto{margin-top:30px;text-align:center}#wrap #profile .groupphoto img{width:60%}@media (max-width: 599px){#wrap #profile .groupphoto img{width:100%}}#wrap #access .content{margin-top:40px}@media (max-width: 599px){#wrap #access .content{padding:0 4%}}#wrap #access .content.col2{width:45%}@media (max-width: 599px){#wrap #access .content.col2{width:100%}}#wrap #access .content h2{color:#36328b;font-size:17px;padding:14px 17px;border-left:2px solid #817FA7;border-bottom:1px solid #ecf2f7;line-height:1.5}#wrap #access .content p{margin-top:20px;line-height:1.8;font-size:15px;color:#333}#wrap #access .content p img{display:block;margin-bottom:20px;width:100%}#wrap #access .content p.tel{font-size:24px;font-weight:bold;color:#333;letter-spacing:-3px;line-height:1.4;display:block}@media (max-width: 599px){#wrap #access .content p.tel{font-size:20px}}#wrap #access .staff{font-size:14px;text-align:center}@media (max-width: 599px){#wrap #access .staff{font-size:10px;width:48%}}#wrap #access .staff img{width:210px;display:block;margin-bottom:8px}@media (max-width: 599px){#wrap #access .staff img{width:100%}}#wrap #access .groupphoto{margin-top:40px}#wrap #access .groupphoto img{width:100%}#wrap #contact .content{margin-top:40px}@media (max-width: 599px){#wrap #contact .content{padding:0 4%}}#wrap #contact .content.col2{width:45%}@media (max-width: 599px){#wrap #contact .content.col2{width:100%}#wrap #contact .content.col2 img{width:100%}}#wrap #contact .content h2{color:#36328b;font-size:17px;padding:14px 17px;border-left:2px solid #817FA7;border-bottom:1px solid #ecf2f7;line-height:1.5}#wrap #contact .content p{margin-top:20px;line-height:1.8;font-size:15px;color:#333}#wrap #contact .content p img{display:block;margin-bottom:20px;width:100%}#wrap #contact .content p.tel{font-size:24px;font-weight:bold;color:#333;letter-spacing:-3px;line-height:1.4;display:block}#wrap #contact .content p.telb{font-size:24px;font-weight:bold;color:#3b397a;letter-spacing:-3px;line-height:1.4;display:block;margin-bottom:20px}@media (max-width: 599px){#wrap #contact .content p.telb{font-size:20px}}#wrap #contact .content .inner{padding-top:56px}@media (max-width: 599px){#wrap #contact .content .inner{padding-top:0}}#wrap #contact .content .inner .zoomlogo{width:200px}@media (max-width: 599px){#wrap #contact .content .inner .zoomlogo{width:50%}}#wrap #contact .content .inner .app-dl{margin-top:20px}#wrap #contact .content .inner .app-dl .store_logo{width:200px}@media (max-width: 599px){#wrap #contact .content .inner{text-align:center}#wrap #contact .content .inner p{text-align:left}}#wrap #contact .staff{font-size:14px;text-align:center}@media (max-width: 599px){#wrap #contact .staff{font-size:10px;width:48%}}#wrap #contact .staff img{width:210px;display:block;margin-bottom:8px}@media (max-width: 599px){#wrap #contact .staff img{width:100%}}#wrap #contact .groupphoto{margin-top:40px}#wrap #contact .groupphoto img{width:100%}#wrap #price .content{margin-top:40px}#wrap #price .content .ctsSubPriceList{-webkit-overflow-scrolling:touch}@media (max-width: 599px){#wrap #price .content .ctsSubPriceList{overflow:scroll}}#wrap #price .content .ctsSubPriceList table{border-top:1px solid #E6E6E6;width:100%;table-layout:fixed}#wrap #price .content .ctsSubPriceList table tr{border-bottom:1px solid #E6E6E6;border-left:1px solid #E6E6E6}#wrap #price .content .ctsSubPriceList table tr th{background:#F2F2F2;text-align:center;vertical-align:middle;border-right:2px solid #E6E6E6;color:#3C4465;line-height:1.8;padding:15px 0}#wrap #price .content .ctsSubPriceList table tr td{padding:15px 20px;color:#333333;line-height:1.9;border-right:1px solid #E6E6E6;vertical-align:middle}#wrap #price .content .ctsSubPriceList table tr td .strong{font-weight:bold;color:#36328B}#wrap #price .content .ctsSubPriceList table tr td .red{color:#f00}#wrap #price .content .ctsSubPriceList table tr td .mt1m{margin-top:1em}#wrap #price .content .ctsSubPriceList table tr td.tac p{text-align:center}#wrap #price .content .ctsSubPriceList table tr td.tar p{text-align:right}#wrap #price .content .ctsSubPriceList table tr.padsm td{padding:5px 20px}@media (max-width: 599px){#wrap #price .content{padding:0 4%}}#wrap #price .content.col2{width:45%}@media (max-width: 599px){#wrap #price .content.col2{width:100%}}#wrap #price .content h2{color:#36328b;font-size:17px;padding:14px 17px;border-left:2px solid #817FA7;border-bottom:1px solid #ecf2f7;line-height:1.5}#wrap .top-notice .covid-19{text-align:center;background:#fff5f5;margin:10px 0}#wrap .top-notice .covid-19 .inner{padding:10px;margin-top:10px;margin-bottom:10px;line-height:1.2;color:#af0000;border-radius:4px;display:inline-block}#wrap .top-notice .covid-19 .inner a{font-weight:bold;text-decoration:underline}#wrap .top-notice .covid-19 .inner .new:before{content:"NEW";text-decoration:none;background:#af0e00;color:#fff;font-size:12px;padding:4px 6px;border-radius:4px;margin-right:3px;font-weight:bold}#wrap .top-notice .zoom{text-align:center;background:#e4f7eb;margin:10px 0}#wrap .top-notice .zoom .inner{padding:10px;margin-top:10px;margin-bottom:10px;line-height:1.2;color:#1c7e41;border-radius:4px;display:inline-block}#wrap .top-notice .zoom .inner span{font-weight:bold}#wrap .top-notice .zoom .inner a{color:#0e71eb;font-weight:bold;text-decoration:underline}#wrap .top-notice .souzoku{text-align:center;background:#e4f7eb;margin:10px 0}#wrap .top-notice .souzoku img{width:100%}#wrap #covid19 .content{margin-top:40px}@media (max-width: 599px){#wrap #covid19 .content{padding:0 4%}}#wrap #covid19 .content .indent{padding-left:19px}@media (max-width: 599px){#wrap #covid19 .content .indent{padding-left:0}}#wrap #covid19 .content.col2{width:45%}@media (max-width: 599px){#wrap #covid19 .content.col2{width:100%}}#wrap #covid19 .content h2{color:#36328b;font-size:17px;padding:14px 17px;border-left:2px solid #817FA7;border-bottom:1px solid #ecf2f7;line-height:1.5}#wrap #covid19 .content h3{margin-top:1.5em;font-weight:bold}#wrap #covid19 .content h3+p{margin-top:0.5em}#wrap #covid19 .content p{margin-top:20px;line-height:1.8;font-size:15px;color:#333}#wrap #covid19 .content p.right{text-align:right}#wrap #covid19 .content p strong{background:linear-gradient(transparent 60%, #f6ff5f 60%)}#wrap #covid19 .content p img{display:block;margin-bottom:20px;width:100%}#wrap #covid19 .content p .udl{text-decoration:underline}#wrap #covid19 .content p .strong{color:#af0000}#wrap #covid19 .content .desc{text-align:center}@media (max-width: 599px){#wrap #covid19 .content .desc{font-size:10px;width:100%}}#wrap #covid19 .content .desc span{display:block;font-size:14px;line-height:1.2;text-align:left}#wrap #covid19 .content .desc img{margin-bottom:8px}@media (max-width: 599px){#wrap #covid19 .content .desc img{width:100%}}/* メンバーセクション */
.members {
  margin: 40px 0;
  padding: 60px 0;
  background: linear-gradient(135deg, #3b397a 0%, #2c2a5f 100%);
  position: relative;
  overflow: hidden;
}

.members::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="20" cy="20" r="1" fill="rgba(255,255,255,0.03)"/><circle cx="80" cy="80" r="1" fill="rgba(255,255,255,0.03)"/><circle cx="40" cy="60" r="1" fill="rgba(255,255,255,0.03)"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grain)"/></svg>');
  opacity: 0.3;
}

@media (max-width: 599px) {
  .members {
    padding: 40px 0;
    margin: 20px 0;
  }
}

.members h2 {
  font-size: 32px;
  color: #fff;
  text-align: center;
  margin-bottom: 50px;
  font-weight: bold;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
}

@media (max-width: 599px) {
  .members h2 {
    font-size: 22px;
    margin-bottom: 30px;
  }
}

.members-container {
  /* max-width: 1200px; */
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}

.member-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 0;
  padding: 0;
  position: relative;
  flex: 1;
}

@media (max-width: 599px) {
  .members-container {
    flex-direction: column;
    gap: 30px;
    padding: 0 20px;
  }

  .member-card {
    max-width: 100%;
  }
}

.member-photo {
  flex-shrink: 0;
  margin-bottom: 20px;
}

.member-photo img {
  width: 200px;
  height: auto;
  border-radius: 0;
  object-fit: contain;
  border: none;
  box-shadow: none;
}

@media (max-width: 599px) {
  .member-photo img {
    width: 160px;
    height: auto;
  }
}

/* 強みセクション */
.strength {
  margin-top: 60px;
  margin-bottom: 60px;
}

@media (max-width: 599px) {
  .strength {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

.strength .content h2 {
  font-size: 28px;
  color: #3b397a;
  text-align: center;
  margin-bottom: 50px;
  font-weight: bold;
  letter-spacing: 0.05em;
  position: relative;
  padding-bottom: 20px;
}

.strength .content h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: #3b397a;
}

@media (max-width: 599px) {
  .strength .content h2 {
    font-size: 22px;
    margin-bottom: 30px;
  }
}

.strengthList {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.strengthItem {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 60px;
  padding: 30px;
  background: #f8f9fa;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.strengthItem:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.strengthItem.reverse {
  flex-direction: row-reverse;
}

@media (max-width: 768px) {
  .strengthItem,
  .strengthItem.reverse {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
    padding: 20px;
  }
}

.strengthImage {
  flex: 0 0 300px;
  height: 200px;
  overflow: hidden;
  border-radius: 8px;
  background: #ddd;
  position: relative;
}

@media (max-width: 768px) {
  .strengthImage {
    flex: none;
    width: 100%;
    height: 180px;
  }
}

.strengthImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.strengthContent {
  flex: 1;
  padding: 0 20px;
}

@media (max-width: 768px) {
  .strengthContent {
    padding: 0;
  }
}

.strengthContent h3 {
  font-size: 22px;
  color: #3b397a;
  margin-bottom: 15px;
  font-weight: bold;
  line-height: 1.4;
}

@media (max-width: 599px) {
  .strengthContent h3 {
    font-size: 18px;
    margin-bottom: 12px;
  }
}

.strengthContent p {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
}

@media (max-width: 599px) {
  .strengthContent p {
    font-size: 14px;
    line-height: 1.7;
  }
}

.member-info {
  flex: 1;
  color: #fff;
  padding: 0 20px;
  background: transparent;
  border-radius: 0;
  backdrop-filter: none;
  border: none;
  text-align: left;
}

.member-info h3 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 8px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  text-align: center;
}

@media (max-width: 599px) {
  .member-info h3 {
    font-size: 22px;
  }
}

.member-title {
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  margin-bottom: 20px;
  opacity: 0.9;
  text-align: center;
}

@media (max-width: 599px) {
  .member-title {
    font-size: 16px;
    margin-bottom: 15px;
  }
}

.member-details {
  text-align: left;
}

.member-details p {
  font-size: 15px;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1;
  opacity: 0.95;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  padding-bottom: 6px;
  border-bottom: 2px solid rgba(255, 255, 255, 0.85);
}

@media (max-width: 599px) {
  .member-details p {
    font-size: 13px;
    margin-bottom: 8px;
  }
}

/* Apply same centering to generic member cards */
.member-card {
    position: relative;
}

.member-card .member-photo {
    position: absolute;
    top: 130px; /* half of .card-header height */
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Ensure header area height for the photo */
.card-header {
    width: 100%;
    height: 200px;
    background: linear-gradient(135deg, #f9f7e8 0%, #f2efd7 50%, #e6d5a3 100%);
    border-top: 3px solid #d4af37;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.15);
}

/* Ensure body content starts below the header area */
.card-body {
    padding-top: 100px;
    border-top: 3px solid #d4af37;
    width: 100%;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
    border-radius: 0 0 8px 8px;
}

#footer{margin-top:130px;background:#3b397a;color:#fff;font-size:14px}@media (max-width: 599px){#footer{margin-top:0}}#footer .innner{margin:0 auto;width:100%;max-width:1400px;padding:30px 40px 15px;background:url(../img/silhouette_f.png) no-repeat;background-position:right 30px}@media (max-width: 599px){#footer .innner{width:100%;background:none;padding-top:0}}@media (max-width: 599px){#footer .innner .flogo{display:none}}#footer .innner .content{margin-top:40px;line-height:1.5em}@media (max-width: 599px){#footer .innner .content a{display:block}}#footer .innner .content a:hover{text-decoration:underline}@media (max-width: 599px){#footer .innner .content a:hover{text-decoration:none}}#footer .innner .content .menu{float:left;margin-right:94px}@media (max-width: 599px){#footer .innner .content .menu{width:100%;margin-right:0;border-top:1px solid}}@media (max-width: 599px){#footer .innner .content .menu li{width:50%;float:left;text-align:center;border-right:1px solid;border-bottom:1px solid;height:40px;line-height:40px}}#footer .innner .content .office{float:left;margin-right:40px}@media (max-width: 599px){#footer .innner .content .office{padding:0 4%;margin-top:30px;width:100%;margin-right:0}}#footer .innner .content .office .title{margin-bottom:1em;display:block}#footer .innner .copyright{text-align:center;margin-top:54px;font-size:13px}@media (max-width: 599px){#footer .innner .copyright{padding:0 4%}}

/* ファーストビュー */
.fv {
  position: relative;
  width: 100%;
  height: 100vh;
  background-image: url(../img/fv.png);
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.fv::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(59, 57, 122, 0.3);
  z-index: 1;
}

.fv-philosophy {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
  white-space: nowrap;
  animation: fadeIn 2s ease-out;
}

@media (max-width: 599px) {
  .fv-philosophy {
    margin-bottom: 30px;
  }
}

.fv-philosophy-text {
  font-size: 64px;
  font-weight: bold;
  color: #fff;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  letter-spacing: 0.3em;
  text-shadow:
    4px 4px 10px rgba(0, 0, 0, 0.95),
    0 0 2px rgba(0, 0, 0, 1),
    -2px -2px 0 rgba(59, 57, 122, 1),
    2px -2px 0 rgba(59, 57, 122, 1),
    -2px 2px 0 rgba(59, 57, 122, 1),
    2px 2px 0 rgba(59, 57, 122, 1),
    -3px -3px 0 rgba(0, 0, 0, 0.8),
    3px -3px 0 rgba(0, 0, 0, 0.8),
    -3px 3px 0 rgba(0, 0, 0, 0.8),
    3px 3px 0 rgba(0, 0, 0, 0.8),
    0 0 25px rgba(255, 255, 255, 0.9);
  border: 4px solid #fff;
  padding: 25px 45px;
  border-radius: 15px;
  background: rgba(59, 57, 122, 0.9);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

@media (max-width: 599px) {
  .fv-philosophy-text {
    font-size: 36px;
    padding: 15px 25px;
    letter-spacing: 0.2em;
  }
}

.fv-philosophy-separator {
  font-size: 40px;
  color: #fff;
  margin: 0 30px;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  text-shadow:
    -1px -1px 0 #fff,
    1px -1px 0 #fff,
    -1px 1px 0 #fff,
    1px 1px 0 #fff;
  font-weight: bold;
}

@media (max-width: 599px) {
  .fv-philosophy-separator {
    font-size: 24px;
    margin: 0 15px;
  }
}

.fv-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 40px;
  animation: fadeInUp 1s ease-out 0.3s both;
}

@media (max-width: 599px) {
  .fv-content {
    padding: 40px 20px;
  }
}

.fv-title {
  font-size: 52px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 25px;
  text-shadow:
    -3px -3px 0 #fff,
    3px -3px 0 #fff,
    -3px 3px 0 #fff,
    3px 3px 0 #fff,
    -2px -2px 0 #fff,
    2px -2px 0 #fff,
    -2px 2px 0 #fff,
    2px 2px 0 #fff,
    -1px -1px 0 #fff,
    1px -1px 0 #fff,
    -1px 1px 0 #fff,
    1px 1px 0 #fff;
  color: #333;
}

@media (max-width: 599px) {
  .fv-title {
    font-size: 32px;
  }
}

.fv-subtitle {
  display: block;
  font-size: 36px;
  margin-top: 15px;
  font-weight: 600;
  text-shadow:
    -3px -3px 0 #fff,
    3px -3px 0 #fff,
    -3px 3px 0 #fff,
    3px 3px 0 #fff,
    -2px -2px 0 #fff,
    2px -2px 0 #fff,
    -2px 2px 0 #fff,
    2px 2px 0 #fff,
    -1px -1px 0 #fff,
    1px -1px 0 #fff,
    -1px 1px 0 #fff,
    1px 1px 0 #fff;
  color: #3b397a;
}

@media (max-width: 599px) {
  .fv-subtitle {
    font-size: 24px;
  }
}

.fv-description {
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 35px;
  text-shadow:
    -2px -2px 0 #fff,
    2px -2px 0 #fff,
    -2px 2px 0 #fff,
    2px 2px 0 #fff,
    -1px -1px 0 #fff,
    1px -1px 0 #fff,
    -1px 1px 0 #fff,
    1px 1px 0 #fff;
  color: #333;
  font-weight: 500;
}

@media (max-width: 599px) {
  .fv-description {
    font-size: 18px;
    margin-bottom: 25px;
  }
}

.fv-stats {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin-bottom: 50px;
}

@media (max-width: 599px) {
  .fv-stats {
    gap: 30px;
    margin-bottom: 40px;
  }
}

.fv-stat {
  text-align: center;
  background: rgba(255, 255, 255, 0.95);
  padding: 30px 25px;
  border-radius: 20px;
  border: 3px solid #3b397a;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
  min-width: 180px;
  transform: translateY(0);
  transition: all 0.3s ease;
}

.fv-stat:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

@media (max-width: 599px) {
  .fv-stat {
    padding: 20px 15px;
    min-width: 140px;
  }
}

.fv-stat-number {
  display: block;
  font-size: 48px;
  font-weight: bold;
  color: #3b397a;
  text-shadow:
    2px 2px 4px rgba(0, 0, 0, 0.2),
    0 0 10px rgba(59, 57, 122, 0.3);
  line-height: 1;
}

@media (max-width: 599px) {
  .fv-stat-number {
    font-size: 32px;
  }
}

.fv-stat-unit {
  display: inline;
  font-size: 20px;
  color: #3b397a;
  margin-left: 5px;
  font-weight: bold;
}

@media (max-width: 599px) {
  .fv-stat-unit {
    font-size: 14px;
  }
}

.fv-stat-label {
  display: block;
  font-size: 16px;
  color: #333;
  margin-top: 10px;
  font-weight: 600;
  line-height: 1.2;
}

@media (max-width: 599px) {
  .fv-stat-label {
    font-size: 12px;
    margin-top: 8px;
  }
}


.fv-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  animation: fadeInUp 1s ease-out 0.6s both;
}

.fv-btn {
  display: inline-block;
  padding: 16px 40px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  border-radius: 50px;
  transition: all 0.3s ease;
  min-width: 200px;
  text-align: center;
}

@media (max-width: 599px) {
  .fv-btn {
    padding: 14px 30px;
    font-size: 14px;
    min-width: 160px;
  }
}

.fv-btn-primary {
  background: linear-gradient(135deg, #3b397a, #4a4885);
  color: #fff;
  border: 2px solid transparent;
  box-shadow: 0 4px 15px rgba(59, 57, 122, 0.3);
}

.fv-btn-primary:hover {
  background: linear-gradient(135deg, #4a4885, #3b397a);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(59, 57, 122, 0.4);
}

.fv-btn-secondary {
  background: rgba(255, 255, 255, 0.9);
  color: #3b397a;
  border: 2px solid rgba(255, 255, 255, 0.8);
}

.fv-btn-secondary:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.5);
}

/* アニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.3;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fv-btn-primary {
  background: linear-gradient(135deg, #3b397a, #4a4885);
  color: #fff;
  border: 2px solid transparent;
  box-shadow: 0 4px 15px rgba(59, 57, 122, 0.3);
}

.fv-btn-primary:hover {
  background: linear-gradient(135deg, #4a4885, #3b397a);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(59, 57, 122, 0.4);
}

.fv-btn-secondary {
  background: rgba(255, 255, 255, 0.9);
  color: #3b397a;
  border: 2px solid rgba(255, 255, 255, 0.8);
}

.fv-btn-secondary:hover {
  background: rgba(255, 255, 255, 1);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 255, 255, 0.5);
}


/* アニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.4;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* レスポンシブ対応 */
@media (max-width: 768px) {
  .fv {
    height: 100vh;
    background-attachment: scroll;
  }

  .fv-philosophy-text {
    font-size: 60px;
    padding: 15px 30px;
  }

  .fv-philosophy-separator {
    font-size: 40px;
    margin: 0 20px;
  }

  .fv-title {
    font-size: 30px;
  }

  .fv-subtitle {
    font-size: 22px;
  }

  .fv-description {
    font-size: 16px;
    padding: 0 20px;
  }

  .fv-buttons {
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
  }

  .fv-btn {
    width: 100%;
    max-width: 280px;
  }
}

@media (max-width: 599px) {
  .fv-philosophy-text {
    font-size: 35px;
    padding: 10px 20px;
  }

  .fv-philosophy-separator {
    font-size: 30px;
    margin: 0 10px;
  }

  .fv-title {
    font-size: 25px;
  }

  .fv-subtitle {
    font-size: 18px;
  }

  .fv-description {
    font-size: 14px;
    margin-bottom: 30px;
  }

  .fv-btn {
    padding: 14px 30px;
    font-size: 14px;
    min-width: auto;
  }
}

/* コンテンツエリアの中央寄せ */
.content-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 768px) {
  .content-wrapper {
    padding: 0 20px;
  }
}

#wrap #header .top,
#wrap #header .gmenu,
#wrap #greeting,
#wrap #service,
#wrap #kv,
#wrap .top-notice {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}

@media (max-width: 768px) {
  #wrap #header .top,
  #wrap #header .gmenu,
  #wrap #greeting,
  #wrap #service,
  #wrap #kv,
  #wrap .top-notice {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 599px) {
  #wrap #header .top,
  #wrap #header .gmenu,
  #wrap #greeting,
  #wrap #service,
  #wrap #kv,
  #wrap .top-notice {
    padding-left: 4%;
    padding-right: 4%;
  }
}

/* CTAセクション */
.cta {
  background: #3b397a;
  color: #fff;
  text-align: center;
  padding: 50px 40px;
  margin-top: 40px;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .cta {
    padding: 40px 20px;
  }
}

@media (max-width: 599px) {
  .cta {
    padding: 30px 4%;
  }
}

.cta-content {
  max-width: 800px;
  margin: 0 auto;
}

.cta-title {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #fff;
}

@media (max-width: 599px) {
  .cta-title {
    font-size: 22px;
    margin-bottom: 25px;
  }
}

.cta-phone-section {
  margin-bottom: 30px;
}

.cta-phone-number {
  display: inline-block;
  font-size: 48px;
  font-weight: bold;
  color: #fff;
  margin-bottom: 10px;
  letter-spacing: 2px;
  background: rgba(255, 255, 255, 0.1);
  border: 3px solid #fff;
  border-radius: 15px;
  padding: 15px 30px;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.cta-phone-number:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  border-color: #ffb84d;
  color: #fff;
}

.phone-icon {
  width: 0.8em;
  height: 0.8em;
  margin-right: 15px;
  filter: brightness(0) invert(1);
  animation: phoneRing 2s infinite;
}

.phone-text {
  font-size: 1em;
}

@keyframes phoneRing {
  0%, 100% { transform: rotate(0deg); }
  10%, 30% { transform: rotate(-15deg); }
  20% { transform: rotate(15deg); }
}

@media (max-width: 599px) {
  .cta-phone-number {
    font-size: 20px;
    letter-spacing: 0px;
    padding: 10px 18px;
    margin: 0 auto;
    display: block;
    max-width: 260px;
    white-space: nowrap;
  }

  .phone-icon {
    margin-right: 6px;
  }

  .phone-text {
    white-space: nowrap;
  }
}

.cta-phone-hours {
  font-size: 16px;
  color: #fff;
  margin-bottom: 20px;
}

@media (max-width: 599px) {
  .cta-phone-hours {
    font-size: 14px;
  }
}

.cta-web-text {
  font-size: 18px;
  color: #fff;
  margin-bottom: 25px;
}

@media (max-width: 599px) {
  .cta-web-text {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

.cta-button-section {
  margin-bottom: 20px;
}

.cta-button {
  display: inline-block;
  background: linear-gradient(135deg, #ff9500, #ffb84d);
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  padding: 18px 45px;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(255, 149, 0, 0.3);
  border: 3px solid #fff;
}

.cta-button:hover {
  background: linear-gradient(135deg, #ffb84d, #ff9500);
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(255, 149, 0, 0.4);
  opacity: 1;
}

@media (max-width: 599px) {
  .cta-button {
    font-size: 16px;
    padding: 15px 30px;
    display: block;
    max-width: 320px;
    margin: 0 auto;
  }
}

.cta-existing-customers {
  margin-top: 15px;
}

.cta-existing-link {
  color: #fff;
  font-size: 14px;
  text-decoration: underline;
  transition: all 0.3s ease;
}

.cta-existing-link:hover {
  color: #ffb84d;
  opacity: 1;
}

@media (max-width: 599px) {
  .cta-existing-link {
    font-size: 13px;
  }
}

/* 料金セクション */
.price {
  margin: 40px 0;
  background: #fff;
}

@media (max-width: 599px) {
  .price {
    margin: 20px 0;
    padding: 0 4%;
  }
}

.price .content {
  margin-top: 40px;
}

@media (max-width: 599px) {
  .price .content {
    margin-top: 20px;
  }
}

.price .content h2 {
  color: #fff;
  background: #3b397a;
  text-align: center;
  padding: 15px;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}

@media (max-width: 599px) {
  .price .content h2 {
    font-size: 20px;
    padding: 12px;
    margin-bottom: 20px;
  }
}

.price .content .ctsSubPriceList {
  -webkit-overflow-scrolling: touch;
  margin: 0 40px;
}

@media (max-width: 599px) {
  .price .content .ctsSubPriceList {
    overflow: scroll;
    margin: 0 20px;
  }
}

.price .content .ctsSubPriceList table {
  border-top: 1px solid #E6E6E6;
  width: 100%;
  table-layout: fixed;
}

.price .content .ctsSubPriceList table tr {
  border-bottom: 1px solid #E6E6E6;
  border-left: 1px solid #E6E6E6;
}

.price .content .ctsSubPriceList table tr th {
  background: #F2F2F2;
  text-align: center;
  vertical-align: middle;
  border-right: 2px solid #E6E6E6;
  color: #3C4465;
  line-height: 1.8;
  padding: 15px 10px;
  font-weight: bold;
}

@media (max-width: 599px) {
  .price .content .ctsSubPriceList table tr th {
    padding: 10px 8px;
    font-size: 14px;
  }
}

.price .content .ctsSubPriceList table tr td {
  padding: 15px 20px;
  color: #333333;
  line-height: 1.9;
  border-right: 1px solid #E6E6E6;
  vertical-align: middle;
}

@media (max-width: 599px) {
  .price .content .ctsSubPriceList table tr td {
    padding: 10px 15px;
    font-size: 14px;
  }
}

.price .content .ctsSubPriceList table tr td .strong {
  font-weight: bold;
  color: #36328B;
}

.price .content .ctsSubPriceList table tr td .red {
  color: #f00;
}

.price .content .ctsSubPriceList table tr td .mt1m {
  margin-top: 1em;
}

.price .content .ctsSubPriceList table tr td.tac p {
  text-align: center;
}

.price .content .ctsSubPriceList table tr td.tar p {
  text-align: right;
}

.price .content .ctsSubPriceList table tr.padsm td {
  padding: 5px 20px;
}

/* よくある質問（FAQ）アコーディオン */
.faq {
  margin: 60px 0;
  padding: 0 4%;
}

@media (max-width: 599px) {
  .faq {
    margin: 40px 0;
  }
}

.faq h2 {
  font-size: 32px;
  color: #3b397a;
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold;
  position: relative;
}

@media (max-width: 599px) {
  .faq h2 {
    font-size: 24px;
    margin-bottom: 30px;
  }
}

.faq-container {
  max-width: 900px;
  margin: 0 auto;
}

.faq-item {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.faq-item:hover {
  box-shadow: 0 4px 8px rgba(59,57,122,0.15);
}

.faq-question {
  font-size: 16px;
  font-weight: bold;
  color: #3b397a;
  padding: 20px 60px 20px 20px;
  cursor: pointer;
  position: relative;
  background: #f8f8fc;
  transition: background 0.3s ease;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 599px) {
  .faq-question {
    font-size: 14px;
    padding: 16px 50px 16px 16px;
  }
}

.faq-question:hover {
  background: #f0f0f8;
}

.faq-question::after {
  content: '+';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  font-weight: normal;
  color: #3b397a;
  transition: transform 0.3s ease;
}

@media (max-width: 599px) {
  .faq-question::after {
    right: 16px;
    font-size: 20px;
  }
}

.faq-item.active .faq-question::after {
  content: '−';
  transform: translateY(-50%) rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  background: #fff;
  padding: 0 20px;
}

.faq-item.active .faq-answer {
  max-height: 1000px;
  padding: 20px;
  border-top: 1px solid #e0e0e0;
}

@media (max-width: 599px) {
  .faq-answer {
    padding: 0 16px;
  }

  .faq-item.active .faq-answer {
    padding: 16px;
  }
}

.faq-answer p {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  margin: 0;
}

@media (max-width: 599px) {
  .faq-answer p {
    font-size: 14px;
  }
}

/* 事務所情報セクション */
.office {
  margin: 40px 0;
  padding: 0;
}

.office-content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (max-width: 599px) {
  .office-content {
    padding: 0 4%;
  }
}

.office-content h2 {
  font-size: 24px;
  color: #fff;
  background: #3b397a;
  text-align: center;
  padding: 10px;
  margin-bottom: 30px;
}

@media (max-width: 599px) {
  .office-content h2 {
    font-size: 20px;
  }
}

.office-container {
  display: flex;
  gap: 40px;
  justify-content: space-between;
}

@media (max-width: 599px) {
  .office-container {
    flex-direction: column;
    gap: 30px;
  }
}

.office-item {
  flex: 1;
  background: #f9f9f9;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.office-item h3 {
  font-size: 18px;
  color: #3b397a;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
  padding-bottom: 8px;
  border-bottom: 2px solid #3b397a;
}

.office-image {
  text-align: center;
  margin-bottom: 20px;
}

.office-image img {
  width: 100%;
  max-width: 300px;
  height: auto;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.office-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
}

.office-table tr {
  border-bottom: 1px solid #E6E6E6;
}

.office-table tr:last-child {
  border-bottom: none;
}

.office-table th {
  background: #F2F2F2;
  font-weight: bold;
  color: #3C4465;
  padding: 12px 15px;
  text-align: left;
  vertical-align: top;
  width: 80px;
  border-right: 1px solid #E6E6E6;
}

.office-table td {
  padding: 12px 15px;
  color: #333;
  line-height: 1.6;
  vertical-align: top;
}

.office-map-btn {
  text-align: center;
}

.map-btn {
  display: inline-block;
  background: #3b397a;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.3s;
  text-decoration: none;
}

.map-btn:hover {
  opacity: 0.85;
  color: #fff;
}

/* 価格テーブルの幅制限と中央寄せ */
.price .content {
  text-align: center;
}

.price .content .ctsSubPriceList {
  max-width: 650px;
  margin: 0 auto;
  display: inline-block;
  text-align: left;
}

.price .content .ctsSubPriceList table {
  width: 100%;
  margin: 0;
}

/* SPサイズでのレスポンシブ対応 */
@media (max-width: 599px) {
  .price .content .ctsSubPriceList {
    max-width: 100%;
    margin: 0;
    display: block;
    padding: 0 4%;
  }

  .price .content .ctsSubPriceList table {
    width: 100%;
    min-width: 320px;
    font-size: 14px;
  }

  .price .content .ctsSubPriceList table th,
  .price .content .ctsSubPriceList table td {
    padding: 10px 8px;
  }

  .price .content .ctsSubPriceList table th {
    font-size: 13px;
  }
}
