@charset "utf-8";

/***** Googlefonts *****/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap');

/***** 共通 *****/
body,
.elementor-widget-text-editor,
.elementor-heading-title {
  font-family: 'Lato', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
  /*  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;*/
  font-size: 18px;
  color: #1a1a1a !important;
  margin: 0;
  letter-spacing: 2px;
  font-weight: 500;
}

.elementor-widget-text-editor,
.elementor-heading-title {
  line-height: 2 !important;
}

.elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding: 0 !important;
}

.elementor-heading-title,
#big-text-content,
#big-text-content-sp,
p,
span {
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

a {
  text-decoration: none;
  color: #1a1a1a;
}

img {
  width: 100%;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix:before {
  content: "";
  display: block;
  clear: both;
}

.clearfix {
  display: block;
}

.bg_gray {
  background: #f0f0f0;
}

.inner {
  max-width: 100%;
  /*  max-width: 1080px;*/
  margin: auto;
}

.home .inner {
  max-width: 1080px;
}

input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}




/***** ヘッダー *****/
#header {
  top: 0;
  position: fixed;
  width: 100%;
  z-index: 999;
  background: rgba(255, 255, 255, .95);
}

#header .head-inner {
  display: flex;
  height: 73px;
}

#header .logo {
  background: #fff;
  width: 15%;
  padding: 20px 20px 18px;
}

#header .logo img {
  max-width: 215px;
}

#header .head-nav {
  background: -webkit-linear-gradient(310deg, #faee00, #49b993, #2ea7e0, #601986, #e4007f);
  width: 85%;
  display: flex;
  justify-content: flex-end;
  padding: 20px;
}

#header .head-nav ul {
  display: flex;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  flex-shrink: 0;
  flex-basis: auto;
  margin-right: 25px;
  width: 100%;
  align-items: center;
  box-sizing: border-box;
}

#header .head-nav li {
  padding: 0 2.5%;
  box-sizing: border-box;
  display: block;
}

#header.slim.active .head-nav li {
  margin-right: auto;
}

#header .head-nav a {
  color: #fff;
  font-weight: bold;
  position: relative;
  display: inline-block;
}

#header .head-nav a::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: .3s;
}

#header .head-nav a:hover::after {
  width: 100%;
}

/*ハンバーガー*/
#humberger {
  position: relative;
  height: 20px;
  width: 28px;
  display: inline-block;
  box-sizing: border-box;
}

#humberger span {
  position: absolute;
  left: 0;
  height: 2px;
  width: 28px;
  background-color: #fff;
  border-radius: 2px;
  display: inline-block;
  box-sizing: border-box;
}

#humberger span:nth-of-type(1) {
  bottom: 20px;
}

#humberger span:nth-of-type(2) {
  bottom: 10px;
}

#humberger span:nth-of-type(3) {
  bottom: 0;
}

@media(max-width:1200px) {

  #humberger {
    top: 10px !important;
    right: 10px !important;
  }

}

@media only screen and (max-width: 480px) {
  #header .logo {
    width: 90%;
  }

  #header .logo img {
    width: 64%;
  }

  #header .head-nav {
    width: 30px;
  }

  #header .head-nav ul {
    display: none;
  }

  #humberger {
    top: 2px !important;
    right: 0 !important;
  }

  #header .head-nav ul {
    margin-right: 0;
  }

  #header .head-inner {
    height: 60px;
  }
}

/***** フッター *****/
#footer {
  background: -webkit-linear-gradient(310deg, #faee00, #49b993, #2ea7e0, #601986, #e4007f);
  height: 2px;
  width: 100%;
}

#footer .inner {
  width: 80%;
  display: flex;
  justify-content: space-between;
  padding: 5% 0 2%;
  ;
  max-width: 1400px;
}

#footer .logo-foot {
  width: 158px;
  margin-bottom: 30px;
  transition: 0.3s;
}

#footer .logo-foot:hover {
  opacity: 0.8;
}

#footer .access_tel-foot {
  font-size: 16px;
  line-height: 1.5;
}

#footer .access_tel-foot .tel {
  display: flex;
  margin-top: 15px;
}

#footer .access_tel-foot .tel a {
  transition: 0.3s;
  font-weight: 600;
}

#footer .access_tel-foot .tel a:hover {
  opacity: 0.8;
}

#footer .access_tel-foot .tel li {
  margin-right: 10px;
  font-weight: 600;
}

#footer .nav-foot {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

#footer .nav-foot li {
  width: 50%;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1em;
}

#footer .nav-foot li a {
  position: relative;
}

#footer .nav-foot li .off-hover {
  z-index: 0;
  transition: 0.3s;
}

#footer .nav-foot li .on-hover {
  position: absolute;
  z-index: -1;
  top: 2px;
  left: 0;
  opacity: 0;
  transition: 0.3s;
}

#footer .nav-foot li a:hover .off-hover {
  opacity: 0;
}

#footer .nav-foot li a:hover .on-hover {
  opacity: 1;
}

#footer .nav-foot li:nth-of-type(1) .on-hover {
  background: linear-gradient(150deg, #faee00, #49b993);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .nav-foot li:nth-of-type(2) .on-hover {
  background: linear-gradient(150deg, #faee00, #49b993, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .nav-foot li:nth-of-type(3) .on-hover {
  background: linear-gradient(150deg, #50b949, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .nav-foot li:nth-of-type(4) .on-hover {
  background: linear-gradient(90deg, #50b949, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .nav-foot li:nth-of-type(5) .on-hover {
  background: linear-gradient(150deg, #2ea7e0, #601986);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .nav-foot li:nth-of-type(6) .on-hover {
  background: linear-gradient(150deg, #2ea7e0, #601986, #e4007f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .nav-foot li:nth-of-type(7) .on-hover {
  background: linear-gradient(150deg, #2ea7e0, #601986, #e4007f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .nav-foot li:nth-of-type(8) .on-hover {
  background: linear-gradient(150deg, #2ea7e0, #601986, #e4007f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

#footer .copy {
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  padding: 0 0 15px;
}

#footer .menu-jp {
  font-size: 14px;
  display: block;
  font-weight: 500;
  margin-top: 5px;
  color: #666;
}

#footer .right {
  max-width: 50%;
}

.archive li,
.archive ul {
  border-bottom: none !important;
  border-top: none !important;
}

@media only screen and (max-width: 599px) {
  #footer .inner {
    flex-direction: column;
    padding: 10% 0;
  }

  #footer .right {
    margin-top: 30px;
  }

  #footer .copy {
    font-size: 10px;
  }

  #footer .nav-foot li:nth-of-type(1) .on-hover {
    /*    display: none;*/
  }

  #footer .nav-foot li a:hover .off-hover {
    opacity: 1;
  }

  #footer .nav-foot li a:hover .on-hover {
    opacity: 0;
  }
}

/***** underline_btn *****/
.underline_btn {
  text-align: center;
  width: 240px;
  margin: auto;
  position: relative;
}

.underline_btn::after {
  content: "";
  display: block;
  position: absolute;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 41.17"><path fill="%23000" d="m2.61 41.17-2.32-2.2 17.3-18.24L0 2.2 2.32 0 22 20.73z" /></svg>');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto;
  width: 14px;
  height: 16px;
  right: 20px;
  top: calc(50% - 8px);
  transition: 0.3s;
}

.underline_btn:hover::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 41.17"><path fill="%23c20781" d="m2.61 41.17-2.32-2.2 17.3-18.24L0 2.2 2.32 0 22 20.73z" /></svg>');
}

.underline_btn .btn_link {
  display: block;
  position: relative;
  font-weight: 900;
  text-decoration: none;
  padding: 20px 20px 20px 0;
}

.underline_btn .btn_link::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: -webkit-linear-gradient(60deg, #faee00, #49b993, #2ea7e0, #601986, #e4007f);
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.underline_btn .btn_link::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: -webkit-linear-gradient(60deg, #faee00, #49b993, #2ea7e0, #601986, #e4007f);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

.underline_btn:hover .btn_link::before {
  animation: hover-anime01 1.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.underline_btn:hover .btn_link::after {
  animation: hover-anime02 1.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.underline_btn .btn_link .btn-text {
  letter-spacing: 1px;
  transition: 0.3s;
}

.underline_btn .btn_link .off-hover {
  display: block;
  color: #000;
  z-index: 0;
}

.underline_btn .btn_link .on-hover {
  position: absolute;
  top: 50%;
  left: 46%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background: linear-gradient(115deg, #49b993, #2ea7e0, #601986);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  z-index: -1;
  opacity: 0;
}

.underline_btn:hover .btn_link .off-hover {
  opacity: 0;
}

.underline_btn:hover .btn_link .on-hover {
  opacity: 1;
  z-index: 0;
}

/***** TOP共通 *****/
#front {
  padding-top: 61px;
}

#front .inner {
  padding: 5% 0;
}

#front .title {
  text-align: center;
  font-size: min(9vw, 32px);
  font-weight: bold;
  letter-spacing: 6px;
  position: static;
  margin: initial;
  display: block;
}

@media only screen and (max-width: 599px) {
  #front .inner {
    padding: 20% 0 25%;
    width: 85%;
  }
}

/***** TOP-works *****/
#works .inner {
  padding: 5% 0 0;
}

#works .works_list {
  display: flex;
  justify-content: center;
  margin: 4% auto 6%;
}

#works .works_list li {
  position: relative;
  width: calc((100% -2.5%)/2);
  /*  min-width: 33%;*/
  margin-right: 2.5%;
}

#works .works_list li:hover .works_img {
  box-shadow: 0 0 30px rgb(12 0 0 / 30%);
  -webkit-box-shadow: 0 0 30px rgb(12 0 0 / 30%);
}

#works .works_list .cover-link {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#works .works_list .works_img {
  overflow: hidden;
  width: 100%;
  height: 250px;
  margin-bottom: 15px;
}

#works .works_list .works_img img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
  transition: 0.8s;
}

#works .works_list li:hover .works_img img {
  transform: scale(1.1, 1.1);
  /*  opacity: 0.8;*/
}

#works .works_list .works_title {
  letter-spacing: 3px;
  margin-top: 10px;
  transition: 0.8s;
  font-size: 1.5rem;
}

.home #works .works_list .works_title {
  font-size: 1.2rem;
  line-height: 1.3;
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

#works .works_list .works_category,
#works .works_list .works_client {
  font-size: 12px;
  transition: 0.8s;
  display: inline-block;
  border: 1px solid #49b993;
  padding: 6px 10px;
  border-radius: 20px;
  color: #49b993;
  font-weight: bold;
}

#works .works_list .works_client {
  border: 1px solid #2ea7e0;
  color: #2ea7e0;
}



#works .works_list li:hover .works_title,
#works .works_list li:hover .works_category {
  opacity: 0.8;
}

#works .works_list li {
    width: 30%;
    margin-bottom: 40px;
}
#works .works_list {
    flex-wrap: wrap;
}
@media (min-width:1201px) {
  #works .works_list li:nth-child(3n) {
    margin-right: 0;
  }
}

@media (max-width:1200px) {
  #works .inner {
    padding: 8% 5% 10%;
  }

  #works .works_list {
    flex-wrap: wrap;
    margin: 6% auto 0;
  }

  #works .works_list li {
    width: 45%;
    margin-bottom: 40px;
  }

  #works .works_list {
    margin: 6% auto 0;
  }

}

@media (max-width:768px) {

  #works .works_list li {
    width: 100%;
  }


}

@media only screen and (max-width: 599px) {
  #works .works_list {
    flex-direction: column;
    margin: 10% auto 0;
  }

  #works .works_list li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10%;
  }

  #works .works_list .works_title {
    font-size: 1.2rem;
  }

  #works .inner {
    padding: 15% 0;
  }

  #works .works_list .works_client {
    margin-top: 8px;
  }
}

/***** information *****/
#information .inner {
  padding: 5%;
}

.info-linkbox {
  display: flex;
}

.info-linkbox .btn_link {
  width: 51%;
  text-align: center;
  transition: 0.3s;
}

.info-linkbox .btn_link a {
  font-size: 28px;
  letter-spacing: 3px;
  font-weight: 900;
  position: relative;
  display: block;
  padding: 64px 20px;
  box-sizing: border-box;
  border-left: 1px solid #bababa;
  border-right: 1px solid #bababa;
  transition: 0.3s;
}

.info-linkbox .btn_link a::before,
.info-linkbox .btn_link a::after {
  position: absolute;
  content: '';
  width: 0;
  height: 1px;
  background-color: #bababa;
  transition: .8s;
}

.info-linkbox .btn_link a::before {
  top: 0;
  left: 0;
}

.info-linkbox .btn_link a::after {
  bottom: 0;
  right: 0;
}

.info-linkbox .btn_link:hover a::before,
.info-linkbox .btn_link:hover a::after {
  width: 93%;
}

.info-linkbox .about-link span {
  background: linear-gradient(115deg, #faee00, #49b993, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

.info-linkbox .about-link:hover a {
  border-left: 1px solid #faee00;
  border-right: 1px solid #2ea7e0;
  z-index: 1;
}

.info-linkbox .about-link:hover a::before,
.info-linkbox .about-link:hover a::after {
  background: linear-gradient(115deg, #faee00, #49b993, #2ea7e0);
}

.info-linkbox .about-link:hover + .contact-link {
  z-index: -1;
}

.info-linkbox .contact-link {
  margin-left: -1px;
}

.info-linkbox .contact-link span {
  background: linear-gradient(115deg, #2ea7e0, #601986, #e4007f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

.info-linkbox .contact-link:hover a {
  border-left: 1px solid #2ea7e0;
  border-right: 1px solid #e4007f;
  z-index: 1;
}

.info-linkbox .contact-link:hover a::before,
.info-linkbox .contact-link:hover a::after {
  background: linear-gradient(115deg, #2ea7e0, #601986, #e4007f);
}

.info-linkbox .contact-link:hover + .about-link {
  z-index: -1;
}

@media only screen and (max-width: 599px) {
  .information .inner {
    padding: 20% 0;
  }

  .info-linkbox {
    flex-direction: column;
  }

  .info-linkbox .btn_link {
    width: 100%;
  }

  .info-linkbox .btn_link a {
    border: none;
    border-top: 1px solid #bababa;
    border-bottom: 1px solid #bababa;
  }

  .info-linkbox .btn_link:hover a {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }

  .info-linkbox .contact-link {
    margin-left: 0;
    margin-top: -1px;
  }
}

/***** FAQ *****/
#faq .inner {
  padding: 5%;
}

/*========= accordion =========*/
.accordion_area {
  max-width: 880px;
  margin: 5% auto 3%;
}

.accordion_area .accordion_one .ac_header {
  border-bottom: 1px solid #9c9c9c;
  padding: 1.5rem 3rem 1.5rem 0;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .3s;
}

.accordion_area .accordion_one .ac_header.open {
  border-bottom: none;
}

.accordion_area .accordion_one .ac_header:not(.open):hover {
  opacity: 0.8;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  opacity: 0.8;
}

.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 0;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}

.accordion_area .accordion_one .ac_header .i_box:before,
.accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}

.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #5d5d5d;
  width: 18px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.accordion_area .accordion_one .ac_header .i_box::after {
  border-left: 2px solid #5d5d5d;
  width: 0;
  height: 18px;
  top: 0;
  bottom: 0;
  right: 8px;
  transition: .3s;
}

.accordion_area .accordion_one .ac_header.open .i_box::after {
  height: 0;
}

.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem;
  border-bottom: 1px solid #000;
  box-sizing: border-box;
  background: #f6f6f6;
}

/*========= faq =========*/
.p-faq__headinner {
  display: block;
  padding-left: 30px;
  position: relative;
  line-height: 1.5;
}

.p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "Q";
  color: #5d5d5d;
  font-size: 18px;
  font-weight: bold;
}

.p-faq__headinner p.p-faq__q-txt {
  font-size: 18px;
}

.p-faq__bodyinner {
  display: block;
  line-height: 1.7;
}

.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 16px;
}

@media only screen and (max-width: 599px) {

  .accordion_area {
    margin: 5% auto 10%;
  }

  .p-faq__headinner p.p-faq__q-txt {
    font-size: 16px;
  }

  .p-faq__bodyinner p.p-faq__a-txt {
    font-size: 14px;
  }
}

/***** 下層ページ共通 *****/
.content-head {
  position: relative;
  padding-top: 70px;
  z-index: 1;
  background-size: cover;
}

.content-head::before {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  content: '';
  background: #000000b3;
  z-index: -1;
}

.content-head .inner {
  padding: 7% 0;
}

.content-head .head-title {
  text-align: center;
  font-size: clamp(36px, 4vw, 60px);
  letter-spacing: 3px;
  color: #fff;
}

.content-head .head-subtitle {
  color: #fff;
  text-align: center;
  margin-top: 10px;
}

.info:not(.detail) .content-head,
.error404 .content-head,
.archive .content-head {
  background-image: url(../img/header-bg.jpg) !important;
  background-size: cover;
}

.content-main {
  padding: 3% 0 5%;
}

.content-main .box-inner {
  width: 85%;
  margin: auto;
  max-width: 1400px;
  line-height: 1.3;
}

.content-main p {
  line-height: 2;
  font-size: 1.2rem;
  font-weight: 500;
  /*  margin-bottom: 5%;*/
  text-align: justify;
}

.content-main a {
  position: relative;
  display: inline-block;
}

.content-main a::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #000;
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

.content-main a::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #000;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

.content-main a:hover::before {
  animation: hover-anime01 1.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.content-main a:hover::after {
  animation: hover-anime02 1.8s cubic-bezier(0.19, 1, 0.22, 1);
}

/*テキストリンクの装飾なくす*/
.no-line a::before,
.no-line a::after {
  content: none !important;
}

.content-main ul li {
  margin-bottom: 15px;
  line-height: 1.5;
  position: relative;
  vertical-align: middle;
  padding-left: 20px;
  font-weight: 500;
}

.content-main ul li::before {
  color: #95c53b;
  content: "■";
  font-size: 10px;
  position: absolute;
  top: 4px;
  left: 0;
}

.content-main table tr th {
  width: 30%;
  text-align: left;
  font-weight: 600;
  padding: 0 10px 15px 0;
  box-sizing: border-box;
  font-size: 1.2rem;
}

.content-main table tr td {
  padding: 20px 0 20px 10px;
  box-sizing: border-box;
  line-height: 1.5;
  font-size: 1.2rem;
  font-weight: 500;
}

.box-title {
  text-align: center;
}

@media only screen and (max-width: 599px) {
  .content-head .inner {
    padding: 13% 0;
  }

  .content-main table tr th {
    display: block;
    width: 100%;
    padding: 0 0 10px;
    border-bottom: 1px solid #d2d2d2;
  }

  .content-main table tr td {
    display: block;
    width: 100%;
    padding: 10px 0 10px;
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 2;
  }

  .content-head .head-title {
    /*    font-size: 1.5em;*/
    line-height: 1.5;
  }

  .content-head {
    background-position: 25%;
    padding-top: 60px;
  }

  .content-head .head-subtitle {
    font-size: 14px;
  }

  .content-main .box-inner {
    width: 90%;
  }


}

/***** ABOUT US*****/

.about .sub-position {
  display: block;
  font-size: 0.8em;
}

.about .access_map {
  margin: 0 auto;
}

.about iframe {
  width: 100%;
  max-width: 100% !important;
  height: 350px !important;
  margin-top: 30px;
}

.about .box-inner h3 {
  font-size: 2rem;
  font-weight: 600;
  margin: 5% auto 3%;
}

.about table {
  width: 100%;
}

.about table tr {
  border-bottom: 1px solid #d1d1d1;
}

.about table tr:last-of-type {
  border-bottom: none;
}

@media only screen and (max-width: 599px) {

  .about .access_map {
    flex-direction: column;
    margin: 5% auto 20%;
  }

  .about .information,
  .about .map {
    width: 100%;
  }

  .about .box-inner h3 {
    margin: 15% auto 10%;
  }

  .about table tr {
    border-bottom: none;
  }

  .about iframe {
    margin-top: 0;
  }
}

/**** アニメーション ****/
@keyframes hover-anime01 {
  0% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
  }

  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }

  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }
}

@keyframes hover-anime02 {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }

  20% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0)
  }

  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
  }
}

/*中本追加記述ここから*/

/***** 共通 *****/
h1:not(.head-title) {
  padding: 5.726% 0;
  /*  text-align: center;*/
  font-size: min(6.5vw, 35px);
  letter-spacing: 3px;
}

h2:not(.title) {
  max-width: 80%;
  font-size: 2rem;
  font-weight: 400;
  position: relative;
  display: table;
  padding: 1.3rem 0.5rem;
  margin: 0 auto 3%;
  text-align: center;
}

h2:not(.title)::before {
  content: '';
  position: absolute;
  display: block;
  z-index: 1;
  border-style: solid;
  border-color: #FFF transparent;
  border-width: 25px 25px 0px 0;
  bottom: 1px;
  right: 18px;
}

h2:not(.title)::after {
  content: '';
  position: absolute;
  display: block;
  z-index: 0;
  border-style: solid;
  border-color: #9d0e83 transparent;
  border-width: 25px 25px 0 0;
  bottom: -4px;
  right: 20px;
}

h2 span {
  position: relative;
  line-height: 1.6em;
  display: block;
  padding-bottom: 15px;
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

h2 span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: -webkit-linear-gradient(left, #faee00, #49b993, #2ea7e0, #601986, #e4007f);
}

h3:not(.title) {
  font-weight: 500;
  font-size: 2rem;
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

/*
h4:not(.works_title) {
  padding-bottom: 0.5em;
  font-size: 1.8rem;
  font-weight: 500 !important;
  color: #5d5d5d !important;
}

h4:not(.works_title)::after {
  content: '';
  display: block;
  border-bottom: 2px solid #95c53b;
  border-image: -webkit-linear-gradient(left, #faee00, #49b993);
  border-image-slice: 1;
  width: 57px;
  margin-top: 1em;
}
*/

h5 {
  font-size: 15px;
  font-weight: bold !important;
}

h6 {
  border-bottom: 1px dotted #9c9c9c;
  margin-bottom: 1em;
  font-weight: 500;
}

ol {
  list-style-position: inside;
  margin-left: 0;
}

ol li {
  margin-bottom: 15px;
  line-height: 1.3;
  position: relative;
  vertical-align: middle;
}

img {
  height: auto;
}

/*ハンバーガーメニューの日本語*/
#header .head-nav .menu-jp {
  display: none;
}

#header.slim .navbar-nav .menu-jp {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin-top: 5px;
}

@media(max-width:599px) {

  h2:not(.title) {
    font-size: 1.7rem;
    margin: 0.5em auto 2em;
    max-width: 90%;
    letter-spacing: 1px;
  }

  .content-main p {
    font-size: 1rem;
    /*    margin-bottom: 10%;*/
  }

  h3:not(.title) {
    font-size: 1.7rem;
    line-height: 1.3;
  }

  h4:not(.works_title) {
    font-size: 1.5rem;
    line-height: 1.3;
  }

}

/*
article {
  margin-bottom: 8%;
}
*/

/*
#content .content-box .inner section {
  margin: 5% auto 10%;
  max-width: 880px;
}
*/

/*
p {
  width: 100%;
  max-width: 880px;
  line-height: 2em !important;
}
*/

/***** 404ページ *****/

.content-404 {
  text-align: center;
  margin-bottom: 100px;
}

.content-404 p {
  line-height: 2em;
}

.content-404 .underline_btn {
  margin-top: 30px;
}

.content-404 p a {
  font-size: 18px;
  font-weight: bold;
  background: linear-gradient(115deg, #faee00, #49b993, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  padding: 0 5px;
}

.content-404 p a:hover {
  opacity: 0.6;
}

/***** WORKSページ *****/

.works .works_list {
  margin: 0 auto 50px !important;
}

.works .content-main ul li::before {
  display: none;
}

.works .content-main ul li {
  padding-left: 0;
}

.works .content-main a::before {
  display: none;
}

.works .inner ul:last-child {
  margin: 0 auto !important;
}

.works .works_list.odd .works_img,
.works .works_list.odd .works_img img {
  height: 420px !important;
}

.works .works_list.odd li:first-child {
  width: calc(33% * 2 + 2.5%) !important;
}

.works {
  margin-bottom: 0;
}

.works .content-main a::after {
  content: none;
}

.works .content-main .box-inner > p {
  margin-bottom: 40px;
}

@media (max-width:599px) {



  .works .works_list.odd li:first-child {
    width: 100% !important;
  }

  .works .works_list {
    margin: 0 auto !important;
  }

  .works .works_list.odd .works_img,
  .works .works_list.odd .works_img img {
    height: 240px !important;
  }

  .works .content-head .inner {
    padding: 13% 0 8%;
  }

  .works .content-main p {
    margin: 8% auto 10%;
  }


  .works .inner {
    padding: 15% 0 10%;
  }


}


/***** WORKS詳細ページ *****/

.works_detail .content-head {
  position: relative;
}

.works_detail .img-lead img {
  height: 580px;
  object-fit: cover;
}

.works_detail .img-lead .works_img::after {
  content: '';
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #00000045;
}

.works_detail .content-head .head-title {
  text-align: left;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.5em;
  position: absolute;
  bottom: -40px;
  left: 15%;
}

.works_detail .content-head .head-title span {
  display: inline-block;
  background: url(../img/bg-gradation.png);
  padding: 10px 25px 5px 25px;
  background-size: 450px;
  font-weight: 500;
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

.works_detail .content-head .head-title span:first-of-type {
  padding-top: 15px;
  padding-bottom: 10px;
}

.works_detail .content-head .head-title span:last-of-type {
  padding-bottom: 15px;
  /*  display: none;*/
}

.works_detail .content-head .works_category {
  position: absolute;
  bottom: 0;
  right: 20%;
  background: #fff;
  padding: 0 15px;
  height: 35px;
  line-height: 35px;
  letter-spacing: 1px;
}

.works_detail .content-head .works_category::before {
  content: '';
  position: absolute;
  border-left: 15px solid transparent;
  border-bottom: 35px solid #fff;
  left: -15px;
  bottom: 0px;
}

/*
.works_detail .content-head .category-list::after {
  content: "/";
  display: inline-block;
  margin: 0 3px 0 5px;
}

.works_detail .content-head .category-list:last-of-type::after {
  content: none;
}
*/

.works_detail .content-box .inner {
  margin: 5% auto;
}

.works_detail .content-box .inner section {
  /*  margin: auto !important;*/
}

.works_detail .img-L.elementor-widget-image img {
  height: 620px;
  object-fit: cover;
}

.works_detail .img-M.elementor-widget-image img {
  height: 275px;
  object-fit: cover;
}

.works_detail .img-M.border.elementor-widget-image img {
  border: 1px solid #ccc;
}

.works_detail .img-S.elementor-widget-image img {
  height: 175px;
  object-fit: cover;
}


.works_detail .works_client,
.works_detail .works_category {
  margin-bottom: 15px;
  padding-left: 10px;
  font-size: 14px;
  transition: 0.8s;
  display: inline-block;
  border: 1px solid #2ea7e0;
  color: #2ea7e0;
  padding: 10px 15px;
  border-radius: 20px;
  font-weight: bold;
}

.works_detail .works_category {
  border: 1px solid #49b993;
  color: #49b993;
}

.works_detail .content-main ul li::before {
  color: #49b993;
}

.works_detail .works_title {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.5;
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}



@media (max-width:1200px) {

  .works_detail .content-head .head-title {
    left: 10%;
  }

  .works_detail .content-head .works_category {
    right: 15%;
  }

  .works_detail .content-box .inner {
    margin: 10% auto;
  }

  .works_detail .img-lead img {
    height: 300px;
  }

}

@media (max-width:980px) {

  .works_detail .content-head .head-title {
    bottom: -43px;
  }

}

@media (max-width:480px) {

  .works_detail .content-head .head-title {
    font-size: 6vw;
    left: 0;
    bottom: -28px;
  }

  .works_detail .content-head .works_category {
    right: 5%;
  }

  .works_detail .img-L.elementor-widget-image img {
    height: 275px;
  }

  .works_detail .content-head .head-title span {
    background-size: 80vw;
  }

  .works_detail .works_client,
  .works_detail .works_category {
    font-size: 12px;
  }

  .works_detail .img-lead img {
    height: 30vh;
  }

  .works_detail .content-main {
    padding: 6% 0 5%;
  }

  .works_detail .content-head .works_img {
    height: 30vh;
  }

  .works_detail .works_title {
    font-size: 1.2em;
  }

}

/***** お知らせ、カテゴリー一覧ページ *****/

.info .article .underline_btn,
.archive .article .underline_btn,
.search .article .underline_btn {
  width: 100%;
  padding-top: 40px;
  text-align: left;
}

.info .post-categories li::before,
.archive .post-categories li::before,
.search .post-categories li::before {
  content: none;
}

.info .underline_btn .btn_link::before,
.archive .underline_btn .btn_link::before,
.search .underline_btn .btn_link::before {
  background: #d1d1d1;
  height: 1px;
}

.info .underline_btn .btn_link::after,
.archive .underline_btn .btn_link::after,
.search .underline_btn .btn_link::after {
  background: -webkit-linear-gradient(60deg, #49b993, #2ea7e0);
  height: 1px;
}

.info .underline_btn:hover span {
  opacity: .8;
  transition: .6s;
  background: linear-gradient(115deg, #49b993, #2ea7e0, #601986);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

.info .news_detail,
.archive .news_detail,
.search .blog_detail {
  display: flex;
  align-items: baseline;
}

.info .underline_btn .btn_link,
.archive .underline_btn .btn_link,
.search .underline_btn .btn_link {
  padding: 10px 20px 40px 0;
  font-weight: 600;
  /*  text-align: left;*/
}

.info .underline_btn::after,
.archive .underline_btn::after,
.search .underline_btn::after {
  top: 50%;
  right: 0;
}

.info .article:first-child,
.archive .article:first-child {
  /*  border-top: 1px solid #d1d1d1;*/
}

.info .post-categories li a,
.archive .post-categories li a,
.search .post-categories li a {
  font-size: 12px;
  border: 1px solid #2ea7e0;
  padding: 6px 10px;
  color: #2ea7e0;
  border-radius: 20px;
  font-weight: bold;
}

.info .post-categories li {
  padding-left: 0;
}

.info .date,
.archive .date,
.search .date,
.home .date {
  color: #666;
  font-size: 16px;
}

/*ページャー*/
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #eee;
  clip: auto !important;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.page-numbers a {
  font-size: 18px !important;
  letter-spacing: 1px;
}

.page-numbers {
  display: block;
  text-align: center;
}

.pagination {
  display: flex;
  justify-content: center;
}

.page-numbers li {
  float: left;
  margin-right: 1em;
  font-weight: 600 !important;
  border-bottom: none !important;
  padding-left: 10px !important;
}

.page-numbers li:first-of-type {
  padding-left: 0;
}

.clearfix {
  display: block;
  margin: 50px auto;
}

.clearfix::after {
  content: " ";
  display: block;
  clear: both;
}

.page-numbers li::before {
  content: none !important;
}

.page-numbers a::before {
  content: none !important;
}

.pagination span.current {
  background: linear-gradient(115deg, #49b993, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
  position: relative;
}

.page-numbers .current::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -5px;
  left: 0;
  background: -webkit-linear-gradient(60deg, #49b993, #2ea7e0);
}

.page-numbers .page-numbers:not(.prev, .next) {
  width: 35px;
  /*  background: #d1d1d1;*/
}

.page-numbers a:hover::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -5px;
  left: 0;
  background: -webkit-linear-gradient(60deg, #49b993, #2ea7e0);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

.page-numbers a:hover {
  background: linear-gradient(115deg, #49b993, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  /*  font-size: 19px;*/
  font-weight: bold;
  /*  margin: 0 1em;*/
  position: relative;
}

@media (max-width:480px) {

  .page-numbers li {
    margin-right: 0;
  }

  .pagination {
    width: 100%;
  }

}

/***** お知らせ詳細ページ *****/

.info.detail .inner {
  max-width: 1200px;
  /* margin-top: 3%; */
  width: 85%;
}

.info.detail .content-head .head-title {
  text-align: left;
  color: #1a1a1a;
  font-size: clamp(20px, 4vw, 32px);
  font-weight: 600;
  line-height: 1.5;
}

.info.detail .post-categories {
  /*  padding-left: 20px;*/
}

.info.detail .news_detail {
  margin-bottom: 30px;
}

.info.detail .head-title {
  position: relative;
}

.info.detail .head-title::after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background: -webkit-linear-gradient(60deg, #49b993, #2ea7e0);
  position: absolute;
  bottom: -1em;
  left: 0;
}

.info.detail .content-box .inner p {
  color: #666;
  line-height: 2;
}

.info.detail .page-link {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin: 8% auto;
  border-top: 1px dotted #e6e8e8;
  padding-top: 8%;
}

.info.detail .page-link a {
  font-weight: 600;
}

.info.detail .page-link div {
  /*  min-width: 1px;*/
  text-align: center;
}

.info.detail .page-link div:not(.archive):hover {
  background: linear-gradient(115deg, #49b993, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
  position: relative;
}

.info.detail .page-link .archive {
  background: #fff;
  padding: 10px 25px;
  border: 2px solid #000;
  position: relative;
  font-weight: 600;
  /*  margin: 0 auto;*/
}

.info.detail .page-link .archive::after {
  content: '';
  width: 100%;
  height: 100%;
  background: linear-gradient(115deg, #49b993, #2ea7e0);
  position: absolute;
  left: 5px;
  top: 5px;
  z-index: -1;
}

.info.detail .page-link .archive:hover {
  border: 2px solid #49b993;
  border-image: linear-gradient(115deg, #49b993, #2ea7e0);
  border-image-slice: 1;
  background: linear-gradient(115deg, #49b993, #2ea7e0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: translate(5px, 5px);
  -webkit-transform: translate(5px, 5px);
}

.info.detail .page-link .archive:hover::after {
  content: none;
}

.single .content-head::before {
  display: none;
}

.single .info .content-head .inner {
  padding: 7% 0 5%;
}

.single #main .elementor-button::before,
.single #main .elementor-button:hover::after {
  content: none;
}

.single #main .elementor-button:hover {
  opacity: 0.7;
}



@media (max-width:480px) {

  .underline_btn .btn_link .on-hover {
    display: none;
  }

  .underline_btn:hover .btn_link .off-hover {
    opacity: 1;
  }

  .info.detail .page-link {
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 15% auto 10%;
    padding-top: 15%;
  }

  .info.detail .page-link .archive {
    padding: 10px 15px;
  }

  .info.detail .page-link div {
    min-width: 75px;
    min-width: 75px;
    width: 100%;
    margin: 0 auto 1.5em;
  }

}



/*村瀬追加記述ここから*/


/***** SERVICE詳細ページ *****/
.service .content-box .inner {
  text-align: -webkit-center;
}

.service .content-box .inner section {
  margin-top: 0 !important;
}

.service .content-box .inner ol {
  position: relative;
  /*  max-width: 880px;*/
}

.service .content-box .inner ol li {
  list-style: none;
  counter-increment: cnt;
  border: solid 2px #95C539;
  margin-bottom: 62px;
  position: relative;
  box-shadow: 0 0 30px rgb(12 0 0 / 10%);
  -webkit-box-shadow: 0 0 30px rgb(12 0 0 / 10%);
}

.service .content-box .inner .text_h {
  padding-bottom: 0;
  font-weight: bold;
}

.service .content-box .inner .text_color {
  color: #95C539;
}

.service .content-box .inner p:nth-of-type(3) {
  padding-top: 0;
}

.service .content-box .inner .text_2 {
  padding-top: 0;
}

.service .content-box .inner .text_2:last-of-type {
  padding-bottom: 15px;
}

.service .content-box .inner ol li .icon_box {
  width: 300px;
  padding: 0 0 23px;
  margin-right: auto;
}

.service .content-box .inner ol li .clip {
  position: absolute;
  top: -18px;
  left: -13px;
  width: 9%;
  max-width: 71px;
  z-index: 10;
}

.service .content-box .inner ol li .clip img {
  width: 100%;
}

.service .content-box .inner ol li:nth-of-type(2),
.service .content-box .inner ol li:nth-of-type(8) {
  border-color: #49B993;
}

.service .content-box .inner ol li:nth-of-type(3) {
  border-color: #2EA7E0;
}

.service .content-box .inner ol li:nth-of-type(4) {
  border-color: #172A88;
}

.service .content-box .inner ol li:nth-of-type(5) {
  border-color: #5F1985;
}

.service .content-box .inner ol li:nth-of-type(6) {
  border-color: #E0007F;
}

.service .content-box .inner ol li:nth-of-type(7) {
  border-color: #d71959;
}

.service .content-box .inner ol li .num::before {
  content: "SERVICE No."counter(cnt);
}

.service .content-box .inner ol li .num {
  width: 185px;
  text-align: center;
  background-color: #95C539;
  color: #fff;
  position: absolute;
  top: -2px;
  right: -2px;
  /*
  border-left: 8px solid #fff;
  border-bottom: 8px solid #fff;
*/
}

.service .content-box .inner ol li:nth-of-type(2) .num,
.service .content-box .inner ol li:nth-of-type(8) .num {
  background-color: #49B993;
}

.service .content-box .inner ol li:nth-of-type(3) .num {
  background-color: #2EA7E0;
}

.service .content-box .inner ol li:nth-of-type(4) .num {
  background-color: #172A88;
}

.service .content-box .inner ol li:nth-of-type(5) .num {
  background-color: #5F1985;
}

.service .content-box .inner ol li:nth-of-type(6) .num {
  background-color: #E0007F;
}

.service .content-box .inner ol li:nth-of-type(7) .num {
  background-color: #d71959;
}

.service .content-box .inner ol li:nth-of-type(8) .num {
  background-color: #ff3939;
}

.service .content-box .inner ol li > div {
  /*  max-width: 790px;*/
  width: 90%;
  margin: 0 auto;
}

.service .content-box .inner ol li div h3 {
  padding: 40px 0 25px;
  border-bottom: 3px solid #95C539;
  text-align: left;
  padding-left: 0;
  font-size: 2rem;
}

.service .content-box .inner ol li:nth-of-type(2) div h3,
.service .content-box .inner ol li:nth-of-type(8) div h3 {
  border-bottom: 3px solid #49B993;
}

.service .content-box .inner ol li:nth-of-type(3) div h3 {
  border-bottom: 3px solid #2EA7E0;
}

.service .content-box .inner ol li:nth-of-type(4) div h3 {
  border-bottom: 3px solid #172A88;
}

.service .content-box .inner ol li:nth-of-type(5) div h3 {
  border-bottom: 3px solid #5F1985;
}

.service .content-box .inner ol li:nth-of-type(6) div h3 {
  border-bottom: 3px solid #E0007F;
}

.service .content-box .inner ol li:nth-of-type(7) div h3 {
  border-bottom: 3px solid #d71959;
}

.service .content-box .inner ol li:nth-of-type(8) div h3 {
  border-bottom: 3px solid #ff3939;
}

.service .content-box .inner ol li div p {
  margin-bottom: 0;
  padding: 25px 0;
}

.service .content-box .inner ol li div dl {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  line-height: 1.5;
}

.service .content-box .inner ol li:nth-of-type(5) div dl,
.service .content-box .inner ol li:nth-of-type(6) div dl {
  display: block;
}

.service .content-box .inner ol li:nth-of-type(5) div dl dd {
  padding-bottom: 5px;
}

.service .content-box .inner ol li div dl .font_size {
  font-size: 14px;
}

/*
.service .content-box .inner ol li:nth-of-type(5) div dl dd,
.service .content-box .inner ol li:nth-of-type(6) div dl dd {
  width: 80%;
}
*/

.service .content-box .inner ol li div dl .dd_pd {
  padding-left: 80px;
  display: block;
  width: 80%;
  line-height: 2em;
}

.service .content-box .inner ol li div dl div {
  width: 100%;
}

.service .content-box .inner ol li div dl .dd_pd:first-of-type {
  padding-left: 1em;
}

.service .content-box .inner ol li div dl div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-bottom: 17px;
}

.service .content-box .inner ol li div dd {
  padding-left: 1em;
}

.service .content-box .inner ol li div dl div:nth-of-type(3) {
  width: 100%;
  align-items: baseline;
  padding-bottom: 45px;
  flex-wrap: nowrap;
}

.service .content-box .inner ol li div dl dt {
  padding: 5px 10px;
  color: #95c539;
  border: 1px solid #95c539;
  border-radius: 3px;
  font-weight: 600;
  min-width: 40px;
}

.service .content-box .inner ol li:nth-of-type(2) div dl dt {
  color: #49B993;
  border: 1px solid #49B993;
}

.service .content-box .inner ol li:nth-of-type(3) div dl dt {
  color: #2EA7E0;
  border: 1px solid #2EA7E0;
}

.service .content-box .inner ol li:nth-of-type(4) div dl dt {
  color: #172A88;
  border: 1px solid #172A88;
}

.service .content-box .inner ol li:nth-of-type(5) div dl dt {
  color: #5F1985;
  border: 1px solid #5F1985;
}

.service .content-box .inner ol li:nth-of-type(6) div dl dt {
  color: #E0007F;
  border: 1px solid #E0007F;
}

.service .content-box .inner ol li:nth-of-type(7) div dl dt {
  color: #e00d34;
  border: 1px solid #e00d34;
}

.service .content-box .inner ol li:nth-of-type(8) div dl dt {
  color: #e08b0d;
  border: 1px solid #e08b0d;
}

.service .content-box .inner ol li div dl div:nth-of-type(3) dd span {
  font-size: 12px;
  padding-left: 0 !important;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: initial;
}

.service h2:not(.title) {
  margin: 0.5em auto 1em;
}

@media (max-width:900px) {
  .service .content-box .inner ol li div dl div:nth-of-type(3) dd {
    width: 70%;
  }

  .service .content-box .inner ol li div dl div dd,
  .service .content-box .inner ol li div dl .dd_pd {
    width: 70%;
  }

  .service .content-box .inner ol li .clip {
    top: -13px;
    width: 7%;
    min-width: 51px;
    left: -10px;
  }

  .service .content-box .inner ol li:first-of-type div h3 {
    padding-top: 45px;
  }
}

@media (max-width:480px) {

  .service h2:not(.title) {
    max-width: 100%;
  }

  .service .content-box .inner ol li div dl div dd,
  .service .content-box .inner ol li div dl .dd_pd {
    width: 100%;
    padding-left: 0;
    padding-top: 0.5em;
  }

  .service .content-box .inner ol li div dd {
    font-size: 1rem;
  }

  .service .content-box .inner ol li div dd span {
    display: inline-block;
  }

  .service .content-box .inner ol li div h3 {
    padding-top: 55px !important;
    font-size: 1.5rem;
    text-align: center;
  }

  .service .content-box .inner ol li div dl div:nth-of-type(3) dd {
    width: 100%;
  }

  .service .content-box .inner ol li div dl .dd_pd {
    padding-left: 0 !important;
  }

  .service .content-box .inner ol li:nth-of-type(5) div dl dd,
  .service .content-box .inner ol li:nth-of-type(6) div dl dd {
    width: 85%;
  }

  .service .content-box .inner ol li .icon_box {
    /*    width: 100%;*/
    padding: 0 0 31px;
  }

  .service .content-box .inner ol li div dl div:nth-of-type(3) {
    flex-wrap: wrap;
  }
}

/***** business詳細ページ *****/

.business .content-box .inner ol li .num{
	background-color:#49B993;
}

.business .content-box .inner section {
  margin: 0 auto !important;
}

.business .content-main a {
  position: static;
}

.business .content-main a::before,
.business .content-main a::after {
  content: none;
}

.business .content-box .inner ol li .num::before {
  content: "BUSINESS No."counter(cnt);
}

.business .wrap .kimono-plus {
  display: flex;
  align-items: center;
  margin-top: 25px;
}

.business .wrap .kimono-plus p {
  /*  width: 70%;*/
  padding-right: 20px !important;
  padding-bottom: 0 !important;
}

.business .wrap .kimono-plus img {
  width: 300px;
  margin-left: auto;
  margin-right: 0;
  display: block;
}

.business .wrap > div > p {
  margin-bottom: 5%;
}

.business .content-box .inner ol li div h3 {
  border-bottom: 3px solid #49B993;
}

.business .content-box .inner ol li {
  border: solid 2px #49B993;
}

.business .content-box .inner .text_color {
  color: #49B993;
}

/*アプリダウンロード*/
.cv_banner {
  max-width: 400px;
  /* background: #8e8e8e; */
  color: #49B993;
  padding: 10px;
  border-radius: 10px;
  /* margin-bottom: 3%; */
  border: 1px solid #49B993;
  text-align: center;
}

.cv_banner p {
  padding: 0 !important;
  width: 100%;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
}

.cv_banner .app_banner {
  display: flex;
  justify-content: space-around;
}

.cv_banner .app_banner img {
  height: 50px;
  width: auto !important;
  margin-top: 5px;
}

.cv_banner .app_banner a:first-child {
  margin-right: 10px;
}

.kimono_link {
  display: flex;
  align-items: center;
  margin-bottom: 45px;
}

.kimono_link .site-url {
  background: #49B993;
  /* color: #fff; */
  padding: 10px 20px;
  border-radius: 5px;
  margin: 20px auto;
  text-align: center;
}
.kimono_link .site-url a {
  color: #fff;
  font-weight: 600;
  font-size: 16px;
}

.kimono_link > div:first-of-type {
  margin-right: 3%;
}

.kimono_link .site-url img {
  width: 20px;
  padding-left: 5px;
}

/*SERVICE（BUSINESS）２つ目以降のカラー*/
.business .content-box .inner ol li:nth-of-type(2) .num,.business .content-box .inner ol li:nth-of-type(8) .num {
  background-color: #f2ba45;
}
.business .content-box .inner ol li:nth-of-type(2), .business.content-box .inner ol li:nth-of-type(8) {
    border-color: #f2ba45;
}
.service .content-box .inner ol li:nth-of-type(2) div h3, .service .content-box .inner ol li:nth-of-type(8) div h3 {
    border-bottom: 3px solid #f2ba45;
}
.business ol li:nth-child(2) .kimono_link .site-url {
    background: #f2ba45;
}
.business .content-box .inner ol li:nth-child(2) .text_color {
    color: #f2ba45;
}
.business ol li:nth-child(2) .cv_banner {
    color: #f2ba45;
    border: 1px solid #f2ba45;
}


.sp {
  display: none;
}

@media(max-width:1024px) {

  .kimono_link {
    flex-wrap: wrap;
    justify-content: center;
  }

  .kimono_link > div:first-of-type {
    margin-right: 0;
  }

}

@media(max-width:800px) {

  .business .wrap .kimono-plus {
    flex-wrap: wrap-reverse;
  }

  .business .wrap .kimono-plus p {
    width: 100%;
    padding-right: 0 !important;
  }

  .business .wrap .kimono-plus img {
    margin: 0 auto;
    width: 100%;
  }

}


@media (max-width:480px) {
  /*
  .business h2:not(.title)::after {
    bottom: 0;
  }
*/

  .business .content-main p:first-of-type {
    margin-bottom: 15%;
  }

  .cv_banner {
    max-width: 100%;
  }

  .cv_banner .app_banner img {
    max-width: 100%;
  }

  .kimono_link .site-url img {
    width: 16px;
  }

  .kimono_link .site-url a {
    font-size: 16px;
    line-height: 1.5;
  }

  .sp {
    display: block;
  }
}



/***** FAQ詳細ページ *****/
.faq .content-box .inner section {
  margin-top: 0 !important;
}

.faq h2:not(.title)::after {
  display: none;
}

.faq .faq_h2_01::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: -webkit-linear-gradient(left, #faee00, #49b993);
}

.faq .faq_h2_02::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: -webkit-linear-gradient(left, #49b993, #49b993);
}

.faq .elementor-toggle-title {
  display: inline;
  line-height: 1.5;
}

.faq .elementor-tab-title {
  margin-left: 1rem;
}

.faq .elementor-tab-title::before {
  left: 0;
  content: "Q";
  color: #5d5d5d;
  font-size: 18px;
  font-weight: bold;
}

.faq .elementor-tab-title {
  padding: 33px 0 33px 0 !important;
}


.faq .elementor-toggle-title,
.faq .elementor-tab-content {
  font-family: 'Lato', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

.faq .elementor-heading-title {
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important
}
}

.faq .elementor-toggle-title {
  margin-left: 1rem;
}

.faq .elementor-toggle .elementor-tab-title .elementor-toggle-icon {
  width: 2em;
}

.faq .elementor-widget-toggle {
  padding-left: 25px;
}

.ac_inner a:hover,
.faq .elementor-tab-content a:hover {
  opacity: 0.7;
}

.ac_inner a {
  display: block;
  margin-top: 1em;
}

.faq .cv_banner {
  max-width: 400px;
  background: #dedede;
  color: #000080;
  padding: 10px;
  border-radius: 10px;
  border: none;
  margin: 15px 0 5px;
  font-size: 14px;
}

.faq .cv_banner p {
  margin-bottom: 5px;

}

@media (max-width: 767px) {
  .faq h2:not(.title) {
    margin: 0 auto;
    padding: 0 0 1.3rem;
  }

  .faq .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg {
    width: 0.9em;
    height: 0.9em;
    margin-top: 5px;
  }

  .faq .elementor-tab-title {
    padding: 27px !important;
  }


  .faq .elementor-tab-content {
    font-size: 16px;
  }

  .faq .elementor-heading-title {
    font-size: 21px !important;
  }

}

@media (max-width:480px) {

  .faq .elementor-tab-title {
    padding: 16px 8px 16px 2.5em !important;
  }

  .faq .elementor-toggle-title {
    line-height: 1.6;
  }

  .faq .elementor-tab-title::before {
    margin-left: -2rem;
  }

  .faq .elementor-widget-toggle {
    padding-left: 0;
  }

  .faq .elementor-toggle-title {
    font-size: 16px !important;
  }

  .faq .elementor-heading-title {
    font-size: 19px !important;
  }

  .faq .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 0 10px 10px;
  }

  .faq .elementor-tab-content {
    font-size: 16px;
  }

}


/***** contact詳細ページ *****/

.contact .content-main .box-inner {
  max-width: 1200px;
}

.contact .content-box .inner section {
  margin-top: 0 !important;
  margin-bottom: 3% !important;
}

.contact .content-box .inner section .text_01 {
  margin-bottom: 51px;
}

.contact .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
  padding-top: 0;
}

.contact .content-main ul {
  border-top: solid 1px;
  border-bottom: solid 1px;
  margin-bottom: 51px;
  color: #D2D2D2;
}

.contact .content-main ul li {
  display: flex;
  padding-left: 0;
  margin-bottom: 0;
  max-width: 351px;
  margin: 0 auto;
}

.contact .content-main ul li::before {
  display: none;
}

.contact .content-main ul li .mark_02 {
  background: url("https://strategy-design.jp/corporate/wp-content/themes/strategy2021/img/img_contact_02.svg") no-repeat 50%;
  width: 50px;
  background-size: 9px;
}

.contact .content-main ul li div {
  width: 33.3%;
  padding: 23px 0;
}

.contact .content-main ul .wpcf7c-elm-step1 div:nth-of-type(2),
.contact .content-main ul li div:nth-of-type(3) {
  opacity: 0.2;
}

.contact .content-main ul .wpcf7c-elm-step2:nth-of-type(2) div:nth-of-type(2) {
  opacity: 1;
}

.contact .content-main ul .wpcf7c-elm-step2 div:first-of-type,
.contact .content-main ul li div:nth-of-type(3) {
  opacity: 0.2;
}

.contact .content-main ul .wpcf7c-elm-step3 div:nth-of-type(3) {
  opacity: 1;
}

.contact .content-main ul .wpcf7c-elm-step3 div:first-of-type,
.contact .content-main ul li div:nth-of-type(2) {
  opacity: 0.2;
}

.contact .content-main ul li div p {
  text-align: center;
  color: #000;
  line-height: 1.5em !important;
}

.contact .content-main ul li div p:first-of-type {
  color: #9c9c9c;
}

.contact .content-main p {
  margin-bottom: 0;
}

.contact table {
  width: 100%;
}

.contact tr {
  padding-bottom: 51px;
}

.contact tr th {
  width: 30%;
  padding: 0 0 51px 0 !important;
  vertical-align: middle;
}

/*
.contact tr:nth-of-type(6) {
  position: relative;
}
*/

.contact tr:nth-of-type(6) th {
  /*
  position: absolute;
  top: 25px;
*/
}

.contact tr td {
  width: 70%;
  padding: 0 0 51px 0 !important;
}

.contact tr .acceptance input {
  width: 13px;
}

.contact tr:nth-of-type(7) th {
  vertical-align: top;
}

.contact tr:nth-of-type(7) td input {
  height: auto;
}

.contact .wpcf7-list-item {
  margin-left: 0;
}

.contact tr td input {
  height: 62px;
}

.contact input:-webkit-autofill {
  box-shadow: 0 0 0 1000px white inset;
}

.contact tr td input,
.contact tr td textarea {
  width: 100%;
  border: solid 1px #9C9C9C !important;
  padding: 25px;
}

.contact input.wpcf7c-conf:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #E0E0E0 inset !important;
}

.contact input.wpcf7c-conf,
.contact textarea.wpcf7c-conf {
  background: #E0E0E0;
}

.contact input.wpcf7c-conf::-webkit-input-placeholder {
  color: #E0E0E0;
}

.contact tr td input:focus,
.contact tr td textarea:focus {
  outline: none;
}

.contact tr td textarea {
  padding-top: 25px;
  height: 170px;
  resize: none;
  border-radius: 0;
}

.contact ::-webkit-input-placeholder {
  color: #D2D2D2;
}

.contact tr th span {
  color: #E0007F;
}

.contact .acceptance_text {
  font-size: 12px;
  padding-top: 6px;
  line-height: 1.9em !important;
}

.contact .btn {
  text-align: center;
}

.contact .sbm_box {
  /*  position: relative;*/
  width: 100%;
  margin: 0 auto;
}

.contact .sbm_box input:hover {
  opacity: .8;
  transition: .6s;
  background: linear-gradient(115deg, #49b993, #2ea7e0, #601986);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  border: #000 solid 2px;
  border-image: linear-gradient(60deg, #faee00, #49b993, #2ea7e0, #601986, #e4007f) 1;
}

.contact .sbm_box input {
  position: relative;
  background-color: #1a1a1a;
  color: #1a1a1a;
  font-size: 16px;
  width: 210px;
  height: 50px;
  border: none;
  letter-spacing: 0.1em;
  /* background: url(https://strategy-design.jp/corporate/wp-content/themes/strategy2021/img/img_contact_01.svg) #1a1a1a no-repeat 95% / 3.5%; */
  border-radius: 0 !important;
  border: 2px solid #1a1a1a;
  background: #fff;
  font-weight: 900;
  z-index: 1;
  transition: .6s;
  cursor: pointer;
}

.contact .sbm_box input::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 5px;
  left: 5px;
  background: linear-gradient(60deg, #faee00, #49b993, #2ea7e0, #601986, #e4007f);
  z-index: -1;
}

.contact .sbm_box .wpcf7c-elm-step1 {
  margin-left: 72px;
}

.contact .sbm_box .back {
  background-color: #efefef;
  margin-left: 116px;
}

.contact .sbm_box .submit {
  margin-left: 32px;
}

.sent .general table {
  display: none;
}

.contact .wpcf7-not-valid-tip {
  font-size: 14px;
}

.contact .wpcf7 form .wpcf7-response-output {
  font-size: 16px;
}



@media (max-width: 767px) {
  .contact .content-main table tr th {
    font-size: 14px;
    padding: 0 0 37px 0 !important;
  }

  .contact tr td {
    padding: 0 0 37px 0 !important;
  }

  .contact tr td input {
    height: 51px;
  }

  .contact .back.wpcf7c-elm-step2 {
    margin: 0 auto 22px;
    display: block;
  }

  .contact .submit.wpcf7c-elm-step2 {
    margin: 0 auto;
    display: block;
  }

  .contact .sbm_box {
    height: 100px;
  }


}

@media (max-width: 599px) {
  .contact tr:nth-of-type(6) th {
    position: static;
  }

  .contact .content-main table tr th {
    border-bottom: none;
    padding: 0 0 20px 0 !important;
    font-size: 16px;
  }

  .contact .content-main table tr td {
    margin-bottom: 0;
  }

}

@media (max-width: 480px) {

  .contact tr td input,
  .contact tr td textarea {
    padding: 11px;
  }

  .contact .btn {
    margin-bottom: 30px;
  }

  .contact .sbm_box .wpcf7c-elm-step1 {
    margin-left: 23px;
  }

  .contact .wpcf7-spinner {
    margin: 0 auto;
  }

  .contact .content-box .inner section .text_01 {
    margin-top: 30px;
  }

  .contact .sbm_box input:hover {
    transition: .6s;
    -webkit-text-fill-color: initial;
    background: #fff;
    border: 2px solid #1a1a1a;
    color: #1a1a1a;
    opacity: 1;
  }

}

/***** footer *****/
#footer .inner .left {
  margin-right: 5%;
}

@media (max-width:1200px) {

  #footer .inner {
    flex-wrap: wrap;
    padding: 14% 0 5%;
  }

  #footer .right {
    max-width: 100%;
    margin-top: 8%;
  }

}

@media (max-width: 599px) {
  #footer .inner .left {
    margin-right: 0;
  }

  #footer .nav-foot li {
    width: 100%;
  }

  #footer .right {
    margin-top: 13%;
  }

  #footer .access_tel-foot .tel {
    flex-wrap: wrap;
  }

  #footer .access_tel-foot .tel a,
  #footer .access_tel-foot .tel li {
    font-size: 18px;
  }

}

/*PRIVACY POLICY*/
.privacy-policy ol {
  margin: 1em 0 0 1em;
}

.privacy-policy .content-main p {
  margin-bottom: 20px;
  text-align: left;
}

.privacy-policy h3 {
  margin-bottom: 15px;
  margin-top: 30px;
}

.privacy-policy .tR {
  text-align: right !important;
}

.privacy-policy ol li {
  font-size: 16px;
  font-weight: 300;
  line-height: 1.7;
}

/*
.privacy-policy ol li.text {
  margin-bottom: 1em;
}
*/



/***********
ニュースティッカー
************/

/*ニュース1行の周りの余白*/
.post-list .slider a {
  /*  display: block;*/
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*日付*/
.post-list .slider span {
  display: inline-block;
  font-size: 0.8rem;
  margin-right: 15px;
  color: #4e4e4e;
}

.post-list .bx-wrapper {
  position: absolute;
  width: 100%;
  top: 73px;
  left: 0;
  box-shadow: none !important;
  margin-bottom: 0 !important;
  border: none;
  background: #f0f0f0e6 !important;
  z-index: 1;
  padding: 5px;
}

.post-list .slider li {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.post-list .underline_btn {
  margin: 0 20px;
}

.post-list .underline_btn a {
  padding: 13px 20px;
}

.post-list .underline_btn .btn_link::before,
.post-list .underline_btn .btn_link::after {
  content: none;
}

.post-list .underline_btn .btn_link .on-hover {
  left: 48%;
}

.post-list .slider .title {
  color: #1a1a1a;
  font-weight: 800;
}

.post-list .slider .post-title {
  font-size: clamp(14px, 1.5vw, 18px);
  color: #1a1a1a;
  font-weight: 600;
}

.post-list .slider li a:hover {
  opacity: .8;
  transition: .6s;
  background: linear-gradient(115deg, #49b993 10%, #2ea7e0 30%, #601986 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}

.post-list .slider {
  display: none;
}

.post-list .bx-viewport .slider {
  display: block !important;
}


/*768px以下の見た目 ※1行のままにしたい場合は不要　*/
@media screen and (max-width:1200px) {
  .post-list .slider {
    padding: 20px;
    /*    background: #f0f0f0;*/
  }

  .post-list .slider li {
    padding: 5px;
    /*    border-bottom: 1px dashed #ccc;*/
  }

  .post-list .slider li:last-child {
    /*    border-bottom: none;*/
  }

  .post-list .slider span {
    display: block;
    padding: 5px 0;
  }

  .post-list .underline_btn {
    display: none;
    width: 10%;
    margin: 0;
  }

  .post-list .slider a {
    flex-wrap: wrap;
    justify-content: left;
    padding: 0;
    width: 100%;
  }



  .post-list .slider .title {
    display: none;
  }

  .post-list .underline_btn .btn_link .off-hover,
  .post-list .underline_btn .btn_link .on-hover {
    display: none;
  }
}

@media (max-width:480px) {

  .post-list .slider span {
    width: 100%;
  }

  .post-list .bx-wrapper {
    top: 60px;
    padding: 0;
    /*
    position: static;
    padding-top: 60px;
    background: #f0f0f059 !important;
*/
  }

  .post-list .bx-viewport {
    /*
    position: fixed !important;
    bottom: 0;
    background: #fff;
*/
  }

  #top-body section#vegetable {
    padding-top: 70px !important;
  }

  .single .info .content-head .inner {
    padding: 7% 0 15%;
  }
}

/*ブログ*/

.blog_detail {
  display: flex;
  align-items: baseline;
}

#blog .date {
  color: rgb(0 0 0 / 50%);
  font-size: 14px;
  margin-top: 15px;
}

.news_detail .category a,
#blog .category a,
.blog_detail .category a {
  font-size: 12px;
  border: 1px solid #2ea7e0;
  padding: 6px 10px;
  color: #2ea7e0;
  border-radius: 20px;
  font-weight: bold;
}

.archive .blog_detail .category a {
  margin-left: 1em;
}

.news_detail .category,
#blog .category {
  /*  margin-bottom: 15px;*/
  line-height: 1.5;
  position: relative;
  vertical-align: middle;
  padding-left: 20px;
  font-weight: 500;
  margin-right: 10px;
}

#blog .category {
  margin-right: 0;
}

.blog.detail .blog_detail {
  margin-bottom: 30px;
}

.post-type-archive-blog .content-main,
.search .content-main,
.tax-blog_category .content-main,
.tax-blog_tag .content-main {
  width: 70%;
  padding: 20px 0 0;
}

.post-type-archive-blog .main,
.search #main,
.tax-blog_category #main,
.tax-blog_tag #main {
  display: flex;
  padding: 0 0 5%;
  font-family: 'Lato', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

#sidebar {
  width: 25%;
  padding: 3% 0 5%;
}

.side-title {
  font-size: 1.3rem !important;
  font-weight: bold !important;
  margin-bottom: 15px;
}

.post-type-archive-blog .tag,
.post-type-archive-blog .tag a,
.search .tag,
.search .tag a,
.single-blog .tag,
.single-blog .tag a,
.tax-blog_category .tag,
.tax-blog_category .tag a,
.tax-blog_tag .tag,
.tax-blog_tag .tag a,
.home .tag,
.home .tag a {
  color: #2ea7e0;
  margin-left: 0.5em;
}

.post-type-archive-blog .tag a::before,
.search .tag a::before,
.single-blog .tag a::before,
.tax-blog_tag .tag a::before {
  content: none;
}

.post-type-archive-blog .tag,
.search .tag,
.single-blog .tag,
.tax-blog_category .tag,
.tax-blog_tag .tag,
.home .tag {
  font-size: 14px;
  /*  margin-left: 1em;*/
}

.post-type-archive-blog .archive div:not(.tagcloud),
.search .archive div:not(.tagcloud),
.single-blog .archive div:not(.tagcloud),
.tax-blog_category .archive div:not(.tagcloud),
.tax-blog_tag .archive div:not(.tagcloud) {
  margin: 30px 0;
  padding-bottom: 20px;
  border-bottom: 1px dotted #d1d1d1;
}

/*検索バー*/
#s-form {
  display: flex;
  /*  justify-content: center;*/
  height: 42px;
}

#s-box {
  height: 38px;
  padding: 0 10px;
  /*
  position: absolute;
  top: 0;
  left: 0;
*/
  border: 2px solid #999;
  font-family: 'Lato', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

#s-btn {
  background: #212121;
  border: none;
  font-size: 0.8em;
  color: #fff;
  width: 60px;
  min-width: 48px;
  height: 42px;
  margin-left: 20px;
  cursor: pointer;
  font-family: 'Lato', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

/*検索結果ページ*/
.search .box-inner ul {
  margin-top: 50px;
}

.search .box-inner ul a::before {
  content: none;
}

.search .box-inner ul a:hover::after {
  content: none;
}

/*
.search .box-inner ul a:hover {
  opacity: .8;
  transition: .6s;
  background: linear-gradient(115deg, #49b993 30%, #2ea7e0 50%, #601986 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}
*/

.search .box-inner ul a {
  font-weight: 600;
  font-size: 1.5em;
}

.search .box-inner li {
  border-bottom: 1px solid #d1d1d1;
  padding-bottom: 20px;
  padding-left: 0;
}

.search .content-main ul li::before {
  content: none;
}

/*
.search .tagcloud a,
.post-type-archive-blog .tagcloud a,
.tax-blog_category .tagcloud a,
.single-blog .tagcloud a,
.tax-blog_tag .tagcloud a {
  font-size: 14px !important;
}
*/

/*
.search .widget-tag a,
.post-type-archive-blog .widget-tag a,
.tax-blog_category .widget-tag a,
.single-blog .widget-tag a,
.tax-blog_tag .widget-tag a {
  font-size: 14px !important;
}
*/

.search .tagcloud a::before,
.post-type-archive-blog .tagcloud a::before,
.tax-blog_category .tagcloud a::before,
.single-blog .tagcloud a::before,
.search .tag a::before,
.post-type-archive-blog .tag a::before,
.tax-blog_category .tag a::before,
.single-blog .tag a::before,
.tax-blog_tag .tag a::before,
.tax-blog_tag .tagcloud a::before,
.home .tag a::before,
.home .tagcloud a::before {
  content: "#";
  display: inline;
  position: static;
  background: none;
}

.search a:hover,
.post-type-archive-blog a:hover,
.tax-blog_category a:hover,
.tax-blog_tag a:hover {
  opacity: 0.8;
}

.tax-blog_tag a:hover::after {
  content: none;
}

.tag a:hover::after {
  content: none;
}

#sidebar {
  padding: 5% 0;
}

.blog_date {
  display: block;
  font-size: 14px;
  color: #666;
  font-weight: 500;
  margin-bottom: 5px;
}

.blog-box {
  display: flex !important;
  align-items: center;
}

.blog-box div {
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.5;
}

.blog-box img {
  width: 240px;
  height: 200px;
  object-fit: cover;
  margin-right: 20px;
}

.search .content-main p,
.post-type-archive-blog .content-main p,
.tax-blog_category .content-main p,
.tax-blog_tag .content-main p {
  font-size: 16px;
  padding-right: 20px;
  padding-top: 10px;
}

#sidebar .archive ul li {
  font-size: 14px;
  line-height: 1.3;
}

/*ブログ記事ページ*/
.blog-all {
  width: 70%;
  padding: 20px 0 0;
}

.single-blog #content-wrap {
  display: flex;
}

.single-blog .content-head .inner {
  padding: 5% 0 70px !important;
}

.single-blog #sidebar {
  padding: 5% 0;
  margin-top: 70px;
}

.single .blog_detail {
  margin-bottom: 20px !important;
}

#breadcrumbs {
  font-size: 14px;
  margin-bottom: 35px;
  background: #f9f9f9;
  padding: 15px;
  line-height: 1.5;
}

.single-blog .breadcrumb_last {
  display: none;
}

.archive .addtoany_content {
  display: none;
}

.post-type-archive-blog .underline_btn .btn_link,
.tax-blog_category .underline_btn .btn_link,
.search-results .underline_btn .btn_link,
.tax-blog_tag .underline_btn .btn_link {
  padding: 20px 25px 40px 0;
}


/*目次*/
.single-blog #main h3:not(.title) {
  margin: 56px 0 20px;
  padding: 16px 28px 18px;
  font-size: clamp(16px, 2vw, 25px);
  font-weight: 700;
  background: #f3f3f3;
  border-radius: 5px;
}

.single-blog #main h1:not(.head-title) {
  padding: 30px 0;
  font-size: clamp(20px, 3vw, 35px);
}

.single-blog h2:not(.title)::before,
.single-blog h2:not(.title)::after {
  content: none;
}

.single-blog h2:not(.title) {
  text-align: left;
  position: static;
  margin: 50px 0 15px;
  padding: 5px 0;
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 700;
  border-bottom: 2px solid #1a1a1a;
  width: 100%;
  max-width: 100%;
}

.single-blog h2 span::after {
  content: none;
}

.single-blog h4 {
  margin: 34px 0 11px;
  padding: 0 0 0 16px;
  position: relative;
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 700;
  border-left: 4px solid #1a1a1a;
}

.single-blog h4:not(.works_title)::after {
  /*  border-bottom: none;*/
}

.toc_list li {
  font-size: 15px;
  /*  list-style-type: decimal !important;*/
  /*  margin-left: 1.5em !important;*/
}

#toc_container ul ul {
  margin-left: 0 !important;
  padding-left: 1em;
}

#toc_container {
  /*  color: #666;*/
  padding: 25px;
  margin-top: 30px;
  min-width: 500px;
}

#toc_container li a {
  font-weight: 600;
  color: #333;
  line-height: 1.5;
  padding-bottom: 5px;
  display: inline-block;
  margin-top: 8px;
  font-size: 16px;
}

#toc_container li li a {
  font-weight: 500;
  margin-top: 0;
  font-size: 14px;
}

#toc_container a:hover {
  opacity: 0.8;
  text-decoration: none !important;
}

/*結果がなかったページ*/
.search-no-results #main {
  text-align: center;
  padding: 20px 0;
}

.search-no-results .content-main {
  width: 100%;
}

.search-no-results #sidebar .archive {
  display: none;
}

.search-no-results #sidebar {
  width: 100%;
  margin: 0 auto;
  padding: 20px 0 50px;
}

.search-no-results #s-box {
  width: 200px;
  /*  left: 50px;*/
}

.search-no-results #s-form {
  justify-content: center;
}

.search-no-results .clearfix {
  margin: 0;
}

.single .blog_detail .category a {
  margin-left: 1em;
}

.single .blog_detail .category a:first-of-type {
  margin-left: 0;
}

@media (max-width:1450px) {
  .blog-box div p {
    display: none;
  }
}

@media (max-width:980px) {

  .post-type-archive-blog .content-main,
  .search .content-main,
  .tax-blog_category .content-main,
  .tax-blog_tag .content-main {
    width: 100%;
  }

  .post-type-archive-blog .main,
  .search #main,
  .tax-blog_category #main,
  .tax-blog_tag #main {
    flex-wrap: wrap;
  }

  #sidebar {
    width: 85%;
    margin: auto;
  }

  .single-blog #content-wrap {
    flex-wrap: wrap;
  }

  .blog-all {
    width: 100%;
  }

}

@media (max-width:768px) {

  div#toc_container {
    width: 100%;
    min-width: 85%;
  }

}

@media (max-width:480px) {

  .blog-box {
    flex-wrap: wrap;
    justify-content: center;
  }

  .info .date,
  .archive .date,
  .search .date,
  .home .date {
    width: 100%;
  }

  .blog .blog_detail,
  .search .blog_detail {
    flex-wrap: wrap;
  }

  .category {
    padding-left: 0 !important;
    padding-top: 8px;
  }

  .search .content-main p,
  .post-type-archive-blog .content-main p,
  .tax-blog_category .content-main p,
  .tax-blog_tag .content-main p {
    display: none;
  }

  .single-blog #sidebar {
    margin-top: 0;
  }

  .blog-box img {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }

  .post-type-archive-blog .underline_btn .btn_link,
  .tax-blog_category .underline_btn .btn_link,
  .search-results .underline_btn .btn_link,
  .tax-blog_tag .underline_btn .btn_link {
    padding: 15px 35px 40px 0;
  }

  .info .news_detail,
  .archive .news_detail,
  .search .blog_detail {
    flex-wrap: wrap;
  }

  .post-categories,
  .post-categories li {
    padding-left: 0 !important;
  }

  .single-blog .content-head .inner {
    padding: 5% 0 50px !important;
  }

  .single-blog .content-box .inner p,
  .single-blog .content-head .head-title {
    text-align: justify !important;
  }

  #toc_container p.toc_title {
    text-align: center !important;
  }

  .single-blog span.subttl {
    display: inline-block !important;
    margin-left: 0 !important;
    padding-bottom: 0;
    font-size: 14px !important;
  }

  .single-blog .elementor-element .elementor-widget-container,
  .single-blog .content-box .inner p {
    font-size: 16px;
  }

  .post-type-archive-blog .tag,
  .search .tag,
  .single-blog .tag,
  .tax-blog_category .tag,
  .tax-blog_tag .tag {
    margin-left: 0;
    margin-top: 0.5em;
  }

  .single-blog .box_btn:hover::after {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 41.17"><path fill="%23000" d="m2.61 41.17-2.32-2.2 17.3-18.24L0 2.2 2.32 0 22 20.73z" /></svg>') !important;
  }

}

/*タグ一覧ページ*/
.tax-blog_tag .content-head .head-title,
.tax-blog_category .content-head .head-title,
.category .content-head .head-title {
  /*  font-weight: 500;*/
  font-size: clamp(28px, 3vw, 40px);
}

/*ブログ記事ページ*/
.single-blog .content-box .inner p {
  color: #1a1a1a !important;
  line-height: 2 !important;
}

.single-blog span.subttl {
  font-size: 16px;
  font-weight: 400;
  display: inline;
  margin-left: 1em;
}

.single-blog .marker {
  background: -webkit-linear-gradient(transparent 60%, #ffff90 60%);
  font-weight: 600 !important;
  color: #333;
}

.single-blog ol li {
  line-height: 2;
}

.single-blog #sidebar .archive li,
.single-blog #sidebar .archive ul,
.post-type-archive-blog #sidebar .archive li,
.post-type-archive-blog #sidebar .archive ul,
.search #sidebar .archive li,
.search #sidebar .archive ul,
.tax-blog_category #sidebar .archive li,
.tax-blog_category #sidebar .archive ul {
  font-size: 16px;
}

/*WORKS一旦非表示*/
#menu-item-578 {
  /*  display: none !important;*/
}

/*TOPボタン表示設定*/
#header #menu-item-1077 {
  display: none;
}

#header.slim.active #menu-item-1077 {
  display: block;
}

@media (max-width:480px) {

  #header.slim .head-nav {
    max-width: 100% !important;
  }

}


/***** TOP-blog *****/
#blog .inner {
  padding: 5%;
}

#blog .blog_list {
  display: flex;
  justify-content: center;
  margin: 4% auto 6%;
}

#blog .blog_list li {
  position: relative;
  width: calc((100% -2.5%)/2);
  /*  min-width: 33%;*/
  margin-right: 2.5%;
}

#blog .blog_list li:hover .blog_img {
  box-shadow: 0 0 30px rgb(12 0 0 / 30%);
  -webkit-box-shadow: 0 0 30px rgb(12 0 0 / 30%);
}

#blog .blog_list li:last-of-type {
  margin-right: 0;
}

#blog .blog_list .cover-link {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#blog .blog_list .blog_img {
  overflow: hidden;
  width: 100%;
  height: 300px;
  margin-bottom: 15px;
}

#blog .blog_list .blog_img img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  display: block;
  transition: 0.8s;
}

#blog .blog_list li:hover .blog_img img {
  transform: scale(1.1, 1.1);
  /*  opacity: 0.8;*/
}

#blog .blog_list .blog_title {
  letter-spacing: 3px;
  margin-top: 15px;
  transition: 0.8s;
  font-size: 1.5rem;
}

.home #blog .blog_list .blog_title {
  font-size: 1.2rem;
  line-height: 1.3;
  font-family: 'Lato', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif !important;
}

#blog .blog_list .works_category,
#blog .blog_list .works_client {
  font-size: 12px;
  transition: 0.8s;
  display: inline-block;
  border: 1px solid #49b993;
  padding: 6px 10px;
  border-radius: 20px;
  color: #49b993;
  font-weight: bold;
}

#blog .blog_list .works_client {
  border: 1px solid #2ea7e0;
  color: #2ea7e0;
}

#blog .blog_detail {
  flex-wrap: wrap;
}

#blog .blog_detail__inner {
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  align-items: baseline;
}

#blog .blog_detail__inner .category {
  padding-left: 0;
}

#blog .blog_list li:hover .blog_title,
#blog .blog_list li:hover .works_category {
  opacity: 0.8;
}

.blog_detail .tag a:first-of-type {
  margin-left: 0;
}

@media (max-width:1200px) {

  #blog .blog_list {
    flex-wrap: wrap;
    /*    justify-content: space-between;*/
    margin: 6% auto 0;
  }

  #blog .blog_list li {
    width: 45%;
    margin-bottom: 40px;
  }

  #blog .inner,
  #faq .inner {
    padding: 8% 5% 10%;
  }


  #blog .blog_detail .tag {
    width: 100%;
    margin-top: 8px;
    margin-left: 0;
  }


}

@media (max-width:768px) {

  #blog .blog_list li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 50px;
  }

}

@media only screen and (max-width: 599px) {
  #blog .blog_list {
    flex-direction: column;
    margin: 10% auto 0;
  }

  #blog .blog_list .blog_title {
    font-size: 1.2rem;
  }

  #blog .inner {
    padding: 15% 0;
  }

  #faq .inner {
    padding: 15% 0 20%;
  }

  #blog .blog_detail__inner .category {
    padding-top: 0;
    margin-bottom: 10px;
  }

  #blog .blog_list .blog_img img,
  #blog .blog_list .blog_img {
    height: 250px;
  }

  .single .blog_detail .category a {
    margin-right: 0.5em;
    display: block;
  }

  .archive .blog_detail .category a {
    margin-left: 0;
    margin-right: 1em;
  }
}

/*    追加 杉本　2024/2/15*/
.slider {
  width: 90%;
  margin: 0 auto 80px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.mypattern{
  width: 100%;
}
.mypattern .slick-slide{
  margin: 5px;

}
.slick-list {
	overflow: visible !important;
}
.slick01 li img{
	max-width: 98%;
  margin: auto;
	}
  .slick-dotted.slick-slider{
    margin-top: max(180px,10vw);
  }
  .slick-dots li button:before{
    font-size:10px!important;
  }
  .slick-dots li{
    width:30px!important;
  }
  .slick-dots{
    bottom: -50px!important;
  }
  #top-body #v-ttl{
    position: static;
    transform: none;
    margin-top: 100px;
    margin-bottom: 100px;
  }
  
  #v-ttl .ef.done{
    transform: translate(0);
  }
  #main_vege{
    margin-top: 120px;
    position: relative;
    overflow: hidden;
  }
  #main_vege #v-km{
    position: absolute;
    top: -41%;
    left: -13%;
  }
  #main_vege #v-bk{
    position: absolute;
    top: -44%;
    right: -8%;
    left: auto;
  }
  #main_vege #v-pp{
    position: absolute;
    top: 40%;
    left: 1%;
  }
  #main_vege #v-tm{
    position: absolute;
    top: 58%;
    left: auto;
    right: -2%;
  }
  #main_vege img{
    width: auto;
  }
  .wipe{
    transform: translate(0);
  }
  
  @media (min-width: 769px) and (max-width: 1200px){
    #main_vege #v-km{
      width: 60%;
      top: -40%;
    }
    #main_vege #v-bk{
      width: 40%;
      top: -40%;
    }
    .slick-dotted.slick-slider{
      margin-top: max(160px,15vw);
   }
  }
   

@media (max-width:768px) {
    #main_vege #v-km{
      left: -39%;
      top: -35%;
    }
    #main_vege #v-bk{
      top: -30%;
      right: -32%;
      width: 60%;
    }
    #main_vege #v-pp,#main_vege #v-tm{
      width: 40%;
    }
    .slick-dotted.slick-slider{
      margin-top: max(150px,16vw);
    }
    #main_vege{
      margin-top: 65px;
    }
    .slick-dots{
      bottom: -30px!important;
  }
  #top-body{
    overflow: hidden;
  }
}
@media (max-width: 480px) {
  /*.slick-dotted.slick-slider{
    margin-top: 30%;
  }*/
 }