@charset 'UTF-8';
.f14
{
    font-size: 14px;
}

@media print, screen and (max-width: 1920px)
{
    .f14
    {
        font-size: calc(14 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f14
    {
        font-size: calc(10 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f14
    {
        font-size: calc(22 / 750 * 100vw);
    }
}

.f15
{
    font-size: 15px;
}

@media print, screen and (max-width: 1920px)
{
    .f15
    {
        font-size: calc(15 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f15
    {
        font-size: calc(11 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f15
    {
        font-size: calc(23 / 750 * 100vw);
    }
}

.f16
{
    font-size: 16px;
}

@media print, screen and (max-width: 1920px)
{
    .f16
    {
        font-size: calc(16 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f16
    {
        font-size: calc(12 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f16
    {
        font-size: calc(24 / 750 * 100vw);
    }
}

.f17
{
    font-size: 17px;
}

@media print, screen and (max-width: 1920px)
{
    .f17
    {
        font-size: calc(17 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f17
    {
        font-size: calc(13 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f17
    {
        font-size: calc(25 / 750 * 100vw);
    }
}

.f18
{
    font-size: 18px;
}

@media print, screen and (max-width: 1920px)
{
    .f18
    {
        font-size: calc(18 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f18
    {
        font-size: calc(14 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f18
    {
        font-size: calc(26 / 750 * 100vw);
    }
}

.f19
{
    font-size: 19px;
}

@media print, screen and (max-width: 1920px)
{
    .f19
    {
        font-size: calc(19 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f19
    {
        font-size: calc(15 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f19
    {
        font-size: calc(27 / 750 * 100vw);
    }
}

.f20
{
    font-size: 20px;
}

@media print, screen and (max-width: 1920px)
{
    .f20
    {
        font-size: calc(20 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f20
    {
        font-size: calc(16 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f20
    {
        font-size: calc(28 / 750 * 100vw);
    }
}

.f21
{
    font-size: 21px;
}

@media print, screen and (max-width: 1920px)
{
    .f21
    {
        font-size: calc(21 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f21
    {
        font-size: calc(17 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f21
    {
        font-size: calc(29 / 750 * 100vw);
    }
}

.f22
{
    font-size: 22px;
}

@media print, screen and (max-width: 1920px)
{
    .f22
    {
        font-size: calc(22 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f22
    {
        font-size: calc(18 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f22
    {
        font-size: calc(30 / 750 * 100vw);
    }
}

.f23
{
    font-size: 23px;
}

@media print, screen and (max-width: 1920px)
{
    .f23
    {
        font-size: calc(23 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f23
    {
        font-size: calc(19 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f23
    {
        font-size: calc(31 / 750 * 100vw);
    }
}

.f24
{
    font-size: 24px;
}

@media print, screen and (max-width: 1920px)
{
    .f24
    {
        font-size: calc(24 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f24
    {
        font-size: calc(20 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f24
    {
        font-size: calc(32 / 750 * 100vw);
    }
}

.f25
{
    font-size: 25px;
}

@media print, screen and (max-width: 1920px)
{
    .f25
    {
        font-size: calc(25 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f25
    {
        font-size: calc(21 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f25
    {
        font-size: calc(33 / 750 * 100vw);
    }
}

.f26
{
    font-size: 26px;
}

@media print, screen and (max-width: 1920px)
{
    .f26
    {
        font-size: calc(26 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f26
    {
        font-size: calc(22 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f26
    {
        font-size: calc(34 / 750 * 100vw);
    }
}

.f27
{
    font-size: 27px;
}

@media print, screen and (max-width: 1920px)
{
    .f27
    {
        font-size: calc(27 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f27
    {
        font-size: calc(23 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f27
    {
        font-size: calc(35 / 750 * 100vw);
    }
}

.f28
{
    font-size: 28px;
}

@media print, screen and (max-width: 1920px)
{
    .f28
    {
        font-size: calc(28 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f28
    {
        font-size: calc(24 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f28
    {
        font-size: calc(36 / 750 * 100vw);
    }
}

.f29
{
    font-size: 29px;
}

@media print, screen and (max-width: 1920px)
{
    .f29
    {
        font-size: calc(29 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f29
    {
        font-size: calc(25 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f29
    {
        font-size: calc(37 / 750 * 100vw);
    }
}

.f30
{
    font-size: 30px;
}

@media print, screen and (max-width: 1920px)
{
    .f30
    {
        font-size: calc(30 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f30
    {
        font-size: calc(26 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f30
    {
        font-size: calc(38 / 750 * 100vw);
    }
}

.f31
{
    font-size: 31px;
}

@media print, screen and (max-width: 1920px)
{
    .f31
    {
        font-size: calc(31 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f31
    {
        font-size: calc(27 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f31
    {
        font-size: calc(39 / 750 * 100vw);
    }
}

.f32
{
    font-size: 32px;
}

@media print, screen and (max-width: 1920px)
{
    .f32
    {
        font-size: calc(32 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f32
    {
        font-size: calc(28 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f32
    {
        font-size: calc(40 / 750 * 100vw);
    }
}

.f33
{
    font-size: 33px;
}

@media print, screen and (max-width: 1920px)
{
    .f33
    {
        font-size: calc(33 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f33
    {
        font-size: calc(29 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f33
    {
        font-size: calc(41 / 750 * 100vw);
    }
}

.f34
{
    font-size: 34px;
}

@media print, screen and (max-width: 1920px)
{
    .f34
    {
        font-size: calc(34 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f34
    {
        font-size: calc(30 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f34
    {
        font-size: calc(42 / 750 * 100vw);
    }
}

.f35
{
    font-size: 35px;
}

@media print, screen and (max-width: 1920px)
{
    .f35
    {
        font-size: calc(35 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f35
    {
        font-size: calc(31 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f35
    {
        font-size: calc(43 / 750 * 100vw);
    }
}

.f36
{
    font-size: 36px;
}

@media print, screen and (max-width: 1920px)
{
    .f36
    {
        font-size: calc(36 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f36
    {
        font-size: calc(32 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f36
    {
        font-size: calc(44 / 750 * 100vw);
    }
}

.f37
{
    font-size: 37px;
}

@media print, screen and (max-width: 1920px)
{
    .f37
    {
        font-size: calc(37 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f37
    {
        font-size: calc(33 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f37
    {
        font-size: calc(45 / 750 * 100vw);
    }
}

.f38
{
    font-size: 38px;
}

@media print, screen and (max-width: 1920px)
{
    .f38
    {
        font-size: calc(38 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f38
    {
        font-size: calc(34 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f38
    {
        font-size: calc(46 / 750 * 100vw);
    }
}

.f39
{
    font-size: 39px;
}

@media print, screen and (max-width: 1920px)
{
    .f39
    {
        font-size: calc(39 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f39
    {
        font-size: calc(35 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f39
    {
        font-size: calc(47 / 750 * 100vw);
    }
}

.f40
{
    font-size: 40px;
}

@media print, screen and (max-width: 1920px)
{
    .f40
    {
        font-size: calc(40 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f40
    {
        font-size: calc(36 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f40
    {
        font-size: calc(48 / 750 * 100vw);
    }
}

.f41
{
    font-size: 41px;
}

@media print, screen and (max-width: 1920px)
{
    .f41
    {
        font-size: calc(41 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f41
    {
        font-size: calc(37 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f41
    {
        font-size: calc(49 / 750 * 100vw);
    }
}

.f42
{
    font-size: 42px;
}

@media print, screen and (max-width: 1920px)
{
    .f42
    {
        font-size: calc(42 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f42
    {
        font-size: calc(38 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f42
    {
        font-size: calc(50 / 750 * 100vw);
    }
}

.f43
{
    font-size: 43px;
}

@media print, screen and (max-width: 1920px)
{
    .f43
    {
        font-size: calc(43 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f43
    {
        font-size: calc(39 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f43
    {
        font-size: calc(51 / 750 * 100vw);
    }
}

.f44
{
    font-size: 44px;
}

@media print, screen and (max-width: 1920px)
{
    .f44
    {
        font-size: calc(44 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f44
    {
        font-size: calc(40 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f44
    {
        font-size: calc(52 / 750 * 100vw);
    }
}

.f45
{
    font-size: 45px;
}

@media print, screen and (max-width: 1920px)
{
    .f45
    {
        font-size: calc(45 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f45
    {
        font-size: calc(41 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f45
    {
        font-size: calc(53 / 750 * 100vw);
    }
}

.f46
{
    font-size: 46px;
}

@media print, screen and (max-width: 1920px)
{
    .f46
    {
        font-size: calc(46 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f46
    {
        font-size: calc(42 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f46
    {
        font-size: calc(54 / 750 * 100vw);
    }
}

.f47
{
    font-size: 47px;
}

@media print, screen and (max-width: 1920px)
{
    .f47
    {
        font-size: calc(47 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f47
    {
        font-size: calc(43 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f47
    {
        font-size: calc(55 / 750 * 100vw);
    }
}

.f48
{
    font-size: 48px;
}

@media print, screen and (max-width: 1920px)
{
    .f48
    {
        font-size: calc(48 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f48
    {
        font-size: calc(44 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f48
    {
        font-size: calc(56 / 750 * 100vw);
    }
}

.f49
{
    font-size: 49px;
}

@media print, screen and (max-width: 1920px)
{
    .f49
    {
        font-size: calc(49 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f49
    {
        font-size: calc(45 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f49
    {
        font-size: calc(57 / 750 * 100vw);
    }
}

.f50
{
    font-size: 50px;
}

@media print, screen and (max-width: 1920px)
{
    .f50
    {
        font-size: calc(50 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f50
    {
        font-size: calc(46 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f50
    {
        font-size: calc(58 / 750 * 100vw);
    }
}

.f51
{
    font-size: 51px;
}

@media print, screen and (max-width: 1920px)
{
    .f51
    {
        font-size: calc(51 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f51
    {
        font-size: calc(47 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f51
    {
        font-size: calc(59 / 750 * 100vw);
    }
}

.f52
{
    font-size: 52px;
}

@media print, screen and (max-width: 1920px)
{
    .f52
    {
        font-size: calc(52 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f52
    {
        font-size: calc(48 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f52
    {
        font-size: calc(60 / 750 * 100vw);
    }
}

.f53
{
    font-size: 53px;
}

@media print, screen and (max-width: 1920px)
{
    .f53
    {
        font-size: calc(53 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f53
    {
        font-size: calc(49 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f53
    {
        font-size: calc(61 / 750 * 100vw);
    }
}

.f54
{
    font-size: 54px;
}

@media print, screen and (max-width: 1920px)
{
    .f54
    {
        font-size: calc(54 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f54
    {
        font-size: calc(50 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f54
    {
        font-size: calc(62 / 750 * 100vw);
    }
}

.f55
{
    font-size: 55px;
}

@media print, screen and (max-width: 1920px)
{
    .f55
    {
        font-size: calc(55 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f55
    {
        font-size: calc(51 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f55
    {
        font-size: calc(63 / 750 * 100vw);
    }
}

.f56
{
    font-size: 56px;
}

@media print, screen and (max-width: 1920px)
{
    .f56
    {
        font-size: calc(56 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f56
    {
        font-size: calc(52 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f56
    {
        font-size: calc(64 / 750 * 100vw);
    }
}

.f57
{
    font-size: 57px;
}

@media print, screen and (max-width: 1920px)
{
    .f57
    {
        font-size: calc(57 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f57
    {
        font-size: calc(53 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f57
    {
        font-size: calc(65 / 750 * 100vw);
    }
}

.f58
{
    font-size: 58px;
}

@media print, screen and (max-width: 1920px)
{
    .f58
    {
        font-size: calc(58 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f58
    {
        font-size: calc(54 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f58
    {
        font-size: calc(66 / 750 * 100vw);
    }
}

.f59
{
    font-size: 59px;
}

@media print, screen and (max-width: 1920px)
{
    .f59
    {
        font-size: calc(59 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f59
    {
        font-size: calc(55 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f59
    {
        font-size: calc(67 / 750 * 100vw);
    }
}

.f60
{
    font-size: 60px;
}

@media print, screen and (max-width: 1920px)
{
    .f60
    {
        font-size: calc(60 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f60
    {
        font-size: calc(56 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f60
    {
        font-size: calc(68 / 750 * 100vw);
    }
}

.f61
{
    font-size: 61px;
}

@media print, screen and (max-width: 1920px)
{
    .f61
    {
        font-size: calc(61 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f61
    {
        font-size: calc(57 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f61
    {
        font-size: calc(69 / 750 * 100vw);
    }
}

.f62
{
    font-size: 62px;
}

@media print, screen and (max-width: 1920px)
{
    .f62
    {
        font-size: calc(62 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f62
    {
        font-size: calc(58 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f62
    {
        font-size: calc(70 / 750 * 100vw);
    }
}

.f63
{
    font-size: 63px;
}

@media print, screen and (max-width: 1920px)
{
    .f63
    {
        font-size: calc(63 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f63
    {
        font-size: calc(59 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f63
    {
        font-size: calc(71 / 750 * 100vw);
    }
}

.f64
{
    font-size: 64px;
}

@media print, screen and (max-width: 1920px)
{
    .f64
    {
        font-size: calc(64 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f64
    {
        font-size: calc(60 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f64
    {
        font-size: calc(72 / 750 * 100vw);
    }
}

.f65
{
    font-size: 65px;
}

@media print, screen and (max-width: 1920px)
{
    .f65
    {
        font-size: calc(65 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f65
    {
        font-size: calc(61 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f65
    {
        font-size: calc(73 / 750 * 100vw);
    }
}

.f66
{
    font-size: 66px;
}

@media print, screen and (max-width: 1920px)
{
    .f66
    {
        font-size: calc(66 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f66
    {
        font-size: calc(62 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f66
    {
        font-size: calc(74 / 750 * 100vw);
    }
}

.f67
{
    font-size: 67px;
}

@media print, screen and (max-width: 1920px)
{
    .f67
    {
        font-size: calc(67 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f67
    {
        font-size: calc(63 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f67
    {
        font-size: calc(75 / 750 * 100vw);
    }
}

.f68
{
    font-size: 68px;
}

@media print, screen and (max-width: 1920px)
{
    .f68
    {
        font-size: calc(68 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f68
    {
        font-size: calc(64 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f68
    {
        font-size: calc(76 / 750 * 100vw);
    }
}

.f69
{
    font-size: 69px;
}

@media print, screen and (max-width: 1920px)
{
    .f69
    {
        font-size: calc(69 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f69
    {
        font-size: calc(65 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f69
    {
        font-size: calc(77 / 750 * 100vw);
    }
}

.f70
{
    font-size: 70px;
}

@media print, screen and (max-width: 1920px)
{
    .f70
    {
        font-size: calc(70 / 1920 * 100vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .f70
    {
        font-size: calc(66 / 1024 * 100vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .f70
    {
        font-size: calc(78 / 750 * 100vw);
    }
}

html,
body
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;

    text-align: center;

    color: #383838;
}

a
{
    text-decoration: none;

    color: #383838;
}

.sp
{
    display: none !important;
}

@media print, screen and (max-width: 430px)
{
    .sp
    {
        display: block !important;
    }
}

.pd
{
    display: none !important;
}

@media print, screen and (max-width: 1025px)
{
    .pd
    {
        display: block !important;
    }
}

@media print, screen and (max-width: 430px)
{
    .pd
    {
        display: none !important;
    }
}

.pc
{
    display: block;
}

@media print, screen and (max-width: 430px)
{
    .pc
    {
        display: none !important;
    }
}

.pc--ajt
{
    display: block;
}

@media print, screen and (max-width: 1025px)
{
    .pc--ajt
    {
        display: none !important;
    }
}

@media print, screen and (max-width: 430px)
{
    .pc--ajt
    {
        display: none !important;
    }
}

.spi
{
    display: none;
}

@media print, screen and (max-width: 430px)
{
    .spi
    {
        display: inline;
    }
}

.pdi
{
    display: none;
}

@media print, screen and (max-width: 1025px)
{
    .pdi
    {
        display: inline;
    }
}

@media print, screen and (max-width: 430px)
{
    .pdi
    {
        display: inline;
    }
}

.pci
{
    display: inline;
}

@media print, screen and (max-width: 430px)
{
    .pci
    {
        display: none;
    }
}

.fadeUp
{
    -webkit-transition: all 1s;
            transition: all 1s;
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);

    opacity: 0;
}

.is-active.fadeUp
{
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);

    opacity: 1;
}

.fadeUp-02
{
    -webkit-transition: 900ms cubic-bezier(.25, .46, .45, .94);
            transition: 900ms cubic-bezier(.25, .46, .45, .94);
    -webkit-transition-property: opacity,-webkit-transform;
            transition-property: opacity,-webkit-transform;
            transition-property: opacity,transform;
            transition-property: opacity,transform,-webkit-transform;
    -webkit-transform: translate3d(0, 20px, 0);
            transform: translate3d(0, 20px, 0);

    opacity: 0;

    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
}

.is-shown.fadeUp-02
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    opacity: 1;
}

.inview-blur
{
    -webkit-transition: -webkit-transform .5s linear;
            transition: -webkit-transform .5s linear;
            transition:         transform .5s linear;
            transition:         transform .5s linear, -webkit-transform .5s linear;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;

    opacity: 0;

    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}

.is-shown.inview-blur
{
    -webkit-transition: .8s;
            transition: .8s;
    -webkit-animation-name: imageBlur;
            animation-name: imageBlur;

    opacity: 1;
}

.is-shown.inview-blur--delay01
{
    -webkit-animation-delay: 1.3s;
            animation-delay: 1.3s;
}

.is-shown.inview-blur--delay02
{
    -webkit-animation-delay: 1.6s;
            animation-delay: 1.6s;
}

.is-shown.inview-blur--delay03
{
    -webkit-animation-delay: 1.9s;
            animation-delay: 1.9s;
}

.is-shown.inview-blur--delay04
{
    -webkit-animation-delay: 2.2s;
            animation-delay: 2.2s;
}

.is-shown.inview-blur--delay05
{
    -webkit-animation-delay: 1.9s;
            animation-delay: 1.9s;
}

.is-shown.inview-blur--delay06
{
    -webkit-animation-delay: 2.2s;
            animation-delay: 2.2s;
}

@-webkit-keyframes imageBlur
{
    from
    {
        opacity: 0;

        -webkit-filter: blur(15px);
                filter: blur(15px);
    }
    to
    {
        opacity: 1;

        -webkit-filter: blur(0px);
                filter: blur(0px);
    }
}

@keyframes imageBlur
{
    from
    {
        opacity: 0;

        -webkit-filter: blur(15px);
                filter: blur(15px);
    }
    to
    {
        opacity: 1;

        -webkit-filter: blur(0px);
                filter: blur(0px);
    }
}

/* ============== .l-sec ============== */
.l-sec
{
    width: 100%;
}

.l-sec__inner
{
    width: 87.5vw;
    max-width: 1680px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1025px)
{
    .l-sec__inner
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .l-sec__inner
    {
        width: 92vw;
    }
}

.l-sec__innerShort
{
    width: 1366px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .l-sec__innerShort
    {
        width: 71.14583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .l-sec__innerShort
    {
        width: 80.46875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .l-sec__innerShort
    {
        width: 92vw;
    }
}

.l-sec--fixed
{
    overflow: hidden;
}

/* ============== .head ============== */
.head
{
    position: absolute;
    z-index: 9999;
    top: 0;
    left: 0;

    width: 100%;
    height: 92px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .head
    {
        height: 4.79167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head
    {
        height: 10.15625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head
    {
        height: 17.33333vw;
    }
}

.head.is-fixed
{
    position: fixed;

    background-color: rgba(216, 235, 232, .15);
    -webkit-box-shadow: 0 3px 20px rgba(0, 35, 87, .12);
            box-shadow: 0 3px 20px rgba(0, 35, 87, .12);

    backdrop-filter: blur(5px);
}

@media print, screen and (max-width: 1920px)
{
    .head.is-fixed
    {
        -webkit-box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .12);
                box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .12);
    }
}

@media print, screen and (max-width: 430px)
{
    .head.is-fixed
    {
        -webkit-box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .12);
                box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .12);
    }
}

@media print, screen and (max-width: 1025px)
{
    .head--open .head__logo
    {
        pointer-events: none;

        opacity: 0;
    }
}

.head__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    height: 100%;
    padding: 0 70px;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .head__inner
    {
        padding: 0 3.64583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__inner
    {
        padding: 0 2.34375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__inner
    {
        padding: 0 4vw;
    }
}

.head__logo
{
    width: 194px;
}

@media print, screen and (max-width: 1920px)
{
    .head__logo
    {
        width: 10.10417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__logo
    {
        width: 25.78125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__logo
    {
        width: 46.26667vw;
    }
}

.head__logoLink
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.head__logoImg
{
    width: 32px;
}

@media print, screen and (max-width: 1920px)
{
    .head__logoImg
    {
        width: 1.66667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__logoImg
    {
        width: 4.49219vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__logoImg
    {
        width: 7.73333vw;
    }
}

.head__logoImg > img
{
    display: block;

    width: 100%;
}

.head__logoTxt
{
    font-weight: 500;

    letter-spacing: 0;

    color: #383838;
}

@media print, screen and (max-width: 1025px)
{
    .head__logoTxt.f19
    {
        font-size: 2.44141vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__logoTxt.f19
    {
        font-size: 4.53333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__nav
    {
        display: none;
    }
}

.head__listBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 60px;
}

@media print, screen and (max-width: 1920px)
{
    .head__listBox
    {
        gap: 3.125vw;
    }
}

.head__link
{
    font-weight: 500;

    display: block;

    letter-spacing: .05em;
}

.head__link > span
{
    position: relative;

    padding-bottom: 5px;
}

@media print, screen and (max-width: 1920px)
{
    .head__link > span
    {
        padding-bottom: .26042vw;
    }
}

.head__link > span:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 1px;

    content: '';
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;

    background-color: #000;
}

.head__link:hover > span:before
{
    width: 100%;
}

.head__spNav
{
    display: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav
    {
        position: relative;
        z-index: 1;

        display: block;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 7.03125vw;
        height: 7.03125vw;

        cursor: pointer;

        border-radius: .58594vw;
        background-color: rgba(2, 66, 74, .5);

        backdrop-filter: blur(1.46484vw);
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav
    {
        width: 12vw;
        height: 12vw;

        border-radius: .8vw;

        backdrop-filter: blur(2vw);
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav > span
    {
        position: absolute;
        right: 0;
        left: 0;

        width: 2.73438vw;
        height: 1px;
        margin: 0 auto;

        -webkit-transition: all .3s ease-out;
                transition: all .3s ease-out;

        background-color: #fff;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav > span
    {
        width: 4.8vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav > span:nth-of-type(1)
    {
        top: 2.34375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav > span:nth-of-type(1)
    {
        top: 4.06667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav > span:nth-of-type(2)
    {
        top: 3.41797vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav > span:nth-of-type(2)
    {
        top: 5.93333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav > span:nth-of-type(3)
    {
        top: 4.58984vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav > span:nth-of-type(3)
    {
        top: 7.93333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav--open
    {
        background-color: transparent;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav--open > span:nth-of-type(1)
    {
        top: 3.41797vw;

        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav--open > span:nth-of-type(1)
    {
        top: 5.93333vw;
    }
}

.head__spNav--open > span:nth-of-type(2)
{
    display: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__spNav--open > span:nth-of-type(3)
    {
        top: 3.41797vw;

        -webkit-transform: rotate(135deg);
                transform: rotate(135deg);
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spNav--open > span:nth-of-type(3)
    {
        top: 5.93333vw;
    }
}

.head__spMenu
{
    position: fixed;
    z-index: 8888;
    top: 0;
    right: 0;

    overflow: scroll;

    width: 100%;
    height: 100vh;

    -webkit-transition: background-color .8s ease, opacity .8s ease;
            transition: background-color .8s ease, opacity .8s ease;
    pointer-events: none;

    opacity: 0;
    background-color: rgba(2, 66, 74, .5);

    -webkit-overflow-scrolling: touch;
    backdrop-filter: blur(15px);
}

.head__spMenu--open
{
    pointer-events: auto;

    opacity: 1;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuContent
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        height: auto;
        min-height: 100vh;
        padding: 20vw 13.33333vw 0;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuContent
    {
            flex-direction: column;

        padding: 35.33333vw 13.33333vw 0;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.head__spMenuItem
{
    list-style-type: none;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuItem
    {
        padding: 3.71094vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuItem
    {
        padding: 5.06667vw 0;
    }
}

.head__spMenuLink
{
    display: block;
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuLink
    {
        font-weight: 500;

        text-align: left;
        letter-spacing: .05em;

        color: white;
    }
}

@media print, screen and (max-width: 1025px)
{
    .head__spMenuLink.f22
    {
        font-size: 3.32031vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .head__spMenuLink.f22
    {
        font-size: 4.53333vw;
    }
}

/* ============== .foot ============== */
.foot
{
    width: 100%;
}

.foot__inner
{
    position: relative;
    z-index: 1;

    padding: 60px 0;

    border-top: 1px solid white;
}

@media print, screen and (max-width: 1920px)
{
    .foot__inner
    {
        padding: 3.125vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__inner
    {
        padding: 5.85938vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__inner
    {
        padding: 8vw 0;
    }
}

.foot__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

@media print, screen and (max-width: 430px)
{
    .foot__cont
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.foot__lBox
{
    width: 296px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__lBox
    {
        width: 15.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__lBox
    {
        width: 25.39062vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__lBox
    {
        width: 48.66667vw;
        margin-bottom: 6.66667vw;
    }
}

.foot__logoBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.foot__logoImg
{
    width: 49px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__logoImg
    {
        width: 2.55208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__logoImg
    {
        width: 3.90625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__logoImg
    {
        width: 6.53333vw;
    }
}

.foot__logoImg > img
{
    display: block;

    width: 100%;
}

.foot__logoTxt
{
    font-weight: 500;

    letter-spacing: 0;

    color: #fff;
}

.foot__copyTxt
{
    font-weight: 400;

    margin-top: 86px;

    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .foot__copyTxt
    {
        margin-top: 4.47917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__copyTxt
    {
        margin-top: 12.69531vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__copyTxt
    {
        margin-top: 6.66667vw;
    }
}

.foot__cBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 620px;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .foot__cBox
    {
        width: 32.29167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__cBox
    {
        width: 48.82812vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__cBox
    {
            flex-direction: column;

        width: 100%;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 4vw;
    }
}

.foot__listBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    gap: 18px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__listBox
    {
        gap: .9375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__listBox
    {
        gap: 1.75781vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__listBox
    {
        width: 100%;

        gap: 3.33333vw;
    }
}

.foot__link
{
    font-weight: 500;

    display: block;

    text-align: left;
    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 430px)
{
    .foot__link.f20
    {
        font-size: 4.26667vw;
    }
}

.foot__link > span
{
    position: relative;

    padding-bottom: 2px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__link > span
    {
        padding-bottom: .10417vw;
    }
}

.foot__link > span:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 1px;

    content: '';
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;

    background-color: white;
}

.foot__link:hover > span:before
{
    width: 100%;
}

@media print, screen and (max-width: 430px)
{
    .foot__link:hover > span:before
    {
        width: 0;
    }
}

.foot__subLinkBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    gap: 12px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__subLinkBox
    {
        gap: .625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__subLinkBox
    {
        gap: 1.17188vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__subLinkBox
    {
        gap: 2.66667vw;
    }
}

.foot__subLink
{
    font-weight: 500;

    display: block;

    text-align: left;
    letter-spacing: .05em;

    color: #fff;
}

.foot__subLink > span
{
    position: relative;

    padding-bottom: 2px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__subLink > span
    {
        padding-bottom: .10417vw;
    }
}

.foot__subLink > span:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 0;
    height: 1px;

    content: '';
    -webkit-transition: all .3s ease-out;
            transition: all .3s ease-out;

    background-color: white;
}

.foot__subLink:hover > span:before
{
    width: 100%;
}

@media print, screen and (max-width: 430px)
{
    .foot__subLink:hover > span:before
    {
        width: 0;
    }
}

.foot__rBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 40px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__rBox
    {
        gap: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__rBox
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        gap: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__rBox
    {
            flex-direction: row;

        margin-top: 6.66667vw;

        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 5.33333vw;
    }
}

.foot__snsLink:hover
{
    opacity: .6;
}

.foot__line
{
    display: block;

    width: 35.4px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__line
    {
        width: 1.84375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__line
    {
        width: 2.73438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__line
    {
        width: 8vw;
    }
}

.foot__line > img
{
    display: block;

    width: 100%;
}

.foot__x
{
    display: block;

    width: 30.66px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__x
    {
        width: 1.59688vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__x
    {
        width: 2.34375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__x
    {
        width: 6.8vw;
    }
}

.foot__x > img
{
    display: block;

    width: 100%;
}

.foot__insta
{
    display: block;

    width: 35.72px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__insta
    {
        width: 1.86042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__insta
    {
        width: 2.73438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__insta
    {
        width: 8vw;
    }
}

.foot__insta > img
{
    display: block;

    width: 100%;
}

.foot__note
{
    display: block;

    width: 91.15px;
}

@media print, screen and (max-width: 1920px)
{
    .foot__note
    {
        width: 4.7474vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .foot__note
    {
        width: 7.03125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .foot__note
    {
        width: 20.53333vw;
    }
}

.foot__note > img
{
    display: block;

    width: 100%;
}

/* ============== .fv ============== */
.fv
{
    width: 100%;
    margin-top: -300px;
}

@media print, screen and (max-width: 1920px)
{
    .fv
    {
        margin-top: -15.625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .fv
    {
        margin-top: -27.34375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .fv
    {
        margin-top: -66.66667vw;
        margin-left: -4vw;
    }
}

.fv__txtWrp
{
    overflow: hidden;
}

.fv__mainTxt
{
    width: 1011.91px;

    -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
            transition: opacity .8s ease, -webkit-transform .8s ease;
            transition: opacity .8s ease, transform .8s ease;
            transition: opacity .8s ease, transform .8s ease, -webkit-transform .8s ease;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);

    opacity: 0;
}

@media print, screen and (max-width: 1920px)
{
    .fv__mainTxt
    {
        width: 52.70365vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .fv__mainTxt
    {
        width: 78.125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .fv__mainTxt
    {
        width: 87.35333vw;
    }
}

.fv__mainTxt > img
{
    display: block;

    width: 100%;
}

.fv__mainTxt.is-fadeUp
{
    -webkit-transform: translateY(0);
            transform: translateY(0);

    opacity: 1;
}

/* ============== .fixedSec ============== */
.fixedSec
{
    width: 100%;
}

.fixedSec__movie
{
    position: sticky;
    z-index: -1;
    top: 0;

    width: 100%;
    height: 100dvh;
    height: 100vh;
}

.fixedSec__movie:before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-color: rgba(123, 123, 123, .22);
}

.fixedSec__video
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
}

/* ============== .leadSec ============== */
.leadSec
{
    position: relative;

    width: 100%;
    padding-top: 127px;
    padding-bottom: 194px;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec
    {
        padding-top: 6.61458vw;
        padding-bottom: 10.10417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec
    {
        padding-top: 12.40234vw;
        padding-bottom: 9.76562vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec
    {
        padding-top: 98vw;
        padding-bottom: 20.66667vw;
    }
}

.leadSec:before
{
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 1391px;

    content: '';

    background-image: url(../images/img_lead_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec:before
    {
        height: 72.44792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec:before
    {
        height: 107.42188vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec:before
    {
        height: 252.53333vw;

        background-image: url(../images/img_lead_bg_sp.png);
    }
}

.leadSec__map
{
    position: relative;
    position: absolute;
    bottom: 0;
    left: 0;

    width: 683px;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__map
    {
        width: 35.57292vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__map
    {
        bottom: 18.4vw;

        width: 100%;
    }
}

.leadSec__map > img
{
    display: block;

    width: 100%;
}

.leadSec__pin
{
    position: relative;
    position: absolute;
    right: 140px;
    bottom: 729px;

    width: 20px;
    height: 20px;

    border-radius: 50%;
    background-color: rgba(255, 255, 255, .4);
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__pin
    {
        right: 7.29167vw;
        bottom: 37.96875vw;

        width: 1.04167vw;
        height: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__pin
    {
        right: 5.66406vw;
        bottom: 51.75781vw;

        width: .97656vw;
        height: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__pin
    {
        top: 34.66667vw;
        right: 17.33333vw;
        bottom: auto;

        width: 2.66667vw;
        height: 2.66667vw;
    }
}

.leadSec__pin:before
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;

    width: 20px;
    height: 20px;

    content: '';
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-animation: animation 2s ease-out infinite;
            animation: animation 2s ease-out infinite;

    border-radius: 50%;
    background-color: rgba(255, 255, 255, .4);
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__pin:before
    {
        width: 1.04167vw;
        height: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__pin:before
    {
        width: .97656vw;
        height: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__pin:before
    {
        width: 2.66667vw;
        height: 2.66667vw;
    }
}

.leadSec__pin:after
{
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;

    width: 20px;
    height: 20px;

    content: '';
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-animation: animation 2s ease-out 1s infinite;
            animation: animation 2s ease-out 1s infinite;

    border-radius: 50%;
    background-color: rgba(255, 255, 255, .4);
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__pin:after
    {
        width: 1.04167vw;
        height: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__pin:after
    {
        width: .97656vw;
        height: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__pin:after
    {
        width: 2.66667vw;
        height: 2.66667vw;
    }
}

@-webkit-keyframes animation
{
    0%
    {
        opacity: 1;

        transfrom: scale(.95);
    }
    90%
    {
        opacity: .1;
    }
    to
    {
        -webkit-transform: scale(3);
                transform: scale(3);

        opacity: 0;
    }
}

@keyframes animation
{
    0%
    {
        opacity: 1;

        transfrom: scale(.95);
    }
    90%
    {
        opacity: .1;
    }
    to
    {
        -webkit-transform: scale(3);
                transform: scale(3);

        opacity: 0;
    }
}

.leadSec__cont
{
    width: 1090px;
    margin: 307px 0 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__cont
    {
        width: 56.77083vw;
        margin: 15.98958vw 0 0 auto;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__cont
    {
        margin: 14.64844vw 0 0 auto;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__cont
    {
        width: 100%;
        margin: 0 auto;
    }
}

.leadSec__lead
{
    font-family: 'Shippori Mincho', serif;
    font-family: 'Shippori Mincho';
    font-weight: 600;
    line-height: 3.16;

    text-align: left;
    letter-spacing: .05em;

    color: white;
    text-shadow: 0 3px 10px rgba(0, 0, 0, .16);
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__lead
    {
        text-shadow: 0vw .15625vw .52083vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__lead
    {
        text-shadow: 0vw .29297vw .97656vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__lead
    {
        line-height: 2.53;

        text-shadow: 0vw .4vw 1.33333vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__lead.f24
    {
        font-size: 3.86667vw;
    }
}

.leadSec__txtBox
{
    margin-top: 69px;

    text-align: left;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__txtBox
    {
        margin-top: 3.59375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__txtBox
    {
        margin-top: 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__txtBox
    {
        margin-top: 5.86667vw;
    }
}

.leadSec__item
{
    width: 100%;
    margin-bottom: 41px;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__item
    {
        margin-bottom: 2.13542vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__item
    {
        margin-bottom: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__item
    {
        margin-bottom: 6vw;
    }
}

.leadSec__item:last-child
{
    margin-bottom: 0;
}

.leadSec__ttl
{
    font-family: 'Shippori Mincho', serif;
    font-weight: 600;

    margin-bottom: 19px;

    letter-spacing: .05em;

    color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__ttl
    {
        margin-bottom: .98958vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__ttl
    {
        margin-bottom: 1.36719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__ttl
    {
        margin-bottom: 3.33333vw;
    }
}

.leadSec__ttl > span
{
    padding: 0 18px;

    background-color: white;
}

@media print, screen and (max-width: 1920px)
{
    .leadSec__ttl > span
    {
        padding: 0 .9375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .leadSec__ttl > span
    {
        padding: 0 1.36719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__ttl > span
    {
        padding: 0 2.4vw .66667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__ttl.f24
    {
        font-size: 4.53333vw;
    }
}

.leadSec__txt
{
    font-family: 'Shippori Mincho', serif;
    font-weight: 600;
    line-height: 1.3;

    letter-spacing: .05em;

    color: white;
}

@media print, screen and (max-width: 430px)
{
    .leadSec__txt
    {
        line-height: 1.67;
    }
}

@media print, screen and (max-width: 430px)
{
    .leadSec__txt.f22
    {
        font-size: 3.6vw;
    }
}

/* ============== .gallery ============== */
.gallery
{
    width: 100%;
}

.gallery__pinContainer
{
    position: relative;
    z-index: 1;

    height: 300vh;
}

.gallery__pinElement
{
    position: sticky;
    top: 0;

    height: 100vh;
}

.gallery__slider
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 100vh;
}

.gallery__item
{
    position: absolute;
    top: 0;
    left: 0;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-clip-path: inset(0% 0% 100%);
            clip-path: inset(0% 0% 100%);
    will-change: clip-path;
}

@media print, screen and (max-width: 430px)
{
    .gallery__item
    {
        width: 100%;
        height: 100%;

        all: unset;
    }
}

.gallery__photo
{
    width: 49.89583vw;
}

@media print, screen and (max-width: 430px)
{
    .gallery__photo
    {
        position: absolute;
        top: 0;
        left: 0;

        width: 100%;
    }
}

.gallery__photo > img
{
    display: block;

    width: 100%;
    height: 100vh;

    -o-object-fit: cover;
       object-fit: cover;
}

/* ============== .gradationSec ============== */
.gradationSec
{
    position: fixed;
    z-index: -10;
    top: 0;
    left: 0;

    width: 100%;
    height: 100dvh;
    height: 100vh;

    pointer-events: none;
}

.gradationSec:before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_gradation_bg02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    mix-blend-mode: color-burn;
}

.gradationSec:after
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-color: rgba(60, 60, 60, .1);
}

.gradationSec__base
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background-color: #c8d9d7;
}

.gradationSec__gradetions
{
    position: fixed;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: 100%;
}

.gradationSec__gradetionsItem
{
    position: absolute;

    width: 50%;
    height: 50%;

    list-style-type: none;

    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-animation-name: kf-rotate-item;
            animation-name: kf-rotate-item;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
}

.gradationSec__gradetionsItem:nth-child(1)
{
    z-index: 4;
    top: -25%;
    left: -20%;

    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-animation-duration: 15s;
            animation-duration: 15s;

    will-change: transform;
}

.gradationSec__gradetionsItem:nth-child(1) .gradationSec__round
{
    z-index: 2;
    top: 0;

    width: 106.149341142vw;
    height: 73.2064421669vw;

    -webkit-animation: kf-flash 10s linear infinite;
            animation: kf-flash 10s linear infinite;

    background-color: #e4e2c6;
    -webkit-box-shadow: 150px 50px 200px 200px #e4e2c6b3;
            box-shadow: 150px 50px 200px 200px #e4e2c6b3;

    -webkit-filter: blur(100px);
            filter: blur(100px);
    will-change: opacity;
}

@media print, screen and (max-width: 430px)
{
    .gradationSec__gradetionsItem:nth-child(1) .gradationSec__round
    {
        width: 100vw;
        height: 115.2vw;
    }
}

.gradationSec__gradetionsItem:nth-child(2)
{
    z-index: 4;
    bottom: 0;
    left: -30%;

    -webkit-animation: none;
            animation: none;
}

@media print, screen and (max-width: 430px)
{
    .gradationSec__gradetionsItem:nth-child(2)
    {
        bottom: 15%;
    }
}

.gradationSec__gradetionsItem:nth-child(2) .gradationSec__round
{
    top: 0;

    width: 109.8096632504vw;
    height: 102.4890190337vw;

    -webkit-animation: kf-flash03 12s linear infinite, kf-scale02 15s linear infinite;
            animation: kf-flash03 12s linear infinite, kf-scale02 15s linear infinite;

    background: #b4c690;
    -webkit-box-shadow: 50px -15px 100px 100px #b4c690b3;
            box-shadow: 50px -15px 100px 100px #b4c690b3;

    -webkit-filter: blur(100px);
            filter: blur(100px);
    will-change: opacity;
}

@media print, screen and (max-width: 430px)
{
    .gradationSec__gradetionsItem:nth-child(2) .gradationSec__round
    {
        width: 88vw;
        height: 66.6666666667vw;
    }
}

.gradationSec__gradetionsItem:nth-child(3)
{
    z-index: 1;
    top: -45%;
    right: -30%;

    -webkit-animation: none;
            animation: none;
}

@media print, screen and (max-width: 430px)
{
    .gradationSec__gradetionsItem:nth-child(3)
    {
        top: -1%;
        right: 0;
    }
}

.gradationSec__gradetionsItem:nth-child(3) .gradationSec__round
{
    width: 36.6032210835vw;
    height: 36.6032210835vw;

    -webkit-animation: kf-morphing03 10s linear infinite, kf-flash03 10s linear infinite, kf-scale03 15s linear infinite;
            animation: kf-morphing03 10s linear infinite, kf-flash03 10s linear infinite, kf-scale03 15s linear infinite;

    border-radius: 70% 70% 70% 30% / 30% 30% 70% 70%;
    background-color: #6dceba;
    -webkit-box-shadow: -80px 80px 150px 150px #6dceba80;
            box-shadow: -80px 80px 150px 150px #6dceba80;

    -webkit-filter: blur(60px);
            filter: blur(60px);
    will-change: opacity, transform;
}

@media print, screen and (max-width: 430px)
{
    .gradationSec__gradetionsItem:nth-child(3) .gradationSec__round
    {
        width: 66.6666666667vw;
        height: 66.6666666667vw;
    }
}

.gradationSec__gradetionsItem:nth-child(4)
{
    z-index: 5;
    bottom: -18%;
    left: 28%;

    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-duration: 35s;
            animation-duration: 35s;
    -webkit-animation-timing-function: cubic-bezier(.57, .21, .69, 1.25);
            animation-timing-function: cubic-bezier(.57, .21, .69, 1.25);
    animation-direction: alternate-reverse;

    will-change: transform;
}

@media print, screen and (max-width: 430px)
{
    .gradationSec__gradetionsItem:nth-child(4)
    {
        bottom: -10%;
        left: 0;
    }
}

.gradationSec__gradetionsItem:nth-child(4) .gradationSec__round
{
    width: 80.5270863836vw;
    height: 65.8857979502vw;

    -webkit-animation: kf-flash04 10s linear infinite, kf-scale04 12s linear infinite;
            animation: kf-flash04 10s linear infinite, kf-scale04 12s linear infinite;

    background-color: #6184e2;

    -webkit-filter: blur(110px);
            filter: blur(110px);
    will-change: opacity, transform;
}

@media print, screen and (max-width: 430px)
{
    .gradationSec__gradetionsItem:nth-child(4) .gradationSec__round
    {
        width: 100vw;
        height: 77.3333333333vw;
    }
}

.gradationSec__round
{
    position: relative;

    border-radius: 50%;
}

@-webkit-keyframes kf-rotate-item
{
    0%
    {
        -webkit-transform: rotate(0);
                transform: rotate(0);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes kf-rotate-item
{
    0%
    {
        -webkit-transform: rotate(0);
                transform: rotate(0);
    }
    100%
    {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@-webkit-keyframes kf-flash
{
    0%,
    100%
    {
        opacity: 1;
    }
    50%
    {
        opacity: .9;
    }
}

@keyframes kf-flash
{
    0%,
    100%
    {
        opacity: 1;
    }
    50%
    {
        opacity: .9;
    }
}

@-webkit-keyframes kf-flash03
{
    0%,
    100%
    {
        opacity: 1;
    }
    55%
    {
        opacity: .85;
    }
}

@keyframes kf-flash03
{
    0%,
    100%
    {
        opacity: 1;
    }
    55%
    {
        opacity: .85;
    }
}

@-webkit-keyframes kf-scale02
{
    0%,
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
    50%
    {
        -webkit-transform: scale(1.08);
                transform: scale(1.08);
    }
    75%
    {
        -webkit-transform: scale(1.2) translate(-40px, 25px);
                transform: scale(1.2) translate(-40px, 25px);
    }
}

@keyframes kf-scale02
{
    0%,
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
    50%
    {
        -webkit-transform: scale(1.08);
                transform: scale(1.08);
    }
    75%
    {
        -webkit-transform: scale(1.2) translate(-40px, 25px);
                transform: scale(1.2) translate(-40px, 25px);
    }
}

@-webkit-keyframes kf-morphing03
{
}

@keyframes kf-morphing03
{
}@-webkit-keyframes kf-scale03
{
    0%,
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
    50%
    {
        -webkit-transform: scale(1.1);
                transform: scale(1.1);
    }
    75%
    {
        -webkit-transform: scale(1.15);
                transform: scale(1.15);
    }
}@keyframes kf-scale03
{
    0%,
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
    50%
    {
        -webkit-transform: scale(1.1);
                transform: scale(1.1);
    }
    75%
    {
        -webkit-transform: scale(1.15);
                transform: scale(1.15);
    }
}

@-webkit-keyframes kf-flash04
{
    0%,
    100%
    {
        opacity: 1;
    }
    60%
    {
        opacity: .75;
    }
}

@keyframes kf-flash04
{
    0%,
    100%
    {
        opacity: 1;
    }
    60%
    {
        opacity: .75;
    }
}

@-webkit-keyframes kf-scale04
{
    0%,
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
    50%
    {
        -webkit-transform: scale(1.1) translate(-20px, -25px);
                transform: scale(1.1) translate(-20px, -25px);
    }
    75%
    {
        -webkit-transform: scale(.9);
                transform: scale(.9);
    }
}

@keyframes kf-scale04
{
    0%,
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
    50%
    {
        -webkit-transform: scale(1.1) translate(-20px, -25px);
                transform: scale(1.1) translate(-20px, -25px);
    }
    75%
    {
        -webkit-transform: scale(.9);
                transform: scale(.9);
    }
}

/* ============== .topNews ============== */
.topNews
{
    width: 100%;
    padding-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .topNews
    {
        padding-top: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topNews
    {
        padding-top: 9.76562vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews
    {
        padding-top: 20vw;
    }
}

.topNews__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 120px 90px;

    background-color: rgba(255, 255, 255, .4);
    -webkit-box-shadow: 0 3px 30px rgba(0, 60, 67, .2);
            box-shadow: 0 3px 30px rgba(0, 60, 67, .2);

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__cont
    {
        padding: 6.25vw 4.6875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews__cont
    {
            flex-direction: column;

        padding: 10.66667vw 6.66667vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.topNews__lBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    width: 225px;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__lBox
    {
        width: 11.71875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topNews__lBox
    {
        width: 19.53125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews__lBox
    {
        width: 100%;
        margin-bottom: 6.66667vw;
    }
}

.topNews__rBox
{
    width: 1100px;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__rBox
    {
        width: 57.29167vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews__rBox
    {
        width: 100%;
    }
}

.topNews__btn
{
    margin: auto 0 0 0;
}

@media print, screen and (max-width: 430px)
{
    .topNews__btn
    {
        margin-top: 6.66667vw;
    }
}

.topNews__item
{
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 41px 45px;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__item
    {
        padding: 2.13542vw 2.34375vw;

        gap: .52083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topNews__item
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews__item
    {
        padding: 6.66667vw 2.66667vw;

        gap: 2.66667vw;
    }
}

.topNews__item:nth-child(1)
{
    padding-top: 20px;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__item:nth-child(1)
    {
        padding-top: 1.04167vw;
    }
}

.topNews__item:before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 1px;

    content: '';

    background-color: white;
}

.topNews__item:hover .topNews__txt:before
{
    -webkit-transition: -webkit-transform .3s ease-out;
            transition: -webkit-transform .3s ease-out;
            transition:         transform .3s ease-out;
            transition:         transform .3s ease-out, -webkit-transform .3s ease-out;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
}

@media print, screen and (max-width: 1025px)
{
    .topNews__item:hover .topNews__txt:before
    {
        -webkit-transform: scale(0, 1);
                transform: scale(0, 1);
    }
}

.topNews__dateBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__dateBox
    {
        gap: .52083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topNews__dateBox
    {
        gap: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews__dateBox
    {
        gap: 2.66667vw;
    }
}

.topNews__new
{
    width: 64px;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__new
    {
        width: 3.33333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topNews__new
    {
        width: 6.25vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews__new
    {
        width: 13.33333vw;
    }
}

.topNews__new > img
{
    display: block;

    width: 100%;
}

.topNews__date
{
    font-weight: 400;

    letter-spacing: .05em;

    color: #3a7e86;
}

.topNews__cat
{
    font-weight: 400;

    letter-spacing: 0;
}

.topNews__cat--01
{
    color: #2f79b2;
}

.topNews__cat--01 > span
{
    border-color: #2f79b2;
}

.topNews__cat--02
{
    color: #3a8660;
}

.topNews__cat--02 > span
{
    border-color: #3a8660;
}

.topNews__cat--03
{
    color: #a5201e;
}

.topNews__cat--03 > span
{
    border-color: #a5201e;
}

.topNews__cat > span
{
    padding: 2px 18px;

    border: 1px solid;
    border-radius: 100vh;
    background-color: white;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__cat > span
    {
        padding: .10417vw .9375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topNews__cat > span
    {
        padding: .19531vw 1.75781vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topNews__cat > span
    {
        padding: .26667vw 2.4vw;
    }
}

.topNews__txt
{
    font-weight: 500;
    line-height: 1.3;

    position: relative;

    text-align: left;
    letter-spacing: .05em;

    color: #383838;
}

.topNews__txt:before
{
    position: absolute;
    bottom: -7px;
    left: 0;

    width: 100%;
    height: 1px;

    content: '';
    -webkit-transition: -webkit-transform .3s ease-out;
            transition: -webkit-transform .3s ease-out;
            transition:         transform .3s ease-out;
            transition:         transform .3s ease-out, -webkit-transform .3s ease-out;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: left top;
            transform-origin: left top;

    background-color: #383838;
}

@media print, screen and (max-width: 1920px)
{
    .topNews__txt:before
    {
        bottom: -.36458vw;
    }
}

/* ============== .c-ttl ============== */
.c-ttl
{
    text-align: left;

    color: #fff;
}

.c-ttl--green
{
    color: #3a7e86;
}

.c-ttl--center
{
    text-align: center;
}

.c-ttl__en
{
    font-family: 'Outfit', sans-serif;
    font-weight: 500;

    margin-bottom: 5px;

    letter-spacing: 0;
}

@media print, screen and (max-width: 1920px)
{
    .c-ttl__en
    {
        margin-bottom: .26042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-ttl__en
    {
        margin-bottom: .48828vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-ttl__en
    {
        margin-bottom: .66667vw;
    }
}

.c-ttl__jp
{
    font-weight: 500;

    letter-spacing: .05em;
}

/* ============== .c-btn ============== */
.c-btn
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 22px;
}

@media print, screen and (max-width: 1920px)
{
    .c-btn
    {
        gap: 1.14583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-btn
    {
        gap: 2.14844vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-btn
    {
        gap: 4vw;
    }
}

.c-btn__arrow
{
    position: relative;

    width: 76px;

    -webkit-filter: drop-shadow(0px 0px 30px rgba(169, 227, 208, .5));
            filter: drop-shadow(0px 0px 30px rgba(169, 227, 208, .5));
}

@media print, screen and (max-width: 1920px)
{
    .c-btn__arrow
    {
        width: 3.95833vw;

        -webkit-filter: drop-shadow(0vw 0vw 1.5625vw rgba(169, 227, 208, .5));
                filter: drop-shadow(0vw 0vw 1.5625vw rgba(169, 227, 208, .5));
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-btn__arrow
    {
        width: 5.85938vw;

        -webkit-filter: drop-shadow(0vw 0vw 2.92969vw rgba(169, 227, 208, .5));
                filter: drop-shadow(0vw 0vw 2.92969vw rgba(169, 227, 208, .5));
    }
}

@media print, screen and (max-width: 430px)
{
    .c-btn__arrow
    {
        width: 12vw;

        -webkit-filter: drop-shadow(0vw 0vw 4vw rgba(169, 227, 208, .5));
                filter: drop-shadow(0vw 0vw 4vw rgba(169, 227, 208, .5));
    }
}

.c-btn__arrow > img
{
    display: block;

    width: 100%;
}

.c-btn__hover
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;

    -webkit-transition: .3s;
            transition: .3s;

    opacity: 0;
}

.c-btn__txt
{
    font-family: 'Outfit', sans-serif;
    font-weight: 500;

    -webkit-transition: .3s;
            transition: .3s;
    letter-spacing: .08em;

    color: #383838;
}

.c-btn:hover .c-btn__hover
{
    -webkit-transition: .3s;
            transition: .3s;

    opacity: 1;
}

@media print, screen and (max-width: 1025px)
{
    .c-btn:hover .c-btn__hover
    {
        opacity: 0;
    }
}

.c-btn:hover .c-btn__txt
{
    -webkit-transition: .3s;
            transition: .3s;

    color: #3a7e86;
}

@media print, screen and (max-width: 1025px)
{
    .c-btn:hover .c-btn__txt
    {
        color: #383838;
    }
}

/* ============== .topService ============== */
.topService
{
    width: 100%;
    padding-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .topService
    {
        padding-top: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService
    {
        padding-top: 9.76562vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService
    {
        padding-top: 26.66667vw;
    }
}

.topService__lead
{
    font-weight: 500;
    line-height: 2.2;

    margin-top: 50px;

    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .topService__lead
    {
        margin-top: 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__lead
    {
        margin-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__lead
    {
        margin-top: 6.66667vw;
    }
}

.topService__pjStoryBodyWrap
{
    position: relative;

    height: 300vh;
}

.topService__pjStoryBody
{
    position: sticky;
    top: 200px;

    overflow: hidden;

    height: 100vh;
}

@media print, screen and (max-width: 1920px)
{
    .topService__pjStoryBody
    {
        top: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__pjStoryBody
    {
        top: 19.53125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__pjStoryBody
    {
        top: 20vw;
    }
}

.topService__pjStorySlide
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
}

.topService__pjStorySlide.is-show
{
    z-index: 2;
}

.topService__pjStorySlide.is-show .topService__photo
{
    -webkit-animation: pjStoryImgShow .6s .6s forwards;
            animation: pjStoryImgShow .6s .6s forwards;
}

.topService__pjStorySlide.is-show .topService__ttlBox
{
    -webkit-animation: pjStoryTxtShow .6s .6s forwards;
            animation: pjStoryTxtShow .6s .6s forwards;
}

.topService__pjStorySlide.is-show .topService__txt
{
    -webkit-animation: pjStoryTxtShow .6s .6s forwards;
            animation: pjStoryTxtShow .6s .6s forwards;
}

.topService__pjStorySlide.is-show .topService__btn
{
    opacity: 1;
}

.topService__pjStorySlide.is-prev
{
    z-index: 1;
}

.topService__pjStorySlide.is-prev .topService__photo
{
    -webkit-animation: pjStoryImgHide .6s forwards;
            animation: pjStoryImgHide .6s forwards;
}

.topService__pjStorySlide.is-prev .topService__ttlBox
{
    -webkit-animation: pjStoryTxtHide .6s forwards;
            animation: pjStoryTxtHide .6s forwards;
}

.topService__pjStorySlide.is-prev .topService__txt
{
    -webkit-animation: pjStoryTxtHide .6s forwards;
            animation: pjStoryTxtHide .6s forwards;
}

@-webkit-keyframes pjStoryImgShow
{
    0%
    {
        -webkit-transform: scale(1.2);
                transform: scale(1.2);

        opacity: 0;

        -webkit-filter: blur(50px);
                filter: blur(50px);
    }
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);

        opacity: 1;

        -webkit-filter: blur(0);
                filter: blur(0);
    }
}

@keyframes pjStoryImgShow
{
    0%
    {
        -webkit-transform: scale(1.2);
                transform: scale(1.2);

        opacity: 0;

        -webkit-filter: blur(50px);
                filter: blur(50px);
    }
    100%
    {
        -webkit-transform: scale(1);
                transform: scale(1);

        opacity: 1;

        -webkit-filter: blur(0);
                filter: blur(0);
    }
}

@-webkit-keyframes pjStoryImgHide
{
    0%
    {
        -webkit-transform: scale(1);
                transform: scale(1);

        opacity: 1;

        -webkit-filter: blur(0);
                filter: blur(0);
    }
    100%
    {
        -webkit-transform: scale(.3);
                transform: scale(.3);

        opacity: 0;

        -webkit-filter: blur(50px);
                filter: blur(50px);
    }
}

@keyframes pjStoryImgHide
{
    0%
    {
        -webkit-transform: scale(1);
                transform: scale(1);

        opacity: 1;

        -webkit-filter: blur(0);
                filter: blur(0);
    }
    100%
    {
        -webkit-transform: scale(.3);
                transform: scale(.3);

        opacity: 0;

        -webkit-filter: blur(50px);
                filter: blur(50px);
    }
}

@-webkit-keyframes pjStoryTxtShow
{
    0%
    {
        -webkit-transform: translate3d(0, 100%, 0);
                transform: translate3d(0, 100%, 0);
    }
    100%
    {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
}

@keyframes pjStoryTxtShow
{
    0%
    {
        -webkit-transform: translate3d(0, 100%, 0);
                transform: translate3d(0, 100%, 0);
    }
    100%
    {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes pjStoryTxtHide
{
    0%
    {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
    100%
    {
        -webkit-transform: translate3d(0, -100%, 0);
                transform: translate3d(0, -100%, 0);
    }
}

@keyframes pjStoryTxtHide
{
    0%
    {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
    100%
    {
        -webkit-transform: translate3d(0, -100%, 0);
                transform: translate3d(0, -100%, 0);
    }
}

.topService__pjStorySlideLink
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

@media print, screen and (max-width: 1025px)
{
    .topService__pjStorySlideLink
    {
            flex-direction: column-reverse;

        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.topService__lBox
{
    width: 590px;
}

@media print, screen and (max-width: 1920px)
{
    .topService__lBox
    {
        width: 30.72917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__lBox
    {
        width: 100%;
    }
}

.topService__txtBox
{
    margin-bottom: 50px;
}

@media print, screen and (max-width: 1920px)
{
    .topService__txtBox
    {
        margin-bottom: 2.60417vw;
    }
}

.topService__photo
{
    width: 1000px;

    opacity: 0;
    -webkit-box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
            box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
}

@media print, screen and (max-width: 1920px)
{
    .topService__photo
    {
        width: 52.08333vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__photo
    {
        width: 100%;
        margin-bottom: 2.92969vw;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__photo
    {
        margin-bottom: 6.66667vw;

        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
    }
}

.topService__photo > img
{
    display: block;

    width: 100%;
}

.topService__ttlWrp
{
    overflow: hidden;

    margin-bottom: 50px;
}

@media print, screen and (max-width: 1920px)
{
    .topService__ttlWrp
    {
        margin-bottom: 2.60417vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__ttlWrp
    {
        margin-bottom: 4vw;
    }
}

.topService__ttlBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 9px 0 9px 30px;

    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);

    background-color: rgba(255, 255, 255, .8);
    -webkit-box-shadow: 0 3px 20px rgba(0, 35, 87, .1);
            box-shadow: 0 3px 20px rgba(0, 35, 87, .1);

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 41px;
}

@media print, screen and (max-width: 1920px)
{
    .topService__ttlBox
    {
        padding: .46875vw 0 .46875vw 1.5625vw;

        -webkit-box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .1);

        gap: 2.13542vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__ttlBox
    {
        padding: .87891vw 0 .87891vw 2.92969vw;

        -webkit-box-shadow: 0vw .29297vw 1.95312vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .29297vw 1.95312vw rgba(0, 35, 87, .1);

        gap: 4.00391vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__ttlBox
    {
        padding: 1.2vw 0 1.2vw 4vw;

        -webkit-box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .1);

        gap: 5.46667vw;
    }
}

.topService__ttlBox--01
{
    width: 455px;
}

@media print, screen and (max-width: 1920px)
{
    .topService__ttlBox--01
    {
        width: 23.69792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__ttlBox--01
    {
        width: 39.0625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__ttlBox--01
    {
        width: 73.33333vw;
    }
}

.topService__ttlBox--02
{
    width: 484px;
}

@media print, screen and (max-width: 1920px)
{
    .topService__ttlBox--02
    {
        width: 25.20833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__ttlBox--02
    {
        width: 39.0625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__ttlBox--02
    {
        width: 73.33333vw;
    }
}

.topService__num
{
    font-family: 'Outfit', sans-serif;
    font-weight: 300;

    letter-spacing: 0;

    color: #3a7e86;
}

.topService__ttl
{
    font-weight: 500;

    position: relative;

    letter-spacing: .05em;

    color: #3a7e86;
}

.topService__ttl:before
{
    position: absolute;
    top: 0;
    left: -20px;

    width: 1px;
    height: 100%;

    content: '';

    background-color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .topService__ttl:before
    {
        left: -1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topService__ttl:before
    {
        left: -1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topService__ttl:before
    {
        left: -2.66667vw;
    }
}

.topService__txtBody
{
    overflow: hidden;
}

.topService__txt
{
    font-weight: 500;
    line-height: 2.5;

    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
    text-align: left;
    letter-spacing: .05em;

    color: #fff;
}

.topService__btn
{
    opacity: 0;
}

@media print, screen and (max-width: 430px)
{
    .topService__btn
    {
        margin-top: 6.66667vw;
    }
}

.topService__btn .c-btn__arrow
{
    -webkit-filter: none;
            filter: none;
}

/* ============== .topBtmSec ============== */
.topBtmSec
{
    width: 100%;
    padding: 120px 0 285px;
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec
    {
        padding: 6.25vw 0 14.84375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec
    {
        padding: 4.88281vw 0 27.83203vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtmSec
    {
        padding: 16vw 0 20vw;
    }
}

.topBtmSec__inner
{
    width: 1366px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec__inner
    {
        width: 71.14583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__inner
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtmSec__inner
    {
        width: 92vw;
    }
}

.topBtmSec__cont
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 430px)
{
    .topBtmSec__cont
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.topBtmSec__item
{
    width: 630px;
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec__item
    {
        width: 32.8125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__item
    {
        width: 41.99219vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtmSec__item
    {
        width: 80%;
    }
}

.topBtmSec__item:nth-child(2)
{
    margin-top: 280px;
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec__item:nth-child(2)
    {
        margin-top: 14.58333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__item:nth-child(2)
    {
        margin-top: 19.53125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtmSec__item:nth-child(2)
    {
        margin: 0 0 0 auto;
        margin-top: 13.33333vw;
    }
}

.topBtmSec__item:hover .topBtmSec__photo > img
{
    -webkit-transition: .3s;
            transition: .3s;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__item:hover .topBtmSec__photo > img
    {
        -webkit-transform: scale(1);
                transform: scale(1);
    }
}

.topBtmSec__item:hover .c-btn__hover
{
    opacity: 1;
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__item:hover .c-btn__hover
    {
        opacity: 0;
    }
}

.topBtmSec__item:hover .c-btn__txt
{
    color: #3a7e86;
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__item:hover .c-btn__txt
    {
        color: #383838;
    }
}

.topBtmSec__photo
{
    position: relative;
    z-index: -1;

    overflow: hidden;

    width: 100%;
    margin-top: -25px;

    -webkit-box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
            box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec__photo
    {
        margin-top: -1.30208vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__photo
    {
        margin-top: -2.44141vw;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtmSec__photo
    {
        margin-top: -3.33333vw;

        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
    }
}

.topBtmSec__photo:before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-color: rgba(4, 65, 72, .2);
}

.topBtmSec__photo > img
{
    display: block;

    width: 100%;

    -webkit-transition: .3s;
            transition: .3s;
}

.topBtmSec__btn
{
    margin-top: 20px;
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec__btn
    {
        margin-top: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtmSec__btn
    {
        margin-top: 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtmSec__btn
    {
        margin-top: 5.33333vw;
    }
}

.topBtmSec .c-ttl
{
    margin-left: 13px;
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec .c-ttl
    {
        margin-left: .67708vw;
    }
}

.topBtmSec .c-ttl__en
{
    margin-top: 10px;
    margin-bottom: 0;
}

@media print, screen and (max-width: 1920px)
{
    .topBtmSec .c-ttl__en
    {
        margin-top: .52083vw;
    }
}

.topBtmSec .c-btn
{
    pointer-events: none;
}

/* ============== .topBtn ============== */
.topBtn
{
    position: fixed;
    z-index: 555;
    right: 120px;
    bottom: 40px;

    display: inline-block;
    visibility: hidden;

    -webkit-transition: opacity .3s, -webkit-transform .3s;
            transition: opacity .3s, -webkit-transform .3s;
            transition: opacity .3s, transform .3s;
            transition: opacity .3s, transform .3s, -webkit-transform .3s;
    -webkit-transform: translateY(0);
            transform: translateY(0);

    opacity: 0;
}

@media print, screen and (max-width: 1920px)
{
    .topBtn
    {
        right: 6.25vw;
        bottom: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtn
    {
        right: 5.85938vw;
        bottom: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtn
    {
        right: 4vw;
        bottom: 6.66667vw;
    }
}

.topBtn:before
{
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;

    width: 304px;
    height: 173px;

    content: '';
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    background-image: url(../images/img_top_btn_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

@media print, screen and (max-width: 1920px)
{
    .topBtn:before
    {
        width: 15.83333vw;
        height: 9.01042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtn:before
    {
        width: 23.4375vw;
        height: 13.18359vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtn:before
    {
        width: 40.53333vw;
        height: 23.06667vw;
    }
}

.topBtn.is-show
{
    visibility: visible;

    opacity: 1;
}

.topBtn__link
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 18px;
}

@media print, screen and (max-width: 1920px)
{
    .topBtn__link
    {
        gap: .9375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtn__link
    {
        gap: 1.75781vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtn__link
    {
        gap: 2.4vw;
    }
}

.topBtn__link:hover
{
    opacity: .6;
}

.topBtn__txt
{
    font-weight: 500;

    letter-spacing: .05em;

    color: white;
}

.topBtn__arrow
{
    width: 33px;
}

@media print, screen and (max-width: 1920px)
{
    .topBtn__arrow
    {
        width: 1.71875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .topBtn__arrow
    {
        width: 2.53906vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .topBtn__arrow
    {
        width: 4.4vw;
    }
}

.topBtn__arrow > img
{
    display: block;

    width: 100%;
}

/* ============== .c-underFv ============== */
.c-underFv
{
    position: relative;
    z-index: 0;

    overflow: hidden;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding-top: 275px;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv
    {
        padding-top: 14.32292vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv
    {
        height: auto;
        padding-top: 21.48438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-underFv
    {
        padding-top: 29.33333vw;
    }
}

.c-underFv--thanks
{
    height: auto;
}

.c-underFv--thanks:before
{
    display: none;
}

.c-underFv--thanks .c-underFv__ttlBox
{
    margin-bottom: 0;
}

.c-underFv__ttlBox
{
    margin-bottom: 78px;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv__ttlBox
    {
        margin-bottom: 4.0625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv__ttlBox
    {
        margin-bottom: 6.83594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-underFv__ttlBox
    {
        margin-bottom: 9.33333vw;
    }
}

.c-underFv__photo
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 590px;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv__photo
    {
        height: 30.72917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv__photo
    {
        height: 39.0625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-underFv__photo
    {
        height: 53.33333vw;
    }
}

.c-underFv__photo > img
{
    display: block;

    width: 100%;
    height: 725px;

    -webkit-transform: scale(1.1);
            transform: scale(1.1);

    -o-object-fit: cover;
       object-fit: cover;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv__photo > img
    {
        height: 37.76042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv__photo > img
    {
        height: 47.85156vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-underFv__photo > img
    {
        height: 65.33333vw;
    }
}

/* ============== .loading ============== */
.loading
{
    position: fixed;
    z-index: 9999;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    inset: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.loading:before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_loading_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.loading__img02
{
    display: block;

    width: 100vw;
    height: 100%;

    -webkit-transform: scale(3.5) translate(-48%, -3%);
            transform: scale(3.5) translate(-48%, -3%);
    /* ← 北海道を中央に持ってくる */
    -webkit-transform-origin: top left;
            transform-origin: top left;

    will-change: transform;
    -o-object-fit: contain;
       object-fit: contain;
}

@media print, screen and (max-width: 1025px)
{
    .loading__img02
    {
        -webkit-transform: scale(6) translate(-55%, -28%);
                transform: scale(6) translate(-55%, -28%);
    }
}

@media print, screen and (max-width: 430px)
{
    .loading__img02
    {
        -webkit-transform: scale(4.2) translate(-59%, -23%);
                transform: scale(4.2) translate(-59%, -23%);
    }
}

/* ============== .comGreeting ============== */
.comGreeting
{
    width: 100%;
    padding-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting
    {
        padding-top: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting
    {
        padding-top: 14.64844vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting
    {
        padding-top: 20vw;
    }
}

.comGreeting__cont
{
    position: relative;

    width: 100%;
    padding-top: 100px;
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__cont
    {
        padding-top: 5.20833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__cont
    {
        padding-top: 7.8125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__cont
    {
        padding-top: 13.33333vw;
    }
}

.comGreeting__txtImgWrp
{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: row-reverse;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 28px;
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__txtImgWrp
    {
        gap: 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__txtImgWrp
    {
        right: -2.44141vw;

        gap: 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__txtImgWrp
    {
        right: -1.33333vw;

        gap: 2.66667vw;
    }
}

.comGreeting__txtImg
{
    width: 76px;

    -webkit-box-shadow: 0 3px 20px rgba(0, 35, 87, .1);
            box-shadow: 0 3px 20px rgba(0, 35, 87, .1);
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__txtImg
    {
        width: 3.95833vw;

        -webkit-box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .1);
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__txtImg
    {
        width: 5.85938vw;

        -webkit-box-shadow: 0vw .29297vw 1.95312vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .29297vw 1.95312vw rgba(0, 35, 87, .1);
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__txtImg
    {
        width: 8vw;

        -webkit-box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .1);
    }
}

.comGreeting__txtImg > img
{
    display: block;

    width: 100%;
}

.comGreeting__txtImg:last-child
{
    margin-top: 77px;
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__txtImg:last-child
    {
        margin-top: 4.01042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__txtImg:last-child
    {
        margin-top: 5.85938vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__txtImg:last-child
    {
        margin-top: 8vw;
    }
}

.comGreeting__photo
{
    width: 1240px;

    -webkit-box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
            box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__photo
    {
        width: 64.58333vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__photo
    {
        width: 100%;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__photo
    {
        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
    }
}

.comGreeting__photo > img
{
    display: block;

    width: 100%;
}

.comGreeting__subTxt
{
    font-family: 'Shippori Mincho', serif;
    font-weight: 600;

    margin-top: 25px;

    text-align: left;
    letter-spacing: 0;

    color: white;
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__subTxt
    {
        margin-top: 1.30208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__subTxt
    {
        margin-top: 2.44141vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__subTxt
    {
        margin-top: 3.33333vw;
    }
}

.comGreeting__name
{
    font-family: 'Shippori Mincho', serif;
    font-weight: 600;

    margin-top: 15px;

    text-align: left;
    letter-spacing: 0;

    color: white;
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__name
    {
        margin-top: .78125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__name
    {
        margin-top: 1.46484vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__name
    {
        margin-top: 2vw;
    }
}

.comGreeting__txt
{
    font-weight: 500;
    line-height: 2.5;

    margin-top: 30px;

    text-align: left;
    letter-spacing: .05em;

    color: white;
}

@media print, screen and (max-width: 1920px)
{
    .comGreeting__txt
    {
        margin-top: 1.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comGreeting__txt
    {
        margin-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comGreeting__txt
    {
        margin-top: 4vw;
    }
}

/* ============== .c-underTtl ============== */
.c-underTtl__en
{
    font-family: 'Outfit', sans-serif;
    font-weight: 300;

    letter-spacing: 0;

    color: white;
}

.c-underTtl__jp
{
    font-weight: 500;

    margin-top: 8px;

    letter-spacing: .05em;

    color: white;
}

@media print, screen and (max-width: 1920px)
{
    .c-underTtl__jp
    {
        margin-top: .41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underTtl__jp
    {
        margin-top: .78125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-underTtl__jp
    {
        margin-top: 1.33333vw;
    }
}

/* ============== .comOverview ============== */
.comOverview
{
    width: 100%;
    padding-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .comOverview
    {
        padding-top: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comOverview
    {
        padding-top: 14.64844vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comOverview
    {
        padding-top: 26.66667vw;
    }
}

.comOverview__table
{
    width: 100%;
    margin-top: 80px;
}

@media print, screen and (max-width: 1920px)
{
    .comOverview__table
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comOverview__table
    {
        margin-top: 5.85938vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comOverview__table
    {
        margin-top: 10.66667vw;
    }
}

.comOverview__row
{
    width: 100%;

    border-top: 2px solid rgba(255, 255, 255, .3);
}

@media print, screen and (max-width: 1920px)
{
    .comOverview__row
    {
        border-top: .10417vw solid rgba(255, 255, 255, .3);
    }
}

@media print, screen and (max-width: 1025px)
{
    .comOverview__row
    {
        border-top: .19531vw solid rgba(255, 255, 255, .3);
    }
}

.comOverview__row:last-child
{
    border-bottom: 2px solid rgba(255, 255, 255, .3);
}

@media print, screen and (max-width: 1920px)
{
    .comOverview__row:last-child
    {
        border-bottom: .10417vw solid rgba(255, 255, 255, .3);
    }
}

@media print, screen and (max-width: 1025px)
{
    .comOverview__row:last-child
    {
        border-bottom: .19531vw solid rgba(255, 255, 255, .3);
    }
}

.comOverview__row:last-child .comOverview__th
{
    border-bottom: 2px solid white;
}

@media print, screen and (max-width: 1920px)
{
    .comOverview__row:last-child .comOverview__th
    {
        border-bottom: .10417vw solid white;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comOverview__row:last-child .comOverview__th
    {
        border-bottom: .19531vw solid white;
    }
}

.comOverview__th
{
    font-weight: 500;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 430px;
    padding: 50px 0 50px 50px;

    text-align: left;
    letter-spacing: .05em;

    color: white;
    border-top: 2px solid white;
}

@media print, screen and (max-width: 1920px)
{
    .comOverview__th
    {
        width: 22.39583vw;
        padding: 2.60417vw 0 2.60417vw 2.60417vw;

        border-top: .10417vw solid white;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comOverview__th
    {
        padding: 3.90625vw 0 3.90625vw 3.90625vw;

        border-top: .19531vw solid white;
    }
}

.comOverview__td
{
    font-weight: 500;
    line-height: 2.2;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 936px;
    padding: 50px 0 50px 50px;

    text-align: left;
    letter-spacing: .05em;

    color: white;
}

@media print, screen and (max-width: 1920px)
{
    .comOverview__td
    {
        width: 48.75vw;
        padding: 2.60417vw 0 2.60417vw 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comOverview__td
    {
        padding: 3.90625vw 0 3.90625vw 3.90625vw;
    }
}

/* ============== .comAccess ============== */
.comAccess
{
    width: 100%;
    padding: 200px 0 285px;
}

@media print, screen and (max-width: 1920px)
{
    .comAccess
    {
        padding: 10.41667vw 0 14.84375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comAccess
    {
        padding: 14.64844vw 0 22.94922vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comAccess
    {
        padding: 26.66667vw 0;
    }
}

.comAccess__map
{
    width: 100%;
    margin-top: 80px;
}

@media print, screen and (max-width: 1920px)
{
    .comAccess__map
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .comAccess__map
    {
        margin-top: 5.85938vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .comAccess__map
    {
        margin-top: 10.66667vw;
    }
}

.comAccess__map iframe
{
    display: block;

    width: 100%;

    border: 0;

    aspect-ratio: 1920 / 497;
}

@media print, screen and (max-width: 1025px)
{
    .comAccess__map iframe
    {
        aspect-ratio: 1024 / 350;
    }
}

@media print, screen and (max-width: 430px)
{
    .comAccess__map iframe
    {
        aspect-ratio: 750 / 400;
    }
}

/* ============== .contactSec ============== */
.contactSec
{
    width: 100%;
    padding: 200px 0 285px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec
    {
        padding: 10.41667vw 0 14.84375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec
    {
        padding: 14.64844vw 0 22.94922vw;
    }
}

.contactSec__cont
{
    width: 100%;
}

.contactSec__lineBox
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding-bottom: 60px;

    border-bottom: 1px solid #fff;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__lineBox
    {
        padding-bottom: 3.125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__lineBox
    {
        padding-bottom: 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__lineBox
    {
        padding-bottom: 8vw;
    }
}

.contactSec__lineTxt
{
    font-weight: 500;

    position: relative;

    margin-bottom: 50px;

    letter-spacing: .05em;

    color: white;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__lineTxt
    {
        margin-bottom: 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__lineTxt
    {
        margin-bottom: 3.90625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__lineTxt
    {
        line-height: 1.3;

        margin-bottom: 6.66667vw;
    }
}

.contactSec__lineTxt:before,
.contactSec__lineTxt:after
{
    position: absolute;
    top: 0;
    bottom: 0;

    width: 374px;
    height: 1px;
    margin: auto 0;

    content: '';

    background-color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__lineTxt:before,
    .contactSec__lineTxt:after
    {
        width: 19.47917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__lineTxt:before,
    .contactSec__lineTxt:after
    {
        width: 16.60156vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__lineTxt:before,
    .contactSec__lineTxt:after
    {
        width: 13.33333vw;
    }
}

.contactSec__lineTxt:before
{
    left: 0;
}

.contactSec__lineTxt:after
{
    right: 0;
}

.contactSec__link
{
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 477px;
    margin: 0 auto;
    padding: 15px 0;

    -webkit-transition: .3s;
            transition: .3s;

    border-radius: 6px;
    background-color: #fff;
    -webkit-box-shadow: 0 6px 20px rgba(169, 227, 208, .9);
            box-shadow: 0 6px 20px rgba(169, 227, 208, .9);

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__link
    {
        width: 24.84375vw;
        padding: .78125vw 0;

        border-radius: .3125vw;
        -webkit-box-shadow: 0 .3125vw 1.04167vw rgba(169, 227, 208, .9);
                box-shadow: 0 .3125vw 1.04167vw rgba(169, 227, 208, .9);
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__link
    {
        width: 39.0625vw;
        padding: 1.46484vw 0;

        border-radius: .58594vw;
        -webkit-box-shadow: 0 .58594vw 1.95312vw rgba(169, 227, 208, .9);
                box-shadow: 0 .58594vw 1.95312vw rgba(169, 227, 208, .9);
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__link
    {
        width: 73.33333vw;
        padding: 3.33333vw 0;

        border-radius: .8vw;
        -webkit-box-shadow: 0 .8vw 2.66667vw rgba(169, 227, 208, .9);
                box-shadow: 0 .8vw 2.66667vw rgba(169, 227, 208, .9);
    }
}

.contactSec__link:hover
{
    -webkit-transition: .3s;
            transition: .3s;

    background-color: #3a7e86;
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__link:hover
    {
        background-color: #fff;
    }
}

.contactSec__link:hover .contactSec__linkTxt
{
    -webkit-transition: .3s;
            transition: .3s;

    color: white;
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__link:hover .contactSec__linkTxt
    {
        color: #3a7e86;
    }
}

.contactSec__link:hover .contactSec__hover
{
    -webkit-transition: .3s;
            transition: .3s;

    opacity: 1;
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__link:hover .contactSec__hover
    {
        opacity: 0;
    }
}

.contactSec__icon
{
    width: 35.4px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__icon
    {
        width: 1.84375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__icon
    {
        width: 2.73438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__icon
    {
        width: 4.72vw;
    }
}

.contactSec__icon > img
{
    display: block;

    width: 100%;
}

.contactSec__linkTxt
{
    font-weight: 500;

    margin: 0 64px 0 28px;

    -webkit-transition: .3s;
            transition: .3s;
    letter-spacing: .05em;

    color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__linkTxt
    {
        margin: 0 3.33333vw 0 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__linkTxt
    {
        margin: 0 4.6875vw 0 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__linkTxt
    {
        margin: 0 8.53333vw 0 3.73333vw;
    }
}

.contactSec__arrow
{
    position: relative;

    width: 49px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__arrow
    {
        width: 2.55208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__arrow
    {
        width: 3.90625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__arrow
    {
        width: 6.53333vw;
    }
}

.contactSec__arrow > img
{
    display: block;

    width: 100%;
}

.contactSec__hover
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;

    -webkit-transition: .3s;
            transition: .3s;

    opacity: 0;
}

.contactSec__formBox
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin-top: 120px;
    padding: 100px 88px 128px;

    background-color: rgba(255, 255, 255, .54);
    -webkit-box-shadow: 0 3px 30px rgba(0, 60, 67, .2);
            box-shadow: 0 3px 30px rgba(0, 60, 67, .2);
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__formBox
    {
        margin-top: 6.25vw;
        padding: 5.20833vw 4.58333vw 6.66667vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 60, 67, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 60, 67, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__formBox
    {
        margin-top: 7.8125vw;
        padding: 7.8125vw 6.25vw 7.8125vw;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 60, 67, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 60, 67, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__formBox
    {
        margin-top: 16vw;
        padding: 10.66667vw 5.33333vw;

        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 60, 67, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 60, 67, .2);
    }
}

.contactSec__mainForm
{
    width: 100%;
}

.contactSec__itemBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 814px;
    margin: 0 auto;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__itemBox
    {
        width: 42.39583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__itemBox
    {
        width: 58.59375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__itemBox
    {
        width: 100%;
    }
}

.contactSec__item--active .contactSec__itemTxt
{
    color: #3a7e86;
}

.contactSec__item--active .contactSec__circle
{
    background-color: rgba(58, 126, 134, .5);
}

.contactSec__item--active .contactSec__circle:before
{
    background-color: rgba(58, 126, 134, .14);
}

.contactSec__item:last-child .contactSec__circle:after
{
    display: none;
}

.contactSec__itemTxt
{
    font-weight: 500;

    margin-bottom: 29px;

    letter-spacing: .05em;

    color: #8b8b8b;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__itemTxt
    {
        margin-bottom: 1.51042vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__itemTxt
    {
        margin-bottom: 2.44141vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__itemTxt
    {
        margin-bottom: 5.33333vw;
    }
}

.contactSec__circle
{
    position: relative;
    z-index: 0;

    width: 40px;
    height: 40px;
    margin: 0 auto;

    border-radius: 50%;
    background-color: rgba(255, 255, 255, .5);
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__circle
    {
        width: 2.08333vw;
        height: 2.08333vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__circle
    {
        width: 2.73438vw;
        height: 2.73438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__circle
    {
        width: 5.33333vw;
        height: 5.33333vw;
    }
}

.contactSec__circle:before
{
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;

    width: 56px;
    height: 56px;

    content: '';
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

    border-radius: 50%;
    background: rgba(255, 255, 255, .14);

    -webkit-filter: drop-shadow(0px 0px 20px rgba(169, 227, 208, .3));
            filter: drop-shadow(0px 0px 20px rgba(169, 227, 208, .3));
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__circle:before
    {
        width: 2.91667vw;
        height: 2.91667vw;

        -webkit-filter: drop-shadow(0vw 0vw 1.04167vw rgba(169, 227, 208, .3));
                filter: drop-shadow(0vw 0vw 1.04167vw rgba(169, 227, 208, .3));
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__circle:before
    {
        width: 3.90625vw;
        height: 3.90625vw;

        -webkit-filter: drop-shadow(0vw 0vw 1.95312vw rgba(169, 227, 208, .3));
                filter: drop-shadow(0vw 0vw 1.95312vw rgba(169, 227, 208, .3));
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__circle:before
    {
        width: 7.46667vw;
        height: 7.46667vw;

        -webkit-filter: drop-shadow(0vw 0vw 2.66667vw rgba(169, 227, 208, .3));
                filter: drop-shadow(0vw 0vw 2.66667vw rgba(169, 227, 208, .3));
    }
}

.contactSec__circle:after
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 48px;

    width: 305px;
    height: 1px;
    margin: auto 0;

    content: '';

    background-color: white;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__circle:after
    {
        left: 2.5vw;

        width: 15.88542vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__circle:after
    {
        left: 3.41797vw;

        width: 21.48438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__circle:after
    {
        left: 6.4vw;

        width: 24.66667vw;
    }
}

.contactSec__main
{
    width: 100%;
    margin-top: 80px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main
    {
        margin-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main
    {
        margin-top: 5.85938vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__main
    {
        margin-top: 10.66667vw;
    }
}

.contactSec__main tr
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;

    border-top: 2px solid rgba(255, 255, 255, .3);
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main tr
    {
        border-top: .10417vw solid rgba(255, 255, 255, .3);
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main tr
    {
        border-top: .19531vw solid rgba(255, 255, 255, .3);
    }
}

.contactSec__main tr:first-child .contactSec__th
{
    padding-top: 52px;
    padding-bottom: 52px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main tr:first-child .contactSec__th
    {
        padding-top: 2.70833vw;
        padding-bottom: 2.70833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main tr:first-child .contactSec__th
    {
        padding-top: 4.58984vw;
        padding-bottom: 4.58984vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__main tr:first-child .contactSec__th
    {
        padding-top: 4vw;
        padding-bottom: 4vw;
    }
}

.contactSec__main tr:first-child .contactSec__td
{
    padding-top: 52px;
    padding-bottom: 52px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main tr:first-child .contactSec__td
    {
        padding-top: 2.70833vw;
        padding-bottom: 2.70833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main tr:first-child .contactSec__td
    {
        padding-top: 4.58984vw;
        padding-bottom: 4.58984vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__main tr:first-child .contactSec__td
    {
        padding-top: 4vw;
        padding-bottom: 4vw;
    }
}

.contactSec__main th
{
    font-size: 18px;
    font-weight: 500;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 300px;
    padding: 40px 0 40px 32px;

    text-align: left;
    letter-spacing: .05em;

    color: #383838;
    border-top: 2px solid white;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main th
    {
        font-size: .9375vw;

        width: 15.625vw;
        padding: 2.08333vw 0 2.08333vw 1.66667vw;

        border-top: .10417vw solid white;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main th
    {
        font-size: 1.36719vw;

        width: 21.48438vw;
        padding: 2.92969vw 0 2.92969vw 1.95312vw;

        border-top: .19531vw solid white;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__main th
    {
        font-size: 3.46667vw;

        display: block;

        width: 100%;
        padding: 4vw 0 4vw 2.66667vw;

        border-top: .26667vw solid white;
    }
}

.contactSec__main th--last
{
    padding-top: 50px;

    vertical-align: top;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main th--last
    {
        padding-top: 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main th--last
    {
        padding-top: 3.90625vw;
    }
}

.contactSec__main th--required
{
    position: relative;
}

.contactSec__main th--required:before
{
    position: absolute;
    top: 53px;
    right: 33px;

    width: 57px;
    height: 22px;

    content: '';

    background-image: url(../images/txt_contact_required.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main th--required:before
    {
        top: 2.76042vw;
        right: 1.71875vw;

        width: 2.96875vw;
        height: 1.14583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main th--required:before
    {
        top: 4.58984vw;
        right: 2.34375vw;

        width: 4.10156vw;
        height: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__main th--required:before
    {
        top: 4vw;
        right: 2vw;

        width: 10.8vw;
        height: 4.13333vw;
    }
}

.contactSec__main td
{
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 890px;
    padding: 40px 108px 40px 32px;

    text-align: left;
    letter-spacing: .05em;

    color: #383838;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__main td
    {
        font-size: .9375vw;

        width: 46.35417vw;
        padding: 2.08333vw 5.625vw 2.08333vw 1.66667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__main td
    {
        font-size: 1.36719vw;

        width: 46.48438vw;
        padding: 2.92969vw 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__main td
    {
        font-size: 3.46667vw;

        display: block;

        width: 100%;
        padding: 4vw 2vw 4vw;

        border-top: .26667vw solid rgba(255, 255, 255, .3);
    }
}

.contactSec__row
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;

    border-top: 2px solid rgba(255, 255, 255, .3);
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__row
    {
        border-top: .10417vw solid rgba(255, 255, 255, .3);
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__row
    {
        border-top: .19531vw solid rgba(255, 255, 255, .3);
    }
}

.contactSec__row:first-child .contactSec__th
{
    padding-top: 52px;
    padding-bottom: 52px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__row:first-child .contactSec__th
    {
        padding-top: 2.70833vw;
        padding-bottom: 2.70833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__row:first-child .contactSec__th
    {
        padding-top: 4.58984vw;
        padding-bottom: 4.58984vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__row:first-child .contactSec__th
    {
        padding-top: 4vw;
        padding-bottom: 4vw;
    }
}

.contactSec__row:first-child .contactSec__td
{
    padding-top: 52px;
    padding-bottom: 52px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__row:first-child .contactSec__td
    {
        padding-top: 2.70833vw;
        padding-bottom: 2.70833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__row:first-child .contactSec__td
    {
        padding-top: 4.58984vw;
        padding-bottom: 4.58984vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__row:first-child .contactSec__td
    {
        padding-top: 4vw;
        padding-bottom: 4vw;
    }
}

.contactSec__th
{
    font-weight: 500;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 300px;
    padding: 40px 0 40px 32px;

    text-align: left;
    letter-spacing: .05em;

    color: #383838;
    border-top: 2px solid white;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__th
    {
        width: 15.625vw;
        padding: 2.08333vw 0 2.08333vw 1.66667vw;

        border-top: .10417vw solid white;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__th
    {
        width: 21.48438vw;
        padding: 2.92969vw 0 2.92969vw 1.95312vw;

        border-top: .19531vw solid white;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__th
    {
        display: block;

        width: 100%;
        padding: 4vw 0 4vw 2.66667vw;

        border-top: .26667vw solid white;
    }
}

.contactSec__th--last
{
    padding-top: 50px;

    vertical-align: top;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__th--last
    {
        padding-top: 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__th--last
    {
        padding-top: 3.90625vw;
    }
}

.contactSec__th--required
{
    position: relative;
}

.contactSec__th--required:before
{
    position: absolute;
    top: 53px;
    right: 33px;

    width: 57px;
    height: 22px;

    content: '';

    background-image: url(../images/txt_contact_required.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__th--required:before
    {
        top: 2.76042vw;
        right: 1.71875vw;

        width: 2.96875vw;
        height: 1.14583vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__th--required:before
    {
        top: 4.58984vw;
        right: 2.34375vw;

        width: 4.10156vw;
        height: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__th--required:before
    {
        top: 4vw;
        right: 2vw;

        width: 10.8vw;
        height: 4.13333vw;
    }
}

.contactSec__td
{
    font-weight: 500;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 890px;
    padding: 40px 108px 40px 32px;

    letter-spacing: .05em;

    color: #383838;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__td
    {
        width: 46.35417vw;
        padding: 2.08333vw 5.625vw 2.08333vw 1.66667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__td
    {
        width: 46.48438vw;
        padding: 2.92969vw 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__td
    {
        display: block;

        width: 100%;
        padding: 4vw 2vw 4vw;

        border-top: .26667vw solid rgba(255, 255, 255, .3);
    }
}

.contactSec__checkLabel
{
    display: block;

    margin-bottom: 20px;

    cursor: pointer;
    text-align: left;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__checkLabel
    {
        margin-bottom: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__checkLabel
    {
        margin-bottom: 1.75781vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__checkLabel
    {
        margin-bottom: 4vw;
    }
}

.contactSec__checkLabel:last-child
{
    margin-bottom: 0;
}

.contactSec__checkLabel > span
{
    position: relative;

    padding-left: 28px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__checkLabel > span
    {
        padding-left: 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__checkLabel > span
    {
        padding-left: 2.44141vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__checkLabel > span
    {
        padding-left: 6vw;
    }
}

.contactSec__checkLabel > span:before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin: auto 0;

    content: '';

    border: 1px solid #383838;
    border-radius: 2px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__checkLabel > span:before
    {
        width: 1.04167vw;
        height: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__checkLabel > span:before
    {
        width: 1.5625vw;
        height: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__checkLabel > span:before
    {
        width: 4vw;
        height: 4vw;
    }
}

.contactSec__choice
{
    display: none;
}

.contactSec__choice:checked + span::before
{
    background-color: #3a7e86;
}

.contactSec__txt
{
    font-weight: 500;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 17px 26px;

    letter-spacing: .05em;

    border: none;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, .8);
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__txt
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        padding: .88542vw 1.35417vw;

        border: none;
        border-radius: .10417vw;
        background-color: rgba(255, 255, 255, .8);
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__txt
    {
        padding: 1.66016vw 2.53906vw;

        border-radius: .19531vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__txt
    {
        padding: 4vw 3.46667vw;

        border-radius: .26667vw;
    }
}

.contactSec__textarea
{
    font-weight: 500;
    line-height: 1.3;

    overflow-x: hidden;
    overflow-y: auto;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 278px;
    padding: 17px 26px;

    resize: vertical;
    letter-spacing: .05em;

    border: none;
    border-radius: 2px;
    background-color: rgba(255, 255, 255, .8);
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__textarea
    {
        width: 100%;
        height: 14.47917vw;
        padding: .88542vw 1.35417vw;

        border-radius: .10417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__textarea
    {
        height: 19.53125vw;
        padding: 1.66016vw 2.53906vw;

        border-radius: .19531vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__textarea
    {
        height: 46.66667vw;
        padding: 4vw 3.46667vw;

        border-radius: .26667vw;
    }
}

.contactSec ::-webkit-input-placeholder
{
    color: #c9c9c9;
}

.contactSec ::-moz-placeholder
{
    color: #c9c9c9;
}

.contactSec ::-ms-input-placeholder
{
    color: #c9c9c9;
}

.contactSec ::placeholder
{
    color: #c9c9c9;
}

.contactSec .wpcf7-list-item
{
    margin-bottom: 20px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec .wpcf7-list-item
    {
        margin-bottom: 1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec .wpcf7-list-item
    {
        margin-bottom: 1.75781vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec .wpcf7-list-item
    {
        margin-bottom: 4vw;
    }
}

.contactSec .wpcf7-list-item:last-child
{
    margin-bottom: 0;
}

.contactSec .wpcf7-list-item > label
{
    cursor: pointer;
}

.contactSec .wpcf7-list-item > label > input
{
    top: 0;
    bottom: 0;
    left: 0;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin: auto 0;
    margin-right: 8px;
    margin-bottom: 2px;

    border: 1px solid #383838;
    border-radius: 2px;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec .wpcf7-list-item > label > input
    {
        width: 1.04167vw;
        height: 1.04167vw;
        margin-right: .41667vw;
        margin-bottom: .10417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec .wpcf7-list-item > label > input
    {
        width: 1.5625vw;
        height: 1.5625vw;
        margin-right: .78125vw;
        margin-bottom: 0vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec .wpcf7-list-item > label > input
    {
        width: 4vw;
        height: 4vw;
        margin-right: 2vw;
        margin-bottom: 0vw;
    }
}

.contactSec .wpcf7-list-item > label > input:checked
{
    background-color: #3a7e86;
}

.contactSec .wpcf7-list-item-label
{
    font-weight: 500;

    letter-spacing: .05em;

    color: #383838;
}

.contactSec__infoBox
{
    overflow-x: hidden;
    overflow-y: auto;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    max-height: 226px;
    margin-top: 22px;
    padding: 40px 40px 12px;

    border: 1px solid #a7a7a7;
    background-color: #fff;

    -webkit-overflow-scrolling: touch;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__infoBox
    {
        max-height: 11.77083vw;
        margin-top: 1.14583vw;
        padding: 2.08333vw 2.08333vw .625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__infoBox
    {
        max-height: 16.11328vw;
        margin-top: 1.95312vw;
        padding: 2.44141vw 1.46484vw .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__infoBox
    {
        max-height: 40vw;
        margin-top: 6.66667vw;
        padding: 4vw 2.66667vw 1.33333vw;
    }
}

.contactSec__infoBox::-webkit-scrollbar
{
    width: 18px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__infoBox::-webkit-scrollbar
    {
        width: .9375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__infoBox::-webkit-scrollbar
    {
        width: 1.36719vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__infoBox::-webkit-scrollbar
    {
        width: auto;
    }
}

.contactSec__infoBox::-webkit-scrollbar-track
{
    border-radius: 0;
    background: white;
}

@media print, screen and (max-width: 430px)
{
    .contactSec__infoBox::-webkit-scrollbar-track
    {
        background: initial;
    }
}

.contactSec__infoBox::-webkit-scrollbar-thumb
{
    border: 4px solid white;
    border-radius: 0;
    background-color: #c1c1c1;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__infoBox::-webkit-scrollbar-thumb
    {
        border: .20833vw solid white;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__infoBox::-webkit-scrollbar-thumb
    {
        border: .29297vw solid white;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__infoBox::-webkit-scrollbar-thumb
    {
        border: none;
        background-color: initial;
    }
}

.contactSec__infoTxt
{
    font-weight: 500;
    line-height: 1.875;

    text-align: left;

    color: #383838;
}

.contactSec__infoTxt > a
{
    text-decoration: underline;

    color: #2f79b2;
}

.contactSec__agreeCheck
{
    margin-top: 28px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__agreeCheck
    {
        margin-top: 1.45833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__agreeCheck
    {
        margin-top: 1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__agreeCheck
    {
        margin-top: 5.33333vw;
    }
}

.contactSec__btn
{
    position: relative;

    width: 200px;
    margin: 0 auto;
    margin-top: 89px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__btn
    {
        width: 10.41667vw;
        margin-top: 4.63542vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__btn
    {
        width: 14.64844vw;
        margin-top: 5.85938vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__btn
    {
        width: 33.33333vw;
        margin-top: 10.66667vw;
    }
}

.contactSec__btn:before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 76px;
    height: 76px;
    margin: auto 0;

    content: '';
    -webkit-transition: .3s;
            transition: .3s;
    pointer-events: none;

    background-image: url(../images/img_contact_btn_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;

    -webkit-filter: drop-shadow(0px 0px 30px rgba(169, 227, 208, .5));
            filter: drop-shadow(0px 0px 30px rgba(169, 227, 208, .5));
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__btn:before
    {
        width: 3.95833vw;
        height: 3.95833vw;

        -webkit-filter: drop-shadow(0vw 0vw 1.5625vw rgba(169, 227, 208, .5));
                filter: drop-shadow(0vw 0vw 1.5625vw rgba(169, 227, 208, .5));
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__btn:before
    {
        width: 4.88281vw;
        height: 4.88281vw;

        -webkit-filter: drop-shadow(0vw 0vw 2.92969vw rgba(169, 227, 208, .5));
                filter: drop-shadow(0vw 0vw 2.92969vw rgba(169, 227, 208, .5));
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__btn:before
    {
        width: 10.13333vw;
        height: 10.13333vw;

        -webkit-filter: drop-shadow(0vw 0vw 4vw rgba(169, 227, 208, .5));
                filter: drop-shadow(0vw 0vw 4vw rgba(169, 227, 208, .5));
    }
}

.contactSec__btn:hover .contactSec__submitBtn
{
    -webkit-transition: .3s;
            transition: .3s;

    color: #3a7e86;
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__btn:hover .contactSec__submitBtn
    {
        color: #383838;
    }
}

.contactSec__btn:hover:before
{
    -webkit-transition: .3s;
            transition: .3s;

    background-image: url(../images/img_contact_btn_arrow_hover.svg);
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__btn:hover:before
    {
        background-image: url(../images/img_contact_btn_arrow.svg);
    }
}

.contactSec__submitBtn
{
    font-family: 'Outfit', sans-serif;
    font-weight: 500;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: 98px;

    cursor: pointer;
    -webkit-transition: .3s;
            transition: .3s;
    letter-spacing: .08em;

    color: #383838;
    border: none;
    background-color: transparent;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__submitBtn
    {
        padding-left: 5.10417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__submitBtn
    {
        padding-left: 6.83594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__submitBtn
    {
        padding-left: 13.06667vw;
    }
}

.contactSec__errorTxt
{
    margin: 80px 0;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__errorTxt
    {
        margin: 4.16667vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__errorTxt
    {
        margin: 3.90625vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__errorTxt
    {
        margin: 8vw 0;
    }
}

.contactSec__confirmBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 90px;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 100px;
}

@media print, screen and (max-width: 1920px)
{
    .contactSec__confirmBox
    {
        margin-top: 4.6875vw;

        gap: 5.20833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .contactSec__confirmBox
    {
        margin-top: 5.85938vw;

        gap: 7.8125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .contactSec__confirmBox
    {
            flex-direction: column;

        margin-top: 10.66667vw;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }
}

.contactSec__confirmBox .contactSec__btn--error
{
    margin: 0;
}

/* ============== .thanksSec ============== */
.thanksSec
{
    width: 100%;
    padding-bottom: 177px;
}

@media print, screen and (max-width: 1920px)
{
    .thanksSec
    {
        padding-bottom: 9.21875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec
    {
        padding-bottom: 14.64844vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanksSec
    {
        padding-bottom: 20vw;
    }
}

.thanksSec__cont
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin-top: 160px;
    padding: 95px 0;

    background-color: rgba(255, 255, 255, .54);
    -webkit-box-shadow: 0 3px 30px rgba(0, 60, 67, .2);
            box-shadow: 0 3px 30px rgba(0, 60, 67, .2);
}

@media print, screen and (max-width: 1920px)
{
    .thanksSec__cont
    {
        margin-top: 8.33333vw;
        padding: 4.94792vw 0;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 60, 67, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 60, 67, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec__cont
    {
        margin-top: 11.71875vw;
        padding: 7.8125vw 0;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 60, 67, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 60, 67, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .thanksSec__cont
    {
        margin-top: 16vw;
        padding: 10.66667vw 5.33333vw;

        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 60, 67, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 60, 67, .2);
    }
}

.thanksSec__ttl
{
    font-weight: 500;

    margin-top: 100px;
    margin-bottom: 50px;

    letter-spacing: .05em;

    color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .thanksSec__ttl
    {
        margin-top: 5.20833vw;
        margin-bottom: 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec__ttl
    {
        margin-top: 7.8125vw;
        margin-bottom: 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanksSec__ttl
    {
        line-height: 1.5;

        margin-bottom: 6.66667vw;
    }
}

.thanksSec__txt
{
    font-weight: 500;
    line-height: 2.5;

    margin-bottom: 60px;

    letter-spacing: .05em;

    color: #383838;
}

@media print, screen and (max-width: 1920px)
{
    .thanksSec__txt
    {
        margin-bottom: 3.125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec__txt
    {
        margin-bottom: 5.85938vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanksSec__txt
    {
        line-height: 2;

        margin-bottom: 8vw;
    }
}

.thanksSec__btn
{
    font-weight: 500;

    position: relative;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 295px;
    margin: 0 auto;
    padding: 14px 0;
    padding-left: 79px;

    -webkit-transition: .3s;
            transition: .3s;
    text-align: left;
    letter-spacing: .05em;

    color: #3a7e86;
    border-radius: 6px;
    background-color: white;
    -webkit-box-shadow: 0 6px 20px rgba(169, 227, 208, .9);
            box-shadow: 0 6px 20px rgba(169, 227, 208, .9);
}

@media print, screen and (max-width: 1920px)
{
    .thanksSec__btn
    {
        width: 15.36458vw;
        padding: 1.04167vw 0;
        padding-left: 4.11458vw;

        -webkit-box-shadow: 0vw .3125vw 1.04167vw rgba(169, 227, 208, .9);
                box-shadow: 0vw .3125vw 1.04167vw rgba(169, 227, 208, .9);
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec__btn
    {
        width: 24.41406vw;
        padding: 1.95312vw 0;
        padding-left: 5.85938vw;

        -webkit-box-shadow: 0vw .58594vw 1.95312vw rgba(169, 227, 208, .9);
                box-shadow: 0vw .58594vw 1.95312vw rgba(169, 227, 208, .9);
    }
}

@media print, screen and (max-width: 430px)
{
    .thanksSec__btn
    {
        width: 60vw;
        padding: 4vw 0;
        padding-left: 12vw;

        -webkit-box-shadow: 0vw .8vw 2.66667vw rgba(169, 227, 208, .9);
                box-shadow: 0vw .8vw 2.66667vw rgba(169, 227, 208, .9);
    }
}

.thanksSec__btn:before
{
    position: absolute;
    top: 0;
    right: 21px;
    bottom: 0;

    width: 34px;
    height: 35px;
    margin: auto 0;

    content: '';
    -webkit-transition: .3s;
            transition: .3s;

    background-image: url(../images/img_thanks_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .thanksSec__btn:before
    {
        right: 1.09375vw;

        width: 1.77083vw;
        height: 1.82292vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec__btn:before
    {
        right: 1.46484vw;

        width: 3.32031vw;
        height: 3.41797vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanksSec__btn:before
    {
        right: 4vw;

        width: 6.66667vw;
        height: 6.66667vw;
    }
}

.thanksSec__btn:hover
{
    -webkit-transition: .3s;
            transition: .3s;

    color: white;
    background-color: #3a7e86;
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec__btn:hover
    {
        color: #3a7e86;
        background-color: white;
    }
}

.thanksSec__btn:hover:before
{
    -webkit-transition: .3s;
            transition: .3s;

    background-image: url(../images/img_thanks_arrow_hover.svg);
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec__btn:hover:before
    {
        background-image: url(../images/img_thanks_arrow.svg);
    }
}

.thanksSec .error_messe
{
    font-size: 18px;
    font-weight: 500;

    margin-bottom: 10px;

    letter-spacing: .05em;

    color: #383838;
}

@media print, screen and (max-width: 1920px)
{
    .thanksSec .error_messe
    {
        font-size: .9375vw;

        margin-bottom: .52083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .thanksSec .error_messe
    {
        font-size: 1.36719vw;

        margin-bottom: .97656vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .thanksSec .error_messe
    {
        font-size: 1.73333vw;

        margin-bottom: 1.33333vw;
    }
}

/* ============== .service ============== */
.service
{
    width: 100%;
    padding-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .service
    {
        padding-top: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service
    {
        padding-top: 9.76562vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service
    {
        padding-top: 26.66667vw;
    }
}

.service__lead
{
    font-weight: 500;
    line-height: 2.2;

    margin-top: 50px;

    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .service__lead
    {
        margin-top: 2.60417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__lead
    {
        margin-top: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__lead
    {
        margin-top: 6.66667vw;
    }
}

.service__slide
{
    width: 100%;
    margin-bottom: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .service__slide
    {
        margin-bottom: 10.41667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__slide
    {
        margin-bottom: 20vw;
    }
}

.service__slide:last-child
{
    margin-bottom: 286px;
}

@media print, screen and (max-width: 1920px)
{
    .service__slide:last-child
    {
        margin-bottom: 14.89583vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__slide:last-child
    {
        margin-bottom: 20vw;
    }
}

.service__slideLink
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1025px)
{
    .service__slideLink
    {
            flex-direction: column-reverse;

        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 2.92969vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__slideLink--pc
    {
        display: none;
    }
}

.service__slideLink--pd
{
    display: none;
}

@media print, screen and (max-width: 1025px)
{
    .service__slideLink--pd
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
}

.service__lBox
{
    width: 590px;
    padding-top: 162px;
}

@media print, screen and (max-width: 1920px)
{
    .service__lBox
    {
        width: 30.72917vw;
        padding-top: 8.4375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__lBox
    {
        width: 100%;
        padding-top: 0;
    }
}

.service__txtBox
{
    margin-bottom: 24px;
}

@media print, screen and (max-width: 1920px)
{
    .service__txtBox
    {
        margin-bottom: 1.25vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__txtBox
    {
        margin-bottom: 2.34375vw;
    }
}

.service__photo
{
    width: 1000px;

    -webkit-box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
            box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
}

@media print, screen and (max-width: 1920px)
{
    .service__photo
    {
        width: 52.08333vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__photo
    {
        width: 100%;
        margin-bottom: 0;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .service__photo
    {
        margin-bottom: 6.66667vw;

        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
    }
}

.service__photo > img
{
    display: block;

    width: 100%;
}

.service__ttlWrp
{
    margin-bottom: 50px;
}

@media print, screen and (max-width: 1920px)
{
    .service__ttlWrp
    {
        margin-bottom: 2.60417vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__ttlWrp
    {
        margin-bottom: 4vw;
    }
}

.service__ttlBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 9px 0 9px 30px;

    background-color: rgba(255, 255, 255, .8);
    -webkit-box-shadow: 0 3px 20px rgba(0, 35, 87, .1);
            box-shadow: 0 3px 20px rgba(0, 35, 87, .1);

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 41px;
}

@media print, screen and (max-width: 1920px)
{
    .service__ttlBox
    {
        padding: .46875vw 0 .46875vw 1.5625vw;

        -webkit-box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .15625vw 1.04167vw rgba(0, 35, 87, .1);

        gap: 2.13542vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__ttlBox
    {
        padding: .87891vw 0 .87891vw 2.92969vw;

        -webkit-box-shadow: 0vw .29297vw 1.95312vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .29297vw 1.95312vw rgba(0, 35, 87, .1);

        gap: 4.00391vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__ttlBox
    {
        padding: 1.2vw 0 1.2vw 4vw;

        -webkit-box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .1);
                box-shadow: 0vw .4vw 2.66667vw rgba(0, 35, 87, .1);

        gap: 5.46667vw;
    }
}

.service__ttlBox--01
{
    width: 455px;
}

@media print, screen and (max-width: 1920px)
{
    .service__ttlBox--01
    {
        width: 23.69792vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__ttlBox--01
    {
        width: 39.0625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__ttlBox--01
    {
        width: 73.33333vw;
    }
}

.service__ttlBox--02
{
    width: 484px;
}

@media print, screen and (max-width: 1920px)
{
    .service__ttlBox--02
    {
        width: 25.20833vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__ttlBox--02
    {
        width: 39.0625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__ttlBox--02
    {
        width: 73.33333vw;
    }
}

.service__num
{
    font-family: 'Outfit', sans-serif;
    font-weight: 300;

    letter-spacing: 0;

    color: #3a7e86;
}

.service__ttl
{
    font-weight: 500;

    position: relative;

    letter-spacing: .05em;

    color: #3a7e86;
}

.service__ttl:before
{
    position: absolute;
    top: 0;
    left: -20px;

    width: 1px;
    height: 100%;

    content: '';

    background-color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .service__ttl:before
    {
        left: -1.04167vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__ttl:before
    {
        left: -1.95312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .service__ttl:before
    {
        left: -2.66667vw;
    }
}

.service__txtBody
{
    min-height: 161px;
}

@media print, screen and (max-width: 1920px)
{
    .service__txtBody
    {
        min-height: 8.38542vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .service__txtBody
    {
        min-height: 0;
    }
}

.service__txt
{
    font-weight: 500;
    line-height: 2.5;

    text-align: left;
    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 430px)
{
    .service__btn
    {
        margin-top: 6.66667vw;
    }
}

/* ============== .c-underFv02 ============== */
.c-underFv02
{
    width: 100%;
    padding-top: 294px;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv02
    {
        padding-top: 15.3125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv02
    {
        padding-top: 18.94531vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-underFv02
    {
        padding-top: 39.2vw;
    }
}

.c-underFv02__box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 183px;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv02__box
    {
        gap: 9.53125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv02__box
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: 5.17578vw;
    }
}

.c-underFv02__ttl
{
    font-weight: 500;
    line-height: 1;

    padding-top: 132px;

    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv02__ttl
    {
        padding-top: 6.875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv02__ttl
    {
        padding-top: 0;
        padding-left: 4.88281vw;
    }
}

.c-underFv02__photo
{
    width: 1200px;
}

@media print, screen and (max-width: 1920px)
{
    .c-underFv02__photo
    {
        width: 62.5vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-underFv02__photo
    {
        width: 100%;
    }
}

.c-underFv02__photo > img
{
    display: block;

    width: 100%;
}

/* ============== .outExplanation ============== */
.outExplanation
{
    width: 100%;
    padding-top: 426px;
}

@media print, screen and (max-width: 1920px)
{
    .outExplanation
    {
        padding-top: 22.1875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outExplanation
    {
        padding-top: 31.83594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outExplanation
    {
        padding-top: 26.66667vw;
    }
}

.outExplanation__cont
{
    width: 100%;
}

.outExplanation__photo
{
    width: 1040px;

    -webkit-box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
            box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
}

@media print, screen and (max-width: 1920px)
{
    .outExplanation__photo
    {
        width: 54.16667vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .outExplanation__photo
    {
        width: 82.03125vw;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .outExplanation__photo
    {
        width: 93.33333vw;

        -webkit-box-shadow: 0vw .76923vw 7.69231vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .76923vw 7.69231vw rgba(0, 35, 87, .2);
    }
}

.outExplanation__photo > img
{
    display: block;

    width: 100%;
}

.outExplanation__txtBox
{
    width: 1366px;
    min-height: 280px;
    margin: 0 auto;
    padding-top: 130px;

    text-align: left;
}

@media print, screen and (max-width: 1920px)
{
    .outExplanation__txtBox
    {
        width: 71.14583vw;
        min-height: 14.58333vw;
        padding-top: 6.77083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outExplanation__txtBox
    {
        width: 81.05469vw;
        min-height: 0;
        padding-top: 6.83594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outExplanation__txtBox
    {
        width: 92vw;
    }
}

.outExplanation__txtBox > p
{
    font-weight: 500;
    line-height: 2.5;

    letter-spacing: .05em;

    color: #fff;
}

/* ============== .outFeature ============== */
.outFeature
{
    width: 100%;
    padding-top: 200px;
}

@media print, screen and (max-width: 1920px)
{
    .outFeature
    {
        padding-top: 10.41667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature
    {
        padding-top: 19.53125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outFeature
    {
        padding-top: 26.66667vw;
    }
}

.outFeature__cont
{
    padding-top: 80px;
}

@media print, screen and (max-width: 1920px)
{
    .outFeature__cont
    {
        padding-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature__cont
    {
        padding-top: 7.8125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outFeature__cont
    {
        padding-top: 10.66667vw;
    }
}

.outFeature__box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 120px 0 120px;

    border-bottom: 1px solid #fff;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media print, screen and (max-width: 1920px)
{
    .outFeature__box
    {
        padding: 6.25vw 0 6.25vw;

        border-bottom: .05208vw solid #fff;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature__box
    {
            flex-direction: column;

        padding: 7.8125vw 0 7.8125vw;

        border-bottom: .09766vw solid #fff;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outFeature__box
    {
        padding: 10.66667vw 0 10.66667vw;

        border-bottom: .13333vw solid #fff;

        gap: 6.66667vw;
    }
}

.outFeature__box:first-child
{
    padding-top: 0;
}

.outFeature__photo
{
    width: 686px;

    -webkit-box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
            box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
}

@media print, screen and (max-width: 1920px)
{
    .outFeature__photo
    {
        width: 35.72917vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature__photo
    {
        width: 100%;

        -webkit-box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .29297vw 2.92969vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .outFeature__photo
    {
        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
    }
}

.outFeature__photo > img
{
    display: block;

    width: 100%;
}

.outFeature__rBox
{
    width: 850px;
    padding-top: 38px;

    text-align: left;
}

@media print, screen and (max-width: 1920px)
{
    .outFeature__rBox
    {
        width: 44.27083vw;
        padding-top: 1.97917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature__rBox
    {
        width: 100%;
        padding-top: 0;
    }
}

.outFeature__ttl
{
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    line-height: 1;

    position: relative;

    padding-left: 21px;

    color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .outFeature__ttl
    {
        padding-left: 1.09375vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature__ttl
    {
        padding-left: 2.05078vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outFeature__ttl
    {
        padding-left: 2.8vw;
    }
}

.outFeature__ttl::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 1px;
    height: 30px;
    margin: auto 0;

    content: '';

    background-color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .outFeature__ttl::before
    {
        width: .05208vw;
        height: 1.5625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature__ttl::before
    {
        width: .09766vw;
        height: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outFeature__ttl::before
    {
        width: .13333vw;
        height: 5.33333vw;
    }
}

.outFeature__txt
{
    font-weight: 500;
    line-height: 2.5;

    padding-top: 55px;

    letter-spacing: .05em;

    color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .outFeature__txt
    {
        padding-top: 2.86458vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .outFeature__txt
    {
        padding-top: 3.41797vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outFeature__txt
    {
        padding-top: 4.66667vw;
    }
}

/* ============== .outAchievement ============== */
.outAchievement
{
    width: 100%;
    padding: 200px 0 285px;
}

@media print, screen and (max-width: 1920px)
{
    .outAchievement
    {
        padding: 10.41667vw 0 14.84375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outAchievement
    {
        padding: 26.66667vw 0 26.66667vw;
    }
}

.outAchievement__cont
{
    padding-top: 80px;
}

@media print, screen and (max-width: 1920px)
{
    .outAchievement__cont
    {
        padding-top: 4.16667vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outAchievement__cont
    {
        padding-top: 10.66667vw;
    }
}

.outAchievement__photoBox
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 105px;
}

@media print, screen and (max-width: 1920px)
{
    .outAchievement__photoBox
    {
        gap: 5.46875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outAchievement__photoBox
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        gap: 6.66667vw;
    }
}

.outAchievement__photo
{
    width: 490px;

    -webkit-box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
            box-shadow: 0 3px 30px rgba(0, 35, 87, .2);
}

@media print, screen and (max-width: 1920px)
{
    .outAchievement__photo
    {
        width: 25.52083vw;

        -webkit-box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .15625vw 1.5625vw rgba(0, 35, 87, .2);
    }
}

@media print, screen and (max-width: 430px)
{
    .outAchievement__photo
    {
        width: 100%;

        -webkit-box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
                box-shadow: 0vw .4vw 4vw rgba(0, 35, 87, .2);
    }
}

.outAchievement__photo > img
{
    display: block;

    width: 100%;
}

.outAchievement__btn
{
    display: inline-block;

    margin: 0 auto;
    padding-top: 140px;
}

@media print, screen and (max-width: 1920px)
{
    .outAchievement__btn
    {
        padding-top: 7.29167vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .outAchievement__btn
    {
        padding-top: 10.66667vw;
    }
}

/* ============== .vision ============== */
.vision__cover
{
    position: fixed;
    bottom: 0;
    left: 0;

    width: 683px;
    height: 1080px;

    -webkit-transition: all .5s ease 0s;
            transition: all .5s ease 0s;

    opacity: 0;
    background-image: url(../images/img_vision_bg00.png);
    background-repeat: no-repeat;
    background-size: cover;
}

@media print, screen and (max-width: 1920px)
{
    .vision__cover
    {
        width: 35.57292vw;
        height: 56.25vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .vision__cover
    {
        left: -4.88281vw;

        width: 55.27344vw;
        height: 87.40234vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__cover
    {
        display: none;
    }
}

.vision .vision__cover.show
{
    opacity: 1;
}

.vision__inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.vision__inner--03
{
    margin-bottom: 505px;
}

@media print, screen and (max-width: 1920px)
{
    .vision__inner--03
    {
        margin-top: 13.02083vw;
        margin-bottom: 26.30208vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__inner--03
    {
        margin: 40.66667vw 0 40.66667vw;
    }
}

.vision__one
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    min-height: 100vh;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.vision__bg
{
    -webkit-transition: all .5s ease 0s;
            transition: all .5s ease 0s;
}

.vision__onebox
{
    width: 1363px;
    margin: 0 auto;

    text-align: left;
}

@media print, screen and (max-width: 1920px)
{
    .vision__onebox
    {
        width: 70.98958vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .vision__onebox
    {
        width: 90.23438vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__onebox
    {
        width: 93.33333vw;
    }
}

.vision__ttl
{
    font-family: 'Baskerville', serif;
    font-weight: 400;
    line-height: 1;

    position: relative;

    margin: 0 auto 0 0;
    padding-left: 114.5px;

    letter-spacing: .05em;

    color: #fff;
    text-shadow: 0 3px 10px rgba(0, 0, 0, .16);
}

@media print, screen and (max-width: 1920px)
{
    .vision__ttl
    {
        padding-left: 5.96354vw;

        text-shadow: 0vw .15625vw .52083vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 1025px)
{
    .vision__ttl
    {
        padding-left: 9.17969vw;

        text-shadow: 0vw .29297vw .97656vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__ttl
    {
        padding-left: 9.86667vw;

        text-shadow: 0vw .4vw 1.33333vw rgba(0, 0, 0, .16);
    }
}

.vision__ttl::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 80px;
    height: 1px;
    margin: auto 0;

    content: '';

    background-color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .vision__ttl::before
    {
        width: 4.16667vw;
        height: .05208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .vision__ttl::before
    {
        width: 6.83594vw;
        height: .09766vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__ttl::before
    {
        width: 8vw;
        height: .13333vw;
    }
}

.vision__txtBox
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 794px;
    margin: 100px 0 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .vision__txtBox
    {
        width: 41.35417vw;
        margin: 5.20833vw 0 0 auto;
    }
}

@media print, screen and (max-width: 1025px)
{
    .vision__txtBox
    {
        width: 51.75781vw;
        margin: 6.83594vw 0 0 auto;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__txtBox
    {
        width: 100%;
        margin: 9.33333vw 0 0 auto;
    }
}

.vision__txt
{
    font-family: 'Shippori Mincho', serif;
    font-weight: 600;
    line-height: 3.833;

    letter-spacing: .1em;

    color: #fff;
    text-shadow: 0 3px 10px rgba(0, 0, 0, .16);
}

@media print, screen and (max-width: 1920px)
{
    .vision__txt
    {
        text-shadow: 0vw .15625vw .52083vw rgba(0, 0, 0, .16);
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__txt
    {
        text-shadow: 0vw .4vw 1.33333vw rgba(0, 0, 0, .16);
    }
}

.vision__txt--top
{
    line-height: 1;

    margin-bottom: 121px;
}

@media print, screen and (max-width: 1920px)
{
    .vision__txt--top
    {
        margin-bottom: 6.30208vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .vision__txt--top
    {
        line-height: 2.833;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__txt--top
    {
        width: 100%;
        margin-bottom: 16.13333vw;
    }
}

.vision__txt--num
{
    line-height: 1;
}

.vision__txt--en
{
    font-family: 'Baskerville', serif;
    font-weight: 400;
    line-height: 1;

    margin-top: 30px;

    letter-spacing: .05em;
}

@media print, screen and (max-width: 1920px)
{
    .vision__txt--en
    {
        margin-top: 1.5625vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__txt--en
    {
        margin-top: 4vw;
    }
}

.vision__txt--value
{
    line-height: 1;

    margin-top: 127px;
}

@media print, screen and (max-width: 1920px)
{
    .vision__txt--value
    {
        margin-top: 6.61458vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .vision__txt--value
    {
        line-height: 2;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__txt--value
    {
        margin-top: 10.26667vw;
    }
}

.vision__subTtl
{
    font-family: 'Shippori Mincho', serif;
    font-weight: 600;
    line-height: 1;

    display: inline-block;

    margin-top: 130px;
    padding: 10px 18px;

    letter-spacing: .05em;

    color: #3a7e86;
    background-color: rgba(255, 255, 255, .84);
}

@media print, screen and (max-width: 1920px)
{
    .vision__subTtl
    {
        margin-top: 6.77083vw;
        padding: .52083vw .9375vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__subTtl
    {
        margin-top: 17.33333vw;
        padding: 1.33333vw 2.4vw;
    }
}

.vision__subTtl:first-child
{
    margin-top: 0;
}

.vision__valueBox
{
    margin-top: 330px;
}

@media print, screen and (max-width: 1920px)
{
    .vision__valueBox
    {
        margin-top: 17.1875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .vision__valueBox
    {
        margin-top: 30.66667vw;
    }
}

.vision__valueBox:first-child
{
    margin-top: 0;
}

/* ============== .visionFv ============== */
.visionFv__ttl
{
    font-family: 'Outfit', sans-serif;
    font-size: 9.375vw;
    font-weight: 500;

    position: absolute;
    top: 5.83333vw;
    left: 14.63542vw;

    width: 591px;
    height: 227px;

    color: #3a7e86;
}

@media print, screen and (max-width: 1920px)
{
    .visionFv__ttl
    {
        font-size: 9.375vw;

        top: 5.83333vw;
        left: 14.63542vw;

        width: 30.78125vw;
        height: 11.82292vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .visionFv__ttl
    {
        font-size: 11.71875vw;

        top: 15.82031vw;
        left: 6.93359vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .visionFv__ttl
    {
        font-size: 13.33333vw;

        top: 24.26667vw;
        left: 7.33333vw;
    }
}

/* ============== .visionScroll ============== */
.visionScroll
{
    position: relative;
    z-index: 0;
    /* スクロールさせたい分だけ確保 */

    overflow: hidden;

    height: 200vh;
}

.visionScroll__bg
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 100vh;
}

.visionScroll__bgFv
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;

    width: 100%;
    height: 100vh;

    will-change: opacity;
}

.visionScroll__bgWrapper
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.visionScroll__bgWrapper img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.visionScroll__bgItem
{
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;

    width: 100%;
    height: 100vh;

    will-change: opacity;
}

.visionScroll__bgItemImg
{
    width: 100%;
    height: 100vh;

    -o-object-fit: cover;
       object-fit: cover;
}

.visionScroll__bgOverlay
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    opacity: 0;
    background-color: #044148;
    /* 初期は透明 */

    will-change: opacity;
}

/* アイテム1・2・3は最初は非表示 */
.js-vision-bg-item-1,
.js-vision-bg-item-2,
.js-vision-bg-item-3
{
    opacity: 0;
    /* 最初は非表示 */
}

/* 画像の大きさ調整例 */
.js-vision-bg-item-1 img,
.js-vision-bg-item-2 img
{
    width: 100%;
    height: 100vh;
}

@media print, screen and (max-width: 1025px)
{
    .js-vision-bg-item-1 img,
    .js-vision-bg-item-2 img
    {
        height: 100vh;
    }
}

@media print, screen and (max-width: 430px)
{
    .js-vision-bg-item-1 img,
    .js-vision-bg-item-2 img
    {
        height: 100vh;
    }
}

.js-vision-bg-item-3
{
    font-size: 3rem;

    position: fixed;
    /* 画面に固定 */
    top: 0;
    left: 0;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100vw;
    height: 100vh;

    opacity: 0;
}
