@charset "UTF-8";
:root {
  --global--color:#1B2856;
  --global--color2:#fff;
  --global--color3:#E0E0E0;
  --global--txt-color:#000;
  --global--txt-color2:#3975B7; }

body {
  color: var(--global--txt-color);
  font-family: 'Noto Sans', sans-serif;
  font-size: 16px;
  line-height: 2; }
  @media screen and (max-width: 768px) {
    body {
      /* font-size: 4.3vw; */
      line-height: 1.75; } }

.impact {
  font-family: 'Anton', sans-serif;
  letter-spacing: 0.1rem;
  font-weight: 700; }

.poppins {
  font-family: 'Poppins', sans-serif;
  margin-bottom: 40px;
  letter-spacing: 0.6rem;
  font-weight: 700;
  font-style: italic; }

#header {
  position: absolute;
  padding: 25px 25px 25px 51px;
  top: 0;
  right: 0;
  left: 0;
  color: white;
  font-size: 15px;
  transition: .5s;
  z-index: 9; }
  @media screen and (max-width: 768px) {
    #header {
      padding: 3.1vw 6vw;
      overflow: hidden; } }
  #header.fixed {
    position: fixed;
    background: white;
    color: black; }
    #header.fixed svg {
      fill: black; }
    #header.fixed .btn_contact a {
      border-color: black; }
      #header.fixed .btn_contact a span:before {
        content: "";
        width: 0;
        top: 0;
        left: 0px;
        bottom: 0;
        position: absolute;
        background: black;
        transition: .5s;
        z-index: -1; }
      #header.fixed .btn_contact a:hover {
        color: white;
        opacity: 1; }
        #header.fixed .btn_contact a:hover span:before {
          width: 100%; }
        #header.fixed .btn_contact a:hover svg {
          fill: #fff !important; }
    #header.fixed #sp-nav-toggle span {
      border-bottom-color: black; }
  #header.open {
    bottom: 0;
    background: white;
    color: black; }
    #header.open svg {
      fill: black; }
    #header.open span {
      border-bottom-color: black; }

#logo_header {
  position: absolute;
  z-index: 1; }
  @media screen and (max-width: 850px) {
    #logo_header {
      top: 5vw; } }
  #logo_header svg {
    fill: #fff; }
    @media screen and (max-width: 850px) {
      #logo_header svg {
        width: 37vw;
        height: auto; } }

#gm {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  max-width: 1200px; }
  @media screen and (max-width: 850px) {
    #gm {
      position: initial; } }
  #gm li {
    margin-left: 42px; }
    @media screen and (max-width: 850px) {
      #gm li {
        margin-left: 0; } }

.btn_contact {
  margin-left: 55px; }
  @media screen and (max-width: 850px) {
    .btn_contact {
      margin: 2vw 16vw 0 0; } }
  .btn_contact a {
    border: 2px solid #fff;
    padding: 5px;
    width: 148px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media screen and (max-width: 850px) {
      .btn_contact a {
        width: auto;
        height: auto;
        border: none;
        padding: 0; } }
    .btn_contact a span:before {
      content: "";
      width: 0;
      top: 0;
      left: 0px;
      bottom: 0;
      position: absolute;
      background: white;
      transition: .5s;
      z-index: -1; }
    .btn_contact a:hover {
      color: black;
      opacity: 1; }
      .btn_contact a:hover span:before {
        width: 100%; }
      .btn_contact a:hover svg {
        fill: black !important; }
  .btn_contact svg {
    fill: #fff;
    margin: 0 4px 0 0; }
    @media screen and (max-width: 850px) {
      .btn_contact svg {
        width: 9vw;
        height: 6vw; } }

a:hover {
  opacity: .7; }

#mainvisual_top {
  background: url(../images/top/main_bg.jpg) top center;
  height: 935px;
  text-align: center;
  display: flex;
  color: white; }
  @media screen and (min-width: 1920px) {
    #mainvisual_top {
      background-size: 100% !important; } }
  @media screen and (max-width: 768px) {
    #mainvisual_top {
      height: 125vw;
      padding: 8vw;
      background-size: cover; } }
  #mainvisual_top .poppins {
    transform: translateY(20px); }
    @media screen and (max-width: 768px) {
      #mainvisual_top .poppins {
        transform: translateY(4vw);
        margin-bottom: 0vw; } }
  @media screen and (max-width: 768px) {
    #mainvisual_top .subtitle {
      margin-top: 1vw;
      font-size: 3.1vw; } }
  #mainvisual_top .btn_blue {
    transform: translateY(45px); }

.btn_blue {
  max-width: 360px;
  width: 100%;
  margin: auto;
  font-weight: 700; }
  @media screen and (max-width: 768px) {
    .btn_blue {
      max-width: 75vw; } }
  .btn_blue a {
    color: white !important;
    text-decoration: none !important;
    background: var(--global--color);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    transform: skewX(-12deg);
    height: 60px;
    box-shadow: 5px 5px #000;
    position: relative;
    transition: .5s; }
    .btn_blue a:hover {
      transform: skewX(-12deg) translate(5px, 5px);
      box-shadow: none;
      opacity: 1; }
    .btn_blue a:before, .btn_blue a:after {
      content: "";
      position: absolute;
      right: 35px;
      top: 0;
      bottom: 0;
      margin: auto;
      background: white; }
    .btn_blue a:before {
      width: 26px;
      height: 2px; }
    .btn_blue a:after {
      height: 10px;
      width: 2px;
      transform: skewX(12deg) rotate(-45deg) translate(0px, -5px); }
    @media screen and (max-width: 768px) {
      .btn_blue a {
        height: auto;
        padding: 15px 10px; } }
  .btn_blue span {
    display: block;
    transform: skewX(12deg); }

.pc_none {
  display: none; }

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

  .sp_none {
    display: none; } }
.inner {
  max-width: 1200px;
  margin: auto;
  position: relative; }
  @media screen and (max-width: 768px) {
    .inner {
      width: auto; } }

.fs85 {
  font-size: 85px;
  line-height: initial; }
  @media screen and (max-width: 768px) {
    .fs85 {
      font-size: 9vw;
      letter-spacing: 1vw; } }

.subtitle {
  font-size: initial;
  display: block;
  letter-spacing: 0rem; }
  @media screen and (max-width: 768px) {
    .subtitle {
      /* font-size: 3.7vw; */
      margin-top: 3vw; } }

.topics_top {
  min-height: 845px;
  padding: 70px 0;
  background: url("../images/common/logo_bg.svg") bottom right no-repeat;
  line-height: initial; }
  @media screen and (max-width: 768px) {
    .topics_top {
      padding: 11vw 5vw;
      background: url(../images/top/logo_bg_sp.svg) top right no-repeat;
      background-size: 43vw; } }
  .topics_top dt {
    border-bottom: 2px solid;
    margin-bottom: 40px; }
    .topics_top dt span {
      background: #000;
      color: white;
      padding: 6px 10px;
      display: inline-block;
      font-size: 15px;
      border-radius: 5px 5px 0 0; }
  .topics_top dd {
    font-size: 12px;
    margin-bottom: 60px; }
    .topics_top dd li {
      margin-bottom: 30px; }
      .topics_top dd li a {
        display: flex;
        flex-wrap: wrap;
        align-items: center; }

.topics_top_title {
  font-size: 14px;
  display: block;
  width: 100%;
  margin: 10px 0 0px; }
  @media screen and (max-width: 768px) {
    .topics_top_title {
      /* font-size: 3.1vw; */ } }

.topics_top_term {
  padding: 3px 10px;
  margin-left: 13px;
  color: white;
  min-width: 90px; }

.release {
  background: #3CA98F; }

.news {
  background: #3C76A9; }

.media {
  background: #81A93C; }

.event {
  background: #000; }

.fs52,
.page .fs52 {
  font-size: 52px;
  line-height: initial; }
  @media screen and (max-width: 768px) {
    .fs52,
    .page .fs52 {
      /* font-size: 9.7vw; */
      letter-spacing: 0.3vw; } }

@media screen and (min-width: 769px) {
  .flex, .wp-block-columns {
    display: flex;
    justify-content: space-between; }

  .wp-block-columns {
    justify-content: space-evenly; }

  .w46 {
    width: 46%; }

  .w38 {
    width: 38%; } }
.jc_end {
  justify-content: flex-end; }

.ai_center {
  align-items: center; }

article.page .btn_border,
.btn_border {
  max-width: 360px;
  margin: auto; }
  @media screen and (max-width: 768px) {
    article.page .btn_border,
    .btn_border {
      max-width: 75vw; } }
  article.page .btn_border a,
  .btn_border a {
    border: 3px solid var(--global--color);
    color: var(--global--color);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: skewX(-12deg);
    height: 60px;
    position: relative;
    transition: .5s;
    overflow: hidden;
    text-decoration: none !important; }
    article.page .btn_border a:before, article.page .btn_border a:after,
    .btn_border a:before,
    .btn_border a:after {
      content: "";
      position: absolute;
      right: 35px;
      top: 0;
      bottom: 0;
      margin: auto;
      background: var(--global--color);
      z-index: 1;
      transition: .5s; }
      @media screen and (max-width: 768px) {
        article.page .btn_border a:before, article.page .btn_border a:after,
        .btn_border a:before,
        .btn_border a:after {
          right: 20px; } }
    article.page .btn_border a:before,
    .btn_border a:before {
      width: 26px;
      height: 2px; }
    article.page .btn_border a:after,
    .btn_border a:after {
      height: 10px;
      width: 2px;
      transform: skewX(12deg) rotate(-45deg) translate(0px, -5px); }
    article.page .btn_border a:hover,
    .btn_border a:hover {
      color: white;
      opacity: 1; }
      article.page .btn_border a:hover span:before,
      .btn_border a:hover span:before {
        width: 110%; }
      article.page .btn_border a:hover:before, article.page .btn_border a:hover:after,
      .btn_border a:hover:before,
      .btn_border a:hover:after {
        background: white; }
    @media screen and (max-width: 768px) {
      article.page .btn_border a,
      .btn_border a {
        height: auto; } }
  article.page .btn_border.white,
  .btn_border.white {
    color: white; }
    article.page .btn_border.white a,
    .btn_border.white a {
      border-color: white;
      color: white; }
      article.page .btn_border.white a:before, article.page .btn_border.white a:after,
      .btn_border.white a:before,
      .btn_border.white a:after {
        background: white; }
      article.page .btn_border.white a:hover,
      .btn_border.white a:hover {
        color: var(--global--color); }
        article.page .btn_border.white a:hover:before, article.page .btn_border.white a:hover:after,
        .btn_border.white a:hover:before,
        .btn_border.white a:hover:after {
          background: var(--global--color); }
        article.page .btn_border.white a:hover span:before,
        .btn_border.white a:hover span:before {
          background: white; }
  article.page .btn_border span,
  .btn_border span {
    text-align: center;
    transform: skewX(12deg);
    width: 100%;
    height: 100%;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      article.page .btn_border span,
      .btn_border span {
        padding: 10px; } }
    article.page .btn_border span:before,
    .btn_border span:before {
      content: "";
      width: 0;
      top: 0;
      left: -10px;
      bottom: 0;
      position: absolute;
      background: var(--global--color);
      transition: .5s;
      z-index: -1; }

.service_top {
  background: url("../images/top/service_bg.jpg") center;
  min-height: 884px;
  color: white;
  padding: 117px 0; }
  @media screen and (max-width: 768px) {
    .service_top {
      padding: 15vw 6vw;
      min-height: inherit; } }

.service_top_text {
  max-width: 900px;
  margin: auto; }

p {
  margin-bottom: 20px; }

.center {
  text-align: center; }

.fs30 {
  font-size: 30px;
  line-height: initial; }
  @media screen and (max-width: 768px) {
    .fs30 {
      /* font-size: 5.4vw; */ } }

.slider.service,
.slider_none.service {
  display: flex;
  gap: 30px;
  color: #000;
  margin-bottom: 40px;
	width: 81vw;
      margin: 0 auto 8vw;
}
  @media screen and (max-width: 768px) {
    .slider.service,
    .slider_none.service {
      width: 81vw;
      margin: 0 auto 8vw; } }
  .slider.service a,
  .slider_none.service a {
    display: flex;
    flex-wrap: wrap;
    height: 200px;
    width: 380px;
    justify-content: center;
    align-items: center;
    align-content: center;
    background: white;
    font-weight: 700;
    padding: 10px;
    text-align: center;
    text-decoration: none !important; }
    .slider.service a img,
    .slider_none.service a img {
      display: block;
      margin: 0 auto 10px; }
      @media screen and (max-width: 768px) {
        .slider.service a img,
        .slider_none.service a img {
          width: 10vw; } }
    @media screen and (max-width: 768px) {
      .slider.service a,
      .slider_none.service a {
        width: 95%;
        height: 29vw; } }

.servie_slider_text {
  width: 100%;
  font-size: 21px; }
  @media screen and (max-width: 768px) {
    .servie_slider_text {
      /* font-size: 3.3vw; */
      line-height: 1.2; } }

.txt_blue {
  color: var(--global--txt-color2); }

.txt_blue2 {
  color: var(--global--color); }

.fs110 {
  font-size: 110%; }

.slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 35px;
  height: 35px;
  font-size: 0;
  border: 3px solid white;
  border-bottom: none; }
  @media screen and (max-width: 768px) {
    .slick-arrow {
      width: 5vw;
      height: 5vw; } }

.slick-next {
  left: 100%;
  border-left: none;
  transform: rotate(45deg) translate(-20px, -10px); }
  @media screen and (max-width: 768px) {
    .slick-next {
      transform: rotate(45deg) translate(-1vw, 0vw); } }

.slick-prev {
  right: 100%;
  border-right: none;
  transform: rotate(-45deg) translate(20px, -10px); }
  @media screen and (max-width: 768px) {
    .slick-prev {
      transform: rotate(-45deg) translate(0vw, -1vw); } }

ul.slick-dots {
  position: absolute;
  top: 106%;
  right: 0;
  left: 0;
  display: flex !important;
  justify-content: center;
  color: white;
  font-size: 0; }

ul.slick-dots li {
  width: 10px;
  height: 10px;
  background: white;
  border-radius: 50%;
  margin: 0 6px;
  cursor: pointer; }

ul.slick-dots li.slick-active {
  background: #5c7af3; }

@media screen and (max-width: 768px) {
  .slick-active + .slick-active a {
    margin-left: auto; } }
.recuruit_top {
  min-height: 813px;
  padding: 165px 0 90px;
  background: url(../images/top/logo_bg.svg) #EFF0F3 bottom repeat-x; }
  @media screen and (max-width: 768px) {
    .recuruit_top {
      padding: 8vw 5vw 20vw;
      min-height: inherit;
      background-size: 153vw; } }

.recuruit_top_txt {
  max-width: 650px;
  background: white;
  padding: 80px 180px 80px 80px; }

/* トップページの採用ブロック (PC) */
@media screen and (min-width: 1200px) {
  .recuruit_top_img {
    position: absolute;
    right: 0;
    top: -85px; } 
}

/* トップページの採用ブロック (スマホ,タブレット) */
@media screen and (max-width: 1199px) {
  .recuruit_top_img {
    width: 70vw;
    margin: 0 auto 6vw;
	 text-align: center; }
  .recuruit_top_txt {
    padding: 12vw 14vw;
	 margin: 0 auto; } 
  .recuruit_top_txt .btn_border {
    margin: 0 -5vw; }
}

.contact_top {
  min-height: 374px;
  padding: 70px 0 40px;
  background: white; }
  @media screen and (max-width: 768px) {
    .contact_top {
      padding: 11vw 19vw;
      min-height: inherit; }
      .contact_top .btn_blue {
        margin: 0 -5vw; } }

#footer {
  background: #434343; }

#footer > .flex {
  align-items: center;
  color: white;
  min-height: 179px; }

.footer_left {
  font-size: 12px; }

#footer .sns_links a {
	display: inline-block;
	width: 3em;
	height: 3em;
	margin: 0 1em;
}

#footer .sns_links a img {
	width: 100%;
	height: 100%;
}

.footer_right {
  transform: translateY(17px); }
  .footer_right li {
    margin: 0 0 10px 40px;
    font-size: 15px; }
    @media screen and (max-width: 768px) {
      .footer_right li {
        margin: 20px auto; } }

@media screen and (max-width: 768px) {
  .footer_right {
    text-align: center;
    transform: translateY(10px); }

  footer#footer {
    text-align: center;
    padding: 5vw 5vw 9vw;
    position: relative; }

  #footer > .flex {
    min-height: inherit;
    position: initial; }

  .logo_footer img {
    width: 43vw; }

  address {
    position: absolute;
    bottom: 1vw;
    left: 0;
    right: 0;
    /* font-size: 1vw; */ }

  .footer_right img {
    width: 44vw; } }
.bold {
  font-weight: 700; }

.mb0 {
  margin-bottom: 0px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

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

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb85 {
  margin-bottom: 85px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mt0 {
  margin-top: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt65 {
  margin-top: 65px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt75 {
  margin-top: 75px !important; }

.mt80 {
  margin-top: 80px !important; }

.mt85 {
  margin-top: 85px !important; }

.mt90 {
  margin-top: 90px !important; }

.ml0 {
  margin-left: 0; }

img {
  max-width: 100%;
  height: auto }

.single img {
  display: block;
  margin-left: auto;
  margin-right: auto; }

@media screen and (max-width: 850px) {
  #header .sp_none {
    display: none; }

  #header .pc_none {
    display: block; }

  #sp-nav-toggle {
    display: block;
    position: absolute;
    width: 8vw !important;
    height: 8vw;
    cursor: pointer;
    margin: 0 !important;
    z-index: 99;
    right: 5vw;
    top: 6vw; }

  #sp-nav-toggle div {
    position: relative;
    width: 100%; }

  #sp-nav-toggle span {
    display: block;
    position: absolute;
    width: 100%;
    border-bottom: solid 3px #ffffff;
    transition: .35s ease-in-out; }

  #sp-nav-toggle span:nth-child(1) {
    top: -1vw; }

  #sp-nav-toggle span:nth-child(2) {
    top: 2vw; }

  #sp-nav-toggle span:nth-child(3) {
    top: 5vw; }

  .open #sp-nav-toggle span:nth-child(1) {
    top: 6px;
    transform: rotate(-45deg); }

  .open #sp-nav-toggle span:nth-child(2), .open #sp-nav-toggle span:nth-child(3) {
    top: 6px;
    transform: rotate(45deg); }

  .sp_menu {
    position: absolute;
    top: 102px;
    left: 10vw;
    right: 10vw; }

  .sp_menu a {
    padding: 12px;
    border-bottom: 1px solid;
    display: block;
    position: relative; }
    .sp_menu a:after {
      content: "";
      position: absolute;
      right: 5vw;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 15px;
      height: 15px;
      border: 2px solid;
      border-bottom: none;
      border-left: none;
      transform: rotate(45deg); } }
@media screen and (max-width: 768px) {
  img {
    height: auto; }

  .mb55 {
    margin-bottom: 6vw !important; }

  .mb14_sp {
    margin-bottom: 14vw !important; } }
#mainvisual {
  height: 460px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white; }
  @media screen and (min-width: 1920px) {
    #mainvisual {
      background-size: 100% !important; } }
  @media screen and (min-width: 769px) {
    #mainvisual {
      background: url(../images/top/main_bg.jpg) top center; } }
  @media screen and (max-width: 768px) {
    #mainvisual {
      background: url("../images/common/main_under_sp.png") top center/cover;
      height: 61vw; } }
  #mainvisual .fs42 {
    display: block;
    width: 100%; }

.fs42 {
  font-size: 42px; }
  @media screen and (max-width: 768px) {
    .fs42 {
      /* font-size: 7vw; */ } }

.mainvisual_text {
  transform: translateY(50px);
  line-height: 1.5;
  font-size: 18px; }
  @media screen and (max-width: 768px) {
    .mainvisual_text {
      transform: translateY(4vw);
      /* font-size: 4vw; */ } }

ul#breadcrumb {
  display: flex;
  min-height: 50px;
  align-items: center;
  color: #B9B9B9;
  word-break: keep-all;
  white-space: nowrap; }
  @media screen and (max-width: 768px) {
    ul#breadcrumb {
      padding: 8px 18px;
      min-height: auto; } }

ul#breadcrumb li + li:before {
  content: ">";
  margin: 0 5px;
  color: #B9B9B9; }

ul#breadcrumb li:last-child {
  color: black;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.blog_top {
  background: #F7F7F7;
  padding: 68px 0 80px; }
  @media screen and (max-width: 768px) {
    .blog_top {
      padding: 30px 20px; } }

.inner2 {
  max-width: 800px;
  margin: auto; }
  @media screen and (max-width: 768px) {
    .inner2 {
      width: auto; }
      .inner2.mt80 {
        padding: 0px 18px;
        margin-top: 20px !important; } }

.ttl_underline, body.page h2 {
  font-size: 30px;
  position: relative;
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    .ttl_underline, body.page h2 {
      /* font-size: 6vw; */
      margin-bottom: 4vw; } }

.ttl_underline:after,
body.page h2:after {
  content: "";
  width: 29px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3px;
  background: var(--global--color);
  height: 2px;
  margin: auto; }
  @media screen and (max-width: 768px) {
    .ttl_underline:after,
    body.page h2:after {
      bottom: -2px; } }

.bg_whiteBox {
  padding: 50px 50px 35px;
  background: white; }
  @media screen and (max-width: 768px) {
    .bg_whiteBox {
      padding: 30px; } }
  .bg_whiteBox a {
    margin-bottom: 15px;
    border-bottom: 1px solid var(--global--color3);
    padding-bottom: 42px;
    display: block; }
    @media screen and (max-width: 768px) {
      .bg_whiteBox a {
        padding-bottom: 15px; } }

_
.list-date {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6); }

.inner .date {
  font-size: 14px; }

.list-text {
  font-size: 18px;
  line-height: 1; }
  @media screen and (max-width: 768px) {
    .list-text {
      line-height: initial; } }

.post_content_wrap {
  padding: 70px 0; }

.post_content {
  width: 100%;
  max-width: 870px; }
  @media screen and (max-width: 768px) {
    .post_content {
      padding: 0 20px;
      margin-bottom: 80px; } }

.sidebar {
  width: 100%;
  max-width: 250px; }
  @media screen and (max-width: 768px) {
    .sidebar {
      padding: 0 20px;
      max-width: initial; } }

.ttl_topline {
  border-top: 1px solid var(--global--color3);
  position: relative;
  padding: 12px 0; }

.ttl_topline:before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 110px;
  border-top: 2px solid var(--global--color); }

.fs13 {
  font-size: 13px; }
  @media screen and (max-width: 768px) {
    .fs13 {
      /* font-size: 4vw !important; */ } }

.fs18 {
  font-size: 18px; }
  @media screen and (max-width: 768px) {
    .fs18 {
      /* font-size: 4.5vw !important; */ } }

.fs20 {
  font-size: 20px !important; }
  @media screen and (max-width: 768px) {
    .fs20 {
      /* font-size: 5vw !important; */ } }

.fs22 {
  font-size: 22px !important; }
  @media screen and (max-width: 768px) {
    .fs22 {
      /* font-size: 5.5vw !important; */ } }

.fs23 {
  font-size: 23px; }
  @media screen and (max-width: 768px) {
    .fs23 {
      /* font-size: 5.6vw; */ } }

.fs26 {
  font-size: 26px; }
  @media screen and (max-width: 768px) {
    .fs26 {
      /* font-size: 5vw; */ } }

.year-list a, .tag-list a, .term_list a {
  display: block;
  padding: 10px;
  border-bottom: 1px solid var(--global--color3); }
.year-list .active a, .tag-list .active a, .term_list .active a {
  background: var(--global--color3); }

.tag-list div {
  width: 48%; }
  @media screen and (max-width: 768px) {
    .tag-list div {
      width: auto; } }
.tag-list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
.tag-list li {
  width: 47%; }
  @media screen and (max-width: 768px) {
    .tag-list li {
      width: 100%; } }
.tag-list a {
  border-radius: 30px;
  text-align: center;
  margin-bottom: 10px;
  padding: 0px;
  border: 1px solid black;
  font-size: 13px; }
  @media screen and (max-width: 768px) {
    .tag-list a {
      padding: 10px;
      /* font-size: 4.2vw; */ } }
.tag-list .active a {
  background: var(--global--color3);
  border-color: var(--global--color3); }

.term_tag {
  display: inline-block;
  border: 1px solid black;
  border-radius: 20px;
  padding: 0px 6px;
  font-size: 13px;
  margin: 0 0 0 44px; }
  @media screen and (max-width: 768px) {
    .term_tag {
      margin: 0 0 0 14px; } }

.single h1 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 22px; }
  @media screen and (max-width: 768px) {
    .single h1 {
      /* font-size: 4.8vw; */
      line-height: 1.7;
      margin-top: 2vw; } }

.wp-block-buttons, .wp-block-buttons > .wp-block-button {
  display: block !important;
  text-align: center; }

.entry-content p {
  margin-bottom: 46px; }

.wp-block-buttons {
  max-width: 360px;
  margin: 0 auto 50px; }
  @media screen and (max-width: 768px) {
    .wp-block-buttons {
      max-width: 75vw; } }
  .wp-block-buttons .wp-block-button {
    border: 3px solid var(--global--color);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: skewX(-12deg);
    height: 60px;
    position: relative;
    transition: .5s;
    overflow: hidden;
    cursor: pointer; }
    .wp-block-buttons .wp-block-button:before, .wp-block-buttons .wp-block-button:after {
      content: "";
      position: absolute;
      right: 35px;
      top: 0;
      bottom: 0;
      margin: auto;
      background: var(--global--color);
      z-index: 1;
      transition: .5s; }
    .wp-block-buttons .wp-block-button:before {
      width: 26px;
      height: 2px; }
    .wp-block-buttons .wp-block-button:after {
      height: 10px;
      width: 2px;
      transform: skewX(12deg) rotate(-45deg) translate(0px, -5px); }
    .wp-block-buttons .wp-block-button:hover a {
      color: white;
      opacity: 1; }
    .wp-block-buttons .wp-block-button:hover a:before {
      width: 110%; }
    .wp-block-buttons .wp-block-button:hover:before, .wp-block-buttons .wp-block-button:hover:after {
      background: white; }
/*     @media screen and (max-width: 768px) {
      .wp-block-buttons .wp-block-button {
        height: auto;
        padding: 10px; } } */
  .wp-block-buttons.white {
    color: white; }
    .wp-block-buttons.white .wp-block-button {
      border-color: white;
      color: white; }
      .wp-block-buttons.white .wp-block-button:before, .wp-block-buttons.white .wp-block-button:after {
        background: white; }
      .wp-block-buttons.white .wp-block-button:hover:before, .wp-block-buttons.white .wp-block-button:hover:after {
        background: var(--global--color); }
      .wp-block-buttons.white .wp-block-button:hover a:before {
        background: white;
        color: var(--global--color); }
  .wp-block-buttons a {
    color: var(--global--color);
    text-align: center;
    transform: skewX(12deg);
    width: 100%;
    height: 100%;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    background: none;
    border-radius: inherit; }
    @media screen and (max-width: 768px) {
      .wp-block-buttons a {
        font-size: initial;
        padding: 0; } }
    .wp-block-buttons a:before {
      content: "";
      width: 0;
      top: 0;
      left: -10px;
      bottom: 0;
      position: absolute;
      background: var(--global--color);
      transition: .5s;
      z-index: -1; }

.entry-content h2 {
  color: var(--global--color);
  font-size: 22px;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .entry-content h2 {
      /* font-size: 4.9vw; */
      margin-bottom: 20px; } }

.entry-content h3,
body.page h3 {
  font-size: 22px;
	font-weight: bold;
  border-bottom: 1px solid var(--global--color);
  margin-bottom: 44px; }
  @media screen and (max-width: 768px) {
    .entry-content h3,
    body.page h3 {
      /* font-size: 5.4vw; */
      margin-bottom: 20px; } }

.entry-content h4,
body.page h4 {
  font-size: 18px;
  padding-left: 11px;
  position: relative;
  margin-bottom: 35px; }
  @media screen and (max-width: 768px) {
    .entry-content h4,
    body.page h4 {
      /* font-size: 4.9vw; */
      margin-bottom: 20px; } }

.entry-content h4:before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  bottom: 9px;
  width: 5px;
  background: var(--global--color); }

.entry-content h5 {
  margin-bottom: 40px;
  font-weight: 700; }

.entry-content ul {
  margin-bottom: 40px; }

.entry-content ul li {
  list-style: inside;
  position: relative; }

.entry-content ul:not(.talk_menber) li:before {
  content: "";
  width: 10px;
  height: 10px;
  background: var(--global--color);
  position: absolute;
  top: 10px;
  left: 0; }

.wp-block-image img {
  margin-bottom: 30px; }

blockquote.wp-block-quote {
  border: none;
  padding: 30px 40px 50px 40px;
  line-height: 2.2;
  margin: 0 0 40px;
  background: #F7F7F7; }
  @media screen and (max-width: 768px) {
    blockquote.wp-block-quote {
      padding: 20px; } }

blockquote.wp-block-quote p {
  margin: 0; }

.block-thumbnail-block a {
  display: flex;
  justify-content: space-between;
  border: 1px solid #B9B9B9;
  padding: 15px 20px;
  margin-bottom: 55px;
  text-decoration: none !important; }

.block-thumbnail-block a > * {
  max-width: 50%; }

.block-thumbnail-block img {
  max-height: 130px; }

dl.block-thumbnail-block_txt dd {
  font-size: 13px;
  color: #B9B9B9;
  margin-top: 20px; }

.entry-content {
  margin-bottom: 100px; }

.recruit.inner3 {
	max-width: 1200px;
}

.recruit.inner3 a {
	background: #fff;
}

dl.recruit dd {
	margin-top: 10px;
	margin-bottom: 30px;
}

dl.recruit dt .recruit-term {
    display: inline-block;
    background: #1b2856;
    color: #fff;
    border-radius: 5px;
    padding: 0 5px;
    margin-left: 15px;	
	 font-size: 12px;
	 vertical-align: middle;
   	margin-bottom: 3px;
}

body dl.recruit > dd > ul {
	list-style: disc;
	margin-left: 20px;
}

.wp-block-table {
  overflow-x: inherit; }
  @media screen and (max-width: 768px) {
    .wp-block-table {
      overflow-x: scroll;
      position: relative; }
      .wp-block-table:before {
        content: "横スクロールが出来ます";
        text-align: center;
        position: sticky;
        left: 0;
        right: 0;
        top: 0;
        display: block; } }
  .wp-block-table table {
    width: 100%; }
    @media screen and (max-width: 768px) {
      .wp-block-table table {
        width: max-content; } }
  .wp-block-table thead th {
    background: var(--global--color);
    text-align: center;
    border: none;
    color: white;
    vertical-align: middle; }
  .wp-block-table td, .wp-block-table th {
    padding: 14px;
    border: 1px solid #B9B9B9;
    word-break: break-word; }
  .wp-block-table thead {
    border: none; }
  .wp-block-table thead th + th {
    border-left: 1px solid #B9B9B9; }
  .wp-block-table tbody td:nth-child(1) {
    background: #D4D8E3; }
  .wp-block-table.tbl02 td {
    border: none;
    border-top: 1px solid #D4D4D4;
    padding: 14px 0;
    position: relative; }
  .wp-block-table.tbl02 tbody td:nth-child(1) {
    background: none;
    color: var(--global--color);
    font-weight: 700; 
    width: 160px; }
    .wp-block-table.tbl02 tbody td:nth-child(1):after {
      content: "";
      position: absolute;
      top: -1px;
      right: 0;
      width: 20px;
      border-top: 1px solid white; }
  .wp-block-table.tbl02 tbody tr:last-child td {
    border-bottom: 1px solid #D4D4D4; }
    .wp-block-table.tbl02 tbody tr:last-child td:nth-child(1):before {
      content: "";
      position: absolute;
      bottom: -1px;
      right: 0;
      width: 20px;
      border-top: 1px solid white; }

@media screen and (max-width: 768px) {
	.wp-block-table.tbl-sp01:before {
		content: "";
	}
	.tbl-sp01 > table {
		width: initial;
	}
	.tbl-sp01 > table td {
      display: block;
   }
	.company-google-map {
		width: 100%;
	}
	.wp-block-table.tbl02.tbl-sp01 td:nth-child(2) {
	   border-top: none;
	}
   .wp-block-table.tbl02.tbl-sp01 tbody tr:last-child td:nth-child(1) {
      border-top: 1px solid #D4D4D4;
	   border-bottom: none;
   }
	.wp-block-table.tbl02.tbl-sp01 tbody td:nth-child(1) {
		width: initial;
	}
}

.box_bg2 .wp-block-table.tbl02 tbody td:after,
.box_bg2 .wp-block-table.tbl02 tbody td:before {
  border-top-color: #EFF0F3 !important; }

.mw_wp_form .mw_wp_form_title {
  color: var(--global--color);
  font-size: 18px; }
.mw_wp_form p {
  margin-bottom: 23px; }
  .mw_wp_form p.contact_text {
    font-size: 20px;
    text-align: center;
    margin-bottom: 65px; }
    @media screen and (max-width: 768px) {
      .mw_wp_form p.contact_text {
        /* font-size: 4.8vw; */
        margin-bottom: 40px; } }
  .mw_wp_form p a {
    text-decoration: underline;
    color: var(--global--color); }

.required {
  font-size: 13px;
  background: var(--global--color);
  color: white;
  padding: 1px 4px;
  margin: 0 0 0 10px; }

ul.page-numbers {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }

li .page-numbers {
  width: 30px;
  height: 30px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #c2c2c2;
  margin: 0 4px;
  color: #B9B9B9;
  position: relative; }
  @media screen and (max-width: 768px) {
    li .page-numbers {
      width: 10vw;
      height: 10vw; } }

.page-numbers.current {
  background: #000000;
  color: white; }

.prev.page-numbers, .next.page-numbers {
  border: none; }
  .prev.page-numbers:before, .prev.page-numbers:before, .next.page-numbers:before, .next.page-numbers:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border: 2px solid black;
    border-right: none;
    border-top: none; }

.prev.page-numbers:before {
  transform: rotate(45deg); }

.next.page-numbers:before {
  transform: rotate(-135deg); }

input:not([type="radio"]):not([type="submit"]), textarea {
  background: #f7f7f7;
  width: 100%;
  padding: 5px 10px; }

.first_image {
  background-size: cover;
  background-position: center center;
  height: 9em;
  width: 12em;
  display: block; }
  .first_image * {
    height: auto;
    max-height: 190px;
    max-width: 100%;
    margin: auto;
    display: block; }
  .first_image.none {
    padding: 20px;
    border: 1px solid #ccc;
    background: white;
    height: 125px;
    display: flex;
    align-items: center; }
  @media screen and (max-width: 768px) {
    .first_image {
      width: 100%; } }

#recruit .first_image * {
  max-height: inherit; }

span.blog_text {
  width: calc(100% - 220px); }

ul.blog_list li {
  margin-bottom: 20px; }
  ul.blog_list li + li {
    border-top: 1px solid #E0E0E0;
    padding-top: 20px; }

ul.topics_list li {
  margin-bottom: 15px;
  border-bottom: 1px solid #E0E0E0;
  padding-bottom: 15px; }

ol.contact_flow {
  max-width: 510px;
  margin: 0 auto 65px;
  display: flex;
  justify-content: space-between;
  counter-reset: number 0; }
  ol.contact_flow li {
    position: relative;
    text-align: center;
    font-size: 20px;
    color: #B9B9B9; }
    @media screen and (max-width: 768px) {
      ol.contact_flow li {
        /* font-size: 3.5vw; */ } }
    ol.contact_flow li:before {
      counter-increment: number 1;
      content: counter(number,decimal-leading-zero);
      display: flex;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      align-items: center;
      justify-content: center;
      background: #E0E0E0;
      font-size: 23px;
      font-family: 'Anton'; }
      @media screen and (max-width: 768px) {
        ol.contact_flow li:before {
          width: 11vw;
          height: 11vw;
          /* font-size: 4vw; */ } }
    ol.contact_flow li.active {
      color: var(--global--color); }
      ol.contact_flow li.active:before {
        background: var(--global--color);
        color: white; }
  ol.contact_flow li + li:after {
    content: "";
    position: absolute;
    top: 30px;
    left: -140px;
    height: 1px;
    background: black;
    width: 100px; }
    @media screen and (max-width: 768px) {
      ol.contact_flow li + li:after {
        width: 17vw;
        left: -20vw;
        top: 6vw; } }

/*
.contact_buttom {
  max-width: 360px;
  margin: 0 auto 50px;
  border: 3px solid var(--global--color);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: skewX(-12deg);
  height: 60px;
  position: relative;
  transition: .5s;
  overflow: hidden;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    .contact_buttom {
      max-width: 75vw;
      height: auto; } }
  .contact_buttom:before, .contact_buttom:after {
    content: "";
    position: absolute;
    right: 35px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: var(--global--color);
    z-index: 1;
    transition: .5s; }
  .contact_buttom:before {
    width: 26px;
    height: 2px; }
  .contact_buttom:after {
    height: 10px;
    width: 2px;
    transform: skewX(12deg) rotate(-45deg) translate(0px, -5px); }
  .contact_buttom:hover span {
    color: white;
    opacity: 1; }
  .contact_buttom:hover span:before {
    width: 110%; }
  .contact_buttom:hover:before, .contact_buttom:hover:after {
    background: white; }
  .contact_buttom span {
    color: var(--global--color);
    text-align: center;
    transform: skewX(12deg);
    width: 100%;
    height: 100%;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    background: none;
    border-radius: inherit; }
    @media screen and (max-width: 768px) {
      .contact_buttom span {
        font-size: initial;
        padding: 10px; } }
    .contact_buttom span:before {
      content: "";
      width: 0;
      top: 0;
      left: -10px;
      bottom: 0;
      position: absolute;
      background: var(--global--color);
      transition: .5s;
      z-index: -1; }
*/

.mw_wp_form:not(.mw_wp_form_input) .input_show,
.mw_wp_form:not(.mw_wp_form_confirm) .confirm_show,
.mw_wp_form:not(.mw_wp_form_complete) .thanks_show {
  display: none; }

/* reCAPTCHA の自動挿入ロゴを非表示にする
 * ※ 非表示にする場合、利用規約とプライバシーポリシーについて明記する必要がある
 * https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed
 **/
.grecaptcha-badge {
	display: none;
}

textarea {
  min-height: 360px; }

@media screen and (max-width: 768px) {
  .mwform-radio-field {
    display: block;
    margin: 0 !important; } }
@media screen and (min-width: 769px) {
  .mw_wp_form_confirm .contact_buttom_wrap {
    display: flex;
    justify-content: space-evenly; }
    .mw_wp_form_confirm .contact_buttom_wrap .contact_buttom {
      margin: 0 0 50px;
      width: 100%;
      max-width: 230px; } }
body.page h2 {
  text-align: center;
  font-weight: 700; }

body.page * + h2 {
  margin-top: 40px; }

body.page h3 {
  font-weight: 700;
  padding-bottom: 3px;
  margin-top: 45px; }
  @media screen and (min-width: 769px) {
    body.page h3 {
      /* font-size: 30px; */
      margin-bottom: 34px; } }

body.page h4 {
  color: var(--global--color);
  font-weight: 700;
  padding: 0; }
  @media screen and (min-width: 769px) {
    body.page h4 {
      font-size: 22px;
      margin-bottom: 6px; } }
  body.page h4:before {
    display: none; }

pre.wp-block-preformatted {
  padding: 20px;
  line-height: 2.2;
  margin: 0 0 40px;
  background: #F7F7F7;
  margin-bottom: 25px;
  white-space: pre-wrap; }

ol:not(.contact_flow) {
  margin: 0 0 35px 1.5em; }
  ol:not(.contact_flow) li {
    counter-increment: cnt;
	  text-indent: -1.5em;
/*     padding-left: 28px;
    position: relative;  */
}
    ol:not(.contact_flow) li:before {
      content: "(" counter(cnt) ") ";
/*       position: absolute;
      left: 0; */
}

body.page article ul {
  margin: 0 0 30px; }

body.page .entry-content p {
  margin-bottom: 20px; }

article.page div:not(.btn_border) a,
article.blog a:not(.wp-block-button__link),
article.topics a:not(.wp-block-button__link) {
  text-decoration: underline;
  color: var(--global--color); }

article.blog {
	word-break: break-all; /* 長い URL などが改行されずに横スクロールが発生する問題を解消 */
}

article.page a {
  text-decoration: underline; }

.w-full {
  width: 100vw; }
  @media screen and (max-width: 768px) {
    .w-full {
      margin: 0px -20px 0px; } }
  @media screen and (min-width: 1200px) {
    .w-full {
      margin-left: calc( 50% - 50vw ); } }
  .w-full:last-child {
    margin-top: 80px;
    margin-bottom: -80px; }
    @media screen and (max-width: 768px) {
      .w-full:last-child {
        margin: 20px -20px -20px !important; } }

@media screen and (min-width: 769px) {
  #company .w-full {
    margin-left: calc( 50% - 50vw ); } }

.col1-fuki-l, .col1-fuki-r {
  display: flex;
  justify-content: space-between;
  padding: 0 0;
  margin-bottom: 20px; }

.col1-fuki-l .wp-block-column:first-child figcaption, .col1-fuki-r .wp-block-column:last-child figcaption {
  text-align: center; }

.col1-fuki-l .wp-block-column:last-child, .col1-fuki-r .wp-block-column:first-child {
  position: relative;
  margin: 0;
  padding: 40px 50px 40px;
  border-radius: 26px;
  background: #F7F7F7;
  width: calc(100% - 170px); }
  @media screen and (max-width: 768px) {
    .col1-fuki-l .wp-block-column:last-child, .col1-fuki-r .wp-block-column:first-child {
      width: 66vw;
      padding: 15px; } }

.col1-fuki-l .wp-block-column:last-child:before, .col1-fuki-r .wp-block-column:first-child:before {
  content: "";
  position: absolute;
  top: 17%;
  border: 15px solid transparent;
  left: -60px;
  border-right: 46px solid #F7F7F7;
  flex-basis: 86%; }
  @media screen and (max-width: 768px) {
    .col1-fuki-l .wp-block-column:last-child:before, .col1-fuki-r .wp-block-column:first-child:before {
      border-width: 7px 19px;
      left: -35px;
      top: 0; } }

.col1-fuki-r .wp-block-column:first-child:before {
  left: inherit;
  right: -40px;
  border-right: none;
  border-left: 40px solid #F7F7F7; }
  @media screen and (max-width: 768px) {
    .col1-fuki-r .wp-block-column:first-child:before {
      border-width: 7px 19px;
      right: -35px;
      top: 0; } }

.col1-fuki-l .wp-block-column:first-child, .col1-fuki-r .wp-block-column:last-child {
/*   font-size: 12px; */
  text-align: center;
  width: 8.7%; }
  @media screen and (max-width: 768px) {
    .col1-fuki-l .wp-block-column:first-child, .col1-fuki-r .wp-block-column:last-child {
      /* font-size: 1vw; */
      width: 24%; } }
  .col1-fuki-l .wp-block-column:first-child img, .col1-fuki-r .wp-block-column:last-child img {
    max-width: 100%;
    height: auto;
    border-radius: 50%;
    background: #E4EFF5;
    margin-bottom: 0; }

.box_bg01 {
  padding: 75px 0 2px;
  background: #E4EFF5;
  margin-bottom: 65px;
  padding: 30px 20px 20px; }

.talk_menber {
  border-top: 1px solid #707070;
  margin-top: 40px;
  padding-top: 40px;
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    .talk_menber {
      margin-top: 30px;
      padding-top: 20px;
      margin-bottom: 0; } }

.talk_menber li {
  display: flex;
  align-items: center;
  width: 47%; }

.talk_menber li img {
  margin: 0;
}

  @media screen and (max-width: 768px) {
    .talk_menber li {
      width: 100%;
      margin-bottom: 10px; } }

@media screen and (max-width: 768px) {
  article {
    padding: 0 20px; }
	
  .inner2 article.blog { padding: 0; }

  #main > .mb80 {
    margin: 0px 0 20px !important; }

  .talk_menber li img {
    width: 32%; }

  .col1-fuki-l .wp-block-column:first-child:empty, .col1-fuki-r .wp-block-column:last-child:empty {
    display: none; } }
.talk_menber li * + * {
  margin-left: 20px; }

.col1-fuki-l + .col1-fuki-l,
.col1-fuki-r + .col1-fuki-r {
  padding: 0;
  margin-bottom: 88px; }

.col1-fuki-l + .col1-fuki-l .wp-block-column:last-child,
.col1-fuki-r + .col1-fuki-r .wp-block-column:first-child {
  border: 3px dotted #ccc;
  background: none;
  padding: 40px 50px 25px; }
  @media screen and (max-width: 768px) {
    .col1-fuki-l + .col1-fuki-l .wp-block-column:last-child,
    .col1-fuki-r + .col1-fuki-r .wp-block-column:first-child {
      width: 100%;
      padding: 20px 15px; } }

.col1-fuki-l + .col1-fuki-l .wp-block-column:before,
.col1-fuki-r + .col1-fuki-r .wp-block-column:before {
  display: none; }

.aligncenter, .has-text-align-center {
  text-align: center; }

.alignright, .has-text-align-right {
  text-align: right; }

.box_bg2 {
  background: #EFF0F3;
  padding: 80px 0; }
  @media screen and (max-width: 768px) {
    .box_bg2 {
      padding: 20px; } }
  .box_bg2 .box_bg3 {
    padding: 50px;
    align-items: center; }

.box_bg3 {
  background: var(--global--color);
  padding: 80px 0;
  color: white; }
  @media screen and (max-width: 768px) {
    .box_bg3 {
      padding: 20px; } }

@media screen and (min-width: 769px) {
  .box_bg3 dl {
    margin-left: 80px; } }
.box_bg3 dl dt {
  font-size: 20px;
  margin: 10px 0; }
@media screen and (min-width: 769px) {
  .box_bg3 dl img {
    max-width: 312px;
    max-height: 180px; } }

article.page .box_bg3 .btn_border {
  margin: 0; }

body#crosstalk #mainvisual,
.page_category-crosstalk #mainvisual {
  background-image: url(../images/crosstalk_bg.png); }
  @media screen and (max-width: 768px) {
    body#crosstalk #mainvisual,
    .page_category-crosstalk #mainvisual {
      background: url(../images/crosstalk_bg.png) top left/cover; } }

body#contact #mainvisual {
  background-image: url(../images/contact_bg.png); }
  @media screen and (max-width: 768px) {
    body#contact #mainvisual {
      background: url(../images/contact_bg.png) top right/cover; } }

ul.sns_list {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    ul.sns_list li {
      width: 48%;
      margin-bottom: 10px;
      display: flex;
      justify-content: center;
      align-items: center; } }

body#recruit #mainvisual {
  background-image: url(../images/recruit/recruit_bg.png); }
  @media screen and (max-width: 768px) {
    body#recruit #mainvisual {
      background: url(../images/recruit/recruit_bg.png) top center/cover; } }

.box_bg4 {
  background: url("../images/recruit/box04_bg.png");
  overflow: hidden; }
  @media screen and (min-width: 1920px) {
    .box_bg4 {
      background-size: 100% !important; } }
  @media screen and (max-width: 768px) {
    .box_bg4 {
      background: url(../images/recruit/box04_bg.png) top right/cover; } }
  @media screen and (min-width: 769px) {
    .box_bg4 .box_bg3 {
      width: 400px;
      padding: 50px 0 53px 76px;
      position: relative; }
      .box_bg4 .box_bg3:after {
        content: "";
        position: absolute;
        left: 100%;
        top: 0;
        bottom: 0;
        background: var(--global--color);
        width: 100vw; } }

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

@media screen and (min-width: 769px) {
  .box_recruit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - 400px);
    position: relative; }
    .box_recruit dl {
      position: absolute;
      width: 210px; }
    .box_recruit img {
      transform: translate(-54px, 8px); } }
@media screen and (max-width: 768px) {
  .box_recruit {
    padding: 20px; }
    .box_recruit dl {
      margin-bottom: 30px; }
    .box_recruit img {
      margin: auto;
      display: block; } }
.box_recruit dt {
  font-size: 113%;
  border-bottom: 1px solid var(--global--color);
  margin-bottom: 20px;
  position: relative; }
  @media screen and (min-width: 769px) {
    .box_recruit dt {
      width: 150px; } }
  @media screen and (min-width: 769px) {
    .box_recruit dt:before, .box_recruit dt:after {
      content: "";
      position: absolute;
      background: var(--global--color); }
    .box_recruit dt:before {
      width: 8px;
      height: 8px;
      border-radius: 50%; } }
.box_recruit dd {
  line-height: 1.5; }

dl.business {
  top: 50px;
  right: 120px; }
  dl.business dt:before {
    bottom: -49px;
    left: -66px; }
  dl.business dt:after {
    height: 1px;
    width: 70px;
    left: -63px;
    bottom: -20px;
    transform: rotate(-35deg); }

dl.engineering {
  top: 143px;
  left: 0; }
  dl.engineering dt:before {
    right: -85px;
    bottom: -80px; }
  dl.engineering dt:after {
    height: 1px;
    width: 110px;
    transform: rotate(45deg);
    bottom: -40px;
    right: -97px; }

dl.datascience {
  top: 313px;
  right: 36px; }
  dl.datascience dt:before {
    display: none;
    top: -80px; }
  dl.datascience dt:after {
    height: 1px;
    width: 60px;
    transform: rotate(25deg);
    bottom: 11px;
    left: -53px; }

body.page h3.ttl_skill {
  margin-bottom: 10px;
  border: none; }
  @media screen and (max-width: 768px) {
    body.page h3.ttl_skill {
      margin: 0 0 10px; } }

.box_entry {
  padding: 78px 0;
  background: url(../images/recruit/btn_entry_bg.png) center;
  color: white; }
  @media screen and (min-width: 1920px) {
    .box_entry {
      background-size: 100% !important; } }
  @media screen and (max-width: 768px) {
    .box_entry {
      background-size: auto 100%; } }
  .box_entry h2 {
  	 color: #fff;
    font-weight: bold;
    text-align: center;
  }
  .box_entry h2:after {
    background: white !important; }
  .box_entry .btn_blue a {
    background: #1A5EA2; }

.w-full.box_entry:last-child {
  margin-top: 0 !important; }

.interviewList {
  margin: 0 0 90px !important; }
  @media screen and (max-width: 768px) {
    .interviewList {
      margin: 0 0 40px !important; } }
  @media screen and (min-width: 769px) {
    .interviewList li {
      width: 32%; } }
  @media screen and (max-width: 768px) {
    .interviewList li {
      margin-bottom: 20px; } }
  .interviewList li a {
    box-shadow: 0 3px 6px #00000016;
    display: block;
    text-decoration: none !important; }
    .interviewList li a .first_image {
      max-width: 100%;
		width: 100%;
      border: none;
      background: #E0E0E0;
      overflow: hidden;
		min-height: 10em;
      background-size: cover;
      background-position: top center; }
.interviewList li a .title {
	    display: inline-block;
    padding: .5em 1em;
    font-weight: bold;
}
      @media screen and (min-width: 769px) {
        .interviewList li a .first_image {
          height: 305px;
          display: flex; } }
      .interviewList li a .first_image svg {
        max-width: 300px;
        margin: auto; }
    .interviewList li a .recruit_interview_wrap {
      padding: 35px;
      display: block; }
      .interviewList li a .recruit_interview_wrap span {
        display: block; }

.page_category-interview #mainvisual {
  background-image: url(../images/interview_bg.png); }
  @media screen and (max-width: 768px) {
    .page_category-interview #mainvisual {
      background: url(../images/interview_bg.png) top center/cover; } }

#service #mainvisual,
.page_category-can #mainvisual {
  background-image: url(../images/service/service_bg.png); }
  @media screen and (max-width: 768px) {
    #service #mainvisual,
    .page_category-can #mainvisual {
      background: url(../images/service/service_bg.png) top center/cover; } }

.page_category-products #mainvisual {
  align-content: center;
  background-image: url(../images/churaito/main_bg.png); }
  @media screen and (max-width: 768px) {
    .page_category-products #mainvisual {
      background: url(../images/churaito/main_bg.png) top center/cover; } }
  .page_category-products #mainvisual .mainvisual_text {
    font-size: 57px;
    width: 100%;
    transform: translateY(0px);
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .page_category-products #mainvisual .mainvisual_text {
        /* font-size: 8vw; */ } }
  .page_category-products #mainvisual .btn_blue {
    margin: 33px 0 0; }

.churaito_mainvisual_inner {
  width: 100%;
  max-width: 846px;
  transform: translateY(20px); }
  @media screen and (max-width: 768px) {
    .churaito_mainvisual_inner {
      transform: translateY(0px);
      display: flex;
      justify-content: space-between;
      padding: 0 10px; } }

.churaito_mainvisual_innertext .mainvisual_text {
  position: relative;
  background: url(../images/churaito/main_icon.png) no-repeat 0px 16px;
  padding-left: 155px;
  padding-top: 50px;
  padding-bottom: 10px;
  text-align: left;
  min-height: 132px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center; }

.box_tool {
  background: url(../images/churaito/box_tool_bg.png) center;
  padding: 50px 40px 30px; }
  @media screen and (min-width: 1920px) {
    .box_tool {
      background-size: 100% !important; } }
  @media screen and (max-width: 768px) {
    .box_tool {
      padding: 30px 20px; } }

ol.box_value {
  margin: 0 0 70px; }
  @media screen and (max-width: 768px) {
    ol.box_value {
      margin: 0 0 30px; } }
  ol.box_value li {
    margin: 0 0 20px;
    background: white;
    padding: 30px 30px 20px; }
    @media screen and (min-width: 769px) {
      ol.box_value li {
        width: 30%; } }
    ol.box_value li:before {
      content: counter(cnt);
      background: var(--global--color);
      color: white;
      padding: 20px;
      font-size: 42px;
      height: 71px;
      width: 71px;
      display: flex;
      justify-content: center;
      align-items: center;
      top: 0; }

.arrowB > dl {
  margin-bottom: 60px; }
  .arrowB > dl > dt {
    background: var(--global--color);
    color: white;
    text-align: center;
    padding: 10px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 70px; }
    .arrowB > dl > dt:before {
      content: "";
      position: absolute;
      bottom: -55px;
      left: 0;
      right: 0;
      border: 5px solid transparent;
      border-top-color: #CF0707;
      border-width: 30px 26px 0;
      width: 52px;
      margin: auto; }
.arrowB dd dt {
  background: #E0E0E0;
  padding: 10px;
  text-align: center; }
.arrowB dd dd {
  background: white;
  padding: 30px 40px; }

@media screen and (min-width: 769px) {
  .box3 > * {
    width: 32%; } }
.box_example {
  background: var(--global--color);
  color: white;
  padding: 40px;
  margin-bottom: 75px; }

.arrowR {
  max-width: 760px;
  margin: auto; }
  .arrowR dl {
    position: relative;
    max-width: 350px;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .arrowR dl + dl {
        margin-top: 50px; } }
    .arrowR dl + dl:before {
      content: "";
      position: absolute;
      left: -40px;
      top: 0;
      bottom: 0;
      border: 5px solid transparent;
      border-left-color: #CF0707;
      border-width: 18px 0 18px 21px;
      height: 21px;
      margin: auto; }
      @media screen and (max-width: 768px) {
        .arrowR dl + dl:before {
          left: 0;
          top: 0;
          transform: rotate(90deg);
          right: 0; } }
    .arrowR dl dt {
      background: var(--global--txt-color2);
      text-align: center;
      padding: 5px; }
      .arrowR dl dt + dd {
        background: white;
        color: initial;
        padding: 20px; }

.text_red {
  color: #CF0707; }

ul.box_pattern {
  padding: 15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  background: #EFF0F3; }
  ul.box_pattern li {
    width: 32%;
    padding: 40px 30px;
    position: relative;
    background: white; }
    @media screen and (max-width: 768px) {
      ul.box_pattern li {
        width: 100%;
        padding: 10px; }
        ul.box_pattern li.soon {
          padding-bottom: 40px; } }
    ul.box_pattern li.soon:before, ul.box_pattern li.soon:after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0; }
    ul.box_pattern li.soon:before {
      left: 0;
      top: 0;
      background: #B9B9B960; }
    ul.box_pattern li.soon:after {
      content: "対応予定";
      background: var(--global--color);
      color: white;
      padding: 5px 10px;
      font-weight: 700; }

@media screen and (max-width: 768px) {
  .churaito_mainvisual_innertext .mainvisual_text {
    padding: 0 0 0 12vw;
    background-position: left center;
    background-size: 10vw;
    width: 58vw !important;
    min-height: inherit; }

  .churaito_mainvisual_img {
    width: 33vw; }

  .page_category-products #mainvisual .btn_blue {
    margin: 10px 0 0; }

  .btn_blue a {
    /* font-size: 3.3vw; */ }

  .btn_blue a:before, .btn_blue a:after {
    right: 10px; }

  .btn_blue a:before {
    width: 15px; }

  .btn_blue a:after {
    height: 6px;
    transform: skewX(12deg) rotate(-45deg) translate(0px, -3px); } }
.wp-block-image .aligncenter {
  margin: auto; }
  @media screen and (min-width: 769px) {
    .wp-block-image .aligncenter {
      width: fit-content; } }

.wp-block-image figcaption {
  text-align: left; }

ul.results_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: space-evenly; }
  @media screen and (max-width: 768px) {
    ul.results_list li {
      width: 47%;
      text-align: center; } }

ul.crosstalkList {
  display: flex;
  gap: 30px;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    ul.crosstalkList {
      gap: 20px; } }
  ul.crosstalkList li {
    width: 31.7%; }
    @media screen and (max-width: 768px) {
      ul.crosstalkList li {
        width: 42vw; } }
    ul.crosstalkList li .first_image {
      height: 211px;
      max-width: 100%;
      justify-content: space-around; }
      @media screen and (max-width: 768px) {
        ul.crosstalkList li .first_image {
          min-height: 22vw;
          height: auto; } }
      ul.crosstalkList li .first_image svg {
        max-width: 236px; }

article.page ul.crosstalkList a {
  text-decoration: none;
  color: inherit; }

[class="wp-block-columns"] {
  gap: 40px;
  margin-bottom: 50px !important; }
  @media screen and (max-width: 768px) {
    [class="wp-block-columns"] {
      gap: 20px;
      margin-bottom: 1.75em !important; } }
  [class="wp-block-columns"] > * {
    margin-left: 0 !important;
    flex: 1; }
  @media screen and (min-width: 769px) {
    [class="wp-block-columns"] img {
      margin-bottom: 0px; } }

.can_bg {
  background: url(../images/can/title_bg.png) center;
  padding: 60px 0;
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .can_bg {
      padding: 20px;
      margin-bottom: 0; } }

.can_bg > * {
  background: white;
  padding: 60px 200px 70px; }
  @media screen and (max-width: 768px) {
    .can_bg > * {
      padding: 20px; } }

article.page_category-can .box_bg01 {
  padding: 47px 94px 43px;
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    article.page_category-can .box_bg01 {
      padding: 20px; } }

.box_bg5 {
  padding: 47px 94px 43px;
  color: white;
  background: #434343;
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) {
    .box_bg5 {
      padding: 20px; } }
  .box_bg5 h4, .box_bg5 a {
    color: white !important; }

.chuwrite-header-img {
	width: 600px;
	max-width: 80%
}

@media screen and (max-width: 768px) {
	.chuwrite-header-img {
	   max-width: 65%;
		margin-top: 30px;
   }
}

article#post-3 {
    padding: 0em 1.5em 0em;
}

/* YouTube 埋め込みを横幅 100% にする */
.wp-block-embed-youtube > div {
    position: relative;
    padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.wp-block-embed-youtube > div > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.header-cover {
	display: none;
}

.contact_buttom_wrap {
	margin: 4em auto;
}

.contact_buttom_wrap_a {
    border: 3px solid var(--global--color);
    color: var(--global--color);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: skewX(-12deg);
    height: 60px;
    position: relative;
    transition: .5s;
    overflow: hidden;
    text-decoration: none !important;
	 max-width: 360px;	
   	margin: auto;
}

.contact_buttom_wrap_a:before {
    width: 26px;
    height: 2px;
}

.contact_buttom_wrap_a:after {
	height: 10px;
	width: 2px;
	transform: skewX(12deg) rotate(-45deg) translate(0px, -5px);
}

.contact_buttom_wrap_a:before, 
.contact_buttom_wrap_a:after {
    content: "";
    position: absolute;
    right: 35px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: var(--global--color);
    z-index: 1;
    transition: .5s;
}

.contact_buttom_wrap_a .contact_buttom_wrap_span {
    text-align: center;
    transform: skewX(12deg);
    width: 100%;
    height: 100%;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
}


.contact_buttom_wrap_a:hover {
	color: white;
	opacity: 1;
}

.contact_buttom_wrap_a:hover:before,
.contact_buttom_wrap_a:hover:after {
    background: white;
}

.contact_buttom_wrap_a:hover .contact_buttom_wrap_span:before {
	width: 110%;
}

.contact_buttom_wrap_a .contact_buttom_wrap_span:before {
    content: "";
    width: 0;
    top: 0;
    left: -10px;
    bottom: 0;
    position: absolute;
    background: var(--global--color);
    transition: .5s;
    z-index: -1;
}

.contact_buttom {
	display: flex;
	justify-content: center;
	width: 100%;
	height: 100%;	
}

.contact_buttom input[type="submit"] {
	width: 100%;
}

.mw_wp_form_confirm .contact_buttom_wrap_a {
	width: 100%;
	max-width: 210px;
}

.mw_wp_form_confirm .contact_buttom_wrap_a .contact_buttom_wrap_span {
	display: block;
}

@media screen and (max-width: 768px) {
    .mw_wp_form_confirm .contact_buttom_wrap_a {
		margin-bottom: 50px;
	}
}

.mwform-radio-field.horizontal-item {
	display: block;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin: auto !important;
}

.top_banner {
	height: 40vw;
	max-height: 450px;
	position: relative;
	overflow: hidden;
}

.top_banner > .top_banner_bg {
	width: 120%;
	height: 120%;
	position: absolute;
	top: -10%; left: -10%;
	background-position: center;
	background-size: cover;
	filter: blur(6px);
}

.top_banner > .inner {
	height: 100%;
}

.top_banner > .inner > a {
	display: block;
	height: 100%;
	background-position: center;
	background-size: cover;
}

.top_banner > .inner > a:hover {
	opacity: 1;
}