@charset "UTF-8";

* { font-family:montserrat, "uddigikyokasho-pro", "Hiragino Kaku Gothic Pro",HiraKakuPro-W3,"ヒラギノ角ゴ Pro W3","メイリオ", Meiryo,"MS P ゴシック",verdana,sans-serif; color:#333; box-sizing:border-box; text-align:justify; }
html { font-size:16px; }
html, body { margin:0; padding:0; scrollbar-width:none; }
body.noscroll { overflow:hidden; }
body::-webkit-scrollbar { display:none; }

:root {
    --base-width:90vw;
    --base-mwidth:1366px;
    --gvt_l01:#c84094;
    --gvt_l02:#3450a4;
    --gvt_msk:#ff1493;
    --gvt_otk:#0063B5;
    --gvt_tkhs:#00a474;
    --gvt_tmi:#8cc4dc;
    --gvt_mrym:#004224;
    --gvt_ynk:#744c98;
    --gvt_okc:#000080;
    --gvt_nktn:#9c4440;
    --gvt_kmr:#e4041c;
    --gvt_hrks:#ec541c;
    --gvt_skd:#ffbc00;
    --gvt_msk_g0:#ff149300;
    --gvt_msk_g1:#ff149366;
    --gvt_msk_g2:#ff1493ef;
    --gvt_otk_g0:#0063B500;
    --gvt_otk_g1:#0063B566;
    --gvt_otk_g2:#0063B5ef;
    --gvt_tkhs_g0:#00a47400;
    --gvt_tkhs_g1:#00a47466;
    --gvt_tkhs_g2:#00a474ef;
}

main { width:100vw; height:100vh; overflow-x:hidden; margin:0 auto; }

/* menu */
header { display:none; position:fixed; width:100vw; top:0; z-index:11; }
.insta::before { content:'\f16d'; font-family:fontawesome; color:#0063b5; font-size:2.5rem; padding-left:1rem; padding-right:2rem; }
.acp { margin-bottom:1rem; }
.acp > img { padding-right:1rem; width:5rem; }
.acp > span { color:var(--gvt_otk); }

.menuBtn{ position:absolute; top:2rem; right:2rem; cursor:pointer; width:50px; height:50px; border-radius:5px; border:1px solid #ddd; z-index:9; }
.menuBtn span{ display:inline-block; transition:all .4s; position:absolute; left:14px; height:3px; border-radius:2px; background:#ddd; width:45%; }
.menuBtn span:nth-of-type(1) { top:15px; }
.menuBtn span:nth-of-type(2) { top:23px; }
.menuBtn span:nth-of-type(3) { top:31px; }
.menuBtn.active span:nth-of-type(1) { top:18px; left:18px; transform:translate(-6px, 6px) rotate(-45deg); width:50%; }
.menuBtn.active span:nth-of-type(2) { opacity:0; }
.menuBtn.active span:nth-of-type(3){ top:30px; left:18px; transform:translate(-6px, -6px) rotate(45deg); width:50%; }

#menu { position:fixed; top:0; right:0; width:20vw; height:100vh; background-color:#fffc; padding:12vh 1vw; z-index:7; transform:translateX(100%); transition:0.6s; }
#menu.active { transform:translateX(0); }
#menu li { width:16rem; margin-left:1rem; position:relative; }
#menu li:not(:first-child) { margin-top:1rem; }
#menu li a { font-size:1.5rem; font-family:'montserrat'; color:#3450a4; font-style:normal; font-weight:300; line-height:2; padding-bottom:0.25rem; display:block; }
#menu li a::before { content:'-'; color:#3450a4; padding-right:1rem; }
#menu li::after { content:''; width:0; position:absolute; left:0; bottom:0; height:4px; background:linear-gradient(to right, var(--gvt_msk) 33.4%, var(--gvt_otk) 33.4%, var(--gvt_otk) 66.7%, var(--gvt_tkhs) 66.7%); transition:0.4s; }
#menu li:hover::after { width:100%; }
#menu #sns { margin-top:2rem; margin-left:3rem; }
#menu #sns .insta, #menu #sns .acp { display:flex; align-items:center; color:var(--gvt_otk); }
#overlay { position:fixed; top:0; bottom:0; left:0; width:80vw; background-color:#fff6; z-index:5; transform:translateX(-100%); transition:0.6s; }
#overlay.active { transform:translateX(0); }
/* menu */

/* footer */
footer { position:relative; width: 100%; height: 9rem; border-bottom: 6px solid var(--gvt_msk); box-shadow:0 0px 3px #999; z-index:5; margin-top:10rem; background-color:#fff; }
footer::before { content: ''; position: absolute; bottom: -6px; left: 0; border-bottom: 6px solid var(--gvt_otk); width: calc(100vw / 3); }
footer::after { content: ''; position: absolute; bottom: -6px; right: 0; border-bottom: 6px solid var(--gvt_tkhs); width: calc(100vw / 3); }
.footerBox { max-width:1280px; width:90vw; margin:0 auto; padding:2rem 0; display:flex; justify-content:space-between; }
.footerBox .insta { display:flex; align-items:center; color:var(--gvt_otk); }
.ftSns { display:flex; align-items:flex-end; }
#ftLogo { display:flex; align-items:center; position:relative; }
#ftLogo::after { content:''; background:url('../images/Logo_H_CL.png'); background-size:cover; position:absolute; top:3px; left:3px; width:100%; height:100%; opacity:0.3; }
#ftLogo img { height:5rem; }
#copy { position:absolute; bottom:2rem; left:50%; transform:translate(-50%, 50%); color:#999; }
/* footer */

/* to top */
#toTop { position:fixed; bottom:5rem; right:2rem; width:128px; cursor:pointer; animation-duration:0.8s; animation-fill-mode:forwards; transform:translateX(-100vw); z-index:9; }
#toTop.show { animation-name:toTopShow}
#toTop.hide { animation-name:toTopHide}

@keyframes toTopShow{
    from { transform:translateX(-100vw); }
    to { transform:translateX(0); }
}
@keyframes toTopHide{
    from { transform:translateX(0); }
    to { transform:translateX(-100vw); }
}
/* to top */

/* loading... */
#loadOverlay { position:fixed; top:0; left:0; width:100Vw; height:100Vh; z-index:20; background-color:#fff; transform-origin:right; transition:0.8s; display:flex; justify-content:center; align-items:center; }
#loadOverlay.loaded { /*transform:translateX(100vw);*/ opacity:0; z-index:-1; }
#loadOverlay > svg { width:160px !important; }
/* loading... */

.title { font-size:2.5rem; margin-bottom:2rem; letter-spacing:0.5rem; }

.float { opacity:0; animation-duration:0.5s; animation-fill-mode:forwards; transition:0.5s; }
.float.active { animation-name:floatAnime; }
.fadeLeft.active { animation-name:fadeLeftAnime; }
.fadeRight.active { animation-name:fadeRightAnime; }

@keyframes floatAnime {
    from { opacity:0; transform:translateY(3rem); }
    to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeLeftAnime {
    from { opacity:0; transform:translateX(-3rem); }
    to   { opacity:1; transform:translateX(0); }
}
@keyframes fadeRightAnime {
    from { opacity:0; transform:translateX(3rem); }
    to   { opacity:1; transform:translateX(0); }
}
/* common */

/* index */
/*　splash */
#splash { position:fixed; width:var(--base-width); max-width:var(--base-mwidth); top:50%; left:50%; transform:translate(-50%, -50%); }
#splashBox { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; }

/*　splash */
#indexBox { width:var(--base-width); max-width:var(--base-mwidth); position:relative; transform:translateY(-50%); margin:50vh auto 5rem; display:none; }
#comMainLogo { position:absolute; top:50%; transform:translateY(-50%); height:170px; }
#comName { display:flex; justify-content:center; align-items:center; }
#comName > span { font-weight:600; ; font-weight:400; font-size:2.5rem; color:var(--gvt_l02); letter-spacing:0.5rem; }
#comName > span:nth-child(2) { margin:0 4rem; height:2rem; border:2px solid var(--gvt_l02); }

#idxBizAnchor { position:fixed; top:65vh; left:50vw; transform:translate(-50%, -50%); width:90%; max-width:1600px; display:flex; justify-content:center; align-items:flex-start; margin:0 auto; z-index:5; display:none; }
#idxBizAnchor > a { pointer-events: none;}
#idxDispatch { border-top:1rem solid var(--gvt_otk); width:calc(100% / 3); position:relative; }
#idxSes { border-top:1rem solid var(--gvt_msk); width:calc(100% / 3); position:relative; }
#idxStaff { border-top:1rem solid var(--gvt_tkhs); width:calc(100% / 3); position:relative; }
/*#idxDispatch.vibe, #idxSes.vibe, #idxStaff.vibe { animation:vibration 0.1s infinite; }*/
#idxDispatch > span { display:none; position:absolute; top:1rem; left:50%; transform:translateX(-50%); font-size:1.25rem; letter-spacing:0.5rem; }
.idxBizAnchor { position:absolute; top:0; left:0; display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; padding:4rem 0; }
.idxBizAnchor > img { max-width:30%; margin:1rem auto; }
.idxBizAnchor > span { font-size:2rem; margin-bottom:1rem; }
.idxBizAnchor > span > span { font-size:5rem; color:#c0c0c0; text-shadow:1px 1px 10px #333, -1px 1px 10px #333, 1px -1px 10px #333, -1px -1px 10px #333; }
#idxDispatch .idxBizAnchor  { background:linear-gradient(to bottom, var(--gvt_otk_g2), var(--gvt_otk_g0)); box-shadow:1px 1px 10px var(--gvt_otk_g01); }
#idxSes .idxBizAnchor  { background:linear-gradient(to bottom, var(--gvt_msk_g2), var(--gvt_msk_g0)); box-shadow:1px 1px 10px var(--gvt_msk_g01); }
#idxStaff .idxBizAnchor  { background:linear-gradient(to bottom, var(--gvt_tkhs_g2), var(--gvt_tkhs_g0)); box-shadow:1px 1px 10px var(--gvt_tkhs_g01); }
#idxDispatchHA { transform:scaleY(2); display:inline-block; }
/* index */

/* company */
#company { margin:0 auto !important; position:relative; z-index:1; }
#company::before {content: ''; background-color: #fff6; width: 100%; height: 100vh; display: block; z-index: 0; position: fixed; background: url(../images/Logo_CL1.png) no-repeat center center fixed; top: 0; opacity: 0.15; }
#company main { position:relative; z-index:3; width:var(--base-width); height:auto; min-height:100vh; max-width:var(--base-mwidth); overflow-x:visible; }

#etymology, #form { margin-top:2rem; }
#etymology, #greeting, #overview, #history, #business, #privacy, #accessmap { margin-bottom:7rem; }
.box { padding-left:3rem; }

#etymology > h1 { color:#3450a4; }
.etymologyCont { display:flex; justify-content:flex-start; align-items:flex-start; }
.etymologyCont:nth-child(1) * { color:var(--gvt_otk); }
.etymologyCont:nth-child(2) * { color:var(--gvt_msk); }
.etymologyCont:nth-child(3) * { color:var(--gvt_tkhs); }
.etymologyCont:not(:last-of-type) { margin-bottom:1.5rem; }
.etymologyCont > h1 { font-size:1.5rem; width:30%; }
.etymologyCont > h1:first-letter { font-size:2.5rem; font-weight:500; }
.etymologyCont > p { font-size:1.25rem; line-height:1.8; letter-spacing:0.25rem; }
#etyConcept { text-align:center; }
#etyConcept > * { font-size:1.5rem; color:var(--gvt_l01); }
#etyConcept > span:nth-child(1) { letter-spacing:3px; }
#etyConcept > span:nth-child(2) { font-size:1.75rem; letter-spacing:0.5rem; }

#greeting .title:first-letter { color:var(--gvt_msk); }
.greeting { margin-bottom:2rem; }
.greetingTitle { font-size:1.75rem; letter-spacing:0.25rem; margin-bottom:1rem; }
.greetingCont { line-height:1.8;  letter-spacing:0.25rem;}
#ceo { text-align:right; padding-right:1rem; font-size:1.5rem; }
#ceo > span { position: relative; padding-left: 1rem; transform: rotate(-1deg) translateY(-1px); font-family: shinryu, sans-serif; font-weight: 400; font-style: normal; font-size: 1.75rem; display:inline-block; }

#overview .title:first-letter { color:var(--gvt_otk); }
#history .title:first-letter { color:var(--gvt_tkhs); }
.overviewRow, .historyRow { display:flex; justify-content:flex-start; align-items:center; line-height:3; }
.overviewRow > h1, .historyRow > h1 { width:10rem; margin-right:8rem; }
.overviewRow > p, .historyRow > p { letter-spacing:0.125rem; }
.overviewRow > h1 { letter-spacing:0.25rem; }
.historyRow > h1 { display:flex; justify-content:space-between; align-items:flex-start; }
.sep::before { content:' / '; }
#chart { margin-top:5rem; }
.chartTitle { font-size:1.75rem; padding-left:3rem; }
#chartImg { width:90%; display:block; margin:2rem auto 0; }
#_chartImg { display:none; }

#business .title:first-letter { color:var(--gvt_tmi); }
.businessArea { display:flex; }
.businessArea:not(:last-child) { margin-bottom:2rem; }
.businessTitle { font-size:1.75rem; white-space:pre; margin-right:3rem; }
.businessCont:not(:last-child) { margin-bottom:1.5rem; }
.businessContTitle { font-size:1.5rem; padding:0.25rem 0 0.5rem; background:bottom/100% 2px no-repeat; }
.ses > .businessCont:nth-child(1) > .businessContTitle { background-image:linear-gradient(to right, var(--gvt_okc) 75%, #fff); }
.ses > .businessCont:nth-child(2) > .businessContTitle { background-image:linear-gradient(to right, var(--gvt_ynk) 75%, #fff); }
.dispatch > .businessCont:nth-child(1) > .businessContTitle { background-image:linear-gradient(to right, var(--gvt_nktn)  75%, #fff); }
.dispatch > .businessCont:nth-child(2) > .businessContTitle { background-image:linear-gradient(to right, var(--gvt_kmr)  75%, #fff); }
.dispatch > .businessCont:nth-child(3) > .businessContTitle { background-image:linear-gradient(to right, var(--gvt_skd)  75%, #fff); }
.contract > .businessCont:nth-child(1) > .businessContTitle { background-image:linear-gradient(to right, var(--gvt_mrym)   75%, #fff); }
.contract > .businessCont:nth-child(2) > .businessContTitle { background-image:linear-gradient(to right, var(--gvt_hrks)   75%, #fff); }
.businessCont > p { padding-top:0.5rem; line-height:1.8; letter-spacing:0.125rem; }

#privacy .title:first-letter { color:var(--gvt_l01); }
#privacyBox > li { counter-increment:privacy; position:relative; padding:0 0 1.5rem 3rem; line-height:1.8; }
#privacyBox > li:last-child { padding-bottom:0; }
#privacyBox > li::before { content:counter(privacy)"."; position:absolute; left:0; }

#accessmap .title:first-letter { color:var(--gvt_l02); }
#accessmap > address *, #accessmap > #accessmapBox * { line-height:1.8; }
#accessmapBox {display:flex; justify-content:space-between; align-items:flex-start; margin:1.5rem 0 2rem; }
.accessmapTxtArea { width:25%; }
.AccessmapLine > div { padding-left:1.5rem; }
.station { width:50%; display:inline-block; }
.guide { position:relative; width:5rem; display:inline-block; text-align:right; }
.guide::before { content:'徒歩'; position:absolute; left:0; }
.guide::after { content:'分'; }

#map { width:calc(100% - 6rem); height:480px; box-shadow:1px 1px 16px #333; display:block; margin:0 auto; }
/* company */

/* contact */
#formText { margin-bottom:2rem; padding-left:3rem; }
#formText p { margin-bottom:1rem; line-height:1.8; }
#contactForm { width:calc(100% - 3rem); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-left:auto; }
.formRow { width:50%; margin-bottom:1rem; display:flex; justify-content:flex-start; align-items:center; padding:0.5rem 0; position:relative; }
.formRow:first-of-type::after { content:'\f107'; font-family:fontawesome; position:absolute; top:50%; right:1rem; transform:translateY(-50%); }
.formRow:last-of-type { width:100%; align-items:flex-start; margin-bottom:2rem; }
.formRow.required label::before { content:'※'; color:#f00; }
.formHead { width:30%; text-align:right; padding-right:1rem; }
.formBody { width:70%; }
.formRow:nth-child(even) .formHead { padding-left:2%; }
.formRow:last-of-type .formHead { width:15%; padding-top:1rem; }
.formRow:last-of-type .formBody { width:85%; }
.formBody select, .formBody input, .formBody textarea { outline:none; border:1px solid #666; padding:1rem; width:100%; }
.formBtn { display:flex; justify-content:center; align-items:center; margin-top:auto; width:100%; }
.formBtn > * { width: 12rem; background-color: #666; color: #fff; padding: 1rem; text-align: center; margin: 0 2rem; }
.formBtn > #formConf { background-color:var(--gvt_l02); }
.formBtn > #sendForm { background-color:var(--gvt_l01); }
#confOL { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background-color:#0006; z-index:99; }
#confLayer { display:none; flex-direction:column; justify-content:flex-start; overflow-y:scroll; position:fixed; width:100%; height:100%; top:50%; left:50%; transform:translate(-50%, -50%); padding:2rem; z-index:100; background-color:#fff; }
#confTitle { font-size:1.5rem; }
#confText { margin:1rem 0; }
#confBox { border:1px solid #666; margin-bottom:2rem; }
.confRow { display:flex; justify-content:flex-start; border-bottom:1px dotted #666; }
.confRow:last-child { border-bottom:none; }
.confHead { width:30%; padding:1rem; background-color:#f9f9f9; }
.confBody { width:70%; padding:1rem; }
.confBody.err { color:#f00; }

#thanks { margin:0 auto !important; position:relative; z-index:1; }
#thanks::before {content: ''; background-color: #fff6; width: 100%; height: 100vh; display: block; z-index: 0; position: fixed; background: url(../images/Logo_CL1.png) no-repeat center center fixed; top: 0; opacity: 0.15; }
#thanks main { position:relative; z-index:3; width:var(--base-width); height:auto; min-height:100vh; max-width:var(--base-mwidth); }
#complete { padding-top:5rem; }
#complete p { line-height:1.8; }
/* contact */

@keyframes vibration{
    0%   {transform:translate(0px, 0px) rotateZ(0deg)}
    25%  {transform:translate(2px, 2px) rotateZ(1deg)}
    50%  {transform:translate(0px, 2px) rotateZ(0deg)}
    75%  {transform:translate(2px, 0px) rotateZ(-1deg)}
    100% {transform:translate(0px, 0px) rotateZ(0deg)}
}

@media screen and (max-width:1600px){
    html, body { font-size:1vw; }
}

@media screen and (orientation:portrait) and (max-width:1024px){
html, body { font-size:16px; }
    #comName { flex-direction:column; }
    #comName > span { text-align:center; }
    #comName > span:nth-child(2)::before { content:''; margin:1.5rem -0.5rem; border-bottom:1px solid var(--gvt_l02); display:block; width:100%; }
    #company main { width:90vw; }
    .etymologyCont { flex-wrap:wrap; }
    .etymologyCont > h1 { width:100%; margin-bottom:1rem; text-indent:-1rem; }
}

@media screen and (orientation:landscape) and (max-width:1366px), screen and (orientation:portrait) and (max-width:1280px){
    #menu { width:40vw; }
    #overlay { width:60vw; }
}

@media screen and (max-width:810px), screen and (orientation:portrait) and (max-width:1024px){
    #company header { height:7rem; background-color:#fff; box-shadow:0 1px 3px #999; }
    #company header::before { content:''; position:absolute; width:100%; height:5rem; margin:1rem 2rem; background:url('../images/Logo_H_CL.png') center left no-repeat; background-size:contain; }
    .menuBtn { top:2rem; right:2rem; }
    #menu { width:60vw; }
    #menu ul { display:inline-block; }
    #menu li { width:100%; margin-left:5rem; }
    #menu li a { font-size:2rem;  }
    #overlay { width:40vw; }

    #toTop { right:0; }

    #company::before { left:10vw; width:calc(100% - 20vw); background-size:contain; background-attachment:initial; }

    /*#indexBox { margin:0 0 0 10vw; display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; width:90vw; height:100vh; }*/
    #indexBox { margin:0; flex-direction:column; justify-content:center; align-items:center; position:relative; width:100vw; height:100vh; transform:none; display:none; }
    #comMainLogo { height:auto; max-width:30vw; max-height:30vh; position:absolute; top:35%; left:50%; transform:translate(-50%, -50%); opacity:1; }
    #comName { position:absolute; transform:translate(-50%, -50%); top:60%; left:50%; width:100vw; }
    #comName > span { font-size:2rem; }
    #comName > span:nth-child(2) { border:none; width:100%; }
    #comName > span:nth-child(2)::before { width:60%; margin:1rem auto; }
    /*#idxBizAnchor { width:auto; height:80vh; top:10vh; left:10%; flex-direction:column; transform:none; margin:0; }*/
    #idxBizAnchor { width:auto; height:75vh; top:50%; left:auto; right:10%; flex-direction:column; transform:translateY(-50%); margin:0; }
    #idxDispatch { height:calc(80vh / 3); border-left:1rem solid var(--gvt_otk); border-top-width:0; }
    #idxSes { height:calc(80vh / 3); border-left:1rem solid var(--gvt_msk); border-top-width:0; }
    #idxStaff { height:calc(80vh / 3); border-left:1rem solid var(--gvt_tkhs); border-top-width:0; }

    .box { padding-left:1rem; }
    #etymology, #form { margin-top:10rem; }
    .etymologyCont > h1 { text-indent:0; }
    .etymologyCont > p { letter-spacing:0; }
    #etyConcept { display:flex; flex-direction:column; align-items:center; }
    #etyConcept > span { width:calc(1.5rem * 16); max-width:100%; line-height:2; }
    #etyConcept > span:nth-child(1) { text-align:left; }
    #etyConcept > span:nth-child(2) { text-align:center; }
    #etyConcept > span:nth-child(3) { text-align:right; }

    .greetingTitle { font-size:1.5rem; }

    .businessArea { flex-direction:column; }
    .businessTitle { margin-bottom:1rem; }

    #accessmapBox { flex-wrap:wrap; }
    .accessmapLineTitle.train::before { content:'\f238'; font-family:fontawesome; padding-right:0.5rem; }
    .accessmapLineTitle.subway::before { content:'\f239'; font-family:fontawesome; padding-right:0.5rem; }
    .accessmapTxtArea { width:48%; margin-bottom:1rem; }

    #formText { padding-left:0; }
    #contactForm { width:100%; }
    .formRow { width:100%; flex-direction:column; align-items:flex-start; }
    .formRow:nth-of-type(2) { display:none; }
    .formRow .formHead, .formRow:last-of-type .formHead { width:100%; text-align:left; padding-bottom:0.5rem; }
    .formRow:nth-child(even) .formHead { padding-left:0; }
    .formRow .formBody, .formRow:last-of-type .formBody { width:100%; }
    .formRow:first-of-type::after { transform:translate(30%); }

@media screen and (max-width:640px){
    html, body { font-size:14px; }
    #menu { width:100vw; }
    #menu li a { font-size:1.75rem; line-height:1.5; }
    #menu #sns { margin-left:5rem; }
    #ftLogo::after { top:2px; left:2px; }

    #toTop { bottom:2rem; width:80px; }
    #toTop.onFoot { position:absolute; top:0; transform:translateY(-50%) !important; transition:none; }
    .title { font-size:2rem; }

    #indexBox { transform:none; margin:0 auto; width:80vw; }
    #comMainLogo { position:absolute; top:35%; left:50%; transform:translate(-50%, -50%); margin-bottom:20rem; opacity:1; }
    #comName { position:absolute; top:55%; left:50%; transform:translateX(-50%); width:100vw; }
    #comName > span { font-size:1.5rem; }
    #comName > span:nth-child(2) { border-width:0; border-top-width:1px; height:0; width:60%; margin:1rem auto; }
    #comName > span:nth-child(2)::before { border:none; }

    #idxBizAnchor { height:65vh; top:50%; left:auto; right:10%; flex-direction:column; transform:translateY(-50%); margin:0; }

    .overviewRow, .historyRow { flex-direction:column; border-bottom:1px dotted #333; line-height:2; margin-bottom:1rem; }
    .overviewRow > h1, .historyRow > h1 { width:calc(100% - 1rem); margin:0 0 0 1rem; justify-content:flex-start; }
    .overviewRow > p, .historyRow > p  { width:calc(100% - 2rem); margin-left:2rem; }
    .sep::before { content:'\A'; white-space:pre; }

    #overview .box, #history .box { padding:0; }

    .chartTitle { padding-left:1rem; }
    #chartImg { display:none; }
    #_chartImg { width:90%; display:block; margin:2rem auto 0; }

    #privacyBox > li { padding-left:1.5rem; }
    #map { width:calc(100% - 2rem); height:60vh; }

    footer { margin-top:7rem; }
    .footerBox { flex-direction:row-reverse; align-items:center; }
    .instaTitle { display:none; }
    #company #copy { right:5vw; transform:translateY(60%); text-align:right; }

    .ftSns .insta::before { padding-right:1.8rem; }

    .confRow, .formBtn { flex-direction:column; }
    .confRow > * { width:100%; }
    .formBtn > * { margin:1rem 0; }
}

@media screen and (max-width:375px){
    .accessmapTxtArea { width:100%; }
    #menu li a { font-size:1.5rem; line-height:1.5; }


    footer { height:auto; }
    .footerBox { flex-direction:column; }
    .ftSns .insta::before { padding-right:0.5rem; }
    .instaTitle { display:block; }
    #ftLogo { margin-top:1.5rem; }
    #company #copy { position:static; text-align:center; transform:none; margin-bottom:0.25rem; }
}