@charset "UTF-8";
html {font-size: 62.5%;}

body {
	font-size: 1.6em;
	line-height: 1.4em;
	min-width: 320px;
	margin: auto;
	position: relative;
	background-color: #e3f3f3;
    background-image: url(../../images/back-pattern.webp);
    background-repeat: repeat-y;
    background-size: contain;
}
body::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-image: url(../../images/bg.webp);
	background-size: 12px;
	background-repeat: repeat;
	z-index: -1;
	opacity: 0;
	transition: .3s;
}
body.after_load::after {opacity: 1;}
body * {
	font-family: 'Zen Maru Gothic', sans-serif;
	color: #4D4D4D;
	letter-spacing: 0.08em;
	font-weight: 500;
}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.inline {display: inline-block;}
img {max-width: 100%;}
a {text-decoration: none; outline: none;}
a, a:hover, a img, a:hover img, a::after, a:hover::after, a::before, a:hover::before, a:hover span, a span {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
.absolute {position: absolute;}
.hidden {overflow: hidden;}

header {
	background-image: url(../images/bg_grde.webp);
	background-size: cover;
	background-position: bottom center;
}
.visual {
	padding: 30px;
	display: flex;
	height: 100vh;
	width: 100%;
	overflow: hidden;
	position: relative;
}
.visual > div {
	overflow: hidden;
	position: relative;
}
.visual > div::after {
	content: "";
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	transform: scale(1.2);
  filter: blur(30px);
	opacity: 0;
}
.visual > div.No1::after {background-image: url(../images/img1.webp);}
.visual > div.No2::after {background-image: url(../images/img2.webp);}
.visual > div.No3::after {background-image: url(../images/img3.webp);}
.visual > div.No4::after {background-image: url(../images/img4.webp);}
.after_load .visual > div::after {animation: identifier 1.7s forwards cubic-bezier(0.16, 1, 0.3, 1);}
.after_load .visual > div.No1::after {animation-delay: 2s;}
.after_load .visual > div.No2::after {animation-delay: 2.1s;}
.after_load .visual > div.No3::after {animation-delay: 2.2s;}
.after_load .visual > div.No4::after {animation-delay: 1.9s;}
@keyframes identifier {
	0% {transform: scale(1.2);  filter: blur(30px); opacity: 0;}
	100% {transform: scale(1); filter: blur(0px); opacity: 1;}
}
.visual .No1 {
	width: calc(60% - 10px);
	height: 55%;
	margin-right: 10px;
}
.visual .No2 {
	width: 40%;
	height: 100%;
}
.visual .No3 {
	position: absolute!important;
	bottom: 30px;
	left: 30px;
	width: calc(22% - 5px);
	height: calc(45% - 40px);
}
.visual .No4 {
	position: absolute!important;
	bottom: 30px;
	left: calc(22% + 35px);
	width: calc(38% - 50px);
	height: calc(45% - 40px);
}
.visual > div.No2 img {animation-delay: 1.1s;}
.visual .tag {
	position: absolute;
	z-index: 3;
	opacity: 0;
	visibility: hidden;
	transition: .5s;
	display: block;
}
.visual .tagno1 {top: 20px; left: 60px;}
.visual .tagno2 {top: 40px; right: 20px;}
.visual .No3 .tag {bottom: 10px; right: 10px;}
.visual .No4 .tag {bottom: 10px; right: 10px;}
.after_load .visual .tag {
	transition-delay: 2s;
	opacity: 1;
	visibility: visible;
}
h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
}
h1::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #5dc1cf;
	transform: translate(-100%, 50%);
	z-index: 1;
}
.after_load h1::after {animation: h1_bganm 1s .8s forwards cubic-bezier(0.16, 1, 0.3, 1);}
@keyframes h1_bganm {
	0% {transform: translate(-200%,  0);}
	100%  {transform: translate(0, 0);}
}
h1 span {
	position: relative;
	display: inline-block;
	z-index: 2;
	width: 0;
	overflow: hidden;
}
.after_load h1 span {animation: h1_span_anm 1.5s .3s forwards cubic-bezier(0.16, 1, 0.3, 1);}
@keyframes h1_span_anm {
	0% {width: 0;}
	100% {width: 100%;}
}
h1 span img {min-width: 50vw;}

.lead span {
	opacity: 0;
	transform: translateY(10px);
	display: inline-block;
}
.lead.appeartext span {animation:text_anime_on .3s ease-out forwards;}
@keyframes text_anime_on {
	0% {opacity:0; transform: translateY(10px);}
	100% {opacity:1; transform: translateY(0px);}
}

.catch {
	text-align: center;
	padding: 120px 0;
	position: relative;
}
.catch::after {
	content: "";
	width: 200px;
	height: 300px;
	background-image: url(../images/heart.webp);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	transform-origin: center;
}
.show.catch::after {animation: catch_anm .8s .5s ease-out forwards;}
@keyframes catch_anm {
	0% {width: 200px;}
	25% {width: 240px;}
	50% {width: 220px;}
	75% {width: 230px;}
	100% {width: 200px;}
}
.catch * {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.7;
	color: #E96D7B;
	position: relative;
	z-index: 2;
}

section {padding: 0 0 10em;}
.inner {
	max-width: 1060px;
	padding: 0 30px;
	margin: auto;
}

.yt {text-align: center;}
.yt > div {
	display: inline-block;
	position: relative;
	max-width: 730px;
	width: 100%;
}
.yt p {
	position: absolute;
	top: -4rem;
	right: -3rem;
	font-size: 3rem;
	font-weight: 700;
	color: #fff;
	opacity: 0;
	transform: translateY(10px);
	transition: 1s .2s cubic-bezier(0.16, 1, 0.3, 1);
}
.yt.show p {
	opacity: 1;
	transform: translateY(0px);
}
.yt p::after {
	content: "";
	width: 150px;
	height: 150px;
	background-image: url(../images/yt_img1.webp);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transform-origin: top left;
	z-index: 1;
}
.yt.show p::after {animation: ytP_anm 10s linear infinite;}
@keyframes ytP_anm {
	0%  {transform: rotate(0) translate(-50%, -50%);}
  100%  {transform: rotate(360deg) translate(-50%, -50%);}
}
.yt p span {
	position: relative;
	z-index: 2;
	font-weight: 700;
	color: #fff;
	display: block;
}
.yt p small {
	font-size: 2.7rem;
	font-weight: 700;
	color: #fff;
}
.yt iframe {
	width: 100%;
	position: relative;
	z-index: 2;
	transform: scale(.95);
	opacity: 0;
	transition: 1s cubic-bezier(0.16, 1, 0.3, 1);
	filter: blur(10px);
}
.yt.show iframe {
	filter: blur(0px);
	opacity: 1;
	transform: scale(1);
}

#wrapper{
	position: relative;
  display: flex;
	flex-wrap: wrap;
	padding: 0 50px;
}
#fixed-area {
  position: -webkit-sticky;
  position: sticky;
	top: 50px;
  width: 500px;
  height: calc(100vh - 100px);
  margin: 50px 50px 50px 0;
}
#fixed-area::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: .5s .2s cubic-bezier(0.16, 1, 0.3, 1);
	z-index: 1;
}
#fixed-area.show::after {opacity: 1;}
#fixed-area > div {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#fixed-area > div::after {
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 20px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: 1s .5s cubic-bezier(0.16, 1, 0.3, 1);
	padding-top:0;
	max-height: 100%;
	box-sizing: border-box;
}
#fixed-area > div.is_show::after  {background-color: #fff;}
#fixed-area #fixed-area2.is_show::after  {
	border-radius: 50%;
	height: 500px;
}
#fixed-area > div img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -40%);
	transition: 1s .5s cubic-bezier(0.16, 1, 0.3, 1);
	opacity: 0;
	z-index: 2;
	max-width: 500px;
	width: 100%;
}
#fixed-area > div.is_show img {
	opacity: 1;
	transform: translate(-50%, -50%);
}
#container {width:calc(100% - 550px);}
#container section {
	min-height: 100vh;
	position: relative;
	padding: 0;
}
#container #container3 {padding: 25vh 0;}
.area {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
}
.h2_ttl {
	text-align: center;
	padding-bottom: 55px;
	position: relative;
	max-width: 500px;
	margin: auto;
}
.h2_ttl::after {
	content: "";
	width: 200px;
	height: 50px;
	background-image: url(../images/h2_ttl_img.webp);
	background-size: cover;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.h2_ttl h2 {
	display: inline-block;
	line-height: 1.3;
}
.h2_ttl * {
	font-size: 3.8rem;
	font-weight: 700;
	color: #E96D7B;
}

.area h5 {
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	color: #666;
	line-height: 1.4;
	margin-bottom: 50px;
	opacity: 0;
	transform: translateY(10px);
	transition: 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.area.show h5 {
	opacity: 1;
	transform: translateY(0px);
}
.area h5 span {
	display: inline-block;
	font-weight: 700;
	color: #666;
}
.area h5 span.pink {color: #E96D7B;}

.qa dt {
	border-radius: 10px;
	padding: 10px 15px;
	display: flex;
	align-items: center;
	line-height: 1.4;
	position: relative;
	overflow: hidden;
}
.qa dt::before {
	content: "";
	width: 3.6rem;
	height: 3.6rem;
	margin-right: 1rem;
	background-image: url(../images/icon_Q.webp);
	background-size: cover;
	display: inline-block;
	z-index: 2;
	opacity: 0;
	transition: 1s .6s cubic-bezier(0.16, 1, 0.3, 1);
}
.qa dt::after {
	content: "";
	width: 0;
	height: 100%;
	background-color: #75CCC3;
	position: absolute;
	top: 0;
	left: 0;
	transition: 1s .5s cubic-bezier(0.16, 1, 0.3, 1);
}
.qa dt span {
	position: relative;
	width: calc(100% - 4.6rem);
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	z-index: 2;
	opacity: 0;
	transition: 1s .6s cubic-bezier(0.16, 1, 0.3, 1);
}
.qa dd {
	background-color: #fff;
	border-radius: 10px;
	padding: 15px;
	margin-top: 20px;
	position: relative;
}
.qa dd::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 10px 10px;
	border-color: transparent transparent #fff transparent;
	position: absolute;
	top: -8px;
	left: 22px;
	z-index: 2;
}
.qa dd h6 {
	position: relative;
	font-size: 2rem;
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	line-height: 1.4;
}
.qa dd h6 span {
	width: calc(100% - 4.6rem);
	color: #E96D7B;
	font-weight: 700;
}
.qa dd h6::before {
	content: "";
	width: 3.6rem;
	height: 3.6rem;
	margin-right: 1rem;
	display: inline-block;
	background-image: url(../images/icon_A.webp);
	background-size: cover;
}
.qa dd p {
	line-height: 1.6;
	text-align: justify;
}
.qa dd p small {display: block;}
.qa dd .image {
	max-width: 450px;
	margin: auto;
	display: none;
}

.is_show.qa dt::before {opacity: 1;}
.is_show.qa dt span {opacity: 1;}
.is_show.qa dt::after {width: 100%;}
.qa dd {
	opacity: 0;
	transform: translateY(15px);
	transition: 1s .7s cubic-bezier(0.16, 1, 0.3, 1);
}
.is_show.qa dd {
	opacity: 1;
	transform: translateY(0px);
}

.examination {
	opacity: 0;
	transition: .5s .4s cubic-bezier(0.16, 1, 0.3, 1);
	padding-top: 10rem;
	overflow: hidden;
}
.examination.show {opacity: 1;}
.examination .bgfff {
	background-color: #fff;
	width: calc(100% - 100px);
	margin: auto;
	padding-bottom: 30px;
	border-radius: 20px;
}
.examination .inner {position: relative;}
.examination .inner h5 {
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
	padding: 40px 0;
	color: #666;
}
.examination .inner h5 span {
	color: #666;
	display: inline-block;
	font-weight: 700;
}
.examination .inner h5 span.pink {color: #E96D7B;}
.examination .qa {
	position: relative;
	z-index: 3;
}
.examination .qa dd {border: 1px solid #E3E3E3;}
.examination .qa dd::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #E3E3E3 transparent;
  position: absolute;
  top: -9px;
  left: 22px;
	z-index: 1;
}
.tbl_scl {
	margin: 30px 0 60px;
	opacity: 0;
	transition: 1s .6s cubic-bezier(0.16, 1, 0.3, 1);
}
.tbl_scl.is_show {
	opacity: 1;
}
.examination_tbl {
	width: 100%;
}
.examination_tbl tr {
	border-bottom: 1px solid #E9E9E9;
	border-left: 1px solid #E9E9E9;
}
.examination_tbl th {
	background-color: #E9E9E9;
	font-weight: 700;
	border-right: 1px solid #fff;
	text-align: center;
	padding: 8px;
}
.examination_tbl th:last-child {border-color: #E9E9E9;}
.examination_tbl td {
	padding: 10px;
	border-right: 1px solid #E9E9E9;
}
.examination_tbl td span {display: inline-block;}
.examination_tbl td small {
	display: inline-block;
	font-size: 1.4rem;
}
.cost {
	text-align: center;
	margin: 30px 0 0;
}
.cost * {
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
	line-height: 1;
}
.cost p {
	background-color: #E96D7B;
	display: inline-block;
  padding: 10px 20px 15px;
  border-radius: 50px;
}
.cost strong {
	font-size: 3.6rem;
	vertical-align: text-bottom;
	margin: 0 3px;
}
.cost br {display: none;}
.examination .no1 {
	top: -25px;
	right: 120px;
	max-width: 170px;
	z-index: 2;
}
.examination .no2 {
	top: -45px;
	right: -15px;
	max-width: 180px;
	z-index: 1;
}
.examination .no3 {
	bottom: -30px;
	right: -10px;
	max-width: 130px;
	z-index: 4;
}

.flow .sp {display: none;}
.flow_dl {
	background-color: #fff;
	border-radius: 10px;
}
.flow_dl dt {
	position: relative;
	max-width: 300px;
	background-color: #E96D7B;
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1;
	color: #fff;
	margin: 0 auto -2.4rem;
	padding: 10px 0;
	transform: translateY(-50%);
	letter-spacing: 0.3rem;
	border-radius: 50px;
}
.flow_dl dt::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #e96d7b transparent transparent transparent;
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
}
.flow_dl dd {padding: 0 20px 20px;}
.flow_dl dd p {
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	margin: 20px 0;
}
.flow_dl dd li {
	text-indent: -1.6rem;
	padding-left: 1.6rem;
	line-height: 1.2;
	margin-bottom: 5px;
}
.flow_dl dd li:last-child {margin-bottom: 0;}
.flow_dl dd li::before {
	content: "●";
	font-size: 1.2rem;
	color: #F1B56D;
	margin-right: 3px;
}
.flow .flex {
	width: calc(100% + 3%);
	margin: 50px 0 0;
	padding-bottom: 60px;
	position: relative;
}
.flow .flex::after {
	content: "";
	width: 80px;
	height: 44px;
	background-image: url(../images/flow_arw.webp);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
	left: 48.5%;
	transform: translateX(-50%);
}
.flex .flow_dl {
	width: 47%;
	margin-right: 3%;
	opacity: 0;
	transform: translateY(15px);
	transition: 1s .3s cubic-bezier(0.16, 1, 0.3, 1);
}
.flex .flow_dl:first-child dt {background-color: #F1B56D;}
.flex .flow_dl:first-child dt::after {border-color: #F1B56D transparent transparent transparent;}
.flex .flow_dl:first-child dd ul {max-width: 400px; margin: auto;}
.flex .flow_dl:last-child dt {background-color: #84C4BA;}
.flex .flow_dl:last-child dt::after {border-color: #84C4BA transparent transparent transparent;}
.flex .flow_dl:last-child dd ul{max-width: 320px; margin: auto;}
.flex .flow_dl:last-child dd li::before {color: #84C4BA;}
.flex.is_show .flow_dl {
	opacity: 1;
	transform: translateY(0px);
}
.flow_dl.w100 {
	margin-top: 180px;
	position: relative;
	opacity: 0;
	transform: translateY(15px);
	transition: 1s .3s cubic-bezier(0.16, 1, 0.3, 1);
}
.is_show.flow_dl.w100 {
	opacity: 1;
	transform: translateY(0px);
}
.flow_dl.w100::before {
	content: "";
	width: 270px;
	height: 170px;
	background-image: url(../images/flow_img1.webp);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	top: -170px;
	left: 50%;
	transform: translateX(-50%);
}
.flow_dl.w100 dd {
	display: flex;
	justify-content: center;
}
.flow_dl.w100 dd p {
	color: #E96D7B;
	margin: 30px 30px 20px;
	border: 1px solid;
	border-radius: 5px;
	padding: 15px;
	min-width: 310px;
}
.flow_dl.w100 dd p small {
	color: #E96D7B;
	font-weight: 700;
}

#fix {
  position: fixed;
  right: 10px;
  z-index: 9999;
  opacity: 0;
  transform: translateY(100px);
	margin: 0 0 20px;
}
#fix.UpMove{animation: UpAnime 0.5s forwards;}
@keyframes UpAnime{
  from {opacity: 0; transform: translateY(100px);}
  to {opacity: 1; transform: translateY(0);}
}
#fix.DownMove{animation: DownAnime 0.5s forwards;}
@keyframes DownAnime{
  from {opacity: 1; transform: translateY(0);}
  to {opacity: 1; transform: translateY(100px);}
}
#fix a {
	display: inline-block;
	position: absolute;
  width: 90%;
  left: 5%;
  bottom: -15px;
  background-color: #75ccc3;
  border-radius: 50px;
  padding: 3px 5px;
  text-align: center;
	box-sizing: border-box;
}
#fix a span {
	color: #fff;
	position: relative;
	font-size: 1.7rem;
	margin-left: -1.2rem;
}
#fix a span::after {
	content: "";
  width: 1.6rem;
  height: 1.6rem;
  background-image: url(../images/btnlist_arw.webp);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: -2.5rem;
  transform: translateY(-50%);
}
#fix a img {display: none;}

.cProject .bgfff {
	position: relative;
	background-color: #fff;
}
.cProject .bgfff::before {
	content: "";
	width: 100%;
	height: 15px;
	background-image: url(../images/bg2.webp);
	background-repeat: repeat-x;
	display: block;
	background-size: auto 100%;
	position: absolute;
	top: -15px;
	left: 0;
}
.cProject .bgfff::after {
	content: "";
	width: 100%;
	height: 15px;
	background-image: url(../images/bg2_2.webp);
	background-repeat: repeat-x;
	display: block;
	background-size: auto 100%;
	position: absolute;
	bottom: -15px;
	left: 0;
}
.cProject dl {
	align-items: center;
	justify-content: center;
	padding: 50px 0;
	opacity: 0;
	transition: 1s .3s cubic-bezier(0.16, 1, 0.3, 1);
	transform: translateY(15px);
}
.cProject dl.is_show {
	opacity: 1;
	transform: translateY(0);
}
.cProject dd {
	font-weight: 700;
	font-size: 2rem;
	color: #E96D7B;
  padding-left: 4rem;
  line-height: 1.6;
}
.cProject dl + p {
	line-height: 1.6;
	opacity: 0;
	transition: 1s .3s cubic-bezier(0.16, 1, 0.3, 1);
	transform: translateY(15px);
}
.cProject dl + p.is_show {
	opacity: 1;
	transform: translateY(0);
}
.cProject dl + p small {display: block;}
.loop {
  display: flex;
  overflow: hidden;
	margin: 30px 0;
}
.loop ul {
	display: flex;
	width: 100vw;
}
.loop li {width: 25vw;}
.loop ul:first-child {animation: loop 50s -25s linear infinite;}
.loop ul:last-child {animation: loop2 50s linear infinite;}
@keyframes loop {
  0% {transform: translateX(100%);}
  to {transform: translateX(-100%);}
}
@keyframes loop2 {
  0% {transform: translateX(0);}
  to {transform: translateX(-200%);}
}

.division {
	overflow: hidden;
	padding: 0 15px;
}
.division ul {
	justify-content: center;
	align-items: center;
	width: calc(100% + 30px);
}
.division li {margin: 0 30px 10px 0;}
.division li img {max-height: 60px;}
.division p {
	font-size: 1.5rem;
	text-align: center;
}
.cProject .btn1 {padding: 50px 15px;}

.btn1 {text-align: center;}
.btn1 a {
	display: block;
  border: 1px solid #5dc1cf;
  padding: 15px 10px;
  border-radius: 50px;
  max-width: 340px;
  margin: auto;
	overflow: hidden;
	position: relative;
	transition: 1s;
	background-color: #fff;
	z-index: 2;
}
.btn1 a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background-color: #EFEFEF;
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.16, 1, 0.3, 1);
	transform: scale(0, 1);
	transform-origin: right top;
}
.btn1 a span {
	color: #5dc1cf;
	font-size: 2rem;
	font-weight: 700;
	position: relative;
	z-index: 3;
}
.btn1 a span::after {
	content: "";
	width: 2rem;
	height: 2rem;
	background-image: url(../images/btn1_arw.webp);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-color: #5dc1cf;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: -3rem;
	transform: translateY(-50%);
}

footer {
	position: relative;
	text-align: center;
	padding-bottom: 20px;
}
footer a {display: inline-block;}
footer p {margin-top: 20px;}
#page-top {
	position: absolute;
	width: 17px;
	right: 10px;
	top: -12em;
}
#page-top img {
	position: relative;
	z-index: 3;
}
@keyframes page-top_anm {
	0% {transform: translateY(0);}
	50% {transform: translateY(-10px);}
	100% {transform: translateY(0);}
}


/* ======================= */
.low header, .low main {
	opacity: 0;
	transform: translateY(20px);
	transition: 1s cubic-bezier(0.16, 1, 0.3, 1);
}
.after_load.low header, .after_load.low main {
	opacity: 1;
	transform: translateY(0px);
}
body.low {
	background-image: url(../images/bg.webp);
	background-size: 12px;
	background-repeat: repeat;
}
body.low::after {content: none;}
.low header {
	width: 250px;
	height: calc(100vh - 60px);
	position: fixed;
	top: 30px;
	left: 30px;
	border-radius: 10px;
	overflow: hidden;
	background-color: #fff;
	background-image: none;
}
.low h1 {
	position: relative;
	top: 0;
	left: 0;
	transform: translate(0%, 0%);
	overflow: visible;
}
.low h1 picture {position: relative; display: block; margin: auto; z-index: 3333; transform: scale(1.05);}
.low h1::after {bottom: 0; width: 160%; height: 160%;}
.low.after_load h1::after {animation: h1_bganm 2s .5s forwards cubic-bezier(0.16, 1, 0.3, 1);}
.low h2 {
	width: 160px;
	margin: 20px auto 30px;
}
.low header li {border-top: 1px solid #EFEFEF;}
.low header li:last-child {border-bottom: 1px solid #EFEFEF;}
.low header nav a {
	display: block;
	padding: 1.4rem;
	text-align: center;
	position: relative;
}
.low header nav a span {
	position: relative;
	z-index: 3;
	color: #4D4D4D;
	font-size: 1.8rem;
	display: block;
}
.low header nav a::after {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	background: #5dc1cf url(../images/btn1_arw.webp);
	background-size: cover;
	position: absolute;
	top: 50%;
	right: 2rem;
	transform: translateY(-50%);
	border-radius: 50%;
	z-index: 4;
}
.low header nav a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	background-color: #EFEFEF;
	width: 100%;
	height: 100%;
	transition: transform .6s cubic-bezier(0.16, 1, 0.3, 1);
	transform: scale(0, 1);
	transform-origin: right top;
}
.low main {
	display: block;
	margin-left: 280px;
	padding: 70px 0 0;
}
.low h3 {
	text-align: center;
	line-height: 1.1;
	margin-bottom: 50px;
}
.low h3 * {
	color: #5dc1cf;
	font-size: 4rem;
	font-weight: 700;
}
.low .lead.sml {
	text-align: center;
	display: block;
}
.low .lead.sml * {
	color: #5dc1cf;
	font-size: 2.4rem;
	font-weight: 700;
}
.meeting {
	margin: 0 auto 70px;
	padding: 30px 0 0;
	max-width: 1030px;
	width: calc(100% - 100px);
}
.meeting > div {
	background-color: #fff;
	padding: 0 30px 10px;
	border-radius: 20px;
}
.meeting h6 {
  display: inline-block;
  background-color: #5dc1cf;
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
	padding: 8px 30px;
	border-radius: 0 0 10px 10px;
	letter-spacing: 0.5rem;
	margin-bottom: 20px;
}
.meeting h6 span {
	font-size: 3rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.5rem;
}
.meeting dl {
	align-items: flex-start;
	margin-bottom: 10px;
}
.meeting dl.last {margin-bottom: 20px;}
.meeting dt {
	color: #808080;
	padding: 0 10px;
	border: 1px solid;
	border-radius: 50px;
	font-size: 1.5rem;
	width: 9rem;
  text-align: center;
}
.meeting dd {
	width: calc(100% - 9rem);
	padding-left: 1rem;
	font-size: 1.6rem;
}
.meeting .line {
	background-color: #EFEFEF;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	padding: 6px 0 8px;
	margin-bottom: 20px;
	letter-spacing: .4rem;
}
.meeting .txt {
	font-size: 1.6rem;
	padding: 0 0 20px;
}
.meeting .image {width: calc(100% + 20px);}
.meeting .image img {
	width: calc(50% - 20px);
	margin: 0 20px 20px 0;
}
.low #page-top {
  top: inherit;
  bottom: 30px;
}
.low .btn1 {
	margin-bottom: 70px;
	padding: 0 15px;
}




/* ++++++++++++++ */
@media screen and (min-width: 1600px) {
	#wrapper {width: 90vw; margin: auto;}
	#fixed-area {width: 600px;}
	#fixed-area #fixed-area2.is_show::after {height: 600px;}
	#container {width: calc(100% - 650px);}
	.low header {width: 300px; left: 10vw;}
	.low main {margin-left: calc(10vw + 300px); width: 68vw;}
}/* max1600 */

@media screen and (min-width: 851px) {
	.btn1 a:hover::before {transform-origin:left top; transform:scale(1, 1);}
	.low header nav a:hover::before {transform-origin:left top; transform:scale(1, 1);}
	#fix a:hover {transform: scale(1.1);}
	#page-top:hover {animation: page-top_anm 1s infinite;}
	footer .fukuokaken:hover {opacity: .7;}
	.low h1 a:hover img {opacity: .7;}
}/* max851 */


/* ++++++++++++++ */
@media screen and (max-width:1400px) {
	#fixed-area {width: 470px;}
	#fixed-area #fixed-area2.is_show::after {height: 470px;}
	#container {width: calc(100% - 520px);}
}/* 1400px */

@media screen and (max-width:1200px) {
	#fixed-area {width: 420px;}
	#fixed-area #fixed-area2.is_show::after {height: 420px;}
	#container {width: calc(100% - 470px);}

	.low header {height: calc(100vh - 40px); top: 20px; left: 20px;}
	.low main {margin-left: 270px;}
	.meeting {width: calc(100% - 60px);}
}/* 1200px */

@media screen and (max-width: 1060px) {
	#wrapper {padding: 0 30px;}
	#fixed-area {width: 370px; margin-right: 30px;}
	#container {width: calc(100% - 400px);}
	#fixed-area #fixed-area2.is_show::after {max-height: 370px;}
	.examination .bgfff {width: calc(100% - 60px);}
	.examination .no1 {top: -15px; right: 75px; max-width: 150px;}
	.examination .no2 {top: -15px; right: -40px; max-width: 160px;}
}/* 1060px */

@media screen and (max-width: 1000px) {
	.visual {padding: 15px;}
	.visual .No3 {bottom: 15px; left: 15px; height: calc(45% - 25px);}
	.visual .No4 {bottom: 15px; left: calc(22% + 20px); width: calc(38% - 33px); height: calc(45% - 25px);}
	.visual .tagno1 {width: 20%;}
	.visual .tagno2 {width: 20%;}
	.visual .No3 .tag {width: 56%;}
	.visual .No4 .tag {width: 40%;}
	h1 span img {min-width: 60vw;}

	.low header {width: 220px;}
	.low main {margin-left: 240px;}

}/* 1000px */

@media screen and (max-width: 900px) {
	#fixed-area {width: 330px; margin-right: 20px;}
	#fixed-area #fixed-area2.is_show::after {max-height: 330px;}
	#container {width: calc(100% - 350px);}
	#examination6 dd p {width: 97%;}
}/* 900px */

@media screen and (max-width: 850px) {
	html {font-size: 60%;}
	.yt p {top: -4.5rem; right: 0;}
	.yt iframe {height: 50vw;}
	section {padding-bottom: 8em;}
	#container section{min-height:auto;}
	#fixed-area{display: none;}
	#container {width: 100%;}
	.area {position: static; transform: inherit;}
	#container #container3 {padding: 0;}
	.qa {margin-bottom: 60px;}
	.qa dd .image {display: block;}
	.examination .bgfff {width: 100%; border-radius: 0;}
	.examination .no1 {top: -10rem; right: 50%; margin-right: -85px; max-width: 170px;}
	.examination .no2 {top: -10rem; right: 50%; margin-right: -220px; max-width: 180px;}
	.examination .inner h5 {padding-top: 90px;}
	.examination .qa {margin-bottom: 30px;}
	.tbl_scl + .qa {margin-bottom: 0;}
	.examination_tbl th:nth-child(2) {width: 10rem;}
	.examination_tbl th:nth-child(3) {width: 10rem;}
	.examination_tbl td {padding: 10px 8px;}
	.cProject dl dt {width: 100%; text-align: center;}
	.cProject dd {padding: 20px 0 0;}
	#fix {bottom: 0!important; width: 70%; right: 15%; display: flex; align-items: center; justify-content: center; background-color: #75ccc3; border-radius: 10px 10px 0 0; margin-bottom: 0; overflow: hidden;}
	#fix img {width: 100%;}
	#fix a {position: relative; width: auto; left: 0; bottom: 0;  padding: 0; border-radius: 0;}
	#fix a span {display: none;}
	#fix a img {display: block;}
	#page-top {top: -9em;}
	footer {padding-bottom: 18%;}

	.low header, .low main {transform: translateY(0px);}
	.low header {position: static; width: calc(100% - 30px); margin: 15px; height: auto;}
	.low h1::after {width: 100%; height: 155%; background-size: cover; background-image: url(../images/2024/ttl_bgSP.webp);}
	.low.after_load h1::after {animation: h1_bganm 1s .5s forwards cubic-bezier(0.16, 1, 0.3, 1);}
	.low h1 picture {width: 50%;}
	.low h2 {margin: 20px auto 20px;}
	.low header nav {overflow: hidden; padding: 0 15px;}
	.low header ul {display: flex; flex-wrap: wrap; width: calc(100% + 2%);}
	.low header li {width: 31.333%; margin: 0 2% 2% 0; border: 0;}
	.low header li:last-child {border: 0;}
	.low header nav a {background-color: #EFEFEF; border-radius: 5px;}
	.low header nav a::after {transform: translateY(-50%) rotate(90deg); right: 1rem;}
	.low main {margin-left: 0;}
	.meeting {width: 100%;}
	.meeting > div {border-radius: 0;}
	.low footer {padding-bottom: 20px;}
}/* 850px */

@media screen and (max-width: 790px) {
	.yt > div {width: calc(100% - 60px);}
}/* 790px */

@media screen and (max-width: 760px) {
	header {background-image: url(../images/bg_grdeSP.webp);}
	.visual {padding: 0;}
	.visual .No1 {width: calc(50% - 5px); height: 48%; margin-right: 5px;}
	.visual .No2 {width: calc(50% - 5px); height: 55%; margin-left: 5px;}
	.visual .No3 {bottom: 0px; left: 0px; width: calc(50% - 5px); height: calc(52% - 10px);}
	.visual .No4 {bottom: 0px; left: calc(50% + 5px); width: calc(50% - 5px); height: calc(45% - 10px);}
	.visual > div.No1::after {background-image: url(../images/img1_sp.webp);}
	.visual > div.No2::after {background-image: url(../images/img2_sp.webp);}
	.visual > div.No3::after {background-image: url(../images/img3_sp.webp);}
	.visual > div.No4::after {background-image: url(../images/img4_sp.webp);}
	.visual .tagno1 {top: 5px; left: 10px; width: 150px;}
	.visual .tagno2 {top: -2px; right: -2px; width: 170px;}
	.visual .No3 .tag {width: 100px;}
	.visual .No4 .tag {width: 130px;}
	h1 span img {min-width: calc(80vw - 30px);}

	.flow .pc {display: none;}
	.flow .sp {display: block;}
	.flex .flow_dl {width: 97%; margin-bottom: 40px;}
	.flex .flow_dl:last-child {margin-bottom: 0;}
	.flow_dl.w100 dd {display: block;}
	.flow_dl.w100 dd p {margin: 30px auto 10px; min-width: inherit; max-width: 310px;}

	.cost p {padding: 10px 30px 20px;}
	.cost br {display: block; line-height: 0;}

	.cProject dl dt {width: 100%; text-align: center; margin: 0 0 20px;}
	#fix {width: 74%; right: 13%;}

}/* 760px */

@media screen and (max-width: 650px) {
	.meeting .image {width: calc(100% + 10px);}
	.meeting .image img {width: calc(50% - 10px); margin: 0 10px 10px 0;}
}/* 600px */

@media screen and (max-width: 550px) {
	html {font-size: 57%;}
	.visual .tagno1 {width: 30%; min-width: 128px; left: 5px;}
	.visual .tagno2 {width: 32%; min-width: 136px; right: -5px;}
	.visual .No3 .tag {width: 38%; min-width: 80px; bottom: 20px;}
	.visual .No4 .tag {width: 48%; min-width: 100px; bottom: 20px;}
	h1 span img {min-width: calc(100vw - 30px);}

	.yt > div {width: calc(100% - 30px);}
	.yt p {top: -7rem; right: 2%;}
	.yt p small {font-size: 2.4rem; margin: 10px 0 0; display: block;}
	.yt p::after {width: 110px; height: 110px;}

	#wrapper {padding: 0 15px;}
	.inner {padding: 0 15px;}

	.tbl_scl {overflow: scroll;}
	.examination_tbl {width: 600px;}
	.examination_tbl th:first-child {position: sticky; top: 0; left: 0; position: -webkit-sticky;}
	.examination_tbl td:first-child {position: sticky; top: 0; left: 0; background-color: #f9f9f9; width: 9rem; z-index: 99; position: -webkit-sticky;}
	.examination_tbl td:first-child::after {content: ""; width: 100%; height: 1px; background-color: #E9E9E9; position: absolute; bottom: -1px; left: 0;}

	.cProject {padding-bottom: 5em;}
	.cProject dl dt {margin-bottom: 2%;}
	.cProject dl dt img {width: 52%; min-width: 220px;}
	.loop ul {width: 200vw;}
	.loop li {width: 50vw;}
	.division li img {max-height: 45px;}

	#fix {width: 90%; right: 5%;}
	#page-top {top: -6em; width: 14px;}
	.fukuokaken {width: 120px;}
	footer p {margin-top: 10px;}

	.low h1 picture {width: 60%;}
	.low h2 {width: 42%; max-width: 160px;}
	.low header nav {padding-bottom: 5px;}
	.low header ul {width: calc(100% + 10px);}
	.low header li {width: calc(50% - 10px); margin: 0 10px 10px 0;}
	.meeting {margin-bottom: 40px;}
	.meeting > div {padding: 0 15px 10px;}
	.meeting dl {margin-bottom: 15px;}
	.meeting dt {width: 11rem;}
	.meeting dd {width: 100%; padding: 0.4rem 0 0;}
	.meeting .image {width: 100%;}
	.meeting .image img {width: 100%; margin: 0 auto 10px; max-width: 340px;}

}/* 550px */

@media screen and (max-width: 470px) {
	.catch * {font-size: 6vw;}
	.h2_ttl h2 span {font-size: clamp(3.2rem, 9vw, 3.8rem);}
	.flow_dl dt {max-width: 250px;}
	.cProject dl {padding-bottom: 30px;}
	.cProject dd br {display: none;}
	.division li img {max-height: 40px;}
}/* 470px */

@media screen and (max-width: 420px) {
	.examination .no1 {margin-right: -22%; width: 44%;}
	.examination .no2 {right: -3%; margin-right: 0; max-width: inherit; width: 43%;}
	.examination .inner h5 {padding: 24% 0 30px;}
	.cost {text-align: left;}
	#fix {width: 98%; right: 1%;}

	.low h1 picture {width: 90%;}
	.low h1::after {height: 136%;}
}/* 420px */

@media screen and (max-width: 370px) {
	.flow_dl.w100 dd p small {display: block;}
	.cost p {padding: 10px 20px 20px;}
	.examination .no3 {width: 35%;}
	.low header nav a {padding: 1.4rem 1.4rem 1.4rem 0;}
}/* 370px */
