@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@100;200;300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Special+Gothic+Expanded+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");

@media screen and (min-width:835px) {
	.mbpc-0 {
		margin-bottom: 0 !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-0 {
		margin-bottom: 0 !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-1 {
		margin-bottom: 1px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-1 {
		margin-bottom: 1px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-2 {
		margin-bottom: 2px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-2 {
		margin-bottom: 2px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-3 {
		margin-bottom: 3px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-3 {
		margin-bottom: 3px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-4 {
		margin-bottom: 4px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-4 {
		margin-bottom: 4px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-5 {
		margin-bottom: 5px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-5 {
		margin-bottom: 5px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-6 {
		margin-bottom: 6px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-6 {
		margin-bottom: 6px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-7 {
		margin-bottom: 7px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-7 {
		margin-bottom: 7px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-8 {
		margin-bottom: 8px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-8 {
		margin-bottom: 8px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-9 {
		margin-bottom: 9px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-9 {
		margin-bottom: 9px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-10 {
		margin-bottom: 10px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-10 {
		margin-bottom: 10px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-11 {
		margin-bottom: 11px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-11 {
		margin-bottom: 11px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-12 {
		margin-bottom: 12px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-12 {
		margin-bottom: 12px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-13 {
		margin-bottom: 13px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-13 {
		margin-bottom: 13px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-14 {
		margin-bottom: 14px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-14 {
		margin-bottom: 14px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-15 {
		margin-bottom: 15px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-15 {
		margin-bottom: 15px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-16 {
		margin-bottom: 16px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-16 {
		margin-bottom: 16px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-17 {
		margin-bottom: 17px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-17 {
		margin-bottom: 17px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-18 {
		margin-bottom: 18px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-18 {
		margin-bottom: 18px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-19 {
		margin-bottom: 19px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-19 {
		margin-bottom: 19px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-20 {
		margin-bottom: 20px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-20 {
		margin-bottom: 20px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-21 {
		margin-bottom: 21px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-21 {
		margin-bottom: 21px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-22 {
		margin-bottom: 22px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-22 {
		margin-bottom: 22px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-23 {
		margin-bottom: 23px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-23 {
		margin-bottom: 23px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-24 {
		margin-bottom: 24px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-24 {
		margin-bottom: 24px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-25 {
		margin-bottom: 25px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-25 {
		margin-bottom: 25px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-26 {
		margin-bottom: 26px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-26 {
		margin-bottom: 26px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-27 {
		margin-bottom: 27px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-27 {
		margin-bottom: 27px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-28 {
		margin-bottom: 28px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-28 {
		margin-bottom: 28px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-29 {
		margin-bottom: 29px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-29 {
		margin-bottom: 29px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-30 {
		margin-bottom: 30px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-30 {
		margin-bottom: 30px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-31 {
		margin-bottom: 31px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-31 {
		margin-bottom: 31px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-32 {
		margin-bottom: 32px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-32 {
		margin-bottom: 32px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-33 {
		margin-bottom: 33px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-33 {
		margin-bottom: 33px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-34 {
		margin-bottom: 34px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-34 {
		margin-bottom: 34px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-35 {
		margin-bottom: 35px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-35 {
		margin-bottom: 35px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-36 {
		margin-bottom: 36px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-36 {
		margin-bottom: 36px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-37 {
		margin-bottom: 37px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-37 {
		margin-bottom: 37px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-38 {
		margin-bottom: 38px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-38 {
		margin-bottom: 38px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-39 {
		margin-bottom: 39px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-39 {
		margin-bottom: 39px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-40 {
		margin-bottom: 40px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-40 {
		margin-bottom: 40px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-41 {
		margin-bottom: 41px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-41 {
		margin-bottom: 41px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-42 {
		margin-bottom: 42px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-42 {
		margin-bottom: 42px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-43 {
		margin-bottom: 43px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-43 {
		margin-bottom: 43px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-44 {
		margin-bottom: 44px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-44 {
		margin-bottom: 44px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-45 {
		margin-bottom: 45px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-45 {
		margin-bottom: 45px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-46 {
		margin-bottom: 46px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-46 {
		margin-bottom: 46px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-47 {
		margin-bottom: 47px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-47 {
		margin-bottom: 47px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-48 {
		margin-bottom: 48px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-48 {
		margin-bottom: 48px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-49 {
		margin-bottom: 49px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-49 {
		margin-bottom: 49px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-50 {
		margin-bottom: 50px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-50 {
		margin-bottom: 50px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-51 {
		margin-bottom: 51px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-51 {
		margin-bottom: 51px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-52 {
		margin-bottom: 52px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-52 {
		margin-bottom: 52px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-53 {
		margin-bottom: 53px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-53 {
		margin-bottom: 53px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-54 {
		margin-bottom: 54px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-54 {
		margin-bottom: 54px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-55 {
		margin-bottom: 55px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-55 {
		margin-bottom: 55px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-56 {
		margin-bottom: 56px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-56 {
		margin-bottom: 56px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-57 {
		margin-bottom: 57px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-57 {
		margin-bottom: 57px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-58 {
		margin-bottom: 58px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-58 {
		margin-bottom: 58px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-59 {
		margin-bottom: 59px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-59 {
		margin-bottom: 59px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-60 {
		margin-bottom: 60px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-60 {
		margin-bottom: 60px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-61 {
		margin-bottom: 61px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-61 {
		margin-bottom: 61px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-62 {
		margin-bottom: 62px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-62 {
		margin-bottom: 62px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-63 {
		margin-bottom: 63px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-63 {
		margin-bottom: 63px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-64 {
		margin-bottom: 64px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-64 {
		margin-bottom: 64px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-65 {
		margin-bottom: 65px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-65 {
		margin-bottom: 65px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-66 {
		margin-bottom: 66px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-66 {
		margin-bottom: 66px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-67 {
		margin-bottom: 67px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-67 {
		margin-bottom: 67px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-68 {
		margin-bottom: 68px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-68 {
		margin-bottom: 68px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-69 {
		margin-bottom: 69px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-69 {
		margin-bottom: 69px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-70 {
		margin-bottom: 70px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-70 {
		margin-bottom: 70px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-71 {
		margin-bottom: 71px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-71 {
		margin-bottom: 71px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-72 {
		margin-bottom: 72px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-72 {
		margin-bottom: 72px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-73 {
		margin-bottom: 73px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-73 {
		margin-bottom: 73px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-74 {
		margin-bottom: 74px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-74 {
		margin-bottom: 74px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-75 {
		margin-bottom: 75px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-75 {
		margin-bottom: 75px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-76 {
		margin-bottom: 76px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-76 {
		margin-bottom: 76px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-77 {
		margin-bottom: 77px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-77 {
		margin-bottom: 77px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-78 {
		margin-bottom: 78px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-78 {
		margin-bottom: 78px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-79 {
		margin-bottom: 79px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-79 {
		margin-bottom: 79px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-80 {
		margin-bottom: 80px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-80 {
		margin-bottom: 80px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-81 {
		margin-bottom: 81px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-81 {
		margin-bottom: 81px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-82 {
		margin-bottom: 82px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-82 {
		margin-bottom: 82px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-83 {
		margin-bottom: 83px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-83 {
		margin-bottom: 83px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-84 {
		margin-bottom: 84px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-84 {
		margin-bottom: 84px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-85 {
		margin-bottom: 85px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-85 {
		margin-bottom: 85px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-86 {
		margin-bottom: 86px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-86 {
		margin-bottom: 86px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-87 {
		margin-bottom: 87px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-87 {
		margin-bottom: 87px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-88 {
		margin-bottom: 88px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-88 {
		margin-bottom: 88px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-89 {
		margin-bottom: 89px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-89 {
		margin-bottom: 89px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-90 {
		margin-bottom: 90px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-90 {
		margin-bottom: 90px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-91 {
		margin-bottom: 91px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-91 {
		margin-bottom: 91px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-92 {
		margin-bottom: 92px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-92 {
		margin-bottom: 92px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-93 {
		margin-bottom: 93px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-93 {
		margin-bottom: 93px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-94 {
		margin-bottom: 94px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-94 {
		margin-bottom: 94px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-95 {
		margin-bottom: 95px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-95 {
		margin-bottom: 95px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-96 {
		margin-bottom: 96px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-96 {
		margin-bottom: 96px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-97 {
		margin-bottom: 97px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-97 {
		margin-bottom: 97px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-98 {
		margin-bottom: 98px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-98 {
		margin-bottom: 98px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-99 {
		margin-bottom: 99px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-99 {
		margin-bottom: 99px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-100 {
		margin-bottom: 100px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-100 {
		margin-bottom: 100px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-101 {
		margin-bottom: 101px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-101 {
		margin-bottom: 101px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-102 {
		margin-bottom: 102px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-102 {
		margin-bottom: 102px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-103 {
		margin-bottom: 103px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-103 {
		margin-bottom: 103px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-104 {
		margin-bottom: 104px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-104 {
		margin-bottom: 104px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-105 {
		margin-bottom: 105px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-105 {
		margin-bottom: 105px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-106 {
		margin-bottom: 106px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-106 {
		margin-bottom: 106px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-107 {
		margin-bottom: 107px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-107 {
		margin-bottom: 107px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-108 {
		margin-bottom: 108px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-108 {
		margin-bottom: 108px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-109 {
		margin-bottom: 109px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-109 {
		margin-bottom: 109px !important
	}
}

@media screen and (min-width:835px) {
	.mbpc-110 {
		margin-bottom: 110px !important
	}
}

@media screen and (max-width:834px) {
	.mbsp-110 {
		margin-bottom: 110px !important
	}
}

.mb0 {
	margin-bottom: 0 !important
}

html {
	font-size: 10px;
	overflow-x: hidden;
	overflow-y: scroll;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
	margin: 0;
	padding: 0
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

fieldset,
img {
	border: 0
}

img {
	height: auto;
	max-width: 100%;
	vertical-align: middle
}

address,
caption,
cite,
code,
dfn,
var {
	font-style: normal;
	font-weight: 400
}

li {
	list-style: none
}

caption,
th {
	text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: 400
}

q:after,
q:before {
	content: ""
}

abbr,
acronym {
	border: 0;
	font-variant: normal
}

sup {
	vertical-align: text-top
}

sub {
	vertical-align: text-bottom
}

button,
input,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	outline: none
}

input,
select,
textarea {
	*font-size: 100%
}

legend {
	color: #000
}

del,
ins {
	text-decoration: none
}

main {
	display: block
}

body,
section {
	position: relative
}

body {
	color: #000;
	font-family: Shippori Mincho B1, serif;
	font-size: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.4
}

@media screen and (max-width:1024px) {
	body {
		overflow-x: hidden
	}
}

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all .3s ease;
	transition: all .3s ease
}

@media (any-hover:hover) {
	a:hover {
		opacity: .7
	}
}

@media (-ms-high-contrast:active),
(-ms-high-contrast:none) {
	a {
		display: inline-block
	}
}

@media screen and (min-width:835px) {
	a[href^=tel] {
		pointer-events: none
	}
}

@media screen and (max-width:834px) {
	a {
		-webkit-tap-highlight-color: transparent
	}
}

.clearfix {
	*zoom: 1
}

.clearfix:after,
.clearfix:before {
	content: "";
	display: table
}

.clearfix:after {
	clear: both
}

@media screen and (min-width:1025px) {
	.wrapper {
		padding-left: 94px
	}
}

@media screen and (max-width:1024px) {
	.wrapper {
		padding-top: 85px
	}
}

.inner {
	display: block;
	margin: 0 auto;
	max-width: 1075px;
	padding: 0 37.5px
}

@media screen and (min-width:1271px) {
	.inner {
		max-width: min(1200px, 78.6969vw)
	}
}

@media screen and (max-width:359px) {
	.inner {
		padding: 0 20px
	}
}

.inner--780 {
	max-width: 855px
}

@media screen and (min-width:1271px) {
	.inner--780 {
		max-width: min(1024px, 62.59vw)
	}
}

.inner--1160 {
	max-width: 1235px
}

.mv-page {
	position: relative
}

.mv-page__img img {
	min-height: 380px;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

@media screen and (max-width:834px) {
	.mv-page__img img {
		min-height: 220px
	}
}

.mv-page__img--full img {
	max-height: 100vh
}

.mv-page__ttl {
	color: #fff;
	display: block;
	line-height: 1.2;
	padding: 0 5.7%;
	position: absolute;
	top: 54%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}

@media screen and (max-width:834px) {
	.mv-page__ttl {
		padding: 0 30px
	}
}

@media screen and (max-width:359px) {
	.mv-page__ttl {
		padding: 0 20px
	}
}

.mv-page__ttl span {
	display: block
}

.mv-page__ttl .c-ft--en {
	font-size: min(4.47vw, 85.834px);
	font-weight: 500;
	letter-spacing: 4px
}

@media screen and (max-width:834px) {
	.mv-page__ttl .c-ft--en {
		font-size: 3.6rem;
		letter-spacing: 2px
	}
}

.mv-page__ttl .c-ft--jp {
	font-size: min(1.68vw, 32.256px);
	letter-spacing: 3.5px;
	padding: 0 0 0 8px
}

@media screen and (max-width:834px) {
	.mv-page__ttl .c-ft--jp {
		font-size: 2rem;
		letter-spacing: 2px;
		padding: 0
	}
}

.breadcrumb {
	font-size: 1.4rem;
	line-height: 1.3;
	padding: 16px 0
}

.breadcrumb .inner {
	max-width: 100%;
	padding: 0 30px
}

.breadcrumb .inner>span {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: end;
	-webkit-box-pack: end;
	justify-content: flex-end;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.breadcrumb .inner>span span:first-child a {
	color: #44b3e1
}

.breadcrumb .inner a {
	display: block;
	font-weight: 600;
	margin: 0 7px 0 0;
	padding: 0 13px 0 0;
	position: relative
}

.breadcrumb .inner a:after {
	content: "/ ";
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}

.links {
	color: #000;
	display: inline-block;
	font-size: 1.7rem;
	letter-spacing: 2px;
	line-height: 1.3;
	padding: 0 0 0 27px;
	position: relative
}

@media screen and (max-width:834px) {
	.links {
		font-size: 1.6rem
	}
}

.links:before {
	background: url(../img/common/links.svg) no-repeat;
	background-size: 100%;
	content: "";
	height: 18px;
	left: 0;
	position: absolute;
	top: 0;
	width: 18px
}

.box-faq {
	background: #000;
	border-radius: 20px;
	color: #fff;
	padding: 49px 53px 49px 57px
}

@media screen and (max-width:834px) {
	.box-faq {
		padding: 20px
	}
}

@media screen and (min-width:1271px) {
	.box-faq {
		margin: 0 -81px
	}
}

@media screen and (min-width:641px) {
	.box-faq {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		-ms-flex-align: center;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
}

.box-faq__ttl {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	gap: 21px
}

@media screen and (max-width:640px) {
	.box-faq__ttl {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-bottom: 10px
	}
}

.box-faq__ttl .c-ft--gothic {
	font-size: 4.4rem;
	letter-spacing: .02em
}

.box-faq__ttl .c-ft--ibm {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .04em
}

@media screen and (min-width:641px) {
	.box-faq .c-btn__01 {
		margin: 0
	}
}

.c-fc--ff {
	color: #fff
}

.c-ft--jp {
	font-family: Shippori Mincho B1, serif
}

.c-ft--en {
	font-family: Exo\ 2, sans-serif
}

.c-ft--ibm {
	font-family: IBM Plex Sans JP, sans-serif
}

.c-ft--gothic {
	font-family: Special Gothic Expanded One, sans-serif
}

.c-fw--lt {
	font-weight: 300 !important
}

.c-fw--rg {
	font-weight: 400 !important
}

.c-fw--md {
	font-weight: 500 !important
}

.c-fw--sbd {
	font-weight: 600 !important
}

.c-fw--bd {
	font-weight: 700 !important
}

.c-fw--bk {
	font-weight: 900 !important
}

.c-tx--v {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl
}

@media screen and (min-width:835px) {
	.c-tx--v-pc {
		-ms-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl
	}
}

.c-al--c {
	text-align: center !important
}

.c-al--r {
	text-align: right !important
}

.c-al--l {
	text-align: left !important
}

.c-val--md {
	vertical-align: middle
}

.c-val--top {
	vertical-align: top
}

.c-txt__01 {
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 2.1176470588
}

@media screen and (max-width:834px) {
	.c-txt__01 {
		font-size: 16.5px;
		font-size: 1.65rem;
		line-height: 1.9090909091
	}
}

.c-txt__02 {
	font-size: 15px;
	font-size: 1.5rem;
	letter-spacing: .1em;
	line-height: 1.5333333333
}

.c-ttl__01 {
	margin-bottom: 44px
}

@media screen and (max-width:640px) {
	.c-ttl__01 {
		margin-bottom: 21px;
		text-align: center
	}
}

.c-ttl__01 .c-ft--en {
	display: block;
	font-size: 4.4rem;
	font-weight: 500;
	letter-spacing: .03em;
	margin-bottom: -6px
}

@media screen and (max-width:834px) {
	.c-ttl__01 .c-ft--en {
		font-size: 3.35rem
	}
}

@media screen and (max-width:640px) {
	.c-ttl__01 .c-ft--en {
		margin-bottom: 11px
	}
}

.c-ttl__01 .c-ft--jp {
	display: block;
	font-size: 1.5rem;
	letter-spacing: .12em;
	position: relative
}

@media screen and (max-width:834px) {
	.c-ttl__01 .c-ft--jp {
		font-size: 1.2rem
	}
}

@media screen and (min-width:641px) {
	.c-ttl__01 .c-ft--jp {
		padding-left: 72px
	}
}

@media screen and (min-width:641px) and (max-width:834px) {
	.c-ttl__01 .c-ft--jp {
		padding-left: 40px
	}
}

.c-ttl__01 .c-ft--jp:before {
	background: #44b3e1;
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 9px;
	width: 60px
}

@media screen and (max-width:834px) {
	.c-ttl__01 .c-ft--jp:before {
		height: 2px;
		width: 36px
	}
}

@media screen and (max-width:640px) {
	.c-ttl__01 .c-ft--jp:before {
		left: 50%;
		top: -12px;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%)
	}
}

.c-ttl__01--white {
	color: #fff
}

.c-ttl__01--white .c-ft--jp:before {
	background: #fff
}

.c-ttl__01--line .c-ft--en {
	letter-spacing: .05em;
	margin-bottom: 3px
}

.c-ttl__01--line .c-ft--jp {
	letter-spacing: 0;
	padding-left: 0;
	padding-top: 14px
}

.c-ttl__01--line .c-ft--jp:before {
	height: 1px;
	top: 0;
	width: 100%
}

.c-ttl__01--line02 {
	text-align: center
}

.c-ttl__01--line02 .c-ft--en {
	letter-spacing: .08em;
	margin-bottom: 0
}

@media screen and (max-width:834px) {
	.c-ttl__01--line02 .c-ft--en {
		letter-spacing: .01em;
		margin-bottom: 0
	}
}

.c-ttl__01--line02 .c-ft--jp {
	letter-spacing: .3em;
	padding-left: 0;
	padding-top: 17px
}

.c-ttl__01--line02 .c-ft--jp:before {
	height: 4px;
	left: 50%;
	top: 0;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 60px
}

.c-ttl__02 {
	font-size: clamp(2.4rem, 1.795rem + 1.615vw, 4rem);
	letter-spacing: .1em;
	line-height: 1.625;
	margin-bottom: 38px
}

@media screen and (max-width:834px) {
	.c-ttl__02 {
		letter-spacing: .05em;
		margin-bottom: 25px
	}
}

.c-ttl__03 {
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 3.816rem;
	font-weight: 500;
	letter-spacing: .08em;
	margin-bottom: 26px;
	text-align: center
}

@media screen and (max-width:834px) {
	.c-ttl__03 {
		font-size: 2.1rem
	}
}

.c-btn__01 {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	position: relative;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	background: #44b3e1;
	border: 1px solid #44b3e1;
	border-radius: 50px;
	color: #fff;
	cursor: pointer;
	font-size: 1.8rem;
	font-weight: 500;
	height: 54px;
	letter-spacing: .08em;
	margin: 0 auto;
	max-width: 244px;
	outline: none;
	padding: 10px 30px 12px 35px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	width: 100%
}

@media screen and (max-width:640px) {
	.c-btn__01 {
		font-size: 1.85rem;
		height: 56px;
		max-width: 256px
	}
}

@media (any-hover:hover) {
	.c-btn__01:hover {
		opacity: .7
	}
}

.c-btn__01:after {
	border: solid #fff;
	border-width: 1px 1px 0 0;
	content: "";
	height: 5px;
	position: absolute;
	right: 22px;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 5px
}

.c-btn__01--white {
	background: #fff;
	border-color: #fff;
	color: #000
}

.c-btn__01--white:after {
	border-color: #000
}

.c-btn__01--nobg {
	background: transparent;
	color: #fff
}

.c-btn__01--nobg,
.c-btn__01--nobg:after {
	border-color: #fff
}

.c-btn__01--prev {
	background: #e7e8e8;
	border: 1px solid #e7e8e8;
	color: #000
}

.c-btn__01--prev:after {
	border: solid #000;
	border-width: 1px 1px 0 0;
	left: 22px;
	right: auto;
	top: 53%;
	-webkit-transform: translateY(-50%) rotate(225deg);
	-ms-transform: translateY(-50%) rotate(225deg);
	transform: translateY(-50%) rotate(225deg)
}

.c-btn__01 .wpcf7-previous,
.c-btn__01 .wpcf7-submit {
	background: none;
	border: 0;
	border-radius: 50px;
	color: #fff;
	cursor: pointer;
	display: block;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%
}

.c-btn__01 .wpcf7-previous {
	color: #000
}

.js-scrollin {
	opacity: 0;
	-webkit-transform: translateY(70px);
	-ms-transform: translateY(70px);
	transform: translateY(70px)
}

.js-scrollin.active {
	opacity: 1;
	-webkit-transform: translate(0);
	-ms-transform: translate(0);
	transform: translate(0);
	-webkit-transition: .7s cubic-bezier(.25, .46, .45, .94);
	transition: .7s cubic-bezier(.25, .46, .45, .94)
}

@media screen and (max-width:834px) {
	.pc {
		display: none !important
	}
}

@media screen and (max-width:1024px) {
	.pc-tb {
		display: none !important
	}
}

@media screen and (max-width:1270px) {
	.pc-xl {
		display: none !important
	}
}

@media screen and (max-width:990px) {
	.pc-lg {
		display: none !important
	}
}

@media screen and (max-width:640px) {
	.pc-sm {
		display: none !important
	}
}

@media screen and (max-width:359px) {
	.pc-xs {
		display: none !important
	}
}

@media screen and (min-width:835px) {
	.sp {
		display: none !important
	}
}

@media screen and (min-width:1025px) {
	.sp-tb {
		display: none !important
	}
}

@media screen and (min-width:991px) {
	.sp-lg {
		display: none !important
	}
}

@media screen and (min-width:641px) {
	.sp-sm {
		display: none !important
	}
}

.u-pull--left {
	margin-left: calc(-50vw - -50%)
}

.u-pull--right {
	margin-right: calc(-50vw - -50%)
}

.u-img-of {
	font-family: "object-fit: cover; object-position: center", sans-serif;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	width: 100%
}

.c-scroll-box {
	overflow-x: scroll;
	overflow-y: hidden;
	padding-bottom: 20px
}

.c-scroll-box-y {
	overflow-x: hidden;
	overflow-y: scroll;
	padding-bottom: 20px
}

@media screen and (max-width:834px) {
	.c-scroll-box-sp {
		overflow-x: scroll;
		overflow-y: hidden;
		padding-bottom: 20px
	}
}

#header {
	background: #fff;
	left: 0;
	padding: 29px 21px 14px;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999
}

@media screen and (min-width:1025px) {
	#header {
		height: 104px;
		max-width: 94px
	}
}

#header .header-logo {
	display: block;
	max-width: 207px
}

@media screen and (min-width:1025px) {
	#header .header-logo {
		display: none
	}
}

#header .header-nav {
	background: #fff;
	height: calc(100vh - 85px);
	left: 0;
	opacity: 0;
	overflow-y: auto;
	padding: 30px 40px;
	pointer-events: none;
	position: absolute;
	top: 85px;
	-webkit-transition: .8s ease;
	transition: .8s ease;
	width: 100%;
	z-index: 1
}

@media screen and (min-width:1025px) {
	#header .header-nav {
		height: 100vh;
		left: -280px;
		padding: 84px 40px;
		top: 0;
		width: 280px
	}
}

#header .header-nav.active {
	opacity: 1;
	pointer-events: auto
}

@media screen and (min-width:1025px) {
	#header .header-nav.active {
		left: 0
	}
}

#header .header-nav__logo {
	display: block;
	margin-bottom: 57px;
	max-width: 200px
}

@media screen and (max-width:1024px) {
	#header .header-nav__logo {
		display: none
	}
}

#header .header-nav__menu-item:not(:last-child) {
	margin-bottom: 23px
}

#header .header-nav__menu-item>a {
	border-bottom: 1px solid #bbbcbc;
	display: block;
	font-size: 1.6rem;
	letter-spacing: .2em;
	padding: 4px 0
}

@media screen and (min-width:835px) and (any-hover:hover) {
	#header .header-nav__menu-item:hover .header-nav__sub {
		height: -webkit-max-content;
		height: -moz-max-content;
		height: max-content;
		opacity: 1;
		padding-top: 20px;
		-webkit-transition: all .2s ease-in;
		transition: all .2s ease-in;
		visibility: visible
	}
}

@media screen and (min-width:835px) {
	#header .header-nav__menu-item .header-nav__sub {
		height: 0;
		opacity: 0;
		overflow: hidden;
		padding: 0 0 0 40px;
		-webkit-transition: all .2s ease-in;
		transition: all .2s ease-in;
		visibility: hidden
	}
}

#header .header-nav__sub {
	padding: 22px 0 0 40px
}

#header .header-nav__sub-item:not(:last-child) {
	margin-bottom: 23px
}

#header .header-nav__sub-item>a {
	border-bottom: 1px solid #bbbcbc;
	display: block;
	font-size: 1.6rem;
	letter-spacing: .2em;
	padding: 4px 0
}

#header .header-nav__info {
	bottom: 0;
	color: grey;
	font-size: 1.5rem;
	left: 0;
	letter-spacing: .15em;
	padding: 0 40px 37px;
	position: absolute;
	width: 100%
}

#header .header-nav__close {
	cursor: pointer;
	display: block;
	height: 40px;
	position: absolute;
	right: 10px;
	top: 10px;
	width: 40px
}

@media screen and (max-width:1024px) {
	#header .header-nav__close {
		display: none
	}
}

#header .header-nav__close span:after,
#header .header-nav__close span:before {
	background: #000;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	-webkit-transition: .3s ease;
	transition: .3s ease;
	width: 100%
}

#header .header-nav__close span:before {
	top: 20px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg)
}

#header .header-nav__close span:after {
	bottom: 20px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg)
}

#header .js-mobile {
	cursor: pointer;
	height: 19px;
	position: absolute;
	right: 25px;
	top: 45px;
	width: 44px
}

@media screen and (max-width:1024px) {
	#header .js-mobile {
		height: 34px;
		right: 20px;
		top: 33px;
		width: 40px
	}
}

#header .js-mobile span {
	top: 9px
}

#header .js-mobile span,
#header .js-mobile span:after,
#header .js-mobile span:before {
	background: #000;
	height: 1px;
	left: 0;
	position: absolute;
	-webkit-transition: .3s ease;
	transition: .3s ease;
	width: 100%
}

#header .js-mobile span:after,
#header .js-mobile span:before {
	content: ""
}

#header .js-mobile span:before {
	top: -9px
}

@media screen and (max-width:1024px) {
	#header .js-mobile span:before {
		top: -8px
	}
}

#header .js-mobile span:after {
	bottom: -9px
}

@media screen and (max-width:1024px) {
	#header .js-mobile span:after {
		bottom: -8px
	}
}

#header .js-mobile.js-mobile--close span {
	background: transparent
}

#header .js-mobile.js-mobile--close span:before {
	top: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg)
}

#header .js-mobile.js-mobile--close span:after {
	bottom: 0;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg)
}

#header.header-top .header-nav__close {
	display: none
}

@media screen and (min-width:1025px) {
	#header.header-top {
		height: 100vh
	}

	#header.header-top .header-nav {
		left: 0;
		opacity: 1;
		pointer-events: auto
	}
}

.js-locked {
	overflow: hidden;
	-ms-touch-action: none;
	touch-action: none
}

.js-locked body {
	-webkit-overflow-scrolling: auto
}

#footer {
	background: #000;
	color: #fff
}

#footer .inner {
	max-width: 1275px
}

#footer .footer-contact {
	margin-bottom: 60px;
	max-width: 1080px;
	padding: 50px 0 55px;
	position: relative;
	z-index: 1
}

@media screen and (min-width:835px) {
	#footer .footer-contact {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		-ms-flex-align: center;
		-webkit-box-align: center;
		align-items: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: 0 auto 84px;
		padding: 86px 0 90px
	}
}

#footer .footer-contact:before {
	background: #44b3e1;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100vw;
	z-index: -1
}

@media screen and (min-width:835px) {
	#footer .footer-contact .c-ttl__01 {
		margin: 0 0 0 20px;
		width: 200px
	}
}

#footer .footer-contact__ct {
	font-size: 16.5px;
	font-size: 1.65rem;
	line-height: 1.9090909091
}

@media screen and (min-width:835px) {
	#footer .footer-contact__ct {
		font-size: 15px;
		font-size: 1.5rem;
		line-height: 2.1333333333;
		max-width: 523px;
		width: calc(100% - 250px)
	}
}

#footer .footer-contact__ct .c-btn__01 {
	margin-top: 54px
}

@media screen and (min-width:835px) {
	#footer .footer-contact__ct .c-btn__01 {
		margin: 42px 0 0
	}
}

#footer .footer-logo {
	display: block;
	margin-bottom: 15px;
	max-width: 248px
}

@media screen and (max-width:990px) {
	#footer .footer-logo {
		margin-bottom: 11px;
		max-width: 176px
	}
}

#footer .footer-txt {
	border-top: 1px solid grey;
	font-family: Exo\ 2, sans-serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .07em;
	margin-bottom: -14px;
	padding-top: 8px
}

@media screen and (max-width:990px) {
	#footer .footer-txt {
		font-size: 1rem;
		margin-bottom: 29px;
		padding-top: 11px
	}
}

#footer .footer-wrap {
	margin-bottom: 57px
}

@media screen and (min-width:991px) {
	#footer .footer-wrap {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		-ms-flex-align: start;
		-webkit-box-align: start;
		align-items: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		margin-bottom: 55px
	}
}

#footer .footer-wrap__menu {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	gap: 28px
}

@media screen and (min-width:991px) {
	#footer .footer-wrap__menu {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		width: calc(100% - 400px)
	}
}

@media screen and (max-width:640px) {
	#footer .footer-wrap__menu {
		gap: 42px
	}
}

@media screen and (min-width:641px) {
	#footer .footer-wrap__menu-item {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: end;
		-webkit-box-pack: end;
		gap: 28px;
		justify-content: flex-end
	}
}

@media screen and (max-width:640px) {
	#footer .footer-wrap__menu-link:not(:last-child) {
		margin-bottom: 12px
	}
}

#footer .footer-wrap__menu-link>a {
	display: inline-block;
	font-size: 1.5rem;
	letter-spacing: .15em
}

@media screen and (max-width:640px) {
	#footer .footer-wrap__menu-link>a {
		font-size: 1.6rem;
		letter-spacing: .09em
	}
}

#footer .footer-wrap__sub {
	margin-top: 8px
}

@media screen and (max-width:640px) {
	#footer .footer-wrap__sub {
		margin-top: 12px
	}
}

#footer .footer-wrap__sub-item>a {
	display: inline-block;
	font-size: 1.5rem;
	letter-spacing: .18em;
	padding-left: 11px;
	position: relative
}

@media screen and (max-width:640px) {
	#footer .footer-wrap__sub-item>a {
		font-size: 1.6rem;
		letter-spacing: .07em;
		padding-left: 23px
	}
}

#footer .footer-wrap__sub-item>a:before {
	content: "・";
	left: -3px;
	position: absolute;
	top: 0
}

@media screen and (max-width:640px) {
	#footer .footer-wrap__sub-item>a:before {
		left: 9px
	}
}

#footer .footer-wrap__info {
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: .07em;
	line-height: 1.75;
	margin-top: 46px
}

@media screen and (min-width:991px) {
	#footer .footer-wrap__info {
		font-size: 15px;
		font-size: 1.5rem;
		letter-spacing: .134em;
		line-height: 2;
		margin-top: 44px;
		width: 390px
	}
}

#footer .footer-wrap__info-privacy {
	display: inline-block;
	font-size: 1.2rem;
	letter-spacing: 0;
	margin-top: 46px
}

@media screen and (max-width:834px) {
	#footer .footer-wrap__info-privacy {
		font-size: 1.1885rem;
		letter-spacing: -.06em;
		margin-top: 32px
	}
}

#footer .footer-copy {
	font-family: Exo\ 2, sans-serif;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .06em;
	padding-bottom: 27px
}

@media screen and (min-width:1340px) {
	#footer .footer-copy {
		margin: 0 -48px
	}
}

@media screen and (max-width:834px) {
	#footer .footer-copy {
		font-size: 1rem;
		letter-spacing: .07em;
		padding-bottom: 47px
	}
}

@media screen and (min-width:1025px) {
	#page-index {
		padding-left: 280px
	}
}

.sec-mv {
	position: relative
}

.sec-mv__img img {
	height: 100vh;
	min-height: 780px;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: left;
	object-position: left;
	width: 100%
}

@media screen and (max-width:1024px) {
	.sec-mv__img img {
		height: calc(100vh - 85px);
		min-height: 200px
	}
}

.sec-mv__ttl {
	color: #fff;
	font-size: 57px;
	font-size: 5.7rem;
	left: 0;
	letter-spacing: .056em;
	line-height: 1.4736842105;
	padding: 0 60px;
	position: absolute;
	top: 49.2%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%
}

@media screen and (max-width:834px) {
	.sec-mv__ttl {
		font-size: 36.155px;
		font-size: 3.6155rem;
		letter-spacing: .03em;
		line-height: 1.4736550961;
		padding: 0 17px;
		top: 53.6%
	}
}

@media screen and (max-width:359px) {
	.sec-mv__ttl {
		font-size: 3rem
	}
}

.sec-mv:before {
	background: #44b3e1;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 1;
	position: absolute;
	top: 0;
	-webkit-transform-origin: right;
	-ms-transform-origin: right;
	transform-origin: right;
	-webkit-transition: transform .8s cubic-bezier(0, .51, .09, 1) .5s, opacity .8s .5s;
	transition: transform 1s cubic-bezier(0, .51, .09, 1) .5s, opacity .8s .5s;
	width: 100%;
	z-index: 9
}

.is-hello .sec-mv:before {

	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0)
}

.mv-slider__item {
	position: relative
}

@media screen and (max-width:640px) {
	.mv-slider__item .mv-project {
		padding: 0
	}

	.mv-slider__item .mv-project__img {
		position: relative
	}
}

@media screen and (min-width:1025px) {
	.mv-slider__item .mv-project__ct {
		top: 38.3%;
		width: 90.2%
	}
}

@media screen and (min-width:1025px) and (max-width:1367px) {
	.mv-slider__item .mv-project__ct {
		max-width: 980px;
		width: 97.5%
	}
}

@media screen and (max-width:1024px) {
	.mv-slider__item .mv-project__ct {
		left: 50%;
		position: absolute;
		top: 46%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%)
	}
}

@media screen and (min-width:641px) {
	.mv-slider__item .mv-project__ct-ttl {
		margin-bottom: 12px;
		width: 65.1%
	}
}

@media screen and (min-width:641px) and (max-width:1024px) {
	.mv-slider__item .mv-project__ct-ttl {
		width: 57%
	}
}

@media screen and (min-width:1271px) {
	.mv-slider__item .mv-project__ct-ttl {
		position: relative;
		right: -1.8%
	}
}

@media screen and (max-width:640px) {
	.mv-slider__item .mv-project__ct-ttl {
		width: 90%
	}

	.mv-slider__item .mv-project__ct-ttl img {
		width: 100%
	}
}

.mv-slider__item .mv-project__list {
	left: 50%;
	position: absolute;
	top: 83.6%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

@media screen and (min-width:1025px) {
	.mv-slider__item .mv-project__list {
		width: 90.2%
	}
}

.sec-intro {
	padding: 123px 0 135px
}

@media screen and (max-width:834px) {
	.sec-intro {
		padding: 50px 0 65px
	}
}

.intro-ttl {
	font-size: 40px;
	font-size: 4rem;
	letter-spacing: .2em;
	line-height: 1.625;
	margin-bottom: 34px
}

@media screen and (max-width:834px) {
	.intro-ttl {
		font-size: 24.455px;
		font-size: 2.4455rem;
		line-height: 1.638315273;
		margin-bottom: 19px
	}
}

@media screen and (max-width:359px) {
	.intro-ttl {
		font-size: 2.2rem
	}
}

.intro-ttl span {
	display: inline-block
}

.intro-ttl .txt-custom--02 {
	margin: 0 -6px
}

@media screen and (max-width:834px) {
	.intro-ttl .txt-custom--02 {
		margin: 0 -4px
	}
}

.intro-ttl .txt-custom--04 {
	margin: 0 -6px
}

.intro-ttl .txt-custom--05 {
	margin: 0 -4px 0 -20px
}

@media screen and (max-width:834px) {
	.intro-ttl .txt-custom--05 {
		margin: 0 -3px 0 -7px
	}
}

.intro-ttl .txt-custom--last {
	margin: 0 0 0 -7px
}

@media screen and (max-width:834px) {
	.intro-ttl .txt-custom--last {
		margin: 0 0 0 -5px
	}
}

.intro-txt {
	font-size: 19px;
	font-size: 1.9rem;
	letter-spacing: -.01em;
	line-height: 2.2;
	margin-bottom: 77px
}

@media screen and (max-width:834px) {
	.intro-txt {
		font-size: 16.5px;
		font-size: 1.65rem;
		letter-spacing: -.05em;
		line-height: 1.9090909091;
		margin-bottom: 34px
	}
}

.product-wrap {
	position: relative
}

.product-wrap__img img {
	width: 100%
}

.product-wrap__ct {
	color: #fff;
	left: 50%;
	position: absolute;
	top: 55.9%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 88.6%
}

@media screen and (max-width:640px) {
	.product-wrap__ct {
		text-align: center;
		top: 71.4%
	}
}

.product-wrap__ct-tag {
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 3.16vw;
	font-weight: 600;
	letter-spacing: .06em;
	margin-bottom: 19px
}

@media screen and (max-width:834px) {
	.product-wrap__ct-tag {
		font-size: 3.32rem;
		letter-spacing: 0;
		margin-bottom: 3px
	}
}

.product-wrap__ct-ttl {
	font-family: Special Gothic Expanded One, sans-serif;
	font-size: 5.49vw;
	letter-spacing: .025em;
	line-height: 1.2;
	margin-bottom: 83px
}

@media screen and (max-width:834px) {
	.product-wrap__ct-ttl {
		font-size: 6.7975rem;
		line-height: 1.17;
		margin-bottom: 40px
	}
}

@media screen and (max-width:359px) {
	.product-wrap__ct-ttl {
		font-size: 6rem
	}
}

.product-wrap__ct-ttl span {
	display: block;
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 1.42vw;
	font-weight: 600
}

@media screen and (max-width:834px) {
	.product-wrap__ct-ttl span {
		font-size: 1.763rem
	}
}

@media screen and (min-width:641px) {
	.product-wrap__ct .c-btn__01 {
		margin: 0
	}
}

.sec-news {
	padding: 143px 0 158px
}

@media screen and (max-width:834px) {
	.sec-news {
		padding: 66px 0 107px
	}
}

.news-list {
	margin-bottom: 57px
}

@media screen and (max-width:834px) {
	.news-list {
		margin-bottom: 39px
	}
}

.news-list__item {
	border-top: 1px solid #bbbcbc
}

.news-list__item:last-child {
	border-bottom: 1px solid #bbbcbc
}

.news-list__item a {
	display: block;
	font-size: 1.5rem;
	letter-spacing: .038em;
	padding: 30px 0 33px
}

@media screen and (max-width:834px) {
	.news-list__item a {
		font-size: 16.5px;
		font-size: 1.65rem;
		line-height: 1.9090909091;
		padding: 17px 1px 15px
	}
}

.news-list__item a time {
	color: grey;
	display: block;
	font-family: Exo\ 2, sans-serif;
	font-size: 1.9rem;
	font-weight: 500;
	letter-spacing: .05em;
	margin-bottom: 6px
}

@media screen and (max-width:834px) {
	.news-list__item a time {
		font-size: 1.35rem;
		margin-bottom: -2px
	}
}

#page-contact+#footer,
#page-contact-confirm+#footer,
#page-contact-thanks+#footer {
	padding-top: 83px
}

@media screen and (max-width:834px) {

	#page-contact+#footer,
	#page-contact-confirm+#footer,
	#page-contact-thanks+#footer {
		padding: 50px 0 0
	}
}

#page-contact+#footer .footer-contact,
#page-contact-confirm+#footer .footer-contact,
#page-contact-thanks+#footer .footer-contact {
	display: none
}

#page-contact input::-webkit-inner-spin-button,
#page-contact input::-webkit-outer-spin-button,
#page-contact-confirm input::-webkit-inner-spin-button,
#page-contact-confirm input::-webkit-outer-spin-button,
#page-contact-thanks input::-webkit-inner-spin-button,
#page-contact-thanks input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0
}

#page-contact input[type=number],
#page-contact-confirm input[type=number],
#page-contact-thanks input[type=number] {
	-moz-appearance: textfield
}

.sec-contact-page {
	padding: 45px 0 167px
}

@media screen and (max-width:834px) {
	.sec-contact-page {
		padding: 20px 0 70px
	}
}

.sec-contact-page p {
	margin-bottom: 20px
}

.sec-contact-page p:last-child {
	margin-bottom: 0
}

.contact-note {
	font-size: 19px;
	font-size: 1.9rem;
	line-height: 1.7557894737;
	margin-bottom: 53px
}

@media screen and (max-width:834px) {
	.contact-note {
		font-size: 1.6rem;
		line-height: 1.6;
		margin-bottom: 40px
	}
}

.contact-form {
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.3529411765
}

@media screen and (max-width:834px) {
	.contact-form {
		font-size: 1.6rem;
		line-height: 1.6
	}
}

.contact-form dl {
	border-top: 1px solid #bbbcbc;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 26px 0
}

@media screen and (max-width:834px) {
	.contact-form dl {
		padding: 15px 0
	}
}

.contact-form dl dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	width: 238px;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 45px 0 0
}

@media screen and (max-width:834px) {
	.contact-form dl dt {
		display: block;
		margin-bottom: 15px;
		width: 100%
	}
}

.contact-form dl dt .required {
	background: #44b3e1;
	color: #fff;
	display: inline-block;
	font-size: 1.3rem;
	padding: 1px 9px;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}

@media screen and (max-width:834px) {
	.contact-form dl dt .required {
		font-size: 1.2rem
	}
}

.contact-form dl dd {
	padding: 0 0 0 53px;
	width: calc(100% - 238px)
}

@media screen and (max-width:834px) {
	.contact-form dl dd {
		padding: 0;
		width: 100%
	}
}

@media screen and (min-width:835px) {
	.contact-form dl.start {
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start
	}

	.contact-form dl.start dt {
		top: 10px
	}
}

.contact-form dl.contact-form__check {
	display: block;
	padding: 58px 0 0
}

.contact-form dl.contact-form__check dt {
	margin-bottom: 19px
}

.contact-form dl.contact-form__check dd {
	padding: 0;
	width: 100%
}

.contact-form dl.contact-form__check dd .contact-form__check-note {
	font-size: 19px;
	font-size: 1.9rem;
	line-height: 1.7557894737;
	margin-bottom: 19px
}

@media screen and (max-width:834px) {
	.contact-form dl.contact-form__check dd .contact-form__check-note {
		font-size: 1.6rem;
		line-height: 1.6
	}
}

.contact-form .wpcf7-form-control {
	display: block
}

.contact-form .wpcf7-form-control .wpcf7-list-item {
	display: block;
	margin-bottom: 16px
}

.contact-form .wpcf7-form-control .wpcf7-list-item:last-child {
	margin-bottom: 0
}

.contact-form .wpcf7-form-control .wpcf7-list-item label {
	display: inline-block;
	position: relative
}

.contact-form .wpcf7-form-control .wpcf7-list-item label input {
	cursor: pointer;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1
}

.contact-form .wpcf7-form-control .wpcf7-list-item label input:checked+span:after {
	opacity: 1;
	visibility: visible
}

.contact-form .wpcf7-form-control .wpcf7-list-item label span {
	display: block
}

.contact-form .wpcf7-form-control .wpcf7-list-item label span:after,
.contact-form .wpcf7-form-control .wpcf7-list-item label span:before {
	content: "";
	display: block;
	position: absolute
}

@media screen and (max-width:834px) {
	.contact-form .wpcf7-radio {
		padding: 10px 0
	}
}

.contact-form .wpcf7-radio .wpcf7-list-item {
	margin-left: 0 !important
}

.contact-form .wpcf7-radio .wpcf7-list-item label span {
	padding: 0 0 0 38px;
	position: relative
}

@media screen and (max-width:834px) {
	.contact-form .wpcf7-radio .wpcf7-list-item label span {
		padding: 0 0 0 30px
	}
}

.contact-form .wpcf7-radio .wpcf7-list-item label span:after,
.contact-form .wpcf7-radio .wpcf7-list-item label span:before {
	border-radius: 50%
}

.contact-form .wpcf7-radio .wpcf7-list-item label span:before {
	border: 1px solid #bbbcbc;
	height: 18px;
	left: 0;
	top: 3px;
	width: 18px
}

.contact-form .wpcf7-radio .wpcf7-list-item label span:after {
	background: #44b3e1;
	height: 14px;
	left: 3px;
	opacity: 0;
	top: 6px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	visibility: hidden;
	width: 14px
}

.contact-form .wpcf7-checkbox .wpcf7-list-item {
	margin-left: 0 !important
}

.contact-form .wpcf7-checkbox .wpcf7-list-item label span {
	padding: 0 0 0 44px
}

@media screen and (max-width:834px) {
	.contact-form .wpcf7-checkbox .wpcf7-list-item label span {
		padding: 0 0 0 30px
	}
}

.contact-form .wpcf7-checkbox .wpcf7-list-item label span:before {
	border: 1px solid #bbbcbc;
	height: 28px;
	left: 0;
	top: -2px;
	width: 28px
}

@media screen and (max-width:834px) {
	.contact-form .wpcf7-checkbox .wpcf7-list-item label span:before {
		height: 20px;
		top: 0;
		width: 20px
	}
}

.contact-form .wpcf7-checkbox .wpcf7-list-item label span:after {
	border-color: #44b3e1;
	-o-border-image: none;
	border-image: none;
	border-style: solid;
	border-width: 0 0 3px 3px;
	height: 8px;
	left: 7px;
	opacity: 0;
	top: 4px;
	-webkit-transform: rotate(-45deg) scale(1);
	-ms-transform: rotate(-45deg) scale(1);
	transform: rotate(-45deg) scale(1);
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	visibility: hidden;
	width: 18px
}

@media screen and (max-width:834px) {
	.contact-form .wpcf7-checkbox .wpcf7-list-item label span:after {
		height: 5px;
		left: 5px;
		top: 5px;
		width: 14px
	}
}

.contact-form__sub {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	padding: 34px 0 0;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.contact-form__sub .c-btn__01 {
	margin: 0 10px 10px
}

.mw_wp_form_confirm dl.start dt {
	top: 0
}

.mw_wp_form_confirm dl dt .required {
	display: none
}

.form-control {
	background: #e7e8e8;
	border: none;
	display: block;
	font-weight: 500;
	height: 45px;
	padding: 5px 10px;
	width: 100%
}

.form-control:focus {
	border-color: #66afe9;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
	outline: 0
}

textarea.form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 279px;
	resize: none
}

@media screen and (max-width:834px) {
	textarea.form-control {
		height: 180px
	}
}

.error,
.wpcf7-not-valid-tip {
	color: red;
	display: block;
	margin-top: 10px
}

.sec-privacy-page {
	padding: 45px 0 155px
}

@media screen and (max-width:834px) {
	.sec-privacy-page {
		padding: 20px 0 70px
	}
}

.privacy-note {
	font-size: 17px;
	font-size: 1.7rem;
	letter-spacing: .01em;
	line-height: 2.1176470588
}

@media screen and (max-width:834px) and (max-width:834px) {
	.privacy-note {
		font-size: 1.6rem;
		line-height: 1.8
	}
}

.privacy-note ol,
.privacy-note p,
.privacy-note ul {
	margin-bottom: 43px
}

@media screen and (max-width:834px) {

	.privacy-note ol,
	.privacy-note p,
	.privacy-note ul {
		margin-bottom: 30px
	}
}

.privacy-note__ttl {
	border-bottom: 1px solid #bbbcbc;
	display: block;
	font-size: 2.4rem;
	letter-spacing: 2px;
	margin-bottom: 19px;
	position: relative
}

.privacy-note__ttl span {
	margin-left: -10px
}

@media screen and (max-width:834px) {
	.privacy-note__ttl {
		font-size: 2rem;
		letter-spacing: 1px;
		margin-bottom: 15px
	}
}

.privacy-note a {
	color: #000;
	letter-spacing: .08em;
	margin-left: 9px
}

#page-faq .mv-page .c-ft--en {
	font-family: Special Gothic Expanded One, sans-serif;
	font-size: clamp(3.6rem, 2.389rem + 3.229vw, 6.8rem)
}

#page-faq .mv-page .c-ft--jp {
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: clamp(2rem, 1.849rem + .404vw, 2.4rem)
}

.page-faq {
	padding: 78px 0 148px
}

@media screen and (max-width:834px) {
	.page-faq {
		padding: 50px 0
	}
}

.page-faq__dl {
	margin-bottom: 11px
}

@media screen and (max-width:834px) {
	.page-faq__dl {
		margin-bottom: 20px
	}
}

.page-faq__dl dt {
	border-bottom: 1px solid #bbbcbc;
	cursor: pointer;
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .11em;
	padding: 24px 57px;
	position: relative
}

@media screen and (max-width:834px) {
	.page-faq__dl dt {
		font-size: 1.6rem;
		padding: 12px 40px
	}
}

.page-faq__dl dt:before {
	content: "";
	content: "Q";
	display: inline-block;
	font-family: Special Gothic Expanded One, sans-serif;
	font-size: 3.6rem;
	height: auto;
	left: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: auto
}

@media screen and (max-width:834px) {
	.page-faq__dl dt:before {
		font-size: 2.8rem
	}
}

.page-faq__dl dt:after {
	background: url(../img/common/ico-arr.png) no-repeat 50%/100%;
	content: "";
	display: inline-block;
	height: 18px;
	position: absolute;
	right: 0;
	top: 30px;
	width: 18px
}

@media screen and (max-width:834px) {
	.page-faq__dl dt:after {
		top: 15px
	}
}

.page-faq__dl dd {
	display: none;
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 1.7rem;
	letter-spacing: .07em;
	line-height: 2;
	padding: 38px 0 37px
}

@media screen and (max-width:834px) {
	.page-faq__dl dd {
		font-size: 1.5rem;
		padding: 12px 0
	}
}

.page-faq__dl dd span {
	color: #babbbb;
	display: block;
	font-family: Special Gothic Expanded One, sans-serif;
	font-size: 3.6rem;
	left: 0;
	line-height: 1;
	position: absolute;
	top: -5px
}

@media screen and (max-width:834px) {
	.page-faq__dl dd span {
		font-size: 2.8rem;
		top: 0
	}
}

.page-faq__wp {
	padding-left: 57px;
	position: relative
}

@media screen and (max-width:834px) {
	.page-faq__wp {
		padding-left: 40px
	}
}

.sec-message {
	padding: 90px 0 83px
}

@media screen and (max-width:834px) {
	.sec-message {
		padding: 50px 0
	}
}

@media screen and (min-width:835px) {
	.sec-message .c-ttl__01 {
		margin-bottom: 66px
	}
}

.company-message__main {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

.company-message__main-left {
	padding-right: 49px;
	width: calc(100% - 390px)
}

@media screen and (max-width:1024px) {
	.company-message__main-left {
		width: calc(100% - 300px)
	}
}

@media screen and (max-width:834px) {
	.company-message__main-left {
		width: 100%;
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		padding-right: 0
	}
}

.company-message__main-left p {
	margin-bottom: 36px
}

@media screen and (max-width:834px) {
	.company-message__main-left p {
		margin-bottom: 20px
	}
}

.company-message__main-left p:last-of-type {
	margin-bottom: 0;
	margin-top: 20px;
}

.company-message__main-right {
	position: relative;
	top: 10px;
	width: 390px
}

@media screen and (max-width:1024px) {
	.company-message__main-right {
		width: 300px
	}
}

@media screen and (max-width:834px) {
	.company-message__main-right {
		top: 0;
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		margin: 0 auto 30px;
		order: 1
	}
}

.company-message__main-info {
	font-size: 1.5rem;
	letter-spacing: .35em;
	margin-top: 27px
}

@media screen and (max-width:834px) {
	.company-message__main-info {
		margin-top: 0;
		text-align: right
	}
}

.company-message__main-info span {
	display: block;
	font-size: 2.7rem;
	letter-spacing: .25em;
}

@media screen and (max-width:834px) {
	.company-message__main-info span {
		font-size: 2.2rem;
        margin-top: -10px
	}
}

@media screen and (min-width:835px) {
	.sec-mission .c-ttl__01 {
		margin-bottom: 66px
	}
}

.img-bnr {
	padding: 118px 0 113px
}

@media screen and (max-width:1024px) {
	.img-bnr {
		padding: 80px 0
	}
}

@media screen and (max-width:834px) {
	.img-bnr {
		padding: 50px 0
	}
}

.sec-profile {
	padding-bottom: 109px
}

@media screen and (max-width:1024px) {
	.sec-profile {
		padding-bottom: 80px
	}
}

@media screen and (max-width:834px) {
	.sec-profile {
		padding-bottom: 50px
	}
}

.history-block,
.profile-block {
	letter-spacing: .1em;
	margin: 0 auto 76px;
	max-width: 78%;
	width: 100%
}

.history-block:last-of-type,
.profile-block:last-of-type {
	margin-bottom: 0
}

.history-block__label,
.profile-block__label {
	background-color: #e0e0e0;
	display: block;
	margin-bottom: 38px;
	padding: 3px 10px;
	text-align: center
}

@media screen and (max-width:834px) {

	.history-block__label,
	.profile-block__label {
		margin-bottom: 20px
	}
}

.history-block dl,
.profile-block dl {
	border-top: 1px solid #bbbcbc;
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 16.5px 0
}

@media screen and (max-width:834px) {

	.history-block dl,
	.profile-block dl {
		margin: 0 -5px
	}
}

.history-block dl dt,
.profile-block dl dt {
	width: 160px
}

@media screen and (max-width:640px) {

	.history-block dl dt,
	.profile-block dl dt {
		margin-bottom: 10px;
		width: 100%
	}
}

.history-block dl dd,
.profile-block dl dd {
	width: calc(100% - 160px)
}

@media screen and (max-width:640px) {

	.history-block dl dd,
	.profile-block dl dd {
		width: 100%
	}
}

.history-block dl dd p,
.profile-block dl dd p {
	margin-bottom: 23px
}

@media screen and (max-width:834px) {

	.history-block dl dd p,
	.profile-block dl dd p {
		margin-bottom: 15px
	}
}

.history-block dl dd p:last-of-type,
.profile-block dl dd p:last-of-type {
	margin-bottom: 0
}

.history-block dl dd .txt-underline,
.profile-block dl dd .txt-underline {
	text-decoration: underline
}

.history-block dl:last-of-type,
.profile-block dl:last-of-type {
	border-bottom: 1px solid #bbbcbc
}

.history-block--last dl:nth-child(2),
.profile-block--last dl:nth-child(2) {
	border-top: none;
	padding-top: 0
}

.sec-history {
	padding-bottom: 109px
}

@media screen and (max-width:1024px) {
	.sec-history {
		padding-bottom: 80px
	}
}

@media screen and (max-width:834px) {
	.sec-history {
		padding-bottom: 50px
	}
}

.sec-domestic {
	padding-bottom: 115px
}

@media screen and (max-width:1024px) {
	.sec-domestic {
		padding-bottom: 80px
	}
}

@media screen and (max-width:834px) {
	.sec-domestic {
		padding-bottom: 50px
	}
}

.sec-domestic .inner {
	max-width: 1235px
}

.domestic-list {
	display: grid;
	gap: 48px 70px;
	grid-template-columns: 1fr 1fr 1fr
}

@media screen and (max-width:1024px) {
	.domestic-list {
		gap: 30px
	}
}

@media screen and (max-width:834px) {
	.domestic-list {
		grid-template-columns: 1fr 1fr
	}
}

@media screen and (max-width:640px) {
	.domestic-list {
		grid-template-columns: 1fr
	}
}

.domestic-list__img {
	margin-bottom: 30px
}

.domestic-list__ttl {
	border-bottom: 1px solid;
	font-size: 1.9rem;
	margin-bottom: 15px;
	padding-bottom: 5px
}

@media screen and (max-width:834px) {
	.domestic-list__ttl {
		font-size: 1.7rem
	}
}

.domestic-list__desc {
	margin-bottom: 25px
}

@media screen and (max-width:834px) {
	.domestic-list__desc {
		margin-bottom: 20px
	}
}

.domestic-list__map {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	height: 36px;
	max-width: 163px;
	width: 100%;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	border: 1px solid #bbbcbc;
	border-radius: 30px;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: .1em;
	margin: 0 auto;
	position: relative
}

.domestic-list__map:after {
	border: solid #bbbcbc;
	border-width: 0 1px 1px 0;
	content: "";
	display: inline-block;
	height: 0;
	padding: 3px;
	position: absolute;
	right: 15px;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 0
}

.sec-service {
	padding-bottom: 120px
}

@media screen and (max-width:1024px) {
	.sec-service {
		padding-bottom: 80px
	}
}

@media screen and (max-width:834px) {
	.sec-service {
		padding-bottom: 50px
	}
}

.sec-service .inner {
	max-width: 1235px
}

.sec-service .c-ttl__01 {
	margin-bottom: 40px
}

.service-list {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 -35px
}

@media screen and (max-width:834px) {
	.service-list {
		margin: 0 -10px
	}
}

.service-list__label {
	background: #e0e0e0;
	display: block;
	font-size: 1.5rem;
	margin-bottom: 20px;
	padding: 5px 10px;
	text-align: center
}

.service-list__img {
	margin-bottom: 36px;
	position: relative
}

@media screen and (max-width:834px) {
	.service-list__img {
		margin-bottom: 15px
	}
}

.service-list__img-logo {
	left: 0;
	position: absolute;
	top: 0;
	width: 150px;
	z-index: 2
}

@media screen and (max-width:834px) {
	.service-list__img-logo {
		width: 100px
	}
}

.service-list__ttl {
	border-bottom: 1px solid #bbbcbc;
	font-size: 1.9rem;
	letter-spacing: .08em;
	margin-bottom: 10px;
	padding-bottom: 5px
}

.service-list__desc {
	letter-spacing: 0;
	margin-bottom: 34px
}

@media screen and (max-width:834px) {
	.service-list__desc {
		margin-bottom: 25px
	}
}

.service-list__item {
	margin-bottom: 60px;
	padding: 0 35px;
	width: 33.33%
}

@media screen and (max-width:834px) {
	.service-list__item {
		padding: 0 10px
	}
}

@media screen and (max-width:640px) {
	.service-list__item {
		margin-bottom: 30px;
		width: 100%
	}
}

@media screen and (min-width:641px) {
	.service-list__item--other .service-list__label {
		width: calc(300% + 50px)
	}

	.service-list__item--other+li,
	.service-list__item--other+li+li {
		margin-top: 52px
	}
}

@media screen and (min-width:835px) {
	.service-list__item--other .service-list__label {
		width: calc(300% + 138px)
	}
}

.sec-about {
	background: #000;
	color: #fff;
	padding: 107px 0 122px
}

@media screen and (max-width:834px) {
	.sec-about {
		padding: 50px 0
	}
}

@media screen and (min-width:835px) {
	.sec-about .c-txt__01 {
		line-height: 2;
		margin-top: -9px
	}
}

.about-ttl {
	margin-bottom: 59px;
	text-align: center
}

@media screen and (max-width:834px) {
	.about-ttl {
		margin-bottom: 30px
	}
}

.about-ttl .c-ft--gothic {
	display: block;
	font-size: 9.715rem;
	line-height: 1.13
}

@media screen and (max-width:834px) {
	.about-ttl .c-ft--gothic {
		font-size: 5rem
	}
}

.about-ttl .c-ft--ibm {
	display: block;
	font-size: 2.461rem;
	font-weight: 600
}

@media screen and (max-width:834px) {
	.about-ttl .c-ft--ibm {
		font-size: 2rem
	}
}

.sec-baizou {
	overflow: hidden;
	padding: 88px 0 124px
}

@media screen and (max-width:834px) {
	.sec-baizou {
		padding: 50px 0
	}
}

.baizou-list {
	font-family: IBM Plex Sans JP, sans-serif;
	margin-bottom: 50px
}

@media screen and (min-width:835px) {
	.baizou-list {
		line-height: 1.88;
		margin-bottom: 155px
	}
}

@media screen and (min-width:641px) {
	.baizou-list {
		display: grid;
		gap: clamp(20px, 5vw, 67px);
		grid-template-columns: repeat(3, 1fr)
	}
}

@media screen and (min-width:641px) and (max-width:990px) {
	.baizou-list {
		gap: 20px
	}
}

@media screen and (max-width:640px) {
	.baizou-list__item:not(:last-child) {
		margin-bottom: 50px
	}
}

.baizou-list__item p,
.baizou-list__ttl {
	letter-spacing: .08em
}

.baizou-list__ttl {
	border-bottom: 1px solid #bbbcbc;
	font-size: 25px;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.36;
	margin-bottom: 19px;
	padding-bottom: 11px
}

@media screen and (max-width:990px) {
	.baizou-list__ttl {
		font-size: 1.8rem;
		margin-bottom: 20px;
		padding-bottom: 6px
	}
}

.baizou-list__ttl span {
	display: block;
	font-size: 8.4rem;
	font-weight: 600;
	line-height: 1;
	margin-bottom: .57em;
	margin-right: -5px
}

@media screen and (max-width:1270px) {
	.baizou-list__ttl span {
		font-size: 7rem
	}
}

@media screen and (max-width:990px) {
	.baizou-list__ttl span {
		font-size: 5rem;
		margin: 0 0 15px
	}
}

.baizou-ttl {
	border-bottom: 2px solid #000;
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 3.5rem;
	font-weight: 500;
	letter-spacing: .2em;
	margin-bottom: 73px;
	padding-bottom: 12px;
	text-align: center
}

@media screen and (max-width:834px) {
	.baizou-ttl {
		font-size: 2.8rem;
		letter-spacing: .04em;
		margin-bottom: 30px;
		padding-bottom: 5px
	}
}

@media screen and (max-width:359px) {
	.baizou-ttl {
		font-size: 2.5rem
	}
}

.baizou-wrap {
	margin-bottom: 50px;
	padding-bottom: 50px;
	position: relative
}

@media screen and (min-width:641px) {
	.baizou-wrap {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		justify-content: space-between;
		-ms-flex-align: start;
		-webkit-box-align: start;
		align-items: flex-start;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-bottom: 305px;
		padding-bottom: 167px
	}
}

.baizou-wrap:before {
	background: #000;
	bottom: 0;
	content: "";
	height: 68.7%;
	left: 50%;
	position: absolute;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 100vw;
	z-index: -1
}

@media screen and (max-width:990px) {
	.baizou-wrap:before {
		height: 50%
	}
}

@media screen and (max-width:640px) {
	.baizou-wrap:before {
		height: 13%
	}
}

.baizou-wrap__img {
	margin-bottom: 20px;
	text-align: center
}

@media screen and (min-width:641px) {
	.baizou-wrap__img {
		bottom: -197px;
		left: 0;
		position: absolute;
		width: 357px
	}
}

@media screen and (min-width:641px) and (max-width:990px) {
	.baizou-wrap__img {
		left: 60px;
		width: 155px
	}
}

.baizou-wrap__img img {
	max-width: 248px;
	width: 100%
}

@media screen and (max-width:640px) {
	.baizou-wrap__img img {
		max-width: 40%
	}
}

.baizou-wrap__txt {
	font-family: IBM Plex Sans JP, sans-serif;
	margin-bottom: 30px
}

@media screen and (min-width:641px) {
	.baizou-wrap__txt {
		letter-spacing: .06em;
		line-height: 1.88;
		width: 370px
	}
}

@media screen and (min-width:641px) and (max-width:990px) {
	.baizou-wrap__txt {
		width: 300px
	}
}

@media screen and (min-width:641px) {
	.baizou-wrap__video {
		margin-top: 6px;
		width: calc(100% - 417px)
	}
}

@media screen and (min-width:641px) and (max-width:990px) {
	.baizou-wrap__video {
		width: calc(100% - 315px)
	}
}

.baizou-wrap__video-sub {
	position: relative
}

.baizou-wrap__video-sub:not(:last-child) {
	margin-bottom: 54px
}

@media screen and (max-width:640px) {
	.baizou-wrap__video-sub:not(:last-child) {
		margin-bottom: 30px
	}
}

@media screen and (max-width:834px) {
	.baizou-wrap__video-sub {
		background: #b3b3b3
	}
}

.baizou-wrap__video-sub:before {
	content: "";
	display: block;
	padding-bottom: 56.2607204117%
}

.baizou-wrap__video-sub iframe,
.baizou-wrap__video-sub img,
.baizou-wrap__video-sub video {
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%
}

.baizou-table {
	margin: 87px 0 133px
}

@media screen and (max-width:834px) {
	.baizou-table {
		margin: 0 0 50px;
		padding-right: 37.5px
	}
}

.baizou-table table {
	display: block;
	font-family: IBM Plex Sans JP, sans-serif;
	width: 100%
}

@media screen and (max-width:990px) {
	.baizou-table table {
		width: 1000px
	}
}

.baizou-table table tr {
	border-bottom: 1px solid #bbbcbc
}

.baizou-table table tr:first-child {
	border-top: 1px solid #bbbcbc
}

.baizou-table table tr:first-child th {
	height: 54px
}

.baizou-table table th {
	background: #e9eaea;
	font-size: 1.9rem;
	font-weight: 500;
	text-align: center;
	width: 287px
}

.baizou-table table th:first-child {
	width: 141px
}

.baizou-table table th:last-child {
	font-family: Special Gothic Expanded One, sans-serif;
	font-size: 3.483rem;
	font-weight: 400
}

.baizou-table table td {
	font-size: 14px;
	font-size: 1.4rem;
	height: 92px;
	line-height: 1.4285714286;
	padding: 17px 80px 14px 16px;
	position: relative;
	vertical-align: top
}

.baizou-table table td:before {
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%)
}

.baizou-table table td.circle:before {
	background: url(../img/baizou/circle.svg) 50% no-repeat;
	background-size: contain;
	height: 39px;
	right: 24px;
	width: 39px
}

.baizou-table table td.cross:before {
	background: url(../img/baizou/cross.svg) 50% no-repeat;
	background-size: contain;
	height: 35px;
	right: 26px;
	width: 35px
}

.baizou-table table td.triangle:before {
	background: url(../img/baizou/triangle.svg) 50% no-repeat;
	background-size: contain;
	height: 37px;
	right: 22px;
	width: 44px
}

.baizou-table table td.cross-white:before {
	background: url(../img/baizou/cross-white.svg) 50% no-repeat;
	background-size: contain;
	height: 39px;
	right: 24px;
	width: 39px
}

.baizou-table table td:last-child {
	font-weight: 500
}

.baizou-table table td:not(:last-child),
.baizou-table table th:not(:last-child) {
	border-right: 1px solid #bbbcbc
}

.baizou-table table td:last-child,
.baizou-table table th:last-child {
	background: #000;
	color: #fff
}

.baizou-data {
	margin-bottom: 30px
}

@media screen and (min-width:641px) {
	.baizou-data {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 52px 0;
		justify-content: space-between;
		margin-bottom: 73px;
		padding-top: 13px
	}

	.baizou-data+.c-txt__01 {
		letter-spacing: .075em
	}

	.baizou-data__item {
		width: 46%
	}

	.baizou-data__item--full {
		width: 100%
	}
}

@media screen and (max-width:640px) {
	.baizou-data__item:not(:last-child) {
		margin-bottom: 35px
	}
}

.baizou-data__ttl {
	border-bottom: 1px solid #bbbcbc;
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 2.1rem;
	letter-spacing: .12em;
	margin-bottom: 11px;
	padding-bottom: 6px
}

@media screen and (max-width:834px) {
	.baizou-data__ttl {
		font-size: 1.8rem;
		margin-bottom: 10px;
		padding-bottom: 0
	}
}

.baizou-data__number {
	font-family: Zen Kaku Gothic New, sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1
}

@media screen and (min-width:835px) {
	.baizou-data__number {
		font-size: 4.8rem;
		letter-spacing: .04em
	}
}

.baizou-data__number span {
	font-size: 2.9rem
}

@media screen and (min-width:835px) {
	.baizou-data__number span {
		font-size: 6.8rem;
		letter-spacing: .05em;
		margin-right: 5px
	}
}

@media screen and (min-width:835px) and (max-width:990px) {
	.baizou-data__number span {
		font-size: 5.8rem
	}
}

@media screen and (min-width:835px) {
	.baizou-data__number span:not(:first-child) {
		margin-left: 5px
	}
}

@media screen and (max-width:359px) {
	.baizou-data__number span {
		font-size: 2.5rem
	}
}

.baizou-data__number small {
	font-size: 2rem
}

@media screen and (min-width:835px) {
	.baizou-data__number small {
		font-size: 4.2rem
	}
}

.baizou-desc {
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 35px;
	font-size: 3.5rem;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.6025714286;
	margin: 173px 0 40px;
	text-align: center
}

@media screen and (max-width:834px) {
	.baizou-desc {
		font-size: 2rem;
		margin: 50px 0 20px
	}
}

.baizou-block {
	background: #000;
	border-radius: 20px;
	color: #fff;
	margin-bottom: 50px;
	padding: 88px 20px 69px
}

@media screen and (min-width:1271px) {
	.baizou-block {
		margin: 0 -81px 94px
	}
}

@media screen and (max-width:834px) {
	.baizou-block {
		padding: 30px 20px
	}
}

.baizou-block__ttl {
	font-family: IBM Plex Sans JP, sans-serif;
	font-size: 2.9rem;
	font-weight: 500;
	letter-spacing: .16em;
	margin-bottom: 50px;
	text-align: center
}

@media screen and (max-width:834px) {
	.baizou-block__ttl {
		font-size: 2rem;
		margin-bottom: 25px
	}
}

.baizou-block__ttl span {
	display: block;
	font-size: 9.56rem;
	font-weight: 600;
	letter-spacing: -.1em;
	margin-bottom: 5px
}

@media screen and (max-width:834px) {
	.baizou-block__ttl span {
		font-size: 3.6rem
	}
}

@media screen and (max-width:359px) {
	.baizou-block__ttl span {
		font-size: 3.2rem
	}
}

#page-baizou .mv-project__ct-ttl {
	margin-left: 1em
}

@media screen and (max-width:834px) {
	#page-baizou .mv-project__ct-ttl {
		margin-left: 0
	}

	#page-baizou .mv-project__list {
		left: 48%
	}

	#page-baizou .mv-project {
		height: calc(100dvh - 85px);
		padding: 0
	}

	#page-baizou .mv-project img {
		height: calc(100dvh - 85px);
		-o-object-fit: cover;
		object-fit: cover;
		-o-object-position: bottom;
		object-position: bottom;
		width: 100%
	}
}

@media screen and (min-width:641px) {
	#page-project .mv-project__ct {
		top: 41.7%
	}
}

#page-project .mv-project__ct-desc .c-ft--ibm {
	letter-spacing: .25em
}

@media screen and (min-width:1025px) {
	.mv-project {
		height: 100vh;
		overflow: hidden
	}

	.mv-project img {
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover;
		width: 100%
	}
}

.sec-project {
	padding: 77px 0 124px
}

@media screen and (max-width:834px) {
	.sec-project {
		padding: 50px 0
	}
}

.project-txt {
	font-family: IBM Plex Sans JP, sans-serif;
	margin: 0 auto 50px;
	max-width: 970px
}

@media screen and (min-width:835px) {
	.project-txt {
		letter-spacing: .06em;
		line-height: 2;
		margin-bottom: 135px;
		text-align: center
	}
}

.project-list {
	font-family: IBM Plex Sans JP, sans-serif;
	margin-bottom: 162px
}

@media screen and (max-width:834px) {
	.project-list {
		margin-bottom: 50px
	}
}

@media screen and (min-width:835px) {
	.project-list__item {
		line-height: 1.88
	}

	.project-list__item p {
		letter-spacing: .055em
	}
}

.project-list__item:not(:last-child) {
	margin-bottom: 102px
}

@media screen and (max-width:834px) {
	.project-list__item:not(:last-child) {
		margin-bottom: 30px
	}
}

.project-list__ttl {
	border-bottom: 2px solid #000;
	font-size: 2.5rem;
	font-weight: 500;
	margin-bottom: 51px;
	padding: 0 0 6px 210px;
	position: relative
}

@media screen and (max-width:834px) {
	.project-list__ttl {
		font-size: 2rem;
		margin-bottom: 25px;
		padding: 0 0 0 130px
	}
}

.project-list__ttl span {
	border-right: 1px solid #231815;
	font-family: Special Gothic Expanded One, sans-serif;
	font-size: 3.6rem;
	left: 0;
	letter-spacing: .04em;
	line-height: 1.3;
	position: absolute;
	top: 0;
	width: 192px
}

@media screen and (max-width:834px) {
	.project-list__ttl span {
		font-size: 2rem;
		top: 4px;
		width: 115px
	}
}

.project-list__img {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	position: relative;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin-bottom: 53px
}

@media screen and (max-width:834px) {
	.project-list__img {
		margin-bottom: 20px
	}
}

.project-list__img:before {
	background: url(../img/baizou/project/project-arrow.svg) 50% no-repeat;
	background-size: contain;
	content: "";
	height: 36px;
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 5%
}

.project-list__img-after,
.project-list__img-before {
	position: relative;
	width: 46%
}

.project-list__img-after:before,
.project-list__img-before:before {
	content: "";
	display: block;
	padding-bottom: 69.5652173913%
}

.project-list__img-after img,
.project-list__img-before img {
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%
}

.sec-news-page {
	padding: 102px 0 140px
}

@media screen and (max-width:834px) {
	.sec-news-page {
		padding: 50px 0 60px
	}
}

.posts-list {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 52px 0;
	margin: 0 -35px 100px
}

@media screen and (max-width:1270px) {
	.posts-list {
		margin: 0 -20px 80px
	}
}

@media screen and (max-width:640px) {
	.posts-list {
		gap: 45px 0;
		margin: 0 0 40px
	}
}

.posts-list__item {
	padding: 0 35px;
	width: 33.33%
}

@media screen and (max-width:1270px) {
	.posts-list__item {
		padding: 0 20px
	}
}

@media screen and (max-width:834px) {
	.posts-list__item {
		width: 50%
	}
}

@media screen and (max-width:640px) {
	.posts-list__item {
		padding: 0;
		width: 100%
	}
}

.posts-list__item a {
	display: block
}

.posts-list__img {
	margin-bottom: 23px;
	overflow: hidden;
	position: relative
}

.posts-list__img:before {
	content: "";
	display: block;
	padding-top: 67.6470588235%
}

.posts-list__img img,
.posts-list__img>:first-child {
	height: 100%;
	left: 50%;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%
}

@media screen and (max-width:834px) {
	.posts-list__img {
		margin-bottom: 12px
	}
}

.posts-list__time {
	color: grey;
	display: block;
	font-family: Exo\ 2, sans-serif;
	font-size: 1.9rem;
	font-weight: 500;
	letter-spacing: 1.5px;
	margin-bottom: 6px
}

@media screen and (max-width:1270px) {
	.posts-list__time {
		font-size: 1.7rem
	}
}

@media screen and (max-width:834px) {
	.posts-list__time {
		font-size: 1.6rem;
		letter-spacing: .5px;
		margin-bottom: 4px
	}
}

.posts-list__desc {
	font-size: 1.9rem;
	line-height: 1.65;
	margin-bottom: 26px
}

@media screen and (max-width:1270px) {
	.posts-list__desc {
		font-size: 1.7rem;
		margin-bottom: 18px
	}
}

@media screen and (max-width:834px) {
	.posts-list__desc {
		font-size: 1.6rem;
		margin-bottom: 12px
	}
}

.posts-list__cate {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 5px
}

.posts-list__cate span {
	border: 1px solid #bbbcbc;
	color: #000;
	display: inline-block;
	font-size: 1.3rem;
	min-width: 90px;
	padding: 4px;
	text-align: center
}

@media screen and (max-width:834px) {
	.posts-list__cate span {
		font-size: 1.2rem
	}
}

.wp-pagenavi {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 10px 14px
}

@media screen and (max-width:834px) {
	.wp-pagenavi {
		gap: 10px
	}
}

.wp-pagenavi a,
.wp-pagenavi span {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	height: 32px;
	width: 32px;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	background: #fff;
	border: 1px solid #595757;
	font-family: Exo\ 2, sans-serif;
	font-size: 1.4rem;
	padding-bottom: 2px;
	-webkit-transition: all .3s;
	transition: all .3s
}

@media screen and (max-width:834px) {

	.wp-pagenavi a,
	.wp-pagenavi span {
		height: 28px;
		width: 28px
	}
}

.wp-pagenavi a.current,
.wp-pagenavi span.current {
	background: #44b3e1 !important;
	border-color: #44b3e1 !important;
	color: #fff
}

@media (any-hover:hover) {

	.wp-pagenavi a:hover,
	.wp-pagenavi span:hover {
		background: #44b3e1 !important;
		border-color: #44b3e1 !important;
		color: #fff !important;
		-webkit-transition: all .3s;
		transition: all .3s
	}
}

.sec-news-detail {
	padding: 98px 0 156px
}

@media screen and (max-width:834px) {
	.sec-news-detail {
		padding: 50px 0 60px
	}
}

.detail-flex {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex
}

@media screen and (max-width:834px) {
	.detail-flex {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap
	}
}

.detail-flex__left {
	padding-left: 2.75%;
	padding-right: 10.5%;
	width: calc(100% - 200px)
}

@media screen and (max-width:1270px) {
	.detail-flex__left {
		padding-left: 0;
		padding-right: 35px;
		width: calc(100% - 160px)
	}
}

@media screen and (max-width:834px) {
	.detail-flex__left {
		margin-bottom: 50px;
		padding-right: 0;
		width: 100%
	}
}

.detail-flex__meta {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	margin-bottom: 22px;
	-ms-flex-align: center;
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap
}

@media screen and (max-width:834px) {
	.detail-flex__meta {
		margin-bottom: 15px
	}
}

.detail-flex__meta-date {
	color: grey;
	display: block;
	font-family: Exo\ 2, sans-serif;
	font-size: 1.9rem;
	font-weight: 500;
	letter-spacing: 1.5px;
	margin-bottom: 6px
}

@media screen and (max-width:1270px) {
	.detail-flex__meta-date {
		font-size: 1.7rem
	}
}

@media screen and (max-width:834px) {
	.detail-flex__meta-date {
		font-size: 1.6rem;
		letter-spacing: .5px;
		margin-bottom: 4px
	}
}

.detail-flex__meta-cate {
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 5px;
	margin-left: 26px
}

@media screen and (max-width:834px) {
	.detail-flex__meta-cate {
		margin-left: 20px
	}
}

.detail-flex__meta-cate span {
	border: 1px solid #bbbcbc;
	color: #000;
	display: inline-block;
	font-size: 1.3rem;
	margin-top: -5px;
	min-width: 90px;
	padding: 2px 5px 4px;
	text-align: center
}

@media screen and (max-width:834px) {
	.detail-flex__meta-cate span {
		font-size: 1.2rem
	}
}

.detail-flex__ttl {
	border-bottom: 2px solid #64b0db;
	font-size: 2.4rem;
	letter-spacing: .75px;
	line-height: 1.708;
	margin-bottom: 35px;
	padding-bottom: 16px
}

@media screen and (max-width:1270px) {
	.detail-flex__ttl {
		font-size: 2rem;
		letter-spacing: 0
	}
}

@media screen and (max-width:834px) {
	.detail-flex__ttl {
		border-width: 1px;
		font-size: 1.8rem;
		margin-bottom: 20px;
		padding-bottom: 7px
	}
}

.detail-flex__content {
	color: #000;
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 2.1176470588
}

@media screen and (max-width:834px) {
	.detail-flex__content {
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.875
	}
}

.detail-flex__content img {
	margin-bottom: 55px;
	max-width: 100%;
	width: 100%
}

@media screen and (max-width:834px) {
	.detail-flex__content img {
		margin-bottom: 23px
	}
}

.detail-flex__content p {
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 2.1176470588;
	margin-bottom: 35px
}

@media screen and (max-width:834px) {
	.detail-flex__content p {
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.875;
		margin-bottom: 25px
	}
}

.detail-flex__content h1 {
	display: block;
	font-size: 2.5rem;
	-webkit-margin-before: .67em;
	margin-block-start: .67em;
	-webkit-margin-after: .67em;
	margin-block-end: .67em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	font-weight: 700;
	margin-inline-end: 0
}

.detail-flex__content h2 {
	display: block;
	font-size: 2.3rem;
	-webkit-margin-before: .83em;
	margin-block-start: .83em;
	-webkit-margin-after: .83em;
	margin-block-end: .83em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	font-weight: 700;
	margin-inline-end: 0
}

.detail-flex__content h3 {
	display: block;
	font-size: 2.1rem;
	-webkit-margin-before: 1em;
	margin-block-start: 1em;
	-webkit-margin-after: 1em;
	margin-block-end: 1em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	font-weight: 700;
	margin-inline-end: 0
}

.detail-flex__content h4 {
	display: block;
	font-size: 2rem;
	-webkit-margin-before: 1.33em;
	margin-block-start: 1.33em;
	-webkit-margin-after: 1.33em;
	margin-block-end: 1.33em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	font-weight: 700;
	margin-inline-end: 0
}

.detail-flex__content h5 {
	display: block;
	font-size: 1.8rem;
	-webkit-margin-before: 1.67em;
	margin-block-start: 1.67em;
	-webkit-margin-after: 1.67em;
	margin-block-end: 1.67em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	font-weight: 700;
	margin-inline-end: 0
}

.detail-flex__content h6 {
	display: block;
	-webkit-margin-before: 2.33em;
	margin-block-start: 2.33em;
	-webkit-margin-after: 2.33em;
	margin-block-end: 2.33em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	font-weight: 700;
	margin-inline-end: 0
}

.detail-flex__content ol {
	display: block;
	list-style-type: decimal;
	-webkit-margin-before: 1em;
	margin-block-start: 1em;
	-webkit-margin-after: 1em;
	margin-block-end: 1em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	margin-inline-end: 0;
	-webkit-padding-start: 40px;
	padding-inline-start: 40px
}

.detail-flex__content ol li {
	display: list-item;
	list-style: decimal;
	text-align: -webkit-match-parent
}

.detail-flex__content ul {
	display: block;
	list-style-type: disc;
	-webkit-margin-before: 1em;
	margin-block-start: 1em;
	-webkit-margin-after: 1em;
	margin-block-end: 1em;
	-webkit-margin-start: 0;
	margin-inline-start: 0;
	-webkit-margin-end: 0;
	margin-inline-end: 0;
	-webkit-padding-start: 40px;
	padding-inline-start: 40px
}

.detail-flex__content ul li {
	display: list-item;
	list-style: disc;
	text-align: -webkit-match-parent
}

.detail-flex__content del,
.detail-flex__content ins {
	text-decoration: line-through
}

.detail-flex__content a {
	color: #000;
	text-decoration: underline
}

.detail-flex__right {
	width: 200px
}

@media screen and (max-width:1270px) {
	.detail-flex__right {
		width: 160px
	}
}

@media screen and (max-width:834px) {
	.detail-flex__right {
		width: 100%
	}
}

.detail-flex__sidebar-ttl {
	border-bottom: 1px solid #babbbb;
	color: #000;
	font-size: 1.7rem;
	margin-bottom: 28px;
	padding-bottom: 14px
}

@media screen and (max-width:834px) {
	.detail-flex__sidebar-ttl {
		font-size: 1.6rem;
		margin-bottom: 15px;
		padding-bottom: 10px
	}
}

.detail-flex__sidebar-list li:not(:last-child),
.detail-flex__sidebar-list-item:not(:last-child) {
	margin-bottom: 16.5px
}

@media screen and (max-width:834px) {

	.detail-flex__sidebar-list li:not(:last-child),
	.detail-flex__sidebar-list-item:not(:last-child) {
		margin-bottom: 13px
	}
}

.detail-flex__sidebar-list li a,
.detail-flex__sidebar-list-item a {
	color: #000;
	display: block;
	font-size: 1.4rem
}

.detail-flex .wp-pagenavi {
	margin-top: 70px
}

@media screen and (max-width:834px) {
	.detail-flex .wp-pagenavi {
		margin-top: 35px
	}
}

.sec-recruit-page {
	padding: 43px 0 246px
}

@media screen and (max-width:1270px) {
	.sec-recruit-page {
		padding: 40px 0 100px
	}
}

@media screen and (max-width:834px) {
	.sec-recruit-page {
		padding: 40px 0 60px
	}
}

/*# sourceMappingURL=maps/styles.css.map */