@charset "UTF-8";



body {
  background-image:
  linear-gradient(rgba(243,243,243,1) 1px, transparent 1px),
  linear-gradient(90deg, rgba(243,243,243,1) 1px, transparent 1px);

  background-size: 50px 50px;
}

main {
  margin-top: 140px;
}

main section {
	margin-bottom: 150px;
}

@media screen and (max-width: 999px) {
	main section {
		margin-bottom: 120px;
	}
}

@media screen and (max-width: 479px) {
  main section {
    margin-bottom: 100px;
  }
}


/* ------------------------------------------------------- 2カラム */

.split {
  display: flex;
  flex-wrap: wrap;
  gap: 4%;
}
.split-left,
.split-right {
  flex: 1;
}

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

@media (max-width: 999px) {
	.split {
		flex-direction: column;
	}
}



/* ------------------------------------------------------- 基本 */

/* 基本h2 */
.editor h2,
.heading-leftdeco {
  font-weight: 700;
  line-height: 1.4;
  font-size: clamp(24px, 3.5vw, 40px);
  margin-bottom: 60px;
  padding-left: 1.5em;
  position: relative;
}
.editor h2:before,
.heading-leftdeco:before {
  content: "";
  width: 0.75em;
  height: 0.75em;
  background: #0083D1;
  position: absolute;
  left: 0;
  top: 0.4em;
  /*transform: translateY(-50%);*/
  border-radius: 3px;
}
/* 基本h3 */
.editor h3,
.heading-bottomdeco {
  font-weight: 700;
  line-height: 1.4;
  font-size: clamp(22px, 2.5vw, 30px);
  margin-bottom: 30px;
  position: relative;
}
.editor h3:before,
.heading-bottomdeco:before {
  content: "";
  width: 1em;
  height: 3px;
  background: #0083D1;
  position: absolute;
  left: 0;
  bottom: -0.5em;
}

.editor h3 {
  margin-top: 50px
}


.editor ul {
  list-style: none;
  padding-left: 0;
}
.editor ul li {
  position: relative;
  padding-left: 1.2em;
}
.editor ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background:#0083D1;
}





/* ------------------------------------------------------- 見出し */


/* 英字デザイン */
.heading-en {
  font-weight: 700;
  line-height: 1.4;
  font-size: clamp(20px, 3vw, 34px);
  margin-bottom: 60px;
}
.heading-en .en {
  display: block;
  font-size: 0.5em;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  position: relative;
  padding-left: 1.75em;
  font-family: "Poppins", sans-serif;
font-weight: 500;
}
.heading-en .en::before {
  content: "";
  width: 1em;
  height: 1em;
  background: #0083D1;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 3px;
}


/* 青塗白文字 */
.heading-filled {
  display: inline-block;
  font-weight: 700;
  line-height: 1.3;
  font-size: clamp(22px, 2.5vw, 28px);
  margin-bottom: 40px;
  padding: 0.25em 30px;
  color: #fff;
  background-color: #0083D1;
  border-radius: 5px;
}


/* --------------------------------------------------------- title */

.title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 150px;
  margin-left: 4%;
  gap: 2%;
}

.title h1 {
    font-size: clamp(20px, 1.46vw, 28px);
    font-weight: 700;
    color: #00ACE2;
    line-height: 1;
    margin-bottom: 80px;
}
.title h1 span {
    display: block;
    font-family: "Poppins", sans-serif;
    font-weight: 900;
    font-size: clamp(60px, 5.21vw, 100px);
    white-space: nowrap;
    color: #000;
    margin-bottom: 0.15em;
}

.title-header {
  width: 43%;
}
.title-image {
  width: 55%;
  aspect-ratio: 8 / 3;
  min-height: 300px;
  position: relative;
}

.title-image::before {
  content: "";
  position: absolute;
  width: calc(100% + 30px);
  height: 100%;
  background: #0083D1;
  border-radius: 20px 0 0 20px;
  left: -30px;
  bottom: -30px;
  z-index: 0;
}
.title-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(223, 228, 255, 0.5);
  border-radius: 20px 0 0 20px;
  mix-blend-mode: soft-light;
  pointer-events: none;
  z-index: 2;
}
.title-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 20px 0 0 20px;
  position: relative;
  z-index: 1;
}


@media screen and (max-width: 1399px) {
	.title {
		flex-direction: column;
		align-items: initial;
		margin-left: 0;
	}
	.title-header {
		width: 100%;
		padding-left: calc(10% - 30px);
    	margin-bottom: 50px;
	}
	.title h1 {
		margin-bottom: 50px;
	}
	.title-image {
		width: 90%;
    	margin: 0 0 0 auto;
    	min-height: 250px;
	}
}


/* --------------------------------------------------------- breadcrumb */

.breadcrumb ol {
	display: flex;
  flex-wrap: wrap;
  gap: .5em;
}
.breadcrumb li {
	line-height: 1.5;
	font-weight: 700;
}
.breadcrumb li:after {
	content: ">";
	margin: 0 1em;
}
.breadcrumb li:last-of-type:after {
	content: none;
	margin: 0;
}
.breadcrumb li a {
	color: #b0b0b0;
}
.breadcrumb li a:hover {
	color: #333;
}

@media screen and (max-width: 1099px) {
	/*.breadcrumb {
	    margin-bottom: 40px;
	}*/
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 479px) {
	/*.breadcrumb {
        margin-bottom: 25px;
    }*/
}




/* --------------------------------------------------------- page-nav */


.page-nav {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 100px;
}
.page-nav-btn {
  flex: 1;
  display: block;
  max-width: 400px;
  height: 100px;
  line-height: 100px;
  font-size: clamp(16px, 1.15vw, 22px);
  color: #0083D1;
  background-color: #fff;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  border: 2px solid #0083D1;
  border-radius: 50px;
  font-weight: 500;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.page-nav-btn.is-current {
  background: #0083D1;
  color: #fff;
  pointer-events: none;
}
.page-nav-btn:hover {
  color: #fff;
  background-color: #0083D1;
}
@media (max-width: 1199px) {
  .page-nav-btn {
    width: 300px;
        height: 80px;
        line-height: 80px;
  }
}
@media (max-width: 899px) {
  .page-nav {
    flex-direction: column;
    align-items: center;
  }
  .page-nav-btn {
    width: 100%;
    /*max-width: 300px;*/
  }
}




/* --------------------------------------------------------- common */
.flex {
	display:-ms-flexbox;
	display:-webkit-flex;
	display: flex;	
}
article h2 {
	position: relative;
	color: #8e8e8e;
    font-size: 0.875rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    margin-bottom: 70px;
    padding-left: 30px;
}
article h2::before {
	position: absolute;
	bottom: 9px;
	left: 0;
	content: "";
	display: inline-block;
	width: 18px;
	height: 10px;
	clip-path: polygon(0 0, 80% 0, 100% 100%, 20% 100%);
	background-color: #4ad0f4;
}
article h2 span {
    display: block;
    font-size: 3rem;
    color: #000;
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin-bottom: 5px;
    margin-left: -30px;
}

table th {
	border-bottom: 3px solid #0083D1;
	text-align: left;
	padding: 35px 2em 35px 0;
	box-sizing: border-box;
	line-height: 1.8;
	width: 12em;
	vertical-align: top;
	box-sizing: border-box;
}
table td {
	border-bottom: 3px solid #E3E3E3;
	padding: 35px 1.5em;
	box-sizing: border-box;
	line-height: 1.8;
	width: calc(100% - 12em);
}
table tr:first-of-type th,table tr:first-of-type td {
	padding-top: 0;
}

article .editor table {
	margin-top: 30px;
}
article .editor img {
	width: auto;
	max-width: 100%;
	height: auto;
}

article .editor a {
	color:#0d8bb7;
	text-decoration:underline;
	cursor: pointer;
}
article .editor a:hover {
	color:#000;
	text-decoration:none;
}
article .editor img.alignleft {
	float: left;
	margin: 0 50px 20px 0;
}
article .editor img.aligncenter {
	clear:both;
	display:block;
	margin:auto auto 20px auto;
}
article .editor img.alignright {
	float: right;
	margin: 0 0 20px 50px;
}



@media screen and (max-width: 1199px) {
/*	article h2 {
		margin-bottom: 50px;
	}
	article h2 span {
		font-size: 2.75rem;
	}*/
	table th {
		padding: 30px 30px 30px 0;
		box-sizing: border-box;
		width: 230px;
	}
	table td {
		padding: 30px 0;
		width: calc(100% - 230px);
	}

}
@media screen and (max-width: 999px) {
	table th {
		padding: 30px 35px 30px 0;
		width: 200px;
	}
	table td {
		width: calc(100% - 200px);
	}
}
@media screen and (max-width: 767px) {
/*	article h2 {
		margin-bottom: 40px;
	}
	article h2 span {
		font-size: 2.25rem;
		margin-bottom: 0;
	}*/
	table th {
		display: block;
		border-bottom: none;
		padding: 30px 0 10px;
		width: 100%;
    color: #005689;
	}
	table td {
		display: block;
		padding: 0 0 30px;
		width: 100%;
	}

}
@media screen and (max-width: 479px) {

	article .editor img.alignleft,
	article .editor img.aligncenter,
	article .editor img.alignright {
		width: 100%;
		float: none;
		margin: 0 0 20px 0;
	}
}





/* --------------------------------------------------------- service archive */
.service-intro {
	margin-bottom: 100px;
}
.service-intro .inner {
	width: 1000px;
	max-width: 80%;
}
.service-intro .heading-msg {
	text-align: center;
	font-size: clamp(22px, 3.5vw, 40px);
	line-height: 1.5;
	padding-bottom: 70px;
	margin-bottom: 70px;
	position: relative;
}
.service-intro .heading-msg:before {
	content: "";
	display: block;
	width: 100px;
	height: 8px;
	background-color: #0083D1;
	border-radius: 10px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.service-feature {
	position: relative;
	margin-bottom: 100px;
	padding: 100px 0;
}
.service-feature:before {
	content: "";
	display: block;
	width: 70%;
	height: 100%;
	background-color: #F8F6F5;
	border-radius: 20px 0 0 20px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}
.service-feature .split-left {
	flex: 7;
}
.service-feature .split-right {
	flex: 3;
  position: relative;
  border: 2px solid #D5D5D5;
  background-color: #fff;
  padding: 40px 50px 30px;
  border-radius: 10px;
  text-align: center;
}

.service-feature .spec-title {
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  background: none;
  padding: 0 10px;
  font-weight: bold;
}
.service-feature .spec-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 52%;
  background: #F8F6F5;
  z-index: -1;
}
.service-feature .spec-title::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 50%;
  background: #fff;
  z-index: -1;
}

.service-feature .split-right figure {
	width: 100px;
  margin: 0 auto 10px;
}

.service-feature .split-right img {
  max-width: 100%;
  height: auto;
}
.service-links ul{
  display:flex;
  gap:40px;
}
.service-links ul li{
  flex:1;
  list-style:none;
}
.service-links ul{
  display:flex;
  gap:50px;
}
.service-links ul li{
  flex:1;
  list-style:none;
}
.service-links ul li a {
  display: block;
  position: relative;
}
.service-links ul li a:after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(115, 192, 216, 0.3);
  mix-blend-mode: soft-light;
  border-radius: 20px;
}
.service-links ul li a img {
  border-radius: 20px;
  box-shadow: 3px 3px 12px 0px rgba(0, 0, 0, 0.15);
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.service-links ul li a h3 {
  display: inline-block;
  font-size: clamp(18px, 1.46vw, 28px);
  color: #333;
  width: 50%;
  background-color: #fff;
  padding: 50px 10px 10px 50px;
  border-radius: 10px 0 0 0;
  position: absolute;
  bottom: -10px;
  right: -10px;
}
.service-links ul li a h3::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 5px;
  width: 40px;
  height: 40px;
  border: 2px solid #0083D1;
  border-radius: 50%;
}
.service-links ul li a h3::before {
  content: "";
  position: absolute;
  right: 29px;
  bottom: 16px;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #0083D1;
  border-right: 2px solid #0083D1;
  z-index: 1;
}

@media screen and (max-width: 1199px) {
  .service-links ul li a h3 {
    padding: 30px 10px 10px 30px;
  }
  .service-links ul li a h3::after {
    width: 30px;
    height: 30px;
  }
  .service-links ul li a h3::before {
    right: 24px;
    bottom: 12px;
  }
}
@media screen and (max-width: 999px) {
  .service-intro .heading-msg {
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
	.service-feature .split-left {
		margin-bottom: 50px;
	}
	.service-feature .split-right {
		max-width: 500px;
		margin: 0 auto;
	}
  .service-links ul li a h3 {
    width: 70%;
  }
}
@media (max-width: 768px) {
  .service-intro .inner {
    width: 90%;
  }
  .service-links ul {
    flex-direction: column;
  }
  .service-links ul li a h3 {
    width: 50%;
  }
}
@media (max-width: 549px) {
	.service-links ul li a h3 {
	  width: 70%;
	}
}
@media screen and (max-width: 479px) {
    .service-intro .inner {
        width: 94%;
    }
}


/* --------------------------------------------------------- service products*/
.products-intro {
    margin-bottom: 100px;
}
.products-intro .inner {
    width: 1200px;
    max-width: 80%;
}
.products-intro .heading-leftdeco {
  margin: 0 auto 60px;
  width: fit-content;
}

.products-list .inner {
  width: 90%;
  margin: 0 0 100px auto;
  border: 2px solid #DCDCDC;
  border-right: none;
  border-radius: 20px 0 0 20px;
  padding: 100px 10% 100px 100px;
  background-color: #fff;
}
.products-list .products-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}

.products-list .products-item {
  width: calc(50% - 25px);
}
.products-list figure {
  aspect-ratio: 3 / 2;
  overflow: hidden;
  margin-bottom: 30px;
}
.products-list figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.products-list .heading-filled {
  margin-bottom: 30px;
}

@media (max-width: 1499px) {
  .products-list .inner {
    padding: 70px 10% 70px 50px;
  }
}
@media screen and (max-width: 1299px) {
    .products-list .inner {
        width: 95%;
        padding: 50px 5% 50px 30px;
    }
}
@media (max-width: 767px) {
  .products-intro {
    margin-bottom: 80px;
  }
  .products-list .products-item {
    width: 100%;
  }
}


/* --------------------------------------------------------- service rental*/

.rental-list .rental-item {
  margin-bottom: 100px;
}
.rental-list figure {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}
.rental-list figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.rental-list .rental-sub {
  position: relative;
  padding: 35px 20px 20px;
  background-color:#F5F5F5;
  border-radius: 10px;
  margin-bottom: 50px;
}
.rental-list .rental-sub:last-of-type{
  margin-bottom:0;
}
.rental-list .rental-sub dt {
  font-size: 1.25rem;
  position: absolute;
  top:0;
  transform: translateY(-50%);
  line-height: 1.2;
}
.rental-guide .inner {
  padding: 80px;
  border: 2px solid #0083D1;
  border-radius: 20px;
  background-color: #fff;
}
.rental-guide .editor {
  margin-bottom: 50px;
}
.rental-guide .editor h3 {
  padding: 0.375em 1em;
  background-color: #F8F5F4;
}
.rental-guide .editor h3:before {
  content: none;
}


@media (max-width: 999px) {
  .rental-list .split-left {
    margin-bottom: 30px;
  }
  .rental-list .rental-sub {
    margin-bottom: 35px;
  }
  .rental-guide .inner {
   padding: 60px 40px 50px;
  }
  .rental-guide .editor h3 {
    padding: 0.5em 1em;
  }
}
@media screen and (max-width: 767px) {
  .rental-guide .btn a {
    width: 270px;
  }
}
@media screen and (max-width: 479px) {
  .rental-list .rental-sub dt {
    font-size: 1.125rem;
  }
  .rental-guide .inner {
    padding: 60px 20px 50px;
  }
  .rental-guide .editor {
    margin-bottom: 30px;
  }
}






/* --------------------------------------------------------- results*/
.results {
  position: relative;
  /*padding-bottom: 150px;*/
}
.results .inner .lead {
  margin-bottom: 4em;
}
.results-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  padding: 0;
  margin-bottom: 60px;
}
.results-list li{
  list-style: none;
  position: relative;
  background-color: #fff;
}
.results-list li:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  width: 120px;
  height: 120px;
  opacity: 0.2;
}
.results-list li.car:after {
  background: url(../images/icon_car.svg) no-repeat center / contain;
}
.results-list li.food:after {
  background: url(../images/icon_food.svg) no-repeat center / contain;
}
.results-list li.chemistry:after {
  background: url(../images/icon_chemistry.svg) no-repeat center / contain;
}
.results-list li a {
  padding: 50px 40px;
  box-shadow: 3px 3px 12px rgba(0,0,0,0.1);
  display: block;
  position: relative;
  z-index: 1;
  height: 100%;
}
.results-list li a::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border: 2px solid #0083D1;
  border-radius: 50%;
  background-color: #fff;
}
.results-list li a::before {
  content: "";
  position: absolute;
  right: 9px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid #0083D1;
  border-right: 2px solid #0083D1;
  z-index: 1;
}
.results-list li h3 {
  margin-bottom: 30px;
  font-size: clamp(18px, 1.46vw, 28px);
  line-height: 1.3;
}
.results-list li dt {
  line-height: 1;
  font-size: 1rem;
  margin-bottom: 10px;
}
.results-list li dd {
  line-height: 1;
  font-weight: 700;
}
.results .btn a {
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1199px) {
   .results-list{
    grid-template-columns: repeat(2, 1fr);
   }
}
@media screen and (max-width: 799px) {
   .results-list{
    grid-template-columns: 1fr;
   }
}





/* --------------------------------------------------------- results detail*/

.results-head,
.results-summary,
.results-proposal{
  margin: 80px 0;
}



.results-head .results-meta {
  display: flex;
  gap: 50px;
  width: 60%;
}

.results-head .meta-item {
  flex: 1;
}
.results-head .meta-item dt {
  font-size: 1rem;
}
.results-head .meta-item dd {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.4;
}



.results-summary {
  position: relative;
}
.results-summary .inner {
  width: 80%;
  background: #0083D1;
  margin: 0 auto 0 0;
  padding-left: 10%;
  border-radius: 0 20px 20px 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 50px 50px;
}

.results-summary .summary-box {
  color: #fff;
  padding: 50px 100px 50px 0;
  position: relative;
}
.results-summary .summary-box::after {
  content: "";
  position: absolute;
  top: -110px;
  right: -110px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #ccc;

  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}

.results-summary .summary-box.car::after {
  background-image: url(../images/icon_car.svg);
}

.results-summary .summary-box.food::after {
  background-image: url(../images/icon_food.svg);
}

.results-summary .summary-box.chemistry::after {
  background-image: url(../images/icon_chemistry.svg);
}



.results-proposal .inner {
  border: 2px solid #DCDCDC;
  border-right: none;
  border-radius: 20px 0 0 20px;
  margin:0 0 0 auto;
  padding-right:10%;
  background-color: #fff;
  width: 90%;
}
.results-result .inner {
  border: 2px solid #0083D1;
  border-right: none;
  border-radius: 20px 0 0 20px;
  margin:0 0 0 auto;
  padding-right:10%;
  background-color: #fff;
  width: 90%;
}
.content-box {
  padding: 40px 0 40px 50px;
  position: relative;
}
.content-box-proposal::after {
  content: "";
  position: absolute;
  background: url("../images/results-proposal.svg") no-repeat center / contain;
  width: 160px;
  aspect-ratio: 1 / 1;
  right: -90px;
  bottom: -50px;
}
.content-box-result::after {
  content: "";
  position: absolute;
  background: url("../images/results-result.svg") no-repeat center / contain;
  width: 120px;
  aspect-ratio: 1 / 1;
  left: -60px;
  bottom: -40px;
}
.content-box-result::before {
  content: "";
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 40px;
  background: url("../images/arrow-result.svg") no-repeat center / contain;
}




.results-related .heading-leftdeco {
    margin: 0 auto 60px;
    width: fit-content;
}

.results-related {
  position: relative;
  margin-top: 230px;
}

.results-related::before {
  content: "";
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: calc(70% + 100px);
  background: #F8F6F5;
  z-index: 0;
}
.results-related .results-list {
  margin-bottom: 80px;
}


.results.results-related .btn a {
    margin: 0 auto;
}


@media (max-width: 999px) {
  .results-head .results-meta {
    gap: 30px;
  }
  .results-head .meta-item dd {
    font-size: 1.25rem;
  }
  .results-summary .summary-box::after {
    top: -75px;
    right: -75px;
    width: 150px;
    height: 150px;
  }
  .results-summary .inner {
    width: 85%;
    padding-left: 5%;
  }
  .results-proposal .inner {
    width: 95%;
    padding-right: 5%;
  }
  .results-result .inner {
    width: 95%;
    padding-right: 5%;
  }
  .content-box {
    padding: 40px 0 60px 50px;
  }
  .content-box-proposal::after {
    right: -20px;
    bottom: -70px;
    width: 150px;
  }
  .content-box-result::after {
    left: -20px;
    bottom: -40px;
  }
}
@media (max-width: 767px) {


  .results-head .results-meta {
    width: 80%;
  }

  .results-summary .summary-box {
    margin-right: 0;
    border-radius: 0;
    padding: 50px 60px 50px 0;
  }
  .results-summary .summary-box::after {
    top: -60px;
    right: -30px;
    width: 110px;
    height: 110px;
  }

  .content-box {
    margin-right: 0;
    border-radius: 20px;
    padding: 20px 20px 50px;
  }
  .content-box-proposal::after {
    bottom: -55px;
    width: 130px;
  }
  .content-box-result::after {
    left: -10px;
    width: 90px;
  }

}
@media (max-width: 479px) {
    .results-head .meta-item dd {
        font-size: 1.125rem;
    }
    .results-proposal .inner {
        padding-right: 0;
    }
    .results-result .inner {
      padding-right: 0;
    }
    .content-box-proposal::after {
    right: 0;
    bottom: -40px;
    width: 110px;
  }
  .content-box-result::after {
    left: 0;
    bottom: -20px;
    width: 80px;
  }
}

/* --------------------------------------------------------- strengths*/
.strengths-intro {
	margin-bottom: 10%;
}
.strengths-intro .inner{
  display:flex;
  gap:60px;
  flex-direction: row-reverse;
}
.strengths-intro .heading-msg {
	font-size: clamp(26px, 3.5vw, 40px);
	line-height: 1.5;
	padding-bottom: 70px;
	margin-bottom: 70px;
	position: relative;
}
.strengths-intro .heading-msg:before {
	content: "";
	display: block;
	width: 100px;
	height: 8px;
	background-color: #0083D1;
	border-radius: 10px;
	position: absolute;
	bottom: 0;
	left: 0;
}


.strengths-intro .venn-area{
  position:relative;
  flex:2;
  margin-top: 50px;
}
.strengths-intro .venn {
  position: relative;
  width: 100%;
  max-width: 600px;
}
.strengths-intro .venn:before {
  content:"";
  display: block;
  background: url(../images/logomark_white.svg) no-repeat center / contain;
  width: 12%;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: clamp(100px, 10.5vw, 200px);
  left: 39%;
  z-index: 1;
}
.strengths-intro .circle{
  position:absolute;
  width: clamp(210px, 50%, 300px);
  aspect-ratio: 1 / 1;
  border-radius:50%;
  text-align:center;
}
.strengths-intro .circle img{
  margin-bottom:6px;
  opacity: 0.5;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.strengths-intro .circle span{
  font-size: clamp(20px, 1.3vw, 26px);
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  color:#3e3e3e;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.strengths-intro .circle1{
  top: 0;
  left: 50%;
  transform: translate(-100%, 0);
  background-color: rgba(255, 94, 64, 0.6);
}
.strengths-intro .circle2{
  top: 0;
  left: 50%;
  transform: translate(-20%, 0);
  background-color: rgba(38, 173, 255, 0.6);
}
.strengths-intro .circle3{
  top: 50%;
  left: 50%;
  transform: translate(-60%, 70%);
  background-color: rgba(251, 210, 9, 0.6);
}
.strengths-intro .circle1 img {
  width: 25%;
  height: auto;
}
.strengths-intro .circle2 img {
  width: 33%;
  height: auto;
}
.strengths-intro .circle3 img {
  width: 37%;
  height: auto;
}
.strengths-intro .bg-vertical{
  font-family: "Poppins", sans-serif;
  font-weight: 800;
  writing-mode:vertical-rl;
  font-size: clamp(70px, 6vw, 90px);
  color: rgba(248, 240, 235, 0.6);
  position:absolute;
  top: -15%;
  right:-6%;
  transform: scaleX(1.7);
}

.strengths-intro .strengths-text{
  flex: 3;
}

@media screen and (max-width: 1199px) {
	.strengths-intro .venn:before {
        top: 150px;
    }
}
@media screen and (max-width: 999px) {
	.strengths-intro {
		margin-bottom: 60%;
	}
  .strengths-intro .inner {
    flex-direction: column-reverse;
  }
  .strengths-intro .venn-area {
    margin: -5% auto 0;
  }
  .strengths-intro .venn {
    transform: translateX(2.75vw);
  }
  .strengths-intro .venn:before {
    width: 10%;
    top: 16vw;
    left: 41%;
  }
  .strengths-intro .circle {
    width: 30vw;
  }
  .strengths-intro .bg-vertical {
    left: -5%;
    font-size: 8vw;
  }
  .strengths-intro .heading-msg {
  	padding-bottom: 50px;
    margin-bottom: 50px;
    text-align: center;
  }
  .strengths-intro .heading-msg:before {
  	left: 50%;
  	transform: translateX(-50%);
  }
}
@media (max-width: 768px) {
  .strengths-intro .venn:before {
    width: 8%;
    top: 16.5vw;
    left: 43%;
  }
}
@media (max-width: 599px) {
	.strengths-intro .inner {
		gap: 40px;
	}
  .strengths-intro .circle span {
    font-size: 1rem;
  }
  .strengths-intro .bg-vertical {
    display: none;
  }
}
@media (max-width: 549px) {
    .strengths-intro {
    	margin-bottom: 100px;
    }
  .strengths-intro .inner {
    position: relative;
  }
  .strengths-intro .venn-area {
    margin-top: 0;
    position: absolute;
    top: 20%;
    left: 54%;
    z-index: -1;
  }
  .strengths-intro .venn {
        transform: none;
    }
  .strengths-intro .venn:before {
    display: none;
  }
  .strengths-intro .circle {
    opacity: 0.2;
    width: 35vw;
  }
  .strengths-intro .circle img {
    display: none;
  }
  .strengths-intro .circle span {
    display: none;
  }
}



.strengths-list .strengths-item {
	margin-bottom: 80px;
}
.strengths-list .strengths-item:last-child {
	margin-bottom: 0;
}
.strengths-list .strengths-item .split-left {
	flex: 3;
}
.strengths-list .strengths-item .split-right {
	flex: 7;
}
.strengths-list .circle{
  position:relative;
  width: 80%;
  aspect-ratio: 1 / 1;
  border-radius:50%;
  text-align:center;
}
.strengths-list .circle::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0.875rem;
  width: 40%;
  height: 1px;
  background: #707070;
  transform: rotate(-50deg);
  transform-origin: 100% 0%;
}
.strengths-list .circle::after {
  content: "";
  position: absolute;
  right: -30%;
  top: 0.875rem;
  width: 30%;
  height: 1px;
  background: #707070;
}
.strengths-list .circle img{
  margin-bottom:6px;
  opacity: 0.5;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.strengths-list .circle span{
  font-size: clamp(20px, 1.3vw, 26px);
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  color:#3e3e3e;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.strengths-list .circle1{
  background-color: rgba(255, 94, 64, 0.6);
}
.strengths-list .circle2{
  background-color: rgba(38, 173, 255, 0.6);
}
.strengths-list .circle3{
  background-color: rgba(251, 210, 9, 0.6);
}
.strengths-list .circle1 img {
  width: 25%;
  height: auto;
}
.strengths-list .circle2 img {
  width: 33%;
  height: auto;
}
.strengths-list .circle3 img {
  width: 37%;
  height: auto;
}


@media screen and (max-width: 999px) {
	.strengths-list .split {
        flex-direction: row;
    }
    .strengths-list .circle {
    	width: 94%;
    }
    .strengths-list .circle::before {
    	width: 30%;
    	top: 0.5rem;
    }
    .strengths-list .circle::after {
    	width: 15%;
    	right: -15%;
    	top: 0.5rem;
    }
}
@media (max-width: 768px) {
	.strengths-list .split {
        flex-direction: column-reverse;
    }
    .strengths-list .strengths-item .split-left {
    	display: block;
    	width: 100%;
    }
    .strengths-list .circle {
        width: 50%;
        min-width: 200px;
        margin: 0 auto;
    }
    .strengths-list .circle::before {
    	content: none;
    }
    .strengths-list .circle::after {
    	content: none;
    }
    .strengths-list .heading-en {
    	margin-bottom: 30px;
    }
}






/* --------------------------------------------------------- consulting */

.subpage-nav-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-items: center;
  gap: 50px;
  padding: 0;
  margin: 0;
}

.subpage-nav-list li {
  list-style: none;
  position: relative;
  width: 100%;
  max-width: 500px;
}

.subpage-nav-list li:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #0083D1;
    border-radius: 10px;
    position: absolute;
    left: -15px;
    bottom: -15px;
    z-index: -1;
}

.subpage-nav-list a {
  display: block;
  padding: 50px 20px;
  text-align: center;
  background: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  border-radius: 10px;
  text-decoration: none;
  color: #333;
  transition: 0.2s;
  font-weight: bold;
}

.subpage-nav-list a:hover {
  transform: translateY(-4px);
}


@media (max-width: 768px) {
  .subpage-nav-list {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .subpage-nav-list a {
    padding: 30px 20px;
    border: 2px solid #0083D1;
  }
  .subpage-nav-list li:before {
    content: none;
  }
}



/* --------------------------------------------------------- consulting flow */
.consulting-intro {
  margin-bottom: 100px;
}
.consulting-intro .inner {
  width: 1000px;
  max-width: 80%;
}

.flow-list .inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.flow-list .flow-item {
  position: relative;
  border: 2px solid #0083D1;
  border-radius: 20px;
  padding: 60px 25px;
  background: #fff;
}
.flow-list .flow-num {
  display: block;
  font-size: 2rem;
  font-size: clamp(40px, 5vw, 100px);
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  color: #E7F1F8;
  line-height: 1;
  text-align: center;
  margin-bottom: 0.35em;
}
.flow-list .flow-title {
  line-height: 1.4;
  font-size: clamp(22px, 1.875vw, 24px);
  margin-bottom:1.125em;
  text-align: center;
}
/* .flow-list .flow-text {

} */
.flow-list .flow-item::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -18px;
  transform: translateY(-50%);
  border-left: 18px solid #007aff;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
}
.flow-list .flow-item:last-child::after {
  display: none;
}
.flow-list .btn{
	margin: 0;
}
.flow-list .btn a:hover {
	color: #fff;
	background-color: #0083D1;
}
.flow-list .btn a{
  display: grid;
  grid-template-columns: 1fr 40px; 
  align-items: center;
  width: 100%;
  height: unset;
  padding: 0 10px 0 30px;
  border: 2px solid #0083D1;
  border-radius: 50px;
  background:#fff;
  color:#0083D1;
  font-weight:bold;
  letter-spacing:.05em;
  text-decoration:none;
  box-sizing:border-box;
  white-space: wrap;
  font-size: 1.125rem;
  min-height: 80px;
}
.flow-list .btn .label{
  line-height:1.4;
}
.flow-list .btn .icon{
  width:35px;
  height:35px;
  background:#0083D1;
  border-radius:50%;
  position:relative;
}
.flow-list .btn .icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:6px;
  height:6px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  transform:translate(-50%,-50%) rotate(45deg);
}
.flow-list .btn a::before,
.flow-list .btn a::after {
  content: none;
}
.flow-list .btn a br {
  display: none;
}
@media (max-width: 1789px) {
  .flow-list .btn a br {
    display: block;
  }
}
@media (max-width: 1199px) {
  .flow-list .inner {
    grid-template-columns: repeat(3, 1fr);
  }
  .flow-list .flow-item {
    padding: 50px 15px;
  }
  .flow-list .btn a br {
    display: none;
  }
}
@media (max-width: 1069px) {
 .flow-list .btn a br {
    display: block;
  }
}
@media (max-width: 819px) {
  .flow-list .inner {
    width: 90%;
    grid-template-columns: repeat(2, 1fr);
  }
  .flow-list .flow-item {
    padding: 40px 15px;
  }
  .flow-list .btn a {
    min-height: 70px;
  }
  .flow-list .btn a br {
    display: none;
  }
}
@media (max-width: 659px) {
  .flow-list .btn a br {
    display: block;
  }
}
@media screen and (max-width: 479px) {
  .consulting-intro .inner {
    width: 94%;
  }
  .flow-list .inner {
    width: 94%;
     grid-template-columns: repeat(1, 1fr);
  }
  .flow-list .flow-item {
    padding: 40px 25px;
  }
  .flow-list .flow-item::after {
    top: unset;
    bottom: -35px;
    right: 50%;
    transform: translateX(50%);
    border-top: 18px solid #007aff;
border-left: 17px solid transparent;
border-right: 17px solid transparent;
  }
  .flow-list .btn a {
    min-height: 80px;
    padding: 0 5px 0 20px;
    border-radius: 30px;
  }
  .flow-list .btn a br {
    display: none;
  }
  .flow-list .btn .icon {
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 419px) {
  .flow-list .flow-item {
    padding: 30px 10px;
  }
}


    

/* --------------------------------------------------------- consulting faq */
.faq-list .inner {
  max-width: 1200px;
}
.faq-list dl {
  border-radius: 10px;
  margin-block-end: 60px;
}
.faq-list dl dt {
  display: flex;
  background-color: #0083D1;
  color: #fff;
  padding: 25px 35px;
  border-radius: 10px 10px 0 0;
  font-weight: 700;
}
.faq-list dl dt span {
  margin-right: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
  font-size: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
}
.faq-list dl dd {
  padding: 35px;
  display: flex;
  align-items: baseline;
  background-color: #fff;
  border: 2px solid #dcdcdc;
  border-top: none;
  border-radius: 0 0 10px 10px;
}
.faq-list dl dd span.answer {
  color: #0083D1;
  font-weight: 700;
  margin-right: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
  font-size: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
}
@media (max-width: 1199px) {
  .faq-list dl dt {
    padding: 15px 25px;
  }
  .faq-list dl dd {
    padding: 15px 25px;
  }
}
@media screen and (max-width: 479px) {
  .faq-list dl {
    margin-block-end: 40px;
  }
  .faq-list dl dt {
    padding: 15px;
  }
  .faq-list dl dd {
    padding: 15px;
  }
}





/* --------------------------------------------------------- consulting contact */








/* --------------------------------------------------------- company */

.company-relations .editor {
  padding:30px 50px 50px;
  border-radius: 20px;
  background-color: #F6F6F6;
}
.company-relations .editor p {
  margin-bottom: 0;
}
.company-relations .editor ul {
  column-count: 2;
  column-gap: 2em;
}
.company-relations .editor li {
  break-inside: avoid;
}
.company-profile .editor {
  margin-bottom: 50px;
}
.company-profile .gmap iframe {
  width: 100%;
  height: 450px;
  border-radius: 20px;
}

@media (max-width: 767px) {
  .company-relations .editor ul {
    column-count: 1;
  }
}

@media screen and (max-width: 479px) {
  .company-relations .editor {
    padding: 15px 30px 40px;
  }
}



/* --------------------------------------------------------- news */
.news-list .inner {
  max-width: 1200px;
}
.news-list .inner ul li {
  margin-block-end: 30px;
}
.news-list .inner ul li a {
  display: flex;
  align-items: baseline;
  gap: 75px;
  padding: 40px 90px;
  border: 1px solid #ececec;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 3px 3px 12px rgba(0,0,0,0.16);
}
.news-list .inner ul li a:hover {
  background-color: #f5f7f8;
  transition: all .3s;
}
.news-list .inner ul li a time {
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
}
@media (max-width: 1199px) {
  .news-list .inner ul li a {
    padding: 30px 60px;
  }
}
@media (max-width: 799px) {
  .news-list .inner ul li a {
    padding: 20px 30px;
    gap: 40px;
  }
}
@media (max-width: 479px) {
  .news-list .inner ul li a {
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }
}
/*------------------------------------------
 pagination
--------------------------------------------*/
.pagination {
  width: 100%;
  margin: 80px auto 0;
  font-size: var(--fsize-16);
  font-weight: 500;
}
.pagination ul {
  display:-webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  flex-wrap: wrap;
    padding: 0;
}
.pagination ul li {
  margin: 0 .5%;
  padding-inline-start: 0;
}
.pagination ul li span {
  display:-webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center;
  color: #0083D1;
  width: 40px;
  height: 40px;
  line-height: 1;
  border-radius: 5px;
  font-weight: 700;
}
.pagination ul li span.current {
  color: #FFF;
  border: 1px solid #0083D1;
  background-color: #0083D1;
}
.pagination ul li a {
  position: relative;
  display:-webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  line-height: 1;
  color: #0083D1;
  border: 1px solid #0083D1;
  background-color: #FFF;
  text-decoration: none;
  border-radius: 5px;
}
.pagination ul li a:hover {
  border: 1px solid #0083D1;
  background: #0083D1;
  color: #FFF;
  opacity: 1;
}
.pagination a.next::after {
  content: '';
  display: inline-block;
  width: 9px;
  height: 14px;
  margin-inline-start: .3em;
  background: url(../images/arrow1.svg) no-repeat center center;
  background-size: contain;
  transition: all .5s ease;
}
.pagination a.next:hover::after {
  background: url(../images/arrow1-w.svg) no-repeat center center;
  background-size: contain;
}
.pagination a.prev::before {
  content: '';
  display: inline-block;
  width: 9px;
  height: 14px;
  scroll-margin-inline-end: .3em;
  background: url(../images/arrow1.svg) no-repeat center center;
  background-size: contain;
  transform: rotate(180deg);
  transition: all .5s ease;
}
.pagination a.prev:hover::before {
  background: url(../images/arrow1-w.svg) no-repeat center center;
  background-size: contain;
  transform: rotate(180deg);
}
@media screen and (max-width: 1199px) {
  .news-list nav {
    display: flex;
    justify-content: center;
  }
  .pagination ul {
    flex-wrap: nowrap;
    transform: unset;
    position: unset;
    background-color: unset;
    width: fit-content;
    margin: 0 auto;
    flex-direction: row;
    gap: 5%;
  }
  .pagination ul li {
    margin: 0 1%;
    width: fit-content;
  }
}
@media screen and (max-width: 480px) {
    .pagination {
        margin-block-start: 40px;
    }
    .pagination a.next,
    .pagination a.prev {
        padding-inline: .5em;
    }
    .pagination ul li a,
    .pagination ul li span {
        width: 30px;
    }
}

/* --------------------------------------------------------- news detail */
.news-detail time {
  color: #9a9a9a;
}
.news-detail h2 {
  margin-top: 30px;
}
.news-detail .contents {
  margin-block-end: 150px;
}
@media screen and (max-width: 799px) {
  .news-detail .contents {
  margin-block-end: 100px;
 }
}
@media screen and (max-width: 489px) {
  .news-detail .contents {
  margin-block-end: 70px;
 }
}



/* --------------------------------------------------------- inquiry */
.form-wrapper p a {
  color:#50A5EF;
}
.form-wrapper table {
  margin-top: 50px;
  margin-bottom: 50px;
}
.form-wrapper th {
    width: 20em;
    white-space: nowrap;
    position: relative;
    vertical-align: middle;
    padding: 25px 15px;
    background-color: #0083D1;
    color: #fff;
    border-bottom: 3px solid #ffffff;
}
.form-wrapper td {
    width: calc(100% - 20em);
    background-color: #f6f6f6;
    border-bottom: 3px solid #ffffff;
    padding: 25px 15px;
}
.form-wrapper table tr:first-of-type th,
.form-wrapper table tr:first-of-type td {
  padding: 25px 15px;
}
.form-wrapper table tr:first-of-type th {
  border-radius: 10px 0 0 0;
}
.form-wrapper table tr:first-of-type td {
  border-radius: 0 10px 0 0;
}
.form-wrapper table tr:last-of-type th {
  border-radius: 0 0 0 10px;
}
.form-wrapper table tr:last-of-type td {
  border-radius: 0 0 10px 0;
}
.form-wrapper th.required::after {
    content: "必須";
    background-color: #fff;
    font-size: 12px;
    position: absolute;
    top: 28px;
    right: 1em;
    color: #0083D1;
    line-height: 1;
    padding: 0.2em;
}
.form-wrapper .policybox {
    text-align: center;
    padding: 50px;
    border: 2px solid #DCDCDC;
    border-radius: 20px;
    margin-bottom: 50px;
    background-color: #fff;
}
.form-wrapper .policybox a {
  color:#50A5EF;
}
.wpcf7 {
border: 0;
}
.wpcf7 form {
margin: 0;
}
.wpcf7-list-item {
    margin: 0;
}
.wpcf7 .wpcf7-list-item {
    display: block;
    margin-bottom: 10px;
}
.wpcf7 input, .wpcf7 textarea {
  width: 100%;
    padding: 8px;
    border: 2px solid #c3c3c3;
    line-height: 1.2;
    border-radius: 5px;
}
.wpcf7 select, .wpcf7 input[type=checkbox], .wpcf7 input[type=radio] {
    width: auto;
    max-width: 97%;
    padding: 8px;
    border: 1px solid #ccc;
}
.wpcf7 .wpcf7-submit {
    display: block;
    position: relative;
    width: 300px;
    height: 80px;
    margin: 0 auto;
    border: 3px solid #0083D1;
    border-radius: 50px;
    outline: none;
    background-color: #fff;
    color: #0083D1;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s;
}
.wpcf7 .wpcf7-submit:hover {
  color: #fff;
  background-color: #4ab5f5;
}
.wpcf7 .wpcf7-submit:disabled {
  background-color: #ddd;
  border: 3px solid #ccc;
  color: #a3a3a3;
}

@media screen and (max-width: 1199px) {
    .form-wrapper table td {
        padding: 30px 1.5em;
    }
}
@media screen and (max-width: 999px) {
  .form-wrapper th {
    width: 16em;
  }
  .form-wrapper td {
    width: calc(100% - 16em);
  }
}
@media screen and (max-width: 800px) {
.form-wrapper th.required::after {
    top: 24px;
}
}
@media screen and (max-width: 767px) {
  .form-wrapper table {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .form-wrapper th {
      width: 100%;
      padding: 10px 20px !important;
  }
  .form-wrapper td {
      width: 100%;
      padding: 10px 20px !important;
  }
  .form-wrapper th.required::after {
      top: 19px;
  }
  .form-wrapper table tr:first-of-type th {
    border-radius: 10px 10px 0 0;
  }
  .form-wrapper table tr:first-of-type td {
    border-radius: 0;
  }
  .form-wrapper table tr:last-of-type th {
    border-radius: 0;
  }
  .form-wrapper table tr:last-of-type td {
    border-radius: 0 0 10px 10px;
  }
  .form-wrapper .policybox  {
    padding: 30px;
    margin-bottom: 30px;
  }
}




/* --------------------------------------------------------- 404 */

.notfound .lead {
  margin-bottom: 50px;
}

.notfound-title {
  margin-bottom: 60px;
}
