@charset "UTF-8";
*, *::before, *::after { box-sizing: border-box; }

body { color: #1e1e1e; background: #f8f8f8; font-size: 1.4vw; letter-spacing: .1em; line-height: 1.6; font-weight: 400; font-family: 'Noto Sans JP', BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; font-optical-sizing: auto; font-style: normal; font-feature-settings: "palt"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@media screen and (max-width: 599px) { body { font-size: 2.8vw; } }

_:lang(x)::-ms-backdrop, .selector { font-family: "Segoe UI", Meiryo, sans-serif; }

.fnt-ppn2 { font-family: "Poppins", sans-serif; font-weight: 200; font-style: normal; }

.fnt-ppn5 { font-family: "Poppins", sans-serif; font-weight: 500; font-style: normal; }

p { line-height: 1.8; }

img { border: 0; vertical-align: top; }

input, select { position: relative; top: 1px; }

table, th, td { border-collapse: collapse; border-spacing: 0; }

ul, li { list-style: none; }

a:link, a:visited { color: #6e6e6e; text-decoration: none; transition: opacity 0.5s; }
a:hover, a:active { opacity: .6; }

#cover { width: 100%; height: 100%; position: fixed; background: #f8f8f8; top: 0; left: 0; z-index: 10000; }

#loader { opacity: 0; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 300px; height: 250px; }
#loader img { width: 100%; height: auto; }
@media screen and (max-width: 599px) { #loader { width: 210px; height: 175px; } }

#wrapper { overflow: hidden; position: relative; }
@media screen and (max-width: 599px) { #wrapper.topP { background-image: linear-gradient(90deg, #e9e9e9, #dadada); } }

#page-top { opacity: 0; position: fixed; bottom: 20px; right: 20px; z-index: 9000; width: 3em; height: 3em; pointer-events: none; border: 2px solid #6e6e6e; border-radius: 50%; background: rgba(255, 255, 255, 0.6); }
#page-top::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-25%) rotate(-45deg); border-top: 2px solid #6e6e6e; border-right: 2px solid #6e6e6e; width: 1em; height: 1em; }
#page-top:hover { border-color: #50b432; }
#page-top:hover::before { border-color: #50b432; }
#page-top.fade { opacity: 1; transition: opacity .5s; pointer-events: auto; }
#page-top.fade:hover { opacity: .7; }

.dd599 { display: none; }
@media screen and (max-width: 599px) { .dd599 { display: block !important; } }

@media screen and (max-width: 599px) { .nn599 { display: none !important; } }

.fadeinS, .fadein1, .fadein2, .fadein3, .fadein4, .fadein5, .fadein6, .fadein7, .fadeinF { opacity: 0; transform: translateY(30px); transition: opacity 1s ease-in, transform 1s ease-out; }
.fadeinS.active, .fadein1.active, .fadein2.active, .fadein3.active, .fadein4.active, .fadein5.active, .fadein6.active, .fadein7.active, .fadeinF.active { opacity: 1; transform: translateY(0); }
.fadeinS.active.lineF::after, .fadeinS.active.lineF2::after, .fadein1.active.lineF::after, .fadein1.active.lineF2::after, .fadein2.active.lineF::after, .fadein2.active.lineF2::after, .fadein3.active.lineF::after, .fadein3.active.lineF2::after, .fadein4.active.lineF::after, .fadein4.active.lineF2::after, .fadein5.active.lineF::after, .fadein5.active.lineF2::after, .fadein6.active.lineF::after, .fadein6.active.lineF2::after, .fadein7.active.lineF::after, .fadein7.active.lineF2::after, .fadeinF.active.lineF::after, .fadeinF.active.lineF2::after { opacity: 1; }
.fadeinS.lineF::after, .fadein1.lineF::after, .fadein2.lineF::after, .fadein3.lineF::after, .fadein4.lineF::after, .fadein5.lineF::after, .fadein6.lineF::after, .fadein7.lineF::after, .fadeinF.lineF::after { opacity: 0; content: ""; position: absolute; z-index: 1; right: -1.5em; top: 5.5em; width: 3em; height: 1px; border-top: 2px dotted #1e1e1e; transition: opacity 1s ease-in .8s; transform: rotate(45deg); }
@media screen and (max-width: 599px) { .fadeinS.lineF::after, .fadein1.lineF::after, .fadein2.lineF::after, .fadein3.lineF::after, .fadein4.lineF::after, .fadein5.lineF::after, .fadein6.lineF::after, .fadein7.lineF::after, .fadeinF.lineF::after { right: -3.5em; top: 9em; width: 7em; transform: rotate(25deg); } }
.fadeinS.lineF2::after, .fadein1.lineF2::after, .fadein2.lineF2::after, .fadein3.lineF2::after, .fadein4.lineF2::after, .fadein5.lineF2::after, .fadein6.lineF2::after, .fadein7.lineF2::after, .fadeinF.lineF2::after { opacity: 0; content: ""; position: absolute; z-index: 1; right: -1.5em; top: 5.5em; width: 3em; height: 1px; border-top: 2px dotted #1e1e1e; transition: opacity 1s ease-in .8s; transform: rotate(-45deg); }
@media screen and (max-width: 599px) { .fadeinS.lineF2::after, .fadein1.lineF2::after, .fadein2.lineF2::after, .fadein3.lineF2::after, .fadein4.lineF2::after, .fadein5.lineF2::after, .fadein6.lineF2::after, .fadein7.lineF2::after, .fadeinF.lineF2::after { right: inherit; left: -3.5em; top: 17em; width: 7em; transform: rotate(-25deg); } }

#header { position: fixed; z-index: 900; display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 1.8em 2.5% 1.4em; }
@media screen and (max-width: 599px) { #header { display: block; background: #fff; padding: 1.6em 0; border-bottom-left-radius: .8em; border-bottom-right-radius: .8em; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1); } }
#header.articleP { background: #fff; width: 97%; margin: 1.5%; border-radius: .8em; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1); padding: 1.2em 2.5%; }
@media screen and (max-width: 599px) { #header.articleP { width: 100%; margin: 0; padding: 1.6em 0; border-top-left-radius: 0; border-top-right-radius: 0; } }
#header h1 { display: block; }
#header h1 img { display: block; width: 18vw; height: auto; }
@media screen and (max-width: 599px) { #header h1 img { position: relative; z-index: 1000; width: 50vw; margin: 0 auto; } }
#header h1 a { display: block; width: 18vw; }
@media screen and (max-width: 599px) { #header h1 a { position: relative; z-index: 1000; width: 50vw; margin: 0 auto; } }
#header nav .gMenu { position: relative; }
@media screen and (max-width: 599px) { #header nav .gMenu { position: fixed; display: block; top: 0; left: 0; width: 100%; margin: 0 auto; z-index: 999; opacity: 0; height: 0; max-height: 0; overflow: hidden; transition: max-height 0s, opacity .4s; }
  #header nav .gMenu.active { opacity: 1; height: 100%; max-height: 100%; background: rgba(255, 255, 255, 0.95); } }
#header nav .gMenu ul { position: relative; display: flex; width: 100%; }
@media screen and (max-width: 599px) { #header nav .gMenu ul { display: block; text-align: center; left: 0; top: 5em; } }
#header nav .gMenu ul li { padding-left: 1.5em; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li { display: block; padding-left: 0; }
  #header nav .gMenu ul li:first-child a { border-top: 1px solid #e2e2e2; } }
#header nav .gMenu ul li.sp { display: none; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li.sp { display: block; } }
#header nav .gMenu ul li a { position: relative; display: block; white-space: nowrap; font-size: 80%; padding-left: 1.5em; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li a { border-bottom: 1px solid #e2e2e2; font-size: 135%; text-align: left; padding: 1em 0 1em 3.5em; } }
#header nav .gMenu ul li a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); border: 1px solid #6e6e6e; border-radius: 50%; width: 1em; height: 1em; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li a::before { left: 1.5em; } }
#header nav .gMenu ul li a::after { content: ""; position: absolute; left: .25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li a::after { left: 1.78em; } }
#header nav .gMenu ul li a:hover::before { background: #50b432; border-color: #50b432; }
#header nav .gMenu ul li a:hover::after { border-top-color: #fff; border-right-color: #fff; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li.sp-btn { padding-top: 2.5em; }
  #header nav .gMenu ul li.sp-btn a { margin: 0 auto; width: 68%; background: #50b432; color: #fff; text-align: center; padding: .8em 0; border-radius: 2em; border-bottom: none; }
  #header nav .gMenu ul li.sp-btn a::before { border: 1px solid #fff; background: #fff; }
  #header nav .gMenu ul li.sp-btn a::after { border-top: 1px solid #50b432; border-right: 1px solid #50b432; } }
#header nav .gMenu ul li.sp-pp { display: none; }
@media screen and (max-width: 599px) { #header nav .gMenu ul li.sp-pp { display: block; padding-top: 1em; }
  #header nav .gMenu ul li.sp-pp a { display: inline-block; padding-right: 1.5em; font-size: 125%; border-bottom: none; }
  #header nav .gMenu ul li.sp-pp a::before { display: none; } }
#header nav .menu-trigger { display: none; }
@media screen and (max-width: 599px) { #header nav .menu-trigger { display: inline-block; transition: all .4s; position: fixed; z-index: 9999; width: 2em; height: 1em; top: 2.1em; right: 5%; }
  #header nav .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; position: absolute; width: 100%; height: 2px; background-color: #1e1e1e; border-radius: 2px; }
  #header nav .menu-trigger span:nth-of-type(1) { top: 0; }
  #header nav .menu-trigger span:nth-of-type(2) { bottom: 0; } }
@media screen and (max-width: 599px) { #header nav .menu-trigger.active span:nth-of-type(1) { transform: translateY(0.42em) rotate(-45deg); }
  #header nav .menu-trigger.active span:nth-of-type(2) { transform: translateY(-0.42em) rotate(45deg); } }

main { position: relative; }
main .topBg { position: relative; }
@media screen and (max-width: 599px) { main .topBg { background-image: linear-gradient(90deg, #e9e9e9, #dadada); } }
main .topBg .bgImg { position: fixed; z-index: 1; top: 0; left: 0; width: 100%; height: 100vh; background: url("../img/top_main_bg.webp") no-repeat center center/cover; }
@media screen and (max-width: 599px) { main .topBg .bgImg { background-image: url("../img/top_main_bg-sp.webp"); height: 90vh; } }
main .topBg .bgImg .boxImg { position: absolute; top: 0; left: 0; z-index: 3; width: 100%; height: 100vh; background: url("../img/top_main_box.webp") no-repeat center center/cover; }
@media screen and (max-width: 599px) { main .topBg .bgImg .boxImg { background-image: url("../img/top_main_box-sp.webp"); height: 90vh; }
  main .topBg .bgImg .boxImg.recruitSp { top: -9em; } }
main .topBg .bgImg .aboutBg { opacity: 0; position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 100vh; background: url("../img/top_about_illst.webp") no-repeat center center/cover; transform: scale(90%); transition: all .5s; }
@media screen and (max-width: 599px) { main .topBg .bgImg .aboutBg { background-image: url("../img/top_about_illst-sp.webp"); height: 90vh; } }
main .topBg .bgImg .aboutBg.fade { opacity: 1; transform: scale(100%); }
main .topBg .bgImg .recruitBg { opacity: 0; position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 100vh; background: url("../img/top_recruit_illst.webp") no-repeat center center/cover; transform: scale(90%); transition: all .5s; }
@media screen and (max-width: 599px) { main .topBg .bgImg .recruitBg { top: -9em; background-image: url("../img/top_about_illst-sp.webp"); height: 90vh; } }
main .topBg .bgImg .recruitBg.fade { opacity: 1; transform: scale(100%); }
main section { overflow: hidden; position: relative; z-index: 10; }
main section#topMainSct { height: 100vh; }
@media screen and (max-width: 599px) { main section#topMainSct { height: 90vh; } }
main section#topMainSct .main { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); display: flex; justify-content: space-between; width: 95%; padding-right: 3%; }
@media screen and (max-width: 599px) { main section#topMainSct .main { display: block; width: 90%; padding-right: 0; text-align: center; transform: translateX(-50%) translateY(-28%); } }
main section#topMainSct .main .t1 { position: relative; font-size: 410%; letter-spacing: -.02em; }
@media screen and (max-width: 599px) { main section#topMainSct .main .t1 { font-size: 500%; white-space: nowrap; } }
main section#topMainSct .main .t1 span.rand { position: absolute; top: 6.5vw; left: 103%; width: 0%; height: .6vw; background: #1e1e1e; transition: width 1.2s 3s; }
main section#topMainSct .main .t1 span.rand.fade { width: 57%; }
@media screen and (max-width: 599px) { main section#topMainSct .main .t1 span.rand { display: none !important; } }
main section#topMainSct .main .t2 { position: relative; width: 40%; height: 10vw; border: 0.8vw solid #1e1e1e; }
@media screen and (max-width: 599px) { main section#topMainSct .main .t2 { width: 96%; height: 22vw; margin: 0 auto; border: 1.6vw solid #1e1e1e; } }
main section#topMainSct .main .t2 img.delay { opacity: 0; position: absolute; width: 78%; height: auto; left: 16%; top: .8vw; }
@media screen and (max-width: 599px) { main section#topMainSct .main .t2 img.delay { width: 74%; left: 9%; } }
main section#topMainSct .main .t2 img.delay.fade { transition: opacity 1s 4s; opacity: 1; }
@media screen and (max-width: 599px) { main section#topMainSct .main .t2 img.delay.fade { transition: opacity 1s 3s, left 1s 3s; left: 13%; } }
main section#topMainSct .copy { position: absolute; font-weight: 500; left: 2.5%; bottom: 2em; }
@media screen and (max-width: 599px) { main section#topMainSct .copy { left: 5%; top: 7.5em; bottom: inherit; font-size: 145%; } }
main section#topAboutSct { height: 100vh; }
@media screen and (max-width: 599px) { main section#topAboutSct { height: 90vh; } }
main section#topAboutSct .inner { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); width: 75%; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#topAboutSct .inner { display: block; width: 90%; transform: translateX(-50%) translateY(-55%); } }
main section#topAboutSct .inner .headB { width: 50%; }
@media screen and (max-width: 599px) { main section#topAboutSct .inner .headB { width: 100%; } }
main section#topAboutSct .inner .headB .head { color: #1e1e1e; font-size: 235%; font-weight: 700; letter-spacing: .13em; line-height: 1.6; }
@media screen and (max-width: 599px) { main section#topAboutSct .inner .headB .head { text-align: center; font-size: 280%; padding-left: .13em; } }
main section#topAboutSct .inner .txtB { width: 40%; padding-top: 8em; }
@media screen and (max-width: 599px) { main section#topAboutSct .inner .txtB { width: 76%; margin: 0 auto; } }
main section#topAboutSct .inner .txtB .txt { display: block; font-size: 85%; font-weight: 500; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topAboutSct .inner .txtB .txt { font-size: 145%; } }
main section#topAboutSct .inner .txtB .btn { text-align: right; }
@media screen and (max-width: 599px) { main section#topAboutSct .inner .txtB .btn { text-align: center; } }
main section#topAboutSct .inner .txtB .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .6em 3.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#topAboutSct .inner .txtB .btn a { width: 90%; font-size: 135%; } }
main section#topAboutSct .inner .txtB .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#topAboutSct .inner .txtB .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#topAboutSct .inner .txtB .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#topAboutSct .inner .txtB .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#topAboutSct .inner .txtB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#topServicesSct { background: #f8f8f8; height: 86vh; }
@media screen and (max-width: 599px) { main section#topServicesSct { height: auto; } }
main section#topServicesSct h2 { position: absolute; top: 5em; left: 0; z-index: 50; border-top: 0.5vw solid #fff; border-right: 0.5vw solid #fff; border-bottom: 0.5vw solid #fff; display: flex; align-items: center; color: #fff; padding: 0 4em 0 3em; }
@media screen and (max-width: 599px) { main section#topServicesSct h2 { top: 7em; border-top-width: 1.4vw; border-right-width: 1.4vw; border-bottom-width: 1.4vw; padding: 0 2em 0 1.8em; } }
main section#topServicesSct h2 .en { font-size: 180%; letter-spacing: 0; line-height: 2.1; padding-right: 1em; }
@media screen and (max-width: 599px) { main section#topServicesSct h2 .en { font-size: 270%; padding-right: .5em; } }
main section#topServicesSct h2 .jp { font-weight: 500; }
@media screen and (max-width: 599px) { main section#topServicesSct h2 .jp { font-size: 160%; } }
main section#topServicesSct .inner-pc { position: relative; display: block; overflow: hidden; width: 100%; height: 86vh; }
@media screen and (max-width: 599px) { main section#topServicesSct .inner-pc { display: none; } }
main section#topServicesSct .inner-pc .menuS { position: absolute; z-index: 100; top: 0; right: 0; width: 15%; height: 86vh; display: flex; flex-direction: column; justify-content: space-between; text-align: center; }
main section#topServicesSct .inner-pc .menuS .box { background: #6e6e6e; height: calc(86vh / 4 - 2px); color: #fff; display: flex; justify-content: center; flex-direction: column; cursor: pointer; }
main section#topServicesSct .inner-pc .menuS .box.active { background: #50b432; }
main section#topServicesSct .inner-pc .menuS .box.active:hover { opacity: 1; }
main section#topServicesSct .inner-pc .menuS .box:hover { opacity: .6; transition: opacity 0.5s; }
main section#topServicesSct .inner-pc .menuS .box .no { font-size: 240%; line-height: 1.1; }
main section#topServicesSct .inner-pc .menuS .box .en { font-size: 140%; line-height: 1.6; letter-spacing: 0; }
main section#topServicesSct .inner-pc .menuS .box .jp { font-size: 80%; font-weight: 500; line-height: 1.6; }
main section#topServicesSct .inner-pc .sBox { position: relative; z-index: 1; width: 100%; height: 86vh; }
main section#topServicesSct .inner-pc .sBox li { position: absolute; top: 0; left: 0; width: 100%; height: 86vh; opacity: 0; transition: opacity 1s ease-in; display: flex; justify-content: center; flex-direction: column; padding: 3em 0 0 12.5%; color: #fff; }
main section#topServicesSct .inner-pc .sBox li.planning-pic { background: url("../img/top_service_bg1.webp") no-repeat center center/cover; z-index: 5; }
main section#topServicesSct .inner-pc .sBox li.design-pic { background: url("../img/top_service_bg2.webp") no-repeat center center/cover; z-index: 4; }
main section#topServicesSct .inner-pc .sBox li.production-pic { background: url("../img/top_service_bg3.webp") no-repeat center center/cover; z-index: 3; }
main section#topServicesSct .inner-pc .sBox li.logistics-pic { background: url("../img/top_service_bg4.webp") no-repeat center center/cover; z-index: 2; }
main section#topServicesSct .inner-pc .sBox li.current { z-index: 5 !important; opacity: 1 !important; }
main section#topServicesSct .inner-pc .sBox li .en { display: block; font-size: 480%; letter-spacing: -.03em; line-height: 1.4; margin-bottom: .2em; }
main section#topServicesSct .inner-pc .sBox li .jp { display: block; font-size: 155%; font-weight: 700; letter-spacing: .12em; margin-bottom: .3em; }
main section#topServicesSct .inner-pc .sBox li .txt { display: block; width: 38%; font-size: 75%; letter-spacing: .09em; margin-bottom: 1.6em; }
main section#topServicesSct .inner-pc .sBox li .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .6em 3.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#topServicesSct .inner-pc .sBox li .btn a { width: 90%; font-size: 135%; } }
main section#topServicesSct .inner-pc .sBox li .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#topServicesSct .inner-pc .sBox li .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#topServicesSct .inner-pc .sBox li .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#topServicesSct .inner-pc .sBox li .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#topServicesSct .inner-pc .sBox li .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#topServicesSct .inner-sp { display: none; }
@media screen and (max-width: 599px) { main section#topServicesSct .inner-sp { display: block; position: relative; background: url("../img/top_service_bg-sp.webp") no-repeat center top/100%; padding: 27em 5% 2em; }
  main section#topServicesSct .inner-sp .spBox { position: relative; background: #6e6e6e; margin-bottom: .4em; color: #fff; padding: 0 6%; }
  main section#topServicesSct .inner-sp .spBox .headBtn { position: relative; padding: 1.8em 0 1.5em; }
  main section#topServicesSct .inner-sp .spBox .headBtn::before { content: ""; position: absolute; top: 3em; right: 0; width: 2.6em; height: 2.6em; border-radius: 50%; border: 1px solid #fff; }
  main section#topServicesSct .inner-sp .spBox .headBtn::after { content: ""; position: absolute; top: 3.8em; right: 3.1%; transform: rotate(135deg); width: .8em; height: .8em; border-top: 1px solid #fff; border-right: 1px solid #fff; }
  main section#topServicesSct .inner-sp .spBox .headBtn .no { display: block; font-size: 180%; line-height: 1.2; }
  main section#topServicesSct .inner-sp .spBox .headBtn .en { display: inline-block; font-size: 220%; letter-spacing: -.03em; line-height: 1.4; padding-right: .5em; }
  main section#topServicesSct .inner-sp .spBox .headBtn .jp { display: inline; font-size: 140%; font-weight: 700; line-height: 1.4; }
  main section#topServicesSct .inner-sp .spBox .detailB { overflow: hidden; height: 0; border-top: none; padding: 0; transition: all .5s; }
  main section#topServicesSct .inner-sp .spBox .detailB .txt { display: block; font-size: 135%; line-height: 1.6; margin-bottom: 1.5em; }
  main section#topServicesSct .inner-sp .spBox .detailB .btn { text-align: center; }
  main section#topServicesSct .inner-sp .spBox .detailB .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; width: 70%; color: #1e1e1e; font-size: 130%; letter-spacing: .03em; padding: .8em 3.5em; transition: all 0.2s; }
  main section#topServicesSct .inner-sp .spBox .detailB .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
  main section#topServicesSct .inner-sp .spBox .detailB .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
  main section#topServicesSct .inner-sp .spBox .detailB .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
  main section#topServicesSct .inner-sp .spBox .detailB .btn a:hover::before { background: #50b432; border-color: #50b432; }
  main section#topServicesSct .inner-sp .spBox .detailB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
  main section#topServicesSct .inner-sp .spBox.open { background: #50b432; }
  main section#topServicesSct .inner-sp .spBox.open .headBtn::after { top: 4.1em; right: 3.2%; transform: rotate(-45deg); }
  main section#topServicesSct .inner-sp .spBox.open .detailB { height: auto; border-top: 1px solid #fff; padding: 1.7em 0 2em; } }
main section#topWorksSct { background: #f8f8f8; padding: 14.6em 0 8em; }
@media screen and (max-width: 599px) { main section#topWorksSct { padding: 16.5em 0 6em; } }
main section#topWorksSct h2 { position: absolute; left: 0; top: 7em; border-top: 0.5vw solid #1e1e1e; border-right: 0.5vw solid #1e1e1e; border-bottom: 0.5vw solid #1e1e1e; display: flex; align-items: center; justify-content: flex-start; padding: 0 4em 0 3em; }
@media screen and (max-width: 599px) { main section#topWorksSct h2 { border-top-width: 1.4vw; border-right-width: 1.4vw; border-bottom-width: 1.4vw; padding: 0 2em 0 1.8em; } }
main section#topWorksSct h2 .en { font-size: 180%; letter-spacing: 0; line-height: 2.1; padding-right: 1em; }
@media screen and (max-width: 599px) { main section#topWorksSct h2 .en { font-size: 270%; padding-right: .5em; } }
main section#topWorksSct h2 .jp { font-weight: 500; }
@media screen and (max-width: 599px) { main section#topWorksSct h2 .jp { font-size: 160%; } }
main section#topWorksSct .hTxt { display: block; padding: 0 12.5% 0 55%; font-size: 80%; margin-bottom: 5.5em; }
@media screen and (max-width: 599px) { main section#topWorksSct .hTxt { padding: 0 5%; font-size: 145%; margin-bottom: 2em; } }
main section#topWorksSct .sliderW { position: relative; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW { margin-bottom: 2.6em; } }
main section#topWorksSct .sliderW li.box { position: relative; overflow: hidden; border-radius: .8em; width: 70%; box-shadow: 10px 0 10px 1px rgba(0, 0, 0, 0.05); margin: 1em .5em 3em; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box { background: #fff; border-radius: 1em; box-shadow: 10px 0 10px 1px rgba(0, 0, 0, 0.1); } }
main section#topWorksSct .sliderW li.box .bgPic { position: relative; display: block; width: 100%; }
main section#topWorksSct .sliderW li.box .bgPic::after { content: ""; position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100vw; background: rgba(255, 255, 255, 0.8); }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box .bgPic::after { display: none; } }
main section#topWorksSct .sliderW li.box .bgPic img { width: 100%; height: auto; }
main section#topWorksSct .sliderW li.box .txtB { position: absolute; z-index: 5; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); text-align: center; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box .txtB { position: relative; top: inherit; left: inherit; transform: none; padding: 2.5em 1.5em; } }
main section#topWorksSct .sliderW li.box .txtB .logo { display: inline-block; width: 12vw; height: auto; margin-bottom: 1.5em; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box .txtB .logo { width: 28vw; margin-bottom: 1.3em; } }
main section#topWorksSct .sliderW li.box .txtB .logo img { width: 100%; height: auto; }
main section#topWorksSct .sliderW li.box .txtB .name { display: block; font-size: 90%; font-size: 150%; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box .txtB .name { font-size: 155%; line-height: 1.6; } }
main section#topWorksSct .sliderW li.box .txtB .sub { display: block; font-size: 90%; font-weight: 500; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box .txtB .sub { font-size: 130%; } }
main section#topWorksSct .sliderW li.box .txtB .btn { margin-top: 1.5em; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box .txtB .btn { margin-top: 1.2em; } }
main section#topWorksSct .sliderW li.box .txtB .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .8em 4em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW li.box .txtB .btn a { width: 70%; font-size: 115%; } }
main section#topWorksSct .sliderW li.box .txtB .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#topWorksSct .sliderW li.box .txtB .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#topWorksSct .sliderW li.box .txtB .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#topWorksSct .sliderW li.box .txtB .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#topWorksSct .sliderW li.box .txtB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#topWorksSct .sliderW .slick-num { text-align: center; font-size: 80%; color: #6e6e6e; }
@media screen and (max-width: 599px) { main section#topWorksSct .sliderW .slick-num { font-size: 135%; } }
main section#topWorksSct .sliderW .slick-num span { padding: .2em .8em .2em .9em; }
main section#topWorksSct .sliderW .slick-num span.now-count { border-right: 1px solid #6e6e6e; }
main section#topWorksSct .btn2 { position: absolute; margin-top: -1.8em; right: 11%; }
@media screen and (max-width: 599px) { main section#topWorksSct .btn2 { position: relative; margin-top: 0; right: inherit; text-align: center; } }
main section#topWorksSct .btn2 a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .8em 4em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#topWorksSct .btn2 a { width: 55%; font-size: 135%; } }
main section#topWorksSct .btn2 a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#topWorksSct .btn2 a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#topWorksSct .btn2 a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#topWorksSct .btn2 a:hover::before { background: #50b432; border-color: #50b432; }
main section#topWorksSct .btn2 a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#topCompanySct { background: #f8f8f8; display: flex; }
@media screen and (max-width: 599px) { main section#topCompanySct { display: block; } }
main section#topCompanySct .box { width: 50%; height: 50vw; display: flex; flex-direction: column; justify-content: flex-end; padding: 4.3em 3em; color: #fff; }
@media screen and (max-width: 599px) { main section#topCompanySct .box { width: 100%; height: 100vw; padding: 5em 5%; }
  main section#topCompanySct .box:first-child { margin-bottom: .3em; } }
main section#topCompanySct .box.corp { background: url("../img/top_company_bg1.webp") no-repeat center center/cover; }
main section#topCompanySct .box.sust { background: url("../img/top_company_bg2.webp") no-repeat center center/cover; }
main section#topCompanySct .box .en { display: block; font-size: 230%; letter-spacing: -.02em; line-height: 1.5; }
@media screen and (max-width: 599px) { main section#topCompanySct .box .en { font-size: 340%; } }
main section#topCompanySct .box .jp { display: block; font-size: 120%; font-weight: 500; line-height: 1.5; margin-bottom: 1.8em; }
@media screen and (max-width: 599px) { main section#topCompanySct .box .jp { font-size: 180%; } }
main section#topCompanySct .box .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .8em 4em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#topCompanySct .box .btn a { font-size: 115%; padding: .9em 5.5em; } }
main section#topCompanySct .box .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#topCompanySct .box .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#topCompanySct .box .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#topCompanySct .box .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#topCompanySct .box .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#topRecruitSct { padding: 20em 0; }
@media screen and (max-width: 599px) { main section#topRecruitSct { padding: 32em 0 30em; } }
main section#topRecruitSct .main { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); display: flex; justify-content: space-between; width: 95%; padding-right: 3%; }
@media screen and (max-width: 599px) { main section#topRecruitSct .main { display: block; width: 90%; padding-right: 0; text-align: center; transform: translateX(-50%) translateY(-40%); } }
main section#topRecruitSct .main .t1 { position: relative; font-size: 450%; letter-spacing: -.02em; }
@media screen and (max-width: 599px) { main section#topRecruitSct .main .t1 { font-size: 530%; white-space: nowrap; margin-bottom: 4em; } }
main section#topRecruitSct .main .t2 { position: relative; display: block; width: 40%; height: 10vw; border: 0.9vw solid #1e1e1e; transition: all .2s; }
@media screen and (max-width: 599px) { main section#topRecruitSct .main .t2 { width: 96%; height: 22vw; margin: 0 auto; border: 1.6vw solid #1e1e1e; } }
main section#topRecruitSct .main .t2:hover { border: 0.7vw solid #50b432; }
@media screen and (max-width: 599px) { main section#topRecruitSct .main .t2:hover { border: 1.6vw solid #50b432; } }
main section#topRecruitSct .main .t2 img.delay { opacity: 0; position: absolute; width: 67%; height: auto; left: 17%; top: .8vw; }
@media screen and (max-width: 599px) { main section#topRecruitSct .main .t2 img.delay { width: 64%; left: 20%; } }
main section#topRecruitSct .main .t2 img.delay.fade { transition: opacity 1s 4s; opacity: 1; }
@media screen and (max-width: 599px) { main section#topRecruitSct .main .t2 img.delay.fade { transition: opacity 1s 3s, left 1s 3s; left: 15%; } }
main section#topInfoSct { background: #fff; padding: 5em 12.5%; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#topInfoSct { display: block; padding: 5em 5% 13em; } }
main section#topInfoSct .lBox h2 { display: block; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#topInfoSct .lBox h2 { margin-bottom: 2.5em; } }
main section#topInfoSct .lBox h2 .en { display: block; font-size: 200%; letter-spacing: -.01em; line-height: 1.4; }
@media screen and (max-width: 599px) { main section#topInfoSct .lBox h2 .en { font-size: 270%; line-height: 1.2; } }
main section#topInfoSct .lBox h2 .jp { display: block; font-size: 110%; font-weight: 500; }
@media screen and (max-width: 599px) { main section#topInfoSct .lBox h2 .jp { font-size: 180%; } }
@media screen and (max-width: 599px) { main section#topInfoSct .lBox .btn { position: absolute; bottom: 5em; left: 0; width: 100%; text-align: center; } }
main section#topInfoSct .lBox .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .7em 4.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#topInfoSct .lBox .btn a { font-size: 115%; padding: .9em 5.5em; } }
main section#topInfoSct .lBox .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#topInfoSct .lBox .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#topInfoSct .lBox .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#topInfoSct .lBox .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#topInfoSct .lBox .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#topInfoSct .rBox { position: relative; width: 45vw; padding-top: 1em; }
@media screen and (max-width: 599px) { main section#topInfoSct .rBox { width: 100%; } }
main section#topInfoSct .rBox .posts li { border-top: 1px solid #b6b6b6; padding: 1.2em 0 1.4em; }
@media screen and (max-width: 599px) { main section#topInfoSct .rBox .posts li { padding: 1.8em 0 1.6em; } }
main section#topInfoSct .rBox .posts li .cate { display: inline-block; color: #fff; font-size: 60%; letter-spacing: 1.2; padding: .1em 2em; border-radius: 2em; margin: 0 1em .9em 0; }
@media screen and (max-width: 599px) { main section#topInfoSct .rBox .posts li .cate { font-size: 110%; } }
main section#topInfoSct .rBox .posts li .cate.info { background-color: #50b432; }
main section#topInfoSct .rBox .posts li .cate.ples { background-color: #6e6e6e; letter-spacing: -.1em; padding: .1em 1.5em; }
main section#topInfoSct .rBox .posts li .date { display: inline-block; color: #6e6e6e; font-size: 70%; }
@media screen and (max-width: 599px) { main section#topInfoSct .rBox .posts li .date { font-size: 120%; } }
main section#topInfoSct .rBox .posts li .txt { font-size: 80%; line-height: 1.4; }
@media screen and (max-width: 599px) { main section#topInfoSct .rBox .posts li .txt { font-size: 135%; line-height: 1.6; } }
main section#topInfoSct .rBox .posts li:last-child { border-bottom: 1px solid #b6b6b6; }
main section#aboutMainSct { padding: 8em 0 0; }
@media screen and (max-width: 599px) { main section#aboutMainSct { padding: 9em 0 0; } }
main section#aboutMainSct .picB { position: absolute; right: -10vw; top: 16em; width: 68vw; }
@media screen and (max-width: 599px) { main section#aboutMainSct .picB { left: -23%; right: inherit; bottom: inherit; top: 36em; width: 145%; } }
main section#aboutMainSct .picB img { width: 100%; height: auto; }
main section#aboutMainSct .picB img.boxImg { position: relative; z-index: 5; top: 0; left: 0; }
main section#aboutMainSct .picB img.illstImg { opacity: 0; position: absolute; z-index: 1; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%) scale(70%); transition: all 0.5s cubic-bezier(0.375, -0.275, 0.105, 1.565) 0.5s; }
main section#aboutMainSct .picB img.illstImg.fade { opacity: 1; transform: translateX(-50%) translateY(-50%) scale(100%); }
main section#aboutMainSct .copyB { position: relative; margin: 10em 0 8em 12.5%; }
@media screen and (max-width: 599px) { main section#aboutMainSct .copyB { margin: 5em 5%; } }
main section#aboutMainSct .copyB .copy { font-size: 180%; font-weight: 700; letter-spacing: .14em; margin-bottom: .8em; }
@media screen and (max-width: 599px) { main section#aboutMainSct .copyB .copy { font-size: 270%; margin-bottom: 13.5em; } }
main section#aboutMainSct .copyB .copy > span { display: inline-block; color: #50b432; line-height: 1.3; padding: 0 1.5em; margin-right: .5em; border: 0.5vw solid #1e1e1e; }
@media screen and (max-width: 599px) { main section#aboutMainSct .copyB .copy > span { border-width: 1.4vw; } }
main section#aboutMainSct .copyB .copy > span .delay { display: block; opacity: 0; }
main section#aboutMainSct .copyB .copy > span .delay.fade { transition: opacity 1s 4s; opacity: 1; }
main section#aboutMainSct .copyB .txt { display: block; width: 32vw; font-size: 70%; font-weight: 500; line-height: 2; }
@media screen and (max-width: 599px) { main section#aboutMainSct .copyB .txt { width: 100%; font-size: 135%; } }
main section#aboutMainSct .presidentB { margin-top: 5em; padding: 0 12.5% 4em; }
@media screen and (max-width: 599px) { main section#aboutMainSct .presidentB { padding: 0 5% 6em; } }
main section#aboutMainSct .presidentB .ttl { font-size: 150%; font-weight: 500; letter-spacing: .14em; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#aboutMainSct .presidentB .ttl { font-size: 220%; letter-spacing: .1em; margin-bottom: 1em; } }
main section#aboutMainSct .presidentB .txt { font-size: 80%; letter-spacing: .1em; line-height: 2; }
@media screen and (max-width: 599px) { main section#aboutMainSct .presidentB .txt { width: 100%; font-size: 135%; } }
main section#aboutMainSct .presidentB .txt span { display: block; padding-top: 1em; text-align: right; }
main section#aboutMainSct .presidentB .txt span small { padding-right: 1em; }
main section#aboutDetailSct { padding: 2em 0; }
@media screen and (max-width: 599px) { main section#aboutDetailSct { padding: 0 0 2em; } }
main section#aboutDetailSct .headImg { display: block; margin-bottom: 5em; }
main section#aboutDetailSct .headImg img { width: 100%; height: auto; }
main section#aboutDetailSct .box1 { position: relative; display: flex; justify-content: space-between; width: 75%; margin: 0 auto 2em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .box1 { width: 90%; display: block; margin: 0 auto 4.5em; } }
main section#aboutDetailSct .box1 .txtB { width: 50%; padding-top: 2em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .box1 .txtB { width: 100%; padding-top: 0; margin-bottom: 3.5em; } }
main section#aboutDetailSct .box1 .txtB .head { display: block; font-size: 170%; font-weight: 500; letter-spacing: .14em; line-height: 1.8; margin-bottom: 1.6em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .box1 .txtB .head { font-size: 240%; line-height: 1.6; margin-bottom: 1.3em; } }
main section#aboutDetailSct .box1 .txtB .txt { display: block; width: 32vw; font-size: 70%; font-weight: 500; line-height: 1.9; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .box1 .txtB .txt { width: 100%; font-size: 135%; } }
main section#aboutDetailSct .box1 .illstB { width: 48%; text-align: center; padding-top: .5em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .box1 .illstB { width: 100%; } }
main section#aboutDetailSct .box1 .illstB .ttl { display: block; font-size: 90%; margin-bottom: 1.8em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .box1 .illstB .ttl { font-size: 160%; margin-bottom: .8em; } }
main section#aboutDetailSct .box1 .illstB .ttl small { display: block; letter-spacing: -.02em; }
main section#aboutDetailSct .box1 .illstB img { display: block; width: 100%; height: auto; }
main section#aboutDetailSct .addB { position: relative; display: flex; justify-content: space-between; width: 75%; margin: 0 auto 3em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .addB { width: 90%; display: block; } }
main section#aboutDetailSct .addB li { width: 28%; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .addB li { width: 100%; margin-bottom: 4.5em; } }
main section#aboutDetailSct .addB li .pic { display: block; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .addB li .pic { margin-bottom: 2em; } }
main section#aboutDetailSct .addB li .pic img { width: 100%; height: auto; }
main section#aboutDetailSct .addB li .name { display: block; font-size: 90%; font-weight: 500; line-height: 1.6; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .addB li .name { font-size: 170%; } }
main section#aboutDetailSct .addB li .txt { display: block; font-size: 65%; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .addB li .txt { font-size: 115%; } }
main section#aboutDetailSct .addB li:nth-child(2) { padding-top: 4em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .addB li:nth-child(2) { padding-top: 0; } }
main section#aboutDetailSct .addB li:nth-child(3) { padding-top: 8em; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .addB li:nth-child(3) { padding-top: 0; } }
main section#aboutDetailSct .btn { text-align: center; }
main section#aboutDetailSct .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .8em 5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#aboutDetailSct .btn a { font-size: 115%; padding: .9em 6em; } }
main section#aboutDetailSct .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#aboutDetailSct .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#aboutDetailSct .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#aboutDetailSct .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#aboutDetailSct .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#aboutSustainaSct { padding: 3em 0 2em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct { padding: 5em 0 2em; } }
main section#aboutSustainaSct h2 { display: block; background: url("../img/about_pic5.webp") no-repeat center top/cover; padding: 4.5em 0 22em; text-align: center; margin-bottom: 4.5em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct h2 { background-image: url("../img/about_pic5-sp.webp"); padding: 5.5em 0 30em; } }
main section#aboutSustainaSct h2 .en { display: block; font-size: 450%; letter-spacing: -.02em; line-height: 1.3; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct h2 .en { font-size: 430%; } }
main section#aboutSustainaSct h2 .jp { display: block; font-size: 110%; font-weight: 500; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct h2 .jp { font-size: 180%; } }
main section#aboutSustainaSct .box1 { position: relative; display: flex; justify-content: space-between; width: 75%; margin: 0 auto 3em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .box1 { display: block; width: 90%; } }
main section#aboutSustainaSct .box1 .head { display: block; font-size: 170%; font-weight: 500; letter-spacing: .14em; line-height: 1.6; margin-bottom: 1.6em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .box1 .head { font-size: 240%; margin-bottom: 1.3em; } }
main section#aboutSustainaSct .box1 .txt { display: block; width: 32vw; font-size: 70%; font-weight: 500; line-height: 2; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .box1 .txt { width: 100%; font-size: 135%; } }
main section#aboutSustainaSct .sasB { position: relative; display: flex; justify-content: center; width: 75%; margin: 0 auto 3em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .sasB { width: 90%; display: block; } }
main section#aboutSustainaSct .sasB li { width: 40%; margin: 0 2em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .sasB li { width: 100%; margin: 0 0 3em; } }
main section#aboutSustainaSct .sasB li .pic { display: block; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .sasB li .pic { margin-bottom: 2em; } }
main section#aboutSustainaSct .sasB li .pic img { width: 100%; height: auto; }
main section#aboutSustainaSct .sasB li .name { display: block; font-size: 90%; font-weight: 500; line-height: 1.6; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .sasB li .name { font-size: 170%; } }
main section#aboutSustainaSct .sasB li .txt { display: block; font-size: 65%; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .sasB li .txt { font-size: 115%; } }
main section#aboutSustainaSct .sasB li:nth-child(2) { padding-top: 4em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .sasB li:nth-child(2) { padding-top: 0; } }
main section#aboutSustainaSct .sasB li:nth-child(3) { padding-top: 8em; }
@media screen and (max-width: 599px) { main section#aboutSustainaSct .sasB li:nth-child(3) { padding-top: 0; } }
main section#worksMainSct { padding: 8em 0 3em; }
@media screen and (max-width: 599px) { main section#worksMainSct { padding: 9em 0 3em; } }
main section#worksMainSct .worksList { position: relative; width: 75%; margin: 6em auto 0; display: flex; justify-content: space-between; flex-wrap: wrap; }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList { width: 90%; } }
main section#worksMainSct .worksList li { width: 31%; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList li { width: 100%; } }
main section#worksMainSct .worksList li .box { display: block; overflow: hidden; border-radius: .8em; background: #fff; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1); }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList li .box { border-radius: 1.2em; } }
main section#worksMainSct .worksList li .box .pic { display: block; width: 100%; height: auto; }
main section#worksMainSct .worksList li .box .txtB { padding: 1.5em; }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList li .box .txtB { padding: 2em 2em 2.5em; } }
main section#worksMainSct .worksList li .box .txtB .client { display: block; color: #50b432; font-size: 85%; font-weight: 500; line-height: 1.4; margin-bottom: .2em; }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList li .box .txtB .client { font-size: 180%; } }
main section#worksMainSct .worksList li .box .txtB .project { display: block; font-size: 110%; font-weight: 500; line-height: 1.4; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList li .box .txtB .project { font-size: 180%; } }
main section#worksMainSct .worksList li .box .txtB .txt { display: block; font-size: 65%; letter-spacing: .05em; margin-bottom: .8em; }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList li .box .txtB .txt { font-size: 145%; } }
main section#worksMainSct .worksList li .box .txtB .btn a { position: relative; display: inline-block; background: #fff; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .2em 1.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#worksMainSct .worksList li .box .txtB .btn a { font-size: 115%; padding: .3em 2.5em; } }
main section#worksMainSct .worksList li .box .txtB .btn a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#worksMainSct .worksList li .box .txtB .btn a::after { content: ""; position: absolute; left: .28em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#worksMainSct .worksList li .box .txtB .btn a:hover { opacity: 1; color: #50b432; }
main section#worksMainSct .worksList li .box .txtB .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#worksMainSct .worksList li .box .txtB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#worksMainSct .caseDetail { position: relative; width: 75%; margin: 4.5em auto 1em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail { width: 100%; margin: 3em auto 1em; } }
main section#worksMainSct .caseDetail .client { display: block; color: #50b432; font-size: 120%; font-weight: 500; line-height: 1.4; letter-spacing: .14em; margin-bottom: .6em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .client { padding: 1.8em 0 0 5%; font-size: 180%; } }
main section#worksMainSct .caseDetail .date { position: absolute; top: .5em; right: 0; color: #6e6e6e; font-size: 90%; letter-spacing: -.015em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .date { top: 0; padding-right: 5%; font-size: 120%; } }
main section#worksMainSct .caseDetail .project { display: block; font-size: 180%; font-weight: 500; line-height: 1.5; letter-spacing: .14em; margin-bottom: 1.6em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .project { padding-left: 5%; font-size: 220%; margin-bottom: 1.8em; } }
main section#worksMainSct .caseDetail .tmp1 { position: relative; margin-bottom: 3.5em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp1 { margin-bottom: 4.5em; } }
main section#worksMainSct .caseDetail .tmp1 .imgB { margin-bottom: 2.2em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp1 .imgB { margin-bottom: 4em; } }
main section#worksMainSct .caseDetail .tmp1 .imgB img { display: block; overflow: hidden; border-radius: .8em; width: 100%; height: auto; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp1 .imgB img { border-radius: 0; } }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp1 .txtB { padding: 0 5%; } }
main section#worksMainSct .caseDetail .tmp1 .txtB .ttl { display: block; font-size: 110%; font-weight: 500; line-height: 1.5; letter-spacing: .12em; margin-bottom: 1.5em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp1 .txtB .ttl { font-size: 180%; } }
main section#worksMainSct .caseDetail .tmp1 .txtB .txt { font-size: 70%; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp1 .txtB .txt { font-size: 135%; } }
main section#worksMainSct .caseDetail .tmp2 { position: relative; display: flex; justify-content: space-between; margin-bottom: 3.5em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp2 { display: block; margin-bottom: 4em; } }
main section#worksMainSct .caseDetail .tmp2 .txtB { width: 46%; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp2 .txtB { width: 100%; padding: 0 5%; } }
main section#worksMainSct .caseDetail .tmp2 .txtB .ttl { display: block; font-size: 110%; font-weight: 500; line-height: 1.5; letter-spacing: .12em; margin-bottom: 1.5em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp2 .txtB .ttl { font-size: 180%; } }
main section#worksMainSct .caseDetail .tmp2 .txtB .txt { font-size: 70%; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp2 .txtB .txt { font-size: 135%; } }
main section#worksMainSct .caseDetail .tmp2 .imgB { width: 46%; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .tmp2 .imgB { display: none; } }
main section#worksMainSct .caseDetail .tmp2 .imgB img { display: block; overflow: hidden; border-radius: .8em; width: 100%; height: auto; }
main section#worksMainSct .caseDetail .mvBox { position: relative; width: 80%; margin: 0 auto 3.5em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .mvBox { width: 100%; } }
main section#worksMainSct .caseDetail .mvBox .youtube { width: 100%; aspect-ratio: 16 / 9; }
main section#worksMainSct .caseDetail .mvBox .youtube iframe { width: 100%; height: 100%; }
main section#worksMainSct .caseDetail .noteB { position: relative; background: #fff; border-radius: .8em; color: #6e6e6e; padding: 1.3em 2.3em; display: flex; justify-content: space-between; flex-wrap: wrap; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .noteB { width: 90%; margin: 0 auto; display: block; padding: 2.2em; } }
main section#worksMainSct .caseDetail .noteB > div { width: 46%; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .noteB > div { width: 100%; } }
main section#worksMainSct .caseDetail .noteB > div .head { display: block; font-size: 90%; letter-spacing: -.015em; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .noteB > div .head { font-size: 160%; } }
main section#worksMainSct .caseDetail .noteB > div .spec { display: block; font-size: 60%; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .noteB > div .spec { font-size: 100%; } }
main section#worksMainSct .caseDetail .noteB > div .txt { display: block; font-size: 60%; padding-top: 4.5em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .noteB > div .txt { font-size: 100%; padding-top: 0; } }
main section#worksMainSct .caseDetail .noteB > div.atn { width: 100%; border-top: 1px solid #e2e2e2; margin-top: 1em; padding-top: 1em; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .noteB > div.atn { margin-top: 2em; padding-top: 2em; } }
main section#worksMainSct .caseDetail .noteB > div.atn p { display: block; font-size: 60%; }
@media screen and (max-width: 599px) { main section#worksMainSct .caseDetail .noteB > div.atn p { font-size: 100%; } }
main section#servicesMainSct { padding: 8em 0 7em; }
@media screen and (max-width: 599px) { main section#servicesMainSct { padding: 9em 0 7em; } }
main section#servicesMainSct .roundBtn { position: absolute; z-index: 10; right: 12.5%; top: 20em; width: 29.6vw; display: flex; justify-content: center; flex-wrap: wrap; transform: rotate(-45deg); }
@media screen and (max-width: 599px) { main section#servicesMainSct .roundBtn { right: 5%; top: 39em; width: 90vw; } }
main section#servicesMainSct .roundBtn .btnR { width: 14.8vw; }
@media screen and (max-width: 599px) { main section#servicesMainSct .roundBtn .btnR { width: 45vw; } }
main section#servicesMainSct .roundBtn .btnR a { display: block; width: 14.8vw; height: 14.8vw; }
@media screen and (max-width: 599px) { main section#servicesMainSct .roundBtn .btnR a { width: 45vw; height: 45vw; } }
main section#servicesMainSct .roundBtn .btnR a.btn1 { background: url("../img/service_btn1.webp") no-repeat center center/contain; }
main section#servicesMainSct .roundBtn .btnR a.btn1:hover { opacity: 1; background-image: url("../img/service_btn1-on.webp"); }
main section#servicesMainSct .roundBtn .btnR a.btn2 { background: url("../img/service_btn2.webp") no-repeat center center/contain; }
main section#servicesMainSct .roundBtn .btnR a.btn2:hover { opacity: 1; background-image: url("../img/service_btn2-on.webp"); }
main section#servicesMainSct .roundBtn .btnR a.btn3 { background: url("../img/service_btn3.webp") no-repeat center center/contain; }
main section#servicesMainSct .roundBtn .btnR a.btn3:hover { opacity: 1; background-image: url("../img/service_btn3-on.webp"); }
main section#servicesMainSct .roundBtn .btnR a.btn4 { background: url("../img/service_btn4.webp") no-repeat center center/contain; }
main section#servicesMainSct .roundBtn .btnR a.btn4:hover { opacity: 1; background-image: url("../img/service_btn4-on.webp"); }
main section#servicesMainSct .roundBtn .btnR a img { width: 100%; height: auto; }
main section#servicesMainSct .copyB { position: relative; margin: 8em 0 13em 12.5%; }
@media screen and (max-width: 599px) { main section#servicesMainSct .copyB { margin: 5.5em 5% 0; } }
main section#servicesMainSct .copyB .copy { font-size: 170%; font-weight: 700; letter-spacing: .14em; line-height: 1.6; margin-bottom: .8em; }
@media screen and (max-width: 599px) { main section#servicesMainSct .copyB .copy { font-size: 235%; margin-bottom: 16.8em; } }
main section#servicesMainSct .ourB { position: relative; width: 75%; margin: 5em auto 0; }
@media screen and (max-width: 599px) { main section#servicesMainSct .ourB { width: 90%; margin: 7em auto 0; } }
main section#servicesMainSct .ourB .head { display: block; text-align: center; font-size: 170%; letter-spacing: -.015em; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#servicesMainSct .ourB .head { font-size: 220%; margin-bottom: 1.3em; } }
main section#servicesMainSct .ourB .advList { display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#servicesMainSct .ourB .advList { display: block; } }
main section#servicesMainSct .ourB .advList li { width: 31%; background: #fff; padding: 7em 1.5em 1.5em; border-radius: .8em; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.05); }
@media screen and (max-width: 599px) { main section#servicesMainSct .ourB .advList li { width: 100%; padding: 3em; border-radius: 1.2em; margin-bottom: 1.7em; background-size: 28% !important; background-position: 90% 2.2em !important; } }
main section#servicesMainSct .ourB .advList li .ttl { display: block; text-align: center; font-size: 100%; font-weight: 500; }
@media screen and (max-width: 599px) { main section#servicesMainSct .ourB .advList li .ttl { text-align: left; font-size: 180%; line-height: 1.6; } }
main section#servicesMainSct .ourB .advList li:nth-child(1) { background: #fff url("../img/service_icn1.svg") no-repeat center 1.2em/40%; }
main section#servicesMainSct .ourB .advList li:nth-child(2) { background: #fff url("../img/service_icn2.svg") no-repeat center 1.2em/40%; }
main section#servicesMainSct .ourB .advList li:nth-child(3) { background: #fff url("../img/service_icn3.svg") no-repeat center 1.2em/40%; }
main section#servicesMainSct .flowB { position: relative; width: 75%; margin: 4.5em auto 0; }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB { width: 90%; margin: 7em auto 0; } }
main section#servicesMainSct .flowB .head { display: block; text-align: center; font-size: 170%; letter-spacing: -.015em; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB .head { font-size: 220%; margin-bottom: 1.3em; } }
main section#servicesMainSct .flowB .flowList { position: relative; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB .flowList { flex-wrap: wrap; } }
main section#servicesMainSct .flowB .flowList li { width: calc(75vw / 9); }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB .flowList li { width: 45vw; } }
main section#servicesMainSct .flowB .flowList li .round { position: relative; z-index: 5; background: linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); width: 100%; height: calc(75vw / 9); border-radius: 50%; text-align: center; color: #fff; box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.05); }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB .flowList li .round { width: 32vw; height: 32vw; margin: 0 auto 4em; } }
main section#servicesMainSct .flowB .flowList li .round .no { font-size: 70%; letter-spacing: 0; padding-top: .2em; }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB .flowList li .round .no { font-size: 125%; letter-spacing: .05em; } }
main section#servicesMainSct .flowB .flowList li .round .txt { display: block; font-size: 75%; font-weight: 500; letter-spacing: .05em; line-height: 1.1; padding-top: 3em; }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB .flowList li .round .txt { font-size: 140%; letter-spacing: .1em; padding-top: 3.2em; } }
main section#servicesMainSct .flowB .flowList li:nth-child(1) .round { background: url("../img/service_icn-f1.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(2) .round { background: url("../img/service_icn-f2.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(3) .round { background: url("../img/service_icn-f3.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(4) .round { background: url("../img/service_icn-f4.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(5) .round { background: url("../img/service_icn-f5.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(6) .round { background: url("../img/service_icn-f6.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(7) .round { background: url("../img/service_icn-f7.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(8) .round { background: url("../img/service_icn-f8.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(9) .round { background: url("../img/service_icn-f9.svg") no-repeat center center/contain, linear-gradient(180deg, #6e6e6e 0%, #6e6e6e 20%, #50b432 20%, #50b432 100%); }
main section#servicesMainSct .flowB .flowList li:nth-child(2n) { padding-top: 5.5em; }
@media screen and (max-width: 599px) { main section#servicesMainSct .flowB .flowList li:nth-child(2n) { padding-top: 0; }
  main section#servicesMainSct .flowB .flowList li:nth-child(2n) .round { top: 7.3em; } }
main section .headBs { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 10.5em 12.5% 11.5em 5%; color: #fff; }
@media screen and (max-width: 599px) { main section .headBs { display: block; padding: 10em 5% 11em; } }
main section .headBs h3 .en { font-size: 450%; letter-spacing: -.01em; }
@media screen and (max-width: 599px) { main section .headBs h3 .en { font-size: 550%; margin-bottom: 1.5em; } }
main section .headBs .txtB { width: 38%; }
@media screen and (max-width: 599px) { main section .headBs .txtB { width: 100%; } }
main section .headBs .txtB .ttl { display: block; font-size: 160%; font-weight: 500; line-height: 1.5; letter-spacing: .12em; margin-bottom: .8em; }
@media screen and (max-width: 599px) { main section .headBs .txtB .ttl { font-size: 270%; } }
main section .headBs .txtB .txt { display: block; font-size: 68%; font-weight: 500; }
@media screen and (max-width: 599px) { main section .headBs .txtB .txt { font-size: 138%; } }
main section .servicesList { position: relative; width: 75%; margin: 5em auto 0; display: flex; justify-content: space-between; flex-wrap: wrap; }
@media screen and (max-width: 599px) { main section .servicesList { width: 90%; } }
main section .servicesList li { width: 31%; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section .servicesList li { width: 100%; margin-bottom: 2em; } }
main section .servicesList li .box { display: block; overflow: hidden; border-radius: .8em; background: #fff; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.05); }
@media screen and (max-width: 599px) { main section .servicesList li .box { border-radius: 1.2em; } }
main section .servicesList li .box .pic { position: relative; z-index: 2; display: block; width: 100%; height: auto; }
main section .servicesList li .box .txtB { position: relative; z-index: 5; padding: 1.5em; }
@media screen and (max-width: 599px) { main section .servicesList li .box .txtB { background: #fff; top: -2em; padding: 2em 2em 2.4em; margin-bottom: -2em; } }
main section .servicesList li .box .txtB .ttl { display: block; text-align: center; font-size: 95%; font-weight: 500; letter-spacing: .12em; line-height: 1.7; margin-bottom: .8em; }
@media screen and (max-width: 599px) { main section .servicesList li .box .txtB .ttl { font-size: 180%; } }
main section .servicesList li .box .txtB .ttl span { color: #50b432; }
main section .servicesList li .box .txtB .txt { display: block; font-size: 65%; letter-spacing: .08em; }
@media screen and (max-width: 599px) { main section .servicesList li .box .txtB .txt { font-size: 125%; } }
main section#servicesPlanSct { padding: 3em 0; }
main section#servicesPlanSct .headBs { background: url("../img/service_headbg1.webp") no-repeat center center/cover; }
@media screen and (max-width: 599px) { main section#servicesPlanSct .headBs { background-image: url("../img/service_headbg1-sp.webp"); } }
main section#servicesDginSct { padding: 3em 0; }
main section#servicesDginSct .headBs { background: url("../img/service_headbg2.webp") no-repeat center center/cover; }
@media screen and (max-width: 599px) { main section#servicesDginSct .headBs { background-image: url("../img/service_headbg2-sp.webp"); } }
main section#servicesPrdtSct { padding: 3em 0; }
main section#servicesPrdtSct .headBs { background: url("../img/service_headbg3.webp") no-repeat center center/cover; }
@media screen and (max-width: 599px) { main section#servicesPrdtSct .headBs { background-image: url("../img/service_headbg3-sp.webp"); padding: 21em 5% 6em; }
  main section#servicesPrdtSct .headBs h3 .en { margin-bottom: .2em; } }
main section#servicesLogiSct { padding: 3em 0 5em; }
@media screen and (max-width: 599px) { main section#servicesLogiSct { padding: 3em 0 6em; } }
main section#servicesLogiSct .headBs { background: url("../img/service_headbg4.webp") no-repeat center center/cover; }
@media screen and (max-width: 599px) { main section#servicesLogiSct .headBs { background-image: url("../img/service_headbg4-sp.webp"); } }
main section#servicesLogiSct .groupB { position: relative; width: 75%; margin: 3em auto 0; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#servicesLogiSct .groupB { width: 90%; display: block; } }
main section#servicesLogiSct .groupB .txtB { position: relative; padding-top: 1em; }
@media screen and (max-width: 599px) { main section#servicesLogiSct .groupB .txtB { width: 100%; } }
main section#servicesLogiSct .groupB .txtB .ttl { font-size: 170%; font-weight: 700; letter-spacing: .14em; line-height: 1.6; margin-bottom: .9em; }
@media screen and (max-width: 599px) { main section#servicesLogiSct .groupB .txtB .ttl { font-size: 230%; margin-bottom: 13.5em; } }
main section#servicesLogiSct .groupB .txtB .txt { display: block; width: 32vw; font-size: 70%; font-weight: 500; line-height: 1.9; }
@media screen and (max-width: 599px) { main section#servicesLogiSct .groupB .txtB .txt { width: 100%; font-size: 135%; } }
main section#servicesLogiSct .groupB .mapB { width: 46%; }
@media screen and (max-width: 599px) { main section#servicesLogiSct .groupB .mapB { width: 100%; position: absolute; top: 10.5em; left: 0; } }
main section#servicesLogiSct .groupB .mapB img { width: 100%; height: auto; }
main section#companyMainSct { padding: 8em 0 1em; }
@media screen and (max-width: 599px) { main section#companyMainSct { padding: 9em 0 3em; } }
main section#companyMainSct .headImg { position: relative; background: url("../img/company_head_bg.webp") no-repeat center center/cover; padding: 6.5em 0 13em; margin-top: 3.2em; text-align: center; color: #fff; }
@media screen and (max-width: 599px) { main section#companyMainSct .headImg { background-image: url("../img/company_head_bg-sp.webp"); margin-top: 6em; padding: 6em 0 35em; } }
main section#companyMainSct .headImg .head { display: block; font-size: 170%; font-weight: 700; line-height: 1.6; letter-spacing: .12em; margin-bottom: 1em; }
@media screen and (max-width: 599px) { main section#companyMainSct .headImg .head { font-size: 240%; margin-bottom: 2em; } }
main section#companyMainSct h3 { position: relative; display: inline-block; margin-bottom: 3.5em; }
@media screen and (max-width: 599px) { main section#companyMainSct h3 { margin-bottom: 4.5em; } }
main section#companyMainSct h3 div { border-top: 0.5vw solid #1e1e1e; border-right: 0.5vw solid #1e1e1e; border-bottom: 0.5vw solid #1e1e1e; display: flex; align-items: center; justify-content: flex-start; padding: 0 3em 0 3em; }
@media screen and (max-width: 599px) { main section#companyMainSct h3 div { border-top-width: 1.4vw; border-right-width: 1.4vw; border-bottom-width: 1.4vw; padding: 0 2em 0 1.8em; } }
main section#companyMainSct h3 div .en { font-size: 180%; letter-spacing: 0; line-height: 2.1; padding-right: 1em; }
@media screen and (max-width: 599px) { main section#companyMainSct h3 div .en { font-size: 270%; padding-right: .5em; } }
main section#companyMainSct h3 div .jp { font-weight: 500; }
@media screen and (max-width: 599px) { main section#companyMainSct h3 div .jp { font-size: 160%; } }
main section#companyMainSct .tbList { position: relative; width: 75%; margin: 0 auto 4.5em; border-collapse: separate; border-spacing: 5px 0; }
@media screen and (max-width: 599px) { main section#companyMainSct .tbList { width: 90%; border-collapse: collapse; border-spacing: 0; margin: 0 auto 5.5em; } }
main section#companyMainSct .tbList tr th { width: 22.5%; border-top: 2px solid #50b432; font-size: 75%; font-weight: 500; line-height: 2; padding: 1em 1.5em; }
@media screen and (max-width: 599px) { main section#companyMainSct .tbList tr th { display: block; width: 100%; font-size: 135%; line-height: 1.8; letter-spacing: .1em; padding: .8em 1.2em; } }
main section#companyMainSct .tbList tr td { border-top: 2px solid #e2e2e2; font-size: 75%; font-weight: 500; line-height: 2; padding: 1em 1.5em; counter-reset: listnum; }
@media screen and (max-width: 599px) { main section#companyMainSct .tbList tr td { display: block; font-size: 135%; line-height: 1.8; letter-spacing: .1em; padding: .8em 1.2em; } }
main section#companyMainSct .tbList tr td span { position: relative; display: block; padding-left: 1.5em; }
main section#companyMainSct .tbList tr td span::before { position: absolute; left: 0; counter-increment: listnum; content: counter(listnum) "."; }
main section#companyMainSct .tbList tr:last-child th { border-bottom: 2px solid #50b432; }
@media screen and (max-width: 599px) { main section#companyMainSct .tbList tr:last-child th { border-bottom: none; } }
main section#companyMainSct .tbList tr:last-child td { border-bottom: 2px solid #e2e2e2; }
main section#companyMainSct .overviewB { padding: 4.5em 0 3em; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB { padding: 6em 0 3em; } }
main section#companyMainSct .overviewB .txtB { position: relative; width: 75%; margin: 0 auto 1.5em; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .txtB { width: 90%; margin: 0 auto 2.5em; } }
main section#companyMainSct .overviewB .txtB .name { font-weight: 500; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .txtB .name { font-size: 155%; margin-bottom: .5em; } }
main section#companyMainSct .overviewB .txtB .add { font-size: 80%; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .txtB .add { font-size: 135%; } }
main section#companyMainSct .overviewB .picB { position: relative; width: 75%; margin: 0 auto 1.8em; display: flex; justify-content: space-between; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .picB { width: 90%; display: block; margin: 0 auto; } }
main section#companyMainSct .overviewB .picB img { width: 48.5%; height: auto; overflow: hidden; border-radius: .8em; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .picB img { width: 100%; margin-bottom: 1.8em; } }
main section#companyMainSct .overviewB .mapB { position: relative; width: 75%; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .mapB { width: 90%; } }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .mapB iframe { height: 420px !important; } }
main section#companyMainSct .overviewB .mapB .btn { text-align: right; margin-top: 1.3em; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .mapB .btn { text-align: center; margin-top: 1.8em; } }
main section#companyMainSct .overviewB .mapB .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: 0; padding: .8em 4.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#companyMainSct .overviewB .mapB .btn a { font-size: 115%; padding: .8em 5em; } }
main section#companyMainSct .overviewB .mapB .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#companyMainSct .overviewB .mapB .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#companyMainSct .overviewB .mapB .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#companyMainSct .overviewB .mapB .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#companyMainSct .overviewB .mapB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#companyMainSct .branchB { padding: 4.5em 0 4em; }
main section#companyMainSct .branchB .headB { position: relative; display: flex; justify-content: space-between; align-items: center; padding: 4em 12.5%; background: url("../img/company_pic3.webp") no-repeat center center/cover; color: #fff; margin-bottom: 5em; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .headB { display: block; padding: 8em 5% 18em; background-image: url("../img/company_pic3-sp.webp"); } }
main section#companyMainSct .branchB .headB .txtB2 { width: 43%; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .headB .txtB2 { width: 100%; margin-bottom: 3em; } }
main section#companyMainSct .branchB .headB .txtB2 .ttl { display: block; white-space: nowrap; font-size: 130%; font-weight: 500; line-height: 1.6; letter-spacing: .12em; margin-bottom: 1.6em; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .headB .txtB2 .ttl { font-size: 220%; margin-bottom: 1em; } }
main section#companyMainSct .branchB .headB .imgB2 { width: 40%; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .headB .imgB2 { width: 100%; } }
main section#companyMainSct .branchB .headB .imgB2 img { width: 100%; height: auto; }
main section#companyMainSct .branchB .txtB { position: relative; width: 75%; margin: 3em auto 1.5em; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .txtB { width: 90%; margin: 4.5em auto 2.5em; } }
main section#companyMainSct .branchB .txtB .name { font-weight: 500; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .txtB .name { font-size: 155%; margin-bottom: .5em; } }
main section#companyMainSct .branchB .txtB .add { font-size: 80%; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .txtB .add { font-size: 135%; } }
main section#companyMainSct .branchB .mapB { position: relative; width: 75%; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .mapB { width: 90%; } }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .mapB iframe { height: 420px !important; } }
main section#companyMainSct .branchB .mapB .btn { text-align: right; margin-top: 1.3em; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .mapB .btn { text-align: center; margin-top: 1.8em; } }
main section#companyMainSct .branchB .mapB .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: 0; padding: .8em 4.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#companyMainSct .branchB .mapB .btn a { font-size: 115%; padding: .8em 5em; } }
main section#companyMainSct .branchB .mapB .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#companyMainSct .branchB .mapB .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#companyMainSct .branchB .mapB .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#companyMainSct .branchB .mapB .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#companyMainSct .branchB .mapB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#companyMainSct .groupB { padding: 4.5em 0 3em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB { padding: 4.5em 0 0; } }
main section#companyMainSct .groupB .groupList { position: relative; display: flex; flex-wrap: nowrap; justify-content: space-between; flex-wrap: wrap; width: 75%; margin: 1em auto 0; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList { display: block; width: 90%; } }
main section#companyMainSct .groupB .groupList > li { width: 42%; margin-bottom: 4em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li { width: 100%; margin-bottom: 5em; } }
main section#companyMainSct .groupB .groupList > li .name { display: block; font-weight: 500; letter-spacing: .1em; margin-bottom: .5em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .name { font-size: 165%; } }
main section#companyMainSct .groupB .groupList > li .add { display: block; font-size: 80%; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .add { font-size: 135%; } }
main section#companyMainSct .groupB .groupList > li .tel { display: block; font-size: 80%; margin-bottom: 1.4em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .tel { font-size: 135%; margin-bottom: 1.2em; } }
main section#companyMainSct .groupB .groupList > li .bcBox { position: relative; background: #fff; padding: 1em 1.4em; border-radius: .8em; color: #6e6e6e; font-size: 70%; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .bcBox { font-size: 125%; } }
main section#companyMainSct .groupB .groupList > li .bcBox .ttl { display: block; margin-bottom: .2em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .bcBox .ttl { margin-bottom: .4em; } }
main section#companyMainSct .groupB .groupList > li .bcBox .bcList { position: relative; display: flex; flex-wrap: wrap; }
main section#companyMainSct .groupB .groupList > li .bcBox .bcList li { position: relative; white-space: nowrap; margin-right: 1em; }
main section#companyMainSct .groupB .groupList > li .bcBox .bcList li::before { content: "●"; display: inline-block; margin-right: .2em; }
main section#companyMainSct .groupB .groupList > li .mapB { margin-top: 1.6em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .mapB { margin-top: 2em; } }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .mapB iframe { height: 240px !important; } }
main section#companyMainSct .groupB .groupList > li .mapB .btn { text-align: right; margin-top: 1em; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .mapB .btn { text-align: center; margin-top: 1.5em; } }
main section#companyMainSct .groupB .groupList > li .mapB .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: 0; padding: .8em 4.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#companyMainSct .groupB .groupList > li .mapB .btn a { font-size: 115%; padding: .8em 5em; } }
main section#companyMainSct .groupB .groupList > li .mapB .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#companyMainSct .groupB .groupList > li .mapB .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#companyMainSct .groupB .groupList > li .mapB .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#companyMainSct .groupB .groupList > li .mapB .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#companyMainSct .groupB .groupList > li .mapB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#companyMainSct .historyB { padding: 4.5em 0 0; }
main section#informationDetailSct { background: #f0f0f0; padding: 1em 0 4em; }
@media screen and (max-width: 599px) { main section#informationDetailSct { padding: 3em 0 6em; } }
main section#informationDetailSct .posts { position: relative; width: 75%; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#informationDetailSct .posts { width: 90%; } }
main section#informationDetailSct .posts li { border-top: 1px solid #b6b6b6; padding: 1.2em 0 1.4em; }
@media screen and (max-width: 599px) { main section#informationDetailSct .posts li { padding: 1.8em 0 1.6em; } }
main section#informationDetailSct .posts li .cate { display: inline-block; color: #fff; font-size: 60%; letter-spacing: 1.2; padding: .1em 2em; border-radius: 2em; margin: 0 1em .9em 0; }
@media screen and (max-width: 599px) { main section#informationDetailSct .posts li .cate { font-size: 110%; } }
main section#informationDetailSct .posts li .cate.info { background-color: #50b432; }
main section#informationDetailSct .posts li .cate.ples { background-color: #6e6e6e; letter-spacing: -.1em; padding: .1em 1.5em; }
main section#informationDetailSct .posts li .date { display: inline-block; color: #6e6e6e; font-size: 70%; }
@media screen and (max-width: 599px) { main section#informationDetailSct .posts li .date { font-size: 120%; } }
main section#informationDetailSct .posts li .txt { font-size: 80%; line-height: 1.4; }
@media screen and (max-width: 599px) { main section#informationDetailSct .posts li .txt { font-size: 135%; line-height: 1.6; } }
main section#informationDetailSct .posts li:last-child { border-bottom: 1px solid #b6b6b6; }
main section#contactDetailSct { position: relative; background: #f0f0f0; }
main section#contactDetailSct .inner { width: 75%; margin: 0 auto; text-align: center; padding: 10em 0 15em; }
@media screen and (max-width: 599px) { main section#contactDetailSct .inner { width: 90%; } }
main section#privacyDetailSct { position: relative; background: #f0f0f0; }
main section#privacyDetailSct dl { display: block; width: 75%; margin: 0 auto; }
@media screen and (max-width: 599px) { main section#privacyDetailSct dl { width: 90%; } }
main section#privacyDetailSct dl dt { font-size: 85%; letter-spacing: .15em; margin-bottom: 1.5em; }
@media screen and (max-width: 599px) { main section#privacyDetailSct dl dt { font-size: 160%; } }
main section#privacyDetailSct dl dd { font-size: 75%; line-height: 2; margin-bottom: 5em; }
@media screen and (max-width: 599px) { main section#privacyDetailSct dl dd { font-size: 135%; } }
main section h2.cmnT { position: relative; padding-bottom: 3em; margin: 0 0 0 6%; }
@media screen and (max-width: 599px) { main section h2.cmnT { padding-bottom: 4em; margin: 0 0 0 5%; } }
main section h2.cmnT .en { display: block; color: #50b432; font-size: 120%; letter-spacing: -.02em; line-height: 1.2; }
@media screen and (max-width: 599px) { main section h2.cmnT .en { font-size: 210%; line-height: 1.3; } }
main section h2.cmnT .jp { display: block; font-size: 200%; font-weight: 700; letter-spacing: .14em; line-height: 1.6; }
@media screen and (max-width: 599px) { main section h2.cmnT .jp { font-size: 240%; } }
main section h2.cmnT::before { content: ""; position: absolute; right: 0; bottom: 0; width: 0%; height: .7vw; background: #1e1e1e; animation-delay: 2s; animation-duration: 2s; animation-timing-function: ease; animation-fill-mode: forwards; }
@media screen and (min-width: 600px) { main section h2.cmnT::before { animation-name: slidein1; } }
@media screen and (max-width: 599px) { main section h2.cmnT::before { animation-name: slidein1-sp; height: 1.6vw; } }
main section h2.cmnT::after { content: ""; position: absolute; right: 0; bottom: 0; width: 0%; height: .7vw; background: #50b432; animation-delay: 3s; animation-duration: 2s; animation-timing-function: ease; animation-fill-mode: forwards; }
@media screen and (min-width: 600px) { main section h2.cmnT::after { animation-name: slidein2; } }
@media screen and (max-width: 599px) { main section h2.cmnT::after { animation-name: slidein2-sp; height: 1.6vw; } }
main section#cmnMainSct { padding: 8em 0 4em; background: #f0f0f0; }
@media screen and (max-width: 599px) { main section#cmnMainSct { padding: 9em 0 4em; } }
main section#cmnMainSct .txtB { position: relative; width: 75%; margin: 6em auto 0; }
@media screen and (max-width: 599px) { main section#cmnMainSct .txtB { width: 90%; margin: 5em auto 0; } }
main section#cmnMainSct .txtB p { display: block; font-size: 75%; line-height: 2; }
@media screen and (max-width: 599px) { main section#cmnMainSct .txtB p { font-size: 135%; } }
main section#cmnMainSct .txtB p a { color: #50b432; text-decoration: underline; }
main section#cmnOtherSct { padding: 2em 0 0; }
main section#cmnOtherSct.noP { padding: 0; }
main section#cmnOtherSct.bg5 { background: #f0f0f0; }
main section#cmnOtherSct h3 { display: block; text-align: center; margin-bottom: 3em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct h3 { font-size: 120%; margin-bottom: 2em; } }
main section#cmnOtherSct h3 .en { font-size: 180%; letter-spacing: -.015em; }
main section#cmnOtherSct h4 { display: block; text-align: center; margin-bottom: 2em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct h4 { font-size: 120%; margin-bottom: 1.5em; } }
main section#cmnOtherSct h4 .en { font-size: 180%; letter-spacing: -.015em; }
main section#cmnOtherSct .inBox { position: relative; display: flex; flex-wrap: wrap; color: #fff; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox { display: block; } }
main section#cmnOtherSct .inBox .corpB { position: relative; width: 50%; margin-bottom: .8em; background: url("../img/cmn_other_pic1.webp") no-repeat center center/cover; padding: 12em 5% 2.8em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox .corpB { width: 100%; background-image: url("../img/cmn_other_pic1-sp.webp"); padding: 16em 5% 3.8em; } }
main section#cmnOtherSct .inBox .srvcB { position: relative; width: 50%; margin-bottom: .8em; background: url("../img/cmn_other_pic2.webp") no-repeat center center/cover; padding: 12em 5% 2.8em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox .srvcB { width: 100%; background-image: url("../img/cmn_other_pic2-sp.webp"); padding: 16em 5% 3.8em; } }
main section#cmnOtherSct .inBox .cntcB { position: relative; width: 100%; text-align: center; background: url("../img/cmn_other_pic3.webp") no-repeat center center/cover; padding: 4.6em 0; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox .cntcB { background-image: url("../img/cmn_other_pic3-sp.webp"); padding: 8em 0 20em; }
  main section#cmnOtherSct .inBox .cntcB .en { font-size: 330%; } }
main section#cmnOtherSct .inBox .en { display: block; font-size: 220%; letter-spacing: -.015em; line-height: 1.4; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox .en { font-size: 270%; } }
main section#cmnOtherSct .inBox .jp { display: block; font-size: 110%; font-weight: 500; letter-spacing: .12em; line-height: 1.4; margin-bottom: 2.2em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox .jp { font-size: 170%; margin-bottom: 1.8em; } }
main section#cmnOtherSct .inBox .txt { display: block; font-size: 80%; margin-bottom: 2.8em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox .txt { font-size: 140%; margin: 4em 0 2em; } }
main section#cmnOtherSct .inBox .btn a { position: relative; display: inline-block; border: 1px solid #1e1e1e; background: #fff; border-radius: 2em; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .8em 4.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .inBox .btn a { font-size: 115%; padding: .8em 5em; } }
main section#cmnOtherSct .inBox .btn a::before { content: ""; position: absolute; left: 1em; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#cmnOtherSct .inBox .btn a::after { content: ""; position: absolute; left: 1.25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#cmnOtherSct .inBox .btn a:hover { opacity: 1; border-color: #50b432; color: #50b432; }
main section#cmnOtherSct .inBox .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#cmnOtherSct .inBox .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }
main section#cmnOtherSct .otherList { position: relative; width: 100%; margin: 0 auto 6em; display: flex; justify-content: center; }
main section#cmnOtherSct .otherList li { margin: 0 .9em 1em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .otherList li { width: 100%; } }
main section#cmnOtherSct .otherList li .box { display: block; overflow: hidden; width: 22.8vw; border-radius: .8em; background: #fff; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1); }
@media screen and (max-width: 599px) { main section#cmnOtherSct .otherList li .box { border-radius: 1.2em; width: auto; } }
main section#cmnOtherSct .otherList li .box .pic { display: block; width: 100%; height: auto; }
main section#cmnOtherSct .otherList li .box .txtB { padding: 1.5em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .otherList li .box .txtB { padding: 2em 2em 2.5em; } }
main section#cmnOtherSct .otherList li .box .txtB .client { display: block; color: #50b432; font-size: 85%; font-weight: 500; line-height: 1.4; margin-bottom: .2em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .otherList li .box .txtB .client { font-size: 180%; } }
main section#cmnOtherSct .otherList li .box .txtB .project { display: block; font-size: 85%; font-weight: 500; line-height: 1.4; margin-bottom: .7em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .otherList li .box .txtB .project { font-size: 180%; } }
main section#cmnOtherSct .otherList li .box .txtB .txt { display: block; font-size: 65%; letter-spacing: .05em; margin-bottom: .8em; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .otherList li .box .txtB .txt { font-size: 145%; } }
main section#cmnOtherSct .otherList li .box .txtB .btn a { position: relative; display: inline-block; background: #fff; color: #1e1e1e; font-size: 70%; letter-spacing: .03em; padding: .2em 1.5em; transition: all 0.2s; }
@media screen and (max-width: 599px) { main section#cmnOtherSct .otherList li .box .txtB .btn a { font-size: 115%; padding: .3em 2.5em; } }
main section#cmnOtherSct .otherList li .box .txtB .btn a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); border: 1px solid #f0f0f0; background: #f0f0f0; border-radius: 50%; width: 1em; height: 1em; }
main section#cmnOtherSct .otherList li .box .txtB .btn a::after { content: ""; position: absolute; left: .28em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
main section#cmnOtherSct .otherList li .box .txtB .btn a:hover { opacity: 1; color: #50b432; }
main section#cmnOtherSct .otherList li .box .txtB .btn a:hover::before { background: #50b432; border-color: #50b432; }
main section#cmnOtherSct .otherList li .box .txtB .btn a:hover::after { border-top-color: #fff; border-right-color: #fff; }

@keyframes slidein1 { from { width: 0%; }
  to { width: 50%; } }
@keyframes slidein2 { from { width: 0%; }
  to { width: 38%; } }
@keyframes slidein1-sp { from { width: 0%; }
  to { width: 100%; } }
@keyframes slidein2-sp { from { width: 0%; }
  to { width: 50%; } }
#footer { position: relative; z-index: 10; padding: 4em 0 2em; background: #f0f0f0; text-align: center; }
@media screen and (max-width: 599px) { #footer { padding: 5em 0 2em; } }
#footer .infoB { position: relative; color: #6e6e6e; margin-bottom: 2em; }
@media screen and (max-width: 599px) { #footer .infoB { margin-bottom: 3.5em; } }
#footer .infoB .logo { display: inline-block; width: 26vw; margin-bottom: 1em; }
@media screen and (max-width: 599px) { #footer .infoB .logo { width: 80%; margin-bottom: 1.4em; } }
#footer .infoB .logo img { width: 100%; height: auto; }
#footer .infoB .add { display: block; font-size: 70%; line-height: 2; margin-bottom: 1.6em; }
@media screen and (max-width: 599px) { #footer .infoB .add { font-size: 145%; margin-bottom: 1.2em; } }
#footer .infoB .add span { display: inline-block; padding-right: 1em; }
@media screen and (max-width: 599px) { #footer .infoB .add span { display: block; padding-right: 0; } }
#footer .menuB { position: relative; color: #6e6e6e; margin-bottom: 3em; }
#footer .menuB ul { position: relative; display: flex; justify-content: center; margin-bottom: .8em; }
@media screen and (max-width: 599px) { #footer .menuB ul { display: block; margin-bottom: 2.4em; } }
#footer .menuB ul li { padding-left: 1.5em; }
@media screen and (max-width: 599px) { #footer .menuB ul li { display: block; padding-left: 0; }
  #footer .menuB ul li:first-child a { border-top: 1px solid #e2e2e2; } }
#footer .menuB ul li a { position: relative; display: block; white-space: nowrap; color: #6e6e6e; font-size: 70%; padding-left: 1.5em; }
@media screen and (max-width: 599px) { #footer .menuB ul li a { border-bottom: 1px solid #e2e2e2; font-size: 135%; text-align: left; padding: 1em 0 1em 3.5em; } }
#footer .menuB ul li a::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); border: 1px solid #6e6e6e; border-radius: 50%; width: 1em; height: 1em; }
@media screen and (max-width: 599px) { #footer .menuB ul li a::before { left: 1.5em; } }
#footer .menuB ul li a::after { content: ""; position: absolute; left: .25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
@media screen and (max-width: 599px) { #footer .menuB ul li a::after { left: 1.78em; } }
#footer .menuB .plink a { position: relative; color: #6e6e6e; font-size: 70%; padding-left: 1.5em; }
@media screen and (max-width: 599px) { #footer .menuB .plink a { font-size: 135%; margin-bottom: 2.5em; } }
#footer .menuB .plink a::after { content: ""; position: absolute; left: .25em; top: 50%; transform: translateY(-50%) rotate(45deg); border-top: 1px solid #6e6e6e; border-right: 1px solid #6e6e6e; width: .3em; height: .3em; }
#footer .cpr { color: #6e6e6e; font-size: 60%; }
@media screen and (max-width: 599px) { #footer .cpr { font-size: 90%; } }
