@charset "utf-8";

.main-visual {
  position: relative;
  overflow: hidden;
}

.main-visual-swiper {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.main-visual-swiper .swiper-wrapper {
  display: flex;
}

.main-visual-swiper.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.main-visual-swiper.swiper-container-fade .swiper-slide-active {
  pointer-events: auto;
}

.main-visual-swiper .swiper-slide {
  flex-shrink: 0;
  width: 100%;
  position: relative;
}

.main-visual-swiper .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.main-visual-swiper .swiper-pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2rem;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 0.8rem;
}

.main-visual-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
  cursor: pointer;
}

.main-visual-swiper .swiper-pagination-bullet-active {
  background: #fff;
}

.main-text {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 500px;
  z-index: 3;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/*------------------------
  top
------------------------*/

.top-area {
  text-align: center;
  padding: 15rem 0;
  background: url(../images/page/top/bg01.webp) no-repeat center center / cover;
}

.top-area .catch {
  margin-bottom: 6rem;
}
.top-area .catch .catch-text {
  font-size: 3.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
.top-area .catch .text:nth-child(2) {
  font-size: 1.6rem;
}

.top-area h3 {
  font-size: 2.4rem;
  font-weight: bold;
}
.top-area ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3rem;
  width: 98%;
  margin: 3rem auto 0;
}

.top-area ul li {
  background: #000;
  border: solid 10px #8d8d8f;
}
.top-area ul li a{
  display: block;
  padding: 1rem;
padding-top: 2rem;
}
.top-area ul li a:hover {
background: #09113f;


}

.top-area ul li p.ttl {
  font-size: 1.8rem;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 2rem;
  margin-left: 1rem;
  margin-bottom: 1.2rem;
}

.top-area ul li p.ttl span {
  background: #fff;
  color: #000;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: solid #8d8d8f 1px;
}

.top-area ul li p:nth-child(3) {
  font-size: 1.4rem;
  text-align: center;
  color: #fff;
  margin: 2rem auto;
  line-height: 1.8;
}

.top-news {
  background: url(../images/page/top/news-bg.webp) no-repeat center center /
    cover;
  padding: 10rem 0;
}
.top-seminar {
  padding: 10rem 0;
  background: -moz-linear-gradient(
    -10.09% 2.28% -24.2deg,
    rgba(160, 138, 124, 1) 0%,
    rgba(204, 189, 117, 1) 100%
  );
  background: -webkit-linear-gradient(
    -24.2deg,
    rgba(160, 138, 124, 1) 0%,
    rgba(204, 189, 117, 1) 100%
  );
  background: -webkit-gradient(
    linear,
    -10.09% 2.28%,
    108.94% 96.81%,
    color-stop(0, rgba(160, 138, 124, 1)),
    color-stop(1, rgba(204, 189, 117, 1))
  );
  background: -o-linear-gradient(
    -24.2deg,
    rgba(160, 138, 124, 1) 0%,
    rgba(204, 189, 117, 1) 100%
  );
  background: -ms-linear-gradient(
    -24.2deg,
    rgba(160, 138, 124, 1) 0%,
    rgba(204, 189, 117, 1) 100%
  );
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#A08A7C', endColorstr='#CCBD75' ,GradientType=0)";
  background: linear-gradient(
    114.2deg,
    rgba(160, 138, 124, 1) 0%,
    rgba(204, 189, 117, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#A08A7C',endColorstr='#CCBD75' , GradientType=1);
}
.top-news h2,
.top-seminar h2 {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  margin-bottom: 2.5rem;
}

.top-news ul,
.top-seminar ul {
  max-height: 200px;
  min-height: 100px;
  overflow-y: scroll;
}
.scroll-box {
  padding: 6rem 5rem;
  background: #fff;
}
.top-seminar .scroll-box {
  border: solid 5px #ececec;
}

ul.news-list li a {
  display: grid;
  grid-template-columns: 90px auto;
  gap: 5rem;
  align-items: center;
  padding-bottom: 2rem;
  border-bottom: solid 1px;
}
ul.news-list li + li {
  margin-top: 2.5rem;
}
ul.news-list li span {
  font-size: 1.4rem;
}

ul.news-list li a p {
  font-size: 1.6rem;
}

/*------------------------
  about
------------------------*/
/*.about-area p {
  line-height: 2;
  font-size: 1.4rem;
  letter-spacing: 0;
}*/

h4.sub-ttl {
  background: #595757;
  color: #fff;
  font-size: 2rem;
  padding:  2rem;
  margin-bottom: 3rem;
}

.about-catch .catch-ttl {
  font-size: 3.6rem;
  margin-bottom: 5rem;
}

.about-catch .catch-ttl span {
  font-size: 2rem;
  display: block;
  margin-top: 2rem;
}

.about-catch .text {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}

.about-catch h4.sub-ttl {
  margin-bottom: 1rem;
  font-size: 1.4rem;
}
section.about-greeting {
  padding: 10rem 0;
  margin: 0;
  background: #f5f5f5;
}

.about-greeting h3,
.about-purpose h3 {
  font-size: 2rem;
  margin-bottom: 3rem;
}

.greeting-text > p {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}

.greeting-text {
  display: grid;
  grid-template-columns: 2.7fr 1fr;
  gap: 4rem;
}

.greeting-name span {
  font-size: 1.8rem;
  display: block;
}

.greeting-name {
  font-size: 1.2rem;
  display: block;
  text-align: right;
  line-height: 2;
  margin-top: 3rem;
}
.about-purpose p {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0;
}
.activity-list {
  margin-top: 5rem;
}
.activity-list p {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.activity-list ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin-bottom: 10rem;
}
.activity-list ul li {
  font-size: 1.6rem;
  padding: 1.5rem 1rem;
  border: solid 1px #000;
}
/*------------------------
  役員テーブル
------------------------*/
.member-list {
  margin: auto;
  margin-top: 7rem;
  background: #f5f5f5;
  padding: 8rem 5rem;
  width: 85%;
}

.member-list > p {
  margin: 0 0 1.6rem;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}

.member-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #000;
  table-layout: fixed;
  margin-bottom: 5rem;
}

.member-table tr:nth-child(odd) {
  background-color: #f5f0e1;
}
.member-table tr:nth-child(even) {
  background-color: #fff;
}
.member-table th,
.member-table td {
  border: 1px solid #000;
  padding: 1.6rem 2rem;
  font-size: 1.4rem;
  text-align: center;
  color: #000;
  vertical-align: middle;
  line-height: 1.5;
}

.member-table th {
  width: 22%;
    font-weight: normal;
  text-align: center;
}

.member-table td:nth-child(2) {
  width: 22%;
  text-align: center;
}

.member-table td:nth-child(3) {
  width: 56%;
  text-align: left;
}

/*------------------------
  顧問テーブル
------------------------*/
.advisor-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #000;
  table-layout: fixed;
  margin-top: 1.6rem;
}

.advisor-table tr:nth-child(odd) {
  background-color: #f5f0e1;
}
.advisor-table tr:nth-child(even) {
  background-color: #fff;
}
.advisor-table th,
.advisor-table td {
  border: 1px solid #000;
  padding: 1.6rem;
  font-size: 1.4rem;
  font-weight: normal;
  color: #000;
  vertical-align: middle;
  line-height: 1.5;
}

.advisor-table th {
  width: 22%;
  text-align: center;
}

.advisor-table td {
  width: 78%;
  text-align: left;
}

/*------------------------
  沿革リスト（タイムフロー）
------------------------*/
.history-box,
.history-activity {
  margin-left: 5%;
}
.history-box > p,
.history-activity > p {
  margin: 0 0 2rem;
  font-size: 1.8rem;
  font-weight: bold;
}

.history-list.time_schedule {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  box-sizing: border-box;
}

.history-list .time_line {
  width: 2px;
  height: 85%;
  position: absolute;
  top: 0%;
  left: 18%;
  z-index: 1;
  transform: translateX(-50%);
  padding-top: 15px;
  box-sizing: border-box;
}

.history-list .time_line span {
  display: block;
  width: 100%;
  height: 100%;

  background: #333;
}

.history-list .time_ball {
  position: absolute;
  background: #333;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  top: 29%;
  left: 18%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.history-list dl .history-item:nth-child(1) .time_ball {
  top: 19%;
}
.history-list dl {
  margin: 0;
  padding: 0;
  border-left: none;
}

.history-item {
  position: relative;
  display: flex;
  padding: 2.4rem 0;
  padding-top: 0;
  margin: 0;
  gap: 4rem;
}

.history-item dt {
  width: 20%;
  margin: 0;
  padding: 0 0em 0 0;
  color: #000;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 1.6;
  box-sizing: border-box;
}

.history-item dd {
  display: block;
  width: 69%;
  padding: 0;
  border-left: none;
  color: #000;
  font-size: 16px;
  line-height: 1.8;
  box-sizing: border-box;
}

/*------------------------
  活動履歴
------------------------*/
.history-activity {
  margin-top: 10rem;
}
.history-activity .activity-list {
  background-color: transparent;
  padding: 0;
  margin-top: 0;
  box-sizing: border-box;
  width: 72%;
}

.history-activity .activity-list dl {
  margin: 0;
  padding: 0;
}

.history-activity .activity-item {
  display: flex;
  align-items: baseline;
  gap: 3rem;
  padding: 2rem 0;
  border-bottom: 1px solid #000;
}

.history-activity .activity-item:last-child {
  border-bottom: 1px solid #000;
}

.history-activity .activity-item dt {
  flex-shrink: 0;
  width: 10em;
  margin: 0;
  color: #000;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.history-activity .activity-item dd {
  margin: 0;
  color: #000;
  font-size: 16px;
  line-height: 1.6;
}

/*------------------------
  会員名簿
------------------------*/
.roster-box {
  background-color: transparent;
  padding: 0;
  box-sizing: border-box;
}

.roster-box > p {
  margin: 0 0 1.5rem;
  color: #000;
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 0.08em;
}

.roster-box > p:not(:first-child) {
  margin-top: 4rem;
}

.roster-box ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.roster-box li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: #fff;
  color: #000;
  font-size: 16px;
  text-align: left;
  line-height: 1.4;
  box-sizing: border-box;
  border: solid 1px #000;
}

.roster-box li a {
  color: inherit;
  display: block;
  text-decoration: none;
  padding: 1.2rem 1.6rem;
  padding-left: 2rem;
width: 100%;

}

.roster-box li a:hover {
  background: #000;
  color: #fff;
}
.mailform .inner {
  background: #f5f5f5;
  padding: 5rem;
}
.contact-head p {
  font-size: 1.2rem;
}

/*------------------------
  お問い合わせ完了画面
------------------------*/
.contact-complete {
  margin: 0 auto 6rem;
  padding: 6rem 5rem;
  background: #f5f5f5;
  color: #000;
  text-align: center;
  box-sizing: border-box;
}

.contact-complete .subttl001,
.contact-complete h2 {
  margin: 0 0 2.4rem;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1.5;
  color: #000;
}

.contact-complete > p {
  margin: 0;
  font-size: 1.6rem;
  line-height: 2;
  color: #000;
}

.contact-complete ul {
  margin: 4rem auto 0;
  padding: 2.4rem 3rem;
  list-style: none;
  max-width: 720px;
  background: #fff;
  border: 1px solid #ddd;
  text-align: left;
  box-sizing: border-box;
}

.contact-complete li {
  margin: 0;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.8;
  color: #000;
}

.contact-complete li p {
  margin: 1rem 0 0;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.9;
  color: #333;
}

.contact-complete > p:last-child {
  margin-top: 4rem;
}

.contact-complete a {
  display: inline-block;
  padding: 1.2rem 3rem;
  border: 1px solid #2b1a0e;
  background: #2b1a0e;
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: opacity 0.3s;
}

.contact-complete a:hover {
  opacity: 0.8;
}
.from-area {
  margin-bottom: 0rem;
}

.contact-form .inner {
  background: #f5f5f5;
  padding: 10rem 7rem;
}
.formTable {
  margin-top: 5rem;
}
.formTable dl {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 3rem 2rem;
}
.formTable dl + dl {
  margin-top: 5rem;
}

.formTable dl > dt {
  font-size: 1.6rem;
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: normal;
}
.formTable dl > dt .dt-h {
  align-items: flex-start;
}

.formTable dl > dt span.Required {
  background: #c30018;
}
.formTable dl > dt span {
  background: #9e9e9f;
  padding: 0.7rem 1.5rem;
  font-size: 1.4rem;
  color: #fff;
}

.formTable dl > dd input[type="text"],
.formTable dl > dd input[type="email"],
.formTable dl > dd input[type="tel"],
.formTable dl > dd textarea {
  width: 100%;
  padding: 0.7rem 1rem;
  font-size: 1.6rem;
  border: solid 1px;
}
#zip,
input.zip {
  width: 200px !important;
  margin-bottom: 1rem;
}
.formTable dl > dd input[type="checkbox"],
.formTable dl > dd input[type="radio"] {
  margin-right: 0.5rem;
  font-size: 1.6rem;
}
.formTable dl > dd .mwform-checkbox-field-text,
.formTable dl > dd .mwform-radio-field-text {
  font-size: 1.6rem;
}

.formTable dl > dd input.w-small {
  width: 60%;
}

.formTable dl > dd textarea {
  height: 100px;
}

.form-note {
  margin-bottom: 1rem;
  font-size: 1.6rem;
}

.formTable .form-submit {
  margin-top: 5rem;
  text-align: center;
}

.formTable .form-submit input[type="submit"],
.formTable .form-submit button {
  display: inline-block;
  min-width: 280px;
  padding: 1.4rem 3rem;
  border: none;
  background: #2b1a0e;
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
  cursor: pointer;
  border: solid 1px #2b1a0e;
}
.formTable .form-submit input[type="submit"]:hover,
.formTable .form-submit button:hover {
  background: #fff;
  color: #2b1a0e;
  border: solid 1px #2b1a0e;
}
.form-submit {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.formTable .form-submit button.back {
  background: #fff;
  color: #2b1a0e;
  border: solid 1px #2b1a0e;
}
.formTable .form-submit button.back:hover {
  background: #2b1a0e;
  color: #fff;
  border: solid 1px #2b1a0e;
}

.formTable dl > dt.dt-h {
  align-items: flex-start;
  line-height: 1.6;
}

.formTable dd.method .mwform-checkbox-field {
  display: block;
  margin-bottom: 0.8rem;
}

.mw_wp_form_confirm .form-note {
  display: none;
}

.introduction-area h3 {
  font-size: 2.6rem;
  padding: 0rem 6rem 1rem 1rem;
  border-bottom: solid 1px;
  margin-bottom: 4rem;
  width: fit-content;
}

.introduction-area h3 span {
  font-size: 3rem;
}

.content-box .content-text .content-ttl {
  font-size: 2.2rem;
  margin-bottom: 5rem;
}
.content-box .content-text-box {
  padding:3rem 5rem;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 6rem;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 25%,
    #f5f5f5 25%,
    #f5f5f5 100%
  );
  align-items: flex-end;
  padding-top: 0;
}

.content-box .content-text .text {
  font-size: 1.4rem;
  margin-top: 4rem;
  line-height: 2;
}

.content-box .content-text .btn-area a {
  background: #fff;
  display: block;
  width: 240px;
  padding: 1rem;
  font-size: 1.6rem;
  padding-left: 1.5rem;
  border: solid 1px;
  margin-top: 2rem;
  position: relative;
}

.content-box .content-text .btn-area a::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 120px;
  height: 1px;
  background-color: #000000;
  top: 50%;
  transform: translateY(-50%);
  right: -29%;
}

.content-box .content-text .btn-area a::before {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: -29%;
  width: 15px;
  height: 1px;
  border-radius: 9999px;
  background-color: #000000;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: calc(100% - 1px) 50%;
}
.content-box .content-text .btn-area a:hover {
  background: #000;
  color: #fff;
  border: solid 1px #000;
}
.content-box .content-text .btn-area a:hover::after {
  background: #000;
  right: -35%;
}
.content-box .content-text .btn-area a:hover::before {
  background: #000;
  right: -35%;
}


.movie-box2,
.movie-box{
  width: 70%;
  margin: 0 auto;
}
.movie-box video {
  width: 100%;
  height: auto;
}
.movie-box2 video {
  height: 500px;
  margin: auto;
  display: block;
}.btn-area ul li.pdf-download a,
.btn-area ul li.link-btn a{
  color: #000;
  font-weight: bold;
  font-size: 2.2rem;
  display: flex;
  height: 107px;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  padding: 1rem;
  border: solid 5px;
  font-family: "Murecho", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;

}
.btn-area ul li a p{
 text-align: center;
 line-height: 1.3;
}
.btn-area ul li  a span,
.btn-area ul li  a p > p{
  font-size: .8em;
  display: block;
  position: relative;
}
.btn-area ul li.pdf-download a:hover,
.btn-area ul li.link-btn a:hover {
  background: #000;
  color: #fff;
  border: solid 5px #000;

}
.btn-area ul li a img.icon {
  width: 40px;
}
.btn-area ul li.link-btn a::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: url(../images/common/pdf-icon.webp) no-repeat center / contain;
}
.btn-area ul li.link-btn a:hover::before {
  background-image: url(../images/common/pdf-icon-ho.webp);
}
.btn-area ul li.link-btn a span img.icon-link,
.btn-area ul li.link-btn a span img.icon-link-ho {
  width: 1em;
  height: 1em;
  vertical-align: -0.1em;
  margin-left: 0.2em;
}
.btn-area ul li.link-btn a span img.icon-link-ho {
  display: none;
}
.btn-area ul li.link-btn a:hover span img.icon-link {
  display: none;
}
.btn-area ul li.link-btn a:hover span img.icon-link-ho {
  display: inline;
}.btn-area ul li.link-btn a p span{
  display: flex;
  align-items: center;
  gap: 10px;
}
.btn-area ul li.link-btn a p span img{
  width: 20px;
}
/*------------------------
  主力技術・工法紹介
------------------------*/

.introduction-area.content-box.introduction-content .content-ttl {
  padding: 0rem 6rem 1rem 1rem;
  border-bottom: solid 1px;
  margin-bottom: 10rem;
  width: fit-content;
  font-size: 2.2rem;
}
.introduction-area.content-box .content-text .text {
  margin-top: 0rem;
}

.introduction-area.content-box.introduction-content .content-text-box {
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 45%,
    #f5f5f5 45%,
    #f5f5f5 100%
  );
  padding: 5rem;
}
.other section.construction_method-area {
  margin: 15rem 0;
}
.construction_method-area .construction_method-content {
  padding: 0 3%;
}
.construction_method-content > div + div {
  margin-top: 5rem;
}
.construction_method-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
}

.construction_method-ttl {
  font-size: 1.8rem;
  padding: 1rem;
  border: solid 1px;
  padding-left: 2.5rem;
  margin-bottom: 2rem;
}

.construction_method-text > p:nth-child(2) {
  font-size: 1.4rem;
  line-height: 2;
}

.construction_method-content h5 {
  font-size: 2.2rem;
  margin-bottom: 2rem;
  font-family: "Murecho", sans-serif;
}

.construction_method-list ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.construction_method-list li {
  background: #ede0b3;
  border: solid 1px;
  padding: 1rem;
  display: grid;
  grid-template-columns: 80px auto;
  gap: 2rem;
  align-items: center;
}

.construction_method-list li .construction_method-list-num {
  background: #fff;
  font-size: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex-direction: column;
  height: 80px;
}

.construction_method-list li p:nth-child(1) span:nth-child(1) {
  font-size: 2.8rem;
  display: block;
  line-height: 1;
}

.construction_method-list li p.construction_method-list-ttl {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

.construction_method-list li p.text {
  font-size: 1.3rem;
  font-weight: bold;
}

.Purpose-list > ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

.Purpose-list li {
  border: solid 1px;
  padding: 0.5rem 1rem;
  font-size: 1.8rem;
}

/*------------------------
  トグルボックス
------------------------*/
.Toggl-box {
  margin-top: 4rem;
}

.Toggl-box-item {
}

.Toggl-box-item + .Toggl-box-item {
  margin-top: 1.2rem;
}

.Toggl-box-item-ttl {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 1.8rem 5rem 1.8rem 2rem;
  border: none;
  background: #fff;
  color: #000;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: left;
  letter-spacing: 0.05em;
  cursor: pointer;
  box-sizing: border-box;
  border: 5px solid #000;
  font-size: 2.2rem;
  font-family: "Murecho", sans-serif;
}
.Toggl-box-item-ttl span {
  width: 40px;
  height: 40px;
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  background: #000;
  border-radius: 50%;
  border: solid 1px #000;
  z-index: 1;
  box-sizing: border-box;
}

.Toggl-box-item-ttl span::before,
.Toggl-box-item-ttl span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background-color: #fff;
  border-radius: 2px;
  transform: translate(-50%, -50%);
}

.Toggl-box-item-ttl span::before {
  width: 18px;
  height: 2px;
}

.Toggl-box-item-ttl span::after {
  width: 2px;
  height: 18px;
  transition: transform 0.3s;
}

.Toggl-box-item.is-open .Toggl-box-item-ttl span::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.3s;
}
.Toggl-box-item-content {
  display: none;
  padding-top: 4rem;
  box-sizing: border-box;
}

.Toggl-box-item-content p {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.8;
  margin-top: 2rem;
}

.btn-area > ul:nth-child(1) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 4rem;
}

/*------------------------
  テーブル横スクロール
------------------------*/
.tabel-box {
  position: relative;
}

.tabel-box__scroll {
  width: 100%;
  position: relative;
}

.tabel-box__scroll img {
  display: block;
  width: 100%;
  height: auto;
}

/* 実績テーブル */
.result-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #000;
  background-color: #fff;
  color: #000;
  table-layout: fixed;
}

.result-table th,
.result-table td {
  border: 1px solid #000;
  padding: 1rem 1.2rem;
  text-align: center;
  vertical-align: middle;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: normal;
}

.result-table th {
  background-color: #d9d9d9;
  font-weight: bold;
}

.result-table td {
  background-color: #F6F6F6;
}

@media screen and (max-width: 736px) {
  .tabel-box__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .tabel-box__scroll img {
    width: auto !important;
    max-width: none !important;
    min-width: 700px;
    height: auto;
  }
  .result-table th,
  .result-table td {
    font-size: 1.4rem;
  }
  .tabel-box__scroll .member-table,
  .tabel-box__scroll .advisor-table,
  .tabel-box__scroll .research-table{
    width: 700px;
    min-width: 700px;
    max-width: none;
    table-layout: fixed;
  }
  .tabel-box__scroll .result-table {
    width: 1000px;
    min-width: 1000px;
    max-width: none;
    table-layout: fixed;


  }
  .tabel-box__scroll .member-table th,
  .tabel-box__scroll .member-table td,
  .tabel-box__scroll .advisor-table th,
  .tabel-box__scroll .advisor-table td {
    white-space: nowrap;
  }
}

/*------------------------
  研究会活動
------------------------*/
.research-content {
  background-color: #fff;
  color: #000;
  font-size: 20px;
  line-height: 1.8;
  margin-top: 4rem;
}

.activity-content__ttl {
  margin: 0 0 2rem;
  font-size: 2.6rem;
  font-weight: bold;
  color: #000;
}

.research-content dl {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  margin: 0 0 1.2rem;
}

.research-content dt {
  flex-shrink: 0;
  width: 5em;
  margin: 0;
  font-size: 2rem;
  color: #000;
}

.research-content dd {
  margin: 0;
  color: #000;
  font-size: 2rem;
}

.research-table {
  width: 100%;
  margin-top: 0;
  border-collapse: collapse;
  border: 1px solid #000;
  background-color: #fff;
  color: #000;
  table-layout: fixed;
}

.activity-content .tabel-box {
  margin-top: 4rem;
}

.research-table th,
.research-table td {
  border: 1px solid #000;
  padding: 1.4rem 1.6rem;
  vertical-align: middle;
  font-size: 1.5rem;
  line-height: 1.7;
  font-weight: normal;
}

.research-table th {
  text-align: center;
  font-size: 1.9rem;
}
.research-table td:nth-child(1) {
  font-size: 2.3rem;
  line-height: 1;
}
.research-table td:nth-child(2) {
  font-size: 1.8rem;
}
.research-table td:nth-child(2) {
  font-size: 1.8rem;
}
.research-table td:nth-child(2) p {
  font-size: 1.8rem;
  margin-left: 2rem;
}
.research-table td:nth-child(3) {
  font-size: 1.3rem;
}
.research-table td:nth-child(3) span {
  display: block;
  margin-top: 0.6rem;
  text-align: right;
  font-size: 1.7rem;
}
.research-table th:nth-child(1),
.research-table td:nth-child(1) {
  width: 15%;
  text-align: center;
}

.research-table th:nth-child(2),
.research-table td:nth-child(2) {
  width: 50%;
}

.research-table th:nth-child(3),
.research-table td:nth-child(3) {
  width: 30%;
}

.research-table td span {
  display: inline-block;
}

.research-table td:nth-child(1) span {
  font-size: 1.3rem;
}

.research-table td p {
  margin: 0.6rem 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
}

.research-table td:nth-child(2) > p:first-child {
  margin-top: 0;
}
.enquete-ttl {
  font-size: 2.3rem;
}

.enquete-content__item {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2rem;
}

/* 要素 | http://xs996796.xsrv.jp/chika/activity/ */

.enquete-content__item > p:nth-child(1) {
  font-size: 1.6rem;
}

/* 要素 | http://xs996796.xsrv.jp/chika/activity/ */

.enquete-content {
  margin-top: 5rem;
}

/*------------------------
  ページ作成中
------------------------*/
.coming-soon {
  padding: 12rem 0 14rem;
  text-align: center;
  background-color: #fff;
  color: #000;
  box-sizing: border-box;
}

.coming-soon .inner {
  max-width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
  box-sizing: border-box;
}

.coming-soon__en {
  margin: 0;
  font-size: 4rem;
  letter-spacing: 0.12em;
  color: #000;
  word-break: break-word;
}

.coming-soon__ja {
  margin: 2rem 0 0;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #000;
}

.coming-soon__text {
  margin: 1.2rem 0 0;
  font-size: 1.6rem;
  color: #000;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 1024px) {
  .coming-soon {
    padding: 10rem 0 12rem;
  }

  .coming-soon__en {
    font-size: 3.4rem;
  }

  .coming-soon__ja {
    font-size: 2rem;
  }
}

/*------------------------
  プライバシーポリシー
------------------------*/
.privacy-box {
  max-width: 1100px;
  margin: 6rem auto 0;
  padding: 0 2rem 6rem;
  color: #000;
  background-color: #fff;
  box-sizing: border-box;
}

.privacy-box__ttl {
  margin: 0 0 3rem;
  font-size: 3rem;
  font-weight: bold;
  text-align: left;
  letter-spacing: 0.08em;
}

.privacy-box > p {
  margin: 0 0 2rem;
  font-size: 1.4rem;
}

.privacy-box h4 {
  margin: 3.5rem 0 1.4rem;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.04em;
}

.privacy-box ul {
  margin: 0 0 2.4rem;
  padding: 0 0 0 1.6em;
  list-style: disc;
}

.privacy-box li {
  font-size: 1.4rem;
  line-height: 1.8;
}

.privacy-box__date {
}


.article-info{
  font-size: 1.7rem;
}
.article-btn{
  margin-top: 10rem;
}

.news-list-bg .title {
  font-size: 2.6rem;
}
.news-list-bg .date {
  font-size: 2rem;
}
