@charset "UTF-8";

/*==============================================================
 number-type1 ナンバーがセンター
--------------------------------------------------------------*/
.number-type1 li>.wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.number-type1 .number {
	display: flex;
	align-items: center;
	justify-content: center;
  margin-left: -5rem;
	font-size: 40rem;
}
.number-type1 .title {
	font-weight: 500;
	text-align: left;
	line-height: 1.3;
	letter-spacing: 0;
  margin-top: 3rem;
	margin-left: 10rem;
	font-size: 20rem;
}
.number-type1 .text {
	margin-top: 15rem;
	font-size: 14rem;
	text-align: justify;
}
@media screen and (min-width:769px) {
.number-type1 li>.wrap {
  flex-direction: column;
}
.number-type1 .number {
  margin-left: 0;
	font-size: 45rem;
}
.number-type1 .title {
	margin-top: 15rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 1rem;
	font-size: 22rem;
}
.number-type1 .text {
	font-size: 16rem;
}
}
@media screen and (min-width:1025px) {
.number-type1 .number {
	font-size: 50rem;
}
.number-type1 .title {
  margin-left: 10rem;
}
}


/*==============================================================
 service-type2、4共通
--------------------------------------------------------------*/
.service-type2 .block-left{
  display: flex;
}
.block-left .number {
	justify-content: flex-start;
	margin-top: 0;
}
.block-left .title {
	text-align: left;
}
@media screen and (min-width:769px) {
.service-type2 .block-left{
  display: block;
}
}

/*==============================================================
 service-type1 サービス一覧
--------------------------------------------------------------*/
.service-type1 .number-type1>li {
	padding: 22rem 20rem 18rem;
}
@media screen and (min-width:769px) {
.service-type1 .number-type1>li {
	padding: 25rem 20rem 20rem;
}
}
@media screen and (min-width:1024px) {
.service-type1 .number-type1>li {
	padding: 30rem 35rem 35rem;
}
}

/*==============================================================
 service-type2 サービス一覧
--------------------------------------------------------------*/
.service-type2 .li-white>li {
  padding: 22rem 20rem 18rem;
}
.service-type2 .number-type1.bg-white {
	gap: 0;
	border-radius: 30rem;
	padding: 22rem 20rem 18rem;
}

@media screen and (min-width:769px) {
.service-type2 .li-white>li {
	padding: 35rem 45rem;
}
.service-type2 .number-type1.bg-white {
	border-radius: 50rem;
	padding: 35rem 45rem;
}
}


/*==============================================================
 service-type3 サービス一覧
--------------------------------------------------------------*/
.service-type3 .cnt-list {
	gap: 0;
	border-radius: 30rem;
	padding: 30rem 20rem 40rem;
}
.service-type3 .number {
	margin-top: 0;
}

.service-type3 .title {
	margin-top: 0;
}
.service-type3 .text {
	margin-top: 0;
}
.service-type3 .title-circle {
	justify-content: flex-start;
	gap: 20rem;
	margin-top: 20rem;
}
.service-type3 .title-circle>li {
	display: flex;
	align-items: center;
	flex-direction: column;
  width: 100%;
}
.service-type3 .title-circle .title {
	flex-shrink: 0;
  width: 80%;
	margin: 0 0 10rem;
  padding: 6rem 0 3rem;
	border: 1px solid var(--solba-yellow);
	border-radius: 50rem;
	font-size: 16rem;
	text-align: center;
	line-height: 1;
	letter-spacing: 0;
}
@media screen and (min-width:769px) {
.service-type3 .cnt-list {
	border-radius: 50rem;
  padding: 40rem 40rem 60rem 30rem;
}
.service-type3 .title-circle>li {
	flex-direction: row;
}
.service-type3 .title-circle .title {
  width: 300rem;
	margin-right: 20rem;
  margin-bottom: 0;
  padding: 15rem 0;
	font-size: 20rem;
}
}
@media screen and (min-width:1025px) {
.service-type3 .cnt-list {
	padding: 40rem 80rem 60rem;
}
.service-type3 .title-circle .title {
	margin-right: 30rem;
}
}

/*==============================================================
 service-type4 サービス一覧 (エネルギーソリューション)
--------------------------------------------------------------*/
.service-type4 .flex-box.flex-1>.itemLR {
	display: flex;
	flex-direction: column;
}

.service-type4 .itemLR .title-area {
	align-items: flex-start;
	height: -webkit-fit-content;  /* Safari用 */
  height: -moz-fit-content;     /* Firefox用 */
  height: fit-content;
	max-height: 520rem;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
	position: relative;
	z-index: 2;
  flex: 0 0 80%;
  padding: 30rem 30rem 30rem 0;
  max-width: 80%;
}
.service-type4 .title-area .wrap {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.service-type4 .number {
  margin-left: 20rem;
}
.service-type4 .title-area .title {
  font-size: 20rem;
}
.service-type4 .itemLR .text-area {
  position: relative;
	flex: 1;
	margin-top: -70rem;
	border-radius: 30px;
	text-align: left;
	z-index: 1;
  margin-left: 30rem;
  margin-right: 30rem;
  padding: 100rem 15rem 30rem;
}

.service-type4 .text-area .title {
  margin-left: 0;
  text-align: center;
  font-weight: 500;
  font-size: 16rem;
}
.service-type4 .text-area .title.text-c2 {
  font-size: 16rem;
}
.service-type4 .text-area .img-box {
  width: 100%;
	position: absolute;
	left: 0;
	bottom: 40rem;
  height: 50vw;
}
.service-type4 .text-area .button-round {
    width: 85%;
    height: 42rem;
    text-align: center;
    font-size: 16rem;
}


@media screen and (min-width:769px) {
.service-type4 .flex-box.flex-1>.itemLR {
	flex-direction: row;
}
.service-type4 .itemLR .title-area {
	flex: 0 0 420rem;
  padding: 40rem 40rem 40rem 70rem;
}
.service-type4 .title-area .wrap {
  flex-direction: column;
}
.service-type4 .number {
  font-size: 45rem;
}
.service-type4 .title-area .title {
  font-size: 20rem;
}
.service-type4 .itemLR .text-area {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	margin-top: 100rem;
  margin-left: -80rem;
  margin-right: 0;
  padding: 40rem 40rem 40rem 110rem;
}
.service-type4 .text-area .title {
  text-align: left;
  font-size: 18rem;
}
.service-type4 .text-area .text {
  font-size: 12rem;
}
.service-type4 .text-area .img-box {
  bottom: 80rem;
	height: 24vw;
}
.service-type4 .text-area .button-round {
	width: 440rem;
  height: 52rem;
	font-size: 20rem;
}
.service-type4 .link-special .svg-trianglex1 {
  top: -100rem;
}
}
@media screen and (min-width:1025px) {
.service-type4 .itemLR .title-area {
	flex: 0 0 610rem;
  padding: 50rem 80rem 60rem 100rem;
}
.service-type4 .number {
  font-size: 50rem;
}
.service-type4 .title-area .title {
  font-size: 30rem;
}
.service-type4 .itemLR .text-area {
	padding: 60rem 80rem 60rem 120rem;
}
.service-type4 .text-area .title {
  font-size: 25rem;
}
.service-type4 .text-area .text {
  font-size: 17rem;
}
.service-type4 .text-area .img-box {
  height: 17vw;
}
}
/*==============================================================
 number-type2 円の中にナンバー　選ばれる理由
--------------------------------------------------------------*/
.number-type2 {
    gap: 20rem;
    padding: 0;
}

  .number-type2.mb450 {
    margin-bottom: 260rem;
  }
  .number-type2.gap100>li {
    position: relative;
    flex: 0 0 calc((100% - 70rem) / 2);
    border-top-left-radius: 30rem;
    border-top-right-radius: 30rem;
  }
  .number-type2 .number {
    width: 60rem;
    font-size: 30rem;
    left: -15rem;
    top: -2rem;
  }
  .number-type2 .number+.title {
    height: 54rem;
    padding-left: 50rem;
  	font-size: 16rem;
    border-top-left-radius: 30rem;
    border-top-right-radius: 50rem;
    border-bottom-right-radius: 50rem;
  }
  .number-type2 .number+.title+.text  {
    padding: 12rem 15rem 10rem;
    font-size: 14rem;
  }
  .number-type2.mb150 {
    margin-bottom: 200rem;
  }
@media screen and (min-width:769px) {
  .number-type2 {
    gap: 50rem 70rem;
    padding: 0 0 0 50rem;
  }
  .number-type2.mb150 {
    margin-bottom: 100rem;
  }
  .number-type2.mb450 {
    margin-bottom: 260rem;
  }
  .number-type2.gap100>li {
    flex: 0 0 calc((100% - 70rem) / 2);
    border-top-left-radius: 0;
    border-top-right-radius: 40rem;
  }
  .number-type2 .number {
    width: 84rem;
    font-size: 45rem;
	  left: -47rem;
  	top: -6rem;
  }
  .number-type2 .number+.title {
    height: 72rem;
    padding-left: 45rem;
  	font-size: 18rem;
  }
.number-type2 .number+.title+.text {
	padding: 30rem 35rem;
  font-size: 16rem;
}
  .number-type2.mb150 {
    margin-bottom: 120rem;
  }
}

@media screen and (min-width:1025px) {
  .number-type2 {
    gap: 70rem 100rem;
    padding: 0 0 0 50rem;
  }
  .number-type2.mb150 {
    margin-bottom: 150rem;
  }
  .number-type2.mb450 {
    margin-bottom: 450rem;
  }
  .number-type2.gap100>li {
    flex: 0 0 calc((100% - 100rem) / 2);
  }
  .number-type2 .number {
    width: 94rem;
    font-size: 50rem;
  }
  .number-type2 .number+.title {
	  padding-left: 60rem;
    font-size: 22rem;
  }

}
.number-type2.gap100 {
	align-items: flex-start;
}
.number-type2 .number {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	padding-right: 3rem;
	background: var(--white);
	border-radius: 50%;
  aspect-ratio: 1/1;
	position: absolute;
	z-index: 1;
}
.number-type2 .number+.title {
	display: flex;
	align-items: center;
	width: 100%;
  padding-top: 0.3em;
  padding-right: 5%;
	color: var(--white);
	font-weight: 600;
	text-align: left;
	line-height: 1.3;
	letter-spacing: 1rem;
	border-bottom-right-radius: 50rem;
}
.number-type2 .number+.title+.text {
	text-align: justify;
}

/* 強み */
.number-type2.strengths .number {
	background: var(--solba-yellow);
}
.number-type2.strengths .number+.title {
	padding-top: 20rem;
}
.number-type2.strengths .number+.title.text-c3 {
	color: var(--c3);
}

@media screen and (min-width:769px) {
.number-type2.strengths .number+.title {
	padding-top: 25rem;
}
}

/* number-type3 選ばれる理由 (ガーデン事業)
--------------------------------------------------------------*/
.number-type3 .number {
	display: flex;
	align-items: center;
	justify-content: flex-start;
  padding-left: 15rem;
	padding-right: 3rem;
	position: absolute;
	z-index: 1;
	left: 0;
	font-size: 40rem;
  top: 12rem;
}

.number-type3 .number+.title {
	display: flex;
	align-items: center;
	width: 100%;
	padding-top: 4rem;
	font-weight: 600;
	text-align: left;
	line-height: 1.3;
	letter-spacing: 1rem;
	border-radius: 50rem;
	height: 55rem;
  padding-left: 80rem;
	font-size: 18rem;
}
.number-type3 .number+.title+.text {
	font-size: 16rem;
	letter-spacing: 1rem;
	text-align: justify;
	padding: 15rem 20rem;
}
.number-type3.list-rectangle>li {
    border-top-left-radius: 30rem;
    border-top-right-radius: 30rem;
}
.flex-box.flex-2.number-type3.gap100 {
	align-items: flex-start;
	gap: 70rem 100rem;
	padding: 0 50rem;
}

.flex-box.flex-2.number-type3.gap100>li {
	flex: 0 0 calc((100% - 100rem) / 2);
	max-width: 540rem;
}
@media screen and (min-width:769px) {
.number-type3.list-rectangle>li {
    border-top-left-radius: 40rem;
    border-top-right-radius: 40rem;
}
.number-type3 .number {
  padding-left: 10rem;
	padding-right: 3rem;
	font-size: 38rem;
	left: 0;
	top: 20rem;
}
.number-type3 .number+.title {
	height: 72rem;
  padding-left: 63rem;
  font-size: 18rem;
}
.number-type3 .number+.title+.text {
	padding: 30rem 35rem;
}
}
@media screen and (min-width:1025px) {
.number-type3 .number {
  padding-left: 30rem;
	padding-right: 3rem;
	font-size: 50rem;
	left: 0;
	top: 15rem;
}
.number-type3 .number+.title {
  padding-left: 110rem;
  font-size: 22rem;
}
}

.cnt-showroom .flex-box {
  flex-direction: column;
}
@media screen and (min-width:769px) {
.cnt-showroom .flex-box {
  flex-direction: row;
}
}



/*==============================================================
  white-content-box 白背景のコンテンツボックス
--------------------------------------------------------------*/
.white-content-box {
	border-radius: 30rem;
}
@media screen and (min-width:769px) {
.white-content-box {
	border-radius: 50rem;
}
}

.white-content-box {
	width: fit-content;
	padding: 30rem 35rem;
	font-size: 16rem;
	letter-spacing: 1rem;
	text-align: justify;
	background: var(--white);
}

.white-content-box.circle-solba-green {
  position: relative;
	padding: 50rem 60rem 50rem 50rem;
}
/*==============================================================
 content-inner
--------------------------------------------------------------*/
.content-inner {
  position: relative;
	display: block;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 40rem 40rem 35rem;
	/* border-radius: 30rem; */
	overflow: hidden;
}

.content-inner .content-text:last-child {
	padding-bottom: 0;
}



/*==============================================================
 english-label
--------------------------------------------------------------*/
.section .english-label {
	display: inline-block;
	height: -webkit-fit-content;  /* Safari用 */
  height: -moz-fit-content;     /* Firefox用 */
  height: fit-content;
	position: absolute;
  font-size: 34rem;
}

.section .english-label .title {
	display: inline-block;
}
.section .english-label.text-small {
	font-size: 50rem;
}
.section .english-label.text-small2 {
	font-weight: 800;
	letter-spacing: 0.05em;
	height: 52rem;
}
  .section .english-label.text-small3 {
    font-size: 22rem;
    line-height: 1.2;
  }

@media screen and (min-width:769px) {
  .section .english-label {
    font-size: 90rem;
  }
  .section .english-label.text-small {
      font-size: 70rem;
  }
  .section .english-label.text-small2 {
      font-size: 70rem;
  }
  .section .english-label.text-small3 {
      font-size: 50rem;
  }

}
@media screen and (min-width: 1025px) {
    .section .english-label.text-small {
    font-size: 120rem;
    }
}



/* english-label 背景カラー*/
.section.bgc .english-label.deco-top-left {
	top: -5rem;
	left: -3rem;
}

.section.bgc .english-label.deco-bottom-right {
	text-align: right;
	bottom: -7rem;
	right: 0;
}

.section.bgc .english-label.deco-bottom-left {
	text-align: left;
	bottom: -4rem;
	left: -5rem;
}

/* english-label 背景白*/
.section .english-label.deco-top-left {
	top: -104rem;
	left: -7rem;
}

.section .english-label.deco-bottom-right {
	text-align: right;
	bottom: -105rem;
	right: 0;
}

.section .english-label.deco-bottom-left {
	text-align: left;
	bottom: -7rem;
	left: 0;
}



/* english-label 背景カラー テキスト回転*/
.section.bgc .english-label.deco-rotate-top-right {
	right: 10rem;
	top: -46rem;
	transform-origin: right center;
	transform: rotate(-90deg);
}

.section.bgc .english-label.deco-rotate-bottom-right {
	right: -80rem;
	top: 40rem;
	transform-origin: right bottom;
	transform: translateX(-80rem) rotate(-90deg);
}

.section.bgc .english-label.deco-rotate-top-left {
	left: -4rem;
	top: -20rem;
	transform-origin: left bottom;
	transform: rotate(90deg);
}

/* english-label 背景白 テキスト回転*/
.section .english-label.deco-rotate-top-right {
	right: 91rem;
	top: -106rem;
	transform-origin: right top;
	transform: rotate(-90deg);
}

.section .english-label.deco-rotate-center-right {
	right: -7rem;
	top: -20%;
	transform-origin: right bottom;
	transform: rotate(-90deg);
}

.section .english-label.deco-rotate-bottom-right {
	right: -7rem;
	bottom: 99%;
	transform-origin: left bottom;
	transform: rotate(-90deg);
}

.section .english-label.deco-rotate-top-left {
	left: -2rem;
	top: -25rem;
	transform-origin: left bottom;
	transform: rotate(90deg);
}

.section .english-label.deco-rotate-top-left.add-line::after {
	content: "";
	height: 200vh;
	position: absolute;
  right: -20rem;
	transform-origin: left bottom;
	transform: rotate(90deg);
  border-left-style: solid;
  border-left-width: 6rem;
	bottom: 8rem;
}
@media screen and (min-width:769px) {
.section .english-label.deco-rotate-top-left {
  left: -5rem;
	top: -100rem;
  transform-origin: left bottom;
  transform: rotate(90deg);
}
.section .english-label.deco-rotate-top-left.add-line::after {
  border-left-width: 12rem;
	bottom: 16rem;
}
.section.bgc .english-label.deco-rotate-top-right {
	right: 30rem;
	top: -46rem;
}
.section.bgc .english-label.deco-rotate-top-left {
	left: -4rem;
	top: -70rem;
	transform-origin: left bottom;
	transform: rotate(90deg);
}
}



/*==============================================================
 deco 装飾
--------------------------------------------------------------*/
/* パンクズリストに記述してるアーカイブページの装飾非表示 */
.svg-circle-case {
  display: none;
}
/* パンクズリストに記述してる詳細ページの装飾非表示 */
.svg-circle-curve{
  display: none;
}
.reason-type1 .svg-exclamation {
  display: none;
}
.reason-type1 .english-label .title,
.reason-type3 .english-label .title {
  transform: rotate(90deg);
  left: -72rem;
  bottom: 78rem;
  font-size: 45rem;
}
.svg-circle svg {
  aspect-ratio: 1 / 1;
}
.top-sec1 .svg-circle {
  width: 200rem;
  bottom: -530rem;
  right: 70rem;
}
.cate-lower .svg-circle svg {
	width: 230rem;
}
.cate-lower .svg-circle {
  top: 400rem;
  left: -160rem;
}
@media screen and (min-width:769px) {
.reason-type1 .svg-exclamation {
  display: inline-block;
  width: 80rem;
}
.reason-type1 .english-label .title {
  transform: rotate(0deg);
  bottom: -4rem;
  left: 0;
  font-size: 90rem;
}

.top-sec1 .svg-circle {
	width: 600rem;
	bottom: -460rem;
	right: -210rem;
}
.cate-lower {
  margin-bottom: 80rem;
}
.cate-lower .svg-circle {
  top: -40rem;
  left: -220rem;
}
.cate-lower .svg-circle svg {
	width: 380rem;
}
}


@media screen and (min-width:1025px) {
.reason-type1 .svg-exclamation {
  width: 120rem;
}
.reason-type1 .english-label .title {
  font-size: 120rem;
}
.cate-lower {
  margin-bottom: 100rem;
}

.cate-lower .svg-circle {
  top: -40rem;
  left: -290rem;
}
.cate-lower .svg-circle svg {
	width: 500rem;
}
/* .reason-type1 .svg-exclamation {
  display: inline-block;
} */
}

/* deco 色々
--------------------------------------------------------------*/

.svg-square6x4 {
	width: 68rem;
}
.svg-trianglex4 {
	width: 156rem;
}
.svg-trianglex1 {
	width: 160rem;
}
.svg-arrow-left {
	width: 145rem;
}
.svg-exclamation-question {
	width: 300rem;
}
.deco-svg.svg-exclamation {
	position: relative;
}
.section .deco-dot {
	display: inline-block;
	position: absolute;
}
@media screen and (min-width:769px) {
.svg-square6x4 {
	width: 112rem;
}
.svg-trianglex4 {
	width: 335rem;
}
.svg-trianglex1 {
	width: 160rem;
}
.svg-arrow-left {
	width: 370rem;
}
.svg-exclamation-question {
	width: 300rem;
}
.deco-svg.svg-exclamation {
	position: relative;
}
.section .deco-dot {
	display: inline-block;
	position: absolute;
}
}

/* deco 色々 個別位置
--------------------------------------------------------------*/
#construction_Lower3-2 .svg-trianglex4 {
    top: -100rem;
    right: -110rem;
    z-index: 1;
}

/* deco 画像 選ばれる理由
--------------------------------------------------------------*/
.deco-bottom-right.img-box {
	position: absolute;
	bottom: 0;
	right: 0;
}
.reason-type1 .deco-bottom-right.img-box {
    width: 252rem;
    height: 210rem;
}
@media screen and (min-width:769px) {
.reason-type1 .deco-bottom-right.img-box {
    width: 400rem;
    height: 330rem;
}
}

@media screen and (min-width:1025px) {
.reason-type1 .deco-bottom-right.img-box {
	width: 600rem;
	height: 500rem;
}
}






/*==============================================================
flex-box
--------------------------------------------------------------*/
/* 左に画像のflex-box
-------------------------------*/
.section.flex_spaceL-0 {
	padding-top: 0;
	padding-bottom: 0;
}

.section.flex_spaceL-0 .container {
	padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width:769px) {
.section.flex_spaceL-0 .container {
	padding-left: 0;
  padding-right: 60rem;
}
}
@media screen and (min-width:1025px) {
.section.flex_spaceL-0 .container {
	padding-left: 0;
  padding-right: 80rem;
}
}

/* 特設ページ リンク
--------------------------------------------------------------*/
.section.link-special .container .flex-box {
  flex-direction: column;
	flex-wrap: wrap;
}
.section.link-special .container .flex-left,
.section.link-special .container .flex-right {
	flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}
.section.link-special .container .flex-left .img-box  {
  width: 100%;
}
.section.link-special .container .flex-right .content-title  {
  margin-top: 20rem;
}
.section.link-special .container .flex-right .button-round  {
  margin-bottom: 20rem;
}
@media screen and (min-width:769px) {
.section.link-special .container .flex-box {
  flex-direction: row;
	flex-wrap: nowrap;
}
.section.link-special .container .flex-left {
	flex: 1 1 auto;
}
.section.link-special .container .flex-left .img-box  {
  width: 53vw;
}
.section.link-special .container .flex-right {
  flex: 0 0 330rem;
}

}
@media screen and (min-width:1025px) {
.section.link-special .container .flex-right {
  flex: 0 0 580rem;
}

}


/* 右に画像のflex-box
-------------------------------*/
.section.flex_spaceR-0 {
	padding-top: 0;
	padding-bottom: 0;
}

.section.flex_spaceR-0 .container {
	padding-right: 0;
}

.section.flex_spaceR-0 .container .flex-left {
	flex: 660;
}

.section.flex_spaceR-0 .container .flex-right {
	flex: 640;
}

/* list-rectangle 長方形
--------------------------------------------------------------*/
.list-rectangle>li {
	border-radius: 25rem;
}
.flex-2.list-rectangle>li {
	width: 100%;
}
@media screen and (min-width:769px) {
.list-rectangle>li {
	border-radius: 50rem;
}
  .flex-2.list-rectangle>li {
    width: 50%;
  }
}

.flex-2.list-rectangle {
	width: 100%;
}



.list-rectangle>li {
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
}

.list-rectangle>li .text>li {
	margin-left: 0;
	line-height: 1.7;
	text-indent: -0.7em;
	letter-spacing: -0.2rem;
}

.list-rectangle>li .text>li::before {
	content: "- ";
}

.list-rectangle.li-last-right {
	justify-content: flex-end;
}


.list-rectangle>li.angle {
	border-radius: 0;
}

/* list-square 正方形
--------------------------------------------------------------*/
.flex-3.list-square>li {
	width: 240rem;
	height: 240rem;
}

.flex-box.flex-5.list-square {
	gap: 20rem;
}

.flex-5.list-square>li {
	width: 240rem;
	height: 240rem;
}

.list-square>li {
	display: flex;
	flex-direction: column;
	aspect-ratio: 1 / 1;
	padding: 20rem 20rem 25rem 28rem;
	border-radius: 50rem;
	overflow: hidden;
}

.list-square>li .title {
	font-size: 20rem;
	font-weight: 600;
}

.list-square>li .text {
	margin-top: 10rem;
	padding: 0 0 0 5rem;
}

.list-square>li .text>li {
	margin-left: 0;
	line-height: 1.7;
	text-indent: -0.7em;
	letter-spacing: -0.2rem;
}

.list-square>li .text>li::before {
	content: "- ";
}

.list-square.li-last-right {
	justify-content: flex-end;
}

/* list-squareやlist-rectangleの装飾
--------------------------------------------------------------*/
.circle-solba-green {
	overflow: hidden;
}

.circle-solba-green::before {
	content: "";
	width: 100rem;
	height: 100rem;
	border-radius: 50%;
	background: var(--solba-green);
	position: absolute;
	right: -40rem;
	top: -40rem;
}

/* list-kadomaru 楕円形 or 丸みを帯びた長方形
--------------------------------------------------------------*/

@media screen and (min-width:769px) {
.flex-3>li {
	max-width: 33.3%;
}
.flex-2>li {
	max-width: 50%;
}
}
.list-kadomaru li {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	justify-content: flex-start;
}

.list-kadomaru .title {
	display: flex;
  align-items: center;
  margin-bottom: 10rem;
	font-weight: 600;
	line-height: 1.2;
}

.flex-3.list-kadomaru {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/* list-circle
--------------------------------------------------------------*/
.flex-box.flex-3.list-circle .item,
.flex-box.flex-2.list-circle .item {
	display: flex;
	flex: 0 0 auto;
	aspect-ratio: 1 / 1;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	width: 250rem;
	border-radius: 50%;

}
.flex-box.flex-4.list-circle {
  flex-wrap: wrap;
  gap: 20rem;
}
.flex-box.flex-4.list-circle li {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  font-weight: 500;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  padding-top: 0.5em;
  width: 150rem;
  font-size: 16rem;
}
.flex-5.list-circle {
	max-width: 840rem;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (min-width:769px) {
.flex-box.flex-4.list-circle {
  flex-wrap: nowrap;
}
.flex-box.flex-4.list-circle li {
  width: 200rem;
  font-size: 18rem;
}
}
@media screen and (min-width:1025px) {
.flex-box.flex-4.list-circle li {
  width: 250rem;
  font-size: 22rem;
}
}

/* list-circle イメージ
--------------------------------------------------------------*/
.list-circle-img {
	justify-content: space-between;
	margin: 0 auto;
}

.flex-3.list-circle-img {
	width: 1040rem;
}

.flex-3.list-circle-img li {
	width: 320rem;
	height: 320rem;
}


/* list-division issue
--------------------------------------------------------------*/
#construction_Lower2-2 .content-inner {
	max-width: 1120rem;
}

.list-division.issue li:not(:last-child)::after {
	content: '';
	width: 2px;
	height: 80%;
	background: var(--black);
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.triangle.down {
	display: block;
	content: '';
	width: 0;
	height: 0;
	margin: 20rem auto 25rem;
	border-left: 18rem solid transparent;
	border-right: 18rem solid transparent;
	border-top: 15rem solid var(--solba-yellow);
}

.list-division.issue .issue-title {
	font-size: 28rem;
	font-weight: 700;
	text-align: center;
}

.list-division.issue .issue-text {
	font-size: 18rem;
	font-weight: 500;
	text-align: center;
}

/* list-award
--------------------------------------------------------------*/
.flex-box.flex-3.list-award {
	gap: 40rem 60rem;
}

.flex-box.flex-3.list-award li {
	display: flex;
	flex: 0 0 auto;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
	width: 340rem;
	height: 478rem;
	padding: 25rem 30rem 30rem;
	text-align: center;
	background: no-repeat url(../img/bgimg-award.png);
	background-size: 100%;
}

.award-title {
	margin-bottom: 10rem;
	font-size: 20rem;
	font-weight: 500;
	line-height: 1;
}

.award-img.img-box {
	width: 286rem;
	height: 140rem;
}

.award-label {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 65rem;
	padding-top: 3rem;
	font-size: 16rem;
	font-weight: 500;
	line-height: 1.5;
}

.award-meta {
	padding-top: 10rem;
	font-size: 14rem;
	font-weight: 500;
	border-top: 1px solid var(--black);
}

.list-award li .arrow.button-round {
	width: 200rem;
	height: 42rem;
	font-size: 18rem;
	position: absolute;
	left: 50%;
	bottom: 85rem;
	transform: translateX(-50%);
}

/* 導入事例 （ビジネスソリューション、設計ソリューション）
--------------------------------------------------------------*/
/* タイトル吹き出し */
.list-kadomaru .title.bubble {
  position: relative;
  justify-content: center;
	height: auto;
	padding: 12rem 0 10rem;
	margin-bottom: 30rem;
	border-radius: 80rem;
  width: 80%;
	max-width: 260rem;
}

.list-kadomaru .title.bubble::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15rem;
	border: 15rem solid transparent;
	border-top: 15rem solid;
}


/* コネクトライン 横 */
.list-kadomaru.beside-line li:not(:nth-child(3n))::after {
	content: "";
	position: absolute;
	bottom: 50%;
	z-index: 0;
}

.list-kadomaru.beside-line li:not(:last-child)::after {
	right: -42rem;
	width: 42rem;
}


/* コネクトライン 縦 */
.list-kadomaru.vertical-line li:not(:nth-last-child(-n+3))::before {
	content: "";
	position: absolute;
	left: 50%;
	z-index: 0;
}

.list-kadomaru.vertical-line li:not(:last-child)::before {
	bottom: -42rem;
	height: 42rem;
}


/*==============================================================
/* 実績紹介 ビジネスソリューション、設計ソリューション
--------------------------------------------------------------*/
.case-ex .list-kadomaru li {
  align-items: center;
  padding: 30rem 15rem;
  text-align: center;
	border-radius: 70rem;
}
.case-ex .list-kadomaru li .title {
	color: var(--white);
}

/*==============================================================
/* 関連事業
--------------------------------------------------------------*/
.related-nav .container {
  padding-left: 30rem;
  padding-right: 30rem;
}
.related-nav .flex-box {
	gap: unset;
  flex-direction: column;
  width: 100%;
  margin-top: 20rem;
}
.related-nav .flex-box .flex-left {
    flex: none;
    display: flex;
    justify-content: flex-start;
    width: 100%;
}
.related-nav .flex-box .flex-right {
    flex: none;
    display: flex;
    width: 100%;
    justify-content: flex-end;
}
.related-nav .content-title {
  position: relative;
	margin-bottom: 0;
	font-weight: 500;
	z-index: 0;
  padding-left: 40rem;
}
.related-nav .content-title::before {
	content: "";
	display: inline-block;
	border-radius: 50%;
  aspect-ratio: 1/1;
	position: absolute;
	left: 0;
	z-index: -1;
	width: 80rem;
  top: -30rem;
}
.related-nav .grid-box {
  gap: 10rem;
  width: 100%;
  grid-template-columns: repeat(1, 260rem);
  justify-content: flex-end;
  margin-top: 20rem;
  margin-right: 0;
}
.related-nav .grid-box .button-round {
  width: 100%;
}
.related-nav .arrow {
	color: var(--white);
	overflow: hidden;
}

@media screen and (min-width:769px) {
  .related-nav .flex-box {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 0;
  }
  .related-nav .flex-box .flex-left {
    flex: 1 1 0%;
  }
  .related-nav .flex-box .flex-right {
    flex: 0 0 67%;
  }
  .related-nav .content-title {
    padding-left: 80rem;
  }
  .related-nav .content-title::before {
    width: 160rem;
  	top: -60rem;
  }
  .related-nav .grid-box {
      grid-template-columns: repeat(2, 320rem);
      gap: 30rem;
      width: 100%;
      margin-top: 0;
      margin-right: auto;
  }
}
@media screen and (min-width:1025px) {
  .related-nav .container {
    padding-left: 80rem;
    padding-right: 80rem;
  }
  .related-nav .grid-box {
    grid-template-columns: repeat(2, 400rem);
  }
}
@media screen and (min-width:1280px) {
.related-nav .container {
  padding-left: 100rem;
  padding-right: 100rem;
}
}



/*==============================================================
/* FAQ よくある質問
--------------------------------------------------------------*/
.flex-box.qa-area {
  flex-direction: column;
	align-items: flex-start;
	gap: unset;
  min-width: 0;
}

.flex-box.qa-area .flex-left {
	flex: none;
  width: 100%;
}
.flex-box.qa-area .flex-right {
	flex: none;
  width: 100%;
}
.flex-box.qa-area .flex-left>.wrap {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  margin-bottom: 30rem;
}
.flex-box.qa-area .content-title {
  margin-left: 20rem;
}
.flex-box.qa-area .en-title {
	display: block;
	font-size: 58rem;
	line-height: 1;
}
.list-qa li {
	max-height: 57rem;
	margin-top: 20rem;
	border-style: none;
	border-top-right-radius: 20rem;
	border-bottom-right-radius: 20rem;
	overflow: hidden;
	transition: all 0.3s;
  font-size: 14rem;
}

.list-qa li:first-child {
	margin-top: 0;
}

.list-qa li .item {
  position: relative;
	display: flex;
	align-items: center;
	font-weight: 500;
	transition: all 0.3s;
}

.list-qa li .question {
	color: var(--white);
  line-height: 1.3;
	min-height: 57rem;
  padding: 0.3em 40rem 0 65rem;
}

.list-qa li .answer {
	visibility: hidden;
	border-top: none;
	border-bottom-right-radius: 20rem;
	display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  text-align: justify;
  line-height: 1.5;
  padding: 10rem 12rem 5rem 65rem;
}
.list-qa li .answer p {
  padding-bottom: 10rem;
}
.list-qa .item::before {
	content: "";
	display: inline-block;
	line-height: 1;
	position: absolute;
	font-family: "Inter", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	color: var(--text-black);
}

.list-qa .question::before {
	content: "Q";
	color: var(--white);
  font-size: 72rem;
  left: -3rem;
  top: -10rem;
}

.list-qa .answer::before {
	content: "A";
  font-size: 82rem;
  left: -1rem;
  top: -12rem;
}

.list-qa i {
	position: absolute;
	right: 30rem;
  top: 50%;
}

.list-qa i::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 15rem;
	height: 1px;
	background-color: var(--white);
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	transition: .2s;
}

.list-qa i::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 15rem;
	height: 1px;
	background-color: var(--white);
	transition: .3s;
}
@media screen and (min-width:769px) {
.flex-box.qa-area {
  flex-direction: row;
	align-items: flex-start;
  flex-wrap: nowrap;
	gap: 0 20rem;
}
.flex-box.qa-area .flex-left {
	flex: 0 1 320rem;
  min-width: 0;
}
.flex-box.qa-area .flex-right {
	flex: 0 1 920rem;
  min-width: 0;
}
.flex-box.qa-area .flex-left>.wrap {
  flex-direction: column;
  justify-self: flex-start;
  align-items: flex-start;
  margin-bottom: 0;
}
.flex-box.qa-area .en-title {
  font-size: 100rem;
}
.flex-box.qa-area .content-title {
  margin-left: 0;
  font-size: 34rem;
}
.list-qa li {
  max-height: 79rem;
  margin-top: 40rem;
  border-top-right-radius: 40rem;
  border-bottom-right-radius: 40rem;
  font-size: 18rem;
}
.list-qa li .question {
  min-height: 79rem;
  padding: 12rem 70rem 8rem 100rem;
}
.list-qa .question::before {
	font-size: 100rem;
	left: -5rem;
	top: -14rem;
}
.list-qa li .answer {
	border-bottom-right-radius: 40rem;
	padding: 12rem 20rem 8rem 100rem;
}
.list-qa li .answer:before {
  font-size: 113rem;
  left: -1rem;
  top: -15rem;
}
.list-qa i {
  right: 60rem;
}
.list-qa i::before {
	width: 30rem;
}
.list-qa i::after {
	width: 30rem;
}
}
@media screen and (min-width:1025px) {
.flex-box.qa-area .en-title {
  font-size: 120rem;
}
.flex-box.qa-area .content-title {
  font-size: 40rem;
}
}


/* FAQ よくある質問 アコーディオンopen時 */
.list-qa li.open {
  max-height: max-content;
}
.list-qa li.open .answer {
	visibility: visible;
	min-height: 79rem;
	transition: all 0.3s;
}
.list-qa .open i:before {
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}
.list-qa .open i:after {
	background-color: transparent;
}

/* よくある質問　table */
.list-qa .qa-table1 th,
.list-qa .qa-table1 td {
  border: 1px solid var(--text-black);
  padding: 12rem 16rem;
  font-size: 14rem;
  vertical-align: middle;
}
.list-qa .qa-table1 th {
  background: var(--solba-yellow);
  color: var(--white);
  text-shadow: 0px 0px 7px rgb(237 157 34);
  font-size: 15rem;
}
.list-qa .bold th {
  font-weight: 600;
}
.list-qa .medium th,
.list-qa .medium td {
  font-weight: 500;
}
/* 文字サイズ */
.list-qa h4 {
  font-size: 16rem;
}
.list-qa {
  font-size: 16rem;
}
.list-qa .f16 {
  font-size: 14rem;
}
.list-qa .f14 {
  font-size: 14rem;
}
@media screen and (min-width:769px) {
.list-qa h4 {
  font-size: 18rem;
}
.list-qa {
  font-size: 18rem;
}
.list-qa .f16 {
  font-size: 16rem;
}
.list-qa .f14 {
  font-size: 14rem;
}
}

/**************************************************************
.mv-area .bg-img
**************************************************************/
.mv-area .img-box.img.bg-img {
  position: relative;
  width: 100vw;
  top: 30rem;
}
@media screen and (min-width:769px) {
.mv-area .img-box.img.bg-img {
  position: absolute;
	width: 540rem;
}
.cate-top .mv-area .img-box.img.bg-img {
  top: 10rem;
}
.cate-lower .mv-area .img-box.img.bg-img {
  top: -40rem;
}
}
@media screen and (min-width:1025px) {
.mv-area .img-box.img.bg-img {
	width: 800rem;
}
.cate-top .mv-area .img-box.img.bg-img {
  top: 10rem;
}
.cate-lower .mv-area .img-box.img.bg-img {
  top: -60rem;
}
}

/* ブラウザ幅無関係 */
.mv-area .img-box.img.bg-img {
	right: 0;
	height: auto;
	z-index: 0;
}

/**************************************************************
.cate-top
**************************************************************/
.cate-top {
  height: 480rem;
  margin-top: 110rem;
}
.cate-top.page-c3 {
	height: 530rem;
}
.cate-top.page-c4,
.cate-top.page-c5 {
	height: 410rem;
}
.cate-top::before {
    width: 550rem;
    top: -320rem;
    left: -200rem;
}
@media screen and (min-width:601px) {
.cate-top,
.cate-top.page-c3,
.cate-top.page-c4,
.cate-top.page-c5 {
  margin-top: 100rem;
}

}
@media screen and (min-width:769px) {
.cate-top.page-c4,
.cate-top.page-c5 {
	height: 470rem;
  margin-top: 100rem;
}
.cate-top,
.cate-top.page-c3{
  height: 580rem;
  margin-top: 100rem;
}
.cate-top::before {
  width: 1000rem;
  top: -550rem;
  left: -200rem;
}

}

@media screen and (min-width:1025px) {
.cate-top.page-c4,
.cate-top.page-c5 {
	height: 610rem;
}
.cate-top,
.cate-top.page-c3{
    height: 760rem;
}
.cate-top::before {
	width: 1350rem;
	top: -710rem;
  left: -200rem;
}
}

/* ブラウザ幅無関係 */
.cate-top::before {
	content: "";
	position: absolute;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}


/**************************************************************
.cate-top .mv-area
**************************************************************/
.cate-top .mv-area .title-area {
	z-index: 1;
}
.cate-top .mv-area .cate-title.en {
	color: var(--white);
	line-height: 1;
	position: relative;
	margin-top: -80rem;
  font-size: 16rem;
}
.cate-top .mv-area .cate-title::after {
	content: "";
	border-bottom: 1px solid var(--white);
	position: absolute;
	bottom: 0;
    width: calc(100vw - 140rem);
    left: 140rem;
}
.cate-top .mv-area .page-title.jp {
	display: inline-block;
	padding: 4rem 10rem 0;
	border-radius: 5rem;
	font-weight: 500;
	line-height: 1.3;
	background: var(--white);
	margin: 20rem 0 20rem;
	font-size: 18rem;
}
.cate-top .mv-area .page-title.en {
	display: block;
	color: var(--white);
	font-weight: 600;
	line-height: 1.05;
	font-size: 50rem;
}


@media screen and (min-width:769px) {
.cate-top .mv-area .cate-title.en {
	margin-top: -60rem;
	font-size: 24rem;
}
.cate-top .mv-area .page-title.jp {
  margin: 20rem 0 15rem;
	font-size: 22rem;
}
.cate-top .mv-area .cate-title::after {
  width: calc(100vw - 210rem);
  left: 210rem;
}
.cate-top .mv-area .page-title.en {
	font-size: 88rem;
}
}

@media screen and (min-width:1025px) {
.cate-top .mv-area .cate-title.en {
	margin-top: -50rem;
	font-size: 30rem;
}
.cate-top .mv-area .page-title.jp {
	margin: 30rem 0 20rem;
	font-size: 32rem;
}
.cate-top .mv-area .cate-title::after {
	width: calc(100vw - 260rem);
	left: 260rem;
}
.cate-top .mv-area .page-title.en {
	font-size: 130rem;
}


}





/**************************************************************
.cate-lower
**************************************************************/

/* container
--------------------------------------------------------------*/
.top-sec1 .container {
    padding-left: 35rem;
    padding-right: 20rem;
}
.top-sec1 .content-text {
  text-align: justify;
}

.cate-lower .white-frame {
  position: relative;
	margin: 50rem 0 0 0;
  text-align: justify;
  background :none;
}
.white-frame > .content-text.f20 {
  font-size: 16rem;
  text-align: justify;
}
@media screen and (min-width:769px) {
.top-sec1 .container {
    padding-left: 100rem;
    padding-right: 60rem;
}
.top-sec1 .content-title {
  margin-bottom: 20rem;
}
  .cate-lower .white-frame {
	margin-top: 0;
	padding: 40rem 50rem;
	border-radius: 40rem;
  background: var(--white);
}
.white-frame >.content-text.f20 {
  font-size: 18rem;
}
}

@media screen and (min-width:1025px) {
.top-sec1 .container {
    padding-left: 150rem;
}
.cate-lower .white-frame {
	padding: 70rem 80rem;
	border-radius: 40rem;
}
.white-frame > .content-text.f20 {
  font-size: 20rem;
}

}
.mv-area .read-area {
  position: relative;
}
.section.cate-lower,
.section.archive-page,
.section.single-page {
  margin-top: 50rem;
}
.cate-lower {
  z-index: 0;
}
.cate-lower .title-area {
  height: fit-content;
}
.cate-lower .title-block {
  width: 100%;
	min-width: unset;
  margin-top: 20rem;
	margin-bottom: 20rem;
  padding: 10rem 20rem 7rem;
}
.cate-lower .page-title.jp {
	font-size: 25rem;
}
.cate-lower .page-title.en {
	font-size: 14rem;
}
.cate-lower .page-text {
    font-size: 21rem;
    text-align: center;
}
.cate-lower .page-text .f18 {
  margin-top: 5rem;
    font-size: 14rem;
}

@media screen and (min-width:601px) {
.section.cate-lower,
.section.archive-page,
.section.single-page {
    margin-top: 40rem;
}
}
@media screen and (min-width:769px) {
.cate-lower::before,
.archive-page::before,
.single-page::before {
	height: 200rem;
}
.section.cate-lower,
.section.archive-page,
.section.single-page {
  margin-top: 70rem;
}
.cate-lower .title-area {
  min-height: 130rem;
	margin-top: 40rem;
  margin-bottom: 40rem;
}
.cate-lower .title-block {
  width: unset;
  min-width: 320rem;
	padding: 10rem 20rem 7rem;
}
.cate-lower .page-text {
    font-size: 25rem;
    text-align: left;
}
.cate-lower .page-text .f18 {
    font-size: 16rem;
}
.archive-page+.section {
	margin-top: -120rem;
  margin-bottom: 80rem;
}

}

@media screen and (min-width:1025px) {
.cate-lower::before,
.archive-page::before,
.single-page::before {
	height: 200rem;
}
.section.cate-lower,
.section.archive-page,
.section.single-page {
	margin-top: 120rem;
}
.cate-lower .title-area {
  min-height: 250rem;
	margin-top: 60rem;
  margin-bottom: 40rem;
}
.cate-lower .title-block {
  width: unset;
  min-width: 400rem;
	padding: 10rem 40rem 7rem;
}
.cate-lower .page-title.jp {
	font-size: 32rem;
}
.cate-lower .page-title.en {
	font-size: 16rem;
}
.cate-lower .page-text {
    font-size: 36rem;
    text-align: left;
}
.cate-lower .page-text .f18 {
    font-size: 18rem;
}
.archive-page+.section {
	margin-top: -120rem;
}

}




.cate-lower::before,
.archive-page::before,
.single-page::before {
	content: "";
	position: absolute;
	width: 100%;
	left: 0;
    height: 200rem;
    top: -200rem;
}
.cate-lower .title-area {
  height: fit-content;
}
.cate-lower .title-block {
	flex-direction: column;
	text-align: center;
	border-radius: 50rem;
}
.cate-lower .page-title.jp {
	margin: 0;
	padding: 0 0 5rem;
	color: var(--white);
	font-weight: 600;
	line-height: 1;
	background: none;
}

.cate-lower .page-title.en {
	color: var(--white);
	font-weight: 500;
	line-height: 1;
}

.cate-lower .page-text {
	font-weight: 500;
  line-height: 1.4;
}

.cate-lower .mv-area .bg-img {
	position: absolute;
	right: 0;
	height: auto;
	z-index: 0;
}








/* .cate-top nav
-------------------------------*/
.cate-top nav {
	position: absolute;
	display: block;
	width: 100%;
	max-width: 1280rem;
	bottom: 0;
	right: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.cate-top nav .grid-box {
	margin-right: 0;
  margin-left: 30rem;
	column-gap: 0;
	border-right: 1px solid var(--black);
  border-top-left-radius: 30rem;
  border-bottom-left-radius: 30rem;
  display: flex;
  flex-wrap: nowrap;
}

.cate-top nav .grid-box li {
	place-content: center;
	text-align: center;
	border: 1px solid var(--black);
	border-right: 0;
	pointer-events: painted;
  font-size: 14rem;
  flex: 0 0 auto;
  white-space: nowrap;
	width: fit-content;
	height: 40rem;
  padding: 2rem 20rem 0

}
.cate-top nav .grid-box li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}
.cate-top nav .grid-box li:first-child {
	border-top-left-radius: 30rem;
	border-bottom-left-radius: 30rem;
}

.cate-top nav .grid-box li .nav-title {
	color: var(--white);
}

@media screen and (min-width:769px) {
.cate-top nav {
	max-width: 960rem;
  overflow-x: unset;
  -webkit-overflow-scrolling: unset;
  scrollbar-width: unset;
  -ms-overflow-style: unset;
}
.cate-top nav .grid-box {
  display: grid;
	margin-right: 0;
  margin-left: 0;
	column-gap: 0;
  max-width: inherit;
}
.cate-top.page-c0 nav .grid-box {
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c1 nav .grid-box {
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c2 nav .grid-box {
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c3 nav .grid-box {
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c4 nav .grid-box {
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top nav .grid-box li {
	width: 100%;
	height: 50rem;
	place-content: center;
	text-align: center;
	border: 1px solid var(--black);
	border-right: 0;
	pointer-events: painted;
  font-size: 14rem;
}
}
@media screen and (min-width:1025px) {
.cate-top nav {
  max-width: 1270rem;
}
.cate-top.page-c0 nav .grid-box {
	max-width: 1270rem;
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c1 nav .grid-box {
	max-width: 1270rem;
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c2 nav .grid-box {
	max-width: 1270rem;
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c3 nav .grid-box {
	max-width: 1270rem;
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top.page-c4 nav .grid-box {
	max-width: 1270rem;
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
}
.cate-top nav .grid-box li {
  height: 60rem;
  font-size: 18rem;
}
}


/* swiper
--------------------------------------------------------------*/
.slide01, .slide02 {
  position: relative;
}
.swiper+.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: var(--swiper-pagination-bottom, -30px);
}

.swiper+.swiper-pagination .swiper-pagination-bullet {
	width: 14px;
	height: 14px;
	background: var(--white);
	opacity: 1;
	margin: 0 10px !important;
}

.swiper+.swiper-pagination .swiper-pagination-bullet-active {
	background: var(--solba-yellow);
	transform: scale(1.2);
	/* 少し大きく */
	transition: all 0.3s;
}

/* line-height
---------------*/
.text.address {
	line-height: 1.5;
}

/* 共通
--------------------------------------------------------------*/
.ul-width-780 {
	max-width: 780rem;
}
.w760 {
	width: 760rem;
  width: 53vw;
}
.identity .english-label.title {
  position: unset;
  font-size: 22rem;
}
.identity .logo-area {
	width: 55%;
	max-width: 620rem;
}
.identity .text::before {
	content: "";
	display: block;
	width: 100%;
	margin-top: 40rem;
	margin-bottom: 30rem;
	border-bottom: 1px solid var(--black);
}
@media screen and (min-width:769px) {
.identity .english-label.title {
  position: unset;
  font-size: 50rem;
  margin-bottom: 80rem;
}
.identity .text::before {
	width: 80vw;
	margin-top: 100rem;
	margin-bottom: 30rem;
}

}






/*==============================================================
 padding0 ※上書きされないように最後に書いてます。
--------------------------------------------------------------*/
.container.paddingL-0 {
  padding-left: 0;
}
.container.paddingR-0 {
  padding-right: 0;
}
.container.paddingLR-0 {
  padding-left: 0;
  padding-right: 0;
}
