body {
/*	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif!important;*/
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif!important;
	font-weight: 400;
	letter-spacing: 1px
  }

.post_content{
	line-height: 2.0em;
		}

#particles-js {
    width: 100%;
    height: 100%;
    background: transparent;
    position: fixed;
    z-index: -2;
  }

  .home #loader-wrapper {
    position: fixed;
    background: var(--color_main);
    height: 100%;
    width: 100%;
    color: #fff;
    z-index: -1;
  }
  
  #loader-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  .loader-bg {
    display: none;
  }
  
  body.loader-show .loader-bg {
    position: fixed;
    display: block;
    content: "";
    z-index: 9999999999;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    transform: scaleX(0);
    background-color: var(--color_main);
    animation-name: loader-animation;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  }
 @keyframes loader-animation {
    0% {
      transform-origin: left;
      transform: scaleX(0);
    }
    50% {
      transform-origin: left;
      transform: scaleX(1);
    }
    100% {
      transform-origin: right;
      transform: scaleX(0);
    }
  }


.vertical-line {
  border-left: 1px solid #fff;
}

.column-outer {
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
}

.swell-block-column {
    display: flex;
    flex-direction: column;
}

.wp-block-group.btn-bottom {
    margin-top: auto;
}

.swell-block-column .swell-block-button {
    margin-top: auto;
  }

.text-padding{
	padding: 1rem 1.5rem 2rem;
}

  
#body_wrap {
    opacity: 1;
  }

#gnav {
	display: none
  }
  
  #breadcrumb {
	display: none
  }

  #header { background: none !important; }

  .l-header__bar {
	background: transparent
  }
  
  .header-sub-menu li {
	display: inline-block;
	font-size: 12px;
	line-height: 14px;
	padding: 0 12px
  }
  
  .header-sub-menu li a {
	color: #fff
  }
  
  .header-sub-menu li a:hover {
	text-underline-offset: .5em;
	text-decoration: underline
  }
  
  .header-sub-menu li:nth-child(2) {
	border-right: 1px solid var(--color_border);
	border-left: 1px solid var(--color_border)
  }
  
  .header-sub-menu li:nth-child(3) {
	padding-right: 0
  }
  
  #header-sub {
	margin-right: 100px
  }
  
  .header-sub-menu li {
	display: inline
  }
  
  .p-mainVisual__img.u-obf-cover {
	object-position: left top
  }
  
  .l-footer .copyright a {
	color: #fff
  }
  
  #footer #header-cv {
	display: none
  }
  
  #footer #header-sub {
	display: none
  }
  
  .side-menu {
	margin: 0 auto;
	text-align: center;
	display: block;
	transition: all 0.5s
  }
  
  .side-menu a {
	display: block;
	padding-top: 12px;
	padding-bottom: 12px;
	transition: all 0.5s;
	color: #fff
  }
  
  .side-menu:hover {
	background: rgba(255, 255, 255, .8)
  }
  
  .side-menu a:hover {
	color: #000
  }
  
  .side-menu i {
	display: block;
	margin: 0 auto;
	font-size: 20px
  }
  
  .side-menu span {
	display: block;
	font-size: .5em;
	margin-top: 5px
  }
  
  .sidebar-menu-list {
	border-bottom: 1px solid var(--color_border)
  }
  
  .sidebar-sns-list {
	border-bottom: 1px solid var(--color_border)
  }
  
  #sidebar-page-top {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 60px
  }
  
  .midashi-block {
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
	line-height: 1.45;
	letter-spacing: 5px;
	font-weight: 700;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2)
  }
  
  .midashi-back {
	opacity: .15;
	font-size: 3em;
	padding-top: 55px;
	position: absolute;
	text-transform: uppercase;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
  }

  
  .animation .midashi-inner {
	animation-name: midashi-animation;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	opacity: 0;
	/*display: inline*/

  }
  
  .animation .midashi-inner::before {
	animation-name: midashi-before-animation;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	/*background: #14304d;*/
    background-color: rgba(255, 144, 41, 0.8);
	color: #fff
  }
  
  .animation .midashi-inner span {
	animation-name: midashi-inner-animation;
	animation-delay: 0.6s;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
	padding: 20px
  }
  
  @keyframes midashi-before-animation {
	0% {
	  transform-origin: left;
	  transform: scaleX(0)
	}
	50% {
	  transform-origin: left;
	  transform: scaleX(1)
	}
	50.0001% {
	  transform-origin: right
	}
	100% {
	  transform-origin: right;
	  transform: scaleX(0)
	}
  }
  
  @keyframes midashi-animation {
	from {
	  opacity: 0
	}
	to {
	  opacity: 1
	}
  }
  
  @keyframes midashi-inner-animation {
	from {
	  opacity: 0
	}
	to {
	  opacity: 1
	}
  }
  
  .midashi-block-small {
	text-align: center;
	margin-bottom: 30px
  }
  
  .midashi-block-small {
	font-family: 'Noto Serif JP', serif;
	line-height: 1.45;
	letter-spacing: 5px;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2)
  }
  
/*  midashi-back-small {
	opacity: .08;
	font-size: 1.2em;
	padding-top: 38px;
	position: absolute;
	text-transform: uppercase;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2)
  }
  */

  .midashi-back-small {
	opacity: .08;
	font-size: 1.2em;
	padding-top:50px;
	text-transform: uppercase;
	position: absolute;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2)
  }

  .animation .midashi-inner-small {
	animation-name: midashi-animation;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	position: relative;
	overflow: hidden;
	opacity: 0;
	display: inline
  }
  
  .animation .midashi-inner-small::before {
	animation-name: midashi-before-animation;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	/*background: #14304d;*/
    background-color: rgba(255, 144, 41, 0.8);
	color: #fff
  }
  
  .animation .midashi-inner-small span {
	animation-name: midashi-inner-animation;
	animation-delay: 0.6s;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
	padding: 20px;
	font-size: 1.5em
  }
  
/*
  .box-number {
	font-weight: 700;
	font-size: 3rem;
	position: absolute;
	top: 1px
  }
  
  .box-number::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 3px;
	width: 50px;
	height: 3px;
	background: #fff;
	font-weight: 700;
	font-size: 1.8em
  }
  */
  .box-number {
	margin: 0;
    font-weight: 700;
    font-size: 3rem;
    position: relative;
    top: 0;
}

.box-number::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 3px;
    width: 50px;
    height: 3px;
    background: #fff;
    font-weight: 700;
    font-size: 1.8em;
}

  @keyframes glowing {
	0%, 100% {
	  filter: drop-shadow(0 0 10px rgba(255, 255, 255, .8))
	}
	50% {
	  filter: none
	}
  }

  .fw-icon {
    text-align: center;
    margin: 10px auto;
    height: 120px;
    width: 120px;
    line-height: 120px;
	animation: glowing 2s infinite
}

  .fw-icon span {
    font-size: 70px;
}

  
  .media-left .wp-block-media-text__content, .media-right .wp-block-media-text__content {
	background: rgba(0, 0, 0, 40%)
  }
  
  .p-articleFoot {
	display: none
  }
  
  .js-trigger-count {
	text-align: center;
	color: #fff
  }
  
  .number-column .swell-block-column {
	border: none
  }
  
  .count-font {
	color: #fff;
	font-size: 3.8em
  }
  

 /* .slider_project .slide-contents {
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	padding: 3em;
	box-shadow: var(--swl-box_shadow);
	height: auto;
	position: relative
  }
*/
.slider_project .slide-contents {
	background-color: rgba(66, 66, 66, 0.8);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	padding: 0;
	box-shadow: var(--swl-box_shadow);
	height: auto;
	position: relative
  }

/*  .slider_project .slide-contents {
    padding: 3em;
    box-shadow: var(--swl-box_shadow);
    height: auto;
    position: relative;
    background-color: rgba(255, 144, 41, 0.8);
	backdrop-filter: blur(50px) opacity(0.5);
    -webkit-backdrop-filter: blur(50px) opacity(0.5); /* Safari用に指定 
}
*/
.slider_project .slide-contents img {
	/*margin: 10px auto 10px auto*/
	margin: 0
  }

.slider_project .slide-div {
	/*margin: 10px auto 10px auto*/
	padding: 1rem 1.5rem 3rem 1.5rem
  }
  
  .slide-profile {
	font-size: .8em;
	text-align: center;
	margin-bottom: 10px
  }
  
  .slide-title {
	font-size: 1.1em;
	text-align: center;
	margin-bottom: 10px
  }
  
  .slide-des {
	font-size: .9em;
	text-align: left;
	margin-bottom: 10px
  }
  
  .slide-review {
	margin-top: 15px;
	text-align: center
  }
  
  .slide-review span {
	padding-left: 6px;
	font-size: .9em
  }
  
  [class*="page-numbers"] {
	color: #fff;
	background-color: #000
  }
  
  .slider_project .swiper-slide {
	transition: transform 0.6s
  }
  
  .slider_project .slide-contents.swiper-slide-prev{
	transform: scale(.85)
  }
  
  .slider_project .slide-contents.swiper-slide-next {
	transform: scale(.85)

}
  .slider_project .swiper-slide-active {
    transform: scale(1);
  }

  .swiper-button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	background-color: #fff;
	border-radius: 50%;
	cursor: pointer
  }
  
  .swiper-button svg {
	width: 100%;
	height: 100%
  }
  
  .swiper-button-next svg {
	fill: #333
  }
  
  .swiper-button-prev svg {
	fill: #333
  }
  
  .slider_project .swiper-button-next:hover, .slider_project .swiper-button-prev:hover {
	background: rgba(255, 255, 255, 50%)!important
  }
  
  
 
  .step-num {
	text-align: center;
	opacity: 80%;
	font-size: 1.5em;
	margin-bottom: 5px
  }
  
  .step-title {
	font-size: 1.3em;
	letter-spacing: 2px;
	text-align: center;
	margin-bottom: 36px
  }
  
  .step-icon {
	font-size: 60px;
	line-height: 60px
  }
  
  .step-des {
	font-size: .94em;
	text-align: left;
	line-height: 2.1em
  }

  #footer {
	position: relative;
	z-index: 9999; /* 他の要素よりも大きい値を設定 */
  }
  
  #body_wrap.archive, #body_wrap.single, #body_wrap.page {
	position: relative;
	background-image: url(https://impqol.discorove.com/wp-content/themes/swell_child/img/bgimg.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100vw;
	height: 536px;
	background-position: top center
  }

  #body_wrap.home {
    background-image: none;
}

  #body_wrap.page-id-562 {
	position: relative;
	background-image: url(https://impqol.discorove.com/wp-content/themes/swell_child/img/bgimg3.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100vw;
	height: 536px;
	background-position: top center
  }
  #body_wrap.page-id-777 {
	position: relative;
	background-image: url(https://impqol.discorove.com/wp-content/themes/swell_child/img/bgimg2.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100vw;
	height: 536px;
	background-position: top center
  }
  .p-postList__item {
	position: relative
  }
  
  .c-pageTitle {
	text-align: center;
	letter-spacing: 3px;
	text-shadow: 1px 1px 0 rgba(0, 0, 0, .2)
  }
  

  
  .table-01 {
	border-collapse: collapse;
	width: 90%;
	margin: 10px auto 0 auto
  }
  
  .table-01 th {
	background: transparent;
	font-size: 12px;
	margin: 0 10px;
	font-weight: 400
  }
  
  .table-01 th, .table-01 td {
	padding: .5em .75em
  }
  
  .table-01 tr:nth-child(2) {
	border-top: 1px dotted var(--color_border);
	border-bottom: 1px dotted var(--color_border)
  }
  
  .table-01 td {
	text-align: center;
	font-size: 12px
  }
  
  
  .p-postList__body {
	opacity: 1!important
  }
  
  .table-01 th i {
	padding-right: 5px
  }

  .p-articleFoot {
	display: none
  }


  #footer-list > ul {
    list-style-type: none;
    padding: 0 0 20px 0;
    margin: 0 auto;
    width: fit-content;
}

#footer-list > ul > li {
    display: inline;
    margin-right: 10px;
}

#footer-list > ul > li:not(:last-child)::after {
    content: "|";
    margin-left: 10px;
}

.l-footer__nav{
	font-size: 0.7em;
}

  @media (max-width:1200px) {
	#fixed-sidebar {
	  width: 80px
	}
  }
  
  @media (max-width:1199px) {
	.conta {
	  display: none
	}
  }
  
  @media (min-width:1000px) {

	.-sidebar-off .-type-card.-pc-col3 .p-postList__item {
	  width: 32%!important
	}
	#fixed-sidebar {
	  position: fixed;
	  right: 0;
	  top: 0;
	  height: 100%;
	  width: 60px;
	  border-left: 1px solid var(--color_border);
	  z-index: 999;
	  background: rgba(0, 0, 0, 30%)
	}
  }
  
  @media (max-width:1000px) {
	#fixed-sidebar {
	  display: none!important
	}
  }

  @media (min-width:960px) {
	#body_wrap.page .l-content {
	padding-top:200px
	}
	#body_wrap.single .l-content {
		padding-top:300px
		}
	#body_wrap.archive .l-content {
		padding-top:300px;
	}
	#sidebar.l-sidebar{
		padding: 20px 20px 0px 20px; 
		background-color: rgba(20, 48, 77, 0.5);
		};
	#body_wrap.page h1{
		text-align: left;
		font-size:1.4em;
		color: #cee2f8;
	  }
	.p-mainVisual__textLayer .p-mainVisual__slideTitle {
	  font-size: 3em;
	  line-height: 1.5;
	  font-weight: 600
	}
	.p-mainVisual__textLayer .p-mainVisual__slideText {
	  font-size: 1.3em;
	  font-weight: 500
	}

	.swell-block-faq__item h3.faq_q {
	  font-weight: 400
	}
	.swell-block-faq {
	  display: flex;
	  justify-content: space-between;
	  flex-flow: row wrap;
	  align-items: stretch;
	  gap: 2em 0
	}
	.swell-block-faq__item {
	  display: flex;
	  flex-direction: column
	}
	.swell-block-faq__item {
	  background: rgba(0, 0, 0, 60%);
	  width: 31%;
	  margin-bottom: 0;
	  margin-top: 1.5em!important
	}
	.swell-block-faq__item .faq_a {
	  padding: 20px 2em
	}
	.swell-block-faq .faq_a:before {
	  content: '';
	  box-shadow: none!important
	}
	.swell-block-faq .swell-block-faq__item+.swell-block-faq__item {
	  margin-top: 0!important
	}
	.swell-block-faq .faq_a {
	  font-size: .82em;
	  line-height: 2.2em
	}
	.swell-block-faq__item {
	  margin-bottom: 0!important
	}
	.animation .midashi-inner-small span {
	  font-size: 1.2em
	}

	.l-header__barInner {
	  display: flex;
	  justify-content: space-between
	}
	.l-header__bar .l-container {
	  margin-right: 0;
	  margin-left: 0;
	  max-width: 100%
	}
	.c-headLogo {
	  align-items: center
	}
	.contact-box {
	  margin-bottom: 2px;
	  line-height: 1.5em;
	  backdrop-filter: blur(10px);
	  -webkit-backdrop-filter: blur(10px);
	}
	body.home .contact-box {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	}
	#header-cv [class*=is-style-btn_] {
	  margin: 0!important
	}
	.contact-box span {
	  display: block
	}
	.contact-box01 {
	  font-size: 11px;
	  text-align: justify;
	  text-align-last: justify
	}
	.contact-box02 {
	  font-weight: 700;
	  font-size: 27px;
	  letter-spacing: 2px;
	  margin-bottom: 2px
	}
	.contact-box02 i {
	  padding-right: 10px
	}
	.contact-box03 {
	  font-size: 11px;
	  text-align: justify;
	  text-align-last: justify
	}
	.contact-banner {
	  padding-left: 1em
	}
	.contact-banner .far {
	  padding-right: 10px
	}
	.contact-banner .fa-solid {
	  padding-right: 10px
	}
	.contact-banner a {
	  font-size: 16px;
	  height: 70px;
	  display: flex;
	  align-items: center;
	  padding: 0 2em;
	  margin-top: 3px;
	  transition: all 0.6s
	}
	.-parallel .l-header__logo {
	  display: flex;
	  padding: 16px 48px
	}
	.l-header__inner .c-headLogo {
	  width: 30%;
	  display: block!important;
	  text-align: left
	}
	#header-cv {
	  width: 69.9%;
	  display: flex;
	  margin-left: auto;
	  margin-right: 100px;
	  justify-content: end
	}
	.l-fixHeader__inner l-container .c-headLogo {
	  width: 100%
	}

	.wpforms-container .wpforms-field {
	  padding: 30px 0 40px 0!important
	}
	.wpforms-field-label {
	  font-size: 1.2em!important;
	  margin-bottom: 30px!important;
	  letter-spacing: 2px!important
	}
	.wp-block-table td, .wp-block-table th {
	  border-top: 1px solid var(--color_border);
	  border-bottom: 1px solid var(--color_border)
	}
	.wp-block-media-text .wp-block-media-text__content {
	  padding: 3em!important
	}
	.media-left .wp-block-media-text__content {
	  margin-right: 4em!important;
	  margin-left: -10em!important
	}
  }
  
  @media (max-width:959px) {
	#body_wrap.page .l-content {
		padding-top:150px
		}

	#body_wrap.single .l-content {
		padding-top:270px
		}
	#body_wrap.archive .l-content {
		padding-top:270px;
	}
	#body_wrap.page h1{
		text-align: left;
		font-size:1em;
		color: #cee2f8;
	  }
	.l-header[data-spfix="1"] {
	  backdrop-filter: blur(10px);
	  -webkit-backdrop-filter: blur(10px);
	  position: fixed
	}
	#body_wrap.archive, #body_wrap.single {
	  background-position: left top;
	  height: 380px
	}
	.-sidebar-off .-type-card.-pc-col3 .p-postList__item {
	  width: 48%!important
	}
	#header-cv {
	  display: none
	}
	.wp-block-media-text .wp-block-media-text__content {
		padding: 2em!important
	  }

	  .media-left .wp-block-media-text__content {
		margin-right: 2em!important;
		margin-left: -8em!important
	  }
  }

  
  @media (max-width:599px) {
	.midashi-back {
		opacity: .15;
		font-size: 3em;
		padding-top: 30px;
		position: absolute;
		text-transform: uppercase;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		text-shadow: 1px 1px 0 rgba(0, 0, 0, .2);
	  }

	#body_wrap.page .l-content {
		padding-top:80px
		}

	#body_wrap.single .l-content {
		padding-top:200px
		}
	#body_wrap.archive .l-content {
		padding-top:110px;
	}
	#body_wrap.page {
	  height: 300px;
	  background-position: top center
	}
	#body_wrap.page h1{
		text-align: left;
		font-size:0.8em;
		color: #cee2f8;
	  }
	#body_wrap.archive, #body_wrap.single {
	  height: 240px
	  background-position: left top;
	}

	.-sidebar-off .-type-card.-pc-col3 .p-postList__item {
	  width: 198%!important
	}
	.p-mainVisual__slideTitle {
	  font-size: 1.4em
	}
	.p-mainVisual__slideText {
	  font-size: 1.1em
	}
	.midashi-block {
	  font-size: 1.2em
	}
	.midashi-back {
	  font-size: 1.6em
	}
	.count-font {
	  font-size: 1.8em
	}
	.p-mainVisual__slideTitle {
	  font-size: 1.4em
	}
	.p-mainVisual__slideText {
	  font-size: 1.1em
	}
	.midashi-block {
	  font-size: 1.2em
	}
	.midashi-back {
	  font-size: 2.6em
	}

	.animation .midashi-inner-small span {
	  font-size: 1.4em
	}
	.slider_project .slide-contents {
	  /*padding: 10px .8em 20px .8em*/
	}
	.wp-block-media-text .wp-block-media-text__content {
		padding-top: 0.5em!important;
		padding-bottom: 2em!important;
	}
  }
  @media (min-width:2000px) {
	#body_wrap.single .l-content {
	padding-top:400px
  }
  	#body_wrap.archive .l-content {
	padding-top:400px
  }
}