@charset "utf-8";
/* CSS Document */
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
}

html {
	font-size: 62.5%;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	font-size: 16px;
	font-weight: 400;
	color: #333;
  font-optical-sizing: auto;
  line-height: 1.875;
}
h1, h2, h3, h4, h5, h6 {
	line-height: 1.6;
}
a {
	color: #333;
	text-decoration: none;
}
p + p {
	margin-top: 2em;
}
.ggmap {
	width: 100%;
	max-width: 859px;
	aspect-ratio: 302 / 152;
	margin-inline :auto;
}
.ggmap iframe {
	width: 100%;
	height: 100%;
}
.youtube {
	width: 100%;
	max-width: 898px;
	aspect-ratio: 898 / 510;
	margin: 74px auto 130px auto;
}
.youtube iframe {
	width: 100%;
	height: 100%;
}
.dpb--1024,.dpb--768,.dpi--768 {
	display: none!important;
}
.ml1em {
	margin-left: 1em;
}
.oswald {
	font-family: "Oswald", sans-serif;
}
.container__w1920--p0 {
	width: 100%;
	max-width: 1920px;
	margin-inline: auto;
}
.container__w1100--p36 {
	width: 100%;
	max-width: 1172px;
	padding-inline: 36px;
	margin-inline: auto;
}
.container__w1100--p0 {
	width: 100%;
	max-width: 1100px;
	margin-inline: auto;
}
.btn__type01 {
	position: relative;
	z-index: 2;
}
.btn__type01 a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	background: #00BE75;
	width: 220px;
	height: 48px;
	color: #333;
	position: relative;
	margin-inline: auto;
	margin-top: 36px;
}
.btn__type01 a::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 32.69px 26.15px; /* 高さ32.69px、幅26.15px */
    border-color: transparent transparent #D3FF40 transparent; /* 三角形の色 */
}
.btn__type01 a:hover {
	color: #FFF;
	background: #1E3A69;
}
.btn__type01--submit {
	position: relative;
	display: block;
	width: 220px; /* ボタン幅と合わせる */
	margin-inline: auto;
}

.btn__type01--submit input[type="submit"] {
	display: block;
	width: 100%;
	height: 48px;
	background: #00BE75;
	color: #333;
	font-weight: 700;
	text-align: center;
	border: none;
	cursor: pointer;
	font-size: 16px;
}

.btn__type01--submit::after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 32.69px 26.15px;
	border-color: transparent transparent #D3FF40 transparent;
}

.btn__type01--submit input[type="submit"]:hover {
	background: #1E3A69;
	color: #fff;
}

.wpcf7-spinner {
	position: absolute;
	left: 0;
	bottom: -30px;
	margin: 0;
}



.breadcrumb-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
}

.breadcrumb-list__item + .breadcrumb-list__item::before {
  content: "＞"; /* 区切り記号 */
  margin-inline: 4px 3px;
  font-size: 12px;
}

.breadcrumb-list__item[aria-current="page"] {
  pointer-events: none;
}

.header {
	height: 60px;
	background: #333;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	box-shadow: rgba(0,0,0,0.16) 0 3px 6px;
}
.header__inner {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.hd-title {
	width: 130px;
	height: 68px;
	position: absolute;
	top: 1px;
	left: 29px;
}
.hd-title a {
	display: block;
	width: 100%;
	height: 100%;
}
.hd-title img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.hd-contact__ul {
	display: flex;
	grid-column-gap: 14px;
	justify-content: flex-end;
	align-items: center;
	margin-right: 14px;
}
.hd-contact__anchor {
	display: block;
	font-size: 1px;
	color: transparent;
}
.hd-contact__anchor--mail {
	width: 26.79px;
	height: 19.57px;
	background: url(../../img/ico__mail--wh.svg) center center no-repeat;
	background-size: contain;
}
.hd-contact__anchor--tel {
	width: 22.44px;
	height: 29.27px;
	background: url(../../img/ico__tel--wh.svg) center center no-repeat;
	background-size: contain;
}
.hamburger-btn {
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 1000;
    margin-right: 37px;
}

.hamburger-btn span {
    display: block;
    width: 40px;
    height: 4px;
    background: #FFF;
    position: absolute;
    left: 0;
    transition: all 0.3s ease;
}

.hamburger-btn span:nth-child(1) {
    top: 8px;
}

.hamburger-btn span:nth-child(2) {
    top: 18px;
}

.hamburger-btn span:nth-child(3) {
    top: 28px;
}

.hamburger-btn.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 18px;
}

.hamburger-btn.active span:nth-child(2) {
    opacity: 0;
}

.hamburger-btn.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 18px;
}

.hd-nav--sp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #333;
    transform: translateY(-100%);
    transition: transform 0.4s ease-in-out;
    z-index: 2;
    padding: 36px 0 144px 36px;
    overflow-y: auto;
}
.hd-menu__ul--sp {
  height: 100%;
  overflow-y: scroll
}
.hd-nav--sp.active {
    transform: translateY(0);
}
.hd-menu__anchor--sp {
	color: #FFF;
	font-weight: 700;
	font-size: 18px;
}
.hd-menu__li--sp + .hd-menu__li--sp {
	margin-top: 32px;
}


.singular__title--h1-wrapper {
	background: url(../../img/mv__about--sp.jpg) center center no-repeat;
	background-size: cover;
	width: 100%;
	aspect-ratio: 375 / 128;
	position: relative;
	z-index: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.singular__title--h1-wrapper::before {
	content: "";
	display: block;
	width: 100%;
	aspect-ratio: 375 / 128;
	background: #333;
	border: #707070 1px solid;
	opacity: 0.6;
	position: absolute;
	z-index: 1;
}
.singular__title--h1-wrapper::after {
	content: "";
	display: block;
	width: 9.6%; /* 横幅をビューポート幅の9%に設定 */
  aspect-ratio: 9 / 32; /* 横:高 = 9:32 のアスペクト比を維持 */
  background-color: #D3FF40;
  clip-path: polygon(0 0, 0 100%, 100% 0);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.singular__title--h1 {
	color: #FFF;
	font-size: 26px;
	font-weight: 700;
	position: relative;
	z-index: 1;
	text-shadow: rgba(0,0,0,0.16) 0 3px 6px;
	letter-spacing: 0.07em;
}
.bread {
	font-size: 14px;
	padding-block: 20px;
}
.breadcrumb-list__item {
	padding-left: 0;
	text-indent: 0;
}
.breadcrumb-list__item:last-child span {
    max-width: 140px; /* 約10文字分の幅（日本語基準で調整） */
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: top; /* 他の要素と高さを揃える */
}
.pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap:11px;
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 120px;
}

.pagination a,
.pagination span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 40px;
  color: #D3FF40;
  background: #1E3A69;
  font-family: "Oswald", sans-serif;
}

.pagination .current,
.pagination a:hover {
  background-color: #FD8208;
  color: #1E3A69;
}

.singular__title--h2 {
	font-size: clamp(24px, calc(24px + 8 * ((100vw - 375px) / 649)), 32px);
	font-weight: 700;
}
.singular__title--h2::after {
	content: attr(data-eng);
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 649)), 20px);
	color: #1E3A69;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	display: block;
	margin-bottom: 30px;
}
.singular__title--h2-2 {
	font-size: 20px;
	font-weight: 700;
	position: relative;
	padding-left: 15px;
	margin-bottom: 20px;
}
.singular__title--h2-2::after {
	content: "";
	display: block;
	width: 8px;
	height: 30px;
	background: #D3FF40;
	position: absolute;
	left: 0;
	top: 2px;
}
.singular__catch {
	 font-size: clamp(22px, 22px + (4 * ((100vw - 375px) / 393)), 26px);
	color: #1E3A69;
	font-weight: 700;
	margin-block: 20px;
	line-height: 1.64;
}
.gra--orange {
	position: relative;
}
.gra--orange::before {
	content: "";
	display: block;
	width: 100vw;
  aspect-ratio: 375 / 182; /* 縦横比を維持 */
  max-height: 182px;
  background: linear-gradient(to left, #FFCF7B, #FFE5B7);
  position: absolute;
  top: -4.5%;
  left: 0;
  z-index: -1;
}
.gra--orange2 {
	position: relative;
}
.gra--orange2::before {
	content: "";
	display: block;
	width: 100vw;
  aspect-ratio: 375 / 218; /* 縦横比を維持 */
  max-height: 218px;
  background: linear-gradient(to left, #FFCF7B, #FFE5B7);
  position: absolute;
  top: -40px;
  left: 0;
  z-index: -1;
}
.pattern-540__figure {
	margin-bottom: 20px;
}


.footer {
	background-color: #3E5172;
  position: relative; /* 画像の絶対位置指定のための基準 */
  min-height: 538px; /* フッターの高さ（必要に応じて調整） */
  background-image: url('../../img/ft_texuture__01--sp.png'), url('../../img/ft_texuture__02--sp.png');
  background-position: top left, bottom right;
  background-repeat: no-repeat, no-repeat;
  background-size: 223px, 208px;
  padding-top: 60px;
  text-align: center;
}
.ft--inner {
	padding-bottom: 175px;
}
.ft--inner p,.ft--inner a {
	color: #FFF;
	font-weight: 	700;
	margin: 0;
}
.ft-logo {
	width: 172px;
	margin-inline: auto!important;
	margin-bottom: 14px!important;
}
.ft-company {
	font-size: 22px;
	margin-bottom: 14px!important;
}
.ft-sns__ul {
	display: flex;
	justify-content: center;
	align-items: center;
	grid-column-gap: 34px;
	margin-top: 30px;
}
.ft-sns__ul img {
	width: 42.15px;
}
.ft-copyright {
	background: #333;
	color: #FFF;
	font-size: 14px;
	height: 36px;
	line-height: 36px;
}
.fixed-menu {
	width: 100%;
	max-width: 375px;
	height: 65px;
	box-shadow: rgba(0,0,0,0.16) 0 3px 6px;
	background: #FFF;
	margin: auto;
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	z-index: 10;
}
.fixed-menu__ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
.btn__type02 {
	position: relative;
	z-index: 2;
}
.btn__type02 a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	background: #D3FF40;
	width: 228px;
	height: 65px;
	color: #333;
	position: relative;
}
.btn__type02 a::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 38px 32px;
    border-color: transparent transparent #1E3A69 transparent;
    transition: .3s;
}
.btn__type02 a:hover::after {
	border-color: transparent transparent #D3FF40 transparent;
}
.btn__type02 a:hover {
	color: #FFF;
	background: #1E3A69;
}
.btn--ico01 {
	width: 74px;
	height: 65px;
}
.btn--ico01 img {
	display: block;
	width: 30.58px;
	height: 30.58px;
	object-fit: contain;
}
.btn--ico01 + .btn--ico01 {
	box-shadow: rgba(0,0,0,0.16) 0 3px 6px;
}
.btn--ico01 a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}






.top-mv--inner {
	aspect-ratio: 1125 / 1284;
	width: 100%;
	background: url(../../img/mv__top--sp.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
}
.top-mv__catch {
    font-size: clamp(32px, 6vw + 8px, 76px);
    font-weight: 700;
    line-height: 1.4375;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-54%) translateY(-50%);
    width: 85%;
    overflow: hidden;
    max-width: calc(100vw - 20px);
    letter-spacing: 0.05em;
}

.text {
    display: inline-block;
    opacity: 0;
    transform: translateX(-15px);
    /* アニメーションはJSで適用 */
}

.marker--01 {
    line-height: 1.5;
    text-decoration: none;
    padding-inline: 2px;
    display: inline;
    color: inherit;
    background: linear-gradient(to bottom, transparent 70%, #D3FF40 70%) 0 0 / 0 100% no-repeat;
    /* アニメーションはJSで適用 */
}


.marker--02 {
    line-height: 1.5;
    text-decoration: none;
    position: relative;
    display: inline-block;
    background: none;
    color: #333;
}

.marker--02.active {
    animation: changeColor 0.3s ease-out 0.4s forwards;
}

.marker--02::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #1E3A69;
    z-index: -1;
    transition: width 0.3s ease-out 0.4s; /* transitionでアニメーション */
}
.marker--02.active::after {
    width: 100%;
}
.marker--03 {
    line-height: 1.5;
    position: relative;
    display: inline;
    background-image: linear-gradient(#D3FF40, #D3FF40);
    background-repeat: no-repeat;
    background-size: 0% 100%;
    background-position: left bottom;
    transition: background-size 0.4s ease-out 0.8s;
    font-weight: 700;
}

.marker--03.active {
    background-size: 100% 100%;
}



@keyframes slideInText {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInMarker01 {
    0% {
        background-size: 0 100%;
    }
    100% {
        background-size: 100% 100%;
    }
}

@keyframes changeColor {
    0% {
        color: #333;
    }
    100% {
        color: #FFF;
    }
}
.top-introduction {
    padding-block: 40px 60px;
}

.top-introduction__title {
    font-size: clamp(24px, calc(24px + (48 - 24) * ((100vw - 375px) / (768 - 375))), 48px);
    font-weight: 700;
    overflow: hidden;
    margin-bottom: 30px;
}
.top-introduction__description {
    font-size: 18px;
    font-weight: 700;
    overflow: hidden;
}
.top-ecogeo {
	padding-bottom: 70px;
}
.top-ecogeo--inner {
	display: flex;
	flex-direction: column-reverse;
}
.top-ecogeo__title {
	font-size: clamp(22px, calc(22px + (36 - 22) * ((100vw - 375px) / (768 - 375))), 36px); /* 375pxで22px、768pxで36px */
	margin-top: 20px;
	margin-bottom: clamp(10px, calc(10px + (20 - 10) * ((100vw - 375px) / (768 - 375))), 20px); /* 375pxで10px、768pxで20px */
	font-weight: 700;
	letter-spacing: 0.03em;
}
.top-ecogeo__title span {
	color: #FD8208;
	font-size: 1.273em;
	display: block;
}
.top-reason {
	padding-bottom: 80px;
	position: relative;
}
.top-reason--inner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100vw;
	transform: translateX(calc((100vw - 100%) / 2 * -1));
	height: 284px;
	background: #3E5172 url(../../img/texuture__01--sp.png) left top no-repeat;
	background-size: 175px;
}
.top-reason__title {
	color: #FFF;
	font-size: 14px;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	text-align: right;
	padding-block: 20px 5px;
}
.top-reason__title::after {
	content: attr(data-eng);
	font-size: clamp(40px, calc(48px + (100 - 48) * ((100vw - 768px) / (1920 - 768))), 100px);
	color: #D3FF40;
	font-family: "Oswald", sans-serif;
	line-height: 1;
}
.top-reason__dl {
	background: #FFF;
	padding: 25px 20px;
	counter-reset: reason-counter;
	box-shadow: rgba(0,0,0,0.16) 0 3px 6px;
	line-height: 1.75;
}
.top-reason__dl-div {
	padding-left: 36px;
	margin-bottom: 28px;
}
.top-reason__dl-dt {
	font-size: 22px;
	font-weight: 700;
	position: relative;
	line-height: 1.455;
	margin-bottom: 12px;
}
.top-reason__dl-dt::before {
    content: counter(reason-counter);
    counter-increment: reason-counter;
    position: absolute;
    left: -36px;
    top: -3px;
    font-size: 18px;
    font-weight: 700;
    color: #1E3A69;
    font-family: "Oswald", sans-serif;
}

.top-reason__dl-dt::after {
    content: '';
    position: absolute;
    top: 3px;
    left: -36px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 37.22px 26.17px;
    border-color: transparent transparent #1E3A69 transparent;
}
.top-content__title {
	font-size: 14px;
	font-weight: 700;
	display: flex;
	flex-direction: column;
	padding-block: 20px 5px;
	margin-bottom: 30px;
}
.top-content__title::after {
	content: attr(data-eng);
	font-size: clamp(40px, calc(48px + (100 - 48) * ((100vw - 768px) / (1920 - 768))), 100px);
	font-family: "Oswald", sans-serif;
	line-height: 1;
}
.top-business {
	padding-bottom: 90px;
}
.top-business__ul {
	display: flex;
	flex-direction: column;
	grid-row-gap: 60px;
}
.top-business__ul-li a {
	display: block;
	width: 100%;
	aspect-ratio: 302 / 148;
	background: url(../../img/top-business__01--sp.jpg) center center no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 22px;
	font-weight: 700;
	position: relative;
}
.top-business__ul-li a span {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
}
.top-business__ul-li a span::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #1D1915;
	opacity: 0.4;
	z-index: -1;
	display: block;
}
.top-business__ul-li a:hover span::before{
	opacity: 0.7;
	transition: .3s;
}
.top-business__ul-li a::before {
	content: "詳しく見る";
	font-weight: 700;
	position: absolute;
	bottom: -30px;
	right: 33px;
	color: #333;
	font-size: 16px;
}
.top-business__ul-li a::after {
	content: "";
	position: absolute;
	bottom: -30px;
	right: 0;
	background: url(../../img/arrow__right01--orange.svg) center center no-repeat;
	background-size: contain;
	width: 28px;
	height: 14px;
	display: block;
	transform: translateY(-50%);
}
.top-business__ul-li--02 a {
	background-image: url(../../img/top-business__02--sp.jpg);
}
.top-business__ul-li--03 a {
	background-image: url(../../img/top-business__03--sp.jpg);
}
.top-business__ul-li--04 a {
	background-image: url(../../img/top-business__04--sp.jpg);
}
.top-business__ul-li--05 a {
	background-image: url(../../img/top-business__05--sp.jpg);
}
.top-voice {
	padding-block: 45px 85px;
	background: #FFE5B7;
	position: relative;
}
.top-voice--inner {
    position: relative;
    overflow: visible; /* 三角形が隠れないように */
    z-index: 0;
}

.top-voice--inner::after {
    content: '';
    position: absolute;
    bottom: -85px;
    right: 0;
    z-index: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 239px 190.79px; /* 高さ239px、幅190.79px */
    border-color: transparent transparent #FFCC71 transparent;
}
.top-voice__ul {
	display: flex;
	flex-direction: column;
	grid-row-gap: 20px;
	position: relative;
	z-index: 2;
}
.top-voice__ul-li a {
	display: flex;
	flex-direction: column;
}
.top-voice__ul-li--title {
	order: 3;
	font-size: 20px;
	font-weight: 700;
}
.top-voice__ul-li--client {
	order: 2;
}
.top-voice__ul-li--thumbnail {
	order: 1;
	aspect-ratio: 302 / 183;
}
.top-voice__ul-li--thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-recruit {
	background: #333;
	color: #FFF;
	padding-block: 30px 54px;
}
.top-recruit__message {
	font-weight: 700;
	margin-bottom: 20px;
}
.top-recruit__ul {
	display: flex;
	flex-direction: column;
	grid-row-gap: 52px;
}
.top-recruit__ul-li a {
	display: block;
	width: 100%;
	position: relative;
}
.top-recruit__ul-li a figure{
	display: block;
	width: 100%;
	aspect-ratio: 301 / 149;
	object-fit: cover;
}
.top-recruit__ul-li a::after {

}
.top-recruit__ul-li a span {
	color: #FFF;
	font-weight: 	700;
	text-align: right;
	display: block;
	line-height: 1;
	margin-top: 13px;
}
.top-recruit__ul-li a span::after {
	content: "";
	background: url(../../img/arrow__right01--orange.svg) center center no-repeat;
	background-size: contain;
	width: 28px;
	height: 14px;
	display: inline-block;
	margin-left: 5px;
	vertical-align: -2px;
}
.top-company {
	padding-block: 40px 90px;
}
.top-company__dl {
	max-width: 722px;
	margin-bottom: 40px;
}
.top-company__dl-div {
	border-bottom: #707070 1px solid;
	padding-bottom: 14px;
}
.top-company__dl-div + .top-company__dl-div {
	padding-top: 14px;
}
.top-company__dl-dt {
	font-weight: 700;
}





.about-message {
	padding-bottom: 80px;
}
.about-message--inner {
	display: flex;
	flex-direction: column-reverse;
}
.about-message__photo {
	width: 73.9%;
	margin-inline: auto;
	margin-bottom: 20px;
}

.about-message__sign {
	display: block;
	margin-left: auto;
	width: 246.21px;
	height: 49.96px;
}
.about-message__sign img {
	width: 100%;
	height: auto;
	background-size: contain;
}
.about-company {
	padding-bottom: 80px;
}
.about-company__table {
  width: 100%;
  border: none;
}

/* スマホ表示：1カラム（縦並び） */
.about-company__table tr {
  display: block;
  border: 1px solid #707070;
  border-bottom: none;
  overflow: hidden;
}
.about-company__table tr:last-child {
	border-bottom: 1px solid #707070;
}
.about-company__table th,
.about-company__table td {
  display: block;
  width: 100%;
  padding: 6px 14px;
  text-align: left;
  border: none;
  background: #FFF;
}

.about-company__table th {
  font-weight: bold;
  border-bottom: 1px solid #707070;
  background: #FFE5B7;
}
.about-philosophy {
	padding-bottom: 80px;
}
.singular__title--h3 {
	color: #1E3A69;
	font-size: 16px;
	font-weight: 700;
	font-family: "Oswald", sans-serif;
	background: #D3FF40;
	position: relative;
	height: 28px;
	padding-left: 2.9%;
	margin-block: 40px 20px;
}
.singular__title--h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 28px 28.83px;
    border-color: transparent transparent #00BE75 transparent;
}
.singular__title--h3 + div {
	padding-left: 2.9%;
}
.ul__type01 li {
	text-indent: -1.3em;
	padding-left: 1.3em;
}
.ul__type01 li::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	background: #00BE75;
	border-radius: 50%;
	vertical-align: 0;
	margin-right: 5px;
}


.about-history {
	padding-bottom: 80px;
}
.about-history__dl {
	width: calc(100% - 62px);
	margin-left: auto;
	position: relative;
	padding-bottom: 70px;
}
.about-history__dl::before {
	content: "";
	display: block;
	width: 10px;
	height: auto;
	background: url(../../img/about-history__border--sp.svg) top center no-repeat;
	background-size: contain;
	position: absolute;
	top: -10px ;
	bottom: 0;
	left: -57px;
}
.about-history__dl-div {
	padding-block: 15px;
	position: relative;
}

.about-history__dl-div + .about-history__dl-div {
	border-top: #D6D6D6 1px solid;
}
.about-history__dl-dt {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	background: #00BE75;
	width: 110px;
	height: 37px;
	color: #FFF;
}
.about-history__dl-dt::before {
	content: "";
	display: block;
	width: 63px;
	height: 23px;
	background: url(../../img/about-history__circle--sp.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: -63px;
	transform: translateY(-50%);
}
.about-history__dl-dt::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 27.4px 21.92px; /* 高さ32.69px、幅26.15px */
    border-color: transparent transparent #D3FF40 transparent; /* 三角形の色 */
}
.about-history__dl2-div {
	display: flex;
	padding: 6px 9px;
	padding-bottom: 0;
}

.about-history__dl2-dt {
	width: 52px;
	line-height: 1.75;
}
.about-history__dl2-dd {
	width: calc(100% - 52px);
	line-height: 1.75;
}
.about-access {
	padding-bottom: 80px;
}






.recruit-message {
	padding-bottom: 80px;
}
.recruit-schedule {
	padding-block: 40px 55px;
	background: linear-gradient(to left, #FFCF7B, #FFE5B7);
}

.recruit-schedule__dl-div {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding-bottom: 20px;
}
.recruit-schedule__dl-div::before {
	content: "";
	display: block;
	width: 10px;
	height: auto;
	background: #00BE75;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 40px;
	transform: translateX(-50%);
}
.recruit-schedule__dl-div:last-child::before {
	display: none;
}
.recruit-schedule__dl-dt {
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 20px;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
}
.recruit-schedule__dl-dt::before {
	content: "";
	display: block;
	width: 100px;
	height: 80px;
	background: url(../../img/recruit-schedule__circle--sp.svg) center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.recruit-schedule__dl-dt span {
	position: relative;
	z-index: 2;
}
.recruit-schedule__dl-dd {
	width: calc(100% - 80px - 20px - 16px);
}
.recruit-schedule__title--h3 {
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 8px;
}
.recruit-voice {
	padding-block: 80px;
}
.recruit-voice-profile--wrapper {
	display: flex;
	flex-direction: column;
	grid-row-gap: 20px;
}
.recruit-voice-profile__dl-div {
	display: flex;
	border-bottom: #707070 1px solid;
	padding-block: 10px;
}
.recruit-voice-profile__dl-dt {
	width: 68px;
	font-weight: 700;
}
.recruit-voice-profile__dl-dd {
	width: calc(100% - 68px);
}
.recruit-voice__profile--text {
	padding-block: 10px;
	border-bottom: #707070 1px solid;
}
.recruit-voice-interview__dl {
	margin-top: 23px;
}
.recruit-voice-interview__dl-div + .recruit-voice-interview__dl-div {
	margin-top: 26px;
}
.recruit-voice-interview__dl-dt {
	font-weight: 700;
	margin-bottom: 10px;
}
.recruit-voice-interview__dl-dt::before {
	content: "Q.";
	color: #1E3A69;
	font-size: 22px;
	font-family: "Oswald", sans-serif;
	margin-right: 5px;
}
.recruit-requirements {
	padding-block: 40px 60px;
	background: #EDEDED;
}
.recruit-requirements__container + .recruit-requirements__container {
	margin-top: 40px;
}
.recruit-requirements__title--wrapper {
	margin-bottom: 6px;
}
.recruit-requirements__title--tag {
	color: #FFF;
	background: #FD8208;
	font-size: 18px;
	font-weight: 700;
	padding: 4px 18px;
	margin-right: 10px;
	display: inline-block;
}
.recruit-requirements__title--h3 {
	font-size: 22px;
	font-weight: 700;
	display: inline-block;
}
.recruit-requirements__dl-div {
	border-bottom: #707070 1px solid;
	padding-block: 10px;
}
.recruit-requirements__dl-dt {
	font-weight: 700;
}
.recruit-entry {
	padding-block: 40px 90px;
}
.recruit-entry__banner {
	margin-top: 50px;
}
.recruit-entry__banner a {
	display: flex;
	flex-direction: column;
	border: 8px #1E3A69 solid;
	padding-block: 26px;
	text-align: center;
	font-weight: 700;
	line-height: 1.385;
	letter-spacing: 0.07em;
}
.recruit-entry__banner a:hover {
	transform: translateY(-20px);
}
.recruit-entry__banner a span {
	display: inline-block;
	font-size: 26px;
	color: #1E3A69;
	margin-block: 12px 23px;
}
.recruit-entry__banner a figure {
	width: 119px;
	margin-inline: auto;
}




.reason-list {
	padding-bottom: 90px;
}
.reason-list__ul {
	margin-top: 120px;
	counter-reset: reason-counter;
}
.reason-list__ul-li {
	position: relative;
	padding-bottom: 200px;
}
.reason-list__ul-li:last-child {
	padding-bottom: 0;
}
.reason-list__ul-li::before {
	content: "";
	position: absolute;
	left: -36px;
	top: -120px;
	z-index: -1;
	width: 100vw;
	height: 284px;
	background: #3E5172 url(../../img/texuture__01--sp.png) left top no-repeat;
	background-size: 175px;
}
.reason-list__ul-li::after {
  counter-increment: reason-counter;
  content: counter(reason-counter);
  font-size: 40px;
  font-weight: bold;
  color: #D3FF40;
  display: block;
  font-family: "Oswald", sans-serif;
  position: absolute;
  top: -76px;
  left: 5px;
  line-height: 1;
}
.reason-list__ul-title::before {
	content: "REASON";
	color: #D3FF40;
	font-family: "Oswald", sans-serif;
	position: absolute;
	top: -97px;
	left: 0;
	display: block;
	font-weight: 700;
	letter-spacing: 0;
	font-size: 16px;
}
.reason-list__ul-title::after {
	  content: '';
    position: absolute;
    top: -65px;
    left: 22px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 36px 28px; /* 高さ32.69px、幅26.15px */
    border-color: transparent transparent #D3FF40 transparent; /* 三角形の色 */
}
.reason-list__ul-title {
	font-size: 22px;
	font-weight: 700;
	color: #1E3A69;
	margin-block: 20px 16px;
}
.reason-list__ul-photo img {
	width: 100%;
	height: auto;
}
.reason-conclusion {
	margin-top: 2em;
	font-size: 18px;
	font-weight: 700;
}




.ground-investigation-about {
	padding-bottom: 60px;
}
.ground-improvement-methods__list {
	display: flex;
	flex-direction: column;
	grid-row-gap: 30px;
	padding-bottom: 60px;
}
.pile-extraction, .foundation-settlement-repair {
	padding-bottom: 120px;
}
.pile-extraction-method {
	padding-top: 60px;
}
.pile-extraction-method__ol--wrapper::before {
	content: "横スクロールできます→";
	font-size: 0.6em;
}
.pile-extraction-method__ol {
	list-style-type: none;
	counter-reset: merit-counter;
	display: flex;
	grid-column-gap: 20px;
	width: 100%;
	overflow-x: scroll;
-webkit-overflow-scrolling: touch;
	cursor: pointer;
	position: relative;
	margin-bottom: 40px;
}
.pile-extraction-method__ol-li {
	padding-left: 0;
  text-indent: 0;
  width: 260px;
  flex-shrink: 0;
}
.pile-extraction-method__figure {
	display: flex;
	flex-direction: column-reverse;
}
.pile-extraction-method__figure figcaption {
	margin-bottom: 5px;
	height: 68px;
	text-indent: -2.1em;
	padding-left: 2.1em;
	line-height: 1.4;
}
.pile-extraction-method__figure figcaption::before {
	content: counter(merit-counter,decimal-leading-zero);
  counter-increment: merit-counter;
	font-family: "Oswald", sans-serif;
	color: #1E3A69;
	font-weight: 700;
	font-size: 20px;
	vertical-align: -2px;
	margin-right: 5px;
}
.pile-extraction-method__ol::-webkit-scrollbar {
  height: 14px; /* スクロールバーの高さ */
}
 
.pile-extraction-method__ol::-webkit-scrollbar-thumb {
  background: #d2b48c; /* ツマミの色 */
  border-radius: 7px; /* ツマミ両端の丸み */
}
 
.pile-extraction-method__ol::-webkit-scrollbar-track {
  background: #f5deb3; /* トラックの色 */
  border-radius: 7px; /* トラック両端の丸み */
}
.merit__dl {
	margin-top: 30px;
}
.merit__dl-div + .merit__dl-div {
	margin-top: 20px;
}
.merit__dl-dt {
	background: #FD8208;
	color: #FFF;
	font-weight: 700;
	padding: 9px;
	line-height: 1;
}
.merit__ul-li::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background: #FD8208;
	border-radius: 50%;
	vertical-align: -2px;
	margin-right: 5px;
}
.merit__dl-div--demerit .merit__dl-dt {
	background: #808080;
}
.merit__dl-div--demerit .merit__ul-li::before {
	background: #808080;
}
.foundation-settlement-repair {
}
.foundation-settlement-repair-about {
	padding-bottom: 60px;
}
.foundation-settlement-repair-method + .foundation-settlement-repair-method {
	padding-top: 40px;
}
.eco-geo-method-about {
	padding-bottom: 90px;
}
.eco-geo-method-about .pattern-540  {
	padding-top: 40px;
}
.eco-geo-method-applications, .eco-geo-method-choose {
	padding-bottom: 60px;
}
.eco-geo-method__dl {
	counter-reset: method-counter;
	margin-bottom: 82px;
}
.eco-geo-method__dl-div {
	box-shadow: rgba(0,0,0,0.16) 0 3px 6px;
	background: #FFF;
	padding: 20px;
}
.eco-geo-method__dl-div + .eco-geo-method__dl-div {
	margin-top: 32px;
}
.eco-geo-method__dl-dt {
	color: #1E3A69;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 5px;
	position: relative;
}
.eco-geo-method__dl-dt::before {
	content: counter(method-counter, decimal-leading-zero);
  counter-increment: method-counter;
  font-size: 24px;
  font-weight: 700;
  color: #1E3A69;
  font-family: "Oswald", sans-serif;
  margin-right: 5px;
  vertical-align: -2px;
}
.bnr__ecogeo a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: url(../../img/bnr__bg-ecogeo.jpg) center center no-repeat;
	background-size: cover;
	aspect-ratio: 1100 / 500;
	text-align: center;
	font-weight: 700;
	color: #FFF;
	position: relative;
	margin-bottom: 130px;
}
.bnr__ecogeo a span {
	position: relative;
	z-index: 4;
}
.bnr__ecogeo a .fs1385em {
	font-size: 1.385em;
	display: block;

}
.bnr__ecogeo a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #333;
	opacity: 0.7;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.bnr__ecogeo a::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 100px 80px;
    border-color: transparent transparent #D3FF40 transparent;
    z-index: 3;
}
.eco-geo-method__step-ol--wrapper::before {
	content: "横スクロールできます→";
	font-size: 0.6em;
}
.eco-geo-method__step-ol {
	background: #E6FFD3;
	list-style-type: none;
	counter-reset: step-counter;
	display: flex;
	grid-column-gap: 20px;
	width: 100%;
	overflow-x: scroll;
-webkit-overflow-scrolling: touch;
	cursor: pointer;
	position: relative;
	margin-bottom: 40px;
	padding: 17px;
}
.eco-geo-method__step-ol-li {
	padding-left: 0;
  text-indent: 0;
  width: 120px;
  flex-shrink: 0;
}
.eco-geo-method__step-figure {
	display: flex;
	flex-direction: column;
}
.eco-geo-method__step-figure figcaption {
	margin-bottom: 5px;
	text-indent: -2.1em;
	padding-left: 2.1em;
	line-height: 1.4;
}
.eco-geo-method__step-figure figcaption::before {
	content: counter(step-counter);
  counter-increment: step-counter;
	font-family: "Oswald", sans-serif;
	color: #147910;
	font-weight: 700;
	font-size: 20px;
	vertical-align: -2px;
	margin-right: 5px;
}
.eco-geo-method__step-ol::-webkit-scrollbar {
  height: 14px; /* スクロールバーの高さ */
}
 
.eco-geo-method__step-ol::-webkit-scrollbar-thumb {
  background: #d2b48c; /* ツマミの色 */
  border-radius: 7px; /* ツマミ両端の丸み */
}
 
.eco-geo-method__step-ol::-webkit-scrollbar-track {
  background: #f5deb3; /* トラックの色 */
  border-radius: 7px; /* トラック両端の丸み */
}
.certifications-patents__ul {
	display: flex;
	flex-direction: column;
	grid-row-gap: 60px;
}
.certifications-patents__ul-li {
	display: flex;
	flex-direction: column;
	position: relative;
}
.certifications-patents__ul-li + .certifications-patents__ul-li::before {
	content: "";
	display: block;
	width: 100%;
	height: 0px;
	border-top: #333 1px dotted;
	position: absolute;
	left: 0;
	top: -30px;
}
.certifications-patents__ul-title {
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #1E3A69;
	order: 2;
	margin-top: 15px;
}
.certifications-patents__figure {
	order: 1;
	margin-inline: auto;
	aspect-ratio: 324 / 362;
	width: 77.6%;
}
.certifications-patents__figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.certifications-patents__ul-li p {
	order: 3;
}
.certifications-patents__ul-li span {
	font-weight: 700;
	display: block;
}
.bnr__area a {
	display: block;
	background: #FFE5B7;
	border-radius: 20px;
	text-align: center;
	padding: 33px;
	font-size: 20px;
	font-weight: 700;
	margin-block: 90px;
	position: relative;
}
.bnr__area a:after {
	content: "";
	display: block;
	width: 246px;
	height: 100%;
	aspect-ratio: 264 / 252;
	background: url(../../img/toukai-area.png) center center no-repeat;
	background-size: contain;
	margin-top: 20px;
	margin-inline: auto;
}
.bnr__area span {
	color: #1E3A69;
}
.bnr__ecogeo-2 {
		border-bottom: #D3FF40 20px solid;
}
.bnr__ecogeo-2--inner {
	background: url(../../img/bnr__bg-ecogeo__2--sp.jpg) center center no-repeat;
	aspect-ratio: 1638 / 333;
	width: 100%;
	background-size: cover;
	padding: 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bnr__ecogeo-2--description {
	font-weight: 700;
	font-size: 20px;
}
.bnr__ecogeo-2--description span {
	color: #FD8208;
}

.review-list {
	margin-bottom: 100px;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: stretch;
	grid-column-gap: 1.45%;
	grid-row-gap: 60px;
}
.review-list__item {
	width: 100%;
	min-width: 0; /* flexアイテムの場合に必要 */
  overflow: hidden;
}
.review-list__anchor {
	display: flex;
	flex-direction: column-reverse;
}
.review-list__title {
	font-size: calc(18px + (26 - 18) * ((100vw - 375px) / (1920 - 375)));
	font-weight: 700;
	overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  max-width: 100%;
}
.review-single__title--wrapper {
	display: flex;
	flex-direction: column-reverse;
	margin-bottom: 2em;
}
.review-single__title--wrapper h1 {
	font-size: clamp(20px, calc(20px + 6 * (100vw - 375px) / 725), 26px);
	font-weight: 700;
}
.review-single__title--wrapper figure {
	margin-bottom: 20px;
}
.review-single--wrapper h2 {
	background: linear-gradient(to left, #FFCF7B, #FFE5B7);
	font-size: 18px;
	font-weight: 700;
	padding: 5px 10px;
	margin-block: 2em 0.5em;
}
.review-data h2 {
	background: linear-gradient(to left, #00BE75, #098B3B);
	color: #FFF;
}
.review-data__div {
	padding: 10px;
	border-bottom: #707070 1px solid;
}
.review-data__dt {
	font-weight: 700;
}
.single-review-related {
	padding-block: 60px;
}
.single-review-related__ul {
	display: flex;
	overflow-x: auto; /* Enable horizontal scrolling */
  scroll-snap-type: x mandatory;
	grid-column-gap: 16px;
}
.single-review-related__ul-li {
	max-width: 263px;
	scroll-snap-align: start;
	overflow: hidden;
	flex: 0 0 80%;
}
.single-review-related__title {
	font-size: 18px;
	font-weight: 700;
	margin-block: 2em 1em;
}
.single-review-related__anchor {
	display: flex;
	flex-direction: column-reverse;
}
.single-review-related__anchor h2 {
	font-size: 18px;
	font-weight: 700;
	overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.single-review-related__anchor figure {
	aspect-ratio: 263 / 160;
}
.single-review-related__anchor img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.contact-form {
	padding-bottom: 200px;
}
.contact-tel {
	padding-bottom: 70px;
}
.contact-tel__telnumber {
	margin-left: 20px;
}
.contact-tel__telnumber a{
	font-size: clamp(36px, calc(36px + (50 - 36) * ((100vw - 375px) / (1100 - 375))), 50px);
	font-weight: 700;
	color: #1E3A69;
}
.contact-tel__telnumber a::before {
	content: "";
	display: inline-block;
	width: clamp(28px, calc(28px + (38 - 28) * ((100vw - 375px) / (1100 - 375))), 38px);
	height: 100%;
	aspect-ratio: 37.76 / 49.25;
	background: url(../../img/ico__tel--blue.svg) center center no-repeat;
	background-size: contain;
	vertical-align: -8%;
	margin-right: 5px;
}
.contact-tel__time {
	margin-top: 0;
	margin-left: 20px;
}
.contact-form__table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 40px;
}

.contact-form__table th,
.contact-form__table td {
  border: 1px solid #707070;
  padding: 17px 18px;
}
.contact-form__table tr {
  display: block;
}
.contact-form__table th,
.contact-form__table td {
  display: block;
  width: 100%;
  border: 1px solid #707070;
}
.contact-form__table th {
  background-color: #EDEDED;
  border-bottom: none;
  border-top: none;
}
.contact-form__table tr:first-child th {
	border-top: #707070 1px solid;
}
.contact-form__table th.required::after {
	content: "必須";
	color: #FFF;
	font-weight: 700;
	background: #FD8208;
	font-size: 13px;
	padding: 2px 8px;
	margin-left: 5px;
}

.wpcf7-form td {
	vertical-align: middle;
}
.wpcf7-form input[type="radio"]{
	vertical-align: 0;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form textarea {
	width: 100%;
	height: 100%;
	border: #707070 1px solid;
	font-size: 18px;
	height: 50px;
	padding: 15px;
}
.wpcf7-radio {
	display: inline-flex;
	grid-column-gap: 40px;
	flex-wrap: wrap;
}
.your-zip--wrapper .wpcf7-form-control-wrap{
	display: inline-block;
	width: calc(100% - 2em);
	margin-left: 1em;
}
.wpcf7-form input[type="number"].your-birth-year {
	width: 30.9%;
	margin-right: 5px;
	padding-inline: 5px 0;
}
.wpcf7-form input[type="number"].your-birth-month {
	width: 18.8%;
	margin-right: 5px;
	margin-left: 10px;
	padding-inline: 5px 0;
}
.wpcf7-form input[type="number"].your-birth-day {
	width: 18.8%;
	margin-left: 10px;
	padding-inline: 5px 0;
}
.wpcf7-form textarea {
	height: auto;
}
.your-subject .wpcf7-list-item {
	display: block;
}
.privacy-policy-checkbox {
    display: block;
    margin-block: 60px;
    text-align: center;
}
.privacy-policy-checkbox a {
	text-decoration: underline;
}
/* チェックボックス本体は非表示 */
.privacy-policy-checkbox input[type="checkbox"] {
  display: none;
}

/* カスタムチェックボックス用 */
.privacy-policy-checkbox .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 32px;
  cursor: pointer;
  user-select: none;
}

/* チェックボックス枠 */
.privacy-policy-checkbox .wpcf7-list-item-label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 4px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
  transition: all 0.2s;
}

/* チェック状態 */
.privacy-policy-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background-color: #1E3A69;
  border-color: #1E3A69;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}

.document__ul {
	display: grid;
  grid-template-columns: 1fr;
  justify-content: stretch;
	grid-row-gap: 20px;
	margin-block: 60px;
}
.document__ul-li figure{
	background: #EDEDED;
	width: 100%;
	aspect-ratio: 356 / 234;
	padding: 13px 24px;
}
.document__ul-li figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
/* チェックボックス本体は非表示 */
.document__label:hover {
	cursor: pointer;
}
.document__label .wpcf7-list-item > input[type="checkbox"] {
  display: none;
}

/* カスタムチェックボックスデザイン */
.document__label .wpcf7-list-item-label {
  display: inline-block;
  position: relative;
  padding-left: 32px; /* チェックアイコンの余白 */
  cursor: pointer;
  font-size: 16px;
  user-select: none;
}

/* チェックボックス枠 */
.document__label .wpcf7-list-item-label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 4px;
  position: absolute;
  left: 0;
  top: 11px;
  box-sizing: border-box;
  transition: all 0.2s;
}

/* チェック状態：checked + .wpcf7-list-item-label */
.document__label .wpcf7-list-item > input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
  background-color: #1E3A69;
  border-color: #1E3A69;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}
.document__label .wpcf7-list-item-label {
  font-size: 20px;
  font-weight: 700;
}
.wpcf7-list-item {
	margin-left: 0;
}
.thanks {
	padding-block: 60px;
}
.thanks__title--h1 {
	color: #FD8208;
	font-weight: 700;
	font-size: clamp(20px, calc(20px + (36 - 20) * ((100vw - 375px) / (1100 - 375))), 36px);
	margin-bottom: 20px;
}
.thanks-tel {
	max-width: 500px;
	margin-inline: auto;
	margin-block: 90px;
	text-align: center;
	position: relative;
}
.thanks-tel::before,.thanks-tel::after {
	content: "";
	display: block;
	width: 16px;
	height: 100%;
	background: #D3FF40;
	position: absolute;
	top: 0;
	left: -20px;
	bottom: 0;
}
.thanks-tel::after {
	left: auto;
	right: -20px;
}
.thanks-tel h2 {
	font-size: 20px;
	font-weight: 700;
}
.thanks-tel .contact-tel__telnumber {
	margin-left: 0;
}
.privacy--inner {
	padding-bottom: 200px;
}
.privacy h1 {
	font-size: 22px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 46px;
}
.privacy h2 {
	font-size: 18px;
	margin-top: 40px;
	font-weight: 700;
}












@media (min-width: 600px){
	.top-recruit__ul {
  	flex-direction: row;
  	grid-column-gap: 16px;
	}
	.top-voice__ul {
  	flex-direction: row;
  	grid-column-gap: 16px;
	}
	.top-voice__ul-li--thumbnail {
		aspect-ratio: 356 / 216;
	}
	.thanks {
		text-align: center;
	}
	.review-list {
  	grid-template-columns: repeat(2, 48.55%);
  	justify-content: start;
	}
}




@media (min-width: 768px){
	.dpn--768 {
		display: none !important;
	}
	.dpb--768 {
		display: block !important;
	}
	.dpi--768 {
		display: inline !important;
	}
	.singular__title--h1 {
		font-size: 30px;
	}
	.pattern-540 {
		display: flex;
		justify-content: space-between;
	}
	.pattern-540__figure {
		width: 49.1%;
	}
	.pattern-540__description {
		width: 46.9%;
	}
	.fixed-menu {
	width: 70px;
	height: 390px;
	background: none;
	box-shadow: none;
	margin: 0;
	left: auto;
	right: 0;
	transform: none;
	bottom: auto;
	top: 228px;
}
.fixed-menu__ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}
.btn__type02 a {
	writing-mode: vertical-rl;
	width: 70px;
	height: 242px;
}
.btn__type02 a::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 38px 32px;
    border-color: transparent transparent #1E3A69 transparent;
}
.btn__type02 a:hover {
	color: #FFF;
	background: #1E3A69;
}
.btn--ico01 {
	width: 70px;
	height: 54px;
	background: #FFF;
	box-shadow: rgba(0,0,0,0.16) 0 3px 6px;
}
.btn--ico01 img {
	width: 40px;
	height: 40px;
}
.pagination {
  font-size: 26px;
  padding-bottom: 200px;
}

.pagination a,
.pagination span {
  width: 54px;
  height: 64px;
}
.breadcrumb-list__item:last-child span {
    max-width: 640px; /* 約10文字分の幅（日本語基準で調整） */
}

	.top-mv--inner {
  		aspect-ratio: 1920 / 889;
  		background: url(../../img/mv__top--pc-m.jpg) center center no-repeat;
  		background-size: cover;
	}
	.top-mv__catch {
		font-size: calc(40px + (90 - 40) * ((100vw - 768px) / (1920 - 768)));
		transform: translateX(-48%) translateY(-94%);
	}
	.top-reason__dl {
		padding: 70px 80px;
	}
	.top-reason__title {
		font-size: 16px;
	}
	.top-business__ul {
  		flex-direction: row;
  		flex-wrap: wrap;
  		grid-column-gap: 4px;
  		grid-row-gap: 54px;
		}
	.top-business__ul-li--col2 {
		width: calc(100% / 2 - 4px / 2);
	}
	.top-business__ul-li--col3 {
		width: calc(100% / 3 - 4px * 2 / 3);
	}
	.about-message--inner {
		flex-direction: row;
		justify-content: space-between;
	}
	.about-message__description {
		width: 62%;
	}
	.about-message__img {
		width: 32.4%;
	}
	.about-message__photo {
		width: 100%;
		margin: 0;
		margin-bottom: 18px;
	}
	.about-message__sign {
		width: 87.1%;
	}
	.about-company__table {
    border-collapse: collapse;
  }

  .about-company__table tr {
    display: table-row;
    border: none;
    border-bottom: 1px solid #707070;
  }

  .about-company__table th,
  .about-company__table td {
    display: table-cell;
    padding: 12px;
    border: 1px solid #707070;
    vertical-align: top;
  }

  .about-company__table th {
    width: 30%;
  }

  .about-company__table td {
    width: 70%;
  }
  .recruit-voice-profile--wrapper {
  	flex-direction: row;
  	grid-column-gap: 7.82%;
  }
  .recruit-voice__photo {
  	width: 42.18%;
  }
  .recruit-voice-profile {
  	width: 50%;
  }
  .recruit-entry__banner {
  	margin-top: 90px;
  }
  .recruit-entry__banner a {
  	font-size: 26px;
  	padding-block: 35px 16px;
  }
  .recruit-entry__banner a span {
  	font-size: 46px;
  	margin-block: 5px 0;
  }
  .recruit-entry__banner a figure {
  	margin-right: 20px;
  	width: 20.33%;
  	max-width: 223px;
  }
  .ground-improvement-methods__list {
  	flex-direction: row;
  	flex-wrap: wrap;
  	grid-column-gap: 1.64%;
  	grid-row-gap: 60px;
  	justify-content: space-between;
  	padding-bottom: 180px;
  }
  .ground-improvement-methods__list-item {
  	width: calc(100% / 2 - 1.64% / 2);
  }
  .bnr__ecogeo a{
  aspect-ratio: 1100 / 198;
  }
  .bnr__ecogeo a::after {
  border-width: 0 0 125px 80px;
	}
	.eco-geo-method__step-ol--wrapper::before {
		visibility: hidden;
	}
	.eco-geo-method__step-ol {
		overflow-x: hidden;
	}
	.eco-geo-method__step-ol-li {
		width: calc(100% / 5 - 20px * 4 / 5)
	}
	.certifications-patents__ul {
		flex-direction: row;
	}
	.certifications-patents__ul-li {
		width: calc(100% / 3 - 20px / 3);
		padding: 10px;
	}
	.certifications-patents__ul-li + .certifications-patents__ul-li::before{
		border-top: none;
		width: 0;
		height: 100%;
		border-left: #707070 1px dotted;
	}
	.bnr__area a {
		aspect-ratio: 1100 / 152;
		position: relative;
	}
	.bnr__area a::after {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 200px;
		height: auto;
		margin-top: 0;
	}
	.bnr__ecogeo-2 .btn__type01 a {
		margin-left: 0;
	}
	.review-list {
  	grid-template-columns: repeat(3, 32.37%);  /* 幅固定で3カラム */
  	justify-content: start;
	}
	.review-data--inner {
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	.review-data--inner::after {
		content:"";
		width: 100%;
		height: 1px;
		background: #707070;
		position: absolute;
		bottom: -60px;
		left: 0;
		right: 0;
	}
	.review-data__figure {
		width: 40.8%;
	}
	.review-data__description {
		width: 50%;
	}
	.contact-form__table tr {
		display: table-row;
	}
	.contact-form__table th,
  .contact-form__table td {
    display: table-cell;
    width: auto;
  }
  .contact-form__table th {
    width: 32.3%;
    white-space: nowrap;
    border-bottom: #707070 1px solid;
    padding: 27px 40px;
  }
  .contact-form__table td {
    width: 67.7%;
  }
  .document__ul {
  	grid-template-columns: repeat(2, 49.275%);
  	justify-content: start;
  	grid-column-gap: 1.45%;
  	grid-row-gap: 40px;
  	margin-bottom: 100px;
  }
  .document__ul-li span.ht--80 {
  	display: block;
  	height: 80px;
  }
  .thanks {
		padding-block: 120px;
	}


}

@media (min-width: 1024px){
	.dpn--1024 {
		display: none !important;
	}
	.dpb--1024 {
		display: block !important;
	}
	.dpi--1024ib {
		display: inline-block!important;
	}
	.gra--orange::before {
  	aspect-ratio: 1920 / 329;
  	max-height: 329px;
  	top: -14.5%;
  	left: 0;
	}
	.gra--orange2::before {
  aspect-ratio: 1920 / 278;
  	max-height: 278px;
  	top: -60px;
  	left: 0;
	}
	.pattern-580 {
		display: flex;
		justify-content: space-between;
	}
	.pattern-580__figure {
		width: 52.7%;
	}
	.pattern-580__description {
		width: 43.8%;
	}
	.pattern-580 .singular__catch {
		margin-top: 0;
	}
	.fixed-menu {
		width: 116px;
	}
	.btn__type02 a {
		width: 116px;
		font-size: 24px;
		box-shadow: rgba(0,0,0,0.16) 0 3px 6px;
	}
	.btn--ico01 {
		width: 116px;
	}
	.header {
		height: 100px;
	}
	.hd-title {
		width: 12%;
		height: auto;
		max-width: 308px;
		aspect-ratio: 616 / 320;
		top: 19px;
		left: 1%;
	}
	.hd-nav--pc {
		margin-right: 20px;
	}
	.hd-menu__ul--pc {
		display: flex!important;
		grid-column-gap: 20px;
		font-size: 16px;
	}
	.hd-menu__ul--pc a {
		font-weight: 	700;
		color: #FFF;
		font-size: 15px;
		transition: 0s;
	}
	.hd-menu__ul--pc a:hover {
		border-bottom: #D3FF40 2px solid;
	}
	.hd-contact__ul {
		margin-right: 0;
	}
	.hd-contact__anchor--mail {
		width: 190px;
		height: 42px;
		background: none;
		background: #00BE75;
		color: #FFF;
		font-weight: 700;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 18px;
	}
	.hd-contact__anchor--mail::before {
		content: "";
		display: block;
		width: 26.79px;
		height: 19.57px;
		background: url(../../img/ico__mail--wh.svg) center center no-repeat;
  	background-size: contain;
  	margin-right: 8px;
	}
	.hd-contact__anchor--tel {
		width: auto;
		height: auto;
		background: none;
		color: #FFF;
		font-weight: 700;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 28px;
	}
	.hd-contact__anchor--tel::before {
		content: "";
		display: block;
		width: 22.44px;
		height: 29.27px;
		background: url(../../img/ico__tel--wh.svg) center center no-repeat;
  	background-size: contain;
  	margin-right: 3px;
	}
	.singular__title--h1-wrapper {
		background: url(../../img/mv__about--pc-m.jpg) center center no-repeat;
  	background-size: cover;
  	aspect-ratio: 1920 / 323;
	}
	.singular__title--h1-wrapper::before {
  	aspect-ratio: 1920 / 323;
	}
	.singular__title--h1-wrapper::after {
  	width: 6.5%;
  	aspect-ratio: 124 / 323;
	}
	.singular__title--h1 {
		font-size: clamp(28px, calc(28px + 18 * ((100vw - 1024px) / 896)), 46px);
	}
	.bread {
		padding-bottom: 54px;
	}
	.ft--inner {
		padding-bottom: 50px;
	}
	.ft-nav {
		background: #FFF;
		padding-block: 38px 30px;
	}
	.ft-nav__ul {
		display: flex;
		grid-column-gap: 2em;
		justify-content: center;
		font-weight: 700;
	}
	.ft-nav__ul + .ft-nav__ul {
		margin-top: 30px;
	}
	.top-introduction {
		padding-block: 87px;
	}
	.top-ecogeo {
		padding-bottom: 135px;
	}
	.top-ecogeo--inner {
		flex-direction: row-reverse;
		grid-column-gap: 38px;
	}
	.top-ecogeo__text {
		width: 600px;
	}
	.top-ecogeo__figure {
		margin-left: calc(-1 * (100vw - 100%) / 2 );
	}
	.top-ecogeo .btn__type01 a {
		margin-right: 0;
	}
	.top-reason {
		padding-bottom: 110px;
	}
	.top-reason__title {
		padding-top: 70px;
	}
	.top-business {
		padding-bottom: 204px;
	}
	.top-voice {
		padding-block: 104px 75px;
	}
	.top-voice--inner-lev2 {
		position: relative;
	}
	.top-voice .top-content__title {
		position: absolute;
		top: -176px;
		left: 36px;
	}
	.top-voice--inner::after {
  	bottom: -75px;
	}
	.top-recruit {
		padding-block: 80px 125px;
	}
	.top-company {
  	padding-block: 60px 180px;
	}
	.top-company__dl-div {
		display: flex;
	}
	.top-company__dl-dt {
		width: 185px;
	}
	.top-company__dl-dd {
		width: calc(100% - 185px);
	}
	.about-message {
		padding-bottom: 180px;
	}
	.about-company {
		padding-bottom: 120px;
	}
	.about-philosophy {
		padding-bottom: 120px;
	}
	.singular__title--h3 {
		font-size: 20px;
		height: 34px;
	}
	.singular__title--h3::after {
    border-width: 0 0 34px 28.83px;
	}
	.ul__type01 li::before {
	width: 15px;
	height: 15px;
	vertical-align: -1px;
	}
	.about-history {
		padding-bottom: 120px;
	}
	.about-history__dl {
		width: calc(100% - 92px);
		margin-top: 75px;
		padding-bottom: 58px;
	}
	.about-history__dl-div {
		display: flex;
		justify-content: space-between;
	}
	.about-history__dl-div + .about-history__dl-div {
		border-top: none;
	}
	.about-history__dl-dt {
  	width: 144px;
  	height: 48px;
  	font-size: 20px;
  }
  .about-history__dl-dt::before {
  	width: 92px;
  	height: 23px;
  	background: url(../../img/about-history__circle--pc.svg) center center no-repeat;
  	background-size: contain;
  	left: -92px;
	}
	.about-history__dl::before {
  	background: url(../../img/about-history__border--pc.svg) top center no-repeat;
  	background-size: contain;
  	top: -40px;
  	left: -86px;
	}
	.about-history__dl-dd {
		width: calc(100% - 144px - 60px);
		border-bottom: #D6D6D6 1px solid;
		padding-bottom: 14px;
	}
	.about-history__dl2-div {
		padding: 9px 10px;
		border-bottom: #D6D6D6 1px dashed;
	}
	.about-history__dl2-div:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}
	.about-access {
		padding-bottom: 200px;
	}
	.recruit-schedule {
		padding-block: 80px 120px;
	}
	.recruit-voice {
		padding-block: 90px 110px;
	}
	.recruit-requirements {
		padding-block: 60px 60px;
	}
	.recruit-requirements__container + .recruit-requirements__container {
		margin-top: 60px;
	}
	.recruit-requirements__dl-div {
		display: flex;
	}
	.recruit-requirements__dl-dt {
		width: 204px;
	}
	.recruit-requirements__dl-dd {
		width: calc(100% - 204px);
	}
	.pile-extraction-method__ol--wrapper::before {
		display: none;
	}
	.pile-extraction-method__ol {
		width: 100%;
		flex-wrap: nowrap;
	}
	.pile-extraction-method__ol-li {
		width: calc(100% / 3 - 20px * 2 / 3);
	}
	.merit__dl-div {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.merit__dl-dt {
		width: 136px;
		text-align: center;
		padding-block: 16px;
	}
	.merit__dl-dd {
		width: calc(100% - 136px - 20px);
	}
	.eco-geo-method__dl-div {
		padding: 32px;
	}
	.eco-geo-method__dl-dd {
		padding-left: 28px;
	}
	.eco-geo-method-about {
		padding-bottom: 150px;
	}
	.eco-geo-method-applications, .eco-geo-method-choose {
		padding-bottom: 180px;
	}
	.bnr__ecogeo a {
		margin-bottom: 0;
	}
	.document__ul {
  	grid-template-columns: repeat(3, 32.367%);
  }
}

@media (min-width: 1172px){
	.reason-list__ul-li::before {
		transform: translateX(calc((100vw - 1100px) / 2 * -1));
		left: 0;
	}
}

@media (min-width: 1600px){
	body {
		font-size: 20px;
	}
	.btn__type01 a {
		width: 336px;
		height: 72px;
		font-size: 20px;
		margin-top: 60px;
	}
	.btn__type01 a::after {
		border-width: 0 0 50px 40px;
	}
	.btn__type01--submit {
		width: 336px;
		height: 72px;
	}
	.btn__type01--submit input[type="submit"] {
		width: 336px;
		height: 72px;
		font-size: 20px;
		margin-top: 60px;
	}
	.btn__type01--submit::after {
		border-width: 0 0 50px 40px;
	}
	.header {
		height: 116px;
	}
	.hd-title {
		width: 17%;
		left: 50%;
    margin-left: 0;
    transform: translateX(-280%);
	}
	.hd-nav--pc {
		margin-right: 146px;
	}
	.hd-contact__anchor--mail {
		font-size: 20px;
	}
	.hd-contact__anchor--tel {
		font-size: 34px;
	}
	.hd-menu__ul--pc {
		grid-column-gap: 30px;
	}
	.hd-menu__ul--pc a {
		font-size: 18px;
		padding-bottom: 2px;
	}
	.singular__title--h2-2 {
		font-size: 26px;
		margin-bottom: 52px;
		padding-left: 26px;
		height: 47px;
	}
	.singular__title--h2-2::after {
		width: 13px;
		height: 61px;
		top: -5px;
	}
	.ft-logo {
		width: 215px;
	}
	.ft-company {
		font-size: 24px;
	}
	.ft-sns__ul {
		grid-column-gap: 19px;
		margin-top: 18px;
	}
	.ft-sns__ul img {
		width: 32px;
	}
	.ft-nav__ul {
		font-size: 18px;
	}
  .top-mv--inner {
    aspect-ratio: 1920 / 889;
    background: url(../../img/mv__top--pc-l.jpg) center center no-repeat;
    background-size: auto;
    background-size: cover;
  }
  .top-mv__catch {
  	line-height: 1.25;
  	padding-left: 0;
    transform: translateX(-51.5%) translateY(-94%);
  }
  .top-ecogeo__text .btn__type01 a {
  	margin-top: 38px;
  }
   .top-reason__dl {
   	padding: 74px 88px;
   }
  .top-reason__dl-dt::before {
  	font-size: 30px;
  	top: -13px;
  	left: -54px;
  }
  .top-reason__dl-dt::after {
  	left: -55px;
  	top: -6px;
  	border-width: 0 0 50px 40px;
  }
  .top-reason__dl-div {
  	margin-bottom: 30px;
  }
  .top-reason__dl-dt {
  	font-size: 26px;
  }
  .top-reason__dl-dd {
  	font-size: 20px;
  	line-height: 1.8;
  	margin-top: 20px;
  }
  .top-business__ul-li a {
  	font-size: 30px;
  }
  .top-business__ul-li a {
  	aspect-ratio: 548 / 270;
  }
  .top-business__ul-li--01 a {
  	background-image: url(../../img/top-business__01--pc.jpg);
  }
  .top-business__ul-li--02 a {
  	background-image: url(../../img/top-business__02--pc.jpg);
  }
  .top-business__ul-li--03 a {
  	background-image: url(../../img/top-business__03--pc.jpg);
  	aspect-ratio: 364 / 270;
  }
  .top-business__ul-li--04 a {
  	background-image: url(../../img/top-business__04--pc.jpg);
  	aspect-ratio: 364 / 270;
  }
  .top-business__ul-li--05 a {
  	background-image: url(../../img/top-business__05--pc.jpg);
  	aspect-ratio: 364 / 270;
  }
  .top-business__ul-li a::before {
  	font-size: 18px;
  }
  .top-business__ul-li a::after {
  	bottom: -28px;
  }
  .top-voice .top-content__title {
   	top: -197px;
   }
  .top-voice .btn__type01 a {
  	margin-top: 30px;
  }
  .top-voice--inner::after {
  	border-width: 0 0 471px 376px;
	}
	.top-recruit__message {
		font-size: 20px;
	}
	.top-company__dl {
		font-size: 20px;
	}
	.singular__title--h1-wrapper {
    background: url(../../img/mv__about--pc-l.jpg) center center no-repeat;
    background-size: cover;
  }
  .recruit-schedule {
  	background: #FFE5B7;
  	position: relative;
  }
  .recruit-schedule::before {
  	content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 471px 376px;
    border-color: transparent transparent #FFCC71 transparent; /* 三角形の色 */
  }
  .recruit-schedule__dl-dt::before {
  	width: 243.5px;
  	height: 153px;
  	background: url(../../img/recruit-schedule__circle--pc.svg) center center no-repeat;
  	background-size: contain;
	}
	.recruit-schedule__dl-dt {
		font-size: 26px;
		width: 153px;
		height: 153px;
	}
	.recruit-schedule__dl-dd {
  	width: calc(100% - 153px - 91px - 35px);
	}
	.recruit-schedule__dl-div::before {
	  width: 10px;
	  height: auto;
	  left: 76.5px;
	  transform: translateX(-50%);
	}
	.recruit-schedule__title--h3 {
		font-size: 26px;
	}
	.recruit-schedule__dl-div {
		padding-bottom: 60px;
	}
	.recruit-voice-interview__dl-dt::before {
		font-size: 26px;
	}
	.recruit-voice-interview__dl-dd {
		margin-left: 26px;
	}
	.recruit-requirements__title--h3 {
		font-size: 26px;
	}
	.recruit-requirements__title--tag {
		font-size: 20px;
	}
	.reason-list {
		padding-bottom: 210px;
	}
	.reason-list__ul-title::before {
		font-size: 20px;
		top: -122px;
	}
	.reason-list__ul-li {
		padding-bottom: 320px;
	}
	.reason-list__ul-li::before {
		top: -155px;
	}
	.reason-list__ul-li::after {
		font-size: 50px;
		top: -95px;
	}
	.reason-list__ul-title::after {
		border-width: 0 0 50px 40px;
		top: -80px;
	}
	.reason-list__ul-title {
		font-size: 26px;
		margin-block: 34px 20px;
	}
	.reason-conclusion {
		margin-top: 6em;
		font-size: 24px;
	}
	.ground-investigation-about {
		padding-bottom: 110px;
	}
	.ground-investigation-about2 {
		padding-bottom: 180px;
	}
	.pile-extraction-method__figure figcaption {
		margin-bottom: 20px;
	}
	.pile-extraction-method__figure figcaption::before {
		font-size: 30px;
		margin-right: 10px;
	}
	.eco-geo-method__dl-dt::before {
		font-size: 40px;
		margin-right: 10px;
		vertical-align: -5px;
	}
	.eco-geo-method__dl-dt {
		font-size: 26px;
	}
	.eco-geo-method__dl-dd {
		padding-left: 48px;
	}
	.bnr__ecogeo a::after {
    border-width: 0 0 198px 158px;
  }
  .bnr__area a {
  	font-size: 26px;
  }
  .certifications-patents__ul-li {
  	padding: 15px;
  }
  .certifications-patents__ul-li p {
  	order: 3;
  	height: 190px;
	}
  .bnr__ecogeo-2--description {
  	font-size: 42px;
  	line-height: 1.48;
  }
  .bnr__ecogeo-2 .btn__type01 a {
   	font-size: 26px;
   	width: 446px;
  }
  .review-single--wrapper h2 {
  	font-size: 20px;
  	padding: 11px 25px;
  	margin-block: 60px 40px;
  }
  .review-data--inner {
  	padding-bottom: 170px;
  }
  .review-data--inner::after {
    	bottom: 0;
  }
  .review-data h2 {
  	font-size: 26px;
  }
  .single-review-related__title {
  	font-size: 26px;
  }
  .your-subject .wpcf7-list-item {
		display: inline-block;
	}
	.pattern-540__description .btn__type01 a {
		margin-left: 0;
		margin-top: 30px;
	}
	.single-review-related__anchor h2 {
		font-size: 20px;
		max-width: 263px;
	}
	.privacy h1 {
	font-size: 36px;
	}
	.privacy h2 {
	font-size: 20px;
	}
}
@media (min-width: 1780px){
	.hd-title {
		width: 17%;
		top: 18px;
	}
@media (min-width: 1920px){
	.hd-menu__ul--pc a {
		font-size: 20px;
	}
}