@charset "UTF-8";
/*-------------------------------------------> Header */
#Header {
		position: sticky;
		z-index: 100;
		top: 0;
		left: 0;
		background: #FFFFFF;
}
#Header .fix {
		min-width: initial;
}
@media screen and (max-width: 1024px) {
		#Header {
				position: sticky;
				height: auto;
				width: 100%;
				pointer-events: auto;
		}
		#Header .inner {
				width: 100%;
				padding: 0 5.7142857143%;
		}
}
#Header #Navi {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-left: auto;
		margin-right: auto;
}
#Header #Navi .logo {
		width: 228px;
		font-size: 14px;
		line-height: 1;
		letter-spacing: 0.1em;
		margin-right: 1.5em;
}
#Header #Navi .logo a {
		display: block;
}
#Header #Navi .logo img {
		max-width: initial;
		width: 228px;
		height: 39px;
}
#Header #Navi .contact {
		font-size: 14px;
		line-height: 1;
		letter-spacing: 0.1em;
}
#Header #Navi .contact a {
		display: flex;
		align-items: center;
		height: 39px;
		color: #000;
		transition: all 0.3s ease-out;
}
#Header #Navi .contact a:hover {
		color: #666;
}
@media screen and (max-width: 1024px) {
		#Header #Navi {
				width: 100%;
				height: 70px;
				overflow: hidden;
		}
		#Header #Navi::after {
				display: none;
		}
		#Header #Navi .logo {
				position: relative;
				top: auto;
				left: auto;
				padding: 0;
				height: auto;
		}
		#Header #Navi .logo a {
				width: auto;
				height: auto;
				background: none;
		}
		#Header #Navi .logo a img {
				display: inline;
		}
}

/*-------------------------------------------> Footer */
#Footer .inner .sns .privacy {
		display: none;
}

#Footer {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
}
#Footer .menu {
		display: none;
}
#Footer .inner {
		width: 100%;
		padding-left: 5.7142857143%;
		padding-right: 5.7142857143%;
		box-sizing: border-box;
}
#Footer .inner .sns .privacy {
		display: none;
}
@media screen and (max-width: 1280px) {
		#Footer {
				overflow-x: hidden;
		}
}
@media screen and (max-width: 1024px) {
		#Footer .inner {
				margin-top: 95px;
		}
		#Footer .inner .flex {
				height: 100px;
				flex-direction: row;
		}
		#Footer .inner .copyright {
				margin-top: 0;
				margin-bottom: 0;
				position: relative;
				font-size: 12px;
				display: flex;
		}
		#Footer .inner .copyright a.logo {
				display: block;
				margin-right: 27px;
		}
		#Footer .inner .sns {
				margin-left: auto;
				margin-right: 0;
				justify-content: space-between;
		}
}

/*-------------------------------------------> lp_menu2022 */
@media screen and (max-width: 767px) {
		article {
				padding-top: 0;
		}
}
#lp_menu2022 {
		/* base */
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-weight: 400;
		color: #3D3A39;
}
#lp_menu2022 .en, #lp_menu2022 .f_serif {
		font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		font-weight: 400;
}
#lp_menu2022 h1, #lp_menu2022 h2, #lp_menu2022 h3 {
		margin: 0;
}
#lp_menu2022 h1, #lp_menu2022 h2, #lp_menu2022 h3, #lp_menu2022 h4, #lp_menu2022 h5, #lp_menu2022 h6 {
		line-height: 1;
}
@media screen and (min-width: 768px) {
		#lp_menu2022 .pc {
				display: block;
		}
		#lp_menu2022 .sp {
				display: none;
		}
		#lp_menu2022 img.pc, #lp_menu2022 .svg.pc {
				display: inline;
		}
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .pc {
				display: none;
		}
		#lp_menu2022 .sp {
				display: block;
		}
		#lp_menu2022 img.pc {
				display: none;
		}
		#lp_menu2022 img.sp, #lp_menu2022 .svg.sp {
				display: inline;
		}
}
#lp_menu2022 img {
		max-width: 100%;
		height: auto;
}
#lp_menu2022 .inner {
		width: 100%;
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
}
#lp_menu2022 .cover {
		position: relative;
}
#lp_menu2022 .cover .copy {
		color: #FFF;
		font-size: 4.6666666667vw;
		line-height: 1.375;
		letter-spacing: 0.2em;
		font-weight: 700;
		text-align: center;
		width: 100%;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .cover .copy {
				font-size: 2.8571428571vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .cover .copy {
				font-size: 40px;
		}
}
#lp_menu2022 .line {
		position: relative;
}
#lp_menu2022 .line .copy {
		color: #FFF;
		font-size: 4vw;
		line-height: 1.875;
		letter-spacing: 0.2em;
		width: 100%;
		padding-left: 7.8571428571%;
		padding-right: 7.8571428571%;
		box-sizing: border-box;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
}
#lp_menu2022 .line .copy strong {
		font-weight: 700;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .line .copy {
				font-size: 2.8571428571vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .line .copy {
				font-size: 40px;
		}
}
#lp_menu2022 .line.lineRight .copy {
		text-align: right;
}
#lp_menu2022 .titleBlock {
		text-align: center;
		margin-top: 5.3571428571%;
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .titleBlock {
				margin-top: 12vw;
		}
}
#lp_menu2022 .titleBlock .title span {
		display: block;
}
#lp_menu2022 .titleBlock .title span.en {
		font-size: 5.3333333333vw;
		line-height: 1;
		letter-spacing: 0.05em;
		font-weight: 500;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .titleBlock .title span.en {
				font-size: 3.5714285714vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .titleBlock .title span.en {
				font-size: 50px;
		}
}
#lp_menu2022 .titleBlock .title span.ja {
		font-size: 3.0666666667vw;
		line-height: 1;
		letter-spacing: 0.2em;
		font-weight: 500;
		margin-top: 0.5em;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .titleBlock .title span.ja {
				font-size: 1.7857142857vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .titleBlock .title span.ja {
				font-size: 25px;
		}
}
#lp_menu2022 .titleBlock .copy {
		font-size: 3.3333333333vw;
		line-height: 1.2;
		letter-spacing: 0.2em;
		margin-top: 1.2em;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .titleBlock .copy {
				font-size: 1.7857142857vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .titleBlock .copy {
				font-size: 25px;
		}
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .titleBlock .copy {
				font-size: 12.5px;
				/* legacy */
				font-size: 3.3333333333vw;
				line-height: 1.44;
				letter-spacing: 0.1em;
		}
}
#lp_menu2022 .titleBlock .copy strong {
		font-weight: 500;
}
#lp_menu2022 .titleBlock .copy + .text {
		font-weight: 400;
}
#lp_menu2022 .titleBlock .text {
		font-size: 2.6666666667vw;
		line-height: 1.83;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-top: 1.83em;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .titleBlock .text {
				font-size: 1.0714285714vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .titleBlock .text {
				font-size: 15px;
		}
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .titleBlock .text {
				font-size: 10px;
				/* legacy */
				font-size: 2.6666666667vw;
				line-height: 2.34;
				letter-spacing: 0.05em;
				margin-top: 6.6666666667vw;
		}
}
#lp_menu2022 .block + .block {
		margin-top: 7.8571428571%;
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .block + .block {
				margin-top: 11.3333333333vw;
		}
}
#lp_menu2022 .b01 .titleBlock .title {
		letter-spacing: 0;
}
#lp_menu2022 .b01 .titleBlock .text {
		font-weight: 400;
}
#lp_menu2022 .b01 .brand {
		text-align: center;
		margin-top: 6.4285714286%;
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .b01 .titleBlock .text {
				font-weight: 400;
		}
		#lp_menu2022 .b01 .brand {
				margin-top: 6.6666666667vw;
		}
}
#lp_menu2022 .menuTitle {
		text-align: center;
}
#lp_menu2022 .menuTitle span {
		display: block;
		font-size: 2.6666666667vw;
		line-height: 1.5;
		letter-spacing: 0.2em;
		font-weight: 500;
		margin-bottom: 1em;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .menuTitle span {
				font-size: 1.4285714286vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .menuTitle span {
				font-size: 20px;
		}
}
#lp_menu2022 .menuTitle strong {
		display: block;
		font-size: 5.3333333333vw;
		line-height: 1;
		letter-spacing: 0.2em;
		font-weight: 600;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .menuTitle strong {
				font-size: 3.2142857143vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .menuTitle strong {
				font-size: 45px;
		}
}
#lp_menu2022 .menuSet {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 7.1428571429%;
}
#lp_menu2022 .menuSet .image {
		flex: 0 1 51.4285714286%;
		text-align: left;
}
#lp_menu2022 .menuSet .textArea {
		flex: 0 1 48.5714285714%;
		margin-left: 3.5714285714%;
}
#lp_menu2022 .menuSet .textArea dl dt {
		font-size: 4.6666666667vw;
		line-height: 1.71;
		letter-spacing: 0.1em;
		font-weight: 600;
		color: #000000;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .menuSet .textArea dl dt {
				font-size: 2.5vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .menuSet .textArea dl dt {
				font-size: 35px;
		}
}
#lp_menu2022 .menuSet .textArea dl dd {
		font-size: 2.6666666667vw;
		line-height: 1.83;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-top: 7.3529411765%;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .menuSet .textArea dl dd {
				font-size: 1.0714285714vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .menuSet .textArea dl dd {
				font-size: 15px;
		}
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .menuSet .textArea dl dd {
				font-size: 10px;
				/* legacy */
				font-size: 2.6666666667vw;
				line-height: 1.99;
				letter-spacing: 0.1em;
				margin-top: 6vw;
		}
}
#lp_menu2022 .menuSet + .menuSet {
		margin-top: 0.7142857143%;
		flex-direction: row-reverse;
}
#lp_menu2022 .menuSet + .menuSet .image {
		text-align: right;
}
#lp_menu2022 .menuSet + .menuSet .textArea {
		margin-left: 14.2857142857%;
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .menuSet {
				display: block;
				margin-top: 12vw;
		}
		#lp_menu2022 .menuSet .image, #lp_menu2022 .menuSet .textArea {
				width: 100%;
		}
		#lp_menu2022 .menuSet .textArea {
				text-align: center;
				margin-left: 0;
				margin-top: 9.3333333333vw;
		}
		#lp_menu2022 .menuSet + .menuSet {
				margin-top: 12vw;
		}
		#lp_menu2022 .menuSet + .menuSet .textArea {
				margin-left: 0;
		}
}
#lp_menu2022 .menu .cover {
		text-align: center;
		margin-top: 5%;
}
#lp_menu2022 .menu + .menu .inner {
		position: relative;
		margin-top: 7.8571428571%;
		padding-top: 7.8571428571%;
}
#lp_menu2022 .menu + .menu .inner::before {
		content: "";
		display: block;
		width: 85.7142857143%;
		height: 1px;
		background: #3D3A39;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .menu .cover {
				margin-top: 8vw;
		}
}
#lp_menu2022 .b02 .example {
		margin-top: 8.5714285714%;
		color: #000000;
		font-size: 4vw;
		line-height: 1;
		letter-spacing: 0em;
		font-weight: 500;
		display: flex;
		justify-content: center;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .b02 .example {
				font-size: 2.5vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .b02 .example {
				font-size: 35px;
		}
}
#lp_menu2022 .b02 .example span {
		position: relative;
		border-bottom: solid 1px #000000;
		padding-bottom: 10px;
}
#lp_menu2022 .b02 .example span::after {
		content: "";
		display: block;
		width: 15px;
		height: 18px;
		background: url(../images_2022/copy_arrow.svg) no-repeat left top;
		background-size: contain;
		position: absolute;
		left: 50%;
		bottom: -15px;
		transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .b02 .example {
				margin-top: 14.6666666667vw;
		}
}
#lp_menu2022 .block + .block.portfolio {
		margin-top: 7.1428571429%;
}
#lp_menu2022 .block + .block.portfolio .items.grid {
		margin-top: 5.7142857143%;
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .block + .block.portfolio {
				margin-top: 12vw;
		}
}
#lp_menu2022 .flow {
		text-align: center;
}
#lp_menu2022 .flow .title {
		font-size: 6.6666666667vw;
		line-height: 1;
		letter-spacing: 0.1em;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .flow .title {
				font-size: 3.5714285714vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .flow .title {
				font-size: 50px;
		}
}
#lp_menu2022 .flow ol {
		list-style: none;
		margin: 0;
		padding: 0;
}
#lp_menu2022 .flow ol li {
		padding-top: 7.1428571429%;
}
#lp_menu2022 .flow ol li + li {
		position: relative;
		padding-top: 10%;
}
#lp_menu2022 .flow ol li + li::before {
		content: "";
		display: block;
		width: 55px;
		height: 28px;
		background: url(../images_2022/flow_arrow.svg) no-repeat left top;
		background-size: 100%;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
}
#lp_menu2022 .flow ol li dl dt {
		font-size: 4vw;
		line-height: 1;
		letter-spacing: 0.1em;
		font-weight: 500;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .flow ol li dl dt {
				font-size: 2.5vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .flow ol li dl dt {
				font-size: 35px;
		}
}
#lp_menu2022 .flow ol li dl dd {
		font-size: 2.6666666667vw;
		line-height: 1.36;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-top: 4.2857142857%;
		padding-bottom: 1.4285714286%;
}
@media screen and (max-width: 1400px) and (min-width: 768px) {
		#lp_menu2022 .flow ol li dl dd {
				font-size: 1.0714285714vw;
		}
}
@media screen and (min-width: 1401px) {
		#lp_menu2022 .flow ol li dl dd {
				font-size: 15px;
		}
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .flow ol li dl dd {
				font-size: 10px;
				/* legacy */
				font-size: 2.6666666667vw;
				line-height: 1.99;
				letter-spacing: 0em;
				font-weight: 400;
		}
}
@media screen and (max-width: 767px) {
		#lp_menu2022 .flow ol li {
				padding-top: 10.6666666667vw;
		}
		#lp_menu2022 .flow ol li + li::before {
				width: 7.2vw;
				height: 3.7333333333vw;
		}
}

#aside {
		margin-top: 5.7142857143%;
}
#aside #AncAccess .inner {
		position: relative;
		padding-top: 7.1428571429%;
}
#aside #AncAccess .inner::before {
		content: "";
		display: block;
		width: 85.7142857143%;
		height: 1px;
		background: #3D3A39;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
}
#aside .whatsnew {
		background: #3E3A39 !important;
}
@media screen and (max-width: 767px) {
		#aside {
				margin-top: 16vw;
		}
		#aside #AncAccess .inner {
				padding-top: 9.3333333333vw;
		}
		#aside #AncAccess .inner::before {
				width: 100vw;
				left: -4vw;
				transform: none;
		}
		#aside #Access .aboutMessage {
				font-size: 10px;
				/* legacy */
				font-size: 2.6666666667vw;
				line-height: 1.99;
				letter-spacing: 0em;
				font-weight: 300;
		}
}