/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　修正する際はscssファイルを編集するように注意してください。
--------------------------------------------------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both
}

li {
  list-style: none
}

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

a {
  color: inherit;
  text-decoration: none
}

.min {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif
}

table {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0
}

td input {
  max-width: 100%
}

i,
em {
  font-style: normal
}

.inner {
  width: 100%;
  position: relative
}

@media(min-width: 1200px) {
  .inner {
    max-width: 1120px;
    padding: 0 20px;
    margin: 0 auto
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .inner {
    padding: 0 5vw
  }
}

@media(max-width: 767px) {
  .inner {
    padding: 0 5%
  }
}

@media(min-width: 2561px) {
  .inner_wide {
    max-width: 1630px;
    margin: 0 auto;
	  padding: 0;
  }
}

.pc-only {
  display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
  .pc-only {
    display: none
  }
}

@media(max-width: 767px) {
  .pc-only {
    display: none
  }
}

.tab-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .tab-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .tab-only {
    display: none
  }
}

.sp-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .sp-only {
    display: none
  }
}

@media(max-width: 767px) {
  .sp-only {
    display: inherit
  }
}

.pctab-only {
  display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
  .pctab-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .pctab-only {
    display: none
  }
}

.tabsp-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .tabsp-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .tabsp-only {
    display: inherit
  }
}

a.tellink {
  pointer-events: none
}

@media(max-width: 767px) {
  a.tellink {
    pointer-events: inherit
  }
}

@media(max-width: 767px) {
  :root {
    font-size: 4.26666vw !important
  }
}

html,
body {
  font-size: 1rem;
  line-height: 2;
  color: #1a1a1a;
  font-family: "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif
}

html {
  overflow: auto;
}

body {
  overflow: hidden
}

.barl {
  font-family: "Roboto Condensed", sans-serif
}

header {
  z-index: 3
}

@media(min-width: 1200px) {
  header {
    height: 103px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header {
    height: 80px
  }
}

@media(max-width: 767px) {
  header {
    height: 20vw
  }
}

header .topline {
  height: 30px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  align-content: stretch;
  background-color: #1a1a1a;
  padding: 0 2vw
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .topline {
    height: 20px
  }
}

@media(max-width: 767px) {
  header .topline {
    height: 4vw
  }
}

header .topline .topright {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0 1rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .topline .topright {
    display: none
  }
}

@media(max-width: 767px) {
  header .topline .topright {
    display: none
  }
}

header .topline .topright .tel i {
  font-size: 0.625rem;
  margin-right: .4em
}


header .mdlline {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  align-content: stretch;
  background-color: #fff
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .mdlline {
    justify-content: flex-start
  }
}

@media(max-width: 767px) {
  header .mdlline {
    justify-content: flex-start
  }
}

header .head_logo {
  z-index: 12
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .head_logo {
    width: 18vw
  }
}

@media(max-width: 767px) {
  header .head_logo {
    width: 84vw;
    height: 16vw
  }
}

header .head_logo a {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: unset
}

header .head_logo a:hover {
  opacity: .8
}

@media(max-width: 767px) {
  header .head_logo img {
    width: 35.84vw
  }
}

header .gnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

@media(min-width: 1200px) {
  header .gnav {
    width: 100%;
    max-width: 1140px
  }
}

@media(min-width: 1200px)and (max-width: 1399px) {
  header .gnav {
    max-width: 930px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav {
    display: none;
    width: 100%;
    background-color: #027948;
    position: absolute;
    top: 80px;
    left: 0;
    z-index: 11
  }
}

@media(max-width: 767px) {
  header .gnav {
    display: none;
    width: 100%;
    background-color: #027948;
    position: absolute;
    top: 20vw;
    left: 0;
    z-index: 11
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav.open {
    display: block
  }
}

@media(max-width: 767px) {
  header .gnav.open {
    display: block
  }
}

header .gnav .ul_one {
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

@media(min-width: 1200px) {
  header .gnav .ul_one {
    gap: 0 2rem
  }
}

@media(min-width: 1200px)and (max-width: 1399px) {
  header .gnav .ul_one {
    gap: 0 1.5rem
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one {
    display: block;
    width: 100%;
    background-color: #027948;
    border-top: 1px solid #fff
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one {
    display: block;
    width: 100%;
    background-color: #027948;
    border-top: 1px solid #fff
  }
}

header .gnav .ul_one>li>a {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  position: relative
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li>a {
    padding: .5rem 0
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li>a {
    justify-content: flex-start;
    padding: 1.2rem 5vw;
    border-bottom: 1px solid #fff
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li>a {
    height: 8vh;
    justify-content: flex-start;
    padding: .5rem 5vw;
    border-bottom: 1px solid #fff
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ul_one li:not(.li_parent) a::after {
    content: "";
    font-size: 0.5rem;
    color: #fff;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 5vw;
    transform: translateY(-50%)
  }
}

@media(max-width: 767px) {
  .ul_one li:not(.li_parent) a::after {
    content: "";
    font-size: 0.5rem;
    color: #fff;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    position: absolute;
    top: 50%;
    right: 5vw;
    transform: translateY(-50%)
  }
}

header .gnav .ul_one>li>a p {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  position: relative
}

@media(min-width: 1200px)and (max-width: 1399px) {
  header .gnav .ul_one>li>a p {
    font-size: 0.8125rem
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li>a p {
    font-size: 1rem;
    color: #fff;
    text-align: left
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li>a p {
    font-size: 1rem;
    color: #fff;
    text-align: left
  }
}

header .gnav .ul_one>li {
  position: relative
}

header .gnav .ul_one>li a.parent {
  position: relative
}

@media(max-width: 767px) {
  header .gnav .ul_one>li a.parent.open p i {
    transform: translateY(-50%) rotate(180deg)
  }
}

header .gnav .ul_one>li p {
  width: 100%;
  position: relative
}

header .gnav .ul_one>li p i {
  font-size: 0.625rem;
  color: currentColor;
  position: absolute;
  top: calc(100% + .2em);
  left: 50%;
  transform: translateX(-50%);
  transition: .3s ease
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li p i {
    font-size: 0.75rem;
    position: absolute;
    top: 50%;
    left: unset;
    right: 0;
    transform: translateY(-50%)
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li p i {
    font-size: 0.75rem;
    position: absolute;
    top: 50%;
    left: unset;
    right: 0;
    transform: translateY(-50%)
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li p i:nth-child(1) {
    display: none
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li p i:nth-child(1) {
    display: none
  }
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li p i:nth-child(2) {
    display: none
  }
}

header .gnav .ul_one>li:hover .submenu {
  visibility: visible;
  opacity: 1
}

header .gnav .ul_one>li .submenu {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  transition: .5s;
  padding: 1rem 1rem
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li .submenu {
    width: 100%;
    min-width: 220px;
    background-color: #fff;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, .16);
    position: absolute;
    top: 100%;
    left: 50%;
    translate: -50% 0
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li .submenu {
    display: none;
    background-color: #027948;
    visibility: visible;
    border-radius: 0;
    box-shadow: unset;
    opacity: 1;
    width: 100%;
    max-width: unset;
    padding: 0
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li .submenu {
    display: none;
    background-color: #027948;
    visibility: visible;
    border-radius: 0;
    box-shadow: unset;
    opacity: 1;
    width: 100%;
    max-width: unset;
    padding: 0
  }
}

@media(min-width: 1200px) {
  header .gnav .ul_one>li .submenu ul {
    display: grid;
    gap: 1rem 2.5rem
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li .submenu ul>li {
    border-bottom: 1px solid #fff
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li .submenu ul>li {
    border-bottom: 1px solid #fff
  }
}

header .gnav .ul_one>li .submenu ul>li a {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  align-content: unset;
  font-size: 0.9375rem;
  color: #9f9f9f;
  font-weight: 700;
  line-height: 1.35;
  padding: 0rem 1rem 0 0;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .gnav .ul_one>li .submenu ul>li a {
    font-size: 1rem;
    color: #fff;
    padding: 1.2rem 5%
  }
}

@media(max-width: 767px) {
  header .gnav .ul_one>li .submenu ul>li a {
    height: 8vh;
    font-size: 1rem;
    color: #fff;
    padding: .5rem 5%
  }
}

header .gnav .ul_one>li .submenu ul>li a:hover {
  color: #027948;
  transition: .3s ease
}

header .right_add {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
/*   gap: 0 1.2vw */
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .right_add {
    display: block;
    padding: 2.5rem 5%;
    background-color: #027948
  }
}

@media(max-width: 767px) {
  header .right_add {
    display: block;
    padding: 2.5rem 5%;
    background-color: #027948
  }
}

header .right_add .btn_head {
  margin-inline: auto
}

@media(min-width: 768px)and (max-width: 1199px) {
  header .right_add .btn_head:not(:last-child) {
    margin-bottom: 1.2rem
  }
}

@media(max-width: 767px) {
  header .right_add .btn_head:not(:last-child) {
    margin-bottom: 1.2rem
  }
}

.btn_head {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.btn_head a {
  width: 165px;
  height: 81px;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .2em .5em
}

@media(min-width: 1200px)and (max-width: 1399px) {
  .btn_head a {
    width: 180px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .btn_head a {
    width: 90vw;
    height: 4rem
  }
}

@media(max-width: 767px) {
  .btn_head a {
    width: 90vw;
    height: 4rem
  }
}

.btn_head a:hover {
  transition: .3s ease
}

.btn_head a>i {
  font-size: 1.125rem;
  line-height: 1;
  position: relative;
  top: .1em
}

.btn_head a p {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3
}

.btn_head a p i {
  font-size: 1.125rem;
  margin-right: .3em;
  position: relative;
  top: .1em
}

/* ここから追加 */
.btn_head2 {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.btn_head2 a {
  width: 165px;
  height: 72px;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .2em .5em
}

@media(min-width: 1200px)and (max-width: 1399px) {
  .btn_head2 a {
    width: 180px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .btn_head2 a {
    width: 90vw;
    height: 4rem
  }
}

@media(max-width: 767px) {
  .btn_head2 a {
    width: 90vw;
    height: 4rem
  }
}

.btn_head2 a:hover {
  transition: .3s ease
}

.btn_head2 a>i {
  font-size: 1.125rem;
  line-height: 1;
  position: relative;
  top: .1em
}

.btn_head2 a p {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.3
}

.btn_head2 a p i {
  font-size: 1.125rem;
  margin-right: .3em;
  position: relative;
  top: .1em
}

.btn_head.bg_dg a:hover {
  background-color: #507855;
  color: #fff;
  transition: .3s ease
}
/* ここまで */

.btn_head.bg_dg a {
  background-color: #027948;
  color: #fff
}

@media(min-width: 768px)and (max-width: 1199px) {
  .btn_head.bg_dg a {
    border: 1px solid #fff
  }
}

@media(max-width: 767px) {
  .btn_head.bg_dg a {
    border: 1px solid #fff
  }
}

.btn_head.bg_dg a:hover {
  background-color: rgb(.3414634146, 20.6585365854, 12.2926829268);
  color: #fff;
  transition: .3s ease
}

.btn_head.bg_ol a {
  background-color: #b2aa7e;
  color: #fff
}

.btn_head.bg_ol a:hover {
  background-color: rgb(126.4951456311, 118.6504854369, 75.5048543689);
  color: #fff;
  transition: .3s ease
}

.btn_head.bg_k a {
  background-color: #1a1a1a;
  color: #fff
}

.btn_head.bg_k a:hover {
  background-color: #fff;
  color: #1a1a1a;
  transition: .3s ease
}

.icn_menu {
  width: 16vw;
  height: 16vw;
  position: absolute;
  top: 4vw;
  right: 0;
  z-index: 13
}

@media(min-width: 768px)and (max-width: 1199px) {
  .icn_menu {
    width: 60px;
    height: 60px;
    top: 20px
  }
}

.icn_menu .menu-trigger,
.icn_menu .menu-trigger span {
  display: inline-block;
  transition: all .4s
}

.icn_menu .menu-trigger {
  width: 100%;
  height: 100%;
  background: #027948;
  padding: 1.2rem 1rem;
  position: relative
}

.icn_menu .menu-trigger .spanwrap {
  height: 100%;
  position: relative
}

.icn_menu .menu-trigger .spanwrap span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 100vmax
}

.icn_menu .menu-trigger .spanwrap span:nth-of-type(1) {
  top: 0
}

.icn_menu .menu-trigger .spanwrap span:nth-of-type(2) {
  top: 50%;
  translate: 0 -50%
}

.icn_menu .menu-trigger .spanwrap span:nth-of-type(3) {
  bottom: 0
}

.icn_menu .menu-trigger.active span:nth-of-type(1) {
  width: 100%;
  translate: 0 -50%;
  rotate: -45deg;
  top: 50%
}

.icn_menu .menu-trigger.active span:nth-of-type(2) {
  opacity: 0
}

.icn_menu .menu-trigger.active span:nth-of-type(3) {
  width: 100%;
  translate: 0 -50%;
  rotate: 45deg;
  top: 50%
}

.main_home {
	/* height: calc(100vh - 95px); */
	/* background: url(images/index/bg_main01.png) center center/cover no-repeat; */
	position: relative
}
@media(min-width: 1200px) {
	.main_home { min-height: 800px
	}
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home {
		height: calc(100vh - 80px)
	}
}

@media(max-width: 767px) {
	.main_home {
		height: calc(100vh - 20vw)
	}
}

.main_home .content {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
	/* padding-top: 50px; */
	margin-right: calc(50% - 50vw);
	position: relative
}

@media(max-width: 767px) {
	.main_home .content {
		padding-top: 0
	}
}

.main_home .content .videowrap {
	width: 85%;
	height: calc(100vh - 95px - 50px);
	overflow: hidden;
	position: relative;
	z-index: 0
}

@media(max-width: 767px) {
	.main_home .content .videowrap {
		height: calc(100vh - 20vw)
	}
}

.main_home .content .videowrap::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, .55);
	position: absolute;
	top: 0;
	left: 0
}

.main_home .content .videowrap video {
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1
}

.main_home .content .txt {
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	align-content: unset;
	flex-direction: column;
	padding-bottom: 50px;
	position: absolute;
	top: 8%;
	left: calc(50% - 50vw);
	transform: none;
}

@media(max-width: 767px) {
	.main_home .content .txt {
		padding-bottom: 0
	}
}

@media(min-width: 2561px) {
	.main_home .content .txt {
		width: 1630px;
		left: 0;
	}
}

.main_home .content .txt h2 {
	width: 100%;
	font-size: 5.5rem;
	color: #fff;
	line-height: 1.33;
	font-weight: 700;
	position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home .content .txt h2 {
		font-size: 3.125rem
	}
}

@media(max-width: 767px) {
	.main_home .content .txt h2 {
		font-size: 3rem;
		letter-spacing: 0
	}
}

.main_home .content .txt h2::before {
	content: attr(data-inverted);
	width: calc(50vw - 50% + 15%);
	color: #1a1a1a;
	overflow: hidden;
	white-space: nowrap;
	position: absolute;
	top: 0;
	left: 0
}

@media(min-width: 2561px) {
	.main_home .content .txt {
		width: 1630px;
		left: 0;
	}

	.main_home .content .txt h2::before {
		width: calc(12.5vw - (100vw - 2420px) * 0.001207);
	}
}

.main_home .content .txt h2:last-of-type {
	margin-bottom: 2rem
}

@media(max-width: 767px) {
	.main_home .content .txt h2:last-of-type {
		margin-bottom: 1.5rem
	}
}

.main_home .fix_main {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 3
}

@media(min-width: 768px)and (max-width: 1199px) {
	.main_home .fix_main {
		display: none
	}
}

@media(max-width: 767px) {
	.main_home .fix_main {
		display: none
	}
}

.fix_right {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 6;
  opacity: 0
}

@media(min-width: 1200px) {
  .fix_right {
    display: none
  }
}

@media(max-width: 767px) {
  .fix_right {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: unset;
    top: unset;
    bottom: 0;
    transform: unset
  }
}

.fix_right .btn {
  width: 80px;
  height: 80px
}

@media(max-width: 767px) {
  .fix_right .btn {
    width: 33.3vw;
    height: 15vw
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .fix_right .btn:not(:last-child) {
    margin-bottom: 2px
  }
}

.fix_right .btn a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: column;
  padding: 0rem 0
}

@media(max-width: 767px) {
  .fix_right .btn a {
    width: 100%;
    height: 100%;
    flex-wrap: wrap;
    border: none;
    border-radius: 0;
    padding: .4rem 0
  }
}

.fix_right .btn a>i {
  font-size: 1rem;
  line-height: 1;
  margin-bottom: .2em
}

.fix_right .btn a p {
  /*font-size: 0.9375rem;*/
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center
}

.fix_right .btn.bg_dg a {
  background-color: #027948;
  color: #fff
}

.fix_right .btn.bg_dg a:hover {
  transition: .3s ease
}

.fix_right .btn.bg_ol a {
  background-color: #b2aa7e;
  color: #fff
}

.fix_right .btn.bg_ol a:hover {
  transition: .3s ease
}

.fix_right .btn.bg_k a {
  background-color: #1a1a1a;
  color: #fff
}

.fix_right .btn.bg_k a:hover {
  transition: .3s ease
}

.fix_right.active {
  opacity: .8
}

.section_cmn {
  padding: 5rem 0
}

@media(max-width: 767px) {
  .section_cmn {
    padding: 3rem 0
  }
}

.section_cmn.t_narrow {
  padding-top: 4.75rem
}

@media(max-width: 767px) {
  .section_cmn.t_narrow {
    padding-top: 0.75rem
  }
}

.section_cmn.b_narrow {
  padding-bottom: 3.5rem
}

@media(max-width: 767px) {
  .section_cmn.b_narrow {
    padding-bottom: 2.5rem
  }
}

.section_cmn.t_wide {
  padding-top: 7.5rem
}

@media(max-width: 767px) {
  .section_cmn.t_wide {
    padding-top: 3.5rem
  }
}

.section_cmn.b_wide {
  padding-bottom: 7.5rem
}

@media(max-width: 767px) {
  .section_cmn.b_wide {
    padding-bottom: 3.5rem
  }
}

.section_cmn.t_exwide {
  padding-top: 10rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .section_cmn.t_exwide {
    padding-top: 6rem
  }
}

@media(max-width: 767px) {
  .section_cmn.t_exwide {
    padding-top: 4rem
  }
}

.section_cmn.b_exwide {
  padding-bottom: 10rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .section_cmn.b_exwide {
    padding-bottom: 6rem
  }
}

@media(max-width: 767px) {
  .section_cmn.b_exwide {
    padding-bottom: 4rem
  }
}

.section_cmn.t_none {
  padding-top: 0
}

.section_cmn.b_none {
  padding-bottom: 0
}

.ttl_cmn {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .1em;
  margin-bottom: 2.5em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn {
    font-size: 0.8125rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn {
    font-size: 1rem
  }
}

.ttl_cmn em {
  display: block;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1;
/*   letter-spacing: .1em; */
  margin-top: .2em;
  margin-bottom: .2em;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn em {
    font-size: 2.25rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn em {
    font-size: 3rem
  }
}

.ttl_cmn em.bar::before {
  content: "";
  width: 30vw;
  height: 1px;
  background-color: currentColor;
  position: absolute;
  right: calc(100% + .6rem);
  top: 50%
}

.ttl_cmn em.mdl {
  font-size: 2.8125rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn em.mdl {
    font-size: 2rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn em.mdl {
    font-size: 1.75rem
  }
}

.ttl_cmn em.mdsm {
  font-size: 2.5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn em.mdsm {
    font-size: 1.875rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn em.mdsm {
    font-size: 1.625rem
  }
}

.ttl_cmn em.small {
  font-size: 2.1875rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn em.small {
    font-size: 1.75rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn em.small {
    font-size: 1.5rem
  }
}

.ttl_cmn.tac {
  text-align: center
}

.ttl_cmn.color_w {
  color: #fff
}

.ttl_cmn.color_dg em {
  color: #027948
}

.ttl_cmn.mb0 {
  margin-bottom: 0
}

.ttl_cmn.mb_w {
  margin-bottom: 2.5em
}

.ttl_cmn2 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .1em;
  margin-bottom: .8em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2 {
    font-size: 1.375rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2 {
    font-size: 1.25rem
  }
}

.ttl_cmn2 span.sub {
  display: block;
  font-size: 5rem;
	letter-spacing:-.1rem;
}

@media(max-width: 767px) {
  .ttl_cmn2 span.sub {
    font-size: 2.5rem
  }
}

.ttl_cmn2 span.sub.color_dg {
  color: #B0B0B0
}

.ttl_cmn2 span.sub.color_dg:first-letter {
  color: #027948; /* 好きな色に変更 */
}

.ttl_cmn2 span.sub02 {
  font-size: 0.875rem
}

@media(max-width: 767px) {
  .ttl_cmn2 span.sub02 {
    font-size: 0.75rem;
	  letter-spacing:-.1rem;
  }
}

.ttl_cmn2.bg_ash2 {
  background-color: #f5f5f5;
  padding: .6em .8em;
  line-height: 1.3;
  margin-bottom: 1.2em
}

.ttl_cmn2.bg_w {
  background-color: #fff;
  padding: .6em .8em;
  line-height: 1.3;
  margin-bottom: 1.2em
}

.ttl_cmn2.bold {
  font-weight: 700
}

.ttl_cmn2.medium {
  font-weight: 500
}

.ttl_cmn2.regular {
  font-weight: 400
}

.ttl_cmn2.lh_w {
  line-height: 2.4
}

.ttl_cmn2.tac {
  text-align: center
}

.ttl_cmn2.color_dg {
  color: #027948
}

.ttl_cmn2.color_w {
  color: #fff
}

.ttl_cmn2.large {
  font-size: 1.875rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2.large {
    font-size: 1.5rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2.large {
    font-size: 1.375rem
  }
}

.ttl_cmn2.mdl {
  font-size: 1.5rem
}

@media(max-width: 767px) {
  .ttl_cmn2.mdl {
    font-size: 1.125rem
  }
}

.ttl_cmn2.small {
  font-size: 1.25rem
}

@media(max-width: 767px) {
  .ttl_cmn2.small {
    font-size: 1rem
  }
}

.ttl_cmn2.mb0 {
  margin-bottom: 0
}

.ttl_cmn2.mb_w {
  margin-bottom: 1.8em
}

.txt_cmn {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
	text-align:justify
}

@media(max-width: 767px) {
  .txt_cmn {
    font-size: 0.875rem
  }
}

.txt_cmn.lh_w {
  line-height: 2.4
}

.txt_cmn.lh_n {
  line-height: 1.5
}

.txt_cmn.tac {
  text-align: center
}

.txt_cmn.tar {
  text-align: right
}

.txt_cmn.medium {
  font-weight: 500
}

.txt_cmn.bold {
  font-weight: 700
}

.txt_cmn.color_ash {
  color: #ebebeb
}

.txt_cmn.color_gr {
  color: #a3a3a3
}

.txt_cmn.color_dg {
  color: #027948
}

.txt_cmn.color_w {
  color: #fff
}

.txt_cmn.large {
  font-size: 1.125rem
}

@media(max-width: 767px) {
  .txt_cmn.large {
    font-size: 1rem
  }
}

.txt_cmn.mdsm {
  font-size: 0.9375rem
}

@media(max-width: 767px) {
  .txt_cmn.mdsm {
    font-size: 1rem
  }
}

.txt_cmn.mdl {
  font-size: 0.875rem
}

@media(max-width: 767px) {
  .txt_cmn.mdl {
    font-size: 0.875rem
  }
}

.txt_cmn.small {
  font-size: 0.75rem
}

@media(max-width: 767px) {
  .txt_cmn.small {
    font-size: 0.625rem
  }
}

.txt_cmn.exsmall {
  font-size: 0.75rem
}

@media(max-width: 767px) {
  .txt_cmn.exsmall {
    font-size: 0.5rem
  }
}

.btn_cmn {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.btn_cmn a {
  max-width: 100%;
  width: 214px;
  height: 62px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  position: relative
}

@media(max-width: 767px) {
  .btn_cmn a {
    width: 64vw;
    height: 3.8rem
  }
}

.btn_cmn a p {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  position: relative;
  top: .1em
}

.btn_cmn a p i {
  font-size: 1.125rem;
  line-height: 1;
  margin-right: .6em
}

.btn_cmn.long a {
  width: 272px
}

@media(max-width: 767px) {
  .btn_cmn.long a {
    width: 70vw
  }
}

.btn_cmn.dot a {
  justify-content: space-around
}

.btn_cmn.dot a span.dots {
  width: 6px;
  aspect-ratio: 1/1;
  background-color: currentColor;
  border-radius: 100vmax
}

.btn_cmn.foot a {
  width: 245px;
  height: 54px;
  justify-content: space-between
}

@media(max-width: 767px) {
  .btn_cmn.foot a {
    width: 70vw;
    height: 3.5rem
  }
}

.btn_cmn.foot a>i {
  width: 22%;
  display: grid;
  place-content: center;
  font-size: 1.125rem;
  padding: .5em 0;
  border-right: 1px solid currentColor
}

@media(max-width: 767px) {
  .btn_cmn.foot a>i {
    font-size: 0.875rem
  }
}

.btn_cmn.foot a p {
  width: 78%;
  font-size: 0.8125rem
}

@media(max-width: 767px) {
  .btn_cmn.foot a p {
    font-size: 0.6875rem
  }
}

.btn_cmn.foot a p.barl {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  top: -0.1em
}

@media(max-width: 767px) {
  .btn_cmn.foot a p.barl {
    font-size: 1rem
  }
}

.btn_cmn.center {
  margin-inline: auto
}

.btn_cmn.right {
  margin-inline: auto 0
}

.btn_cmn.bg_dg a {
  background-color: #027948;
  color: #fff
}

.btn_cmn.bg_dg a:hover {
  background-color: rgb(.3414634146, 20.6585365854, 12.2926829268);
  transition: .3s ease
}

.btn_cmn.bd_k a {
  border: 1px solid currentColor;
  background-color: #fff;
  color: #1a1a1a
}

.btn_cmn.bd_k a:hover {
  background-color: #1a1a1a;
  color: #fff;
  transition: .3s ease
}

.over_cmn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: unset;
  padding: 0rem calc(50vw - 50%) 0rem 0;
  margin: 0 calc(50% - 50vw);
  position: relative
}

@media(max-width: 767px) {
  .over_cmn {
    padding: 0
  }
}

.over_cmn figure {
  width: calc(100% - 540px);
  text-align: right
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn figure {
    width: 49.0740740741%
  }
}

@media(max-width: 767px) {
  .over_cmn figure {
    width: 100%;
    margin-bottom: 1rem
  }
}

.over_cmn .txt {
  width: 500px
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn .txt {
    width: 47.2222222222%
  }
}

@media(max-width: 767px) {
  .over_cmn .txt {
    width: 100%;
    padding: 0 8%
  }
}

@media(max-width: 767px) {
  .over_cmn:not(.reverse) figure {
    margin-right: 8vw
  }
}

.over_cmn.reverse {
  flex-direction: row-reverse;
  padding: 0rem 0 0rem calc(50vw - 50%)
}


@media(max-width: 767px) {
  .over_cmn.reverse {
    padding: 0
  }
}

.over_cmn.reverse figure {
  text-align: left
}

@media(max-width: 767px) {
  .over_cmn.reverse figure {
    margin-left: 8vw
  }
}

.over_cmn.a_start {
  align-items: flex-start
}

.over_cmn.alt figure {
  width: calc(100% - 580px)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn.alt figure {
    width: 47.2222222222%
  }
}

@media(max-width: 767px) {
  .over_cmn.alt figure {
    width: 100%
  }
}

.over_cmn.alt .txt {
  width: 540px
}

@media(min-width: 768px)and (max-width: 1199px) {
  .over_cmn.alt .txt {
    width: 49.0740740741%
  }
}

@media(max-width: 767px) {
  .over_cmn.alt .txt {
    width: 100%
  }
}

.side_cmn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: unset
}

.side_cmn figure {
  width: 50%;
  text-align: center
}

@media(max-width: 767px) {
  .side_cmn figure {
    width: 100%;
    margin-bottom: 1rem
  }
}

.side_cmn .txt {
  width: 46.2962962963%
}

@media(max-width: 767px) {
  .side_cmn .txt {
    width: 100%
  }
}

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

.side_cmn.a_start {
  align-items: flex-start
}

.side_cmn.alt figure {
  width: 46.2962962963%
}

@media(max-width: 767px) {
  .side_cmn.alt figure {
    width: 100%
  }
}

.side_cmn.alt .txt {
  width: 50%
}

@media(max-width: 767px) {
  .side_cmn.alt .txt {
    width: 100%
  }
}

.side_cmn.twin figure {
  width: 30%
}

.side_cmn.twin .txt {
  width: 64%
}

.btn_naked {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%
}

.btn_naked a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  align-content: unset;
  position: relative
}

.btn_naked a p {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center
}

@media(max-width: 767px) {
  .btn_naked a p {
    font-size: 0.75rem
  }
}

.btn_naked a>i {
  font-size: 0.625rem;
  color: #c3b389;
  line-height: 1;
  margin-left: 1.5em
}

@media(max-width: 767px) {
  .btn_naked a>i {
    font-size: 0.5rem
  }
}

.btn_naked a:hover {
  transition: .5s ease
}

.btn_naked.center {
  margin-inline: auto
}

.btn_naked.right {
  margin-inline: auto 0
}

.btn_naked.color_w a {
  color: #fff
}

.btn_naked.alt a {
  padding-bottom: .2em;
  border-bottom: 1px solid rgba(0, 0, 0, 0)
}

.btn_naked.alt a p {
  font-size: 1rem
}

@media(max-width: 767px) {
  .btn_naked.alt a p {
    font-size: 0.8125rem
  }
}

.btn_naked.alt a>i {
  font-size: 0.5rem;
  color: #1a1a1a
}

@media(max-width: 767px) {
  .btn_naked.alt a>i {
    font-size: 0.4375rem
  }
}

.btn_naked.alt a:hover {
  border-bottom: 1px solid currentColor;
  transition: .3s ease
}

.scroll_up {
  transition: .8s ease-in-out;
  transform: translateY(30px);
  opacity: 0
}

.scroll_up.on {
  transform: translateY(0);
  opacity: 1
}

.scroll_left {
  transition: .8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0)
}

.scroll_left.on {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: translateX(0)
}

.scroll_right {
  transition: .8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0)
}

.scroll_right.on {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: translateX(0)
}

.scroll_up_main {
  animation: scroll_up_anime 2s ease-in
}

.scroll_left_main {
  animation: scroll_left_anime 2s ease-in
}

.scroll_right_main {
  animation: scroll_right_anime 2s ease-in
}

@keyframes scroll_up_anime {
  0% {
    opacity: 0;
    transform: translateY(50px)
  }

  30% {
    transform: translateY(0)
  }

  100% {
    transform: translateY(0)
  }

  30%,
  100% {
    opacity: 1
  }
}

@keyframes scroll_left_anime {
  0% {
    opacity: 0;
    transform: translateX(-50px)
  }

  30% {
    transform: translateX(0)
  }

  100% {
    transform: translateX(0)
  }

  30%,
  100% {
    opacity: 1
  }
}

@keyframes scroll_right_anime {
  0% {
    opacity: 0;
    transform: translateX(50px)
  }

  30% {
    transform: translateX(0)
  }

  100% {
    transform: translateX(0)
  }

  30%,
  100% {
    opacity: 1
  }
}

.bgtxtwrap {
  width: -moz-fit-content;
  width: fit-content;
  overflow: hidden
}

.bgtxtwrap .bg_txt_cmn {
  font-size: 10.625rem;
  font-weight: 700;
  line-height: .8;
  letter-spacing: .1em;
  white-space: nowrap
}

@media(min-width: 768px)and (max-width: 1199px) {
  .bgtxtwrap .bg_txt_cmn {
    font-size: 6.875rem
  }
}

@media(max-width: 767px) {
  .bgtxtwrap .bg_txt_cmn {
    font-size: 5.625rem
  }
}

.bgtxtwrap .bg_txt_cmn.small {
  font-size: 8rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .bgtxtwrap .bg_txt_cmn.small {
    font-size: 5.625rem
  }
}

@media(max-width: 767px) {
  .bgtxtwrap .bg_txt_cmn.small {
    font-size: 4.375rem
  }
}

.bgtxtwrap .bg_txt_cmn.color_w {
  color: hsla(0, 0%, 100%, .05)
}

.bgtxtwrap .bg_txt_cmn.color_dg {
  color: rgba(2, 121, 72, .05)
}

.bgtxtwrap .bg_txt_cmn.vt {
  writing-mode: vertical-rl
}

.bgtxtwrap.scroll {
  width: 100%
}

.bgtxtwrap.scroll .inn {
  display: inline-block;
  padding-left: 0%;
  white-space: nowrap;
  animation: animate-text 120s linear infinite
}

.bgtxtwrap.scroll.alt .inn {
  animation: animate-text2 20s linear infinite
}

@keyframes animate-text {
  0% {
    transform: translateX(0)
  }

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

@keyframes animate-text2 {
  0% {
    transform: translateX(-100%)
  }

  100% {
    transform: translateX(0%)
  }
}

body main {
  background: url(/wp-content/uploads/2025/10/grid3.svg) center center repeat
}

.home_about {
  position: relative;
  margin-top: 2.5rem
}

@media(max-width: 767px) {
  .home_about {
    margin-top: 2rem
  }
}

.home_about::before {
  content: "";
  width: 80vw;
  height: 100%;
  background: #017949;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0
}

.home_about .inner {
  z-index: 1
}

.home_about .over_cmn {
  background: #7da682
}

.home_about .over_cmn .txt {
  padding-top: 4rem;
  padding-bottom: 4rem
}

@media(max-width: 767px) {
  .home_about .over_cmn .txt {
    padding-top: 2rem;
    padding-bottom: 2rem
  }
}

.home_about .over_cmn .txt h2.ttl_cmn2 {
  margin-bottom: 1.5em
}

.home_about .bgtxtwrap {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1
}

.home_bnrwrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_bnrwrap {
    grid-template-columns: repeat(1, 1fr)
  }
}

@media(max-width: 767px) {
  .home_bnrwrap {
    grid-template-columns: repeat(1, 1fr)
  }
}

.home_bnrwrap .bnr a {
  aspect-ratio: 960/211;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 1.5rem;
  color: #fff
}

.home_bnrwrap .bnr a p {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5
}

@media(max-width: 767px) {
  .home_bnrwrap .bnr a p {
    font-size: 1rem
  }
}

.home_bnrwrap .bnr a i {
  font-size: 0.625rem
}

.home_bnrwrap .bnr01 a {
  background: url(images/index/bg_bnr01.jpg) center center/cover no-repeat
}

.home_bnrwrap .bnr02 a {
  background: url(images/index/bg_bnr02.jpg) center center/cover no-repeat
}

.home_bnrwrap .bnr03 a {
  background: url(images/index/bg_bnr03.jpg) center center/cover no-repeat
}

.home_aboutus .over_cmn figure {
  position: relative
}

.home_aboutus .over_cmn figure::before {
  content: "";
  width: 100%;
  height: 100%;
  background: #7da682;
  position: absolute;
  top: 100px;
  left: 60px;
  z-index: -1
}

@media(max-width: 767px) {
  .home_aboutus .over_cmn figure::before {
    top: 1rem;
    left: 2rem
  }
}

@media(min-width: 2561px) {
	.home_about .over_cmn figure,
	.home_aboutus .over_cmn figure {
		width: calc(100% - 675px);
	}
}

.home_aboutus .over_cmn p.txt01 {
  margin-bottom: 6.5em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_aboutus .over_cmn p.txt01 {
    margin-bottom: 3em
  }
}

@media(max-width: 767px) {
  .home_aboutus .over_cmn p.txt01 {
    margin-bottom: 2em
  }
}

.home_aboutus .over_cmn .btnwrap {
  max-width: 440px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem 0
}

.home_reason {
  background-color: #f5f5f5
}

.home_reason .topline {
  margin-bottom: 4.5rem
}

@media(max-width: 767px) {
  .home_reason .topline {
    margin-bottom: 2.5rem
  }
}

.home_reason .topline .wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem 5%
}

@media(max-width: 767px) {
  .home_reason .topline .wrap {
    flex-wrap: wrap
  }
}

.home_reason ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_reason ul {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  .home_reason ul {
    grid-template-columns: repeat(1, 1fr)
  }
}

.home_reason ul li {
  border: 1px solid #1a1a1a;
  background-color: #fff
}

.home_reason ul li figure img {
  width: 100%;
  aspect-ratio: 640/350;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top center;
  object-position: top center
}

.home_reason ul li .txt {
  padding: 1.2rem 5% 1.5rem
}

@media(max-width: 767px) {
  .home_reason ul li .txt {
    padding: .8rem 4% 1rem
  }
}

.home_works {
  background: url(/wp-content/uploads/2025/11/back_1117_2-scaled.jpg) center center/cover no-repeat;
}

/* ★ 2561px〜はcover → contain にする */
@media (min-width: 2561px) {
  .home_works {
    /*background-size: contain;*/
    /*background-size: 1630px auto;*/
	background-size: 100% auto;
    background-position: center top; /* 必要なら変更可能 */
    background-repeat: no-repeat;
  }
}

.home_works .topline {
  margin-bottom: 3.5rem
}

@media(max-width: 767px) {
  .home_works .topline {
    margin-bottom: 2.2rem
  }
}

.home_works .topline .wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem 5%
}

@media(max-width: 767px) {
  .home_works .topline .wrap {
    flex-wrap: wrap
  }
}

.home_works ul li {
  background-color: #fff
}

.home_works ul li figure {
  overflow: hidden;
  padding: 6px
}

.home_works ul li figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.home_works ul li figure img:hover {
  transform: scale(1.15);
  transition: .5s ease
}

.home_works ul li .txt {
  padding: 1rem 5% 1.5rem
}

.home_works ul li .txt .place {
  margin-bottom: .5em
}

.home_works ul li .under {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  border-top: 1px solid currentColor
}

.home_works ul li .under .timewrap,
.home_works ul li .under .btn_naked {
  width: 50%;
  height: 3rem;
  display: grid;
  place-content: center
}

.home_works ul li .under .timewrap {
  border-right: 1px solid currentColor
}

.home_works .slick-slider {
  line-height: 0
}

.home_works .slick-slider .slick-slide {
  margin-inline: 1vw
}

@media(max-width: 767px) {
  .home_works .slick-slider .slick-slide {
    margin-inline: 2vw
  }
}

.home_works .slick-slider .slick-slide li img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.home_twin {
/*   background-color: #f5f5f5 */
}

.home_twin .inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 4%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_twin .inner {
    grid-template-columns: repeat(1, 1fr)
  }
}

@media(max-width: 767px) {
  .home_twin .inner {
    grid-template-columns: repeat(1, 1fr)
  }
}

.home_twin .inner .unit {
  border: 1px solid currentColor;
  background-color: #fff;
  padding: .6rem 2%;
  box-shadow: 10px 10px 0 currentColor
}

.home_twin .inner .unit .ttl_cmn {
  margin-bottom: 1.2em
}

.home_recruit {
  background: url(/wp-content/uploads/2025/11/recruit_back-scaled.jpg) center center/cover no-repeat
}

@media (min-width: 2561px) {
  .home_recruit {
    /*background-size: contain;*/
    /*background-size: 1630px auto;*/
    /*background-position: center top;*/
	background-size: 100% auto;
	background-position: center;
    background-repeat: no-repeat;
  }
}

.home_recruit p.txt01 {
  max-width: 540px;
  margin-bottom: 3.5em
}

@media(max-width: 767px) {
  .home_recruit p.txt01 {
    margin-bottom: 2em
  }
}

.home_news {
  background-color: #f5f5f5
}

.home_news .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem 0
}

.home_news .inner .left {
  width: 35.1851851852%
}

@media(max-width: 767px) {
  .home_news .inner .left {
    width: 100%
  }
}

.home_news .inner .right {
  width: 55.5555555556%
}

@media(max-width: 767px) {
  .home_news .inner .right {
    width: 100%
  }
}

.home_news ul {
  border-top: 1px solid #cbcbcb;
  position: relative
}

.home_news ul::before {
  content: "";
  width: 30px;
  height: 1px;
  background-color: #027948;
  position: absolute;
  top: 0;
  left: 0
}

.home_news ul li {
  padding: 1.6rem 4%;
  border-bottom: 1px solid #cbcbcb;
  position: relative
}

@media(max-width: 767px) {
  .home_news ul li {
    padding: .8rem 0
  }
}

.home_news ul li::before {
  content: "";
  width: 30px;
  height: 1px;
  background-color: #027948;
  position: absolute;
  bottom: 0;
  left: 0
}

.home_news ul li::after {
  content: "";
  font-size: 0.625rem;
  color: #c3b389;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%)
}

@media(max-width: 767px) {
  .home_news ul li::after {
    right: 0
  }
}

.home_news .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 .8rem;
  margin-bottom: .5rem
}

.home_news .wrap time {
  font-weight: 700
}

.home_news .wrap .cate {
  display: inline-block;
  background-color: #027948;
  border-radius: 100vmax;
  padding: 0 1em
}

.home_column {
  background-color: #7da682
}

.home_column ul {
  max-width: 940px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 5%;
  margin-inline: auto;
  margin-bottom: 3.5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_column ul {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 2rem
  }
}

@media(max-width: 767px) {
  .home_column ul {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 2rem
  }
}

.home_column ul li figure {
  border: 1px solid currentColor;
  margin-bottom: -10px
}

.home_column ul li figure img {
  width: 100%;
  max-height: 210px;
  -o-object-fit: cover;
  object-fit: cover
}

.home_column ul li .txt {
  border: 1px solid currentColor;
  background-color: #fff;
  padding: 1.5rem 5%;
  margin-inline: 11px;
  position: relative
}

@media(max-width: 767px) {
  .home_column ul li .txt {
    padding: 1rem 4%
  }
}

.home_column .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: .8rem
}

.home_column .wrap time {
  font-weight: 700;
  padding-right: 1em;
  border-right: 1px solid currentColor
}

.home_column .wrap .cate {
  display: inline-block;
  padding-left: 1em
}

.home_rental .topline {
  margin-bottom: 3.5rem
}

@media(max-width: 767px) {
  .home_rental .topline {
    margin-bottom: 2rem
  }
}

.home_rental .topline p.txt01 {
  margin-bottom: 2em
}

.home_rental .loopslider {
  height: 230px;
  display: flex;
  align-items: center;
  overflow: hidden
}

@media(max-width: 767px) {
  .home_rental .loopslider {
    height: 30.6666666667vw
  }
}

.home_rental .loopslider ul {
  display: flex;
  animation: loop-slide 40s infinite linear 1s both
}

.home_rental .loopslider ul li {
  width: 220px;
  height: 230px;
  margin-right: 2px
}

@media(max-width: 767px) {
  .home_rental .loopslider ul li {
    width: 29.3333333333vw;
    height: 30.6666666667vw
  }
}

@keyframes loop-slide {
  from {
    transform: translateX(0)
  }

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

.home_rental .loopslider.slide-paused:hover ul {
  animation-play-state: paused
}

footer {
  background-color: #1a1a1a
}

footer .fmain {
  padding: 4.5rem 0 2.5rem
}

@media(max-width: 767px) {
  footer .fmain {
    padding: 2rem 0
  }
}

footer .fmain .topline {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem 0;
  margin-bottom: 6rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  footer .fmain .topline {
    margin-bottom: 3rem
  }
}

@media(max-width: 767px) {
  footer .fmain .topline {
    margin-bottom: 2.5rem
  }
}

footer .fmain .topline .unit {
  width: 33%;
  padding: 0rem 4%
}

@media(min-width: 768px)and (max-width: 1199px) {
  footer .fmain .topline .unit {
    width: 100%
  }
}

@media(max-width: 767px) {
  footer .fmain .topline .unit {
    width: 100%
  }
}

@media(min-width: 1200px) {
  footer .fmain .topline .unit:not(:last-child) {
    border-right: 1px solid #4b4a4a
  }
}

footer .fmain .btmline {
  max-width: 980px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem 0
}

footer .fmain .btmline>.left {
  width: 65%
}

@media(max-width: 767px) {
  footer .fmain .btmline>.left {
    width: 100%
  }
}

footer .fmain .btmline>.right {
  width: 30%
}

@media(max-width: 767px) {
  footer .fmain .btmline>.right {
    width: 100%
  }
}

footer h3.ttl_cmn {
  margin-bottom: 1.5em
}

footer p.txt02 {
  margin-bottom: 1em
}

footer .foot_logo {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto 0;
  margin-bottom: .8rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  footer .foot_logo {
    text-align: center;
    margin-inline: auto
  }
}

@media(max-width: 767px) {
  footer .foot_logo {
    text-align: center;
    margin-inline: auto
  }
}

footer .fnav {
  margin-bottom: 2.5rem
}

@media(max-width: 767px) {
  footer .fnav {
    margin-bottom: 1.5rem
  }
}

footer .fnav ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem 1rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  footer .fnav ul {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  footer .fnav ul {
    grid-template-columns: repeat(2, 1fr)
  }
}

footer .fnav ul li {
  line-height: 1.5
}

footer .fnav ul li a {
  font-size: 0.9375rem;
  color: #fff;
  font-weight: 700;
  line-height: 1.5
}

@media(max-width: 767px) {
  footer .fnav ul li a {
    font-size: 0.8125rem
  }
}

footer .snswrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0 .9rem
}

footer .snswrap a {
  display: grid;
  place-content: center;
  width: 48px;
  aspect-ratio: 1/1;
  border: 1px solid currentColor;
  border-radius: 100vmax;
  font-size: 1.25rem;
  color: #fff
}

footer .copyright {
  padding: .8rem 0;
  position: relative
}

footer .copyright::before {
  content: "";
  width: 80vw;
  height: 1px;
  background-color: #4b4a4a;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%)
}

@media(max-width: 767px) {
  footer .copyright {
    padding: .5rem 0 4.5rem
  }
}

footer .copyright small {
  display: block;
  text-align: center
}

mark {
	background-color: transparent;
	background-image: linear-gradient(0deg, #fbfb5d 40%, transparent 40%);
	background-repeat: no-repeat;
	background-size: 100% 0.6em; /* 線の太さを調整 */
	background-position: 0 90%;  /* 下寄せに配置 */
	display: inline;
	padding: 0 0.08em;
	animation: highlight 0.9s ease-out forwards;
}

@keyframes highlight {
	from {
		background-size: 0% 0.6em;
	}
	to {
		background-size: 100% 0.6em;
	}
}

.original-box-shadow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333333;
  background-color: #dddddd;
  font-size: 30px;
  width: 300px;
  height: 100px;
  border-radius: 3px;
  box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.hero-slider {
  position: relative;
  width: 100%;
  height: 31.5vw;
  overflow: hidden;
}

/* ========== スライド共通 ========== */
.hero-slider .slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: fadeSlide 15s infinite;
  animation-timing-function: ease-in-out;
}

/* ✅ 画像は“同じ位置に重ねること”が重要 */
.hero-slider .slide img {
  position: absolute;
  inset: 0;
  margin: auto;
}

/* PC 画像（高さ優先） */
.pc-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  z-index: 1;
}

/* SP 画像（横幅フィット） */
.sp-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  z-index: 1;
  display: none;
}

/* スライド順番 */
.hero-slider .slide:nth-child(1) { animation-delay: 0s; }
.hero-slider .slide:nth-child(2) { animation-delay: 2.5s; }
.hero-slider .slide:nth-child(3) { animation-delay: 5s; }
.hero-slider .slide:nth-child(4) { animation-delay: 7.5s; }
.hero-slider .slide:nth-child(5) { animation-delay: 10s; }
.hero-slider .slide:nth-child(6) { animation-delay: 12.5s; }

@keyframes fadeSlide {
  0% { opacity: 0; }
  5% { opacity: 1; }   /* 出始め */
  20% { opacity: 1; }  /* 表示キープ */
  25% { opacity: 0; }  /* フェードアウト */
  100% { opacity: 0; } /* 待機 */
}

/* ========== ✅ SP切り替え ========== */
@media (max-width: 767px) {

  .hero-slider {
    height: clamp(200px, 15svh, 380px);
  }

  .pc-img {
    display: none !important;
  }

  .sp-img {
    display: block !important;
  }
}



/* ======== フッター透かしロゴ ======== */
footer {
  position: relative;
  overflow: hidden; /* ロゴがはみ出さないように */
}

footer::before {
  content: "";
  position: absolute;
  right: 20px;       /* 表示位置（左にしたいなら left: 20px; に変更） */
  bottom: 0px;      /* 下からの距離 */
  width: 640px;      /* ロゴサイズ（PC時） */
  height: 260px;
  background-image: url("/wp-content/uploads/2025/11/logo_tate_1-scaled.png"); /* ← 透かしにしたいロゴ画像 */
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 0.06;     /* 透かし具合（0.03〜0.12あたりが自然） */
  pointer-events: none; /* クリック操作を妨げない */
  z-index: 0;
}

footer .fmain,
footer .copyright {
  position: relative;
  z-index: 2; /* コンテンツをロゴより前に */
}

/* スマホ時は非表示 or 小さく */
@media (max-width: 767px) {
  footer::before {
    display: none;
  }
}

footer .btnlinks {
  max-width: 980px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(6, auto);
  margin-bottom: 2.9rem;
  gap: 1rem
}

@media(max-width: 767px) {
  footer .btnlinks {
    grid-template-columns: repeat(2, auto);
    gap: 2rem 1rem
  }
}

footer .btnlinks .btnlinks_list {
  color: #fff
}

footer .btnlinks .btnlinks_list li+li {
  margin-top: .8rem
}

@media(any-hover: hover) {
  footer .btnlinks .btnlinks_list a:hover {
    text-decoration: underline
  }
}

footer .btnlinks .btnlinks_list .btnlinks_list_head {
  font-size: 1.5rem;
  font-weight: bold
}

@media(max-width: 767px) {
  footer .btnlinks .btnlinks_list .btnlinks_list_head {
    font-size: 1.2rem;
    line-height: 1.2
  }
}

footer .btnlinks .btnlinks_list .btnlinks_list_link {
  font-size: .9rem;
  line-height: 1.3
}

footer .fmain .btmline {
  max-width: 980px;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem 0
}

footer .fmain .btmline>.left {
  width: 65%
}

@media(max-width: 767px) {
  footer .fmain .btmline>.left {
    width: 100%
  }
}

footer .fmain .btmline>.right {
  width: 30%
}

@media(max-width: 767px) {
  footer .fmain .btmline>.right {
    width: 100%
  }
}

footer .copyright {
  padding: .8rem 0;
  position: relative
}

footer .copyright::before {
  content: "";
  width: 80vw;
  height: 1px;
  background-color: #4b4a4a;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%)
}

@media(max-width: 767px) {
  footer .copyright {
    padding: .5rem 0 4.5rem
  }
}

footer .copyright small {
  display: block;
  text-align: center
}

/* 固定ヘッダー */
.header_top {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background-color: #fff; /* 背景色を指定（透過を避ける） */
/*   box-shadow: 0 2px 10px rgba(0,0,0,0.1); /* 影で浮かせる効果 */ */
}

/* ヘッダー分の余白を確保（ヘッダー高さ分） */
body {
  padding-top: 103px; /* 実際のヘッダーの高さに合わせて調整 */
}

@media screen and (max-width: 768px) {
  body {
    padding-top: 75px; /* スマホ時のヘッダー高さに合わせる */
  }
}

.page-title {
  font-size: 48px; /* PC時 */
  font-weight: bold;
  text-align: center;
  margin: 40px 0;
  color:#017949;
  position: relative;      /* ←絶対に必要 */
  z-index: 1;              /* ←文字を前に出す */
	padding-top:5rem;
	padding-bottom:5rem;
}

/* 背景ロゴ（疑似要素） */
.page-title::before {
  content: "";
  position: absolute;
  inset: 0;                /* ←要素全体を基準に中央配置しやすい */
  margin: auto;
  width: 200px;
  height: 200px;
  background: url('/wp-content/uploads/2025/11/logo_tate_2-scaled.png')
    no-repeat center/contain;
  opacity: 0.5;
  z-index: -1;             /* ←コレを使いたいなら「親に z-index が必要」 */
  pointer-events: none;
}

/* ✅ スマホ（767px以下） */
@media screen and (max-width: 767px) {
  .page-title {
    font-size: 36px;
    padding: 30px 0;
  }

  .page-title::before {
    width: 150px;  /* ←小さすぎると見えないので150px推奨 */
    height: 150px;
    opacity: 0.5;
    top: -5%;   /* ←位置微調整（スマホでズレやすいので） */
  }
}

.page-title.no-before::before,
.no-before.page-title::before {
  content: none !important;
  display: none !important;
}


.case-list {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.case-item {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 20px;
}

/* ★ 背景グレー削除 → アイコン画像のみ */
.case-icon {
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.case-icon img {
  width: 100%; 
  height: auto;
}

/* ★ CASE と 日本語を横並びにする（PC） */
.case-texts {
  display: flex;
  align-items: center;
  gap: 25px;
}

.case-en {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #027948;
  white-space: nowrap;
}

.case-en span {
  font-size: 40px;
  white-space: nowrap;
}

.case-jp {
  font-size: 20px;
}

/* ===== スマホ ===== */
@media (max-width: 767px) {
  .case-item {
    flex-direction: column; /* ← 全体を縦並び */
    text-align: center;
    gap: 0px;
  }

  .case-icon {
    width: 170px;
    height: auto;
  }

  /* ★ SP時は「アイコン → 英語 → 日本語」の縦並び */
  .case-texts {
    flex-direction: column;
    gap: 00px;
    align-items: center;
  }

  .case-en {
    font-size: 22px; /* 強調 */
  }

  .case-en span {
    font-size: 32px;
  }

  .case-jp {
    font-size: 16px;
    line-height: 1.6;
	  padding-bottom:1.5rem
  }
}

.park-title {
  position: relative !important;
}

.park-title::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: -1090px !important;
  width: 300px !important;
  height: 300px !important;
  background-image: url("/wp-content/uploads/2025/11/logo_tate_2-scaled.png") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  transform: translateY(-14%) !important;
  z-index: 2 !important;
}

/* コインパーキングを見直したい方 改修 */
.parking_replace {
  padding-top: 0rem;
}

/* .parking_replace .inner {
  background-color: #fff;
  padding: 1rem;
} */

.parking_replace .resize-figure {
  text-align:center;
  margin-bottom: 1rem;
}

.parking_replace .subttl {
  background-color: #fff;
  padding: 1rem;
}

.parking_replace .subttl h2 {
  background-color:#7DA682;
  color:#fff;
  padding-top:2rem;
  padding-bottom:2rem;
  background-image:url('/wp-content/uploads/2025/11/logo_tate_2-scaled.png');
  background-repeat:no-repeat;
  background-position:-250px center;
  background-size:220px auto;
}

.reason_slide_box_wrap {
	position: relative;
}

.reason_slide_box_wrap::before,
.reason_slide_box_wrap::after {
  content: '';
  position: absolute;
  top: 0;
  width: 40px;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.reason_slide_box_wrap::before {
  left: 0;
  background: linear-gradient(to right, rgba(255 255 255), rgba(0,0,0,0));
}

.reason_slide_box_wrap::after {
  right: 0;
  background: linear-gradient(to left, rgba(255 255 255), rgba(0,0,0,0));
}

.reason_slide_box .reason_slider {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
}

.reason_slider .slick-track {
	display: flex !important;
	align-items: stretch;
}

.reason_slider .slick-slide {
	height: auto !important;
	display: flex !important;
	justify-content: center;
	align-items: stretch;
	margin: 0 5px;
}

.reason_slider .slick-list {
  margin: 0 -10px;
}

.reason_slide_box .reason_slider .slide_item {
	max-width: calc((1120px - 20px) / 3);
	width: 100%;
	height: 99%;
	box-shadow: 0px 3px 6px #00000029;
	background-color: #fff;
	padding: 20px;
	flex: 1;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
}

.reason_slide_box .reason_slider .slide_item > *:last-child {
  margin-top: auto;
}

.reason_slide_box .reason_slider .slide_item figure{
	margin-bottom: 20px;
}

.reason_slide_box .reason_slider .slide_item figure img {
	aspect-ratio: 103 / 89;
    object-fit: contain;
    width: 100%;
    height: auto;
}

.reason_slide_box .reason_slider .slide_item .ttl_no {
	font-size: 14px;
    color: #027948;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1em;
}

.reason_slide_box .reason_slider .slide_item .ttl_no::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #027948;
}

.reason_slide_box .reason_slider .slide_item h3 {
	text-align: center;
	font-size: 20px;
	line-height: 1;
	margin: 20px 0;
}

.reason_slide_box .reason_slider .slide_item h3 span {
	font-size: 32px;
	color: #027948;
	display: block;
}

.reason_slide_box .reason_slider .slide_item p {
	color: #1A1A1A;
	font-size: 14px;
	margin-bottom: 2rem;
}

.reason_slide_box .reason_slider .slide_item .btn_cmn {
	margin: auto auto 0;
}

.reason_slide_box .reason_slider .slide_item .btn_cmn p {
	font-size: 0.9375rem;
	color: #fff;
	margin-bottom: 0;
}

.reason_slide_box .reason_slider .slick-prev,
.reason_slide_box .reason_slider .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	background: none;
	border: none;
	font-size: 24px;
	color: #027948;
	cursor: pointer;
}

.reason_slide_box .reason_slider .slick-prev {
	left: 30px;
}

.reason_slide_box .reason_slider .slick-next {
	right: 30px;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.reason_slide_box .reason_slider .slick-prev {
		left: 10px;
	}

	.reason_slide_box .reason_slider .slick-next {
		right: 10px;
	}
}

@media (max-width: 768px) {
	.parking_replace .resize-figure img {
		width: 70%;
		height: auto;
	}
	
	.reason_slide_box .reason_slider .slick-prev {
		left: 10px;
	}

	.reason_slide_box .reason_slider .slick-next {
		right: 10px;
	}
	
	.reason_slide_box_wrap::before,
	.reason_slide_box_wrap::after {
	  width: 20px;
	}
}

.fade-slide-safe {
  opacity: 0;
  transform: translateX(-20px);
  animation: fadeSlideSafe 1.2s ease-out forwards;
  will-change: opacity, transform;
}

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

@media (max-width: 767px) {
  .pb-pc-only {
    padding-bottom: 0 !important;
  }
}

.no-before::before {
  content: none !important;
  display: none !important;
}

/* TOP改修 */
.home_advantage {
  position: relative;
}

/* ★ 2561px〜はcover → contain にする */
@media (min-width: 2561px) {
  .home_advantage {
    background-size: contain;
    background-position: center top; /* 必要なら変更可能 */
    background-repeat: no-repeat;
  }
}

.home_advantage::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(/wp-content/uploads/2025/11/advantage_back_imege-scaled.jpg);
  background-repeat: no-repeat;
  background-position: 60% 0;
  background-size: cover;
  z-index: 0;
  background-color: #d2d3d7;
}

/* SP：〜767px */
@media (max-width: 767px) {
  .home_advantage::before {
    background-image: url(/wp-content/uploads/2025/11/advantage_back_imege2-scaled.jpg);
    background-position: center top; /* 必要なら調整 */
    background-size: cover;          /* 必要なら調整 */
  }
}

.home_advantage h2 {
	color: #1a1a1a;
}

.home_advantage .inner p.txt01 {
	margin: 2.5rem 0;
}

.home_advantage .advantage_slide_box {
  padding: 2.5rem 0;
}

.advantage_slide_box_wrap {
	position: relative;
}

.advantage_slide_box_wrap::before,
.advantage_slide_box_wrap::after {
  content: '';
  position: absolute;
  top: 0;
  width: 40px;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.advantage_slide_box_wrap::before {
  left: 0;
  background: linear-gradient(to right, rgba(255 255 255), rgba(0,0,0,0));
}

.advantage_slide_box_wrap::after {
  right: 0;
  background: linear-gradient(to left, rgba(255 255 255), rgba(0,0,0,0));
}

.advantage_slide_box .advantage_slider {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 40px;
}

.advantage_slider .slick-track {
	display: flex !important;
	align-items: stretch;
}

.advantage_slider .slick-slide {
	height: auto !important;
	display: flex !important;
	justify-content: center;
	align-items: stretch;
	margin: 0 5px;
}

.advantage_slider .slick-list {
  margin: 0 -10px;
}

.advantage_slide_box .advantage_slider .slide_item {
	max-width: 360px;
	width: 100%;
	height: 100%;
	box-shadow: 0px 3px 6px #00000029;
	background-color: #fff;
	padding: 20px;
	flex: 1;
	display: flex !important;
	flex-direction: column;
	justify-content: space-between;
}

.advantage_slide_box .advantage_slider .slide_item > *:last-child {
  margin-top: auto;
}

.advantage_slide_box .advantage_slider .slide_item figure{
	margin-bottom: 20px;
}

.advantage_slide_box .advantage_slider .slide_item figure img {
	aspect-ratio: 103 / 89;
    object-fit: contain;
    width: 100%;
    height: auto;
}

.advantage_slide_box .advantage_slider .slide_item .ttl_no {
	font-size: 14px;
    color: #027948;
	position: relative;
	display: flex;
	align-items: center;
	gap: 1em;
}

.advantage_slide_box .advantage_slider .slide_item .ttl_no::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #027948;
}

.advantage_slide_box .advantage_slider .slide_item h3 {
	text-align: center;
	font-size: 20px;
	line-height: 1;
	margin: 20px 0;
}

.advantage_slide_box .advantage_slider .slide_item h3 span {
	font-size: 32px;
	color: #027948;
	display: block;
}

.advantage_slide_box .advantage_slider .slide_item p {
	color: #1A1A1A;
	font-size: 14px;
	margin-bottom: 2rem;
}

.advantage_slide_box .advantage_slider .slide_item .btn_cmn {
	margin: auto auto 0;
}

.advantage_slide_box .advantage_slider .slide_item .btn_cmn p {
	font-size: 0.9375rem;
	color: #fff;
	margin-bottom: 0;
}

.advantage_slide_box .advantage_slider .slick-prev,
.advantage_slide_box .advantage_slider .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	background: none;
	border: none;
	font-size: 24px;
	color: #027948;
	cursor: pointer;
}

.advantage_slide_box .advantage_slider .slick-prev {
	left: 30px;
}

.advantage_slide_box .advantage_slider .slick-next {
	right: 30px;
}

.home_service {
	position: relative;
	padding-bottom:0rem;
}

.home_service::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(/wp-content/uploads/2025/12/back_works.jpg);
  background-repeat: no-repeat;
  background-position: top center;
/*   background-size: contain; */
  background-color: #fff;   /* ← 空いた部分の色 */
  z-index: 0;
}

@media (min-width: 2561px) {
	.home_service::before {
		background-size: 100% auto;
	}
}

.home_service .inner p.txt01 {
	margin: 2.5rem 0;
}

.home_service .service_slide_box {
  padding: 2.5rem 0;
}

.service_slide_box_wrap {
	position: relative;
}

/*.service_slide_box_wrap::before,
.service_slide_box_wrap::after {
  content: '';
  position: absolute;
  top: 0;
  width: 40px;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}

.service_slide_box_wrap::before {
  left: 0;
  background: linear-gradient(to right, rgba(255 255 255), rgba(255 255 255,0));
}

.service_slide_box_wrap::after {
  right: 0;
  background: linear-gradient(to left, rgba(255 255 255), rgba(0,0,0,0));
}*/

.service_slide_box .service_slider {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
}

.service_slider .slick-track {
	display: flex !important;
	align-items: stretch;
}

.service_slider .slick-slide {
	height: auto !important;
	display: flex !important;
	justify-content: center;
	align-items: stretch;
	margin: 0 5px;
}

.service_slider .slick-list {
  margin: 0 -10px!important;
}

.service_slide_box .service_slider .slide_item {
	max-width: calc((100vw - 40px) / 3);
	width: 100%;
	height: 100%;
	background-color: #fff;
	flex: 1;
	display: flex !important;
	flex-direction: column;
	justify-content: flex-start;
	border: 5px solid #fff;
}

.service_slide_box .service_slider .slide_item figure img {
  width: 100%;
  aspect-ratio: 640/350;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top center;
  object-position: top center;
}

.service_slide_box .service_slider .slide_item .txt {
  padding: 1.2rem 5% 1.5rem;
}

.service_slide_box .service_slider .slick-prev,
.service_slide_box .service_slider .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	background: none;
	border: none;
	font-size: 24px;
	color: #fff;
	cursor: pointer;
}

.service_slide_box .service_slider .slick-prev {
	left: 30px;
}

.service_slide_box .service_slider .slick-next {
	right: 30px;
}

/* 2561px以上はエリアを1920pxに制限して中央配置 */
/* @media (min-width: 2561px) {
  .home_service .inner,
  .service_slide_box_wrap,
  .service_slide_box .service_slider {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
  }
	
  .home_service::before {
    background-size: 1920px auto;
    background-position: center top;
    background-repeat: no-repeat;
    background-color: #ffffff;
  }
} */

  /* スライドの最大幅も1920px基準に再計算 */
  .service_slide_box .service_slider .slide_item {
    max-width: calc((1920px - 40px) / 3);
  }
}


@media (min-width: 768px) and (max-width: 1199px) {
	.home_advantage::before {
		background-position: 70% 0%;
	}

	.advantage_slide_box .advantage_slider .slick-prev {
		left: 10px;
	}

	.advantage_slide_box .advantage_slider .slick-next {
		right: 10px;
	}
	
	.service_slide_box .service_slider .slide_item {
		max-width: calc((100vw - 40px) / 2);
	}
	
	.service_slide_box .service_slider .slick-prev {
		left: 20px;
	}

	.service_slide_box .service_slider .slick-next {
		right: 20px;
	}
}

@media (max-width: 768px) {
	.home_advantage::before {
		background-position: 64% 0%;
	}

	.home_advantage .inner p.txt01 {
		margin: 1.5rem 0;
	}

	.advantage_slide_box .advantage_slider .slick-prev {
		left: 10px;
	}

	.advantage_slide_box .advantage_slider .slick-next {
		right: 10px;
	}
	
	.advantage_slide_box_wrap::before,
	.advantage_slide_box_wrap::after {
		width: 20px;
	}
	
	.service_slide_box .service_slider .slide_item .txt {
		padding: .8rem 4% 1rem
	}
	
	.service_slide_box .service_slider .slide_item {
		max-width: calc(100% - 20px);
		margin: 0 auto;
	}
	
	.service_slide_box .service_slider .slick-prev {
		left: 10px;
	}

	.service_slide_box .service_slider .slick-next {
		right: 10px;
	}
}


/* 該当ページのみヘッダーとMVを被せる */
/* 該当ページのheader高さ分のpadding打ち消し */
/* .advantage {
	padding-top: 0;	
}

.advantage_mv {
	text-align:center;
}

.header-overlap,
.header-overlap .mdlline {
	background-color: transparent !important;
}

.header-overlap .gnav .ul_one .li_parent .parent,
.header-overlap .gnav .ul_one li a p {
	color: #fff;
	text-shadow: 0px 0px 1px #000;
} */

/* 企業理念 項目追加 */
.about_philosophy {
	background-color: #F5F5F5;
	position: relative;
}

.about_philosophy::before {
	content: "";
	position:absolute;
	background-color: #027948;
	top: 30%;
    left: 0;
    width: 30%;
    height: 40%;
}

.about_philosophy::after {
	content: "";
	position:absolute;
	background-color: #027948;
	top: 50%;
    right: 0;
    width: 30%;
    height: 40%;
}

.about_philosophy .philosophy_box {
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.about_philosophy .philosophy_box .philosophy_item {
	width: 100%;
    background-color: #fff;
    box-shadow: 0px 3px 6px #00000029;
    padding: 40px 120px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
	position: relative;
	z-index: 100;
}

.about_philosophy .philosophy_box .philosophy_item:first-of-type::after {
	content: "MISSION";
	font-family: "Roboto Condensed", sans-serif;
	color: #333;
	opacity: 0.07;
	position: absolute;
	bottom: 0;
	right: -10px;
    font-size: 128px;
    font-weight: 600;
    line-height: 0.7;
}

.about_philosophy .philosophy_box .philosophy_item:nth-of-type(2)::after {
	content: "VISION";
	font-family: "Roboto Condensed", sans-serif;
	color: #333;
	opacity: 0.07;
	position: absolute;
	bottom: 0;
	right: -10px;
    font-size: 128px;
    font-weight: 600;
    line-height: 0.7;
}

.about_philosophy .philosophy_box .philosophy_item:nth-of-type(3)::after {
	content: "VALUE";
	font-family: "Roboto Condensed", sans-serif;
	color: #333;
	opacity: 0.07;
	position: absolute;
	bottom: 0;
	right: -5px;
    font-size: 128px;
    font-weight: 600;
    line-height: 0.7;
}

.about_philosophy .philosophy_box .philosophy_item h3 {
	font-size: 16px;
    line-height: 1.6;
	width: 40%;
}

.about_philosophy .philosophy_box .philosophy_item h3 span {
	display: block;
    color: #027948;
    font-size: 36px;
}

.about_philosophy .philosophy_box .philosophy_item p {
	width: 60%;
	font-size:1.25rem;
}

.about_philosophy .philosophy_box .philosophy_item ul li {
	text-indent: -1rem;
    padding-left: 1rem;
	line-height: 1.4;
    margin-bottom: 1rem;
	font-size:1.25rem;
}

.about_philosophy .philosophy_box .philosophy_item ul li:last-of-type {
	margin-bottom: 0;
}

@media (max-width: 1100px) {
	.about_philosophy .philosophy_box .philosophy_item {
		padding: 40px 80px;
	}
}

@media (max-width: 767px) {
	.about_philosophy .philosophy_box {
		gap: 50px;
	}

	.about_philosophy .philosophy_box .philosophy_item {
		flex-direction: column;
		padding: 40px;
        gap: 20px;
	}
	
	.about_philosophy .philosophy_box .philosophy_item h3,
	.about_philosophy .philosophy_box .philosophy_item p,
	.about_philosophy .philosophy_box .philosophy_item ul {
		width: 100%;
	}
	
	.about_philosophy .philosophy_box .philosophy_item h3 {
		font-size: 24px;
    	line-height: 1.2;
	}
	
	.about_philosophy .philosophy_box .philosophy_item h3 span {
		font-size: 16px;
    	margin-bottom: 8px;
	}
	
	.about_philosophy .philosophy_box .philosophy_item:first-of-type::after,
	.about_philosophy .philosophy_box .philosophy_item:nth-of-type(2)::after,
	.about_philosophy .philosophy_box .philosophy_item:nth-of-type(3)::after {
		right: 0px;
    	font-size: 60px;
	}
}

/* 土地オーナー様へ2 */
.owner2_first {
	background-image: url(/wp-content/uploads/2025/11/logo_tate_2_1-scaled.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}

.owner2_first .overview {
	display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 30px;
    margin-bottom: 30px;
}

.owner2_first .overview figure {
	width: 64%;
}

.owner2_first .overview p {
	font-size: 1.8rem;
    font-weight: 600;
}

.owner2_first .cta_box_01 {
	display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 60px;
    margin: 60px 0;
}

.owner2_first .cta_box_01 a.contact_btn {
	position: relative;
	background-color: #007849;
	color: #fff;
    font-weight: 600;
	min-width: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.owner2_first .cta_box_01 a.contact_btn::before {
	content:'';
	background-image: url(/wp-content/uploads/2025/11/mail_icon.svg);
	background-repeat: no-repeat;
	background-position: center;
    background-size: contain;
	width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 10px 3px 0;
}

.owner2_first .cta_box_01 a.assessment {
	position: relative;
	background-color: #7aa280;
	color: #fff;
    font-weight: 600;
	min-width: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.owner2 h2.ttl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	margin-bottom: 60px;
}

.owner2 h2.ttl span.en {
	font-size: 5rem;
	color: #d0d0cf;
	line-height: 1;
}

.owner2 h2.ttl span.en:first-letter {
    color: #037547;
}

.owner2 h2.ttl span:last-of-type {
	font-weight: 600;
}

.owner2_worries .worries_box {
	display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 30px;
}

.owner2_worries .worries_box figure {
	width: 46%;
}

.owner2_worries .worries_box .worries_list {

}

.owner2_worries .worries_box .worries_list li {
	font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
	padding-left: 30px;
    text-indent: -30px;
    margin-bottom: 2rem;
}

.owner2_worries .worries_box .worries_list li::before {
	content:'';
	background-image: url(/wp-content/uploads/2025/11/worries_check_icon.svg);
	background-repeat: no-repeat;
	background-position: center;
    background-size: contain;
	width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 10px 2px 0;
}

.owner2_worries2 {
	background-color: #017949;
	position: relative;
	padding-top: 8rem;
	z-index: 0;
}

.owner2_worries2::before {
	content: "";
    position: absolute;
    height: 8rem;
    width: 100%;
    clip-path: polygon(50% 100%, 100% 0%, 0% 0%);
    background-color: #fff;
　　left: 0;
    top: 0;
	background-image: url(/wp-content/uploads/2025/10/grid3.svg);
    background-position: center;
}

.owner2_worries2 .worries_txt {
	padding: 6rem 0 2rem;
}

.owner2_worries2 .worries_txt h3 {
	color: #fff;
	text-align: center;
    font-size: 2.25rem;
	width: fit-content;
    margin: 0 auto;
	position: relative;
}

/* .owner2_worries2 .worries_txt h3::before {
	content: '';
    position: absolute;
    left: 40%;
    top: -100%;
    transform: translate(-50%, -50%);
	width: 140%;
	height: auto;
	aspect-ratio: 600 / 170;
    background: url(/wp-content/uploads/2025/11/worries_txt_bg.svg) center / contain no-repeat;
    mix-blend-mode: screen;
    opacity: 0.8;
    z-index: -1;
    pointer-events: none;
} */

.owner2_worries2 .worries_txt h3::after {
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    height: 10px;
    background: rgba(255, 255, 255, 0.5);
    filter: blur(10px);
    z-index: -1;
}

.owner2_reason {
	background-color: #7aa280;
}

.owner2_reason h2.ttl {
	align-items: flex-start;
}

.owner2_reason h2.ttl span.en,
.owner2_reason h2.ttl span:last-of-type{
	color: #fff;
}

.owner2_reason .reason_list {
	display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 60px 30px;
}

.owner2_reason .reason_list li {
	background-color: #fff;
    padding: 30px;
    width: calc((100% - 60px) / 3);
	position: relative;
}

.owner2_reason .reason_list li span {
	position: absolute;
    color: #007849;
    font-size: 4rem;
    font-weight: 600;
    left: 10px;
}

.owner2_reason .reason_list li:nth-of-type(1) span,
.owner2_reason .reason_list li:nth-of-type(2) span,
.owner2_reason .reason_list li:nth-of-type(3) span {
  top: -24%;
}

.owner2_reason .reason_list li:nth-of-type(4) span,
.owner2_reason .reason_list li:nth-of-type(5) span,
.owner2_reason .reason_list li:nth-of-type(6) span {
  top: -20%;
}

.owner2_reason .reason_list li h3 {
	font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 20px;
}

.owner2_reason .reason_list li {
	font-size: 1rem;
    line-height: 1.6;
}

.owner2_reason .reason_list li::before {
	content: "";
	display: block;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
	background-repeat: no-repeat;
    background-position: center;
    background-size: auto 70%;
}

.owner2_reason .reason_list li:first-of-type::before {
	background-image: url(/wp-content/uploads/2025/11/reason_bg_01.svg);
}

.owner2_reason .reason_list li:nth-of-type(2)::before {
	background-image: url(/wp-content/uploads/2025/11/reason_bg_02.svg);
}

.owner2_reason .reason_list li:nth-of-type(3)::before {
	background-image: url(/wp-content/uploads/2025/11/reason_bg_03.svg);
}

.owner2_reason .reason_list li:nth-of-type(4)::before {
	background-image: url(/wp-content/uploads/2025/11/reason_bg_04.svg);
}

.owner2_reason .reason_list li:nth-of-type(5)::before {
	background-image: url(/wp-content/uploads/2025/11/reason_bg_05.svg);
}

.owner2_reason .reason_list li:nth-of-type(6)::before {
	background-image: url(/wp-content/uploads/2025/11/reason_bg_06.svg);
}

.owner2_works {
	position: relative;
}

.owner2_works .works_txt {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 45%);
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.owner2_works .works_txt p.txt {
	font-size: 2rem;
    color: #fff;
    font-weight: 600;
    line-height: 1.4;
}

.owner2_works .works_bg .scroll_img01,
.owner2_works .works_bg .scroll_img02 {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.owner2_works .works_bg .scroll_img01 .scroll_left {
    animation: leftFlow 30s linear infinite;
    display: flex;
    margin-bottom: 0;
}

.owner2_works .works_bg .scroll_img02 .scroll_right {
    animation: rightFlow 30s linear infinite;
    display: flex;
    margin-bottom: 0;
}

.owner2_works .works_bg .scroll_img01 img,
.owner2_works .works_bg .scroll_img02 img {
    flex-shrink: 0;
    height: auto;
    width: 100%;
    object-fit: contain;
}

@keyframes leftFlow {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@keyframes rightFlow {
  from {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}

.owner2_voice .voice_list {
	display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 30px;
}

.owner2_voice .voice_list .voice_item {
	background-color: #fff;
	border: solid 1px #d0d0cf;
    width: calc((100% - 60px) / 3);
    padding: 20px;
    box-shadow: 10px 10px 0 #d0d0cf;
}

.owner2_voice .voice_list .voice_item .voice_info {
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

.owner2_voice .voice_list .voice_item .voice_info figure {
	width: calc(100% - 70% - 10px);
    max-width: 80px;
}

.owner2_voice .voice_list .voice_item .voice_info .voice_ttl {
	width: 70%;
}

.owner2_voice .voice_list .voice_item h3.ttl {
	font-size: 1.2rem;
    line-height: 1.4;
    margin-bottom: 10px;
}

.owner2_voice .voice_list .voice_item span.name {
	display: block;
    text-align: right;
    font-size: 1rem;
    margin-bottom: 10px;
}

.owner2_flow {
	background-image: url(/wp-content/uploads/2025/11/logo_tate_2_1-scaled.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 80%;
}

.owner2_flow h2.ttl {
	align-items: flex-start;
}

.owner2_flow .flow_list {
	display: flex;
    justify-content: space-between;
    align-items: stretch;
	margin: 160px 0;
}

.owner2_flow .flow_list .flow_item {
	border: solid 1px #7aa280;
	background-color: #fff;
	border-radius: 10px;
	padding: 30px 10px;
	position: relative;
	width: calc((100% - 80px) / 5);
}

.owner2_flow .flow_list .flow_item::after {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -19px;
    font-size: 40px;
    color: #7aa280;
}

.owner2_flow .flow_list .flow_item:last-of-type::after {
	content: none;
}

.owner2_flow .flow_list .flow_item figure {
	width: 50%;
	position: absolute;
	top: -12%;
	left: 50%;
	transform: translateX(-50%);
}

.owner2_flow .flow_list .flow_item h4.ttl {
	color: #007849;
    text-align: center;
    margin: 30px 0 20px;
}

.owner2_flow2 {
	background-color: #007849;
}

.owner2_flow2 .flow_cta h3 {
	color: #fff;
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 2rem;
}

.owner2_flow2 .cta_box_02 {
	display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 60px;
    margin: 60px 0;
}

.owner2_flow2 .cta_box_02 a.assessment {
	position: relative;
    background-color: #7aa280;
    color: #fff;
    font-weight: 600;
    font-size: 1.2rem;
    min-width: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

@media (max-width: 1000px) {
	.owner2_reason .reason_list li:nth-of-type(1) span,
	.owner2_reason .reason_list li:nth-of-type(2) span,
	.owner2_reason .reason_list li:nth-of-type(3) span,
	.owner2_reason .reason_list li:nth-of-type(4) span,
	.owner2_reason .reason_list li:nth-of-type(5) span,
	.owner2_reason .reason_list li:nth-of-type(6) span {
	  top: -14%;
	  font-size: 3rem;
	}
	
	.owner2_flow .flow_list {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 120px 20px;
	}
	
	.owner2_flow .flow_list .flow_item {
		width: calc((100% - 60px) / 3);
	}
	
	.owner2_flow .flow_list .flow_item figure {
		width: 40%;
		top: -18%;
	}
	
	.owner2_flow .flow_list .flow_item h4.ttl {
		font-size: 1.2rem;
		margin: 3rem 0 0;
	}
}

@media (max-width: 890px) {
	.owner2_first .overview p {
		font-size: 1.4rem;
	}
	
	.owner2_worries2 .worries_txt h3 {
		font-size: 2.6vw;
	}
	
	.owner2_reason .reason_list li::before {
		background-size: auto 40% !important;
	}
	
	.owner2_reason .reason_list li:nth-of-type(1) span,
	.owner2_reason .reason_list li:nth-of-type(2) span,
	.owner2_reason .reason_list li:nth-of-type(3) span,
	.owner2_reason .reason_list li:nth-of-type(4) span,
	.owner2_reason .reason_list li:nth-of-type(5) span,
	.owner2_reason .reason_list li:nth-of-type(6) span {
	  top: -12%;
	}
	
	.owner2_reason .reason_list li h3 {
		line-height: 1.2;
    	margin: 20px 0 20px;
	}
	
	.owner2_flow .flow_list .flow_item figure {
		top: -10%;
	}
}

@media (max-width: 767px) {
	.owner2_first .overview {
		flex-direction: column;
	}
	
	.owner2_first .overview figure {
		width: 100%;
	}
	
	.owner2_first .overview p {
		font-size: 1.2rem;
	}
	
	.owner2_first .cta_box_01 {
		flex-direction: column;
		gap: 30px;
	}
	
	.owner2_first .cta_box_01 a.contact_btn,
	.owner2_first .cta_box_01 a.assessment {
		width: 100%;
	}
	
	.owner2_worries .worries_box {
		flex-direction: column;
	}
	
	.owner2_worries .worries_box figure {
		width: 100%;
	}
	
	.owner2_worries2::before {
		height: 4rem;
	}
	
	.owner2_worries2 .worries_txt {
		padding: 0rem 0 2rem;
	}
	
	.owner2_worries2 .worries_txt h3 {
        font-size: 1.5rem;
        line-height: 1.4;
    }
	
/* 	.owner2_worries2 .worries_txt h3::before {
		left: 50%;
		top: -28%;
		width: 160%;
	} */
	
	.owner2_worries2 .worries_txt h3::after {
		bottom: 8px;
		height: 6rem;
		background: rgba(255, 255, 255, 0.2);
		filter: blur(25px);
	}
	
	.owner2_reason .reason_list {
		flex-wrap: wrap;
	}
	
	.owner2_reason .reason_list li {
		width: 100%;
	}
	
	.owner2_reason .reason_list li:nth-of-type(1) span,
	.owner2_reason .reason_list li:nth-of-type(2) span {
		top: -24%;
	}

	.owner2_reason .reason_list li:nth-of-type(3) span,
	.owner2_reason .reason_list li:nth-of-type(4) span {
		top: -18%;
	}

	.owner2_reason .reason_list li:nth-of-type(5) span {
		top: -16%;
	}

	.owner2_reason .reason_list li:nth-of-type(6) span {
		top: -20%;
	}
	
	.owner2_reason .reason_list li::before {
		background-size: auto 60% !important;
	}
	
	.owner2_reason .reason_list li h3 {
        margin: 1rem 0 20px;
    }
	
	.owner2_works .works_bg .scroll_img01,
	.owner2_works .works_bg .scroll_img02 {
        width: 200%;
    }
	
	.owner2_works .works_txt p.txt {
		font-size: 1.2rem;
	}
	
	.owner2_voice .voice_list .voice_item .voice_info {
		gap: 20px;
	}

	.owner2_voice .voice_list .voice_item .voice_info figure {
		width: 20%;
    	max-width: 100px;
	}

	.owner2_voice .voice_list .voice_item .voice_info .voice_ttl {
		width: fit-content;
        max-width: 100%;
	}
	
	.owner2_voice .voice_list .voice_item {
		width: 100%;
	}
	
	.owner2_flow .flow_list {
		margin: 160px 0 80px;
	}
	
	.owner2_flow .flow_list .flow_item {
        width: 100%;
		padding: 30px 20px;
    }
	
	.owner2_flow .flow_list .flow_item h4.ttl {
        font-size: 1.4rem;
		margin: 2rem 0 0;
    }
	
	.owner2_flow .flow_list .flow_item::after {
		top: inherit;
		bottom: -65px;
		transform: rotate(90deg);
		right: calc(50% - 10px);
		font-size: 40px;
	}
	
	.owner2_flow .flow_list .flow_item figure {
		width: 30%;
    	top: -20%;
	}
	
	.owner2_flow2 .cta_box_02 a.assessment {
		width: 100%;
	}
}

.contact_first .btn_cmn.bg_dg a {
	  background-color: #79a180;
}

.contact_first .btn_cmn.bg_dg a:hover {
      background-color: rgb(2 121 72);
}

.contact_first.section_cmn {
	padding: 5rem 0 2rem;
}

.contact_form.section_cmn {
	padding: 2rem 0 5rem;
} 

@media (max-width: 767px) {
	.contact_first.section_cmn {
		padding: 3rem 0 1rem;
	}
	
	.contact_form.section_cmn {
		padding: 0.75rem 0 3.5rem;
	}
	
	.owner2 h2.ttl span.en {
		font-size: 3rem;
	}
}

body.recruit input[type=number]::-webkit-outer-spin-button,
body.recruit input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
body.recruit input[type=number] {
    -moz-appearance: textfield;
}

body.recruit input[type=number] {
	background: #f8f8f8;
    border: 1px solid #bfbfbf;
    padding: 6px 5px;
	margin: 0 5px;
}

body.recruit input[type=number][name="birth_year"] {
	margin: 0 5px 0 0;
}

/* 採用情報メインビジュアル */
.recruit-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100vh;
}

.recruit-slider .slide {
	width: 100%;
	height: 100%;
}

.recruit-slider .slide img {
	position: absolute;
	inset: 0;
	opacity: 0;
	animation: fadeSlide 24s infinite;
	animation-timing-function: ease-in-out;
	object-fit: cover;
	object-position: center;
	height: 100%;
	min-width: 100%;
}

.recruit-slider .slide img:nth-child(1) { animation-delay: 0s; }
.recruit-slider .slide img:nth-child(2) { animation-delay: 4s; }
.recruit-slider .slide img:nth-child(3) { animation-delay: 8s; }
.recruit-slider .slide img:nth-child(4) { animation-delay: 12s; }
.recruit-slider .slide img:nth-child(5) { animation-delay: 16s; }
.recruit-slider .slide img:nth-child(6) { animation-delay: 20s; }

@keyframes fadeSlide {
  0% { opacity: 0; }
  5% { opacity: 1; }
  20% { opacity: 1; }
  25% { opacity: 0; }
  100% { opacity: 0; }
}

.recruit-slider .slide_logo {
	position: absolute;
	z-index: 100;
	bottom: 0;
	width: 100%;
	left: 0;
	display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-end;
}

.recruit-slider .slide_logo .logo_right_box {
	opacity: 0;
	-webkit-mask-image: linear-gradient(to bottom, #000, #000 33%, rgba(0, 0, 0, 0) 66%, rgba(0, 0, 0, 0) 100%);
	mask-image: linear-gradient(to bottom, #000 33%, rgba(0, 0, 0, 0) 66%, rgba(0, 0, 0, 0) 100%);
	-webkit-mask-size: 100% 300%;
	mask-size: 100% 300%;
	-webkit-mask-position: 0 100%;
	mask-position: 0 100%;
	transform: translateY(30px) scale(1.02);
	transition: all 1.5s ease-out;
	will-change: opacity, transform, mask-position;
	width: 40%;
}

.recruit-slider .slide_logo .logo_right_box.is-visible {
  opacity: 1;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  transform: translateY(0) scale(1);
}

.recruit-slider .slide_logo .logo_right_box img {
	width: 100%;
}

.recruit-slider .logo_left_box {
	display: inline-block;
	white-space: normal;
	overflow: hidden;
	color: #fff;
	padding-left: 30px;
}

.recruit-slider .logo_left_box.barl2 {
	font-family: "Roboto", sans-serif;
}

.recruit-slider .logo_left_box span {
	display: inline-block;
	font-size: 9vw;
	font-weight: 600;
	line-height: 1;
    color: #fff;
	transform: translate(0, 205%);
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
}

.recruit-slider .logo_left_box.-visible span {
  transform: translate(0, 0);
}
.recruit-slider .logo_left_box span:nth-child(2) {
  transition-delay: 0.06s;
}
.recruit-slider .logo_left_box span:nth-child(3) {
  transition-delay: 0.12s;
}
.recruit-slider .logo_left_box span:nth-child(4) {
  transition-delay: 0.18s;
}
.recruit-slider .logo_left_box span:nth-child(5) {
  transition-delay: 0.24s;
}
.recruit-slider .logo_left_box span:nth-child(6) {
  transition-delay: 0.30s;
}
.recruit-slider .logo_left_box span:nth-child(7) {
  transition-delay: 0.36s;
}
.recruit-slider .logo_left_box span:nth-child(8) {
  transition-delay: 0.42s;
}
.recruit-slider .logo_left_box span:nth-child(9) {
  transition-delay: 0.48s;
}
.recruit-slider .logo_left_box span:nth-child(10) {
  transition-delay: 0.54s;
}
.recruit-slider .logo_left_box span:nth-child(11) {
  transition-delay: 0.6s;
}
.recruit-slider .logo_left_box span:nth-child(12) {
  transition-delay: 0.66s;
}
.recruit-slider .logo_left_box span:nth-child(13) {
  transition-delay: 0.72s;
}
.recruit-slider .logo_left_box span:nth-child(14) {
  transition-delay: 0.78s;
}
.recruit-slider .logo_left_box span:nth-child(15) {
  transition-delay: 0.84s;
}
.recruit-slider .logo_left_box span:nth-child(16) {
  transition-delay: 0.90s;
}
.recruit-slider .logo_left_box span:nth-child(17) {
  transition-delay: 0.96s;
}
.recruit-slider .logo_left_box span:nth-child(18) {
  transition-delay: 1.02s;
}
.recruit-slider .logo_left_box span:nth-child(19) {
  transition-delay: 1.08s;
}
.recruit-slider .logo_left_box span:nth-child(20) {
  transition-delay: 1.14s;
}
.recruit-slider .logo_left_box span:nth-child(21) {
  transition-delay: 1.20s;
}
.recruit-slider .logo_left_box span:nth-child(22) {
  transition-delay: 1.26s;
}

@media(min-width: 1200px) {
	.recruit-slider {
		height: calc(100vh - 103px);
	}
}

@media(min-width: 769px)and (max-width: 1199px) {
	.recruit-slider {
		height: calc(100vh - 80px);
	}
	
	.recruit-slider .slide_logo {
		width: 100%;
		left: 0;
	}
}

@media (max-width: 768px) {
	.recruit-slider {
		aspect-ratio: 363 / 200;
		height: 100%;
	}
	
	.recruit-slider .logo_left_box {
		padding-left: 10px;
	}
}

/* 選ばれる理由　MVアニメーション用 */
body.advantage {
	padding-top: 0;
}

@media(min-width: 1200px) {
  body.advantage main {
    padding-top: 103px;
  }
  body.advantage main {
    padding-top: 103px;
  }
  .advantage_mv2,
  .advantage_mv_bg,
  .splashbg {
    height: calc(100vh - 103px);
  }
  .splashbg,
  .advantage_mv_bg {
    top: 103px;
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  body.advantage main {
    padding-top: 80px;
  }
  body.advantage main {
    padding-top: 80px;
  }
  .advantage_mv2,
  .advantage_mv_bg,
  .splashbg {
    height: calc(100vh - 80px);
  }
  .splashbg,
  .advantage_mv_bg {
    top: 80px;
  }
}

@media (max-width: 767px) {
	body.advantage {
		padding-top: 0;
	}
	body.advantage main {
		padding-top: 20vw;
	}
	.advantage_mv_bg {
		top: 20vw;
    	height: auto;
		aspect-ratio: 54 / 34;
	}
	.advantage_mv_box {
		aspect-ratio: 54 / 34;
	}
	.advantage_mv2 {
		height: auto;
		aspect-ratio: 54 / 34;
	}
	.splashbg {
		height: calc((100vw / 54) * 34);
		top: 20vw;
	}
}

.splashbg {
  content: "";
  display: block;
  width: 100%;
  background-color: #027949;
  position: fixed;
  left: 0;
  z-index: 999;
}

body.appear .splashbg {
  transform: scaleX(0);
  animation-name: PageAnime;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes PageAnime {
  0% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}

.advantage_mv_wrap {
  opacity: 0
}

body.appear .advantage_mv_wrap {
  animation-name: PageAnimeAppear;
  animation-duration: 0.5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  opacity: 0
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}

.advantage_mv_bg {
	width: 100%;
	object-fit: cover;
	position: absolute;
    left: 0;
	opacity: 0;
}

.advantage_mv_bg img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.advantage_mv_bg.is-animated {
	animation: fadeIn 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	animation-delay: 1s;
}
 
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.advantage_mv2 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 20px;
	z-index: 9990;
}

.advantage_mv2 figure.ttl_img_01 {
	width: 60%;
	margin: 0 auto;
}

.advantage_mv2 figure.ttl_img_02 {
	width: 80%;
	margin: 0 auto;
}

.advantage_mv2 figure img {
	width: 100%;
    height: auto;
	display: block;
}

.advantage_mv2 figure.ttl_img_02 img,
.advantage_mv2 figure.ttl_img_01 img {
  opacity: 0;
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.advantage_mv2 figure.ttl_img_02 img {
  transform: translateY(40px);
}

.advantage_mv2 figure.ttl_img_01 img {
  transform: translateY(-40px);
}

.advantage_mv2 figure.ttl_img_02.is-visible img,
.advantage_mv2 figure.ttl_img_01.is-visible img {
  opacity: 1;
  transform: translateY(0);
}

/* 商業施設管理者様へ2 */
.manager2_first {
	background-image: url(/wp-content/uploads/2025/11/logo_tate_2_1-scaled.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%;
}

.manager2_first .overview {
	display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}

.manager2_first .overview figure {
	width: 50%;
}

.manager2_first .overview p {
	font-size: 2rem;
    font-weight: 600;
}

.manager2 .cta_box_01 {
	display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 60px;
    margin: 60px 0;
}

.manager2 .cta_box_01 a.contact_btn {
	position: relative;
	background-color: #007849;
	color: #fff;
    font-weight: 600;
	min-width: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.manager2 .cta_box_01 a.contact_btn::before {
	content:'';
	background-image: url(/wp-content/uploads/2025/11/mail_icon.svg);
	background-repeat: no-repeat;
	background-position: center;
    background-size: contain;
	width: 30px;
    height: 30px;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 10px 3px 0;
}

.manager2 .cta_box_01 a.assessment {
	position: relative;
	background-color: #7aa280;
	color: #fff;
    font-weight: 600;
	min-width: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0;
}

.manager2 h2.ttl {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	margin-bottom: 60px;
}

.manager2 h2.ttl span.en {
	font-size: 5rem;
	color: #d0d0cf;
	line-height: 1;
}

.manager2 h2.ttl span.en:first-letter {
    color: #037547;
}

.manager2 h2.ttl span:last-of-type {
	font-weight: 600;
}

.manager2_worries {
	padding: 5rem 0 60px;
}

.manager2_worries h2.ttl {
	align-items: flex-start;
}

.manager2_worries .worries_box {
	background-color: #F5F5F5;
    border-radius: 20px;
    padding: 30px;
}

.manager2_worries .worries_box .worries_list {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
	gap: 20px;
}

.manager2_worries .worries_box .worries_list li {
	width: calc(50% - 10px);
	font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
    padding-left: 30px;
    text-indent: -30px;
    margin-bottom: 1rem;
}

.manager2_worries .worries_box .worries_list li::before {
	content: '';
    background-image: url(/wp-content/uploads/2025/11/worries_check_icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 10px 2px 0;
}

.manager2_worries .worries_box .worries_list li:last-of-type {
	margin-bottom: 0;
}

.manager2_worries2 {
	background-image: url(/wp-content/uploads/2025/12/manager2_worries_bg.png);
	background-repeat: no-repeat;
    background-size: cover;
	background-position: center;
    width: 100%;
    padding: 72px 0;
}

.manager2_worries2 .worries_txt {
	color: #fff;
    font-size: 24px;
    line-height: 1.8;
    margin-bottom: 36px;
}

.manager2_reason {
	background-color: #027948;
	/*padding-bottom: 14rem;*/
}

.manager2_reason h2.ttl {
	align-items: flex-start;
}

.manager2_reason h2.ttl span.en,
.manager2_reason h2.ttl span,
.manager2_reason h2.ttl span.en:first-letter {
	color: #fff;
}

.manager2_reason .reason_list {
	/*display: grid;*/
	/*grid-template-columns: repeat(2, 1fr);*/
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
	gap: 4rem 2rem;
}

.manager2_reason .reason_list li {
	width: calc((100% - 2rem) / 2);
}

.manager2_reason .reason_list .reason_ttl_box {
	display: flex;
    justify-content: space-between;
    align-items: center;
	margin-bottom: 1rem;
}

.manager2_reason .reason_list .reason_ttl_box img {
	width: auto;
	height: 5rem;
	line-height: 1;
}

.manager2_reason .reason_list li:nth-child(even) {
/*   transform: translateY(4rem); */
}

.manager2_reason .reason_list li h3 {
	color: #fff;
    font-size: 2rem;
	line-height: 1;
}

.manager2_reason .reason_list li h3 span {
	font-size: 5rem;
    display: inline-block;
    margin-right: 20px;
}

.manager2_reason .reason_list li .reason_box {
	background-color: #fff;
    padding: 30px;
	height: calc(100% - 6rem);
    /*display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;*/
}

.manager2_reason .reason_list li .reason_box .txt {
	font-size: 1.2rem;
    font-weight: 600;
}

.manager2_reason .reason_list li .reason_box img {
	width: auto;
    height: 100%;
}

.manager2_growth .btn_cmn {
	width: fit-content;
    margin: 2rem auto;
}

.manager2_growth .btn_cmn p {
	font-weight: 600;
}

.manager2_growth .btn_cmn.bg_dg a {
	margin: 0 auto;
}

.manager2_cta {
	background-image: url(/wp-content/uploads/2025/12/manager2_cta_bg.png);
	background-repeat: no-repeat;
    background-size: cover;
	background-position: center;
    width: 100%;
    padding: 120px 0;
}

.manager2_cta .cta_area h3 {
	font-size: 1.6rem;
    line-height: 2.8rem;
    color: #fff;
}

.manager2_cta .cta_area .cta_box_01 {
	flex-direction: column;
    gap: 20px;
}

@media (max-width: 900px) {
	.manager2_first .overview p {
		font-size: 1.6rem;
	}
}

@media (max-width: 767px) {
	.manager2_first {
		background-position: left bottom;
    	background-size: auto 65%;
	}

	.manager2_first .overview {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 20px;
	}
	
	.manager2_first .overview figure {
		width: 100%;
	}
	
	.manager2_first .overview figure img {
		width: 100%;
		height: auto;
	}
	
	.manager2_first .overview p {
		font-size: 1.6rem;
	}
	
	.manager2_reason h2.ttl {
		margin-bottom: 30px;
	}

	.manager2 h2.ttl span.en {
		font-size: 3rem;
	}

	.manager2 .cta_box_01 {
		flex-direction: column;
		gap: 30px;
	}
	
	.manager2 .cta_box_01 a.contact_btn,
	.manager2 .cta_box_01 a.assessment {
		width: 100%;
	}
	
	.manager2_worries {
		padding: 3rem 0 60px;
	}
	
	.manager2_worries .worries_box .worries_list {
		flex-direction: column;
    	gap: 0;
	}
	
	.manager2_worries .worries_box .worries_list li {
		width: 100%;
	}
	
	.manager2_reason {
		padding-bottom: 3rem;
	}
	
	.manager2_reason .reason_list {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.manager2_reason .reason_list li:nth-child(even) {
	  transform: none;
	}
	
	.manager2_reason .reason_list li h3 span {
		font-size: 4rem;
		margin-right: 14px;
	}
	
	.manager2_reason .reason_list li .reason_box {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding: 20px;
	}
	
	.manager2_reason .reason_list li .reason_box img {
		display: block;
    	margin: 0 auto;
	}
	
	.manager2_growth .growth_img img {
		width: 100%;
	}
	
	.manager2_cta {
		background-image: url(/wp-content/uploads/2025/12/manager2_cta_bg_sp2-scaled.jpg);
		background-position: right bottom;
		background-size: cover;
        padding: 60px 0 0;
	}
	
	.manager2_cta .cta_area {
		padding-bottom: 420px;
	}
}

.home_bnrwrap{
  width: 100%;
  margin: 0 auto;
  background: #fff; /* 左右に出る白地 */
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: nowrap;
}

.home_bnrwrap .bnr {
	width: 33.3333333333%;
}

/* 2561px以上のときだけ最大幅を制限 */
@media (min-width: 2561px){
  .home_bnrwrap {
    /*max-width: 1920px;*/
    max-width: 1630px;
  }
}

@media (max-width: 1200px){
	.home_bnrwrap .bnr a p {
		font-size: 1rem;
	}
}

@media (max-width: 830px){
	.home_bnrwrap {
		flex-direction: column;
    	gap: 10px;
	}
	
	.home_bnrwrap .bnr {
		width: 100%;
	}

  .home_bnrwrap .bnr a p {
		font-size: 1.2rem;
	}
}

.home_service .topline .inner{
  max-width: 1120px;   /* コンテンツ幅 */
  margin: 0 auto;      /* ← 中央に戻す */
}

@media (min-width: 2561px){
  .home_service .topline .inner{
    max-width: 1630px;
  }
}

.home_service .wrap{
  text-align: left;
}

/* 運営実績ポップアップ */
.gallery-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.gallery-modal.active {
    display: block;
}

.gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.7);
}

.gallery-content {
    position: relative;
    max-width: 600px;
    margin: 5vh auto;
    background: #fff;
    padding: 1rem;
}

.gallery-body li {
    list-style: none;
}

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

.gallery-close,
.gallery-prev,
.gallery-next {
    position: absolute;
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
}

.gallery-close { top: .5rem; right: .5rem; }
.gallery-prev { left: -40px; top: 50%; }
.gallery-next { right: -40px; top: 50%; }

/* ギャラリーポップアップ 矢印デザイン */
.gallery-prev,
.gallery-next {
    width: 56px;
    height: 56px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,.3);
    font-size: 32px;          /* 矢印サイズ */
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.gallery-prev {
    left: -80px;   /* 外側に配置 */
}

.gallery-next {
    right: -80px;
}

/* hover時 */
.gallery-prev:hover,
.gallery-next:hover {
    background: #f5f5f5;
}

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

    .gallery-prev,
    .gallery-next {
        width: 44px;
        height: 44px;
        font-size: 24px;
        top: 50%;
        transform: translateY(-50%);
    }

    /* ← 前へ */
    .gallery-prev {
        left: -12px;
        right: auto;
    }

    /* → 次へ */
    .gallery-next {
        right: -12px;
        left: auto;
    }

    .gallery-modal .gallery-body {
        font-size: 1.3em;
    }
}

/* 画像とテキストの間 */
.gallery-modal .gallery-body figure {
    margin-bottom: 1rem;
}

/* テキスト上下の余白 */
.gallery-modal .gallery-body p {
    margin: 0rem 1rem 0rem 0rem;
}

/* ギャラリーページ　追加css */
.gallery main {
	background: none;
}

.gallery .gallery_area {
	background-color: #fff;
	background: none;
}

.gallery .gallery_area .plink_cmn {
	padding-bottom: 1.5rem;
}

.gallery .gallery_area .unit:not(:first-of-type) {
	margin-top: 3rem;
}

.gallery .gallery_area .unit h3 {
	background-color: #7ea682;
	color: #fff;
	text-align: left;
	padding: .5rem .5rem .5rem 1rem;
}

.gallery .gallery_area .unit ul li,
.gallery #gallery-modal .gallery-content .gallery-body li {
	background-color: #eaeaea;
	cursor: pointer;
}

.gallery .gallery_area .unit ul.scroll_up li p.info_01,
.gallery #gallery-modal .gallery-content .gallery-body p.info_01{
	justify-self: left;
	font-size: .75rem;
	color: #ffffff;
	background-color: #7ea682;
	padding: .2rem;
	margin-left: .5rem;
}

.gallery .gallery_area .unit ul.scroll_up li p.info_02,
.gallery #gallery-modal .gallery-content .gallery-body p.info_02 {
	justify-self: left;
	margin: 0 0 .5rem .5rem;
}

.gallery #gallery-modal .gallery-content .gallery-close {
	top: -5px;
    right: 1px;
	line-height: 1;
}

/* .gallery #gallery-modal .gallery-content {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
} */

.gallery #gallery-modal .gallery-content .gallery-body {
	padding-top: 20px;
}

/* ポップアップ表示アニメーション */
#gallery-modal {
    display: none;
}

#gallery-modal.active {
    display: block;
}

.gallery-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
	margin: 0 auto;
}

#gallery-modal.active.show .gallery-content {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
}

.gallery-overlay {
    opacity: 0;
    transition: opacity 0.3s ease;
}

#gallery-modal.active.show .gallery-overlay {
    opacity: 1;
}

@media screen and (max-width: 767px) {
	#gallery-modal .gallery-content {
		width: 90%;
	}
}

/*# sourceMappingURL=style.css.map */