/* ___________________________________________________________ /web-font/ */
/* https: //iconscout.com/unicons */
@import url("https://unicons.iconscout.com/release/v4.0.0/css/line.css");
/* https://fontawesome.com */
@import url("https://use.fontawesome.com/releases/v6.2.1/css/all.css");

/* ___________________________________________________________ /layout/ */
:root {
  --border-radius-L: 30px;
  --border-radius-M: 15px;
  --border-radius-S: 10px;
  --border-radius-Ssp: 5px;
}

.--border-radius-L {
  border-radius: var(--border-radius-L);
}

.--border-radius-M {
  border-radius: var(--border-radius-M);
}

.--border-radius-S {
  border-radius: var(--border-radius-S);
}

.--border-radius-Ssp {
  border-radius: var(--border-radius-Ssp);
}

:root {
  --color-bg: #fff;
  --color-txt: #333;
  --color-ml-blue: #1DA1F2;
  --color-ml-blue-light: #f0f9ff;
  --color-ml-blue-dark: #1880c1;
  --color-ml-yellow: #F2C41D;
  --color-ml-yellow-light: #f5ebc7;
  --color-ml-yellow-drk: #dcac00;
  --color-ml-orenge: #F2991D;
  --color-ml-orenge-light: #fdeed8;
  --color-ml-orenge-dark: #d07a01;
  --color-ml-mint: #1DF2D1;
  --color-ml-mint-light: #cef1ec;
  --color-ml-mint-dark: #04b89d;
  --color-ml-evening: #477C9D;
  --color-ml-evening-light: #c0d7e5;
  --color-ml-evening-dark: #22516f;
  --color-black: #333;
  --color-white: #fff;
  --color-gray-f1: #f1f1f1;
  --color-gray-ee: #eee;
  --color-gray-dd: #ddd;
  --color-gray-cc: #ccc;
  --clear-air: rgba(255, 255, 255, 0);
}

.--Color-bg {
  color: var(--color-bg)
}

.--Bg-color-bg {
  background-color: var(--color-bg)
}

.--Color-txt {
  color: var(--color-txt)
}

.--Bg-color-txt {
  background-color: var(--color-txt)
}

.--Color-ml-blue {
  color: var(--color-ml-blue);
}

.--Bg-color-ml-blue {
  background-color: var(--color-ml-blue);
}

.--Color-ml-blue-light {
  color: var(--color-ml-blue-light);
}

.--Bg-color-ml-blue-light {
  background-color: var(--color-ml-blue-light);
}

.--Color-ml-blue-dark {
  color: var(--color-ml-blue-dark);
}

.--Bg-color-ml-blue-dark {
  background-color: var(--color-ml-blue-dark);
}

.--Color-ml-yellow {
  color: var(--color-ml-yellow);
}

.--Bg-color-ml-yellow {
  background-color: var(--color-ml-yellow);
}

.--Color-ml-yellow-light {
  color: var(--color-ml-yellow-light);
}

.--Bg-color-ml-yellow-light {
  background-color: var(--color-ml-yellow-light);
}

.--Color-ml-yellow-drk {
  color: var(--color-ml-yellow-drk);
}

.--Bg-color-ml-yellow-drk {
  background-color: var(--color-ml-yellow-drk);
}

.--Color-ml-orenge {
  color: var(--color-ml-orenge);
}

.--Bg-color-ml-orenge {
  background-color: var(--color-ml-orenge);
}

.--Color-ml-orenge-light {
  color: var(--color-ml-orenge-light);
}

.--Bg-color-ml-orenge-light {
  background-color: var(--color-ml-orenge-light);
}

.--Color-ml-orenge-dark {
  color: var(--color-ml-orenge-dark);
}

.--Bg-color-ml-orenge-dark {
  background-color: var(--color-ml-orenge-dark);
}

.--Color-ml-mint {
  color: var(--color-ml-mint);
}

.--Bg-color-ml-mint {
  background-color: var(--color-ml-mint);
}

.--Color-ml-mint-light {
  color: var(--color-ml-mint-light);
}

.--Bg-color-ml-mint-light {
  background-color: var(--color-ml-mint-light);
}

.--Color-ml-mint-dark {
  color: var(--color-ml-mint-dark);
}

.--Bg-color-ml-mint-dark {
  background-color: var(--color-ml-mint-dark);
}

.--Color-ml-evening {
  color: var(--color-ml-evening);
}

.--Bg-color-ml-evening {
  background-color: var(--color-ml-evening);
}

.--Color-ml-evening-light {
  color: var(--color-ml-evening-light);
}

.--Bg-color-ml-evening-light {
  background-color: var(--color-ml-evening-light);
}

.--Color-ml-evening-dark {
  color: var(--color-ml-evening-dark);
}

.--Bg-color-ml-evening-dark {
  background-color: var(--color-ml-evening-dark);
}

.--color-black {
  color: var(--color-black);
}

.--color-white {
  color: var(--color-white);
}

.--Bg-color-gray-f1 {
  background-color: var(--color-gray-f1);
}

.--Bg-color-gray-ee {
  background-color: var(--color-gray-ee);
}

.--Bg-color-gray-dd {
  background-color: var(--color-gray-dd);
}

.--Bg-color-gray-cc {
  background-color: var(--color-gray-cc);
}



.--clear-air {
  color: var(--clear-air);
}

:root {
  --swl-list-padding--left: 1.25em;
  --swell-block-fullWide--P-pc: 150px;
  --swell-block-fullWide--P-sp: 60px;
}

:root {
  --border-radius-L: 30px;
  --border-radius-M: 15px;
  --border-radius-S: 10px;
  --border-radius-Ssp: 5px;
}

/* root-SP */
:root {
  --color_header_bg: rgba(255, 255, 255, .95);
}

/*#content.l-content {
  margin-top: 100px;
}

@media (max-width: 599px) {
  #content.l-content {
    margin-top: 50px;
  }
}*/

/*.post_content>*:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.p-postListWrap>*):not(.swell-block-fullWide):not(.auxiliary-container):not(.works-table):not(.address-table) {
  margin-bottom: calc(var(--swl-block-margin) + 2em) !important;
}*/

/*.post_content>:first-child:not(.bg-cobalt-pail):not(.bg-gray-light) {
  padding-top: 0 !important;
}*/

/* Swell css 打ち消し用 */
.post_content>:last-child:not(.works-table):not(.address-table) {
  margin-bottom: 0 !important;
}

/* リッチカラムrow-gap */
.swell-block-columns {
  --swl-clmn-mrgn--y: max(2rem, 3vw);
}

/* ---------------------------------------- */
/* existing-edit-css */
/* ---------------------------------------- */
a:hover {
  opacity: .75;
}

ul li::marker {
  font-size: .5em;
}

#content.l-content {
  margin-bottom: 0;
}

address {
  font-size: .9em;
  font-style: normal;
}

/* 画像 */
/*.post_content img:not(.xo-slider img):not(.card-area img) {
  border-radius: var(--border-radius-M);
}*/

/* table */
.post_content table {
  font-size: .9em;
}

.wp-block-table td,
.wp-block-table th {
  padding: 1em .75em;
}

/*反転*/
.-reflect-x {
  transform: scale(-1, 1);
}

.-reflect-x>* {
  transform: scale(-1, 1);
}

.-reflect-y {
  transform: scale(1, -1);
}

.-reflect-y>* {
  transform: scale(1, -1);
}

.-reflect-x.-reflect-y {
  transform: scale(-1, -1);
}

.-reflect-x.-reflect-y>* {
  transform: scale(-1, -1);
}

@media (min-width: 600px) {
  .recruit-gate .order-1--tb.mRight-20px--tb {
    margin-right: 0 !important;
  }

  .recruit-gate .swell-block-columns__inner .order-0--tb.pLeft-40px--tb {
    margin-right: 20px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
}

.fit-cover .xo-slider img {
  object-fit: cover;
}

/* -------------------- header周り */
.l-header__bar.pc_ {
  display: none;
}

/*.c-headLogo.-img img.-top {
  -webkit-filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
  filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
}*/

.l-fixHeader__logo .c-headLogo.-img img {
  -webkit-filter: unset !important;
  filter: unset !important;
}

.c-gnav li a {
  font-weight: bold;
}

.c-smallNavTitle {
  opacity: 1;
}

@media (min-width: 960px) {

  .home .-series .l-header__logo,
  .-series .l-header__logo,
  .l-fixHeader__logo,
  .home .l-fixHeader__logo {
    padding: 25px 0;
  }
}

/*.l-container {
  margin-left: unset;
  margin-right: unset;
  max-width: unset;
}*/

@media (min-width: 600px) {

  .l-header__inner.l-container,
  .l-fixHeader__inner.l-container {
    padding-right: 80px;
  }
}

@media (max-width: 599px) {
  .l-header__inner.l-container {
    padding: 15px 0;
  }

  .home .l-header__inner.l-container {
    padding: 20px 0;
  }

  .home .l-header__logo {
    padding: 0 1vw 0 6vw;
  }

  .home .c-iconBtn {
    padding-right: 6vw;
  }
}

.l-header__customBtn.sp_ {
  display: none;
}

.w-header.pc_ {
  display: none;
}

.-series-right .w-header {
  display: block;
  position: absolute;
  right: unset;
  margin-left: unset;
}

#fix_bottom_menu {
  box-shadow: none;
  background-color: none;
}

#fix_bottom_menu .menu_list {
  box-shadow: inset 0 1px 0 0 #fff !important;
}

#fix_bottom_menu .menu_list {
  padding: 0;
}

#fix_bottom_menu .menu-item.menu_btn {
  display: none;
}

#fix_bottom_menu .menu-item {
  height: 100%;
  font-size: 1rem;
}

#fix_bottom_menu span {
  color: inherit;
  display: block;
  font-size: 1rem;
  line-height: 1;
  margin-top: unset;
  width: initial;
}

/*.button-recruit,
.menu-item-327 {
  background-color: var(--forest);
}

.button-contact,
.menu-item-326 {
  background-color: var(--cobalt);
}*/

.w-frontTop,
.w-beforeFooter .auxiliary-container {
  display: none;
}

@media (max-width: 959px) {
  .auxiliary-container.js-fadeInOnScroll {
    display: none !important;
  }
}

.auxiliary-container.js-fadeInOnScroll.is-show,
#fix_bottom_menu .menu_list {
  background-color: var(--color-ml-blue);
  background-image: linear-gradient(to bottom, #4dc4ff, #1da1f2, #0d82d4);
    background-size: 100% 300%;
    animation: gradient-pulse 15s infinite alternate ease-in-out;
}
@keyframes gradient-pulse {
  0% {
    background-position: 0% 0%;
  }

  50% {
    background-position: 0% 50%;
  }

  100% {
    background-position: 0% 100%;
  }
}
a.auxiliary-button,
#fix_bottom_menu .menu-item {
  color: var(--color-white);
}

.auxiliary-container {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 100vh;
  box-shadow: inset 1px 0 0 0 var(--color-ml-blue);
  /*background-color: rgba(255, 255, 255, .95);*/
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#fix_bottom_menu .menu-item:hover {
  color: var(--color-ml-blue-light) ;
  box-shadow: inset 0 2px 0 0 var(--color-ml-blue-light);
  opacity: 1;
}

@media (min-width: 600px) {
  a.auxiliary-button:hover,
  .hov-bg-main:hover {
    color: var(--color-ml-blue-light) !important;
    box-shadow: inset 3px 0 0 0 var(--color-ml-blue-light) !important;
    opacity: 1;
  }
}

@media (min-width: 960px) {
  .hov-bg-main:hover {
    background-color: unset !important;
  }
}

@media (min-width: 600px) {

  .w-frontTop,
  .w-beforeFooter .auxiliary-container {
    display: block;
  }

  .p-blogParts.post_content[data-partsid="173"] {
    position: absolute;
    right: 0;
    z-index: 110;
  }

  /*.-series-right .w-header {
        display: block;
        position: absolute;
        right: 0;
        top: 150px;
        margin-left: 0;
        width: initial;
    }*/

  .auxiliary-navi {
    display: block;
  }

  .auxiliary-button {
    display: flex;
    position: relative;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: initial;
    font-size: .9em;
    min-height: 9em;
    margin: .5em 0;
    text-decoration: none;
    color: #333;
    justify-content: center;
    align-items: center;
    width: 70px;
  }

  .auxiliary-button.button-contact {
    margin-top: 0;
  }

}

.js-fadeInOnScroll {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}

.js-fadeInOnScroll.is-show {
  opacity: 1;
  visibility: visible;
}

.c-smallNavTitle::before,
.c-smallNavTitle::after {
  content: "─";
}

.c-smallNavTitle::before {
  padding-right: .25em;
}

.c-smallNavTitle::after {
  padding-left: .25em;
}

.-frame-on .p-breadcrumb,
.c-infoBar+.p-breadcrumb,
.c-infoBar+[data-barba=container]>.p-breadcrumb,
.l-topTitleArea+.p-breadcrumb {
  padding-top: 20px;
}

/* header周り：下層 */
.l-header__inner {
  position: inherit;
}

/*.c-gnav a::after {
  margin-bottom: 1em;
  background: var(--color_bg);
}*/

/* グラデーション
.l-topTitleArea.c-filterLayer::before,
.corse-num .c-bannerLink::before,
.ct-next-course .c-bannerLink::before {
    background: linear-gradient(rgba(0, 104, 183, 0.6)0%, rgba( 0, 104, 183, 0) 25%) !important;
} */

/*グローバルメニュー：サブメニュー*/
.sub-menu .c-smallNavTitle {
  display: block;
}

/* -------------------- SP-menu */
.p-spMenu__inner {
  padding-top: 30px !important;
  width: 80vw;
}
.p-spMenu__closeBtn {
  margin-top: 30px !important;
}
.c-widget__title.-spmenu {
  background: none;
    color: var(--color-txt);
    border-bottom: 1px solid var(--color_main);
    text-align: center;
}

.c-listMenu a {
  padding: 1em;
}

.c-listMenu a:before {
  display: none;
}

.p-spMenu__closeBtn {
  height: calc(var(--logo_size_sp) - 50px);
  margin-top: 1em;
}

.p-spMenu__inner {
  padding-top: calc(var(--logo_size_sp) - 50px);
}

.p-spMenu__inner::before {
  background: #fff;
  opacity: 1;
}

.p-spMenu__body {
  padding: 2em 1em 1em;
}

.menu-corse {
  position: relative;
  counter-reset: num;
}

.menu-corse.alignfull {
  left: unset !important;
  width: unset !important;
  max-width: unset !important;
  position: relative;
}

.menu-corse .swell-block-column {
  position: relative;
}

.menu-corse .c-bannerLink__title span {
  font-size: .8em;
}

/*menu-sp*/
.p-spMenu__inner::before {
  background: var(--color-bg);
}

.p-spMenu__nav {
  font-family: var(--font-zen);
  font-size: 1.05em;
}

.p-spMenu__nav .c-listMenu li a {
  font-weight: 500;
  padding: 1em .5em;
}

.p-spMenu__nav .c-listMenu li a:hover {
  background-color: transparent;
}

.c-submenuToggleBtn:before {
  color: var(--color-main);
  font-size: 1.2em;
}

.c-submenuToggleBtn:after {
  border: none;
}

.p-spMenu__nav .sub-menu {
  border-bottom: 1px solid var(--color_border);
}

.p-spMenu__nav .sub-menu li a {
  border-bottom: none;
  font-size: .95em;
  font-weight: 400;
  padding: .6em .5em .6em 2em;
}

.p-spMenu__nav .sub-menu li:first-child a {
  margin-top: .5em;
}

.p-spMenu__nav .sub-menu li:last-child a {
  margin-bottom: .5em;
}

.p-spMenu__nav .sub-menu a:before {
  position: absolute;
  top: 55%;
  left: .5em;
  display: inline-block;
  content: "\e921";
  color: var(--color-main);
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
}

/*menu-pc*/
.c-gnav>.menu-item {
  position: static;
}

.c-gnav>.menu-item>.sub-menu {
  width: 100%;
}

.c-gnav .sub-menu {
  display: flex;
  flex-wrap: wrap;
  background-color: var(--color-bg);
  box-shadow: none;
  padding: 2em;
}
.c-gnav .sub-menu {
  background: radial-gradient(circle at 20% 30%, #f0f9ff 0%, transparent 70%),
      radial-gradient(circle at 80% 20%, #c7e9ff 0%, transparent 70%),
      radial-gradient(circle at 30% 70%, #ebe6fc 0%, transparent 70%),
      radial-gradient(circle at 50% 80%, #ffffff 0%, transparent 70%);
}


.c-gnav .sub-menu li {
  position: relative;
  flex-basis: 33.3%;
}

.c-gnav .sub-menu a {
  padding-left: 2.5em;
}

.c-gnav .sub-menu a:hover {
  background-color: var(--color_bg);
  opacity: 1;
}
.c-gnav .sub-menu a:hover .ttl {
  left: 0 !important;
}
/*.c-gnav .menu-item-has-children .sub-menu > li.menu-item > a::after {
  background: var(--color-white);
}
.c-gnav .menu-item-has-children .sub-menu > li.menu-item:hover > a::after {
  transform: scaleX(1);
}
.c-gnav .menu-item-has-children .sub-menu > li.menu-item > a::after {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  transition: width .25s, height .25s, -webkit-transform .25s;
  transition: transform .25s, width .25s, height .25s;
  transition: transform .25s, width .25s, height .25s, -webkit-transform .25s;
  width: 100%;
  height: 2px;
}*/

.c-gnav .sub-menu a:before {
  position: absolute;
  top: 50%;
  left: 1em;
  display: inline-block;
  content: "\e921";
  color: var(--color-main);
  font-family: icomoon !important;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  line-height: 1;
  text-transform: none;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
}

.c-gnav .sub-menu .ttl {
  position: relative;
  left: 0;
  font-size: .9em;
  transition: left .25s;
}

/* -------------------- MV周り */
.home #main_visual {
  /*padding: 2vw;*/
}

.home #main_visual video {
  border-radius: var(--border-radius-M);
  height: calc(100% - 4vw);
}

@media (min-width: 600px) {
  .home #main_visual {
    /*padding: 1vw;*/
  }

  .home #main_visual video {
    border-radius: var(--border-radius-L);
    height: calc(100% - 2vw);
  }
}

.p-mainVisual {
  overflow: unset;
}

@media (max-width: 599px) {
  .main-copy img {
    transform-origin: center;
    width: clamp(70%, 80%, 90%);
  }
}

/* contents header*/

.l-topTitleArea {
  min-height: 180px;
  border-radius: 0;
  position: absolute;
  top: 0;
  background-color: white;
  display: block;
  overflow: visible;
}

@media (min-width: 600px) {
  .l-topTitleArea {
    min-height: 30vw;
  }
}

.l-topTitleArea__body {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -70px;
}

@media (min-width: 600px) {
  .l-topTitleArea__body {
    bottom: -100px;
  }
}

/*.l-topTitleArea__body {
  position: absolute;
  bottom: -4em;
  left: 0;
  background-color: var(--color-white);
  padding-top: 1em;
  padding-bottom: 1em;
  text-shadow: none;
  width: fit-content;
  max-width: 85%;
  min-width: 50%;
}
@media (min-width: 600px) {
  .l-topTitleArea__body {
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    width: fit-content;
    min-width: 350px;
  }
}*/

.l-topTitleArea+* {
  position: relative;
  margin-top: 180px;
}

@media (min-width: 600px) {
  .l-topTitleArea+* {
    margin-top: 30vw;
  }
}

@media screen and (min-width: 960px) and (max-width: 1300px) {
  .l-content.l-container {
    padding-right: 70px;
  }
}


/* scroll-down・page-top */
.p-mainVisual__scroll {
  transform: unset;
  -webkit-transform: unset;
  right: -15px;
  left: unset;
  bottom: 3vw;
  opacity: 1;
}

.p-mainVisual__scrollLabel {
  position: inherit;
  margin: initial;
  width: initial;
}

.p-fixBtnWrap {
  right: 0;
  bottom: 15px;
  z-index: 120;
}

.p-mainVisual__scroll,
.p-fixBtnWrap #pagetop.c-fixBtn {
  height: 80px;
  width: 70px;
  background: none;
  color: var(--usually-text);
  border: none;
  border-radius: unset;
  box-shadow: none;
}

@media (min-width: 600px) {
  .p-fixBtnWrap #pagetop.c-fixBtn {
    color: var(--color-white);
  }
}

.p-mainVisual__scroll .p-mainVisual__scrollArrow,
.p-fixBtnWrap #pagetop .c-fixBtn__icon.icon-chevron-small-up {
  display: none;
}

/*Scrollテキストの描写*/
.p-mainVisual__scrollLabel {
  right: 30px;
  padding-top: 0;
  transform: rotate(90deg);
  font-size: 12px;
  font-family: inherit;
}

.p-fixBtnWrap span {
  margin-top: 0;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

#pagetop .c-fixBtn__label {
  font-size: 12px;
  font-weight: bold;
}

#pagetop[data-has-text="1"] .c-fixBtn__icon {
  margin-right: 2px;
}

/* 丸の描写 */
.p-mainVisual__scroll::before,
.p-fixBtnWrap:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.p-mainVisual__scroll::before {
  background: var(--color_bg);
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

.p-fixBtnWrap:before {
  background: var(--usually-text);
  animation:
    circlereverse 1.6s ease-in-out infinite,
    cirlereversehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove {
  0% {
    bottom: 75px;
  }

  100% {
    bottom: -5px;
  }
}

@keyframes circlereverse {
  0% {
    top: 75px;
  }

  100% {
    top: -5px;
  }
}

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide {
  0% {
    opacity: 0
  }

  50% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

@keyframes cirlereversehide {
  0% {
    opacity: 0
  }

  50% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

/* 線の描写 */
.p-mainVisual__scroll::after,
.p-fixBtnWrap:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 2px;
  height: 80px;
}

.p-mainVisual__scroll::after {
  background: var(--color_bg);
}

.p-fixBtnWrap:after {
  background: var(--usually-text);
}

/* SP */
@media (max-width: 600px) {

  .p-mainVisual__scroll,
  .p-fixBtnWrap #pagetop.c-fixBtn.hov-bg-main {
    height: 80px;
    width: 30px;
  }

  #pagetop .c-fixBtn__label {
    margin-top: -4px;
  }

  .p-mainVisual__scroll {
    right: -2vw;
  }

  .p-mainVisual__scroll .p-mainVisual__scrollLabel {
    top: 0;
    font-size: 11px;
    padding-bottom: 1em;
  }

  .p-mainVisual__scroll::before,
  .p-fixBtnWrap:before {
    left: -2.5px;
    width: 5px;
    height: 5px;
  }

  .p-mainVisual__scroll::after,
  .p-fixBtnWrap:after {
    width: 1px;
    height: 70px;
  }

}

/* -------------------- footer周り */
.l-footer__inner {
  padding: 50px 0;
}

@media (min-width: 600px) {
  .l-footer__inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: auto 70px;
    padding: 60px 0;
  }
}


@media (min-width: 960px) {
  .l-footer__foot {
    padding-bottom: 2em;
  }
}

@media (min-width: 600px) {
  .l-footer__foot .l-container .l-footer__nav {
    justify-content: right;
  }

  @keyframes circlemove {
    0% {
      bottom: 80px;
    }

    100% {
      bottom: -5px;
    }
  }

  @keyframes circlereverse {
    0% {
      top: 80px;
    }

    100% {
      top: -5px;
    }
  }

}

.l-footer__widgetArea .c-headLogo {
  margin-bottom: 1em;
}

.l-footer__widgetArea .btn-tel {
  background-color: var(--cobalt-dark);
  padding: 1em;
  text-align: center;
  margin: 1em 0;
  border-radius: var(--border-radius-S);
}

.l-footer__widgetArea .btn-tel span {
  font-weight: bold;
  font-size: 1.1em;
}

.l-footer__widgetArea .is-style-more_btn {
  padding-top: 1.5em;
}

.footer-sitemap .is-style-more_btn.-none-deco a {
  background: none;
  box-shadow: none;
  display: inline;
  padding-left: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  font-weight: bold;
  min-width: none;
  text-align: left;
}

.footer-sitemap .is-style-more_btn.-none-deco {
  text-align: left;
  margin-bottom: .5em !important;
  padding: 0;
}

.footer-sitemap ul {
  list-style: disc;
}

.footer-sitemap li {
  line-height: 1.5;
  margin: 0.25em 0 0.25em 1.25em;
  position: relative;
}

.footer-sitemap li a {
  font-size: .8em;
}

.l-footer .copyright {
  text-align: right;
}

.footer-sitemap small {
  font-size: .8em;
  opacity: .8;
}


#body_wrap:not(.home) .w-pageBottom {
  margin-top: clamp(50px, 1.989rem + 5.68vw, 100px);
}



/*-------------------------------------------------- コンテンツ共通 */
#main_content .swell-block-columns+.swell-block-columns {
  margin-top: 2em;
}

/* tel link SPのみ有効 */
@media (min-width: 600px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

/* 非表示 */
.display-none {
  display: none;
}

.noDeco {
  text-decoration: none !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

.noDeco::before,
.noDeco::after {
  width: unset !important;
  height: unset !important;
  background: none !important;
}

.noDeco img {
  border-radius: unset !important;
}

@media (max-width: 599px) {
  .alignfull {
    padding: 0 15px;
  }
}

/* layout */
#content.l-content.l-container {
  padding-top: 0;
}

/*.swell-block-fullWide {
  padding-bottom: var(--swell-block-fullWide--P-sp) !important;
  padding-top: var(--swell-block-fullWide--P-sp) !important;
}

@media (min-width: 600px) {
  .swell-block-fullWide {
    padding-top: var(--swell-block-fullWide--P-pc) !important;
    padding-bottom: var(--swell-block-fullWide--P-pc) !important;
  }
}*/

/*見出し*/
.h-caption {
  display: block;
  font-size: .5em;
  color: var(--cobalt);
}

.bg-green-pail .h-caption,
.bg-green-pail2 .h-caption {
  color: var(--forest);
}

.lined-title {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.lined-title::before,
.lined-title::after {
  content: "";
  border-bottom: 2px solid #333;
  mix-blend-mode: difference;
}

@media (min-width: 600px) {
  .lined-title {
    max-width: 85%;
    margin: 0 auto 2em;
  }
}

@media (max-width: 768px) {
  .lined-title {
    gap: 5px;
  }
}


h1.c-pageTitle {
  font-size: 1.75em;
  text-align: center;
  color: var(--color-txt);
  text-shadow: none;
}

.c-pageTitle__subTitle {
  font-size: 1em;
  font-style: normal;
  letter-spacing: var(--swl-letter_spacing, 1px);
  margin-left: 0;
  opacity: 1;
  position: absolute;
  top: -50px;
  left: 0;
}

.c-pageTitle::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: var(--color-ml-blue);
  margin: 0.3em auto 0;
  visibility: visible;
}

@media (min-width: 600px) {
  h1.c-pageTitle {
    font-size: 2.5em;
    padding-top: 30px !important;
  }

  .c-pageTitle__subTitle {
    top: -70px;
  }

  .c-pageTitle::after {
    margin-bottom: 90px;
  }
}


h1.c-postTitle__ttl {
  font-size: 1.75em;
}

@media (min-width: 600px) {

  h1.c-postTitle__ttl {
    font-size: 2.5em;
  }

  h1.c-postTitle__ttl {
    margin-bottom: 1em;
  }

  h1.c-pageTitle::after {
    border-bottom: none;
  }
}

h1.c-pageTitle[data-style=b_bottom],
.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
  border-bottom: none;
  padding: 0;
  float: none;
}

#main_content h2:not(.p-postList__title),
#main_content .h2:not(.p-postList__title) {
  font-size: 1.5em;
  font-weight: bold;
  background: none;
  padding: unset;
  margin: 0 0 1em;
}

@media (min-width: 600px) {

  #main_content h2:not(.p-postList__title),
  #main_content .h2:not(.p-postList__title) {
    font-size: 1.75em;
  }
}

#main_content h3:not(.p-postList__title),
#main_content .h3:not(.p-postList__title) {
  font-size: 1.25em;
  font-weight: bold;
  background: none;
  padding: 0 0 .5em 0;
  margin: 0 0 1.5em;
}

#main_content h3:not(.p-postList__title)::before,
#main_content .h3:not(.p-postList__title)::before {
  height: 2px;
}

@media (min-width: 600px) {

  #main_content h3:not(.p-postList__title),
  #main_content .h3:not(.p-postList__title) {
    font-size: 1.5em;
  }

  #main_content .swell-block-columns__inner h3:not(.p-postList__title),
  #main_content .swell-block-columns__inner .h3:not(.p-postList__title) {
    font-size: 1.25em;
    margin-bottom: .5em;
  }
}

#main_content h4:not(.p-postList__title),
#main_content .h4:not(.p-postList__title) {
  font-size: 1.1em;
  font-weight: bold;
  background: none;
  margin: 0 0 1em;
}

#main_content .h4:not(.p-postList__title)::before {
  content: none;
}


@media (min-width: 600px) {

  #main_content h4:not(.p-postList__title),
  #main_content .h4:not(.p-postList__title) {
    font-size: 1.5em;
  }
}

#main_content h5:not(.p-postList__title),
#main_content .h5:not(.p-postList__title) {
  font-size: 1em;
  font-weight: bold;
  background: none;
  padding: 0 0 .5em 0;
  margin: 0 0 1em;
  border-bottom: 1px solid var(--color_htag);
}

#main_content .h5:not(.p-postList__title)::before {
  content: none;
}

@media (min-width: 600px) {

  #main_content h5:not(.p-postList__title),
  #main_content .h5:not(.p-postList__title) {
    font-size: 1.25em;
  }
}

#main_content h6:not(.p-postList__title),
#main_content .h6:not(.p-postList__title) {
  font-size: 1em;
  font-weight: bold;
  background: none;
  padding: 0 0 .5em 0;
  margin: 0 0 1em;
  border-bottom: 1px solid #ccc;
}

#main_content .h6:not(.p-postList__title)::before {
  content: none;
}

@media (min-width: 600px) {

  #main_content h6:not(.p-postList__title),
  #main_content .h6:not(.p-postList__title) {
    font-size: 1em;
  }
}

@media (min-width: 600px) {
  .cut-back {
    min-height: 240px;
  }
}

/*円囲数字リスト*/
ol.circle-num {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
}

ol.circle-num li {
  padding-left: 1.8em;
}

ol.circle-num li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: var(--cobalt);
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1.75em;
  width: 1.75em;
  color: var(--color_bg);
  font-size: 85%;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}

/* ---------------------------------------- */
/* custom theme */
/* ---------------------------------------- */

html[data-scrolled=false] #body_wrap.home .ct-header {
  opacity: 0;
  pointer-events: none;
}

.-img .c-headLogo__link {
  padding: 0 !important;
}

.ct-header {
  transition: opacity 300ms;
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
}

.ct-menuBtn {
  display: block;
  margin: 10px auto 0 auto;
  width: 120px;
  background: var(--brown);
  color: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 34px;
  border-radius: var(--border-radius-M);
}

@media (min-width: 960px) {
  .ct-menuBtn {
    width: 136px;
    line-height: 40px;
  }
}

.p-spMenu {
  display: block !important;
}

.p-spMenu__inner {
  max-width: 601px;
}

.home .l-header .c-gnav>li>a:after {
  background: var(--color-white);
}

/*-------------------------------------------------- headline */
/* h2 */
.post_content h2 {
  font-size: 1.5em;
  font-weight: normal;
}

.post_content h3 {
  font-size: 1.3em;
  font-weight: normal;
}

.post_content h4 {
  font-size: 1.2em;
  font-weight: normal;
}

.post_content h5 {
  font-size: 1.1em;
}

.post_content h6 {
  font-size: 1em;
}

.post_content>h2 {
  margin-left: unset;
  margin-right: unset;
}

@media (min-width: 600px) {
  .post_content h2 {
    font-size: 1.75em;
  }

  .post_content h3 {
    font-size: 1.5em;
  }

  .post_content h4 {
    font-size: 1.3em;
  }

  .post_content h5 {
    font-size: 1.2em;
  }

  .post_content h6 {
    font-size: 1.1em;
  }
}

/*-------------------------------------------------- post */
/*.p-postList__thumb {
  border-radius: var(--border-radius-M);
}*/

/* タグ */
.c-categoryList__link,
.c-postThumb__cat {
  background-image: none;
  line-height: 2.5;
  padding: 0 1em;
}

.c-postThumb__cat {
  border-radius: 0 0 0 var(--border-radius-Ssp);
}

.c-categoryList__link {
  border-radius: var(--border-radius-Ssp);
  opacity: .75;
}

@media (max-width: 599px) {
  .c-categoryList__link {
    font-size: 10px;
  }
}

.c-pageTitle__subTitle {
  display: none;
}


/*-------------------------------------------------- text */
.mark_green {
  background: -webkit-linear-gradient(transparent 64%, var(--color_mark_green) 0%);
  background: linear-gradient(transparent 64%, var(--color_mark_green) 0%);
}


/*-------------------------------------------------- pin-point */
/* キャッチコピー */
.-filter-glay>.c-filterLayer__img {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}

/* リンクイメージ */
.campaign-btn a img {
  opacity: 1;
  transition: .3s;
}

.campaign-btn a img:hover {
  opacity: .75;
  transition: .3s;
}

/* スライダーカスタム */
.xo-slider-template-default .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
}

.post_content .xo-slider .swiper-container,
.post_content .full-slide .xo-slider .swiper-container {
  border-radius: var(--border-radius-S);
}

@media(min-width: 600px) {
  .post_content .xo-slider .swiper-container {
    border-radius: var(--border-radius-M);
  }

  .post_content .full-slide .xo-slider .swiper-container {
    border-radius: 0 var(--border-radius-M) var(--border-radius-M) 0;
  }
}

/* カードエリア */
.card-area {
  border-radius: var(--border-radius-M);
}

.card-area img {
  border-radius: var(--border-radius-M) var(--border-radius-M) 0 0;
}

.card-area :not(.wp-block-image):not(img):not(strong):not(a):not(span) {
  padding: 0 1.5em 1.5em;
  margin: 0;
}

/* エントリーボタン */
.entry-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-height: 150px;
  min-height: 120px;
  color: var(--usually-text);
  border-color: var(--usually-text);
  border: none;
  font-weight: bold;
  font-size: 1.5em;
  text-align: center;
  border-radius: 100px;
  background: rgba(255, 255, 255, .5);
}

/* 固定ページページャー */
.pager-btn {
  width: 100%;
  max-height: 80px;
  min-height: 60px;
  color: var(--usually-text);
  background-color: var(--color_bg);
  font-weight: bold;
  font-size: 1em;
  text-align: center;
  border-radius: var(--border-radius-M);
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-preview .pager-btn::before,
.page-next .pager-btn::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
}

.page-preview .pager-btn::before {
  background-image: url(https://cobalt-giken.jp/cms/custom/images/svg/arrow-preview.svg);
  background-size: contain;
}

.page-next .pager-btn::before {
  background-image: url(https://cobalt-giken.jp/cms/custom/images/svg/arrow-next.svg);
  background-size: contain;
}

.pager-btn span {
  display: none;
}

@media (min-width: 600px) {
  .pager-btn {
    max-height: 150px;
    min-height: 80px;
  }

  .page-preview .pager-btn::before {
    width: 20px;
    height: 20px;
    left: 50px;
  }

  .page-next .pager-btn::before {
    width: 20px;
    height: 20px;
    right: 50px;
  }

  .pager-btn span {
    display: block;
  }
}

.shapedividers_com-2124 {
  overflow: hidden;
  position: relative;
}

/* Footer直前 */
.w-beforeFooter {
  margin: 0;
}

/*#before_footer_widget {
    position: relative;
    z-index: 10;
    margin-top: -100px !important;
}*/

.c-pagination {
  padding-bottom: 50px;
}

@media (min-width: 600px) {
  .c-pagination {
    padding-bottom: 100px;
  }
}

/* 矢印付きボタン */
.is-style-more_btn a {
  background-color: var(--color-gray-f1);
  box-shadow: 0 0 0 1px var(--cobalt);
  color: var(--cobalt);
  border-radius: var(--border-radius-S);
}

.l-footer__widgetArea .is-style-more_btn a {
  color: var(--color_bg);
}

@media(max-width: 599px) {
  .swell-block-column .is-style-more_btn a {
    font-size: .85em;
    width: 100%;
    padding: .75rem 1em;
  }
}

/* リスト横並び */
ol.-list-flex,
ul.-list-flex {
  gap: 1em 2em;
}

/* 会社概要 */
dl.outline,
dl.license-list,
dl.timeline {
  display: flex;
  flex-wrap: wrap;
  font-size: .9em;
}

dl.timeline .swell-block-dl__dd+.swell-block-dl__dt {
  margin-top: 0;
}

dl.outline dt,
dl.outline dd,
dl.license-list dt,
dl.license-list dd {
  padding: 1em;
  margin-bottom: 2px;
}

dl.outline dt,
dl.license-list dt {
  width: 100%;
  border-bottom: 1px solid var(--cobalt);
}

dl.outline dd,
dl.license-list dd {
  width: 100%;
  border-bottom: 1px solid var(--color_border);
  margin-inline-start: 0;
}

@media(min-width: 600px) {

  dl.outline .swell-block-dl__dd+.swell-block-dl__dt,
  dl.license-list .swell-block-dl__dd+.swell-block-dl__dt {
    margin-top: 0;
  }

  dl.outline dt {
    width: 15%;
  }

  dl.license-list dt {
    width: 40%;
  }

  dl.outline dd {
    width: 34.6%;
    margin-left: 0.2%;
    margin-right: 0.2%;
  }

  dl.license-list dd {
    width: 9.6%;
    margin-left: 0.2%;
    margin-right: 0.2%;
  }
}

dl.timeline dt,
dl.timeline dd {
  border-top: 1px solid var(--color_border);
  padding: 1em 0.5em;
  margin-bottom: 0;
}

dl.timeline {
  border-bottom: 1px solid var(--color_border);
}

dl.timeline dt {
  width: 33%;
  text-align: right;
}

dl.timeline dd {
  width: 67%;
  margin-left: 0;
}

@media(min-width: 900px) {
  dl.timeline dt {
    width: 22%;
  }

  dl.timeline dd {
    width: 78%;
    margin-left: 0;
  }
}

/* 実績紹介 */
@media(min-width: 600px) {
  .case-detail-intro {
    width: 95vw;
    padding-bottom: 100px !important;
  }
}

.works-table td,
.address-table td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.address-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.address-table>table tr td {
  border-width: 1px 0 0 0;
  padding: 1em .75em;
}

.post_content .works-table td:last-child,
.post_content .works-table th:last-child,
.post_content .address-table td,
.post_content .address-table th {
  border-right: none;
  border-left: none;
}

.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.address-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table.address-table>table tr td {
  background-color: unset;
  border: 1px solid #dbdbdb;
  border-right: none;
  border-left: none;
}

.post_content .address-table .td_to_th_ tbody tr>:first-child:before,
.post_content .address-table tbody th:before {
  background-color: unset;
}

.works-table tr td:first-child {
  font-weight: bold;
  width: 35%;
}

.address-table tr th {
  font-weight: bold;
  width: 25%;
}

/*.address-table tr td:first-child {
  font-weight: bold;
  width: 25%;
}*/

.works-table tr td:nth-child(2) {
  width: 20%;
}

.works-table tr td:nth-child(3) {
  width: 20%;
  text-align: center;
}

.works-table tr td:last-child {
  width: 25%;
}

.address-table tr td:last-child {
  width: 20%;
}

/* リスト囲み */
.-list-surround li {
  list-style: none;
  padding: .25em 1em;
  background-color: #f1f1f1;
  border-radius: 15px;
  font-size: .9em;
}

ul.-list-flex.-list-surround {
  gap: 1em;
  padding-left: 0;
}

.URGENT::after {
  position: relative;
  content: "[ 急募! ]";
  color: var(--color_deep01);
  font-size: .9em;
  font-weight: bold;
  margin-left: .5em;
}

/* 募集要項 */
.job-treatment table th {
  min-width: 8em !important;
}

.job-treatment table th,
.job-treatment table td {
  padding: 1em;
}

@media (max-width: 599px) {

  .job-treatment table th,
  .job-treatment table td {
    display: block;
    border-width: 0 !important;
  }

  .job-treatment table {
    margin-bottom: 2em;
    border-bottom: 1px solid #f1f1f1;
  }
}

/* インタビュー
.is-style-broken.is-stacked-on-mobile.recruit-intro .wp-block-media-text__content h2 {
  margin-bottom: 0 !important;
}

@media (max-width: 599px) {
  .is-style-broken.is-stacked-on-mobile.recruit-intro .wp-block-media-text__content {
    margin-top: inherit !important;
  }

  .is-style-broken.is-stacked-on-mobile.recruit-intro .wp-block-media-text__content h2 {
    margin-bottom: 1em;
  }
} */

.post_content .swell-block-columns.thumb-txt-list .swell-block-column {
  margin-bottom: 20px !important;
}

@media (min-width: 600px) {
  .post_content .swell-block-columns.thumb-txt-list .swell-block-column {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 599px) {
  .post_content .swell-block-columns.thumb-txt-list .swell-block-button.is-style-more_btn a::after {
    display: none;
  }
}

/* 社長名サイン */
.president-name {
  text-align: right;
}

.president-name img {
  width: 150px;
}

.fontFamily-oriental {
  font-family: "HG行書体", cursive;
  font-size: 1.5em;
}

/*記事スライダー調整*/
.p-postSlider__inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.p-postSlider__title,
.vertical-text {
  writing-mode: vertical-rl;
  transform: rotate(0deg);
  font-size: 1em !important;
  letter-spacing: 1px;
}

@media (max-width: 599px) {

  .p-postSlider__title,
  .vertical-text {
    margin-left: 10px;
  }
}

@media (min-width: 600px) {
  .p-postSlider__inner {
    gap: 40px;
  }

  .p-postSlider__title,
  .vertical-text {
    font-size: 1.25em !important;
  }
}

/* 関連記事リスト並列 */
.p-blogCard__inner {
  padding: 0;
  padding-top: 0 !important;
}

.parallel-block .p-blogCard__inner {
  display: block;
}

.parallel-block .swell-block-postLink .p-blogCard__thumb {
  width: 100%;
  margin: 0 0 1em;
}

.parallel-block .swell-block-postLink .c-postThumb__figure {
  aspect-ratio: unset;
}

/*@media (min-width: 1233px) {
  .swell-block-postLink [data-type=type1] .p-blogCard__inner:before {
    min-height: 370px;
  }
}*/
/* 関連記事リスト */
.p-blogCard:hover {
  box-shadow: unset;
}

.swell-block-postLink [data-type=type1] .p-blogCard__inner:before,
[data-type=type3] .p-blogCard__inner {
  border: none;
  border-radius: 0;
  box-shadow: unset;
  background-color: #fff;
}

.swell-block-postLink .p-blogCard__inner:hover {
  opacity: .75;
}

.swell-block-postLink .p-blogCard__inner:hover img {
  -webkit-transform: scale(1.06);
  transform: scale(1.06);
}

.swell-block-postLink .c-postThumb__figure {
  aspect-ratio: 4/3 !important;
}

.swell-block-postLink .p-blogCard__title {
  position: relative;
  font-weight: bold;
  font-size: 1.1em;
}

.swell-block-postLink .p-blogCard__excerpt {
  margin-top: 1em;
}

.swell-block-postLink .p-blogCard__caption {
  display: none;
}

.swell-block-postLink .p-blogCard__body {
  padding: 0 1.5em 1.5em;
}

/* 横スクロール対応 */
@media (max-width: 768px) {
  .sp-scroll .swell-block-columns__inner {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 16px;
    scroll-snap-type: x mandatory;
  }

  .sp-scroll .swell-block-column {
    flex: 0 0 80%;
    scroll-snap-align: start;
  }
}

/*ボタン調整*/
.is-style-btn_line a {
  background-color: var(--color-bg);
}

.is-style-btn_line.--Color-txt a {
  border-color: var(--color-txt);
  color: var(--color-txt);
}

@media (min-width: 600px) {
  [class*=is-style-btn_] {
    --the-min-width: 20% !important;
  }
}

.is-style-btn_line a:hover {
  border-color: var(--color-ml-blue);
}

/*カスタム投稿調整*/
.wp-block-post-template li:first-child {
  border-top: 1px solid #ccc;
}

.wp-block-post-template li {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ccc;
  padding: 1em 0;
}

@media (max-width: 768px) {
  .wp-block-post-template li {
    display: grid;
  }
}

.wp-block-post-date {
  order: -1;
  margin-right: 1.5em;
  white-space: nowrap;
  font-size: 1em;
  color: #666;
}

.wp-block-post-title {
  font-size: 1rem !important;
  margin: 0 !important;
  font-weight: normal !important;
}

.wp-block-post-title a {
  text-decoration: none;
  color: inherit;
}

/* タイトル枠 */
.wp-block-post-title {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.wp-block-post-title .marquee-inner {
  display: inline-block;
  white-space: nowrap;
  animation: marquee 17.5s linear infinite;
}

.wp-block-post-title .marquee-inner span {
  display: inline-block;
  padding-right: 3rem;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@media (max-width: 599px) {
  .pX-0--splg {
    padding-left: 0;
    padding-right: 0;
  }
}

/* SNSアイコン周り */
.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
  font-size: .55em;
}


/*Loop Slider*/
.loop-slider {
  display: flex;
  overflow: hidden;
  gap: 1.5rem;
}

.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
  display: contents;
}

/* .loop-slider .swell-block-columns__inner {
  display: flex;
  flex-wrap: nowrap;
  animation: infinity-scroll-left 60s linear infinite;
  width: max-content;
}*/

.loop-slider .swell-block-column figure {
  width: 270px;
  position: relative;
  flex-shrink: 0;
  /* 縮まないように固定 */
}

.loop-slider .swell-block-column figure::before {
  padding-top: 26%;
  display: block;
  content: "";
}

.loop-slider .swell-block-column figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 959px) {
  .loop-slider .swell-block-column figure {
    width: 180px;
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
    /* 100% → 50% にする */
  }
}

.loop-slider .swell-block-column figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

@media screen and (max-width: 959px) {
  .loop-slider .swell-block-column figure {
    width: 180px;
    /* 画像の横幅を指定（スマホ） */
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

/* 既存のCSSを維持 */
.loop-slider .swell-block-columns__inner {
  display: flex;
  flex-wrap: nowrap;
  flex-shrink: 0;
  /* animation: infinity-scroll-left 60s linear infinite; <--- 削除 */
  will-change: transform;
  /* パフォーマンス向上のため追加 */
}

/* ユーザー操作時のカーソルスタイル */
.loop-slider .swell-block-columns__inner:not(.is-dragging) {
  cursor: grab;
}

.loop-slider .swell-block-columns__inner.is-dragging {
  cursor: grabbing;
}

/* Loop Slider の内部要素に適用 */
.loop-slider .swell-block-columns__inner {
  /* ユーザーによる画像のドラッグを防止 */
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;

  /* IE/Edgeでの画像ドラッグを防止 */
  -webkit-user-drag: none;

  /* クリック時にアウトラインが表示されるのを防ぐ（オプション） */
  outline: none;
}

/* MV調整 */
.hero {
  position: relative;
  width: 100%;
  height: 65vh;
  overflow: hidden;
}

.hero-img {
  position: absolute;
  opacity: 0;
  animation: fadeIn 1.5s ease forwards,
    floating 6s ease-in-out infinite;
  object-fit: cover;
}

.delay1 {
  animation-delay: 0.3s, 0.3s;
}

.delay2 {
  animation-delay: 1.0s, 1.0s;
}

.delay3 {
  animation-delay: 1.7s, 1.7s;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(1.05);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes floating {
  0% {
    transform: translateY(0px) scale(1);
  }

  50% {
    transform: translateY(-12px) scale(1.02);
  }

  100% {
    transform: translateY(0px) scale(1);
  }
}

@media (max-width: 599px) {
  .img1 {
    width: clamp(80px, 1.234rem + 16.74vw, 120px);
    top: 110%;
    left: 0;
    transform: translateX(-50%);
  }

  .img2 {
    width: clamp(100px, -1.281rem + 33.47vw, 180px);
    top: 60%;
    left: 22%;
    transform: translateX(-50%);
  }

  .img3 {
    width: clamp(150px, 4.668rem + 20.92vw, 200px);
    top: 50%;
    right: 0;
    transform: translateX(50%);
  }
}

@media (min-width: 600px) {
  .img1 {
    width: clamp(140px, 2.483rem + 16.71vw, 200px);
    top: 50%;
    right: 43%;
    transform: translateX(-50%);
  }

  .img2 {
    width: clamp(160px, 3.733rem + 16.71vw, 220px);
    top: -120%;
    right: 25%;
    transform: translateX(-50%);
  }

  .img3 {
    width: clamp(200px, 8.322rem + 11.14vw, 240px);
    top: 0;
    right: 0;
    transform: translateX(50%);
  }
}

@media (min-width: 960px) {
  .img1 {
    width: clamp(180px, 7.083rem + 6.94vw, 220px);
    top: 30%;
    right: 43%;
    transform: translateX(-50%);
  }

  .img2 {
    width: clamp(190px, 4.583rem + 12.15vw, 260px);
    top: -50%;
    right: 23%;
    transform: translateX(-50%);
  }

  .img3 {
    width: clamp(210px, 3.75rem + 15.63vw, 300px);
    top: 0;
    right: 0;
    transform: translateX(50%);
  }
}

/* ポストリスト調整 */
.c-postTimes__posted.icon-posted::before,
.p-postList__cat.icon-folder::before {
  content: none;
}

.p-postList__cat.icon-folder {
  background: #f1f1f1;
  border-radius: 3px;
  padding: 4px;
}

/* メッシュグラデーションアニメーション */
.mesh-bg {
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.mesh-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 30%, #f0f9ff 0%, transparent 60%),
    radial-gradient(circle at 80% 20%, #c7e9ff 0%, transparent 70%),
    radial-gradient(circle at 30% 70%, #ebe6fc 0%, transparent 65%),
    radial-gradient(circle at 50% 80%, #ffffff 0%, transparent 60%);
  background-size: 200% 200%;
  animation: meshMove 10s ease-in-out infinite;
  z-index: -1;
}

@keyframes meshMove {
  0% {
    background-size: 200% 200%;
    background-position: 0% 50%;
  }

  50% {
    background-size: 220% 220%;
    background-position: 100% 50%;
  }

  100% {
    background-size: 200% 200%;
    background-position: 0% 50%;
  }
}



/* サービス一覧高さ調整 */
.service-list .swell-block-columns__inner {
  display: flex;
  align-items: stretch;
  /* 高さを揃える */
}

.service-list .swell-block-column {
  display: flex;
}

.service-list .swell-block-postLink,
.service-list .p-blogCard,
.service-list .p-blogCard__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.service-list .p-blogCard__body {
  margin-top: auto;
  width: 100%;
}

.service-list .swell-block-column {
  position: relative;
}

.service-list .swell-block-column::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  border: 1px solid var(--color-txt);
  pointer-events: none;
  z-index: 10;
  opacity: .3;
}

/*パンクズ*/
.p-breadcrumb__list {
  margin-right: 0;
  width: fit-content;
}

@media (min-width: 600px) {
  .p-breadcrumb__list {
    margin-right: 50px;
  }
}

.p-breadcrumb__list .p-breadcrumb__text .__home:before {
  display: none;
}

/*メディアとテキスト調整*/
.contents-copy .copy-txt {
  font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
}
.contents-copy .wp-block-media-text__media {
  aspect-ratio: 5 / 2;
}

/*アクセント*/
.accent {
  background-color: var(--color-gray-f1);
  padding: 1.5em !important;
  border-radius: 10px;
}

.accent.contact-block {
  background: none;
  border: 3px solid var(--color-gray-f1);
}


/*横並び調整*/
.wp-block-group.is-row {
  gap: 1em;
  align-items: center;
}

@media (min-width: 700px) {
  .ratio-1to1--tb img {
    aspect-ratio: 1 / 1 !important;
    height: 100% !important;
  }
}

/*メディアとテキスト調整*/
@media (min-width: 960px) {
  .wp-block-media-text.alignfull:not(.has-media-on-the-right) .wp-block-media-text__content {
    padding-right: 2.5vw;
  }
}

/*少し小さい*/
@media (min-width: 600px) {
  .tinybit {
    width: 85%;
    margin: auto;
  }
}

/*SPMV LOGO調整*/
@media (max-width: 599px) {
  .TopLogo-m-SP img {
    margin-bottom: 5em;
  }
}

/* メッシュグラデーション - 青緑系 */
.mesh-bg-cef1ec {
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.mesh-bg-cef1ec::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 30%, #cef1ec 0%, transparent 60%),
    radial-gradient(circle at 70% 20%, #a9e7db 0%, transparent 65%),
    radial-gradient(circle at 40% 80%, #d8f7f2 0%, transparent 60%),
    radial-gradient(circle at 80% 70%, #b7f0e7 0%, transparent 70%);
  background-size: 200% 200%;
  animation: meshMove 12s ease-in-out infinite;
  z-index: -1;
}

@keyframes meshMove {
  0% {
    background-size: 200% 200%;
    background-position: 0% 50%;
  }

  50% {
    background-size: 220% 220%;
    background-position: 100% 50%;
  }

  100% {
    background-size: 200% 200%;
    background-position: 0% 50%;
  }
}

/* メッシュグラデーション - 黄色系 */
.mesh-bg-f5ebc7 {
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.mesh-bg-f5ebc7::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 25% 25%, #fff5cf 0%, transparent 60%),
    radial-gradient(circle at 75% 30%, #fff1c1 0%, transparent 65%),
    radial-gradient(circle at 40% 80%, #f2e2a6 0%, transparent 70%),
    radial-gradient(circle at 85% 65%, #fdebb3 0%, transparent 60%);
  background-size: 200% 200%;
  animation: meshMove 15s ease-in-out infinite;
  z-index: -1;
}

/* border */
.border-ccc {
  border-color: #ccc !important;
}

/* iframeレスポンシブ対応 */
.ratio {
  max-width: 1920px;
}

.ratio iframe {
  aspect-ratio: 16/9;
  width: 100% !important;
  height: auto;
  border: none !important;
}

/* anchor-block */
.anchor-block {
  border-radius: var(--border-radius-M);
}

/* キャプション調整 */
figure.wp-block-gallery.has-nested-images {
  align-items: baseline !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: unset;
  box-sizing: unset;
  color: unset;
  margin-top: 10px;
  overflow: unset;
  padding: unset;
  scrollbar-color: unset;
  scrollbar-gutter: unset;
  scrollbar-width: none;
  text-align: center;
  text-shadow: unset;
  will-change: unset;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
  position: unset;
}

/* accordion */
.swell-block-accordion [data-swl-acc="header"] {
  font-weight: bold;
  font-size: 1.2em;
  border-radius: 5px;
}
.swell-block-accordion.job-reqs [data-swl-acc="header"] {
  background-color: #d8f7f2;
}