@charset "utf-8";
/****************************
共通
******************************/
#main {
  padding-top: 80px;
  background: #f5f7f7;
}
.service-bg {
  background: #fcfcfc !important;
}
.h_feature {
  background: url(../common/images/features.jpg) no-repeat center top;
  background-size: cover;
  height: 200px;
}
.h_common {
  background: url(../common/images/common.jpg) no-repeat center top;
  background-size: cover;
}
.h_blog {
  background: url(../common/images/blog-bg.jpg) no-repeat center top;
  background-size: cover;
}
.section_pheader {
  padding-top: 30px;
}
.pheader {
  width: 90%;
  margin: 0 auto;
  border-radius: 10px;
}
.pheader .inner {
  width: 90%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.download-bg .pheader .inner {
  height: 320px;
}
.pheader h1 {
  text-align: left;
  color: #3e3e3e;
  font-size: 23px;
  line-height: 1.2;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
  text-shadow: 0px 0px 3px rgba(255, 255, 255, 1),
    0px 0px 6px rgba(255, 255, 255, 1), 0px 0px 9px rgba(255, 255, 255, 1),
    0px 0px 12px rgba(255, 255, 255, 1), 0px 0px 15px rgba(255, 255, 255, 0.9),
    0px 0px 18px rgba(255, 255, 255, 0.9), 0px 0px 21px rgba(255, 255, 255, 0.8),
    0px 0px 24px rgba(255, 255, 255, 0.7);
  letter-spacing: 1px;
}
.pheader h1 span {
  font-size: 54px;
  color: var(--orange);
}
.description {
  margin-top: 60px;
  margin-bottom: 60px;
}
.description p {
  text-align: left !important;
}
.main-title {
  width: 520px;
  text-align: center;
  font-size: 31px;
  display: block;
  height: 60px;
  margin: 40px auto 80px;
  padding: 20px 0 0;
  color: #383838;
  font-weight: bold;
  font-size: var(--font_40);
}
.text-emphasis {
  border-bottom: 4px solid var(--light-orange);
}
.emphasis {
  font-size: var(--font_60);
}
#main p {
  margin: 0 0 2em;
  text-align: justify;
  text-justify: inter-ideograph;
}
.margin-none {
  margin-bottom: 0 !important;
}
.no-wrap {
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #main {
    padding-top: 60px;
  }
  .pheader {
    height: 200px;
  }
  .pheader .inner,
  .download-bg .pheader .inner {
    height: 200px;
  }
  .pheader h1 {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
  }
  .pheader h1 span {
    font-size: 38px;
    white-space: nowrap;
  }
  .emphasis-top {
    font-size: 57px !important;
  }
  .description {
    margin-top: 0;
    margin-bottom: 20px;
  }
  .main-title {
    width: 100%;
    font-size: 22px;
    display: block;
    height: 60px;
    margin: 10px auto 20px;
    background: none;
    padding: 5px 0 0;
  }
  .borderB5 {
    width: 60%;
  }
  #main p {
    margin: 10px 0 15px;
    letter-spacing: 0;
  }
  #main > div:nth-child(2) > div > p.textc {
    text-align: left !important;
  }
  .fixed {
    position: static;
  }
  #scroll.fixed {
    display: none;
    transition-duration: 1s;
    transition-timing-function: ease-in-out;
    padding: 0;
  }
  #scroll {
    padding: 0;
  }
}
.mtext {
  max-width: 800px;
  margin: 0 auto;
  color: #0a272d;
  font-size: 15px;
  letter-spacing: 0.5px;
}
.btext {
  width: 800px;
  padding: 20px 20px 1px;
  background: #e4e0c2;
  margin: 40px auto 60px;
}
.stepbox {
  border: 1px solid #c9c9c9;
  background: #fcfcfb;
  padding: 40px;
  margin: 40px auto 60px;
  position: relative;
}
.stepbox::after {
  content: url(../images/service/mark_down.png);
  position: absolute;
  bottom: -40px;
  left: 44%;
}
.last::after {
  display: none;
}
.stepbox > ul > li {
  background: #e28c24;
  color: #fff;
  text-align: center;
  padding: 15px 0;
  width: 180px;
  margin-bottom: 7px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.2;
}
.stepbox > ul {
  float: left;
}
.stepbox > p > img {
  width: 210px;
  margin: 0;
  float: left;
}
#main > div:nth-child(5) > div:nth-child(6) > p:nth-child(1) > img {
  width: 247px;
  margin-left: -30px;
}
.rBox {
  float: right;
  width: 72%;
}
.rBox h3 {
  color: #9c7a22;
  font-size: 18px;
  margin: 0 0 20px;
  font-weight: bold;
}
.inbox {
  background: #eeece1;
  padding: 40px;
  margin: 40px 0;
}
.sn-service h3 {
  color: #c59a39;
  font-size: 20px;
  margin: 0 0 20px;
}
.sn-service h4 {
  margin-bottom: 10px;
  padding-left: 20px;
  background: url(../common/images/ico_board.png) no-repeat left 3px;
  color: #3d3d3d;
  font-size: 18px;
  font-weight: bold;
}
.sn-service ul {
  margin: 0 0 20px;
}
.sn-service ul li {
  line-height: 1.6;
}
#main .sn-service p.s1text {
  text-align: center;
  font-size: 1.2em;
  margin: 40px auto 0 !important;
}
.half {
  width: 50%;
  padding: 0;
  float: left;
}
#main .linkb {
  margin: 0;
}
.linkb a {
  display: block;
  width: 350px;
  font-weight: bold;
  padding: 20px 0;
  border: 2px solid #000;
  color: #1c1c1c;
  font-size: 18px;
  text-align: center;
  background: #fff;
  margin: 20px auto 0;
  text-decoration: none;
}
.linkb a:hover {
  background: #484848;
  color: #fff;
  transition: ease-in-out 0.5s;
}
.bkgray {
  background: #f5f5f3;
  width: 100%;
  padding: 40px 0;
  margin: 40px 0;
}
.min {
  font-size: 30px;
  font-weight: normal;
  margin-bottom: 10px;
  margin-top: -80px;
  padding-top: 120px;
}
.b_cta a {
  margin: 40px auto;
  display: block;
  background: #e28c24;
  color: #fff;
  width: 350px;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  padding: 20px 0;
  text-decoration: none;
}
.b_cta a:hover {
  background: #e26a24;
  transition: ease-in-out 0.5s;
}
#main p.s1text {
  border: 1px solid #ccc;
  padding: 20px;
  margin: 20px auto 40px !important;
  width: 760px;
}
p.imgr img {
  float: right;
  margin: 110px 0 20px 30px;
}
.hgold {
  color: #cea957;
}
#scroll {
  width: 100%;
  z-index: 1;
}
.fixed {
  position: fixed;
  top: 80px;
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2);
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
}
/****************************
  features
******************************/
.f_list {
  margin: 0 0 80px;
}
.f_list .inner {
  display: flex;
  column-gap: 30px;
  row-gap: 10px;
}
.f_list-link {
  border: 3px solid var(--gold);
  border-radius: 10px;
  padding: 14px 10px 0px;
  transition: background-color 0.3s ease-in-out, transform 0.3s ease-in-out;
  width: calc(100% / 4);
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
.f_list-link:hover {
  background-color: #f7e5b2;
}
.f_list-item dt {
  font-size: var(--font_21);
  text-align: center;
  line-height: 2;
}
.f_list_number {
  display: block;
  font-size: var(--font_25);
  color: var(--dark-brown);
  font-weight: bold;
  text-align: center;
  font-family: "Roboto", sans-serif;
  border-bottom: 3px solid var(--subtitle-orange);
  width: 30px;
  margin: 0 auto;
  line-height: 1.3;
}
.f_list dl dt {
  position: relative;
  font-weight: bold;
}
/*---リンクスクロールver---*/
#scroll.fixed {
  background: #f7e5b2;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
.fixed.f_list .inner {
  column-gap: 0;
}
.fixed .f_list-link {
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 10px 0;
}
.fixed .f_list_number {
  display: none;
}
.fixed .f_list-link:hover {
  background-color: var(--subtitle-orange);
  color: #fff;
}
.fixed dl dd {
  display: none;
}
.fixed + #features,
.fixed + #case {
  padding-top: 180px;
}
/*--各特徴のcontent--*/
.features-inner {
  background: #fff;
  padding: 70px 60px;
  border-radius: 16px;
}
#features h2 {
  font-size: 30px;
  font-weight: normal;
  color: #3d3d3d;
  line-height: 1.2em;
  margin: 0 0 60px;
}
#features h2 span {
  font-size: var(--font_19);
  color: #fff;
  background: var(--subtitle-orange);
  padding: 10px 20px;
}
#features h2::before {
  display: block;
  font-family: "Roboto", sans-serif;
  float: left;
  margin: 0 20px;
  font-size: 80px;
  font-weight: 200;
  color: var(--dark-brown);
}
#features h2.fea1::before {
  content: "01";
}
#features h2.fea2::before {
  content: "02";
}
#features h2.fea3::before {
  content: "03";
}
#features h2.fea4::before {
  content: "04";
}
.features-item {
  text-align: center;
}
.features-title {
  color: var(--dark-brown);
  font-size: var(--font_28);
  margin-top: 60px;
  margin-bottom: 40px;
  text-align: left;
  letter-spacing: 0;
}
.b_cont {
  margin: 20px 0 60px;
  text-align: left;
}
.chart-img {
  margin-bottom: 100px;
  margin-top: 60px;
}
.coverage .chart-img {
  margin-bottom: 0;
}
.features-item-border {
  border-top: 1px solid #c8c9cb;
}
#features figure {
  display: flex;
  column-gap: 30px;
}
#features .b_cont {
  margin: 0;
}
#features figure img {
  width: 50%;
  object-fit: cover;
}
.experts-img {
  margin-top: 20px;
  margin-bottom: 60px;
}
.involvement-item {
  margin-bottom: 60px;
}
.involvement figure {
  align-items: center;
  margin-bottom: 20px;
}
.involvement-item figure {
  border: 1px solid #5a5a5a;
}
.involvement-b_cont p {
  margin-bottom: 0 !important;
}
.chart-sp {
  display: none;
}
.feature-chart-pc {
  margin: 20px 0 60px;
}
.coverage-chart {
  margin-top: 60px;
}
.involvement-chart-pc {
  width: 37% !important;
  height: 100%;
}
.involvement-faq {
  color: var(--subtitle-orange);
  font-size: var(--font_23);
  margin-bottom: 10px;
}
.coverage-text {
  margin-top: 20px !important;
  margin-bottom: 0 !important;
}
.works-link-wrap {
  display: flex;
  justify-content: space-around;
  align-items: center;
  column-gap: 20px;
  padding-top: 70px;
}
.works-link-wrap a {
  width: 300px;
}
.coverage .works-link-wrap {
  margin-bottom: 50px;
}
/*次コンテンツへのリンク*/
.fea_next {
  border: 3px solid #d1b963;
  background: #fff;
  border-radius: 50px;
  padding: 20px 60px;
  margin-top: 60px;
  margin-bottom: 100px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  justify-content: flex-start;
  align-items: center;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
.fea_next a:hover {
  transition: ease-in-out 0.3s;
}
.fea_next p {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  display: inline;
}
.fea_next_feature {
  color: var(--dark-brown);
  font-size: var(--font_23);
  font-weight: bold;
}
.fea_next .f_list_number {
  display: inline;
  margin: 0 20px 0 5px;
}
.fea_next_title {
  font-size: var(--font_23);
  font-weight: bold;
  margin-right: 20px !important;
}
/*メニューボタンリスト*/
.menu-btn-list {
  background: #fff;
  padding: 50px 0;
}
.menu-btn-list .inner {
  display: grid;
  justify-items: center;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  column-gap: 20px;
  row-gap: 10px;
}
.menu-btn-list img {
  width: 45px;
  margin-right: 15px;
}
.menu-btn-list .more-btn {
  background: var(--orange);
  border-radius: 5px;
  color: #fff;
  border: 2px solid #fff;
  justify-content: flex-start;
  padding-left: 15px;
  font-size: var(--font_18);
  height: 80px;
  line-height: 1.5;
  transition: ease-in-out 0.3s;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
.menu-btn-list .more-btn::after {
  width: 30px;
  height: 30px;
  background-color: var(--subtitle-orange);
  background: url(../common/images/more-btn-white.svg) no-repeat center center /
    contain;
}
.menu-btn-list .more-btn:hover {
  background: var(--dark-orange);
}
@media screen and (max-width: 1000px) {
  .involvement-item figure {
    column-gap: 10px !important;
  }
}
@media screen and (max-width: 768px) {
  .f_list {
    margin: 0 0 30px;
  }
  .f_list .inner {
    flex-direction: column;
  }
  .f_list-link {
    width: 100%;
    position: relative;
  }
  .f_list-link::after {
    content: "";
    display: block;
    width: 24px;
    height: 25px;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background-color: var(--subtitle-orange);
    background: url(../common/images/arrow-down.svg) no-repeat center center /
      contain;
    transition: transform 0.3s ease;
  }
  .fixed .f_list-link::after {
    content: none;
  }
  .f_list dl dt {
    display: flex;
    align-items: center;
    column-gap: 10px;
  }
  .f_list_number {
    margin: 0;
  }
  .f_list-item dt {
    line-height: 1;
  }
  .f_list-item dd p {
    padding-right: 40px;
  }
  /*scrollで出てくるmenu*/
  .f_list.fixed {
    display: flex !important;
    top: 60px;
  }
  .f_list.fixed .inner {
    flex-direction: row;
  }
  .f_list.fixed .inner a {
    border-right: 1px solid #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 5px;
  }
  .f_list.fixed .inner a:last-of-type {
    border-right: none !important;
  }
  .f_list.fixed dl {
    margin-bottom: 0 !important;
  }
  .f_list.fixed dl dt {
    justify-content: center;
    font-size: var(--font_16);
    line-height: 1.3;
  }
  .fea_next {
    border-radius: 15px;
    row-gap: 10px;
    height: auto;
    padding: 20px 60px 20px 20px;
    margin-top: 30px;
    margin-bottom: 40px;
  }
  .fea_next_text {
    display: block !important;
    margin-top: 10px !important;
  }
  .involvement-item figure {
    flex-direction: column;
    row-gap: 20px !important;
    padding-bottom: 20px;
  }
  .involvement-item figure img {
    width: 100% !important;
  }
  .involvement-b_cont {
    padding: 0 20px;
  }
  .involvement-chart-pc {
    display: none;
  }
  .involvement-chart-sp {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .f_list dl {
    float: none;
    width: auto;
    margin: 0 0 20px;
  }

  .f_list dl dt a {
    font-size: 18px;
    background-image: linear-gradient(135deg, #9c7a22 30px, transparent 0);
  }
  .f_list dl dd {
    height: auto;
    margin: 0;
  }
  #main .f_list dl dd a {
    height: auto;
  }
  #features {
    margin-top: -120px;
    padding-top: 120px;
  }
  .features-inner {
    padding: 30px 20px;
  }
  .features-title {
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: bold;
  }
  #features h2 {
    font-size: 24px;
    margin: 0 0 20px;
    position: relative;
  }
  #features h2 span {
    line-height: 3em;
    margin: 0 0 0 10px;
  }
  #features h2::before {
    margin: 0;
    font-size: 36px;
    line-height: 1.2;
  }
  .chart-img {
    margin-top: 30px;
    margin-bottom: 40px;
  }
  #features figure {
    margin-top: 20px;
    column-gap: 30px;
    flex-direction: column;
    row-gap: 40px;
  }
  #features figure img {
    width: 100%;
  }
  .chart-pc {
    display: none;
  }
  .chart-sp {
    display: block;
  }
  .feature-chart-sp {
    margin: 0 0 40px;
  }
  .coverage-chart {
    margin-top: 30px;
  }
  .experts-chart-sp {
    margin-top: 20px;
  }
  .experts-img {
    margin-bottom: 40px;
  }
  .works-link-wrap {
    flex-direction: column;
    row-gap: 20px;
    margin-top: 30px;
  }
  .works-link-wrap a {
    width: 90%;
  }
  .f_list_pc {
    display: none;
  }
  .fea_next .f_list_number {
    margin: 0 10px 0 0;
  }
  .menu-btn-list {
    padding: 30px 0;
  }
  .menu-btn-list .more-btn {
    height: 65px;
    line-height: 1.5;
  }
  .menu-btn-list img {
    width: 30px;
    margin-right: 10px;
  }
  .menu-btn-list .more-btn::after {
    width: 22px;
    height: 22px;
  }
  .works-link-wrap {
    padding-top: 0;
  }
  .feature4 {
    padding: 70% 20px 20px;
    margin: 20px auto 40px;
    width: auto;
    background-position: center top;
    background: url(../common/images/feature4.jpg) no-repeat left top;
    background-size: contain;
  }
  .feature4 ul li {
    line-height: 1.6;
    margin: 0 0 10px;
  }
  .link3 li {
    float: none;
    width: auto;
  }
  .link2 li {
    float: none;
    width: auto;
  }
  .link3 li a,
  .link2 li a {
    width: auto;
  }
  .link3 li:first-child a {
    float: none;
  }
  .link3 li:last-child a {
    float: none;
  }
}
/****************************
  service
******************************/
.h_service {
  border-bottom: 4px solid #be9b1f;
}
.h_service-fase {
  position: static;
  transform: none;
  width: 70px;
  height: 70px;
  font-size: 10px;
  margin-bottom: 0 !important;
  line-height: 1.1 !important;
}
.h_service-fase span {
  font-size: 30px;
}
.h_service .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 0 20px;
}
.h_service-title {
  color: var(--dark-orange) !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.h_service-wrap {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.h_service-text {
  font-size: var(--font_19);
  font-weight: bold;
  margin: 10px 0 20px !important;
}
.h_service-category {
  font-size: var(--font_19);
  font-weight: bold;
  border: 1px solid var(--dark-orange);
  color: var(--dark-orange);
  display: inline;
  padding: 10px 20px;
}
.h_service-icon {
  height: 200px;
  width: 30%;
}
/*h_service-top*/
.h_service_top p {
  margin-bottom: 0 !important;
}
.h_service_top .h_service-wrap {
  flex-direction: column;
  align-items: flex-start;
}
.h_servicetop-title {
  font-size: var(--font_21);
  font-weight: bold;
}
.h_service_top .h_service-text {
  margin-bottom: 20px !important;
}
.h_service_top .main-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 30px;
  row-gap: 20px;
}
.h_service_top .laurel-img {
  min-width: 360px;
}
.h_service_top .mainbtn-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 20px;
  row-gap: 10px;
}
.service-measures {
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .h_service .inner {
    flex-direction: column;
    row-gap: 30px;
  }
  .h_service-category {
    display: flex;
    justify-content: center;
  }
  .h_service-icon {
    width: 100%;
  }
  .h_service-fase {
    width: 50px;
    height: 50px;
    font-size: 10px;
  }
  .h_service-fase span {
    font-size: 18px;
  }
  .h_service_top .laurel-img {
    min-width: 300px;
  }
  .h_service_top .f_cta a {
    width: 100%;
    min-width: 300px;
  }
  .service-measures {
    padding-bottom: 20px;
  }
}
/****************************
  service > page
******************************/
.bg_pattern {
  background-image: 
    /* 細かい格子線（2px） */ linear-gradient(
      transparent 1px,
      rgba(190, 155, 32, 0.2) 1px,
      transparent 2px
    ),
    linear-gradient(
      90deg,
      transparent 1px,
      rgba(190, 155, 32, 0.2) 1px,
      transparent 2px
    ),
    /* 10マスごとの細めの線（1px） */
      linear-gradient(
        transparent 21px,
        rgba(190, 155, 32, 0.4) 1px,
        transparent 22px
      ),
    linear-gradient(
      90deg,
      transparent 21px,
      rgba(190, 155, 32, 0.4) 1px,
      transparent 22px
    );
  background-size: 10px 10px, 10px 10px, 40px 40px, 40px 40px;
  background-position: 0 0;
  padding: 40px 50px 0;
  margin-top: 30px;
}
.service-pdca-inner {
  position: relative;
  background-image: url(../images/service/service-pdca.svg);
  height: 360px;
  margin-top: 60px;
  margin-bottom: 60px;
}
.service-pdca-inner .pdca-item {
  padding: 30px 10px 0;
}
.service-pdca-inner .pdca-item::after {
  top: 26%;
  right: -32px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
}
.pdca-sp {
  display: none;
}
.service-pdca-inner .pdca-item:not(.pdca-item-active) {
  background-color: #fff; /* 背景色を維持 */
}
.service-pdca-inner .pdca-item:not(.pdca-item-active) .fase-text-wrap,
.service-pdca-inner .pdca-item:not(.pdca-item-active) h3,
.service-pdca-inner .pdca-item:not(.pdca-item-active) p,
.service-pdca-inner .pdca-item:not(.pdca-item-active) img,
.service-pdca-inner .pdca-item:not(.pdca-item-active)::after {
  opacity: 0.4; /* 内部の要素だけ薄く */
  transition: opacity 0.5s ease-in-out;
}
@media screen and (max-width: 960px) {
  .bg_pattern {
    padding: 40px 10px;
    margin-top: 30px;
    width: 100%;
  }
  .service-pdca-inner {
    background-image: url(../images/service/service-pdca_sp.svg);
    height: auto;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0 0 0 20px;
  }
  .service-pdca-inner .pdca-list {
    padding: 15% 15% 15% 0;
  }
  .service-pdca-inner .pdca-item {
    justify-content: center;
    padding: 45px 0 10px 20px;
  }
  .service-pdca-inner .pdca-item::after {
    content: "";
    position: absolute;
    top: 104%;
    right: 45%;
    transform: translateY(-50%) rotate(90deg);
    width: 50px;
    height: 50px;
  }
  .service-pdca-inner .fase-content img {
    width: 100%;
    margin-top: -20px;
  }
  .service-pdca-inner .fase-title {
    white-space: wrap;
    justify-content: flex-start;
  }
  .pdca-sp-wrap {
    display: flex;
  }
  .pdca-sp {
    display: block;
  }
}
@media screen and (max-width: 370px) {
  .service-pdca-inner .pdca-item {
    padding: 40px 5px 0 10px;
  }
}
/*------fase area-------*/
.fase-area {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 60px;
}
.fase-area .fase-content {
  position: relative;
  padding-top: 20px;
}
.fase-area .fase-title {
  font-size: var(--font_31);
  margin-bottom: 0;
}
.fase-area .fase-text {
  height: auto;
}
.fase-area .fase-feature {
  font-size: var(--font_15);
  font-weight: bold;
  height: auto;
  padding: 10px 0;
}
.fase-area img {
  width: 64%;
}
.fase-area-text {
  width: 80%;
}
.fase-area .fase-content {
  flex-direction: column;
}
.fase-active::before {
  content: "";
  position: absolute;
  bottom: 110%;
  left: 50%;
  transform: translateX(-50%);
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 25px solid var(--subtitle-orange);
}
@media screen and (max-width: 1200px) {
  .fase-area img {
    width: 64%;
    height: auto;
  }
}
@media screen and (max-width: 960px) {
  .fase-area {
    padding-top: 40px;
  }
  .fase-area .fase {
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
  }
  .fase-area img {
    width: 260px;
  }
  .fase-area .fase-content {
    padding-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .fase-area {
    flex-direction: column;
  }
  .fase-area-text {
    width: 100%;
    padding-bottom: 30px;
  }
}
/*------service-detail-------*/
.service-detail {
  background: #f5f7f7;
  padding-top: 40px;
}
.service-detail .inner {
  padding-bottom: 60px;
}
.service-detail-first {
  padding-top: 120px;
}
.service-detail figure {
  display: flex;
  column-gap: 30px;
}
.service-detail figure img {
  width: 40%;
  background: #fff;
  padding: 20px 30px;
}
.service-detail-text {
  margin-top: 60px;
  margin-bottom: 20px;
}
.tool-img {
  width: 80% !important;
  padding: 40px 30px !important;
}
.user-wrap {
  display: flex;
  justify-content: center;
  column-gap: 80px;
}
.user-content {
  background: #fff;
  padding: 30px 40px;
}
.user-title {
  color: var(--dark-orange);
  font-size: var(--font_23);
  border-bottom: 1px solid #2f2f2f;
}
.user-list {
  margin: 20px 0;
}
.service-detail-img {
  padding: 30px;
  background: #fff;
}
.service-detail-column figure {
  flex-direction: column;
}
.service-detail-column figure img {
  width: 100%;
}
.reduction-img {
  width: 70% !important;
  padding: 40px 100px !important;
}
.features-item .reduction-img {
  width: 96% !important;
}
.service-detail-list,
.service-detail-list li {
  list-style-type: disc !important;
  margin-left: 7px;
}
.service-detail-list li::marker {
  font-size: 10px;
  color: #333;
}
.execution-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-template-rows: auto;
}
/*img-table*/
.img-table {
  width: 100%;
  background: #fff;
}
.img-table th,
.img-table td {
  padding: 50px;
  text-align: left;
  border-bottom: 2px solid #dbdbdb;
}
.img-table th {
  border-color: var(--subtitle-orange);
  border-top: 2px solid var(--subtitle-orange);
}
/*chart title*/
.service-chart-wrap h3 {
  color: var(--dark-orange);
  font-size: var(--font_21);
  border-bottom: 1px solid #a0a0a0;
  text-align: left;
}
.service-chart-wrap {
  background: #fff;
  padding: 30px 40px 0;
  margin-top: 40px;
  text-align: center;
}
.service-chart-flex {
  display: flex;
  justify-content: space-between;
  column-gap: 60px;
}
.service-chart-wrap-flex {
  width: 50%;
}
/*画像横スクロール*/
.scrollimg-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.scrollimg-container img {
  display: block;
  min-width: 800px;
  max-width: none;
  height: auto;
}
@media screen and (min-width: 769px) {
  .service-detail-cta-btn {
    background: #f5f7f7;
    margin-top: 0;
    padding-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .measures {
    margin-bottom: 30px;
  }
  .service-detail .inner {
    padding-bottom: 30px;
  }
  .service-detail-first {
    padding-top: 40px;
  }
  .service-detail figure {
    flex-direction: column;
  }
  .service-detail figure img {
    width: 100%;
  }
  .service-detail-img {
    padding: 14px;
  }
  .service-detail-text {
    margin-top: 40px;
  }
  .tool-img {
    width: 100% !important;
    padding: 0 !important;
  }
  .user-wrap {
    flex-direction: column;
    row-gap: 20px;
  }
  .user-content {
    padding: 30px 30px;
  }
  .service-detail-column figure img {
    padding: 0;
  }
  .service-chart-wrap {
    background: #fff;
    padding: 20px;
    margin-top: 20px;
  }
  .service-chart-flex {
    flex-direction: column;
  }
  .service-chart-wrap-flex {
    width: 100%;
  }
  .service-chart-wrap h3 {
    margin-bottom: 20px;
  }
  .service-detail-last {
    padding-bottom: 40px;
  }
  .img-table th,
  .img-table td {
    display: block;
  }
  .img-table th,
  .img-table td {
    border-bottom: none;
    padding: 20px;
  }
  .img-table th {
    padding-bottom: 0;
  }
  .img-table tbody {
    border-bottom: 2px solid var(--subtitle-orange);
  }
}
/****************************
  company
******************************/
.company-bg {
  background: #fff;
}
.h_company {
  background: url(../common/images/company.jpg) no-repeat center bottom;
  background-size: cover;
  height: 200px;
  width: 90%;
}
.company-table-content {
  background: #f5f7f7;
  padding-top: 70px;
}
.company-table th,
.company-table td {
  text-align: left;
  border-bottom: 2px solid #a5a5a5;
  padding: 40px 30px;
}
.company-table th {
  border-color: var(--subtitle-orange);
  width: 30%;
}
.company-table tr:first-child th,
.company-table tr:first-child td {
  border-top: 2px solid #a5a5a5;
}
.company-table tr:first-child th {
  border-color: var(--subtitle-orange);
  width: 30%;
}
.company figure {
  display: flex;
  flex-direction: column;
}
.company figure img {
  margin-top: 20px;
  width: 100px;
}
.company-link-wrap {
  background: #f5f7f7;
  padding-bottom: 70px;
  justify-content: center;
  column-gap: 60px;
}
@media screen and (max-width: 768px) {
  .company {
    padding-top: 30px;
  }
  .h_company {
    background: url(../common/images/company_sp.jpg) no-repeat left bottom;
  }
  .company-table-content {
    padding-top: 30px;
  }
  .company-table {
    border-top: 2px solid var(--subtitle-orange);
  }
  .company-table th,
  .company-table td {
    display: block;
    width: 100%;
  }
  .company-table th {
    border-bottom: none;
    padding: 20px 15px 10px;
  }
  .company-table td {
    padding: 10px 15px 20px;
    border-bottom: 2px solid var(--subtitle-orange);
  }
  .company-table tr:first-child th,
  .company-table tr:first-child td {
    border-top: none;
  }
  .company-table p {
    margin-bottom: 10px !important;
  }
  .company figure img {
    margin-top: 10px;
  }
  .company-link-wrap {
    margin-top: 0 !important;
    padding: 40px 5%;
  }
}
/****************************
  privacy / terms / sitemap
******************************/
.policy {
  padding-top: 60px;
}
.policy-list {
  margin-top: 60px;
}
.google-link {
  color: #2a5a9b;
  border-bottom: 1px solid #2a5a9b;
}
.terms-title {
  font-size: var(--font_23);
}
.legal-list {
  list-style-type: disc;
  padding-left: 20px;
}
.legal-list li {
  list-style-type: disc;
}
.legal-list-margin {
  margin-bottom: 2em;
}
.change-history p {
  font-weight: bold;
}
/*sitemap*/
.sitemap {
  padding-bottom: 100px;
}
.sitemap-list {
  display: flex;
  align-items: flex-start;
  column-gap: 100px;
  margin-top: 100px;
}
.sitemap-table {
  width: 50%;
}
.sitemap-table tr {
  border-top: 2px solid var(--subtitle-orange);
}
.sitemap-table th,
.sitemap-table td {
  display: block;
  width: 100%;
  text-align: left;
}
.sitemap-table tr {
  border-bottom: 2px solid var(--subtitle-orange);
}

.sitemap-table th {
  padding: 40px 20px;
  font-size: var(--font_18);
}
.sitemap-table td {
  padding: 0 20px 5px;
}
.sitemap-th {
  padding-bottom: 10px !important;
}
.sitemap-td {
  padding-bottom: 40px !important;
}
@media screen and (max-width: 768px) {
  .policy {
    padding-top: 30px;
  }
  .policy-list {
    margin-top: 40px;
  }
  .sitemap {
    padding-bottom: 60px;
  }
  .sitemap-list {
    flex-direction: column;
    margin-top: 60px;
  }
  .sitemap-table {
    width: 100%;
  }
  .sitemap-tr {
    border-top: none !important;
  }
  .sitemap-column-tr {
    border-bottom: none !important;
  }
  .privacy {
    width: auto;
    padding: 20px;
  }
  .privacy h2 {
    margin: 20px 0 0;
  }
}
/****************************
archivement
******************************/
.achevement {
  margin: 40px 0;
  width: 100%;
}
.acheve a {
  text-decoration: underline;
  font-weight: bold;
  color: #069;
}
.achevement > .acheve:nth-child(2n) {
  background: #f7f7f7;
}
.achevement h2 {
  text-align: center;
  font-size: 24px;
  margin: 0 0 60px;
  font-weight: normal;
}
.acheve {
  margin: 0;
  padding: 40px 0;
}
.acheve h3 {
  text-align: left;
  font-size: 21px;
  font-weight: bold;
  margin: -120px 0 30px;
  padding-top: 120px;
}
.a_img {
  width: 395px;
  float: left;
}
.a_support {
  float: right;
  width: 490px;
  border: 1px solid #c9c9c9;
}
.a_support h4 {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background: #eeece3;
  border-bottom: 1px solid #c9c9c9;
  padding: 5px;
}
.a_support ul {
  padding: 15px 20px;
  background-color: #fff;
}
.a_support ul li {
  color: #3a3a3a;
  font-size: 108%;
  padding-left: 1em;
  text-indent: -1em;
}

#a_eltes {
  margin-top: -150px;
  padding-top: 150px;
}
@media screen and (max-width: 768px) {
  .achevement {
    margin: 0;
  }
  .achevement h2 {
    font-size: 20px;
    margin: 0 0 40px;
  }
  .acheve {
    padding: 20px 0;
  }
  .acheve h3 {
    font-size: 18px;
    margin: 0 0 20px;
    padding: 0;
  }
  .a_img {
    width: auto;
    float: none;
    margin: 0 0 10px;
  }
  .a_support {
    float: none;
    width: auto;
  }
  .a_support h4 {
    font-size: 18px;
  }
  .achevement > .acheve:nth-child(9) .imgr img {
    width: auto;
    max-height: 60px;
  }
}
/****************************
  price
******************************/
.price h2 {
  margin: 20px auto 40px;
  color: #1c1c1c;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
/****************************
case
******************************/
.case-bg {
  background: #fff;
}
.h_case {
  background: url(../common/images/case.jpg) no-repeat center top;
  background-size: cover;
  height: 200px;
}
.case-index {
  background: #f5f7f7;
  padding: 60px 0 40px;
}
.case-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 14px;
}
.case-item {
  background: #fff;
  border: 1px solid var(--gold);
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  font-weight: bold;
  text-align: center;
  position: relative;
}
.case-item a {
  display: block;
  padding: 60px 24px 24px;
}
.case-item img {
  width: 30px;
  margin-top: 10px;
}
.case-number {
  position: absolute;
  top: -10px;
  left: -10px;
  background: #ad8c48;
  border-radius: 2px;
  font-size: var(--font_14);
  color: #fff;
  padding: 10px;
  line-height: 1.2;
  text-align: center;
  font-family: "Roboto", sans-serif;
}
.case-number span {
  display: block;
  font-size: var(--font_21);
}
.case-text-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/*---スクロールcase menu---*/
.fixed p {
  display: none;
}
#scroll.case-scroll.fixed {
  background: rgba(136, 106, 22, 0.9);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
.fixed .case-number {
  display: none;
}
.fixed .case-item {
  background: none;
  border: none;
  box-shadow: none;
  padding: 10px 20px;
  border-radius: none;
  border-right: 1px solid #fff;
  border-radius: 0;
}
.fixed .case-item a {
  padding: 0;
}
.fixed .case-list {
  margin-bottom: 0;
}
.fixed .case-item img {
  display: none;
}
.fixed .text-orange,
.fixed .case-text-wrap {
  color: #fff;
  font-weight: normal;
}
.fixed .case-item:nth-child(4n) {
  border-right: none;
}
/*-----case 各content-----*/
#case {
  background: #fff;
}
#case2,
#case4 {
  background: #f3eee4;
}
.case {
  border-top: 5px solid #ded1b6;
  padding-bottom: 60px;
}
.case-title-wrap {
  display: flex;
  align-items: center;
  column-gap: 30px;
  margin-top: 50px;
  margin-bottom: 30px;
}
.case-title-number {
  background: #ad8c48;
  font-size: var(--font_15);
  color: #fff;
  padding: 20px 30px;
  line-height: 1.2;
  text-align: center;
  font-family: "Roboto", sans-serif;
}
.case-title-number span {
  display: block;
  font-size: var(--font_40);
}
.case-title-content p {
  font-size: var(--font_25);
  margin-bottom: 0 !important;
  border-bottom: 3px solid #ebe1bc;
  display: inline;
  padding-bottom: 5px;
  font-weight: bold;
}
.case-title {
  font-size: var(--font_31);
  margin-top: 5px;
}
.bracket {
  font-size: var(--font_45);
  color: #d1bf99;
}
#case dl {
  display: flex;
  align-items: center;
  column-gap: 20px;
}
#case dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 20px;
  color: var(--dark-brown);
  font-size: var(--font_19);
  font-weight: bold;
}
.flow-tag dl dt {
  color: #333 !important;
}
.case-detail-list {
  list-style-type: disc;
  margin-left: 20px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.case-detail-list li {
  list-style: disc;
}
/*---------flow----------*/
.flow {
  display: flex;
  align-items: center;
  gap: 60px;
  background: #f5f7f7;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
  margin-bottom: 70px;
  padding: 20px 30px 30px 60px;
}
#case2 .flow,
#case4 .flow {
  background: #faf8f4;
}
.flow-first {
  margin-top: 30px;
}
.flow-last {
  margin-bottom: 40px;
}
.flow-number {
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  color: #ad8c48;
  font-size: var(--font_21);
  line-height: 1 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 0 !important;
}
.flow-number span {
  font-size: var(--font_60);
}
.flow-sp-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 10px;
  margin: 0 !important;
  text-align: left;
}
.flow-number {
  margin: 0 !important;
}
.flow_sp-only {
  font-size: var(--font_21);
  color: var(--dark-brown);
  font-weight: bold;
  margin: 0 !important;
}
.flow-main {
  border-left: 1px solid #8b6611;
  padding-left: 30px;
}
.flow h3 {
  font-size: var(--font_23);
  color: var(--dark-brown);
}
.flow-text {
  margin-bottom: 10px !important;
}
.point-list {
  color: var(--light-orange);
  list-style-type: disc;
  margin-left: 20px;
  margin-bottom: 10px;
}
.point-list li {
  list-style-type: disc;
  padding-bottom: 5px;
}
.point-list li a {
  color: var(--light-orange);
  border-bottom: 1px solid var(--light-orange);
}
.flow-tag {
  display: flex;
  column-gap: 30px;
}
.flow-tag dl {
  background: #fff;
  column-gap: 0 !important;
  min-width: 300px;
}
.flow-tag dl dt {
  font-size: var(--font_14) !important;
  background: #ebe1bc;
  border-radius: 2px;
  padding: 7px 10px;
  margin: 5px;
  white-space: nowrap;
  min-width: 112px;
}
.flow-tag dl dd {
  font-size: var(--font_15);
  padding: 0 20px 0 10px;
  line-height: 1.3;
}
.case-btn {
  display: flex;
  justify-content: center;
}
.case-btn .more-btn {
  width: 280px;
  justify-content: flex-start;
  padding-left: 30px;
}
.case-link-wrap {
  background: #fff;
  padding-bottom: 70px;
  border-top: 5px solid #ded1b6;
  justify-content: center;
  column-gap: 120px;
  padding: 5%;
}
.case-flow-link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 20px;
  row-gap: 20px;
  margin-top: 30px;
}
.case-flow-link .more-btn {
  width: 280px;
  padding-right: 40px;
}
/*------矢印-----*/
.flow {
  position: relative;
}
.flow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -45px;
  transform: translateX(-50%);
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #ad8c48;
  width: 0;
  height: 0;
}
.flow-last::after {
  display: none;
}
@media screen and (max-width: 1145px) {
  .case-item a {
    padding: 60px 10px 20px;
  }
  .flow-tag {
    flex-wrap: wrap;
    row-gap: 10px;
  }
}
@media screen and (max-width: 768px) {
  .fixed .case-item {
    padding: 10px 0;
  }
  .case {
    padding-bottom: 30px;
  }
  .main-case {
    padding-top: 20px;
  }
  .case-index {
    padding: 30px 0 20px;
  }
  .case-list {
    grid-template-columns: repeat(1, 1fr);
  }
  .case-item a {
    display: grid;
    grid-template-columns: 15% auto;
    column-gap: 10px;
    padding: 10px;
  }
  .case-number {
    position: static;
  }
  .case-text-wrap {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
  .case-item img {
    margin-top: 0;
  }
  .case-title-wrap {
    flex-direction: column;
    margin: 20px 0 10px;
  }
  .case-title-number {
    padding: 7px 14px;
  }
  .case-title-content {
    margin-top: 10px;
  }
  #case dl {
    flex-direction: column;
  }
  .flow {
    flex-direction: column;
    padding: 20px;
    row-gap: 5px;
  }
  .flow-main {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid #8b6611;
  }
  .flow-number {
    flex-direction: row;
    column-gap: 5px;
    letter-spacing: 1px !important;
  }
  .flow-number span {
    font-size: var(--font_31);
  }
  .flow-sp-wrap {
    width: 100%;
  }
  .flow h3 {
    margin-top: 10px;
  }
  .flow-tag {
    flex-direction: column;
  }
  .flow-tag dl {
    flex-direction: row !important;
  }
  .flow-tag dl dt {
    min-width: 90px;
  }
  .flow-last {
    margin-bottom: 20px;
  }
  .case-link-wrap {
    margin-top: 0;
    padding: 30px 5%;
  }
  @media screen and (max-width: 360px) {
    .case-link-wrap .more-btn {
      width: 100%;
    }
  }
}
/****************************
  contact
******************************/
.contact {
  margin-top: 60px;
  padding-bottom: 60px;
}
.contact .textc {
  margin-bottom: 10px !important;
}
.caution {
  font-weight: bold;
}
dl.cform {
  margin: 0 40px;
}
dl.cform dt {
  float: left;
  clear: both;
  width: 40%;
  height: 30px;
  margin: 0 0 20px;
  position: relative;
  padding: 10px 0;
}
dl.cform dt::after {
  content: "（必須）";
  position: absolute;
  right: 5px;
  color: #b21919;
  top: 15px;
}
dl.cform dt:nth-child(13)::after {
  display: none;
}
dl.cform dt .form_caution_red {
  float: right;
  display: block;
  color: #b21919;
}
dl.cform dd {
  margin: 0 0 20px 40%;
  min-height: 50px;
}
.wpcf7-form dl dd select,
.wpcf7-form dl dd textarea,
.wpcf7-form dl dd input {
  padding: 15px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  border: solid 1px #c6dade;
  width: 80%;
}
.tel-01 input,
.tel-02 input,
.tel-03 input {
  width: 4em !important;
  margin: 0 10px;
}
.tel-01 input {
  margin: 0 10px 0 0;
}
#contact p {
  text-align: center;
}
.wpcf7c-elm-step2 {
  border: #b21919 2px solid;
  color: #b21919;
  font-weight: bold;
  margin: 0 auto;
  padding: 20px 0;
  text-align: center;
  width: 367px;
  background: #fff;
  display: block;
  font-size: 16px;
  letter-spacing: 1px;
}
.wpcf7c-btn-confirm,
.wpcf7c-btn-back {
  border: 2px solid #000;
  color: #1c1c1c;
  font-weight: bold;
  margin: 0 auto;
  padding: 20px 0;
  text-align: center;
  width: 367px;
  background: #fff;
  display: block;
  font-size: 16px;
  letter-spacing: 1px;
}
.wpcf7-confirm:hover,
.wpcf7c-btn-back:hover {
  background: #484848;
  color: #fff;
  transition: ease-in-out 0.3s;
}
.wpcf7c-elm-step2:hover {
  background: #b21919;
  color: #fff;
}
.wpcf7c-conf {
  background: none !important;
  border: none !important;
}
.wpcf7c-btn-back:hover {
  background: #484848;
  color: #fff;
}
span.wpcf7-not-valid-tip {
  color: #b21919 !important;
}
span.wpcf7-form-control-wrap.tel-01 > span,
span.wpcf7-form-control-wrap.tel-02 > span {
  display: none;
}
/*送信完了画面*/
.contact-completion {
  padding-bottom: 30px !important;
}
@media screen and (max-width: 768px) {
  #contact {
    padding: 20px 0 0;
    width: auto;
  }
  .contact {
    margin-top: 30px;
  }
  .contact .description {
    margin-top: 40px;
  }
  dl.cform {
    margin: 0 20px;
  }
  dl.cform dt {
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 10px 0;
  }
  dl.cform dt::after {
    position: static;
  }
  dl.cform dd {
    margin: 0 0 10px;
  }
  .wpcf7-form dl dd textarea,
  .wpcf7-form dl dd input {
    width: 80%;
  }
  .wpcf7-form dl dd select {
    width: 100%;
  }
  .tel-01 input,
  .tel-02 input,
  .tel-03 input {
    width: 3em !important;
  }
  .tel-01 input {
    margin: 0 10px 0 0;
  }
  #contact p {
    text-align: center;
  }
  .wpcf7c-elm-step2 {
    width: 80%;
    margin: 20px auto;
  }
  .wpcf7c-btn-confirm,
  .wpcf7c-btn-back {
    width: 80%;
    margin: 20px auto;
  }
  .wpcf7c-conf {
    background: none !important;
    border: none !important;
  }
  .wpcf7-select option {
    font-size: 12px;
  }
}
/****************************
  ブログ（共通）
******************************/
.blog_pheader-title {
  width: 40%;
  max-width: 420px;
}
.blog_pheader-title-sp {
  display: none;
}
.h_blog {
  padding: 0 10% !important;
  height: 320px;
  display: flex;
  align-items: center;
}
.h_blog p {
  margin-bottom: 0 !important;
  line-height: 1.5 !important;
}
.blog-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 50%;
}
.h_blog .blog-en-title-wrap {
  display: inline-block;
}
.h_blog .blog-en-title {
  line-height: 1.1 !important;
  margin-bottom: 10px !important;
}
.h_blog .blog-sub-title {
  text-align: center;
}
#blog {
  padding: 60px 0;
}
.blog-article a {
  color: #2a5a9b;
}
.single-content {
  background: #fff;
  padding: 30px 40px;
}
#main #blogmain h1 {
  font-weight: bold;
  color: #333;
  width: 100%;
  background: none;
  text-align: left;
  margin: 0 0 30px;
  height: auto;
  font-size: var(--font_25);
}
.blogMainSentence h2 {
  background: #f8f5e9;
  padding: 7px 0 7px 10px;
  margin: 20px 0 10px;
  font-size: var(--font_23);
  border-left: 5px solid var(--subtitle-orange);
}
.blogMainSentence h3 {
  font-size: var(--font_23);
  color: var(--subtitle-orange);
  font-weight: bold;
  margin: 15px 0;
}
.blogMainSentence h4 {
  font-size: var(--font_19);
  font-weight: bold;
  margin: 15px 0;
  display: inline-block;
  border-bottom: 1px solid var(--subtitle-orange);
}
#main .blogMainSentence p {
  font-size: 16px;
}
#main .blogMainSentence img {
  width: 80%;
  height: auto;
  margin: 0 auto;
}
.second-blog-title {
  margin-top: 30px;
}
img.aligncenter {
  margin: 0 auto;
  display: block;
}
h2.widget_title {
  width: 250px;
  height: 96px;
  background: url(../images/blog/mailMagazineBtn.png);
  text-indent: -9999px;
  overflow: hidden;
  margin-bottom: 15px;
  margin-top: 0 !important;
}
#s2email,
.wysija-input {
  padding: 5px 0;
  width: 100%;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  border: solid 1px #cccccc;
  margin-bottom: 10px;
}
#main p.wysija-paragraph {
  margin: 0 !important;
}
.widget_wysija_cont .wysija-submit {
  margin: 0 0 20px !important;
}
/*----サイドバー-----*/
#blogSidebar h2 {
  font-weight: bold;
  font-size: var(--font_25);
  color: #ad8c48;
  font-family: "Roboto", sans-serif;
  text-align: center;
  border-bottom: 1px solid #ad8c48;
  line-height: 2.5;
  margin-bottom: 10px;
}
.sidebarCategoryList {
  margin-bottom: 30px;
}
.sidebarCategoryList li {
  margin: 10px 0 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #ad8c48;
}
.sidebarCategoryList li a {
  color: #1c1c1c;
  text-decoration: none;
}
/*----前後の記事リンク-----*/
.content-footer .inner {
  flex-direction: column;
  margin-top: 10px;
  font-weight: bold;
  width: 100%;
}
.content-footer .inner a {
  color: var(--orange);
}
.content-nav {
  display: flex;
  justify-content: space-between;
}
.back-list-wrap {
  margin: 0 auto;
  margin-top: 10px;
}
/****************************
  Blog（記事一覧）
******************************/
.blog-bg {
  background: #f5f7f7;
  margin-top: 10px;
}
.blog-archive {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 50px;
}
.blog-item {
  background: #fff;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  overflow: hidden;
}
.blog-item-text {
  padding: 10px 20px 20px;
}
.article-inner {
  max-width: 1200px;
}
.blog-item h2 {
  margin-top: 0;
  display: flex;
  padding-bottom: 5px;
  font-size: var(--font_18);
}
.blog-item img {
  max-width: 100%;
  height: auto;
  border-bottom: 5px solid var(--subtitle-orange);
}
.blog-item p {
  flex-grow: 1;
}
.blog-item img {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.blog-item-text p {
  margin-bottom: 10px !important;
  font-size: var(--font_14);
}
.blog-item-image-wrapper {
  position: relative;
}
.blog-item-image-wrapper img,
.blog-item-image-wrapper .wp-post-image {
  display: block;
  width: 100%;
  height: auto;
}
/*hoverすると続きを読む表示*/
.blog-hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.blog-item:hover .blog-hover-overlay {
  opacity: 1;
}
/*ブログ一覧カテゴリー一覧*/
.topCategoryList {
  display: flex;
  column-gap: 20px;
  margin-bottom: 50px;
  font-size: var(--font_14);
  font-weight: bold;
}
.topCategoryList li a {
  border: 1px solid #2a2a2a;
  border-radius: 50vw;
  padding: 5px 20px;
}
.topCategoryList li a:hover {
  background-color: #2a2a2a;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}
.current a {
  background-color: #2a2a2a;
  color: #fff;
}
.topCategoryList li.current a {
  background-color: #2a2a2a;
  color: #fff;
}
/*カテゴリ一覧スマホプルダウン切替*/
.category-list-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .blog_pheader-title {
    width: 100%;
    margin: 0 auto;
  }
  .blog_pheader-title-sp {
    display: block;
    height: 230px;
    padding-bottom: 20px;
  }
  .blog_pheader-title-pc {
    display: none;
  }
  .h_blog {
    background-position: center bottom;
  }
  .category-list-sp {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    border-radius: 50px;
    border: 1px solid #ccc;
    padding: 10px;
    color: #2f2f2f;
  }
  .topCategorySelect:focus {
    outline: none;
    border: 1px solid #ccc;
  }
  .category-list-pc {
    display: none;
  }
  /* デフォルトの矢印をカスタム */
  .topCategorySelect {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    width: 100%;
    padding: 10px 40px 10px 16px;
    font-size: 16px;
    border-radius: 24px;
    border: 1px solid #ccc;
    background-color: #f9f9f9;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23333' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 12px 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    cursor: pointer;
  }
}
/****************************
  Blog（個別記事）
******************************/
.blog-main {
  background: #fcfcfc !important;
}
.blog-single .inner {
  display: flex;
  column-gap: 60px;
  max-width: 1200px;
}
.blog-single .blog-archive-wrap {
  width: 80%;
}
.blog-single #blogSidebar {
  width: 20%;
}
.recommended-articles {
  padding-top: 20px;
}
.recommended-list {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.recommended-title {
  font-size: var(--font_15);
  color: #2f2f2f;
}
div#ez-toc-container {
  width: 100% !important;
}
@media screen and (max-width: 1100px) {
  #blog .inner {
    flex-direction: column;
  }
  .blog-single .blog-archive-wrap {
    width: 100%;
    padding: 0;
    background: none;
  }
  .blog-single #blogSidebar {
    width: 100%;
    margin-top: 20px;
  }
  #main .blogMainSentence img {
    width: 100%;
  }
  .recommended-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
  }
  .recommended-articles {
    padding-top: 0;
  }
}
@media screen and (max-width: 768px) {
  #blog {
    padding: 60px 0 30px;
  }
  .blog-bg {
    padding-top: 30px !important;
    margin-top: 10px;
  }
  .blog-article {
    padding: 20px 0 !important;
  }
  .h_blog {
    background: url(../common/images/blog-bg_sp.jpg) no-repeat center bottom;
    background-size: cover;
    height: 230px !important;
    align-items: center;
  }
  .blog-inner {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-top: 30px;
  }
  .blog-archive {
    grid-template-columns: repeat(1, 1fr);
  }
  #main #blogmain h1 {
    margin: 0 0 10px;
  }
  .second-blog-title {
    margin-top: 20px;
  }
  .back-list-wrap {
    padding: 10px 0;
    width: 280px;
  }
  .single-content {
    background: #ffff;
    padding: 20px 10px;
  }
}
@media screen and (max-width: 520px) {
  .recommended-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
/****************************
支援実績
******************************/
.achievement-bg {
  background: #fff;
}
.h_achievement {
  background: url(../common/images/achievement.jpg) no-repeat center top;
  background-size: cover;
  height: 200px;
}
.archive-achievements {
  background: #f5f7f7;
  padding-top: 60px;
}
.achievements-list {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.achievement-item {
  background: #fff;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  padding: 30px 40px;
}
.achievement-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  column-gap: 60px;
  color: inherit; /* a の文字色を継承 */
}
.achievement-thumbnail img {
  width: 100%;
  object-fit: cover;
}
.achievement-detail {
  width: 50%;
}
.achievement-thumbnail-wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  column-gap: 30px;
}
.achievement-detail-top {
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.achievement-title-wrap {
  display: flex;
  flex-direction: column;
}
.achievement-title {
  position: relative;
  display: inline-block;
  font-size: var(--font_21);
}
.achievement-title a {
  position: relative;
  text-decoration: none;
  display: inline-block;
}
.achievement-title a::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--dark-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.achievement-title a:hover::after {
  transform: scaleX(1);
}
.achievement-logo img {
  width: 100%;
  height: auto;
  max-width: 160px;
  min-height: 70px;
  max-height: 100%;
  object-fit: contain;
}
.achievement-detail-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 10px;
}
.achievement-category {
  display: flex;
  column-gap: 20px;
  row-gap: 10px;
  margin-top: 10px;
}
.achievement-category .cat-btob {
  background: var(--dark-orange);
  padding: 3px 10px 2px;
  color: #fff;
  font-size: var(--font_15);
  font-weight: bold;
}
.achievement-category .cat-btoc {
  background: var(--gold);
  padding: 3px 10px 2px;
  color: #fff;
  font-size: var(--font_15);
  font-weight: bold;
}
.achievement-content {
  margin-bottom: 15px !important;
}
.support-title {
  border-bottom: 1px solid #5c5c5c;
  color: var(--dark-orange);
  font-size: var(--font_15);
  margin-bottom: 5px;
}
.support-tag {
  margin-top: 8px;
}
.achievement-support span {
  color: var(--dark-orange);
  display: block;
  position: relative;
  padding-left: 1.2em;
  padding-bottom: 3px;
  line-height: 1.5;
}
.achievement-support span::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--dark-orange);
  font-size: 0.7em;
  line-height: 1.6;
}
@media screen and (max-width: 960px) {
  .achievement-item {
    padding: 24px 20px 30px;
  }
  .achievement-inner {
    display: flex;
    flex-direction: column;
  }
  .achievement-detail {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .main-achievement {
    padding-top: 10px;
  }
  .achievements-list {
    grid-template-columns: repeat(1, 1fr);
  }
  .achievement-detail-top {
    align-items: flex-start;
    flex-direction: column-reverse;
  }
  .archive-achievements {
    padding-top: 24px;
  }
}
/****************************
download
******************************/
.download-bg {
  background: #fff !important;
}
.download {
  width: 100%;
  margin: 60px 0 0;
  padding-bottom: 20px;
}
.download-policy a {
  color: #2a5a9b;
  border-bottom: 1px solid #2a5a9b;
}
.main-download .textc {
  padding-top: 60px;
}
.dl_contents {
  margin-top: 60px;
}
.dl_l {
  float: left;
  width: 50%;
  padding: 0 5% 0 0;
  border-right: 1px solid #a5a5a5;
}
#main .dl_l h1 {
  background: none;
  font-size: 20px;
  font-weight: bold;
  width: auto;
  height: auto;
  margin: 10px 0;
  padding: 0;
}
.dl_l img {
  width: 100%;
  height: 340px;
  object-fit: contain;
  border: 1px solid #eee;
}
.dl_r {
  float: right;
  width: 45%;
}
.dl_category {
  background: #f5f7f7;
  padding: 40px 0;
}
.dl_category ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 60px;
}
.dl_category ul li {
  width: calc(100% / 3);
  float: left;
  background: #fff;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.1);
}
.dl_category ul li:nth-child(2n) {
  margin: 0 0 20px 0;
}
.dl_category ul li h2 {
  font-size: 20px;
  text-align: center;
  margin: 10px 0;
}
.dl_category ul li a {
  color: #fff;
  height: 60px;
  position: relative;
}
.dl_list {
  margin-top: 60px;
  padding-bottom: 120px;
  background: #f5f7f7;
}
.dl_list h2 {
  text-align: center;
  font-size: var(--font_25);
  margin: 0 0 40px;
  padding: 60px 0 0;
}
.dl_list ul {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 100px;
  width: 90%;
  margin: 0 auto;
}
.dl_list ul li {
  background: #fff;
  box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
.dl_list ul li h3 {
  text-align: center;
  font-size: var(--font_18);
  margin-top: 10px;
}
.dl_list ul li a {
  text-align: center;
  display: flex;
  width: 80%;
  height: 60px;
  font-weight: bold;
  padding: 10px 0;
  position: relative;
}
.dl_list ul li img {
  width: auto;
  object-fit: cover;
}
.dl-icon {
  width: 36px !important;
  height: 36px !important;
}
.dl_link {
  padding: 10px 20px 40px;
}
@media screen and (max-width: 768px) {
  .main-download {
    padding-top: 30px;
  }
  .download {
    width: 100%;
    margin: 40px 0 0;
  }
  .main-download .textc {
    padding-top: 40px;
  }
  .dl_contents {
    margin-top: 40px;
  }
  .dl_l {
    float: none;
    width: auto;
    margin: 0 0 40px;
    border-right: none;
  }
  .dl_r {
    float: none;
    width: auto;
  }
  .dl_category ul li {
    width: auto;
    float: none;
    margin: 0 0 20px;
  }
  .dl_list h2 {
    margin: 0 0 30px;
    padding: 30px 0 0;
  }
  .dl_list {
    padding: 0 20px 40px;
    margin-top: 30px;
  }
  .dl_list ul {
    flex-direction: column;
    row-gap: 20px;
    width: 100%;
  }
  .dl_list ul li {
    width: 100%;
  }
  .dl_l img {
    height: auto;
  }
  .dl_category ul {
    justify-content: center;
  }
  .dl_category ul li img {
    height: auto;
  }
  .dl_list .f_cta {
    margin: 0 0 2em !important;
  }
}
/****************************
404 Not found
******************************/
.notfound {
  padding: 60px 0;
}
.notfound a {
  color: #2a5a9b;
  border-bottom: 1px solid #2a5a9b;
}
.notfound-text {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .notfound {
    padding: 30px 0;
  }
  .notfound-text {
    margin-top: 40px;
  }
}
/****************************
  pricing
******************************/
.pricing .planBox {
  overflow: hidden;
  width: 100%;
  margin-bottom: 40px;
}
.pricing .planBox .leftBox,
.pricing .planBox .rightBox {
  width: 47%;
  min-height: 550px;
}
.pricing .planBox .leftBox {
  float: left;
  border: solid 1px #e28c24;
}
.pricing .planBox .rightBox {
  float: right;
  border: solid 1px #cbc289;
}
.pricing .planBox .ttl {
  margin: 0 !important;
  padding: 15px;
  text-align: center !important;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}
.pricing .planBox .leftBox .ttl {
  background-color: #e28c24;
}
.pricing .planBox .rightBox .ttl {
  background-color: #cbc289;
}
.pricing .planBox .txt {
  margin: 0 !important;
  padding: 20px;
  text-align: center !important;
  font-size: 18px;
}
.pricing .planBox ul {
  margin: 0 15px 15px;
  padding: 0 0 15px;
  font-size: 15px;
  border-bottom: dotted 1px #ccc;
}
.pricing .planBox dl {
  padding: 0 15px;
  font-size: 14px;
}
.pricing .planBox dt {
  font-weight: bold;
}
.pricing .planBox dd {
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .pricing .planBox {
    margin-bottom: 20px;
  }
  .pricing .planBox .leftBox,
  .pricing .planBox .rightBox {
    width: auto;
    min-height: auto;
    padding-bottom: 20px;
  }
  .pricing .planBox .leftBox {
    float: none;
    margin-bottom: 20px;
  }
  .pricing .planBox .rightBox {
    float: none;
  }
  .pricing .planBox .ttl {
    padding: 10px;
    font-size: 20px;
  }
  .pricing .planBox .txt {
    padding: 15px 20px;
    font-size: 15px;
  }
  .pricing .planBox .txt br {
    display: none;
  }
  .pricing .planBox ul {
    margin: 0 10px 10px;
    padding: 0 0 10px;
    font-size: 13px;
  }
  .pricing .planBox dl {
    padding: 0 10px;
    font-size: 13px;
  }
  .pricing .planBox dd {
    font-size: 12px;
  }
}
