@charset "UTF-8";
/*
Theme Name: OK Theme
Author: Flex Planning ,LLC
Author URI: https://www.flex-planning.com/
Version: 1.0
*/

/*調整用css*/
.works-article__inner > p:has(img) {
  margin-top: 0!important;
}

/*新着情報 一覧*/
.sub-news__cat-item {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  margin-top: 20px;
  padding-bottom: 60px;
}
.sub-news__cat-item a {
  display: inline-block;
  padding: 6px 24px;
  min-width: 100px;
  text-align: center;
  color: #E60012;
  background-color: #fff;
  border-radius: 50vh;
  border: solid 1px #E60012;
}
.sub-news__cat-item .current-cat a,
.sub-news__cat-item a:hover {
  background-color: #E60012;
  color: #fff;
}
  @media (max-width: 767px) {
    .sub-news__cat-item {
      gap: 10px 15px;
      margin-top: 15px;
      padding-bottom: 40px;
    }
    .sub-news__cat-item a {
      font-size: 14px;
      padding: 4px 16px;
      min-width: 80px;
    }
  }

.news_archive_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 40px;
}
.news_archive_box {
  display: block;
  color: #e60012!important;
}
.news_archive_box figure {
  overflow: hidden;
  margin-bottom: 20px;
}
.news_archive_box figure img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  transition: all 0.4s ease-in-out 0s;
}
.splide__slide.home-topics-slide-wrap a img {
  object-fit: cover;
  aspect-ratio: 4 / 3;
}
.news_archive_box:hover figure img {
  width: 100%;
  height: auto;
  transform: scale(1.08);
}
.news_archive_info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
.cat_box span {
  display: inline-block;
  background: #e60012;
  color: #fff;
  min-width: 44px;
  padding: 0 5px;
  font-size: 1.3rem;
  text-align: center;
  font-weight: 500;
}
.news_archive_info time {
  font-size: 1.3rem;
  font-weight: 500;
}
.news_archive_txt h3 {
  margin-bottom: 10px;
}
.news_archive_txt p {
  font-size: 1.3rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
  @media (max-width: 767px) {
    .news_archive_list {
      display: block;
    }
    .news_archive_box {
      margin-bottom: 30px;
    }
  }

.layout-single-news {
  position: relative;
  padding-top: 240px;
}
.layout-single-news::after {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  content: "";
  width: 100%;
  height: 170px;
  background: #e60012;
}
.news-article__inner {
  background: #f5f5f5;
  padding: 78px calc((94 / 1345)*100vw);
}
  @media (max-width: 767px) {
    .layout-single-news {
      padding-top: 200px;
    }
    .layout-single-news::after {
      height: 160px;
    }
    .news-article__inner {
      background: #f5f5f5;
      padding: 24px 16px;
    }
  }

/*新着情報 詳細*/
.news_sinble_info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
}
.news_sinble_info .cat_box span {
  padding: 0 10px;
  min-width: 60px;
  font-size: 1.5rem;
}
.news_sinble_info time {
  font-size: 1.5rem;
  color: #000;
  font-weight: 500;
}
.single-news-ttl {
  font-size: 36px;
  font-weight: 700;
  color: #E60012;
  padding-bottom: 40px;
}
.single-news-img {
  text-align: center;
  padding-bottom: 50px;
}
  @media (max-width: 767px) {
    .news_sinble_info {
      margin-bottom: 20px;
    }
    .news_sinble_info .cat_box span {
      font-size: 1.4rem;
    }
    .news_sinble_info time {
      font-size: 1.4rem;
    }
    .single-news-ttl {
      font-size: 26px;
      padding-bottom: 30px;
    }
    .single-news-img {
      padding-bottom: 30px;
    }
  }

/* img */
.aligncenter {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.alignright { float: right; }
.alignleft { float: left; }
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}
img.alignleft {
  margin-right: 25px;
}
img.alignright {
  margin-left: 25px;
}

/*投稿詳細用*/
.entry-content {
  color: #000;
  font-size: 20px;
  font-weight: 500;
}
  @media screen and (max-width: 767px) {
    .entry-content {
      font-size: 15px;
    }
  }

.entry-content:after {
  content: ""; 
  display: block; 
  clear: both;
}
.entry-content h1 {
  clear: both;
  font-size: 36px;
  padding-bottom: 30px;
  font-weight: 700;
  color: #E60012;
}
  @media screen and (max-width: 767px) {
    .entry-content h1 {
      font-size: 26px;
      padding-bottom: 4vw;
    }
  }

.entry-content h2 {
  clear: both;
  font-size: 34px;
  padding-bottom: 30px;
  color: #E60012;
  font-weight: 700;
  font-family: "corporate-logo-ver2", sans-serif;
}
  @media screen and (max-width: 767px) {
    .entry-content h2 {
      font-size: 24px;
      padding-bottom: 4vw;
    }
  }

.entry-content h3 {
  clear: both;
  font-size: 32px;
  padding-bottom: 30px;
  font-weight: 700;
  color: #000;
}
  @media screen and (max-width: 767px) {
    .entry-content h3 {
      font-size: 22px;
      padding-bottom: 4vw;
    }
  }

.entry-content h4 {
  clear: both;
  font-size: 30px;
  padding-bottom: 30px;
  font-weight: 700;
  color: #000;
}
  @media screen and (max-width: 767px) {
    .entry-content h4 {
      font-size: 20px;
      padding-bottom: 4vw;
    }
  }

.entry-content h5 {
  clear: both;
  font-size: 28px;
  padding-bottom: 30px;
  font-weight: 700;
  color: #000;
}
  @media screen and (max-width: 767px) {
    .entry-content h5 {
      font-size: 18px;
      padding-bottom: 4vw;
    }
  }

.entry-content h6 {
  clear: both;
  font-size: 26px;
  padding-bottom: 30px;
  font-weight: 700;
  color: #000;
}
  @media screen and (max-width: 767px) {
    .entry-content h6 {
      font-size: 16px;
      padding-bottom: 4vw;
    }
  }

.entry-content p {
  clear: both;
  margin-bottom: 30px;
}
  @media screen and (max-width: 767px) {
    .entry-content p {
      margin-bottom: 5vw;
    }
  }

.entry-content a {
  color: #E60012;
}

.entry-content img {
  margin-bottom: 30px;
}
  @media screen and (max-width: 767px) {
    .entry-content img {
      margin-bottom: 5vw;
    }
  }

.entry-content ul {
  clear: both;
  margin-bottom: 30px;
  padding-left: 20px;
}
.entry-content ul li {
  list-style-type: disc;
}
.entry-content ul li ul {
  margin-bottom: 10px;
  font-size: 93%;
}
.entry-content ul li ul li {
  list-style-type:circle;
}
  @media screen and (max-width: 767px) {
    .entry-content ul {
      margin-bottom: 5vw;
      padding-left: 5.4vw;
    }
    .entry-content ul li ul {
      margin-bottom: 2vw;
    }
  }

.entry-content ol {
  clear: both;
  counter-reset: section;
  margin-bottom: 30px;
}
.entry-content ol li {
  list-style: none;
}
.entry-content ol > li:before {
  content : counters(section, '-') '. ';
  counter-increment : section;
}
.entry-content ol li ol {
  padding-left: 20px;
  margin-bottom: 10px;
  font-size: 93%;
}
  @media screen and (max-width: 767px) {
    .entry-content ol {
      margin-bottom: 5vw;
    }
    .entry-content ol li ol {
      padding-left: 5.4vw;
      margin-bottom: 2vw;
    }
  }

.entry-content table {
  clear: both;
  width: 100%;
  margin: 0 0 30px 0;
}
.entry-content th {
  text-align: left;
  padding:7px 10px;
  border:solid 1px #eee;
}
.entry-content td {
  padding:7px 10px;
  border:solid 1px #eee;
}
  @media screen and (max-width: 767px) {
    .entry-content table {
      margin:0 0 5vw 0;
      font-size: 93%;
    }
    .entry-content th {
      padding:2vw;
    }
    .entry-content td {
      padding:2vw;
    }
  }

.entry-content table img {
  margin-bottom: 0;
}

.entry-content blockquote {
  clear: both;
  position: relative;
  border: solid 4px #d7d7d7;
  padding: 20px 20px 20px 55px;
  margin-bottom: 35px;
}
.entry-content blockquote::before {
  position: absolute;
  left: 18px;
  top: 20px;
  content: "“";
  line-height: 1;
  font-size: 6rem;
  color: #d7d7d7;
}
  @media screen and (max-width: 767px) {
    .entry-content blockquote {
      border: solid 3px #d7d7d7;
      padding: 4vw 3.33vw 4vw 9.33vw;
      margin-bottom: 5vw;
    }
    .entry-content blockquote::before {
      left: 2vw;
      top: 4vw;
      font-size: 12.33vw;
    }
  }

.entry-content u {
  text-decoration: underline;
}

.entry-content .wp-caption.alignright {
  margin-left: 25px;
}
.entry-content .wp-caption.alignleft {
  margin-right: 25px;
}
  @media screen and (max-width: 767px) {
    .entry-content .wp-caption {
      width: 100%!important;
      float: none!important;
      margin: 0 0 5vw 0!important;
    }
  }

.entry-content .wp-caption img {
  margin-bottom: 5px;
}
.entry-content .wp-caption p {
  font-size: 90%;
  color: #757575;
  font-style: italic;
}
  @media screen and (max-width: 767px) {
    .entry-content .wp-caption img {
      margin-bottom: 2vw;
    }
  }

/*プライバシーポリシー*/
.privacy-wrap {
  background: #f5f5f5;
  padding: 78px calc((94 / 1345)*100vw);
  margin-top: 100px;
  color: #000;
}
.privacy-lead {
  padding-bottom: 40px;
}
.privacy-block {
  
}
.privacy-block dl {
  padding-bottom: 40px;
}
.privacy-block dl:last-child {
  padding-bottom: 0;
}
.privacy-block dt {
  position: relative;
  padding-left: 48px;
  font-size: 20px;
  margin-bottom: 25px;
  font-weight: 700;
}
.privacy-block dt span {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 24px;
  display: block;
  width: 36px;
  line-height: 36px;
  text-align: center;
  background: #E60012;
  color: #fff;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 900;
}
.privacy-block dd p {
  margin-bottom: 20px;
  line-height: 1.8;
}
.privacy-block dd h3 {
  font-size: 18px;
  margin-bottom: 15px;
  font-weight: 600;
}
.privacy-block dd *:last-child {
  margin-bottom: 0;
}
.privacy-block dd strong {
  font-weight: 600;
  display: block;
}
  @media screen and (max-width: 767px) {
    .privacy-wrap {
      background: #f5f5f5;
      padding: 8vw 5vw;
      margin-top: 13.33vw;
    }
    .privacy-lead {
      padding-bottom: 8vw;
    }
    .privacy-block dl {
      padding-bottom: 6.66vw;
    }
    .privacy-block dt {
      padding-left: 9.33vw;
      font-size: 4.4vw;
      margin-bottom: 5vw;
    }
    .privacy-block dt span {
      font-size: 5.33vw;
      width: 7.4vw;
      line-height: 7.4vw;
    }
    .privacy-block dd p {
      font-size: 3.46vw;
      margin-bottom: 5vw;
      line-height: 1.7;
    }
    .privacy-block dd h3 {
      font-size: 4vw;
      margin-bottom: 3.33vw;
    }
  }

/*サンクスページ*/
.thanks-wrap {
  background: #f5f5f5;
  padding: 78px calc((94 / 1345)*100vw);
  margin-top: 100px;
  color: #000;
}
  @media screen and (max-width: 767px) {
    .thanks-wrap {
      background: #f5f5f5;
      padding: 10.25vw 5vw;
      margin-top: 13.33vw;
    }
  }

.thanks-block h2 {
  font-size: 32px;
  margin-bottom: 30px;
  color: #E60012;
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 900;
}
.thanks-block-txt p {
  margin-bottom: 30px;
}
.thanks-block-txt *:last-child {
  margin-bottom: 0!important;
}
.thanks-tel {
  font-size: 28px;
  font-weight: 900;
  margin-bottom: 30px;
}
.thanks-tel a {
  color: #E60012;
}
.thanks-txt-link {
  color: #E60012;
}
.thanks-txt-link a {
  color: #E60012;
}
.thanks-txt-link a:hover {
  text-decoration: underline;
}
.thanks-block-btn {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 60px;
}
.thanks-block-btn li {
  width: 45%;
  max-width: 360px;
  margin: 0 15px;
}
.thanks-block-btn li a {
  margin: 0;
  width: 99%;
}
  @media screen and (max-width: 767px) {
    .thanks-block h2 {
      font-size: 5.33vw;
      margin-bottom: 4vw;
    }
    .thanks-block-txt p {
      margin-bottom: 4vw;
    }
    .thanks-tel {
      font-size: 5vw;
      margin-bottom: 4vw;
    }
    .thanks-block-btn {
      display: block;
      margin-top: 8vw;
    }
    .thanks-block-btn li {
      width: 80%;
      max-width: 80%;
      margin: 0 0 4vw 0;
    }
    .thanks-block-btn li:last-child {
      margin-bottom: 0;
    }
  }

.pc_none {
  display: none;
}
  @media screen and (max-width: 767px) {
    .pc_none {
      display: block;
    }
  }
