@charset "utf-8";

.MENU li a.MENU__SERVICE span	{ background:#000; }

.titleEn .top_w { margin:0 10px 0 auto; }
.titleEn .top_b { margin:-20px -20px 0 auto; }
@media screen and (min-width: 840px){
	.titleEn .top_w { margin:0 80px 0 auto; }
	.titleEn .top_b { margin:-80px -50px 0 auto; }
}

.serviceTop { width:95%; max-width:1080px; margin:0 auto; }
.serviceTop li { width:100%; max-width:1080px; display:block; margin:30px 0; }
.serviceTop li a { width:100%; display:block; }
.serviceTop li a hr { width:80%; display:block; margin:50px 0 10px 0; border-bottom:2px solid #000; background:none; }
.serviceTop li a dl { width:100%; display:flex; justify-content:left; }
.serviceTop li a dl dt { width:2.5em; font:normal normal bold 20px/1.5 "Arial", sans-serif; }
.serviceTop li a dl dd { width:auto; }
.serviceTop li a dl dd h2 { width:100%; display:block; font:normal normal bold 32px/1.2 "Arial", sans-serif; }
.serviceTop li a dl dd span { width:100%; display:block; margin:5px 0 0 0; font-size:14px; line-height:1.8; }
.serviceTop li a dl dd span .contentsArrow { width:22px; height:22px; background:#000; border-radius:50%; color:#fff; margin:-11px 0 0 10px; text-align:center; line-height:22px; }
.serviceTop li img { width:100%; max-width:1080px; display:block; margin:5px 0 0 0; }
@media screen and (min-width: 840px){
	.serviceTop li { margin:0 0 100px 0; }
	.serviceTop li a { transition:.3s; }
	.serviceTop li a:hover { opacity:0.7; transition:.3s; }
	.serviceTop li a hr { width:60%; }
	.serviceTop li a dl dd span .contentsArrow { position:relative; transition:.5s; }
	.serviceTop li a:hover dl dd span .contentsArrow { margin-left:30px; transition:.5s; }
	.serviceTop li a dl dt { width:2.5em; font-size:24px; line-height:1.5; }
	.serviceTop li a dl dd h2 { font-size:48px; }
	.serviceTop li a dl dd span { margin:10px 0 0 0; font-size:16px; line-height:1.8; }
	.serviceTop li img { margin:10px 0 0 0; }
}
@media screen and (min-width: 1240px){
	.serviceTop li { margin:50px auto 100px auto; }
	.serviceTop li a hr { width:400px; }
	.serviceTop li a dl dt { width:2.5em; font-size:32px; line-height:1.5; }
	.serviceTop li a dl dd h2 { font-size:64px; }
	.serviceTop li a dl dd span { font-size:24px; }
	.serviceTop li a dl dd span .contentsArrow { width:24px; height:24px; font-size:14px; line-height:24px; }
	.serviceTop li.serviceTop1 img { margin:20px auto 0 auto; }
	.serviceTop li.serviceTop2 img { margin:20px auto 0 -150px; }
	.serviceTop li.serviceTop3 img { margin:20px auto 0 auto; }
}

.serviceBanners { width:100%; padding:50px 0; background:#f8f8f8; }
.serviceBanners h2 { display:block; text-align:center; font-size:24px; }
.serviceBanners span { display:block; text-align:center; font-size:14px; }
.serviceBanner { width:90%; max-width:960px; display:block; margin:20px auto 0 auto; padding:50px 0; background:-moz-linear-gradient(left, #0278da, #7cdbd7); background: -webkit-linear-gradient(left, #0278da, #7cdbd7); background: linear-gradient(to right, #0278da, #7cdbd7); transition:0.3s; }
.serviceBanner:hover { opacity:0.7; transition:0.3s; }
.serviceBanner img { width:80%; max-width:800px; display:block; margin:0 auto; }
.serviceBannerLink { width:80%; max-width:280px; height:50px; display:block; margin:-20px auto 0 auto; background:#000; border-radius:25px; color:#fff; text-align:center; font-weight:bold; font-size:16px; line-height:50px; }
.serviceBannerLink i { width:30px; height:30px; margin-left:10px; display:inline-block; background:#fff; border-radius:15px; color:#000; line-height:30px; }

#sub { width:100%; }
#sub .subH1 { width:95%; max-width:1080px; margin:20px auto 0 auto; padding:0 2.5% 50px 2.5%; border-left:2px solid #000; position:relative; z-index:1; }
#sub dl { width:100%; display:flex; justify-content:left; }
#sub dl dt { width:2.5em; font:normal normal bold 20px/1.5 "Arial", sans-serif; }
#sub dl dd { width:auto; }
#sub dl dd strong { width:100%; display:block; margin:5px 0 0 0; font:normal normal bold 32px/1.2 "Arial", sans-serif; }
#sub dl dd span { width:100%; display:block; font-size:14px; line-height:1.8; }
#sub img { width:100%; display:block; margin:-60px 0 0 0; position:relative; z-index:0; }
@media screen and (min-width: 840px){
	#sub dl dt { width:2.5em; font-size:24px; line-height:1.5; }
	#sub dl dd strong { margin:10px 0 0 0; font-size:48px; }
	#sub dl dd span { font-size:16px; line-height:1.8; }
}
@media screen and (min-width: 1240px){
	#sub .subH1 { margin:20px auto 0 auto; padding:0 2.5% 50px 2.5%; border-left:2px solid #000; position:relative; z-index:1; }
	#sub dl dt { width:2.5em; font-size:32px; line-height:1.5; }
	#sub dl dd strong { font-size:64px; }
	#sub dl dd span { font-size:24px; }
	#sub img { margin:-65px auto 0 auto; }
}
@media screen and (min-width: 1440px){
	#sub img { width:1440px; margin:-70px auto 0 auto; }
}

.serviceContents { width:95%; max-width:1080px; margin:20px auto 0 auto; padding:0 2.5%; }
@media screen and (min-width: 840px){
	.serviceContents p { font-size:16px; }
}
@media screen and (min-width: 1240px){
	.serviceContents { margin:20px auto 0 auto; padding:0 0 50px 0; }
}

.ills { width:100%; display:block; margin:20px 0 0 0; padding:80px 0; background:#f8f8f8; text-align:center; }
.ill { width:75%; position:relative; margin:0 auto; }
.ill:before { content:""; display:block; padding-top:100%; }
.illCircle { border:1px solid #000; border-radius:50%; position:absolute; top:0; left:0; bottom:0; right:0; }
.illHr1 { width:100%; margin:0; border-bottom:1px solid #000; background:none; position:absolute; top:50%; left:0; transform:rotate(90deg); }
.illHr2 { width:100%; margin:0; border-bottom:1px solid #000; background:none; position:absolute; top:50%; left:0; transform:rotate(150deg); }
.illHr3 { width:100%; margin:0; border-bottom:1px solid #000; background:none; position:absolute; top:50%; left:0; transform:rotate(-150deg);}
.illCircleBox { width:70%; position:absolute; top:15%; left:15%; }
.illCircleBox:before { content:""; display:block; padding-top:100%; }
.illCircleBoxCircle { display:flex; flex-direction:column; justify-content:center; align-items:center; border:3px solid #000; background:#fff; border-radius:50%; position:absolute; top:0; left:0; bottom:0; right:0; }
.illCircleBoxCircle h2 { width:80%; display:block; margin:0 auto 10px auto; padding:0 0 10px 0; border-bottom:2px solid #000; }
.illCircleBoxCircle h2 strong { width:100%; display:block; margin:5px 0 0 0; font:normal normal bold 16px/1.5 "Arial", sans-serif; }
.illCircleBoxCircle h2 em { width:100%; display:block; margin:5px 0 0 0; font-size:14px; line-height:1.5; }
.illCircleBoxCircle span { width:100%; display:block; margin:0 auto; font-size:14px; line-height:1.5; }
.illCircleSmall { width:35%; position:absolute; font-weight:bold; }
.illCircleSmall:before { content:""; display:block; padding-top:100%; }
.illCircleSmall1 { top:-22.5%; left:32.5%; }
.illCircleSmall2 { top:5%; right:-15%; }
.illCircleSmall3 { bottom:5%; right:-15%; }
.illCircleSmall4 { bottom:-22.5%; left:32.5%; }
.illCircleSmall5 { bottom:5%; left:-15%; }
.illCircleSmall6 { top:5%; left:-15%; }
.illCircleSmall div { display:flex; align-items:center; justify-content:center; border:1px solid #000; background:#fff; border-radius:50%; position:absolute; top:0; left:0; bottom:0; right:0; font-size:12px; line-height:1.2; }
@media screen and (min-width: 840px){
	.ills { padding:120px 0; }
	.ill { width:50%; }
	.illCircleBox { width:60%; top:20%; left:20%; }
	.illCircleBoxCircle { border:5px solid #000; }
	.illCircleBoxCircle h2 strong { font-size:20px; }
	.illCircleBoxCircle h2 em { font-size:16px; }
	.illCircleBoxCircle span { margin:10px auto; font-size:16px; }
	.illCircleSmall div { font-size:14px; line-height:1.5; }
}
@media screen and (min-width: 1240px){
	.ill { width:40%; }
}

.feature { width:100%; display:flex; align-items:baseline; margin:50px 0 20px 0; border-bottom:2px solid #000; }
.featureNo { width:1.8em; margin:0 10px 0 0; font-size:24px; position:relative; }
.featureNo span { width:100%; display:block; font-size:12px; line-height:1.2; }
.featureNo em { width:100%; display:block; margin:-5px 0 0 0; font:normal normal bold 24px/1.5 "Arial", sans-serif; }
.featureTitle { line-height:1.5; }
@media screen and (min-width: 840px){
	.feature { margin:80px 0 40px 0; }
	.featureNo { font-size:64px; }
	.featureNo span { font-size:14px; position:absolute; top:0; left:0; }
	.featureNo em { margin:-5px 0 0 0; font-size:64px; }
	.featureTitle { font-size:32px; }
}

.photo { width:100%; margin:10px 0 0 0; display:flex; justify-content:space-between; align-items:start; }
.photo1 { width:100%; display:block; }
.photo2 { width:49%; display:block; }
@media screen and (min-width: 840px){
	.photo { margin:40px 0 0 0; }
}

.contact { width:80%; height:50px; display:block; margin:20px auto; background:#000; color:#fff; text-align:center; line-height:50px; }
.contactArrow { width:22px; height:22px; background:#fff; border-radius:50%; color:#000; margin:-11px 0 0 10px; text-align:center; line-height:22px; }
@media screen and (min-width: 840px){
	.contact { height:75px; margin:50px auto; font-size:16px; line-height:75px; transition:.5s; }
	.contact:hover { opacity:0.7; transition:.5s; }
	.contact .contactArrow { margin-left:30px; }
}
@media screen and (min-width: 1240px){
	.contactArrow { width:24px; height:24px; font-size:14px; line-height:24px; }
}

.results { width:100vw; height:auto; margin:50px 0 0 0; padding:0 2.5% 30px 2.5%; position:relative; }
.resultsEn { margin:0 0 0 0; display:flex; flex-direction:column; justify-content:right; }
.resultsEn .top_b { margin:0 0px 0 auto; }
@media screen and (min-width: 1240px){
	.resultsEn .top_b { margin:0 -25px 0 auto; }
}
.resultsH2 { margin:-35px 0 0 0; }
.results p { margin:20px 0 0 0; }
.result { width:100%; display:block; margin:20px 0 0 0; padding:10px 2.5%; background:#f8f8f8; text-align:center; }
.resultCase { width:100%; display:flex; flex-direction:column; justify-content:left; text-align:left; }
.resultCase dt { width:100%; display:block; font:normal normal bold 24px/1.5 "Arial", sans-serif; }
.resultCase dd { width:100%; display:block; font-size:14px; line-height:1.5; }
.resultH3 { width:100%; display:block; margin:20px 0 0 0; text-align:left; font-size:16px; }
.resultBox { width:100%; display:flex; overflow:hidden; }
.resultHr { height:100%; display:flex; flex-direction:column; justify-content:space-between; margin:0; }
.resultBox1-1 .resultHr { margin:60px 0 0 0; }
.resultBox1-2 .resultHr { margin:60px 0 0 0; }
.resultHrArrow { width:25px; height:145px; display:block; border-right:1px solid #000; writing-mode:vertical-lr; font-size:12px; position:relative; overflow:hidden; }
.resultBox1-1 .resultHrArrow { height:145px; }
.resultBox1-2 .resultHrArrow { height:100px; }
.resultBox3-1 .resultHrArrow { height:300px; }
.resultBox3-2 .resultHrArrow { height:240px; }
.resultBox3-3 .resultHrArrow { height:240px; }
.resultBox3-4 .resultHrArrow { height:180px; }
.resultHrArrow:before { content: ""; position:absolute; bottom:-4px; right:-5px; border: 5px solid transparent; border-top:10px solid #000; }
.resultHrArrow:nth-child(2n) { margin:10px 0 0 0; }
.resultTable { margin:0 auto 0 10px; -webkit-writing-mode:vertical-rl; writing-mode:vertical-lr; }
.resultTable th,.resultTable td { width:20vw; -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; 
	height:60px; background:#fff; border:1px solid #999; text-align:center; line-height:55px; }
@media screen and (min-width: 1120px){
	.resultTable th,.resultTable td { -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; width:auto; min-width:150px; height:60px; background:#fff; border:1px solid #999; text-align:center; line-height:55px; }
	.resultTable th { width:100px; vertical-align:middle; }
}
.resultTable tr { width:20vw;}
.resultTable th div { width:auto; height:100%; -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; }
.resultTable th span { width:100%; height:100%; writing-mode:horizontal-tb; }
@media screen and (min-width: 1120px){
	.resultTable th div { width:100%; height:100%; -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; }
	.resultTable th span { width:100%; height:100%; display:inline-block; writing-mode:horizontal-tb; }
}

.resultTable td.resultTableNocon { -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; }
.resultTable td.resultTableCon { background:#F2FFA8; -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; }
.resultTableNocon span { width:100%; height:100%; display:inline-block; writing-mode: horizontal-tb;}
.resultTableCon span { width:100%; height:100%; display:inline-block; font-size:16px; writing-mode:horizontal-tb; }
.resultTableCon em { width:100%; height:100%; display:inline-block; color:#FC6363; font-size:16px; writing-mode: horizontal-tb; display:inline-block}
.resultTableConComm { width:80px; height:50px; display:none; justify-content:center; align-items:center; background:#FC6363; border-radius:50%; position:absolute; right:-80px; bottom:5px; color:#fff; font-size:14px; line-height:1.2; -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; }
.resultTableConComm:before { content: ""; position:absolute; top:50%; left:-15px; margin-top:-5px; border: 5px solid transparent; border-right:15px solid #FC6363; }
.resultTable td.resultTableFuki { background:none; border:none; position:relative; }
.resultTableFukiComm { width:80px; height:50px; margin-top:-25px; display:flex; justify-content:center; align-items:center; background:#FC6363; border-radius:50%; position:absolute; left:10px; top:50%; color:#fff; font-size:14px; line-height:1.2; -webkit-writing-mode:horizontal-tb; writing-mode:horizontal-tb; }
.resultTableFukiComm:before { content: ""; position:absolute; top:50%; left:-15px; margin-top:-5px; border: 5px solid transparent; border-right:15px solid #FC6363; }
.resultAlart { width:100%; display:block; text-align:right; font-size:14px; }
.resultGraph { width:100%; position:relative; }
.resultGraph img { width:100%; }
.resultGraphComm { width:80px; height:50px; display:flex; justify-content:center; align-items:center; background:#FC6363; border-radius:50%; position:absolute; right:20px; bottom:45px; color:#fff; font-size:14px; line-height:1.2; }
.resultGraphComm:before { content: ""; position:absolute; top:-15px; left:50%; margin-left:-5px; border: 5px solid transparent; border-bottom:15px solid #FC6363; }
@media screen and (min-width: 840px){
  .results { margin:50px 0 0 0; padding:0; }
  .resultsEn { margin:0 0 0 0; display:flex; flex-direction:column; justify-content:right; }
  .resultsEn .top_b { margin:0 -80px 0 auto; }
  .resultsH2 { margin:-60px 0 0 0; font-size:16px; }
  .results p { margin:50px 0 0 0; }
  .result { padding:10px 2.5% 100px 2.5%; }
  .resultCase { flex-direction:row; align-items:center; }
  .resultCase dt { width:auto; padding:0 50px 0 0; border-right:1px solid #000; font-size:48px; }
  .resultCase dd { width:auto; margin:0 0 0 50px; font-size:16px; }
  .resultH3 { width:800px; margin:20px auto 0 auto; }
  .resultBox { width:800px; margin:0 auto; flex-direction:column; overflow:visible; }
  .resultHr { height:auto; flex-direction:row; margin:10px 0; }
  .resultBox1-1 .resultHr { margin:10px 0 10px 135px; }
  .resultBox1-2 .resultHr { margin:10px 0 10px 135px; }
  .resultHrArrow { height:auto; display:block; margin:0; border-right:none; border-bottom:1px solid #000; writing-mode:horizontal-tb; font-size:14px; }
  .resultBox1-1 .resultHrArrow { width:325px; height:auto; }
  .resultBox1-2 .resultHrArrow { width:200px; height:auto; margin-left:200px; }
  .resultBox3-1 .resultHrArrow { width:800px; height:auto; }
  .resultBox3-2 .resultHrArrow { width:640px; height:auto; margin-left:80px; }
  .resultBox3-3 .resultHrArrow { width:640px; height:auto; margin-left:80px; }
  .resultBox3-4 .resultHrArrow { width:480px; height:auto; margin-left:160px; }
  .resultHrArrow:before { position:absolute; bottom:-10px; right:-9px; border: 10px solid transparent; border-left:20px solid #000; }
  .resultHrArrow:nth-child(2n) { margin:0; }
  .resultTable { width:800px; margin:0 auto 30px auto; writing-mode:horizontal-tb; }
  .resultBox1-1 .resultTable { width:800px; }
  .resultBox1-2 .resultTable { width:400px; }
  .resultBox3-1 .resultTable { width:800px; }
  .resultBox3-2 .resultTable { width:640px; }
  .resultBox3-3 .resultTable { width:640px; }
  .resultBox3-4 .resultTable { width:480px; }
  .resultTable th,.resultTable td { width:100px; min-width:auto; }
  .resultTableCon { font-size:16px; }
  .resultTableCon span { font-size:16px; }
  .resultTableCon em { font-size:20px; }
  .resultTableConComm { width:80px; height:80px; margin:0 -40px 0 0; right:50%; bottom:-75px; font-size:16px; }
  .resultTableConComm:before { content: ""; position:absolute; top:-15px; left:50%; margin:0 0 0 -5px; border: 5px solid transparent; border-bottom:15px solid #FC6363; }
  .resultTableFukiComm { width:80px; height:80px; margin:0 0 0 -40px; left:50%; top:-10px; font-size:16px; }
  .resultTableFukiComm:before { content: ""; position:absolute; top:-15px; left:50%; margin:0 0 0 -5px; border: 5px solid transparent; border-bottom:15px solid #FC6363; }
  .resultAlart { margin:-80px 0 80px 0; }
  .resultGraph { width:475px; display:block; margin:20px auto 0 auto; }
  .resultGraph img { }
  .resultGraphComm { width:80px; height:80px; top:-60px; bottom:auto; right:30px; }
  .resultGraphComm:before { content: ""; position:absolute; top:auto; bottom:-15px; left:50%; margin-left:-5px; border: 5px solid transparent; border-top:15px solid #FC6363; }
}
@media screen and (min-width: 1120px){
	.results { width:1080px; margin:50px auto 0 auto; }
	.result { width:1080px; margin:20px 0 0 0; padding:50px 50px 100px 50px; }
	.resultH3 { width:900px; margin:20px auto 0 auto; }
	.resultBox { width:900px; }
	.resultHr { margin:10px 0; }
	.resultBox1-1 .resultHr { margin:10px 0 10px 150px; }
	.resultBox1-2 .resultHr { margin:10px 0 10px 225px; }
	.resultBox1-1 .resultHrArrow { width:370px; height:auto; }
	.resultBox1-2 .resultHrArrow { width:225px; height:auto; margin-left:150px; }
	.resultBox3-1 .resultHrArrow { width:900px; height:auto; }
	.resultBox3-2 .resultHrArrow { width:720px; height:auto; margin-left:90px; }
	.resultBox3-3 .resultHrArrow { width:720px; height:auto; margin-left:90px; }
	.resultBox3-4 .resultHrArrow { width:540px; height:auto; margin-left:180px; }
	.resultBox1-1 .resultTable { width:900px; }
	.resultBox1-2 .resultTable { width:450px; }
	.resultBox3-1 .resultTable { width:900px; }
	.resultBox3-2 .resultTable { width:720px; }
	.resultBox3-3 .resultTable { width:720px; }
	.resultBox3-4 .resultTable { width:540px; }
	.resultTable th,.resultTable td { width:150px; }
}

#link { width:100vw; height:auto; padding:0 2.5% 50px 2.5%; background:#f8f8f8; }
.linkEn { margin:90px 0 0 0; display:flex; flex-direction:column; justify-content:right; }
.linkEn .top_w { margin:-90px 10px 0 auto; }
.linkEn .top_b { margin:-20px 30px 0 auto; }
.serviceH2 { margin:-10px 0 0 0; font-size:20px; }
.serviceLink { width:100%; display:flex; flex-direction:column; position:relative; z-index:0; align-items: flex-start;}
.serviceLink li { width:100%; display:block; margin:10px 0 20px 0; }
.serviceLink li a { width:100%; display:flex; flex-direction:row-reverse; position:relative; align-items: flex-start;}
.serviceLink li a:hover { opacity:.7; transition:.5s; }
.serviceLink li a img { width:50%; display:block; }
.serviceLink li a dl { width:auto; min-width:60%; padding:5px 0 0 0; display:flex; align-items:start; justify-content:left; border-top:3px solid #000; position:absolute; left:0; top:10px; }
.serviceLink li a dt { font:normal normal bold 16px/1.5 "Arial", sans-serif; }
.serviceLink li a dd { margin:0 0 0 10px; line-height:1.5; }
.serviceLink li a dd h3 { font-size:14px; text-shadow:1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff; }
.serviceLink li a dd strong { font:normal normal bold 20px/1.2 "Arial", sans-serif; }
.serviceLink li a dd .serviceArrow { width:22px; height:22px; background:#000; border-radius:50%; color:#fff; margin:-11px 0 0 10px; text-align:center; font-size:14px; line-height:22px; }
@media screen and (min-width: 840px){
	#link { margin:300px 0 0 0; padding:100px 2.5% 100px 2.5%; }
	.linkEn { margin:-100px 0 0 0; }
	.linkEn .top_w { margin:-270px 10px 0 auto; }
	.linkEn .top_b { margin:-80px -80px 0 auto; }
	.serviceH2 { margin:-140px 0 40px 0; font-size:24px; }
	.serviceLink { margin:0 auto; }
	.serviceLink li { margin:50px 0 30px 0; }
	.serviceLink li a img { width:60%; }
	.serviceLink li a dl { width:auto; min-width:55%; top:50px; }
	.serviceLink li a dt { font-size:28px; }
	.serviceLink li a dd { margin:0 0 0 30px; }
	.serviceLink li a dd h3 { font-size:24px; }
	.serviceLink li a dd strong { display:flex; align-items:center; font-size:64px; }
	.serviceLink li a dd .serviceArrow { margin-top:10px; width:32px; height:32px; font-size:20px; line-height:32px; position:relative; transition:.5s; }
	.serviceLink li a:hover dd .serviceArrow { margin-left:30px; transition:.5s; }
	}
@media screen and (min-width: 1240px){
	.serviceH2 { width:1200px; margin:-140px auto 0 auto; }
	.serviceLink { width:1080px; margin:50px auto 0 auto; }
	.serviceLink li a dd .serviceArrow { margin-left:30px; }
	.serviceLink li a:hover dd .serviceArrow { margin-left:50px; }
}




#service { width:100vw; height:auto; padding:0 2.5% 30px 2.5%; background:#fff; }
.serviceEn { margin:50px 0 0 0; display:flex; flex-direction:column; justify-content:right; position: -webkit-sticky; position: sticky; z-index:1; top:70px; }
.serviceEn .top_w { margin:0 10px 0 auto; }
.serviceEn .top_b { margin:-20px 30px 0 auto; }
.serviceH2 { margin:-10px 0 0 0; font-size:20px; }
.serviceList { width:100%; display:flex; flex-direction:column; position:relative; z-index:0; }
.serviceList li { width:100%; display:block; margin:10px 0 20px 0; }
.serviceList li div { width:100%; display:flex; flex-direction:row-reverse; position:relative; align-items: flex-start;}
.serviceList li div .img_wrap { width:100%; display:block; }
.serviceList li div .img_wrap p { width:100%; display:inline-block; line-height:2.25em; letter-spacing:0.1em; margin-top:30px; }
.serviceList li div img { width:100%; display:block; margin-top:80px; }
.serviceList li div img.photo_service3 { margin-top:100px; }
.serviceList li div dl { width:100%; min-width:60%; padding:5px 0 0 0; display:flex; align-items:start; justify-content:left; border-top:3px solid #000; position:absolute; left:0; top:10px; }
.serviceList li div dt { font:normal normal bold 16px/1.5 "Arial", sans-serif; }
.serviceList li div dd { margin:0 0 0 10px; line-height:1.5; }
.serviceList li div dd h3 { font-size:24px; text-shadow:1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff; font-weight:bold; letter-spacing:0.1em; }
.serviceList li div dd strong { font:normal normal bold 20px/1.2 "Arial", sans-serif; color: white;-webkit-text-stroke: 1px black;}
.serviceList li div dd span { letter-spacing:0.1em; line-height:1.56em; }
@media screen and (min-width: 840px){
	#service { padding:100px 2.5% 100px 2.5%; }
	.serviceEn .top_w { margin:-70px 10px 0 auto; }
	.serviceEn .top_b { margin:-80px -70px 0 auto; }
	.serviceH2 { margin:-100px 0 0 0; font-size:24px; }
	.serviceList { margin:0 auto; }
	.serviceList li { margin:0 0 100px 0; }
	.serviceList li div .img_wrap img { width:100%; margin-top:initial; }
	.serviceList li div img.photo_service3  { margin-top:initial; }
	.serviceList li div .img_wrap { width:60%; }
	.serviceList li div dl { width:auto; min-width:55%; top:50px; }
	.serviceList li div dt { font-size:28px; }
	.serviceList li div dd { margin:10px 0 0 30px; }
	.serviceList li div dd span { font-size:25px; }
	.serviceList li div dd h3 { font-size:44px; }
	.serviceList li div dd strong { font-size:64px; }
	}
@media screen and (min-width: 1240px){
	.serviceH2 { width:1200px; margin:-100px auto 0 auto; }
	.serviceList { max-width:1160px; }
}
