/*

sitetop.css

*/

/* --- [main] mainvisual common --- */
.mainvisual {
	position: relative;
	height: calc(var(--vh, 1vh) * 100);
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:center;
	display:flex;
	justify-content:center;
	align-items:center;
}
.mainvisual .catch {
	position: absolute;
}
.mainvisual .notice {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}
.mainvisual .notice a {
	box-sizing: border-box;
	width: 100%;
	min-height: 19.2vw;/*72px;*/
	padding: 0.5em 1em;
	background: #fff;
	color: #000;
	font-size: var(--vw16px_s);
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:center;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
.mainvisual .notice a .container {
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:center;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
.mainvisual .notice h2 {
	font-weight: 400;
}
.mainvisual .notice .date {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 700;
	margin-right: 1em;
}

/* --- loading --- */
#loadingmask {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	z-index: 1000;
	/*transition: height 3000ms ease-out;*/
}
#loadingmask #loadinglogo {
	display: block;
	width: 100%;
	height: 100vh;
	background: #000;
	position: relative;
}
#loadingmask #loadinglogo::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - min(1.25vw, 18px));
	left: 0;
	right: 0;
	margin: auto;
	height: min(2.430555vw, 35px);
	width: min(23.402777vw, 337px);
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 173.467 18"><path d="M98.107,47.559,92.493,41.8c-.3-.293-.135-.317-1.956-.317h-.65c-.617,0-.651-.013-.651.588v4.983c0,.6-.51.541-1.131.541h-.053c-.622,0-1.138.061-1.138-.541v-12.1c0-.6.516-.548,1.138-.548H88.1c.622,0,1.131-.055,1.131.548V39.22c0,.609.034.457.651.457h.721c1.741,0,1.612,0,1.933-.3L97.1,34.478c.437-.429.7-.58,1.492-.081.477.289.982.475.537.9L94.5,40.062c-.442.412-.437.726.021,1.124l5.616,5.46c.453.409-.033.622-.516.913a1.7,1.7,0,0,1-.847.33A1.017,1.017,0,0,1,98.107,47.559Zm21.965.08h-1.947c-3.092,0-2.874.16-4.158-1.077-1.144-1.132-1.177-1.225-1.177-1.819V34.952c0-.6.5-.548,1.117-.548h.06c.629,0,1.128-.055,1.128.548v7.342c0,.612.019,1.045.04,1.648a1.521,1.521,0,0,0,.513.912c.877.844.632.826,2.212.826h2.479c1.583,0,1.341.018,2.2-.826a1.54,1.54,0,0,0,.522-.912c.024-.6.038-1.036.038-1.648V34.952c0-.6.516-.548,1.128-.548h.063c.615,0,1.122-.055,1.122.548v9.792c0,.594-.041.687-1.184,1.819a2.632,2.632,0,0,1-2.627,1.084C121.207,47.646,120.709,47.64,120.072,47.64Zm-50.408-.385-4.107-9.327c-.12-.27-.756-.258-.875.007l-4.088,9.311c-.233.554-.708.36-1.423.36l-.02-.005c-.622,0-1.252,0-1-.56L63.184,35.66c.244-.559.6-.521,1.573-.521h.711c.972,0,1.335-.038,1.579.521l5.034,11.381c.244.56-.382.565-.994.565-.265,0-.521.038-.745.038A.633.633,0,0,1,69.663,47.254Zm124.359.338h-.015c-.611,0-1.117.147-1.117-.453V34.952c0-.6.505-.548,1.117-.548h.56c1.332,0,1.4.046,1.745.548l6.312,9.654c.345.5.626.888.626.888V34.867c0-.607.467-.463,1.089-.463h.015c.607,0,1.113-.144,1.113.463V47.052c0,.6-.506.541-1.113.541h-.563c-1.21,0-1.4-.038-1.749-.537l-6.3-9.673c-.347-.5-.614-.9-.614-.9V47.14c0,.4-.215.469-.546.469C194.417,47.608,194.228,47.593,194.022,47.593Zm-48.8,0h-.076c-.617,0-1.117.147-1.117-.453V36.835c0-.6-.321-.547-.938-.547h-3.466c-.619,0-.561-.522-.561-.946s-.058-.938.561-.938h11.014c.614,0,.555.521.555.938s.058.946-.555.946h-3.357c-.632,0-.952-.057-.952.547V47.14c0,.4-.226.469-.558.469C145.6,47.608,145.417,47.593,145.218,47.593Zm-101.177,0H43.98c-.618,0-1.123.061-1.123-.541V42.037c0-.6-.132-.556-.748-.556H35.063c-.614,0-.751-.048-.751.556v5.015c0,.6-.51.541-1.133.541h-.058c-.616,0-1.122.061-1.122-.541v-12.1c0-.6.506-.548,1.122-.548h.058c.622,0,1.133-.055,1.133.548v4.193c0,.6.137.542.751.542h7.045c.617,0,.748.062.748-.542V34.952c0-.6.505-.548,1.123-.548h.061c.622,0,1.131-.055,1.131.548v12.1c0,.5-.351.542-.827.542Zm123.534,0c-.618,0-.661-.033-.661-.633V35.048c0-.608.043-.645.661-.645h10.007c.623,0,.544.34.544.76s.079.751-.544.751h-7.606c-.623,0-.748.134-.748.742v2.487c0,.6.124.543.748.543h7.01c.674,0,.563.52.563.95s.111.843-.563.843h-7.01c-.623,0-.748.133-.748.735v3.127c0,.6.124.734.748.734h7.606c.623,0,.544.337.544.76s.079.755-.544.755ZM63.706,31.355a1.433,1.433,0,1,1,1.432,1.465A1.449,1.449,0,0,1,63.706,31.355Z" transform="translate(-32 -29.89)" fill="%23fff"/></svg>') 0 0 no-repeat;
	background-size: auto 100%;
	opacity: 0;
	transition: opacity 4s;
}
.loading #loadingmask #loadinglogo::after {
	opacity: 1;
}
.pageloaded #loadingmask {
	display: none;
}

.pace {
	-webkit-pointer-events: none;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.pace-inactive {
	display: none;
}
.pace .pace-progress {
	background: #fff;
	position: fixed;
	z-index: 1001;
	bottom: 0;
	right: 100%;
	width: 100%;
	height: 5px;
}

/* --- [main] contents common --- */
.svg_container svg mask {
	width: 100%;
	height: 100%;
}
.svg_container svg rect {
	width: 100%;
	height: 100%;
	fill:#fff;
}
.svg_container svg g{
	fill:#000;
}

section > .container {
	width: 100%;
	background: #fff;
}

/* --- [main] works common --- */
section.works article {
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-start;
	-webkit-flex-direction: column;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-direction: column;
}
section.works article .category {
	color: #3c3c3c;
	font-weight: 700;
	line-height: 1.5;
}

/* --- [main] news common --- */
section.news .mblist article a {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	padding: var(--vw28px_s) var(--vw15px_s);
	border: none;
	border-bottom: 1px solid #c4c4c4;
	border-radius: 0;
	font-family: 'Noto Sans JP', sans-serif;
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:flex-start;
	-webkit-flex-direction: column;
	display:flex;
	justify-content:center;
	align-items:flex-start;
	flex-direction: column;
	position: relative;
}
section.news .mblist article a::after {
	display: none;
}
section.news article h3 {
	font-size: var(--vw15px_s);
	font-weight: 300;
	line-height: 1.7;
	margin-top: var(--vw10px_s);
}
section.news article .date {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-size: var(--vw12px_s);
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
}
section.news article .category {
	color: #838383;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-size: var(--vw16px_s);
	font-weight: 500;
	position: absolute;
	bottom: 0;
	left: var(--vw15px_s);
}


/* ==============================
for SP
============================== */
@media screen and (max-width: 768px) {

/* --- SP [main] mainvisual --- */
.mainvisual {
	height: max(calc(var(--vh, 1vh) * 100), 125vw);
}
.mainvisual #mvcatch_pc {
	display: none;
}
.mainvisual #mvcatch_sp {
	fill: #fff;
	width: 80vw;
	height: auto;
	margin-top: var(--vw25px_s);
}
.mainvisual .catch .sub {
/*
	color: #fff;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-size: var(--vw14px_s);
	line-height: 1;
	letter-spacing: 0.1385em;
*/
	display: block;
	width: 232px;
	height: auto;
}

/* --- loading --- */
#loadingmask #loadinglogo,
#loadingmask {
	height: calc(var(--vh, 1vh) * 100);
}
#loadingmask #loadinglogo::after {
	top: calc(50% - 2.4vw);
	left: 0;
	right: 0;
	margin: auto;
	height: 4.8vw;
	width: 46.258666vw;
}

/* --- SP [main] svg --- */
.svg_container svg .textmask {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 700;
	font-size: 720%;
	letter-spacing: -0.0619em;
}
.media .svg_container svg .textmask {
	font-size: 740%;
}

section.media::before,
section.news::before,
section.works::before {
	content: "";
	display: block;
	height: 13.333333vw;
	background: #fff;
}

.morebtnarea a {
	margin-left:auto;
	margin-right:auto;
}

/* --- SP [main] ourvision --- */
section.ourvision .container::before {
	content: "";
	display: block;
	height: 20.8vw;
	background: #fff;
}
section.ourvision .outline {
	padding: 14.133333vw var(--vw30px_s);
	background: #fff;
	font-size: var(--vw15px_s);
	font-weight: 300;
	line-height: 1.866666;
}
section.ourvision .outline .morebtn {
	margin-top: var(--vw38px_s);
	margin-left:auto;
	margin-right:auto;
}

/* --- SP [main] works --- */
section.works > .container {
	padding-bottom: 14.666666vw;
}
section.works article + article {
	margin-top: 14.666666vw;
}
section.works article.img-l .image {
    align-self: flex-end;
}
section.works article.img-r .image {
	align-self: flex-start;
}
section.works article > *:not(.image){
	margin-right:var(--vw24px_s);
	margin-left:var(--vw24px_s);
}

section.works article .image {
	order: 1;
	width: calc(100% - var(--vw24px_s));
}
section.works article .category {
	order: 2;
	margin-top: var(--vw15px_s);
	font-size: var(--vw12px_s);
	letter-spacing: 0.066em;
}
section.works h3 {
	order: 3;
	margin-top: var(--vw10px_s);
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.368;
}
section.works article .outline {
	order: 4;
	margin-top: var(--vw15px_s);
	font-size: var(--vw14px_s);
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1.785;
}
section.works article .tags {
	order: 5;
	padding-top: var(--vw15px_s);
	margin-top: var(--vw20px_s);
	color: #959595;
	font-size: var(--vw14px_s);
	font-weight: 500;
	line-height: 1.428;
	border-top: 1px solid #c4c4c4;
	width: calc(100% - var(--vw48px_s));
}
section.works article .tags ul {
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-start;
	-webkit-flex-wrap: wrap;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-wrap: wrap;
}
section.works article .tags li {
	margin-right: 0.8em;
	margin-bottom: 0.25em;
}
section.works article .tags a {
	color: #959595;
}
section.works .morebtn {
	/*width: 64vw;*/
	margin-top: var(--vw20px_s);
	color: #000 !important;
}
section.works article.img-l .morebtn {
	display: none;
	margin-right: auto;
	margin-left: 0;
}
section.works article.img-r .morebtn {
	margin-left: auto;
	margin-right: 0;
}
section.works .morebtnarea {
	margin: 14.666666vw var(--vw24px_s) 0;
}
/*
section.works .morebtnarea .morebtn {
	width: 100%;
}
*/

/* --- SP [main] news --- */
section.news > .container {
	padding-bottom: 14.666666vw;
}
section.news .morebtnarea {
	margin: 14.666666vw var(--vw24px_s) 0;
}

/* --- SP [main] media --- */
section.media > .container {
	padding-bottom: 24vw;
}
/* ---
section.media li + li {
	margin-top: 2px;
}
section.media a {
	display: block;
	width: 100%;
	height: 100vw;
	background: url("../img/top_media_tex_bg_sp.jpg") 50% 50% no-repeat;
	background-size: cover;
}
section.media li.sb a {
	background-image: url("../img/top_media_sb_bg_sp.jpg");
}
section.media a .clm {
	height: 100%;
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:center;
	display:flex;
	justify-content:center;
	align-items:center;
}
section.media a .content {
	text-align: center;
	color: #fff;
	font-size: var(--vw18px_s);
	font-weight: 700;
	line-height: 1;
}
section.media a .content::after {
	content: "MORE";
	display: block;
	width: 11.416666em;
	height: 3.166666em;
	border: 1px solid #fff;
	border-radius: 1.583333em;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-size: var(--vw12px_s);
	font-weight: 200;
	letter-spacing: normal;
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:center;
	display:flex;
	justify-content:center;
	align-items:center;
	margin: var(--vw34px_s) auto 0;
}
section.media a .content p {
	display: block;
	margin-top: var(--vw12px_s);
	line-height: 1.6;
}
section.media .tex a .content p {
	margin-top: var(--vw12px_s);
}
section.media .sb a .content p {
	margin-top: var(--vw16px_s);
}
section.media a .content small {
	display: block;
	font-size: var(--vw15px_s);
}
section.media .sb a .content small {
	margin-top: var(--vw11px_s);
}
section.media .tex img {
	display: block;
	width: 85.333333vw;
	height: auto;
	margin: 0 auto;
}
section.media .sb img {
	display: block;
	width: 25.333333vw;
	height: auto;
	margin: 0 auto;
}
--- */

/* --- SP [main] contact --- */
section.contact {
	padding: 42.666666vw 0;
}
section.contact a.more {
	display: block;
	box-sizing: border-box;
	width: 87.2vw;
	padding: 9.333333vw var(--vw25px_s) var(--vw24px_s);
	margin: 0 auto;
	background: #fff;
	font-family: 'Be Vietnam Pro', 'Noto Sans JP', sans-serif;
	font-weight: 700;
}
section.contact a.more + a.more {
	margin-top: var(--vw32px_s);
}
section.contact a.more h2 {
	font-size: 10.666666vw;
	line-height: 1;
}
section.contact a.more p {
	font-size: var(--vw16px_s);
	line-height: 1.6;
	margin-top: var(--vw18px_s);
}
section.contact .morebtn {
	margin-top: var(--vw24px_s);
	margin-left:auto;
	margin-right:0;
}

}/* end of @media */

/* ==============================
for PC
============================== */
@media screen and (min-width: 769px) {

/*
パララックスクラス
*/
/*--- フェードイン・下から上にスライド ---*/
.prx-fadein-up {
	opacity: 0;
	transform: translateY(60px);
	/*transition-property: opacity,transform;*/
	transition: all 1s var(--easeOutExpo) 0.1s;
}
/*--- フェードインのみ ---*/
.prx-fadein {
	opacity: 0;
	transition: opacity 3s ease;
}
.prx-fadein-up.prx-do,
.prx-fadein.prx-do {
	opacity: 1 !important;
	transform: translateY(0) !important;
}
/*--- ズームアウト ---*/
img.prx-zoomout,
.prx-zoomout img {
	transform-origin: 50px 50px;
	transform: scale(1.33);
	transition: transform 2s var(--easeOutExpo);
}
img.prx-zoomout.prx-do,
.prx-zoomout.prx-do img {
	transform: scale(1);
}
/*--- ライン ---*/
.prx-linebtmin {
	position: relative;
	overflow: hidden;
}
.prx-linebtmin::after {
	content: "" !important;
	display: block !important;
	height: 1px;
	width: 100%;
	background: #fff;
	position: absolute;
	left: 0;
	bottom: -1px;
	transition: left 5s ease 1.5s;
}
.prx-linebtmin.prx-do::after {
	left: 100%;
}
/*--- マスク効果 ---*/
.prx-maskin {
	position: relative;
	overflow: hidden;
}
.prx-maskin::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	position: absolute;
	bottom: 0;
	transition: bottom 1.5s var(--easeOutExpo) 0.5s;
}
.prx-maskin.prx-do::after {
	bottom: 100%;
}

/* --- header --- */
/*
header .siteid {

}
*/

/* --- [main] mainvisual --- */
.mainvisual {
	padding: 0 120px;
}
.mainvisual .catch {
	position: relative;
	/*left: calc(50% - min(41.666666vw, 600px));
	width: min(44.027777vw, 633.637px);*/
	max-width: 1200px;
	width: 100%;
}
.mainvisual #mvcatch_sp {
	display: none;
}
.mainvisual #mvcatch_pc {
	position: relative;
	left: 0;
	fill: #fff;
	/*width: 100%;*/
	width: min(72.81041666666667vw, 1048.47px);
	height: auto;
	
}

.mainvisual .sub {
/*
	color: #fff;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-size: min(var(--vw16px), 16px);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.1em;
*/
	display: block;
	width: min(18.541666vw, 267px);
	height: min(0.902777vw, 13px);
	transform: rotate(-90deg);
	position: absolute;
	top: calc(50% - min(0.555555vw, 8px));
	/*left: calc(50% - min(33.819444vw, 487px));*/
	left: calc(0px - calc(min(17.638888vw, 254px) / 2));
	transition: opacity 4000ms 2s ease-out;
}
.mainvisual .notice a {
	min-height: min(5vw, 72px);
	/*padding: 0 min(8.333333vw, 120px);*/
	padding: 0 120px;
	font-size: min(var(--vw20px), 20px);

	background: -webkit-linear-gradient(left, #000 0%, #000 50%, #fff 50%, #fff 100%) 100% 0 no-repeat;
	background: linear-gradient(to right, #000 0%, #000 50%, #fff 50%, #fff 100%) 100% 0 no-repeat;
	background-size: 200% auto;
	transition: background ease 0.3s;
}
.mainvisual .notice a .container {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}
.mainvisual .notice a:hover {
	color: #fff;
	background-position: 0 0;
}
.mainvisual .notice .date {
	margin-right: min(4.166666vw, 60px);
}

/* --- [main] ourvision --- */
section.ourvision {
	/*height: calc(var(--vh, 1vh) * 100);*/
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:center;
	-webkit-flex-direction: column;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction: column;
}
section.ourvision::before,
section.ourvision::after {
	content: "";
	display: block;
	width: 100%;
	background: #fff;
}
section.ourvision::after {
	height: 14px;
	margin: -2px 0;
}
section.media .svg_container,
section.news .svg_container,
section.works .svg_container,
section.ourvision .svg_container {
	width: 100%;
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:stretch;
	display:flex;
	justify-content:center;
	align-items:stretch;
}
section.media .svg_container::before,
section.media .svg_container::after,
section.news .svg_container::before,
section.news .svg_container::after,
section.works .svg_container::before,
section.works .svg_container::after,
section.ourvision .svg_container::before,
section.ourvision .svg_container::after {
	content: "";
	display: block;
	background: #fff;
	flex: 1;
}

section.media .svg_container .container,
section.news .svg_container .container,
section.works .svg_container .container,
section.ourvision .svg_container .container {
	width: min(100%, 1440px);
	margin: 0 auto;
	position: relative;
}

section.works .svg_container .container::after {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	background: #fff;
	margin: -1px 0;
}

section.ourvision .outline {
	position: absolute;
	bottom: min(7.5vw, 70px);
	left: 0;
	margin-left: min(8.333333vw, 120px);
	font-weight: 300;
	line-height: 1.777777;
}

/* --- [main] works --- */
section.works .svg_container {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
section.works > .container {
	padding-bottom: min(7.638888vw, 110px);
}
section.works a.more {
	display: inline;
}
section.works article {
	-webkit-justify-content:flex-end;
	justify-content:flex-end;
	box-sizing: border-box;
	min-height: min(35.069444vw, 505px);
	width: min(100%, 1440px);
	padding-left: min(9.513888vw, 137px);/*min(8.333333vw, 120px);*/
	margin: 0 auto;
	position: relative;
}
section.works article h3 {
	margin-top: min(var(--vw8px), 8px);
	width: min(28.055555vw, 404px);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.066em;
	line-height: 1.368421;
}
section.works article > *:not(h3):not(.image) {
	width: min(28.055555vw, 404px);
}
section.works article .category {
	order: -1;
	font-size: min(var(--vw12px), 12px);
	letter-spacing: 0.05em;
}
section.works article .outline {
	margin-top: min(var(--vw10px), 10px);
	font-size: min(var(--vw14px), 14px);
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1.785714;
}
section.works article .category span,
section.works article .outline span {
	cursor: pointer;
}
section.works article .tags {
	padding-top: min(var(--vw10px), 10px);
	margin-top: min(3.055555vw, 44px);
	color: #959595;
	font-size: min(var(--vw14px), 14px);
	font-weight: 500;
	line-height: 1.428;
	border-top: 1px solid #c4c4c4;
}
section.works article .tags ul {
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-start;
	-webkit-flex-wrap: wrap;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-wrap: wrap;
}
section.works article .tags li {
	margin-right: 1em;
	margin-bottom: 0.25em;
}
section.works article .tags a {
	color: #959595;
}
section.works article .tags a:hover {
	color: #000;
}
section.works article .image {
	display: block;
	position: absolute;
	top: auto;
	bottom:0;
	right: 0;
	left: auto;
	width: min(56.805555vw, 818px);
	height: min(35.069444vw, 505px);
	cursor: pointer;
	background-color: #fff;
}
section.works article .image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	transition: opacity 0.8s;
}
section.works article .image:hover img{
	opacity: 0.7;
}

section.works article + article {
	margin-top: min(6.25vw, 90px);
}
section.works article.img-l {
	-webkit-align-items:flex-end;
	align-items:flex-end;
	padding-left: 0;
	padding-right: min(9.513888vw, 137px);
}
section.works article.img-l .image {
	position: absolute;
	left: 0;
	right: auto;
}

section.works .morebtnarea {
	box-sizing: border-box;
	width: min(100%, 1440px);
	margin: min(4.027777vw, 58px) auto 0;
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}
section.works .morebtnarea div {
	width: min(28.055555vw, 404px);
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}
section.works .morebtnarea .morebtn {
	width: auto;
	line-height: 1;
}
section.works article.img-r + .morebtnarea {
	padding-left: min(9.513888vw, 137px);
}
section.works article.img-l + .morebtnarea {
	padding-right: min(9.513888vw, 137px);
	-webkit-justify-content:flex-end;
	justify-content:flex-end;
}

/* --- [main] news --- */
section.news > .container {
	padding-bottom: min(4.166666vw, 60px);
}
section.news article {
	width: min(66.666666vw, 960px);
	margin:0 auto 0;
	position: relative;
}
section.news .mblist article a {
	min-height: min(5.555555vw, 80px);
	padding: 1em 0 1em min(var(--vw15px), 15px);
	font-size: min(var(--vw16px), 16px);
	background: -webkit-linear-gradient(left, #000 0%, #000 50%, #fff 50%, #fff 100%) 100% 0 no-repeat;
	background: linear-gradient(to right, #000 0%, #000 50%, #fff 50%, #fff 100%) 100% 0 no-repeat;
	background-size: 200% auto;
	transition: all ease 0.3s;
}
section.news .mblist article a:hover {
	background-position: 0 0;
}
section.news article h3 {
	width: calc(100% - 6em);
	font-size: min(var(--vw15px), 15px);
	line-height: 1.866666;
	margin-top: min(var(--vw11px), 11px);
}
section.news article .date {
	font-size: min(var(--vw12px), 12px);
}
section.news article .category {
	font-size: min(var(--vw16px), 16px);
	right: 0;
	left: auto;
}
section.news .morebtnarea {
	width: min(66.666666vw, 960px);
	margin: min(4.166666vw, 60px) auto 0;
}
section.news .morebtnarea a {
	margin: 0 0 0 auto;
}

/* --- [main] media --- */
section.media > .container {
	padding-bottom: min(8.125vw, 117px);
}
section.media li + li {
	margin-top: min(0.347222vw, 5px);
}
section.media li {
	background-color: #fff;
}
section.media a.more {
	width: 100%;
	height: 350px;
	background: url("../img/top_media_tex_bg.jpg") 50% 50% no-repeat;
	background-size: cover;
	transition: opacity 0.8s;
}
section.media li.sb a.more {
	background-image: url("../img/top_media_sb_bg.jpg");
}
section.media a.more:hover {
	opacity: 0.7;
}
section.media a.more .clm {
	max-width: 1200px;
	height: 350px;
	margin: 0 auto;
	position: relative;
}
section.media a.more .content{
	position: absolute;
	text-align: center;
}
section.media a.more img {
	display: block;
	width: auto;
	height: auto;
}
section.media a.more small,
section.media a.more p {
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.03em;
}
section.media a.more small{
	font-size: 15px;
}
section.media li.tex .content {
	top: 132px;
}
section.media li.sb .content {
	top: 105px;
	right: 54px;
}
section.media li.sb .content > div:first-child {
	margin: 0 auto;
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-end;
	display:flex;
	justify-content:flex-start;
	align-items:flex-end;
}
section.media li.sb img {
	margin-right: 21px;
}
section.media li.tex p {
	margin-top: 8px;
}
section.media li.sb p {
	margin-top: 20px;
}

/* --- [main] contact --- */
section.contact {
	height: min(53.333333vw, 768px);
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:center;
	display:flex;
	justify-content:center;
	align-items:center;
}
section.contact a.more {
	box-sizing: border-box;
	width: min(34.583333vw, 498px);
	height: min(13.819444vw, 199px);
	padding: 0 min(var(--vw24px), 24px);
	background: #fff;
	font-family: 'Be Vietnam Pro', 'Noto Sans JP', sans-serif;
	font-weight: 700;
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:flex-start;
	-webkit-flex-direction: column;
	display:flex;
	justify-content:center;
	align-items:flex-start;
	flex-direction: column;
	transition: opacity 0.5s;
}
section.contact a.more + a.more {
	margin-left: min(var(--vw36px), 36px);
}
section.contact a.more h2 {
	font-size: min(var(--vw48px), 48px);
	line-height: 1.4;
}
section.contact a.more p {
	font-size: min(var(--vw15px), 15px);
	line-height: 1.66;
}
section.contact a.more:hover {
	opacity: 0.8;
}
}/* end of @media */
