@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

/* commmon */
html {  }
body { position:relative; color:#000; line-height:1.5; font-family:'Roboto', Arial, 'Noto Sans JP', sans-serif; font-size:15px; font-weight:400; font-feature-settings:'palt'; -webkit-text-size-adjust:100%; letter-spacing:0.08125rem; overflow-wrap:break-word; word-wrap:break-word; }
body { text-align:justify; }
body.modal::before { content:''; display:block; position:fixed; top:0; left:0; z-index:100; width:100%; height:100%; background:rgba(0,0,0,0.65); }

* { margin:0; padding:0; border:0; position:relative; box-sizing:border-box; font-weight:normal; }

::selection { color:#fff; background:#777; }
::-moz-selection { color:#fff; background:#777; }
::placeholder { color:rgba(16,16,16,0.35); line-height:1.5; font-family:'Roboto', Arial, 'Noto Sans JP', sans-serif; font-size:15px; zoom:0.85; }

body { background:#FFF; }
a { color:#2B8EE5; text-decoration:underline; transition:1.0s; }
a:visited { color:#707070; }
a:hover { transition:1.0s; }
a img { border:0; }
img { width:100%; height:100%; object-fit:cover; vertical-align:top; }
div { word-break:break-all; }
.material-symbols-outlined { margin:0 4px 0 0; }












/* .Wrap */
.Wrap { position:relative; overflow:hidden; margin:10px 10px 70px; padding:0; border:#585858 1px solid; }

.Bread { display:none; }


@media screen and (min-width:729px) {
	.Wrap { position:relative; overflow:hidden; margin:10px; padding:0; border:#585858 1px solid; }

	.Bread { display:block; width:100%; margin:0; padding:20px; border-bottom:#585858 1px solid; font-size:12px; }
		.PrivacyPolicy .Bread { margin:-40px 0 0; }
	.BreadInner { margin:0; padding:0; }
	.BreadInner a { display:inline-block; position:relative; padding:0 40px 0 0; }
	.BreadInner a::after { content:''; display:block; position:absolute; top:50%; right:17px; width:4px; height:4px; border-top:#585858 1px solid; border-right:#585858 1px solid; transform:translate(-50%,-50%) rotate(45deg); }
}



/* .Main */

.Head { display:block; position:relative; z-index:120; width:100%; margin:0; padding:0; }
.HeadDescription { display:none; padding:5px; color:#fff; font-size:11px; background:#000; }
.HeadInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; z-index:120; width:100%; margin:0; padding:0; border-bottom:#585858 1px solid; }
.HeadInner h1 { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; text-align:center; }
.HeadInner h1 a { display:flex; line-height:1; }
.HeadInner h1 img { width:80px; height:auto; }
.Head .trigger { display:block; position:fixed; z-index:210; top:0; right:0; width:50px; height:50px; background:rgba(0,0,0,0.85); }
.Head .trigger::before { content:''; display:block; position:absolute; z-index:2; top:50%; left:50%; width:24px; height:2px; background:#fff; box-shadow:0 -7px 0 0 #fff,0 7px 0 0 #fff; transform:translate(-50%,-50%); }
.Head .trigger.active::before { content:''; display:block; position:absolute; z-index:2; top:50%; left:50%; width:24px; height:2px; background:#fff; box-shadow:none; transform:translate(-50%,-50%) rotate(45deg); }
.Head .trigger.active::after { content:''; display:block; position:absolute; z-index:2; top:50%; left:50%; width:24px; height:2px; background:#fff; box-shadow:none; transform:translate(-50%,-50%) rotate(-45deg); }
.HeadNav { display:none; flex-flow:column wrap; justify-content:center; align-items:center; position:fixed; top:0; left:0; width:100%; height:100%; padding:0 30px 0 0; text-align:center; background:rgba(0,0,0,0.85); }
.HeadNav.active { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; position:fixed; top:0; left:0; width:100%; height:100%; padding:0 30px 0 0; text-align:center; background:rgba(0,0,0,0.85); }
.HeadNav ul { width:100%; padding:30px; }
.HeadNav li { display:block; padding:0; list-style:none; }
.HeadNav a { display:block; width:100%; padding:15px 0; border-bottom:rgba(255,255,255,0.25) 1px solid; color:#fff; text-decoration:none; }
.HeadNav li:last-child a { border:0; }
.HeadCTA { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; position:fixed; left:0; bottom:0; width:100%; margin:0; padding:30px 0 0; list-style:none; }
.HeadCTA li { width:100%; height:auto; }
.HeadCTA li:nth-child(1) { padding:0; }
.HeadCTA li:nth-child(1) a { display:none; width:100%; margin:0 0 15px; padding:0 30px; color:#fff; line-height:60px; text-align:center; text-decoration:none; }
.HeadNav.active + .HeadCTA li:nth-child(1) a { display:block; width:100%; margin:0 0 15px; padding:0 30px; color:#fff; line-height:60px; text-align:center; text-decoration:none; }
.HeadCTA li:nth-child(1) a b { display:inline-block; position:relative; top:3px; margin:0 0 0 5px; line-height:1.0; font-family:'Roboto', sans-serif; font-size:26px; letter-spacing:0; }
.HeadCTA li:nth-child(1) a img { position:relative; top:19px; width:auto; height:20px; }
.HeadCTA li:nth-child(2) a { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; width:100%; padding:0 30px; color:#fff; line-height:60px; font-size:17px; text-decoration:none; background:#000; }
.HeadNav.active + .HeadCTA li:nth-child(2) a { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; width:100%; padding:0 30px; color:#000; line-height:60px; font-size:17px; text-decoration:none; background:#fff; }
.HeadCTA li:nth-child(2) a:hover { animation:btn_hover 1.0s ease-in 0.0s 1 alternate forwards running; }
.HeadCTA li:nth-child(2) a .material-icons { display:none; }

@media screen and (min-width:729px) {
	.Head { display:block; position:relative; z-index:120; width:100%; margin:0; padding:0; }
	.HeadDescription { display:block; padding:5px; color:#fff; font-size:11px; background:#000; }
	.HeadInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; z-index:120; width:100%; margin:0; padding:0; border-bottom:#585858 1px solid; }
	.HeadInner h1 { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:auto; padding:5px 0 0 25px; text-align:left; }
	.HeadInner h1 a { display:inline; line-height:1; }
	.HeadInner h1 img { width:112px; height:auto; }
	.HeadInner h1 img.active { display:none; }
	.Head .trigger { display:none; }
	.HeadNav { display:block; position:relative; flex-grow:2; width:auto; height:auto; padding:0 30px 0 0; text-align:right; background:inherit; }
	.HeadNav ul { display:inline-block; width:auto; padding:0; }
	.HeadNav li { display:inline-block; padding:0 0 0 15px; list-style:none; }
	.HeadNav a { display:inline; width:auto; padding:0; border:0; color:#000; text-decoration:none; }
	.HeadCTA { display:flex; flex-flow:row wrap; justify-content:flex-end; align-items:center; align-self:stretch; position:relative; left:auto; bottom:auto; width:auto; margin:0; padding:0; list-style:none; }
	.HeadCTA li { width:auto; height:auto; }
	.HeadCTA li:nth-child(1) { padding:0; }
	.HeadCTA li:nth-child(1) a { display:block; width:auto; margin:auto; padding:0 30px; border-left:#585858 1px solid; color:#000; line-height:60px; text-align:left; text-decoration:none; }
	.HeadCTA li:nth-child(1) a b { display:inline-block; position:relative; top:3px; margin:0 0 0 5px; line-height:1.0; font-family:'Roboto', sans-serif; font-size:26px; letter-spacing:0; }
	.HeadCTA li:nth-child(1) a img { position:relative; top:19px; width:auto; height:20px; }
	.HeadCTA li:nth-child(2) a { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; padding:0 30px; border-left:#585858 1px solid; color:#000; line-height:60px; font-size:17px; text-decoration:none; background:none; }
	.HeadCTA li:nth-child(2) a:hover { animation:btn_hover 1.0s ease-in 0.0s 1 alternate forwards running; }
	.HeadCTA li:nth-child(2) a .material-icons { display:none; }
}

/* .PageTitle */

.Hero { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; margin:0; padding:0; border-bottom:#585858 1px solid; }
.HeroInner { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; order:2; position:relative; z-index:3; width:100%; height:100%; margin:0; padding:0; /*-webkit-backdrop-:blur(20px); backdrop-filter:blur(20px);*/ }
.HeroText { order:2; position:relative; height:auto; padding:30px; box-shadow:0 0 10px 0 rgba(0,0,0,0.1); }
.Hero h2 { margin:0 0 20px; font-size:20px; }
.Hero h2 br { display:none; }
.Hero h2 small { display:block; padding:15px 0 0; font-size:13px; font-weight:normal; text-align:left; letter-spacing:0.07em; }
.HeroTextInner { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; }
.HeroTextInnerBox { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; }
.Hero ul { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start; list-style:none; }
.Hero ul li { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:170px; height:170px; margin:0 20px 0 0; padding:4px; border:#585858 2px solid; border-radius:170px; background:#fff; zoom:0.7; }
.Hero ul li strong { display:flex; flex-flow:column nowrap; justify-content:center; align-items:center; width:162px; height:162px; margin:0; padding:0; border:#c9c9c9 1px solid; border-radius:192px; }
.Hero ul li small { display:block; width:100%; font-size:24px; text-align:center; }
	.Hero ul li:nth-child(3) small { font-size:18px; }
.Hero ul li b { display:block; width:100%; line-height:1; font-size:21px; text-align:center;  }
.Hero ul li b span { display:inline-block; position:relative; font-size:64px; }
.Hero .BtnWrap { padding:20px 0 0; }
.Hero .BtnWrap a { display:inline-block; min-width:100%; padding:0 20px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.Hero .BtnWrap a .material-symbols-outlined { position:relative; top:6px; }
.Hero .BtnWrap a:hover { color:#000; background:#fff; }

.HeroImg { order:1; position:relative; z-index:2; width:160px; height:240px; margin:0 0 0 40px; }
.HeroImg img { width:100%; height:100%; object-fit:cover; }

.HeroBg { position:relative; top:auto; z-index:-1; overflow:hidden; max-width:100%; height:360px; border-radius:0; mix-blend-mode:multiply; }
.HeroBgBefore { position:absolute; bottom:0; left:0; z-index:3; overflow:hidden; width:320px; height:320px; mix-blend-mode:multiply; }
.HeroBgBefore::before { content:''; position:absolute; top:50%; left:-50%; width:480px; height:480px; /*background:#9DFFF0;*/ transform:rotate(45deg) translate(-70%,50%); }
.HeroBg p { position:absolute; bottom:-10px; left:0; z-index:2; color:rgba(255,255,255,0.1); line-height:1; font-family:'Roboto', sans-serif; font-size:56px; text-transform:uppercase; -webkit-text-stroke:1px rgba(255,255,255,0.6); text-stroke:1px rgba(255,255,255,0.6); white-space:nowrap; }
.HeroBg p + p { bottom:50px; left:-100px; }
.HeroBg p + p + p { bottom:106px; left:-200px; }
.HeroBg img { width:100%; height:360px; object-fit:cover; }
.HeroAfter { position:absolute; top:0; right:0; z-index:-2; overflow:hidden; width:160px; height:160px; mix-blend-mode:multiply; }
.HeroAfter::after { content:''; display:block; position:absolute; top:50%; right:-235%; width:320px; height:320px; background:#FFDDA7; transform:rotate(45deg) translate(-86%,-20%); }

.HeroSlide { order:1; position:relative; top:auto; left:auto; overflow:hidden; width:100%; height:360px; }
.HeroSlide .slick-slider .slick-track,
.HeroSlide .slick-slider .slick-list { height:100%; height:360px; }
.HeroSlide .slick-slide { position:relative; overflow:hidden; width:100%; height:360px; }
.HeroSlide .slick-slide img { width:100%; height:360px; object-fit:cover; transform:scale(1.09); opacity:1.0; transition:1.0s; }
.HeroSlideInner { position:relative; }
.HeroSlideInner h3 { position:absolute; z-index:2; top:45px; left:25px; color:#000; line-height:36px; font-size:36px; font-weight:lighter; transform:translate(0,-50%); }

@media screen and (min-width:729px) {
	.Hero { display:block; margin:0; padding:0; border-bottom:#585858 1px solid; }
	.HeroInner { display:flex; flex-flow:row wrap; justify-content:flex-end; align-items:center; order:inherit; position:relative; z-index:3; width:100%; height:100%; margin:0; padding:0; /*-webkit-backdrop-:blur(20px); backdrop-filter:blur(20px);*/ }
	.HeroText { order:1; position:relative; height:100%; padding:200px 45px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
	.HeroText::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; background:rgba(255,255,255,0.5); box-shadow:0 0 10px 0 rgba(0,0,0,0.1); }
	.Hero h2 { margin:0 0 20px; font-size:3.0vw; }
	.Hero h2 br { display:inline; }
	.Hero h2 small { display:block; padding:15px 0 0; font-size:14px; font-weight:normal; text-align:left; letter-spacing:0.07em; }
	.HeroTextInner { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; }
	.HeroTextInnerBox { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; }
	.Hero ul { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start; list-style:none; }
	.Hero ul li { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:170px; height:170px; margin:0 20px 0 0; padding:4px; border:#585858 2px solid; border-radius:170px; background:#fff; zoom:0.7; }
	.Hero ul li strong { display:flex; flex-flow:column nowrap; justify-content:center; align-items:center; width:162px; height:162px; margin:0; padding:0; border:#c9c9c9 1px solid; border-radius:192px; }
	.Hero ul li small { display:block; width:100%; font-size:24px; text-align:center; }
		.Hero ul li:nth-child(3) small { font-size:18px; }
	.Hero ul li b { display:block; width:100%; line-height:1; font-size:21px; text-align:center;  }
	.Hero ul li b span { display:inline-block; position:relative; font-size:64px; }
	.Hero .BtnWrap { padding:40px 0 0; }
	.Hero .BtnWrap a { display:inline-block; min-width:360px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.Hero .BtnWrap a .material-symbols-outlined { position:relative; top:6px; }
	.Hero .BtnWrap a:hover { color:#000; background:#fff; }

	.HeroImg { order:2; position:relative; z-index:2; width:160px; height:240px; margin:0 0 0 40px; }
	.HeroImg img { width:100%; height:100%; object-fit:cover; }

	.HeroBg { position:absolute; top:150px; z-index:-1; overflow:hidden; max-width:80vw; height:600px; mix-blend-mode:multiply; }
	.HeroBgBefore { position:absolute; bottom:0; left:0; z-index:3; overflow:hidden; width:320px; height:320px; mix-blend-mode:multiply; }
	.HeroBgBefore::before { content:''; position:absolute; top:50%; left:-50%; width:480px; height:480px; /*background:#9DFFF0;*/ transform:rotate(45deg) translate(-70%,50%); }
	.HeroBg p { position:absolute; bottom:-10px; left:0; z-index:2; color:rgba(255,255,255,0.1); line-height:1; font-family:'Roboto', sans-serif; font-size:56px; text-transform:uppercase; -webkit-text-stroke:1px rgba(255,255,255,0.6); text-stroke:1px rgba(255,255,255,0.6); white-space:nowrap; }
	.HeroBg p + p { bottom:50px; left:-100px; }
	.HeroBg p + p + p { bottom:106px; left:-200px; }
	.HeroBg img { width:100%; height:100%; object-fit:cover; }
	.HeroAfter { position:absolute; top:0; right:0; z-index:-2; overflow:hidden; width:160px; height:160px; mix-blend-mode:multiply; }
	.HeroAfter::after { content:''; display:block; position:absolute; top:50%; right:-235%; width:320px; height:320px; background:#FFDDA7; transform:rotate(45deg) translate(-86%,-20%); }

	.HeroSlide { order:inherit; position:absolute; top:0; left:0; overflow:hidden; width:100%; height:100%; }
	.HeroSlide .slick-slider .slick-track, .HeroSlide .slick-slider .slick-list { height:100%; height:auto; }
	.HeroSlide .slick-slide { position:relative; overflow:hidden; width:100%; height:100%; }
	.HeroSlide .slick-slide img { width:101%; height:101%; object-fit:cover; transform:scale(1.09); opacity:0.5; transition:1.0s; }
	.HeroSlideInner { position:relative; }
	.HeroSlideInner h3 { position:absolute; z-index:2; top:19%; left:-100%; color:#000; line-height:80px; font-size:80px; font-weight:lighter; transform:translate(0,-50%); }

	/* animation */
	@keyframes zoomIn {
		0% { transform:scale(1.0); }
		90% { opacity:1.0; }
		100% { opacity:0.5; transform:scale(1.1); }
	}
	@keyframes catchText {
		0% { color:#fff; opacity:0; }
		50% { color:#fff; opacity:1; }
		100% { color:#000; }
	}
	@keyframes catchTextBG {
		0% { left:0; width:0%; }
		40% { left:0; width:100%; }
		60% { left:inherit; right:0; width:100%; }
		100% { right:0; width:0%; }
	}

	.catchText { display:inline-block; position:relative; color:#fff; opacity:1; animation:2.0s ease-out forwards running catchText; }
	.catchText::after { content:''; display:block; position:absolute; z-index:-1; top:0; right:0; width:0%; height:100%; background:#000; animation:1.0s ease-out forwards running catchTextBG; }
	.catchText2 { display:inline-block; position:relative; color:#fff; opacity:1; animation:2.0s ease-out 0.25s forwards running catchText; }
	.catchText2::after { content:''; display:block; position:absolute; z-index:-1; top:0; right:0; width:0%; height:100%; background:#000; animation:1.0s ease-out 0.25s forwards running catchTextBG; }
	.catchText3 { display:inline-block; position:relative; color:#fff; opacity:1; animation:2.0s ease-out 0.5s forwards running catchText; }
	.catchText3::after { content:''; display:block; position:absolute; z-index:-1; top:0; right:0; width:0%; height:100%; background:#000; animation:1.0s ease-out 0.5s forwards running catchTextBG; }


	/* animation */
	@keyframes slideInLeft00 {
		0% { left:-100%; }
		10% { left:80px; }
		90% { left:80px; }
		100% { left:-100%; }
	}
	.HeroSlide .slick-slide.slick-current.slick-active img { animation:4s linear forwards running zoomIn; }
	.HeroBgBefore::before { animation:changeColor1 0.8s ease-in 0.2s alternate forwards running; }
	.HeroAfter::after { animation:changeColor2 0.6s ease-in 0.1s alternate forwards running; }
	.HeroBg img { animation:blur 1.4s ease-in 0.0s 1 alternate forwards running; }
	.HeroSlideInner.slick-slide.slick-current.slick-active h3 { animation:slideInLeft00 6s ease-in 0.1s alternate forwards running; }
}


/* WorksLogos */

.WorksLogos { padding:15px 0; border-bottom:#585858 1px solid; }
.WorksLogos header { display:none; }
.WorksLogos img { width:auto; height:30px; margin:0 10px; }
@media screen and (min-width:729px) {
.WorksLogos {  }
.WorksLogos header { display:none; }
.WorksLogos header { height:40px; }
}


/* Cases */
.Cases { position:relative; overflow:hidden; z-index:3; border-bottom:#585858 1px solid;/* background:url('../images/bg_case.png') no-repeat center 105%; background-size:100% auto;*/ }
.Cases header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Cases header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; background:#fff; }
.Cases header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Cases header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.CasesInner { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; margin:0; }
.CasesSlide { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; max-width:88%; margin:0 auto; padding:30px 0 0; }
.CasesSlideInner { width:100%; margin:0 0 20px; border-radius:6px; background:#fff; box-shadow:0 0 8px 0 rgba(0,0,0,0.1); opacity:1; }
.CasesSlidePhoto {  }
.CasesSlidePhoto img { border-radius:6px 6px 0 0; }
.CasesSlideText { padding:20px; }
.CasesSlideText h3 { margin:0 0 5px; }
.CasesSlideInfoText { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-end; }
.CasesSlideInfoLeft { font-size:12px; }
.CasesSlideInfoLeft .material-icons { top:0.2em; margin:0 0.2em 0 0; font-size:1.15em; }
.Cases .time { display:block; margin:0 0 10px 0; color:#999; font-size:13px; }
.Cases .categoryLabel { display:none; color:#2B8EE5; font-size:13px; }
.Cases .categoryLabel a { color:#2B8EE5; text-decoration:none; }
.Cases .tags { display:none; position:relative; overflow:hidden; color:#ADADAD; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }
.CasesSlideInfoRight { line-height:1.2; font-size:16px; text-align:right; }
.CasesSlideInfoRight span { font-size:1.6em; font-weight:bolder; }
.CasesSlideInfoRight small { display:block; font-size:13px; }

.Cases .btnWrap { width:88%; margin:0 auto 40px auto; }
.Cases .btnWrap a { display:inline-block; min-width:100%; padding:0 20px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.Cases .btnWrap a .material-icons { position:relative; top:6px; }
.Cases .btnWrap a:hover { color:#000; background:#fff; }

.Cases .slideInLeft01 { position:absolute; left:50%; bottom:-25px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', sans-serif; font-size:30vw; font-weight:bolder; white-space:nowrap; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
.Cases .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

@media screen and (min-width:729px) {
	.Cases { position:relative; overflow:hidden; z-index:3; border-bottom:#585858 1px solid;/* background:url('../images/bg_case.png') no-repeat center 105%; background-size:100% auto;*/ }
	.Cases header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Cases header h2 { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; font-size:27px; }
	.Cases header h2 b { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Cases header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Cases header h2 small { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Cases header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.CasesInner { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; margin:0; }
	.CasesSlide { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:1140px; margin:0 auto; padding:80px 20px 40px; }
	.CasesSlideInner { width:32%; margin:0; border-radius:6px; background:#fff; box-shadow:0 0 8px 0 rgba(0,0,0,0.1); opacity:0; }
	.CasesSlidePhoto {  }
	.CasesSlidePhoto img { border-radius:6px 6px 0 0; }
	.CasesSlideText { padding:25px; }
	.CasesSlideText h3 { margin:0 0 5px; }
	.CasesSlideInfoText { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-end; }
	.CasesSlideInfoLeft { font-size:12px; }
	.CasesSlideInfoLeft .material-icons { top:0.2em; margin:0 0.2em 0 0; font-size:1.15em; }
	.Cases .time { display:block; margin:0 0 10px 0; color:#999; font-size:13px; }
	.Cases .categoryLabel { display:none; color:#2B8EE5; font-size:13px; }
	.Cases .categoryLabel a { color:#2B8EE5; text-decoration:none; }
	.Cases .tags { display:none; position:relative; overflow:hidden; color:#ADADAD; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }
	.CasesSlideInfoRight { line-height:1.2; font-size:16px; text-align:right; }
	.CasesSlideInfoRight span { font-size:1.6em; font-weight:bolder; }
	.CasesSlideInfoRight small { display:block; font-size:13px; }

	.Cases .btnWrap { width:auto; margin:0 0 80px 0; }
	.Cases .btnWrap a { display:inline-block; min-width:360px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.Cases .btnWrap a .material-icons { position:relative; top:6px; }
	.Cases .btnWrap a:hover { color:#000; background:#fff; }

	.Cases .slideInLeft01 { position:absolute; left:50%; bottom:-100px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', sans-serif; font-size:30vw; font-weight:bolder; white-space:nowrap; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
	.Cases .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

	/* animation */
	@media screen and (min-width:729px) {
		.WorksLogos { padding:20px 0 60px; border-bottom:#585858 1px solid; }
		.WorksLogos header { display:none; }
		.WorksLogos img { width:auto !important; height:auto !important; max-height:40px; margin:0 25px; opacity:1; object-fit:contain; }
	}
	@keyframes slideInLeft01 {
		0% { left:-70%; }
		100% { left:50%; }
	}
	@keyframes slideInfadeInBottom01 {
		0% { top:100px; opacity:0; }
		100% { top:0; opacity:1; }
	}
	@keyframes headLine {
		0% { left:-100%; color:#000; background:#fff; }
		100% { left:0%; color:#fff; background:#000; }
	}
	@keyframes headLineSmall {
		0% { left:-100%; color:#fff; }
		50% { left:0%; color:#fff; }
		100% { left:100%; color:#000; }
	}

	.Cases header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Cases header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
	.Cases.motion.active .CasesSlideInner { animation:0.5s linear 0.0s alternate forwards running slideInfadeInBottom01; }
	.Cases.motion.active .CasesSlideInner + .CasesSlideInner { animation:0.5s linear 0.25s alternate forwards running slideInfadeInBottom01; }
	.Cases.motion.active .CasesSlideInner + .CasesSlideInner + .CasesSlideInner { animation:0.5s linear 0.5s alternate forwards running slideInfadeInBottom01; }
	.Cases.motion.active .slideInLeft01 { animation:2.0s ease-in 0s alternate forwards running slideInLeft01; }
}

/* .Reason */
.Reason { position:relative; overflow:hidden; z-index:2; padding:0; border-bottom:#585858 1px solid; }
.Reason header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Reason header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; background:#fff; }
.Reason header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Reason header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; background:#fff; }
.ReasonInner { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; position:static; max-width:100%; margin:0 auto; padding:30px 20px 0; }
.ReasonInner ul { display:flex; flex-flow:column wrap; justify-content:center; align-items:flex-start; position:relative; padding:0; list-style:none; }
.ReasonInner li { width:100%; padding:0 0 25px; }
.ReasonInner li:nth-child(2) { margin:0 0 25px; }
.ReasonInner li > figure { display:block; position:relative; height:160px; margin:0 0 15px; text-align:left; }
	.ReasonInner li:nth-child(1) figure { background:url('../images/img_home_reason01.svg') no-repeat right bottom; background-size:auto 160px; }
	.ReasonInner li:nth-child(2) figure { background:url('../images/img_home_reason02.svg') no-repeat right bottom; background-size:auto 160px; }
	.ReasonInner li:nth-child(3) figure { background:url('../images/img_home_reason03.svg') no-repeat right bottom; background-size:auto 160px; }
	.Reason.motion.active .ReasonInner li:nth-child(1) figure img { top:auto; width:140px; height:140px; opacity:1; object-fit:contain; }
	.Reason.motion.active .ReasonInner li:nth-child(2) figure img { top:auto; width:140px; height:140px; opacity:1; object-fit:contain; }
	.Reason.motion.active .ReasonInner li:nth-child(3) figure img { top:auto; width:140px; height:140px; opacity:1; object-fit:contain; }
.ReasonText h3 { display:block; top:auto; margin:0 0 15px; font-size:18px; text-align:left; opacity:1; }
.ReasonText h3::after { content:''; display:table; clear:both; height:0; }
.ReasonText h3 small { float:right; color:#999; font-family:'Roboto', sans-serif; font-size:14px; font-family:'Roboto', sans-serif; }
.ReasonText p { top:auto; font-size:15px; text-align:left; opacity:1; }
.ReasonText p small { display:inline-block; color:#7C7C7C; font-size:11px; }
/* ReasonDetail */
.ReasonDetail { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:center; width:100%; margin:5px 0 0; padding:25px; border:#D0D0D0 1px solid; border-radius:4px; background:rgba(255,255,255,0.8); }
.ReasonDetailText { order:2; width:100%; }
.ReasonDetailText h4 { margin:0 0 10px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1; font-size:21px; }
.ReasonDetailText h5 { margin:0 0 20px; font-size:16px; }
.ReasonDetailText p { font-size:13px; }
.ReasonDetailText .btnWrap { margin:0 0 0 0; }
.ReasonDetailText .btnWrap a { display:inline-block; min-width:100%; margin:20px 0 0; padding:0 20px; border:#000 1px solid; color: #fff; line-height:50px; font-size:15px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.ReasonDetailText .btnWrap a .material-icons { position:relative; top:6px; }
.ReasonDetailText .btnWrap a:hover { color:#000; background:#fff; }
.ReasonDetailPhoto { order:1; width:100%; padding:0 0 25px; }
.ReasonDetailPhoto figure { margin:0; }
.ReasonDetailPhoto img { width:100%; height:100%; object-fit:cover; }
.Reason .catchText { position:relative; margin:50px 0 30px; font-size:17px; }
.Reason .catchText::before { content:''; position:absolute; top:-30px; left:50%; z-index:-1; border:transparent 60px solid; border-top:#2B8EE5 20px solid; transform:translate(-50%,0); }

.ReasonMeyasu { width:100%; max-width:100%; }
.ReasonMeyasuOuter { padding:15px; border:#ddd 1px solid; border-radius:4px; background:rgba(255,255,255,0.75); }
.ReasonMeyasuPhoto { display:block; position:relative; margin:0; }
.ReasonMeyasuPhoto figcaption { position:relative; top:auto; left:auto; z-index:2; margin:10px 0 0; padding:8px 16px; font-size:12px; text-align:center; background:rgba(255,255,255,0.75); }
.ReasonMeyasuInner { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; gap:0; margin:20px 0 20px; padding:15px; border-radius:4px; background:#f8f8f8; }
.ReasonMeyasuText { width:100%; margin:0 0 15px; }
.ReasonMeyasuText h4 { margin:0 0 10px; font-size:1.0em; }
.ReasonMeyasuText h4 small { font-size:0.75em; }
.ReasonMeyasuText p { font-size:0.8em; }
.ReasonMeyasuInner figure { width:100%; }

.Reason .slideInLeft01 { position:absolute; left:50%; bottom:-20px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', sans-serif; font-size:25vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
.Reason .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

@media screen and (min-width:729px) {
	.Reason { position:relative; overflow:hidden; z-index:2; padding:0; border-bottom:#585858 1px solid; }
	.Reason header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Reason header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; font-size:27px; }
	.Reason header h2 b { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Reason header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Reason header h2 small { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Reason header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.ReasonInner { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; position:static; max-width:1140px; margin:0 auto; padding:80px 20px; }
	.ReasonInner ul { display:flex; flex-flow:row wrap; justify-content:center; align-items:flex-start; position:relative; padding:0; list-style:none; }
	.ReasonInner li { width:30%; padding:0; }
	.ReasonInner li:nth-child(2) { margin:0 5%; }
	.ReasonInner li > figure { display:block; position:relative; height:160px; margin:0 0 30px; text-align:left; }
		.ReasonInner li:nth-child(1) figure { background:url('../images/img_home_reason01.svg') no-repeat right bottom; background-size:auto 160px; }
		.ReasonInner li:nth-child(2) figure { background:url('../images/img_home_reason02.svg') no-repeat right bottom; background-size:auto 160px; }
		.ReasonInner li:nth-child(3) figure { background:url('../images/img_home_reason03.svg') no-repeat right bottom; background-size:auto 160px; }
		.Reason.motion.active .ReasonInner li:nth-child(1) figure img { top:140px; width:140px; height:140px; opacity:0; object-fit:contain; }
		.Reason.motion.active .ReasonInner li:nth-child(2) figure img { top:140px; width:140px; height:140px; opacity:0; object-fit:contain; }
		.Reason.motion.active .ReasonInner li:nth-child(3) figure img { top:140px; width:140px; height:140px; opacity:0; object-fit:contain; }
	.ReasonText h3 { display:block; top:30px; margin:0 0 15px; font-size:21px; text-align:left; opacity:0; }
	.ReasonText h3::after { content:''; display:table; clear:both; height:0; }
	.ReasonText h3 small { float:right; color:#999; font-family:'Roboto', sans-serif; font-size:14px; font-family:'Roboto', sans-serif; }
	.ReasonText p { top:30px; font-size:15px; text-align:left; opacity:0; }
	.ReasonText p small { display:inline-block; color:#7C7C7C; font-size:11px; }
	/* ReasonDetail */
	.ReasonDetail { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; width:100%; margin:60px 0 0; padding:40px; border:#D0D0D0 1px solid; border-radius:4px; background:rgba(255,255,255,0.8); }
	.ReasonDetailText { order:1; width:43%; }
	.ReasonDetailText h4 { margin:0 0 10px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1; font-size:21px; }
	.ReasonDetailText h5 { margin:0 0 20px; font-size:16px; }
	.ReasonDetailText p { font-size:13px; }
	.ReasonDetailText .btnWrap { margin:0 0 0 0; }
	.ReasonDetailText .btnWrap a { display:inline-block; min-width:360px; margin:40px 0 0; padding:0 30px; border:#000 1px solid; color: #fff; line-height:50px; font-size:15px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.ReasonDetailText .btnWrap a .material-icons { position:relative; top:6px; }
	.ReasonDetailText .btnWrap a:hover { color:#000; background:#fff; }
	.ReasonDetailPhoto { order:2; width:52%; padding:0; }
	.ReasonDetailPhoto figure { margin:0; }
	.ReasonDetailPhoto img { width:100%; height:100%; object-fit:cover; }
	.Reason .catchText { position:relative; margin:80px 0 0; font-size:24px; }
	.Reason .catchText::before { content:''; position:absolute; top:-50px; left:50%; z-index:-1; border:transparent 90px solid; border-top:#2B8EE5 30px solid; transform:translate(-50%,0); }

	.ReasonMeyasu { width:100%; max-width:1100px; }
	.ReasonMeyasuOuter { padding:30px; border:#ddd 1px solid; border-radius:4px; background:rgba(255,255,255,0.75); }
	.ReasonMeyasuPhoto { display:block; position:relative; margin:0; }
	.ReasonMeyasuPhoto figcaption { position:absolute; top:-15px; left:-15px; z-index:2; margin:0; padding:8px 16px; font-size:1.2em; text-align:center; background:rgba(255,255,255,0.75); }
	.ReasonMeyasuInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; gap:30px; margin:25px 0 40px; padding:30px; border-radius:4px; background:#f8f8f8; }
	.ReasonMeyasuText { width:36%; margin:0; }
	.ReasonMeyasuText h4 { margin:0 0 20px; font-size:1.2em; }
	.ReasonMeyasuText h4 small { font-size:0.75em; }
	.ReasonMeyasuText p { font-size:0.8em; }
	.ReasonMeyasuInner figure { width:calc(64% - 30px); }

	.Reason .slideInLeft01 { position:absolute; left:50%; bottom:-80px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', sans-serif; font-size:25vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
	.Reason .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

	/* animation */
	@keyframes slideInBottom02 {
		0% { top:120px; opacity:0; }
		100% { top:20px; opacity:1; }
	}
	@keyframes slideInBottom03 {
		0% { top:30px; opacity:0; }
		100% { top:0; opacity:1; }
	}

	.Reason.motion.active header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Reason.motion.active header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
	.Reason.motion.active .ReasonInner li:nth-child(1) figure img { animation:0.5s ease-out 0s alternate forwards running slideInBottom02; }
	.Reason.motion.active .ReasonInner li:nth-child(2) figure img { animation:0.5s ease-out 0.25s alternate forwards running slideInBottom02; }
	.Reason.motion.active .ReasonInner li:nth-child(3) figure img { animation:0.5s ease-out 0.5s alternate forwards running slideInBottom02; }
	.Reason.motion.active .ReasonInner li:nth-child(1) h3 { animation:0.5s ease-out 0.5s alternate forwards running slideInBottom03; }
	.Reason.motion.active .ReasonInner li:nth-child(2) h3 { animation:0.5s ease-out 0.75s alternate forwards running slideInBottom03; }
	.Reason.motion.active .ReasonInner li:nth-child(3) h3 { animation:0.5s ease-out 1.0s alternate forwards running slideInBottom03; }
	.Reason.motion.active .ReasonInner li:nth-child(1) p { animation:0.5s ease-out 0.75s alternate forwards running slideInBottom03; }
	.Reason.motion.active .ReasonInner li:nth-child(2) p { animation:0.5s ease-out 1.0s alternate forwards running slideInBottom03; }
	.Reason.motion.active .ReasonInner li:nth-child(3) p { animation:0.5s ease-out 1.25s alternate forwards running slideInBottom03; }
	.Reason.motion.active .slideInLeft01 { animation:2.0s ease-in 0s alternate forwards running slideInLeft01; }
}


/* .ISS4 */
.ISS4 { position:relative; overflow:hidden; z-index:2; padding:0; border-bottom:#585858 1px solid; }
.ISS4 header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.ISS4 header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.ISS4 header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.ISS4 header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; background:#fff; }
.ISS4Inner { padding:320px 0 0; }
.ISS4Photo { order:2; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:400px; margin:0; }
.ISS4Photo img { width:100%; height:100%; object-fit:cover; }
.ISS4Intro { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; order:1; position:relative; z-index:3; max-width:88%; margin:0 auto; padding:25px; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.ISS4Intro::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; border-radius:6px; background:rgba(255,255,255,0.5); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
.ISS4IntroText { width:100%; }
.ISS4IntroText h3 { margin:0 0 20px; font-size:18px; }
.ISS4IntroText h3 b { display:block; margin:0; padding:0 0 5px; color:#666; line-height:1; font-size:11px; }
.ISS4IntroText h3 small { display:block; margin:15px 0 0; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.4; font-size:16px; }
.ISS4IntroText p { font-size:15px; text-align:left; }
.ISS4IntroText .btnWrap { margin:0 0 30px 0; }
.ISS4IntroText .btnWrap a { display:inline-block; min-width:100%; margin:20px 0 0; padding:0 20px; border:#000 1px solid; color: #fff; line-height:50px; font-size:15px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.ISS4IntroText .btnWrap a .material-icons { position:relative; top:6px; }
.ISS4IntroText .btnWrap a:hover { color:#000; background:#fff; }
.ISS4IntroPhoto { width:100%; padding:0 30px; }
/* ISS4Detail */
.ISS4Detail {display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; position:static; max-width:88%; margin:0 auto; padding:30px 0; }
.ISS4Detail h3 { margin:0 0 20px; font-size:18px; text-align:center; }
.ISS4DetailInner { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:flex-start; }
.ISS4DetailInner li { top:auto; width:100%; margin:0; padding:0; list-style:none; opacity:1; }
.ISS4DetailPhoto { margin:0 0 15px; }
	.ISS4DetailInner li:nth-child(4) .ISS4DetailPhoto { background:#fff; }
.ISS4DetailText { width:100%; }
.ISS4DetailText h4 { margin:0 0 10px; font-size:16px; }
.ISS4DetailText p { margin:0 0 25px; font-size:12px; }

.ISS4 .slideInLeft01 { position:absolute; left:50%; bottom:-15px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:23vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
.ISS4 .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }


@media screen and (min-width:729px) {
	.ISS4 { position:relative; overflow:hidden; z-index:2; padding:0; border-bottom:#585858 1px solid; }
	.ISS4 header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.ISS4 header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; font-size:27px; }
	.ISS4 header h2 b { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.ISS4 header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.ISS4 header h2 small { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.ISS4 header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.ISS4Inner { padding:320px 0 0; }
	.ISS4Photo { order:2; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:400px; margin:0; }
	.ISS4Photo img { width:100%; height:100%; object-fit:cover; }
	.ISS4Intro { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; order:1; position:relative; z-index:3; max-width:1040px; margin:0 auto; padding:40px; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
	.ISS4Intro::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; border-radius:6px; background:rgba(255,255,255,0.5); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
	.ISS4IntroText { width:65%; }
	.ISS4IntroText h3 { margin:0 0 30px; font-size:27px; }
	.ISS4IntroText h3 b { display:block; margin:0; padding:0 0 5px; color:#666; line-height:1; font-size:13px; }
	.ISS4IntroText h3 small { display:block; margin:15px 0 0; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1; font-size:21px; }
	.ISS4IntroText p { font-size:15px; text-align:left; }
	.ISS4IntroText .btnWrap { margin:0 0 0 0; }
	.ISS4IntroText .btnWrap a { display:inline-block; min-width:360px; margin:40px 0 0; padding:0 30px; border:#000 1px solid; color: #fff; line-height:50px; font-size:15px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.ISS4IntroText .btnWrap a .material-icons { position:relative; top:6px; }
	.ISS4IntroText .btnWrap a:hover { color:#000; background:#fff; }
	.ISS4IntroPhoto { width:25%; padding:0; }
	/* ISS4Detail */
	.ISS4Detail {display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; position:static; max-width:1040px; margin:0 auto; padding:80px 20px; }
	.ISS4Detail h3 { margin:0 0 40px; font-size:27px; text-align:center; }
	.ISS4DetailInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; }
	.ISS4DetailInner li { top:30px; width:22%; margin:0; padding:0; list-style:none; opacity:0; }
	.ISS4DetailPhoto { margin:0 0 20px; }
		.ISS4DetailInner li:nth-child(4) .ISS4DetailPhoto { background:#fff; }
	.ISS4DetailText { width:100%; }
	.ISS4DetailText h4 { margin:0 0 10px; font-size:16px; }
	.ISS4DetailText p { margin:0 0 20px; font-size:12px; }

	.ISS4 .slideInLeft01 { position:absolute; left:50%; bottom:-70px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:23vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
	.ISS4 .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

	/* animation */
	@keyframes slideInBottom04 {
		0% { top:30px; opacity:0; }
		100% { top:0; opacity:1; }
	}

	.ISS4.motion.active header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.ISS4.motion.active header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
	.ISS4.motion.active .ISS4DetailInner li:nth-child(1) { animation:0.5s ease-out 0.25s alternate forwards running slideInBottom03; }
	.ISS4.motion.active .ISS4DetailInner li:nth-child(2) { animation:0.5s ease-out 0.5s alternate forwards running slideInBottom03; }
	.ISS4.motion.active .ISS4DetailInner li:nth-child(3) { animation:0.5s ease-out 0.75s alternate forwards running slideInBottom03; }
	.ISS4.motion.active .ISS4DetailInner li:nth-child(4) { animation:0.5s ease-out 1.0s alternate forwards running slideInBottom03; }
	.ISS4.motion.active  .slideInLeft01 { animation:2.0s ease-in 0s alternate forwards running slideInLeft01; }
}


/* .Merit */
.Merit { position:relative; overflow:hidden; z-index:2; padding:0 0 40px; border-bottom:#585858 1px solid; }
.Merit header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Merit header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.Merit header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Merit header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.MeritInner { padding:270px 0 0; }
.MeritInnerPhoto { order:2; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:360px; margin:0; }
	.MeritInnerPhoto img { width:100%; height:100%; object-fit:cover; }
.MeritIntroText { display:flex; flex-flow:column wrap; justify-content:center; align-items:flex-start; order:1; position:relative; overflow:hidden; z-index:3; max-width:88%; margin:0 auto 30px; padding:25px; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
.MeritIntroText::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; border-radius:6px; background:rgba(255,255,255,0.5); }
.MeritInner h3 { margin:0 0 20px; font-size:18px; }
.MeritInner h4 { margin:0 0 20px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.4; font-size:16px; }
.MeritInner p { width:100%; margin:0 0 30px; font-size:15px; }
.MeritInner .btnWrap { margin:0; text-align:center; }
.MeritInner .btnWrap a { display:inline-block; min-width:100%; margin:0; padding:0 20px; border:#000 1px solid; color: #fff; line-height:50px; font-size:15px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.MeritInner .BtnWrap a .material-icons { position:relative; top:6px; }
.MeritInner .BtnWrap a:hover { color:#000; background:#fff; }
.MeritPoint h3 { margin:0 0 20px; font-size:18px; text-align:center; }
.MeritPoint ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:88%; margin:0 auto; list-style:none; }
.MeritPoint ul li { top:auto; width:48%; margin:0 0 15px; opacity:1; }
.MeritPoint ul li h4 { min-height:4.2em; margin:0 0 15px; font-size:16px; }
.MeritPoint ul li h4 small { display:block; margin:0 0 4px; color:#7C7C7C; line-height:1; font-size:13px; text-transform:uppercase; }
.MeritPoint ul li p { min-height:4lh; margin:0 0 30px; font-size:13px; text-align:left; }

.MeritDetail { max-width:90%; margin:0 auto 20px; padding:15px; border-radius:6px; border:#ddd 1px solid; background:#fafafa; }
.MeritDetail h3 { width:100%; margin:0 0 20px; font-size:1.4em; }
.MeritDetailOuter { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; }
.MeritDetailInner { width:100%; }
.MeritDetailPhoto {  }
.MeritDetailPhoto h4 { margin:0 0 10px; color:#FF6060; line-height:1.4; font-size:1.0em; }
.MeritDetailPhoto h4 small { display:inline-block; padding:5px 0 0; color:#999; font-size:0.65em; font-weight:normal; }
.MeritDetailPhoto p { margin:0 0 15px; font-size:0.9em; }
.MeritDetailPhoto p b {  }
.MeritDetailText { padding:10px 0; }
.MeritDetailText .notice { color:#999; font-size:11px; }

.MeritKatsuyo { max-width:90%; margin:0 auto 40px; }
.MeritKatsuyo h3 { margin:0 0 20px; font-size:1.125em; }
.MeritKatsuyo figure { background:rgba(255,255,255,0.75); }

.flowMerit01 { max-width:90%; margin:0 auto 20px; padding:30px 0 0; }
.flowMerit01 h3 { margin:0 0 10px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.4; font-size:16px; }
.flowMerit02 { max-width:90%; margin:0 auto 40px; }
.flowMerit02 h3 { margin:0 0 10px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.4; font-size:16px; }


.Merit .catchTextWrap { text-align:center; }
.Merit .catchText { display:inline-block; position:relative; width:88%; margin:50px auto 0; font-size:18px; }
.Merit .catchText::before { content:''; position:absolute; top:-30px; left:50%; z-index:-1; border:transparent 60px solid; border-top:#2B8EE5 20px solid; transform:translate(-50%,0); }

.Merit .slideInLeft01 { position:absolute; left:50%; bottom:-25px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:34vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); animation:2.0s ease-in 0s alternate forwards running slideInLeft01; }
.Merit .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

@media screen and (min-width:729px) {
	.Merit { position:relative; overflow:hidden; z-index:2; padding:0 0 80px; border-bottom:#585858 1px solid; }
	.Merit header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Merit header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; font-size:27px; }
	.Merit header h2 b { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Merit header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Merit header h2 small { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Merit header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.MeritInner { padding:320px 0 0; }
	.MeritInnerPhoto { order:2; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:400px; margin:0; }
		.MeritInnerPhoto img { width:100%; height:100%; object-fit:cover; }
	.MeritIntroText { display:flex; flex-flow:column wrap; justify-content:center; align-items:flex-start; order:1; position:relative; overflow:hidden; z-index:3; max-width:1040px; margin:0 auto 80px; padding:40px; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
	.MeritIntroText::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; border-radius:6px; background:rgba(255,255,255,0.5); }
	.MeritInner h3 { margin:0 0 20px; font-size:27px; }
	.MeritInner h4 { margin:0 0 40px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1; font-size:21px; }
	.MeritInner p { width:100%; margin:0 0 40px; font-size:15px; }
	.MeritInner .btnWrap { margin:0; text-align:center; }
	.MeritInner .btnWrap a { display:inline-block; min-width:360px; margin:0; padding:0 30px; border:#000 1px solid; color: #fff; line-height:50px; font-size:15px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.MeritInner .BtnWrap a .material-icons { position:relative; top:6px; }
	.MeritInner .BtnWrap a:hover { color:#000; background:#fff; }
	.MeritPoint h3 { margin:0 0 40px; font-size:27px; text-align:center; }
	.MeritPoint ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:1140px; margin:0 auto; list-style:none; }
	.MeritPoint ul li { top:30px; width:17.5%; opacity:0; }
	.MeritPoint ul li h4 { min-height:4.2em; margin:0 0 15px; font-size:16px; }
	.MeritPoint ul li h4 small { display:block; margin:0 0 4px; color:#7C7C7C; line-height:1; font-size:13px; text-transform:uppercase; }
	.MeritPoint ul li p { min-height:4lh; margin:0 0 30px; font-size:13px; text-align:left; }

	.MeritDetail { max-width:1020px; margin:0 auto 40px; padding:40px; border-radius:6px; border:#ddd 1px solid; background:#fafafa; }
	.MeritDetail h3 { width:100%; margin:0 0 20px; font-size:1.4em; }
	.MeritDetailOuter { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; }
	.MeritDetailInner { width:47.5%; }
	.MeritDetailPhoto {  }
	.MeritDetailPhoto h4 { margin:0 0 20px; color:#FF6060; line-height:1; font-size:1.2em; }
	.MeritDetailPhoto h4 small { display:block; padding:5px 0 0; color:#999; font-size:0.65em; font-weight:normal; }
	.MeritDetailPhoto p { margin:0 0 15px; font-size:0.9em; }
	.MeritDetailPhoto p b {  }
	.MeritDetailText { padding:20px 0 0; }
	.MeritDetailText .notice { color:#999; font-size:12px; }
	
	.MeritKatsuyo { max-width:1020px; margin:0 auto 80px; }
	.MeritKatsuyo h3 { margin:0 0 20px; font-size:1.2em; }
	.MeritKatsuyo figure { background:rgba(255,255,255,0.75); }
	
	.flowMerit01 { max-width:1020px; margin:0 auto 40px; padding:60px 0 0; }
	.flowMerit01 h3 { margin:0 0 20px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.4; font-size:16px; }
	.flowMerit02 { max-width:1020px; margin:0 auto 80px; }
	.flowMerit02 h3 { margin:0 0 20px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.4; font-size:16px; }

	.Merit .catchTextWrap { text-align:center; }
	.Merit .catchText { display:inline-block; position:relative; width:auto; margin:80px auto 0; font-size:24px; }
	.Merit .catchText::before { content:''; position:absolute; top:-50px; left:50%; z-index:-1; border:transparent 90px solid; border-top:#2B8EE5 30px solid; transform:translate(-50%,0); }

	.Merit .slideInLeft01 { position:absolute; left:50%; bottom:-100px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:30vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); animation:2.0s ease-in 0s alternate forwards running slideInLeft01; }
	.Merit .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

	/* animation */
	@keyframes fadeUp02 {
		0% { top:30px; opacity:0; }
		100% { top:0; opacity:1; }
	}
	@keyframes slideInBottom05 {
		0% { top:30px; opacity:0; }
		100% { top:0; opacity:1; }
	}
	@keyframes textArea01 {
		0% { width:1px; height:1px; margin:0 auto; padding:0; opacity:0.01; }
		100% { width:1040px; height:auto; margin:0 auto 80px; padding:40px; opacity:1; }
	}
	@keyframes fadeIn01 {
		0% { width:1px; height:1px; opacity:0.01; box-shadow:0 0 0 0 rgba(0,0,0,0.01); }
		100% { width:100%; height:100%; opacity:1; box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
	}

	.Merit.motion.active header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Merit.motion.active header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
	.Merit.motion.active .MeritIntroText { animation:1.0s ease-out 0.0s alternate forwards running textArea01; }
	.Merit.motion.active .MeritIntroText::after { animation:1.0s ease-out 0.0s alternate forwards running fadeIn01; }
	.Merit.motion.active .MeritPoint ul li:nth-child(1) { animation:0.5s ease-out 0.25s alternate forwards running slideInBottom03; }
	.Merit.motion.active .MeritPoint ul li:nth-child(2) { animation:0.5s ease-out 0.5s alternate forwards running slideInBottom03; }
	.Merit.motion.active .MeritPoint ul li:nth-child(3) { animation:0.5s ease-out 0.75s alternate forwards running slideInBottom03; }
	.Merit.motion.active .MeritPoint ul li:nth-child(4) { animation:0.5s ease-out 1.0s alternate forwards running slideInBottom03; }
	.Merit.motion.active .MeritPoint ul li:nth-child(5) { animation:0.5s ease-out 1.25s alternate forwards running slideInBottom03; }
	.MeritInnerPhoto { animation:fadeUp02 0.6s ease-in 0.3s 1 alternate forwards running; }
}


/* .Concept */
.Concept { position:relative; overflow:hidden; z-index:2; border-bottom:#585858 1px solid; }
.ConceptInner { display:flex; flex-flow:column wrap; justify-content:flex-end; align-items:center; position:static; width:100%; margin:0; padding:0 0 30px; }
.ConceptText { order:2; position:relative; z-index:3; top:auto; width:88%; margin:-60px auto 0; padding:25px; border-radius:6px; background:rgba(255,255,255,0.65); opacity:1; }
.ConceptText::after { content:''; display:block; position:absolute; z-index:-1; top:0; left:0; width:100%; height:100%; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
.ConceptTextInner {  }
.ConceptTextInner h2 { margin:0 0 20px; font-size:18px; }
.ConceptTextInner h3 { margin:0 0 20px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.4; font-size:16px; }
.ConceptTextInner h3 br { display:none; }
.ConceptTextInner p { font-size:14px; text-align:left; }
.ConceptSDGs { width:100%; height:auto; margin:20px 0 0; }
.ConceptPhoto { order:1; position:relative; width:100%; height:360px; margin:0; }
.ConceptPhoto img { width:100%; height:100%; object-fit:cover; }


@media screen and (min-width:729px) {
	.Concept { position:relative; overflow:hidden; z-index:2; border-bottom:#585858 1px solid; }
	.ConceptInner { display:flex; flex-flow:row wrap; justify-content:flex-end; align-items:center; position:static; width:100%; margin:0; padding:0; }
	.ConceptText { order:1; position:relative; z-index:3; top:30px; width:40%; margin:100px; padding:40px; border-radius:6px; background:rgba(255,255,255,0.65); opacity:0; }
	.ConceptText::after { content:''; display:block; position:absolute; z-index:-1; top:0; left:0; width:100%; height:100%; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
	.ConceptTextInner {  }
	.ConceptTextInner h2 { margin:0 0 20px; font-size:27px; }
	.ConceptTextInner h3 { margin:0 0 40px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.5; font-size:21px; }
	.ConceptTextInner h3 br { display:inline; }
	.ConceptTextInner p { font-size:15px; text-align:left; }
	.ConceptSDGs { width:80%; height:auto; margin:40px 0 0; }
	.ConceptPhoto { order:2; position:absolute; width:100%; height:auto; margin:0; }
	.ConceptPhoto img { width:100%; height:100%; object-fit:cover; }

	/* animation */
	@keyframes fadeUp02 {
		0% { top:30px; opacity:0; }
		100% { top:0; opacity:1; }
	}

	.Concept.motion.active .ConceptText { animation:fadeUp02 0.5s ease-in 0.0s alternate forwards running; }
}


/* .FAQ */
.FAQ { position:relative; overflow:hidden; padding:0; }
.FAQ header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.FAQ header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.FAQ header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.FAQ header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.FAQInner {  }
.FAQ ul { padding:0; border-top:#000 1px solid; list-style:none; }
.FAQ li { padding:15px 0; border-bottom:#000 1px solid; }
.FAQ li dl { max-width:88%; margin:0 auto; text-align:left; }
.FAQ li dt { padding:0 40px 0 2.5em; font-weight:normal; background:url('../images/icon_plus.svg') no-repeat right center; background-size:12px 12px; cursor:pointer; }
.FAQ li dt.active { background:url('../images/icon_minus.svg') no-repeat right center; background-size:12px 12px; cursor:pointer; }
.FAQ li dt::before { content:'Q.'; display:inline-block; position:absolute; top:50%; left:0; color:#D0D0D0; line-height:1; font-size:1.0em; transform:translate(0,-50%); }
.FAQ li dd { display:block; position:relative; overflow:hidden; width:100%; padding:0 0 0 40px; height:0; font-weight:normal; transition:0.2s; }
.FAQ li dd.active { height:auto; padding:15px 0 0 40px; font-size:14px; transition:0.4s; }
.FAQ .slideInLeft02 { position:absolute; left:50%; top:calc(87.5% + 10px); z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:25vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0) rotate(0deg); /*animation:2.0s ease-in 0s alternate forwards running slideInLeft01;*/ }
.FAQ .slideInLeft02 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

@media screen and (min-width:729px) {
	.FAQ { position:relative; overflow:hidden; padding:0; }
	.FAQ header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.FAQ header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; font-size:27px; }
	.FAQ header h2 b { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.FAQ header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.FAQ header h2 small { display:flex; justify-content:flex-start; align-self:stretch; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.FAQ header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.FAQInner {  }
	.FAQ ul { padding:0; border-top:#000 1px solid; list-style:none; }
	.FAQ li { padding:25px 0; border-bottom:#000 1px solid; }
	.FAQ li dl { max-width:860px; margin:0 auto; text-align:left; }
	.FAQ li dt { padding:0 40px 0 2.5em; font-weight:normal; background:url('../images/icon_plus.svg') no-repeat right center; background-size:12px 12px; cursor:pointer; }
	.FAQ li dt.active { background:url('../images/icon_minus.svg') no-repeat right center; background-size:12px 12px; cursor:pointer; }
	.FAQ li dt::before { content:'Q.'; display:inline-block; position:absolute; top:50%; left:0; color:#D0D0D0; line-height:1; font-size:1.0em; transform:translate(0,-50%); }
	.FAQ li dd { display:block; position:relative; overflow:hidden; width:100%; padding:0 60px 0 40px; height:0; font-weight:normal; transition:0.2s; }
	.FAQ li dd.active { height:auto; padding:15px 60px 0 40px; font-size:14px; transition:0.4s; }
	.FAQ .slideInLeft02 { position:absolute; left:0; top:58%; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:16vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-33%,-50%) rotate(90deg); /*animation:2.0s ease-in 0s alternate forwards running slideInLeft01;*/ }
	.FAQ .slideInLeft02 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

	/* animation */
	@keyframes slideInLeft02 {
		0% { left:-50%; }
		100% { left:0; }
	}

	.FAQ.motion.active header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.FAQ.motion.active header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
	.FAQ.motion.active .slideInLeft02 { animation:2.0s ease-in 0s alternate forwards running slideInLeft02; }
}


/* .News */
.News { position:relative; z-index:3; border-bottom:#585858 1px solid; }
.NewsInner { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:center; margin:0; }
.News header { width:100%; margin:0; padding:15px 20px; border-bottom:#585858 1px solid; text-align:left; background:#fafafa; }
.News header h2 { font-family:'Roboto', sans-serif; font-size:20px; text-transform:uppercase; }
.NewsArticle { padding:15px 30px; }
.NewsArticle ul { padding:0; list-style:none; }
.NewsArticle li { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; margin:0; }
.NewsText { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; }
.NewsText h3 { display:inline-block; margin:0 10px 0 0; line-height:1; font-weight:normal; }
.NewsText .date { display:inline-block; position:relative; top:2px; margin:0; color:#7C7C7C; font-family:'Roboto', sans-serif; }

@media screen and (min-width:729px) {
	.News { position:relative; z-index:3; border-bottom:#585858 1px solid; }
	.NewsInner { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; margin:0; }
	.News header { width:auto; margin:0; padding:15px 30px; border:0; border-right:#585858 1px solid; text-align:left; background:transparent; }
	.News header h2 { font-family:'Roboto', sans-serif; font-size:20px; text-transform:uppercase; }
	.NewsArticle { padding:15px 30px; }
	.NewsArticle ul { padding:0; list-style:none; }
	.NewsArticle li { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; margin:0; }
	.NewsText { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; }
	.NewsText h3 { display:inline-block; margin:0 10px 0 0; line-height:1; font-weight:normal; }
	.NewsText .date { display:inline-block; position:relative; top:2px; margin:0; color:#7C7C7C; font-family:'Roboto', sans-serif; }
}


/* .CTA */
.CTA { position:relative; z-index:2; margin:0; padding:40px 0; background:#000; }
.CTAInner { position:relative; width:100%; max-width:88%; margin:0 auto; padding:0; }
.CTA header { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; position:relative; z-index:2; margin:0 0 30px 0; color:#fff; text-align:center; }
.CTA header h2 { position:static; margin:0 0 10px; color:#fff; font-size:20px; }
.CTA header p { font-size:13px; font-weight:normal; }
.CTA ul { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; padding:0; list-style:none; }
.CTA li { width:100%; margin:0; }
.CTA li:nth-child(1) { margin-bottom:15px; }
.CTA .BtnWrap {  }
.CTA .BtnWrap a { display:block; width:100%; max-width:100%; min-height:60px; margin:0; padding:0; color:#000; line-height:60px; font-family:'Roboto', sans-serif; font-size:18px; text-align:center; text-decoration:none; background:#fff; box-shadow:0 6px 0 0 rgba(0,0,0,0.1); transition:1.0s; }
.CTA .BtnWrap small { display:block; font-size:11px; font-weight:normal; }
.CTA .BtnWrap a .material-symbols-outlined { position:relative; top:4px; font-size:1.2em; }

@media screen and (min-width:729px) {
	.CTA { position:relative; z-index:2; margin:0; padding:100px 0; background:#000; }
	.CTAInner { position:relative; width:100%; max-width:960px; margin:0 auto; padding:0; }
	.CTA header { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; position:relative; z-index:2; margin:0 0 60px 0; color:#fff; text-align:center; }
	.CTA header h2 { position:static; margin:0 0 10px; color:#fff; font-size:27px; }
	.CTA header p { font-size:18px; font-weight:normal; }
	.CTA ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; padding:0; list-style:none; }
	.CTA li { width:48.5%; margin:0; }
	.CTA li:nth-child(1) { margin-bottom:0; }
	.CTA .BtnWrap {  }
	.CTA .BtnWrap a { display:block; width:100%; max-width:100%; min-height:70px; margin:0; padding:0; color:#000; line-height:70px; font-family:'Roboto', sans-serif; font-size:24px; text-align:center; text-decoration:none; background:#fff; box-shadow:0 6px 0 0 rgba(0,0,0,0.1); transition:1.0s; }
	.CTA .BtnWrap a:hover { color:#fff; background:#2B8EE5; transition:1.0s; }
	.CTA .BtnWrap small { display:block; font-size:11px; font-weight:normal; }
	.CTA .BtnWrap a .material-symbols-outlined { position:relative; top:4px; font-size:1.2em; }
}



/* ----------------------------------------------------------- */
/*                                                             */
/* Pages                                                       */
/*                                                             */
/* ----------------------------------------------------------- */

/* PageImage */
.PageImage { display:flex; flex-flow:column wrap; justify-content:flex-end; align-items:center; position:relative; padding:25px 0; border-bottom:#585858 1px solid; }
.PageImageInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; position:relative; z-index:3; width:88%; margin:0; padding:25px; border-radius:6px; background:rgba(255,255,255,0.5); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
.PageImageInner::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.PageImageInnerText { width:100%; }
.PageImageInnerText h2 { display:block; margin:0 0 15px; font-size:20px; }
.PageImageInnerText h2 small { display:block; padding:5px 0 0; font-size:15px; }
.PageImageInnerText ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; margin:0; padding:0; list-style:none; }
.PageImageInnerText li { width:32%; margin:0; padding:0; list-style:none; }
.PageImageInnerText li img { width:100%; height:100%; object-fit:cover; }
.PageImageInnerImage { display:none; width:25%; }
.PageImageInnerImage img { width:100%; height:100%; object-fit:cover; }
.PageImageBg { position:absolute; top:0; left:0; overflow:hidden; width:100%; height:100%; }

@media screen and (min-width:729px) {

	.PageImage { display:flex; flex-flow:row wrap; justify-content:flex-end; align-items:center; position:relative; padding:0; border-bottom:#585858 1px solid; }
	.PageImageInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; position:relative; z-index:3; width:45%; margin:40px 40px 40px 0; padding:40px; border-radius:6px; background:rgba(255,255,255,0.5); box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
	.PageImageInner::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; border-radius:6px; -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
	.PageImageInnerText { width:67.5%; }
	.PageImageInnerText h2 { display:block; margin:0 0 20px; font-size:18px; }
	.PageImageInnerText h2 small { display:block; padding:5px 0 0; font-size:15px; }
	.PageImageInnerText ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; margin:0; padding:0; list-style:none; }
	.PageImageInnerText li { width:32%; margin:0; padding:0; list-style:none; }
	.PageImageInnerText li img { width:100%; height:100%; object-fit:cover; }
	.PageImageInnerImage { display:block; width:25%; }
	.PageImageInnerImage img { width:100%; height:100%; object-fit:cover; }
	.PageImageBg { position:absolute; top:0; left:0; overflow:hidden; width:100%; height:100%; }
}


/* .Corp */
.Corp { border-bottom:#585858 1px solid; }
.Corp header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Corp header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.Corp header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Corp header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.CorpInner { max-width:100%; margin:0 auto; padding:40px 20px; }
.Corp h3 { margin:0 0 40px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1.5; font-size:21px; }
.Corp h3 + p { margin:0 0 60px; line-height:1.8; }
.Corp dl { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; max-width:100%; margin:0 auto; border-bottom:#ddd 1px solid; font-size:14px; font-weight:normal; text-align:left; }
.Corp dt { width:100%; padding:10px 0 5px; color:#888; font-weight:normal; }
.Corp dd { display:block; position:relative; width:100%; padding:0 0 10px 0; border-bottom:#ddd 1px solid; font-weight:normal; }
.Corp dt:nth-child(1) { margin-top:0; }
.Corp dd:nth-child(2) { margin-top:0; }

@media screen and (min-width:729px) {
	@keyframes headLine {
		0% { left:-100%; color:#000; background:#fff; }
		100% { left:0%; color:#fff; background:#000; }
	}
	@keyframes headLineSmall {
		0% { left:-100%; color:#fff; }
		50% { left:0%; color:#fff; }
		100% { left:100%; color:#000; }
	}
	.Corp { border-bottom:#585858 1px solid; }
	.Corp header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Corp header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.Corp header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Corp header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Corp header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Corp header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.CorpInner { max-width:860px; margin:0 auto; padding:80px 40px; }
	.Corp h3 {  }
	.Corp dl { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:860px; margin:0 auto; border-bottom:#ddd 1px solid; font-size:14px; font-weight:normal; text-align:left; }
	.Corp dt { width:210px; padding:15px 0; border-top:#ddd 1px solid; font-weight:normal; }
	.Corp dd { display:block; position:relative; width:calc(100% - 210px); padding:15px 0; border:0; border-top:#ddd 1px solid; font-weight:normal; }
	.Corp dd small { display:block; color:#888; font-size:11px; }
	.Corp dt:nth-child(1) { margin-top:0; }
	.Corp dd:nth-child(2) { margin-top:0; }

	.Corp header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Corp header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
}


/* .Access */
.Access { padding:0; border-bottom:#585858 1px solid; }
.Access iframe { width:100%; height:320px; margin:0 0 -6px; padding:0; border:0; }

@media screen and (min-width:729px) {
	.Access { padding:0; border-bottom:#585858 1px solid; }
	.Access iframe { width:100%; height:420px; margin:0 0 -6px; padding:0; border:0; }
}


/* .Information */
.Information { padding:0; }
.Information header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Information header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.Information header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Information header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.InformationInner { padding:20px 20px 40px; }
.Information ul { padding:0; list-style:none; }
.Information li { padding:15px 0; border-bottom:#000 1px solid; }
.Information li dl { max-width:860px; margin:0 auto; text-align:left; }
.Information li dl .time { display:block; color:#888; }
.Information li dd { display:block; position:relative; overflow:hidden; width:100%; padding:0 60px 0 40px; height:0; font-weight:normal; transition:0.2s; }

@media screen and (min-width:729px) {
	@keyframes headLine {
		0% { left:-100%; color:#000; background:#fff; }
		100% { left:0%; color:#fff; background:#000; }
	}
	@keyframes headLineSmall {
		0% { left:-100%; color:#fff; }
		50% { left:0%; color:#fff; }
		100% { left:100%; color:#000; }
	}
	.Information { padding:0; }
	.Information header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Information header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.Information header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Information header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Information header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Information header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.InformationInner { padding:0; }
	.Information ul { padding:0; list-style:none; }
	.Information li { padding:25px 0; border-bottom:#000 1px solid; }
	.Information li dl { max-width:860px; margin:0 auto; text-align:left; }
	.Information li dl .time { display:inline-block; margin:0; padding:0 0 0 1em; color:#888; }
	.Information li dd { display:block; position:relative; overflow:hidden; width:100%; padding:0 60px 0 40px; height:0; font-weight:normal; transition:0.2s; }

	.Information header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Information header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
}


/* .Form */
.Form { border-bottom:#585858 1px solid; background:#fafafa; }
.Form header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Form header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; background:#000; }
.Form header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Form header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.FormInner { max-width:860px; margin:0 auto; }
.Form dl { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; max-width:100%; margin:0 auto; padding:40px 0 20px; font-size:14px; font-weight:normal; text-align:left; }
.Form dt { width:100%; padding:0 20px 5px; line-height:1.5; font-weight:normal; }
.Form dt small { display:inline-block; margin:0 0 0 5px; color:#FF6060; line-height:1; font-size:11px; }
.Form dd { display:block; position:relative; width:100%; margin:0 0 15px; padding:0 20px 10px; border-bottom:#ddd 1px solid; font-weight:normal; }
.Form dt:nth-child(1) { margin-top:0; }
.Form dd:nth-child(2) { margin-top:0; }
.Form label { display:inline-block; padding:10px 0 5px; color:#444; }
.Form input[type='radio'] { position:relative; top:0.1em; width:1.3em; height:1.3em; margin:0 5px 0 0; }
.Form input[type='text'] { width:100%; padding:10px; border-bottom:#888 1px solid; line-height:1.5; font-size:16px; outline:0; background:#fff; }
.Form input[type='text']:focus { border-bottom:#aaa 1px solid !important; }
.Form textarea { min-width:100%; min-height:6lh; margin:4px 0 0; padding:10px; border-bottom:#888 1px solid; line-height:1.5; font-size:16px; outline:0; background:#fff; }
.Form textarea:focus { border-bottom:#aaa 1px solid !important; }
.Form .BtnWrap { width:100%; margin:0; padding:0 0 40px 0; text-align:center; }
.Form .BtnWrap button { display:inline-block; min-width:100%; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.Form .BtnWrap button .material-symbols-outlined { position:relative; top:6px; }
.Form .BtnWrap button:hover { color:#000; background:#fff; }

.FormConfirm { padding:40px; border-bottom:#585858 1px solid; }
.FormConfirm header { margin:0; padding:0 0 40px; text-align:center; }
.FormConfirm header h3 { position:static; margin:0; line-height:1; font-size:27px; }
.FormConfirm .errorMessageText { margin:0 0 40px; text-align:center; }
.FormConfirm .confirmBody { max-width:860px; margin:0 auto; }
.FormConfirm .pageBack { padding:40px 0 0; text-align:center; }
.FormConfirm .pageBack button { display:inline-block; min-width:360px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.FormConfirm .pageBack button .material-symbols-outlined { position:relative; top:6px; }
.FormConfirm .pageBack button:hover { color:#000; background:#fff; }
.FormConfirm .confirmMessageText { margin:0 0 40px; text-align:center; }
.FormConfirm .formTable { width:860px; margin:0 auto; }
.FormConfirm .formTable th { width:180px; padding:15px 0; border-bottom:#ddd 1px solid; }
.FormConfirm .formTable td { width:calc(100% - 180px); padding:15px 0; border-bottom:#ddd 1px solid; }
.FormConfirm .confirmDone { padding:20px 0; text-align:center; }
.FormConfirm .confirmDone button { display:block; min-width:100%; padding:0 30px; border:#000 1px solid; color: #fff; line-height:50px; font-size:16px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.FormConfirm .confirmDone button .material-symbols-outlined { position:relative; top:6px; }
.FormConfirm .confirmDone button:hover { color:#000; background:#fff; }
.FormConfirm .confirmDone input { display:inline-block; min-width:360px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.FormConfirm .confirmDone input .material-symbols-outlined { position:relative; top:6px; }
.FormConfirm .confirmDone input:hover { color:#000; background:#fff; }

.Thanks { border-bottom:#585858 1px solid; background:#fafafa; }
.Thanks header { margin:0 0 40px; }
.Thanks h2 { margin:0; padding:0 0 20px; border-bottom:#585858 1px solid; font-size:20px; text-align:center; }
.Thanks h2 br { display:none; }
.Thanks h2 small { display:block; padding:15px 0 0; font-size:13px; font-weight:normal; text-align:center; letter-spacing:0.07em; }
.ThanksInner { max-width:860px; margin:0 auto; padding:0 0 40px; }
.ThanksInner h3 { margin:0 0 30px; padding:0; font-size:18px; text-align:center; }
.ThanksInner p { margin:0 0 15px; padding:0; font-size:15px; text-align:center; }

.Thanks .BtnWrap { padding:20px 0 0; }
.Thanks .BtnWrap a { display:inline-block; width:100%; max-width:270px; padding:0 20px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
.Thanks .BtnWrap a .material-symbols-outlined { position:relative; top:6px; }
.Thanks .BtnWrap a:hover { color:#000; background:#fff; }

@media screen and (min-width:729px) {
	@keyframes headLine {
		0% { left:-100%; color:#000; background:#fff; }
		100% { left:0%; color:#fff; background:#000; }
	}
	@keyframes headLineSmall {
		0% { left:-100%; color:#fff; }
		50% { left:0%; color:#fff; }
		100% { left:100%; color:#000; }
	}
	.Form { border-bottom:#585858 1px solid; background:#fafafa; }
	.Form header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Form header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.Form header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Form header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Form header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Form header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.FormInner { max-width:860px; margin:0 auto; padding:80px 20px; }
	.Form dl { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:860px; margin:0 auto; border-bottom:#ddd 1px solid; font-size:14px; font-weight:normal; text-align:left; }
	.Form dt { width:210px; padding:25px 0; border-top:#ddd 1px solid; line-height:1.5; font-weight:normal; }
	.Form dt small { display:inline-block; margin:0 0 0 5px; color:#FF6060; line-height:1; font-size:11px; }
	.Form dd { display:block; position:relative; width:calc(100% - 210px); margin:0; padding:12px 0 10px; border:0; border-top:#ddd 1px solid; font-weight:normal; }
	.Form dt:nth-child(1) { margin-top:0; }
	.Form dd:nth-child(2) { margin-top:0; }
	.Form label { display:inline-block; padding:15px 0 5px; color:#444; }
	.Form input[type='radio'] { position:relative; top:0.1em; width:1.3em; height:1.3em; margin:0 5px 0 0; }
	.Form input[type='text'] { min-width:80%; width:auto; padding:10px; border-bottom:0; line-height:1.5; font-size:16px; outline:0; background:transparent; }
	.Form input[type='text']:focus { border-bottom:#aaa 1px solid !important; }
	.Form textarea { min-width:100%; min-height:6lh; margin:4px 0 0; padding:10px; border-bottom:0; line-height:1.5; font-size:16px; outline:0; background:transparent; }
	.Form textarea:focus { border-bottom:#aaa 1px solid !important; }
	.Form .BtnWrap { width:100%; margin:0; padding:40px 0 0; text-align:center; }
	.Form .BtnWrap button,.Form .BtnWrap input[type='submit'] { display:inline-block; width:100%; max-width:270px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.Form .BtnWrap button,.Form .BtnWrap input[type='submit'] .material-symbols-outlined { position:relative; top:6px; }
	.Form .BtnWrap button:hover,.Form .BtnWrap input[type='submit']:hover { color:#000; background:#fff; }

	.FormConfirm { padding:40px; border-bottom:#585858 1px solid; }
	.FormConfirm header { margin:0; padding:0 0 40px; text-align:center; }
	.FormConfirm header h3 { position:static; margin:0; line-height:1; font-size:27px; }
	.FormConfirm .errorMessageText { margin:0 0 40px; text-align:center; }
	.FormConfirm .confirmBody { max-width:860px; margin:0 auto; }
	.FormConfirm .pageBack { padding:40px 0 0; text-align:center; }
	.FormConfirm .pageBack button { display:inline-block; min-width:360px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.FormConfirm .pageBack button .material-symbols-outlined { position:relative; top:6px; }
	.FormConfirm .pageBack button:hover { color:#000; background:#fff; }
	.FormConfirm .confirmMessageText { margin:0 0 40px; text-align:center; }
	.FormConfirm .formTable { width:860px; margin:0 auto; }
	.FormConfirm .formTable th { width:180px; padding:15px 0; border-bottom:#ddd 1px solid; }
	.FormConfirm .formTable td { width:calc(100% - 180px); padding:15px 0; border-bottom:#ddd 1px solid; }
	.FormConfirm .confirmDone { padding:40px 0 0; text-align:center; }
	.FormConfirm .confirmDone button { display:inline-block; min-width:360px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.FormConfirm .confirmDone button .material-symbols-outlined { position:relative; top:6px; }
	.FormConfirm .confirmDone button:hover { color:#000; background:#fff; }
	.FormConfirm .confirmDone input { display:inline-block; min-width:360px; padding:0 30px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.FormConfirm .confirmDone input .material-symbols-outlined { position:relative; top:6px; }
	.FormConfirm .confirmDone input:hover { color:#000; background:#fff; }

	.Form header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Form header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }

	.Thanks { margin:0; border-bottom:#585858 1px solid; background:#fafafa; }
	.Thanks header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Thanks header h2 { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; border-bottom:0; color:inherit; font-size:27px; background:none; }
	.Thanks header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Thanks header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Thanks header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Thanks header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.ThanksInner { max-width:860px; margin:0 auto; padding:80px 20px; }
	.ThanksInner h3 { margin:0 0 30px; padding:0; font-size:21px; text-align:center; }
	.ThanksInner p { margin:0 0 15px; padding:0; font-size:15px; text-align:center; }

	.Thanks header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Thanks header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }

	.Thanks .BtnWrap { padding:20px 0 0; }
	.Thanks .BtnWrap a { display:inline-block; width:100%; min-width:auto; max-width:360px; padding:0 20px; border:#000 1px solid; color: #fff; line-height:60px; font-size:17px; font-weight:normal; text-align:center; text-decoration:none; background:#000; transition:1.0s; }
	.Thanks .BtnWrap a .material-symbols-outlined { position:relative; top:6px; }
	.Thanks .BtnWrap a:hover { color:#000; background:#fff; }

}


/* .Work */
.Work { border-bottom:#585858 1px solid; }
.Work header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Work header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.Work header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Work header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.WorkInner { padding:40px 20px; }
.WorkList { display:flex; flex-flow:column wrap; justify-content:center; align-items:flex-start; padding:0; font-size:14px; font-weight:normal; text-align:left; list-style:none; }
.WorkList li { display:block; width:100%; margin:0 1% 25px; border-radius:6px; box-shadow:0 0 18px 0 rgba(0,0,0,0.1); }
.WorkList li figure { position:relative; overflow:hidden; border-radius:6px 6px 0 0; }
.WorkList li img { width:100%; height:100%; object-fit:cover; }
.WorkList li .WorkListText { padding:20px; }
.WorkList li .WorkListText h3 { font-size:16px; font-weight:normal; }
.WorkList li .WorkListText h3 small { display:inline-block; padding:0 0 0 0.5em; color:#888; font-size:12px; }
.WorkList li .WorkListText p.info { font-size:12px; }
.WorkList li .WorkListText p.info .date { display:inline-block; padding:0 15px 0 0; }
.WorkList li .WorkListText p.info .category {}
.WorkList li .WorkListText p.info .category .material-icons { position:relative; top:0.2em; margin-right:2px; color:#999; font-size:16px; }
.WorkList li .WorkListText p.summary { padding: 10px 0 0; font-size:14px; }
.WorkList li .WorkListText p.tags { display:none; font-size:12px; }
.WorkList li .WorkListText p.tags a { color:#666; text-decoration:none; pointer-events:none; }
.WorkList li .WorkListText p.tags .material-icons { position:relative; top:0.2em; margin-right:2px; color:#999; font-size:16px; }

@media screen and (min-width:729px) {
	@keyframes headLine {
		0% { left:-100%; color:#000; background:#fff; }
		100% { left:0%; color:#fff; background:#000; }
	}
	@keyframes headLineSmall {
		0% { left:-100%; color:#fff; }
		50% { left:0%; color:#fff; }
		100% { left:100%; color:#000; }
	}
	.Work { border-bottom:#585858 1px solid; }
	.Work header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Work header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.Work header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Work header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Work header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Work header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.WorkInner { padding:80px 40px; }
	.WorkList { display:flex; flex-flow:row wrap; justify-content:center; align-items:flex-start; padding:0; font-size:14px; font-weight:normal; text-align:left; list-style:none; }
	.WorkList li { display:flex; align-self:stretch; flex-flow:column wrap; width:18%; margin:0 1% 25px; border-radius:6px; box-shadow:0 0 18px 0 rgba(0,0,0,0.1); }
	.WorkList li figure { position:relative; overflow:hidden; height:220px; border-radius:6px 6px 0 0; }
	.WorkList li img { width:100%; height:100%; object-fit:cover; }
	.WorkList li .WorkListText { padding:20px; }
	.WorkList li .WorkListText h3 { font-size:16px; font-weight:normal; }
	.WorkList li .WorkListText h3 small { display:inline-block; padding:0 0 0 0.5em; color:#888; font-size:12px; }
	.WorkList li .WorkListText p.info { font-size:12px; }
	.WorkList li .WorkListText p.info .date { display:inline-block; padding:0 15px 0 0; }
	.WorkList li .WorkListText p.info .category {}
	.WorkList li .WorkListText p.info .category .material-icons { position:relative; top:0.2em; margin-right:2px; color:#999; font-size:16px; }
	.WorkList li .WorkListText p.summary { min-height:5.2lh; padding: 10px 0 15px; font-size:14px; }
	.WorkList li .WorkListText p.tags { display:none; font-size:12px; }
	.WorkList li .WorkListText p.tags a { color:#666; text-decoration:none; pointer-events:none; }
	.WorkList li .WorkListText p.tags .material-icons { position:relative; top:0.2em; margin-right:2px; color:#999; font-size:16px; }

	.Work header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Work header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
}


/* .Buisiness */
.Buisiness { border-bottom:#585858 1px solid; }
.Buisiness header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Buisiness header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.Buisiness header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0 15px; color:#000; }
.Buisiness header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.BuisinessInner { padding:40px 20px; }
.BuisinessList { display:flex; flex-flow:column wrap; justify-content:center; align-items:flex-start; padding:0; font-size:14px; font-weight:normal; text-align:left; list-style:none; }
.BuisinessList li { align-self:stretch; width:100%; margin:0 0 25px; border-radius:6px; box-shadow:0 0 18px 0 rgba(0,0,0,0.1); }
.BuisinessList li figure { position:relative; overflow:hidden; border-radius:6px 6px 0 0; }
.BuisinessList li img { width:100%; height:100%; min-height:190px; object-fit:cover; }
.BuisinessList li .BuisinessListText { padding:20px; }
.BuisinessList li .BuisinessListText h3 { padding:0 0 10px; font-size:16px; font-weight:normal; }
.BuisinessList li .BuisinessListText p { font-size:14px; }

@media screen and (min-width:729px) {
	@keyframes headLine {
		0% { left:-100%; color:#000; background:#fff; }
		100% { left:0%; color:#fff; background:#000; }
	}
	@keyframes headLineSmall {
		0% { left:-100%; color:#fff; }
		50% { left:0%; color:#fff; }
		100% { left:100%; color:#000; }
	}
	.Buisiness { border-bottom:#585858 1px solid; }
	.Buisiness header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Buisiness header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.Buisiness header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Buisiness header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Buisiness header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Buisiness header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.BuisinessInner { padding:80px 40px; }
	.BuisinessList { display:flex; flex-flow:row wrap; justify-content:center; align-items:flex-start; padding:0; font-size:14px; font-weight:normal; text-align:left; list-style:none; }
	.BuisinessList li { align-self:stretch; width:18%; margin:0 1% 25px; border-radius:6px; box-shadow:0 0 18px 0 rgba(0,0,0,0.1); }
	.BuisinessList li figure { position:relative; overflow:hidden; border-radius:6px 6px 0 0; }
	.BuisinessList li img { width:100%; height:100%; min-height:190px; object-fit:cover; }
	.BuisinessList li .BuisinessListText { padding:20px; }
	.BuisinessList li .BuisinessListText h3 { padding:0 0 10px; font-size:16px; font-weight:normal; }
	.BuisinessList li .BuisinessListText p { font-size:14px; }

	.Buisiness header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Buisiness header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
}


/* .Works */
.Works { position:relative; z-index:2; border-bottom:#585858 1px solid; }
.WorksInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; position:static; margin:0; padding:0; }
.WorksCatch { margin:0 0 10px; font-size:14px; text-align:left; }
.WorksCatch img { position:relative; top:-0.2em; width:auto; height:24px; margin:0 0 0 10px; }
.WorksText { order:2; position:relative; z-index:3; width:50%; margin:0; padding:40px; }
.WorksText header { margin:0 0 20px; }
.WorksText header h2 { margin:0 0 10px; font-size:27px; }
.WorksText header p { }
.WorksText h3 { padding:0 0 2px; font-size:18px; }
.WorksText p.info { margin:0 0 10px; line-height:1.0; font-size:15px; text-align:left; }
.WorksText p.summary { font-size:14px; text-align:left; }
.WorksText p small { display:block; margin:10px 0 0; color:#7C7C7C; line-height:1.4; font-size:11px; }
.WorksPhoto { order:1; display:flex; align-self:stretch; width:50%; margin:0; }
.WorksPhoto img { width:100%; height:100%; object-fit:cover; }

@media screen and (min-width:729px) {
	.Works { position:relative; z-index:2; border-bottom:#585858 1px solid; }
	.Works header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Works header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.Works header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Works header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Works header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.Works header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.WorksInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; position:static; margin:0; padding:0; }
	.WorksCatch { margin:0 0 10px; font-size:14px; text-align:left; }
	.WorksCatch img { position:relative; top:-0.2em; width:auto; height:24px; margin:0 0 0 10px; }
	.WorksText { order:2; position:relative; z-index:3; width:50%; margin:0; padding:40px; }
	.WorksText header { margin:0 0 20px; }
	.WorksText header h2 { margin:0 0 10px; font-size:27px; }
	.WorksText header p { }
	.WorksText h3 { padding:0 0 2px; font-size:18px; font-weight:normal; }
	.WorksText p.info { margin:0 0 10px; line-height:1.0; font-size:15px; text-align:left; }
	.WorksText p.summary { font-size:14px; text-align:left; }
	.WorksText p small { display:block; margin:10px 0 0; color:#7C7C7C; line-height:1.4; font-size:11px; }
	.WorksPhoto { order:1; display:flex; align-self:stretch; width:50%; margin:0; }
	.WorksPhoto img { width:100%; height:100%; object-fit:cover; }
}


/* .Flow */
.Flow { position:relative; z-index:2; padding:0; border-bottom:#585858 1px solid; }
.FlowInner { max-width:1140px; margin:0 auto; padding:40px; }
.FlowInner header { margin:0 0 40px; }
.FlowInner h2 { font-size:27px; text-align:center; }
.FlowInner ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; padding:0; list-style:none; }
.FlowInner li { display:block; width:16%; text-align:center; }
.FlowInner li figure { width:100%; margin:0 0 20px; }
.FlowInner li p { width:100%; font-size:15px; text-align:center; }

@media screen and (min-width:729px) {
	.Flow { position:relative; z-index:2; padding:0; border-bottom:#585858 1px solid; }
	.FlowInner { max-width:1140px; margin:0 auto; padding:40px; }
	.FlowInner header { margin:0 0 40px; }
	.FlowInner h2 { font-size:27px; text-align:center; }
	.FlowInner ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; padding:0; list-style:none; }
	.FlowInner li { display:block; width:16%; text-align:center; }
	.FlowInner li figure { width:100%; margin:0 0 20px; }
	.FlowInner li p { width:100%; font-size:15px; text-align:center; }
}


/* .PrivacyPolicy */
.PrivacyPolicy { position:relative; z-index:2; padding:0; border-bottom:#585858 1px solid; }
.PrivacyPolicy header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.PrivacyPolicy header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.PrivacyPolicy header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0 15px; color:#000; }
.PrivacyPolicy header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.PrivacyPolicyInner { max-width:1140px; margin:0 auto; padding:40px; }
.PrivacyPolicyInner h3 { margin:0 0 20px; font-size:16px; font-weight:normal; }
.PrivacyPolicyInner p { margin:0 0 15px; font-size:14px; }
.PrivacyPolicyInner p + h3 { padding-top:20px; }

@media screen and (min-width:729px) {
	.PrivacyPolicy { position:relative; z-index:2; padding:0; border-bottom:#585858 1px solid; }
	.PrivacyPolicy header { margin:0 0 40px; line-height:80px; }
	.PrivacyPolicy header h2 { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; padding:0; font-size:27px; text-align:center; }
	.PrivacyPolicy header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.PrivacyPolicy header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.PrivacyPolicy header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.PrivacyPolicy header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.PrivacyPolicyInner { max-width:1140px; margin:0 auto; padding:40px; }
	.PrivacyPolicyInner h3 { margin:0 0 20px; font-size:18px; font-weight:normal; }
	.PrivacyPolicyInner p { margin:0 0 15px; font-size:15px; }
	.PrivacyPolicyInner p + h3 { padding-top:20px; }

	.PrivacyPolicy header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.PrivacyPolicy header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
}








/* .Product */
.Product { border-bottom:#585858 1px solid; }
.Product header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Product header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.Product header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Product header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }

.ProductInner { position:relative; overflow:hidden; width:100%; padding:180px 20px 40px; }
.ProductIntroBg { position:absolute; top:0; left:0; width:100%; height:240px; }
.ProductIntro { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; position:relative; z-index:3; max-width:100%; margin:0 auto 30px; padding:25px; border-radius:6px; background:rgba(255,255,255,0.75); }
.ProductIntro::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; margin:0; border-radius:6px; box-shadow:0 0 12px 0 rgba(0,0,0,0.1); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.ProductIntroTxt { order:1; width:100%; text-align:left; }
.ProductIntroTxt h3 { padding:0 0 10px; line-height:1; font-family:'Roboto', sans-serif; font-size:32px; font-weight:bold; }
.ProductIntroTxt h3 small { display:block; padding:0 0 5px; color:#888; font-size:13px; }
.ProductIntroTxt h4 { padding:0 0 15px; line-height:1; font-size:18px; font-weight:normal; }
.ProductIntroTxt p { padding:0 0 15px; font-size:14px; }
.ProductIntroTxt .catch + p { padding-bottom:10px; }
.ProductIntroTxt p br { display:none; }
.ProductIntroTxt p small { display:block; padding-top:8px; color:#888; font-size:12px; }
.ProductIntroTxt .catch { padding:0 0 20px; font-size:16px; }
.ProductIntroTxt .catch > small { display:block; padding:0 0 5px; font-size:13px; }
.ProductIntroPhoto { order:2; width:100%; }

.ProductFunction { padding:0; }
.ProductFunctionInner { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:flex-start; width:100%; max-width:100%; margin:0 auto; padding:0; }
.ProductFunctionInner h4 { margin:0 0 20px; font-size:18px; font-weight:normal; }
.ProductFunctionInner .ProductFunctionFigure { padding:0; border-radius:0; border:0; }
.ProductFunctionOption { width:100%; padding:40px 0 0; }
.ProductFunctionOption h5 { margin:0 0 20px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1; font-size:21px; font-weight:normal; }
.ProductFunctionOption ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; width:100%; padding:0; list-style:none; }
.ProductFunctionOption li { width:31%; margin:0; padding:0; }
.ProductFunctionOption li figure { width:100%; margin:0 0 15px; }
.ProductFunctionOption li figure img { width:100%; height:160px; }
.ProductFunctionOption li h6 { padding:0; font-size:14px; text-align:center; }

.ProductMerit { padding:40px 0; background:#fafafa; }
.ProductMeritInner { max-width:88%; margin:0 auto; padding:0 0 30px; }
.ProductMeritInner h3 { position:static; max-width:100%; margin:0 auto 20px; line-height:1; font-size:18px; }
.ProductMeritInner ul { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; list-style:none; }
.ProductMeritInner ul li { width:100%; margin:0 0 15px; }
.ProductMeritInner ul li h4 { padding:0 0 10px; font-size:16px; font-weight:normal; }
.ProductMeritInner ul li figure { height:stretch; margin:0 0 20px; border-radius:6px; background:#fff; box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
.ProductMeritInner ul li figure img { width:100%; height:100%; object-fit:cover; border-radius:6px; }
.ProductMeritInner ul li p { margin:0 0 15px; font-size:13px; }

.ProductMeritOption { width:88%; max-width:inherit; margin:0 auto; }
.ProductMeritOption h4 { width:100%; max-width:100%; margin:0 auto; padding:0 0 15px; font-size:18px; font-weight:normal; text-align:left; }
.ProductMeritOption ul { width:100%; max-width:1080px; margin:0 auto; padding:25px; border-radius:6px; border:#aaa 1px solid; list-style:none; background:#fff; }
.ProductMeritOption > ul > li { padding:0 0 0px; }
.ProductMeritOption > ul > li .material-symbols-outlined { position:relative; top:0.3em; }

/* ProductFlow */
.ProductFlow { border-bottom:#585858 1px solid; }
.ProductFlow header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.ProductFlow header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.ProductFlow header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.ProductFlow header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.ProductFlowInner { padding:40px 0 20px; }
.ProductFlowInner ul { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; max-width:100%; margin:0 auto; padding:0 20px; list-style:none; }
.ProductFlowInner ul li { width:100%; margin:0 0 15px; }
.ProductFlowInner ul li figure { padding:0 20%; }
.ProductFlowInner ul li .Text {  }
.ProductFlowInner ul li .Text h4 { padding:0 0 0.75em; font-size:18px; font-weight:bold; text-align:center; }
.ProductFlowInner ul li .Text p { font-size:14px; }

.ProductReport { max-width:88%; margin:0 auto 40px; padding:25px; border-radius:6px; border:#aaa 1px solid; background:#fafafa; }
.ProductReportInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; }
.ProductReportPhoto { order:2; width:100%; }
.ProductReportTxt { order:1; width:100%; margin:0 0 20px; }
.ProductReportTxt h3 { margin:0 0 10px; line-height:1; font-size:18px; }
.ProductReportTxt h4 { margin:0 0 20px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; font-size:16px; font-weight:normal; }
.ProductReportTxt p {  }

/* ProductOther */
.ProductOther { border-bottom:#585858 1px solid; }
.ProductOther header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.ProductOther header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.ProductOther header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.ProductOther header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.ProductOtherInner { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start; max-width:100%; margin:0 auto; padding:40px 20px; }
.ProductOtherInner dl { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:1080px; margin:0 auto; border-bottom:#ddd 1px solid; font-size:12px; font-weight:normal; text-align:left; }
.ProductOtherInner dt { width:100%; padding:8px 0 0; border-top:#ddd 1px solid; font-weight:normal; }
.ProductOtherInner dd { display:block; position:relative; width:calc(100% - 0px); padding:0 0 8px 0; border-top:0; font-weight:normal; }
.ProductOtherInner dt:nth-child(1) { margin-top:0; }
.ProductOtherInner dd:nth-child(2) { margin-top:0; }


@media screen and (min-width:729px) {
	.Product { border-bottom:#585858 1px solid; }
	.Product header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.Product header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.Product header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.Product header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.Product header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; }
	.Product header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }

	.ProductInner { position:relative; overflow:hidden; width:100%; padding:320px 20px 80px; }
	.ProductIntroBg { position:absolute; top:0; left:0; width:100%; height:420px; }
	.ProductIntro { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; position:relative; z-index:3; max-width:1120px; margin:0 auto 60px; padding:25px 40px; border-radius:6px; background:rgba(255,255,255,0.75); }
	.ProductIntro::after { content:''; display:block; position:absolute; top:0; left:0; z-index:-1; width:100%; height:100%; margin:0; border-radius:6px; box-shadow:0 0 12px 0 rgba(0,0,0,0.1); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
	.ProductIntroTxt { order:1; width:63%; text-align:left; }
	.ProductIntroTxt h3 { padding:0 0 10px; line-height:1; font-family:'Roboto', sans-serif; font-size:70px; font-weight:bold; }
	.ProductIntroTxt h3 small { display:block; padding:0 0 5px; color:#888; font-size:12px; }
	.ProductIntroTxt h4 { padding:0 0 10px; line-height:1; font-size:18px; font-weight:normal; }
	.ProductIntroTxt p { padding:0; font-size:15px; }
	.ProductIntroTxt .catch + p { padding-bottom:15px; }
	.ProductIntroTxt p br { display:inline; }
	.ProductIntroTxt p small { display:block; padding-top:8px; color:#888; font-size:12px; }
	.ProductIntroTxt .catch { padding:0 0 20px; font-size:21px; }
	.ProductIntroTxt .catch > small { display:block; padding:0 0 5px; font-size:18px; }
	.ProductIntroPhoto { order:2; width:30%; }

	.ProductFunction { padding:0; }
	.ProductFunctionInner { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:flex-start; width:100%; max-width:1120px; margin:0 auto; padding:0; }
	.ProductFunctionInner h4 { margin:0 0 20px; font-size:27px; font-weight:normal; }
	.ProductFunctionInner .ProductFunctionFigure { padding:40px; border-radius:6px; border:#aaa 1px solid; }
	.ProductFunctionOption { width:100%; padding:40px 0 0; }
	.ProductFunctionOption h5 { margin:0 0 20px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; line-height:1; font-size:21px; font-weight:normal; }
	.ProductFunctionOption ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; width:100%; padding:0; list-style:none; }
	.ProductFunctionOption li { width:31%; margin:0; padding:0; }
	.ProductFunctionOption li figure { width:100%; margin:0 0 15px; }
	.ProductFunctionOption li figure img { width:100%; height:160px; }
	.ProductFunctionOption li h6 { padding:0; font-size:14px; text-align:center; }

	.ProductMerit { padding:80px 0; background:#fafafa; }
	.ProductMeritInner { max-width:1120px; margin:0 auto; padding:0 20px 60px; }
	.ProductMeritInner h3 { position:static; max-width:1080px; margin:0 auto 30px; line-height:1; font-size:27px; }
	.ProductMeritInner ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; list-style:none; }
	.ProductMeritInner ul li { width:31%; margin:0; }
	.ProductMeritInner ul li h4 { padding:0 0 10px; font-size:16px; font-weight:normal; }
	.ProductMeritInner ul li figure { height:stretch; margin:0 0 20px; border-radius:6px; background:#fff; box-shadow:0 0 12px 0 rgba(0,0,0,0.1); }
	.ProductMeritInner ul li figure img { width:100%; height:100%; object-fit:cover; border-radius:6px; }
	.ProductMeritInner ul li p { margin:0; font-size:13px; }

	.ProductMeritOption { width:100%; max-width:1120px; margin:0 auto; }
	.ProductMeritOption h4 { width:100%; max-width:1080px; margin:0 auto; padding:0 0 30px; font-size:27px; font-weight:normal; text-align:left; }
	.ProductMeritOption ul { width:100%; max-width:1080px; margin:0 auto; padding:40px; border-radius:6px; border:#aaa 1px solid; list-style:none; background:#fff; }
	.ProductMeritOption > ul > li { padding:0 0 0px; }
	.ProductMeritOption > ul > li .material-symbols-outlined { position:relative; top:0.3em; }

	/* ProductFlow */
	.ProductFlow { border-bottom:#585858 1px solid; }
	.ProductFlow header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.ProductFlow header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.ProductFlow header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.ProductFlow header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.ProductFlow header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; }
	.ProductFlow header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.ProductFlowInner { padding:80px 0 40px; }
	.ProductFlowInner ul { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:1120px; margin:0 auto; padding:0 20px; list-style:none; }
	.ProductFlowInner ul li { width:17.5%; margin:0; }
	.ProductFlowInner ul li figure { padding:0; }
	.ProductFlowInner ul li .Text {  }
	.ProductFlowInner ul li .Text h4 { padding:0 0 0.75em; font-size:18px; font-weight:bold; text-align:center; }
	.ProductFlowInner ul li .Text p { font-size:14px; }

	.ProductReport { max-width:1080px; margin:0 auto 80px; padding:40px; border-radius:6px; border:#aaa 1px solid; background:#fafafa; }
	.ProductReportInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; }
	.ProductReportPhoto { order:2; width:35%; }
	.ProductReportTxt { order:1; width:60%; margin:0; }
	.ProductReportTxt h3 { margin:0 0 10px; line-height:1; font-size:27px; }
	.ProductReportTxt h4 { margin:0 0 40px; padding:0 0 0 10px; border-left:#2B8EE5 3px solid; font-size:21px; font-weight:normal; }
	.ProductReportTxt p {  }

	/* ProductOther */
	.ProductOther { border-bottom:#585858 1px solid; }
	.ProductOther header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
	.ProductOther header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
	.ProductOther header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
	.ProductOther header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
	.ProductOther header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; background:#fff; }
	.ProductOther header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
	.ProductOtherInner { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-end; max-width:1120px; margin:0 auto; padding:80px 20px; }
	.ProductOtherInner dl { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; max-width:1080px; margin:0 auto; border-bottom:#ddd 1px solid; font-size:12px; font-weight:normal; text-align:left; }
	.ProductOtherInner dt { width:210px; padding:8px 0; border-top:#ddd 1px solid; font-weight:normal; }
	.ProductOtherInner dd { display:block; position:relative; width:calc(100% - 210px); padding:8px 0; border-top:#ddd 1px solid; font-weight:normal; }
	.ProductOtherInner dt:nth-child(1) { margin-top:0; }
	.ProductOtherInner dd:nth-child(2) { margin-top:0; }

	@keyframes headLine {
		0% { left:-100%; color:#000; background:#fff; }
		100% { left:0%; color:#fff; background:#000; }
	}
	@keyframes headLineSmall {
		0% { left:-100%; color:#fff; }
		50% { left:0%; color:#fff; }
		100% { left:100%; color:#000; }
	}
	
	.Product header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.Product header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
	.ProductFlow header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.ProductFlow header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
	.ProductOther header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
	.ProductOther header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
}







/* .Foot */
.Foot { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; margin:0; padding:0; }
.Foot .pageTop { display:flex; justify-content:center; align-items:center; position:fixed; right:0; bottom:0; z-index:199; width:50px; height:50px; padding:0 0.75rem; color:rgba(255,255,255,1); line-height:30px; font-size:0.75rem; text-align:center; text-decoration:none; background:rgba(0,0,0,0.8); cursor:pointer; }
.Foot .pageTop .material-icons { position:relative; top:0.02em; left:0.1em; font-size:1.75rem; transform:rotate(90deg); } 
.FootInner { width:100%; margin:0; padding:10px; border-bottom:#585858 1px solid; line-height:1.3; }
.FootInner small { color:#999; font-size:10px; text-decoration:none; }
.FootInner a { display:inline; color:#000; font-size:10px; text-decoration:none; }
.Copyright { width:100%; padding:10px; font-family:'Roboto', sans-serif; font-size:9px; text-align:right; }

@media screen and (min-width:729px) {
	.Foot { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; margin:0; padding:8px 0; }
	.Foot .pageTop { display:flex; justify-content:center; align-items:center; position:fixed; right:0; bottom:0; z-index:199; width:50px; height:50px; padding:0 0.75rem; color:rgba(255,255,255,1); line-height:30px; font-size:0.75rem; text-align:center; text-decoration:none; background:rgba(0,0,0,0.8); cursor:pointer; }
	.Foot .pageTop .material-icons { position:relative; top:0.02em; left:0.1em; font-size:1.75rem; transform:rotate(90deg); } 
	.FootInner { width:calc(50% - 15px); margin:0; padding:0 0 0 15px; border:0; line-height:1.2; }
	.FootInner small { color:#999; font-size:10px; text-decoration:none; }
	.FootInner a { display:inline; color:#000; font-size:10px; text-decoration:none; }
	.Copyright { width:calc(50% - 15px); padding:0 60px 0 0; font-family:'Roboto', sans-serif; font-size:9px; text-align:right; }
}


/* 20240611 mod */
.Intro611 { border-bottom:#585858 1px solid; }

.Intro611 header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; }
.Intro611 header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.Intro611 header h2 b { display:flex; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.Intro611 header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }

.Intro611Inner { padding:30px 20px 20px; }
.Intro611Inner > h3 { margin:0 0 40px; padding:0; font-size:20px; font-weight:bold; text-align:center; }
.Intro611 .IntroItem { display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:center; gap:0; padding:0 0 30px; }
.Intro611 .IntroItem .Photo { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; gap:0; width:100%; }
.Intro611 .IntroItem .PhotoInText { width:100%; }
.Intro611 .IntroItem .PhotoInText figure { width:80%; margin:0 auto 15px; text-align:center; }
.Intro611 .IntroItem .PhotoInText figure img { width:85%; height:auto; object-fit:contain; }
.Intro611 .IntroItem .PhotoInText h4 { margin:0 0 20px; font-size:20px; font-weight:bold; text-align:center; }
.Intro611 .IntroItem .PhotoInText h4 br { display:none; }
.Intro611 .IntroItem .PhotoInText small { display:inline-block; position:relative; top:0.2em; width:32px; height:32px; margin:0 4px 0 0; padding:5px 3px 3px; border-radius:3px; color:#fff; line-height:1.0; font-size:11px; font-weight:normal; text-align:center; background:#ccc; }
.Intro611 .IntroItem .PhotoInText .num { margin:0 0 15px; padding:10px; color:#fff; font-size:11px; text-align:center; background:#808080; }
.Intro611 .IntroItem .PhotoInText .num span.SP { display:inline; }
.Intro611 .IntroItem .PhotoInText .num br { display:none; }
.Intro611 .IntroItem .PhotoInText .ex { text-align:center; }
.Intro611 .IntroItem .PhotoInText .ex b { font-size:1.4em; font-weight:bold; }
.Intro611 .IntroItem .itemPhoto { width:80%; margin:15px auto 30px; }
.Intro611 .IntroItem .itemPhoto img {  }
.Intro611 .IntroItem .Text { width:100%; }
.IntroItem .Text h4 { margin:0 0 20px; line-height:1.4; font-size:15px; font-weight:bold; text-align:center; }
.IntroItem .Text h4 strong { display:inline-block; position:relative; font-weight:bold; /*background: linear-gradient(0deg, rgba(31,161,242,0.0) 0%, rgba(31,161,242,0.0) 79.5%, rgba(31,161,242,0.3) 80%, rgba(31,161,242,0.3) 100%);*/ }
.IntroItem .Text h4 strong::before { content:''; display:block; position:absolute; left:0; bottom:-2px; width:100%; height:10px; background:rgba(31,161,242,0.3); }
.IntroItem .Text h4 span { font-size:1.1em; }
.IntroItem .Text h4 b { font-size:2em; }
.IntroItem .Text ul { margin:0; padding:0; list-style:none; }
.IntroItem .Text li { margin:0 0 10px; padding:0 0 0 20px; background:url('../images/icon_intro_list.svg') no-repeat left 0.45em; background-size:auto 1.0em; }
.IntroItem .Text li b { display:block; font-size:1.2em; font-weight:bold; }
.IntroPhotos { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; padding:0 0 60px; list-style:none; }
.IntroPhotos li { width:50%; }
.IntroPhotos li img {  }
.IntroSummary { padding:0 0 20px; }
.IntroSummaryText { margin:0; padding:0 0 30px; }
.IntroSummaryText h3 { margin:0; padding:0 0 0.65em; font-size:1.2em; font-weight:bold; }
.IntroSummaryText p {  }
.IntroSpec { padding:0 0 20px; }
.IntroSpec h4 { margin:0; padding:8px 16px; border-top:#808080 1px solid; background:#f9f9f9; }
.IntroSpec dl { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start; border-bottom:#808080 1px solid; font-size:14px; background:rgba(255,255,255,0.65); }
.IntroSpec dt { width:35%; padding:8px 16px; border-top:#ddd 1px solid; color:#808080; }
.IntroSpec dd { width:65%; padding:8px 16px; border-top:#ddd 1px solid; }
.IntroSpec dd.end { width:65%; }
.Intro611 .slideInLeft01 { position:absolute; left:50%; bottom:-15px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:19vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
.Intro611 .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

@media screen and (min-width:729px) {
.Intro611 { border-bottom:#585858 1px solid; }
.Intro611 header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; }
.Intro611 header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
.Intro611 header h2 b { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
.Intro611 header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
.Intro611 header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; }
.Intro611 header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
.Intro611Inner { padding:60px 40px 40px; }
.Intro611Inner > h3 { margin:0 0 40px; padding:0; font-size:27px; font-weight:bold; text-align:center; }
.Intro611 .IntroItem { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; gap:50px; padding:0 0 60px; }
.Intro611 .IntroItem .Photo { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-end; gap:30px; width:40%; }
.Intro611 .IntroItem .PhotoInText { width:45%; }
.Intro611 .IntroItem .PhotoInText figure { width:100%; margin:0 0 25px; text-align:inherit; }
.Intro611 .IntroItem .PhotoInText figure img { width:85%; height:auto; object-fit:contain; }
.Intro611 .IntroItem .PhotoInText h4 { margin:0 0 20px; font-size:32px; font-weight:bold; text-align:left; }
.Intro611 .IntroItem .PhotoInText h4 br { display:inline; }
.Intro611 .IntroItem .PhotoInText small { display:inline-block; position:relative; top:-0.2em; width:32px; height:32px; margin:0 4px 0 0; padding:5px 3px 3px; border-radius:3px; color:#fff; line-height:1.0; font-size:11px; font-weight:normal; text-align:center; background:#ccc; }
.Intro611 .IntroItem .PhotoInText .num { margin:0 0 20px; padding:15px; color:#fff; font-size:14px; text-align:left; background:#808080; }
.Intro611 .IntroItem .PhotoInText .num span.SP { display:none; }
.Intro611 .IntroItem .PhotoInText .num br { display:inline; }
.Intro611 .IntroItem .PhotoInText .ex { text-align:left; }
.Intro611 .IntroItem .PhotoInText .ex b { font-size:1.4em; font-weight:bold; }
.Intro611 .IntroItem .itemPhoto { width:calc(55% - 30px); margin:0; }
.Intro611 .IntroItem .itemPhoto img {  }
.Intro611 .IntroItem .Text { width:calc(60% - 50px); }
.IntroItem .Text h4 { margin:0 0 20px; line-height:1; font-size:18px; font-weight:bold; text-align:left; }
.IntroItem .Text h4 strong { display:inline-block; position:relative; font-weight:bold; /*background: linear-gradient(0deg, rgba(31,161,242,0.0) 0%, rgba(31,161,242,0.0) 79.5%, rgba(31,161,242,0.3) 80%, rgba(31,161,242,0.3) 100%);*/ }
.IntroItem .Text h4 strong::before { content:''; display:block; position:absolute; left:0; bottom:-2px; width:100%; height:10px; background:rgba(31,161,242,0.3); }
.IntroItem .Text h4 span { font-size:1.1em; }
.IntroItem .Text h4 b { font-size:2em; }
.IntroItem .Text ul { margin:0; padding:0; list-style:none; }
.IntroItem .Text li { margin:0 0 10px; padding:0 0 0 20px; background:url('../images/icon_intro_list.svg') no-repeat left 0.45em; background-size:auto 1.0em; }
.IntroItem .Text li b { display:block; font-size:1.2em; font-weight:bold; }
.IntroPhotos { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; padding:0 0 60px; list-style:none; }
.IntroPhotos li { width:25%; }
.IntroPhotos li img {  }
.IntroSummary { padding:0 0 40px; }
.IntroSummaryText { margin:0; padding:0 0 60px; }
.IntroSummaryText h3 { margin:0; padding:0 0 0.65em; font-size:1.2em; font-weight:bold; }
.IntroSummaryText p {  }
.IntroSpec { padding:0 0 40px; }
.IntroSpec h4 { margin:0; padding:8px 16px; border-top:#808080 1px solid; background:#f9f9f9; }
.IntroSpec dl { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start; border-bottom:#808080 1px solid; font-size:15px; background:rgba(255,255,255,0.65); }
.IntroSpec dt { width:15%; padding:8px 16px; border-top:#ddd 1px solid; color:#808080; }
.IntroSpec dd { width:35%; padding:8px 16px; border-top:#ddd 1px solid; }
.IntroSpec dd.end { width:85%; }
.Intro611 .slideInLeft01 { position:absolute; left:50%; bottom:-45px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:19vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
.Intro611 .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }
}

@keyframes headLine {
	0% { left:-100%; color:#000; background:#fff; }
	100% { left:0%; color:#fff; background:#000; }
}
@keyframes headLineSmall {
	0% { left:-100%; color:#fff; }
	50% { left:0%; color:#fff; }
	100% { left:100%; color:#000; }
}
.Intro611 header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
.Intro611 header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }


/* CarbonNeutral611 */
.CarbonNeutral611 { padding:0 0 40px; border-bottom:#585858 1px solid; }

.CarbonNeutral611 header { width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:1.5; background:#fff; }
.CarbonNeutral611 header h2 { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; width:100%; padding:15px 0; color:#fff; font-size:20px; }
.CarbonNeutral611 header h2 b { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; align-self:stretch; position:relative; overflow:hidden; order:2; z-index:3; width:100%; padding:0; color:#000; }
.CarbonNeutral611 header h2 span { display:block; margin:4px 0 0 0; font-size:0.7em; }
.CarbonNeutral611 header h2 small { display:flex; justify-content:center; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:100%; margin:0; padding:0; color:#000; font-family:'Roboto', sans-serif; font-weight:bolder; text-align:center; text-transform:uppercase; white-space:nowrap; }
.CarbonNeutral611Outer { padding:30px 20px 20px; }
.CarbonNeutral611Inner { width:100%; max-width:100%; margin:0 auto; }
.CarbonNeutral611Inner h3 { margin:0 0 20px; padding:0; font-size:20px; font-weight:bold; text-align:center; }
.CarbonNeutral611Summary { margin:0 0 20px; padding:10px; border-radius:4px; border:#ddd 1px solid; background:rgba(255,255,255,0.75); }
.CarbonNeutral611Zeb { display:flex; flex-flow:column wrap; justify-content:space-between; align-items:center; gap:0; padding:20px; border:#ddd 1px solid; border-radius:6px; background:rgba(247,247,247,0.75); }
.CarbonNeutral611ZebText { width:100%; }
.CarbonNeutral611ZebText h4 { margin:0 0 20px; font-size:1.4em; }
.CarbonNeutral611ZebText h4 small { display:block; font-size:0.7em; }
.CarbonNeutral611ZebText p { margin:0 0 20px; font-size:0.9em; }
.CarbonNeutral611ZebText figure { width:100%; }
.CarbonNeutral611ZebPhoto { display:flex; align-self:stretch; width:100%; margin:15px 0 0; padding:15px; border-radius:4px; border:#ddd 1px solid; background:#fff; }
.CarbonNeutral611 .slideInLeft01 { position:absolute; left:50%; bottom:-15px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:19vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
.CarbonNeutral611 .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }

@media screen and (min-width:729px) {
.CarbonNeutral611 { padding:0 0 40px; border-bottom:#585858 1px solid; }
.CarbonNeutral611 header { position:relative; z-index:2; width:100%; margin:0; padding:0; border:0; border-bottom:#585858 1px solid; line-height:80px; background:#fff; }
.CarbonNeutral611 header h2 {  display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; width:100%; padding:0; color:inherit; font-size:27px; background:none; }
.CarbonNeutral611 header h2 b { display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center; align-self:stretch; position:relative; order:2; overflow:hidden; z-index:3; width:80%; padding:0 0 0 30px; color:#fff; }
.CarbonNeutral611 header h2 b::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#fff; }
.CarbonNeutral611 header h2 span { display:inline-block; margin:0 0 0 0.5em; font-size:1.0em; }
.CarbonNeutral611 header h2 small { display:flex; justify-content:flex-start; align-items:center; align-self:stretch; order:1; position:relative; overflow:hidden; z-index:2; width:20%; margin:0; padding:0 0 0 30px; font-family:'Roboto', sans-serif; font-weight:bolder; text-transform:uppercase; white-space:nowrap; }
.CarbonNeutral611 header h2 small::after { content:''; display:block; position:absolute; top:0; left:-100%; z-index:-1; width:100%; height:100%; background:#000; }
.CarbonNeutral611Outer { padding:60px 40px 40px; }
.CarbonNeutral611Inner { width:100%; max-width:1180px; margin:0 auto; }
.CarbonNeutral611Inner h3 { margin:0 0 40px; padding:0; font-size:27px; font-weight:bold; text-align:center; }
.CarbonNeutral611Summary { margin:0 0 40px; padding:50px; border-radius:4px; border:#ddd 1px solid; background:rgba(255,255,255,0.75); }
.CarbonNeutral611Zeb { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:center; gap:40px; padding:40px; border:#ddd 1px solid; border-radius:6px; background:rgba(247,247,247,0.75); }
.CarbonNeutral611ZebText { width:40%; }
.CarbonNeutral611ZebText h4 { margin:0 0 20px; font-size:1.4em; }
.CarbonNeutral611ZebText h4 small { display:block; font-size:0.7em; }
.CarbonNeutral611ZebText p { margin:0 0 20px; font-size:0.9em; }
.CarbonNeutral611ZebText figure { width:65%; }
.CarbonNeutral611ZebPhoto { display:flex; align-self:stretch; width:calc(60% - 50px); margin:0; padding:30px; border-radius:4px; border:#ddd 1px solid; background:#fff; }
.CarbonNeutral611 .slideInLeft01 { position:absolute; left:50%; bottom:-55px; z-index:-1; color:transparent; line-height:1; font-family:'Roboto', gothic; font-size:19vw; font-weight:bolder; white-space:nowrap; text-transform:uppercase; -webkit-text-stroke: #ddd 1px; text-stroke: #ddd 1px; transform:translate(-50%,0); }
.CarbonNeutral611 .slideInLeft01 span { color:rgba(0,0,0,0.025); font-weight:bolder; }
}

@keyframes headLine {
	0% { left:-100%; color:#000; background:#fff; }
	100% { left:0%; color:#fff; background:#000; }
}
@keyframes headLineSmall {
	0% { left:-100%; color:#fff; }
	50% { left:0%; color:#fff; }
	100% { left:100%; color:#000; }
}
.CarbonNeutral611 header b::after { animation:0.5s linear 0.5s alternate forwards running headLine; }
.CarbonNeutral611 header small::after { animation:0.5s linear 0s alternate forwards running headLineSmall; }
