@charset "UTF-8";
.mt1 {
  margin-top: 1px;
}

.mr1 {
  margin-right: 1px;
}

.mb1 {
  margin-bottom: 1px;
}

.ml1 {
  margin-left: 1px;
}

.mt2 {
  margin-top: 2px;
}

.mr2 {
  margin-right: 2px;
}

.mb2 {
  margin-bottom: 2px;
}

.ml2 {
  margin-left: 2px;
}

.mt3 {
  margin-top: 3px;
}

.mr3 {
  margin-right: 3px;
}

.mb3 {
  margin-bottom: 3px;
}

.ml3 {
  margin-left: 3px;
}

.mt4 {
  margin-top: 4px;
}

.mr4 {
  margin-right: 4px;
}

.mb4 {
  margin-bottom: 4px;
}

.ml4 {
  margin-left: 4px;
}

.mt5 {
  margin-top: 5px;
}

.mr5 {
  margin-right: 5px;
}

.mb5 {
  margin-bottom: 5px;
}

.ml5 {
  margin-left: 5px;
}

.mt6 {
  margin-top: 6px;
}

.mr6 {
  margin-right: 6px;
}

.mb6 {
  margin-bottom: 6px;
}

.ml6 {
  margin-left: 6px;
}

.mt7 {
  margin-top: 7px;
}

.mr7 {
  margin-right: 7px;
}

.mb7 {
  margin-bottom: 7px;
}

.ml7 {
  margin-left: 7px;
}

.mt8 {
  margin-top: 8px;
}

.mr8 {
  margin-right: 8px;
}

.mb8 {
  margin-bottom: 8px;
}

.ml8 {
  margin-left: 8px;
}

.mt9 {
  margin-top: 9px;
}

.mr9 {
  margin-right: 9px;
}

.mb9 {
  margin-bottom: 9px;
}

.ml9 {
  margin-left: 9px;
}

.mt10 {
  margin-top: 10px;
}

.mr10 {
  margin-right: 10px;
}

.mb10 {
  margin-bottom: 10px;
}

.ml10 {
  margin-left: 10px;
}

.mt11 {
  margin-top: 11px;
}

.mr11 {
  margin-right: 11px;
}

.mb11 {
  margin-bottom: 11px;
}

.ml11 {
  margin-left: 11px;
}

.mt12 {
  margin-top: 12px;
}

.mr12 {
  margin-right: 12px;
}

.mb12 {
  margin-bottom: 12px;
}

.ml12 {
  margin-left: 12px;
}

.mt13 {
  margin-top: 13px;
}

.mr13 {
  margin-right: 13px;
}

.mb13 {
  margin-bottom: 13px;
}

.ml13 {
  margin-left: 13px;
}

.mt14 {
  margin-top: 14px;
}

.mr14 {
  margin-right: 14px;
}

.mb14 {
  margin-bottom: 14px;
}

.ml14 {
  margin-left: 14px;
}

.mt15 {
  margin-top: 15px;
}

.mr15 {
  margin-right: 15px;
}

.mb15 {
  margin-bottom: 15px;
}

.ml15 {
  margin-left: 15px;
}

.mt16 {
  margin-top: 16px;
}

.mr16 {
  margin-right: 16px;
}

.mb16 {
  margin-bottom: 16px;
}

.ml16 {
  margin-left: 16px;
}

.mt17 {
  margin-top: 17px;
}

.mr17 {
  margin-right: 17px;
}

.mb17 {
  margin-bottom: 17px;
}

.ml17 {
  margin-left: 17px;
}

.mt18 {
  margin-top: 18px;
}

.mr18 {
  margin-right: 18px;
}

.mb18 {
  margin-bottom: 18px;
}

.ml18 {
  margin-left: 18px;
}

.mt19 {
  margin-top: 19px;
}

.mr19 {
  margin-right: 19px;
}

.mb19 {
  margin-bottom: 19px;
}

.ml19 {
  margin-left: 19px;
}

.mt20 {
  margin-top: 20px;
}

.mr20 {
  margin-right: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

.ml20 {
  margin-left: 20px;
}

.mt21 {
  margin-top: 21px;
}

.mr21 {
  margin-right: 21px;
}

.mb21 {
  margin-bottom: 21px;
}

.ml21 {
  margin-left: 21px;
}

.mt22 {
  margin-top: 22px;
}

.mr22 {
  margin-right: 22px;
}

.mb22 {
  margin-bottom: 22px;
}

.ml22 {
  margin-left: 22px;
}

.mt23 {
  margin-top: 23px;
}

.mr23 {
  margin-right: 23px;
}

.mb23 {
  margin-bottom: 23px;
}

.ml23 {
  margin-left: 23px;
}

.mt24 {
  margin-top: 24px;
}

.mr24 {
  margin-right: 24px;
}

.mb24 {
  margin-bottom: 24px;
}

.ml24 {
  margin-left: 24px;
}

.mt25 {
  margin-top: 25px;
}

.mr25 {
  margin-right: 25px;
}

.mb25 {
  margin-bottom: 25px;
}

.ml25 {
  margin-left: 25px;
}

.mt26 {
  margin-top: 26px;
}

.mr26 {
  margin-right: 26px;
}

.mb26 {
  margin-bottom: 26px;
}

.ml26 {
  margin-left: 26px;
}

.mt27 {
  margin-top: 27px;
}

.mr27 {
  margin-right: 27px;
}

.mb27 {
  margin-bottom: 27px;
}

.ml27 {
  margin-left: 27px;
}

.mt28 {
  margin-top: 28px;
}

.mr28 {
  margin-right: 28px;
}

.mb28 {
  margin-bottom: 28px;
}

.ml28 {
  margin-left: 28px;
}

.mt29 {
  margin-top: 29px;
}

.mr29 {
  margin-right: 29px;
}

.mb29 {
  margin-bottom: 29px;
}

.ml29 {
  margin-left: 29px;
}

.mt30 {
  margin-top: 30px;
}

.mr30 {
  margin-right: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.ml30 {
  margin-left: 30px;
}

.mt31 {
  margin-top: 31px;
}

.mr31 {
  margin-right: 31px;
}

.mb31 {
  margin-bottom: 31px;
}

.ml31 {
  margin-left: 31px;
}

.mt32 {
  margin-top: 32px;
}

.mr32 {
  margin-right: 32px;
}

.mb32 {
  margin-bottom: 32px;
}

.ml32 {
  margin-left: 32px;
}

.mt33 {
  margin-top: 33px;
}

.mr33 {
  margin-right: 33px;
}

.mb33 {
  margin-bottom: 33px;
}

.ml33 {
  margin-left: 33px;
}

.mt34 {
  margin-top: 34px;
}

.mr34 {
  margin-right: 34px;
}

.mb34 {
  margin-bottom: 34px;
}

.ml34 {
  margin-left: 34px;
}

.mt35 {
  margin-top: 35px;
}

.mr35 {
  margin-right: 35px;
}

.mb35 {
  margin-bottom: 35px;
}

.ml35 {
  margin-left: 35px;
}

.mt36 {
  margin-top: 36px;
}

.mr36 {
  margin-right: 36px;
}

.mb36 {
  margin-bottom: 36px;
}

.ml36 {
  margin-left: 36px;
}

.mt37 {
  margin-top: 37px;
}

.mr37 {
  margin-right: 37px;
}

.mb37 {
  margin-bottom: 37px;
}

.ml37 {
  margin-left: 37px;
}

.mt38 {
  margin-top: 38px;
}

.mr38 {
  margin-right: 38px;
}

.mb38 {
  margin-bottom: 38px;
}

.ml38 {
  margin-left: 38px;
}

.mt39 {
  margin-top: 39px;
}

.mr39 {
  margin-right: 39px;
}

.mb39 {
  margin-bottom: 39px;
}

.ml39 {
  margin-left: 39px;
}

.mt40 {
  margin-top: 40px;
}

.mr40 {
  margin-right: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.ml40 {
  margin-left: 40px;
}

.mt41 {
  margin-top: 41px;
}

.mr41 {
  margin-right: 41px;
}

.mb41 {
  margin-bottom: 41px;
}

.ml41 {
  margin-left: 41px;
}

.mt42 {
  margin-top: 42px;
}

.mr42 {
  margin-right: 42px;
}

.mb42 {
  margin-bottom: 42px;
}

.ml42 {
  margin-left: 42px;
}

.mt43 {
  margin-top: 43px;
}

.mr43 {
  margin-right: 43px;
}

.mb43 {
  margin-bottom: 43px;
}

.ml43 {
  margin-left: 43px;
}

.mt44 {
  margin-top: 44px;
}

.mr44 {
  margin-right: 44px;
}

.mb44 {
  margin-bottom: 44px;
}

.ml44 {
  margin-left: 44px;
}

.mt45 {
  margin-top: 45px;
}

.mr45 {
  margin-right: 45px;
}

.mb45 {
  margin-bottom: 45px;
}

.ml45 {
  margin-left: 45px;
}

.mt46 {
  margin-top: 46px;
}

.mr46 {
  margin-right: 46px;
}

.mb46 {
  margin-bottom: 46px;
}

.ml46 {
  margin-left: 46px;
}

.mt47 {
  margin-top: 47px;
}

.mr47 {
  margin-right: 47px;
}

.mb47 {
  margin-bottom: 47px;
}

.ml47 {
  margin-left: 47px;
}

.mt48 {
  margin-top: 48px;
}

.mr48 {
  margin-right: 48px;
}

.mb48 {
  margin-bottom: 48px;
}

.ml48 {
  margin-left: 48px;
}

.mt49 {
  margin-top: 49px;
}

.mr49 {
  margin-right: 49px;
}

.mb49 {
  margin-bottom: 49px;
}

.ml49 {
  margin-left: 49px;
}

.mt50 {
  margin-top: 50px;
}

.mr50 {
  margin-right: 50px;
}

.mb50 {
  margin-bottom: 50px;
}

.ml50 {
  margin-left: 50px;
}

.mt51 {
  margin-top: 51px;
}

.mr51 {
  margin-right: 51px;
}

.mb51 {
  margin-bottom: 51px;
}

.ml51 {
  margin-left: 51px;
}

.mt52 {
  margin-top: 52px;
}

.mr52 {
  margin-right: 52px;
}

.mb52 {
  margin-bottom: 52px;
}

.ml52 {
  margin-left: 52px;
}

.mt53 {
  margin-top: 53px;
}

.mr53 {
  margin-right: 53px;
}

.mb53 {
  margin-bottom: 53px;
}

.ml53 {
  margin-left: 53px;
}

.mt54 {
  margin-top: 54px;
}

.mr54 {
  margin-right: 54px;
}

.mb54 {
  margin-bottom: 54px;
}

.ml54 {
  margin-left: 54px;
}

.mt55 {
  margin-top: 55px;
}

.mr55 {
  margin-right: 55px;
}

.mb55 {
  margin-bottom: 55px;
}

.ml55 {
  margin-left: 55px;
}

.mt56 {
  margin-top: 56px;
}

.mr56 {
  margin-right: 56px;
}

.mb56 {
  margin-bottom: 56px;
}

.ml56 {
  margin-left: 56px;
}

.mt57 {
  margin-top: 57px;
}

.mr57 {
  margin-right: 57px;
}

.mb57 {
  margin-bottom: 57px;
}

.ml57 {
  margin-left: 57px;
}

.mt58 {
  margin-top: 58px;
}

.mr58 {
  margin-right: 58px;
}

.mb58 {
  margin-bottom: 58px;
}

.ml58 {
  margin-left: 58px;
}

.mt59 {
  margin-top: 59px;
}

.mr59 {
  margin-right: 59px;
}

.mb59 {
  margin-bottom: 59px;
}

.ml59 {
  margin-left: 59px;
}

.mt60 {
  margin-top: 60px;
}

.mr60 {
  margin-right: 60px;
}

.mb60 {
  margin-bottom: 60px;
}

.ml60 {
  margin-left: 60px;
}

.mt61 {
  margin-top: 61px;
}

.mr61 {
  margin-right: 61px;
}

.mb61 {
  margin-bottom: 61px;
}

.ml61 {
  margin-left: 61px;
}

.mt62 {
  margin-top: 62px;
}

.mr62 {
  margin-right: 62px;
}

.mb62 {
  margin-bottom: 62px;
}

.ml62 {
  margin-left: 62px;
}

.mt63 {
  margin-top: 63px;
}

.mr63 {
  margin-right: 63px;
}

.mb63 {
  margin-bottom: 63px;
}

.ml63 {
  margin-left: 63px;
}

.mt64 {
  margin-top: 64px;
}

.mr64 {
  margin-right: 64px;
}

.mb64 {
  margin-bottom: 64px;
}

.ml64 {
  margin-left: 64px;
}

.mt65 {
  margin-top: 65px;
}

.mr65 {
  margin-right: 65px;
}

.mb65 {
  margin-bottom: 65px;
}

.ml65 {
  margin-left: 65px;
}

.mt66 {
  margin-top: 66px;
}

.mr66 {
  margin-right: 66px;
}

.mb66 {
  margin-bottom: 66px;
}

.ml66 {
  margin-left: 66px;
}

.mt67 {
  margin-top: 67px;
}

.mr67 {
  margin-right: 67px;
}

.mb67 {
  margin-bottom: 67px;
}

.ml67 {
  margin-left: 67px;
}

.mt68 {
  margin-top: 68px;
}

.mr68 {
  margin-right: 68px;
}

.mb68 {
  margin-bottom: 68px;
}

.ml68 {
  margin-left: 68px;
}

.mt69 {
  margin-top: 69px;
}

.mr69 {
  margin-right: 69px;
}

.mb69 {
  margin-bottom: 69px;
}

.ml69 {
  margin-left: 69px;
}

.mt70 {
  margin-top: 70px;
}

.mr70 {
  margin-right: 70px;
}

.mb70 {
  margin-bottom: 70px;
}

.ml70 {
  margin-left: 70px;
}

.mt71 {
  margin-top: 71px;
}

.mr71 {
  margin-right: 71px;
}

.mb71 {
  margin-bottom: 71px;
}

.ml71 {
  margin-left: 71px;
}

.mt72 {
  margin-top: 72px;
}

.mr72 {
  margin-right: 72px;
}

.mb72 {
  margin-bottom: 72px;
}

.ml72 {
  margin-left: 72px;
}

.mt73 {
  margin-top: 73px;
}

.mr73 {
  margin-right: 73px;
}

.mb73 {
  margin-bottom: 73px;
}

.ml73 {
  margin-left: 73px;
}

.mt74 {
  margin-top: 74px;
}

.mr74 {
  margin-right: 74px;
}

.mb74 {
  margin-bottom: 74px;
}

.ml74 {
  margin-left: 74px;
}

.mt75 {
  margin-top: 75px;
}

.mr75 {
  margin-right: 75px;
}

.mb75 {
  margin-bottom: 75px;
}

.ml75 {
  margin-left: 75px;
}

.mt76 {
  margin-top: 76px;
}

.mr76 {
  margin-right: 76px;
}

.mb76 {
  margin-bottom: 76px;
}

.ml76 {
  margin-left: 76px;
}

.mt77 {
  margin-top: 77px;
}

.mr77 {
  margin-right: 77px;
}

.mb77 {
  margin-bottom: 77px;
}

.ml77 {
  margin-left: 77px;
}

.mt78 {
  margin-top: 78px;
}

.mr78 {
  margin-right: 78px;
}

.mb78 {
  margin-bottom: 78px;
}

.ml78 {
  margin-left: 78px;
}

.mt79 {
  margin-top: 79px;
}

.mr79 {
  margin-right: 79px;
}

.mb79 {
  margin-bottom: 79px;
}

.ml79 {
  margin-left: 79px;
}

.mt80 {
  margin-top: 80px;
}

.mr80 {
  margin-right: 80px;
}

.mb80 {
  margin-bottom: 80px;
}

.ml80 {
  margin-left: 80px;
}

.pt1 {
  padding-top: 1px;
}

.pr1 {
  padding-right: 1px;
}

.pb1 {
  padding-bottom: 1px;
}

.pl1 {
  padding-left: 1px;
}

.pt2 {
  padding-top: 2px;
}

.pr2 {
  padding-right: 2px;
}

.pb2 {
  padding-bottom: 2px;
}

.pl2 {
  padding-left: 2px;
}

.pt3 {
  padding-top: 3px;
}

.pr3 {
  padding-right: 3px;
}

.pb3 {
  padding-bottom: 3px;
}

.pl3 {
  padding-left: 3px;
}

.pt4 {
  padding-top: 4px;
}

.pr4 {
  padding-right: 4px;
}

.pb4 {
  padding-bottom: 4px;
}

.pl4 {
  padding-left: 4px;
}

.pt5 {
  padding-top: 5px;
}

.pr5 {
  padding-right: 5px;
}

.pb5 {
  padding-bottom: 5px;
}

.pl5 {
  padding-left: 5px;
}

.pt6 {
  padding-top: 6px;
}

.pr6 {
  padding-right: 6px;
}

.pb6 {
  padding-bottom: 6px;
}

.pl6 {
  padding-left: 6px;
}

.pt7 {
  padding-top: 7px;
}

.pr7 {
  padding-right: 7px;
}

.pb7 {
  padding-bottom: 7px;
}

.pl7 {
  padding-left: 7px;
}

.pt8 {
  padding-top: 8px;
}

.pr8 {
  padding-right: 8px;
}

.pb8 {
  padding-bottom: 8px;
}

.pl8 {
  padding-left: 8px;
}

.pt9 {
  padding-top: 9px;
}

.pr9 {
  padding-right: 9px;
}

.pb9 {
  padding-bottom: 9px;
}

.pl9 {
  padding-left: 9px;
}

.pt10 {
  padding-top: 10px;
}

.pr10 {
  padding-right: 10px;
}

.pb10 {
  padding-bottom: 10px;
}

.pl10 {
  padding-left: 10px;
}

.pt11 {
  padding-top: 11px;
}

.pr11 {
  padding-right: 11px;
}

.pb11 {
  padding-bottom: 11px;
}

.pl11 {
  padding-left: 11px;
}

.pt12 {
  padding-top: 12px;
}

.pr12 {
  padding-right: 12px;
}

.pb12 {
  padding-bottom: 12px;
}

.pl12 {
  padding-left: 12px;
}

.pt13 {
  padding-top: 13px;
}

.pr13 {
  padding-right: 13px;
}

.pb13 {
  padding-bottom: 13px;
}

.pl13 {
  padding-left: 13px;
}

.pt14 {
  padding-top: 14px;
}

.pr14 {
  padding-right: 14px;
}

.pb14 {
  padding-bottom: 14px;
}

.pl14 {
  padding-left: 14px;
}

.pt15 {
  padding-top: 15px;
}

.pr15 {
  padding-right: 15px;
}

.pb15 {
  padding-bottom: 15px;
}

.pl15 {
  padding-left: 15px;
}

.pt16 {
  padding-top: 16px;
}

.pr16 {
  padding-right: 16px;
}

.pb16 {
  padding-bottom: 16px;
}

.pl16 {
  padding-left: 16px;
}

.pt17 {
  padding-top: 17px;
}

.pr17 {
  padding-right: 17px;
}

.pb17 {
  padding-bottom: 17px;
}

.pl17 {
  padding-left: 17px;
}

.pt18 {
  padding-top: 18px;
}

.pr18 {
  padding-right: 18px;
}

.pb18 {
  padding-bottom: 18px;
}

.pl18 {
  padding-left: 18px;
}

.pt19 {
  padding-top: 19px;
}

.pr19 {
  padding-right: 19px;
}

.pb19 {
  padding-bottom: 19px;
}

.pl19 {
  padding-left: 19px;
}

.pt20 {
  padding-top: 20px;
}

.pr20 {
  padding-right: 20px;
}

.pb20 {
  padding-bottom: 20px;
}

.pl20 {
  padding-left: 20px;
}

.pt21 {
  padding-top: 21px;
}

.pr21 {
  padding-right: 21px;
}

.pb21 {
  padding-bottom: 21px;
}

.pl21 {
  padding-left: 21px;
}

.pt22 {
  padding-top: 22px;
}

.pr22 {
  padding-right: 22px;
}

.pb22 {
  padding-bottom: 22px;
}

.pl22 {
  padding-left: 22px;
}

.pt23 {
  padding-top: 23px;
}

.pr23 {
  padding-right: 23px;
}

.pb23 {
  padding-bottom: 23px;
}

.pl23 {
  padding-left: 23px;
}

.pt24 {
  padding-top: 24px;
}

.pr24 {
  padding-right: 24px;
}

.pb24 {
  padding-bottom: 24px;
}

.pl24 {
  padding-left: 24px;
}

.pt25 {
  padding-top: 25px;
}

.pr25 {
  padding-right: 25px;
}

.pb25 {
  padding-bottom: 25px;
}

.pl25 {
  padding-left: 25px;
}

.pt26 {
  padding-top: 26px;
}

.pr26 {
  padding-right: 26px;
}

.pb26 {
  padding-bottom: 26px;
}

.pl26 {
  padding-left: 26px;
}

.pt27 {
  padding-top: 27px;
}

.pr27 {
  padding-right: 27px;
}

.pb27 {
  padding-bottom: 27px;
}

.pl27 {
  padding-left: 27px;
}

.pt28 {
  padding-top: 28px;
}

.pr28 {
  padding-right: 28px;
}

.pb28 {
  padding-bottom: 28px;
}

.pl28 {
  padding-left: 28px;
}

.pt29 {
  padding-top: 29px;
}

.pr29 {
  padding-right: 29px;
}

.pb29 {
  padding-bottom: 29px;
}

.pl29 {
  padding-left: 29px;
}

.pt30 {
  padding-top: 30px;
}

.pr30 {
  padding-right: 30px;
}

.pb30 {
  padding-bottom: 30px;
}

.pl30 {
  padding-left: 30px;
}

.pt31 {
  padding-top: 31px;
}

.pr31 {
  padding-right: 31px;
}

.pb31 {
  padding-bottom: 31px;
}

.pl31 {
  padding-left: 31px;
}

.pt32 {
  padding-top: 32px;
}

.pr32 {
  padding-right: 32px;
}

.pb32 {
  padding-bottom: 32px;
}

.pl32 {
  padding-left: 32px;
}

.pt33 {
  padding-top: 33px;
}

.pr33 {
  padding-right: 33px;
}

.pb33 {
  padding-bottom: 33px;
}

.pl33 {
  padding-left: 33px;
}

.pt34 {
  padding-top: 34px;
}

.pr34 {
  padding-right: 34px;
}

.pb34 {
  padding-bottom: 34px;
}

.pl34 {
  padding-left: 34px;
}

.pt35 {
  padding-top: 35px;
}

.pr35 {
  padding-right: 35px;
}

.pb35 {
  padding-bottom: 35px;
}

.pl35 {
  padding-left: 35px;
}

.pt36 {
  padding-top: 36px;
}

.pr36 {
  padding-right: 36px;
}

.pb36 {
  padding-bottom: 36px;
}

.pl36 {
  padding-left: 36px;
}

.pt37 {
  padding-top: 37px;
}

.pr37 {
  padding-right: 37px;
}

.pb37 {
  padding-bottom: 37px;
}

.pl37 {
  padding-left: 37px;
}

.pt38 {
  padding-top: 38px;
}

.pr38 {
  padding-right: 38px;
}

.pb38 {
  padding-bottom: 38px;
}

.pl38 {
  padding-left: 38px;
}

.pt39 {
  padding-top: 39px;
}

.pr39 {
  padding-right: 39px;
}

.pb39 {
  padding-bottom: 39px;
}

.pl39 {
  padding-left: 39px;
}

.pt40 {
  padding-top: 40px;
}

.pr40 {
  padding-right: 40px;
}

.pb40 {
  padding-bottom: 40px;
}

.pl40 {
  padding-left: 40px;
}

.pt41 {
  padding-top: 41px;
}

.pr41 {
  padding-right: 41px;
}

.pb41 {
  padding-bottom: 41px;
}

.pl41 {
  padding-left: 41px;
}

.pt42 {
  padding-top: 42px;
}

.pr42 {
  padding-right: 42px;
}

.pb42 {
  padding-bottom: 42px;
}

.pl42 {
  padding-left: 42px;
}

.pt43 {
  padding-top: 43px;
}

.pr43 {
  padding-right: 43px;
}

.pb43 {
  padding-bottom: 43px;
}

.pl43 {
  padding-left: 43px;
}

.pt44 {
  padding-top: 44px;
}

.pr44 {
  padding-right: 44px;
}

.pb44 {
  padding-bottom: 44px;
}

.pl44 {
  padding-left: 44px;
}

.pt45 {
  padding-top: 45px;
}

.pr45 {
  padding-right: 45px;
}

.pb45 {
  padding-bottom: 45px;
}

.pl45 {
  padding-left: 45px;
}

.pt46 {
  padding-top: 46px;
}

.pr46 {
  padding-right: 46px;
}

.pb46 {
  padding-bottom: 46px;
}

.pl46 {
  padding-left: 46px;
}

.pt47 {
  padding-top: 47px;
}

.pr47 {
  padding-right: 47px;
}

.pb47 {
  padding-bottom: 47px;
}

.pl47 {
  padding-left: 47px;
}

.pt48 {
  padding-top: 48px;
}

.pr48 {
  padding-right: 48px;
}

.pb48 {
  padding-bottom: 48px;
}

.pl48 {
  padding-left: 48px;
}

.pt49 {
  padding-top: 49px;
}

.pr49 {
  padding-right: 49px;
}

.pb49 {
  padding-bottom: 49px;
}

.pl49 {
  padding-left: 49px;
}

.pt50 {
  padding-top: 50px;
}

.pr50 {
  padding-right: 50px;
}

.pb50 {
  padding-bottom: 50px;
}

.pl50 {
  padding-left: 50px;
}

.pt51 {
  padding-top: 51px;
}

.pr51 {
  padding-right: 51px;
}

.pb51 {
  padding-bottom: 51px;
}

.pl51 {
  padding-left: 51px;
}

.pt52 {
  padding-top: 52px;
}

.pr52 {
  padding-right: 52px;
}

.pb52 {
  padding-bottom: 52px;
}

.pl52 {
  padding-left: 52px;
}

.pt53 {
  padding-top: 53px;
}

.pr53 {
  padding-right: 53px;
}

.pb53 {
  padding-bottom: 53px;
}

.pl53 {
  padding-left: 53px;
}

.pt54 {
  padding-top: 54px;
}

.pr54 {
  padding-right: 54px;
}

.pb54 {
  padding-bottom: 54px;
}

.pl54 {
  padding-left: 54px;
}

.pt55 {
  padding-top: 55px;
}

.pr55 {
  padding-right: 55px;
}

.pb55 {
  padding-bottom: 55px;
}

.pl55 {
  padding-left: 55px;
}

.pt56 {
  padding-top: 56px;
}

.pr56 {
  padding-right: 56px;
}

.pb56 {
  padding-bottom: 56px;
}

.pl56 {
  padding-left: 56px;
}

.pt57 {
  padding-top: 57px;
}

.pr57 {
  padding-right: 57px;
}

.pb57 {
  padding-bottom: 57px;
}

.pl57 {
  padding-left: 57px;
}

.pt58 {
  padding-top: 58px;
}

.pr58 {
  padding-right: 58px;
}

.pb58 {
  padding-bottom: 58px;
}

.pl58 {
  padding-left: 58px;
}

.pt59 {
  padding-top: 59px;
}

.pr59 {
  padding-right: 59px;
}

.pb59 {
  padding-bottom: 59px;
}

.pl59 {
  padding-left: 59px;
}

.pt60 {
  padding-top: 60px;
}

.pr60 {
  padding-right: 60px;
}

.pb60 {
  padding-bottom: 60px;
}

.pl60 {
  padding-left: 60px;
}

.pt61 {
  padding-top: 61px;
}

.pr61 {
  padding-right: 61px;
}

.pb61 {
  padding-bottom: 61px;
}

.pl61 {
  padding-left: 61px;
}

.pt62 {
  padding-top: 62px;
}

.pr62 {
  padding-right: 62px;
}

.pb62 {
  padding-bottom: 62px;
}

.pl62 {
  padding-left: 62px;
}

.pt63 {
  padding-top: 63px;
}

.pr63 {
  padding-right: 63px;
}

.pb63 {
  padding-bottom: 63px;
}

.pl63 {
  padding-left: 63px;
}

.pt64 {
  padding-top: 64px;
}

.pr64 {
  padding-right: 64px;
}

.pb64 {
  padding-bottom: 64px;
}

.pl64 {
  padding-left: 64px;
}

.pt65 {
  padding-top: 65px;
}

.pr65 {
  padding-right: 65px;
}

.pb65 {
  padding-bottom: 65px;
}

.pl65 {
  padding-left: 65px;
}

.pt66 {
  padding-top: 66px;
}

.pr66 {
  padding-right: 66px;
}

.pb66 {
  padding-bottom: 66px;
}

.pl66 {
  padding-left: 66px;
}

.pt67 {
  padding-top: 67px;
}

.pr67 {
  padding-right: 67px;
}

.pb67 {
  padding-bottom: 67px;
}

.pl67 {
  padding-left: 67px;
}

.pt68 {
  padding-top: 68px;
}

.pr68 {
  padding-right: 68px;
}

.pb68 {
  padding-bottom: 68px;
}

.pl68 {
  padding-left: 68px;
}

.pt69 {
  padding-top: 69px;
}

.pr69 {
  padding-right: 69px;
}

.pb69 {
  padding-bottom: 69px;
}

.pl69 {
  padding-left: 69px;
}

.pt70 {
  padding-top: 70px;
}

.pr70 {
  padding-right: 70px;
}

.pb70 {
  padding-bottom: 70px;
}

.pl70 {
  padding-left: 70px;
}

.pt71 {
  padding-top: 71px;
}

.pr71 {
  padding-right: 71px;
}

.pb71 {
  padding-bottom: 71px;
}

.pl71 {
  padding-left: 71px;
}

.pt72 {
  padding-top: 72px;
}

.pr72 {
  padding-right: 72px;
}

.pb72 {
  padding-bottom: 72px;
}

.pl72 {
  padding-left: 72px;
}

.pt73 {
  padding-top: 73px;
}

.pr73 {
  padding-right: 73px;
}

.pb73 {
  padding-bottom: 73px;
}

.pl73 {
  padding-left: 73px;
}

.pt74 {
  padding-top: 74px;
}

.pr74 {
  padding-right: 74px;
}

.pb74 {
  padding-bottom: 74px;
}

.pl74 {
  padding-left: 74px;
}

.pt75 {
  padding-top: 75px;
}

.pr75 {
  padding-right: 75px;
}

.pb75 {
  padding-bottom: 75px;
}

.pl75 {
  padding-left: 75px;
}

.pt76 {
  padding-top: 76px;
}

.pr76 {
  padding-right: 76px;
}

.pb76 {
  padding-bottom: 76px;
}

.pl76 {
  padding-left: 76px;
}

.pt77 {
  padding-top: 77px;
}

.pr77 {
  padding-right: 77px;
}

.pb77 {
  padding-bottom: 77px;
}

.pl77 {
  padding-left: 77px;
}

.pt78 {
  padding-top: 78px;
}

.pr78 {
  padding-right: 78px;
}

.pb78 {
  padding-bottom: 78px;
}

.pl78 {
  padding-left: 78px;
}

.pt79 {
  padding-top: 79px;
}

.pr79 {
  padding-right: 79px;
}

.pb79 {
  padding-bottom: 79px;
}

.pl79 {
  padding-left: 79px;
}

.pt80 {
  padding-top: 80px;
}

.pr80 {
  padding-right: 80px;
}

.pb80 {
  padding-bottom: 80px;
}

.pl80 {
  padding-left: 80px;
}

/* ====================== base ====================== */
html {
  scroll-behavior: smooth;
}

body {
  color: #064262;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 1.7rem;
  line-height: 1.6;
  min-height: 100vh;
  font-weight: 400;
  position: relative;
  letter-spacing: 0.1em;
}

a {
  color: #34aac3;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
}

h2,
h3 {
  line-height: 1.4;
}

img {
  max-width: 100%;
  height: auto;
}

/* ====================== Utilities ====================== */
.bold {
  font-weight: 600;
}

.ita {
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-style: italic;
  letter-spacing: 0.1em;
}

.serif {
  font-family: "Noto Sans JP", sans-serif, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 600;
}

.ja {
  font-family: "Noto Sans JP", sans-serif, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 600;
}

.eng {
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: normal;
}

@media all and (max-width: 920px) {
  #pages {
    overflow: hidden;
  }
}

#a01,
#a02,
#a03,
#a04,
#a05,
#a06,
#a07,
#a08,
.anchor {
  display: block;
  padding-top: 120px;
  margin-top: -120px;
}
@media all and (max-width: 920px) {
  #a01,
  #a02,
  #a03,
  #a04,
  #a05,
  #a06,
  #a07,
  #a08,
  .anchor {
    padding-top: 0;
    margin-top: 0;
  }
}

.column2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.column2.reverse {
  flex-direction: row-reverse;
}
.column2 .child {
  width: 48%;
}
@media all and (max-width: 640px) {
  .column2 {
    flex-direction: column;
  }
  .column2 .child {
    width: 100%;
  }
  .column2 .child.bm20 {
    margin-bottom: 20px;
  }
}

.sentence p + p {
  margin-top: 10px;
}

.spbr {
  display: none;
}

.color1 {
  color: #44b5cd;
}

.color2 {
  color: #ffc000;
}

.relative {
  position: relative;
}

.scroll {
  max-height: 130px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.scroll.type2 {
  max-height: 220px;
}

.scroll::-webkit-scrollbar {
  width: 8px;
}

.scroll::-webkit-scrollbar-track {
  background-color: #fff;
}

.scroll::-webkit-scrollbar-thumb {
  background-color: #44b5cd;
  border-radius: 8px;
}

.txt-center {
  text-align: center;
}

.txt-center_pc {
  text-align: center;
}
@media all and (max-width: 640px) {
  .txt-center_pc {
    text-align: left;
  }
}

.txt-right {
  text-align: right;
}

.txt-left {
  text-align: left;
}

.txt-indent {
  padding-left: 1em;
  text-indent: -1em;
}

.white {
  color: #fff;
}

/* ====================== contents ====================== */
.sec-in {
  position: relative;
  max-width: 1180px;
  width: 90%;
  margin: 0 auto;
  padding: 80px 0;
}
.sec-in.inner {
  z-index: 1;
}
.sec-in.type1 {
  padding: 80px 0 0;
}
.sec-in.type_wide {
  max-width: 1400px;
}
@media all and (max-width: 1080px) {
  .sec-in {
    padding: 80px 10px;
  }
  .sec-in.type1 {
    padding: 80px 10px 0;
  }
}

.sec-none-top {
  margin-top: -80px;
}
@media all and (max-width: 920px) {
  .sec-none-top {
    margin-top: -40px;
  }
}

/* ====================== title ====================== */
.title1 {
  font-size: 3rem;
  font-weight: 400;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}
.title1 .eng {
  display: block;
  font-size: 2rem;
  color: #44b5cd;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: italic;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 2%;
  white-space: nowrap;
  margin-bottom: 5px;
  letter-spacing: normal;
}
.title1.type_big {
  font-size: 3.6rem;
  margin-bottom: 35px;
  line-height: 1.2;
}
.title1.white {
  color: #fff;
}
.title1.white .eng {
  color: #fff;
}
.title1.white.type_line .eng::after {
  background-color: #fff;
}
.title1.type2 {
  margin-bottom: 50px;
}
.title1.center {
  text-align: center;
}
.title1.center .eng {
  display: block;
}
.title1.type_line .eng::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #44b5cd;
}
.title1.type_line.type_kasou {
  margin-bottom: 50px;
  font-size: 3.6rem;
}
.title1.type_line.type_kasou .eng {
  margin-bottom: 10px;
}
.title1.type_line2 {
  position: relative;
}
.title1.type_line2::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -110px;
  display: block;
  width: 1px;
  height: 90px;
  background-color: #44b5cd;
}

.title2 {
  font-size: 2.5rem;
  letter-spacing: 0.08em;
  color: #44b5cd;
  font-weight: normal;
  margin-bottom: 20px;
  padding-left: 12px;
  border-left: 8px solid;
  border-image: linear-gradient(to bottom, #33d9fb, #44b5cd) 1;
}

/* ====================== box ====================== */
.mbox {
  background: #fefefe;
  padding: 30px;
  position: relative;
  z-index: 3;
}
.mbox.transparent {
  background: transparent;
  box-shadow: none;
}
@media all and (max-width: 640px) {
  .mbox {
    padding: 15px 10px;
  }
}

.mbox2 {
  background-color: rgba(239, 247, 249, 0.7);
  padding: 30px;
  border-top: 5px solid #44b5cd;
  border-right: 1px solid #eff7f9;
  box-shadow: 0 0 10px -5px rgba(0, 0, 0, 0.1);
}
.mbox2.type1 {
  border-top: 5px solid #ffc000;
}
@media all and (max-width: 640px) {
  .mbox2 {
    padding: 15px 10px;
  }
}

/* ====================== ボタン ====================== */
.btn01 {
  position: relative;
  text-align: center;
  width: 300px;
  margin: 15px auto;
}
.btn01::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, #44b5cd, #33d9fb);
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
  z-index: -1;
  transition: 0.8s;
}
.btn01::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -3%;
  transform: translate(0%, -50%);
  display: block;
  width: 50px;
  height: 1px;
  background-color: #0074b2;
  z-index: 1;
  transition: 0.8s;
}
.btn01 a {
  position: relative;
  background: #fff;
  text-align: center;
  width: 300px;
  margin: 15px auto;
  color: #44b5cd;
  display: block;
  padding: 12px 5px;
  transition: 0.6s;
  clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
  transition: 0.8s;
}
.btn01:hover::after {
  top: 0px;
  left: 0px;
}
.btn01:hover::before {
  right: -5%;
}
.btn01:hover a {
  background-color: rgba(68, 181, 205, 0.2);
  color: #fff;
}

.btn02 {
  width: 100%;
  max-width: 350px;
}
.btn02 a {
  display: block;
  color: #fff;
  border: 2px solid #fff;
  background-color: #44b5cd;
  border-radius: 30px;
  padding: 5px 10px;
  text-align: center;
  transition: 0.8s;
}
.btn02 a:hover {
  background-color: #fff;
  color: #44b5cd;
}

/* ====================== table ====================== */
.table {
  width: 100%;
  border-top: 1px solid #ddd;
}
.table th,
.table td {
  padding: 12px;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
}
.table th {
  color: #2f99af;
  font-weight: normal;
  width: 30%;
}
.table td {
  background: #fff;
  padding: 30px;
}
@media all and (max-width: 640px) {
  .table th,
  .table td {
    padding: 18px 6px;
    letter-spacing: 0.05em;
  }
}

/* ====================== list ====================== */
.list_disc li {
  padding: 0 5px 5px 16px;
  text-align: left;
  position: relative;
}
.list_disc li:not(:last-of-type) {
  margin-bottom: 3px;
  border-bottom: 1px dotted #ccc;
}
.list_disc li:before {
  content: "●";
  position: absolute;
  left: 0;
  top: 8px;
  color: #44b5cd;
  font-size: 0.4em;
}

/* ====================== form ====================== */
.mailform {
  margin: 0 auto;
  width: 90%;
}
.mailform dl dt {
  float: left;
  width: 280px;
  padding-top: 20px;
}
.mailform dl dt span {
  color: #064262;
  background: #ffc000;
  padding: 3px 5px;
  margin-left: 5px;
  font-size: 11px;
  border-radius: 20px;
  position: relative;
  top: -2px;
}
.mailform dl dt span.nini {
  background: #44b5cd;
  color: #fff;
}
.mailform dl dd {
  padding-left: 280px;
  padding-bottom: 20px;
  padding-top: 23px;
  line-height: 1.5;
  border-bottom: 1px dotted #cccccc;
}
.mailform dl dd:last-child {
  border-bottom: none;
}
.mailform input[type=radio] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #064262;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.mailform input[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #44b5cd;
  content: "";
}
.mailform label.radio {
  cursor: pointer;
  display: inline-block;
}
.mailform label.radio:first-of-type {
  margin-right: 10px;
}
.mailform .textarea,
.mailform textarea {
  border: 0;
  padding: 20px 15px;
  width: 100%;
  background: #f5f5f5;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
}
.mailform .textarea {
  height: 30px;
}
.mailform button {
  cursor: pointer;
  display: block;
  width: 350px;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 100%;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
  border: 1px solid #44b5cd;
  padding: 10px 5px;
  margin: 20px auto 0;
  background: #44b5cd;
  border-radius: 10px;
}
.mailform button:hover {
  background: #fff;
  color: #44b5cd;
}
.mailform button:before {
  font-weight: normal;
  font-family: "Font Awesome 6 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}
.mailform input[type=text],
.mailform textarea {
  font-size: 16px;
}

.thanks {
  position: relative;
  padding: 40px;
  border-top: 3px solid #44b5cd;
  max-width: 700px;
  margin: 0 auto;
  z-index: 1;
}
.thanks::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #eff7f9;
  z-index: -1;
}

@media all and (max-width: 639px) {
  .thanks {
    max-width: 90%;
    padding: 30px 20px;
  }
}
/* ====================== header ====================== */
#header-wrap {
  position: relative;
  width: 100%;
  z-index: 200;
  background-color: #fff;
}
#header-wrap #logo {
  width: 280px;
}
#header-wrap.nav-fixed {
  position: fixed;
}
#header-wrap.nav-fixed .inner {
  display: none;
}
#header-wrap .header-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: calc(100% - 40px);
  width: 95%;
  margin: 0 auto;
  padding: 5px 0;
}
#header-wrap .header-inner .right {
  text-align: right;
}
#header-wrap .header-tel {
  text-align: center;
  display: inline-block;
  padding: 10px;
}
#header-wrap .header-tel a {
  transition: all 0.4s ease-in;
  display: block;
  line-height: 1.2;
  font-size: 2.6rem;
  color: #44b5cd;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
}
#header-wrap .header-tel a:before {
  font-family: "Font Awesome 6 Free";
  content: "\f095";
  font-weight: 900;
  margin-right: 5px;
}
#header-wrap .header-tel a:hover {
  opacity: 0.7;
}

.header-btm {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  margin: 0 auto 10px;
  width: 100%;
  transition: all 0.4s ease-in;
  z-index: 100;
}
.header-btm.nav-fixed {
  position: fixed;
  left: 0;
  top: 0;
  background: #fefefe;
  box-shadow: 0 1px 8px rgba(6, 66, 98, 0.1);
  padding: 10px 0;
}
@media all and (max-width: 920px) {
  .header-btm {
    border-top: 0px solid #ddd;
  }
}

#header-nav-wrap {
  position: relative;
  max-width: 1180px;
  width: 100%;
  margin: auto;
  transition: all 0.4s ease-in;
}
@media all and (max-width: 1080px) {
  #header-nav-wrap {
    display: none;
  }
}
#header-nav-wrap .header-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 700px;
  margin-left: auto;
  margin-right: auto;
}
#header-nav-wrap .header-nav li {
  position: relative;
  flex: 1;
  text-align: center;
  border-right: 1px solid #ddd;
}
#header-nav-wrap .header-nav li:first-child {
  border-left: 1px solid #ddd;
}
#header-nav-wrap .header-nav li:last-child {
  border-right: 1px solid #ddd;
}
#header-nav-wrap .header-nav li a {
  display: block;
  line-height: 1.2;
  font-size: 1.4rem;
  padding: 8px 0;
  font-family: "Noto Sans JP", sans-serif, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  color: #064262;
  letter-spacing: 0.07em;
}
#header-nav-wrap .header-nav li a.active, #header-nav-wrap .header-nav li a:hover {
  color: #44b5cd;
}

.hamburger-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  opacity: 0;
  z-index: 400;
  transition: 0.6s;
}

/* ====================== footer ====================== */
footer {
  position: relative;
}

.footer-txt {
  text-align: center;
  color: #fff;
  font-size: 2rem;
}

.sns_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.sns_btn li {
  padding: 10px;
}
.sns_btn li a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 3.5rem;
}
.sns_btn li a.facebook .fa-facebook::before {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  color: #fff;
}
.sns_btn li a.instagram .fa-instagram::before {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  color: #fff;
}

#footer-wrap {
  font-size: 1.4rem;
  position: relative;
  width: 100%;
}
#footer-wrap:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, #33d9fb, #44b5cd);
}
#footer-wrap .inner {
  padding: 60px 20px;
  position: relative;
  z-index: 3;
  max-width: 1180px;
  margin: 0 auto;
}
#footer-wrap .footer-column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 50px;
  color: #064262;
  position: relative;
  z-index: 2;
  max-width: 1000px;
}
@media all and (max-width: 640px) {
  #footer-wrap .footer-column {
    margin: 0 auto 30px;
  }
}
#footer-wrap .footer-column .footer-left {
  width: 35%;
}
#footer-wrap .footer-column .footer-right {
  width: 55%;
}
@media all and (max-width: 1080px) {
  #footer-wrap .footer-column {
    justify-content: space-around;
    max-width: 80%;
  }
}
@media all and (max-width: 920px) {
  #footer-wrap .footer-column {
    max-width: 90%;
    margin-bottom: 0;
  }
  #footer-wrap .footer-column .footer-right {
    width: 100%;
    margin-top: 0;
  }
  #footer-wrap .footer-column .footer-left {
    width: 100%;
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 1px dashed #fff;
  }
  #footer-wrap .footer-column .footer-left .flogo {
    width: 90%;
    max-width: 400px;
  }
}
@media all and (max-width: 640px) {
  #footer-wrap {
    font-size: 1.2rem;
  }
  #footer-wrap .inner {
    padding: 30px 15px;
  }
  #footer-wrap .footer-column {
    max-width: 100%;
  }
  #footer-wrap .footer-column .footer-left {
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
}

/* footer-nav */
.footer-nav {
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px;
}
@media all and (max-width: 920px) {
  .footer-nav {
    display: none;
  }
}
.footer-nav ul {
  margin: 0 auto;
  width: 98%;
  display: flex;
  flex-wrap: wrap;
}
.footer-nav ul li {
  flex: 1 0 auto;
}
.footer-nav ul li a {
  color: #fff;
  font-size: 1.3rem;
  position: relative;
  text-align: center;
  display: block;
  line-height: 1.5;
  letter-spacing: 0.07em;
}
.footer-nav ul li a::before {
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  font-weight: 900;
  margin-right: 10px;
}

.flogo {
  position: relative;
  text-align: center;
  z-index: 5;
  margin: 0 auto 15px;
}

.address {
  text-align: center;
  color: #fff;
  line-height: 1.6;
}
@media all and (max-width: 920px) {
  .address {
    font-size: 12px;
  }
}

.copyright {
  padding: 20px 0;
  font-size: 1.3rem;
  position: relative;
  z-index: 2;
  color: #fff;
  text-align: center;
}
@media all and (max-width: 920px) {
  .copyright {
    font-size: 11px;
    padding: 15px 0 80px;
  }
}

/* page-top */
#page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 200;
}
#page-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #44b5cd;
  color: #064262;
  border: 2px solid #fff;
  width: 50px;
  height: 50px;
  line-height: 60px;
  border-radius: 10px;
  font-size: 1.1rem;
  text-align: center;
  transition: 0.4s;
}
#page-top a i {
  color: #fff;
  font-size: 1.8rem;
}
#page-top a:hover {
  background: #fff;
  border: 2px solid #44b5cd;
}
#page-top a:hover i {
  color: #44b5cd;
}

/* ====================== contact_btn ====================== */
.contact_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.contact_btn.type2 li .btn_tel {
  color: #44b5cd;
  border: 1px dotted #44b5cd;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
}
.contact_btn.type2 li .btn_tel:hover {
  background-color: rgba(68, 181, 205, 0.2);
  border: 1px dotted #44b5cd;
}
.contact_btn > li {
  flex: 1 0 auto;
  position: relative;
}
@media all and (max-width: 640px) {
  .contact_btn > li {
    width: 100%;
    margin: 0 auto 10px;
  }
}
.contact_btn > li a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 65px;
  white-space: nowrap;
  position: relative;
  font-size: 3.5rem;
  color: #fff;
  transition: all 0.8s ease;
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 10px 20px;
  margin-top: 20px;
  text-align: center;
  line-height: 1.2;
}
.contact_btn > li a:hover {
  color: #44b5cd;
  background-color: #fff;
  border: 1px solid #44b5cd;
}
@media all and (max-width: 920px) {
  .contact_btn > li a {
    font-size: 2.8rem;
  }
}
@media all and (max-width: 640px) {
  .contact_btn > li a {
    font-size: 2.4rem;
  }
}
.contact_btn > li a.btn_tel {
  font-family: "Roboto", sans-serif;
  font-weight: 600;
}
.contact_btn > li a.btn_tel:before {
  font-family: "Font Awesome 6 Free";
  content: "\f095";
  font-weight: 900;
  font-size: 70%;
  margin-right: 8px;
}
.contact_btn > li a.btn_mail {
  font-size: 2.8rem;
}
.contact_btn > li a.btn_mail:before {
  font-family: "Font Awesome 6 Free";
  content: "\f0e0";
  font-weight: 900;
  font-size: 70%;
  margin-right: 8px;
}

/* ====================== page-title ====================== */
.page-title {
  margin: 0 auto 0;
  position: relative;
  z-index: 1;
  background: url(../img/p-title.jpg) no-repeat 50% 55%/cover;
  overflow: hidden;
  border-radius: 10px;
  width: calc(100% - 40px);
}
.page-title .inner {
  margin: 0 auto;
  padding: 70px 0;
  max-width: 1180px;
}
.page-title .page-lead {
  text-align: center;
  text-shadow: 0 0 4px rgba(255, 255, 255, 0.1);
  line-height: 1.6;
}
.page-title .page-lead span {
  display: block;
}
.page-title .page-lead .ja {
  font-size: 3.2rem;
  letter-spacing: 0.08em;
  font-weight: normal;
}
.page-title .page-lead .eng {
  font-size: 1.8rem;
  color: #064262;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-style: italic;
  color: #44b5cd;
}
@media all and (max-width: 920px) {
  .page-title .inner {
    width: 100%;
    padding: 40px 0;
  }
  .page-title .page-lead .ja {
    font-size: 1.8rem;
  }
  .page-title .page-lead .eng {
    font-size: 1.4rem;
  }
}

/* breadcrumb */
.breadcrumb {
  max-width: 1180px;
  margin: 20px auto 20px;
  font-size: 1.2rem;
  position: relative;
  z-index: 2;
}
.breadcrumb li {
  display: inline;
  color: #444;
}
.breadcrumb li a {
  color: #44b5cd;
}
.breadcrumb li + li:before {
  margin: 0 8px;
  content: ">";
}
@media all and (max-width: 640px) {
  .breadcrumb {
    font-size: 12px;
    letter-spacing: 0;
    padding: 0 15px;
  }
}

/* ====================== トップページ ====================== */
/* swiper */
@keyframes blur-out {
  0% {
    filter: blur(10px);
  }
  100% {
    filter: blur(0px);
  }
}
@keyframes scale-down {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.swiper-slide-active .slide-img img,
.swiper-slide-duplicate-active .slide-img img,
.swiper-slide-prev .swiper-slide img {
  animation: blur-out 1.5s, scale-down 1.5s;
  width: 100%;
  will-change: transform, filter;
  transform-origin: center center;
}

.swiper-slide {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.swiper-slide:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  right: 0;
  top: 0;
  background-position: 50%;
  background-size: cover;
  z-index: -1;
}

.slide-img {
  overflow: hidden;
  width: 100%;
  height: calc(100vh - 158px);
}
.slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slide-img:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #333;
  opacity: 0.4;
  z-index: 1;
}
@media all and (max-width: 1080px) {
  .slide-img {
    height: 55vw;
  }
}
@media all and (max-width: 920px) {
  .slide-img {
    height: 54vw;
  }
}
@media all and (max-width: 640px) {
  .slide-img {
    height: 60vh;
  }
}

#slide-wrap {
  position: relative;
}

#slideshow {
  position: relative;
  width: 100%;
}

#catch {
  z-index: 50;
  position: absolute;
  left: 5%;
  top: 50%;
  transform: translate(0%, -50%);
  opacity: 0;
}
#catch.on {
  opacity: 1;
  transition: 3s;
}
#catch .in {
  font-family: "Noto Sans JP", sans-serif, "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 600;
  line-height: 1.8;
  color: #fff;
}
#catch .in h2 {
  font-size: 4.2rem;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
}
#catch .in p {
  font-size: 1.8rem;
  font-weight: normal;
}
@media all and (max-width: 920px) {
  #catch .in h2 {
    font-size: 2.8rem;
    margin-bottom: 15px;
  }
  #catch .in p {
    font-size: 1.5rem;
    margin-bottom: 15px;
  }
}
@media all and (max-width: 640px) {
  #catch {
    top: auto;
    bottom: 3%;
    left: 3%;
    transform: translate(0%, 0%);
  }
  #catch .in h2 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  #catch .in p {
    font-size: 1.2rem;
    margin-bottom: 10px;
  }
}

.top-greet {
  margin: 7.5% 0;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.top-greet .left {
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(0%, -50%);
  width: 53%;
  height: 120%;
}
.top-greet .left p {
  width: 100%;
  height: 100%;
}
.top-greet .left p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-greet .right {
  position: relative;
  width: 53%;
  height: 100%;
  z-index: 1;
  background: url(../img/bg-greet.jpg) no-repeat center/cover;
}
.top-greet .right::before {
  position: absolute;
  top: 0%;
  right: 0%;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #44b5cd;
  opacity: 0.6;
  z-index: -1;
}
.top-greet .right .inner {
  padding: 50px;
}

.bg-circle {
  position: relative;
  z-index: 1;
}
.bg-circle::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 350px;
  height: 100%;
  background: url(../img/deco01.png) no-repeat right top/contain;
  z-index: -1;
  opacity: 0.8;
}
.bg-circle::after {
  content: "";
  position: absolute;
  bottom: -80px;
  left: -4%;
  display: block;
  width: 220px;
  height: 100%;
  background: url(../img/deco02.png) no-repeat left bottom/contain;
  z-index: -1;
  opacity: 0.8;
}

.bg-circle2 {
  position: relative;
}
.bg-circle2::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: 360px;
  height: 100%;
  background: url(../img/deco03.png) no-repeat left bottom/contain;
  opacity: 0.9;
}

.bg-deco {
  position: relative;
}
.bg-deco::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 340px;
  height: 100%;
  background: url(../img/deco04.png) no-repeat right top/contain;
  opacity: 0.9;
  z-index: -1;
}
.bg-deco::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 340px;
  height: 100%;
  background: url(../img/deco04.png) no-repeat left top/contain;
  opacity: 0.9;
  z-index: -1;
  transform: scale(-1, -1);
}

.service-contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3%;
  max-width: 900px;
  margin: 30px auto 0;
}
.service-contents li {
  width: 47%;
  box-shadow: rgba(99, 99, 99, 0.1) 0px 2px 8px 0px;
  transition: 0.8s;
}
.service-contents li .ttl {
  background-color: #fff;
  padding: 20px;
  letter-spacing: 0.1em;
  font-weight: 400;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.service-contents li .ttl::after {
  font-family: "Font Awesome 6 Free";
  content: "\f105";
  font-weight: 900;
  color: #44b5cd;
}
.service-contents li a {
  display: block;
  width: 100%;
  height: 100%;
  transition: 1.6s;
}
.service-contents li a .image {
  overflow: hidden;
  position: relative;
}
.service-contents li a .image img {
  transition: 1.6s;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.service-contents li a .image .click {
  position: absolute;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 116, 178, 0.2);
  opacity: 0;
  transition: 0.8s;
}
.service-contents li a .image .click span {
  border: 1px solid #fff;
  display: inline-block;
  padding: 5px 20px;
}
.service-contents li a:hover .image img {
  transform: scale(1.08);
}
.service-contents li a:hover .click {
  opacity: 1;
  z-index: 2;
}

.bg-service {
  position: relative;
  padding: 80px 40px;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 1180px;
  background-color: #eff7f9;
  margin-left: auto;
  margin-right: auto;
}
.bg-service::before {
  content: "";
  position: absolute;
  top: -8px;
  right: -8px;
  display: block;
  width: 100px;
  height: 100px;
  background-image: linear-gradient(90deg, #44b5cd, #33d9fb);
  z-index: -1;
}
.bg-service::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: -8px;
  display: block;
  width: 100px;
  height: 100px;
  background-image: linear-gradient(90deg, #44b5cd, #33d9fb);
  z-index: -1;
}

.bg-reason {
  position: relative;
  background-color: #e7eeee;
  z-index: 3;
}
.bg-reason .inner {
  position: relative;
  z-index: 4;
}
.bg-reason::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 60%;
  background-image: url(../img/bg-reason.jpg);
  background-repeat: no-repeat;
  background-position: 0 -80px;
  z-index: 1;
}
.bg-reason::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 60%;
  background-color: #fff;
  opacity: 0.4;
  z-index: 2;
}

.reason-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
  background-color: #fff;
  padding: 45px 0;
}
.reason-list li {
  width: 33%;
  border-right: 1px solid #ccc;
  flex-grow: 1;
  padding: 0 3%;
}
.reason-list li:last-of-type {
  border-right: none;
}
.reason-list li .image {
  text-align: center;
}
.reason-list li .ttl {
  text-align: center;
  color: #0074b2;
  margin-bottom: 20px;
  font-size: 2rem;
}

.reason-btm-txt {
  margin: 40px 0;
  text-align: center;
  line-height: 2;
}

.news-wrapper {
  display: flex;
  flex-wrap: wrap;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 4px 14px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}
.news-wrapper .title1 {
  font-size: 96%;
  margin-bottom: 0;
}
.news-wrapper .news-left {
  width: 15%;
  background-image: linear-gradient(90deg, #44b5cd, #33d9fb);
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.news-wrapper .news-right {
  width: 85%;
  padding: 30px;
  background-color: rgba(255, 255, 255, 0.8);
}
.news-wrapper .news-right dl {
  padding: 15px;
  border-bottom: 1px dotted #ccc;
}
.news-wrapper .news-right dl dt {
  float: left;
  width: 8em;
  font-family: "Roboto", sans-serif;
  background: #a5d2dd;
  color: #fff;
  text-align: center;
}
.news-wrapper .news-right dl dd {
  padding-left: 9em;
}
.news-wrapper .news-right dl:last-of-type {
  border-bottom: none;
}
.news-wrapper .news-right dl:first-of-type {
  border-bottom: 1px dotted #ccc;
}

.top-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top-menu li {
  width: 32%;
  position: relative;
}
.top-menu li a {
  display: block;
  width: 100%;
  height: 100%;
  transition: 0.8s;
}
.top-menu li a .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-menu li a .ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(68, 181, 205, 0.4);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: 0.8s;
}
.top-menu li a .ttl .ja {
  display: inline-block;
  border: 1px solid #fff;
  padding: 5px 15px;
  margin-bottom: 10px;
  font-weight: 400;
  font-size: 2rem;
  transition: 0.8s;
}
.top-menu li a .ttl .eng {
  display: inline-block;
  font-weight: 300;
  transition: 0.8s;
}
.top-menu li a:hover .ttl {
  background-color: rgba(68, 181, 205, 0.1);
}
.top-menu li a:hover .ttl .eng {
  letter-spacing: 0.3em;
}
.top-menu li a:hover .ttl .ja {
  background-color: rgba(68, 181, 205, 0.4);
}

/* ====================== サービス内容 ====================== */
.bg-wave {
  position: relative;
  background-color: #eff7f9;
}
.bg-wave::before {
  content: "";
  position: absolute;
  top: -22%;
  left: 0;
  display: block;
  width: 100%;
  height: 325px;
  background-image: url(../img/bg-wave.svg);
  background-repeat: no-repeat;
  background-position: top left;
  background-position: center;
  background-size: contain;
  z-index: -1;
}

.step-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5%;
  margin-bottom: -30px;
}
.step-list li {
  position: relative;
  width: 29%;
  display: block;
  background-color: #fff;
  border: 1px solid #dedede;
  box-shadow: rgba(149, 157, 165, 0.1) 0px 4px 12px;
  margin-bottom: 30px;
}
.step-list li a {
  display: block;
  height: 230px;
}
.step-list li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.step-list li .num {
  position: absolute;
  top: 0px;
  left: 0px;
  display: inline-block;
  font-size: 14px;
  font-style: italic;
  font-weight: bold;
  margin-bottom: 15px;
  font-family: "Roboto", sans-serif;
  background-color: #44b5cd;
  color: #fff;
  padding: 5px 15px;
}
.step-list li .txt {
  padding: 20px;
  font-size: 1.5rem;
  text-align: center;
}
.step-list li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -12%;
  transform: translate(0%, -50%);
  background: #44b5cd;
  height: 17.8586032265px;
  width: 13px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.step-list li:nth-of-type(3n)::after {
  display: none;
}

/* ====================== 施工実績 ====================== */
.works-box {
  padding: 35px 0;
  background-color: rgba(68, 181, 205, 0.1);
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
.works-box:not(:last-child) {
  margin-bottom: 60px;
}
.works-box .works-column2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.works-box .works-column2 .before-box,
.works-box .works-column2 .after-box {
  width: 43%;
}
.works-box .works-column2 .before-box .ttl,
.works-box .works-column2 .after-box .ttl {
  background-color: #44b5cd;
  background-image: linear-gradient(to right, #44b5cd, #33d9fb);
  color: #fff;
  font-family: "Roboto", sans-serif;
  display: inline-block;
  padding: 0 15px;
}
.works-box .works-column2 .arrow {
  width: 7%;
}
.works-box .works-column2 .arrow img {
  padding: 0 15px;
  padding-top: 10px;
}
.works-box .works-title {
  background-color: #fff;
  color: #0074b2;
  text-align: center;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
  font-weight: normal;
  margin-top: 30px;
  padding: 8px 10px;
  letter-spacing: 0.08em;
}

.bg-blue {
  background-color: rgba(68, 181, 205, 0.1);
}

/* ====================== お客様の声 ====================== */
.voice-list > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4%;
  padding: 80px 0;
}
.voice-list > li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.voice-list > li:first-of-type {
  padding-top: 0;
}
.voice-list > li:last-of-type {
  padding-bottom: 0;
}
.voice-list > li .icon {
  width: 22%;
  text-align: center;
}
.voice-list > li .icon img {
  padding: 0 20px;
}
.voice-list > li .icon .name {
  border: 1px solid #44b5cd;
  background-color: #44b5cd;
  color: #fff;
  padding: 3px 10px;
}
.voice-list > li .text {
  width: 70%;
  position: relative;
}
.voice-list > li .text .lead {
  color: #44b5cd;
  font-size: 2.2rem;
  letter-spacing: 0.08em;
  margin-bottom: 8px;
}
.voice-list > li .text .decs {
  background-color: rgba(68, 181, 205, 0.1);
  padding: 20px;
  border-radius: 10px;
  margin-top: 20px;
}
.voice-list > li .text .decs .ttl {
  background-color: #fff;
  padding: 3px 10px;
  display: inline-block;
  margin-bottom: 10px;
}
.voice-list > li .eng-ttl {
  position: absolute;
  right: 0;
  top: -14%;
  font-size: 7rem;
  font-family: "Roboto", sans-serif;
  font-weight: bold;
  font-style: italic;
  color: rgba(51, 217, 251, 0.1);
}

/* ====================== お問い合わせ ====================== */
.policy {
  margin-top: 80px;
}
.policy dt,
.policy dd {
  position: relative;
  padding: 1em;
}
.policy dt {
  background: #eee;
  color: #454545;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-size: 1.8rem;
}
.policy dd {
  padding: 20px;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.g-recaptcha {
  margin: 30px 10px 10px;
}
.g-recaptcha > div {
  margin-left: auto !important;
  margin-right: auto !important;
}

#warning {
  text-align: center;
  margin-bottom: 30px;
}/*# sourceMappingURL=basis.css.map */