@charset "UTF-8";
/* アニメーションベンダープレフィックス込み指定 */
/********************/
/* アニメーションベンダープレフィックス込み指定 */
.b-m1 {
  margin-bottom: 1px;
}

.b-m2 {
  margin-bottom: 2px;
}

.b-m3 {
  margin-bottom: 3px;
}

.b-m4 {
  margin-bottom: 4px;
}

.b-m5 {
  margin-bottom: 5px;
}

.b-m6 {
  margin-bottom: 6px;
}

.b-m7 {
  margin-bottom: 7px;
}

.b-m8 {
  margin-bottom: 8px;
}

.b-m9 {
  margin-bottom: 9px;
}

.b-m10 {
  margin-bottom: 10px;
}

.b-m11 {
  margin-bottom: 11px;
}

.b-m12 {
  margin-bottom: 12px;
}

.b-m13 {
  margin-bottom: 13px;
}

.b-m14 {
  margin-bottom: 14px;
}

.b-m15 {
  margin-bottom: 15px;
}

.b-m16 {
  margin-bottom: 16px;
}

.b-m17 {
  margin-bottom: 17px;
}

.b-m18 {
  margin-bottom: 18px;
}

.b-m19 {
  margin-bottom: 19px;
}

.b-m20 {
  margin-bottom: 20px;
}

.b-m21 {
  margin-bottom: 21px;
}

.b-m22 {
  margin-bottom: 22px;
}

.b-m23 {
  margin-bottom: 23px;
}

.b-m24 {
  margin-bottom: 24px;
}

.b-m25 {
  margin-bottom: 25px;
}

.b-m26 {
  margin-bottom: 26px;
}

.b-m27 {
  margin-bottom: 27px;
}

.b-m28 {
  margin-bottom: 28px;
}

.b-m29 {
  margin-bottom: 29px;
}

.b-m30 {
  margin-bottom: 30px;
}

.b-m31 {
  margin-bottom: 31px;
}

.b-m32 {
  margin-bottom: 32px;
}

.b-m33 {
  margin-bottom: 33px;
}

.b-m34 {
  margin-bottom: 34px;
}

.b-m35 {
  margin-bottom: 35px;
}

.b-m36 {
  margin-bottom: 36px;
}

.b-m37 {
  margin-bottom: 37px;
}

.b-m38 {
  margin-bottom: 38px;
}

.b-m39 {
  margin-bottom: 39px;
}

.b-m40 {
  margin-bottom: 40px;
}

.b-m41 {
  margin-bottom: 41px;
}

.b-m42 {
  margin-bottom: 42px;
}

.b-m43 {
  margin-bottom: 43px;
}

.b-m44 {
  margin-bottom: 44px;
}

.b-m45 {
  margin-bottom: 45px;
}

.b-m46 {
  margin-bottom: 46px;
}

.b-m47 {
  margin-bottom: 47px;
}

.b-m48 {
  margin-bottom: 48px;
}

.b-m49 {
  margin-bottom: 49px;
}

.b-m50 {
  margin-bottom: 50px;
}

.b-m51 {
  margin-bottom: 51px;
}

.b-m52 {
  margin-bottom: 52px;
}

.b-m53 {
  margin-bottom: 53px;
}

.b-m54 {
  margin-bottom: 54px;
}

.b-m55 {
  margin-bottom: 55px;
}

.b-m56 {
  margin-bottom: 56px;
}

.b-m57 {
  margin-bottom: 57px;
}

.b-m58 {
  margin-bottom: 58px;
}

.b-m59 {
  margin-bottom: 59px;
}

.b-m60 {
  margin-bottom: 60px;
}

.b-m61 {
  margin-bottom: 61px;
}

.b-m62 {
  margin-bottom: 62px;
}

.b-m63 {
  margin-bottom: 63px;
}

.b-m64 {
  margin-bottom: 64px;
}

.b-m65 {
  margin-bottom: 65px;
}

.b-m66 {
  margin-bottom: 66px;
}

.b-m67 {
  margin-bottom: 67px;
}

.b-m68 {
  margin-bottom: 68px;
}

.b-m69 {
  margin-bottom: 69px;
}

.b-m70 {
  margin-bottom: 70px;
}

.b-m71 {
  margin-bottom: 71px;
}

.b-m72 {
  margin-bottom: 72px;
}

.b-m73 {
  margin-bottom: 73px;
}

.b-m74 {
  margin-bottom: 74px;
}

.b-m75 {
  margin-bottom: 75px;
}

.b-m76 {
  margin-bottom: 76px;
}

.b-m77 {
  margin-bottom: 77px;
}

.b-m78 {
  margin-bottom: 78px;
}

.b-m79 {
  margin-bottom: 79px;
}

.b-m80 {
  margin-bottom: 80px;
}

.b-m81 {
  margin-bottom: 81px;
}

.b-m82 {
  margin-bottom: 82px;
}

.b-m83 {
  margin-bottom: 83px;
}

.b-m84 {
  margin-bottom: 84px;
}

.b-m85 {
  margin-bottom: 85px;
}

.b-m86 {
  margin-bottom: 86px;
}

.b-m87 {
  margin-bottom: 87px;
}

.b-m88 {
  margin-bottom: 88px;
}

.b-m89 {
  margin-bottom: 89px;
}

.b-m90 {
  margin-bottom: 90px;
}

.b-m91 {
  margin-bottom: 91px;
}

.b-m92 {
  margin-bottom: 92px;
}

.b-m93 {
  margin-bottom: 93px;
}

.b-m94 {
  margin-bottom: 94px;
}

.b-m95 {
  margin-bottom: 95px;
}

.b-m96 {
  margin-bottom: 96px;
}

.b-m97 {
  margin-bottom: 97px;
}

.b-m98 {
  margin-bottom: 98px;
}

.b-m99 {
  margin-bottom: 99px;
}

.b-m100 {
  margin-bottom: 100px;
}

.b-m101 {
  margin-bottom: 101px;
}

.b-m102 {
  margin-bottom: 102px;
}

.b-m103 {
  margin-bottom: 103px;
}

.b-m104 {
  margin-bottom: 104px;
}

.b-m105 {
  margin-bottom: 105px;
}

.b-m106 {
  margin-bottom: 106px;
}

.b-m107 {
  margin-bottom: 107px;
}

.b-m108 {
  margin-bottom: 108px;
}

.b-m109 {
  margin-bottom: 109px;
}

.b-m110 {
  margin-bottom: 110px;
}

.b-m111 {
  margin-bottom: 111px;
}

.b-m112 {
  margin-bottom: 112px;
}

.b-m113 {
  margin-bottom: 113px;
}

.b-m114 {
  margin-bottom: 114px;
}

.b-m115 {
  margin-bottom: 115px;
}

.b-m116 {
  margin-bottom: 116px;
}

.b-m117 {
  margin-bottom: 117px;
}

.b-m118 {
  margin-bottom: 118px;
}

.b-m119 {
  margin-bottom: 119px;
}

.b-m120 {
  margin-bottom: 120px;
}

.t-m1 {
  margin-top: 1px;
}

.t-m2 {
  margin-top: 2px;
}

.t-m3 {
  margin-top: 3px;
}

.t-m4 {
  margin-top: 4px;
}

.t-m5 {
  margin-top: 5px;
}

.t-m6 {
  margin-top: 6px;
}

.t-m7 {
  margin-top: 7px;
}

.t-m8 {
  margin-top: 8px;
}

.t-m9 {
  margin-top: 9px;
}

.t-m10 {
  margin-top: 10px;
}

.t-m11 {
  margin-top: 11px;
}

.t-m12 {
  margin-top: 12px;
}

.t-m13 {
  margin-top: 13px;
}

.t-m14 {
  margin-top: 14px;
}

.t-m15 {
  margin-top: 15px;
}

.t-m16 {
  margin-top: 16px;
}

.t-m17 {
  margin-top: 17px;
}

.t-m18 {
  margin-top: 18px;
}

.t-m19 {
  margin-top: 19px;
}

.t-m20 {
  margin-top: 20px;
}

.t-m21 {
  margin-top: 21px;
}

.t-m22 {
  margin-top: 22px;
}

.t-m23 {
  margin-top: 23px;
}

.t-m24 {
  margin-top: 24px;
}

.t-m25 {
  margin-top: 25px;
}

.t-m26 {
  margin-top: 26px;
}

.t-m27 {
  margin-top: 27px;
}

.t-m28 {
  margin-top: 28px;
}

.t-m29 {
  margin-top: 29px;
}

.t-m30 {
  margin-top: 30px;
}

.t-m31 {
  margin-top: 31px;
}

.t-m32 {
  margin-top: 32px;
}

.t-m33 {
  margin-top: 33px;
}

.t-m34 {
  margin-top: 34px;
}

.t-m35 {
  margin-top: 35px;
}

.t-m36 {
  margin-top: 36px;
}

.t-m37 {
  margin-top: 37px;
}

.t-m38 {
  margin-top: 38px;
}

.t-m39 {
  margin-top: 39px;
}

.t-m40 {
  margin-top: 40px;
}

.t-m41 {
  margin-top: 41px;
}

.t-m42 {
  margin-top: 42px;
}

.t-m43 {
  margin-top: 43px;
}

.t-m44 {
  margin-top: 44px;
}

.t-m45 {
  margin-top: 45px;
}

.t-m46 {
  margin-top: 46px;
}

.t-m47 {
  margin-top: 47px;
}

.t-m48 {
  margin-top: 48px;
}

.t-m49 {
  margin-top: 49px;
}

.t-m50 {
  margin-top: 50px;
}

.t-m51 {
  margin-top: 51px;
}

.t-m52 {
  margin-top: 52px;
}

.t-m53 {
  margin-top: 53px;
}

.t-m54 {
  margin-top: 54px;
}

.t-m55 {
  margin-top: 55px;
}

.t-m56 {
  margin-top: 56px;
}

.t-m57 {
  margin-top: 57px;
}

.t-m58 {
  margin-top: 58px;
}

.t-m59 {
  margin-top: 59px;
}

.t-m60 {
  margin-top: 60px;
}

.t-m61 {
  margin-top: 61px;
}

.t-m62 {
  margin-top: 62px;
}

.t-m63 {
  margin-top: 63px;
}

.t-m64 {
  margin-top: 64px;
}

.t-m65 {
  margin-top: 65px;
}

.t-m66 {
  margin-top: 66px;
}

.t-m67 {
  margin-top: 67px;
}

.t-m68 {
  margin-top: 68px;
}

.t-m69 {
  margin-top: 69px;
}

.t-m70 {
  margin-top: 70px;
}

.t-m71 {
  margin-top: 71px;
}

.t-m72 {
  margin-top: 72px;
}

.t-m73 {
  margin-top: 73px;
}

.t-m74 {
  margin-top: 74px;
}

.t-m75 {
  margin-top: 75px;
}

.t-m76 {
  margin-top: 76px;
}

.t-m77 {
  margin-top: 77px;
}

.t-m78 {
  margin-top: 78px;
}

.t-m79 {
  margin-top: 79px;
}

.t-m80 {
  margin-top: 80px;
}

.t-m81 {
  margin-top: 81px;
}

.t-m82 {
  margin-top: 82px;
}

.t-m83 {
  margin-top: 83px;
}

.t-m84 {
  margin-top: 84px;
}

.t-m85 {
  margin-top: 85px;
}

.t-m86 {
  margin-top: 86px;
}

.t-m87 {
  margin-top: 87px;
}

.t-m88 {
  margin-top: 88px;
}

.t-m89 {
  margin-top: 89px;
}

.t-m90 {
  margin-top: 90px;
}

.t-m91 {
  margin-top: 91px;
}

.t-m92 {
  margin-top: 92px;
}

.t-m93 {
  margin-top: 93px;
}

.t-m94 {
  margin-top: 94px;
}

.t-m95 {
  margin-top: 95px;
}

.t-m96 {
  margin-top: 96px;
}

.t-m97 {
  margin-top: 97px;
}

.t-m98 {
  margin-top: 98px;
}

.t-m99 {
  margin-top: 99px;
}

.t-m100 {
  margin-top: 100px;
}

.t-m101 {
  margin-top: 101px;
}

.t-m102 {
  margin-top: 102px;
}

.t-m103 {
  margin-top: 103px;
}

.t-m104 {
  margin-top: 104px;
}

.t-m105 {
  margin-top: 105px;
}

.t-m106 {
  margin-top: 106px;
}

.t-m107 {
  margin-top: 107px;
}

.t-m108 {
  margin-top: 108px;
}

.t-m109 {
  margin-top: 109px;
}

.t-m110 {
  margin-top: 110px;
}

.t-m111 {
  margin-top: 111px;
}

.t-m112 {
  margin-top: 112px;
}

.t-m113 {
  margin-top: 113px;
}

.t-m114 {
  margin-top: 114px;
}

.t-m115 {
  margin-top: 115px;
}

.t-m116 {
  margin-top: 116px;
}

.t-m117 {
  margin-top: 117px;
}

.t-m118 {
  margin-top: 118px;
}

.t-m119 {
  margin-top: 119px;
}

.t-m120 {
  margin-top: 120px;
}

.r-m1 {
  margin-right: 1px;
}

.r-m2 {
  margin-right: 2px;
}

.r-m3 {
  margin-right: 3px;
}

.r-m4 {
  margin-right: 4px;
}

.r-m5 {
  margin-right: 5px;
}

.r-m6 {
  margin-right: 6px;
}

.r-m7 {
  margin-right: 7px;
}

.r-m8 {
  margin-right: 8px;
}

.r-m9 {
  margin-right: 9px;
}

.r-m10 {
  margin-right: 10px;
}

.r-m11 {
  margin-right: 11px;
}

.r-m12 {
  margin-right: 12px;
}

.r-m13 {
  margin-right: 13px;
}

.r-m14 {
  margin-right: 14px;
}

.r-m15 {
  margin-right: 15px;
}

.r-m16 {
  margin-right: 16px;
}

.r-m17 {
  margin-right: 17px;
}

.r-m18 {
  margin-right: 18px;
}

.r-m19 {
  margin-right: 19px;
}

.r-m20 {
  margin-right: 20px;
}

.r-m21 {
  margin-right: 21px;
}

.r-m22 {
  margin-right: 22px;
}

.r-m23 {
  margin-right: 23px;
}

.r-m24 {
  margin-right: 24px;
}

.r-m25 {
  margin-right: 25px;
}

.r-m26 {
  margin-right: 26px;
}

.r-m27 {
  margin-right: 27px;
}

.r-m28 {
  margin-right: 28px;
}

.r-m29 {
  margin-right: 29px;
}

.r-m30 {
  margin-right: 30px;
}

.r-m31 {
  margin-right: 31px;
}

.r-m32 {
  margin-right: 32px;
}

.r-m33 {
  margin-right: 33px;
}

.r-m34 {
  margin-right: 34px;
}

.r-m35 {
  margin-right: 35px;
}

.r-m36 {
  margin-right: 36px;
}

.r-m37 {
  margin-right: 37px;
}

.r-m38 {
  margin-right: 38px;
}

.r-m39 {
  margin-right: 39px;
}

.r-m40 {
  margin-right: 40px;
}

.r-m41 {
  margin-right: 41px;
}

.r-m42 {
  margin-right: 42px;
}

.r-m43 {
  margin-right: 43px;
}

.r-m44 {
  margin-right: 44px;
}

.r-m45 {
  margin-right: 45px;
}

.r-m46 {
  margin-right: 46px;
}

.r-m47 {
  margin-right: 47px;
}

.r-m48 {
  margin-right: 48px;
}

.r-m49 {
  margin-right: 49px;
}

.r-m50 {
  margin-right: 50px;
}

.r-m51 {
  margin-right: 51px;
}

.r-m52 {
  margin-right: 52px;
}

.r-m53 {
  margin-right: 53px;
}

.r-m54 {
  margin-right: 54px;
}

.r-m55 {
  margin-right: 55px;
}

.r-m56 {
  margin-right: 56px;
}

.r-m57 {
  margin-right: 57px;
}

.r-m58 {
  margin-right: 58px;
}

.r-m59 {
  margin-right: 59px;
}

.r-m60 {
  margin-right: 60px;
}

.r-m61 {
  margin-right: 61px;
}

.r-m62 {
  margin-right: 62px;
}

.r-m63 {
  margin-right: 63px;
}

.r-m64 {
  margin-right: 64px;
}

.r-m65 {
  margin-right: 65px;
}

.r-m66 {
  margin-right: 66px;
}

.r-m67 {
  margin-right: 67px;
}

.r-m68 {
  margin-right: 68px;
}

.r-m69 {
  margin-right: 69px;
}

.r-m70 {
  margin-right: 70px;
}

.r-m71 {
  margin-right: 71px;
}

.r-m72 {
  margin-right: 72px;
}

.r-m73 {
  margin-right: 73px;
}

.r-m74 {
  margin-right: 74px;
}

.r-m75 {
  margin-right: 75px;
}

.r-m76 {
  margin-right: 76px;
}

.r-m77 {
  margin-right: 77px;
}

.r-m78 {
  margin-right: 78px;
}

.r-m79 {
  margin-right: 79px;
}

.r-m80 {
  margin-right: 80px;
}

.r-m81 {
  margin-right: 81px;
}

.r-m82 {
  margin-right: 82px;
}

.r-m83 {
  margin-right: 83px;
}

.r-m84 {
  margin-right: 84px;
}

.r-m85 {
  margin-right: 85px;
}

.r-m86 {
  margin-right: 86px;
}

.r-m87 {
  margin-right: 87px;
}

.r-m88 {
  margin-right: 88px;
}

.r-m89 {
  margin-right: 89px;
}

.r-m90 {
  margin-right: 90px;
}

.r-m91 {
  margin-right: 91px;
}

.r-m92 {
  margin-right: 92px;
}

.r-m93 {
  margin-right: 93px;
}

.r-m94 {
  margin-right: 94px;
}

.r-m95 {
  margin-right: 95px;
}

.r-m96 {
  margin-right: 96px;
}

.r-m97 {
  margin-right: 97px;
}

.r-m98 {
  margin-right: 98px;
}

.r-m99 {
  margin-right: 99px;
}

.r-m100 {
  margin-right: 100px;
}

.r-m101 {
  margin-right: 101px;
}

.r-m102 {
  margin-right: 102px;
}

.r-m103 {
  margin-right: 103px;
}

.r-m104 {
  margin-right: 104px;
}

.r-m105 {
  margin-right: 105px;
}

.r-m106 {
  margin-right: 106px;
}

.r-m107 {
  margin-right: 107px;
}

.r-m108 {
  margin-right: 108px;
}

.r-m109 {
  margin-right: 109px;
}

.r-m110 {
  margin-right: 110px;
}

.r-m111 {
  margin-right: 111px;
}

.r-m112 {
  margin-right: 112px;
}

.r-m113 {
  margin-right: 113px;
}

.r-m114 {
  margin-right: 114px;
}

.r-m115 {
  margin-right: 115px;
}

.r-m116 {
  margin-right: 116px;
}

.r-m117 {
  margin-right: 117px;
}

.r-m118 {
  margin-right: 118px;
}

.r-m119 {
  margin-right: 119px;
}

.r-m120 {
  margin-right: 120px;
}

.l-m1 {
  margin-left: 1px;
}

.l-m2 {
  margin-left: 2px;
}

.l-m3 {
  margin-left: 3px;
}

.l-m4 {
  margin-left: 4px;
}

.l-m5 {
  margin-left: 5px;
}

.l-m6 {
  margin-left: 6px;
}

.l-m7 {
  margin-left: 7px;
}

.l-m8 {
  margin-left: 8px;
}

.l-m9 {
  margin-left: 9px;
}

.l-m10 {
  margin-left: 10px;
}

.l-m11 {
  margin-left: 11px;
}

.l-m12 {
  margin-left: 12px;
}

.l-m13 {
  margin-left: 13px;
}

.l-m14 {
  margin-left: 14px;
}

.l-m15 {
  margin-left: 15px;
}

.l-m16 {
  margin-left: 16px;
}

.l-m17 {
  margin-left: 17px;
}

.l-m18 {
  margin-left: 18px;
}

.l-m19 {
  margin-left: 19px;
}

.l-m20 {
  margin-left: 20px;
}

.l-m21 {
  margin-left: 21px;
}

.l-m22 {
  margin-left: 22px;
}

.l-m23 {
  margin-left: 23px;
}

.l-m24 {
  margin-left: 24px;
}

.l-m25 {
  margin-left: 25px;
}

.l-m26 {
  margin-left: 26px;
}

.l-m27 {
  margin-left: 27px;
}

.l-m28 {
  margin-left: 28px;
}

.l-m29 {
  margin-left: 29px;
}

.l-m30 {
  margin-left: 30px;
}

.l-m31 {
  margin-left: 31px;
}

.l-m32 {
  margin-left: 32px;
}

.l-m33 {
  margin-left: 33px;
}

.l-m34 {
  margin-left: 34px;
}

.l-m35 {
  margin-left: 35px;
}

.l-m36 {
  margin-left: 36px;
}

.l-m37 {
  margin-left: 37px;
}

.l-m38 {
  margin-left: 38px;
}

.l-m39 {
  margin-left: 39px;
}

.l-m40 {
  margin-left: 40px;
}

.l-m41 {
  margin-left: 41px;
}

.l-m42 {
  margin-left: 42px;
}

.l-m43 {
  margin-left: 43px;
}

.l-m44 {
  margin-left: 44px;
}

.l-m45 {
  margin-left: 45px;
}

.l-m46 {
  margin-left: 46px;
}

.l-m47 {
  margin-left: 47px;
}

.l-m48 {
  margin-left: 48px;
}

.l-m49 {
  margin-left: 49px;
}

.l-m50 {
  margin-left: 50px;
}

.l-m51 {
  margin-left: 51px;
}

.l-m52 {
  margin-left: 52px;
}

.l-m53 {
  margin-left: 53px;
}

.l-m54 {
  margin-left: 54px;
}

.l-m55 {
  margin-left: 55px;
}

.l-m56 {
  margin-left: 56px;
}

.l-m57 {
  margin-left: 57px;
}

.l-m58 {
  margin-left: 58px;
}

.l-m59 {
  margin-left: 59px;
}

.l-m60 {
  margin-left: 60px;
}

.l-m61 {
  margin-left: 61px;
}

.l-m62 {
  margin-left: 62px;
}

.l-m63 {
  margin-left: 63px;
}

.l-m64 {
  margin-left: 64px;
}

.l-m65 {
  margin-left: 65px;
}

.l-m66 {
  margin-left: 66px;
}

.l-m67 {
  margin-left: 67px;
}

.l-m68 {
  margin-left: 68px;
}

.l-m69 {
  margin-left: 69px;
}

.l-m70 {
  margin-left: 70px;
}

.l-m71 {
  margin-left: 71px;
}

.l-m72 {
  margin-left: 72px;
}

.l-m73 {
  margin-left: 73px;
}

.l-m74 {
  margin-left: 74px;
}

.l-m75 {
  margin-left: 75px;
}

.l-m76 {
  margin-left: 76px;
}

.l-m77 {
  margin-left: 77px;
}

.l-m78 {
  margin-left: 78px;
}

.l-m79 {
  margin-left: 79px;
}

.l-m80 {
  margin-left: 80px;
}

.l-m81 {
  margin-left: 81px;
}

.l-m82 {
  margin-left: 82px;
}

.l-m83 {
  margin-left: 83px;
}

.l-m84 {
  margin-left: 84px;
}

.l-m85 {
  margin-left: 85px;
}

.l-m86 {
  margin-left: 86px;
}

.l-m87 {
  margin-left: 87px;
}

.l-m88 {
  margin-left: 88px;
}

.l-m89 {
  margin-left: 89px;
}

.l-m90 {
  margin-left: 90px;
}

.l-m91 {
  margin-left: 91px;
}

.l-m92 {
  margin-left: 92px;
}

.l-m93 {
  margin-left: 93px;
}

.l-m94 {
  margin-left: 94px;
}

.l-m95 {
  margin-left: 95px;
}

.l-m96 {
  margin-left: 96px;
}

.l-m97 {
  margin-left: 97px;
}

.l-m98 {
  margin-left: 98px;
}

.l-m99 {
  margin-left: 99px;
}

.l-m100 {
  margin-left: 100px;
}

.l-m101 {
  margin-left: 101px;
}

.l-m102 {
  margin-left: 102px;
}

.l-m103 {
  margin-left: 103px;
}

.l-m104 {
  margin-left: 104px;
}

.l-m105 {
  margin-left: 105px;
}

.l-m106 {
  margin-left: 106px;
}

.l-m107 {
  margin-left: 107px;
}

.l-m108 {
  margin-left: 108px;
}

.l-m109 {
  margin-left: 109px;
}

.l-m110 {
  margin-left: 110px;
}

.l-m111 {
  margin-left: 111px;
}

.l-m112 {
  margin-left: 112px;
}

.l-m113 {
  margin-left: 113px;
}

.l-m114 {
  margin-left: 114px;
}

.l-m115 {
  margin-left: 115px;
}

.l-m116 {
  margin-left: 116px;
}

.l-m117 {
  margin-left: 117px;
}

.l-m118 {
  margin-left: 118px;
}

.l-m119 {
  margin-left: 119px;
}

.l-m120 {
  margin-left: 120px;
}

.flex {
  display: flex;
}
.flex.f-wrap {
  flex-wrap: wrap;
}
.flex.align-items-center {
  align-items: center;
}
.flex.space-between {
  justify-content: space-between;
}
.flex.jc-center {
  justify-content: center;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #44546a;
  background: #fefefe;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  font-weight: 500;
  position: relative;
  letter-spacing: 0;
}
body.f-maru {
  font-family: "Zen Maru Gothic", "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body.f-maru .ja {
  font-family: "Zen Maru Gothic", "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

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

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

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

.bold {
  font-weight: 600;
}

.mini {
  font-size: 90%;
  line-height: 1.5;
}

.probr {
  display: none;
}
@media all and (max-width: 1100px) {
  .probr {
    display: block;
  }
}
@media all and (max-width: 896px) {
  .probr {
    display: none;
  }
}
@media all and (max-width: 639px) {
  .probr {
    display: block;
  }
}

h2,
h3 {
  line-height: 1.4;
}
h2 .ja,
h3 .ja {
  font-weight: 500;
}

.fuchi {
  text-shadow: 1px 1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff, -1px -1px 0px #fff, 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
}

.u-txt {
  letter-spacing: 0.05rem;
}

em {
  font-style: normal;
}

.border-line {
  display: block;
  border-top: 2px dashed #8da9db;
  margin: 35px 0;
}

.mincho {
  font-family: "Shippori Mincho", serif, "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 500;
}

.ja {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

.eng {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.scroll-bar {
  max-height: 670px;
  overflow-y: scroll;
}

/* animation
----------------------------------*/
@keyframes view-zoomin {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes view-slideup {
  0% {
    opacity: 0;
    transform: translate(0, 35px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.animation {
  opacity: 0;
}

.slideup.on {
  opacity: 1;
  animation: view-slideup 0.65s cubic-bezier(0.2, 1, 0.2, 1);
}

.zoomin.on {
  opacity: 1;
  animation: view-zoomin 0.65s cubic-bezier(0.2, 1, 0.2, 1);
}

.loader {
  align-items: center;
  background: #fdfdfd;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
}
.loader::after {
  animation: loader 0.5s linear infinite;
  border: 1px solid #b4c6e7;
  border-radius: 50%;
  border-right: 1px solid rgba(180, 198, 231, 0.2);
  border-top: 1px solid rgba(180, 198, 231, 0.2);
  content: "";
  height: 70px;
  width: 70px;
}
.loader.off {
  display: none;
}

@keyframes loader {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* header
----------------------------------*/
@keyframes hd-scrolled {
  0% {
    opacity: 0;
    transform: translate(0, -100%);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
#l-header {
  position: relative;
  transition: all 0.4s ease-in;
  z-index: 200;
  width: 100%;
}
#l-header.is-fixed {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: #fefefe;
  filter: drop-shadow(0px 0px 8px rgba(68, 84, 106, 0.1));
}
#l-header.is-fixed .inner .head-right_contact {
  display: none;
}
#l-header.is-fixed .inner #header_nav ul li {
  filter: none;
}
#l-header.is-fixed .inner #header_nav ul li a {
  color: #44546a;
}
#l-header.is-fixed .inner #header_nav ul li a span {
  color: #b4c6e7;
}
#l-header.is-fixed .inner #logo {
  filter: none;
  background-color: #fefefe;
  top: 30px;
  text-align: center;
}
#l-header.is-fixed .inner #logo .logo1 {
  display: none;
}
#l-header.is-fixed .inner #logo .logo2 {
  display: block;
}
#l-header .inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
  padding: 15px 0;
  align-items: center;
  justify-content: space-between;
}
#l-header .inner #logo {
  z-index: 2;
  transition: all 0.4s ease-in;
  width: 250px;
}
@media all and (max-width: 1100px) {
  #l-header .inner {
    width: 95%;
  }
  #l-header .inner #logo {
    width: 200px;
  }
}

#header_nav {
  position: relative;
  transition: all 0.3s ease-in;
  z-index: 10000000;
}
@media all and (max-width: 896px) {
  #header_nav {
    display: none;
  }
}
#header_nav > ul {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
#header_nav > ul li {
  position: relative;
  text-align: center;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
#header_nav > ul li a {
  display: block;
  line-height: 1.5;
  font-size: 1.5rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #44546a;
  font-weight: 700;
}
#header_nav > ul li a i {
  display: block;
  font-size: 2rem;
  margin-bottom: 5px;
  color: #b4c6e7;
  display: none;
}
#header_nav > ul li a span {
  position: relative;
  display: block;
  font-size: 1.1rem;
  color: #b4c6e7;
  font-weight: 500;
}
#header_nav > ul li a span:after {
  position: absolute;
  content: "";
  width: 0;
  height: 2px;
  left: 50%;
  bottom: -5px;
  transform: translateX(-50%);
  transition: 0.3s width ease-in;
  z-index: -1;
}
#header_nav > ul li a.active span, #header_nav > ul li a:hover span {
  color: #777;
}
#header_nav > ul li a.active span::after, #header_nav > ul li a:hover span::after {
  width: 40%;
}
#header_nav .dropdown {
  display: none;
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: 61px;
  z-index: 999;
}
#header_nav .dropdown li:nth-child(3) {
  margin-right: 0;
}
#header_nav .dropdown li:nth-child(4) {
  margin-left: 0;
}
#header_nav .dropdown .dropdown-li {
  border: 1px solid #ddd;
  width: 140px !important;
}
#header_nav .dropdown .dropdown-li:not(:last-child) {
  border-bottom: 0px;
}
#header_nav .dropdown .dropdown-li a {
  display: block;
  width: auto;
  padding: 10px 5px;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  color: #44546a;
  background: #fefefe;
}
#header_nav .dropdown .dropdown-li a:hover {
  color: #fff;
  background: #b4c6e7;
}

/* page-top
----------------------------------*/
#page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 200;
}
#page-top a {
  display: block;
  background: #b4c6e7;
  color: #fff;
  border: 1px solid #fff;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  font-size: 1.1rem;
  text-align: center;
}
#page-top a:hover {
  opacity: 0.6;
}
@media all and (max-width: 639px) {
  #page-top {
    bottom: 73px;
  }
  #page-top a {
    width: 34px;
    height: 34px;
    line-height: 34px;
  }
}

/* slider
----------------------------------*/
@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  animation: zoom-in 11s linear 0s 1 normal both;
}

.swiper-slide {
  position: relative;
}
.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: 85vh;
}
.slide-img:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  bottom: 0;
  background: #000;
  opacity: 0.1;
  z-index: 2;
}
.slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
@media all and (max-width: 1100px) {
  .slide-img {
    height: 75vw;
  }
}
@media all and (max-width: 896px) {
  .slide-img {
    height: 75vw;
  }
  .slide-img:before {
    position: absolute;
    content: "";
    width: 30%;
    height: 100%;
    left: 0;
    bottom: 0;
    background: linear-gradient(to right, #222, transparent);
    opacity: 0.4;
    z-index: 2;
  }
}
@media all and (max-width: 639px) {
  .slide-img {
    height: 55vh;
  }
  .slide-img img {
    object-position: 75% 50%;
  }
}

#slideshow {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}
@media all and (max-width: 1100px) {
  #slideshow {
    border-radius: 10px;
  }
}

@-webkit-keyframes AnimationName {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-moz-keyframes AnimationName {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes AnimationName {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
#catch {
  position: absolute;
  z-index: 50;
  bottom: 10%;
  left: 40px;
  transition: opacity 2s cubic-bezier(0.18, 0.06, 0.23, 1);
  width: 100%;
  z-index: 10;
}
#catch .js-span-text {
  position: relative;
}
#catch .catch-en {
  font-size: 4.5rem;
  color: #fff;
  font-family: "Roboto", sans-serif;
}
@media all and (max-width: 896px) {
  #catch .catch-en {
    font-size: 2.5rem;
  }
}
@media all and (max-width: 639px) {
  #catch .catch-en {
    font-size: 1.5rem;
  }
}
#catch h2,
#catch h3 {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  filter: drop-shadow(5px 5px 5px rgba(34, 34, 34, 0.3));
  opacity: 0;
}
#catch h2 span,
#catch h3 span {
  background: #b4c6e7;
  background-image: linear-gradient(90deg, #2f5597 0%, #4472c4 20%, #b4c6e7 100%);
  padding: 0.5rem 2rem;
}
@media all and (max-width: 639px) {
  #catch h2 span,
  #catch h3 span {
    padding: 0.5rem 1rem;
  }
}
#catch h2 .stext,
#catch h3 .stext {
  font-size: 4rem;
  margin-bottom: 1rem;
}
@media all and (max-width: 639px) {
  #catch h2 .stext,
  #catch h3 .stext {
    font-size: 2rem;
  }
}
#catch h2.on,
#catch h3.on {
  opacity: 1;
  transition: all 2s ease-in;
}
#catch h3 {
  margin-top: 10px;
  font-weight: 500;
  font-size: 1.8rem;
  letter-spacing: 0.2em;
}
@media all and (max-width: 1100px) {
  #catch h2 {
    font-size: 3.2rem;
  }
  #catch h3 {
    font-size: 1.5rem;
  }
}
@media all and (max-width: 896px) {
  #catch {
    bottom: 40px;
    left: 20px;
  }
  #catch h2,
  #catch h3 {
    text-shadow: 1px 1px 0 rgba(68, 84, 106, 0.4);
  }
  #catch h2 {
    font-size: 2.4rem;
  }
  #catch h2 .stext {
    font-size: 3rem;
  }
  #catch h3 {
    font-size: 1.2rem;
  }
}
@media all and (max-width: 639px) {
  #catch {
    bottom: 15px;
    left: 5px;
  }
  #catch h2 {
    font-size: 1.2rem;
    letter-spacing: 0.2em;
  }
  #catch h2 .stext {
    font-size: 1.6rem;
  }
  #catch h3 {
    margin-top: 5px;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
  }
}

#scrolldown {
  position: absolute;
  right: 25px;
  bottom: 25px;
  color: #fefefe;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  letter-spacing: 0.2em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  font-size: 1rem;
  z-index: 100;
  height: 170px;
}
#scrolldown:before, #scrolldown:after {
  position: absolute;
  content: "";
  z-index: 2;
  left: 50%;
}
#scrolldown:before {
  width: 1px;
  height: 100px;
  bottom: 0;
  background: #f0f0f0;
  transform: translateX(-50%);
}
#scrolldown:after {
  width: 8px;
  height: 8px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 100%;
  top: 100px;
  margin-left: -4px;
  animation: scroll-point 2.3s ease-out infinite;
  animation-fill-mode: both;
}
@media all and (max-width: 896px) {
  #scrolldown {
    display: none;
  }
}

@keyframes scroll-point {
  0% {
    bottom: 0;
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  100% {
    top: 170px;
    opacity: 0;
  }
}
/* contact_bnr
----------------------------------*/
.contact_bnr > li {
  margin: 0 auto;
  text-align: center;
}
.contact_bnr > li .contact_bnr_txt {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
}
.contact_bnr > li:not(:last-child) {
  margin: 0 auto 15px;
}
.contact_bnr > li a {
  display: block;
  position: relative;
  line-height: 1;
}
@media all and (max-width: 896px) {
  .contact_bnr > li .contact_bnr_txt {
    font-size: 1.4rem;
  }
  .contact_bnr > li a {
    text-align: center;
  }
  .contact_bnr > li:first-of-type {
    margin-right: 0;
  }
}
.contact_bnr > li .bnr_tel {
  white-space: nowrap;
  position: relative;
  color: #fff;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 3.4rem;
  line-height: 1.4;
  background-color: #4472c4;
  padding: 1rem 2rem;
  border-radius: 30px;
  width: 60%;
  margin: 0 auto;
  margin-top: 10px;
}
.contact_bnr > li .bnr_tel:before {
  font-family: "Font Awesome 5 Free";
  content: "\f095";
  font-weight: 900;
  margin-right: 5px;
}
.contact_bnr > li .bnr_tel:hover {
  opacity: 0.6;
}
@media all and (max-width: 1100px) {
  .contact_bnr > li .bnr_tel {
    font-size: 3rem;
  }
}
@media all and (max-width: 639px) {
  .contact_bnr > li .bnr_tel {
    font-size: 1.4rem;
    text-align: center;
    width: 60%;
  }
}
.contact_bnr > li .bnr_mobile {
  background: #fefefe;
  color: #b4c6e7;
}
.contact_bnr > li .bnr_mobile:before {
  font-family: "Font Awesome 5 Free";
  content: "\f3cd";
  font-weight: 900;
}
.contact_bnr > li .bnr_fax {
  background: #fdfdfd;
  color: #b4c6e7;
}
.contact_bnr > li .bnr_fax:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1ac";
  font-weight: 900;
}
.contact_bnr > li .bnr_mail {
  background: #b4c6e7;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  border-radius: 50px;
  max-width: 320px;
  margin: auto;
  line-height: 1.4;
  padding: 15px 8px;
}
.contact_bnr > li .bnr_mail:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}
.contact_bnr > li .bnr_mail:hover {
  background: #4472c4;
  color: #fff;
}
@media all and (max-width: 639px) {
  .contact_bnr > li .bnr_mail {
    font-size: 1.5rem;
  }
}
.contact_bnr > li .bnr_site {
  background: #fff;
  color: #44546a;
  border: 1px solid #44546a;
  text-align: center;
  font-size: 2rem;
  max-width: 270px;
  border-radius: 50px;
  margin: auto;
  line-height: 1.4;
  padding: 15px 8px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.contact_bnr > li .bnr_site:before {
  font-family: "Font Awesome 5 Free";
  content: "\f3cd";
  font-weight: 900;
  margin-right: 5px;
}
.contact_bnr > li .bnr_site:hover {
  background: #44546a;
  color: #fff;
}
@media all and (max-width: 896px) {
  .contact_bnr > li .bnr_site {
    font-size: 1.5rem;
  }
}

.footer-contact {
  position: relative;
  padding-bottom: 200px;
}
.footer-contact:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fefefe;
  z-index: -1;
}
.footer-contact::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 150px;
  background: url(../img/nami.svg) no-repeat bottom/contain;
  left: 0;
  bottom: -150px;
  z-index: -1;
}
.footer-contact .inner-box {
  margin: 0 auto;
  padding: 50px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  align-items: stretch;
  width: 80%;
}
.footer-contact .inner-box .left {
  position: relative;
  width: 33%;
  padding: 20px;
  border-right: 2px dotted rgba(180, 198, 231, 0.5);
}
.footer-contact .inner-box .left .footer-title {
  text-align: center;
  font-size: 2.2rem;
  color: #b4c6e7;
}
.footer-contact .inner-box .left .footer-title span {
  font-size: 4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.footer-contact .inner-box .left .footer-title_sub {
  margin-top: 20px;
  text-align: center;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  animation: bounce-anm 2s ease infinite;
}
.footer-contact .inner-box .left .footer-title_sub span {
  background: #eef2fa;
  color: #fff;
  border-radius: 30px;
  padding: 8px 20px;
}
.footer-contact .inner-box .center,
.footer-contact .inner-box .right {
  width: 32%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}
.footer-contact .inner-box .center a,
.footer-contact .inner-box .right a {
  font-size: 3rem;
}
.footer-contact .inner-box .center {
  border-right: 2px dotted rgba(180, 198, 231, 0.5);
}
.footer-contact .inner-box a:hover {
  color: #4472c4;
}
@media all and (max-width: 896px) {
  .footer-contact .inner-box {
    padding: 20px 0;
  }
  .footer-contact .inner-box .left .footer-title {
    font-size: 1.8rem;
  }
  .footer-contact .inner-box .left .footer-title span {
    font-size: 5rem;
  }
  .footer-contact .inner-box .left .footer-title_sub {
    font-size: 1.5rem;
  }
}
@media all and (max-width: 639px) {
  .footer-contact .inner-box .left {
    width: 100%;
    margin: 0 auto 30px;
  }
  .footer-contact .inner-box .left .footer-title {
    font-size: 1.6rem;
  }
  .footer-contact .inner-box .left .footer-title span {
    font-size: 1.2;
  }
  .footer-contact .inner-box .left .footer-title_sub {
    font-size: 1.3rem;
  }
  .footer-contact .inner-box .right {
    width: 100%;
  }
}
.footer-contact .footer-txt {
  width: 80%;
  margin: 0 auto 40px;
}
@media all and (max-width: 1100px) {
  .footer-contact .inner-box .left .footer-title {
    font-size: 1.8rem;
  }
  .footer-contact .inner-box .left .footer-title span {
    font-size: 3rem;
  }
  .footer-contact .inner-box .center a,
  .footer-contact .inner-box .right a {
    font-size: 2.8rem;
  }
}
@media all and (max-width: 896px) {
  .footer-contact .inner-box,
  .footer-contact .footer-txt {
    width: 90%;
  }
  .footer-contact .inner-box .center a,
  .footer-contact .inner-box .right a {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 639px) {
  .footer-contact .inner-box .center,
  .footer-contact .inner-box .right,
  .footer-contact .inner-box .left {
    margin: 0 auto;
    width: 80%;
    padding: 10px;
    border-bottom: 2px dotted rgba(180, 198, 231, 0.5);
  }
  .footer-contact .inner-box .left {
    border-right: none;
  }
  .footer-contact .inner-box .center {
    border-right: none;
  }
  .footer-contact .footer-txt {
    width: 95%;
  }
  .footer-contact .footer-title {
    font-size: 1.5rem;
  }
  .footer-contact .footer-title span {
    font-size: 2.5rem;
  }
}

.footer-bnr-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}
.footer-bnr-list > li {
  width: 48%;
}
.footer-bnr-list > li a {
  text-align: center;
  transition: all 0.3s ease;
  padding: 8px;
  display: block;
  background: #27457b;
  border: 1px solid #27457b;
  border-radius: 5px;
  color: #fff;
}
.footer-bnr-list > li a i {
  margin-right: 5px;
}
.footer-bnr-list > li a:hover {
  background: #fff;
  color: #27457b;
}

/* footer
----------------------------------*/
#l-footer {
  position: relative;
  width: 100%;
}
#l-footer:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  background: #fff;
  background: #b4c6e7;
  z-index: -2;
  background: url(../img/footer-img.jpg) no-repeat center 50%/cover;
  opacity: 0.7;
}
#l-footer .footer-top {
  width: 80%;
  margin: -200px auto 0;
  height: 450px;
}
#l-footer .inner {
  position: relative;
  width: 80%;
  margin: 0 auto;
  padding: 60px 0;
  z-index: 2;
}
#l-footer .sns-list {
  display: flex;
  justify-content: space-between;
  justify-content: center;
  margin-bottom: 60px;
  column-gap: 5%;
}
#l-footer .sns-list .sns-bnr a {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
}
#l-footer .sns-list .sns-bnr a:after {
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 6px;
  background: rgba(56, 144, 144, 0.2);
  border-radius: 5px;
  z-index: -1;
}
#l-footer .sns-list .sns-bnr a img {
  transition: all 0.3s ease;
}
#l-footer .sns-list .sns-bnr a:hover img {
  transform: translate(5px, 5px);
}
@media all and (max-width: 639px) {
  #l-footer .sns-list {
    flex-wrap: wrap;
    margin-bottom: 40px;
  }
  #l-footer .sns-list .bnr1 {
    margin-bottom: 10px;
  }
}
#l-footer .footer-txt {
  color: #fefefe;
  text-align: center;
}
#l-footer .footer-column {
  position: relative;
  margin: 0 auto 30px;
  z-index: 2;
}
#l-footer .footer-column.type1 {
  margin: 0 auto;
}
#l-footer .footer-column .footer-left {
  display: flex;
  justify-content: space-between;
}
#l-footer .footer-column .footer-left .txt {
  color: #fff;
}
#l-footer .footer-column .footer-right {
  width: 38%;
}
#l-footer .footer-column .footer-right iframe {
  height: 250px;
}
@media all and (max-width: 896px) {
  #l-footer:after {
    opacity: 0.8;
  }
  #l-footer .inner {
    padding: 40px 0;
    width: 90%;
  }
  #l-footer .footer-column .footer-left {
    width: 100%;
    margin-bottom: 30px;
  }
  #l-footer .footer-column .footer-left .inbox2 {
    text-align: center;
  }
  #l-footer .footer-column .footer-right {
    width: 100%;
  }
  #l-footer .footer-column .footer-right iframe {
    height: 300px;
  }
  #l-footer .footer-top {
    width: 90%;
    height: 350px;
  }
}
@media all and (max-width: 639px) {
  #l-footer .footer-top {
    height: 250px;
  }
  #l-footer .footer-left {
    flex-direction: column;
    text-align: center;
  }
  #l-footer .footer-left .flogo {
    margin: 0 auto;
  }
}

.inner_acc {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  background: rgba(68, 114, 196, 0.3);
}
.inner_acc .footer-left,
.inner_acc .footer-right {
  width: 50%;
}
.inner_acc .footer-left .inbox,
.inner_acc .footer-right .inbox {
  padding: 60px 20px;
  margin: 0 auto;
}
.inner_acc .footer-left .footer-right,
.inner_acc .footer-right .footer-right {
  overflow: hidden;
}
@media all and (max-width: 896px) {
  .inner_acc .footer-left,
  .inner_acc .footer-right {
    width: 100%;
  }
  .inner_acc .footer-left.map,
  .inner_acc .footer-right.map {
    height: 250px;
    order: -1;
  }
}
@media all and (max-width: 639px) {
  .inner_acc .footer-left,
  .inner_acc .footer-right {
    width: 100%;
  }
  .inner_acc .footer-left .inbox,
  .inner_acc .footer-right .inbox {
    padding: 30px 15px;
  }
  .inner_acc .footer-left.map,
  .inner_acc .footer-right.map {
    height: 200px;
  }
}

.map-big {
  box-shadow: rgba(0, 0, 0, 0.05) 0px 15px 25px, rgba(0, 0, 0, 0.01) 0px 5px 10px;
  position: relative;
  z-index: 3;
  position: relative;
  padding-bottom: 65%;
  height: 0;
  overflow: hidden;
  margin-right: calc(50% - 50vw);
}
.map-big iframe,
.map-big object,
.map-big embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 1100px) {
  .map-big {
    margin: 0 calc(50% - 50vw);
    padding-bottom: 45%;
  }
}
@media all and (max-width: 639px) {
  .map-big {
    padding-bottom: 55%;
  }
}

/* footer_navi
----------------------------------*/
.footer_navi {
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  .footer_navi {
    display: none;
  }
}
.footer_navi ul {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 20px;
}
.footer_navi ul li {
  flex: 1 0 auto;
}
.footer_navi ul li a {
  position: relative;
  display: block;
  color: #44546a;
  font-size: 1.4rem;
  font-weight: bold;
}
.footer_navi ul li a i {
  display: none;
}
@media all and (max-width: 1100px) {
  .footer_navi ul li a {
    font-size: 1.1rem;
  }
}
.footer_navi ul li a:before {
  content: "●";
  margin-right: 5px;
  font-size: 1rem;
  color: #b4c6e7;
}
.footer_navi ul li a span {
  display: none;
}
.footer_navi ul li a:hover {
  opacity: 0.6;
}
.footer_navi ul li .dropdown {
  display: none;
}
.footer_navi ul li .dropdown li {
  width: 100%;
  margin: 0;
}
.footer_navi ul li .dropdown a {
  position: relative;
  font-size: 1.2rem;
  letter-spacing: 0;
  padding: 4px 0 4px 1.3em;
  line-height: 1.3;
}
.footer_navi ul li .dropdown a:before {
  position: absolute;
  content: "・";
  margin-right: 5px;
  color: #b4c6e7;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.flogo {
  position: relative;
  z-index: 5;
  width: 300px;
}
.flogo span {
  margin-bottom: 10px;
  color: #fefefe;
}
@media all and (max-width: 639px) {
  .flogo {
    width: 65%;
  }
}

.address {
  font-size: 1.3rem;
  font-weight: bold;
}
@media all and (max-width: 896px) {
  .address {
    font-size: 1.2rem;
  }
}

.copyright {
  padding-top: 20px;
  font-size: 1.3rem;
  position: relative;
  z-index: 2;
  text-align: left;
  font-weight: bold;
}
@media all and (max-width: 896px) {
  .copyright {
    font-size: 12px;
    padding: 15px 0 42px;
    text-align: center;
  }
}

/*----------------------------------
 top-contents
----------------------------------*/
.deco01 {
  position: absolute;
  display: block;
  width: 350px;
  left: 2%;
  bottom: -12%;
  z-index: 20;
}
@media all and (max-width: 639px) {
  .deco01 {
    width: 40%;
    bottom: -20%;
  }
}

.bg-about {
  position: relative;
}
.bg-about:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 70%;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, transparent 0%, transparent 50%, rgba(254, 254, 254, 0.6) 70%, #fefefe 100%), url(../img/bg-about.jpg) repeat left bottom/cover;
  z-index: -1;
}

.title-big {
  position: relative;
  z-index: 2;
  margin-bottom: 40px;
}
.title-big.type1 {
  margin-top: 40px;
  text-align: center;
}
.title-big .eng {
  font-size: 10rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #44546a;
  line-height: 1.2;
}
.title-big .ja {
  font-size: 2.6rem;
  display: block;
  color: #586d89;
}
@media all and (max-width: 1100px) {
  .title-big.type1 {
    margin-top: 30px;
  }
  .title-big .eng {
    font-size: 8rem;
  }
  .title-big .ja {
    font-size: 2.4rem;
  }
}
@media all and (max-width: 896px) {
  .title-big {
    margin-bottom: 35px;
  }
  .title-big.type1 {
    margin-top: 20px;
  }
  .title-big .eng {
    font-size: 5rem;
  }
  .title-big .ja {
    font-size: 2rem;
  }
}
@media all and (max-width: 639px) {
  .title-big .eng {
    font-size: 4rem;
  }
  .title-big .ja {
    font-size: 1.8rem;
  }
}

.greet-title {
  font-size: 3rem;
  color: #b4c6e7;
  margin-bottom: 20px;
  text-align: center;
}
.greet-title span {
  border-bottom: 2px dashed #f6f1dd;
}
@media all and (max-width: 639px) {
  .greet-title {
    font-size: 2.2rem;
  }
}

.greet-txt {
  position: relative;
  z-index: 3;
}
.greet-txt .inner {
  max-width: 750px;
  margin: 0 auto;
  padding: 80px 20px;
}

@media all and (max-width: 639px) {
  .content-top {
    padding-top: 20px;
  }
}

.pick-title {
  position: relative;
  z-index: 2;
  font-size: 2rem;
  padding-left: 30px;
  margin-bottom: -15px;
}
.pick-title .eng {
  line-height: 1;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  display: block;
  font-size: 3.2rem;
  color: #b4c6e7;
}
.pick-title:before {
  position: absolute;
  content: "";
  width: 1px;
  height: 40px;
  top: -20px;
  left: 0;
  background: #b4c6e7;
  transform: rotate(20deg);
}
@media all and (max-width: 639px) {
  .pick-title {
    font-size: 1.4rem;
  }
  .pick-title .eng {
    font-size: 2.2rem;
  }
  .pick-title:before {
    left: 10px;
  }
}

.top-btn a {
  display: block;
  margin: 0 auto;
  width: 350px;
  padding: 15px 20px;
  font-weight: 600;
  background: #44546a;
  color: #f6f1dd;
  border-top: 2px solid #f6f1dd;
  border-bottom: 2px solid #f6f1dd;
  position: relative;
}
.top-btn a i {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}

.icon-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 40px 0;
  gap: 25px 3%;
  position: relative;
  z-index: 2;
  max-width: 800px;
}
@media all and (max-width: 639px) {
  .icon-list {
    grid-template-columns: repeat(2, 1fr);
    padding: 20px 0;
  }
}
.icon-list.type1 {
  justify-content: flex-start;
}
.icon-list li a {
  display: block;
  text-align: center;
  font-weight: 600;
  line-height: 1.4;
  height: 100%;
  transition: all 0.2s cubic-bezier(0.26, 0.06, 0, 1);
  position: relative;
  height: 80px;
  transition: transform 0.2s cubic-bezier(0.26, 0.06, 0, 1);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (max-width: 639px) {
  .icon-list li a {
    height: 70px;
  }
}
.icon-list li a .icon-title {
  color: #44546a;
  position: relative;
  z-index: 2;
  transition: all 0.2s cubic-bezier(0.26, 0.06, 0, 1);
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.4;
}
@media all and (max-width: 639px) {
  .icon-list li a .icon-title {
    padding: 5px;
  }
}
.icon-list li a:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  transition: transform 0.2s cubic-bezier(0.26, 0.06, 0, 1);
  opacity: 0.9;
  z-index: -1;
}
.icon-list li a:hover {
  z-index: 2;
}
.icon-list li a:hover:before {
  transform: translate(-50%, -50%) scale(1.02, 1.04);
  opacity: 1;
  background: #f6f1dd;
}
.icon-list li a:hover .icon-title {
  color: #b4c6e7;
}
.icon-list li a:after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  width: 60%;
  height: 100%;
  background: url(../img/dog.png) no-repeat right bottom/contain;
  opacity: 0.2;
}

.title01 {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #44546a;
  font-size: 1.7rem;
  padding-left: 15px;
  border-left: 4px solid #b4c6e7;
  margin-bottom: 15px;
}
.title01.type1 {
  border-left: 4px solid #4472c4;
}
@media all and (max-width: 639px) {
  .title01 {
    margin-bottom: 10px;
    font-size: 1.35rem;
    line-height: 1.4;
    letter-spacing: 0.15em;
  }
}

.title02 {
  position: relative;
  margin-bottom: 50px;
}
.title02:before {
  position: absolute;
  content: "";
  left: 0;
  bottom: -25px;
  width: 80px;
  height: 17px;
  background: url(../img/title-line.png) no-repeat left center/contain;
}
.title02 .eng {
  font-size: 1.4rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #aaa;
  margin-left: 10px;
}
.title02 .ja {
  font-size: 2.2rem;
  color: #44546a;
}
@media all and (max-width: 639px) {
  .title02 {
    flex-direction: column;
    align-items: flex-start;
  }
  .title02 .eng {
    font-size: 1rem;
  }
  .title02 .ja {
    font-size: 1.5rem;
    margin-left: 0;
  }
}

/* --news--
----------------------------------*/
.news-box {
  margin: 0 auto;
  max-width: 1150px;
  position: relative;
  z-index: 10;
  display: flex;
}
@media all and (max-width: 639px) {
  .news-box {
    flex-direction: column;
  }
}
.news-box.type1 .news-title .eng {
  color: #ee7ea6;
}
.news-box.type1 .blog-category {
  background: #ee7ea6;
}
.news-box.type2 .news-title .eng {
  color: #f4cd32;
}
.news-box.type2 .blog-category {
  background: #f4cd32;
}
.news-box.type3 .news-title .eng {
  color: #61b74d;
}
.news-box.type3 .blog-category {
  background: #61b74d;
}
.news-box.type4 .news-title .eng {
  color: #4799d2;
}
.news-box.type4 .blog-category {
  background: #4799d2;
}

.news-title {
  position: relative;
  text-align: center;
  margin-right: 30px;
}
.news-title span {
  display: block;
}
.news-title .eng {
  position: relative;
  color: #b4c6e7;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 3.8rem;
  line-height: 1.4;
}
.news-title .ja {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #44546a;
  font-size: 1.8rem;
  position: relative;
  margin: 0 auto;
}
@media all and (max-width: 639px) {
  .news-title {
    margin-bottom: 15px;
    margin-right: 0;
  }
  .news-title .eng {
    font-size: 2.8rem;
  }
  .news-title .ja {
    font-size: 1.4rem;
  }
}

.news-right {
  flex: 1;
}
@media all and (max-width: 639px) {
  .news-right {
    width: 100%;
    margin: 0 auto;
  }
}

/* category_tab
----------------------------------*/
.category_tab {
  position: relative;
  display: flex;
  justify-content: center;
  text-align: center;
}
.category_tab:before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #ddd;
}
.category_tab li {
  position: relative;
  flex: 1;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  border: 1px solid #ddd;
  border-bottom: 0 !important;
  border-radius: 5px 5px 0 0;
  color: #44546a;
  padding: 10px 5px;
  line-height: 1.3;
  margin-right: 0.5%;
  background: #f2f2f2;
  cursor: pointer;
}
.category_tab li:first-child {
  margin-left: 1%;
}
.category_tab li:last-child {
  margin-right: 1%;
}
.category_tab li.active {
  background: #fefefe;
  color: #44546a;
}
@media all and (max-width: 896px) {
  .category_tab:before {
    height: 2px;
  }
  .category_tab li {
    font-size: 1.2rem;
    padding: 4px;
  }
}

.panel {
  display: none;
}

.category_contents {
  padding: 30px 25px;
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  .category_contents {
    padding: 20px 10px;
  }
}

.bg-triangle {
  position: relative;
  overflow: hidden;
}
.bg-triangle .inner {
  position: relative;
  z-index: 2;
}
.bg-triangle:before {
  position: absolute;
  content: "";
  width: 25%;
  height: 100%;
  top: 0;
  left: -300px;
  background-image: linear-gradient(to right bottom, #b4c6e7 0%, #668bcf 50%, #557fc9 65%, #4c78c7 75.5%, #4875c5 82.85%, #4674c5 88%, #4472c4 100%);
  transform: skew(20deg);
  z-index: 1;
  opacity: 0.1;
}
.bg-triangle:after {
  position: absolute;
  content: "";
  width: 5%;
  height: 50%;
  top: 0;
  right: 2%;
  background: #b4c6e7;
  transform: skew(20deg);
  opacity: 0.4;
}
.bg-triangle.type1:before {
  background-image: linear-gradient(to right bottom, #4472c4 0%, #4472c4 50%, #4472c4 65%, #4472c4 75.5%, #4472c4 82.85%, #4472c4 88%, #4472c4 100%);
}
.bg-triangle.type1:after {
  background: #4472c4;
}
@media all and (max-width: 896px) {
  .bg-triangle:before {
    left: -180px;
  }
}
@media all and (max-width: 639px) {
  .bg-triangle:before {
    left: -80px;
    transform: skew(10deg);
    width: 40%;
  }
  .bg-triangle:after {
    display: none;
  }
}

.bg-wood {
  background: url(../img/wood2.jpg);
}

.top-bg {
  background: url(../img/top-bg01.jpg) no-repeat center/cover;
  background-attachment: fixed;
}
@media all and (max-width: 1100px) {
  .top-bg {
    background-attachment: scroll;
  }
}

.bg-gradient2 {
  position: relative;
  overflow: hidden;
}
.bg-gradient2:before {
  content: "";
  position: absolute;
  bottom: 20%;
  left: 0;
  width: 100%;
  height: 26px;
  background: #ffe5c5;
  transform: skewY(6deg);
  opacity: 0.8;
}
.bg-gradient2:after {
  content: "";
  position: absolute;
  bottom: 50px;
  left: 0;
  width: 100%;
  height: 20px;
  background: #dff1d1;
  transform: skewY(25deg);
  opacity: 0.8;
}

.bg-gradient3 {
  position: relative;
}
.bg-gradient3:before {
  content: "";
  position: absolute;
  bottom: -53px;
  right: -180px;
  width: 100%;
  height: 30px;
  background: #dff1d1;
  transform: skewY(11deg);
  opacity: 0.8;
}
@media all and (max-width: 639px) {
  .bg-gradient3:before {
    bottom: -33px;
    right: -110px;
  }
}
.bg-gradient3:after {
  content: "";
  position: absolute;
  bottom: -30px;
  right: -282px;
  width: 100%;
  height: 20px;
  background: #ffe5c5;
  transform: skewY(26deg);
  opacity: 0.8;
}

.map-link {
  font-weight: 700;
  color: #b4c6e7;
  border-bottom: 1px solid #b4c6e7;
}
.map-link:before {
  font-family: "Font Awesome 5 Free";
  content: "\f3c5";
  font-weight: 900;
  margin-right: 5px;
}

/* contents
----------------------------------*/
.single {
  max-width: 1150px;
  margin: 0px auto;
  padding: 80px 0;
  position: relative;
}
.single.inner {
  z-index: 2;
}
.single.type1 {
  padding: 80px 0 0;
}
@media all and (max-width: 1100px) {
  .single {
    padding: 80px 10px;
    max-width: 95%;
  }
  .single.type1 {
    padding: 80px 10px 0;
  }
}

.single02 {
  margin: 0 auto;
  padding: 80px 0;
}
.single02.inner {
  z-index: 2;
}
@media all and (max-width: 1100px) {
  .single02 {
    width: 100%;
    padding: 80px 10px;
  }
}

.single03 {
  max-width: 1500px;
  margin: 0 auto;
  padding: 80px 0;
  position: relative;
}
.single03.inner {
  z-index: 2;
}
.single03.type_left {
  padding-left: 7%;
}
@media all and (max-width: 1100px) {
  .single03 {
    padding: 80px 10px;
  }
}
@media all and (max-width: 639px) {
  .single03.type_left {
    padding-left: 0;
  }
}

.single04 {
  position: relative;
  margin: 0 auto;
  padding: 80px 0;
  max-width: calc(100% - 120px);
}
@media all and (max-width: 896px) {
  .single04 {
    max-width: calc(100% - 20px);
    padding: 40px 0;
  }
}

.single05 {
  padding: 120px 0 120px 40px;
}

.single.phalf,
.single02.phalf,
.single03.phalf,
.single04.phalf,
.single05.phalf {
  padding: 40px 0;
}
@media all and (max-width: 1100px) {
  .single.phalf,
  .single02.phalf,
  .single03.phalf,
  .single04.phalf,
  .single05.phalf {
    padding: 40px 10px;
  }
}
@media all and (max-width: 896px) {
  .single.phalf,
  .single02.phalf,
  .single03.phalf,
  .single04.phalf,
  .single05.phalf {
    padding: 20px 0;
  }
}
.single.type2,
.single02.type2,
.single03.type2,
.single04.type2,
.single05.type2 {
  padding: 0 0 80px;
}
@media all and (max-width: 1100px) {
  .single.type2,
  .single02.type2,
  .single03.type2,
  .single04.type2,
  .single05.type2 {
    padding: 0 10px 80px;
  }
}

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

.margin-top2 {
  margin-top: -40px;
}
@media all and (max-width: 896px) {
  .margin-top2 {
    margin-top: -20px;
  }
}

.lsingle,
.rsingle {
  width: 48.44%;
}

.lsingle {
  float: left;
}

.rsingle {
  float: right;
}

.sbox {
  background: #fefefe;
  padding: 30px;
  position: relative;
  z-index: 3;
  max-width: 840px;
  margin-inline: auto;
  border-radius: 30px;
}
.sbox.sd {
  filter: drop-shadow(0 0 5px rgba(68, 84, 106, 0.05));
}
.sbox.type1 {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.5);
}
@media all and (max-width: 896px) {
  .sbox.type1 {
    min-height: initial;
  }
}
.sbox.transparent {
  background: transparent;
  box-shadow: none;
}
@media all and (max-width: 639px) {
  .sbox {
    padding: 15px 10px;
  }
}
.sbox.round {
  border-radius: 20px;
}

.mbox {
  background: #fefefe;
  padding: 30px;
  position: relative;
  z-index: 3;
}
.mbox.sd {
  filter: drop-shadow(0 0 5px rgba(68, 84, 106, 0.05));
}
.mbox.type1 {
  box-shadow: none;
  background: rgba(255, 255, 255, 0.5);
}
@media all and (max-width: 896px) {
  .mbox.type1 {
    min-height: initial;
  }
}
.mbox.transparent {
  background: transparent;
  box-shadow: none;
}
@media all and (max-width: 639px) {
  .mbox {
    padding: 15px 10px;
  }
}
.mbox.round {
  border-radius: 20px;
}

.mbox2 {
  background: #fff;
  padding: 30px;
  border: 5px solid #f8dae4;
}
.mbox2.type1 {
  border: 5px solid #f8f3b9;
}
.mbox2.type2 {
  border: 5px solid #ddefd0;
}
.mbox2.type3 {
  border: 5px solid #d6ebfc;
}
@media all and (max-width: 639px) {
  .mbox2 {
    padding: 15px 10px;
  }
}

.mbox3 {
  background: #fff;
  padding: 30px;
  border: 5px solid #4472c4;
  filter: drop-shadow(0 0 5px rgba(68, 84, 106, 0.05));
}
.mbox3.type1 {
  border-top: 5px solid #ee7ea6;
}
.mbox3.type2 {
  border-top: 5px solid #f4cd32;
}
.mbox3.type3 {
  border-top: 5px solid #61b74d;
}
.mbox3.type4 {
  border-top: 5px solid #4799d2;
}
@media all and (max-width: 639px) {
  .mbox3 {
    padding: 15px 10px;
  }
}

.small-box {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}
.small-box.type1 {
  max-width: 650px;
}

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

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

.bg-grid {
  background-image: linear-gradient(90deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2)), linear-gradient(0deg, transparent 95%, rgba(204, 204, 204, 0.2) 50%, rgba(204, 204, 204, 0.2));
  background-size: 20px 20px;
  background-repeat: repeat;
}

.bg-grid2 {
  background: url(../img/grid2.png) repeat;
}

#main {
  float: left;
  width: 76%;
}
#main .mbox {
  min-height: 400px;
}
@media all and (max-width: 896px) {
  #main .mbox {
    min-height: initial;
  }
}
@media all and (max-width: 896px) {
  #main {
    float: none;
    width: 100%;
  }
}

#side {
  float: right;
  position: sticky;
  right: 0;
  top: 0;
  width: 21%;
  padding-right: 10px;
}
@media all and (max-width: 896px) {
  #side {
    float: none;
    width: 100%;
    position: static;
    margin-top: 40px;
  }
}

#medical-box {
  display: flex;
  align-items: flex-start;
  position: relative;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
}
@media all and (max-width: 896px) {
  #medical-box {
    flex-direction: column;
    justify-content: center;
    margin-bottom: 0;
    padding: 0;
  }
}
#medical-box #medical-side {
  width: 200px;
  position: sticky;
  left: 0;
  top: 80px;
  margin-bottom: 80px;
}
#medical-box #medical-side .btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 20px;
}
#medical-box #medical-side .btn.type1 li {
  background: #f4cd32;
}
#medical-box #medical-side .btn.type2 li {
  background: #61b74d;
}
#medical-box #medical-side .btn li {
  margin: 0 5px;
  background: #ee7ea6;
  border-radius: 100%;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  max-width: 50px;
}
#medical-box #medical-side .btn li:hover {
  background: #44546a;
}
@media all and (max-width: 896px) {
  #medical-box #medical-side {
    width: 95%;
    margin: 0 auto;
  }
}
#medical-box #medical-main {
  flex: 1;
  margin-left: 40px;
}
@media all and (max-width: 1100px) {
  #medical-box #medical-main {
    margin-left: 20px;
  }
}
@media all and (max-width: 896px) {
  #medical-box #medical-main {
    flex: 0 1 auto;
    margin: 0;
    width: 100%;
  }
}

.sidenavi_wrap {
  margin-top: 80px;
  background: #fff;
  padding: 0 10px;
  border-radius: 5px;
  overflow: hidden;
  filter: drop-shadow(0 0 5px rgba(68, 84, 106, 0.05));
}
@media all and (max-width: 896px) {
  .sidenavi_wrap {
    margin-top: 40px;
  }
}
.sidenavi_wrap.type1 .title-mini {
  background: #f4cd32;
}
.sidenavi_wrap.type1 .side-navi li a:before {
  color: #f4cd32;
}
.sidenavi_wrap.type2 .title-mini {
  background: #61b74d;
}
.sidenavi_wrap.type2 .side-navi li a:before {
  color: #61b74d;
}
.sidenavi_wrap .title-mini {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  background: #ee7ea6;
  color: #fff;
  padding: 4px 0;
  margin: 0 -10px;
  text-align: center;
  font-size: 1.6rem;
}
@media all and (max-width: 896px) {
  .sidenavi_wrap .title-mini {
    font-size: 1.35rem;
  }
}
.sidenavi_wrap .side-navi {
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 10px 0;
}
@media all and (max-width: 896px) {
  .sidenavi_wrap .side-navi {
    font-size: 1.2rem;
  }
}
.sidenavi_wrap .side-navi > li a {
  display: block;
  color: #44546a;
  position: relative;
  padding: 8px 0;
  transition: all 0.4s ease;
}
.sidenavi_wrap .side-navi > li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f111";
  font-weight: 900;
  margin-right: 10px;
  color: #ee7ea6;
  font-size: 0.5em;
  transition: all 0.4s ease;
  opacity: 0.5;
}
.sidenavi_wrap .side-navi > li a:hover {
  background: #f4f4f4;
}
.sidenavi_wrap .side-navi > li a:hover:before {
  opacity: 1;
}
.sidenavi_wrap .side-navi > li:not(:last-of-type) {
  border-bottom: 1px dashed #ccc;
}

/* mtitle
----------------------------------*/
.mtitle {
  margin: 0 auto 30px;
  position: relative;
  text-align: center;
  line-height: 1.7;
}
.mtitle .eng {
  position: relative;
  font-size: 1.5rem;
  color: #b4c6e7;
  z-index: 2;
  display: block;
  font-family: "Roboto", sans-serif;
}
.mtitle .eng i {
  color: #99c478;
}
.mtitle .ja {
  position: relative;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  z-index: 2;
  font-size: 2.5rem;
  color: #44546a;
  letter-spacing: 0.3rem;
  font-size: 3.5rem;
}
.mtitle.type1 .eng {
  color: #eef2fa;
}
.mtitle.gray .eng {
  color: #777;
}
.mtitle.sbc .eng {
  color: #4472c4;
}
.mtitle.white span {
  color: #fff;
  text-shadow: 0 0 3px rgba(68, 84, 106, 0.2);
}
.mtitle.white span.eng {
  color: #fff;
}
.mtitle.mtitle_left {
  text-align: left;
  margin-left: 5px;
  margin-right: 0;
}
@media all and (max-width: 896px) {
  .mtitle .eng {
    font-size: 3.5rem;
  }
  .mtitle .ja {
    font-size: 2.5rem;
  }
}
@media all and (max-width: 639px) {
  .mtitle {
    text-align: center;
    margin: 0 auto 25px;
  }
  .mtitle .eng {
    font-size: 2.3rem;
  }
  .mtitle .ja {
    font-size: 1.5rem;
  }
}

.mtitle2 {
  position: relative;
  margin-bottom: 25px;
}
.mtitle2 span {
  display: inline-block;
  padding: 3px 8px;
}
.mtitle2 .eng {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: inherit;
  font-size: 1.4rem;
  background: #4472c4;
  color: #fff;
}
.mtitle2 .ja {
  font-size: 2rem;
  background: #fff;
  color: #44546a;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.mtitle2.sbc .eng {
  background: #4472c4;
}
.mtitle2.type2 .eng {
  background: #99c478;
}
.mtitle2.type3 .eng {
  background: #ffdb4f;
}
@media all and (max-width: 639px) {
  .mtitle2 .eng {
    font-size: 1.2rem;
  }
  .mtitle2 .ja {
    font-size: 1.5rem;
  }
}

.mtitle3 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  position: absolute;
  min-height: 100px;
  top: 0;
  left: 0;
}
.mtitle3 .ja {
  display: block;
  font-size: 2rem;
  color: #44546a;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.5;
}
.mtitle3 .eng {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 1.6rem;
  color: #b4c6e7;
}
.mtitle3.type1 .eng {
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .mtitle3 {
    writing-mode: inherit;
    position: static;
    margin-bottom: 20px;
    min-height: initial;
    min-height: auto;
    text-align: center;
  }
  .mtitle3 .ja {
    font-size: 1.5rem;
  }
  .mtitle3 .eng {
    font-size: 1.3rem;
  }
}

.mtitle_line {
  position: relative;
  margin-bottom: 25px;
  color: #44546a;
  border-top: 2px solid rgba(180, 198, 231, 0.8);
  font-size: 2rem;
  padding: 10px 10px 18px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.mtitle_line span {
  font-size: 1.4rem;
  color: #b4c6e7;
  margin-left: 10px;
}
.mtitle_line.type1 {
  border-top: 2px solid #3966b5;
}
.mtitle_line.type1:after {
  background-image: repeating-linear-gradient(-45deg, #2d508f, #2d508f 1px, transparent 2px, transparent 5px);
}
.mtitle_line:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: "";
  opacity: 0.5;
  background-image: repeating-linear-gradient(-45deg, #b4c6e7, #b4c6e7 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media all and (max-width: 639px) {
  .mtitle_line {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
  .mtitle_line span {
    font-size: 12px;
  }
}

.mtitle_balloon {
  font-size: 2.4rem;
  margin-bottom: 15px;
  font-weight: 700;
}
.mtitle_balloon span {
  position: relative;
  display: inline-block;
  padding-bottom: 18px;
  line-height: 1.3em;
  overflow: hidden;
}
.mtitle_balloon span.eng {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 5rem;
}
.mtitle_balloon span:before, .mtitle_balloon span:after {
  content: "";
  display: block;
  border-bottom: 3px solid #333;
  position: absolute;
  width: 50%;
  bottom: 6px;
}
.mtitle_balloon span:before {
  left: -5px;
}
.mtitle_balloon span:after {
  right: -5px;
}
.mtitle_balloon span i {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 3px solid #333;
  border-right: 3px solid #333;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  left: 50%;
  margin-left: -5px;
  bottom: 2px;
}
.mtitle_balloon.center {
  text-align: center;
}
.mtitle_balloon.white span:before, .mtitle_balloon.white span:after {
  border-bottom-color: #fefefe;
}
.mtitle_balloon.white span i {
  border-color: #fefefe;
}
@media all and (max-width: 639px) {
  .mtitle_balloon {
    font-size: 1.7rem;
  }
  .mtitle_balloon span.eng {
    font-size: 2.4rem;
  }
}

.mtitle-bll {
  font-size: 1.8rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  border-bottom: 2px solid #eeeeee;
  position: relative;
  margin-bottom: 15px;
  line-height: 1.5;
  padding-bottom: 8px;
}
.mtitle-bll:after {
  position: absolute;
  content: "";
  display: block;
  bottom: -2px;
  width: 100px;
  height: 2px;
  background: #b4c6e7;
}
.mtitle-bll.gray:after {
  background: #999;
}
.mtitle-bll.type1:after {
  background: #f8dae4;
}
.mtitle-bll.type2:after {
  background: #faebab;
}
.mtitle-bll.type3:after {
  background: #ddefd0;
}
.mtitle-bll.type4:after {
  background: #d6ebfc;
}
@media all and (max-width: 639px) {
  .mtitle-bll {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
  }
}

.mtitle4 {
  font-weight: normal;
  text-align: center;
  font-size: 2.6rem;
  line-height: 1.5;
  letter-spacing: 0.1rem;
}
.mtitle4 span {
  position: relative;
  display: inline-block;
  min-width: 10%;
}
.mtitle4 span:before, .mtitle4 span:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 2rem;
  background-color: #b4c6e7;
}
.mtitle4 span:before {
  left: -11px;
  -webkit-transform: rotate(-20deg);
  transform: rotate(-20deg);
}
.mtitle4 span:after {
  right: -11px;
  -webkit-transform: rotate(20deg);
  transform: rotate(20deg);
}
.mtitle4.white span:before, .mtitle4.white span:after {
  background-color: #ffdb4f;
}
@media all and (max-width: 639px) {
  .mtitle4 {
    font-size: 2rem;
  }
}
@media all and (max-width: 320px) {
  .mtitle4 span:before {
    left: -3px;
  }
  .mtitle4 span:after {
    right: -3px;
  }
}

.mtitles {
  margin: 0 auto 20px;
  position: relative;
  text-align: center;
}
.mtitles .eng {
  font-size: 3.5rem;
  color: #b4c6e7;
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.mtitles.sbc .eng {
  color: #ffdb4f;
}
.mtitles .ja {
  font-size: 2rem;
  color: #44546a;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
@media all and (max-width: 896px) {
  .mtitles {
    margin: 0 auto 15px;
  }
  .mtitles .eng {
    font-size: 2.5rem;
  }
  .mtitles .ja {
    font-size: 2rem;
  }
}
@media all and (max-width: 639px) {
  .mtitles {
    margin: 0 auto 15px;
  }
  .mtitles .eng {
    font-size: 2rem;
  }
  .mtitles .ja {
    font-size: 1.3rem;
  }
}

.mtitles2 {
  position: relative;
  margin-bottom: 25px;
  text-align: left;
  margin-left: 0;
  margin-right: 0;
  line-height: 1.6;
}
.mtitles2.type1 .eng {
  color: #4472c4;
}
.mtitles2 .eng {
  margin-left: 15px;
  font-size: 2rem;
  color: #b4c6e7;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.mtitles2 .ja {
  font-size: 2.4rem;
  color: #44546a;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
@media all and (max-width: 639px) {
  .mtitles2 {
    margin-bottom: 20px;
  }
  .mtitles2 .eng {
    margin-left: 10px;
    font-size: 1.4rem;
  }
  .mtitles2 .ja {
    font-size: 1.6rem;
  }
}

.mtitle_sub {
  padding-left: 0.5em;
  padding-top: 3px;
  padding-bottom: 3px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  position: relative;
  border-left: 6px solid #b4c6e7;
  margin-bottom: 15px;
  color: #b4c6e7;
  line-height: 1.4;
  text-align: left;
  font-size: 1.6rem;
}
.mtitle_sub:before {
  position: absolute;
  left: -6px;
  bottom: 0;
  content: "";
  width: 6px;
  height: 50%;
  background-color: #b4c6e7;
}
.mtitle_sub.type1 {
  font-size: 1.8rem;
}
.mtitle_sub.type1 span {
  font-size: 1.5rem;
}
@media all and (max-width: 639px) {
  .mtitle_sub {
    font-size: 1.3rem;
  }
  .mtitle_sub.type1 {
    font-size: 1.4rem;
  }
  .mtitle_sub.type1 span {
    font-size: 1.25rem;
  }
}

.mtitle_icon {
  position: relative;
  font-size: 1.6rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin-bottom: 5px;
  padding: 5px 0 5px 28px;
}
.mtitle_icon:before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-image: url(../img/favicon.png);
  background-size: contain;
}
@media all and (max-width: 639px) {
  .mtitle_icon {
    font-size: 1.3rem;
    padding: 5px 0 5px 25px;
  }
  .mtitle_icon:before {
    width: 18px;
    height: 18px;
  }
}

.mtitle_box {
  background: #b4c6e7;
  position: relative;
  padding: 12px 24px 12px 12px;
  margin-bottom: 20px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  color: #44546a;
  font-size: 1.8rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.mtitle_box.type1 {
  background: #f8dae4;
}
.mtitle_box.type2 {
  background: #faf7d0;
}
.mtitle_box.type3 {
  background: #ddefd0;
}
.mtitle_box.type4 {
  background: #d6f8fc;
}
.mtitle_box:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f30a";
  font-weight: 900;
  display: block;
  right: -1px;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
}
@media all and (max-width: 639px) {
  .mtitle_box {
    font-size: 1.4rem;
    display: block;
    margin-bottom: 15px;
  }
}

.mtitle_box2 {
  position: relative;
  background: linear-gradient(60deg, #a1b7e1 0%, #a1b7e1 85%, #b4c6e7 85%);
  font-size: 2.2rem;
  color: #fff;
  padding: 15px;
  line-height: 1.4;
  margin-bottom: 25px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.mtitle_box2 span {
  font-size: 1.6rem;
}
.mtitle_box2.type1 {
  background: linear-gradient(60deg, #eb6796 0%, #eb6796 85%, #ee7ea6 85%);
}
.mtitle_box2.type2 {
  background: linear-gradient(60deg, #e7bb0c 0%, #e7bb0c 85%, #f4cd32 85%);
}
.mtitle_box2.type3 {
  background: linear-gradient(60deg, #56a744 0%, #56a744 85%, #61b74d 85%);
}
.mtitle_box2.type4 {
  background: linear-gradient(60deg, #338ecd 0%, #338ecd 85%, #4799d2 85%);
}
@media all and (max-width: 639px) {
  .mtitle_box2 {
    font-size: 1.6rem;
    padding: 10px;
    margin-bottom: 20px;
  }
  .mtitle_box2 span {
    font-size: 1.3rem;
  }
}

.mtitle_ribon {
  position: relative;
  background: #f8dae4;
  color: #44546a;
  display: inline-block;
  padding: 15px 30px 15px 15px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 2rem;
  clip-path: polygon(0% 0%, 100% 0, 95% 50%, 100% 100%, 0% 100%);
  margin: 0 0 25px -30px;
}
.mtitle_ribon span {
  font-size: 1.5rem;
}
.mtitle_ribon.type1 {
  background: #f8f3b9;
}
.mtitle_ribon.type2 {
  background: #ddefd0;
}
.mtitle_ribon.type3 {
  background: #d6ebfc;
}
@media all and (max-width: 639px) {
  .mtitle_ribon {
    margin: 0 0 20px -10px;
    font-size: 1.5rem;
  }
  .mtitle_ribon span {
    font-size: 1.2rem;
  }
}

.mtext0 {
  font-size: 1.6rem;
  line-height: 1.6;
}
.mtext0.type1 {
  margin-bottom: 25px;
  text-align: center;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media all and (max-width: 639px) {
  .mtext0 {
    font-size: 1.25rem;
  }
  .mtext0.type1 {
    margin-bottom: 20px;
    line-height: 1.6;
  }
}

.stext1 {
  font-size: 1.5rem;
  line-height: 1.6;
}
@media all and (max-width: 639px) {
  .stext1 {
    font-size: 1.2rem;
  }
}

.mtext1 {
  font-size: 2rem;
  line-height: 1.6;
}
.mtext1.type1 {
  margin-bottom: 25px;
  text-align: center;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media all and (max-width: 639px) {
  .mtext1 {
    font-size: 1.5rem;
  }
  .mtext1.type1 {
    margin-bottom: 20px;
    line-height: 1.6;
  }
}

.mtext2 {
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: 700;
}
.mtext2.type1 {
  text-align: center;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.6;
}
@media all and (max-width: 896px) {
  .mtext2 {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 639px) {
  .mtext2 {
    font-size: 1.6rem;
  }
}

.mtext3 {
  font-size: 3rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  line-height: 1.6;
  font-weight: 700;
}
.mtext3 span {
  font-size: 8rem;
}
.mtext3 .eng {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
@media all and (max-width: 896px) {
  .mtext3 {
    font-size: 2rem;
  }
  .mtext3 span {
    font-size: 5rem;
  }
}
@media all and (max-width: 639px) {
  .mtext3 {
    font-size: 1.8rem;
  }
  .mtext3 span {
    font-size: 4rem;
  }
}

.mtext-point {
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center;
  color: #b4c6e7;
  margin-bottom: 20px;
}
.mtext-point span {
  font-size: 1.4rem;
  display: inline-block;
  background: #b4c6e7;
  color: #fff;
  padding: 5px 20px;
  border-radius: 30px;
  animation: bounce-anm 2s ease infinite;
  margin-bottom: 10px;
}
@media all and (max-width: 639px) {
  .mtext-point {
    font-size: 1.4rem;
  }
  .mtext-point span {
    font-size: 1.2rem;
  }
}

.txtdeko5 {
  padding: 5px 15px 5px 30px;
  font-weight: bold;
  position: relative;
  font-size: 1.8rem;
  border-bottom: 1px dashed #b4c6e7;
}
.txtdeko5::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background-color: #b4c6e7;
  left: 4px;
  top: 14px;
}
@media all and (max-width: 1024px) {
  .txtdeko5 {
    font-size: 1.4rem;
  }
}
.txtdeko5 span {
  color: #b4c6e7;
}
.txtdeko5 .sns {
  padding-left: 10px;
}
.txtdeko5 .sns:hover a {
  color: #0071bd;
}
.txtdeko5 .sns i {
  padding-right: 5px;
}
@media all and (max-width: 1024px) {
  .txtdeko5 .sns {
    display: block;
    padding-left: 0px;
  }
}
.txtdeko5.border-none {
  border-bottom: none;
}

@keyframes bounce-anm {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-3px);
  }
  50% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(-3px);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
.mtext-eng {
  font-size: 5rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: center;
}
@media all and (max-width: 896px) {
  .mtext-eng {
    font-size: 3.6rem;
  }
}
@media all and (max-width: 639px) {
  .mtext-eng {
    font-size: 2.4rem;
  }
}

.mtitle_category {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.mtitle_category:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0ca";
  font-weight: 900;
  margin-right: 5px;
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .mtitle_category {
    font-size: 1.4rem;
  }
}

/* btn
----------------------------------*/
.btn-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-wrap p:first-of-type {
  margin-right: 25px;
}
@media all and (max-width: 639px) {
  .btn-wrap p:first-of-type {
    margin: 0 auto;
  }
}
@media all and (max-width: 639px) {
  .btn-wrap {
    display: block;
  }
}

.btn-arr.white a {
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}
.btn-arr.white a:hover {
  background: rgba(255, 255, 255, 0.3);
}
.btn-arr.white a:before, .btn-arr.white a:after {
  background: #fff;
}
.btn-arr.ja a {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.btn-arr a {
  position: relative;
  border: 3px solid #b4c6e7;
  padding: 8px;
  max-width: 220px;
  width: 60%;
  text-align: center;
  color: #b4c6e7;
  outline: none;
  transition: all 0.3s linear;
  margin-left: auto;
  margin-right: auto;
  display: table;
  border-radius: 50px;
}
.btn-arr a span {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  letter-spacing: 0.15em;
}
.btn-arr a:hover {
  background: #b4c6e7;
  color: #fff;
}
.btn-arr a:hover:before {
  right: -30px;
}
.btn-arr a:hover:after {
  right: -25px;
}
.btn-arr a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f35a";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 1em;
  transition: all 0.2s linear;
  transform: translateY(-50%);
}

.btn_doc a {
  text-align: center;
  position: relative;
  color: #333;
  background: #fff;
  border: 1px solid #333;
  padding: 15px 10px;
  max-width: 280px;
  width: 90%;
  margin-top: 20px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
  display: table;
  transition: all 0.3s ease-in-out;
  line-height: 1.4;
}
.btn_doc a i {
  color: #c6181f;
  margin-right: 10px;
  font-size: 2rem;
}
.btn_doc a span {
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 13px;
  margin-left: 5px;
}
.btn_doc a:before, .btn_doc a:after {
  content: "";
  position: absolute;
  border: solid #333;
  width: 10px;
  height: 10px;
  transition: all 0.3s ease-in-out;
}
.btn_doc a:before {
  top: -6px;
  left: -6px;
  border-width: 1px 0 0 1px;
}
.btn_doc a:after {
  bottom: -6px;
  right: -6px;
  border-width: 0 1px 1px 0;
}
.btn_doc a:hover {
  color: #fff;
  background: #c6181f;
  border-color: transparent;
}
.btn_doc a:hover i {
  color: #fff;
}
.btn_doc a:hover:before, .btn_doc a:hover:after {
  width: calc(100% + 11px);
  height: calc(100% + 11px);
  border-color: #c6181f;
}
.btn_doc.type1 a i {
  color: #1d6f42;
}
.btn_doc.type1 a:hover {
  color: #fff;
  background: #1d6f42;
}
.btn_doc.type1 a:hover i {
  color: #fff;
}
.btn_doc.type1 a:hover:before, .btn_doc.type1 a:hover:after {
  border-color: #1d6f42;
}

.btn_wk a {
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  color: #44546a;
  background: transparent;
  border: 1px solid #44546a;
  padding: 6px 10px;
  max-width: 200px;
  width: 80%;
  margin-top: 40px;
  margin-bottom: 5px;
  margin-left: auto;
  margin-right: auto;
  display: table;
  transition: all 0.3s ease-in-out;
}
.btn_wk a span {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.btn_wk a i {
  margin-right: 5px;
}
.btn_wk a:before, .btn_wk a:after {
  content: "";
  position: absolute;
  border: solid #44546a;
  width: 10px;
  height: 10px;
  transition: all 0.3s ease-in-out;
}
.btn_wk a:before {
  top: -6px;
  left: -6px;
  border-width: 1px 0 0 1px;
}
.btn_wk a:after {
  bottom: -6px;
  right: -6px;
  border-width: 0 1px 1px 0;
}
.btn_wk a:hover {
  color: #fff;
  background: #b4c6e7;
  border-color: transparent;
}
.btn_wk a:hover:before, .btn_wk a:hover:after {
  width: calc(100% + 11px);
  height: calc(100% + 11px);
  border-color: #b4c6e7;
}
.btn_wk.sbc a:hover {
  color: #fff;
  background: #4472c4;
}
.btn_wk.sbc a:hover:before, .btn_wk.sbc a:hover:after {
  border-color: #4472c4;
}
.btn_wk.btn-r a {
  margin-right: 5px;
}

.btn_wk2 a {
  letter-spacing: 0.2em;
  text-align: center;
  position: relative;
  color: #fff;
  background: transparent;
  border: 1px solid #fff;
  padding: 6px 10px;
  max-width: 200px;
  width: 80%;
  margin-top: 40px;
  margin-bottom: 5px;
  margin-left: auto;
  margin-right: auto;
  display: table;
  transition: all 0.3s ease-in-out;
}
.btn_wk2 a span {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.btn_wk2 a i {
  margin-right: 5px;
}
.btn_wk2 a:before, .btn_wk2 a:after {
  content: "";
  position: absolute;
  border: solid #fff;
  width: 10px;
  height: 10px;
  transition: all 0.3s ease-in-out;
}
.btn_wk2 a:before {
  top: -6px;
  left: -6px;
  border-width: 1px 0 0 1px;
}
.btn_wk2 a:after {
  bottom: -6px;
  right: -6px;
  border-width: 0 1px 1px 0;
}
.btn_wk2 a:hover {
  color: #44546a;
  background: #fff;
  border-color: transparent;
}
.btn_wk2 a:hover:before, .btn_wk2 a:hover:after {
  width: calc(100% + 11px);
  height: calc(100% + 11px);
  border-color: #fff;
}
.btn_wk2.btn-r a {
  margin-right: 5px;
}

.btns {
  margin-top: 15px;
}
.btns a {
  display: table;
  width: auto;
  margin-left: auto;
  letter-spacing: 0.2em;
  color: #44546a;
  background: #fff;
  border: 1px solid #ee7ea6;
  padding: 5px 20px;
  border-radius: 20px;
  font-size: 1.3rem;
}
.btns a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  margin-left: 5px;
}
.btns a:hover {
  color: #fff;
  background: #ee7ea6;
}
.btns.type1 a {
  border: 1px solid #f4cd32;
}
.btns.type1 a:hover {
  background: #f4cd32;
}
.btns.type2 a {
  border: 1px solid #61b74d;
}
.btns.type2 a:hover {
  color: #fff;
  background: #61b74d;
}
.btns.type3 a {
  border: 1px solid #4799d2;
}
.btns.type3 a:hover {
  color: #fff;
  background: #4799d2;
}

.btn01 a {
  background: #b4c6e7;
  text-align: center;
  width: 300px;
  margin: 15px auto;
  color: #fff;
  display: block;
  padding: 8px 5px;
  font-weight: 700;
  border-radius: 35px;
}
.btn01 a:hover {
  background: #4472c4;
  color: #fefefe;
}
.btn01.mail {
  flex-basis: 100%;
}
.btn01.mail a {
  background: #ffdb4f;
  margin: 15px auto 25px;
}
.btn01.mail a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}
.btn01.type1 a {
  max-width: 90%;
}
.btn01.left a {
  margin: 15px 0;
}
@media all and (max-width: 639px) {
  .btn01 a {
    width: 95%;
  }
}

.btn02 {
  max-width: 280px;
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}
.btn02 a {
  display: block;
  position: relative;
  padding: 15px 5px;
  background: #44546a;
  border: 1px solid #44546a;
  font-size: 1.6rem;
  text-align: center;
  color: #fff;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  transition: all 0.3s ease;
}
.btn02 a span {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.btn02 a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  margin-left: 10px;
}
.btn02 a:hover {
  background: #fff;
  color: #44546a;
}
@media all and (max-width: 639px) {
  .btn02 a {
    font-size: 1.3rem;
  }
}

.btn03 {
  position: relative;
  display: block;
  cursor: pointer;
  outline: none;
  border: 0;
  margin: 15px auto;
  vertical-align: middle;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 40px;
  padding: 6px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  width: 240px;
  font-size: 1.5rem;
}
@media all and (max-width: 639px) {
  .btn03 {
    font-size: 1.2rem;
  }
}
.btn03 .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 44px;
  height: 44px;
  background: #e28d3c;
  margin-left: -1px;
  border-radius: 22px;
}
.btn03 .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.btn03 .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 4px;
  width: 2rem;
  height: 0.125rem;
  background: none;
}
.btn03 .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.25rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}
.btn03 .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 16px 0;
  margin: 0 0 0 1.85rem;
  color: #d2768e;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
  color: #e28d3c;
}
.btn03:hover .circle {
  width: 101%;
  background: #e28d3c;
}
.btn03:hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
.btn03:hover .button-text {
  color: #fff;
}
.btn03.type1 {
  background: #4472c4;
}
.btn03.type1 .circle {
  background: #fff;
}
.btn03.type1 .icon {
  background: #b4c6e7;
}
.btn03.type1 .icon.arrow:before {
  border-color: #b4c6e7;
}
.btn03.type1 .button-text {
  color: #fff;
}
.btn03.type1:hover .button-text {
  color: #b4c6e7;
}

.btn04 {
  width: 100%;
  margin: 20px auto 0;
}
.btn04 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 20px 40px;
  background-color: #b4c6e7;
  border: 1px solid #b4c6e7;
  color: #fefefe;
  border-radius: 10px;
  font-size: 1.8rem;
  font-weight: bold;
}
.btn04 a i {
  font-size: 2.2rem;
  border-left: 1px solid #fefefe;
  padding: 10px 0 10px 40px;
  padding-left: 40px;
  margin-left: 5px;
}
.btn04 a:hover {
  background: #fff;
  color: #5a3a2b;
}
@media all and (max-width: 639px) {
  .btn04 a {
    font-size: 1rem;
    padding: 10px;
  }
  .btn04 a i {
    padding-left: 10px;
    font-size: 1.5rem;
  }
}

/* news
----------------------------------*/
.news {
  padding: 10px;
}
.news .news-inner {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 5px;
  border-top: 1px solid #ccc;
}
.news .news-inner:last-of-type {
  border-bottom: 1px solid #ccc;
}
@media all and (max-width: 639px) {
  .news .news-inner {
    padding: 6px 3px;
  }
}
.news dt {
  width: 100%;
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.news dd {
  line-height: 1.5;
}
.news dd a {
  color: #222;
}
.news dd a:hover {
  opacity: 0.5;
}

.news-bl {
  overflow: hidden;
}
.news-bl .bl-inner {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 20px 10px;
  border-bottom: 1px solid #d6d6d6;
}
.news-bl dt {
  line-height: 1.3;
  color: #777;
  text-align: center;
}
.news-bl dd {
  line-height: 1.6;
  margin: 0 0 10px;
}
.news-bl dd .new {
  background: #e28d3c;
  color: #fff;
  border-radius: 5px;
  margin-right: 10px;
  padding: 0 15px 5px;
}
.news-bl dd:last-child {
  margin: 0;
}
.news-bl dd:first-child {
  border-top: 1px solid #d6d6d6;
}
@media all and (max-width: 639px) {
  .news-bl dt {
    float: none;
  }
  .news-bl dd {
    padding: 8px 5px;
    text-align: left;
  }
}

/* page-title
----------------------------------*/
.page-title {
  margin: 0 auto 0;
  position: relative;
  z-index: 1;
  background: url(../img/0.jpg) no-repeat 50% 50%/cover;
  overflow: hidden;
}
.page-title:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: #000000;
  opacity: 0.2;
}
.page-title::after {
  position: absolute;
  content: "";
  bottom: -76px;
  display: block;
  width: 100%;
  height: 100px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath fill='%23fefefe' d='M100,25H0V0h0c33.333,33.333,66.666,33.333,100,0l0,0V25z'%3E%3C/path%3E%3C/svg%3E");
  z-index: 2;
}
.page-title .inner {
  margin: 0 auto;
  padding: 140px 0 100px;
  max-width: 1150px;
  z-index: 10;
}
.page-title .page-lead {
  text-align: center;
  line-height: 1.6;
}
.page-title .page-lead span {
  display: block;
  color: #fff;
  filter: drop-shadow(0 0 5px rgba(68, 84, 106, 0.3));
}
.page-title .page-lead .ja {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 4rem;
}
.page-title .page-lead .eng {
  font-size: 3rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media all and (max-width: 896px) {
  .page-title .inner {
    width: 100%;
    padding: 50px 0;
  }
  .page-title .page-lead .ja {
    font-size: 1.8rem;
  }
  .page-title .page-lead .eng {
    font-size: 1.3rem;
  }
}

.bg-stripe {
  position: relative;
  background: rgba(0, 0, 0, 0);
  margin: 80px 0;
}
.bg-stripe::before {
  position: absolute;
  content: "";
  width: calc(100% - 100px);
  height: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background: repeating-linear-gradient(45deg, #306944, #306944 23px, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 30px);
  z-index: -1;
  opacity: 0.05;
  border-radius: 20px;
}
.bg-stripe.type2 {
  margin: 0 0 80px;
}
.bg-stripe.type3 {
  margin: 0;
}
@media all and (max-width: 1100px) {
  .bg-stripe .bg-inner {
    margin: 0 auto;
    max-width: calc(100% - 150px);
  }
}
@media all and (max-width: 896px) {
  .bg-stripe::before {
    width: calc(100% - 50px);
  }
}
@media all and (max-width: 639px) {
  .bg-stripe .bg-inner {
    max-width: calc(100% - 50px);
  }
  .bg-stripe::before {
    width: calc(100% - 20px);
  }
}

.bg-oki {
  position: relative;
}
.bg-oki::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 420px;
  height: 500px;
  background: url(../img/bg-oki01.png) no-repeat center/contain;
  opacity: 0.2;
  filter: grayscale(70%);
  z-index: -1;
}
.bg-oki::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 420px;
  height: 500px;
  background: url(../img/bg-oki02.png) no-repeat center/contain;
  opacity: 0.2;
  filter: grayscale(70%);
  z-index: -1;
}
.bg-oki.type2::before {
  content: "";
  position: absolute;
  bottom: 3%;
  right: 0;
  width: 650px;
  height: 288px;
  background: url(../img/bg-oki03.svg) no-repeat center/contain;
  z-index: -1;
  opacity: 0.6;
}
.bg-oki.type2::after {
  display: none;
}

.bg-wood-side {
  position: relative;
}
.bg-wood-side:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: url(../img/bg-wood-before.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 325px;
  height: 840px;
  z-index: -1;
  opacity: 0.3;
}
@media all and (max-width: 639px) {
  .bg-wood-side:before {
    width: 145px;
    height: 373px;
  }
}
.bg-wood-side:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  background-image: url(../img/bg-wood-after.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 325px;
  height: 840px;
  z-index: -1;
  opacity: 0.3;
}
@media all and (max-width: 639px) {
  .bg-wood-side:after {
    width: 145px;
    height: 373px;
  }
}
.bg-wood-side .inner {
  z-index: 2;
}
@media all and (max-width: 639px) {
  .bg-wood-side .inner {
    background: rgba(255, 255, 255, 0.5);
  }
}

.bg-gradient {
  position: relative;
}
.bg-gradient:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(180deg, #4799d2, #4472c4, #c8f2ff);
  z-index: -2;
  opacity: 0.3;
}

.bg-beige {
  background: #faf7ef;
}

.bg-ivory {
  position: relative;
  border: 10px solid #f6f1dd;
}
.bg-ivory:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: #fefefe;
  clip-path: polygon(12% 0, 100% 0%, 88% 100%, 0% 100%);
}
.bg-ivory.type1 {
  border: 10px solid #ecc3b0;
}
@media all and (max-width: 639px) {
  .bg-ivory {
    border-top: 5px solid #f6f1dd;
    border-bottom: 5px solid #f6f1dd;
    border-left: 0px solid #f6f1dd;
    border-right: 0px solid #f6f1dd;
  }
  .bg-ivory.type1 {
    border-top: 5px solid #ecc3b0;
    border-bottom: 5px solid #ecc3b0;
    border-left: 0px solid #ecc3b0;
    border-right: 0px solid #ecc3b0;
  }
}

.bg-top {
  position: relative;
}
.bg-top:before {
  position: absolute;
  content: "";
  width: 720px;
  height: 400px;
  top: -50px;
  right: 0;
  background: url(../img/bg-top.png) no-repeat;
  background-size: contain;
  background-position: right top;
}
.bg-top::after {
  position: absolute;
  content: "";
  width: 600px;
  height: 300px;
  bottom: 0;
  left: 0;
  background: url(../img/bg-top02.png) no-repeat;
  background-size: contain;
  z-index: -1;
}
@media all and (max-width: 1100px) {
  .bg-top:before {
    width: 750px;
    height: 333px;
    top: -10%;
  }
  .bg-top::after {
    width: 480px;
    height: 240px;
  }
}
@media all and (max-width: 896px) {
  .bg-top:before {
    width: 675px;
    height: 300px;
    top: -5%;
  }
  .bg-top::after {
    width: 320px;
    height: 160px;
  }
}
@media all and (max-width: 639px) {
  .bg-top:before {
    width: 63%;
    top: -10%;
  }
  .bg-top::after {
    width: 90%;
  }
}

.bg-topics {
  position: relative;
}
.bg-topics:before {
  left: 0;
  background: url(../img/bg-topics.png) no-repeat;
  background-size: contain;
}
.bg-topics::after {
  right: 0;
  background: url(../img/bg-topics02.png) no-repeat;
  background-size: contain;
}
.bg-topics::before, .bg-topics::after {
  position: absolute;
  content: "";
  width: 600px;
  height: 300px;
  bottom: 0;
  z-index: -1;
  opacity: 0.8;
}
@media all and (max-width: 1100px) {
  .bg-topics::before, .bg-topics::after {
    width: 500px;
    height: 250px;
  }
}
@media all and (max-width: 896px) {
  .bg-topics::before, .bg-topics::after {
    width: 300px;
    height: 150px;
  }
}
@media all and (max-width: 639px) {
  .bg-topics::before, .bg-topics::after {
    width: 140px;
    height: 70px;
  }
}

.bg-01 {
  position: relative;
}
.bg-01 .inner {
  position: relative;
  padding-bottom: 70px;
}
@media all and (max-width: 1367px) {
  .bg-01 .inner {
    padding-left: 30px;
  }
}
@media all and (max-width: 639px) {
  .bg-01 .inner {
    padding-left: 10px;
    padding-bottom: 50px;
  }
}
.bg-01:before, .bg-01:after {
  position: absolute;
  content: "";
  top: 0;
  left: auto;
  right: 0;
  width: 93%;
  height: 95%;
  border-radius: 0 0 0 90px;
  z-index: -1;
}
@media all and (max-width: 1367px) {
  .bg-01:before, .bg-01:after {
    width: 97%;
  }
}
.bg-01:after {
  background: #fff;
  opacity: 0.2;
}

.gradient2 {
  position: relative;
}
.gradient2:before {
  position: absolute;
  right: 0;
  top: 0;
  background: linear-gradient(93.39deg, #b3d897 0%, #85c058 40%, #67b12f 60.05%, #487b20 80.88%);
  background-size: 600% 600%;
  animation: anim-gradient2 8s ease infinite;
  opacity: 0.5;
}

.bg-02 {
  position: relative;
}
.bg-02:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 0;
  width: 100%;
  height: 80%;
  background: url(../img/bg-02.png) repeat;
  opacity: 0.5;
}
@media all and (max-width: 896px) {
  .bg-02:before {
    bottom: 5px;
    height: 95%;
  }
}

.bg-nature {
  position: relative;
}
.bg-nature:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1200px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  background: url(../img/bg-nature.png) no-repeat;
  background-size: contain;
  background-position: bottom;
}

.bg-common {
  position: relative;
}
.bg-common:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #f8dae4;
  opacity: 0.2;
  z-index: -2;
}
.bg-common.type1:before {
  background: #faf7d0;
  opacity: 0.3;
}
.bg-common.type2:before {
  background: #ddefd0;
}
.bg-common.type3:before {
  background: #d4e8f0;
  opacity: 0.5;
  z-index: -2;
}
.bg-common.type3:after {
  position: absolute;
  content: "";
  display: block;
  background: url(../img/cloud.png);
  width: 100%;
  height: 130px;
  animation: cloudmove 60s linear infinite;
  -webkit-animation: cloudmove 60s linear infinite;
  -moz-animation: cloudmove 60s linear infinite;
  top: 15px;
  left: 0;
  z-index: -1;
}
.bg-common.type4:before {
  background: #d7d2e9;
}
.bg-common.is-fixed:after {
  position: fixed;
  top: 115px;
}
@media all and (max-width: 639px) {
  .bg-common.is-fixed:after {
    top: 60px;
  }
}

@keyframes cloudmove {
  0% {
    background-position: 0 0;
  }
  25% {
    background-position: 200px 5px;
  }
  50% {
    background-position: 400px 0;
  }
  75% {
    background-position: 600px 5px;
  }
  100% {
    background-position: 800px 0;
  }
}
.bg-bottom {
  padding-bottom: 80px;
}

.bg-wall {
  position: relative;
}
.bg-wall:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg-wall.jpg) repeat;
  z-index: -1;
}

.mask {
  position: relative;
  clip-path: circle(1%);
  transition: 0.6s ease-in all;
}
.mask.on {
  clip-path: circle(120%);
}

.bg-w {
  position: relative;
}
.bg-w:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fefefe;
  z-index: -2;
}

.bg-base {
  background: rgba(180, 198, 231, 0.1);
}
.bg-base.type1 {
  background: rgba(180, 198, 231, 0.1);
}
.bg-base.type2 {
  background: linear-gradient(90deg, #a1b7e1 0%, #a1b7e1 70%, #b4c6e7 70%, #b4c6e7 100%);
}

.bg-sub {
  background: rgba(68, 114, 196, 0.5);
}
.bg-sub.type1 {
  background: rgba(68, 114, 196, 0.1);
}
.bg-sub.type2 {
  background: linear-gradient(90deg, #3966b5 0%, #3966b5 70%, #4472c4 70%, #4472c4 100%);
}

.bg-gray {
  position: relative;
}
.bg-gray:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #f4f4f4;
  opacity: 0.8;
  z-index: -1;
}

/* tbl
----------------------------------*/
.tbl-profile {
  width: 100%;
}
.tbl-profile th,
.tbl-profile td {
  padding: 10px 5px;
  font-size: 1.4rem;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
}
@media all and (max-width: 639px) {
  .tbl-profile th,
  .tbl-profile td {
    font-size: 12px;
  }
}
.tbl-profile th {
  width: 26%;
  text-align: left;
  color: #44546a;
}
.tbl-profile.type1 th {
  width: 25%;
}
@media all and (max-width: 639px) {
  .tbl-profile.type1 th {
    width: 30%;
  }
}

.tbl_scroll.type1 {
  padding-bottom: 10px;
  overflow: auto;
  white-space: normal !important;
}
.tbl_scroll.type1::-webkit-scrollbar {
  height: 5px;
}
.tbl_scroll.type1::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.tbl_scroll.type1::-webkit-scrollbar-thumb {
  background: #bcbcbc;
}
.tbl_scroll.type1::-webkit-scrollbar-piece {
  background: #eee;
}
.tbl_scroll.type1::-webkit-scrollbar-piece:start {
  background: #eee;
}

.fa-info {
  display: inline-block;
  font-size: 12px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  border: 0.9px solid #b4c6e7;
  text-align: center;
  color: #b4c6e7;
  margin-right: 5px;
  padding-top: 2px;
}
@media all and (max-width: 639px) {
  .fa-info {
    width: 14px;
    height: 14px;
    line-height: 14px;
  }
}

.company {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}
.company th,
.company td {
  padding: 15px 10px;
  vertical-align: middle;
}
.company th {
  width: 25%;
  position: relative;
  background: #b4c6e7;
  font-weight: bold;
  color: #fff;
}
.company th::after {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: #fff;
  border-width: 10px;
  border-left-color: #b4c6e7;
  margin-top: -10px;
}
@media all and (max-width: 639px) {
  .company th,
  .company td {
    padding: 8px;
  }
  .company th {
    width: 36%;
  }
}
.company td {
  background: #fff;
  padding-left: 25px;
}

.tbl {
  width: 100%;
  border-top: 1px solid #e2e2e2;
}
.tbl th,
.tbl td {
  padding: 15px;
  vertical-align: middle;
  border-bottom: 1px solid #e2e2e2;
  font-weight: 500 !important;
}
.tbl th span,
.tbl td span {
  font-size: 90%;
}
.tbl th {
  background: #f9f9f9;
}
.tbl td {
  background: #fefefe;
}
@media all and (max-width: 639px) {
  .tbl th,
  .tbl td {
    padding: 10px 5px;
  }
  .tbl.type1 th,
  .tbl.type1 td {
    display: block;
    width: 100%;
    text-align: center;
  }
  .tbl.type1 th {
    line-height: 1.6;
  }
}

.tbl-price {
  width: 100%;
  border-top: 1px solid rgba(68, 84, 106, 0.5);
}
.tbl-price th,
.tbl-price td {
  padding: 15px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(68, 84, 106, 0.5);
  font-weight: 500 !important;
}
.tbl-price th span,
.tbl-price td span {
  font-size: 90%;
  color: #565656;
}
.tbl-price th {
  background: rgba(180, 198, 231, 0.3);
  width: 30%;
}
.tbl-price td {
  background: #fefefe;
  text-align: right;
}
@media all and (max-width: 639px) {
  .tbl-price th,
  .tbl-price td {
    padding: 10px 5px;
    letter-spacing: 0.05em;
  }
  .tbl-price.type1 th,
  .tbl-price.type1 td {
    text-align: center;
    display: block;
    width: 100%;
  }
  .tbl-price.type1 th {
    line-height: 1.6;
  }
}

.tbl_new {
  width: 100%;
}
.tbl_new tr th,
.tbl_new tr td {
  vertical-align: middle;
  padding: 15px 10px;
  font-weight: 500 !important;
}
@media all and (max-width: 639px) {
  .tbl_new tr th,
  .tbl_new tr td {
    padding: 10px 5px;
  }
}
.tbl_new tr th {
  text-align: left;
  padding-left: 30px;
}
.tbl_new tr:nth-child(odd) th, .tbl_new tr:nth-child(odd) td {
  background: rgba(68, 114, 196, 0.1);
}
.tbl_new.type1 tr:nth-child(odd) th, .tbl_new.type1 tr:nth-child(odd) td {
  background: rgba(248, 218, 228, 0.3);
}
.tbl_new.type2 tr:nth-child(odd) th, .tbl_new.type2 tr:nth-child(odd) td {
  background: rgba(250, 247, 208, 0.5);
}
.tbl_new.type3 tr:nth-child(odd) th, .tbl_new.type3 tr:nth-child(odd) td {
  background: rgba(221, 239, 208, 0.3);
}
.tbl_new.type4 tr:nth-child(odd) th, .tbl_new.type4 tr:nth-child(odd) td {
  background: rgba(214, 235, 252, 0.3);
}

.tbl-border {
  width: 100%;
}
.tbl-border.type1 {
  border-top: 1px solid #b4c6e7;
}
.tbl-border th,
.tbl-border td {
  padding: 15px 10px;
  border-bottom: 1px solid #b4c6e7;
  vertical-align: middle;
  font-weight: 500;
}
@media all and (max-width: 639px) {
  .tbl-border th,
  .tbl-border td {
    padding: 10px;
  }
}

.price {
  color: #8da9db;
  font-size: 1.2em;
  font-weight: 600;
}
.price span {
  display: block;
  font-size: 1.4rem;
  color: #44546a;
  letter-spacing: 0;
}
@media all and (max-width: 639px) {
  .price {
    font-size: 1.5rem;
  }
  .price span {
    font-size: 13px;
  }
}

.timetable {
  width: 100%;
}
.timetable.type1 .thead th {
  background: #b4c6e7;
  color: #fff;
}
.timetable.type2 .thead th {
  background: #fbf2ee;
  color: #44546a;
}
.timetable th,
.timetable td {
  border-bottom: 1px solid #ccc;
  padding: 10px 5px;
  text-align: center;
  vertical-align: middle;
  line-height: 1.4;
  font-weight: 500 !important;
}
@media all and (max-width: 639px) {
  .timetable th,
  .timetable td {
    font-size: 11px;
    padding: 5px;
  }
}
.timetable .thead th {
  border-top: 1px solid #ccc;
  color: #44546a;
}
.timetable .th-1 {
  width: 35%;
  font-weight: 600;
  text-align: center;
}
.timetable .circle {
  color: rgba(180, 198, 231, 0.7);
}
.timetable .circle:before {
  content: "●";
  font-weight: 900;
}

.triangle:before {
  color: rgba(180, 198, 231, 0.7);
  content: "▲";
  font-weight: 900;
}

.square:before {
  color: rgba(180, 198, 231, 0.7);
  content: "※";
  font-weight: 900;
}

.triangle-cap {
  font-size: 12px;
  font-weight: bold;
  margin-top: 5px;
}
@media all and (max-width: 639px) {
  .triangle-cap {
    font-size: 10px;
  }
}

/* ggmap
----------------------------------*/
.ggmap {
  position: relative;
  padding-bottom: 20%;
  height: 0;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.05) 0px 15px 25px, rgba(0, 0, 0, 0.01) 0px 5px 10px;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.ggmap.youtube {
  padding-bottom: 56.25%;
}
.ggmap.type1 {
  padding-bottom: 30%;
}
@media all and (max-width: 639px) {
  .ggmap.type1 {
    padding-bottom: 60%;
  }
}

.youtube-box {
  max-width: 700px;
  margin: 70px auto 0;
}

/* list
----------------------------------*/
.list_common > li {
  padding-bottom: 5px;
}
.list_common > li:not(:last-of-type) {
  margin-bottom: 5px;
  border-bottom: 1px solid #ddd;
}
.list_common.type1 li:not(:last-of-type) {
  margin-bottom: 15px;
  border-bottom: 0px solid #ddd;
}

.list_check.mini {
  max-width: 400px;
  margin: 0 auto;
}
.list_check.type1 {
  display: flex;
  flex-wrap: wrap;
}
.list_check.type1 li {
  background: transparent;
  padding: 5px;
  width: 48%;
}
.list_check.type1 li:nth-child(2n) {
  margin-left: 4%;
}
.list_check.type1 li:before {
  color: #bbb;
  margin-right: 5px;
}
.list_check.type1 li a {
  color: #44546a;
  border-bottom: 0px;
}
.list_check.type1 li a:hover {
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .list_check.type1 li {
    width: 95%;
    margin: 0 auto;
  }
  .list_check.type1 li:nth-child(2n) {
    margin: 0 auto;
  }
}
.list_check.type2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.list_check.type2 li {
  background: transparent;
  padding: 5px;
  width: 33.333%;
}
.list_check.type2 li a {
  color: #44546a;
  border-bottom: 0px;
}
.list_check.type2 li a:hover {
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .list_check.type2 li {
    width: 100%;
    letter-spacing: 0;
    padding: 0;
  }
}
.list_check li {
  padding: 8px;
  font-weight: 700;
  background: #fefefe;
  margin-bottom: 5px;
}
.list_check li span {
  font-weight: normal;
  font-size: 0.9em;
  display: block;
  padding: 10px;
  background: rgba(246, 241, 221, 0.2);
  margin-top: 10px;
}
.list_check li a {
  color: #555;
  border-bottom: 1px dotted #b4c6e7;
}
.list_check li a:hover {
  color: #b4c6e7;
}
.list_check li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
  margin-right: 10px;
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .list_check li {
    width: 98%;
    margin: 0 auto 10px;
    font-size: 1.2rem;
  }
}

.list_check2.type1 {
  display: flex;
  flex-wrap: wrap;
}
.list_check2.type1 li {
  width: 48%;
}
.list_check2.type1 li:nth-child(2n) {
  margin-left: 4%;
}
@media all and (max-width: 639px) {
  .list_check2.type1 li {
    width: 95%;
    margin: 0 auto 5px;
  }
  .list_check2.type1 li:nth-child(2n) {
    margin-left: auto;
  }
}
.list_check2.mini {
  max-width: 300px;
  margin: 50px auto;
}
.list_check2 li {
  padding: 4px 4px 4px 30px;
  font-weight: 700;
  position: relative;
  font-size: 1.8rem;
}
.list_check2 li .num {
  color: #b4c6e7;
  margin: 0 4px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.list_check2 li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 8px;
  color: #b4c6e7;
}
.list_check2 li:not(:last-child) {
  margin-bottom: 4px;
}
@media all and (max-width: 639px) {
  .list_check2 li {
    padding: 3px 0px 3px 30px;
    font-size: 1.5rem;
  }
}

.inline-btn {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.inline-btn.type1 li a::before {
  color: #4472c4;
}
.inline-btn.col3 li {
  width: 33.3333333333%;
}
.inline-btn.col4 li {
  width: 25%;
}
.inline-btn li {
  position: relative;
  display: inline-block;
  padding: 5px;
  line-height: 1.3;
  flex: 1 0 auto;
}
.inline-btn li a {
  font-weight: 700;
  display: block;
  color: #44546a;
  background: #fefefe;
}
.inline-btn li a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  margin-right: 5px;
  color: #b4c6e7;
}
.inline-btn li a:hover {
  opacity: 0.5;
}
@media all and (max-width: 1100px) {
  .inline-btn li {
    width: 50% !important;
  }
  .inline-btn li::before {
    margin-right: 3px;
  }
}
@media all and (max-width: 639px) {
  .inline-btn li {
    width: 100% !important;
  }
}

.list-link {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid rgba(221, 221, 221, 0.8666666667);
  margin-top: 80px;
}
.list-link li {
  border-bottom: 1px solid rgba(221, 221, 221, 0.8666666667);
  border-right: 1px solid rgba(221, 221, 221, 0.8666666667);
  position: relative;
}
.list-link li::before, .list-link li::after {
  content: "";
  position: absolute;
  background: linear-gradient(to right, #b4c6e7 0%, #4472c4 100%);
  width: 0;
  height: 2px;
  transition: all 0.2s linear;
}
.list-link li::before {
  right: 0;
  bottom: 0;
}
.list-link li:after {
  left: 0;
  top: 0;
}
.list-link li span {
  display: block;
}
.list-link li span::before, .list-link li span:after {
  content: "";
  position: absolute;
  background: linear-gradient(to right, #b4c6e7 0%, #4472c4 100%);
  width: 2px;
  height: 0;
  transition: all 0.1s linear;
}
.list-link li span:before {
  left: 0;
  bottom: 0;
}
.list-link li span::after {
  right: 0;
  top: 0;
}
.list-link li.current::before, .list-link li.current::after, .list-link li:hover::before, .list-link li:hover::after {
  width: 100%;
}
.list-link li:hover::after {
  transition-delay: 0s;
}
.list-link li:hover::before {
  transition-delay: 0.3s;
}
.list-link li.current span::before, .list-link li.current span::after, .list-link li:hover span::before, .list-link li:hover span::after {
  height: 100%;
}
.list-link li:hover span::before {
  transition-delay: 0.5s;
}
.list-link li:hover span::after {
  transition-delay: 0.2s;
}
.list-link li a {
  display: block;
  border-radius: 5px;
  background: #fefefe;
  border-radius: 5px;
  text-align: center;
  padding: 60px 20px;
}
.list-link li a img {
  transition: all 0.3s ease;
  width: 300px;
}
.list-link li a:hover {
  background: #fdfcfa;
}
.list-link li a:hover img {
  transform: scale(0.9);
}
@media all and (max-width: 896px) {
  .list-link {
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
  }
}

.list-inline3 {
  text-align: center;
}
.list-inline3.type1 li {
  background: #f6f1dd;
  color: #44546a;
}
.list-inline3 li {
  display: inline-block;
  padding: 10px 25px;
  background: #fbf2ee;
  color: #b4c6e7;
  margin: 2px 0;
  clip-path: polygon(95% 0, 100% 50%, 95% 100%, 0% 100%, 5% 50%, 0% 0%);
}
.list-inline3 li:first-child {
  padding: 10px 25px 10px 20px;
  clip-path: polygon(0% 0%, 95% 0, 100% 50%, 95% 100%, 0% 100%);
}
.list-inline3 li:last-child {
  padding: 10px 20px 10px 25px;
  clip-path: polygon(100% 0, 100% 50%, 100% 100%, 0% 100%, 5% 50%, 0% 0%);
}
@media all and (max-width: 896px) {
  .list-inline3 li {
    width: 100%;
    padding: 20px 5px 10px;
    clip-path: polygon(50% 20%, 100% 0, 100% 80%, 50% 100%, 0 80%, 0% 0%);
    margin: 0 auto;
  }
  .list-inline3 li:first-child {
    padding: 10px 5px 15px;
    clip-path: polygon(0% 0%, 100% 0, 100% 80%, 50% 100%, 0 80%);
  }
  .list-inline3 li:last-child {
    padding: 20px 5px 10px;
    clip-path: polygon(50% 20%, 100% 0, 100% 100%, 0 100%, 0 0);
  }
}

.list-inline2 {
  text-align: center;
}
.list-inline2 li {
  display: inline-block;
  padding: 4px 15px;
  background: #fefefe;
  border: 1px solid #b4c6e7;
  font-weight: 700;
  border-radius: 30px;
}
.list-inline2 li:not(:last-child) {
  margin-right: 8px;
}

.list-inline li {
  display: inline-block;
  padding: 3px;
}
.list-inline li:not(:last-of-type):after {
  content: "/";
  margin: 0 5px;
  color: #b4c6e7;
  font-weight: normal;
}

.list_num.mini {
  max-width: 400px;
  margin: 3% auto;
}
.list_num li {
  position: relative;
  padding: 6px 4px 6px 50px;
  font-size: 2rem;
  margin-bottom: 10px;
}
.list_num li span {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 3.5rem;
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .list_num li {
    font-size: 1.3rem;
  }
  .list_num li span {
    font-size: 2.8rem;
  }
}

.ol-list {
  counter-reset: number;
  list-style: none;
  padding: 5px;
}
.ol-list.type1 {
  display: flex;
  flex-wrap: wrap;
}
.ol-list.type1 > li {
  width: 48%;
  border-bottom: none;
}
.ol-list.type1 > li:nth-child(2n) {
  margin-left: 4%;
}
.ol-list.sbc li:before {
  color: #4472c4;
}
.ol-list li {
  line-height: 2;
  padding-top: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dashed #ddd;
  position: relative;
  padding-left: 45px;
  padding-bottom: 10px;
}
.ol-list li:last-child {
  margin-bottom: 0;
  border-bottom: 0px dashed #ddd;
  padding-bottom: 0;
}
.ol-list li .inner {
  font-weight: 500;
  display: block;
  padding-top: 5px;
  line-height: 1.6;
  font-size: 1.4rem;
}
.ol-list li:before {
  counter-increment: number;
  content: counter(number, decimal-leading-zero) ".";
  display: inline-block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  letter-spacing: 0;
  left: 0;
  position: absolute;
  font-size: 2.6rem;
  color: rgba(180, 198, 231, 0.6);
  margin-right: 10px;
  line-height: 1;
}
@media all and (max-width: 639px) {
  .ol-list li {
    padding-left: 35px;
  }
  .ol-list li .inner {
    font-size: 1.2rem;
  }
  .ol-list li:before {
    font-size: 2rem;
  }
}

.list_disc.type1 li:before {
  color: #4472c4;
}
.list_disc.type2 li:before {
  content: "・";
  color: #44546a;
}
.list_disc.type2 li:not(:last-of-type) {
  margin-bottom: 0px;
  border-bottom: 0px solid #ccc;
}
.list_disc.type3 {
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.list_disc.type3 li {
  padding: 10px 0 10px 16px;
}
.list_disc li {
  padding: 3px 0 3px 16px;
  text-align: left;
  position: relative;
}
.list_disc li:not(:last-of-type) {
  margin-bottom: 3px;
  border-bottom: 1px solid #ccc;
}
.list_disc li:before {
  content: "●";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #b4c6e7;
  font-size: 0.5em;
}

.list-btn {
  display: flex;
  flex-wrap: wrap;
}
.list-btn.btn-100 > li {
  width: 100%;
}
.list-btn.btn-100 > li:nth-child(3n) {
  margin-right: auto;
}
.list-btn.btn-col2 {
  justify-content: space-between;
}
.list-btn.btn-col2 li {
  width: 48%;
  margin: auto;
  margin-bottom: 20px;
}
.list-btn.btn-col2 li a {
  font-size: 2rem;
  padding: 15px 2px;
}
@media all and (max-width: 639px) {
  .list-btn.btn-col2 li {
    width: 100%;
    margin: 0 auto 20px;
  }
  .list-btn.btn-col2 li a {
    font-size: 1.5rem;
  }
}
.list-btn li {
  width: 32%;
  margin: 0 1.995% 10px 0;
}
.list-btn li a {
  display: block;
  background: #fff;
  color: #b4c6e7;
  font-weight: 700;
  padding: 10px 3px;
  text-align: center;
  width: 100%;
  height: 100%;
  line-height: 1.5;
  font-size: 1.6rem;
  letter-spacing: 0;
  position: relative;
  overflow: hidden;
  border: 2px solid #f6f1dd;
}
.list-btn li a:after {
  position: absolute;
  content: "";
  width: 70px;
  height: 70px;
  border-bottom: 0.1em solid #f6f1dd;
  border-right: 0.1em solid #f6f1dd;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
.list-btn li a .small {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.list-btn li a span {
  position: relative;
  z-index: 2;
}
.list-btn li a:hover {
  background: #44546a;
  color: #fff;
}
.list-btn li:nth-child(3n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .list-btn li {
    width: 90%;
    margin: 0 auto 10px;
  }
  .list-btn li a {
    font-size: 1.2rem;
  }
  .list-btn li a .small {
    font-size: 1.2rem;
  }
  .list-btn li:nth-child(3n) {
    margin-right: auto;
  }
}
.list-btn.type1 li a {
  padding: 65px 40px 65px 0;
  border: 1px solid #8da9db;
  font-size: 2.5rem;
  text-align: right;
  background: #111;
  color: #f6f1dd;
}
.list-btn.type1 li a:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  height: 100%;
  width: 70%;
  opacity: 0.7;
  transition: 0.2s ease-in all;
  background: url(../img/icon01.jpg) no-repeat center/cover;
}
.list-btn.type1 li a:after {
  width: 30px;
  height: 30px;
}
.list-btn.type1 li a:hover:before {
  opacity: 0.3;
}
@media all and (max-width: 639px) {
  .list-btn.type1 li a {
    font-size: 1.8rem;
    padding: 50px 40px 50px 0;
  }
}
.list-btn.type1 li:last-of-type a:before {
  background: url(../img/icon02.jpg) no-repeat center/cover;
}

.blog_topics {
  width: 100%;
}
.blog_topics li:first-child a {
  border-top: 1px solid #ddd;
}
.blog_topics li a {
  display: block;
  color: #44546a;
  padding: 15px;
  transition: all 0.3s ease;
  border-bottom: 1px solid #ddd;
}
.blog_topics li a:hover {
  background: #fbf2ee;
}
.blog_topics li a .topics_detail {
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  align-items: center;
}
.blog_topics li a .topics_detail .imgbox {
  overflow: hidden;
  width: 15%;
  height: 140px;
}
.blog_topics li a .topics_detail .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.2s ease-in all;
}
.blog_topics li a .topics_detail .textbox {
  width: 85%;
  padding-left: 25px;
}
.blog_topics li a .topics_detail .textbox h3 {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin-bottom: 8px;
  color: #8da9db;
}
.blog_topics li a .topics_detail .textbox .bd_txt {
  color: #777;
  font-size: 12px;
}
.blog_topics li a .time_date {
  font-size: 12px;
}
@media all and (max-width: 639px) {
  .blog_topics li a {
    padding: 8px;
  }
  .blog_topics li a .topics_detail .imgbox {
    width: 20%;
    height: 90px;
  }
  .blog_topics li a .topics_detail .textbox {
    width: 80%;
    padding-left: 15px;
    line-height: 1.5;
  }
  .blog_topics li a .topics_detail .textbox .bd_txt {
    font-size: 10px;
  }
  .blog_topics li a .time_date {
    font-size: 10px;
  }
}

/* blog
----------------------------------*/
#top-blog .pages {
  display: none;
}
#top-blog .blog-img {
  height: 170px;
}
@media all and (max-width: 639px) {
  #top-blog .blog-img {
    height: 90px;
  }
}

#main .blog-wrap > li {
  width: 32%;
}
@media all and (max-width: 1100px) {
  #main .blog-wrap > li {
    width: 49%;
    margin: 0 0.5% 20px 0.5%;
  }
}
@media all and (max-width: 639px) {
  #main .blog-wrap > li {
    width: 100%;
    margin: 0 auto 10px;
  }
  #main .blog-wrap > li:last-child {
    margin-bottom: 0;
  }
}

.blog-wrap {
  display: flex;
  flex-wrap: wrap;
}
.blog-wrap * {
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.blog-wrap > li {
  width: 24%;
  margin: 10px 0.5%;
  position: relative;
  background: #fff;
  padding: 10px;
  box-shadow: 10px 10px 10px rgba(204, 204, 204, 0.1);
  box-sizing: border-box;
  color: #44546a;
}
@media all and (max-width: 1100px) {
  .blog-wrap > li {
    width: 49%;
  }
}
.blog-wrap > li > a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
.blog-wrap > li > a:hover ~ .blog-img img {
  opacity: 1;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
@media all and (max-width: 639px) {
  .blog-wrap > li {
    width: 48%;
    margin: 10px 1%;
    padding: 6px;
  }
}

.blog-img {
  width: 100%;
  height: 160px;
  overflow: hidden;
  box-sizing: border-box;
}
@media all and (max-width: 639px) {
  .blog-img {
    height: 140px;
  }
}
.blog-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: all 0.4s ease;
  font-family: "object-fit: cover;";
  /*IE対策*/
}
.blog-img:hover img {
  opacity: 1 !important;
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

.blog-detail {
  padding-top: 10px;
}
@media all and (max-width: 639px) {
  .blog-detail {
    padding-top: 5px;
  }
}

.blog-detail-upper {
  position: relative;
  z-index: 2;
  margin: -31px 0 0;
  color: #fff;
  font-size: 12px;
}

.blog-category {
  display: inline-block;
  padding: 0 10px;
  border-radius: 20px;
  text-align: center;
  background: rgba(180, 198, 231, 0.8);
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  margin-left: 10px;
}
@media all and (max-width: 896px) {
  .blog-category {
    font-size: 9px;
  }
}

.blog-new-upper {
  position: relative;
  z-index: 2;
}
.blog-new-upper .blog-new {
  position: absolute;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  top: 10px;
  left: 10px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(to right, #b4c6e7, #4472c4);
  border: 2px solid #fff;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 11px;
  line-height: 1;
}

.blog-date {
  color: #44546a;
  letter-spacing: 0.05em;
  text-align: center;
  display: inline-block;
  font-size: 14px;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media all and (max-width: 639px) {
  .blog-date {
    font-size: 12px;
  }
}

.blog-date2 {
  color: #999;
  font-size: 0.9em;
  margin-bottom: 10px;
}
.blog-date2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f017";
  font-weight: 900;
  margin-right: 5px;
}

.blog-title {
  line-height: 1.3;
  margin: 5px 0 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

.blog-txt {
  line-height: 1.5;
  color: #b4c6e7;
  padding: 10px;
}
@media all and (max-width: 639px) {
  .blog-txt {
    font-size: 12px;
  }
}

.pages {
  text-align: center;
  margin-top: 30px;
}
.pages .page_next,
.pages .page_prev {
  display: inline-block;
  margin: 0 20px;
}
.pages .page_next a,
.pages .page_prev a {
  color: #fff;
  padding: 4px 5px;
  background: #b4c6e7;
  font-size: 12px;
}

.category_nav {
  border: 1px solid #dddddd;
  box-sizing: border-box;
}
.category_nav li a {
  display: block;
  padding: 10px;
  border-bottom: 1px dotted #dddddd;
  background-color: #ffffff;
}
.category_nav li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0a9";
  font-weight: 900;
  margin-right: 5px;
}
.category_nav li a:hover {
  background: #f4f4f4;
}
.category_nav li:last-child a {
  border-bottom: none;
}

/* etc
----------------------------------*/
.cut {
  overflow: hidden;
  zoom: 1;
}

.sen {
  border-bottom: 3px dashed #b4c6e7;
  margin: 60px 0;
}

.img-round {
  border-radius: 15px 0 15px 0;
}

.btn-list {
  display: flex;
  justify-content: center;
  gap: 40px;
}
.btn-list p:nth-child(1) a {
  background: #e28d3c;
}
.btn-list p:nth-child(2) a {
  background: #ffdb4f;
}
.btn-list p a:hover {
  opacity: 0.6;
}

.txt-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.txt-flex > li {
  width: 31%;
  background: rgba(68, 114, 196, 0.1);
  text-align: center;
  padding: 20px;
}

.img-wk {
  position: relative;
}
.img-wk:before {
  position: absolute;
  content: "";
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid #fff;
  z-index: 2;
}
@media all and (max-width: 639px) {
  .img-wk:before {
    width: calc(100% - 6px);
    height: calc(100% - 6px);
  }
}

.w250 {
  width: 250px;
}
@media all and (max-width: 896px) {
  .w250 {
    max-width: 300px;
    width: 90%;
  }
}

.w300 {
  width: 300px;
}
@media all and (max-width: 896px) {
  .w300 {
    max-width: 600px;
    width: 100%;
  }
}

.f-maru {
  font-family: "Zen Maru Gothic", "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

.spbr {
  display: none;
}

@media screen and (min-width: 639px) {
  .sp {
    display: none;
  }
}
@media screen and (max-width: 639px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 896px) {
  .tb {
    display: none;
  }
}

.color1 {
  color: #b4c6e7;
}

.color2 {
  color: #4472c4;
}

.brown {
  color: #7086a4;
}

.marker-pale {
  background: linear-gradient(transparent 60%, rgba(180, 198, 231, 0.2) 0%);
  z-index: 0;
}

.relative {
  position: relative;
}
.relative.type1 {
  z-index: 5;
}

.bigger {
  font-size: 1.1em;
  line-height: 1.5;
}

.smaller {
  font-size: 0.95em;
  letter-spacing: 0;
}

.num {
  font-weight: 700;
}
.num a {
  color: #b4c6e7;
  font-size: 2.8rem;
  text-align: center;
  margin-left: 5px;
}
@media all and (max-width: 639px) {
  .num a {
    font-size: 2rem;
  }
}
.num a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
}
.num a:hover {
  color: #b4c6e7;
}

.telbox {
  max-width: 600px;
  margin: 0 auto 20px;
  padding: 20px;
  background: #333;
  text-align: center;
}
.telbox .inner {
  background: #fff;
  padding: 10px;
}

.txt-link {
  font-weight: 700;
  text-decoration: underline;
}
.txt-link:after {
  font-family: "Font Awesome 5 Free";
  content: "\f101";
  font-weight: 900;
  padding-left: 5px;
}
.txt-link:hover {
  text-decoration: none;
}

.telbnr {
  max-width: 500px;
  margin: 40px auto 40px;
}
.telbnr li {
  border: 3px solid #b4c6e7;
  padding: 10px 10px;
  text-align: center;
  border-radius: 40px;
}
.telbnr li a {
  width: 100%;
  display: block;
  font-size: 2.4rem;
  font-weight: 700;
  color: #4472c4;
}
.telbnr li a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
}
.telbnr li a:hover {
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .telbnr {
    max-width: 100%;
  }
  .telbnr li {
    width: 100%;
    margin: 0 auto 30px;
  }
  .telbnr li a {
    font-size: 2rem;
  }
}

.telbnr-ttl {
  font-weight: 600;
  font-size: 1.8rem;
  color: #44546a;
  margin-top: -30px;
}
.telbnr-ttl span {
  background: #f7f8fc;
  padding: 0 20px;
}
@media all and (max-width: 639px) {
  .telbnr-ttl {
    font-size: 1.4rem;
  }
}

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

/* form
----------------------------------*/
.form {
  margin: 0 auto;
  width: 90%;
}
.form dl dt {
  float: left;
  width: 280px;
  padding-top: 20px;
  font-weight: 700;
}
.form dl dt span {
  color: #fff;
  background: #b4c6e7;
  padding: 5px 8px;
  margin-right: 5px;
  font-size: 11px;
  border-radius: 20px;
  position: relative;
  top: -2px;
}
.form dl dt span.nini {
  background: #ffdb4f;
  color: #44546a;
}
.form dl dd {
  padding-left: 280px;
  padding-bottom: 20px;
  padding-top: 23px;
  line-height: 1.5;
  border-bottom: 1px dotted #cccccc;
}
.form dl dd:last-child {
  border-bottom: none;
}
.form .textarea,
.form textarea {
  border: 0;
  padding: 20px 15px;
  width: 100%;
  background: #f5f5f5;
  border-radius: 0;
  -webkit-appearance: none;
}
.form .textarea {
  height: 30px;
}
.form .textarea02 {
  width: 48.5%;
  margin-right: 3%;
}
.form .textarea02:last-child {
  margin-right: 0;
}
.form .textarea03 {
  width: 20%;
  margin-right: 1%;
}
.form button {
  cursor: pointer;
  display: block;
  color: #fff;
  text-align: center;
  transition: all 0.2s ease-in-out 0s;
  border: 1px solid #b4c6e7;
  font-weight: 700;
  padding: 12px 5px;
  margin: 0 auto;
  width: 250px;
  background: #b4c6e7;
  border-radius: 25px;
}
.form button:hover {
  background: #fff;
  color: #b4c6e7;
}
.form button:before {
  font-weight: normal;
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 10px;
}
.form .select-wrap {
  position: relative;
  overflow: hidden;
  display: inline-block;
  min-width: 192px;
  min-width: 12em;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: #333;
}
.form .select-wrap select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 2;
  display: block;
  width: 200%;
  width: -webkit-calc(100% + 5em);
  margin: 0;
  padding: 11px 35px 11px 11px;
  padding: 0.6875rem 2.1875rem 0.6875rem 0.6875rem;
  background: transparent;
  border: 0;
  outline: none;
  line-height: 1.5;
}
.form .entypo-down-open-mini:before {
  font-family: "FontAwesome";
  content: "\f0ab";
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 12px;
  right: 0.75rem;
  margin-top: -8px;
  margin-top: -0.5rem;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  color: #b4c6e7;
}
.form label.radio_text {
  cursor: pointer;
  position: relative;
  margin-right: 20px;
  overflow: hidden;
  padding-left: 20px;
  display: inline-block;
}
.form label.radio_text:before {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 1px solid #ccc;
  border-radius: 50%;
  left: 0px;
  top: 2px;
  content: "";
  z-index: 3;
}
.form label.radio_text:after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 100%;
  left: 2px;
  top: 4px;
  background-color: #b4c6e7;
  z-index: 1;
}
.form label.radio_text input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: -23px;
  top: 0px;
  margin: 0px;
  box-shadow: 20px -1px #fff;
}
.form label.radio_text input[type=radio]:checked {
  box-shadow: none;
}
.form label.radio_text input[type=radio]:focus {
  opacity: 0.2;
  box-shadow: 20px -1px #eeebda;
}
.form label.checkbox_text {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin: 0 20px 5px 0;
  overflow: hidden;
  display: inline-block;
}
.form label.checkbox_text:before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  left: 0px;
  top: 0;
  border: 1px solid #ccc;
  z-index: 3;
  padding: 1px;
}
.form label.checkbox_text:after {
  content: "";
  position: absolute;
  top: 40%;
  left: 5px;
  display: block;
  margin-top: -9px;
  width: 8px;
  height: 12px;
  border-right: 3px solid #b4c6e7;
  border-bottom: 3px solid #b4c6e7;
  transform: rotate(45deg);
  z-index: 1;
}
@media all and (max-width: 639px) {
  .form label.checkbox_text:after {
    margin-top: -18px;
  }
}
.form label.checkbox_text input[type=checkbox] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: -40px;
  width: 20px;
  height: 20px;
  display: block;
  box-shadow: 41px 0px #fff;
  z-index: 2;
  margin: 0px;
  padding: 0px;
}
.form label.checkbox_text input[type=checkbox]:checked {
  box-shadow: none;
}
.form label.checkbox_text input[type=checkbox]:checked:focus {
  box-shadow: 40px 0px #666;
  opacity: 0.1;
}
.form label.checkbox_text input[type=checkbox]:focus {
  box-shadow: 41px 0px #eee;
}
.form input[type=text],
.form textarea {
  font-size: 16px;
}
@media all and (max-width: 639px) {
  .form input[type=text],
  .form textarea {
    transform: scale(0.9);
    margin-left: -5px;
  }
}

.fm-txt {
  font-size: 1.4rem;
  background: rgba(255, 255, 255, 0.5);
  padding: 5px;
}

.thanks {
  padding: 40px;
  border: 3px solid #b4c6e7;
  box-shadow: 0 0 0 8px rgba(180, 198, 231, 0.2);
  max-width: 700px;
  margin: 0 auto;
}
@media all and (max-width: 639px) {
  .thanks {
    max-width: 90%;
    padding: 30px 20px;
  }
}

.shadow {
  box-shadow: 0 0 10px rgba(68, 84, 106, 0.1);
}

.policy {
  padding: 30px;
  background: rgba(250, 247, 239, 0.3);
}

.mtitle_small {
  font-weight: bold;
  color: #b4c6e7;
  padding: 10px 0;
  font-size: 1.6rem;
  border-top: 1px solid #b4c6e7;
  border-bottom: 1px solid #b4c6e7;
  margin-bottom: 20px;
}
.mtitle_small:before {
  content: "─";
  margin-right: 8px;
  color: #b4c6e7;
}
.mtitle_small.type1:before {
  color: #ee7ea6;
}
.mtitle_small.type2:before {
  color: #f4cd32;
}
.mtitle_small.type3:before {
  color: #61b74d;
}
.mtitle_small.type4:before {
  color: #4799d2;
}
@media all and (max-width: 639px) {
  .mtitle_small {
    font-size: 1.3rem;
  }
  .mtitle_small.type1 {
    font-size: 1.4rem;
    letter-spacing: 0.1em;
  }
}

.mtitle_small2 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 15px;
  letter-spacing: 0.2em;
  font-weight: 500;
}
.mtitle_small2.type1 {
  margin-bottom: 5px;
}
.mtitle_small2.type1:before {
  background-color: rgba(180, 198, 231, 0.6);
}
.mtitle_small2:before {
  content: "";
  background-color: #b4c6e7;
  width: 10px;
  height: 4px;
  position: absolute;
  top: 0.6em;
  left: 0;
}

.mtitle_small3 {
  padding: 12px 0;
  font-size: 1.8rem;
  border-top: 1px solid #b4c6e7;
  border-bottom: 1px solid #b4c6e7;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin-bottom: 25px;
}
.mtitle_small3:before {
  content: "―";
  margin-right: 8px;
  color: #b4c6e7;
}
.mtitle_small3.type1 {
  border-top: 1px solid #ee7ea6;
  border-bottom: 1px solid #ee7ea6;
}
.mtitle_small3.type1:before {
  color: #ee7ea6;
}
.mtitle_small3.type2 {
  border-top: 1px solid #f4cd32;
  border-bottom: 1px solid #f4cd32;
}
.mtitle_small3.type2:before {
  color: #f4cd32;
}
.mtitle_small3.type3 {
  border-top: 1px solid #61b74d;
  border-bottom: 1px solid #61b74d;
}
.mtitle_small3.type3:before {
  color: #61b74d;
}
.mtitle_small3.type4 {
  border-top: 1px solid #4799d2;
  border-bottom: 1px solid #4799d2;
}
.mtitle_small3.type4:before {
  color: #4799d2;
}
@media all and (max-width: 639px) {
  .mtitle_small3 {
    margin-bottom: 20px;
    padding: 8px 0;
    font-size: 1.4rem;
  }
}

.mtitle_small4 {
  position: relative;
  background: #fff;
  border: 1px solid #ddd;
  font-size: 1.8rem;
  padding: 10px 10px 10px 30px;
  margin-bottom: 25px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}
.mtitle_small4:before {
  position: absolute;
  top: 15%;
  left: 10px;
  width: 5px;
  height: 70%;
  content: "";
  background: rgba(180, 198, 231, 0.6);
  background: #4472c4;
}
.mtitle_small4.type2:before {
  background: #99c478;
}
.mtitle_small4.type3:before {
  background: #ffdb4f;
}
@media all and (max-width: 639px) {
  .mtitle_small4 {
    font-size: 1.3rem;
    padding: 10px 5px 10px 20px;
    margin-bottom: 20px;
  }
  .mtitle_small4:before {
    left: 5px;
  }
}

/*photoギャラリー*/
.gallery {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.gallery.col4 li {
  width: 24%;
  margin: 0 1.3333333333% 10px 0;
}
.gallery.col4 li:nth-child(4n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .gallery.col4 li {
    width: 48%;
    margin-right: 4%;
  }
  .gallery.col4 li:nth-child(2n) {
    margin-right: 0;
  }
}
.gallery.col3 li {
  width: 31%;
  margin: 0 3.495% 10px 0;
}
.gallery.col3 li:nth-child(3n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .gallery.col3 li {
    width: 48%;
    margin-right: 4%;
  }
  .gallery.col3 li:nth-child(3n) {
    margin-right: 4%;
  }
  .gallery.col3 li:nth-child(2n) {
    margin-right: 0;
  }
}
.gallery.col2 li {
  width: 48%;
  margin-right: 4%;
}
.gallery.col2 li a {
  height: auto;
}
.gallery.col2 li:nth-child(2n) {
  margin-right: 0;
}
.gallery li a {
  display: block;
  text-align: center;
  padding: 0px;
  height: 200px;
}
.gallery li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
  object-position: center 5%;
  /*IE対策*/
}
@media all and (max-width: 639px) {
  .gallery li a {
    height: 110px;
  }
}
.gallery li p {
  margin-top: 2px;
  text-align: center;
  line-height: 1.3;
}
.gallery li p span {
  display: block;
  font-size: 70%;
}

.gallery2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.gallery2 li {
  width: 32%;
}
.gallery2 li a {
  display: block;
  height: auto;
}
.gallery2 li a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
  object-position: center 5%;
  /*IE対策*/
}
@media all and (max-width: 639px) {
  .gallery2 li {
    width: 49%;
  }
  .gallery2 li:first-child {
    width: 100%;
    margin-bottom: 2%;
  }
}

.list2 {
  display: flex;
  flex-wrap: wrap;
  max-width: 1500px;
  margin-top: -40px;
  margin-left: auto;
  margin-right: auto;
}
@media all and (max-width: 639px) {
  .list2 {
    margin-top: -20px;
  }
}
.list2.type1 > li,
.list2.type1 > .child {
  background: #fefefe;
  padding: 15px;
}
.list2 > li,
.list2 > .child {
  width: 48%;
  margin-top: 40px;
  position: relative;
}
.list2 > li .event-month,
.list2 > .child .event-month {
  float: left;
  display: inline;
  margin-right: 20px;
}
.list2 > li .event-month img,
.list2 > .child .event-month img {
  width: 120px;
  filter: drop-shadow(0px 0px 5px rgba(71, 153, 210, 0.1));
  animation: fuwafuwa 3s ease infinite;
}
@media all and (max-width: 896px) {
  .list2 > li .event-month,
  .list2 > .child .event-month {
    margin-right: 10px;
  }
  .list2 > li .event-month img,
  .list2 > .child .event-month img {
    width: 80px;
  }
}
.list2 > li:nth-child(2n),
.list2 > .child:nth-child(2n) {
  margin-left: 4%;
}
@media all and (max-width: 896px) {
  .list2 > li:nth-child(2n),
  .list2 > .child:nth-child(2n) {
    margin-left: auto;
  }
}
@media all and (max-width: 896px) {
  .list2 > li,
  .list2 > .child {
    width: 100%;
    margin: 20px auto 0;
  }
}

.list4 {
  display: flex;
  flex-wrap: wrap;
}
.list4 > li {
  width: 23%;
  margin: 1%;
}
@media all and (max-width: 896px) {
  .list4 > li {
    width: 48%;
  }
}
@media all and (max-width: 639px) {
  .list4 > li {
    width: 95%;
    margin: 0 auto 15px;
  }
  .list4 > li:last-child {
    margin-bottom: 0;
  }
}

.medical-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.medical-list li {
  width: 24%;
  margin: 0.5%;
}
.medical-list li a {
  display: block;
  background-image: linear-gradient(-164deg, rgba(68, 114, 196, 0.1) 0%, rgba(68, 114, 196, 0.1) 25%, transparent 25%, transparent 96%, rgba(68, 114, 196, 0.12) 96%, rgba(68, 114, 196, 0.1) 100%), linear-gradient(210deg, rgba(68, 114, 196, 0.2) 0%, rgba(68, 114, 196, 0.2) 53%, transparent 53%, transparent 59%, rgba(68, 114, 196, 0.2) 59%, rgba(68, 114, 196, 0.2) 100%), linear-gradient(255deg, rgba(68, 114, 196, 0.1) 0%, rgba(68, 114, 196, 0.1) 46%, transparent 46%, transparent 71%, rgba(68, 114, 196, 0.2) 71%, rgba(68, 114, 196, 0.2) 100%), linear-gradient(316deg, rgba(68, 114, 196, 0.3) 0%, rgba(68, 114, 196, 0.3) 26%, transparent 26%, transparent 49%, rgba(68, 114, 196, 0.1) 49%, rgba(68, 114, 196, 0.1) 100%), linear-gradient(90deg, #fbf2ee, #fbf2ee);
  text-align: center;
  padding: 25px 15px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
  color: #44546a;
  line-height: 2;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.medical-list li a span {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: inherit;
  font-size: 1.4rem;
  color: #b4c6e7;
}
.medical-list li a:hover {
  opacity: 0.8;
  box-shadow: 0px 8px 15px -5px rgba(68, 84, 106, 0.3);
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}
@media all and (max-width: 896px) {
  .medical-list li {
    width: 48%;
    margin: 1%;
  }
  .medical-list li:first-child {
    width: 48%;
    margin: 1%;
  }
}
@media all and (max-width: 639px) {
  .medical-list li a {
    padding: 15px 8px;
    font-size: 1.3rem;
  }
  .medical-list li a span {
    font-size: 1.1rem;
    letter-spacing: 0.15em;
  }
}

.prv dt {
  color: #b4c6e7;
  border-bottom: 1px solid #ccc;
  margin: 10px 0;
}

.box-arrow {
  position: relative;
}
.box-arrow:after {
  position: absolute;
  content: "";
  right: -15px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30px 0 30px 30px;
  border-color: transparent transparent transparent #ffdb4f;
  z-index: 3;
}
@media all and (max-width: 639px) {
  .box-arrow:after {
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    bottom: -15px;
    border-width: 15px 20px 0 20px;
    border-color: #ffdb4f transparent transparent transparent;
  }
}

.caution {
  color: #d24a45;
  letter-spacing: 0;
  font-size: 1.4rem;
}
@media all and (max-width: 639px) {
  .caution {
    font-size: 1.1rem;
  }
}

.asa {
  background: #f4fafb;
}

.hiru {
  background: #fdfbf7;
}
.hiru:before {
  background: url(../img/hiru.png) no-repeat !important;
}

.yuu {
  background: #f4f8fc;
}
.yuu:before {
  background: url(../img/yuu.png) no-repeat !important;
}

.yoru {
  background: #f4f7fc;
}
.yoru:before {
  background: url(../img/yoru.png) no-repeat !important;
}

.asa,
.hiru,
.yuu,
.yoru {
  padding: 15px;
}
.asa img,
.hiru img,
.yuu img,
.yoru img {
  max-width: 250px;
  width: 100%;
}
.asa:before,
.hiru:before,
.yuu:before,
.yoru:before {
  position: absolute;
  content: "";
  left: 5px;
  top: 5px;
  width: 60px;
  height: 60px;
  background: url(../img/asa.png) no-repeat;
  background-size: 60px;
  z-index: 1;
  animation: bounce-anm 2s ease infinite;
  border-radius: 100%;
}
@media all and (max-width: 639px) {
  .asa,
  .hiru,
  .yuu,
  .yoru {
    padding: 10px;
  }
  .asa:before,
  .hiru:before,
  .yuu:before,
  .yoru:before {
    width: 40px !important;
    height: 40px !important;
    background-size: 40px !important;
  }
  .asa img,
  .hiru img,
  .yuu img,
  .yoru img {
    max-width: 600px;
  }
}

.entry-box {
  margin-bottom: 80px;
  width: 80%;
  margin: 0 auto;
}
.entry-box .note {
  padding: 60px;
}

.note {
  padding: 20px;
  background: rgba(255, 255, 255, 0.8);
  background: #faf7ef;
  border-radius: 20px;
}
@media all and (max-width: 639px) {
  .note {
    padding: 12px;
  }
}

.note2 {
  padding: 20px;
  background: #fefefe;
  border: 2px solid #4472c4;
  border-radius: 5px;
}
@media all and (max-width: 639px) {
  .note2 {
    padding: 15px;
  }
}

.flow-dl {
  display: flex;
  flex-wrap: wrap;
}
.flow-dl .flow-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 48%;
  margin-right: 4%;
  margin-bottom: 25px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.8);
}
.flow-dl .flow-inner:nth-child(2n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .flow-dl .flow-inner {
    width: 100%;
    margin: 0 auto 25px;
  }
  .flow-dl .flow-inner:nth-child(2n) {
    margin-right: auto;
  }
}
.flow-dl dt {
  color: #b4c6e7;
  width: 60px;
  text-align: center;
  margin-right: 20px;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding-top: 8px;
}
.flow-dl dt span {
  font-size: 3.5rem;
  display: block;
  line-height: 1;
  color: #b4c6e7;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.flow-dl dd {
  width: calc(100% - 80px);
}
.flow-dl dt:not(:last-child),
.flow-dl dd:not(:last-child) {
  margin-bottom: 20px;
}
@media all and (max-width: 639px) {
  .flow-dl dt {
    font-size: 1.3rem;
  }
  .flow-dl dt span {
    font-size: 2.2rem;
  }
}

.txt1 {
  padding-left: 60px;
}
@media all and (max-width: 639px) {
  .txt1 {
    padding-left: 40px;
  }
}

.blog-month {
  margin-bottom: 10px;
}
.blog-month ul {
  display: flex;
  flex-wrap: wrap;
}
.blog-month ul li {
  width: 49%;
  padding: 5px 0;
  margin-bottom: 5px;
  text-align: center;
  letter-spacing: 0;
  background: #333;
}
.blog-month ul li:nth-child(2n) {
  margin-left: 2%;
}
.blog-month ul li a {
  color: #fff;
  font-size: 12px;
}

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

.list-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.list-center li {
  width: 50%;
}
@media all and (max-width: 639px) {
  .list-center {
    flex-direction: column;
  }
  .list-center li {
    width: 100%;
  }
}

.faq.type1 dt {
  background: #f8fbf5;
}
.faq.type1 dt:before {
  background: #4472c4;
}
.faq dt {
  letter-spacing: 0.15em;
  margin-bottom: 20px;
  background: #fbf2ee;
  color: #44546a;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-right: 16px;
  padding-left: 36px;
  line-height: 1.6;
  position: relative;
  cursor: pointer;
  transition: all 1s ease;
}
.faq dt:before {
  content: "Q";
  position: absolute;
  top: -6px;
  left: -6px;
  text-indent: 0px;
  line-height: 35px;
  color: #fff;
  background: #b4c6e7;
  width: 35px;
  height: 35px;
  text-align: center !important;
}
.faq dt:hover {
  background: #f4f4f4;
}
.faq dd {
  display: none;
  position: relative;
  margin-bottom: 24px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-right: 16px;
  padding-left: 38px;
  line-height: 2;
  position: relative;
  background: #fff;
}
.faq dd:before {
  content: "A";
  position: absolute;
  top: 0px;
  left: 0px;
  text-indent: 0px;
  font-size: 20px;
  line-height: 35px;
  color: #d24a45;
  width: 35px;
  height: 35px;
  text-align: center !important;
}
.faq dt:before,
.faq dd:before {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.faq-dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.faq-dl .faq-inner {
  margin-bottom: 20px;
  width: 48%;
  background: #fff;
}
@media all and (max-width: 639px) {
  .faq-dl .faq-inner {
    width: 90%;
    margin: 0 auto 20px;
  }
}
.faq-dl .faq-inner dt,
.faq-dl .faq-inner dd {
  position: relative;
}
.faq-dl .faq-inner dt:before,
.faq-dl .faq-inner dd:before {
  position: absolute;
  content: "";
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  left: 0;
  top: 0;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 3rem;
}
@media all and (max-width: 639px) {
  .faq-dl .faq-inner dt:before,
  .faq-dl .faq-inner dd:before {
    font-size: 2.2rem;
  }
}
.faq-dl .faq-inner dt {
  background-image: linear-gradient(to right, #b4c6e7, #b4c6e7);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  padding: 10px 10px 10px 55px;
}
.faq-dl .faq-inner dt:before {
  content: "Q";
  color: #ffdb4f;
}
.faq-dl .faq-inner dd {
  padding: 20px 20px 20px 55px;
}
.faq-dl .faq-inner dd:before {
  content: "A";
  color: #d24a45;
}

.sns-list {
  display: flex;
  flex-wrap: wrap;
}
.sns-list.type1 {
  justify-content: center;
}
.sns-list.type2 {
  margin-left: 10px;
}
@media all and (max-width: 896px) {
  .sns-list.type2 {
    display: none;
  }
}
.sns-list.type3 {
  justify-content: center;
}
.sns-list.type3 li a {
  width: 60px;
  height: 60px;
  line-height: 60px;
}
.sns-list.type3 li a img {
  width: 40px;
}
.sns-list.type3 li a.btn-instagram:before {
  top: 30px;
  left: -16px;
  width: 70px;
  height: 70px;
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
}
.sns-list li:not(:last-child) {
  margin-right: 10px;
}
.sns-list li a {
  width: 42px;
  height: 42px;
  line-height: 42px;
  display: block;
  text-align: center;
  position: relative;
  border-radius: 50%;
}
.sns-list li a img {
  position: relative;
  vertical-align: middle;
  width: 24px;
  z-index: 3;
  top: -1.5px;
}
.sns-list li a:hover {
  opacity: 0.7;
}
.sns-list li a.btn-facebook {
  background: #1877f2;
}
.sns-list li a.btn-twitter {
  background: #1da1f2;
}
.sns-list li a.btn-line {
  background: #00b900;
}
.sns-list li a.btn-rakuten {
  background: #bf0000;
}
.sns-list li a.btn-yahoo {
  background: #df0f16;
}
.sns-list li a.btn-ameba {
  background: #2c883a;
}
.sns-list li a.btn-instagram {
  overflow: hidden;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}
.sns-list li a.btn-instagram:before {
  content: "";
  position: absolute;
  top: 20px;
  left: -12px;
  width: 60px;
  height: 60px;
  background: radial-gradient(#ffdb2c 10%, rgba(255, 105, 34, 0.65) 55%, rgba(255, 88, 96, 0) 70%);
}
.sns-list li a.btn-gray {
  background: #383636;
}

.name {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  color: #44546a;
  text-align: center;
  padding: 10px 5px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.name .small {
  font-size: 1.2rem;
}
.name .eng {
  font-size: 1.2rem;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #aaa;
  display: block;
}
@media all and (max-width: 639px) {
  .name {
    font-size: 1.3rem;
  }
  .name .small {
    font-size: 1rem;
  }
  .name .eng {
    font-size: 1rem;
  }
}

.greet {
  font-weight: 600;
  letter-spacing: 0;
  line-height: 2;
  color: #44546a;
  font-size: 1.6rem;
}
@media all and (max-width: 639px) {
  .greet {
    font-size: 1.2rem;
  }
}

.vertical-content {
  margin-left: 100px;
}
.vertical-content.type1 {
  margin-left: 60px;
}
@media all and (max-width: 639px) {
  .vertical-content.type1 {
    margin-left: 0;
  }
}
@media all and (max-width: 639px) {
  .vertical-content {
    margin-left: 0;
  }
}

.box1 {
  background: #fff;
  box-shadow: 0 3 10px rgba(180, 198, 231, 0.15);
  padding: 30px;
  border-radius: 8px;
  margin-right: auto;
  margin-left: auto;
}
.box1.type1 {
  position: relative;
  background: rgba(255, 255, 255, 0.7);
}
.box1.type1:before {
  position: absolute;
  content: "";
  left: 50%;
  top: -80px;
  width: 1px;
  height: 80px;
  z-index: 2;
  background-image: linear-gradient(to top, white, #b4c6e7);
  opacity: 0.7;
}
@media all and (max-width: 639px) {
  .box1 {
    padding: 25px 15px;
  }
}

.pickup {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #b4c6e7;
}

.flow-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.flow-list.type1 {
  display: block;
}
.flow-list.type1 li {
  width: 100%;
}
.flow-list.type1 li .flow-title {
  margin-bottom: 10px;
}
.flow-list li {
  width: 48%;
  margin-right: 4%;
  align-items: center;
  padding: 25px;
  display: flex;
  flex-wrap: wrap;
  background: #fefefe;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(68, 84, 106, 0.05);
}
.flow-list li:not(:last-child) {
  margin-bottom: 35px;
}
.flow-list li.type100 {
  flex-basis: 100%;
  margin-right: 0;
}
.flow-list li:nth-child(2n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .flow-list li {
    width: 90%;
    margin: 0 auto 30px;
  }
  .flow-list li:nth-child(2n) {
    margin-right: auto;
  }
}
.flow-list li .flow-num {
  color: #4472c4;
  font-size: 3.5rem;
  border-right: 1px solid #4472c4;
  padding-right: 15px;
  align-self: center;
  line-height: 1.2;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.flow-list li .flow-num span {
  font-size: 1.4rem;
  display: block;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 900;
}
.flow-list li .txt {
  flex: 1;
  margin-left: 35px;
}
.flow-list li .flow-title {
  color: #44546a;
  border-bottom: 1px solid #4472c4;
  padding-bottom: 4px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.7rem;
}
@media all and (max-width: 639px) {
  .flow-list li {
    flex-direction: column;
    justify-content: stretch;
  }
  .flow-list li .flow-num {
    font-size: 2.2rem;
    text-align: center;
    border-right: 0;
    padding: 0 0 4px;
    border-bottom: 1px solid #4472c4;
  }
  .flow-list li .flow-title {
    font-size: 1.3rem;
  }
  .flow-list li .txt {
    margin: 20px auto 0;
    flex: 0 1 auto;
    width: 100%;
  }
}

.price-dl dt {
  background: #f1e9c9;
  padding: 14px 20px;
  color: #44546a;
  border-top: 1px solid #4472c4;
  border-bottom: 1px solid #4472c4;
}
.price-dl dd {
  padding: 20px;
  margin-bottom: 25px;
}

.kiritori {
  height: 1px;
  border-top: 1px solid #ddd;
  margin: 40px auto;
  width: 100%;
  display: block;
}
@media all and (max-width: 896px) {
  .kiritori {
    margin: 20px auto;
  }
}
.kiritori.type1 {
  margin: 15px auto;
  border-top: 1px dashed #ddd;
}
@media all and (max-width: 896px) {
  .kiritori.type1 {
    margin: 10px auto;
  }
}

.column2 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 80px;
}
.column2.tp {
  align-items: flex-start;
}
.column2 .child {
  width: 48%;
}
.column2 .child.column2-img {
  width: 45%;
  margin-bottom: 30px;
  margin-left: 50px;
}
.column2 .child.column2-img02 {
  width: 45%;
  margin-bottom: 30px;
  margin-right: 50px;
}
@media all and (max-width: 896px) {
  .column2 {
    flex-direction: column;
  }
  .column2 .child {
    width: 100%;
  }
  .column2 .child.bm20 {
    margin-bottom: 20px;
  }
  .column2 .child.column2-img {
    order: -1;
    margin-bottom: 30px;
    margin-left: 50px;
  }
}

.column3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.column3 .child {
  width: 33%;
}
.column3 .child.text-box {
  padding: 30px 20px;
}
.column3 .child2 {
  width: 32%;
}
@media all and (max-width: 639px) {
  .column3 {
    flex-direction: column;
  }
  .column3 .child,
  .column3 .child2 {
    width: 100%;
  }
  .column3 .child.text-box,
  .column3 .child2.text-box {
    padding: 20px 10px;
  }
  .column3 .child.bm20,
  .column3 .child2.bm20 {
    margin-bottom: 20px;
  }
}

.column4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.column4 .child {
  width: 23%;
}
@media all and (max-width: 896px) {
  .column4 {
    flex-direction: column;
  }
  .column4 .child {
    width: 100%;
  }
  .column4 .child.bm20 {
    margin-bottom: 20px;
  }
}

.greeting-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 20px;
}
.greeting-box .g-img {
  width: 20%;
}
.greeting-box .g-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.greeting-box .g-cont {
  width: 75%;
  color: #222;
}
@media all and (max-width: 639px) {
  .greeting-box .g-img,
  .greeting-box .g-cont {
    width: 100%;
  }
  .greeting-box .g-img {
    width: 80%;
    margin: 0 auto;
    padding: 10px 30px;
  }
}

.greeting {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
}
.greeting .left-img {
  width: 28%;
}
.greeting .right-img {
  width: 12%;
}
.greeting .txt {
  width: 60%;
  padding: 0 20px;
}
.greeting .txt p + p {
  margin-top: 15px;
}
@media all and (max-width: 896px) {
  .greeting {
    margin: auto;
    width: 95%;
  }
  .greeting .left-img {
    width: 55%;
  }
  .greeting .right-img {
    width: 30%;
  }
  .greeting .txt {
    order: -1;
    width: 100%;
    padding: 0;
    margin-bottom: 30px;
    line-height: 1.6;
  }
  .greeting .txt p + p {
    margin-top: 10px;
  }
}

/* slick
----------------------------------*/
.slider-gallery {
  padding-bottom: 80px;
}
@media all and (max-width: 896px) {
  .slider-gallery {
    padding-bottom: 40px;
  }
}

.thumb-item-nav {
  display: none !important;
}

.slick-track {
  display: flex !important;
}

.slick-slide {
  height: inherit !important;
}

.slider-item {
  width: 100%;
  max-width: 700px !important;
  padding: 15px !important;
  background: #fff;
  border: 1px solid #eee;
}
@media all and (max-width: 639px) {
  .slider-item {
    padding: 15px 25px !important;
  }
}
.slider-item figure a {
  display: block;
  height: 450px;
  overflow: hidden;
}
@media all and (max-width: 639px) {
  .slider-item figure a {
    height: 240px;
  }
}
.slider-item figure a img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
}
.slider-item.slick-active {
  box-shadow: 0 0 20px -5px rgba(68, 84, 106, 0.1);
}

.slide-arrow {
  position: absolute;
  top: 50%;
  z-index: 200;
  width: 20px;
  height: 20px;
  top: 50%;
  margin-top: -10px;
  transform: rotate(45deg);
  cursor: pointer;
}
@media all and (max-width: 639px) {
  .slide-arrow {
    width: 10px;
    height: 10px;
    margin-top: -5px;
  }
}
.slide-arrow.prev-arrow {
  left: 50%;
  margin-left: -370px;
  border-bottom: solid 2px;
  border-left: solid 2px;
  border-color: #fbf2ee;
}
@media all and (max-width: 1100px) {
  .slide-arrow.prev-arrow {
    left: 10px;
    margin-left: 0;
  }
}
@media all and (max-width: 639px) {
  .slide-arrow.prev-arrow {
    border-color: #4472c4;
  }
}
.slide-arrow.next-arrow {
  right: 50%;
  margin-right: -370px;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #fbf2ee;
}
@media all and (max-width: 1100px) {
  .slide-arrow.next-arrow {
    right: 10px;
    margin-right: 0;
  }
}
@media all and (max-width: 639px) {
  .slide-arrow.next-arrow {
    border-color: #4472c4;
  }
}

.bounce-txt {
  position: relative;
  text-align: center;
}
.bounce-txt img {
  display: block;
  margin: auto;
  font-size: 1.4rem;
  color: #b4c6e7;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  animation: bounce-anm 2s ease infinite;
  width: 60px;
}
@keyframes bounce-anm {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-3px);
  }
  50% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(-3px);
  }
  80% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}

.gallerybox {
  margin: auto;
  width: 100%;
}

.slide_list,
.slide_list2 {
  position: relative;
  display: none;
  margin: 40px auto;
}
.slide_list.p_none li p,
.slide_list2.p_none li p {
  display: none;
}
.slide_list li,
.slide_list2 li {
  margin-right: 1%;
}
.slide_list li img,
.slide_list2 li img {
  width: auto;
  height: 260px;
  transition: filter 0.2s ease-in;
}
.slide_list li:hover img,
.slide_list2 li:hover img {
  filter: grayscale(0);
}
@media all and (max-width: 639px) {
  .slide_list li img,
  .slide_list2 li img {
    height: 120px;
  }
}

.top-list li {
  padding: 8px;
  font-weight: 600;
}
.top-list li:not(:last-child) {
  margin-bottom: 10px;
  border-bottom: 1px solid #44546a;
}
.top-list li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-weight: 900;
  margin-right: 5px;
  color: #d24a45;
}
.top-list.type1 li:before {
  color: #b4c6e7;
}

.name-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  flex-direction: row-reverse;
  font-weight: 600;
  margin: 10px auto 40px;
}
.name-box p {
  color: #8da9db;
}
.name-box p span {
  display: block;
  font-size: 1.3rem;
  color: #44546a;
}
@media all and (max-width: 639px) {
  .name-box p span {
    font-size: 12px;
  }
}
.name-box p:first-child {
  margin-left: 30px;
}

.about-txt {
  column-count: 2;
  column-gap: 70px;
}
@media all and (max-width: 639px) {
  .about-txt {
    column-count: inherit;
  }
}

/* top_main
----------------------------------*/
.article-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media all and (max-width: 1100px) {
  .article-box .left {
    width: 28%;
  }
}
@media all and (max-width: 1100px) {
  .article-box .right {
    width: 70%;
  }
}

.fixed-btn {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 150;
}
@media all and (max-width: 896px) {
  .fixed-btn {
    display: none !important;
  }
}
.fixed-btn a {
  text-align: center;
  padding: 10px;
  display: block;
  background: #b4c6e7;
  border-radius: 5px 0 0 5px;
  color: #fff;
  font-size: 12px;
  border: 2px solid #b4c6e7;
  box-shadow: 0 0 0 2px #fff;
}
@media all and (max-width: 1100px) {
  .fixed-btn a {
    font-size: 11px;
  }
}
.fixed-btn a i {
  display: block;
  font-size: 2rem;
  margin-bottom: 3px;
}
.fixed-btn a:hover {
  background: #fff;
  color: #b4c6e7;
}
.fixed-btn a:nth-child(even) {
  background: #4472c4;
  border: 2px solid #4472c4;
}
.fixed-btn a:nth-child(even):hover {
  background: #fff;
  color: #4472c4;
}
.fixed-btn a:not(:last-of-type) {
  margin-bottom: 10px;
}
@media all and (max-width: 896px) {
  .fixed-btn {
    display: none !important;
  }
}

.half-box {
  width: 50%;
  margin-left: auto;
  padding: 40px;
  color: #fff;
}
@media all and (max-width: 639px) {
  .half-box {
    padding: 25px 15px;
    width: 100%;
  }
}

.top-service {
  margin: 0 auto;
}
.top-service.type1 {
  margin: 40px auto;
}
.top-service .inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
}
.top-service .inner .top-service-img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 48%;
}
.top-service .inner .top-service-img .img01,
.top-service .inner .top-service-img .img02 {
  width: 48%;
}
.top-service .inner .top-service-img .img01 img,
.top-service .inner .top-service-img .img02 img {
  height: 400px;
  width: 100%;
  object-fit: cover;
}
.top-service .inner .top-service-img .img01 img + img,
.top-service .inner .top-service-img .img02 img + img {
  margin-top: 8%;
}
.top-service .inner .top-service-img .img01 div + div,
.top-service .inner .top-service-img .img02 div + div {
  margin-top: 8%;
}
.top-service .inner .top-service-img .img01 .caption,
.top-service .inner .top-service-img .img02 .caption {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.2rem;
  color: #fefefe;
  width: 95%;
  margin: auto;
  text-align: center;
  text-shadow: 1px 1px 0px #5a3a2b, -1px 1px 0px #5a3a2b, 1px -1px 0px #5a3a2b, -1px -1px 0px #5a3a2b, 1px 0px 0px #5a3a2b, 0px 1px 0px #5a3a2b, -1px 0px 0px #5a3a2b, 0px -1px 0px #5a3a2b;
  line-height: 1.2;
}
.top-service .inner .top-service-img .img02 {
  margin-top: 40px;
}
.top-service .inner .top-service-txt {
  width: 48%;
  z-index: 2;
  padding: 0 10px;
}
@media all and (max-width: 896px) {
  .top-service.type1 {
    margin: 20px auto;
  }
  .top-service .inner {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
  .top-service .inner .top-service-img {
    width: 100%;
    margin-bottom: 20px;
    order: -1;
  }
  .top-service .inner .top-service-img .img02 {
    max-width: 350px;
  }
  .top-service .inner .top-service-txt {
    width: 100%;
    margin: auto;
    padding: 0 5px;
  }
}
@media all and (max-width: 639px) {
  .top-service .inner {
    max-width: 100%;
  }
  .top-service .inner .top-service-img .img01 .caption,
  .top-service .inner .top-service-img .img02 .caption {
    bottom: 5px;
    font-size: 1rem;
  }
  .top-service .inner .top-service-img .img02 {
    margin-top: 20px;
  }
}

.top-reasons-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 100px 40px;
  margin-top: 150px;
}
.top-reasons-list > li {
  width: 30%;
  background: #fefefe;
  border-radius: 20px;
  padding: 40px;
}
.top-reasons-list > li .icon {
  margin-top: -100px;
  width: 200px;
  height: 150px;
  margin-bottom: 20px;
}
.top-reasons-list > li .icon img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.top-reasons-list > li .ttl {
  font-size: 2rem;
  color: #b4c6e7;
  text-align: center;
  margin-bottom: 10px;
}
.top-reasons-list > li .txt {
  font-family: 1.6rem;
}
@media all and (max-width: 896px) {
  .top-reasons-list {
    gap: 100px 20px;
  }
  .top-reasons-list > li {
    padding: 20px;
  }
}
@media all and (max-width: 639px) {
  .top-reasons-list {
    margin-top: 120px;
  }
  .top-reasons-list > li {
    width: 100%;
  }
  .top-reasons-list > li .txt {
    font-family: 1.4rem;
  }
  .top-reasons-list > li .ttl {
    font-size: 1.8rem;
  }
}

.top-bnr-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: calc(100% - 150px);
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  .top-bnr-list {
    max-width: calc(100% - 100px);
  }
}
@media all and (max-width: 639px) {
  .top-bnr-list {
    max-width: 95%;
  }
}
.top-bnr-list .top-bnr-wrap {
  display: block;
  height: 100%;
  position: relative;
}
.top-bnr-list .top-bnr-wrap:hover figure img {
  transform: scale(1.2);
}
.top-bnr-list .top-bnr-wrap:hover .morebtn {
  color: #fff;
  background: #e28d3c;
}
.top-bnr-list .top-bnr-title {
  position: absolute;
  left: -10px;
  top: 30px;
  z-index: 2;
}
.top-bnr-list .top-bnr-title span {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  background: #fff;
  padding: 8px;
  font-size: 1.6rem;
  color: #44546a;
  border-left: 3px solid #d24a45;
}
@media all and (max-width: 896px) {
  .top-bnr-list .top-bnr-title {
    left: -6px;
    top: 12px;
  }
  .top-bnr-list .top-bnr-title span {
    background: #fff;
    font-size: 1.3rem;
  }
  .top-bnr-list .top-bnr-title span .num {
    font-size: 1.6rem;
  }
  .top-bnr-list .top-bnr-title span i {
    font-size: 1.8rem;
  }
}
.top-bnr-list figure {
  width: 100%;
  height: 260px;
  overflow: hidden;
  border-radius: 30px 5px;
}
.top-bnr-list figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.8s ease;
}
@media all and (max-width: 896px) {
  .top-bnr-list figure {
    height: 200px;
  }
}
.top-bnr-list .top-bnr-txt {
  max-width: 92%;
  padding: 20px 20px 50px;
  background: #fff;
  position: relative;
  margin: -30px auto 0;
  color: #5a3a2b;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  letter-spacing: 0.1rem;
}
@media all and (max-width: 639px) {
  .top-bnr-list .top-bnr-txt {
    padding: 15px 15px 35px;
  }
}
.top-bnr-list .morebtn {
  text-align: center;
  width: 160px;
  background: #fff;
  border: 2px solid #e28d3c;
  color: #cd731e;
  border-radius: 40px;
  position: relative;
  z-index: 2;
  padding: 5px 0;
  margin: -20px auto 0;
  font-size: 90%;
  transition: 0.2s ease-in all;
}
.top-bnr-list .morebtn:hover {
  background: #e28d3c !important;
}
@media all and (max-width: 896px) {
  .top-bnr-list {
    grid-template-columns: 1fr;
  }
}
@media all and (max-width: 639px) {
  .top-bnr-list {
    gap: 50px 0;
    padding: 0 10px;
  }
}

.top-greet-box2 .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}
.top-greet-box2 .inner .ttl {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
}
.top-greet-box2 .inner .ttl .ja {
  display: block;
  font-size: 2.4rem;
  color: #222;
  letter-spacing: 0.2em;
  padding-right: 5px;
  line-height: 2;
}
.top-greet-box2 .inner .ttl .eng {
  display: block;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 2rem;
  color: #b4c6e7;
}
@media all and (max-width: 639px) {
  .top-greet-box2 .inner .ttl {
    writing-mode: inherit;
    position: static;
    margin-bottom: 20px;
    min-height: initial;
    min-height: auto;
  }
  .top-greet-box2 .inner .ttl .ja {
    font-size: 1.6rem;
  }
  .top-greet-box2 .inner .ttl .eng {
    font-size: 1.4rem;
  }
}
.top-greet-box2 .inner .wrapper {
  width: 74%;
}
.top-greet-box2 .inner .wrapper .img-box {
  margin-bottom: 40px;
}
.top-greet-box2 .inner .wrapper .txt {
  font-size: 1.6rem;
}
.top-greet-box2 .inner .wrapper .txt p:not(:last-child) {
  margin-bottom: 10px;
}
@media all and (max-width: 896px) {
  .top-greet-box2 .inner {
    gap: 20px;
  }
}
@media all and (max-width: 639px) {
  .top-greet-box2 .inner {
    gap: 20px;
  }
  .top-greet-box2 .inner .ttl,
  .top-greet-box2 .inner .wrapper {
    width: 100%;
  }
  .top-greet-box2 .inner .wrapper .img-box {
    height: 220px;
    margin-bottom: 20px;
  }
  .top-greet-box2 .inner .wrapper .txt {
    font-size: 1.2rem;
  }
}

.pg-link {
  display: flex;
  flex-wrap: wrap;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  margin: auto;
  gap: 10px;
}
.pg-link li:nth-child(1), .pg-link li:nth-child(2) {
  border-top: 1px solid #e7e7e7;
}
.pg-link li a {
  position: relative;
  display: block;
  border-bottom: 1px solid #e7e7e7;
  padding: 20px 15px;
  color: #5a3a2b;
  font-size: 1.6rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.15em;
  transition: all 0.3s ease;
}
.pg-link li a:after {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  color: #4472c4;
  transition: all 0.3s ease;
}
.pg-link li a:hover {
  color: #4472c4;
}
.pg-link li a:hover:after {
  right: 2.5%;
}
@media all and (max-width: 896px) {
  .pg-link li a {
    font-size: 1.4rem;
    padding: 15px 10px;
  }
}
@media all and (max-width: 639px) {
  .pg-link {
    gap: 8px;
  }
  .pg-link li a {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    padding: 10px 6px;
  }
}

.top-business-list {
  padding-bottom: 40px;
}
.top-business-list li {
  position: relative;
}
.top-business-list li:nth-child(2) {
  transform: translateY(50px);
}
@media all and (max-width: 639px) {
  .top-business-list li:nth-child(2) {
    transform: none;
  }
}
.top-business-list figure {
  box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
  margin-bottom: 20px;
}
@media all and (max-width: 639px) {
  .top-business-list {
    padding: 0 20px;
  }
}

.top-business-title {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  z-index: 2;
}
.top-business-title:before {
  position: absolute;
  content: "";
  left: 50%;
  bottom: -40px;
  width: 1px;
  height: 30px;
  background: #fff;
  z-index: 2;
}
.top-business-title .ja {
  display: block;
  font-size: 2.4rem;
  letter-spacing: 0.15em;
}
.top-business-title .eng {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 1.1em;
  color: #e8b39b;
}
@media all and (max-width: 639px) {
  .top-business-title .eng {
    font-size: 1.3rem;
  }
  .top-business-title .ja {
    font-size: 1.8rem;
  }
}

.list6 {
  display: flex;
  flex-wrap: wrap;
}
.list6 li {
  width: calc((100% - 60px) / 6);
  margin-right: 12px;
}
.list6 li:nth-child(6n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .list6 li:nth-child(6n) {
    margin-right: auto;
  }
}
@media all and (max-width: 639px) {
  .list6 {
    justify-content: space-between;
  }
  .list6 li {
    width: 48%;
    margin-right: auto;
    margin-bottom: 20px;
  }
}

.top-title01 {
  position: absolute;
  left: 0;
  top: -15px;
  padding-left: 15px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
}
@media all and (max-width: 1100px) {
  .top-title01 {
    position: relative;
    writing-mode: inherit;
    margin-bottom: 20px;
    padding-left: 0;
  }
}
.top-title01.type1 span {
  position: relative;
  z-index: 2;
  padding: 10px 5px;
  display: inline-block;
}
.top-title01.type1 span.eng {
  color: #fff;
  background: #4472c4;
}
.top-title01.type1 span.ja {
  background: #f6f1dd;
  color: #44546a;
}
.top-title01 span {
  position: relative;
  z-index: 2;
  padding: 10px 5px;
  display: inline-block;
}
.top-title01 span.eng {
  font-size: 2rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  background: #b4c6e7;
}
.top-title01 span.ja {
  background: #f6e2d9;
  color: #44546a;
  font-size: 2.4rem;
  letter-spacing: 0.3em;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin-right: 8px;
}
@media all and (max-width: 1100px) {
  .top-title01 span {
    padding: 4px 8px;
  }
  .top-title01 span.eng {
    font-size: 1.8rem;
  }
  .top-title01 span.ja {
    margin-right: 0;
    margin-top: 6px;
    font-size: 2.2rem;
  }
}
@media all and (max-width: 639px) {
  .top-title01 span {
    padding: 3px 6px;
  }
  .top-title01 span.eng {
    font-size: 1.6rem;
  }
  .top-title01 span.ja {
    font-size: 2rem;
  }
}

.top-medical-box {
  position: relative;
  max-width: 700px;
  margin: -80px 0 -80px 180px;
}
.top-medical-box.type1 {
  max-width: 1000px;
  margin: 0 auto;
  box-shadow: 4px 4px 0 #303b4b;
}
.top-medical-box.type1 .inner {
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(3px);
}
.top-medical-box.type1 .inner:before {
  display: none;
}
.top-medical-box.type1 .inner .txt {
  color: #44546a;
}
.top-medical-box.type1 .inner .txt p + p {
  margin-top: 15px;
  line-height: 2.2;
}
@media all and (max-width: 896px) {
  .top-medical-box {
    margin: -40px 0 -40px 180px;
  }
}
@media all and (max-width: 639px) {
  .top-medical-box {
    margin: 0 auto;
  }
}
.top-medical-box .inner {
  padding: 35px 30px;
  background: rgba(68, 84, 106, 0.6);
  position: relative;
  overflow: hidden;
}
.top-medical-box .inner:before {
  position: absolute;
  content: "";
  left: -8%;
  top: 0;
  width: 50%;
  height: 100%;
  background: url(../img/top-medical01.jpg) no-repeat left center/cover;
  opacity: 0.7;
  z-index: -1;
  transform: skew(6deg);
}
@media all and (max-width: 639px) {
  .top-medical-box .inner {
    padding: 20px 15px;
  }
}

.top-medical-title {
  margin-bottom: 20px;
}
.top-medical-title .eng {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #fff;
  display: block;
  font-size: 1.8rem;
}
.top-medical-title .ja {
  font-size: 2.6rem;
  color: #f6f1dd;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

.thought-txt-box {
  position: relative;
  z-index: 3;
  max-width: 600px;
}
@media all and (max-width: 1100px) {
  .thought-txt-box {
    max-width: 50%;
  }
}
@media all and (max-width: 639px) {
  .thought-txt-box {
    max-width: 90%;
    margin: 0 auto;
    padding: 200px 10px 0;
  }
}

.top-title02 {
  position: absolute;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  left: 10px;
  top: -20px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  z-index: 4;
}
.top-title02 span {
  display: block;
  padding: 8px 4px;
}
.top-title02 span.main {
  background: #fff;
  color: #44546a;
  font-size: 2.2rem;
}
@media all and (max-width: 639px) {
  .top-title02 span.main {
    font-size: 1.6rem;
  }
}
.top-title02 span.small {
  background: #4472c4;
}

.page {
  min-height: 500px;
}

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
  width: 100% !important;
}

.sns-box {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  transform: translateY(-20px);
}
.sns-box:before {
  position: absolute;
  content: "";
  left: 50%;
  top: -100px;
  width: 300px;
  height: 300px;
  background: #f6f1dd;
  margin-left: -150px;
  border-radius: 50%;
}
@media all and (max-width: 639px) {
  .sns-box:before {
    width: 200px;
    height: 200px;
    margin-left: -100px;
    top: -80px;
  }
}
.sns-box .child {
  width: 50%;
  padding: 30px;
  background: #4472c4;
  position: relative;
  z-index: 2;
}
.sns-box .child:nth-of-type(2) {
  background: #b4c6e7;
}
@media all and (max-width: 639px) {
  .sns-box .child {
    width: 100%;
    padding: 20px;
  }
}

.tel-wrap {
  padding-right: 100px;
  letter-spacing: 0;
  margin-bottom: 30px;
}

.footer-btn-reserve {
  display: block;
  position: absolute;
  right: 0;
  top: 15px;
}
.footer-btn-reserve a {
  display: block;
  width: 90px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #b4c6e7;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #fff;
  border-radius: 20px 0 20px 0;
  box-shadow: 4px 4px rgba(68, 84, 106, 0.3);
}
.footer-btn-reserve a:hover {
  background: #a1b7e1;
  border-radius: 20px;
}
.footer-btn-reserve a i {
  display: block;
  font-size: 20px;
  margin: 0 auto 5px;
}
@media all and (max-width: 639px) {
  .footer-btn-reserve a {
    width: 80px;
    height: 70px;
    font-size: 13px;
  }
}

.point-inner {
  padding: 20px;
  color: #fff;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
}

.hospitality-block {
  position: relative;
}
.hospitality-block .hospitality-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 55%;
  height: 100%;
}
.hospitality-block .hospitality-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media all and (max-width: 1100px) {
  .hospitality-block .hospitality-img {
    width: 100%;
    position: relative;
    height: auto;
  }
}
.hospitality-block .hospitality-txt {
  max-width: 48%;
  margin-left: auto;
}
.hospitality-block .hospitality-txt .inner {
  max-width: 650px;
  margin: 0 auto;
  padding: 40px;
}
@media all and (max-width: 1100px) {
  .hospitality-block .hospitality-txt {
    max-width: 100%;
    margin-top: 30px;
  }
}
@media all and (max-width: 639px) {
  .hospitality-block .hospitality-txt .inner {
    padding: 20px 15px;
  }
}

.img-100 {
  display: flex;
  flex-wrap: wrap;
}
.img-100 img {
  width: 50%;
}
@media all and (max-width: 639px) {
  .img-100 img {
    width: 100%;
  }
}

.slide-txt-box .slide-title {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  color: #44546a;
  text-align: center;
  margin-top: 10px;
}
@media all and (max-width: 896px) {
  .slide-txt-box .slide-title {
    margin-top: 5px;
    font-size: 1.4rem;
  }
}

.bg-nami {
  position: relative;
  background: #eff7ea;
  padding: 40px 0 80px;
}
.bg-nami::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 150px;
  background: url(../img/nami2.svg) no-repeat bottom/contain;
  left: 0;
  top: -1px;
  z-index: 1;
}
.bg-nami::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 150px;
  background: url(../img/nami2.svg) no-repeat bottom/contain;
  background-size: 100%;
  left: 0;
  bottom: -1px;
  z-index: 1;
  transform: scale(-1);
}
.bg-nami.chousei {
  padding-top: 80px;
}
@media all and (max-width: 896px) {
  .bg-nami::before {
    height: 90px;
  }
  .bg-nami.type2::before {
    top: 11px;
  }
}
@media all and (max-width: 639px) {
  .bg-nami::before, .bg-nami::after {
    height: 40px;
  }
}

.bg-chousei {
  padding-top: 150px !important;
}

.bg-keireki {
  position: relative;
}
.bg-keireki:before {
  position: absolute;
  content: "";
  left: 0;
  top: 30%;
  width: 100%;
  height: 80%;
  background: url(../img/washi.jpg);
  z-index: -1;
  opacity: 0.6;
}
@media all and (max-width: 639px) {
  .bg-keireki:before {
    top: 15%;
    height: 90%;
  }
}

.izou-title {
  max-width: 600px;
  width: 100%;
  margin: 50px auto;
}
.izou-title img {
  max-width: 100%;
}
@media all and (max-width: 896px) {
  .izou-title {
    max-width: 450px;
    margin: 50px 30px 50px auto;
  }
}
@media all and (max-width: 639px) {
  .izou-title {
    width: 90%;
    margin: 50px auto;
  }
}

.doctor-wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
@media all and (max-width: 896px) {
  .doctor-wrap {
    flex-direction: column;
  }
}
.doctor-wrap .doctor-img {
  width: 48%;
  padding-right: 40px;
  position: relative;
}
.doctor-wrap .doctor-img figure {
  position: relative;
  display: block;
}
.doctor-wrap .doctor-img figure img {
  box-shadow: rgba(68, 84, 106, 0.1) 4px 28px 60px 0px;
}
.doctor-wrap .doctor-img figure:before {
  position: absolute;
  content: "";
  right: -30px;
  bottom: -30px;
  width: 80%;
  height: 70%;
  z-index: -1;
  background: url(../img/washi.jpg);
}
@media all and (max-width: 896px) {
  .doctor-wrap .doctor-img {
    width: 100%;
    order: 0;
    padding-right: 30px;
    order: -1;
  }
  .doctor-wrap .doctor-img figure:before {
    right: -25px;
    bottom: -25px;
  }
}
.doctor-wrap .doctor-txt {
  width: 50%;
}
.doctor-wrap .doctor-txt .inner {
  max-width: 600px;
  margin: 0 auto;
}
.doctor-wrap .doctor-txt .inner .txt {
  color: #44546a;
}
.doctor-wrap .doctor-txt .inner .txt p {
  line-height: 2.2;
}
@media all and (max-width: 896px) {
  .doctor-wrap .doctor-txt {
    width: 100%;
  }
  .doctor-wrap .doctor-txt .inner {
    padding: 25px 10px 0;
    margin-top: 25px;
  }
  .doctor-wrap .doctor-txt .inner .txt p {
    line-height: 2;
  }
}

.document-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 3%;
}
@media all and (max-width: 639px) {
  .document-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.document-list.type1 {
  grid-template-columns: repeat(3, 1fr);
}
@media all and (max-width: 639px) {
  .document-list.type1 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.document-list.type2 > li {
  background: #fff;
}
.document-list > li {
  background: #f4f4f4;
  padding: 12px;
  border-radius: 8px;
  letter-spacing: 0;
  padding-bottom: 55px;
  position: relative;
}
.document-list > li .docu-title {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #a1b7e1;
  margin-bottom: 5px;
}
.document-list > li .docu-bnr {
  height: 75px;
  overflow: hidden;
  margin-bottom: 10px;
}
.document-list > li .docu-bnr img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.more-btn {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  text-align: center;
  display: block;
  width: 90%;
  padding: 5px 10px;
  background: #b4c6e7;
  border-radius: 40px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  color: #fff;
  font-size: 1.4rem;
}
@media all and (max-width: 639px) {
  .more-btn {
    font-size: 13px;
  }
}
.more-btn:hover {
  background: #8da9db;
}
.more-btn .pdf {
  position: relative;
}
.more-btn .pdf:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1c1";
  font-weight: 900;
  display: inline-block;
}
.more-btn .link:before {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  font-weight: 900;
}

@media all and (max-width: 896px) {
  .medical-top-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media all and (max-width: 639px) {
  .medical-top-list {
    grid-template-columns: 1fr;
  }
}
.medical-top-list > li {
  padding: 15px 15px 65px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 4px 4px rgba(68, 84, 106, 0.1);
}
.medical-top-list > li figure {
  margin-bottom: 10px;
}
.medical-top-list > li .more-btn {
  padding: 8px 0;
  width: 80%;
}

.anchor-wrap {
  text-align: center;
  margin: 0 auto 40px;
}

.anchor-list {
  text-align: center;
  padding: 15px 20px;
  display: inline-block;
  border-radius: 80px;
  background: #fff;
  border: 2px solid #fbf2ee;
  box-shadow: 5px 5px 8px rgba(180, 198, 231, 0.2);
}
.anchor-list li {
  display: inline-block;
}
.anchor-list li a {
  color: #b4c6e7;
  font-family: "Shippori Mincho", serif, "YakuHanMP", "Noto Serif JP", "游明朝 Medium", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
  font-weight: 500;
  color: #44546a;
}
.anchor-list li a:hover {
  color: #b4c6e7;
}
.anchor-list li:not(:last-of-type):after {
  margin-right: 10px;
  content: "/";
  padding-left: 10px;
}
@media all and (max-width: 639px) {
  .anchor-list li:not(:last-of-type):after {
    margin-right: 5px;
    padding-left: 6px;
  }
}

.glowAnime span {
  opacity: 0;
}

.glowAnime.glow span {
  animation: glow_anime_on 1s ease-out forwards;
}

@keyframes glow_anime_on {
  0% {
    opacity: 0;
    text-shadow: 0 0 0 #fff, 0 0 0 #fff;
  }
  50% {
    opacity: 1;
    text-shadow: 0 0 10px #fff, 0 0 15px #fff;
  }
  99% {
    opacity: 1;
    text-shadow: 0 0 0 #fff, 0 0 0 #fff;
  }
  100% {
    opacity: 1;
    text-shadow: none;
  }
}
.js-span-text.on {
  opacity: 1;
}
.js-span-text.on span {
  display: inline-block;
  opacity: 0;
}
.js-span-text.on span em {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 5rem;
}
@media all and (max-width: 896px) {
  .js-span-text.on span em {
    font-size: 4.5rem;
  }
}
@media all and (max-width: 639px) {
  .js-span-text.on span em {
    font-size: 2.3rem;
  }
}
.js-span-text.on span:nth-child(1) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.1s forwards;
}
.js-span-text.on span:nth-child(2) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.2s forwards;
}
.js-span-text.on span:nth-child(3) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.3s forwards;
}
.js-span-text.on span:nth-child(4) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.4s forwards;
}
.js-span-text.on span:nth-child(5) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.5s forwards;
}
.js-span-text.on span:nth-child(6) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.6s forwards;
}
.js-span-text.on span:nth-child(7) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.7s forwards;
}
.js-span-text.on span:nth-child(8) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.8s forwards;
}
.js-span-text.on span:nth-child(9) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 0.9s forwards;
}
.js-span-text.on span:nth-child(10) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1s forwards;
}
.js-span-text.on span:nth-child(11) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.1s forwards;
}
.js-span-text.on span:nth-child(12) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.2s forwards;
}
.js-span-text.on span:nth-child(13) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.3s forwards;
}
.js-span-text.on span:nth-child(14) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.4s forwards;
}
.js-span-text.on span:nth-child(15) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.5s forwards;
}
.js-span-text.on span:nth-child(16) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.6s forwards;
}
.js-span-text.on span:nth-child(17) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.7s forwards;
}
.js-span-text.on span:nth-child(18) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.8s forwards;
}
.js-span-text.on span:nth-child(19) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 1.9s forwards;
}
.js-span-text.on span:nth-child(20) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2s forwards;
}
.js-span-text.on span:nth-child(21) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.1s forwards;
}
.js-span-text.on span:nth-child(22) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.2s forwards;
}
.js-span-text.on span:nth-child(23) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.3s forwards;
}
.js-span-text.on span:nth-child(24) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.4s forwards;
}
.js-span-text.on span:nth-child(25) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.5s forwards;
}
.js-span-text.on span:nth-child(26) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.6s forwards;
}
.js-span-text.on span:nth-child(27) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.7s forwards;
}
.js-span-text.on span:nth-child(28) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.8s forwards;
}
.js-span-text.on span:nth-child(29) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 2.9s forwards;
}
.js-span-text.on span:nth-child(30) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3s forwards;
}
.js-span-text.on span:nth-child(31) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.1s forwards;
}
.js-span-text.on span:nth-child(32) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.2s forwards;
}
.js-span-text.on span:nth-child(33) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.3s forwards;
}
.js-span-text.on span:nth-child(34) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.4s forwards;
}
.js-span-text.on span:nth-child(35) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.5s forwards;
}
.js-span-text.on span:nth-child(36) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.6s forwards;
}
.js-span-text.on span:nth-child(37) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.7s forwards;
}
.js-span-text.on span:nth-child(38) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.8s forwards;
}
.js-span-text.on span:nth-child(39) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 3.9s forwards;
}
.js-span-text.on span:nth-child(40) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4s forwards;
}
.js-span-text.on span:nth-child(41) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.1s forwards;
}
.js-span-text.on span:nth-child(42) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.2s forwards;
}
.js-span-text.on span:nth-child(43) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.3s forwards;
}
.js-span-text.on span:nth-child(44) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.4s forwards;
}
.js-span-text.on span:nth-child(45) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.5s forwards;
}
.js-span-text.on span:nth-child(46) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.6s forwards;
}
.js-span-text.on span:nth-child(47) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.7s forwards;
}
.js-span-text.on span:nth-child(48) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.8s forwards;
}
.js-span-text.on span:nth-child(49) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 4.9s forwards;
}
.js-span-text.on span:nth-child(50) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5s forwards;
}
.js-span-text.on span:nth-child(51) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.1s forwards;
}
.js-span-text.on span:nth-child(52) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.2s forwards;
}
.js-span-text.on span:nth-child(53) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.3s forwards;
}
.js-span-text.on span:nth-child(54) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.4s forwards;
}
.js-span-text.on span:nth-child(55) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.5s forwards;
}
.js-span-text.on span:nth-child(56) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.6s forwards;
}
.js-span-text.on span:nth-child(57) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.7s forwards;
}
.js-span-text.on span:nth-child(58) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.8s forwards;
}
.js-span-text.on span:nth-child(59) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 5.9s forwards;
}
.js-span-text.on span:nth-child(60) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6s forwards;
}
.js-span-text.on span:nth-child(61) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.1s forwards;
}
.js-span-text.on span:nth-child(62) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.2s forwards;
}
.js-span-text.on span:nth-child(63) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.3s forwards;
}
.js-span-text.on span:nth-child(64) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.4s forwards;
}
.js-span-text.on span:nth-child(65) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.5s forwards;
}
.js-span-text.on span:nth-child(66) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.6s forwards;
}
.js-span-text.on span:nth-child(67) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.7s forwards;
}
.js-span-text.on span:nth-child(68) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.8s forwards;
}
.js-span-text.on span:nth-child(69) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 6.9s forwards;
}
.js-span-text.on span:nth-child(70) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7s forwards;
}
.js-span-text.on span:nth-child(71) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.1s forwards;
}
.js-span-text.on span:nth-child(72) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.2s forwards;
}
.js-span-text.on span:nth-child(73) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.3s forwards;
}
.js-span-text.on span:nth-child(74) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.4s forwards;
}
.js-span-text.on span:nth-child(75) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.5s forwards;
}
.js-span-text.on span:nth-child(76) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.6s forwards;
}
.js-span-text.on span:nth-child(77) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.7s forwards;
}
.js-span-text.on span:nth-child(78) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.8s forwards;
}
.js-span-text.on span:nth-child(79) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 7.9s forwards;
}
.js-span-text.on span:nth-child(80) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8s forwards;
}
.js-span-text.on span:nth-child(81) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.1s forwards;
}
.js-span-text.on span:nth-child(82) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.2s forwards;
}
.js-span-text.on span:nth-child(83) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.3s forwards;
}
.js-span-text.on span:nth-child(84) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.4s forwards;
}
.js-span-text.on span:nth-child(85) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.5s forwards;
}
.js-span-text.on span:nth-child(86) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.6s forwards;
}
.js-span-text.on span:nth-child(87) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.7s forwards;
}
.js-span-text.on span:nth-child(88) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.8s forwards;
}
.js-span-text.on span:nth-child(89) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 8.9s forwards;
}
.js-span-text.on span:nth-child(90) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9s forwards;
}
.js-span-text.on span:nth-child(91) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.1s forwards;
}
.js-span-text.on span:nth-child(92) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.2s forwards;
}
.js-span-text.on span:nth-child(93) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.3s forwards;
}
.js-span-text.on span:nth-child(94) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.4s forwards;
}
.js-span-text.on span:nth-child(95) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.5s forwards;
}
.js-span-text.on span:nth-child(96) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.6s forwards;
}
.js-span-text.on span:nth-child(97) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.7s forwards;
}
.js-span-text.on span:nth-child(98) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.8s forwards;
}
.js-span-text.on span:nth-child(99) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 9.9s forwards;
}
.js-span-text.on span:nth-child(100) {
  animation: text 1s cubic-bezier(0.3, 0.72, 0.56, 0.99) 10s forwards;
}
@media all and (max-width: 896px) {
  .js-span-text.on span em {
    font-size: 3.5rem;
  }
}
@media all and (max-width: 639px) {
  .js-span-text.on span em {
    font-size: 1.6rem;
  }
}

@keyframes text {
  0% {
    opacity: 0;
    transform: translateX(-20px) translateY(-10px) scale(1.3);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
spc {
  padding: 0.2em;
}

spc2 {
  padding: 0.1em;
}

/* 動き
----------------------------------*/
/*印象編　4-9、4-10　背景色が伸びて出現（左から・右から）　*/
.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  /*　はみ出た色要素を隠す　*/
  opacity: 0;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*中の要素*/
.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*印象編　4-9 背景色が伸びて出現（左から）*/
.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  background-color: #4472c4;
  /*伸びる背景色の設定*/
  background-image: linear-gradient(to right, #777, #ccc);
}

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  51% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
/*印象編　4-9 背景色が伸びて出現（右から）*/
.bgRLextend::before {
  animation-name: bgRLextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #b4c6e7;
  /*伸びる背景色の設定*/
}

@keyframes bgRLextendAnime {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }
  50% {
    transform-origin: right;
    transform: scaleX(1);
  }
  51% {
    transform-origin: left;
  }
  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger {
  opacity: 0;
}

.deco-anime {
  -webkit-animation: rotate_anime 1.5s cubic-bezier(0.87, 0.01, 0, 0.99) infinite;
  animation: rotate_anime 1.5s cubic-bezier(0.87, 0.01, 0, 0.99) infinite;
}

.deco-anime2 {
  -webkit-animation: rotate_anime2 1.5s cubic-bezier(0.87, 0.01, 0, 0.99) infinite;
  animation: rotate_anime2 1.5s cubic-bezier(0.87, 0.01, 0, 0.99) infinite;
}

@-webkit-keyframes rotate_anime {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(3deg);
  }
  85% {
    transform: rotate(3deg);
  }
  90% {
    transform: rotate(0deg);
  }
}
@keyframes rotate_anime {
  0% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(3deg);
  }
  85% {
    transform: rotate(3deg);
  }
  90% {
    transform: rotate(0deg);
  }
}
@-webkit-keyframes rotate_anime2 {
  0% {
    transform: rotate(0deg);
  }
  35% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  95% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes rotate_anime2 {
  0% {
    transform: rotate(0deg);
  }
  35% {
    transform: rotate(0deg);
  }
  40% {
    transform: rotate(-5deg);
  }
  95% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(0, -5px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -5px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}
@-moz-keyframes fuwafuwa {
  0% {
    -moz-transform: translate(0, 0);
  }
  50% {
    -moz-transform: translate(0, -5px);
  }
  100% {
    -moz-transform: translate(0, 0);
  }
}
@-ms-keyframes fuwafuwa {
  0% {
    -ms-transform: translate(0, 0);
  }
  50% {
    -ms-transform: translate(0, -10px);
  }
  100% {
    -ms-transform: translate(0, 0);
  }
}
.fuwafuwa {
  animation-name: fuwafuwa;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease;
  -webkit-animation-name: fuwafuwa;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-timing-function: ease;
  -moz-animation-name: fuwafuwa;
  -moz-animation-duration: 2s;
  -moz-animation-iteration-count: infinite;
  -moz-animation-timing-function: ease;
  -ms-animation-name: fuwafuwa;
  -ms-animation-duration: 2s;
  -ms-animation-iteration-count: infinite;
  -ms-animation-timing-function: ease;
}

.tcenter_pc {
  text-align: center;
}
@media all and (max-width: 639px) {
  .tcenter_pc {
    text-align: left;
  }
}

.blog-bnr {
  text-align: center;
  margin-top: 30px;
}
.blog-bnr a img {
  transform: scale(0.96);
  border: 1px solid #b4c6e7;
  border-radius: 5px;
  transition: all 0.3s ease;
  filter: drop-shadow(0px 0px 6px rgba(51, 51, 51, 0.2));
}
.blog-bnr a img:hover {
  transform: scale(1);
  filter: drop-shadow(0px 0px 15px rgba(51, 51, 51, 0.4));
}

.top-column2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.top-column2 .child {
  width: 42%;
  padding: 20px;
  table-layout: fixed;
  word-wrap: break-word;
}
.top-column2 .child-img {
  width: 54%;
  position: relative;
}
.top-column2.type2 {
  flex-direction: row-reverse;
}
.top-column2.type2 .child {
  width: 60%;
}
.top-column2.type2 .child-img {
  width: 35%;
}
@media all and (max-width: 639px) {
  .top-column2 {
    flex-direction: column;
  }
  .top-column2 .child {
    width: 100%;
    padding: 5px;
  }
  .top-column2 .child-img {
    width: 100%;
    order: -1;
    margin-bottom: 20px;
  }
  .top-column2.type2 {
    flex-direction: column;
  }
  .top-column2.type2 .child {
    width: 100%;
  }
  .top-column2.type2 .child-img {
    width: 80%;
  }
}

.slidein_box {
  width: 100%;
  overflow: hidden;
}

/* measures
----------------------------------*/
.point-ul {
  margin-top: 50px;
}
.point-ul li {
  width: 80%;
  margin-bottom: 50px;
}
.point-ul li:nth-child(even) {
  margin-left: auto;
}
.point-ul li img {
  display: block;
  width: 100%;
  border-radius: 10px;
}
.point-ul li .right_l {
  position: relative;
  padding-top: 25px;
}
.point-ul li .sub {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 4rem;
  line-height: 1em;
  color: #b4c6e7;
  opacity: 0.2;
  position: absolute;
  left: 0;
  top: 0;
}
.point-ul li .item_read {
  font-size: 2rem;
  color: #b4c6e7;
  font-weight: bold;
  line-height: 1.6em;
  margin-bottom: 10px;
}
.point-ul li .item_main {
  color: #44546a;
}
@media all and (max-width: 896px) {
  .point-ul li {
    width: 100%;
  }
  .point-ul li .sub {
    font-size: 3rem;
  }
  .point-ul li .item_read {
    font-size: 1.6rem;
  }
}

.name-prof {
  text-align: right;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
}
.name-prof span {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #888;
  font-size: 1.4rem;
}
@media all and (max-width: 896px) {
  .name-prof {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .name-prof span {
    display: block;
    font-size: 1.1rem;
  }
}

/* calendar */
.calendar .calendar_head {
  color: #4472c4;
  text-shadow: 1px 1px 0px #fff, -1px 1px 0px #fff, 1px -1px 0px #fff, -1px -1px 0px #fff, 1px 0px 0px #fff, 0px 1px 0px #fff, -1px 0px 0px #fff, 0px -1px 0px #fff;
  font-weight: 700;
  font-size: 1.8rem;
}
.calendar table {
  margin: 5px auto 0;
  line-height: 2.6;
  width: 100%;
}
.calendar table th {
  text-align: center;
  vertical-align: middle;
  background: #4472c4;
  color: #fff;
  padding: 5px 2px;
  font-weight: normal;
  line-height: 1.5;
  width: 14%;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 13px;
}
.calendar table td {
  color: #222;
  padding-left: 5px;
  padding-right: 5px;
  background-color: #fff;
  height: 70px;
  border-bottom: #ccc 1px solid;
  width: 14%;
  line-height: 2;
  vertical-align: top;
  font-size: 12px;
}
.calendar td.off {
  background: #e7e7e7;
}
.calendar td.sat {
  background: #f0f6f9;
}
.calendar td.sun {
  background: #f9f3f1;
}
@media all and (max-width: 896px) {
  .calendar .calendar_head {
    font-size: 1.5rem;
  }
  .calendar table th {
    font-size: 12px;
  }
  .calendar table td {
    padding-left: 3px;
    padding-right: 3px;
    font-size: 10px;
  }
}

#cal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#cal div.calendar {
  width: 100%;
}
#cal div.calendar:nth-child(1), #cal div.calendar:nth-child(2) {
  width: 49%;
  padding: 0;
}
#cal div.calendar:nth-child(1) .item, #cal div.calendar:nth-child(2) .item {
  text-align: center;
  font-size: 13px;
}
@media all and (max-width: 896px) {
  #cal div.calendar:nth-child(1), #cal div.calendar:nth-child(2) {
    flex-direction: column;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
  }
  #cal div.calendar:nth-child(1) .item, #cal div.calendar:nth-child(2) .item {
    text-align: center;
    font-size: 11px;
  }
  #cal div.calendar:nth-child(1) table td, #cal div.calendar:nth-child(2) table td {
    height: 30px;
  }
}

.arrow {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.circle3 {
  display: flex;
  flex-wrap: wrap;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3%;
  text-align: center;
  max-width: 440px;
  width: 90%;
  margin: 15px auto 0;
}
.circle3 li img {
  opacity: 0.95;
}
.circle3 li:nth-child(odd) {
  animation: FloatVertical 3s ease-in-out infinite alternate;
}
.circle3 li:nth-child(even) {
  animation: FloatVertical02 3s ease-in-out infinite alternate;
}
@media all and (max-width: 639px) {
  .circle3 {
    padding-bottom: 40px;
  }
}

@keyframes FloatVertical {
  0% {
    transform: translate3d(0, 0.7vw, 0);
  }
  50% {
    transform: translate3d(0, 0vw, 0);
  }
  100% {
    transform: translate3d(0, 0.7vw, 0);
  }
}
@keyframes FloatVertical02 {
  0% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, 0.7vw, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.top-greet-lead {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: mixed;
  text-orientation: mixed;
  -webkit-font-feature-settings: "pkna";
  font-feature-settings: "pkna";
  position: absolute;
  right: 50px;
  top: 30px;
  font-family: "Barlow Condensed", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  letter-spacing: 0.12em;
  text-transform: inherit;
  z-index: 2;
  font-size: 2.8rem;
  color: #b4c6e7;
  line-height: 1;
}
@media all and (max-width: 639px) {
  .top-greet-lead {
    left: 10px;
    top: 10px;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
  }
}

.top-greet-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
@media all and (max-width: 896px) {
  .top-greet-wrap {
    flex-direction: column;
    margin: 0;
  }
}
@media all and (max-width: 639px) {
  .top-greet-wrap {
    justify-content: center;
  }
}

.top-greet-img1 {
  width: 48%;
  position: relative;
}
.top-greet-img1 img {
  width: 100%;
}
@media all and (max-width: 896px) {
  .top-greet-img1 {
    width: 100%;
    margin-bottom: 2%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media all and (max-width: 639px) {
  .top-greet-img1 {
    margin-bottom: 3%;
    width: calc(100% - 10px);
  }
}

.top-greet-box {
  width: 50%;
  position: relative;
  z-index: 2;
}
.top-greet-box p {
  letter-spacing: 0.15em;
  line-height: 2;
}
@media all and (max-width: 896px) {
  .top-greet-box {
    width: 100%;
    margin: 0 auto;
  }
}
@media all and (max-width: 639px) {
  .top-greet-box {
    width: calc(100% - 10px);
    display: flex;
    flex-wrap: wrap;
  }
  .top-greet-box p {
    line-height: 1.8;
  }
}

.top-greet-txt {
  margin: 3% auto 0;
  order: -1;
  max-width: 710px;
  width: 98%;
}
.top-greet-txt p + p {
  margin-top: 10px;
}
@media all and (max-width: 639px) {
  .top-greet-txt {
    margin: 0 auto 3%;
  }
}

.top-greet-img-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.top-greet-img-box .img-box1 {
  width: 44%;
}
.top-greet-img-box .img-box2 {
  width: 52%;
}
@media all and (max-width: 639px) {
  .top-greet-img-box {
    align-items: center;
    order: 2;
  }
  .top-greet-img-box .img-box1 {
    width: 40%;
  }
  .top-greet-img-box .img-box2 {
    width: 54%;
  }
}

.top-greet-title {
  position: relative;
  margin-bottom: 30px;
  z-index: 3;
  line-height: 1.6;
}
.top-greet-title .eng {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 1.3rem;
  padding-left: 15px;
  color: #b4c6e7;
}
.top-greet-title .ja {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 2.4rem;
  color: #44546a;
}
.top-greet-title.type1 .eng {
  color: #4472c4;
}
@media all and (max-width: 639px) {
  .top-greet-title {
    margin-bottom: 25px;
    text-align: center;
  }
  .top-greet-title .eng {
    display: block;
    padding-left: 0;
    font-size: 1.1rem;
  }
  .top-greet-title .ja {
    font-size: 1.6rem;
  }
}

.pickup-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
}
.pickup-box .box01,
.pickup-box .box02,
.pickup-box .box03 {
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
}
.pickup-box .box01 .inner,
.pickup-box .box02 .inner,
.pickup-box .box03 .inner {
  position: relative;
  z-index: 2;
  padding: 60px 0 130px;
  max-width: 500px;
  min-height: 300px;
  margin-left: auto;
  margin-right: auto;
}
.pickup-box .box01 .inner .pickup-title,
.pickup-box .box02 .inner .pickup-title,
.pickup-box .box03 .inner .pickup-title {
  font-size: 1.8rem;
  border-bottom: 1px solid #ccc;
  color: #fff;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin-bottom: 15px;
  padding-bottom: 5px;
}
.pickup-box .box01 .inner .pickup-txt,
.pickup-box .box02 .inner .pickup-txt,
.pickup-box .box03 .inner .pickup-txt {
  line-height: 2;
  letter-spacing: 0.15em;
}
.pickup-box .box01 .inner .pickup-title,
.pickup-box .box01 .inner .pickup-txt,
.pickup-box .box02 .inner .pickup-title,
.pickup-box .box02 .inner .pickup-txt,
.pickup-box .box03 .inner .pickup-title,
.pickup-box .box03 .inner .pickup-txt {
  color: #fff;
  text-shadow: 1px 1px 1px rgba(68, 84, 106, 0.1);
}
.pickup-box .box01:before,
.pickup-box .box02:before,
.pickup-box .box03:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #222;
  opacity: 0.7;
}
.pickup-box .box01 .pickup-eng,
.pickup-box .box02 .pickup-eng,
.pickup-box .box03 .pickup-eng {
  position: absolute;
  font-size: 3.8rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  transform: translateX(-50%);
  left: 50%;
  bottom: 30px;
  color: #fff;
  opacity: 0.5;
}
.pickup-box .box01 .pickup-eng:first-letter,
.pickup-box .box02 .pickup-eng:first-letter,
.pickup-box .box03 .pickup-eng:first-letter {
  color: #bea56f;
}
.pickup-box .box01 {
  width: 50%;
  background: url(../img/box01.jpg);
  background-position: right;
}
.pickup-box .box02 {
  width: 50%;
  background: url(../img/box02.jpg);
  background-position: left;
}
.pickup-box .box03 {
  width: 100%;
  background: url(../img/box03.jpg);
  background-position: center;
}
@media all and (max-width: 896px) {
  .pickup-box {
    flex-direction: column;
  }
  .pickup-box .box01,
  .pickup-box .box02 {
    width: 100%;
  }
  .pickup-box .box01 .inner,
  .pickup-box .box02 .inner,
  .pickup-box .box03 .inner {
    padding: 30px 15px 80px;
    min-height: auto;
    max-width: 100%;
  }
  .pickup-box .box01 .inner .pickup-title,
  .pickup-box .box02 .inner .pickup-title,
  .pickup-box .box03 .inner .pickup-title {
    font-size: 1.5rem;
    text-align: center;
    border-bottom: 0px;
    line-height: 1.8;
  }
  .pickup-box .box01 .inner .pickup-txt,
  .pickup-box .box02 .inner .pickup-txt,
  .pickup-box .box03 .inner .pickup-txt {
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
  .pickup-box .box01 .pickup-eng,
  .pickup-box .box02 .pickup-eng,
  .pickup-box .box03 .pickup-eng {
    font-size: 2.6rem;
    bottom: 20px;
  }
}

.title-pickup {
  position: relative;
  height: 12rem;
  text-align: center;
  padding: 15px 0;
  color: #fff;
  margin-bottom: 35px;
}
.title-pickup .eng {
  position: absolute;
  overflow: hidden;
  font-size: 12rem;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  z-index: -1;
  line-height: 1;
  width: 100%;
  opacity: 0.2;
}
.title-pickup .ja {
  position: absolute;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-size: 2.6rem;
  width: 100%;
}
@media all and (max-width: 1367px) {
  .title-pickup {
    height: 10rem;
  }
  .title-pickup .eng {
    font-size: 10rem;
  }
}
@media all and (max-width: 1100px) {
  .title-pickup {
    height: 7rem;
    padding: 10px 0;
    margin-bottom: 30px;
  }
  .title-pickup .eng {
    font-size: 7rem;
  }
  .title-pickup .ja {
    font-size: 2rem;
  }
}
@media all and (max-width: 896px) {
  .title-pickup {
    height: 9rem;
    margin-bottom: 25px;
  }
  .title-pickup .eng {
    font-size: 9rem;
  }
  .title-pickup .eng span {
    display: none;
  }
  .title-pickup .ja {
    font-size: 1.8rem;
  }
}
@media all and (max-width: 639px) {
  .title-pickup {
    height: 6rem;
  }
  .title-pickup .eng {
    font-size: 6rem;
  }
  .title-pickup .ja {
    font-size: 1.6rem;
  }
}

.hide-area {
  display: none;
}

.modaal-close:after, .modaal-close:before {
  background: #ccc;
}
.modaal-close:focus:after, .modaal-close:focus:before {
  background: #666;
}
.modaal-close:hover:after, .modaal-close:hover:before {
  background: #666;
}

.covid-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
}
.covid-list li {
  width: 32%;
}
.covid-list li img {
  max-width: 200px;
  width: 80%;
}
.covid-list li h3 {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
}
@media all and (max-width: 896px) {
  .covid-list li {
    width: 49%;
  }
  .covid-list li h3 {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}
@media all and (max-width: 639px) {
  .covid-list li h3 {
    font-size: 1.2rem;
  }
}

@media all and (max-width: 896px) {
  .modaal-content-container {
    padding: 15px 10px !important;
  }
}

.modaal-btn {
  margin: 40px auto;
  max-width: 450px;
  width: 90%;
}
.modaal-btn a {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  display: block;
  background: #b4c6e7;
  border: 1px solid #b4c6e7;
  color: #fff;
  padding: 20px 10px;
  text-align: center;
  font-size: 2.2rem;
  transition: all 0.6s ease;
}
.modaal-btn a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0da";
  font-weight: 900;
  margin-right: 5px;
}
.modaal-btn a:hover {
  background: #fff;
  color: #b4c6e7;
}
@media all and (max-width: 896px) {
  .modaal-btn {
    margin: 20px auto;
  }
  .modaal-btn a {
    padding: 15px 5px;
    font-size: 1.5rem;
  }
}

.info-area {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.info-area:before {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background: url(../img/info-area.jpg) no-repeat center/cover;
}
.info-area .left {
  position: relative;
  padding: 70px 35px;
  width: 50%;
  align-self: center;
}
.info-area .left .inner {
  max-width: 680px;
  margin: 0 auto;
}
.info-area .left .inner p + p {
  margin-top: 15px;
}
@media all and (max-width: 896px) {
  .info-area:before {
    width: 100%;
    height: 200px;
  }
  .info-area .left {
    width: 100%;
    margin-top: 200px;
    padding: 20px 15px;
  }
  .info-area .left p + p {
    margin-bottom: 10px;
  }
}

.top-cont01 {
  position: relative;
  padding: 0 80px 40px;
  margin-bottom: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
}
.top-cont01.bm0 {
  margin-bottom: 0 !important;
}
.top-cont01.type1:before {
  left: 0;
  right: auto;
  transform: skew(20deg);
}
.top-cont01.type1 .top-cont01-img {
  clip-path: polygon(0 0, 85% 0, 100% 100%, 15% 100%);
}
.top-cont01:before {
  position: absolute;
  content: "";
  width: 12%;
  height: calc(100% - 40px);
  bottom: 0;
  right: 0;
  background: #f6f1dd;
  transform: skew(-20deg);
}
.top-cont01:after {
  content: "";
  position: absolute;
  background: #f6f1dd;
  height: calc(100% - 40px);
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0.4;
}
.top-cont01 .top-cont01-img {
  position: relative;
  width: 48%;
  clip-path: polygon(15% 0, 100% 0%, 85% 100%, 0% 100%);
}
.top-cont01 .top-cont01-txt {
  width: 48%;
  z-index: 2;
}
.top-cont01 .top-cont01-txt .top-cont01-ttl {
  text-align: center;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  margin-bottom: 25px;
  font-size: 2.6rem;
  color: #2d508f;
}
.top-cont01 .top-cont01-txt .top-cont01-ttl span {
  font-size: 2rem;
}
.top-cont01 .top-cont01-txt p + p {
  margin-top: 15px;
}
.top-cont01 .top-cont01-txt p {
  font-size: 1.6rem;
  text-align: center;
}
.top-cont01 .top-cont01-txt .inner {
  max-width: 650px;
  margin: auto;
}
@media all and (max-width: 896px) {
  .top-cont01 {
    padding: 0 10px 20px;
    margin-bottom: 20px;
  }
  .top-cont01:before {
    width: 40%;
    right: -20%;
    height: calc(100% - 40px);
  }
  .top-cont01:after {
    height: calc(100% - 40px);
  }
  .top-cont01 .top-cont01-img {
    order: -1;
    clip-path: none !important;
  }
  .top-cont01 .top-cont01-img,
  .top-cont01 .top-cont01-txt {
    width: 100%;
  }
  .top-cont01 .top-cont01-img .top-cont01-ttl,
  .top-cont01 .top-cont01-txt .top-cont01-ttl {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  .top-cont01 .top-cont01-img .top-cont01-ttl span,
  .top-cont01 .top-cont01-txt .top-cont01-ttl span {
    font-size: 1.4rem;
  }
  .top-cont01 .top-cont01-img p + p,
  .top-cont01 .top-cont01-txt p + p {
    margin-top: 10px;
  }
  .top-cont01 .top-cont01-img p,
  .top-cont01 .top-cont01-txt p {
    text-align: left;
    font-size: 1.2rem;
  }
  .top-cont01 .top-cont01-img .inner,
  .top-cont01 .top-cont01-txt .inner {
    margin: 30px auto 0;
    max-width: calc(100% - 10px);
  }
}

.top-cont02 {
  margin: 0 auto;
  max-width: 1150px;
  width: 100%;
}
.top-cont02 .inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
.top-cont02 .inner .top-cont02-img {
  width: 26%;
}
.top-cont02 .inner .top-cont02-img img {
  filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.2));
}
.top-cont02 .inner .top-cont02-img .img01 {
  z-index: 0;
  width: 90%;
}
.top-cont02 .inner .top-cont02-img .img02 {
  width: 65%;
  z-index: 1;
  margin-top: -60px;
  margin-left: auto;
}
.top-cont02 .inner .top-cont02-txt {
  width: 65%;
}
.top-cont02 .inner .top-cont02-txt p + p {
  margin-top: 10px;
}
.top-cont02.type1 {
  max-width: 1500px;
  width: 95%;
}
.top-cont02.type1 .inner .top-cont02-img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 45%;
}
.top-cont02.type1 .inner .top-cont02-img .img01,
.top-cont02.type1 .inner .top-cont02-img .img02 {
  width: 48%;
  filter: drop-shadow(16px 16px 0px #f1d2c5);
}
.top-cont02.type1 .inner .top-cont02-img .img01 img,
.top-cont02.type1 .inner .top-cont02-img .img02 img {
  width: calc(100% - 16px);
  border-radius: 100px 5px 40px 20px;
  overflow: hidden;
}
.top-cont02.type1 .inner .top-cont02-img .img02 {
  margin-top: 40px;
}
.top-cont02.type1 .inner .top-cont02-img .img02 img {
  border-radius: 5px 40px 20px 100px;
}
.top-cont02.type1 .inner .top-cont02-txt {
  width: 50%;
}
.top-cont02.type2 {
  max-width: 1500px;
  width: 95%;
}
.top-cont02.type2 .inner .top-cont02-img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 30%;
  height: 100%;
}
.top-cont02.type2 .inner .top-cont02-img .img01 {
  width: 100%;
  height: 500px;
}
.top-cont02.type2 .inner .top-cont02-img .img01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media all and (max-width: 896px) {
  .top-cont02.type2 .inner .top-cont02-img .img01 {
    height: 300px;
  }
}
@media all and (max-width: 639px) {
  .top-cont02.type2 .inner .top-cont02-img .img01 {
    height: 200px;
  }
}
@media all and (max-width: 639px) {
  .top-cont02.type2 {
    width: 100%;
  }
  .top-cont02.type2 .inner .top-cont02-txt,
  .top-cont02.type2 .inner .top-cont02-img {
    width: 100%;
  }
}
.top-cont02.type3 {
  max-width: 1500px;
  width: 98%;
}
.top-cont02.type3 .inner .top-cont02-txt {
  width: 56%;
}
.top-cont02.type3 .inner .top-cont02-img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 40%;
}
.top-cont02.type3 .inner .top-cont02-img .img01,
.top-cont02.type3 .inner .top-cont02-img .img02 {
  width: 48%;
}
.top-cont02.type3 .inner .top-cont02-img .img02 {
  margin-top: 40px;
}
@media all and (max-width: 896px) {
  .top-cont02 .inner {
    max-width: 650px;
    margin-left: auto;
    margin-right: auto;
  }
  .top-cont02 .inner .top-cont02-img {
    width: 100%;
    margin-bottom: 20px;
    order: -1;
  }
  .top-cont02 .inner .top-cont02-img .img02 {
    margin-top: -80px;
    max-width: 350px;
  }
  .top-cont02 .inner .top-cont02-txt {
    width: 100%;
    margin: auto;
  }
  .top-cont02.type1 {
    width: 100%;
  }
  .top-cont02.type1 .inner .top-cont02-img {
    width: 100%;
  }
  .top-cont02.type1 .inner .top-cont02-txt {
    width: 100%;
  }
  .top-cont02.type2 {
    width: 100%;
  }
  .top-cont02.type2 .inner .top-cont02-img {
    width: 100%;
  }
}
@media all and (max-width: 639px) {
  .top-cont02 .inner {
    max-width: calc(100% - 10px);
  }
  .top-cont02 .inner .top-cont02-img .img02 {
    margin-top: -40px;
    max-width: 300px;
  }
  .top-cont02.type1 .inner .top-cont02-img .img02 {
    margin-top: 20px;
  }
  .top-cont02.type2 .inner .top-cont02-img .img02 {
    margin-top: 20px;
  }
}

.icon {
  width: 80px;
  text-align: center;
  margin: 0 auto 5px;
}
@media all and (max-width: 896px) {
  .icon {
    width: 50px;
  }
}

.title-sen {
  display: flex;
  align-items: center;
  text-align: center;
  color: #b4c6e7;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 20px;
  font-size: 6rem;
}
.title-sen:before, .title-sen:after {
  border-top: 2px solid;
  content: "";
  flex-grow: 1;
}
.title-sen:before {
  margin-right: 0.4em;
}
.title-sen:after {
  margin-left: 0.4em;
}
.title-sen.white {
  color: #fff;
}
.title-sen.brown {
  color: #586d89;
}
.title-sen.co01 {
  color: #e24440;
}
.title-sen.co02 {
  color: #f19133;
}
.title-sen.co03 {
  color: #f4cd32;
}
.title-sen.co04 {
  color: #61b74d;
}
.title-sen.co05 {
  color: #40c4d0;
}
.title-sen.co06 {
  color: #4799d2;
}
.title-sen.co07 {
  color: #805dbf;
}
.title-sen.co08 {
  color: #ee7ea6;
}
.title-sen.type1 {
  padding-top: 80px;
}
@media all and (max-width: 1100px) {
  .title-sen {
    font-size: 4.5rem;
  }
}
@media all and (max-width: 896px) {
  .title-sen {
    font-size: 3.2rem;
  }
}
@media all and (max-width: 639px) {
  .title-sen {
    font-size: 2.6rem;
  }
  .title-sen:before, .title-sen:after {
    border-top: 1px solid;
  }
  .title-sen.type1 {
    padding-top: 40px;
  }
}

.grid-box {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #eef2fa;
  border-left: 1px solid #eef2fa;
}
.grid-box.type1 {
  border-top: 1px solid #7e9ed6;
  border-left: 1px solid #7e9ed6;
}
.grid-box.type1 .grid-child {
  border-bottom: 1px solid #7e9ed6;
  border-right: 1px solid #7e9ed6;
}
.grid-box.type1 .grid-child .grid-title {
  color: #27457b;
}
.grid-box.type1 .grid-child:nth-child(1), .grid-box.type1 .grid-child:nth-child(4n+1), .grid-box.type1 .grid-child:nth-child(4n) {
  background: rgba(246, 241, 221, 0.5);
}
@media all and (max-width: 896px) {
  .grid-box.type1 .grid-child:nth-child(even) {
    background: rgba(246, 241, 221, 0.5);
  }
}
.grid-box .grid-child {
  width: 50%;
  background: #fff;
  letter-spacing: 0;
  line-height: 2;
  border-bottom: 1px solid #eef2fa;
  border-right: 1px solid #eef2fa;
  padding: 30px;
}
.grid-box .grid-child .grid-title {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  color: #678bce;
  margin-bottom: 15px;
}
.grid-box .grid-child .grid-title span {
  font-size: 2.6rem;
  margin-right: 10px;
}
.grid-box .grid-child:nth-child(1), .grid-box .grid-child:nth-child(4n+1), .grid-box .grid-child:nth-child(4n) {
  background: rgba(251, 242, 238, 0.5);
}
@media all and (max-width: 896px) {
  .grid-box .grid-child {
    padding: 20px;
    width: 100%;
  }
  .grid-box .grid-child .grid-title {
    font-size: 1.3rem;
  }
  .grid-box .grid-child .grid-title span {
    margin-right: 5px;
    font-size: 2rem;
    letter-spacing: 0.1em;
  }
  .grid-box .grid-child:nth-child(1), .grid-box .grid-child:nth-child(4n+1), .grid-box .grid-child:nth-child(4n) {
    background: #fff !important;
  }
  .grid-box .grid-child:nth-child(even) {
    background: rgba(251, 242, 238, 0.5);
  }
}

.point-title {
  display: flex;
  flex-wrap: wrap;
  align-items: ceneter;
  margin-bottom: 20px;
}
.point-title .num {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  letter-spacing: 0.05em;
  font-size: 3.6rem;
  color: #4472c4;
  line-height: 1;
  position: relative;
}
.point-title .num:before {
  position: absolute;
  content: "";
  left: 50%;
  top: -30px;
  width: 1px;
  height: 25px;
  background: #4472c4;
}
@media all and (max-width: 896px) {
  .point-title .num {
    font-size: 2.8rem;
  }
}
.point-title .txt {
  flex: 1;
  line-height: 1.3;
  margin-left: 20px;
  font-size: 1.8rem;
  color: #44546a;
}
@media all and (max-width: 896px) {
  .point-title .txt {
    font-size: 1.4rem;
  }
}

.chosei {
  margin-bottom: 80px;
}
@media all and (max-width: 896px) {
  .chosei {
    margin-bottom: 40px;
  }
}

.chosei2 {
  margin-bottom: 40px;
}
@media all and (max-width: 896px) {
  .chosei2 {
    margin-bottom: 30px;
  }
}

.top-contents {
  margin: auto;
  width: 98%;
}
.top-contents > li {
  position: relative;
  color: #222;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.top-contents > li .bg-photo {
  width: 48%;
  z-index: 1;
}
.top-contents > li .bg-photo img {
  border-radius: 5px;
}
.top-contents > li .bg-photo.r-box {
  margin-left: auto;
}
.top-contents > li .txtbox {
  position: absolute;
  width: 50%;
  box-sizing: border-box;
  padding: 50px 0px;
  border-radius: 5px;
  z-index: 5;
}
.top-contents > li .txtbox.r-box {
  right: 0;
}
.top-contents > li .txtbox.l-box {
  padding-right: 90px;
}
.top-contents > li:not(:last-of-type) {
  margin-bottom: 100px;
}

.list-concern-box {
  padding: 40px 20px 20px;
  border-radius: 10px;
  background: #fff;
}
.list-concern-box .list-concern {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list-concern-box .list-concern li {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  position: relative;
  width: 48%;
  padding: 15px 15px 15px 50px;
  font-size: 2rem;
  margin-bottom: 10px;
  border-bottom: 2px solid #ccbf94;
}
.list-concern-box .list-concern li::before {
  position: absolute;
  content: "";
  transform: translateY(-50%);
  left: 4px;
  top: 50%;
  height: 35px;
  width: 35px;
  background: url(../img/check.png) no-repeat center/contain;
}
@media all and (max-width: 639px) {
  .list-concern-box {
    padding: 25px 15px 15px;
    border-radius: 5px;
  }
  .list-concern-box .list-concern li {
    padding: 10px 10px 10px 40px;
    font-size: 1.3rem;
    width: 96%;
    margin: 0 auto 5px;
  }
  .list-concern-box .list-concern li::before {
    height: 25px;
    width: 25px;
  }
  .list-concern-box .list-concern li:last-child {
    margin: 0 auto;
  }
}

.img-fill {
  position: relative;
}
.img-fill img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.img-fill:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to right, #44546a, transparent);
  opacity: 0.2;
  z-index: 1;
}

.title-bg {
  position: relative;
}
.title-bg span {
  position: absolute;
  top: 2%;
  left: 2%;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 12rem;
  color: #fbf2ee;
}
@media all and (max-width: 1100px) {
  .title-bg span {
    font-size: 10rem;
  }
}
@media all and (max-width: 896px) {
  .title-bg span {
    font-size: 6rem;
    letter-spacing: 0.05em;
  }
}
@media all and (max-width: 639px) {
  .title-bg span {
    font-size: 4.5rem;
  }
}
.title-bg.sbc span {
  color: rgba(68, 114, 196, 0.1);
}
.title-bg.gray span {
  color: #e2e2e2;
}
.title-bg.white span {
  color: #fff;
}
.title-bg.center span {
  transform: translateX(-50%);
  left: 50%;
}
.title-bg.right span {
  left: auto;
  right: 2%;
}
.title-bg.bottom span {
  top: auto;
  bottom: 2%;
  left: 2%;
}

.print-img {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 auto 15px;
  max-width: 600px;
  width: 95%;
}
.print-img li {
  width: 29.333%;
  margin: 0 2%;
}

.institution {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.institution .child {
  position: relative;
  width: 24%;
  margin: 0.5%;
  background: #f8dae4;
  padding: 15px;
}
.institution .child.type1 {
  background: #faf7d0;
}
.institution .child.type1 .btn li {
  background: #f4cd32;
}
.institution .child.type2 {
  background: #ddefd0;
}
.institution .child.type2 .btn li {
  background: #61b74d;
}
.institution .child.type3 {
  background: #d6ebfc;
}
.institution .child.type3 .btn li {
  background: #4799d2;
}
.institution .child .inner {
  position: relative;
  background: #fefefe;
  padding: 20px 10px;
  margin-bottom: 10px;
}
.institution .child .inner h3 {
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  text-align: center;
  margin-bottom: 15px;
  color: #44546a;
  font-size: 1.4rem;
}
.institution .child .inner h3 span {
  font-size: 1.8rem;
}
.institution .child .inner table {
  width: 100%;
  border-top: 1px solid #ccc;
}
.institution .child .inner table th,
.institution .child .inner table td {
  font-size: 1.3rem;
  padding: 10px 5px;
  border-bottom: 1px solid #ccc;
  vertical-align: middle;
  font-weight: 500;
}
.institution .child .btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.institution .child .btn li {
  margin: 0 5px;
  background: #ee7ea6;
  border-radius: 100%;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.institution .child .btn li:hover {
  box-shadow: 0px 8px 15px -5px rgba(68, 84, 106, 0.3);
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}
@media all and (max-width: 1100px) {
  .institution .child {
    width: 48%;
    margin: 1%;
  }
}
@media all and (max-width: 639px) {
  .institution {
    flex-direction: column;
  }
  .institution .child {
    width: 100%;
    margin: 0 auto 10px;
  }
  .institution .child:last-child {
    margin-bottom: 0;
  }
  .institution .child .inner h3 {
    font-size: 1.2rem;
  }
  .institution .child .inner h3 span {
    font-size: 1.6rem;
  }
  .institution .child .inner table th,
  .institution .child .inner table td {
    font-size: 1.1rem;
  }
}

.ttl01 {
  margin-bottom: 35px;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 2.6rem;
  color: #44546a;
}
.ttl01 span:nth-child(1), .ttl01 span:nth-child(9), .ttl01 span:nth-child(17) {
  color: #e24440;
}
.ttl01 span:nth-child(2), .ttl01 span:nth-child(10), .ttl01 span:nth-child(18) {
  color: #f19133;
}
.ttl01 span:nth-child(3), .ttl01 span:nth-child(11), .ttl01 span:nth-child(19) {
  color: #f4cd32;
}
.ttl01 span:nth-child(4), .ttl01 span:nth-child(12), .ttl01 span:nth-child(20) {
  color: #61b74d;
}
.ttl01 span:nth-child(5), .ttl01 span:nth-child(13), .ttl01 span:nth-child(21) {
  color: #40c4d0;
}
.ttl01 span:nth-child(6), .ttl01 span:nth-child(14), .ttl01 span:nth-child(22) {
  color: #4799d2;
}
.ttl01 span:nth-child(7), .ttl01 span:nth-child(15), .ttl01 span:nth-child(23) {
  color: #805dbf;
}
.ttl01 span:nth-child(8), .ttl01 span:nth-child(16), .ttl01 span:nth-child(24) {
  color: #ee7ea6;
}
.ttl01 ja {
  display: block;
  color: #44546a;
}
.ttl01 .eng {
  font-size: 8rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  opacity: 0.8;
  line-height: 1.2;
}
@media all and (max-width: 1100px) {
  .ttl01 {
    font-size: 2.2rem;
  }
  .ttl01 .eng {
    font-size: 6rem;
  }
}
@media all and (max-width: 639px) {
  .ttl01 {
    margin-bottom: 30px;
    font-size: 1.6rem;
  }
  .ttl01 .eng {
    font-size: 4rem;
  }
}

.timeline {
  width: 100%;
}
.timeline > li {
  position: relative;
  line-height: 1.5;
}
.timeline > li .inner {
  width: calc(100% - 30px);
  margin-left: auto;
}
.timeline > li .inner .title {
  font-size: 1.6rem;
  font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  display: table;
  border: 1px solid #ee7ea6;
  color: #eb6796;
  padding: 5px 10px;
}
.timeline > li .inner p {
  margin-top: 8px;
}
.timeline > li:not(:first-child) .inner {
  padding-top: 15px;
}
.timeline > li:not(:last-child) .inner {
  padding-bottom: 15px;
  border-bottom: 1px dashed #ddd;
}
.timeline > li:before {
  position: absolute;
  content: "";
  background: #ddd;
  width: 1px;
  height: 100%;
  top: 0;
  left: 8px;
}
.timeline > li:after {
  position: absolute;
  content: "";
  background: #ee7ea6;
  width: 9px;
  height: 9px;
  transform: translateY(-50%);
  top: 50%;
  left: 4px;
  border-radius: 100%;
}
@media all and (max-width: 639px) {
  .timeline > li .inner {
    width: calc(100% - 25px);
  }
  .timeline > li .inner .title {
    font-size: 1.3rem;
    padding: 3px 8px;
    margin-bottom: 5px;
  }
  .timeline > li:not(:first-child) .inner {
    padding-top: 10px;
  }
  .timeline > li:not(:last-child) .inner {
    padding-bottom: 10px;
  }
  .timeline > li:before {
    left: 6px;
  }
  .timeline > li:after {
    width: 7px;
    height: 7px;
    left: 3px;
  }
}
.timeline.type1 > li .inner .title {
  border: 1px solid #f4cd32;
  color: #e7bb0c;
}
.timeline.type1 > li:after {
  background: #f4cd32;
}
.timeline.type2 > li .inner .title {
  border: 1px solid #61b74d;
  color: #4d953c;
}
.timeline.type2 > li:after {
  background: #61b74d;
}
.timeline.type3 > li .inner .title {
  border: 1px solid #4799d2;
  color: #2d80b9;
}
.timeline.type3 > li:after {
  background: #4799d2;
}

.daily-dl {
  position: relative;
}
.daily-dl .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
  position: relative;
}
.daily-dl .inner:before {
  position: absolute;
  content: "";
  height: 125%;
  width: 8px;
  top: 25px;
  left: 30px;
  background: #4472c4;
}
.daily-dl .inner.none:before {
  display: none;
}
@media all and (max-width: 639px) {
  .daily-dl .inner {
    width: 100%;
    margin: 0 auto 20px;
  }
  .daily-dl .inner:before {
    width: 8px;
    height: 130%;
    left: 30px;
    top: 15px;
  }
}
.daily-dl .inner dt {
  position: relative;
  width: 70px;
  height: 70px;
  line-height: 70px;
  background: #4472c4;
  border-radius: 50%;
  color: #44546a;
  text-align: center;
  font-size: 1.4rem;
  z-index: 4;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.daily-dl .inner dt.line2 {
  line-height: 1.2;
  padding-top: 18px;
}
@media all and (max-width: 639px) {
  .daily-dl .inner dt {
    font-size: 1.2rem;
  }
}
.daily-dl .inner dd {
  flex: 1;
  position: relative;
  background: #fff;
  left: -10px;
  margin-top: 10px;
  padding: 15px 10px 15px 25px;
  z-index: 2;
  border-radius: 3px;
}
@media all and (max-width: 639px) {
  .daily-dl .inner dd {
    margin-top: 10px;
  }
}

.feature {
  display: flex;
  flex-wrap: wrap;
}
.feature .feature-list {
  margin-top: 40px;
  width: calc((100% - 40px) / 3);
  margin-right: 20px;
  text-align: center;
}
.feature .feature-list:nth-child(3n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .feature .feature-list {
    width: 100%;
  }
  .feature .feature-list:nth-child(2n) {
    margin-right: 0;
  }
}
.feature .feature-list .f-img {
  width: 200px;
  height: 200px;
  margin: 0 auto;
  border-radius: 50%;
  padding: 30px;
}
.feature .feature-list .f-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media all and (max-width: 639px) {
  .feature .feature-list .f-img {
    width: 150px;
    height: 150px;
  }
}
.feature .feature-list .feature-num {
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
  margin-bottom: -20px;
  color: #ffdb4f;
}
.feature .feature-list .feature-num span {
  display: block;
  line-height: 1;
  font-size: 5rem;
  color: #ffdb4f;
}
.feature .feature-list .feature_txt {
  text-align: center;
  font-size: 1.4em;
}
.feature .feature-list .f-content {
  font-size: 1.4rem;
}
@media all and (max-width: 639px) {
  .feature .feature-list .f-content {
    font-size: 1rem;
  }
}
.feature.col4 .feature-list {
  margin-top: 40px;
  width: calc((100% - 60px) / 4);
  margin-right: 20px;
  text-align: center;
}
.feature.col4 .feature-list:nth-child(4n) {
  margin-right: 0;
}
@media all and (max-width: 639px) {
  .feature.col4 .feature-list {
    width: calc((100% - 20px) / 2);
  }
  .feature.col4 .feature-list:nth-child(2n) {
    margin-right: 0;
  }
}

.sec2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
@media all and (max-width: 896px) {
  .sec2 {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.sec2-txt-box {
  width: 500px;
  align-self: center;
  letter-spacing: 0.1em;
  position: relative;
}
@media all and (max-width: 896px) {
  .sec2-txt-box {
    margin: 30px auto;
  }
}
@media all and (max-width: 639px) {
  .sec2-txt-box {
    width: 90%;
  }
}

.sec2-img-box {
  width: calc((100% - 600px) / 2);
  column-gap: 50px;
  row-gap: 50px;
}
@media all and (max-width: 1367px) {
  .sec2-img-box {
    width: calc((100% - 400px) / 2);
    column-gap: 30px;
    row-gap: 30px;
  }
}
@media all and (max-width: 896px) {
  .sec2-img-box {
    width: 80%;
  }
}
@media all and (max-width: 639px) {
  .sec2-img-box {
    width: 100%;
  }
}
.sec2-img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
  opacity: 0.7;
}
.sec2-img-box.img-1, .sec2-img-box.img-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  object-fit: cover;
}
@media all and (max-width: 639px) {
  .sec2-img-box.img-1, .sec2-img-box.img-2 {
    /*display: none;*/
  }
}

.sp-sec2 {
  display: none;
}
@media all and (max-width: 639px) {
  .sp-sec2 {
    display: block;
    position: relative;
    height: 50px;
    margin-bottom: -40px;
    width: 100%;
  }
  .sp-sec2 .trigger1 {
    content: "";
    position: absolute;
    width: 47%;
    height: 100%;
    left: 0;
    top: 0;
    transition: transform 1s ease-in;
  }
  .sp-sec2 .trigger1 img {
    margin-bottom: 30px;
  }
  .sp-sec2 .trigger1.is-on {
    transform: translateX(-700px);
  }
  .sp-sec2 .trigger2 {
    content: "";
    position: absolute;
    width: 47%;
    height: 100%;
    right: 0;
    top: 0;
    transition: transform 1s ease-in;
  }
  .sp-sec2 .trigger2 img {
    margin-bottom: 30px;
  }
  .sp-sec2 .trigger2.is-on {
    transform: translateX(700px);
  }
}

.floating-wrap .floating {
  position: fixed;
  z-index: 999;
  right: 0;
  width: 100px;
  padding: 10px 10px 10px 20px;
  background-color: #4472c4;
  border-radius: 50px 0 0 50px;
}
.floating-wrap .floating:nth-child(1) {
  top: 10%;
}
.floating-wrap .floating:nth-child(2) {
  top: 18%;
  background-color: #e24440;
}
.floating-wrap .floating:nth-child(2) a {
  color: #fff;
}
.floating-wrap .floating:nth-child(3) {
  top: 26%;
  background-color: #4799d2;
}
.floating-wrap .floating:nth-child(3) a {
  color: #fff;
}
.floating-wrap .floating:nth-child(4) {
  top: 40%;
  background-color: #e24440;
}
.floating-wrap .floating span {
  display: block;
}
.floating-wrap .floating a {
  display: block;
  color: #44546a;
  margin-left: 10px;
  text-align: center;
  color: #44546a;
  font-weight: 1400;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.floating-wrap .floating a img {
  width: 100%;
}
.floating-wrap .floating a span {
  font-size: 1rem;
}
@media all and (max-width: 896px) {
  .floating-wrap .floating {
    display: none;
  }
}

/* flow
----------------------------------*/
.flow {
  padding-left: 120px;
  position: relative;
}
.flow::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #fff;
  margin-left: -12px;
  display: block;
  position: absolute;
  top: 0;
  left: 150px;
}
.flow > li {
  position: relative;
}
.flow > li:not(:last-child) {
  margin-bottom: 5vh;
}
.flow > li .flow-icon {
  display: block;
  position: absolute;
  top: 0;
  left: -110px;
  z-index: 2;
  width: 110px;
  font-size: 1.4rem;
  font-weight: 600;
  padding: 8px 16px;
  background-color: #b4c6e7;
  color: #fff;
}
.flow > li .flow-icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #b4c6e7;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.flow > li .flow_content {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-left: 90px;
}
.flow > li .flow_content::before, .flow > li .flow_content::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}
.flow > li .flow_content::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #b4c6e7;
  border-radius: 50%;
  left: 22px;
}
.flow > li .flow_content::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 30px;
}
.flow > li .flow_content .step_image {
  width: 32%;
  height: 280px;
}
.flow > li .flow_content .step_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.flow > li .flow_content dl {
  width: 64%;
}
.flow > li .flow_content dt {
  font-size: 1.8rem;
  font-weight: 600;
  color: #b4c6e7;
  margin-bottom: 1vh;
}
@media all and (max-width: 639px) {
  .flow > li .flow_content {
    padding-left: 48px;
  }
  .flow > li .flow_content .step_image,
  .flow > li .flow_content dl {
    width: 100%;
  }
  .flow > li .flow_content .step_image {
    margin-bottom: 16px;
    width: 100%;
    height: 160px;
  }
  .flow > li .flow_content dt,
  .flow > li .flow_content dd {
    width: 100%;
  }
  .flow > li .flow_content dt {
    margin-bottom: 16px;
    font-size: 1.6rem;
  }
}

.top-trouble {
  width: 70%;
  margin: 0 auto;
}
.top-trouble .top-trouble-wrap {
  margin-right: auto;
  position: relative;
  z-index: 2;
}
.top-trouble .woman {
  position: relative;
}
.top-trouble .woman img {
  position: absolute;
  bottom: -100px;
  right: -10%;
  z-index: 3;
  width: 25%;
}
@media all and (max-width: 639px) {
  .top-trouble {
    width: 100%;
  }
  .top-trouble .woman {
    position: relative;
  }
  .top-trouble .woman img {
    position: absolute;
    bottom: -100px;
    right: 0;
    z-index: 3;
    width: 50%;
  }
}
.top-trouble .top-trouble-fukidashi {
  display: flex;
  flex-wrap: wrap;
}
.top-trouble .top-trouble-fukidashi li {
  width: calc((100% - 10px) / 2);
  margin-right: 10px;
}
.top-trouble .top-trouble-fukidashi li:nth-child(2n) {
  margin-right: 0;
}

.mtitle_f {
  position: relative;
  text-align: center;
  color: #44546a;
  width: 250px;
  background: #fff;
  font-weight: normal;
  line-height: 1;
  margin: 20px 0px 15px 0px;
  padding: 40px 10px 50px 10px;
  border-radius: 30px;
  line-height: 1.5;
  letter-spacing: 2px;
  filter: drop-shadow(10px 10px 10px rgba(0, 0, 0, 0.1));
}
.mtitle_f:after, .mtitle_f:before {
  content: "";
  position: absolute;
  top: 100%;
  height: 0;
  width: 0;
}
.mtitle_f:after {
  right: 33px;
  border: 8px solid transparent;
  border-top: 11px solid #fff;
}
.mtitle_f:before {
  left: 30px;
  border: 11px solid transparent;
}

.list_box {
  display: flex;
  flex-wrap: wrap;
  margin: 40px 0;
}
.list_box li,
.list_box .child {
  background: rgba(180, 198, 231, 0.3);
  padding: 10px 20px;
  box-shadow: 10px 10px 10px rgba(68, 84, 106, 0.1);
}
.list_box.col2 {
  justify-content: space-between;
}
.list_box.col2 li,
.list_box.col2 .child {
  width: 48%;
}
@media all and (max-width: 639px) {
  .list_box.col2 li,
  .list_box.col2 .child {
    width: 100%;
    margin-top: 2rem;
  }
}

.facility {
  display: flex;
  flex-wrap: wrap;
}
.facility .child {
  width: calc((100% - 30px) / 4);
  margin-right: 10px;
}
.facility .child:nth-child(4n) {
  margin-right: 0;
}
.facility figure {
  max-width: 280px;
  height: 210px;
  margin: 0 auto;
}
.facility figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.facility .facility-title {
  font-size: 1.7rem;
  color: #b4c6e7;
  font-weight: 700;
  text-align: center;
}
@media all and (max-width: 896px) {
  .facility .child {
    margin-top: 30px;
    width: 48%;
  }
  .facility .child:nth-child(2n) {
    margin-right: 0;
  }
  .facility figure {
    height: 100px;
  }
  .facility .facility-title {
    font-size: 1rem;
  }
}

.contact_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.contact_list .child {
  color: #fff;
  background-color: #b4c6e7;
  width: 48%;
  text-align: center;
  padding: 1rem;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
}
@media all and (max-width: 639px) {
  .contact_list .child {
    width: 100%;
  }
}
.contact_list .child.tel, .contact_list .child.mail, .contact_list .child.fax {
  color: #fff;
  font-size: 2rem;
}
@media all and (max-width: 639px) {
  .contact_list .child.tel, .contact_list .child.mail, .contact_list .child.fax {
    font-size: 1rem;
  }
}
.contact_list .child.tel a, .contact_list .child.mail a, .contact_list .child.fax a {
  color: #fff;
}
.contact_list .child:nth-child(2n) {
  margin-right: 0;
}
.contact_list .child.tel {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.contact_list.type1 .child {
  background: #4472c4;
  color: #44546a;
  font-size: 1.8rem;
}
.contact_list.type1 .child a {
  color: #44546a;
}

.mail:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
  margin-right: 5px;
}

.tel {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.tel:before {
  font-family: "Font Awesome 5 Free";
  content: "\f879";
  font-weight: 900;
  margin-right: 5px;
}

.fax {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.fax:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1ac";
  font-weight: 900;
  margin-right: 5px;
}

.marker {
  background: linear-gradient(transparent 60%, rgba(255, 219, 79, 0.7) 60%);
  font-weight: bold;
}

.morebtn {
  text-align: center;
  max-width: 220px;
  color: #fefefe;
  font-weight: 600;
  padding: 8px 10px;
  background: #b4c6e7;
  transition: all 0.2s ease-in;
  margin: 20px auto -30px;
  border-radius: 30px;
  border: 3px solid #b4c6e7;
}
.morebtn:hover {
  color: #e28d3c;
  background-color: #fff;
  border: 3px solid #e28d3c;
}

#fixed-btn a {
  display: none;
}
@media all and (max-width: 896px) {
  #fixed-btn {
    position: fixed;
    z-index: 200;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  #fixed-btn ul {
    display: flex;
    width: 100%;
    justify-content: space-around;
  }
  #fixed-btn li {
    width: 33%;
    margin-bottom: 5px;
    background: #a1b7e1;
  }
  #fixed-btn a {
    position: relative;
    display: block;
    color: #fff;
    font-size: 1.2rem;
    font-family: "YakuHanJP", "Lato", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    letter-spacing: 0.2em;
    line-height: 1.2;
    padding: 10px 5px;
    text-align: center;
  }
  #fixed-btn a i {
    margin-right: 5px;
    display: block;
  }
  #fixed-btn a:nth-child(even) {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  #fixed-btn a:nth-child(even):hover {
    background: #555;
  }
  #fixed-btn a:hover {
    background: #555;
  }
}

.jc-between {
  justify-content: space-between;
}

/* greet_block
----------------------------------*/
.greet_block {
  position: relative;
  margin-bottom: 10%;
}
.greet_block:last-child {
  margin-bottom: 3%;
}

.greet_img {
  overflow: hidden;
  position: absolute;
  top: -10%;
  width: 60%;
  height: 120%;
  border-radius: 8px;
}
.greet_img img {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: middle;
}
@media all and (max-width: 639px) {
  .greet_img {
    width: 112%;
  }
}

.greet_txt {
  position: relative;
  z-index: 3;
  width: 50%;
  max-width: 770px;
  padding: 56px;
  margin-left: auto;
  background-color: #fff;
  border-radius: 1em;
}

.greet_title {
  margin-bottom: 24px;
  color: #b4c6e7;
  font-size: 2.4rem;
  font-weight: 600;
}

.type_b .greet_img {
  right: 0;
}
.type_b .greet_txt {
  margin-right: 0;
  margin-left: 0;
}

@media all and (max-width: 896px) {
  /* greet_block */
  .greet_txt {
    width: 90%;
    margin-right: 0;
    padding: 30px;
  }
  .type_b .greet_txt {
    margin-left: 0;
  }
}
.about-cont {
  color: #222;
  max-width: 800px;
  margin-inline: auto;
}

.doctor-wrap {
  position: relative;
}
.doctor-wrap .img-doctor {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 230px;
}
.doctor-wrap .img-doctor img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.doctor-wrap .txt-doctor {
  width: 75%;
  margin-left: auto;
}
@media all and (max-width: 639px) {
  .doctor-wrap .img-doctor {
    width: 100px;
    bottom: 30%;
  }
  .doctor-wrap .txt-doctor {
    width: 70%;
  }
}

.num-box {
  display: flex;
  flex-wrap: wrap;
  margin-top: 60px;
}
.num-box .child {
  width: calc((100% - 10px) / 2);
  margin-right: 10px;
  background: #f6f1dd;
  padding: 1em;
  position: relative;
  color: #222;
}
.num-box .child:nth-child(2n) {
  margin-right: 0;
}
.num-box .child .title {
  font-size: 2rem;
  font-weight: 700;
}
.num-box .child .num {
  position: absolute;
  top: -1em;
  left: 10px;
  font-size: 3em;
  color: #fff;
  font-weight: 700;
}
@media all and (max-width: 639px) {
  .num-box {
    display: block;
  }
  .num-box .child {
    width: 100%;
  }
  .num-box .child:nth-child(2n) {
    margin-top: 30px;
  }
  .num-box .child .title {
    font-size: 1.6rem;
  }
}

.info-wrap {
  display: flex;
  flex-wrap: wrap;
}
.info-wrap li {
  width: calc((100% - 40px) / 3);
  margin-right: 20px;
  padding: 0.5em 2em;
}
.info-wrap li:nth-child(3n) {
  margin-right: 0;
}
.info-wrap li:nth-child(n+4) {
  margin-top: 20px;
}
@media all and (max-width: 639px) {
  .info-wrap li {
    width: 100%;
    margin-right: 0;
    margin-top: 20px;
  }
}

.btn-info {
  border: 3px solid #b4c6e7;
  background-color: #b4c6e7;
  color: #fff;
  text-align: center;
}
.btn-info a {
  color: #fff;
  text-align: center;
  display: block;
  font-weight: 700;
}
.btn-info:hover {
  background: transparent;
  color: #b4c6e7;
  background: #fff;
}
.btn-info:hover a {
  color: #b4c6e7;
}

.tel-btn {
  display: block;
  background-color: #4472c4;
  border-radius: 50px;
  color: #fff;
  font-weight: 700;
  padding: 1rem;
  text-align: center;
}
.tel-btn span {
  margin-left: 1rem;
}
.tel-btn:hover {
  background-color: #4472c4;
}
.tel-btn.mini {
  max-width: 300px;
  margin: 0 auto;
}
.tel-btn.type1 {
  background-color: #4472c4;
}

.bg-map {
  position: relative;
}
.bg-map:after {
  content: "";
  background: url(../img/map.svg) no-repeat;
  width: 350px;
  height: 300px;
  background-size: contain;
  position: absolute;
  top: 3%;
  right: 5%;
  filter: drop-shadow(5px 5px 5px white);
  z-index: -1;
}
@media all and (max-width: 896px) {
  .bg-map:after {
    width: 250px;
    height: 200px;
  }
}
@media all and (max-width: 639px) {
  .bg-map:after {
    width: 180px;
    height: 170px;
    top: 0%;
  }
}

.bg-member {
  border-top: 2px solid #e1b83a;
  background: url(../img/3.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
  padding: 50px 0 1px;
}

.contact-wrap {
  background: rgba(255, 255, 255, 0.9);
  padding: 25px 35px;
}
@media all and (max-width: 639px) {
  .contact-wrap {
    padding: 25px 15px;
  }
}
.contact-wrap .child {
  width: 98%;
}
@media all and (max-width: 639px) {
  .contact-wrap .child {
    width: 100%;
  }
}

.anno {
  font-size: 1.4rem;
}

/*----------------------------------
boxdeko
----------------------------------*/
.boxdeko {
  background-color: rgba(68, 114, 196, 0.1);
  padding: 20px 35px;
}
@media all and (max-width: 896px) {
  .boxdeko {
    padding: 20px;
  }
  .boxdeko.sp-b-20 {
    margin-bottom: 20px;
  }
}
.boxdeko.type2 {
  padding: 20px 25px;
}
@media all and (max-width: 896px) {
  .boxdeko.type2 {
    padding: 10px;
  }
}
.boxdeko .banner {
  display: block;
  margin: 20px auto 0;
  text-align: center;
}
.boxdeko .banner:hover {
  opacity: 0.7;
}
.boxdeko.gray {
  background-color: #f4f4f4;
}

.form-pattern-1 dl dt:not(.pattern-exclusion) span.required::before {
  content: "必須";
  color: #fff;
  background: #b4c6e7 !important;
}

.form-pattern-2 .form-thanks-msg {
  box-shadow: 0 0 0 6px #b4c6e7 !important;
}
.form-pattern-2 .form-thanks-msg .back-home-btn a {
  color: #44546a !important;
  border: 2px solid #44546a !important;
}
.form-pattern-2 .form-thanks-msg .back-home-btn a:hover {
  background: #b4c6e7 !important;
}

/*----------------------------------
contact-form
----------------------------------*/
.form-contents {
  width: 100% !important;
  height: auto !important;
  padding: 35px 30px !important;
  border-radius: 15px 15px 0 0 !important;
}
@media all and (max-width: 1100px) {
  .form-contents {
    padding: 15px !important;
  }
}
.form-contents button {
  border: 1px solid #4472c4 !important;
}
.form-contents .required::before {
  background: #b4c6e7 !important;
  padding: 5px 10px !important;
}
.form-contents .textarea {
  background-color: #f0f0f0 !important;
  border: none !important;
  padding: 20px 15px !important;
}
.form-contents input[type=text],
.form-contents textarea {
  font-size: 16px;
}
.form-contents input[type=radio] {
  margin: 0.5em 0.2em 0.5em 0.5em !important;
}
.form-contents .submit-btn {
  background-color: #4472c4 !important;
  border: none !important;
  color: #fefefe !important;
}
.form-contents .submit-btn:hover {
  color: #4472c4 !important;
  background-color: #fefefe !important;
  border: 1px solid #4472c4 !important;
}
.form-contents .submit-btn:hover:before {
  background-color: #4472c4 !important;
}
.form-contents .custom-area p {
  padding: 10px 0;
}

@media all and (max-width: 639px) {
  .form-contents {
    padding: 0 10px !important;
  }
  .form-contents dl {
    margin: 10px 0 !important;
  }
  .form-contents dl dt {
    float: none !important;
    padding-top: 15px !important;
  }
  .form-contents dl dd {
    padding-left: 0 !important;
    padding-bottom: 15px !important;
    padding-top: 10px !important;
    line-height: 20px !important;
  }
  .form-contents .submit-btn {
    width: 250px !important;
  }
}/*# sourceMappingURL=basis.css.map */