@charset "UTF-8";
/*-------------------------------------------> common */
@media screen and (max-width: 767px) {
		#Header,
		#Footer,
		#Main {
				width: 100%;
				margin-left: 0;
				margin-right: 0;
		}
		#Header .inner,
		#Footer .inner {
				min-width: initial;
				padding-left: 4.6666666667vw;
				padding-right: 4.6666666667vw;
		}
		#Header {
				height: 70px;
		}
		#Header .fix {
				min-width: initial;
				height: 70px;
		}
		#Navi {
				width: 100%;
		}
		#Footer {
				margin-top: 12.6666666667vw;
				padding-bottom: 9.3333333333vw;
		}
		#Footer .inner {
				position: relative;
				margin-top: 0;
				padding-top: 20.6666666667vw;
		}
		#Footer .inner > .flex {
				height: auto;
				flex-direction: column-reverse;
		}
		#Footer .inner .copyright {
				position: inherit;
				margin-top: 10.6666666667vw;
		}
		#Footer .inner .copyright a.logo {
				margin-right: 0;
				position: absolute;
				top: 0;
				left: 50%;
				translate: -50% 0;
				width: 14.2666666667vw;
				height: 8.5333333333vw;
		}
		#Footer .inner .sns {
				height: auto;
				justify-content: center;
				margin-left: auto;
				margin-right: auto;
		}
		#Footer .inner .sns .icon {
				margin-left: 2.6666666667vw;
				margin-right: 2.6666666667vw;
		}
		#Footer .inner .sns .icon a img, #Footer .inner .sns .icon a .svg {
				width: 5.3333333333vw;
				height: 5.3333333333vw;
		}
		#Footer .inner .sns .icon:first-child {
				margin-left: 2.6666666667vw;
		}
}
/*-------------------------------------------> Header */
#Header {
		height: 80px;
}
#Header .inner {
		max-width: 1280px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding-left: 80px;
		padding-right: 80px;
		box-sizing: border-box;
}
@media screen and (max-width: 767px) {
		#Header .inner {
				max-width: initial;
				width: 100%;
				margin-left: 0;
				margin-right: 0;
				padding-left: 4.6666666667vw;
				padding-right: 4.6666666667vw;
		}
}
#Header .fix {
		width: 100%;
		height: 80px;
		display: flex;
		align-items: center;
		background: rgba(255, 255, 255, 0);
		transition: transform 0.3s ease-out;
}
#Header.fixed .fix {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		background: rgb(255, 255, 255);
		transform: translate3d(0, 0, 0);
}
#Header.fixed.footerFixed .fix {
		transform: translate3d(0, -100%, 0);
}
@media screen and (max-width: 767px) {
		#Header {
				height: 70px;
		}
		#Header .fix {
				height: 70px;
		}
}

#Header #Navi {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-left: auto;
		margin-right: auto;
}
#Header #Navi .logo {
		width: 248px;
		margin-right: auto;
}
#Header #Navi .logo a {
		display: block;
}
#Header #Navi .logo img {
		max-width: initial;
		width: 248px;
		height: auto;
}
#Header #Navi .logo img.pc {
		display: inline;
}
#Header #Navi .logo img.sp {
		display: none;
}
#Header #Navi .link {
		font-size: 15px;
		line-height: 1;
		letter-spacing: 0.02em;
		font-family: serif;
}
#Header #Navi .link + .link {
		margin-left: 2em;
}
#Header #Navi .link.contact a {
		height: auto;
}
#Header #Navi .link a {
		color: #000;
		position: relative;
		display: inline-block;
}
#Header #Navi .link a::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: -10px;
		background: #000;
}
@media screen and (max-width: 767px) {
		#Header #Navi .logo {
				width: 44.5333333333vw;
				height: auto;
		}
		#Header #Navi .logo a img {
				width: 44.5333333333vw;
				height: auto;
		}
		#Header #Navi .logo a img.pc {
				display: none;
		}
		#Header #Navi .logo a img.sp {
				display: inline;
		}
		#Header #Navi .link {
				display: none;
		}
		#Header #Navi .link.contact {
				display: block;
				font-size: 12px; /* legacy */
				font-size: 3.2vw;
				line-height: 1.6666666667;
				letter-spacing: 0.02em;
		}
		#Header #Navi .link.contact a {
				display: block;
				border: solid 0.1333333333vw #000;
				padding: 0 0.5em;
		}
		#Header #Navi .link.contact a::after {
				display: none;
		}
}

body {
		color: #323232;
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}

#Main {
		min-width: 1280px;
		width: 100%;
		margin-left: 0;
		margin-right: 0;
		overflow: hidden;
}
#Main .inner {
		width: 1120px;
		margin-left: auto;
		margin-right: auto;
}
#Main .inner.narrow {
		width: 950px;
		padding-left: 0;
		padding-right: 0;
}
#Main .inner.wide {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
}
#Main .sectionTitle {
		margin-left: -25px;
}
@media screen and (max-width: 767px) {
		#Main .sectionTitle {
				margin-left: 0;
		}
		#Main .sectionTitle .svg {
				width: 34.6666666667vw;
		}
}
#Main .linkContact {
		text-align: center;
}
@media screen and (max-width: 767px) {
		#Main .linkContact a .svg {
				width: 58.4vw;
		}
}
#Main .title_text {
		margin-top: 35px;
}
#Main .title_text dt {
		font-size: 45px;
		line-height: 1.3333333333;
		letter-spacing: 0.15em;
}
#Main .title_text dd {
		margin-top: 20px;
		font-size: 20px;
		line-height: 2.25;
		letter-spacing: 0.05em;
		white-space: nowrap;
}
@media screen and (max-width: 767px) {
		#Main .title_text {
				margin-top: 4.6666666667vw;
		}
		#Main .title_text dt {
				font-size: 24px; /* legacy */
				font-size: 6.4vw;
				line-height: 1.4166666667;
				letter-spacing: 0.1em;
		}
		#Main .title_text dd {
				margin-top: 2.6666666667vw;
				font-size: 13px; /* legacy */
				font-size: 3.4666666667vw;
				line-height: 2.0769230769;
				letter-spacing: 0.05em;
				white-space: initial;
		}
}
#Main .work {
		box-sizing: content-box;
}
#Main .work .inner {
		width: 1035px;
		width: 1120px;
		padding-left: 0;
		padding-right: 0;
		position: relative;
}
#Main .work .image {
		position: absolute;
		top: 0;
		z-index: 1;
}
#Main .work .info {
		position: relative;
		top: 0;
		z-index: 10;
		box-sizing: content-box;
}
#Main .work .info dl dt {
		position: relative;
		font-size: 26px;
		line-height: 1.3461538462;
		letter-spacing: 0.05em;
}
#Main .work .info dl dt small {
		display: inline-block;
		margin-left: 20px;
		font-size: 18px;
		letter-spacing: 0.02em;
}
#Main .work .info dl dt::after {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background: #ffe200;
		position: absolute;
		left: 0;
		bottom: -5px;
}
#Main .work .info dl dd {
		margin-top: 15px;
		font-size: 16px;
		line-height: 1.875;
		letter-spacing: 0.05em;
		text-align: justify;
		text-justify: inter-ideograph;
}
#Main .work .info .link {
		text-align: right;
		margin-top: 30px;
}
#Main .work.right .image {
		right: 0;
}
#Main .work.right .info {
		left: 135px;
}
#Main .work.left .image {
		left: 0;
}
#Main .work.left .info {
		left: 0;
}
@media screen and (max-width: 767px) {
		#Main .work .inner {
				width: 100%;
				padding-left: 4.6666666667vw;
				padding-right: 4.6666666667vw;
				position: relative;
				box-sizing: border-box;
		}
		#Main .work .image {
				position: relative;
				top: auto;
		}
		#Main .work .info {
				top: auto;
				z-index: 10;
		}
		#Main .work .info dl dt {
				position: relative;
				font-size: 21px; /* legacy */
				font-size: 5.6vw;
				line-height: 0.8333333333;
				letter-spacing: 0.05em;
		}
		#Main .work .info dl dt small {
				margin-left: 2.6666666667vw;
				font-size: 3.4666666667vw;
				letter-spacing: 0.02em;
		}
		#Main .work .info dl dt::after {
				height: 0.2666666667vw;
				bottom: -4vw;
		}
		#Main .work .info dl dd {
				margin-top: 8vw;
				font-size: 13px; /* legacy */
				font-size: 3.4666666667vw;
				line-height: 2.0769230769;
				letter-spacing: 0.05em;
		}
		#Main .work .info .link {
				margin-top: 4vw;
		}
		#Main .work .info .link a .svg {
				width: 45.3333333333vw;
		}
		#Main .work.right .image, #Main .work.right .info, #Main .work.left .image, #Main .work.left .info {
				left: auto;
				right: auto;
		}
}
@media screen and (max-width: 767px) {
		#Main {
				min-width: initial;
		}
		#Main .inner {
				width: 100%;
				margin-left: 0;
				margin-right: 0;
				padding-left: 4.6666666667vw;
				padding-right: 4.6666666667vw;
		}
		#Main .inner.narrow {
				width: 100%;
				padding-left: 4.6666666667vw;
				padding-right: 4.6666666667vw;
		}
		#Main .inner.wide {
				width: 100%;
				padding-left: 0;
				padding-right: 0;
		}
}

/*-------------------------------------------> svg button */
#motion .fill-pagecolor {
		animation-name: btnPop;
		animation-duration: 3s;
		animation-iteration-count: infinite;
		animation-timing-function: ease;
		animation-fill-mode: both;
}
#motion #img1 {
		animation-delay: 0.1s;
		animation-name: btnPop2;
}
#motion #img2 {
		animation-delay: 0.2s;
}
#motion #img3 {
		animation-delay: 0.3s;
}
#motion #img4 {
		animation-delay: 0.4s;
}
#motion #img5 {
		animation-delay: 0.5s;
}
#motion #img6 {
		animation-delay: 0.6s;
}
#motion #img7 {
		animation-delay: 0.7s;
}
#motion #img8 {
		animation-delay: 0.8s;
		animation-name: btnPop3;
}

a #text, a #switch {
		transform: translate3d(0, 0, 0);
		transition: transform 0.15s ease-out;
}
a:hover #text, a:hover #switch {
		transform: translate3d(9px, 9px, 0);
}

@keyframes btnPop {
		0% {
				transform: translate3d(0, 0, 0);
		}
		80% {
				transform: translate3d(0, 0, 0);
		}
		85% {
				transform: translate3d(0, -10px, 0);
		}
		100% {
				transform: translate3d(0, 0, 0);
		}
}
/*------------------------------------------- */
#Cover h1 {
		width: 100%;
		height: auto;
		overflow: hidden;
}
#Cover h1 img {
		width: 100%;
		height: auto;
		object-fit: cover;
}
@media screen and (max-width: 767px) {
		#Cover h1 {
				height: auto;
		}
		#Cover h1 img {
				height: auto;
		}
}

.readBlock {
		text-align: center;
		margin-top: 120px;
		margin-bottom: 122px;
}
.readBlock dl dt {
		font-size: 50px;
		line-height: 1.6;
		letter-spacing: 0.1em;
		margin-bottom: 75px;
}
.readBlock dl dd {
		font-size: 22px;
		line-height: 3;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.readBlock {
				margin-top: 16vw;
				margin-bottom: 17.0666666667vw;
		}
		.readBlock dl dt {
				font-size: 25px; /* legacy */
				font-size: 6.6666666667vw;
				line-height: 2;
				letter-spacing: 0.08em;
				margin-bottom: 10vw;
		}
		.readBlock dl dd {
				font-size: 11px; /* legacy */
				font-size: 2.9333333333vw;
				line-height: 3.3636363636;
				letter-spacing: 0.05em;
		}
}

.slideScroll {
		width: 100%;
		height: 420px;
		background: #f5f5f5;
		overflow: hidden;
}
.slideScroll .wrap {
		width: 4800px;
		height: 420px;
		padding-left: 2400px;
		box-sizing: border-box;
}
.slideScroll .wrap::after {
		content: "";
		display: block;
		width: 2400px;
		height: 420px;
}
.slideScroll .wrap, .slideScroll .wrap:after {
		display: inline-block;
		content: "";
		width: 2400px;
		height: 420px;
		background-position: left top;
		background-repeat: no-repeat;
}
.slideScroll.slideLeft {
		margin-bottom: 90px;
}
.slideScroll.slideLeft .wrap {
		animation: loopLeft 30s linear infinite;
}
.slideScroll.slideLeft .wrap, .slideScroll.slideLeft .wrap:after {
		background-image: url(../images/food/slide01.jpg);
}
.slideScroll.slideRight {
		margin-top: 150px;
}
.slideScroll.slideRight .wrap {
		animation: loopRight 30s linear infinite;
}
.slideScroll.slideRight .wrap, .slideScroll.slideRight .wrap:after {
		background-image: url(../images/food/slide02.jpg);
}
@media screen and (max-width: 767px) {
		.slideScroll {
				height: 44.8vw;
		}
		.slideScroll .wrap {
				width: calc(256vw * 2);
				height: 44.8vw;
				padding-left: 256vw;
		}
		.slideScroll .wrap::after {
				width: 256vw;
				height: 44.8vw;
		}
		.slideScroll .wrap, .slideScroll .wrap:after {
				width: 256vw;
				height: 44.8vw;
				background-size: contain;
		}
		.slideScroll.slideLeft {
				margin-bottom: 12vw;
		}
		.slideScroll.slideLeft .wrap {
				animation: loopLeftSp 30s linear infinite;
		}
		.slideScroll.slideRight {
				margin-top: 20vw;
		}
		.slideScroll.slideRight .wrap {
				animation: loopRightSp 30s linear infinite;
		}
}

@keyframes loopLeft {
		from {
				transform: translate3d(-2400px, 0, 0);
		}
		to {
				transform: translate3d(0, 0, 0);
		}
}
@keyframes loopLeftSp {
		from {
				transform: translate3d(-256vw, 0, 0);
		}
		to {
				transform: translate3d(0, 0, 0);
		}
}
@keyframes loopRight {
		from {
				transform: translate3d(0, 0, 0);
		}
		to {
				transform: translate3d(-2400px, 0, 0);
		}
}
@keyframes loopRightSp {
		from {
				transform: translate3d(0, 0, 0);
		}
		to {
				transform: translate3d(-256vw, 0, 0);
		}
}
/*-------------------------------------------> Block01 */
#Block01 {
		margin-top: 160px;
}
@media screen and (max-width: 767px) {
		#Block01 {
				margin-top: 21.3333333333vw;
		}
}
#Block01 .point {
		margin-top: 100px;
		margin-bottom: 145px;
		position: relative;
}
#Block01 .point::after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: #f5f5f5;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		transform: rotate(-7deg) scale(1.5, 1);
		transform-origin: center center;
}
#Block01 .point .inner {
		width: 1120px;
		position: relative;
		z-index: 10;
}
#Block01 .point ul {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
}
#Block01 .point ul li {
		position: relative;
		width: 240px;
		height: 330px;
		margin-left: 6px;
		margin-right: 6px;
}
#Block01 .point ul li::after {
		content: "";
		display: block;
		width: 101px;
		height: 117px;
		position: absolute;
		right: 0;
		bottom: 0;
		background-position: right bottom;
		background-repeat: no-repeat;
		background-size: contain;
}
#Block01 .point ul li:nth-of-type(1)::after {
		background-image: url(../images/people01.png);
}
#Block01 .point ul li:nth-of-type(2)::after {
		background-image: url(../images/people02.png);
}
#Block01 .point ul li:nth-of-type(3)::after {
		background-image: url(../images/people03.png);
}
#Block01 .point ul li:nth-of-type(4)::after {
		background-image: url(../images/people04.png);
}
#Block01 .point ul li:nth-of-type(5) {
		margin-top: 40px;
}
#Block01 .point ul li:nth-of-type(5)::after {
		background-image: url(../images/people05.png);
}
#Block01 .point ul li:nth-of-type(6) {
		margin-top: 40px;
}
#Block01 .point ul li:nth-of-type(6)::after {
		background-image: url(../images/people06.png);
}
#Block01 .point ul li:nth-of-type(7) {
		margin-top: 40px;
}
#Block01 .point ul li:nth-of-type(7)::after {
		background-image: url(../images/people07.png);
}
@media screen and (max-width: 767px) {
		#Block01 .point {
				margin-top: 13.3333333333vw;
				margin-bottom: 19.3333333333vw;
				position: relative;
		}
		#Block01 .point .inner {
				width: 100vw;
				padding-left: 0;
				padding-right: 0;
		}
		#Block01 .point ul li {
				position: relative;
				width: 32vw;
				height: 44vw;
				margin-left: 0.8vw;
				margin-right: 0.8vw;
		}
		#Block01 .point ul li img {
				width: 28vw;
		}
		#Block01 .point ul li::after {
				width: 13.4666666667vw;
				height: 15.6vw;
		}
		#Block01 .point ul li:nth-of-type(1), #Block01 .point ul li:nth-of-type(2), #Block01 .point ul li:nth-of-type(3) {
				margin-left: -0.8vw;
				margin-right: -0.8vw;
		}
		#Block01 .point ul li:nth-of-type(4), #Block01 .point ul li:nth-of-type(5), #Block01 .point ul li:nth-of-type(6), #Block01 .point ul li:nth-of-type(7) {
				margin-top: 5.3333333333vw;
		}
}
#Block01 .example {
		text-align: center;
		margin-bottom: 80px;
}
#Block01 .example .title {
		font-size: 28px;
		line-height: 1;
		letter-spacing: 0.15em;
		font-weight: 700;
		margin-bottom: 25px;
}
#Block01 .example .frame {
		border: dotted 2px #323232;
		padding: 40px 0;
}
#Block01 .example dl {
		font-size: 23px;
		line-height: 1.9565217391;
		letter-spacing: 0em;
		font-weight: 700;
}
#Block01 .example dl + dl {
		margin-top: 25px;
}
@media screen and (max-width: 767px) {
		#Block01 .example {
				margin-bottom: 10.6666666667vw;
		}
		#Block01 .example .title {
				font-size: 18px; /* legacy */
				font-size: 4.8vw;
				line-height: 1;
				letter-spacing: 0.15em;
				margin-bottom: 3.3333333333vw;
		}
		#Block01 .example .frame {
				padding: 5.3333333333vw 0;
		}
		#Block01 .example dl {
				font-size: 14px; /* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.7857142857;
				letter-spacing: 0em;
		}
		#Block01 .example dl + dl {
				margin-top: 1em;
		}
}

/*-------------------------------------------> Block02 */
#Block02 {
		margin-top: 260px;
}
@media screen and (max-width: 767px) {
		#Block02 {
				margin-top: 34.6666666667vw;
		}
}
#Block02 .interview {
		margin-top: 60px;
		padding-top: 670px;
		height: 2256px;
		background-position: center top;
		background-repeat: no-repeat;
}
#Block02 .interview .block {
		height: 500px;
}
#Block02 .interview .block dt {
		font-size: 38px;
		line-height: 1.4736842105;
		letter-spacing: 0.05em;
}
#Block02 .interview .block dd {
		font-size: 18px;
		line-height: 2.2222222222;
		letter-spacing: 0.05em;
}
#Block02 .interview .block:nth-of-type(1) {
		padding-top: 60px;
}
#Block02 .interview .block:nth-of-type(2) {
		text-align: right;
		color: #FFF;
}
#Block02 .interview .block:nth-of-type(3) {
		padding-top: 60px;
		color: #FFF;
}
@media screen and (max-width: 767px) {
		#Block02 .interview {
				margin-top: 8vw;
				padding-top: 0;
				height: auto;
				background-image: none;
		}
		#Block02 .interview .block {
				height: auto;
				text-align: right;
		}
		#Block02 .interview .block::before {
				content: "";
				display: block;
				width: 100vw;
				height: 67.4666666667vw;
				margin-left: -4.6666666667vw;
				background-position: center top;
				background-repeat: no-repeat;
				background-size: contain;
		}
		#Block02 .interview .block dt {
				font-size: 16px; /* legacy */
				font-size: 4.2666666667vw;
				line-height: 1.5;
				letter-spacing: 0.05em;
		}
		#Block02 .interview .block dd {
				font-size: 11px; /* legacy */
				font-size: 2.9333333333vw;
				line-height: 1.9090909091;
				letter-spacing: 0.05em;
				margin-top: 1em;
		}
		#Block02 .interview .block:nth-of-type(1) {
				padding-top: 0;
		}
		#Block02 .interview .block:nth-of-type(1)::before {
				height: 134.6666666667vw;
		}
		#Block02 .interview .block:nth-of-type(2) {
				padding-top: 4vw;
				color: #000;
		}
		#Block02 .interview .block:nth-of-type(3) {
				padding-top: 4vw;
				color: #000;
		}
}
@media screen and (max-width: 767px) {
		#Block02 .work {
				margin-top: 26.6666666667vw;
		}
}

/*-------------------------------------------> Block03 */
#Block03 {
		margin-top: 260px;
}
@media screen and (max-width: 767px) {
		#Block03 {
				margin-top: 34.6666666667vw;
		}
}
#Block03 .process {
		margin-top: 55px;
		margin-bottom: 55px;
		display: flex;
		flex-wrap: wrap;
		font-size: 18px;
		line-height: 2.3333333333;
		letter-spacing: 0em;
		text-align: center;
}
#Block03 .process li {
		width: 50%;
}
#Block03 .process li dl dd {
		padding-top: 20px;
}
@media screen and (min-width: 768px) {
		#Block03 .process li:nth-of-type(n+3) {
				margin-top: 50px;
		}
}
@media screen and (max-width: 767px) {
		#Block03 .process {
				margin-top: 7.3333333333vw;
				margin-bottom: 7.3333333333vw;
				display: block;
				font-size: 11px; /* legacy */
				font-size: 2.9333333333vw;
				line-height: 2;
				letter-spacing: 0em;
		}
		#Block03 .process li {
				width: 100%;
				margin-top: 7.3333333333vw;
		}
		#Block03 .process li dl dd {
				padding-top: 2.6666666667vw;
		}
		#Block03 .process li:nth-of-type(1) dl dt img {
				width: 34.6666666667vw;
		}
		#Block03 .process li:nth-of-type(2) dl dt img {
				width: 33.0666666667vw;
		}
		#Block03 .process li:nth-of-type(3) dl dt img {
				width: 71.4666666667vw;
		}
		#Block03 .process li:nth-of-type(4) dl dt img {
				width: 34.6666666667vw;
		}
		#Block03 .process li:nth-of-type(5) dl dt img {
				width: 22.4vw;
		}
		#Block03 .process li:nth-of-type(6) dl dt img {
				width: 29.3333333333vw;
		}
		#Block03 .process li:nth-of-type(7) dl dt img {
				width: 38.6666666667vw;
		}
		#Block03 .process li:nth-of-type(8) dl dt img {
				width: 67.2vw;
		}
}
@media screen and (max-width: 767px) {
		#Block03 .work {
				margin-top: 26.6666666667vw;
		}
}

/*-------------------------------------------> Block04 */
#Block04 {
		margin-top: 260px;
}
@media screen and (max-width: 767px) {
		#Block04 {
				margin-top: 34.6666666667vw;
		}
}
#Block04 .point {
		margin-top: 50px;
		margin-bottom: 80px;
		width: 840px;
		display: flex;
		justify-content: space-between;
		margin-left: auto;
		margin-right: auto;
}
@media screen and (max-width: 767px) {
		#Block04 .point {
				margin-top: 6.6666666667vw;
				margin-bottom: 10.6666666667vw;
				width: 78vw;
				flex-wrap: wrap;
		}
		#Block04 .point li {
				flex: 0 1 36vw;
		}
		#Block04 .point li:nth-of-type(n+3) {
				margin-top: 6vw;
		}
}
#Block04 .member {
		width: 906px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-left: auto;
		margin-right: auto;
}
#Block04 .member li {
		width: 250px;
		font-size: 16px;
		line-height: 1;
		letter-spacing: 0.05em;
		text-align: center;
		font-family: serif;
}
#Block04 .member li img {
		margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
		#Block04 .member li:nth-of-type(n+4) {
				margin-top: 78px;
				margin-top: 40px;
		}
}
@media screen and (max-width: 767px) {
		#Block04 .member {
				width: 90.6666666667vw;
		}
		#Block04 .member li {
				width: 42.6666666667vw;
				font-size: 10px; /* legacy */
				font-size: 2.6666666667vw;
				line-height: 1;
				letter-spacing: 0.05em;
		}
		#Block04 .member li img {
				margin-bottom: 2.6666666667vw;
		}
		#Block04 .member li:nth-of-type(n+3) {
				margin-top: 8vw;
		}
		#Block04 .member li:nth-of-type(9) {
				display: none;
		}
}
#Block04 .link {
		text-align: right;
		margin-top: 80px;
}
@media screen and (max-width: 767px) {
		#Block04 .link {
				margin-top: 10.6666666667vw;
		}
}
#Block04 .inner.link {
		width: 906px;
}
@media screen and (max-width: 767px) {
		#Block04 .inner.link {
				width: 90.6666666667vw;
				padding-left: 0;
				padding-right: 0;
				margin-left: auto;
				margin-right: auto;
		}
		#Block04 .inner.link a .svg {
				width: 52.2666666667vw;
		}
}

/*-------------------------------------------> Block05 */
#Block05 {
		margin-top: 125px;
}
@media screen and (max-width: 767px) {
		#Block05 {
				margin-top: 16.6666666667vw;
		}
}
#Block05 .inner {
		text-align: right;
}
#Block05 .inner .sectionTitle {
		margin-left: 0;
		margin-right: -25px;
}
@media screen and (max-width: 767px) {
		#Block05 .inner {
				text-align: left;
		}
		#Block05 .inner .sectionTitle {
				margin-right: 0;
		}
}
#Block05 .step {
		height: 380px;
		position: relative;
		z-index: 10;
}
#Block05 .step + .step {
		margin-top: 50px;
}
#Block05 .step::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		transform: rotate(-7deg) scale(1.5, 1);
		transform-origin: center center;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
}
#Block05 .step .inner {
		display: flex;
		position: relative;
		z-index: 10;
		padding-top: 110px;
}
#Block05 .step .inner::after {
		content: "";
		display: block;
		position: absolute;
		z-index: 20;
}
#Block05 .step dl {
		width: 50%;
		color: #FFF;
		text-align: center;
}
#Block05 .step dl dt {
		position: relative;
		font-size: 32px;
		line-height: 1.71875;
		letter-spacing: 0em;
		font-weight: 900;
		padding-top: 60px;
}
#Block05 .step dl dt::before {
		content: "";
		display: block;
		width: 31px;
		height: 46px;
		background-position: center bottom;
		background-repeat: no-repeat;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
}
#Block05 .step dl dt::after {
		content: "";
		display: block;
		width: 100px;
		height: 2px;
		background: #ffee00;
		position: absolute;
		left: 50%;
		bottom: -10px;
		transform: translateX(-50%);
}
#Block05 .step dl dd {
		margin-top: 20px;
		font-size: 17px;
		line-height: 2.0588235294;
		letter-spacing: 0.05em;
		font-weight: 700;
}
#Block05 .step.block01 {
		margin-top: 100px;
}
#Block05 .step.block01::before {
		background: rgba(0, 173, 234, 0.6);
		transform: rotate(8deg) scale(1.5, 1);
}
#Block05 .step.block01 .inner::after {
		width: 366px;
		height: 307px;
		top: -80px;
		right: -70px;
		background-image: url(../images/flow_img01.png);
}
#Block05 .step.block01 dl:nth-of-type(1) {
		margin-top: -50px;
}
#Block05 .step.block01 dl:nth-of-type(1) dt::before {
		background-image: url(../images/flow_no01.svg);
}
#Block05 .step.block01 dl:nth-of-type(2) dt::before {
		background-image: url(../images/flow_no02.svg);
}
#Block05 .step.block02::before {
		background: rgba(228, 46, 137, 0.6);
		transform: rotate(-8deg) scale(1.5, 1);
}
#Block05 .step.block02 .inner::after {
		width: 292px;
		height: 268px;
		top: -5px;
		left: -70px;
		background-image: url(../images/flow_img02.png);
}
#Block05 .step.block02 dl:nth-of-type(1) {
		margin-top: -50px;
		order: 2;
}
#Block05 .step.block02 dl:nth-of-type(1) dt::before {
		background-image: url(../images/flow_no03.svg);
}
#Block05 .step.block02 dl:nth-of-type(2) {
		order: 1;
}
#Block05 .step.block02 dl:nth-of-type(2) dt::before {
		background-image: url(../images/flow_no04.svg);
}
#Block05 .step.block03::before {
		background: rgba(155, 198, 21, 0.75);
		transform: rotate(8deg) scale(1.5, 1);
}
#Block05 .step.block03 .inner::after {
		width: 179px;
		height: 129px;
		top: 70px;
		right: 10px;
		background-image: url(../images/flow_img03.png);
}
#Block05 .step.block03 dl:nth-of-type(1) {
		margin-top: -70px;
}
#Block05 .step.block03 dl:nth-of-type(1) dt::before {
		background-image: url(../images/flow_no05.svg);
}
#Block05 .step.block03 dl:nth-of-type(2) dt::before {
		background-image: url(../images/flow_no06.svg);
}
#Block05 .step.block04::before {
		background: rgba(241, 150, 0, 0.75);
		transform: rotate(-8deg) scale(1.5, 1);
}
#Block05 .step.block04 .inner::after {
		width: 318px;
		height: 145px;
		top: -17px;
		left: -70px;
		background-image: url(../images/flow_img04.png);
}
#Block05 .step.block04 dl:nth-of-type(1) {
		margin-top: -70px;
		order: 2;
}
#Block05 .step.block04 dl:nth-of-type(1) dt::before {
		background-image: url(../images/flow_no07.svg);
}
#Block05 .step.block04 dl:nth-of-type(2) {
		order: 1;
}
#Block05 .step.block04 dl:nth-of-type(2) dt::before {
		background-image: url(../images/flow_no08.svg);
}
@media screen and (max-width: 767px) {
		#Block05 .step {
				height: auto;
				padding-bottom: 10.6666666667vw;
		}
		#Block05 .step + .step {
				margin-top: 0;
		}
		#Block05 .step + .step dl:nth-of-type(1) {
				padding-top: 11.3333333333vw;
		}
		#Block05 .step .inner {
				padding-top: 0;
		}
		#Block05 .step .inner.flex {
				display: block;
		}
		#Block05 .step dl {
				width: 100%;
		}
		#Block05 .step dl + dl {
				margin-top: 9.3333333333vw;
		}
		#Block05 .step dl dt {
				font-size: 24px; /* legacy */
				font-size: 6.4vw;
				line-height: 1;
				letter-spacing: 0em;
				font-weight: 700;
				padding-top: 12.8vw;
		}
		#Block05 .step dl dt::before {
				width: 5.8666666667vw;
				height: 9.0666666667vw;
				background-size: contain;
		}
		#Block05 .step dl dt::after {
				content: "";
				width: 20vw;
				height: 0.2666666667vw;
				left: 50%;
				bottom: -3.4666666667vw;
		}
		#Block05 .step dl dd {
				margin-top: 6.6666666667vw;
				font-size: 13px; /* legacy */
				font-size: 3.4666666667vw;
				line-height: 2;
				letter-spacing: 0.05em;
				font-weight: 500;
		}
		#Block05 .step.block01 {
				margin-top: 21.3333333333vw;
		}
		#Block05 .step.block01 .inner {
				padding-top: 5.3333333333vw;
		}
		#Block05 .step.block01 .inner::after {
				width: 48.8vw;
				height: 40.9333333333vw;
				top: 33.6vw;
				right: -9.3333333333vw;
				background-size: contain;
		}
		#Block05 .step.block01 dl:nth-of-type(1) {
				margin-top: 0;
		}
		#Block05 .step.block02 .inner::after {
				width: 38.9333333333vw;
				height: 35.7333333333vw;
				top: 48vw;
				left: -4vw;
				background-size: contain;
		}
		#Block05 .step.block02 dl:nth-of-type(1) {
				margin-top: 0;
		}
		#Block05 .step.block03 .inner::after {
				width: 23.8666666667vw;
				height: 17.2vw;
				top: 72vw;
				right: 5.3333333333vw;
				background-size: contain;
		}
		#Block05 .step.block03 dl:nth-of-type(1) {
				margin-top: 0;
		}
		#Block05 .step.block04 .inner::after {
				width: 42.4vw;
				height: 19.3333333333vw;
				top: 66.6666666667vw;
				left: -4vw;
				background-size: contain;
		}
		#Block05 .step.block04 dl:nth-of-type(1) {
				margin-top: 0;
		}
}

/*-------------------------------------------> Works */
#Works {
		font-family: "EB Garamond", "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		margin-top: 350px;
}
#Works .worksTitle {
		text-align: center;
		margin-bottom: 100px;
}
#Works .mod_worksList {
		width: 1110px;
		margin-left: 0;
		margin-right: 0;
		margin-left: auto;
		margin-right: auto;
}
#Works .mod_worksList .item {
		width: 370px;
		padding-left: 50px;
		padding-right: 50px;
		margin-bottom: 50px;
}
#Works .mod_worksList .item.isAnim .anim-fadeInUp {
		animation-name: fadeInUp;
}
@media screen and (max-width: 767px) {
		#Works {
				margin-top: 26.6666666667vw;
		}
		#Works .worksTitle {
				margin-bottom: 13.3333333333vw;
		}
		#Works .worksTitle .svg {
				width: 48.5333333333vw;
		}
		#Works .mod_worksList {
				width: 76vw;
				margin-left: 0;
				margin-right: 0;
				margin-left: auto;
				margin-right: auto;
		}
		#Works .mod_worksList .item {
				width: 100%;
				padding-left: 0;
				padding-right: 0;
				margin-bottom: 9.3333333333vw;
		}
		#Works .mod_worksList .item a .meta {
				opacity: 1;
		}
}