@charset "utf-8";
/* CSS Document */
.box_750 {
	width: 92%;
	max-width: 750px;
	margin: 0 auto;
}
.box_900 {
	width: 92%;
	max-width: 900px;
	margin: 0 auto;
}
.box_1100 {
	width: 92%;
	max-width: 1100px;
	margin: 0 auto;
}
.box_1400 {
	width: 92%;
	max-width: 1400px;
	margin: 0 auto;
}
.align-c {
	text-align: center;
}
.align-r {
	text-align: right;
}
.orange {
	color: #ff9019;	
}
.block {
	display: block;
}
.bold {
	font-weight: bold;
}
.fs-14 {
	font-size: 14px;
}
.fs-16 {
	font-size: 16px;
}
.fs-18 {
	font-size: 18px;
}
.fs-20 {
	font-size: 20px;
}
.fs-22 {
	font-size: 22px;
}
.fs-24 {
	font-size: 24px;
}
.fs-27 {
	font-size: 27px;
}
.fs-28 {
	font-size: 28px;
}
.fs-30 {
	font-size: 30px;
}
.fs-34 {
	font-size: 34px;
}
.fs-40 {
	font-size: 40px;
}
.fs-42 {
	font-size: 42px;
}
.fs-48 {
	font-size: 48px;
}
@media screen and (min-width:1100px) {
	.only_sp1100 {
		display: none;
	}
}

@media screen and (min-width:768px) {
	.only_sp767 {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.only_pc768 {
		display: none;
	}
	.fs-14 {
		font-size: 3.6vw;
	}
	.fs-16 {
		font-size: 3.8vw;
	}
	.fs-18 {
		font-size: 4vw;
	}
	.fs-20 {
		font-size: 4vw;
	}
	.fs-22 {
		font-size: 4.2vw;
	}
	.fs-24 {
		font-size: 4.5vw;
	}
	.fs-27 {
		font-size: 4.9vw;
	}
	
	.fs-28 {
		font-size: 5vw;
	}
	.fs-30 {
		font-size: 5.2vw;
	}
	.fs-34 {
		font-size: 5.6vw;
	}
	.fs-40 {
		font-size: 6vw;
	}
	.fs-42 {
		font-size: 6.4vw;
	}
	.fs-48 {
		font-size: 6.6vw;
	}
	
	
}

.fvSlider {
	width: 100%;
	max-width: 1840px;
	margin: 0 auto;
}
.fvSlider article {
	width: 100%;
	height: 748px;
	position: relative;
	border-radius: 50px;
	overflow: hidden;
	margin: 0 15px;
}
@media screen and (min-width: 1921px) {
	.sec_fv {
		width: 100%;
		max-width: 1840px;
		padding: 0;
		margin: 0 auto;
		position: relative;
	}
	.fvSlider article {
		width: 1840px;
		height: 748px;
	}
}
@media screen and (max-width: 1920px) {
	.sec_fv {
		width: 100%;
		padding: 0 40px;
		margin: 0 auto;
		position: relative;
	}
	.fvSlider article {
		width: calc(100vw - 80px);
		height: 748px;
		position: relative;
	}
}
.fvSlider article .bg {
	width: 100%;
	height: 100%;
}
.fvSlider article > .text {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.fvSlider article > .text > .left {
	position: absolute;
	left: 70px;
	bottom: 30px;
	width: calc(100% - 100px);
}
.fvSlider article > .text > .left h2 {
	font-size: 78px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
	color: #FFF;
	margin-bottom: 0.2em;
}
.fvSlider article > .text > .left > p {
	font-size: 24px;
	line-height: 1.6;
	color: #FFF;
	max-width: calc(100% - 480px);
}
.fvSlider article > .text > .left .tags {
	text-align: left;
	padding-top: 15px;
}
.fvSlider article > .text > .left .tags .tag {
	display: inline-block;
}
.fvSlider article > .text > .left .tags .tag p {
	font-size: 16px;
	color: #FFF;
	line-height: 38px;
	height: 38px;
	background-color: #000;
	padding: 0 1em;
	border-radius: 999px;
}
.fvSlider article > .text > .right {
	position: absolute;
	right: 30px;
	bottom: 30px;
}
.fvSlider article > .text > .right .bnr {
	background-color: #ff9019;
	display: block;
	width: 450px;
	height: 100px;
	border-radius: 30px;
}
.fvSlider article > .text > .right .bnr .text {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	transform: translateY(-50%);
}
.fvSlider article > .text > .right .bnr .text .big {
	font-size: 20px;
	font-weight: 800;
	color: #FFF;
	text-align: center;
	margin-bottom: 0.6em;
}
.fvSlider article > .text > .right .bnr .text .small {
	font-size: 16px;
	color: #FFF;
	text-align: center;
}
.sec_fv .slick-dots {
	bottom: -35px;
}
.sec_fv .slick-dots li {
  position: relative;
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 15px;
}
.sec_fv .slick-dots li button {
  width: 15px;
  height: 15px;
    background-color: #e9e9e9;
  border-radius: 50%;
	display: table-cell;
}
.sec_fv .slick-dots li.slick-active button {
  background-color: #bcbcbc;
}
.sec_fv .slick-dotted.slick-slider {
  margin-bottom: 45px;
}
.sec_fv .caution {
	position: absolute;
	right: 40px;
	bottom: 0;
	transform: translateY(120%);
}
.sec_fv .caution p {
	line-height: 1.5;
}
@media screen and (max-width: 1300px) {
	.fvSlider article > .text > .left {
	  position: absolute;
	  left: 40px;
	  bottom: 30px;
	  width: calc(100% - 70px);
	}
	.fvSlider article > .text > .left h2 {
	  font-size: 50px;
	  font-weight: 900;
	  line-height: 1.2;
	  color: #FFF;
	  margin-bottom: 0.2em;
	}
	.fvSlider article > .text > .left > p {
	  font-size: 20px;
	  line-height: 1.6;
	  color: #FFF;
	  max-width: calc(100% - 480px);
	}	
}
@media screen and (max-width: 1100px) {
 .fvSlider article > .text > .left {
    position: absolute;
    left: 70px;
    bottom: auto;
	 top: 70px;
    width: calc(100% - 70px);
  }
}
@media screen and (max-width: 767px) {
	.sec_fv {
	  width: 100%;
	  padding: 0 4vw;
		position: relative;
	}
	.sec_fv .caution {
		position: static;
		transform: translateY(0);
	}
	.sec_fv .caution p.align-r {
		text-align: center;
	}
  .fvSlider article {
    width: 92vw;
    height: 140vw;
    position: relative;
	  border-radius: 6vw;
  }	
  .fvSlider article picture {
	  display: block;
	}
  .fvSlider article picture img {
	  width: 100%;
	  height: auto;
	}
 .fvSlider article > .text > .left {
    position: absolute;
    left: 3.8vw;
    bottom: auto;
    top: 14.6vw;
    width: 84vw;
  }	
  .fvSlider article > .text > .left > p {
    font-size: 3.8vw;
    max-width: 100%;
  }	
	.fvSlider article > .text > .left .tags {
	  padding-top: 4vw;
	}	
	.fvSlider article > .text > .left .tags .tag p {
	  font-size: 3.2vw;
	  line-height: 6.6vw;
	  height: 6.6vw;
	}
	.fvSlider article > .text > .right {
	  position: absolute;
	  right: 4vw;
	  bottom: 6vw;
	}	
	.fvSlider article > .text > .right .bnr {
	  width: 84vw;
	  height: 16vw;
	  border-radius: 4vw;
	}	
	.fvSlider article > .text > .right .bnr .text .big {
		font-size: 4vw;
	}
	.fvSlider article > .text > .right .bnr .text .small {
		font-size: 3.2vw;
	}
	.sec_fv .slick-dotted.slick-slider {
	  margin-bottom: 10vw;
	}	
	.sec_fv .slick-dots {
	  bottom: -6vw;
	}	
	.sec_fv .slick-dots li {
	  position: relative;
	  display: inline-block;
	  width: 3vw;
	  height: 3vw;
	  margin: 0 3vw;
	}
	.sec_fv .slick-dots li button {
	  width: 3vw;
	  height: 3vw;
	  background-color: #e9e9e9;
	  border-radius: 50%;
	  display: table-cell;
	}
  .fvSlider article > .text > .left h2 {
    font-size: 50px;
  }	
  .fvSlider article > .text > .left h2 {
    font-size: 10vw;
  }	
}


.sec_problem {
	padding-bottom: 100px;
}
.sec_problem .secHead {
	position: relative;
	top: 30px;
	z-index: 2;
}
.sec_problem .secBody {
	padding-left: 200px;
	position: relative;
	z-index: 1;
}
.sec_problem .secBody .textBox {
	background-color: #f0f1f2;
	padding: 75px 40px 70px 140px;
	border-radius: 50px;
}
.sec_problem .secBody::before {
	content: "";
	display: table-cell;
	background: center / 100% auto url("../img/home/problem_01.png") no-repeat;
	width: 256px;
	height: 218px;
	position: absolute;
	left: 30px;
	bottom: 45px;
}
.secHead .text_en {
	font-size: 24px;
	color: #8e8e8e;
	margin-bottom: 0.2em;
}
.secHead .text_jp {
	font-size: 48px;
	font-weight: bold;
	line-height: 1.35;
}
.secHead .text_jp .block {
	line-height: inherit;
}
.dotList {
	padding-left: 2rem;
}
.dotList li {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	list-style: disc outside;
	margin-bottom: 1em;
}
.sec_problem .dotList li {
	font-size: 20px;
	font-weight: 600;
}
.dotList li:nth-last-child(1) {
	margin-bottom: 0;
}

@media screen and (max-width: 1100px) {
	.sec_problem .secHead {
	  position: static;
		margin-bottom: 30px;
	}
	.sec_problem .secBody {
	  padding-left: 0;
	}
	.sec_problem .secBody .textBox {
	  padding: 70px 40px 200px;
	  border-radius: 30px;
	}	
	.sec_problem .secBody .textBox .dotList {
		width: 100%;
		margin: 0 auto;
	}
	.sec_problem .secBody::before {
	  content: "";
	  display: table-cell;
	  background: center / 100% auto url("../img/home/problem_01.png") no-repeat;
	  width: 256px;
	  height: 218px;
	  position: absolute;
	  left: auto;
		right: 60px;
	  bottom: -45px;
	}	
}
@media screen and (max-width: 767px) {
  .sec_problem .secHead {
    position: static;
    margin-bottom: 4vw;
	  padding-top: 4vw;
  }	
	.secHead .text_en {
		font-size: 4.3vw;
	}
	.secHead .text_jp {
		font-size: 6.4vw;
		letter-spacing: 0;
	}
  .sec_problem .secBody .textBox {
    padding: 5vw 4vw 22.6vw;
    border-radius: 6.6vw;
  }	
  .sec_problem .secBody .textBox .dotList {
    width: 100%;
    margin: 0 auto;
  }	
	.dotList li {
		font-size: 4vw;
	}
	.sec_problem .secBody::before {
		width: 34vw;
		height: 29vw;
		right: 5vw;
		bottom: -8vw;
	}	
	.sec_problem {
	  padding-bottom: 13vw;
	}
	.sec_mensetsu .secHead {
	  margin-bottom: 4vw;
	}	
	
}

.sec_mensetsu .secIn {
	padding: 85px 0;
}
.sec_mensetsu .secHead {
	margin-bottom: 40px;
}
.sec_mensetsu .lrBox {
	display: table;
	width: 100%;
	margin-bottom: 80px;
}
.sec_mensetsu .lrBox > div {
	display: table-cell;
	vertical-align: top;
}
.sec_mensetsu .lrBox > div.left {
	width: 50%;
	max-width: 530px;
	position: relative;
	padding-right: 20px;
}
.sec_mensetsu .lrBox > div.left p {
	line-height: 1.6;
	margin-bottom: 1em;
}
.sec_mensetsu .lrBox > div.left .img img {
	border-radius: 50px;
}
.sec_mensetsu .lrBox > div.left::before {
	content: "";
	display: table-cell;
	background: center / 100% auto url("../img/lr_arrow.png") no-repeat;
	width: 65px;
	height: 64px;
	position: absolute;
	right: 45px;
	bottom: 105px;
}

.sec_mensetsu .lrBox > div.right {
	position: relative;
}
.sec_mensetsu .lrBox > div.right .img {
	border-radius: 50px;
	overflow: hidden;
}
.sec_mensetsu .lrBox > div.right::before {
	content: "";
	display: table-cell;
	background: center / cover url("../img/home/mensetsu_art01.png") no-repeat;
	width: 198px;
	height: 105px;
	position: absolute;
	left: -118px;
	bottom: -38px;
}
.sec_mensetsu .bottom .t01 {
	background-color: #FFF;
	width: 900px;
	margin: 0 auto;
	text-align: center;
	border-radius: 40px;
	position: relative;
	line-height: 80px;
	height: 80px;
	margin-bottom: 15px;
	letter-spacing: 0;
}
.sec_mensetsu .bottom .t01 .text {
	text-align: center;
	padding-right: 30px;
}
.sec_mensetsu .bottom .t01::after {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/mensetsu_art02.png") no-repeat;
	width: 100px;
	height: 110px;
	right: 15px;
	bottom: -4px;
	position: absolute;
}
.bgp01 {
	position: relative;
}
.bgp01 .secIn {
	position: relative;
}
.bgp01 .bgs {
	display: block;
	width: 1840px;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	background: left top / 22px auto url("../img/bgp01.jpg") repeat;
	border-radius: 50px;
	transform: translateX(-50%);
}
.bgp02 {
	position: relative;
}
.bgp02 .secIn {
	position: relative;
}
.bgp02 .bgs {
	display: block;
	width: 1840px;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	background: left top / 22px auto url("../img/bgp02.jpg") repeat;
	border-radius: 50px;
	transform: translateX(-50%);
}
.sec_mensetsu.box_1100 {
  width: calc(100vw - 160px);
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1920px) {
	.bgp01 .bgs,
	.bgp02 .bgs	{
		width: calc(100vw - 80px);
	}
}
@media screen and (max-width: 1200px) {
	.sec_mensetsu .lrBox {
	  display: block;
	  width: 100%;
		max-width: 690px;
		margin: 0 auto 80px;
	}	
	.sec_mensetsu .lrBox > div {
	  display: block;
	  vertical-align: top;
	}
	.sec_mensetsu .lrBox > div.left {
	  width: 100%;
	  max-width: 100%;
	  padding-right: 0;
		padding-bottom: 450px;
		background: center bottom / 100% auto url("../img/home/mensetsu_sp.png") no-repeat;
	}	
	.sec_mensetsu .lrBox > div.left::before,
	.sec_mensetsu .lrBox > div.left .img,
	.sec_mensetsu .lrBox > div.right
	{
		display: none;
	}
	.sec_mensetsu .bottom .t01 {
	  width: 100%;
	  text-align: center;
	  border-radius: 40px;
	  position: relative;
	  line-height: 1.3;
	  height: auto;
	  margin-bottom: 15px;
		padding: 6px 0;
	}
	.sec_mensetsu .bottom .t01 .text {
	  text-align: left;
	  padding-right: 30px;
	}	
}
@media screen and (max-width: 767px) {
	.bgp01 .bgs,
	.bgp02 .bgs	{
		width: 92vw;
		border-radius: 6vw;
	}
	.sec_mensetsu.box_1100 {
	  width: 84vw;
	}
	.sec_mensetsu .secIn {
	  padding: 9vw 0;
	}
	.sec_mensetsu .lrBox > div.left {
	padding-bottom: 54vw;
	background: center bottom / 100% auto url("../img/home/mensetsu_sp.png") no-repeat;
	}	
	.sec_mensetsu .lrBox {
	max-width: 100%;
	margin: 0 auto 6vw;
	}	
	.sec_mensetsu .bottom .t01 {
	border-radius: 6vw;
	height: auto;
	margin-bottom: 4vw;
	padding: 0;
	}	
	.sec_mensetsu .bottom .t01 .text {
	text-align: left;
	padding-right: 0;
	  display: block;
	  line-height: 1.2;
	  padding: 2vw 4vw;
	}	
	.sec_mensetsu .bottom .t01::after {
	  width: 15.6vw;
	  height: 17.2vw;
	  right: 3vw;
	  bottom: -2vw;
	}	
	.sec_mensetsu .bottom .t02 {
		font-size: 3.8vw;
		text-align: left;
		line-height: 1.875;
	}	
}
.sec_ba .secHead {
	margin-bottom: 45px;
}
.sec_ba .secIn {
	padding: 90px 0;
}
.sec_ba .secIn .secHead h2 {
	margin-bottom: 45px;
}
.sec_ba .secIn .secHead p {
	line-height: 1.875;
}
.sec_ba .secIn .secHead p.t01 {
	margin-bottom: 20px;
}
.lrBox {
	position: relative;
	margin-bottom: 110px;
}
.sec_ba .secBody > div:nth-child(4) {
	margin-bottom: 60px;
}
.lrBox .imgBox {
	width: 100%;
	display: table;
	border-radius: 50px;
	overflow: hidden;
	margin-bottom: 25px;
}
.lrBox .imgBox > div {
	display: table-cell;
	width: 50%;
	position: relative;
}
.lrBox .imgBox > div img {
	width: 100%;
	height: auto;
}
.lrBox .imgBox > div.left {
	border-right: 1px solid #FFF;
}
.lrBox .imgBox > div.left::before {
	content: "Before";
	font-size: 16px;
	display: table-cell;
	width: 80px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	vertical-align: middle;
	color: #FFF;
	background-color: #000;
	position: absolute;
	top: 30px;
	left: 30px;
}
.lrBox .imgBox > div.left::after {
	content: "";
	display: table-cell;
	width: 40px;
	height: 40px;
	background: center / contain url("../img/lr_arrow.png") no-repeat;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateX(50%) translateY(-50%);
	z-index: 2;
}
.lrBox .imgBox > div.right::before {
	content: "After";
	font-size: 16px;
	display: table-cell;
	width: 80px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	vertical-align: middle;
	color: #ff9019;
	background-color: #FFF;
	position: absolute;
	top: 30px;
	right: 30px;
}
.lrBox .bottomBox {
	display: table;
	width: 100%;
	position: relative;
}
.lrBox .bottomBox > div {
	display: table-cell;
	width: 50%;
	vertical-align: top;
}
.lrBox .bottomBox .infoBox {
	padding-right: 20px;
}
.lrBox .bottomBox .infoBox .tags {
	padding: 12px 0;
}
.lrBox .bottomBox .infoBox .tags ul {
	font-size: 0;
}
.lrBox .bottomBox .infoBox .tags ul li {
	display: inline-block;
	font-size: 16px;
	font-weight: 500;
}
.lrBox .bottomBox .infoBox .tags ul li::after {
	content: "／";
	padding: 0 0.5em;
}
.lrBox .bottomBox .infoBox .tags ul li:nth-last-child(1)::after {
	display: none;
}
.lrBox .bottomBox table {
	width: 100%;
}
.lrBox .bottomBox table th {
	width: 25%;
	font-size: 16px;
	font-weight: bold;
	line-height: 2em;
	height: 2em;
	text-align: center;
	vertical-align: middle;
	background-color: #b8b8b8;
	color: #FFF;
	border-right: 2px solid #f0f1f2;
}
.lrBox .bottomBox table td {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
	background-color: #FFF;
	line-height: 3.0em;
	height: 3em;
	border-right: 2px solid #f0f1f2;
}
.lrBox .bottomBox table td .small {
	font-size: 16px;
}
.sec_ba .bgRight::before {
	content: "";
	display: table-cell;
	width: calc(50vw + 700px);
	height: calc(100% - 135px);
	background-color: #f0f1f2;
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;
	position: absolute;
	top: 180px;
	left: -150px;
}
.sec_ba .bgLeft::before {
	content: "";
	display: table-cell;
	width: calc(50vw + 700px);
	height: calc(100% - 135px);
	background-color: #f0f1f2;
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
	position: absolute;
	top: 180px;
	right: -150px;
}
.lrBox .bottomBox .textBox h3 {
	line-height: 1.3;
	margin-bottom: 0.7em;
}
.lrBox .bottomBox .textBox p {
	line-height: 1.8;
}
.caution {
	padding: 15px 0 35px;
}
.sec_fv .caution {
	padding: 0;
}
.caution p {
	margin: 0 auto;
	line-height: 1.5;
}
.btnArea {
	text-align: center;
}
.btnArea a {
	border-radius: 30px;
	overflow: hidden;
	display: inline-block;
}
.btnArea a span {
	font-size: 18px;
	color: #FFF;
	display: block;
	line-height: 80px;
	height: 80px;
	background-color: #000;
	width: 350px;
	text-align: center;
}
@media screen and (max-width: 1400px) {
	.sec_ba.box_1100 {
	  width: 84vw;
	  max-width: 1100px;
	}	
	.sec_ba .bgRight::before {
		width: 96vw;
		left: -4vw;
	}
	.sec_ba .bgLeft::before {
		width: 96vw;
		right: -4vw;
	}
}
@media screen and (max-width: 1100px) {
	.lrBox .bottomBox {
	  display: block;
	}
	.lrBox .bottomBox > div {
	  display: block;
	  width: 100%;
	  vertical-align: top;
	}	
	.lrBox .bottomBox .infoBox {
	  padding-right: 0;
		margin-bottom: 30px;
	}	
}
@media screen and (max-width: 767px) {
	.sec_ba .secIn .secHead h2 {
	  margin-bottom: 4vw;
	}	
	.sec_ba .secIn .secHead p.t01 {
	  margin-bottom: 1em;
		text-align: left;
	}	
	.lrBox .imgBox {
	  width: 100%;
	  display: block;
	  border-radius: 6vw;
	  overflow: hidden;
	  margin-bottom: 25px;
	}	
	.lrBox .imgBox > div {
	  display: block;
	  width: 100%;
	}
	.lrBox .imgBox > div.left {
	  border-right: none;
	  border-bottom: 1px solid #FFF;
	}	
	.lrBox .imgBox > div.left::before {
	  font-size: 2.8vw;
	  display: table-cell;
	  width: 13vw;
	  height: 4vw;
	  line-height: 4vw;
	  top: 4vw;
	  left: 4vw;
	}
	.lrBox .imgBox > div.right::before {
	  font-size: 2.8vw;
	  display: table-cell;
	  width: 13vw;
	  height: 4vw;
	  line-height: 4vw;
	  top: 4vw;
	  left: 4vw;
	  right: auto;
	}
	.lrBox .imgBox > div.left::after {
	  width: 9.3vw;
	  height: 9.3vw;
	  top: auto;
		bottom: 0;
	  right: 50%;
	  transform: translateX(50%) translateY(50%) rotate(90deg);
	  z-index: 2;
	}	
}
@media screen and (max-width: 767px) {
  .sec_ba.box_1100 {
    width: 92vw;
  }
	.sec_ba .bgRight::before,
	.sec_ba .bgLeft::before {
	  width: 100vw;
	  height: calc(100% - 38vw);
		border-radius: 0;
	  top: 38vw;
	  left: -4vw;
		right: auto;
	}
	.lrBox .bottomBox {
		padding-bottom: 9vw;
	}
	.lrBox {
	  margin-bottom: 9vw;
	}	
  .lrBox .bottomBox .infoBox {
    padding-right: 0;
    margin-bottom: 6vw;
  }	
	.lrBox .bottomBox .infoBox .tags {
	  padding: 3vw 0;
	}
	.lrBox .bottomBox .infoBox .tags ul li {
	  font-size: 3.8vw;
	}
	.lrBox .bottomBox table,
	.lrBox .bottomBox table tbody
	{
		display: block;
	}	
	.lrBox .bottomBox table tbody tr:nth-child(1) {
		display: none;
	}
	.lrBox .bottomBox table tbody tr:nth-child(2) {
		display: grid;
		  grid-template-columns: repeat(2, 1fr);
		  grid-template-rows: repeat(4, auto);
		gap: 2px;
	}
	.lrBox .bottomBox table tbody tr:nth-child(2) td {
	}
	.lrBox .bottomBox table tbody tr:nth-child(2) td::before {
		content: "a";
		display: block;
		width: 100%;
		background-color: #b8b8b8;
		color: #FFF;
		padding: 0;
		box-sizing: border-box;
		line-height: 1.8;
	}
	.lrBox .bottomBox table tbody tr:nth-child(2) td:nth-child(1)::before {
		content: "工事費";
	}
	.lrBox .bottomBox table tbody tr:nth-child(2) td:nth-child(2)::before {
		content: "工期";
	}
	.lrBox .bottomBox table tbody tr:nth-child(2) td:nth-child(3)::before {
		content: "移転";
	}
	.lrBox .bottomBox table tbody tr:nth-child(2) td:nth-child(4)::before {
		content: "業務停止";
	}
	.lrBox .bottomBox table td {
	  font-size: 3.8vw;
	  line-height: 2.4;
	  height: auto;
	  border-right: none;
	}
	.btnArea a {
	  border-radius: 4vw;
	}	
	.btnArea a span {
	  font-size: 4vw;
	  line-height: 13vw;
	  height: 13vw;
	  width: 84vw;
	}
	.sec_ba .secIn {
	  padding: 13vw 0;
	}	
	.caution {
		padding: 2vw 0 4vw;
	}
	.sec_fv .caution {
		padding: 0;
	}
	.caution p {
		margin: 0 auto;
		line-height: 1.5;
		text-align: left;
	}
	
	
}

.sec_concept .secHead {
	margin-bottom: 40px;
}
.sec_concept h2 {
	color: #FFF;
}
.sec_concept .secIn {
	position: relative;
	padding: 75px 0 90px;
}
.sec_concept .secIn::before {
	content: "";
	display: table-cell;
	width: 584px;
	height: 391px;
	position: absolute;
	right: 0;
	bottom: 90px;
	background: right center / 584px auto url("../img/home/concept_01.png") no-repeat;
}
.sec_concept .textBox p {
	font-size: 16px;
	line-height: 1.8;
	margin-bottom: 1em;
	color: #FFF;
}
.sec_atmosphere .secIn {
	padding: 80px 0;
	position: relative;
}
.sec_atmosphere .secIn::before {
	content: "";
	display: table-cell;
	background: center / 100% auto url("../img/home/atmos.png") no-repeat;
	width: 166px;
	height: 193px;
	position: absolute;
	right: 44px;
	bottom: 95px;
}
.sec_atmosphere .secIn .secHead {
	margin-bottom: 40px;
}
.sec_atmosphere .secIn .secBody p {
	line-height: 1.875;
	margin-bottom: 1em;
}
.atmosSlider {
	position: relative;
	margin-bottom: 50px;
}
.atmosSlider::before {
	content: "";
	display: block;
	width: 100%;
	height: calc(100% - 130px);
	position: absolute;
	left: 0;
	bottom: -50px;
	background-color: #faeac8;
}
.atmosSlider ul li {
	padding: 0 9px;
}
.atmosSlider ul li .img {
	display: block;
	width: 400px;
	height: 380px;
	border-radius: 50px;
	overflow: hidden;
	margin-bottom: 20px;
	position: relative;
}
.atmosSlider ul li .img img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	object-fit: cover;
}
.atmosSlider ul li .text {
	display: block;
}
.atmosSlider ul li .text .big {
	margin-bottom: 0.5em;
}
.atmosSlider ul li .text .small {	
	line-height: 1.2;
}

@media screen and (max-width: 1200px) {
	.sec_concept .box_1100 {
	  width: calc(100vw - 160px);
	}
	.sec_concept .secIn {
	  position: relative;
	  padding: 450px 0 60px;
	}
	.sec_concept .secIn::before {
	  width: 584px;
	  height: 391px;
	  position: absolute;
	  right: 50%;
	  bottom: auto;
		top: 60px;
		transform: translateX(50%);
	  background: right center / 584px auto url("../img/home/concept_01.png") no-repeat;
	}	
}
@media screen and (max-width: 880px) {
	.sec_atmosphere .secIn::before {
		display: none;
	}	
}
@media screen and (max-width: 767px) {
  .sec_concept .box_1100 {
    width: 84vw;
  }	
  .sec_concept .secIn {
    position: relative;
    padding: 64vw 0 9vw;
  }
 .sec_concept .secIn::before {
    width: 77.8vw;
    height: 52.1vw;
    top: 9vw;
    transform: translateX(50%);
    background: right center / 100% auto url("../img/home/concept_01.png") no-repeat;
  }	
	.sec_concept .secHead {
	  margin-bottom: 6vw;
	}
	.sec_concept .textBox p {
	  font-size: 3.8vw;
	}
	.sec_atmosphere .secIn {
	  padding: 11vw 0;
	}
	.sec_atmosphere .secIn .secHead {
	  margin-bottom: 6vw;
	}	
	.atmosSlider ul li {
		width: 60vw;
		padding: 0 3.5vw;
	}
	.atmosSlider ul li .img {
	  width: 53vw;
	  height: 50vw;
	  border-radius: 6vw;
	  overflow: hidden;
	  margin-bottom: 4vw;
	}
	.atmosSlider::before {
	  height: calc(100% - 18vw);
	  position: absolute;
	  left: 0;
	  bottom: -6vw;
	  background-color: #faeac8;
	}	
	
	
}
.planList {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 60px;
}
.planBox {
	--plan-color: #70b84b;
	border: 1px solid var(--plan-color);
	border-radius: 30px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
}
.planBox.value {
	--plan-color: #70b84b;
}

.planBox.standard {
	--plan-color: #ff9218;
	overflow: visible;
}
.planBox.standard .planHead {
	position: relative;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
}
.planBox.standard .planHead::before {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/reco.png") no-repeat;
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	width: 90px;
	height: 20px;
}
.planBox.advanced {
	--plan-color: #4577ad;
}

.planBox.premium {
	--plan-color: #a52d68;
}

.planHead {
	background: var(--plan-color);
	color: #fff;
	text-align: center;
	padding: 15px 10px;
}

.planName {
	font-size: 30px;
	color: #FFF;
	letter-spacing: 0.05em;
	margin-bottom: 5px;
	text-align: center;
}

.planHead h3 {
	display: inline-block;
	background: #fff;
	color: #111;
	font-size: 18px;
	border-radius: 30px;
	padding: 4px 20px;
}

.planType {
	font-size: 16px;
	font-weight: bold;
	margin-top: 8px;
	display: block;
	text-align: center;
	color: #FFF;
}

.planBody {
	padding: 20px 28px 28px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.planPrice {
	border-bottom: 1px solid #999;
	padding-bottom: 15px;
	margin-bottom: 20px;
}

.planPrice .price {
	font-size: 42px;
	font-weight: bold;
	line-height: 1.2;
}

.planPrice .unit {
	font-size: 20px;
}

.planPrice .detail {
	font-size: 14px;
	font-weight: bold;
	margin-top: 5px;
}

.planText h4 {
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 18px;
}

.planText .red {
	color: #d00000;
}

.planText p {
	font-size: 16px;
	line-height: 1.8;
}

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

.planFeatures li {
	position: relative;
	padding-left: 15px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8;
}

.planFeatures li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.75em;
	width: 8px;
	height: 8px;
	background: #ff9218;
	border-radius: 50%;
}

.planBtn {
	margin-top: auto;
	text-align: center;
}

.planBtn a {
	display: block;
	background: var(--plan-color);
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 15px;
	padding: 13px 10px;
	max-width: 180px;
	margin: 0 auto;
	transition: opacity 0.3s;
	text-align: center;
}

.planBtn a:hover {
	opacity: 0.7;
}
.sec_plans .secIn {
	padding: 90px 0;
}
.sec_plans .secIn .secHead {
	margin-bottom: 65px;
}

@media screen and (max-width: 1000px) {
	.planList {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.planList {
		grid-template-columns: 1fr;
	}
	.sec_plans .secIn .secHead {
	  margin-bottom: 6vw;
	}
	.planName {
	  font-size: 5.3vw;
	  margin-bottom: 0.2em;
	}	
	.planHead h3 {
	  font-size: 4vw;
	  border-radius: 999px;
	  padding: 1vw 2vw;
	}
	.planType {
	  font-size: 3.8vw;
	  margin-top: 0.3em;
	}
	.planBox.standard .planHead {
	  position: relative;
	  border-top-left-radius: 5.5vw;
	  border-top-right-radius: 5.5vw;
	}	
	.planHead {
	  padding: 2vw 4vw;
	}
	.planBody {
	  padding: 3vw 4vw 5vw;
	}
	.planPrice .price {
	  font-size: 6.6vw;
	}	
	.planPrice .unit {
	  font-size: 4vw;
	}	
	.planPrice .detail {
	  font-size: 3.2vw;
	  margin-top: 0.3em;
	}	
	.planPrice {
	  padding-bottom: 3vw;
	  margin-bottom: 4vw;
	}	
	.planText h4 {
	  font-size: 4.5vw;
	  margin-bottom: 0.8em;;
	}	
	.planText p {
	  font-size: 3.8vw;
	}	
	.planFeatures {
	  margin: 4vw 0;
	}
	.planFeatures li {
	  padding-left: 1em;
	  font-size: 4vw;
	}
	.planFeatures li::before {
	  width: 2vw;
	  height: 2vw;
	}
	.planBtn a {
	  font-size: 3.8vw;
	  border-radius: 3vw;
	  padding: 3.5vw 0;
	  max-width: 100%;
	}
	.planList {
		display: block;
	  margin-bottom: 11vw;
	}	
	.planBox {
	  border-radius: 6vw;
	  display: block;
		margin-bottom: 6vw;
	}	
	.planBox.standard {
		margin-top: 13vw;
	}	
	.planBox.standard .planHead::before {
	  top: -6vw;
	  left: 50%;
	  transform: translateX(-50%);
	  width: 18vw;
	  height: 4vw;
	}
	.sec_plans .secIn {
	  padding: 13vw 0;
	}	

}
.sec_process .secIn {
	display: table;
	padding: 80px 0;
	width: 100%;
}
.sec_process .secIn > div {
	display: table-cell;
	width: 50%;
	vertical-align: top;
}
.sec_process .secIn .secHead {
	position: relative;
	padding-bottom: 536px;
}
.sec_process .secIn .secHead::before {
	content: "";
	display: table-cell;
	background: center / cover url("../img/home/process_01.png") no-repeat;
	width: 403px;
	height: 489px;
	position: absolute;
	left: 0;
	bottom: 0;
}
.sec_process .secIn .secHead h2 {
	margin-bottom: 1.0em;
}
.sec_process .secIn .secHead p {
	line-height: 1.8;
}
.processList li {
	background-color: #FFF;
	border-radius: 30px;
	padding: 25px 20px 20px 70px;
	margin-bottom: 20px;
	position: relative;
}
.processList li .num {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	font-size: 45px;
	font-weight: bold;
}
.processList li:nth-last-child(1) {
	margin-bottom: 0;
}
.processList li .big {
	margin-bottom: 0.6em;
}
.processList li .small {
	line-height: 1.6;
}
@media screen and (max-width: 1200px) {
	.sec_process.box_1100 {
	  width: calc(100vw - 160px);
	  margin: 0 auto;
	}
	
}
@media screen and (max-width: 1100px) {
	.sec_process .secIn {
	  display: block;
	  padding: 80px 0;
	  width: 100%;
	}	
	.sec_process .secIn > div {
	  display: block;
	  width: 100%;
	}
	.sec_process .secIn .secHead {
	  padding-bottom: 40px;
		margin-bottom: 20px;
		background: right center / contain url("../img/home/process_01.png") no-repeat;
	}	
	.sec_process .secIn .secHead::before {
		display: none;
	}
	.sec_process .secIn > div.secBody {
		padding-left: 20px;
	}
}
@media screen and (max-width: 767px) {
  .sec_process.box_1100 {
    width: 84vw;
  }	
 .sec_process .secIn {
    padding: 6vw 0;
  }
  .sec_process .secIn .secHead {
    padding-bottom: 107vw;
    margin-bottom: 4vw;
    background: center bottom / contain url("../img/home/process_01.png") no-repeat;
  }
	.secHead p {
		font-size: 3.8vw;
	}
	.processList li {
	  border-radius: 6vw;
	  padding: 5vw 4vw 3vw 10vw;
	  margin-bottom: 4vw;
	  position: relative;
	}	
	.processList li .num {
	  font-size: 7.3vw;

	position: absolute;
	  left: 0;
	  top: 4vw;
	  transform: translateX(-50%) translateY(0);
	}	
}

.sec_const {
	background: center / cover url("../img/home/const_bg.jpg") no-repeat;
	padding: 110px 0 100px;
}
.sec_const .secHead {
	margin-bottom: 50px;
}
.sec_const .secBody > p {
	margin-bottom: 65px;
}
.sec_const .secBody > p .text {
	position: relative;
}
.sec_const .secBody > p .txtQ {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateX(-140%) translateY(-50%);
}
.sec_const .secBody .boxes {
	
}
.sec_const .secBody .boxes .box01 {
	background-color: #FFF;
	margin-bottom: 50px;
	padding: 30px 170px 40px;
	border-radius: 30px;
}
.sec_const .secBody .boxes .box01 .big {
	margin-bottom: 30px;
}
.sec_const .secBody .boxes .box01 .big .text {
	position: relative;
}
.sec_const .secBody .boxes .box01 .big .text::after {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/const01.png") no-repeat;
	width: 61px;
	height: 86px;
	position: absolute;
	right: 0;
	bottom: -8px;
	transform: translateX(110%);
}
.sec_const .secBody .boxes .box01 .small {
	line-height: 1.875;
}
.sec_const .secBody .boxes ul {
	font-size: 0;
	display: flex;
	gap:20px;
}
.sec_const .secBody .boxes ul li {
	background-color: #FFF;
	vertical-align: top;
	flex:1;
	padding: 100px 20px 20px;
	border-radius: 30px;
	position: relative;
}
.sec_const .secBody .boxes ul li:nth-last-child(1) {
	margin-right: 0;
}
.sec_const .secBody .boxes ul li h3 {
	text-align: center;
	margin-bottom: 0.8em;
}
.sec_const .secBody .boxes ul li p {
	line-height: 1.875;
}
.sec_const .secBody .boxes ul li:nth-child(1)::before {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/const_list01.png") no-repeat;
	width: 49px;
	height: 50px;
	position: absolute;
	top: 57px;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.sec_const .secBody .boxes ul li:nth-child(2)::before {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/const_list02.png") no-repeat;
	width: 48px;
	height: 51px;
	position: absolute;
	top: 57px;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.sec_const .secBody .boxes ul li:nth-child(3)::before {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/const_list03.png") no-repeat;
	width: 60px;
	height: 42px;
	position: absolute;
	top: 57px;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.sec_const .secBody .boxes ul li:nth-child(4)::before {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/const_list04.png") no-repeat;
	width: 49px;
	height: 50px;
	position: absolute;
	top: 57px;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

@media screen and (max-width: 1000px) {
	.sec_const .secBody .boxes .box01 {
	  margin-bottom: 20px;
	  padding: 30px 170px 40px;
	}
	.sec_const .secBody .boxes ul {
	  font-size: 0;
	  display: grid;
	  gap: 20px;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, auto);		
	}	
}
@media screen and (max-width: 767px) {
	.sec_const .secBody > p.fs-34 {
		font-size: 4.8vw;
		text-align: center;
	  margin-bottom: 9vw;
	}
	.sec_const .secHead {
	  margin-bottom: 8vw;
	}	
 .sec_const .secBody .boxes .box01 {
    margin-bottom: 4vw;
    padding: 6vw 4vw 4vw;
  }	
	.sec_const .secBody .boxes .box01 .big .text::after {
	  width: 11.3vw;
	  height: 16.4vw;
	  bottom: -2vw;
	  transform: translateX(110%);
	}
	.sec_const .secBody .boxes .box01 .big {
	  margin-bottom: 4vw;
	}
	.sec_const .secBody .boxes ul li:nth-child(1)::before {
		width: 8.4vw;
		height: 86vw;
		top: 10vw;
	}
	.sec_const .secBody .boxes ul li:nth-child(2)::before {
		width: 8vw;
		height: 8.4vw;
		top: 10vw;
	}
	.sec_const .secBody .boxes ul li:nth-child(3)::before {
		width: 9.6vw;
		height: 6.6vw;
		top: 10vw;
	}
	.sec_const .secBody .boxes ul li:nth-child(4)::before {
		width: 8.26vw;
		height: 8.3vw;
		top: 10vw;
	}
	.sec_const .secBody .boxes ul {
		gap: 4vw;
	}
	.sec_const .secBody .boxes ul li p {
		letter-spacing: 0;
	}	
	.sec_const {
	  padding: 11vw 0;
	}	
	
}
/* ========================================
   WHY LIST
======================================== */
.sec_why {
	padding: 100px 0 175px;
}
.sec_why .secHead {
	margin-bottom: 45px;
}
.sec_why .secBody {
	width: 900px;
	margin: 0 auto;
	position: relative;
}
.whyList {
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	position: relative;
}
.whyList > li {
	display: grid;
	grid-template-columns: 140px 60px minmax(0, 1fr);
	align-items: center;
	column-gap: 30px;
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
	position: relative;
}
.whyList > li:nth-child(2)::after {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/why/art01.png") no-repeat;
	width: 142px;
	height: 149px;
	position: absolute;
	right: -100px;
	bottom: -21px;
}
.whyList > li:nth-child(7)::after {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/why/art02.png") no-repeat;
	width: 91px;
	height: 113px;
	position: absolute;
	right: -66px;
	top: -77px;
}
.sec_why .circles {
	position: absolute;
	width: 100%;
	height: 100%;
}
.sec_why .circles .circle {
	display: table-cell;
	border-radius: 50%;
	position: absolute;
}
.sec_why .circles .circle:nth-child(1) {
	width: 640px;
	height: 640px;
	background-color: #ff9019;
	opacity: 0.1;
	left: -264px;
	top: -133px;
}
.sec_why .circles .circle:nth-child(2) {
	width: 423px;
	height: 423px;
	background-color: #ffd200;
	opacity: 0.1;
	right: -323px;
	top: 522px;
}
.sec_why .circles .circle:nth-child(3) {
	width: 350px;
	height: 350px;
	background-color: #ffd200;
	opacity: 0.1;
	left: -137px;
	bottom: 290px;
}
.sec_why .circles .circle:nth-child(4) {
	width: 540px;
	height: 540px;
	background-color: #ff9019;
	opacity: 0.1;
	left: 58px;
	bottom: -21px;
}



/* 画像 */
.whyList .img {
	width: 140px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
}

.whyList .img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 番号 */
.whyList .num {
	display: block;
	font-size: 36px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
}

/* テキスト */
.whyList .textBox {
	min-width: 0;
}

.whyList .textBox h3 {
	margin: 0 0 12px;
	line-height: 1.5;
}

.whyList .textBox p {
	margin: 0;
	line-height: 1.8;
}

@media screen and (max-width: 1100px) {
	.sec_why .secBody {
	  width: 84vw;
	}	
	.whyList > li:nth-child(2)::after,
	.whyList > li:nth-child(7)::after {
		display: none;
	}
}
@media screen and (max-width: 767px) {

	.whyList > li {
		display: table;
	}

	.whyList .img {
		display: table-cell;
		width: 24vw;
		border-radius: 0;
	}
	.whyList .img img {
		width: 100%;
		height: auto;
		border-radius: 50%;
	}
	.whyList .num {
		display: table-cell;
		padding: 0 0.5em;
		vertical-align: top;
		font-size: 7.3vw;
		padding-top: 9.5vw;
	}

	.whyList .textBox {
		display: table-cell;
		vertical-align: top;
	}

	.whyList .textBox br {
		display: none;
	}
	.sec_why {
	  padding: 11vw 0 19vw;
	}

	
}
.sec_numbers {
	padding-bottom: 90px;
}
.sec_numbers .secHead {
	margin-bottom: 50px;
}
.sec_numbers .secHead {
}
.numbersList {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.numbersList > li {
	border: 1px solid #777;
	border-radius: 30px;
	padding: 35px 20px 114px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	background-color: #FFF;
}

.numbersList h3 {
	padding-bottom: 150px;
}

.numbersList .icon {
	width: 85px;
	height: 85px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 25px;
	position: absolute;
	top: 135px;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}

.numbersList .icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.numbersList .number {
	font-size: 30px;
	line-height: 1.2;
	white-space: nowrap;
	margin-bottom: 20px;
}

.numbersList .number .big {
	font-size: 52px;
	padding: 0 0.1em;
}

.numbersList .number .unit {
	font-size: 30px;
}

.numbersList .desc {
	position: absolute;
	left: 50%;
	bottom: 60px;
	line-height: 1.6;
	display: table-cell;
	width: 100%;
	text-align: center;
	vertical-align: middle;
	transform: translateX(-50%) translateY(50%);
}
.sec_numbers .secBody {
	position: relative;
	margin-bottom: 100px;
}
.sec_numbers .secBody::before {
  content: "";
  display: table-cell;
  width: calc(50vw + 700px);
  height: calc(100% - 75px);
  background-color: #f0f1f2;
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  position: absolute;
  top: 175px;
  left: -150px;
}
@media screen and (max-width: 1100px) {
	.numbersList {
	  display: block;
		width: 84vw;
		max-width: 690px;
		margin: 0 auto 30px;
	}	
	.numbersList > li {
	  display: block;
		margin-bottom: 20px;
		padding: 35px 20px 30px;		
	}
	.numbersList h3 {
		text-align: center;
	}
	.numbersList .number {
	  margin-bottom: 20px;
		text-align: center;
	}
	.numbersList .desc {
	  position: static;
	  display: block;
	  width: 100%;
		text-align: center;
	  text-align: center;
	  vertical-align: middle;
	  transform: translateX(0) translateY(0);
	}	
	
}
@media screen and (max-width: 767px) {
	.numbersList {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.numbersList > li {
		padding: 4vw;
	}

	.numbersList h3 {
		margin-bottom: 0;
		padding-bottom: 18.6vw;
	}
	.numbersList .icon {
	  width: 12vw;
	  height: 12vw;
	  margin-bottom: 0;
	  position: absolute;
	  top: 18.6vw;
	  left: 50%;
	  transform: translateX(-50%) translateY(-50%);
	}
	.numbersList .icon {
		margin-bottom: 15px;
	}
	.numbersList .number {
	  line-height: 1.2;
	  white-space: nowrap;
	  margin-bottom: 4vw;
	}
	.numbersList .number .big {
		font-size: 8vw;
	}
	.numbersList .number .unit {
	  font-size: 5.3vw;
	}	
	.sec_numbers .secBody {
	  margin-bottom: 6vw;
	}	
	.sec_numbers {
	  padding-bottom: 6vw;
	}	
	.sec_numbers .secBody::before {
	  width: 100vw;
	  height: calc(100% - 19vw);
	  background-color: #f0f1f2;
	  border-top-left-radius: 0;
	  border-bottom-left-radius: 0;
	  top: 25vw;
	  left: -4vw;
	}	
}
/* ========================================
   FLOW LIST
======================================== */
.sec_flow .secHead {
	margin-bottom: 50px;
}
.sec_flow .secIn {
	padding: 75px 0 120px;
}
.flowList {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 900px;
	margin: 0 auto;
}

.flowList > li {
	position: relative;
	display: grid;
	grid-template-columns: 166px minmax(0, 1fr) 220px;
	align-items: center;
	gap: 20px;
	background: #fff;
	border-radius: 25px;
	padding: 20px 20px 20px 30px;
	min-height: 135px;
}
.flowList > li:nth-last-child(1)::before {
	content: "";
	display: table-cell;
	background: center / contain url("../img/home/flow/art01.png") no-repeat;
	width: 139px;
	height: 145px;
	position: absolute;
	left: -73px;
	bottom: -73px;
}
.flowList > li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -20px;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
	border-top: 20px solid #999;
	z-index: 2;
}
.flowList .step {
	display: flex;
	align-items: baseline;
	gap: 5px;
	white-space: nowrap;
	font-weight: bold;
}

.flowList .step .label {
	font-size: 24px;
}

.flowList .step .num {
	font-size: 45px;
	line-height: 1;
}

/* テキスト */
.flowList .textBox {
	min-width: 0;
}

.flowList .textBox h3 {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
	line-height: 1.4;
}

.flowList .textBox p {
	margin: 0;
	line-height: 1.8;
}
.flowList .free {
	display: inline-block;
	background: #666;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	padding: 2px 8px;
	border-radius: 5px;
	white-space: nowrap;
}

/* 画像 */
.flowList .img {
	width: 220px;
	aspect-ratio: 1.4 / 1;
	border-radius: 20px;
	overflow: hidden;
}

.flowList .img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 1100px) {
	.flowList {
	  width: 84vw;
	  margin: 0 auto;
	}	
}

/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
	.flowList .step {
		margin-bottom: 1vw;
	}	
	
	.sec_flow .secIn {
	  padding: 6vw 0 6vw;
	}	
	.sec_flow .secHead {
	  margin-bottom: 4vw;
	}
	.flowList {
		gap: 6vw;
	}
	.flowList > li {
		display: block;
		padding: 5vw 4vw;
		border-radius: 6vw;
		min-height: 0;
	}
	.flowList .step .label {
	  font-size: 4.5vw;
	}
	.flowList .step .num {
	  font-size: 7.3vw;
	}	
	.flowList .free {
	  font-size: 3.3vw;
	  line-height: 1.4;
	  padding: 0.2vw 1.5vw 0.3vw;
	  border-radius: 1vw;
	}
	.flowList .img {
	  width: 100%;
	  border-radius: 4vw;
		margin-top: 6vw;
	}
	.flowList > li:not(:last-child)::after {
	  bottom: -3vw;
	  transform: translateX(-50%);
	  width: 0;
	  height: 0;
	  border-left: 8vw solid transparent;
	  border-right: 8vw solid transparent;
	  border-top: 3vw solid #999;
	  z-index: 2;
	}
	.flowList > li:nth-last-child(1)::before {
		display: none;
	}	
	
}
.sec_download .secHead {
	margin-bottom: 50px;
}
.sec_download .secHead h2 {
	margin-bottom: 40px;
}
.sec_download .secIn {
	padding: 100px 0;
}
.sec_download .downloadList {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    position: relative;
    margin-bottom: 60px;
}

.sec_download .downloadList li {
    padding-bottom: 80px;
    position: relative;
    box-sizing: border-box;
}
@media screen and (min-width: 768px) {
	.sec_download .downloadList li {
		width: calc((100% - 60px) / 3);
		flex: 0 0 calc((100% - 60px) / 3);
	}
}
.sec_download .downloadList li .img {
	display: block;
	position: relative;
	border: 1px solid #000;
	border-radius: 30px;
	overflow: hidden;
	margin-bottom: 20px;
}
.sec_download .downloadList li .img::before {
	content: "";
	display: block;
	padding-top: 65%;
}
.sec_download .downloadList li .img img {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	object-fit: cover;
}
.sec_download .downloadList li h3 {
	line-height: 1.5;
	margin-bottom: 0.4em;
	font-weight: 600;
}
.sec_download .downloadList li .maker {
	margin-bottom: 1em;
}
.sec_download .downloadList li p {
	line-height: 1.5;
}
.sec_download .downloadList li .btn {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
}
.sec_download .downloadList li .btn a {
	display: inline-block;
}
.sec_download .downloadList li .btn a .text {
	display: block;
	border:1px solid #000;
	border-radius: 15px;
	background-color: #FFF;
	font-size: 16px;
	font-weight: bold;
	line-height: 48px;
	height: 50px;
	padding: 0 32px 0 16px;
	position: relative;
}
.sec_download .downloadList li .btn a .text::after {
	content: "";
	display: table-cell;
	background: center / contain url("../img/icn_download.png") no-repeat;
	width: 14px;
	height: 15px;
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
}
.sec_download .bgLeft {
	position: relative;
}
.sec_download .bgLeft::before {
  content: "";
  display: table-cell;
  width: calc(50vw + 700px);
  height: calc(100% - 150px);
  background-color: #f0f1f2;
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  position: absolute;
  top: 110px;
  right: -150px;
}
.sec_download .secBody .btnArea {
	position: relative;
}

@media screen and (max-width: 1100px) {
	.sec_download .downloadList {
	  display: block;
		width: 480px;
		margin: 0 auto 60px;
	}	
	.sec_download .downloadList li {
		display: block;
	  padding-bottom: 0;
	  position: relative;
		margin-bottom: 90px;
	}
	.sec_download .downloadList li > * {
		position: relative;
	}
	.sec_download .downloadList li .btn {
	  position: static;
	  width: 100%;
		padding-top: 30px;
	}	
	.sec_download .bgLeft::before {
		display: none;
	}
	.sec_download .sec_download .downloadList li::before {
	  content: "";
	  display: table-cell;
	  width: 100vw;
		height: calc(100% - 115px);
	  top: 155px;
		left: 50%;
		transform: translateX(-50%);
		position: absolute;
		background-color: #f0f1f2;
	}
	
}
@media screen and (max-width: 767px) {
	.sec_download .secIn {
	  padding: 11vw 0;
	}	
	.sec_download .secHead h2 {
	  margin-bottom: 4vw;
	}
  .secHead p {
    font-size: 3.8vw;
	  line-height: 1.6;
  }	
  .secHead p.fs-34 {
	  font-size: 4.2vw;
	}
	.sec_download .secHead {
	  margin-bottom: 4vw;
	}	
 .sec_download .bgLeft::before {
    top: 30vw;
    right: -4vw;
	 height: calc(100% - 24vw);
  }	
  .sec_download .downloadList {
    width: 100%;
    margin: 0 auto 6vw;
  }	
	.sec_download .downloadList li .img {
	  border-radius: 5vw;
	  overflow: hidden;
	  margin-bottom: 4vw;
	}
	.sec_download .downloadList li .btn a {
	  display: block;
	  border-radius: 2vw;
	  font-size: 3.8vw;
	  height: auto;
		padding: 3vw 0;
		text-align: center;
		border: 1px solid #000;
		background-color: #FFF;
	}	
	.sec_download .downloadList li .btn a .text {
		border:none;
		background-color: transparent;
		display: inline-block;
	  border-radius: 0;
	  font-size: 3.8vw;
	  line-height: calc(8vw - 2px);
	  height: auto;
	  padding: 0;
		padding-right: 6vw;
	}
	.sec_download .downloadList li .btn a .text::after {
	  width: 3vw;
	  height: 3.2vw;
	  right: 0;
	  top: 50%;
	  transform: translateY(-50%);
	}	
	.sec_download .downloadList li .btn {
	  position: relative;
		padding-top: 6vw;
	}	
	.sec_download .downloadList li {
		display: block;
		padding-bottom: 6vw;
		position: relative;
		margin-bottom: 9vw;
	}
  .sec_download .downloadList li::before {
	  content: "";
	  display: block;
	  width: 100vw;
    height: calc(100% - 28vw);
    top: 30vw;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    background-color: #f0f1f2;
  }	
}
.sec_bottom {
	padding: 120px 0;
	position: relative;
}
.sec_bottom .bgs {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: calc(100vw - 80px);
	max-width: 1840px;
	height: 100%;
	background: center / cover url("../img/home/bottom_bg.jpg") no-repeat;
	border-radius: 50px;
}
.sec_bottom .secIn {
	position: relative;
}
.sec_bottom .secIn .secHead {
	position: relative;
	width: 50%;
	padding: 55px 0 60px;
}
.sec_bottom .secIn .secHead > * {
	position: relative;
}
.sec_bottom .secIn .secHead h2 {
	margin-bottom: 35px;
}
.sec_bottom .secIn .secHead h3 {
	line-height: 1.5;
	margin-bottom: 25px;
	margin-top: 35px;
}
.sec_bottom .secIn .secHead p {
	line-height: 1.875;
}
.sec_bottom .secIn .secHead::before {
	content: "";
	display: table-cell;
	width: 920px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: #FFF;
	opacity: 0.95;
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
}
.sec_bottom .secIn .secBody {
	position: absolute;
	left: 50%;
	bottom: 15px;
	padding-left: 100px;
}
.sec_bottom .secIn .secBody > p {
	color: #FFF;
	margin-bottom: 25px;
}
.sec_bottom .btns {
	
}
.sec_bottom .btns li {
}
.sec_bottom .btns li a {
	display: block;
	width: 450px;
	height: 100px;
	border-radius: 30px;
	position: relative;
}
.sec_bottom .btns li a .text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 100%;
	display: block;
	text-align: center;
}
.sec_bottom .btns li.orangeBtn {
	margin-bottom: 20px;
}
.sec_bottom .btns li.orangeBtn a {
	background-color: #ff9019;
	font-size: 20px;
	color: #FFF;
}
.sec_bottom .btns li.yellowBtn a {
	background-color: #ffd200;
}
.sec_bottom .btns li.yellowBtn a .small {
	margin-bottom: 8px;
}
.sec_bottom .btns li.yellowBtn a .big {
}
@media screen and (max-width: 1300px) {
	.sec_bottom .box_1100 {
	  width: 84vw;
		display: block;
		text-align: center;
	}
	.sec_bottom .secIn .secHead {
	  width: 100%;
	  padding: 55px 0 60px;
		margin-bottom: 60px;
	}
	.sec_bottom .secIn .secHead::before {
	  width: calc(100% + 80px);
	}
	.sec_bottom .secIn .secBody {
	  position: static;
	  padding-left: 0;
		display: inline-block;
		text-align: center;
	}	
}
@media screen and (max-width: 767px) {
	.sec_bottom {
	  padding: 11vw 0;
	  position: relative;
	}	
	.sec_bottom .bgs {
	width: calc(100vw - 8vw);
	border-radius: 6vw;
	}
  .sec_bottom .secIn .secHead {
    width: 100%;
    padding: 6vw 4vw 6vw 0;
    margin-bottom: 9vw;
  }	
	.sec_bottom .secIn .secHead h2 {
	  margin-bottom: 6vw;
	}
	.sec_bottom .secIn .secHead h3 {
	  line-height: 1.5;
	  margin-bottom: 4vw;
	  margin-top: 6vw;
	}
	.sec_bottom .btns li.orangeBtn {
	  margin-bottom: 4vw;
	}
	.sec_bottom .btns li a {
	  width: 100%;
	  height: 16vw;
	  border-radius: 4vw;
		font-size: 4vw;
	}
	.sec_bottom .btns li.orangeBtn a {
	  font-size: 4vw;
	}
	.sec_bottom .btns li.yellowBtn a .small {
	  margin-bottom: 1vw;
		font-size: 3.2vw;
	}	
}

.pageHead {
	width: 92%;
	max-width: 1840px;
	margin: 0 auto;
	position: relative;
}
.pageHead .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	border-radius: 50px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.page_plan .pageHead .bg {
	background-image: url("../img/pagehead/plan_pc.jpg");
}
.case-single .pageHead .bg,
.archive-case .pageHead .bg {
	background-image: url("../img/pagehead/case_pc.jpg");
}
.page_guide .pageHead .bg {
	background-image: url("../img/pagehead/guide_pc.jpg");
}
.download .pageHead .bg {
	background-image: url("../img/pagehead/download_pc.jpg");
}
.download-single .pageHead .bg,
.page_download-complete .pageHead .bg
{
	background: left top / 22px auto url("../img/bgp01.jpg") repeat;
}
.page_privacy .pageHead .bg {
	background-image: url("../img/pagehead/privacy_pc.jpg");
}
.page_contact .pageHead .bg,
.page_contact-thanks .pageHead .bg {
	background-image: url("../img/pagehead/contact_pc.jpg");
}
.page_about .pageHead .bg {
	background-image: url("../img/pagehead/about_pc.jpg");
}
.pageHead .pageHeadIn {
	width: 92%;
	max-width: 1400px;
	margin: 0 auto;
	height: 380px;
	position: relative;
}
.page_download-complete .pageHead .pageHeadIn,
.download-single .pageHead .pageHeadIn
{
	height: 200px;
}
.pageHead .pageHeadIn h1 {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.pageHead .pageHeadIn h1 .text_en {
	font-size: 24px;
	font-weight: 400;
	color: #FFF;
	margin-bottom: 0.4em;
	display: block;
}
.pageHead .pageHeadIn h1 .text_jp {
	font-size: 55px;
	font-weight: 600;
	color: #FFF;
	display: block;
}
.download-single .pageHead .pageHeadIn h1 .text_jp,
.page_download-complete .pageHead .pageHeadIn h1 .text_jp

{
	font-size: 40px;
	color: #000;
}
.breadCrumbs {
	width: 88%;
	max-width: 1400px;
	margin: 0 auto 30px;
	padding: 20px 0;
}
.breadCrumbs ul {
	font-size: 0;
}
.breadCrumbs ul li {
	display: inline-block;
}
.breadCrumbs ul li,
.breadCrumbs ul li a,
.breadCrumbs ul li span {
	font-weight: 500;
}

.breadCrumbs ul li a {
	font-size: 16px;
}
.breadCrumbs ul li::after {
	content: ">";
	padding: 0 0.5em;
}
.breadCrumbs ul li:nth-last-child(1)::after {
	display: none;
}

@media screen and (max-width: 767px) {
	.pageHead .bg {
	  border-radius: 6vw;
	}	
	.pageHead .pageHeadIn {
	  height: 40vw;
	}
	.pageHead .pageHeadIn h1 .text_en {
	  font-size: 3.8vw;
		line-height: 1.2;
	}	
	.pageHead .pageHeadIn h1 .text_jp {
	  font-size: 7.0vw;
		line-height: 1.2;
	}	
	.breadCrumbs {
		display: none;
	}
	.page .content {
		padding-top: 10vw;
	}
	.download-single .pageHead .pageHeadIn h1 .text_jp, .page_download-complete .pageHead .pageHeadIn h1 .text_jp {
	  font-size: 5vw;
	  color: #000;
	}
	.page_download-complete .pageHead .pageHeadIn, .download-single .pageHead .pageHeadIn {
	  height: 33vw;
	}	
	
	
}

.page .pageNav {
	
}
.page .pageNav ul {
	display: flex;
	gap: 20px;
}
.page .pageNav ul li {
	flex: 1;
	border-bottom: 2px solid #000;
}
.page .pageNav ul li a {
	display: block;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 12px 0;
}
.page .pageNav ul li a span {
	padding-right: 25px;
	position: relative;
}
.page .pageNav ul li a span::after {
	content: "";
	display: table-cell;
	width: 12px;
	height: 9px;
	border-top: 9px solid #000;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	box-sizing: border-box;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.page .pageNav {
	margin-bottom: 50px;
}
.page_privacy .box_750 {
	padding-top: 65px;
}
.page_privacy h2 {
	margin-bottom: 1em;
}
.page_privacy h3 {
	line-height: 1.3;
	margin-bottom: 1em;
	padding-top: 1em;
}
.page_privacy p {
	line-height: 1.875;
	margin-bottom: 1em;
}
.page_privacy ol {
	margin-bottom: 30px;
}
.page_privacy ol li {
	line-height: 1.875;
}
.page_privacy section {
	padding-bottom: 60px;
	padding-top: 90px;
}
.page_privacy section#environment {
	position: relative;
}
.page_privacy section#environment .inner {
	position: relative;
}
.page_privacy section#environment::before {
	content: "";
	display: table-cell;
	width: 100vw;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	background-color: #f0f1f2;
}
.page_privacy #environment .policyContent > div {
	border-top: 1px solid #000;
}
.page_privacy #environment .policyContent > div.environmentText {
	padding-bottom: 30px;
	border-top: none;
}
.page_privacy .policy-dotList {
	margin-bottom: 20px;
}
.page_privacy .policy-dotList li {
	list-style: disc inside;
	line-height: 1.875;
}
.page_privacy .signature {
	margin-top: 40px;
}
.page_privacy .isoBox {
	display: table;
	position: relative;
}
.page_privacy .isoBox > div {
	display: table-cell;
	vertical-align: top;
}
.page_privacy .isoBox > div.img {
	width: 328px;
	padding-top: 90px;
}
.page_privacy .isoBox > div.textBox {
	padding-right: 70px;
}
.page_privacy .isoBox > div.img img {
	width: 100%;
	height: auto;
}
#iso .inner,
#iso .inner h2
{
	position: relative;
}
.circleBgs {
	position: relative;
}
.circleBgs .circles {
	position: absolute;
	width: 100%;
	height: 100%;
	display: table-cell;
}
.circleBgs .circles .circle:nth-child(1) {
	display: table-cell;
	width: 640px;
	height: 640px;
	background-color: #ff9019;
	opacity: 0.1;
	position: absolute;
	left: -192px;
	top: 0;
	border-radius: 50%;
}
.circleBgs .circles .circle:nth-child(2) {
	display: table-cell;
	width: 423px;
	height: 423px;
	background-color: #ffd200;
	opacity: 0.1;
	position: absolute;
	right: -197px;
	bottom: -300px;
	border-radius: 50%;
}
@media screen and (max-width: 767px) {
	.page .pageNav {
	  margin-bottom: 50px;
	}
	.page .pageNav ul {
	  display: block;
	}	
	.page .pageNav ul li {
	  border-bottom: 2px solid #000;
		display: block;
	}	
	.page .pageNav ul li a {
	  display: block;
	  font-size: 3.8vw;
	  padding: 4.5vw 0;
	}
	.page_privacy li {
		font-size: 3.8vw;
	}
	.page_privacy section {
	  padding-bottom: 6vw;
	  padding-top: 9vw;
	}	
	.page_privacy .signature {
	  margin-top: 6vw;
	}	
	.page_privacy .box_750 {
	  padding-top: 9vw;
	}
	.page_privacy .isoBox {
	  display: block;
	  position: relative;
	}	
	.page_privacy .isoBox::before {
		content: "";
		display: block;
		width: 100%;
		height: 100vw;
		background: center / auto 100% url("../img/privacy/iso.jpg") no-repeat;
		margin-bottom: 3vw;
	}
	.page_privacy .isoBox > div {
	  display: block;
	}
	.page_privacy .isoBox > div.img {
		display: none;
	}	
	.page_privacy .isoBox > div.textBox {
	  padding-right: 0;
	}
	.circleBgs .circles .circle:nth-child(1) {
		width: 85.3vw;
		height: 85.3vw;
		left: 0;
		top: -8vw;
		transform: translateX(-40%);
		border-radius: 50%;
	}
	.circleBgs .circles .circle:nth-child(2) {
		width: 56.4vw;
		height: 56.4vw;
		right: 0;
		bottom: -30vw;
		border-radius: 50%;
		transform: translateX(40%);
	}
	
	
}
.contactHead p,
.contactHead li,
.contactHead li a

{
	line-height: 1.875;
	margin-bottom: 1em;
}
.contactHead h3 {
	margin-bottom: 0.2em;
}
.contactHead .telArea {
	padding-top: 10px;
}
.contactNav {
	padding-top: 60px;
	padding-bottom: 70px;
}
.contactNav ul {
	display: flex;
	text-align: center;
	font-size: 0;
	position: relative;
}
.contactNav ul::before {
	content: "";
	display: table-cell;
	width: 66.6%;
	height: 1px;
	background-color: #000;
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
}
.contactNav ul li {
	display: inline-block;
	width: 33.3%;
	padding-top: 132px;
	position: relative;
	margin: 0;
	vertical-align: top;
}
.contactNav ul li .step {
	display: table-cell;
	width: 120px;
	height: 120px;
	background-color: #b8b8b8;
	border-radius: 50%;
	vertical-align: middle;
	text-align: center;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.step-input .contactNav ul li:nth-child(1) .step,
.step-confirm .contactNav ul li:nth-child(2) .step,
.page_contact-thanks .contactNav ul li:nth-child(3) .step {
	background-color: #000;
}
.contactNav ul li .step span {
	color: #FFF;
	display: block;
}
.contactNav ul li .step .text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
}
.contactNav ul li .step .text_en {
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 0.2em;
}
.contactNav ul li .step .num {
	font-size: 40px;
	font-weight: bold;
}
.contactNav ul li .fs-16 {
	display: block;
	text-align: center;
	line-height: 1.3;
}
.formArea p {
	margin-bottom: 2em;
}
.page_contact-thanks .formArea p.fs-30 {
	padding-top: 1em;
	margin-bottom: 1em;
}
.page_contact-thanks .formArea p {
	line-height: 1.875;
}
.formWrap {
	display: table;
	width: 100%;
    border-collapse: separate;
    border-spacing: 0;	
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	border-radius: 30px;
	overflow: hidden;
	margin-bottom: 33px;
}
.formWrap li {
	display: table-row;
}
.formWrap li .text {
	line-height: 1.2;
}
.formWrap li .formTh {
	display: table-cell;
	padding: 20px 15px 20px 32px;
	background-color: #f0f1f2;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	vertical-align: middle;
	position: relative;
}
.formWrap li .formTh.hissu .text::after {
	content: "必須";
	font-size: 15px;
	background-color: #cf0404;
	color: #FFF;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	display: table-cell;
	padding: 0.3em 0.5em;
}
.formWrap li .formTh.ninni .text::after {
	content: "任意";
	font-size: 15px;
	background-color: #b8b8b8;
	color: #FFF;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	display: table-cell;
	padding: 0.3em 0.5em;
}
.formWrap li .formTh .text {
	font-size: 16px;
	font-weight: bold;
	display: block;
	padding-right: 55px;
}
.formWrap li .formTd {
	display: table-cell;
	padding: 12px 20px;
	border-bottom: 1px solid #000;
	vertical-align: middle;
	font-weight: 500;
}
.formWrap li .formTd > span {
	display: block;
}
.formWrap li .formTd input,
.formWrap li .formTd textarea
{
	width: 100%;
	border: 1px solid #a0a0a0;
	border-radius: 15px;
	font-size: 16px;
	line-height: 1.2;
	padding: 0.8em 1em;
	font-weight: 500;
}
.formWrap li .formTd .text {
	font-size: 16px;
	font-weight: 500;
	font-weight: bold;
	line-height: 2.8;
}
.formWrap li:nth-last-child(1) .formTh,
.formWrap li:nth-last-child(1) .formTd
{
	border-bottom: none;
}
.formArea .rules {
	margin-bottom: 50px;
}
.formArea .rules p {
	line-height: 1.5;
}
.formArea .rules .orange {
	position: relative;
	padding: 0 0.3em;
	cursor: pointer;
	line-height: 1.5
}
.formArea .rules .orange::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -4px;
	height: 1px;
	width: 100%;
	background-color: #ff9019;
}
.formArea .btns {
}
.cf7mls-btns {
	text-align: center;
}
.cf7mls-btns button {
	font-size: 20px;
	letter-spacing: 0.2em;
	font-weight: bold;
	color: #FFF;
	width: 350px;
	height: 80px;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	background-color: #ff9019;
	border-radius: 30px;
}
.page_contact .cf7mls-btns .cf7mls_next.action-button, .page_contact .cf7mls-btns .cf7mls_back.action-button {
  margin: 0;
  padding: 13px 15px;
}
.page_contact .cf7mls_next.action-button {
  background-color: #ff9019;
  border: 0 none;
  color: #ffffff;
  cursor: pointer;
  font-weight: bold;
  margin: 0;
	width: 350px;
	height: 80px;
  padding: 0;
  min-width: 100px;
  position: relative;
	border-radius: 30px;
}
.page_contact .fieldset-cf7mls .cf7mls_next {
  float: none;
}
.page_contact .cf7mls-btns.cf7mls-btns-last-step .cf7mls_back.action-button {
  margin: 0;
  border-radius: 30px;
}
.page_contact form.cf7mls input.wpcf7-form-control.wpcf7-submit {
  border-radius: 30px;
  padding: 0;
	font-size: 20px;
	letter-spacing: 0.2em;
	font-weight: bold;
	color: #FFF;
  margin: 0;
  float: right;
  background-color: #ff9019;
	width: 350px;
	height: 80px;
}

@media screen and (max-width: 767px) {
	.contactNav ul li .step {
	  width: 16vw;
	  height: 16vw;
	}		
	.contactNav ul li .step .text_en {
	  font-size: 4vw;
	}	
	.contactNav ul li .step .num {
	  font-size: 6.6vw;
	}	
	.contactNav ul::before {
	  top: 8vw;
	}	
	.contactNav {
		padding: 0;
	}	
	.contactNav ul li {
	  padding-top: 18vw;
	}
	.page_contact-thanks .formArea p.fs-30 {
	  padding-top: 2em;
	  margin-bottom: 1em;
		font-size: 5vw;
	}	
	.contactHead .telArea {
	  padding-top: 4vw;
		padding-bottom: 0;
	}
	.page_contact .contactNav {
		padding: 6vw 0;
	}
	.formWrap {
	  display: block;
	  width: 100%;
	  border-collapse: separate;
	  border-spacing: 0;
	  border-top: 1px solid #000;
	  border-left: 1px solid #000;
	  border-right: 1px solid #000;
	  border-bottom: 1px solid #000;
	  border-radius: 5vw;
	  overflow: hidden;
	  margin-bottom: 6vw;
	}	
	.formWrap li {
	  display: block;
	}	
	.formWrap li .formTh {
	  display: block;
	  padding: 3vw 4vw;
	  border-right: none;
	  border-bottom: 1px solid #000;
	}	
	.formWrap li .formTd {
	  display: block;
	  padding: 3vw 4vw;
	  border-bottom: 1px solid #000;
	}
	.formWrap li .formTh .text {
	  font-size: 3.8vw;
		display: inline-block;
		position: relative;
		padding-right: 12vw;
	}	
	.formWrap li .formTd input, .formWrap li .formTd textarea {
	  width: 100%;
	  border: 1px solid #a0a0a0;
	  border-radius: 3vw;
	  font-size: 3.8vw;
	}
	.formWrap li:nth-last-child(1) .formTh {
	  border-bottom: 1px solid #000;
	}	
	.formArea .rules .orange::before {
	  bottom: -2px;
	}
	.page_contact .cf7mls-btns .cf7mls_next.action-button, .page_contact .cf7mls-btns .cf7mls_back.action-button {
	  margin: 0;
	  padding: 0;
	}	
	.page_contact .cf7mls_next.action-button {
	  margin: 0;
	  width: 82vw;
	  height: 13vw;
	  min-width: 13vw;
	  border-radius: 4vw;
	}	
	.formWrap li .formTh.hissu .text::after {
	  font-size: 2.8vw;
	  right: 0;
	}
	.formWrap li .formTh.ninni .text::after {
	  font-size: 2.8vw;
	  right: 0;
	}
	.formArea .rules {
	  margin-bottom: 6vw;
	}
	.page_contact .wpcf7-spinner {
	  display: none;
	}
	.page_contact form.cf7mls input.wpcf7-form-control.wpcf7-submit {
		  margin: 0 auto 5vw;
		  width: 82vw;
		  height: 13vw;
		  min-width: 13vw;
		  border-radius: 4vw;
		float: none;
		text-align: center;
		display: block;
	}
	.page_contact .cf7mls-btns.cf7mls-btns-last-step .cf7mls_back.action-button {
		  margin: 0 auto;
		  width: 82vw;
		  height: 13vw;
		  min-width: 13vw;
		  border-radius: 4vw;
		float: none;
		text-align: center;
		display: block;
	}	
}

/* ========================================
   DOWNLOAD ARCHIVE
======================================== */

.downloadArchive {
    padding: 0 0 120px;
}
.downloadArchive .inner > p {
	margin-bottom: 1em;
}
.download .downloadList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px 30px;
    list-style: none;
    padding: 60px 0;
    margin: 0;
}

.downloadList > li {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.downloadImg {
    display: block;
    overflow: hidden;
    border-radius: 25px;
    border: 1px solid #777;
    aspect-ratio: 1.55;
}

.downloadImg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.downloadImg:hover img {
    transform: scale(1.05);
}

/* カテゴリー */

.downloadCategory {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 20px;
}

.downloadCategory span {
    display: inline-block;
    background: #ff9018;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    padding: 3px 20px;
}

/* タイトル */

.downloadTitle {
    font-weight: bold;
    line-height: 1.5;
    margin: 12px 0;
}

.downloadTitle a {
	font-size: inherit;
    color: inherit;
    text-decoration: none;
}
.download .downloadTitle a {
	font-size: 20px;
    color: inherit;
    text-decoration: none;
}
/* 概要 */

.downloadDesc {
    line-height: 1.8;
    margin: 0 0 25px;
    white-space: normal;
}

/* ボタン */

.downloadBtn {
    text-align: center;
    margin-top: auto;
}

.downloadBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 50px;
    padding: 10px 18px;
    border: 1px solid #000;
    border-radius: 15px;
    color: #000;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    transition: .3s;
}

.downloadBtn a:hover {
    background: #000;
    color: #fff;
}

.downloadBtn .icon {
    display: block;
    width: 14px;
    height: 15px;
	background: center / 100% auto url("../img/icn_download.png") no-repeat;
}

/* ========================================
   TABLET
======================================== */

@media screen and (max-width: 1024px) {
    .downloadList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 25px;
    }
}

/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
    .downloadArchive {
        padding: 6vw 0;
    }
    .downloadArchive .inner > p {
		text-align: left;
		line-height: 1.8;
		margin-bottom: 1em;
	}
	.download .downloadList,
    .downloadList {
        grid-template-columns: 1fr;
        gap: 9vw;
		padding: 0 0 6vw;
    }
	.downloadBtn {
	  margin: 4vw auto;
	}	

    .downloadImg {
        border-radius: 5vw;
    }

    .downloadTitle {
        font-size: 4vw;
		padding: 0;
		margin: 0.3em 0 0.6em;
    }
	.downloadCategory span {
	  font-size: 3.2vw;
	  padding: 0.2em 1em;
	}	
	.downloadCategory {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 5px;
	  margin-top: 20px;
	}
	.downloadBtn a {
	  gap: 2vw;
	  padding: 4vw 4vw;
	  border-radius: 2vw;
		width: 82vw;
		margin: 0 auto;
	}
	.downloadBtn .icon {
	  width: 3.4vw;
	  height: 3.4vw;
	  background: center/ contain url("../img/icn_download.png") no-repeat;
	}	
	.downloadDesc {
	  margin: 0 0 4vw;
	}
	
}
.pagenation {
	padding-top: 60px;
}
.pagenation ul {
	display: block;
	font-size: 0;
	text-align: center;
}
.pagenation ul li {
	display: inline-block;
	margin: 0 10px;
}
.pagenation ul li a {
	display: block;
	background-color: #f0f1f2;
	color: #000;
	width: 3em;
	height: 3em;
	line-height: 3em;
	text-align: center;
	border-radius: 10px;
	font-size: 22px;
}
.pagenation ul li span {
	display: block;
	background-color: #000;
	color: #FFF;
	width: 3em;
	height: 3em;
	line-height: 3em;
	text-align: center;
	border-radius: 10px;
	font-size: 22px;
}
@media screen and (max-width: 767px) {
	.pagenation {
		padding-top: 6vw;
	}
	.pagenation ul li {
		display: inline-block;
		margin: 0 2vw;
	}
	.pagenation ul li a {
		border-radius: 1.5vw;
		font-size: 3.8vw;
	}
	.pagenation ul li span {
		border-radius: 1.5vw;
		font-size: 3.8vw;
	}
}



/* ========================================
   DOWNLOAD SINGLE
======================================== */

.downloadSingle {
    width: 92vw;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 0 120px;
}

.downloadSingleIn {
    display: grid;
    grid-template-columns: minmax(0, 600px) minmax(0, 400px);
    gap: 100px;
    max-width: 1100px;
    margin: 0 auto;
    align-items: start;
}

/* 資料情報 */
.downloadSingleDetail,.downloadSingleForm {
	position: relative;
}

.downloadSingleImg {
    overflow: hidden;
    border-radius: 25px;
    border: 1px solid #999;
}

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

.downloadSingleOutline {
    margin-top: 35px;
}

.downloadSingleOutline h2 {
    font-weight: bold;
    line-height: 1.5;
    margin: 0 0 1em;
}

.downloadSingleDesc {
    line-height: 2;
}

/* フォーム */

.downloadSingleForm h2 {
    margin-bottom: 1em;
}

.downloadSingleForm .formLead {
    margin-bottom: 1em;
    line-height: 1.8;
}

.downloadSingleForm .formLead a {
	font-size: inherit;
    line-height: inherit;
}

/* フォームテーブル */

.downloadFormTable {
    border: 1px solid #999;
    border-radius: 20px;
    overflow: hidden;
	background-color: #FFF;
}

.downloadFormTable dl {
    margin: 0;
}

.downloadFormTable dl + dl {
    border-top: 1px solid #999;
}

.downloadFormTable dt {
    display: flex;
    align-items: center;
    gap: 0.5em;
    background: #f0f0f0;
    padding: 0.75em 0.9375em;
    font-weight: bold;
}

.downloadFormTable dt .required {
    background: #d90000;
    color: #fff;
    line-height: 1;
    padding: 0.2em 0.33em;
}

.downloadFormTable dd {
    margin: 0;
    padding: 0.75em 0.9375em;
	font-weight: 500;
}

.downloadFormTable input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #999;
    border-radius: 12px;
    padding: 0.8125em 0.9375em;
    background: #fff;
	font-size: 16px;
	font-weight: 500;
}

.downloadFormTable input:focus {
    outline: none;
    border-color: #ff9018;
}

/* 送信ボタン */

.downloadSubmit {
    margin-top: 2.5em;
}

.downloadSubmit input[type="submit"] {
    display: block;
    width: 100%;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 1em;
    font-weight: bold;
    cursor: pointer;
    transition: opacity .3s;
	font-size: 18px;
}

.downloadSubmit input[type="submit"]:hover {
    opacity: .7;
}

.download .formArea {
    padding-top: 12px;
}

/* ========================================
   TABLET
======================================== */

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

    .downloadSingleIn {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
        gap: 40px;
    }

}

/* ========================================
   SP
======================================== */

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

    .downloadSingle {
        width: 92vw;
        padding: 10.67vw 0 21.33vw;
    }

    .downloadSingleIn {
        grid-template-columns: 1fr;
        gap: 3vw;
    }

    .downloadSingleImg {
        border-radius: 5vw;
        border-width: 0.267vw;
    }

    .downloadSingleOutline {
        margin-top: 6vw;
        margin-bottom: 1em;
    }

    .downloadSingleOutline h2 {
        margin-bottom: 1em;
    }

    .downloadFormTable {
        border-width: 0.267vw;
        border-radius: 5.33vw;
    }

    .downloadFormTable dl + dl {
        border-top-width: 0.267vw;
    }

    .downloadFormTable input {
        border-width: 0.267vw;
        border-radius: 3.2vw;
		font-size: 3.8vw;
    }

    .downloadSubmit input[type="submit"] {
        border-radius: 2.67vw;
		font-size: 4vw;
    }

    .download .formArea {
        padding-top: 3.2vw;
    }

}

/* ========================================
   DOWNLOAD COMPLETE
======================================== */

.downloadComplete {
    width: 92vw;
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 120px;
}

.downloadCompleteIn {
    width: 100%;
    margin: 0 auto;
}
.downloadCompleteIn > * {
	position: relative;
}
.downloadCompleteIn > .circles {
	position: absolute;
}
/* 見出し */

.downloadComplete h2 {
    line-height: 1.5;
    margin-bottom: 0.5em;
}

.downloadCompleteLead {
    line-height: 1.5;
    margin-bottom: 2em;
}

.downloadCompleteText {
    line-height: 1.8;
    margin-bottom: 3em;
}

/* ========================================
   DOWNLOAD BOX
======================================== */

.downloadCompleteBox {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    border: 1px solid #999;
    border-radius: 20px;
    overflow: hidden;
	text-align: center;
	position: relative;
	background-color: #FFF;
}

.downloadCompleteBoxIn {
    padding: 50px 0;
	display: inline-block;
}

.downloadCompleteBoxIn > p:first-child {
    margin-bottom: 0.5em;
}

.downloadCompleteBox h3 {
    line-height: 1.5;
    margin-bottom: 2em;
}

/* ダウンロードボタン */

.downloadCompleteBtn {
    text-align: center;
    margin-bottom: 3em;
}

.downloadCompleteBtn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75em;
    min-width: 350px;
    padding: 1.25em 2em;
    background: #000;
    color: #fff;
    border-radius: 12px;
    text-decoration: none;
    transition: opacity .3s;
}

.downloadCompleteBtn a:hover {
    opacity: .7;
}

.downloadCompleteBtn .icon {
    display: block;
    width: 1em;
    height: 1em;
	background: center / contain url("../img/icn_download_white.png") no-repeat;
}

/* 注意書き */

.downloadCompleteNote {
    width: fit-content;
    margin: 0 auto 2em;
    line-height: 1.8;
}
.downloadCompleteNote p {
	line-height: 1.8;
    margin: 0;
}

/* 資料URL */

.downloadCompleteUrl {
    width: 100%;
}

.downloadCompleteUrl p {
    line-height: 1.8;
    margin: 0;
}

.downloadCompleteUrl a {
    color: inherit;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.downloadCompleteUrl a:hover {
    text-decoration: underline;
}

/* ========================================
   BOTTOM
======================================== */

.downloadCompleteBottom {
    padding-top: 50px;
}

.downloadCompleteBottom > p {
    line-height: 2;
    margin-bottom: 3em;
}

/* 無料相談 */

.downloadCompleteContact {
    text-align: center;
    margin-bottom: 2em;
}

.downloadCompleteContact a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 450px;
    max-width: 100%;
    min-height: 100px;
    margin: 0 auto;
    padding: 1em;
    background: #ff9018;
    color: #fff;
    border-radius: 25px;
    text-decoration: none;
    transition: opacity .3s;
}

.downloadCompleteContact a:hover {
    opacity: .7;
}

/* ホームへ戻る */

.downloadCompleteHome {
    text-align: center;
}

.downloadCompleteHome a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 350px;
    max-width: 100%;
    min-height: 75px;
    margin: 0 auto;
    padding: 1em;
    background: #000;
    color: #fff;
    border-radius: 20px;
    text-decoration: none;
    transition: opacity .3s;
}

.downloadCompleteHome a:hover {
    opacity: .7;
}

/* ========================================
   TABLET
======================================== */

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

    .downloadCompleteBox {
        max-width: 90%;
    }

}

/* ========================================
   SP
======================================== */

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

    .downloadComplete {
        padding-bottom: 16vw;
    }

    .downloadComplete h2 {
        line-height: 1.5;
        margin-bottom: 0.75em;
    }

    .downloadCompleteLead {
        margin-bottom: 1.5em;
    }

    .downloadCompleteText {
		text-align: left;
        margin-bottom: 2.5em;
    }

    .downloadCompleteBox {
        max-width: 100%;
        border-width: 0.267vw;
        border-radius: 5vw;
    }

    .downloadCompleteBoxIn {
        padding-top: 8vw;
    }

    .downloadCompleteBox h3 {
        margin-bottom: 2em;
    }

    .downloadCompleteBtn {
        margin-bottom: 2em;
        padding: 0 4vw;
    }

    .downloadCompleteBtn a {
        min-width: 0;
        width: 100%;
        border-radius: 3vw;
    }

    .downloadCompleteNote {
        max-width: 100%;
        padding: 0 4vw;
        margin-bottom: 0;
    }

    .downloadCompleteUrl {
        border-top-width: 0.267vw;
        padding: 1.5em 4vw;
    }

    .downloadCompleteBottom {
        padding-top: 10vw;
    }

    .downloadCompleteBottom > p {
        margin-bottom: 2.5em;
    }

    .downloadCompleteContact {
        margin-bottom: 2em;
    }

    .downloadCompleteContact a {
        width: 100%;
        min-height: 16vw;
        border-radius: 5vw;
    }

    .downloadCompleteHome a {
        width: 85%;
        min-height: 14vw;
        border-radius: 4vw;
    }
	.downloadCompleteIn {
		padding: 8vw 0 6vw;
	}
}
.page_guide .secHead {
	margin-bottom: 65px;
}
.page_guide .sec_consul .consul_q {
}
.page_guide .sec_consul .consul_q ul {
	text-align: center;
	display: block;
	font-size: 0;
	padding-bottom: 70px;
	position: relative;
}
.page_guide .sec_consul .consul_q ul::after {
	content: "";
	display: table-cell;
	width: 500px;
	height: 30px;
	border-top: 30px solid #9f9f9f;
	border-left: 250px solid transparent;
	border-right: 250px solid transparent;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	box-sizing: border-box;
}
.page_guide .sec_consul .consul_q ul li {
	display: inline-block;
	width: 31%;
	margin-right: 2%;
	background-color: #f0f1f2;
	height: 110px;
	position: relative;
	border-radius: 30px;
}
.page_guide .sec_consul .consul_q ul li:nth-child(1)::after {
	content: "";
	display: table-cell;
	width: 72px;
	height: 98px;
	background: center / contain url("../img/guide/consul_01.png") no-repeat;
	position: absolute;
	left: 75px;
	top: -85px;
}
.page_guide .sec_consul .consul_q ul li:nth-last-child(1) {
	margin-right: 0;
}
.page_guide .sec_consul .consul_q ul li .text {
	display: table-cell;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 100%;
	text-align: center;
	line-height: 1.6;
}
.page_guide .sec_consul .consul_a {
}
.page_guide .sec_consul .consul_a .consul_a_text {
	background-color: #ffecc4;
	border-radius: 30px;
	padding: 20px 75px 25px;
	position: relative;
}
.page_guide .sec_consul .consul_a .consul_a_text::after {
	content: "";
	display: table-cell;
	width: 100px;
	height: 110px;
	background: center / contain url("../img/guide/consul_02.png") no-repeat;
	position: absolute;
	right: 55px;
	bottom: 0;
}
.page_guide .sec_consul .consul_a .consul_a_text p {
	line-height: 1.6;
}
.page_guide .sec_consul {
	padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
	.page_guide .sec_consul {
		padding: 11vw 0;
	}	
	.page_guide .secHead {
	  margin-bottom: 6vw;
	}	
	.page_guide .sec_consul .consul_q ul li {
	  display: block;
	  width: 100%;
	  margin-right: 0;
	  height: 14.6vw;
	  border-radius: 4vw;
		margin-bottom: 3vw;
		padding: 3vw 2vw;
	}
	.page_guide .sec_consul .consul_q ul li:nth-last-child(1) {
		margin-bottom: 0;
	}
	.page_guide .sec_consul .consul_q ul li .text {
		line-height: 1.3;
	}	
	.page_guide .sec_consul .consul_q ul li:nth-child(1)::after {
		display: none;
	}	
	.page_guide .sec_consul .consul_q ul li:nth-child(2)::after {
		content: "";
		display: table-cell;
		background: center / contain url("../img/guide/consul_01.png") no-repeat;
		width: 9.6vw;
		height: 13vw;
		position: absolute;
		left: 8vw;
		bottom: -2vw;
	}
	.page_guide .sec_consul .consul_q ul {
	  padding-bottom: 9.3vw;
	}

	.page_guide .sec_consul .consul_q ul::after {
	  width: 66vw;
	  height: 4vw;
	  border-top: 4vw solid #9f9f9f;
	  border-left: 33vw solid transparent;
	  border-right: 33vw solid transparent;
	  bottom: 3vw;
	}	
	.page_guide .sec_consul .consul_a .consul_a_text {
	  border-radius: 4vw;
	  padding: 4vw 12vw 4vw 4vw;
	}	
	.page_guide .sec_consul .consul_a .consul_a_text::after {
	  width: 13vw;
	  height: 14.6vw;
	  right: 4.2vw;
	  bottom: 0;
	}	

}

/* ========================================
   GUIDE COMPARE
======================================== */
.sec_compare {
	padding-top: 80px;
	padding-bottom: 95px;
	background-color: #f0f1f2;
	margin-bottom: 40px;
}
.guideCompare {
    width: 100%;
}
.guideCompare .inner {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto;
}
.compareTable {
    position: relative;
    isolation: isolate;
    width: 100%;
    box-sizing: border-box;
}
.compareRow {
    display: grid;
    grid-template-columns: 250px 425px 425px;
    min-height: 89px;
}
.compareRow > div {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 18px 25px;
    line-height: 1.65;
    box-sizing: border-box;
    min-width: 0;
}
.compareLabel {
    background: #fff8e9;
    border-left: 1px solid #777;
}
.compareOld {
    background: #fff;
}
.compareNew {
    background: #fff;
}
.compareRow:not(.compareHead) > div {
    border-bottom: 1px solid #777;
}
.compareTable::before {
    content: "";
    position: absolute;
    top: 60px;
    bottom: 0;
    left: 250px;
    width: 4px;
    background: #9ccfdb;
    z-index: 5;
}
.compareTable::after {
    content: "";
    position: absolute;
    top: 60px;
    bottom: 0;
    left: 671px;
    width: 4px;
    background: #ff8c18;
    z-index: 5;
	border-left: 4px solid #9ccfdb;
}
.compareRow:not(.compareHead) .compareNew {
    border-right: 4px solid #ff8c18;
}

/* ========================================
   HEADER
======================================== */

.compareRow.compareHead {
    height: 60px;
    min-height: 60px;
}

.compareHead > div {
    padding: 10px 20px;
    line-height: 1.4;
    text-align: center;
    border: none;
}
.compareHead .compareLabel {
    background: transparent;
    border: none;
	font-weight: 500;
}
.compareHead .compareOld {
    background: transparent;
    z-index: 1;
	font-weight: 500;
}
.compareHead .compareOld::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #9ccfdb;
    border-radius: 30px 30px 0 0;
    z-index: -1;
}
.compareHead .compareNew {
    background: transparent;
    color: #fff;
    z-index: 1;
	font-weight: 500;
}

.compareHead .compareNew::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #ff8c18;
    border-radius: 30px 30px 0 0;
    z-index: -1;
}

/* ========================================
   外枠・角丸
======================================== */
.compareRow:nth-child(2) .compareLabel {
    border-top: 1px solid #777;
    border-top-left-radius: 30px;
}
.compareRow:last-child .compareLabel {
    border-bottom-left-radius: 30px;
}
.compareRow:last-child .compareOld {
    border-bottom: 4px solid #9ccfdb;
}
.compareRow:last-child .compareNew {
    border-bottom: 4px solid #ff8c18;
    border-bottom-right-radius: 30px;
}
.compareRow:last-child .compareLabel {
    border-bottom: 1px solid #777;
}
.compareRow > div > span {
	display: inline-block;
	font-weight: 500;
	
}

.compareRow > div {
    display: block;
    align-content: center;
	font-weight: 500;
}
.compareRow .fs-18 {
	font-weight: 600;
}
.compareRow .marker {
    display: inline;
	font-weight: 600;
    width: auto;
    background: linear-gradient(
        to bottom,
        transparent 60%,
        #ffe72f 60%,
        #ffe72f 90%,
        transparent 90%
    );
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}
.compareRow .art01,
.compareRow .art02,
.compareRow .art03,
.compareRow .art04
{
	position: relative;
	line-height: 1.6;
}
.compareRow .art01::after {
	content: "";
	display: table-cell;
	width: 23px;
	height: 26px;
	background: center / contain url("../img/guide/comtable_01.png") no-repeat;
	position: absolute;
	right: -36px;
	top: 50%;
	transform: translateY(-50%);
}
.compareRow .art02::after {
	content: "";
	display: table-cell;
	width: 25px;
	height: 29px;
	background: center / contain url("../img/guide/comtable_02.png") no-repeat;
	position: absolute;
	right: -50px;
	top: 50%;
	transform: translateY(-50%);
}
/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
    .compareRow .compareOld,
    .compareRow .compareNew {
        display: block;
        align-content: center;
    }

    .compareRow .compareOld span,
    .compareRow .compareNew span {
        display: inline;
    }	
	.sec_compare {
	  padding-top: 9vw;
	  padding-bottom: 9vw;
	  margin-bottom: 6vw;
	}	
    .guideCompare {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .guideCompare .inner {
        width: 100%;
        max-width: none;
		padding: 4vw;
    }
    .compareTable {
        width: 900px;
    }
    .compareRow {
        grid-template-columns: 200px 350px 350px;
        min-height: 80px;
    }
    .compareRow > div {
        padding: 15px 20px;
    }
    .compareTable::before {
        left: 200px;
    }
    .compareTable::after {
        left: 546px;
    }
    .compareHead .compareOld::before,
    .compareHead .compareNew::before {
        border-radius: 20px 20px 0 0;
    }
    .compareRow:nth-child(2) .compareLabel {
        border-top-left-radius: 20px;
    }
    .compareRow:last-child .compareLabel {
        border-bottom-left-radius: 20px;
    }
    .compareRow:last-child .compareNew {
        border-bottom-right-radius: 20px;
    }
	.compareRow .art01::after,
	.compareRow .art02::after {
		display: none;
	}

}
.sec_guideStep {
    position: relative;
    width: 100%;
    padding: 80px 0;
    border-radius: 40px;
}
.sec_guideStep .secIn {
    width: 1100px;
    max-width: calc(100% - 40px);
    margin: 0 auto;
}
.sec_guideStep .secHead {
    margin-bottom: 40px;
    text-align: center;
}
.sec_guideStep .secHead h2 {
    margin: 0;
}
.sec_guideStep .secHead .text_jp {
    display: block;
    font-weight: bold;
    line-height: 1.5;
}

.sec_guideStep .secHead .orange {
    color: #ff8900;
}
.guideStepList {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}
.guideStepItem {
    position: relative;
    display: flex;
    align-items: center;
    gap: 30px;
    width: 900px;
    max-width: 100%;
    padding: 20px 25px;
    background: #fff;
    border-radius: 25px;
    box-sizing: border-box;
}
.guideStepItem:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -21px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    border-top: 20px solid #aaa;
    z-index: 1;
}
.guideStepNum {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-shrink: 0;
    color: #ff8900;
    font-weight: bold;
    white-space: nowrap;
}
.guideStepNum .stepText {
    font-size: 24px;
    line-height: 1;
}
.guideStepNum .stepNumber {
    font-size: 45px;
    line-height: 1;
}
.guideStepContent {
    flex: 1;
    min-width: 0;
}
.guideStepContent h3 {
    margin: 0 0 10px;
    line-height: 1.45;
}
.guideStepContent p {
    margin: 0;
    line-height: 1.8;
}
.guideStepImg {
    width: 220px;
    flex-shrink: 0;
}
.guideStepImg img {
    display: block;
    width: 100%;
    height: 145px;
    object-fit: cover;
    border-radius: 20px;
}
.guideStepItemLarge {
    display: block;
    width: 1000px;
    max-width: 100%;
    padding: 25px;
    border: 2px solid #ff8900;
    border-radius: 30px;
}

/* ========================================
   STEP 03
======================================== */

.step03 .guideStepMainImg {
    width: 100%;
    margin-bottom: 25px;
	position: relative;
}
.step03 .guideStepMainImg::after {
	content: "";
	display: table-cell;
	background: center / contain url("../img/guide/step03_imaging.png") no-repeat;
	width: 183px;
	height: 108px;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-56px) translateY(40px);
}
.step03 .guideStepMainImg img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
}

.guideStepMainContent {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.guideStepMainContent .guideStepNum {
    padding-top: 10px;
}

.guideStepMainContent .guideStepContent h3 {
    margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
	.step03 .guideStepMainImg::after {
	  width: 24.4vw;
	  height: 14.4vw;
	  position: absolute;
	  left: 50%;
	  bottom: 0;
	  transform: translateX(-56px) translateY(40px);
	}	
}
/* ========================================
   STEP 04
======================================== */

.guideStepImgList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.guideStepImgList .img {
    overflow: hidden;
    border-radius: 20px;
}

.guideStepImgList img {
    display: block;
    width: 100%;
    height: 290px;
    object-fit: cover;
}

/* ========================================
   STEP FLOW
======================================== */

.guideStepFlow {
    width: 100%;
    margin-top: 30px;
}

.guideStepFlowList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    width: 100%;
	max-width: 900px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.guideStepFlowList li {
    position: relative;
    text-align: center;
}
.guideStepFlowList li .img {
	position: relative;
}
.guideStepFlowList li:not(:last-child) .img::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -55px;
    font-weight: bold;
	display: table-cell;
	background: center / contain url("../img/guide/flow_arrow.png") no-repeat;
	width: 58px;
	height: 36px;
	transform: translateX(50%) translateY(-50%);
}

.guideStepFlowList .img {
    width: 170px;
    max-width: 100%;
    margin: 0 auto 15px;
}

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

.guideStepFlowList .flowTitle {
    margin: 0 0 8px;
    color: #ff8900;
}

.guideStepFlowList p {
    margin: 0;
    line-height: 1.6;
}

/* ========================================
   MARKER
======================================== */

.guideStepFlow .marker {
    display: inline;
    background: linear-gradient(
        transparent 65%,
        #ffe72f 65%
    );
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

/* ========================================
   FLOW RESULT
======================================== */

.guideStepFlowResult {
    position: relative;
    width: 80%;
    margin: 35px auto 0;
    padding-top: 60px;
	padding-bottom: 40px;
    text-align: center;
}

.guideStepFlowResult::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 600px;
    height: 30px;
	transform: translateX(-50%);
	border-top: 30px solid #ffdaa0; 
	border-left: 300px solid transparent;
	border-right: 300px solid transparent;
	box-sizing: border-box;
}
.guideStepFlowResult .markerOrange {
    position: relative;
    display: inline-block;
    background: none;
    z-index: 0;
}

.guideStepFlowResult .markerOrange::before {
    content: "";
    position: absolute;
    width: 110%;
    height: 0.6em;
    left: 50%;
    bottom: -0.4em;
    transform: translateX(-50%);
    background: #ffb13b;
    z-index: -1;
}.guideStepFlowResult .marker {
    font-weight: bold;
}

/* ========================================
   SP
======================================== */

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

    .sec_guideStep {
        padding: 12vw 0;
        border-radius: 6vw;
        background-size: 3vw 3vw;
    }

    .sec_guideStep .secIn {
        width: 82vw;
        max-width: none;
    }

    .sec_guideStep .secHead {
        margin-bottom: 8vw;
    }

    /* STEP LIST */

    .guideStepList {
        gap: 5vw;
    }
    .guideStepItem {
        width: 100%;
        flex-wrap: wrap;
        gap: 3vw;
        padding: 52vw 4vw 5vw;
        border-radius: 4vw;
    }
    .guideStepNum {
        width: 100%;
        gap: 2vw;
    }
    .guideStepNum .stepText {
        font-size: 3.5vw;
    }
    .guideStepNum .stepNumber {
        font-size: 7vw;
    }
    .guideStepContent {
        width: 100%;
        flex: none;
    }
    .guideStepContent h3 {
        margin-bottom: 2vw;
    }
    .guideStepContent p {
        line-height: 1.7;
    }
    .guideStepImg {
        width: 90%;
		position: absolute;
		top: 4vw;
		left: 4vw;
    }
    .guideStepImg img {
        width: 100%;
        height: 45vw;
        border-radius: 3vw;
    }
    .guideStepItem:not(:last-child)::after {
        bottom: -4vw;
        border-left-width: 8vw;
        border-right-width: 8vw;
        border-top-width: 4vw;
    }
    .guideStepItemLarge {
        padding: 4vw;
        border-width: 2px;
        border-radius: 5vw;
    }
    .step03 .guideStepMainImg {
        margin-bottom: 8vw;
    }
    .step03 .guideStepMainImg img {
        border-radius: 3vw;
    }
    .guideStepMainContent {
        display: block;
    }
    .guideStepMainContent .guideStepNum {
        margin-bottom: 3vw;
        padding-top: 0;
    }
    .guideStepMainContent .guideStepContent h3 {
        margin-bottom: 3vw;
		font-size: 5vw;
    }
    .guideStepImgList {
        margin-bottom: 5vw;
		gap: 4vw;
    }
    .guideStepImgList .img {
        border-radius: 3vw;
    }
    .guideStepImgList img {
        height: auto;
		width: 100%;
    }
    .guideStepFlow {
        margin-top: 8vw;
    }
    .guideStepFlowList {
		display: block;
    }
    .guideStepFlowList li {
		display: block;
		padding-left: 24.3vw;
		position: relative;
		margin-bottom: 11vw;
	}
    .guideStepFlowList li:nth-last-child(1) {
		margin-bottom: 0;
	}
	.guideStepFlowList li .img {
		position: absolute;
		left: 0;
		top: 50%;
		width: 21vw;
		transform: translateY(-50%);
	}

    .guideStepFlowList .img {
        width: 35vw;
        margin-bottom: 3vw;
    }
    .guideStepFlowList .flowTitle {
        margin-bottom: 2vw;
    }
	.guideStepFlowList li:not(:last-child) .img::after {
	  content: "";
	  position: absolute;
	  top: auto;
		bottom: -9vw;
	  right: auto;
		left: 50%;
	  width: 7.7vw;
	  height: 4.8vw;
	  transform: translateX(-50%) translateY(0) rotate(90deg);
		transform-origin: 50%;
	}
    .guideStepFlowResult {
        width: 100%;
        margin-top: 8vw;
        padding-top: 8vw;
    }
    .guideStepFlowResult::before {
        height: 5vw;
    }
	.guideStepFlowResult::before {
	  width: 56vw;
	  height: 4vw;
	  transform: translateX(-50%);
	  border-top: 4vw solid #ffdaa0;
	  border-left: 28vw solid transparent;
	  border-right: 28vw solid transparent;
	  box-sizing: border-box;
	}	

}


/* ========================================
   GUIDE SERVICE
======================================== */

.sec_guideService {
    width: 100%;
	padding: 100px 0;
}

.sec_guideService .secIn {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto;
}

/* ========================================
   SECTION HEAD
======================================== */

.sec_guideService .secHead {
    margin-bottom: 45px;
}

.sec_guideService .secHead h2 {
    margin: 0;
}

.sec_guideService .secHead .text_jp {
    display: block;
    text-align: center;
    line-height: 1.4;
}

.sec_guideService .secHead .block {
    display: block;
}

.sec_guideService .secHead .orange {
    color: #ff8c18;
}

/* ========================================
   LEAD
======================================== */

.guideServiceLead {
    position: relative;
    display: block;
	text-align: center;
    width: 900px;
    max-width: 100%;
    margin: 0 auto 50px;
	padding: 15px 0;
    background: #ffedc5;
    border-radius: 30px;
    box-sizing: border-box;
}
.guideServiceLead p {
	display: inline-block;
	line-height: 1.5;
	padding-right: 117px;
	position: relative;
}
.guideServiceLead p::after {
	content: "";
	display: table-cell;
	background: center / contain url("../img/guide/consul_02.png") no-repeat;
	width: 100px;
	height: 110px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* ========================================
   SERVICE LIST
======================================== */

.guideServiceList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 32px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* ========================================
   SERVICE CARD
======================================== */

.guideServiceList li {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
    min-height: 270px;
    padding: 30px 28px 25px;
    background: #fff;
    border: 1px solid #777;
    border-radius: 30px;
    box-sizing: border-box;
}

/* ========================================
   ICON
======================================== */

.guideServiceList li .img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 80px;
    margin: 0 auto 12px;
}

.guideServiceList li .img img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* ========================================
   TITLE
======================================== */

.guideServiceList li h3 {
    width: 100%;
    margin: 0 0 10px;
    line-height: 1.4;
    text-align: center;
}

/* ========================================
   TEXT
======================================== */

.guideServiceList li p {
    width: 100%;
    margin: 0;
    line-height: 1.85;
    text-align: left;
}

/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
    .sec_guideService .secIn {
        width: 90%;
        max-width: none;
    }
    .sec_guideService .secHead {
        margin-bottom: 7vw;
    }
    .guideServiceLead {
        width: 100%;
        min-height: 30vw;
        margin-bottom: 4vw;
        padding: 5vw 24vw 5vw 5vw;
        border-radius: 5vw;
    }
    .guideServiceLead p {
        line-height: 1.5;
    }
    .guideServiceLead p br {
        display: none;
    }
    .guideServiceLead .img {
        right: 2vw;
        bottom: 0;
        width: 20vw;
    }
	.guideServiceLead p {
	  display: inline-block;
	  line-height: 1.5;
	  padding-right: 0;
	  position: relative;
	}	
    .guideServiceList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3vw;
    }
	.guideServiceLead p::after {
	  width: 19.46vw;
	  height: 21.6vw;
	  position: absolute;
	  right: 0;
	  top: auto;
		bottom: 0;
	  transform: translateX(110%) translateY(0);
	}	
    .guideServiceList li {
        min-height: 0;
        padding: 3vw;
        border-radius: 5vw;
    }
    .guideServiceList li .img {
        width: 18vw;
        height: 16vw;
        margin-bottom: 3vw;
    }
    .guideServiceList li h3 {
        margin-bottom: 3vw;
    }
    .guideServiceList li p {
        line-height: 1.8;
    }
	.sec_guideService {
	  padding: 11vw 0;
	}
	
}
/* ========================================
   GUIDE TRADE
======================================== */
.sec_guideTrade {
	padding: 100px 0;
	background-color: #f0f1f2;
}
.sec_guideTrade .secIn {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto;
}

.sec_guideTrade .secHead {
    margin-bottom: 50px;
}

/* TABLE */

.guideTradeTable {
    width: 900px;
    max-width: 100%;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    border: 1px solid #777;
    border-radius: 30px;
    overflow: hidden;
    line-height: 1.85;
    font-weight: bold;
}

/* CELL */

.guideTradeTable th,
.guideTradeTable td {
    padding: 16px 28px;
    vertical-align: middle;
    box-sizing: border-box;
    border-bottom: 1px solid #777;
}

/* TH */

.guideTradeTable th {
    width: 250px;
    background: #f8f8f8;
    text-align: left;
    border-right: 1px solid #777;
}

/* TD */

.guideTradeTable td {
	line-height: 1.6;
    background: #fff;
    text-align: left;
    overflow-wrap: anywhere;
}

/* LAST ROW */

.guideTradeTable tr:last-child th,
.guideTradeTable tr:last-child td {
    border-bottom: none;
}

/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
	
	.sec_guideTrade {
	  padding: 11vw 0;
	}	
    .sec_guideTrade .secIn {
        width: 90%;
        max-width: none;
    }
    .sec_guideTrade .secHead {
        margin-bottom: 7vw;
    }

    .guideTradeTable {
        width: 100%;
        border-radius: 4vw;
        line-height: 1.7;
    }

    .guideTradeTable th,
    .guideTradeTable td {
        padding: 3vw;
		font-size: 3.8vw;
		line-height: 1.5;
    }

    .guideTradeTable th {
        width: 30%;
    }

    .guideTradeTable td {
        width: 70%;
    }
}
.sec_guideFAQ {
	padding: 100px 0;
}
.guideFAQ {
	position: relative;
}
.guideFAQ li {
	background-color: #FFF;
	border: 1px solid #000;
	border-radius: 25px;
	padding: 0 75px;
	margin-bottom: 30px;
}
.guideFAQ li .guideFAQ_q {
	display: block;
	cursor: pointer;
}
.guideFAQ li .guideFAQ_q > span {
	position: relative;
	line-height: 1.6;
	padding: 0.7em 2em 0.6em 1.5em;
}
.guideFAQ li .guideFAQ_q > span::after {
	content: "";
	display: table-cell;
	width: 16px;
	height: 11px;
	border-bottom: 11px solid #000;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	box-sizing: border-box;
	transition: 0.3s all ease;
}
.guideFAQ li.open .guideFAQ_q > span::after {
	transform: translateY(-50%) rotate(0);
}
.guideFAQ li .guideFAQ_q > span::before {
	content: "Q.";
	position: absolute;
	left: 0;
	top: 0.7em;
	line-height: inherit;
}
.guideFAQ li .guideFAQ_a {
	display: none;
}
.guideFAQ li.open .guideFAQ_a {
	display: block;
	padding: 1em 0;
}
.guideFAQ li .guideFAQ_a > span {
	border-top: 2px solid #000;
	padding: 1em 0;
	line-height: 1.6;
	font-weight: 500;
}
@media screen and (max-width: 767px) {
	.sec_guideFAQ {
	  padding: 11vw 0;
		background: center 15vw / 100% auto url("../img/case/casebg_sp.jpg") no-repeat;
	}
	.sec_guideFAQ .circles {
		display: none;
	}
	.guideFAQ li {
	  border-radius: 4vw;
	  padding: 0 4vw;
	  margin-bottom: 3vw;
	}	
	
}

.caseArchive {
	position: relative;
	background: top center / 1484px auto url("../img/case/casebg_pc.jpg") no-repeat;
	padding-bottom: 100px;
}
.archive-case footer {
	margin-top: 0;
}
/* ============================
   CASE SEARCH
============================ */
.circleBgs .circles .circle:nth-child(1) {
  left: -230px;
  top: -330px;
  border-radius: 50%;
}
.download-single .circleBgs .circles .circle:nth-child(1) {
  left: -330px;
  top: -30px;
  border-radius: 50%;
}
.circleBgs .circles .circle:nth-child(2) {
  right: -197px;
  bottom: -100px;
  border-radius: 50%;
}
.sec_caseSearch {
    padding: 60px 0;
	position: relative;
}
.sec_caseSearch .secIn {
	position: relative;
}
.sec_caseSearch .secHead {
    margin-bottom: 20px;
}
.sec_caseSearch .secHead h2 {
	padding-left: 30px;
	position: relative;
}
.sec_caseSearch .secHead h2::before {
	content: "";
	display: table-cell;
	background: left center / contain url("../img/icn_search.png") no-repeat;
	width: 22px;
	height: 22px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-40%);
}
.caseSearchRow {
    display: grid;
    grid-template-columns: 180px 1fr;
    align-items: center;
    gap: 20px;
    padding: 20px 0;
    border-top: 1px solid #888;
}

.caseSearchRow:last-of-type {
    border-bottom: 1px solid #888;
}

.caseSearchOptions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.caseSearchOption {
    display: block;
    cursor: pointer;
}

.caseSearchOption input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.caseSearchOption span {
    display: block;
    padding: 0 10px;
	line-height: 28px;
	height: 30px;
    border: 1px solid #999;
    background: #fff;
    transition: .3s;
}

.caseSearchOption input:checked + span {
    background: #f39832;
    border-color: #f39832;
    color: #fff;
}

.caseSearchOption input:focus-visible + span {
    outline: 2px solid #222;
    outline-offset: 3px;
}

@media (hover: hover) {
    .caseSearchOption:hover span {
        background: #f39832;
        border-color: #f39832;
        color: #fff;
    }
}

.caseSearchSubmit {
    margin-top: 40px;
    text-align: center;
}

.caseSearchSubmit button {
    display: block;
    width: 350px;
    max-width: 100%;
    margin: auto;
    padding: 18px 20px;
    border: none;
    border-radius: 14px;
    background: #000;
    color: #fff;
    cursor: pointer;
    transition: .3s;
}

@media screen and (max-width: 767px) {
	
	.sec_caseSearch .secHead h2::before {
	  width: 22px;
	  height: 22px;
	  position: absolute;
	  left: 0;
	  top: 50%;
	  transform: translateY(-40%);
	}	

    .sec_caseSearch {
        padding: 10vw 0;
    }

    .sec_caseSearch .secHead {
        margin-bottom: 5vw;
    }

    .caseSearchRow {
        grid-template-columns: 1fr;
        gap: 3vw;
        padding: 5vw 0;
    }

    .caseSearchOptions {
        gap: 2vw;
    }

    .caseSearchOption span {
        padding: 0 3vw;
		line-height: 8.6vw;
		height: calc(8.6vw + 2px);
    }

    .caseSearchSubmit {
        margin-top: 8vw;
    }

    .caseSearchSubmit button {
        width: 80%;
        padding: 4vw;
        border-radius: 3vw;
    }
}


/* ============================
   CASE ARCHIVE
============================ */

.sec_caseArchive {
    padding: 60px 0 100px;
}

.caseList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 50px 30px;
}

.caseItem {
    min-width: 0;
}

.caseItem > a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.caseImg {
    overflow: hidden;
    border-radius: 20px;
    aspect-ratio: 1.5 / 1;
}

.caseImg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s;
}

@media (hover: hover) {
    .caseItem a:hover .caseImg img {
        transform: scale(1.05);
    }
}

.caseInfo {
    padding-top: 15px;
}

.caseType {
    margin-bottom: 8px;
}

.caseType span {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 4px;
    color: #fff;
    background: #70b66c;
}

.caseType span.model {
    background: #e77ba6;
}

.caseInfo h3 {
    margin-bottom: 10px;
    line-height: 1.5;
}
.caseMeta {
    line-height: 1.7;
}
.caseMeta p {
	line-height: 1.3;
}
.caseMeta p + p {
    margin-top: 0.4em;
}

.caseTags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 15px;
}

.caseTags span {
    display: inline-block;
    padding: 0 0.8em;
    border: 1px solid #8c8c8c;
    border-radius: 5px;
    line-height: 28px;
	height: 30px;
	background-color: #FFF;
}

/* ============================
   SP
============================ */

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

    .sec_caseArchive {
        padding: 10vw 0 15vw;
    }

    .caseList {
        grid-template-columns: 1fr;
        gap: 10vw;
    }

    .caseImg {
        border-radius: 4vw;
    }

    .caseInfo {
        padding-top: 3vw;
    }

    .caseType {
        margin-bottom: 2vw;
    }

    .caseType span {
        padding: 1vw 2vw;
        border-radius: 1vw;
    }

    .caseInfo h3 {
        margin-bottom: 2vw;
    }

    .caseMeta p + p {
        margin-top: 1vw;
    }

    .caseTags {
        gap: 2vw;
        margin-top: 3vw;
    }

    .caseTags span {
        padding: 0 2vw;
		line-height: calc(6.6vw - 2px);
		height: 6.6vw;		
    }
	.caseArchive {
	  background: center 20vw / 100% auto url("../img/case/casebg_sp.jpg") no-repeat;
	  padding-bottom: 11vw;
	}	
}


.sec_caseIntro {
    padding: 40px 0;
}

.sec_caseIntro .secHead {
    margin-bottom: 30px;
}

.sec_caseIntro .secHead h2 {
    line-height: 1.5;
}

.sec_caseIntro .secBody p {
    line-height: 2;
}

.sec_caseIntro .secBody p + p {
    margin-top: 20px;
}

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

    .sec_caseIntro {
        padding: 12vw 0 6vw;
    }

    .sec_caseIntro .secHead {
        margin-bottom: 5vw;
    }

    .sec_caseIntro .secBody p + p {
        margin-top: 4vw;
    }
}


/* ============================
   CASE SINGLE
============================ */

.caseSingle {
    padding-bottom: 0;
}

.sec_caseDetail .secHead {
    margin-bottom: 40px;
}

.sec_caseDetail .secHead h1 {
    line-height: 1.5;
}

.caseMainImg {
    overflow: hidden;
    border-radius: 25px;
}

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

.caseDetailMeta {
    margin-top: 20px;
}

.caseDetailTags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.caseDetailTags span {
    display: inline-block;
    padding: 0 10px;
    border: 1px solid #999;
    border-radius: 3px;
    line-height: 28px;
	height: 30px;
	color: #000;
}

.caseDetailPlace {
    margin-top: 12px;
}

.caseDescription,
.caseRecommend {
    padding: 30px 75px;
    border: 1px solid #aaa;
    border-radius: 25px;
}
.caseDescription p,
.caseRecommend p {
	line-height: 1.875;
}
.caseDescription {
    margin-top: 30px;
}

.caseRecommend {
    margin-top: 20px;
}
.caseDescription h2,
.caseRecommend h2 {
    margin-bottom: 0.6em;
}

/* Gallery */

.sec_caseGallery {
    margin-top: 100px;
	margin-bottom: 90px;
}

.caseGalleryItem + .caseGalleryItem {
    margin-top: 50px;
}

.caseGalleryImg {
    overflow: hidden;
    border-radius: 25px;
}

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

.caseGalleryText {
    margin-top: 15px;
    line-height: 1.8;
}

/* Back Button */

.caseBackBtn {
    margin-top: 100px;
    text-align: center;
}

.caseBackBtn a {
    display: block;
    width: 350px;
    max-width: 100%;
    margin: auto;
    padding: 18px 20px;
    border-radius: 15px;
    background: #000;
    color: #fff;
    text-decoration: none;
    transition: .3s;
}

@media (hover: hover) {
    .caseBackBtn a:hover {
        opacity: .7;
    }
}

/* ============================
   SP
============================ */

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

    .caseSingle {
        padding-bottom: 15vw;
		padding-top: 9vw;
		background: center 10vw / 100% auto url("../img/case/casebg_sp.jpg") no-repeat;
    }

    .sec_caseDetail .secHead {
        margin-bottom: 6vw;
    }

    .caseMainImg {
        border-radius: 4vw;
    }

    .caseDetailMeta {
        margin-top: 4vw;
    }

    .caseDetailTags {
        gap: 2vw;
    }

    .caseDetailTags span {
        padding: 0 2vw;
        border-radius: 0;
		line-height: calc(6.6vw - 2px);
		height: 6.6vw;
    }

    .caseDetailPlace {
        margin-top: 3vw;
    }

    .caseDescription,
    .caseRecommend {
        padding: 5vw;
        border-radius: 4vw;
    }

    .caseDescription {
        margin-top: 6vw;
    }

    .caseRecommend {
        margin-top: 4vw;
    }

    .caseRecommend h2 {
        margin-bottom: 2vw;
    }

    .sec_caseGallery {
        margin-top: 15vw;
    }

    .caseGalleryItem + .caseGalleryItem {
        margin-top: 8vw;
    }

    .caseGalleryImg {
        border-radius: 4vw;
    }

    .caseGalleryText {
        margin-top: 3vw;
    }

    .caseBackBtn {
        margin-top: 15vw;
    }

    .caseBackBtn a {
        width: 80%;
        padding: 4vw;
        border-radius: 3vw;
    }
}

.caseType span {
    display: inline-block;
    padding: 0 8px;
    border-radius: 4px;
    color: #fff;
    background: #70b66c;
	line-height: 30px;
	height: 30px;
}

.caseType span.model {
    background: #e77ba6;
}
.caseArchive {
	
}
.caseArchive h2,
.caseArchive h2 span
{
	line-height: 1.3;
}


/* ============================
   CASE CTA
============================ */

.sec_caseCta {
    padding: 40px 0;
    border-radius: 50px;
    overflow: hidden;
	margin-top: 100px;
}

.sec_caseCta .secIn {
    display: grid;
    grid-template-columns: 1fr 1.10fr;
    align-items: center;
    gap: 10px;
}
.caseCtaText h2,
.caseCtaText h2 .block
{
    line-height: 1.35;
}
.caseCtaText p {
    margin-top: 25px;
    line-height: 1.8;
}
.caseCtaContact {
    padding: 30px 50px;
    background: #fff;
    border-radius: 50px;
}

.caseCtaContact h3 {
    margin-bottom: 25px;
}

.caseCtaBtns {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.caseCtaBtns a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100px;
    padding: 15px 20px;
    border-radius: 30px;
    text-decoration: none;
    transition: opacity .3s;
}

.caseCtaForm {
    background: #ff9015;
    color: #fff;
}

.caseCtaTel {
    background: #ffd400;
    color: #000;
}

.caseCtaTelText {
    display: block;
}

.caseCtaTelNumber {
    display: block;
    margin-top: 5px;
}

@media (hover: hover) {
    .caseCtaBtns a:hover {
        opacity: .75;
    }
}

/* ============================
   SP
============================ */

@media screen and (max-width: 1200px) {
	.sec_caseCta .secIn {
	  display: grid;
	  grid-template-columns: 1fr;
	  align-items: center;
	  gap: 40px;
		padding: 0 40px;
	}
	.caseCtaText h2, .caseCtaText h2 .block {
	  line-height: 1.35;
	}
	  .caseCtaContact h3 {
		  line-height: 1.3;
	  }	
}

@media screen and (max-width: 767px) {
	.caseCtaTel.caseCtaTelText {
		line-height: 1.2;
	} 
	.sec_caseCta .secIn {
	  display: grid;
	  grid-template-columns: 1fr;
	  align-items: center;
	  gap: 4vw;
		padding: 0 4vw;
	}
	.caseCtaText h2, .caseCtaText h2 .block {
	  line-height: 1.35;
	}	

	.sec_caseCta {
        padding: 6vw 0;
        border-radius: 6vw;
    }

    .sec_caseCta .secIn {
        grid-template-columns: 1fr;
        gap: 6vw;
    }

    .caseCtaText h2 {
        line-height: 1.4;
    }

    .caseCtaText p {
        margin-top: 4vw;
        line-height: 1.8;
    }

    .caseCtaText p br {
        display: none;
    }

    .caseCtaContact {
        padding: 6vw 5vw;
        border-radius: 6vw;
    }

    .caseCtaContact h3 {
        margin-bottom: 5vw;
    }

    .caseCtaBtns {
        gap: 3vw;
    }

    .caseCtaBtns a {
        min-height: 20vw;
        padding: 4vw;
        border-radius: 5vw;
    }

    .caseCtaTelNumber {
        margin-top: 1vw;
    }
	.caseType span {
	  display: inline-block;
	  padding: 0 1.5vw;
	  border-radius: 1vw;
	  color: #fff;
	  background: #70b66c;
	  line-height: 6.6vw;
	  height: 6.6vw;
	}	
	
}



/* ========================================
   予算別モデルプラン 比較表
======================================== */

.sec_planCompare {
    width: 100%;
}

.planCompareScroll {
    width: 100%;
}

.planCompareTable {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    text-align: center;
    line-height: 1.5;
}

/* ========================================
   カラム幅
======================================== */

.planCompareTable .colLabel {
    width: 12.7%;
}

.planCompareTable .colPlan01,
.planCompareTable .colPlan02,
.planCompareTable .colPlan03,
.planCompareTable .colPlan04 {
    width: 21.825%;
}

/* ========================================
   プランカラー
======================================== */

.planCompareTable .plan01 {
    --plan-color: #6bb84d;
    --plan-dark: #398e20;
}

.planCompareTable .plan02 {
    --plan-color: #ff8b18;
    --plan-dark: #d87500;
}

.planCompareTable .plan03 {
    --plan-color: #4475ad;
    --plan-dark: #1d4b81;
}

.planCompareTable .plan04 {
    --plan-color: #a52b68;
    --plan-dark: #7c0c43;
}

/* ========================================
   共通セル
======================================== */

.planCompareTable th,
.planCompareTable td {
    position: relative;
    padding: 15px 10px;
    vertical-align: middle;
    border: none;
    border-bottom: 1px solid #999;
    box-sizing: border-box;
}

/* 左端の見出し列 */
.planCompareTable .rowHead {
    background: #f2f2f2;
	vertical-align: middle;
	text-align: center;
}
.planCompareTable .planLinkRow .rowHead {
	border-bottom: 1px solid #909090;
}
/* ========================================
   tbody 左右の色付き罫線
======================================== */

/* 各セルが独立して左右の罫線を持つ */
.planCompareTable tbody th::before,
.planCompareTable tbody td::before,
.planCompareTable tbody th::after,
.planCompareTable tbody td::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    pointer-events: none;
    z-index: 2;
}

/* 左罫線 */
.planCompareTable tbody th::before,
.planCompareTable tbody td::before {
    left: 0;
    background: var(--plan-color, #999);
}

/* 右罫線 */
.planCompareTable tbody th::after,
.planCompareTable tbody td::after {
    right: 0;
    background: var(--plan-color, #999);
}

/* ========================================
   ヘッダー
======================================== */

.planCompareTable thead th {
    position: relative;
    height: 120px;
    padding: 0;
    border: none;
    color: #fff;
    vertical-align: middle;
}

/* 左端のグレー見出し */
.planCompareTable thead .labelHead {
    padding: 40px 10px 10px;
    background: transparent;
    isolation: isolate;
	text-align: center;
	line-height: 1.56;
	vertical-align: bottom;
}

/* 左端のグレー背景 */
.planCompareTable thead .labelHead::before {
    content: "";
    display: block;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: 80px;
    background: #909090;
    z-index: -1;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
}

/* 各プラン見出し */
.planCompareTable thead .planHead {
    position: relative;
    padding: 20px 15px 12px;
    background: transparent;
    isolation: isolate;
}

/* thの背景と上部角丸 */
.planCompareTable thead .planHead::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    background: var(--plan-color);
    border-radius: 30px 30px 0 0;
    z-index: -1;
}

/* ヘッダー内コンテンツ */
.planCompareTable .planHeadIn {
    position: relative;
    z-index: 1;
}

.planCompareTable .planNumber {
    display: block;
    width: 90%;
    margin: 0 auto 10px;
    padding: 2px 10px;
    background: var(--plan-dark);
    border-radius: 50px;
    line-height: 1.4;
}

.planCompareTable .planCatch {
    display: block;
    line-height: 1.4;
}

/* ========================================
   価格行
======================================== */

.planCompareTable .priceRow th,
.planCompareTable .priceRow td {
    height: 59px;
    padding: 10px;
}

.planCompareTable .priceRow td {
    border-bottom-color: var(--plan-color);
	background-color: #FFF;
	text-align: center;
}

.planCompareTable .priceRow small {
    display: inline;
    font-weight: inherit;
}

/* ========================================
   詳細行
======================================== */

.planCompareTable .infoRow th,
.planCompareTable .infoRow td {
    height: 59px;
    padding: 10px;
}

.planCompareTable .infoRow td {
    border-bottom-color: var(--plan-color);
	background-color: #FFF;
	text-align: center;
}

/* ========================================
   最下段 プランリンク
======================================== */

.planCompareTable .planLinkRow th,
.planCompareTable .planLinkRow td {
    height: 100px;
    padding: 0;
    border-bottom: none;
}

.planCompareTable .planLinkRow td {
    background: var(--plan-color);
}

.planCompareTable .planLinkRow td a {
    display: flex;
    width: 100%;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 12px 5px;
    color: #fff;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity .3s;
}

.planCompareTable .planLinkRow td a:hover {
    opacity: .7;
}

.planCompareTable .planNameEn,
.planCompareTable .planNameJp {
    display: block;
    line-height: 1.3;
}

/* 丸い矢印 */
.planCompareTable .planArrow {
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    margin-top: 6px;
    border-radius: 50%;
    background: #fff;
}

.planCompareTable .planArrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -30%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 9px solid var(--plan-dark);
}

/* ========================================
   SP
======================================== */

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

    .planCompareScroll {
        width: 100%;
    }
	.sec_planCompare {
	  width: 100%;
	}
    .planCompareTable {
        width: 100%;
        min-width: 0;
    }
	
    /* カラム幅 */
    .planCompareTable .colLabel {
        width: 20vw;
    }

    .planCompareTable .colPlan01,
    .planCompareTable .colPlan02,
    .planCompareTable .colPlan03,
    .planCompareTable .colPlan04 {
        width: 31vw;
    }

    .planCompareTable th,
    .planCompareTable td {
        padding: 2vw;
    }

    /* ヘッダー */
    .planCompareTable thead th {
        height: 28vw;
    }

    .planCompareTable thead .labelHead {
        padding: 4vw 2vw 2vw;
    }

    .planCompareTable thead .planHead {
        padding: 4vw 2vw 2vw;
    }

    .planCompareTable thead .planHead::before {
        border-radius: 6vw 6vw 0 0;
    }

    .planCompareTable .planNumber {
        width: 90%;
        margin-bottom: 2vw;
        padding: 1vw;
    }

    /* 価格・詳細行 */
    .planCompareTable .priceRow th,
    .planCompareTable .priceRow td,
    .planCompareTable .infoRow th,
    .planCompareTable .infoRow td {
        height: 14vw;
        padding: 2vw;
		line-height: 1.2;
    }

    /* プランリンク */
    .planCompareTable .planLinkRow th,
    .planCompareTable .planLinkRow td {
        height: auto;
    }

    .planCompareTable .planLinkRow td a {
        padding: 2vw;
    }

    .planCompareTable .planArrow {
        width: 6vw;
        height: 6vw;
        margin-top: 1.5vw;
    }

    .planCompareTable .planArrow::after {
        border-left-width: 1.3vw;
        border-right-width: 1.3vw;
        border-top-width: 2vw;
    }
	.planCompareTable .planNameEn, .planCompareTable .planNameJp {
	  display: block;
	  line-height: 1.3;
		text-align: center;
	}	

}

.sec_planIntro {
	min-height: 680px;
	background: center bottom / auto 100% url("../img/plan/intro_pc.png") no-repeat;
	margin-bottom: 75px;
}
.sec_planIntro .secIn {
	width: 92%;
	margin: 0 auto;
}
.sec_planIntro .secHead {
	margin-bottom: 30px;
}
.sec_planIntro .secBody p {
	line-height: 1.875;
}
.sec_planComparison {
	padding: 75px 0 50px;
}
.sec_planComparison .secHead {
	margin-bottom: 30px;
}
.sec_planComparison .secHead .orange {
	padding-left: 45px;
	position: relative;
	margin-bottom: 45px;
}
.sec_planComparison .secHead .orange::before {
	content: "";
	background: center / contain url("../img/plan/icn_watch.png") no-repeat;
	display: table-cell;
	width: 30px;
	height: 40px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.sec_planCompare .bottom {
	margin-top: 30px;
}
.sec_planCompare .bottom p {
	line-height: 1.6;
}



/* ========================================
   プラン詳細 共通
======================================== */

.sec_planDetail {
    --plan-color: #6bb84d;
    --plan-light: #f4faf1;
    padding: 100px 0 0;
    scroll-margin-top: 100px;
	width: 92%;
	max-width: 1100px;
	margin: 0 auto;
}

.sec_planDetail.plan01 {
    --plan-color: #6bb84d;
    --plan-light: #f4faf1;
}

.sec_planDetail.plan02 {
    --plan-color: #ff8b18;
    --plan-light: #fffaf5;
}

.sec_planDetail.plan03 {
    --plan-color: #4475ad;
    --plan-light: #f6f9fd;
}

.sec_planDetail.plan04 {
    --plan-color: #a52b68;
    --plan-light: #fdf5f9;
}

.sec_planDetail {
	position: relative;
	margin-bottom: 50px;
}
.sec_planDetail .secIn {
	position: relative;
}
.sec_planDetail.bgR::before {
	content: "";
	display: table-cell;
	width: calc(50vw + 50% + 150px);
	height: calc(100% - 490px);
	position: absolute;
	left: -150px;
	top: 550px;
	background-color: #e8f2e4;
	border-top-left-radius: 50px;
	border-bottom-left-radius: 50px;
}
.sec_planDetail.bgL::before {
	content: "";
	display: table-cell;
	width: calc(50vw + 50% + 150px);
	height: calc(100% - 490px);
	position: absolute;
	right: -150px;
	top: 550px;
	background-color: #f9efe4;
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
}

.sec_planDetail.plan03.bgR::before {
	background-color: #e5edf8;
}
.sec_planDetail.plan04.bgL::before {
	background-color: #f3e7ec;
}
/* ========================================
   プラン見出し
======================================== */

.planDetailHead {
    margin-bottom: 40px;
}

.planDetailNumber {
    display: block;
    width: 150px;
    margin: 0 auto 15px;
    padding: 3px 15px;
    border-radius: 50px;
    background: var(--plan-color);
    color: #fff;
    line-height: 1.4;
}

.planDetailTitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0;
    color: var(--plan-color);
    line-height: 1.4;
}

.planDetailSubtitle {
    display: inline-block;
    padding: 0;
	color: #000;
}
.planDetailSubtitle::before {
	content: "｜";
	color: #000;	
}
/* ========================================
   メイン画像
======================================== */

.planDetailMainImg {
    width: 100%;
    aspect-ratio: 1.84 / 1;
    border-radius: 25px;
    overflow: hidden;
}

.planDetailMainImg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================
   キャッチコピー
======================================== */

.planDetailCatch {
    margin: 45px 0 25px;
    line-height: 1.5;
}

/* ========================================
   プラン概要・予算
======================================== */

.planDetailOverview {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 55px;
}

.planDetailLead {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1.8;
}

.planDetailLead li {
    position: relative;
    padding-left: 1em;
	line-height: 1.875;
	font-weight: 500;
}

.planDetailLead li::before {
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
}

.planDetailBudget {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    width: 48%;
    min-height: 85px;
    padding: 15px 25px;
    border: 2px solid var(--plan-color);
    border-radius: 25px;
    background: var(--plan-light);
    box-sizing: border-box;
}

.planDetailBudget .budgetLabel {
    flex-shrink: 0;
    color: var(--plan-color);
}

.planDetailBudget .budgetPrice {
    white-space: nowrap;
    line-height: 1.3;
	font-weight: bold;
}
.planDetailBudget .budgetPrice > span {
	font-weight: bold;
}
.planDetailBudget .budgetPriceList {
    flex: 1;
    min-width: 0;
}

.planDetailBudget .budgetPriceList p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 0;
    padding: 6px 0;
    line-height: 1.3;
}

.planDetailBudget .budgetPriceList p + p {
    border-top: 1px solid var(--plan-color);
}

/* ========================================
   おすすめ・ポイント
======================================== */

.planDetailIntro {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    margin-bottom: 50px;
}

.planIntroBox {
    position: relative;
    padding: 30px 25px 25px;
    background: #fff;
    border-radius: 25px;
    box-sizing: border-box;
}

.planIntroBox h3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0;
    transform: translateY(-50%);
    color: var(--plan-color);
    line-height: 1.4;
}

.planIntroText {
    line-height: 1.8;
}

.planIntroText p {
    margin: 0;
	line-height: 1.875;
	font-weight: 500;
}

.planIntroText ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.planIntroText li {
    position: relative;
    padding-left: 1em;
	line-height: 1.875;
	font-weight: 500;
}

.planIntroText li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}


/* ========================================
   注釈
======================================== */

.planDetailNote {
    margin: 12px 0 45px;
    line-height: 1.7;
	font-weight: 500;
}


/* ========================================
   施工内容・工期テーブル 共通
======================================== */

.planDetailTable,
.planDetailSchedule {
    width: 100%;
    border: 1px solid #999;
    border-radius: 12px;
    overflow: hidden;
    box-sizing: border-box;
    background: #fff;
}

.planConstructionTable,
.planScheduleTable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    text-align: center;
    line-height: 1.4;
}

/* セル共通 */
.planConstructionTable th,
.planConstructionTable td,
.planScheduleTable th,
.planScheduleTable td {
    padding: 12px 5px;
    border: none;
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    vertical-align: middle;
    box-sizing: border-box;
}

/* 最右列の縦線を削除 */
.planConstructionTable tr > :last-child,
.planScheduleTable tr > :last-child {
    border-right: none;
}

/* 最下段の横線を削除 */
.planConstructionTable tr:last-child > *,
.planScheduleTable tbody tr:last-child > * {
    border-bottom: none;
}

/* ========================================
   施工内容テーブル
======================================== */

.planConstructionTable th {
    background: #f0f1f2;
    font-weight: bold;
	text-align: center;
	line-height: 1.3;
}

.planConstructionTable td {
    background: #fff;
	text-align: center;
}

.planConstructionTable th:first-child {
    width: 7%;
	background-color: #dfdfdf;
}

.planConstructionTable tr:first-child th {
    height: 45px;
}

.planConstructionTable tr:nth-child(2) th,
.planConstructionTable tr:nth-child(2) td {
    height: 40px;
}

/* ========================================
   工期テーブル
======================================== */

.planScheduleTable th,
.planScheduleTable td {
    width: 33.333%;
    padding: 12px 10px;
	text-align: center;
}

.planScheduleTable th {
    background: #f0f1f2;
    font-weight: bold;
}

.planScheduleTable td {
    background: #fff;
	font-weight: 500;
}

/* ========================================
   SP
======================================== */
@media screen and (max-width: 1200px) {
	.planCompareScroll.forSP {
		display: none;
	}
}
@media screen and (min-width: 1001px) {
	.planCompareScroll.forSP {
		display: none;
	}
}
@media screen and (max-width: 1000px) {
	.planCompareScroll.forSP {
		display: block;
	}
	.planCompareScroll.forPC {
		display: none;
	}
	.sec_planComparison > .secIn {
		padding: 0 20px;
	}
	.planCompareTable + .planCompareTable {
		margin-top: 20px;
	}
	
}
@media screen and (max-width: 767px) {
	.planCompareTable thead .labelHead::before {
	  height: 100%;
	  background: #909090;
	  z-index: -1;
	  border-top-left-radius: 6vw;
	  border-top-right-radius: 6vw;
	}
	.sec_planCompare .bottom p {
		padding-right: 4vw;
		text-align: left;
	}	
	
	.sec_planComparison {
	  padding: 11vw 0;
	}	
	.sec_planComparison .secHead .orange {
	  padding-left: 5.6vw;
	  margin-bottom: 4vw;
	}	
	.sec_planComparison .secHead .orange::before {
	  width: 4.93vw;
	  height: 6.53vw;
	}
	

    .planDetailTable,
    .planDetailSchedule {
        border-radius: 3vw;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .planConstructionTable {
        width: 220vw;
        min-width: 0;
    }

    .planConstructionTable th,
    .planConstructionTable td {
        padding: 2vw 1vw;
    }

    .planConstructionTable tr:first-child th,
    .planConstructionTable tr:nth-child(2) th,
    .planConstructionTable tr:nth-child(2) td {
        height: auto;
    }

    .planScheduleTable {
        width: 180vw;
        min-width: 0;
    }

    .planScheduleTable th,
    .planScheduleTable td {
        padding: 3vw 2vw;
    }

}


/* ========================================
   施工イメージ
======================================== */

.planDetailGallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.planDetailGallery li {
    aspect-ratio: 1.5 / 1;
    border-radius: 25px;
    overflow: hidden;
}

.planDetailGallery img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ========================================
   グレードアップ案内
======================================== */

.planUpgrade {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 40px;
    padding: 15px 30px;
    border: 2px solid var(--plan-color);
    border-radius: 25px;
    background: #fff;
}

.planUpgradeHead {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-shrink: 0;
}

.planUpgradeHead h3 {
    margin: 0;
    color: var(--plan-color);
    white-space: nowrap;
}

.planUpgrade .upgradeIcon {
    display: block;
    width: 77px;
    flex-shrink: 0;
	height: 86px;
	background: center / contain url("../img/plan/woman.png") no-repeat;
}

.planUpgrade .upgradeIcon img {
    display: block;
    width: 100%;
    height: auto;
}

.planUpgrade p {
    margin: 0;
    line-height: 1.7;
}

/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
	
	.sec_planIntro {
	  min-height: 0;
	  background: center bottom / 100% auto url("../img/plan/intro_sp.png") no-repeat;
	  margin-bottom: 10vw;
		padding: 11vw 0 68vw;
	}
	.sec_planIntro .secBody p {
		text-align: left;
	}	

    .sec_planDetail {
        padding: 15vw 0 0;
        scroll-margin-top: 15vw;
    }

    /* 見出し */

    .planDetailHead {
        margin-bottom: 6vw;
    }

    .planDetailNumber {
        width: 35vw;
        margin-bottom: 3vw;
        padding: 1vw 3vw;
    }

    .planDetailTitle {
        flex-direction: column;
        gap: 2vw;
    }

    .planDetailSubtitle {
        padding: 1vw 3vw;
        border-radius: 5vw;
    }
	.planDetailSubtitle::before {
		display: none;
	}
	
	.sec_planDetail.bgR::before,
	.sec_planDetail.bgL::before
	{
	  width: 100vw;
	  height: calc(100% - 64vw);
	  left: -4vw;
	  top: 70vw;
	  border-top-left-radius: 0;
	  border-bottom-left-radius: 0;
	  border-top-right-radius: 0;
	  border-bottom-right-radius: 0;
	}	

    /* メイン画像 */

    .planDetailMainImg {
        aspect-ratio: 2 / 1;
        border-radius: 4vw;
    }

    /* キャッチコピー */

    .planDetailCatch {
        margin: 6vw 0 4vw;
    }

    /* 概要・予算 */

    .planDetailOverview {
        display: block;
        margin-bottom: 10vw;
    }

    .planDetailLead {
        margin-bottom: 6vw;
    }

    .planDetailBudget {
        width: 100%;
        min-height: 18vw;
        padding: 3vw 4vw;
        gap: 4vw;
        border-radius: 5vw;
    }

    .planDetailBudget .budgetPriceList p {
        gap: 2vw;
        padding: 1.5vw 0;
    }

    /* おすすめ・ポイント */

    .planDetailIntro {
        grid-template-columns: 1fr;
        gap: 10vw;
        margin-bottom: 10vw;
    }

    .planIntroBox {
        padding: 7vw 5vw 5vw;
        border-radius: 5vw;
    }

    /* 施工内容テーブル */

    .planDetailTable {
        border-radius: 3vw;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .planConstructionTable {
        width: 220vw;
        min-width: 0;
    }

    .planConstructionTable th,
    .planConstructionTable td {
        padding: 2vw 1vw;
    }

    .planConstructionTable tr:first-child th,
    .planConstructionTable tr:nth-child(2) th,
    .planConstructionTable tr:nth-child(2) td {
        height: auto;
    }

    /* 注釈 */

    .planDetailNote {
        margin: 3vw 0 8vw;
    }

    /* 工期テーブル */

    .planDetailSchedule {
        border-radius: 3vw;
    }

    .planScheduleTable {
        width: 100%;
        min-width: 0;
    }

    .planScheduleTable th,
    .planScheduleTable td {
        padding: 3vw 2vw;
		line-height: 1.3;
    }

    /* 施工画像 */

    .planDetailGallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2vw;
    }

    .planDetailGallery li {
        aspect-ratio: 1.5 / 1;
        border-radius: 3vw;
    }

    /* グレードアップ */

    .planUpgrade {
        display: block;
        margin-top: 8vw;
        padding: 4vw;
        border-radius: 5vw;
    }

    .planUpgradeHead {
        gap: 3vw;
        margin-bottom: 3vw;
    }

    .planUpgradeHead h3 {
        white-space: normal;
    }

    .planUpgrade .upgradeIcon {
        width: 12vw;
    }

}
.sec_planExample {
	padding: 100px 0;
	background: center 117px / auto url("../img/plan/examplebgs.jpg") no-repeat;
}
.sec_planExample .secHead {
	margin-bottom: 40px;
	position: relative;
	z-index: 2
}
.sec_planExample .secHead .block {
	line-height: 1.3;
}
.sec_planExample .box {
	margin-bottom: 40px;
	position: relative;
}
.sec_planExample .box .img {
	border-radius: 30px;
	overflow: hidden;
	margin-bottom: 20px;
	position: relative;
}
.sec_planExample .box .img img {
	width: 100%;
	height: auto;
}
.sec_planExample .box .meta {
	position: relative;
}
.sec_planExample .box .meta .metas {
	border-bottom: 1px solid #000;
	padding-bottom: 10px;
	margin-bottom: 5px;
}
.sec_planExample .box .desc {
	line-height: 1.5;
	padding-top: 0.2em;
}
@media screen and (max-width: 767px) {
	.sec_planExample {
	  padding: 11vw 0;
	  background: center 10vw / 100% auto url("../img/plan/examplebgs_sp.jpg") no-repeat;
	}
}

/* ========================================
   会社概要
======================================== */
.page_about .pageBody > section {
	padding: 100px 0;
}
.page_about .pageBody > section .secHead {
	margin-bottom: 60px;
}
.sec_companyOutline {
    padding-bottom: 120px;
}

.sec_companyOutline .secIn {
    width: 92%;
    max-width: 900px;
    margin: 0 auto;
}
.sec_map {
	background-color: #f0f1f2;
}
.sec_map .map {
	display: block;
	width: 100%;
	height: 400px;
	border: 1px solid #000;
	border-radius: 30px;
	overflow: hidden;
	margin-bottom: 20px;
}
.sec_map .map iframe {
	width: 100%;
	height: 100%;
}
.sec_map table {
	width: auto;
	margin: 0 auto;
}

.sec_map table th,
.sec_map table td
{
	font-size: 16px;
	line-height: 1.5;
}
.sec_map table td {
	padding: 1em;
}

/* テーブル外枠 */

.companyTableWrap {
    border: 1px solid #777;
    border-radius: 30px;
    overflow: hidden;
}

/* テーブル */

.companyTable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    line-height: 1.9;
}

.companyTable th,
.companyTable td
{
    padding: 1em 2em;
    vertical-align: middle;
    text-align: left;
    border-bottom: 1px solid #777;
    box-sizing: border-box;
	line-height: 1.3;
}

/* 左列 */

.companyTable th {
    width: 27.7%;
    background: #f0f1f3;
    font-weight: 700;
    border-right: 1px solid #777;
}

/* 右列 */

.companyTable td {
    width: 72.3%;
    background: #fff;
    overflow-wrap: anywhere;
}
.companyTable td li {
	line-height: 1.3;
}
/* 最終行の下線を削除 */

.companyTable tr:last-child th,
.companyTable tr:last-child td {
    border-bottom: none;
}

/* リンク */

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

.companyTable a:hover {
    text-decoration: underline;
}

/* 事業内容リスト */

.companyBusinessList {
    margin: 0;
    padding: 0;
    list-style: none;
}

.companyBusinessList li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 0.3em;
}

.companyBusinessList li::before {
    content: "・";
}

.companyBusinessList li:last-child {
    margin-bottom: 0;
}


/* ========================================
   SP
======================================== */

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

    .sec_companyOutline {
        padding-bottom: 16vw;
    }

    .sec_companyOutline .secIn {
        width: 92vw;
    }

    .sec_companyOutline .secHead {
        margin-bottom: 1.5em;
    }

    .companyTableWrap {
        border-radius: 4vw;
    }

    .companyTable {
        line-height: 1.7;
    }

    .companyTable th,
    .companyTable td {
        padding: 3vw 2.5vw;
    }

    .companyTable th {
        width: 30%;
    }

    .companyTable td {
        width: 70%;
    }

    .companyBusinessList li {
        margin-bottom: 0.5em;
    }
}
/* ========================================
   お取引先
======================================== */

.sec_companyClients {
    padding: 70px 0 50px;
    background-image: url("../img/about/partnerbg.jpg");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}

.sec_companyClients .secIn {
    width: 92%;
    max-width: 900px;
    margin: 0 auto;
}

/* 見出し */

.sec_companyClients .secHead {
    margin-bottom: 1.5em;
}

.sec_companyClients .secHead h2 {
    margin-bottom: 0.6em;
}

.sec_companyClients .secHead p {
    line-height: 1.7;
}

/* リード文 */

.companyClientsLead {
    max-width: 750px;
    margin: 0 auto 2em;
}

.companyClientsLead p {
    margin: 0;
	line-height: 1.8;
}

/* 白いボックス */

.companyClientsBox {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 50px;
    padding: 45px 75px;
    background: #fff;
    border-radius: 25px;
}

/* 取引先リスト */

.companyClientsList {
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1.9;
}

.companyClientsList li {
    margin-bottom: 1em;
    padding: 0;
	line-height: 1.3;
}

/* 注釈 */

.companyClientsNote {
    margin-top: 0.7em;
}


/* ========================================
   SP
======================================== */

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

    .sec_companyClients {
        padding: 12vw 0 10vw;
        background-position: center center;
    }

    .sec_companyClients .secIn {
        width: 92vw;
    }

    .sec_companyClients .secHead {
        margin-bottom: 1.5em;
    }

    .sec_companyClients .secHead h2 {
        margin-bottom: 0.7em;
    }

    .sec_companyClients .secHead p {
        line-height: 1.6;
    }

    .companyClientsLead {
        margin-bottom: 2em;
        line-height: 1.8;
    }

    .companyClientsBox {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 6vw 5vw;
        border-radius: 4vw;
    }

    .companyClientsList {
        line-height: 1.9;
    }

    .companyClientsNote {
        margin-top: 1em;
    }

}

/* ========================================
   沿革
======================================== */

.sec_companyHistory {
    padding-bottom: 120px;
}

.sec_companyHistory .secIn {
    width: 92%;
    max-width: 900px;
    margin: 0 auto;
}

.sec_companyHistory .secHead {
    margin-bottom: 1.5em;
}

/* テーブル外枠 */

.companyHistoryTableWrap {
    border: 1px solid #777;
    border-radius: 30px;
    overflow: hidden;
}

/* テーブル */

.companyHistoryTable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    line-height: 1.9;
}

.companyHistoryTable th,
.companyHistoryTable td {
    padding: 1em 1.5em;
    vertical-align: middle;
    border-right: 1px solid #777;
    border-bottom: 1px solid #777;
    box-sizing: border-box;
	line-height: 1.5;
}

/* 列幅 */

.companyHistoryTable th:first-child,
.companyHistoryTable td:first-child {
    width: 27.7%;
}

.companyHistoryTable th:last-child,
.companyHistoryTable td:last-child {
    width: 72.3%;
}

/* ヘッダー */

.companyHistoryTable thead th {
    background: #f0f1f3;
    font-weight: 700;
    text-align: center;
}

/* 本文 */

.companyHistoryTable tbody td {
    background: #fff;
    text-align: left;
}

/* 最終列の右線を削除 */

.companyHistoryTable tr > *:last-child {
    border-right: none;
}

/* 最終行の下線を削除 */

.companyHistoryTable tbody tr:last-child td {
    border-bottom: none;
}


/* ========================================
   SP
======================================== */

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

    .sec_companyHistory {
        padding-bottom: 16vw;
    }

    .sec_companyHistory .secIn {
        width: 92vw;
    }

    .sec_companyHistory .secHead {
        margin-bottom: 1.5em;
    }

    .companyHistoryTableWrap {
        border-radius: 4vw;
    }

    .companyHistoryTable {
        line-height: 1.7;
    }

    .companyHistoryTable th,
    .companyHistoryTable td {
        padding: 3vw 2.5vw;
    }

    .companyHistoryTable th:first-child,
    .companyHistoryTable td:first-child {
        width: 35%;
    }

    .companyHistoryTable th:last-child,
    .companyHistoryTable td:last-child {
        width: 65%;
    }

}
/* ========================================
   企業理念・ビジョン
======================================== */

.sec_companyPhilosophy {
    padding: 70px 0;
}

.sec_companyPhilosophy .secIn {
    width: 92%;
    max-width: 900px;
    margin: 0 auto;
}

/* 各ブロック */

.philosophyBlock {
    margin-bottom: 60px;
}

.philosophyBlock:last-child {
    margin-bottom: 0;
}

/* 見出し */

.philosophyBlock .secHead {
    margin-bottom: 1.2em;
}

/* 白いボックス */

.philosophyBox {
    background: #fff;
    border-radius: 30px;
    padding: 45px 70px;
}

/* 企業理念 */

.philosophyList {
    list-style: none;
    margin: 0;
    padding: 0;
}

.philosophyList li {
    margin-bottom: 1.2em;
    padding-left: 2em;
    text-indent: -2em;
    line-height: 1.7;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
	font-weight: 600;
}

.philosophyList li:last-child {
    margin-bottom: 0;
}

/* ビジョン */

.philosophyVision {
    margin: 0;
    line-height: 1.9;
    font-family: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
}


/* ========================================
   SP
======================================== */

@media screen and (max-width: 767px) {
		.page_about .pageBody > section {
		  padding: 9vw 0;
		}		
		.page_about .pageBody > section .secHead {
		  margin-bottom: 6vw;
		}	

    .sec_companyPhilosophy {
        padding: 10vw 0;
    }

    .sec_companyPhilosophy .secIn {
        width: 84vw;
    }

    .philosophyBlock {
        margin-bottom: 10vw;
    }

    .philosophyBlock .secHead {
        margin-bottom: 1.2em;
    }

    .philosophyBox {
        padding: 6vw 5vw;
        border-radius: 4vw;
    }

    .philosophyList {
        line-height: 1.8;
    }

    .philosophyList li {
        margin-bottom: 1.2em;
        padding-left: 2em;
        text-indent: -2em;
    }

    .philosophyVision {
        line-height: 1.8;
    }

    .philosophyVision br {
        display: none;
    }
	.page_about table.colorTable,
	.page_about table.colorTable tbody,
	.page_about table.colorTable tr,
	.page_about table.colorTable th,
	.page_about table.colorTable td {
		display: block;
		width: 100%;
	}
	.page_about table.colorTable th,
	.page_about table.colorTable td	{
		border-right: none;
		padding: 1em 1.5em;
	}
	.page_about table.companyHistoryTable tr td:nth-child(1) {
		background-color: #f0f1f3;
	}	
	.sec_map .map {
	  height: 40vw;
	  border-radius: 5vw;
	  margin-bottom: 6vw;
	}
	.companyHistoryTable thead {
		display: none;
	}
	
	
	
	
	
}
