@charset "UTF-8";
:root {
  --vw375: 0.2666666667vw; /* 100 / 375 */
  --vw600: 0.1666666667vw; /* 100 / 600 */
  --vw768: 0.1302083333vw; /* 100 / 768 */
  --vw1100: 0.0909090909vw; /* 100 / 1100 */
  --vw1440: 0.0694444444vw; /* 100 / 1440 */
  --vw1600: 0.0625vw; /* 100 / 1600 */
  --polygon-child:polygon(17.6% 3.1%, 22.5% 2.8%, 27.4% 3.1%, 32.1% 2.4%, 35.1% 2.1%, 39.3% 2.0%, 44.6% 2.4%, 48.9% 2.5%, 54.5% 2.6%, 59.2% 1.4%, 64.3% 3.9%, 68.9% 1.7%, 74.9% 4.1%, 79.9% 2.0%, 84.1% 3.7%, 88.6% 5.3%, 93.8% 6.5%, 95.0% 12.8%, 96.5% 16.6%, 98.8% 22.7%, 96.9% 29.6%, 99.5% 34.4%, 98.6% 41.0%, 96.5% 47.9%, 97.6% 53.8%, 97.1% 59.8%, 97.1% 65.9%, 99.0% 73.3%, 97.0% 81.8%, 95.4% 86.1%, 94.2% 90.4%, 91.9% 93.1%, 89.0% 95.7%, 85.4% 97.0%, 81.9% 98.1%, 77.3% 96.7%, 72.8% 97.9%, 68.3% 97.3%, 65.6% 96.7%, 61.2% 97.4%, 57.6% 97.8%, 53.9% 96.3%, 51.3% 97.8%, 46.7% 96.8%, 42.1% 96.4%, 38.5% 96.8%, 35.0% 97.8%, 30.0% 97.8%, 26.6% 98.3%, 21.0% 96.0%, 16.7% 98.7%, 12.0% 95.1%, 8.3% 92.9%, 2.8% 87.8%, 1.3% 82.6%, 1.0% 71.4%, 0.5% 52.3%, 0.6% 37.0%, 1.2% 25.8%, 2.3% 14.4%, 7.1% 8.5%, 12.7% 2.6%, 16.9% 1.7%, 18.3% 2.5%, 18.9% 1.0%, 20.7% 2.7%, 22.3% 4.6%, 23.1% 3.2%, 24.5% 3.4%, 25.8% 2.5%, 26.2% 4.3%, 28.0% 4.4%, 29.0% 4.0%, 29.8% 3.0%, 31.0% 2.6%, 31.8% 3.6%, 33.4% 3.3%, 33.8% 2.8%, 35.7% 2.5%, 36.5% 1.7%, 37.5% 1.3%, 38.8% 2.3%, 40.3% 2.1%, 41.3% 2.0%, 42.0% 1.1%, 44.2% 0.7%, 45.9% 0.5%, 46.8% 1.9%, 47.8% 3.0%, 49.4% 3.8%, 50.0% 2.3%, 51.5% 2.5%, 52.7% 2.1%, 53.6% 2.3%, 54.9% 3.0%, 56.6% 3.4%, 57.4% 2.5%, 58.3% 3.3%, 59.9% 4.0%, 60.9% 3.5%, 62.0% 4.1%, 63.3% 4.4%, 64.2% 4.6%, 65.3% 4.9%, 66.8% 5.0%, 68.1% 4.6%, 69.0% 4.0%, 70.3% 4.2%, 71.2% 4.2%, 72.7% 3.5%, 73.8% 3.9%, 74.5% 3.6%, 75.6% 2.3%, 76.4% 2.1%, 79.0% 1.0%, 79.9% 2.3%, 80.8% 1.8%, 81.8% 2.0%, 83.5% 0.6%, 84.4% 1.8%, 85.7% 2.4%, 87.4% 1.7%, 87.9% 3.1%, 88.9% 4.6%, 90.1% 5.4%, 90.8% 6.3%, 91.8% 7.8%, 93.1% 8.6%, 93.9% 9.2%, 94.2% 10.7%, 95.0% 12.1%, 95.3% 13.3%, 95.8% 15.0%, 96.6% 16.6%, 96.7% 17.6%, 97.1% 18.4%, 96.7% 20.0%, 96.8% 21.7%, 97.1% 23.9%, 96.7% 25.3%, 97.0% 26.8%, 97.6% 29.0%, 97.9% 30.5%, 98.6% 32.0%, 99.0% 32.6%, 98.1% 35.2%, 98.4% 36.4%, 98.8% 37.7%, 98.1% 39.7%, 98.4% 41.1%, 99.2% 42.5%, 98.8% 45.4%, 98.6% 47.0%, 98.4% 48.6%, 99.2% 49.6%, 99.1% 52.2%, 99.5% 54.7%, 98.7% 55.8%, 98.2% 57.3%, 98.4% 59.3%, 98.3% 60.6%, 97.6% 62.4%, 96.9% 64.6%, 97.8% 65.6%, 97.6% 67.5%, 97.6% 69.6%, 98.1% 70.7%, 97.7% 72.5%, 97.6% 74.5%, 97.9% 75.8%, 97.1% 77.0%, 96.3% 78.9%, 96.6% 81.0%, 96.4% 81.9%, 96.3% 83.6%, 95.5% 84.2%, 94.8% 85.8%, 94.2% 87.5%, 93.9% 89.1%, 94.3% 90.9%, 93.2% 91.0%, 92.5% 92.1%, 91.9% 93.0%, 90.1% 93.5%, 89.5% 94.6%, 89.1% 95.8%, 87.2% 96.5%, 86.4% 97.5%, 85.7% 98.4%, 84.1% 97.9%, 82.9% 98.5%, 82.0% 99.5%, 79.8% 98.5%, 78.8% 98.0%, 77.5% 98.2%, 76.4% 98.1%, 75.4% 98.0%, 74.0% 99.0%, 73.0% 99.0%, 71.4% 97.4%, 69.7% 95.2%, 69.1% 96.6%, 68.2% 95.8%, 66.6% 95.0%, 65.5% 95.6%, 63.9% 95.9%, 63.0% 97.0%, 62.4% 96.3%, 61.5% 96.4%, 60.8% 95.4%, 58.7% 96.1%, 57.5% 97.4%, 56.4% 97.3%, 55.5% 98.2%, 54.3% 98.2%, 53.4% 97.2%, 52.5% 98.0%, 51.5% 99.1%, 49.7% 98.9%, 48.3% 99.1%, 47.1% 99.0%, 46.2% 98.9%, 44.3% 98.6%, 43.2% 98.0%, 42.6% 98.6%, 40.9% 98.7%, 39.6% 98.8%, 38.7% 99.2%, 37.0% 98.3%, 35.9% 97.4%, 35.0% 98.1%, 33.7% 97.9%, 32.0% 98.8%, 31.2% 97.9%, 30.0% 97.1%, 28.6% 96.9%, 27.8% 97.7%, 26.5% 96.9%, 25.0% 95.7%, 24.1% 96.6%, 22.7% 96.2%, 21.4% 96.7%, 20.5% 96.6%, 18.9% 96.5%, 17.9% 97.8%, 17.2% 96.4%, 15.6% 95.7%, 14.3% 96.1%, 13.5% 95.6%, 12.9% 95.3%, 11.7% 94.3%, 11.0% 93.6%, 9.3% 93.1%, 8.4% 92.6%, 7.6% 92.7%, 6.9% 92.5%, 6.5% 89.8%, 5.3% 89.6%, 3.2% 89.8%, 2.8% 86.3%, 2.9% 85.1%, 1.9% 83.5%, 1.5% 82.4%, 1.4% 80.2%, 0.6% 77.9%, 1.3% 76.7%, 1.8% 74.9%, 1.6% 72.9%, 2.1% 71.7%, 2.2% 69.6%, 1.5% 67.8%, 3.2% 67.5%, 3.5% 65.3%, 3.4% 63.4%, 3.5% 62.2%, 2.6% 59.7%, 2.2% 58.3%, 1.5% 57.2%, 1.3% 56.4%, 1.8% 54.0%, 1.5% 52.7%, 1.3% 51.3%, 1.7% 49.6%, 1.1% 47.8%, 0.7% 46.5%, 1.4% 44.3%, 1.0% 43.2%, 0.2% 41.7%, 0.3% 39.3%, 0.5% 36.6%, 1.0% 34.7%, 1.2% 33.6%, 1.3% 32.2%, 0.9% 30.1%, 0.9% 28.8%, 1.5% 26.5%, 2.3% 24.7%, 1.2% 23.9%, 2.4% 22.3%, 3.4% 20.4%, 3.4% 19.1%, 4.1% 17.5%, 4.5% 15.5%, 4.4% 13.7%, 4.5% 13.8%, 5.5% 12.4%, 6.2% 11.5%, 6.9% 9.2%, 7.5% 8.0%, 7.7% 7.0%, 8.8% 5.6%, 9.8% 5.8%, 10.9% 4.9%, 11.3% 4.3%, 13.2% 4.4%, 13.8% 3.1%, 14.4% 0.7%, 16.0% 1.8%, 17.4% 2.9%, 16.4% 4.4%, 16.7% 2.8%);
  --polygon-orthodontics:polygon(51.6% 1.6%, 56.1% 2.1%, 62.2% 3.3%, 69.5% 4.6%, 75.5% 5.4%, 80.3% 8.2%, 85.6% 9.8%, 85.6% 13.7%, 92.0% 15.3%, 93.6% 18.4%, 96.4% 22.8%, 94.8% 26.8%, 95.7% 29.9%, 98.1% 33.7%, 97.3% 36.9%, 95.8% 41.0%, 98.9% 43.2%, 96.3% 46.8%, 96.9% 50.0%, 97.2% 53.5%, 98.6% 56.1%, 99.0% 59.6%, 96.0% 61.5%, 96.6% 64.7%, 97.2% 67.4%, 95.6% 70.9%, 97.6% 73.9%, 95.1% 76.6%, 93.5% 80.7%, 89.7% 83.4%, 85.9% 86.3%, 83.4% 89.5%, 80.0% 91.8%, 73.2% 94.8%, 70.2% 96.3%, 63.5% 95.8%, 58.7% 97.9%, 52.3% 98.7%, 46.7% 97.5%, 40.9% 98.4%, 36.1% 97.0%, 29.6% 95.2%, 23.2% 93.6%, 18.5% 91.9%, 13.7% 88.8%, 12.1% 86.5%, 8.5% 83.6%, 6.1% 80.9%, 3.6% 79.0%, 2.6% 76.0%, 2.2% 72.7%, 2.2% 66.7%, 1.6% 63.7%, 0.9% 61.3%, 1.3% 58.5%, 2.0% 54.7%, 2.6% 50.7%, 1.9% 47.5%, 4.0% 45.1%, 2.6% 40.8%, 2.8% 36.2%, 1.3% 32.8%, 3.9% 27.5%, 5.4% 22.4%, 7.3% 18.0%, 12.0% 14.1%, 13.0% 11.2%, 18.4% 7.2%, 23.7% 6.1%, 28.5% 4.5%, 33.9% 2.0%, 42.0% 3.0%, 46.8% 0.5%, 50.3% 1.6%, 51.7% 1.5%, 54.6% 1.6%, 55.4% 1.2%, 56.6% 1.7%, 59.1% 2.9%, 60.9% 3.0%, 61.7% 3.3%, 63.8% 4.2%, 66.6% 4.0%, 67.8% 4.1%, 70.1% 3.6%, 70.9% 4.3%, 72.5% 4.9%, 74.2% 5.1%, 75.4% 4.6%, 77.8% 5.2%, 78.6% 5.7%, 79.0% 7.3%, 80.3% 8.7%, 81.1% 8.9%, 83.2% 9.9%, 84.5% 10.5%, 85.2% 11.3%, 84.7% 12.5%, 85.8% 14.0%, 88.2% 15.2%, 90.3% 15.1%, 91.1% 15.7%, 92.2% 16.6%, 94.0% 17.5%, 95.0% 18.1%, 95.6% 18.8%, 96.2% 19.4%, 95.6% 21.0%, 95.6% 22.1%, 95.9% 23.7%, 94.5% 24.5%, 94.4% 25.7%, 94.4% 27.1%, 95.0% 28.6%, 96.8% 29.1%, 97.3% 30.2%, 98.5% 31.4%, 98.8% 31.9%, 98.8% 32.8%, 98.9% 33.6%, 97.1% 35.0%, 97.7% 35.6%, 99.1% 36.6%, 98.1% 38.3%, 97.3% 39.2%, 96.9% 40.0%, 96.7% 41.7%, 96.6% 42.6%, 96.3% 44.0%, 96.4% 45.2%, 96.4% 46.0%, 96.3% 47.2%, 96.9% 48.5%, 97.5% 49.3%, 97.9% 50.3%, 98.8% 51.2%, 98.5% 51.7%, 98.7% 53.2%, 98.2% 53.9%, 96.4% 55.4%, 96.3% 56.7%, 96.3% 57.8%, 96.7% 59.1%, 96.5% 59.9%, 96.3% 61.2%, 96.4% 62.4%, 98.1% 63.1%, 98.2% 64.5%, 97.9% 65.1%, 98.2% 65.5%, 99.0% 67.0%, 98.7% 67.8%, 96.7% 69.2%, 96.2% 70.5%, 95.7% 71.4%, 94.5% 72.6%, 95.3% 74.2%, 94.6% 74.5%, 93.2% 75.9%, 94.7% 76.9%, 94.9% 78.1%, 96.3% 79.7%, 96.0% 80.4%, 94.7% 81.7%, 93.9% 82.3%, 92.2% 82.5%, 91.0% 83.5%, 89.2% 84.5%, 87.3% 84.4%, 85.9% 86.0%, 85.1% 86.9%, 84.4% 88.3%, 84.7% 89.3%, 83.6% 90.2%, 82.7% 91.3%, 82.6% 92.1%, 80.2% 92.9%, 78.9% 93.1%, 77.5% 92.9%, 75.9% 93.7%, 73.6% 94.2%, 72.0% 93.5%, 69.6% 94.3%, 67.6% 95.3%, 67.1% 96.5%, 65.8% 95.8%, 63.5% 95.9%, 61.9% 96.8%, 60.9% 97.5%, 59.6% 98.1%, 58.4% 98.8%, 57.0% 98.6%, 55.0% 98.8%, 53.7% 98.8%, 51.2% 97.9%, 48.9% 97.9%, 48.0% 98.0%, 46.8% 97.0%, 43.7% 96.7%, 42.2% 96.7%, 39.8% 96.7%, 38.7% 97.8%, 36.7% 97.9%, 34.1% 98.2%, 32.9% 97.1%, 32.1% 96.9%, 30.5% 97.1%, 29.1% 96.1%, 28.0% 95.4%, 27.0% 95.0%, 24.6% 94.0%, 23.3% 93.5%, 22.4% 92.7%, 22.4% 91.4%, 19.7% 90.3%, 17.8% 89.8%, 15.7% 90.0%, 16.2% 89.0%, 15.1% 87.7%, 13.4% 86.8%, 11.5% 87.3%, 9.8% 86.2%, 8.3% 85.5%, 8.3% 85.0%, 7.6% 83.8%, 7.4% 83.0%, 8.1% 81.2%, 7.3% 79.9%, 6.7% 79.0%, 5.9% 77.5%, 4.6% 77.0%, 4.2% 76.0%, 3.8% 74.8%, 2.1% 74.2%, 1.3% 73.3%, 0.9% 72.7%, 1.9% 71.4%, 2.3% 70.2%, 2.6% 69.5%, 3.5% 67.7%, 4.0% 67.1%, 4.5% 65.5%, 4.0% 64.0%, 2.9% 63.3%, 2.6% 62.1%, 2.1% 61.0%, 0.3% 60.5%, 0.3% 58.8%, 0.6% 58.2%, 1.7% 57.5%, 1.9% 56.3%, 2.3% 54.8%, 4.0% 54.2%, 4.4% 52.8%, 3.9% 50.9%, 2.0% 50.1%, 3.0% 49.5%, 3.5% 48.2%, 3.9% 46.6%, 1.8% 46.4%, 3.1% 45.3%, 4.5% 43.7%, 2.3% 43.2%, 1.7% 42.1%, 0.5% 41.1%, 0.7% 40.6%, 0.9% 39.1%, 1.4% 38.4%, 3.1% 37.0%, 3.7% 35.9%, 3.7% 34.3%, 3.3% 33.5%, 3.9% 33.2%, 4.8% 31.4%, 4.2% 30.0%, 3.5% 29.2%, 2.8% 27.9%, 1.1% 26.5%, 2.4% 26.0%, 2.6% 24.9%, 1.9% 23.5%, 2.4% 22.9%, 3.0% 22.2%, 3.4% 21.5%, 5.4% 20.1%, 6.5% 19.2%, 7.7% 18.0%, 8.8% 17.0%, 9.5% 16.5%, 10.7% 15.7%, 11.8% 14.6%, 12.2% 13.7%, 13.0% 12.6%, 12.9% 11.1%, 13.2% 10.6%, 14.8% 9.6%, 16.0% 9.2%, 17.3% 8.9%, 18.5% 7.3%, 19.8% 7.1%, 22.6% 7.3%, 24.4% 6.9%, 26.3% 6.1%, 27.5% 5.3%, 28.8% 5.3%, 30.7% 4.8%, 32.9% 4.0%, 32.7% 2.7%, 34.6% 2.2%, 36.4% 1.5%, 37.1% 1.2%, 39.1% 1.2%, 40.4% 1.4%, 42.9% 2.1%, 44.8% 1.6%, 46.4% 1.1%, 47.2% 2.2%, 49.9% 2.3%, 48.9% 0.4%, 48.3% 1.7%, 50.4% 1.4%);
  --polygon-treatment:polygon(50.5% 1.6%, 54.8% 1.2%, 58.4% 3.6%, 63.3% 5.6%, 68.4% 6.5%, 72.0% 7.4%, 75.1% 9.8%, 79.2% 11.6%, 82.6% 13.1%, 84.7% 15.4%, 87.9% 18.4%, 89.5% 21.6%, 91.0% 26.3%, 93.7% 27.7%, 94.7% 32.5%, 95.4% 37.2%, 97.5% 41.4%, 96.7% 46.3%, 97.8% 49.5%, 97.6% 55.2%, 97.8% 58.6%, 97.4% 63.7%, 98.2% 67.7%, 96.3% 69.8%, 95.4% 75.2%, 93.0% 78.2%, 90.5% 81.5%, 88.1% 84.8%, 84.4% 87.1%, 80.9% 88.2%, 78.5% 90.6%, 74.9% 92.4%, 71.9% 94.8%, 66.4% 95.1%, 62.9% 97.7%, 58.2% 97.2%, 56.4% 97.1%, 51.6% 98.3%, 47.4% 97.5%, 44.1% 97.6%, 39.5% 97.8%, 37.1% 96.3%, 32.7% 94.2%, 28.4% 92.6%, 24.0% 90.6%, 20.1% 89.7%, 19.0% 87.1%, 15.7% 84.1%, 12.8% 82.5%, 8.9% 79.9%, 7.2% 77.2%, 6.1% 73.3%, 4.5% 68.6%, 2.8% 65.2%, 0.7% 58.4%, 1.0% 51.6%, 1.3% 46.0%, 2.0% 42.0%, 2.8% 37.1%, 2.8% 33.2%, 6.1% 28.7%, 7.0% 23.2%, 9.7% 20.6%, 13.3% 17.9%, 15.4% 13.6%, 18.2% 10.0%, 21.9% 8.7%, 25.3% 6.6%, 28.8% 6.7%, 31.6% 3.8%, 36.1% 2.5%, 40.1% 2.1%, 44.8% 2.9%, 50.6% 2.7%, 51.5% 2.5%, 53.0% 2.7%, 53.2% 1.2%, 54.8% 1.7%, 56.4% 2.6%, 57.2% 4.2%, 58.8% 3.8%, 60.2% 3.2%, 61.3% 2.3%, 62.0% 3.5%, 63.3% 5.0%, 64.7% 5.6%, 66.1% 5.8%, 66.9% 6.1%, 68.5% 5.9%, 70.0% 5.1%, 70.6% 6.2%, 71.1% 7.5%, 72.6% 8.7%, 74.1% 9.8%, 75.3% 8.8%, 76.4% 9.8%, 77.1% 11.2%, 78.1% 9.7%, 80.1% 10.9%, 80.4% 11.3%, 80.8% 13.3%, 81.0% 14.4%, 82.6% 15.7%, 84.0% 15.9%, 84.5% 16.6%, 85.9% 17.3%, 87.4% 17.6%, 87.3% 18.3%, 87.7% 20.3%, 88.1% 22.0%, 89.3% 23.0%, 90.4% 23.3%, 91.4% 24.6%, 91.6% 25.3%, 91.9% 25.7%, 92.7% 27.6%, 92.4% 29.0%, 92.6% 31.1%, 94.4% 31.2%, 95.6% 32.2%, 96.1% 32.6%, 94.9% 34.8%, 95.4% 35.5%, 96.5% 35.7%, 95.5% 38.0%, 95.1% 39.9%, 96.3% 41.8%, 98.3% 42.2%, 98.9% 43.1%, 98.9% 44.8%, 98.3% 45.4%, 97.2% 47.1%, 97.0% 48.6%, 97.5% 50.0%, 98.6% 51.3%, 99.2% 51.8%, 98.5% 53.1%, 97.9% 55.0%, 98.0% 56.5%, 98.0% 57.4%, 98.8% 58.9%, 99.9% 60.0%, 98.9% 61.0%, 97.8% 62.4%, 97.0% 63.6%, 96.4% 65.5%, 97.6% 66.5%, 97.9% 68.1%, 98.0% 68.6%, 95.9% 69.7%, 94.7% 70.6%, 94.3% 72.5%, 95.0% 74.1%, 95.6% 75.1%, 94.8% 76.1%, 93.8% 76.5%, 91.6% 77.5%, 90.9% 78.5%, 90.3% 80.1%, 90.5% 81.6%, 90.3% 82.0%, 89.1% 83.1%, 87.5% 83.7%, 85.7% 84.2%, 85.6% 85.8%, 85.0% 87.1%, 84.8% 87.8%, 82.6% 87.4%, 81.1% 87.7%, 80.0% 88.8%, 79.4% 90.6%, 79.1% 91.6%, 78.4% 91.5%, 77.4% 92.0%, 75.1% 92.3%, 74.1% 92.9%, 73.0% 94.0%, 72.2% 95.5%, 71.7% 95.3%, 69.8% 95.3%, 68.7% 94.9%, 66.7% 94.5%, 66.2% 96.4%, 65.0% 97.5%, 64.5% 98.0%, 62.7% 96.9%, 61.4% 96.3%, 59.9% 96.3%, 57.9% 96.9%, 58.1% 98.8%, 56.4% 98.1%, 55.1% 97.6%, 54.7% 98.5%, 53.5% 98.1%, 51.6% 98.1%, 50.0% 97.8%, 49.1% 98.6%, 47.8% 99.2%, 46.9% 99.8%, 45.9% 98.3%, 44.5% 97.3%, 43.5% 96.6%, 41.5% 95.9%, 40.7% 97.4%, 39.1% 97.8%, 38.7% 97.6%, 37.1% 96.3%, 36.3% 95.7%, 34.9% 95.0%, 33.6% 94.4%, 32.7% 94.3%, 31.2% 94.3%, 30.0% 94.6%, 29.5% 94.3%, 28.0% 93.1%, 27.2% 91.7%, 25.9% 90.9%, 24.7% 90.8%, 23.5% 91.0%, 22.6% 91.5%, 21.8% 89.8%, 21.0% 88.2%, 20.3% 86.7%, 18.5% 86.1%, 17.1% 86.9%, 16.3% 86.8%, 15.7% 85.9%, 15.0% 83.6%, 13.6% 82.5%, 12.9% 82.0%, 11.9% 80.1%, 10.5% 81.3%, 8.8% 80.4%, 8.6% 80.1%, 8.8% 77.7%, 8.7% 76.4%, 7.3% 74.8%, 5.2% 74.6%, 4.7% 74.0%, 4.8% 73.2%, 4.7% 72.0%, 5.5% 69.9%, 3.9% 67.9%, 3.8% 68.3%, 4.4% 66.2%, 2.8% 65.2%, 1.6% 64.5%, 0.4% 63.9%, 0.9% 62.4%, 1.6% 60.6%, 2.5% 59.4%, 2.9% 57.3%, 1.2% 56.6%, 0.4% 55.1%, 0.3% 54.7%, 1.8% 52.9%, 2.3% 51.4%, 2.1% 50.0%, 1.5% 48.5%, 0.5% 47.7%, 1.3% 46.5%, 2.2% 44.9%, 2.7% 43.6%, 3.1% 42.7%, 2.9% 41.0%, 1.8% 39.5%, 2.6% 39.1%, 3.5% 37.5%, 4.0% 36.1%, 3.8% 34.4%, 3.4% 33.4%, 3.7% 31.7%, 3.8% 30.9%, 5.2% 30.1%, 6.3% 29.5%, 7.5% 27.8%, 6.8% 26.1%, 6.4% 24.8%, 6.7% 24.1%, 7.7% 23.5%, 9.7% 22.3%, 10.3% 21.1%, 10.9% 19.9%, 11.4% 18.5%, 11.2% 17.8%, 12.6% 17.2%, 14.2% 16.0%, 14.8% 15.0%, 15.8% 14.8%, 16.8% 13.1%, 16.4% 11.0%, 16.6% 10.5%, 18.2% 10.1%, 20.1% 10.0%, 21.3% 11.0%, 23.0% 9.7%, 23.6% 8.0%, 23.9% 5.9%, 24.8% 5.7%, 26.1% 6.1%, 27.9% 6.2%, 29.6% 6.2%, 30.2% 5.2%, 31.1% 3.9%, 31.6% 2.4%, 32.6% 2.9%, 34.1% 3.1%, 36.0% 4.0%, 37.8% 4.3%, 38.4% 2.8%, 39.6% 1.9%, 40.3% 1.3%, 41.8% 2.7%, 43.2% 3.3%, 44.8% 3.4%, 46.0% 2.2%, 46.6% 0.7%, 47.4% 0.6%, 49.3% 0.0%, 48.7% 1.7%, 49.7% 1.6%);
  --polygon-special:polygon(51.1% 1.6%, 58.3% 1.9%, 63.5% 2.9%, 68.4% 3.5%, 71.7% 5.6%, 75.2% 7.2%, 80.8% 8.3%, 82.3% 12.5%, 86.3% 15.5%, 90.6% 18.0%, 93.9% 20.8%, 94.7% 24.3%, 96.6% 29.1%, 97.7% 33.3%, 97.8% 35.6%, 97.4% 41.7%, 97.4% 44.2%, 96.2% 47.6%, 96.7% 51.1%, 99.2% 53.6%, 98.4% 57.1%, 96.8% 61.5%, 97.3% 65.0%, 97.9% 69.3%, 95.2% 73.1%, 93.3% 76.7%, 92.3% 81.5%, 89.2% 83.5%, 85.9% 85.8%, 83.9% 90.0%, 79.9% 91.9%, 75.0% 92.7%, 71.0% 94.1%, 68.5% 96.3%, 64.8% 96.2%, 60.5% 97.6%, 53.8% 98.4%, 49.9% 98.3%, 46.3% 98.7%, 41.3% 98.3%, 38.0% 96.5%, 34.2% 95.3%, 31.2% 94.4%, 26.1% 94.7%, 22.7% 91.7%, 17.4% 89.8%, 15.1% 86.6%, 11.1% 84.3%, 7.0% 80.1%, 6.3% 77.3%, 4.5% 74.0%, 3.9% 71.0%, 2.9% 66.0%, 0.8% 62.6%, 3.7% 58.9%, 1.8% 54.8%, 1.0% 50.3%, 1.8% 45.9%, 2.9% 42.3%, 1.5% 39.1%, 2.9% 32.3%, 3.1% 28.4%, 5.1% 23.5%, 7.4% 19.0%, 10.8% 17.6%, 14.2% 12.1%, 18.2% 11.2%, 22.3% 9.2%, 25.5% 6.3%, 28.8% 4.7%, 34.1% 3.5%, 38.5% 2.5%, 49.5% 1.5%, 52.7% 1.6%, 53.7% 0.8%, 55.1% 0.6%, 57.6% 0.1%, 58.8% 1.2%, 60.0% 1.4%, 62.2% 0.8%, 63.3% 1.3%, 65.0% 2.6%, 65.7% 4.0%, 66.9% 3.1%, 68.8% 3.8%, 70.0% 4.5%, 71.3% 3.8%, 73.4% 4.6%, 74.5% 5.2%, 75.5% 5.0%, 77.8% 6.4%, 78.7% 7.3%, 79.1% 7.9%, 80.1% 8.2%, 82.0% 8.6%, 83.4% 9.8%, 84.3% 11.1%, 84.6% 12.0%, 85.4% 11.8%, 87.4% 13.2%, 88.0% 14.1%, 88.1% 15.2%, 89.0% 16.0%, 89.9% 16.5%, 90.0% 18.1%, 91.1% 18.8%, 92.5% 18.9%, 93.4% 20.5%, 94.4% 21.6%, 95.0% 22.4%, 94.5% 24.3%, 95.1% 25.5%, 95.5% 26.7%, 94.5% 27.6%, 95.6% 29.0%, 96.5% 29.9%, 95.6% 30.8%, 96.2% 32.3%, 96.5% 33.0%, 95.5% 34.0%, 95.7% 35.7%, 96.3% 37.0%, 97.3% 38.1%, 96.4% 38.8%, 96.4% 40.4%, 97.0% 41.7%, 97.4% 42.5%, 97.4% 43.7%, 98.3% 45.0%, 97.1% 45.6%, 96.6% 47.1%, 97.4% 48.3%, 97.7% 49.1%, 97.9% 50.4%, 99.1% 51.8%, 98.6% 52.6%, 98.6% 53.7%, 99.5% 55.2%, 99.0% 56.1%, 98.6% 57.1%, 98.8% 58.3%, 98.9% 58.8%, 99.0% 60.1%, 99.1% 61.0%, 98.2% 62.3%, 98.3% 63.0%, 99.0% 63.8%, 98.1% 65.5%, 98.3% 66.6%, 98.9% 67.4%, 97.9% 68.9%, 97.7% 70.2%, 97.7% 71.0%, 95.6% 72.3%, 95.2% 73.1%, 95.0% 73.9%, 93.1% 75.1%, 93.0% 76.7%, 92.9% 77.7%, 91.4% 77.9%, 91.2% 79.9%, 91.4% 80.9%, 90.0% 81.2%, 89.2% 81.9%, 89.1% 83.0%, 88.0% 84.5%, 87.6% 85.7%, 87.4% 86.1%, 85.0% 86.5%, 84.7% 87.6%, 85.2% 88.7%, 82.9% 89.4%, 81.5% 90.1%, 80.7% 90.7%, 78.3% 91.2%, 77.2% 92.2%, 76.1% 93.1%, 74.6% 93.1%, 73.5% 93.5%, 71.7% 94.1%, 70.2% 94.0%, 69.0% 94.4%, 67.1% 95.4%, 66.4% 95.8%, 65.5% 96.5%, 64.4% 97.2%, 63.1% 96.9%, 61.6% 97.6%, 60.6% 97.9%, 58.3% 97.1%, 56.4% 97.4%, 54.9% 97.9%, 53.5% 97.6%, 52.3% 97.7%, 50.5% 97.8%, 48.8% 97.4%, 48.0% 97.2%, 45.5% 97.2%, 44.3% 97.9%, 44.0% 97.4%, 42.2% 97.0%, 40.8% 96.2%, 38.4% 96.3%, 38.2% 96.4%, 36.7% 95.5%, 34.3% 95.2%, 32.8% 95.1%, 31.4% 95.5%, 31.5% 94.6%, 29.6% 93.5%, 27.7% 93.0%, 26.4% 92.8%, 24.7% 92.3%, 23.0% 92.7%, 22.8% 91.7%, 21.8% 90.5%, 20.3% 89.6%, 18.9% 89.6%, 17.4% 88.8%, 15.2% 88.5%, 15.9% 87.4%, 14.8% 86.0%, 13.1% 85.7%, 12.1% 85.2%, 11.3% 84.2%, 10.1% 83.2%, 9.6% 82.4%, 8.7% 81.4%, 6.5% 80.8%, 6.3% 79.9%, 5.8% 78.7%, 4.4% 77.2%, 5.1% 76.2%, 5.1% 75.3%, 3.6% 74.1%, 3.5% 73.2%, 3.2% 72.6%, 1.5% 70.8%, 3.0% 69.9%, 3.3% 68.7%, 3.3% 67.3%, 1.7% 66.9%, 1.9% 65.5%, 1.9% 64.2%, 1.5% 63.3%, 1.5% 62.1%, 1.0% 60.9%, 0.2% 60.2%, 1.8% 58.4%, 3.7% 57.3%, 2.2% 56.7%, 2.5% 55.3%, 3.1% 53.9%, 1.4% 53.5%, 1.3% 52.0%, 0.9% 50.7%, 0.6% 49.9%, 0.8% 48.6%, 0.6% 47.4%, 0.9% 46.6%, 0.8% 45.8%, 0.5% 44.8%, 1.1% 43.3%, 1.2% 42.6%, 0.8% 41.7%, 1.2% 40.4%, 0.7% 39.1%, 0.5% 38.3%, 1.7% 36.9%, 2.0% 35.6%, 2.2% 34.8%, 3.3% 33.2%, 2.8% 31.9%, 2.5% 31.5%, 3.4% 29.8%, 3.8% 28.9%, 4.6% 27.6%, 6.0% 27.2%, 6.5% 25.8%, 6.7% 24.4%, 7.3% 23.3%, 7.6% 22.5%, 7.9% 21.4%, 8.5% 20.2%, 9.6% 20.1%, 10.8% 18.4%, 10.9% 17.7%, 11.2% 17.0%, 12.3% 15.7%, 13.4% 15.1%, 14.1% 14.4%, 15.4% 13.4%, 16.9% 13.2%, 17.8% 11.7%, 18.1% 11.0%, 19.7% 10.8%, 21.1% 10.3%, 22.7% 9.4%, 23.5% 8.2%, 24.7% 8.2%, 26.6% 7.7%, 28.1% 6.7%, 28.4% 5.8%, 29.8% 5.2%, 31.3% 4.5%, 31.8% 3.5%, 33.5% 3.3%, 35.2% 3.1%, 36.3% 2.6%, 37.7% 2.3%, 39.3% 1.2%, 40.7% 1.2%, 41.6% 1.0%, 44.0% 0.3%, 45.3% 1.5%, 46.8% 1.9%, 48.4% 0.9%, 49.5% 1.0%, 51.4% 1.6%, 50.0% 2.5%, 50.6% 1.5%);
  --polygon-mv_img: polygon(
     100% 99.9%,
     100% 0.1%,
     98.1% 0.0%,
     96.5% 0.4%,
     94.9% 0.7%,
     93.1% 0.8%,
     91.5% 0.6%,
     89.7% 0.4%,
     88.0% 0.6%,
     86.3% 0.8%,
     84.6% 0.8%,
     82.9% 1.1%,
     81.2% 1.2%,
     79.5% 1.4%,
     77.8% 1.6%,
     76.1% 1.4%,
     74.4% 1.5%,
     72.6% 1.6%,
     71.0% 1.9%,
     69.2% 1.8%,
     67.6% 2.1%,
     65.9% 1.9%,
     64.3% 2.1%,
     62.7% 1.8%,
     60.9% 1.9%,
     59.2% 1.8%,
     57.5% 2.0%,
     55.7% 2.1%,
     54.1% 2.3%,
     52.3% 2.2%,
     50.7% 2.0%,
     49.0% 2.2%,
     47.3% 2.0%,
     45.7% 2.3%,
     44.0% 2.1%,
     42.2% 2.0%,
     40.5% 2.0%,
     39.0% 2.4%,
     37.3% 2.2%,
     35.6% 2.3%,
     33.8% 2.2%,
     32.2% 2.1%,
     30.7% 2.6%,
     29.0% 2.7%,
     27.2% 2.7%,
     25.5% 2.6%,
     23.8% 2.5%,
     22.0% 2.6%,
     20.4% 2.6%,
     18.9% 3.0%,
     17.2% 2.8%,
     15.6% 3.1%,
     14.0% 3.5%,
     12.4% 3.2%,
     10.8% 3.6%,
     9.1% 3.5%,
     7.5% 3.8%,
     5.8% 3.7%,
     4.1% 4.0%,
     2.6% 4.5%,
     0.9% 4.4%,
     0% 5.2%,
     0% 94.0%,
     1.2% 94.4%,
     2.9% 94.6%,
     4.6% 94.8%,
     6.2% 95.1%,
     8.0% 95.1%,
     9.4% 95.6%,
     11.1% 95.9%,
     12.8% 95.5%,
     14.1% 96.1%,
     15.8% 96.0%,
     17.5% 96.1%,
     19.0% 96.7%,
     20.7% 96.8%,
     22.4% 96.7%,
     24.1% 96.8%,
     25.7% 97.3%,
     27.4% 97.5%,
     29.1% 97.4%,
     30.7% 97.8%,
     32.4% 97.6%,
     34.0% 98.0%,
     35.7% 97.8%,
     37.4% 98.1%,
     39.0% 97.8%,
     40.7% 97.8%,
     42.4% 98.1%,
     44.1% 98.1%,
     45.8% 97.9%,
     47.5% 98.1%,
     49.2% 97.9%,
     50.7% 98.4%,
     52.3% 98.1%,
     54.1% 98.1%,
     55.8% 98.1%,
     57.6% 98.1%,
     59.3% 98.0%,
     60.8% 98.5%,
     62.4% 98.2%,
     64.1% 98.1%,
     65.9% 98.1%,
     67.3% 98.6%,
     69.0% 98.7%,
     70.7% 98.5%,
     72.4% 98.7%,
     74.1% 98.6%,
     75.7% 98.9%,
     77.3% 98.5%,
     78.9% 98.6%,
     80.6% 98.8%,
     82.3% 99.0%,
     84.0% 98.9%,
     85.6% 99.2%,
     87.3% 99.3%,
     89.0% 99.1%,
     90.7% 99.3%,
     92.4% 99.2%,
     93.9% 99.7%,
     95.5% 99.7%,
     97.2% 99.9%
   );
}
@media screen and (min-width: 768px), print {
  :root {
    --polygon-mv_img:polygon(
     100% 0.2%,
     98.2% 0.5%, 97.3% 0.4%, 96.4% 0.5%, 95.4% 0.7%, 94.5% 0.9%, 93.6% 1.1%, 92.7% 1.2%, 91.8% 1.4%, 90.8% 1.6%, 89.9% 1.8%, 89.0% 1.7%, 88.1% 2.0%, 87.2% 1.9%, 86.2% 1.7%, 85.3% 2.1%, 84.4% 1.9%, 83.5% 1.9%, 82.5% 2.1%, 81.6% 2.1%, 80.7% 2.4%, 79.8% 2.5%, 78.9% 2.5%, 78.0% 2.2%, 77.0% 2.3%, 76.1% 2.7%, 75.3% 2.3%, 74.3% 2.3%, 73.4% 2.7%, 72.6% 2.7%, 71.6% 2.7%, 70.7% 2.6%, 69.8% 2.3%, 68.9% 2.5%, 68.1% 2.8%, 67.2% 2.5%, 66.2% 2.3%, 65.3% 2.8%, 64.4% 2.6%, 63.5% 2.8%, 62.5% 2.6%, 61.6% 3.1%, 60.7% 3.0%, 59.8% 3.0%, 58.9% 3.6%, 58.0% 3.5%, 57.2% 3.9%, 56.3% 3.9%, 55.3% 3.9%, 54.5% 4.6%, 53.7% 4.7%, 52.8% 5.1%, 51.9% 4.9%, 50.9% 5.0%, 50.0% 5.2%, 49.1% 5.5%, 48.2% 5.7%, 47.3% 5.8%, 46.3% 5.9%, 45.4% 6.1%, 44.5% 6.4%, 43.6% 6.4%, 42.7% 6.1%, 41.8% 6.1%, 40.8% 6.3%, 39.9% 6.6%, 39.0% 6.3%, 38.1% 6.3%, 37.2% 6.5%, 36.3% 6.3%, 35.4% 6.7%, 34.5% 6.6%, 33.6% 6.4%, 32.7% 6.9%, 31.8% 6.9%, 30.8% 6.8%, 29.9% 6.9%, 29.1% 7.3%, 28.2% 7.2%, 27.3% 7.6%, 26.5% 7.8%, 25.6% 7.9%, 24.6% 8.0%, 23.8% 8.7%, 22.9% 8.5%, 22.1% 9.2%, 21.2% 9.5%, 20.3% 9.9%, 19.4% 9.7%, 18.5% 10.2%, 17.7% 10.9%, 16.8% 11.2%, 16.0% 11.9%, 15.1% 12.2%, 14.3% 12.8%, 13.4% 13.4%, 12.5% 13.9%, 11.8% 14.8%, 10.9% 15.3%, 10.1% 16.0%, 9.4% 17.0%, 8.6% 17.6%, 7.8% 18.4%, 7.3% 19.5%, 6.6% 20.5%, 5.7% 21.1%, 5.0% 22.1%, 4.6% 23.4%, 4.0% 24.3%, 3.5% 25.7%, 3.0% 27.0%, 2.6% 28.3%, 2.2% 29.6%, 2.0% 31.1%, 1.5% 32.3%, 1.3% 33.8%, 1.2% 35.2%, 0.8% 36.5%, 0.7% 38.0%, 0.5% 39.5%, 0.6% 41.0%, 0.3% 42.4%, 0.2% 43.8%, 0.2% 45.3%, 0.3% 46.8%, 0.2% 48.2%, 0.0% 49.7%, 0.0% 51.2%, 0.1% 52.7%, 0.3% 54.1%, 0.5% 55.6%, 0.5% 57.0%, 0.6% 58.4%, 0.5% 59.9%, 0.8% 61.3%, 1.1% 62.6%, 1.0% 64.1%, 1.5% 65.3%, 1.7% 66.8%, 1.8% 68.2%, 2.1% 69.6%, 2.5% 71.0%, 2.8% 72.4%, 3.4% 73.6%, 3.7% 74.9%, 4.2% 76.2%, 4.9% 77.2%, 5.6% 78.2%, 6.2% 79.3%, 6.8% 80.3%, 7.5% 81.3%, 8.4% 81.8%, 9.1% 82.7%, 9.8% 83.8%, 10.6% 84.5%, 11.5% 85.0%, 12.3% 85.6%, 13.1% 86.4%, 13.8% 87.1%, 14.6% 87.7%, 15.4% 88.2%, 16.2% 88.8%, 17.0% 89.5%, 17.9% 90.0%, 18.8% 90.6%, 19.6% 91.3%, 20.5% 91.5%, 21.3% 92.3%, 22.2% 92.2%, 23.0% 93.0%, 23.9% 93.4%, 24.8% 93.9%, 25.7% 94.1%, 26.5% 94.6%, 27.4% 94.7%, 28.2% 94.8%, 29.1% 95.4%, 30.0% 95.4%, 30.9% 95.7%, 31.8% 96.1%, 32.7% 96.4%, 33.6% 96.5%, 34.5% 96.5%, 35.4% 96.4%, 36.3% 96.7%, 37.2% 96.6%, 38.1% 96.7%, 39.0% 97.0%, 39.9% 96.7%, 40.8% 96.7%, 41.8% 96.6%, 42.6% 97.0%, 43.5% 96.7%, 44.4% 97.2%, 45.3% 97.1%, 46.2% 97.3%, 47.1% 97.5%, 48.0% 97.2%, 48.9% 97.5%, 49.8% 97.5%, 50.7% 97.9%, 51.6% 97.8%, 52.5% 97.9%, 53.3% 98.2%, 54.2% 98.4%, 55.2% 98.2%, 56.1% 98.7%, 57.0% 98.8%, 57.9% 99.1%, 58.8% 98.8%, 59.7% 99.0%, 60.7% 99.1%, 61.6% 99.2%, 62.5% 99.4%, 63.5% 99.5%, 64.4% 99.6%, 65.4% 99.6%, 66.3% 99.3%, 67.2% 99.4%, 68.1% 99.7%, 69.1% 99.8%, 69.9% 99.9%, 70.8% 99.8%, 71.7% 99.9%, 72.6% 99.5%, 73.5% 99.9%, 74.4% 99.8%, 75.2% 99.5%, 76.2% 99.7%, 77.1% 99.7%, 78.0% 99.4%, 78.9% 99.1%, 79.7% 99.0%, 80.6% 98.9%, 81.6% 98.7%, 82.5% 98.6%, 83.4% 98.8%, 84.3% 98.2%, 85.2% 98.4%, 86.1% 98.3%, 87.0% 98.1%, 88.0% 97.9%, 88.8% 97.2%, 89.6% 97.2%, 90.5% 97.3%, 91.3% 96.7%, 92.2% 96.3%, 93.1% 96.4%, 94.0% 95.9%, 94.9% 95.4%, 95.8% 95.0%, 96.7% 94.8%, 97.7% 94.4%, 98.6% 94.2%,
     100% 93.7%
     );
  }
}

/* --------------------------------

  CSS Reset

-------------------------------- */
/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt, dd {
  margin: 0;
  padding: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

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

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
  margin: 0;
}

th {
  text-align: left;
}

/* --------------------------------

  共通スタイル

-------------------------------- */
/* html, body */
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
@media screen and (min-width: 1100px), print {
  html {
    overflow-y: scroll;
  }
}

body {
  min-width: 320px;
  color: #302F2E;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 1.4;
  text-align: left;
  background-image: url("../img/base/base_bg.webp");
  background-repeat: repeat;
  background-position: top left;
  background-color: #ffffff;
}

@media screen and (max-width: 1099.98px) {
  html.nav-open {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: hidden;
    overflow-x: hidden;
  }
}

/* コンテンツ画面中央寄せ */
.inner {
  position: relative;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}
.inner::after {
  content: "";
  display: table;
  clear: both;
}

/* 共通見出し */
.heading {
  position: relative;
  display: block;
}
.heading--h2 {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  line-height: 1.3;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
  display: block;
  color: #6CBB5A;
  font-size: clamp(2.2rem, 34 * var(--vw768), 3.4rem);
  margin-bottom: clamp(3rem, 50 * var(--vw768), 5rem);
  padding-bottom: clamp(1.6rem, 20 * var(--vw768), 2rem);
}
.heading--h2::first-letter {
  color: #229344;
}
.heading--h2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 3rem;
  height: 1px;
  margin: 0 auto;
  background-color: #C26D33;
}
@media screen and (min-width: 768px), print {
  .heading--h2::before {
    width: 5rem;
  }
}
@media screen and (min-width: 768px), print {
  .heading--h2 {
    font-size: min(50 * var(--vw1100), 5rem);
    margin-bottom: min(60 * var(--vw1100), 6rem);
    padding-bottom: min(20 * var(--vw1100), 2rem);
  }
}
.heading--h3 {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 0.5em;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #D2A784;
  color: #582A0B;
}
@media screen and (min-width: 1100px), print {
  .heading--h3 {
    font-size: 2.2rem;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
  }
}
.heading--secondary {
  display: block;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  font-size: clamp(26px, 40 * var(--vw768), 40px);
}
@media screen and (min-width: 768px), print {
  .heading--secondary {
    font-size: min(40 * var(--vw1440), 40px);
  }
}

.link-button {
  position: relative;
  display: inline-block;
  line-height: 1.5;
  border-radius: 10em;
  background-color: transparent;
  color: #302F2E;
  font-weight: 700;
  letter-spacing: 0.04em;
  border: 1px solid #302F2E;
  padding: clamp(10px, 12 * var(--vw768), 12px) clamp(35px, 50 * var(--vw768), 50px) clamp(10px, 12 * var(--vw768), 12px) clamp(20px, 30 * var(--vw768), 30px);
  font-size: clamp(14px, 16 * var(--vw768), 16px);
}
@media screen and (min-width: 768px), print {
  .link-button {
    font-size: clamp(14px, 16 * var(--vw1100), 16px);
    padding: min(12 * var(--vw1100), 12px) min(50 * var(--vw1100), 50px) min(12 * var(--vw1100), 12px) min(30 * var(--vw1100), 30px);
  }
}
.link-button::before {
  content: "";
  position: absolute;
  right: clamp(15px, 20 * var(--vw768), 20px);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(15px, 20 * var(--vw768), 20px);
  height: clamp(15px, 20 * var(--vw768), 20px);
  background: url("../img/base/icon-arrow_right_blk.png") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .link-button::before {
    right: min(20 * var(--vw1100), 20px);
    width: min(20 * var(--vw1100), 20px);
    height: min(20 * var(--vw1100), 20px);
  }
}
.link-button--wht {
  border: 1px solid #ffffff;
  background-color: transparent;
}
.link-button--full {
  display: block;
  text-align: left;
}
@media screen and (min-width: 768px), print {
  .link-button--small {
    font-size: min(16 * var(--vw1600), 16px);
    padding: min(12 * var(--vw1600), 12px) min(50 * var(--vw1600), 50px) min(12 * var(--vw1600), 12px) min(30 * var(--vw1600), 30px);
  }
}
@media screen and (min-width: 768px), print {
  .link-button--small::before {
    right: min(20 * var(--vw1600), 20px);
    width: min(20 * var(--vw1600), 20px);
    height: min(20 * var(--vw1600), 20px);
  }
}
@media screen and (min-width: 768px), print {
  .link-button--secondary {
    font-size: clamp(14px, 16 * var(--vw1440), 16px);
    padding: clamp(10px, 15 * var(--vw1440), 15px) clamp(30px, 50 * var(--vw1440), 50px) clamp(10px, 15 * var(--vw1440), 15px) clamp(20px, 30 * var(--vw1440), 30px);
  }
}
@media screen and (min-width: 768px), print {
  .link-button--secondary::before {
    right: clamp(8px, 20 * var(--vw1440), 20px);
    width: clamp(15px, 20 * var(--vw1440), 20px);
    height: clamp(15px, 20 * var(--vw1440), 20px);
  }
}
.link-button-secondary {
  position: relative;
  display: inline-block;
  line-height: 1.6;
  font-weight: 500;
  color: #6CBB5A;
  padding: 0 clamp(30px, 45 * var(--vw768), 45px) 0 0;
  font-size: clamp(14px, 20 * var(--vw768), 20px);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .link-button-secondary:where(:-moz-any-link, :enabled, summary):hover {
    color: #229344;
  }
  .link-button-secondary:where(:any-link, :enabled, summary):hover {
    color: #229344;
  }
  .link-button-secondary:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 0;
  }
  .link-button-secondary:where(:any-link, :enabled, summary):hover::before {
    opacity: 0;
  }
  .link-button-secondary:where(:-moz-any-link, :enabled, summary):hover::after {
    opacity: 1;
  }
  .link-button-secondary:where(:any-link, :enabled, summary):hover::after {
    opacity: 1;
  }
}
@media screen and (min-width: 768px), print {
  .link-button-secondary {
    font-size: min(20 * var(--vw1440), 20px);
    padding: 0 min(45 * var(--vw1440), 45px) 0 0;
  }
}
.link-button-secondary::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(20px, 40 * var(--vw768), 40px);
  height: clamp(20px, 40 * var(--vw768), 40px);
  background: url("../img/base/icon-arrow_right_blue2.png") no-repeat center/contain;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .link-button-secondary::before {
    width: min(40 * var(--vw1440), 40px);
    height: min(40 * var(--vw1440), 40px);
  }
}
.link-button-secondary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: clamp(20px, 40 * var(--vw768), 40px);
  height: clamp(20px, 40 * var(--vw768), 40px);
  background: url("../img/base/icon-arrow_right_blue3.png") no-repeat center/contain;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .link-button-secondary::after {
    width: min(40 * var(--vw1440), 40px);
    height: min(40 * var(--vw1440), 40px);
  }
}
.link-button-trial {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1.2;
  font-weight: 400;
  font-family: "RocknRoll One", sans-serif;
  color: #ffffff;
  text-align: center;
  padding: 2rem;
  border-radius: 1rem;
  background-color: #C26D33;
  -webkit-box-shadow: 0 0 5px rgba(57, 56, 56, 0.25);
          box-shadow: 0 0 5px rgba(57, 56, 56, 0.25);
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .link-button-trial:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #6CBB5A;
  }
  .link-button-trial:where(:any-link, :enabled, summary):hover {
    background-color: #6CBB5A;
  }
}
@media screen and (min-width: 768px), print {
  .link-button-trial {
    padding: 2rem 4rem;
    border-radius: 2rem;
    font-size: 2rem;
  }
}
.link-button-trial span {
  position: relative;
  display: block;
  padding-top: 2.4em;
}
@media screen and (min-width: 768px), print {
  .link-button-trial span {
    padding-top: 2.6em;
  }
}
.link-button-trial span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 3rem;
  height: 3rem;
  background: url("../img/pages/orthodontics/icon-reserve.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .link-button-trial span::before {
    width: 4rem;
    height: 4rem;
  }
}

a.link-button {
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (hover: hover) {
  a.link-button:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    border-color: #229344;
    background-color: #229344;
  }
  a.link-button:where(:any-link, :enabled, summary):hover {
    color: #fff;
    border-color: #229344;
    background-color: #229344;
  }
  a.link-button:where(:-moz-any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_wht.png") no-repeat center/contain;
  }
  a.link-button:where(:any-link, :enabled, summary):hover::before {
    background: url("../img/base/icon-arrow_right_wht.png") no-repeat center/contain;
  }
}

a.link-text {
  color: #C26D33;
}
@media (hover: hover) {
  a.link-text:where(:-moz-any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
  a.link-text:where(:any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
}

.list-unstyled {
  list-style: none;
}

.text-left, .text-start {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right, .text-end {
  text-align: right;
}
.text-indent {
  text-indent: 1em;
}
@media screen and (min-width: 768px), print {
  .text-md-center {
    text-align: center;
  }
  .text-md-left {
    text-align: left;
  }
}
@media screen and (min-width: 1100px), print {
  .text-lg-left {
    text-align: left;
  }
}

.indent {
  margin-left: 1em;
  text-indent: -1em;
}

.d-none {
  display: none;
}
.d-block {
  display: block;
}
.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 480px), print {
  .d-sm-none {
    display: none;
  }
  .d-sm-block {
    display: block;
  }
  .d-sm-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 768px), print {
  .d-md-none {
    display: none;
  }
  .d-md-block {
    display: block;
  }
  .d-md-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1100px), print {
  .d-lg-none {
    display: none;
  }
  .d-lg-block {
    display: block;
  }
  .d-lg-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1600px), print {
  .d-xl-none {
    display: none;
  }
  .d-xl-block {
    display: block;
  }
  .d-xl-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.fs-sm {
  font-size: 1.2rem;
}
@media screen and (min-width: 1100px), print {
  .fs-sm {
    font-size: 1.4rem;
  }
}
.fs-md {
  font-size: 1.4rem;
}
@media screen and (min-width: 1100px), print {
  .fs-md {
    font-size: 1.6rem;
  }
}
.fs-lg {
  font-size: 1.4rem;
}
@media screen and (min-width: 1100px), print {
  .fs-lg {
    font-size: 1.8rem;
  }
}
.fs-xl {
  font-size: 1.6rem;
}
@media screen and (min-width: 1100px), print {
  .fs-xl {
    font-size: 2rem;
  }
}
.fs-xxl {
  font-size: 2.2rem;
}
@media screen and (min-width: 1100px), print {
  .fs-xxl {
    font-size: 3.2rem;
  }
}

.fw-light {
  font-weight: 300;
}
.fw-light * {
  font-weight: 300;
}
.fw-normal {
  font-weight: 400;
}
.fw-normal * {
  font-weight: 400;
}
.fw-medium {
  font-weight: 500;
}
.fw-medium * {
  font-weight: 500;
}
.fw-semibold {
  font-weight: 600;
}
.fw-semibold * {
  font-weight: 600;
}
.fw-bold {
  font-weight: 700;
}
.fw-bold * {
  font-weight: 700;
}
.fw-exbold {
  font-weight: 800;
}
.fw-exbold * {
  font-weight: 800;
}
.fw-black {
  font-weight: 900;
}
.fw-black * {
  font-weight: 900;
}

.ft-gothic {
  font-family: "Noto Sans JP", sans-serif;
}
.ft-zalando {
  font-family: "RocknRoll One", sans-serif;
}
.ft-mincho {
  font-family: "Noto Serif JP", serif;
}

.bg-dark {
  background-color: #000;
}
.bg-base {
  background-color: #6CBB5A;
}
.bg-main {
  background-color: #229344;
}
.bg-sub1 {
  background-color: #582A0B;
}
.bg-sub2 {
  background-color: #D2A784;
}
.bg-white {
  background-color: #fff;
}
.bg-black {
  background-color: #000;
}
.color-dark {
  color: #000;
}
.color-hover {
  color: #C26D33;
}
.color-base {
  color: #6CBB5A;
}
.color-main {
  color: #229344;
}
.color-sub1 {
  color: #582A0B;
}
.color-sub3 {
  color: #F7EBCE;
}
.color-text {
  color: #302F2E;
}
.color-white {
  color: #fff;
}
.color-danger {
  color: #ff8000;
}
.clearfix::after {
  content: "";
  clear: both;
  display: block;
}

.flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.justify-content-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.align-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.align-items-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.font-feature-settings {
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

.w-100 {
  width: 100%;
}

.mb-0 {
  margin-bottom: 0 !important;
}
.mb-1 {
  margin-bottom: 1rem;
}
.mb-2 {
  margin-bottom: 2rem;
}
.mb-3 {
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .mb-3 {
    margin-bottom: 3rem;
  }
}
.mb-5 {
  margin-bottom: 3rem;
}
@media screen and (min-width: 1100px), print {
  .mb-5 {
    margin-bottom: 5rem;
  }
}
.mb-10 {
  margin-bottom: 5rem;
}
@media screen and (min-width: 1100px), print {
  .mb-10 {
    margin-bottom: 10rem;
  }
}

.mx-auto {
  margin-inline: auto;
}

.lh-sm {
  line-height: 1.5;
}
.lh-base {
  line-height: 1.8;
}
.lh-lg {
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .lh-lg {
    line-height: 2;
  }
}

/* アンカー位置調整 */
.anchor-point::before {
  content: "";
  display: block;
  position: relative;
  height: 1px;
  margin-top: -101px;
  margin-bottom: 100px;
  background: transparent;
  pointer-events: none;
  z-index: -100;
}
@media screen and (min-width: 1100px), print {
  .anchor-point::before {
    margin-top: -201px;
    margin-bottom: 200px;
  }
}

/* flex1 */
.flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

/* テキスト改行系 */
@media screen and (max-width: 767.98px) {
  .br--pc {
    display: none;
  }
}

@media screen and (min-width: 768px), print {
  .br--sp {
    display: none;
  }
}

/* 字詰め */
.kerning {
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}

/* 下線マーカー */
.marker {
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(85%, #6CBB5A), color-stop(0%, #6CBB5A));
  background: linear-gradient(#6CBB5A 85%, #6CBB5A 0%);
}

/* 画像を角丸にする */
.img-radius {
  border-radius: 1rem;
}
.img-radius-lg {
  border-radius: 1rem;
}
@media screen and (min-width: 1100px), print {
  .img-radius-lg {
    border-radius: 2rem;
  }
}
.img-radius-xl {
  border-radius: 1rem;
}
@media screen and (min-width: 1100px), print {
  .img-radius-xl {
    border-radius: 3rem;
  }
}

/* コンテンツを角丸にする */
.box-radius {
  border-radius: 0.5rem;
}
@media screen and (min-width: 1100px), print {
  .box-radius {
    border-radius: 1rem;
  }
}
.box-radius-lg {
  border-radius: 1rem;
}
@media screen and (min-width: 1100px), print {
  .box-radius-lg {
    border-radius: 2rem;
  }
}
.box-radius-xl {
  border-radius: 2.5rem;
}
@media screen and (min-width: 1100px), print {
  .box-radius-xl {
    border-radius: 5rem;
  }
}

/* リスト */
.list--primary li {
  position: relative;
  padding-left: 1.2em;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (min-width: 1100px), print {
  .list--primary li {
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
}
.list--primary li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
}
.list--attention li {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .list--attention li {
    font-size: 1.8rem;
    letter-spacing: 0.03em;
  }
}
.list--attention li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
}
/* 画像を囲う要素 */
.img-wrap {
  aspect-ratio: 4/3;
  display: block;
  position: relative;
  overflow: hidden;
}

/* 画像をトリミング */
.img-cover {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Google Maps */
.gmap-area {
  position: relative;
  background-color: #f8f8f8;
}
.gmap-area::before {
  content: "";
  display: block;
  padding-top: 35rem;
}
@media screen and (min-width: 1100px), print {
  .gmap-area::before {
    padding-top: 50rem;
  }
}
.gmap-area iframe {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* video */
.video-area {
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
  aspect-ratio: 16/9;
}
.video-area video, .video-area iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.global-contact__item-tel .tel-link {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  grid-template-columns: 100px auto;
}
@media screen and (min-width: 768px), print {
  .global-contact__item-tel .tel-link {
    gap: clamp(1rem, 20 * var(--vw1100), 2rem);
    grid-template-columns: clamp(8rem, 100 * var(--vw1100), 10rem) auto;
  }
}
.global-contact__item-tel .tel-text {
  color: #ffffff;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  border-radius: 10em;
  height: 2.8rem;
  place-content: center;
  background-color: #229344;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px), print {
  .global-contact__item-tel .tel-text {
    font-size: clamp(1.2rem, 14 * var(--vw1100), 1.4rem);
  }
}
.global-contact__item-tel .tel-num {
  position: relative;
  display: inline-block;
  padding-left: 1.3em;
  line-height: 1.2;
  font-size: 3.2rem;
  color: #229344;
  font-weight: 700;
}
@media screen and (min-width: 768px), print {
  .global-contact__item-tel .tel-num {
    font-size: clamp(2.4rem, 32 * var(--vw1100), 3.2rem);
  }
}
.global-contact__item-tel .tel-num::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 32px;
  height: 32px;
  border-radius: 100%;
  background-color: #229344;
  background-image: url("../img/base/icon-tel_wht.svg");
  background-repeat: no-repeat;
  background-size: 55%;
  background-position: center;
}
@media screen and (min-width: 768px), print {
  .global-contact__item-tel .tel-num::before {
    width: clamp(2.4rem, 32 * var(--vw1100), 3.2rem);
    height: clamp(2.4rem, 32 * var(--vw1100), 3.2rem);
  }
}

.open-chatbot {
  position: fixed;
  right: 1rem;
  bottom: 7.5rem;
  width: 7.8rem;
  height: 10.4rem;
  z-index: 1100;
}
@media screen and (min-width: 768px), print {
  .open-chatbot {
    width: min(108 * var(--vw1100), 10.8rem);
    height: min(142 * var(--vw1100), 14.2rem);
    right: clamp(30px, 40 * var(--vw1440), 40px);
    bottom: clamp(10px, 15 * var(--vw1440), 15px);
    -webkit-transition: right 0.3s ease;
    transition: right 0.3s ease;
  }
  .is-fixed .open-chatbot {
    right: clamp(60px, 90 * var(--vw1440), 90px);
  }
}

/* --------------------------------

  wrapper

-------------------------------- */
.wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}
@media screen and (min-width: 1100px), print {
  .wrapper {
    overflow: hidden;
  }
}

/* --------------------------------

  l-header

-------------------------------- */
.header__logo {
  z-index: 101;
}
@media screen and (max-width: 767.98px) {
  .header__logo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    place-content: center;
    background-color: #ffffff;
  }
}
@media screen and (min-width: 768px), print {
  .header__logo {
    position: absolute;
    top: 0;
    left: 0;
    width: min(352 * var(--vw1100), 352px);
    height: min(206 * var(--vw1100), 206px);
    padding: min(28 * var(--vw1100), 28px) 0 0 min(30 * var(--vw1100), 30px);
    background-image: url("../img/base/logo_mask.svg");
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1001;
  }
  .is-fixed .header__logo {
    position: fixed;
    top: calc(-1 * min(100 * var(--vw1100), 100px));
    padding: 0;
    -webkit-transform: translateY(min(100 * var(--vw1100), 100px));
            transform: translateY(min(100 * var(--vw1100), 100px));
    width: auto;
    height: min(100 * var(--vw1100), 100px);
    padding: 0 0 0 min(35 * var(--vw1100), 35px);
    -webkit-box-shadow: none;
            box-shadow: none;
    background: none;
    place-content: center;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-clip-path: none;
            clip-path: none;
    z-index: 1001;
  }
}
.header__logo-title {
  width: 210px;
}
@media screen and (min-width: 360px), print {
  .header__logo-title {
    width: 230px;
  }
}
@media screen and (min-width: 768px), print {
  .header__logo-title {
    width: min(263 * var(--vw1100), 263px);
  }
  .is-fixed .header__logo-title {
    width: min(150 * var(--vw1100), 150px);
  }
}
@media screen and (max-width: 767.98px) {
  .header__logo-title {
    margin: auto;
  }
}
@media screen and (max-width: 767.98px) {
  .header__logo-title .logo-pc {
    display: none;
  }
}
@media screen and (min-width: 768px), print {
  .header__logo-title .logo-sp {
    display: none;
  }
}
.header__logo-title a {
  display: inline-block;
}
.header__logo-title img {
  height: auto;
}
@media screen and (min-width: 768px), print {
  .header__nav {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    padding: min(10 * var(--vw1100), 10px) min(25 * var(--vw1100), 25px) 0 0;
    place-content: center;
    z-index: 1000;
  }
  .is-fixed .header__nav {
    position: fixed;
    top: calc(-1 * min(100 * var(--vw1100), 100px));
    padding: 0;
    -webkit-transform: translateY(min(100 * var(--vw1100), 100px));
            transform: translateY(min(100 * var(--vw1100), 100px));
    height: min(100 * var(--vw1100), 100px);
    background-color: #ffffff;
    padding: 0 min(40 * var(--vw1100), 40px) 0 0;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
  }
}
@media screen and (min-width: 768px), print {
  .header__tel {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .header__tel {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    line-height: 1;
    cursor: pointer;
    z-index: 910;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .header__tel::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
    border-radius: 100%;
    background-color: #229344;
    margin: auto;
  }
  .header__tel:hover {
    opacity: 0.8;
  }
  .header__tel a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-color: transparent;
  }
  .header__tel a::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    display: block;
    width: 18px;
    height: 18px;
    background: url("../img/base/icon-tel_wht.svg") no-repeat center/contain;
  }
  .header__tel a::after {
    content: "TEL";
    position: absolute;
    left: 0;
    bottom: 14px;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1rem;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1;
  }
}
.header-floating {
  position: fixed;
  z-index: 997;
}
@media screen and (min-width: 768px), print {
  .header-floating {
    right: 0;
    top: calc(50% + 2rem);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating {
    bottom: 0;
    left: 0;
    right: 0;
    height: 6rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    padding: 0 0.5rem;
  }
}
@media screen and (min-width: 768px), print {
  .header-floating__reserve {
    position: relative;
    right: 0;
    margin-right: calc(-1 * clamp(42rem, 500 * var(--vw1100), 50rem));
    margin-top: clamp(1rem, 20 * var(--vw1100), 2rem);
  }
}
.header-floating__reserve-action {
  display: block;
}
@media screen and (min-width: 768px), print {
  .header-floating__reserve-action {
    width: clamp(4rem, 60 * var(--vw1100), 6rem);
    height: clamp(22rem, 250 * var(--vw1100), 25rem);
    border-radius: clamp(1rem, 20 * var(--vw1100), 2rem) 0 0 clamp(1rem, 20 * var(--vw1100), 2rem);
    overflow: hidden;
    -webkit-box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
            box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__reserve-action {
    border-radius: 1rem 1rem 0 0;
    overflow: hidden;
    height: 6rem;
    -webkit-box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
            box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
  }
}
.header-floating__reserve-link {
  position: relative;
  display: block;
  text-align: center;
  place-content: center;
  width: 100%;
  height: 100%;
  background-color: #C26D33;
  color: #ffffff;
  font-family: "RocknRoll One", sans-serif;
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 400;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .header-floating__reserve-link {
    font-size: clamp(14px, 16 * var(--vw1100), 16px);
  }
}
@media (hover: hover) {
  .header-floating__reserve-link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #582A0B;
  }
  .header-floating__reserve-link:where(:any-link, :enabled, summary):hover {
    background-color: #582A0B;
  }
}
.header-floating__reserve-link span {
  position: relative;
  display: inline-block;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px), print {
  .header-floating__reserve-link span {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    display: inline-block;
    vertical-align: inherit;
    padding-top: 1.6em;
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__reserve-link span {
    padding-left: 1.8em;
  }
}
.header-floating__reserve-link span::before {
  content: "";
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/base/icon-reserve.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .header-floating__reserve-link span::before {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: clamp(16px, 20 * var(--vw1100), 20px);
    height: clamp(16px, 20 * var(--vw1100), 20px);
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__reserve-link span::before {
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media screen and (min-width: 768px), print {
  .header-floating__timetable--pc {
    position: relative;
    right: 0;
    display: grid;
    grid-template-columns: clamp(4rem, 60 * var(--vw1100), 6rem) clamp(42rem, 500 * var(--vw1100), 50rem);
    height: clamp(22rem, 270 * var(--vw1100), 27rem);
    margin-right: calc(-1 * clamp(42rem, 500 * var(--vw1100), 50rem));
    border-radius: clamp(1rem, 20 * var(--vw1100), 2rem) 0 0 clamp(1rem, 20 * var(--vw1100), 2rem);
    -webkit-transition: right 0.5s ease;
    transition: right 0.5s ease;
    -webkit-box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
            box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
    cursor: pointer;
  }
  .header-floating__timetable--pc:hover {
    right: clamp(42rem, 500 * var(--vw1100), 50rem);
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__timetable--pc {
    display: none;
  }
}
.header-floating__timetable--pc .global-contact {
  margin-top: 0.5em;
}
.header-floating__timetable--pc .global-contact__item-tel .tel-num {
  color: #302F2E;
}
.header-floating__timetable--pc .global-contact__item-tel .tel-num::before {
  background-color: #302F2E;
}
.header-floating__timetable--pc .global-contact__item-tel .tel-text {
  background-color: #302F2E;
}
@media screen and (min-width: 768px), print {
  .header-floating__timetable--sp {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__timetable-link {
    position: relative;
    display: block;
    text-align: center;
    place-content: center;
    width: 100%;
    height: 100%;
    background-color: #229344;
    color: #ffffff;
    font-family: "RocknRoll One", sans-serif;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
}
@media screen and (max-width: 767.98px) and (hover: hover) {
  .header-floating__timetable-link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #6CBB5A;
  }
  .header-floating__timetable-link:where(:any-link, :enabled, summary):hover {
    background-color: #6CBB5A;
  }
}
.header-floating__timetable-title {
  position: relative;
  text-align: center;
  place-content: center;
  background-color: #229344;
  color: #ffffff;
  line-height: 1.2;
  font-family: "RocknRoll One", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (min-width: 768px), print {
  .header-floating__timetable-title {
    height: clamp(22rem, 270 * var(--vw1100), 27rem);
    font-size: clamp(1.6rem, 20 * var(--vw1100), 2rem);
    border-radius: clamp(1rem, 20 * var(--vw1100), 2rem) 0 0 clamp(1rem, 20 * var(--vw1100), 2rem);
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__timetable-title {
    border-radius: 1rem 1rem 0 0;
    overflow: hidden;
    height: 6rem;
    -webkit-box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
            box-shadow: 0 0 5px 0 rgba(57, 56, 56, 0.25);
  }
}
.header-floating__timetable-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-50%) translateX(-40%);
          transform: translateY(-50%) translateX(-40%);
  background: url("../img/top/timetable_deco_01.webp") no-repeat center/contain;
  z-index: -1;
  pointer-events: none;
}
@media screen and (min-width: 768px), print {
  .header-floating__timetable-title::before {
    width: clamp(7rem, 92 * var(--vw1100), 9.2rem);
    height: clamp(8rem, 116 * var(--vw1100), 11.6rem);
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__timetable-title::before {
    display: none;
  }
}
.header-floating__timetable-title span {
  position: relative;
  display: inline-block;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px), print {
  .header-floating__timetable-title span {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    display: inline-block;
    vertical-align: inherit;
    padding-top: 1.6em;
    letter-spacing: 0.2em;
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__timetable-title span {
    padding-left: 1.7em;
  }
}
.header-floating__timetable-title span::before {
  content: "";
  position: absolute;
  width: 1.8rem;
  height: 1.9rem;
  background: url("../img/base/icon-carendar.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .header-floating__timetable-title span::before {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: clamp(16px, 20 * var(--vw1100), 20px);
    height: clamp(17px, 21 * var(--vw1100), 21px);
  }
}
@media screen and (max-width: 767.98px) {
  .header-floating__timetable-title span::before {
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.header-floating__timetable-body {
  background-color: #6CBB5A;
  padding: 2rem 2.5rem;
}
@media screen and (min-width: 768px), print {
  .header-floating__timetable-body {
    place-content: center;
    padding: clamp(14px, 18 * var(--vw1100), 18px) clamp(18px, 23 * var(--vw1100), 23px);
  }
}

/* --------------------------------

  l-nav

-------------------------------- */
.gnav {
  /* ハンバーガーメニューボタン */
}
@media screen and (max-width: 767.98px) {
  .gnav {
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    position: fixed;
    top: 0;
    left: -30rem;
    width: 30rem;
    height: 100%;
    z-index: 1000;
    -webkit-transition: left 0.3s ease, opacity 0.3s ease;
    transition: left 0.3s ease, opacity 0.3s ease;
  }
  .nav-open .gnav {
    left: 0;
    pointer-events: all;
    opacity: 1;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__container {
    padding: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__container {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 0 3rem 0;
    background: #ffffff;
    -webkit-overflow-scrolling: touch;
    z-index: 10;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__logo {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__logo {
    max-width: 220px;
    margin: 0 auto 2.3rem;
    padding-top: 2.5rem;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__info {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__info {
    padding: 0 2rem;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__info-tel {
    display: none;
  }
}
.gnav__info-tel .global-contact__item-tel .tel-num {
  font-size: 2.8rem;
  padding-left: 1.4em;
}
.gnav__info-tel .global-contact__item-tel .tel-text {
  display: block;
  width: 100px;
  height: 28px;
  margin: 0 auto 1rem;
}
.gnav__info-tel .global-contact__item-tel .tel-link {
  display: block;
  text-align: center;
}
.gnav__info-add {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
  font-weight: 400;
  margin-bottom: 1em;
}
.gnav__info-att {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
  font-weight: 400;
  margin-top: 1em;
}
@media screen and (min-width: 768px), print {
  .gnav__menu {
    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: min(40 * var(--vw1100), 40px);
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__menu {
    padding: 6.5rem 2rem 0 2rem;
  }
}
.gnav__item {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .gnav__item {
    border-bottom: 1px solid #cccccc;
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__item:first-child {
    border-top: 1px solid #cccccc;
  }
}
.gnav__icon {
  display: block;
  color: #229344;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .gnav__icon {
    width: 100%;
    height: min(50 * var(--vw1100), 50px);
  }
  .is-fixed .gnav__icon {
    height: min(35 * var(--vw1100), 35px);
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__icon {
    width: 100%;
    height: 40px;
    text-align: center;
    place-content: center;
  }
}
.gnav__icon svg {
  width: auto;
  height: 100%;
}
.gnav__title {
  display: block;
}
@media screen and (min-width: 768px), print {
  .gnav__title {
    margin-top: min(5 * var(--vw1100), 5px);
  }
}
.gnav__label {
  position: relative;
  line-height: 1.5;
  font-weight: 400;
  font-family: "RocknRoll One", sans-serif;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
  color: #6CBB5A;
  cursor: pointer;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .gnav__label {
    display: block;
    padding: 0;
    text-align: center;
    place-content: center;
    height: min(108 * var(--vw1100), 108px);
    font-size: min(18 * var(--vw1100), 18px);
  }
  .is-fixed .gnav__label {
    height: min(90 * var(--vw1100), 90px);
    font-size: min(16 * var(--vw1100), 16px);
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__label {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-columns: 4rem 1fr;
    gap: 1.7rem;
    font-size: 1.8rem;
    padding: 0 0 0 0.8rem;
    height: 60px;
    place-content: center;
    font-weight: 500;
  }
}
.gnav__label::before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
}
@media screen and (min-width: 768px), print {
  .gnav__label::before {
    width: min(12 * var(--vw1100), 12px);
    height: min(12 * var(--vw1100), 12px);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0;
    background: url("../img/base/icon-arrow_bottom_green.svg") no-repeat center/contain;
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__label::before {
    right: 0.4em;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: url("../img/base/icon-plus.svg") no-repeat center/contain;
  }
}
.gnav__link {
  position: relative;
  line-height: 1.5;
  font-weight: 400;
  font-family: "RocknRoll One", sans-serif;
  -webkit-font-feature-settings: "palt" on;
          font-feature-settings: "palt" on;
  color: #6CBB5A;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .gnav__link {
    display: block;
    place-content: center;
    text-align: center;
    font-size: min(18 * var(--vw1100), 18px);
    height: min(108 * var(--vw1100), 108px);
  }
  .is-fixed .gnav__link {
    height: min(90 * var(--vw1100), 90px);
    font-size: min(16 * var(--vw1100), 16px);
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__link {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-columns: 4rem 1fr;
    gap: 1.7rem;
    font-size: 1.8rem;
    height: 60px;
    padding: 0 0 0 0.8rem;
    place-content: center;
    font-weight: 500;
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__link::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background: url("../img/base/icon-arrow_right.png") no-repeat center/contain;
  }
}
@media (hover: hover) {
  .gnav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #C26D33;
  }
  .gnav__link:where(:any-link, :enabled, summary):hover {
    color: #C26D33;
  }
}
@media screen and (hover: hover) and (max-width: 767.98px) {
  .gnav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #C26D33;
  }
  .gnav__link:where(:any-link, :enabled, summary):hover {
    color: #C26D33;
  }
}
@media (hover: hover) {
  .gnav__link:where(:-moz-any-link, :enabled, summary):hover .gnav__icon {
    color: #C26D33;
  }
  .gnav__link:where(:any-link, :enabled, summary):hover .gnav__icon {
    color: #C26D33;
  }
}
.gnav__dropdown {
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 767.98px) {
  .gnav__dropdown {
    height: 0;
    overflow: hidden;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__dropdown {
    position: absolute;
    bottom: calc(-1 * min(10 * var(--vw1100), 10px));
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(100%);
            transform: translateX(-50%) translateY(100%);
    width: clamp(200px, 300 * var(--vw1100), 300px);
    z-index: -1;
    opacity: 0;
    padding: 0;
    overflow: hidden;
    border-radius: clamp(10px, 20 * var(--vw1100), 20px);
  }
}
.gnav__dropdown.is-active {
  pointer-events: auto;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .gnav__dropdown.is-active {
    height: auto;
    overflow: visible;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__dropdown.is-active {
    opacity: 1;
  }
}
.gnav__submenu {
  display: block;
}
@media screen and (max-width: 767.98px) {
  .gnav__submenu {
    padding: 0 0 2rem 0;
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__submenu-item:not(:last-child) {
    border-bottom: 1px solid #E7EAEB;
  }
}
.gnav__submenu-link {
  position: relative;
  display: block;
  text-align: left;
  place-content: center;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #302F2E;
  height: 50px;
  background-color: #fff;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  z-index: 0;
}
@media screen and (max-width: 767.98px) {
  .gnav__submenu-link {
    padding-left: 1rem;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__submenu-link {
    font-size: clamp(12px, 18 * var(--vw1100), 18px);
    height: clamp(40px, 60 * var(--vw1100), 60px);
    background-color: #6CBB5A;
    color: #ffffff;
    text-align: center;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
}
@media screen and (hover: hover) and (max-width: 767.98px) {
  .gnav__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    color: #229344;
  }
  .gnav__submenu-link:where(:any-link, :enabled, summary):hover {
    color: #229344;
  }
}
@media screen and (hover: hover) and (min-width: 768px), print and (hover: hover) {
  .gnav__submenu-link:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #229344;
  }
  .gnav__submenu-link:where(:any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #229344;
  }
}
.gnav__toggle {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 60px;
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-family: inherit;
  border: none;
  background: transparent;
  cursor: pointer;
  z-index: 10;
}
@media screen and (min-width: 768px), print {
  .gnav__toggle {
    position: relative;
    width: 100%;
    height: min(108 * var(--vw1100), 108px);
    margin-bottom: calc(-1 * min(108 * var(--vw1100), 108px));
    background: transparent;
    z-index: 30;
  }
  .is-fixed .gnav__toggle {
    height: min(90 * var(--vw1100), 90px);
    margin-bottom: calc(-1 * min(90 * var(--vw1100), 90px));
  }
}
.gnav__toggle:hover + .gnav__label {
  color: #C26D33;
}
@media screen and (max-width: 767.98px) {
  .gnav__toggle:hover + .gnav__label {
    color: #C26D33;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__toggle:hover + .gnav__label::before {
    background: url("../img/base/icon-arrow_bottom_ore.svg") no-repeat center/contain;
  }
}
.gnav__toggle:hover + .gnav__label .gnav__icon {
  color: #C26D33;
}
@media screen and (min-width: 768px), print {
  .gnav__toggle.is-active + .gnav__label {
    color: #C26D33;
  }
  .gnav__toggle.is-active + .gnav__label::before {
    background: url("../img/base/icon-arrow_bottom_ore.svg") no-repeat center/contain;
    -webkit-transform: translateX(-50%) rotate(180deg);
            transform: translateX(-50%) rotate(180deg);
  }
}
@media screen and (max-width: 767.98px) {
  .gnav__toggle.is-active + .gnav__label {
    color: #C26D33;
  }
  .gnav__toggle.is-active + .gnav__label::before {
    background: url("../img/base/icon-minus.svg") no-repeat center/contain;
  }
}
.gnav__toggle.is-active + .gnav__label .gnav__icon {
  color: #C26D33;
}
.gnav__button {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  line-height: 1;
  background: transparent;
  border-radius: 100%;
  cursor: pointer;
  z-index: 1011;
}
@media screen and (min-width: 768px), print {
  .gnav__button {
    display: none;
  }
}
.gnav__button::after {
  content: "MENU";
  position: absolute;
  left: 0;
  bottom: 11px;
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1rem;
  color: #229344;
  letter-spacing: 0.05em;
  line-height: 1;
}
.nav-open .gnav__button::after {
  content: "CLOSE";
  color: #229344;
}
.nav-open .gnav__button .gnav__button-icon {
  width: 30px;
  background-color: transparent;
}
.nav-open .gnav__button .gnav__button-icon::before, .nav-open .gnav__button .gnav__button-icon::after {
  margin-top: 0;
  background-color: #229344;
}
.nav-open .gnav__button .gnav__button-icon::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.nav-open .gnav__button .gnav__button-icon::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.gnav__button-icon {
  display: block;
  position: absolute;
  top: -15px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 1px;
  margin: auto;
  background-color: #229344;
}
.gnav__button-icon::before, .gnav__button-icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #229344;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.gnav__button-icon::before {
  margin-top: -8px;
}
.gnav__button-icon::after {
  margin-top: 8px;
}
.gnav__overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  z-index: 999;
}
@media screen and (min-width: 768px), print {
  .gnav__overlay {
    display: none;
  }
}
.nav-open .gnav__overlay {
  pointer-events: auto;
  opacity: 0.35;
  cursor: pointer;
}

/* --------------------------------

  main

-------------------------------- */
.main {
  display: block;
  position: relative;
  overflow: hidden;
  z-index: 100;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1100px), print {
  .main {
    overflow: visible;
  }
}

/* --------------------------------

  footer

-------------------------------- */
.footer {
  position: relative;
  padding: clamp(50px, 100 * var(--vw768), 100px) clamp(20px, 35 * var(--vw768), 35px) 0 clamp(20px, 35 * var(--vw768), 35px);
  overflow: hidden;
}
@media screen and (min-width: 768px), print {
  .footer {
    padding: min(150 * var(--vw1440), 150px) min(50 * var(--vw1440), 50px) 8rem min(50 * var(--vw1440), 50px);
  }
  #top .footer {
    padding: min(100 * var(--vw1440), 100px) min(50 * var(--vw1440), 50px) 8rem min(50 * var(--vw1440), 50px);
  }
}
@media screen and (max-width: 767.98px) {
  .footer {
    padding-bottom: 12rem;
  }
}
.footer .inner {
  max-width: 1450px;
}
.footer__logo {
  max-width: clamp(280px, 350 * var(--vw768), 350px);
}
@media screen and (min-width: 768px), print {
  .footer__logo {
    max-width: min(415 * var(--vw1440), 415px);
  }
}
.footer__map {
  border: 5px solid #ffffff;
}
@media screen and (min-width: 768px), print {
  .footer__map {
    border: 10px solid #ffffff;
  }
}
.footer__map iframe {
  width: 100%;
  height: 350px;
}
@media screen and (min-width: 768px), print {
  .footer__map iframe {
    height: 500px;
  }
}
.footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(30px, 40 * var(--vw768), 40px);
}
#top .footer__container {
  margin-bottom: clamp(30px, 60 * var(--vw768), 60px);
}
@media screen and (min-width: 768px), print {
  .footer__container {
    gap: min(30 * var(--vw1100), 30px);
  }
  #top .footer__container {
    margin-bottom: min(60 * var(--vw1440), 60px);
  }
}
@media screen and (min-width: 1100px), print {
  .footer__container {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: min(30 * var(--vw1440), 30px);
  }
}
@media screen and (min-width: 768px), print {
  .footer__timetable {
    width: 100%;
    max-width: min(630 * var(--vw1100), 630px);
  }
}
@media screen and (min-width: 1100px), print {
  .footer__timetable {
    max-width: min(520 * var(--vw1600), 520px);
  }
}
@media screen and (min-width: 768px), print {
  .footer__timetable .timetable-note {
    font-size: clamp(1.2rem, 16 * var(--vw1100), 1.6rem);
  }
}
@media screen and (min-width: 1100px), print {
  .footer__timetable .timetable-note {
    font-size: clamp(1.2rem, 16 * var(--vw1600), 1.6rem);
  }
}
.footer__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(30px, 40 * var(--vw768), 40px);
}
@media screen and (min-width: 768px), print {
  .footer__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: min(30 * var(--vw1440), 30px);
  }
}
.footer__info-title {
  font-family: "RocknRoll One", sans-serif;
  font-size: clamp(3.2rem, 40 * var(--vw768), 4rem);
  color: #6CBB5A;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-bottom: 0.35em;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .footer__info-title {
    font-size: clamp(3rem, 40 * var(--vw1440), 4rem);
    text-align: left;
  }
}
.footer__info-add {
  font-size: clamp(1.4rem, 18 * var(--vw768), 1.8rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 1.2em;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .footer__info-add {
    font-size: clamp(1.4rem, 18 * var(--vw1440), 1.8rem);
    text-align: left;
    margin-bottom: 0.5em;
  }
}
@media screen and (min-width: 768px), print {
  .footer__info .global-contact__item-tel .tel-text {
    font-size: clamp(1.2rem, 14 * var(--vw1440), 1.4rem);
  }
}
@media screen and (max-width: 767.98px) {
  .footer__info .global-contact__item-tel .tel-text {
    width: 10rem;
  }
}
@media screen and (min-width: 768px), print {
  .footer__info .global-contact__item-tel .tel-num {
    font-size: clamp(2.4rem, 32 * var(--vw1440), 3.2rem);
  }
}
@media screen and (min-width: 768px), print {
  .footer__info .global-contact__item-tel .tel-link {
    gap: clamp(1rem, 20 * var(--vw1440), 2rem);
    grid-template-columns: clamp(8rem, 100 * var(--vw1440), 10rem) auto;
  }
}
@media screen and (max-width: 767.98px) {
  .footer__info .global-contact__item-tel .tel-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.8rem;
  }
}
@media screen and (min-width: 768px), print {
  .footer__info .global-contact__item-tel .tel-num::before {
    width: clamp(2.4rem, 32 * var(--vw1440), 3.2rem);
    height: clamp(2.4rem, 32 * var(--vw1440), 3.2rem);
  }
}
.footer-copy {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 12rem;
  text-align: center;
  background-color: #D2A784;
  padding: 1.15em 1em 0 1em;
}
@media screen and (min-width: 768px), print {
  .footer-copy {
    height: 8rem;
    place-content: center;
    padding: 0 1em;
  }
}
.footer-copy small {
  color: #fff;
  font-family: "RocknRoll One", sans-serif;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .footer-copy small {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1100px), print {
  .footer-copy small {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1099.98px) {
  .footer-copy span {
    display: none;
  }
}
.footer__bottom {
  padding: clamp(30px, 60 * var(--vw768), 60px) 0 10rem 0;
}
@media screen and (min-width: 768px), print {
  .footer__bottom {
    padding: min(60 * var(--vw1440), 60px) min(60 * var(--vw1440), 60px) min(80 * var(--vw1440), 80px) min(60 * var(--vw1440), 60px);
  }
}
.footer-nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(5px, 15 * var(--vw768), 15px) clamp(5px, 15 * var(--vw768), 15px);
}
@media screen and (min-width: 768px), print {
  .footer-nav {
    grid-template-columns: repeat(4, 1fr);
    gap: min(25 * var(--vw1440), 25px);
  }
}
.footer-nav__list-item:not(:last-child) {
  margin-bottom: clamp(5px, 15 * var(--vw768), 15px);
}
@media screen and (min-width: 768px), print {
  .footer-nav__list-item:not(:last-child) {
    margin-bottom: min(16 * var(--vw1440), 16px);
  }
}
.footer-nav__link {
  position: relative;
  display: inline-block;
  line-height: 1.4;
  color: #C26D33;
  font-weight: 400;
  font-size: clamp(12px, 18 * var(--vw768), 18px);
  padding-left: 1.55em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.footer-nav__link::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: #F7EBCE;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 360px), print {
  .footer-nav__link {
    font-size: clamp(12px, 18 * var(--vw768), 18px);
  }
}
@media screen and (min-width: 768px), print {
  .footer-nav__link {
    padding-left: 1.7em;
    letter-spacing: 0.02em;
    font-size: clamp(12px, 16 * var(--vw1440), 16px);
  }
}
@media (hover: hover) {
  .footer-nav__link:where(:-moz-any-link, :enabled, summary):hover {
    color: #229344;
  }
  .footer-nav__link:where(:any-link, :enabled, summary):hover {
    color: #229344;
  }
  .footer-nav__link:where(:-moz-any-link, :enabled, summary):hover::before {
    color: #229344;
  }
  .footer-nav__link:where(:any-link, :enabled, summary):hover::before {
    color: #229344;
  }
}
.footer-pagetop {
  display: block;
  position: absolute;
  width: 40px;
  height: 40px;
  text-align: center;
  border-radius: 100%;
  overflow: hidden;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
@media screen and (min-width: 768px), print {
  .footer-pagetop {
    position: fixed;
    right: 10px;
    bottom: 70px;
    border-radius: 0.5rem;
    right: clamp(10px, 15 * var(--vw1440), 15px);
    bottom: clamp(10px, 15 * var(--vw1440), 15px);
    width: clamp(40px, 50 * var(--vw1440), 50px);
    height: clamp(40px, 50 * var(--vw1440), 50px);
  }
}
@media screen and (max-width: 767.98px) {
  .footer-pagetop {
    bottom: 14.7rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.is-fixed .footer-pagetop {
  opacity: 1;
  pointer-events: auto;
}
.footer-pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border-radius: 0;
  background-color: #229344;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
.footer-pagetop a:hover {
  color: #fff;
  text-decoration: none;
  background-color: #6CBB5A;
}
.footer-pagetop a::before {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 11px;
  height: 11px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition-property: border-color;
  transition-property: border-color;
  -webkit-transition-duration: 0.2s;
          transition-duration: 0.2s;
}
@media screen and (min-width: 768px), print {
  .footer-pagetop a::before {
    top: clamp(6px, 9 * var(--vw1440), 9px);
    width: clamp(11px, 13 * var(--vw1440), 13px);
    height: clamp(11px, 13 * var(--vw1440), 13px);
  }
}

/* --------------------------------

  スライダー

-------------------------------- */
.mv-slider {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 0;
}
.mv-slider .swiper-slide {
  position: relative;
  -webkit-clip-path: var(--polygon-mv_img);
          clip-path: var(--polygon-mv_img);
}
.mv-slider .swiper-slide::before {
  content: "";
  display: block;
  padding-top: clamp(600px, 880 * var(--vw768), 880px);
}
@media screen and (min-width: 768px), print {
  .mv-slider .swiper-slide::before {
    padding-top: min(880 * var(--vw1100), 880px);
  }
}
.mv-slider .swiper-slide img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper-pagination {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px), print {
  .swiper-pagination {
    bottom: min(55 * var(--vw1100), 55px) !important;
  }
}
.swiper-pagination-bullet {
  width: 20px;
  height: 20px;
  background-color: #D2A784;
  margin: 0 10px !important;
  opacity: 1;
}
@media screen and (min-width: 768px), print {
  .swiper-pagination-bullet {
    width: min(30 * var(--vw1100), 30px);
    height: min(30 * var(--vw1100), 30px);
    margin: 0 min(10 * var(--vw1100), 10px) !important;
  }
}
.swiper-pagination-bullet-active {
  background-color: #C26D33;
}
/* --------------------------------

  下層ページタイトル

-------------------------------- */
.page-title {
  position: relative;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .page-title {
    padding-top: 6rem;
  }
}
@media screen and (min-width: 768px), print {
  .page-title {
    padding-top: min(118 * var(--vw1100), 118px);
    padding-left: min(200 * var(--vw1100), 200px);
  }
}
.page-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(-1 * min(30 * var(--vw768), 30px));
  width: clamp(210px, 400 * var(--vw768), 400px);
  height: clamp(180px, 300 * var(--vw768), 300px);
  background: url("../img/top/mv_deco_01.webp") no-repeat center/contain;
  z-index: 1;
}
@media screen and (min-width: 768px), print {
  .page-title::before {
    width: min(576 * var(--vw1100), 576px);
    height: min(457 * var(--vw1100), 457px);
    left: calc(-1 * min(30 * var(--vw1100), 30px));
  }
}
.page-title__inner {
  position: relative;
  width: 100%;
  height: clamp(180px, 300 * var(--vw768), 300px);
  background: url("../img/top/mv_slide_img1.jpg") no-repeat center;
  background-size: cover;
  -webkit-clip-path: var(--polygon-mv_img);
  clip-path: var(--polygon-mv_img);
}
@media screen and (min-width: 768px), print {
  .page-title__inner {
    height: clamp(250px, 400 * var(--vw1440), 400px);
  }
}
.page-title__name {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  display: inline-block;
  border-radius: clamp(1rem, 20 * var(--vw768), 2rem) 0 0 clamp(1rem, 20 * var(--vw768), 2rem);
  background: rgba(255, 255, 255, 0.9);
  padding: clamp(2rem, 30 * var(--vw768), 3rem) clamp(2rem, 40 * var(--vw768), 4rem);
  line-height: 1.2;
}
@media screen and (min-width: 768px), print {
  .page-title__name {
    padding: clamp(2rem, 40 * var(--vw1440), 4rem) clamp(6rem, 130 * var(--vw1440), 13rem) clamp(2rem, 40 * var(--vw1440), 4rem) clamp(4rem, 80 * var(--vw1440), 8rem);
    border-radius: clamp(1.5rem, 30 * var(--vw1440), 3rem) 0 0 clamp(1.5rem, 30 * var(--vw1440), 3rem);
  }
}
.page-title__name.fs-sm span {
  font-size: 1.4rem;
}
@media screen and (min-width: 480px), print {
  .page-title__name.fs-sm span {
    font-size: clamp(1.8rem, 30 * var(--vw768), 3rem);
  }
}
@media screen and (min-width: 768px), print {
  .page-title__name.fs-sm span {
    font-size: clamp(2.4rem, 50 * var(--vw1600), 5rem);
  }
}
.page-title__name span {
  position: relative;
  display: block;
  font-family: "RocknRoll One", sans-serif;
  text-shadow: 0 0 5px rgba(57, 56, 56, 0.25);
  font-size: 2rem;
  color: #582A0B;
  font-weight: 400;
}
@media screen and (min-width: 480px), print {
  .page-title__name span {
    font-size: clamp(2.2rem, 40 * var(--vw768), 4rem);
  }
}
@media screen and (min-width: 768px), print {
  .page-title__name span {
    font-size: clamp(3rem, 70 * var(--vw1440), 7rem);
  }
}

/* --------------------------------

  アニメーション

-------------------------------- */
.js-anime.fadein-anime {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
}
.js-anime .fadein-anime {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
}
.js-anime.slidein-anime-right {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
}
.js-anime .slidein-anime-right {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
}
.js-anime .slidein-anime-left {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  opacity: 0;
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
  transition: opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease, -webkit-transform 0.8s ease;
  transition: filter 1s ease, opacity 0.8s ease, transform 0.8s ease, -webkit-filter 1s ease;
}
.js-anime.is-active .fadein-anime {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.js-anime.is-active.fadein-anime {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.js-anime.is-active.slidein-anime-right {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.js-anime.is-active .slidein-anime-right {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.js-anime.is-active .slidein-anime-left {
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.js-loading-anime .mv-fadein-anime {
  -webkit-filter: blur(6px);
          filter: blur(6px);
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1), -webkit-filter 1.1s ease, -webkit-transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  transition: opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1), -webkit-filter 1.1s ease, -webkit-transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  transition: filter 1.1s ease, opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1), transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  transition: filter 1.1s ease, opacity 0.9s cubic-bezier(0.4, 0, 0.2, 1), transform 0.9s cubic-bezier(0.4, 0, 0.2, 1), -webkit-filter 1.1s ease, -webkit-transform 0.9s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}
.js-loading-anime .mv-slidein-anime-right {
  opacity: 0;
  -webkit-transform: translateX(20%);
          transform: translateX(20%);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.6s ease-out, -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.6s ease-out, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.6s ease-out, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}
.js-loading-anime.is-anime-active .mv-fadein-anime {
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.js-loading-anime.is-anime-active .mv-slidein-anime-right {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

/* --------------------------------

  ローディング

-------------------------------- */
#splash {
  /*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  text-align: center;
  color: #fff;
  background: #ffffff;
  -webkit-transition: opacity 1.5s ease;
  transition: opacity 1.5s ease;
}
#splash.is-fadeout {
  opacity: 0;
  pointer-events: none;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 263px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (min-width: 768px), print {
  #splash_logo {
    width: 263px;
  }
}
#splash_logo.is-fadeout {
  opacity: 0;
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width: auto;
  height: auto;
}

/* fadeUpをするアイコンの動き */
.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
/* --------------------------------

  診療時間表

-------------------------------- */
.timetable {
  display: block;
  line-height: 1.2;
  border-radius: 2rem;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (min-width: 768px), print {
  .timetable {
    border-radius: clamp(0.5rem, 20 * var(--vw1100), 2rem);
  }
}
.timetable.timetable--secondary {
  border-radius: 0;
}
@media screen and (max-width: 767.98px) {
  .timetable.timetable--secondary {
    overflow-x: auto;
  }
}
.timetable.timetable--secondary tr {
  display: grid;
  grid-template-columns: 11rem repeat(7, 1fr);
  gap: 0.2rem;
  padding: 0;
}
@media screen and (min-width: 768px), print {
  .timetable.timetable--secondary tr {
    gap: 0.4rem;
    grid-template-columns: 25rem repeat(7, 1fr);
  }
}
@media screen and (min-width: 1100px), print {
  .timetable.timetable--secondary tr {
    grid-template-columns: 40rem repeat(7, 1fr);
  }
}
.timetable.timetable--secondary .tr-head {
  color: #302F2E;
  background-color: #ffffff;
}
.timetable.timetable--secondary .tr-head th,
.timetable.timetable--secondary .tr-head td {
  height: 3.5rem;
  padding: 0 1.6rem;
  background-color: #D4F4CC;
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px), print {
  .timetable.timetable--secondary .tr-head th,
  .timetable.timetable--secondary .tr-head td {
    height: 4.4rem;
  }
}
.timetable.timetable--secondary .td-open, .timetable.timetable--secondary .td-closed {
  width: 1rem;
  height: 1rem;
}
@media screen and (min-width: 1100px), print {
  .timetable.timetable--secondary .td-open, .timetable.timetable--secondary .td-closed {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.timetable.timetable--secondary .td-open.bg-sub2, .timetable.timetable--secondary .td-closed.bg-sub2 {
  background-color: #C26D33;
}
.timetable.timetable--secondary .tr-body {
  margin-top: 0.2rem;
}
@media screen and (min-width: 768px), print {
  .timetable.timetable--secondary .tr-body {
    margin-top: 0.4rem;
  }
}
.timetable.timetable--secondary .tr-body th,
.timetable.timetable--secondary .tr-body td {
  height: 3.5rem;
  padding: 0 1.6rem;
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px), print {
  .timetable.timetable--secondary .tr-body th,
  .timetable.timetable--secondary .tr-body td {
    height: 4.4rem;
  }
}
.timetable.timetable--secondary .tr-body th {
  background-color: #D4F4CC;
}
.timetable.timetable--secondary .tr-body td {
  border: 1px solid #D4F4CC;
  background-color: #ffffff;
}
.timetable.timetable--secondary .tr-body:not(:last-child) {
  margin-bottom: 0;
}
.timetable.timetable--secondary .tr-body:not(:last-child)::before {
  display: none;
}
.timetable.timetable--secondary .th-label {
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .timetable.timetable--secondary .th-label {
    font-size: 1.4rem;
    text-align: left;
  }
}
@media screen and (min-width: 1100px), print {
  .timetable.timetable--secondary .th-label {
    font-size: 1.8rem;
    letter-spacing: 0.03em;
  }
}
.timetable.timetable--secondary .td-label {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px), print {
  .timetable.timetable--secondary .td-label {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1100px), print {
  .timetable.timetable--secondary .td-label {
    font-size: 1.8rem;
    letter-spacing: 0.03em;
  }
}
.timetable thead,
.timetable tbody,
.timetable tr,
.timetable th,
.timetable td {
  display: block;
}
.timetable tr {
  display: grid;
  grid-template-columns: 18rem repeat(7, 1fr);
  grid-template-rows: auto;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  padding: 0 1rem 0 2.4rem;
}
@media screen and (min-width: 768px), print {
  .timetable tr {
    grid-template-columns: clamp(15rem, 180 * var(--vw1100), 18rem) repeat(7, 1fr);
    padding: 0 clamp(0.5rem, 10 * var(--vw1100), 1rem) 0 clamp(1.6rem, 24 * var(--vw1100), 2.4rem);
  }
}
.timetable th,
.timetable td {
  font-weight: 500;
}
.timetable td {
  display: grid;
  place-content: center;
  text-align: center;
}
.timetable .tr-head {
  color: #fff;
  background-color: #302F2E;
}
.timetable .tr-head th,
.timetable .tr-head td {
  height: 3.5rem;
}
@media screen and (min-width: 768px), print {
  .timetable .tr-head th,
  .timetable .tr-head td {
    height: clamp(2.5rem, 35 * var(--vw1100), 3.5rem);
  }
}
.timetable .tr-body th,
.timetable .tr-body td {
  height: 5rem;
}
@media screen and (min-width: 768px), print {
  .timetable .tr-body th,
  .timetable .tr-body td {
    height: clamp(3.5rem, 50 * var(--vw1100), 5rem);
  }
}
.timetable .tr-body:not(:last-child) {
  position: relative;
  margin-bottom: 1px;
}
.timetable .tr-body:not(:last-child)::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #6CBB5A;
}
.timetable .th-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px), print {
  .timetable .td-label {
    font-size: clamp(1.4rem, 16 * var(--vw1100), 1.6rem);
  }
}
.timetable .th-ampm {
  display: inline-block;
  vertical-align: middle;
  width: 5rem;
  padding: 0.3rem 0;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px), print {
  .timetable .th-ampm {
    font-size: clamp(1rem, 14 * var(--vw1100), 1.4rem);
    width: clamp(3rem, 50 * var(--vw1100), 5rem);
  }
}
.timetable .th-time {
  display: inline;
  vertical-align: middle;
  margin-left: 1rem;
}
@media screen and (min-width: 768px), print {
  .timetable .th-time {
    margin-left: clamp(0.5rem, 10 * var(--vw1100), 1rem);
    font-size: clamp(1.4rem, 16 * var(--vw1100), 1.6rem);
  }
}
.timetable .td-open {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  margin: auto;
  border-radius: 100%;
  background-color: #6CBB5A;
}
@media screen and (min-width: 768px), print {
  .timetable .td-open {
    width: clamp(1rem, 15 * var(--vw1100), 1.5rem);
    height: clamp(1rem, 15 * var(--vw1100), 1.5rem);
  }
}
.timetable .td-open.bg-sub2 {
  background-color: #D2A784;
}
.timetable .td-closed {
  display: inline-block;
  vertical-align: middle;
  width: 1.5rem;
  height: 1.5rem;
  background: url("../img/base/icon-closed.svg") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .timetable .td-closed {
    width: clamp(1rem, 15 * var(--vw1100), 1.5rem);
    height: clamp(1rem, 15 * var(--vw1100), 1.5rem);
  }
}
.timetable-note {
  margin-top: 0.85rem;
  line-height: 1.5;
  font-weight: 500;
  font-size: 1.4rem;
  color: #fff;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px), print {
  .timetable-note {
    font-size: clamp(1.2rem, 14 * var(--vw1100), 1.4rem);
  }
}
@media screen and (max-width: 767.98px) {
  .timetable {
    font-size: 1.4rem;
    border-radius: 1rem;
  }
  .timetable tr {
    grid-template-columns: 9rem repeat(7, 1fr);
    padding: 0 1rem;
  }
  .timetable .tr-body th,
  .timetable .tr-body td {
    height: 6rem;
  }
  .timetable .th-label {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .timetable .th-ampm {
    display: block;
    width: 4rem;
    margin: -0.5rem auto 0.3rem;
    font-size: 1.2rem;
  }
  .timetable .th-time {
    display: block;
    margin-left: 0;
  }
  .timetable .td-open {
    width: 1.2rem;
    height: 1.2rem;
  }
  .timetable .td-closed {
    width: 1.2rem;
  }
  .timetable-note {
    font-size: 1.2rem;
  }
}

/* --------------------------------

  トップページ

-------------------------------- */
/* メインビジュアル */
.top-hero {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .top-hero {
    padding-top: 6rem;
    padding-bottom: clamp(3rem, 50 * var(--vw768), 5rem);
  }
}
@media screen and (min-width: 768px), print {
  .top-hero {
    padding-top: min(118 * var(--vw1100), 118px);
    padding-bottom: min(100 * var(--vw1100), 100px);
    padding-left: min(200 * var(--vw1100), 200px);
  }
}
.top-hero__container {
  position: relative;
}
.top-hero__decoration-01 {
  position: absolute;
  z-index: 2;
}
@media screen and (min-width: 768px), print {
  .top-hero__decoration-01 {
    top: 0;
    left: -1.2em;
    max-width: min(576 * var(--vw1100), 576px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-hero__decoration-01 {
    top: 0;
    left: 0;
    max-width: clamp(300px, 500 * var(--vw768), 500px);
  }
}
.top-hero__decoration-02 {
  position: absolute;
  z-index: 2;
}
@media screen and (min-width: 768px), print {
  .top-hero__decoration-02 {
    bottom: min(200 * var(--vw1100), 200px);
    left: calc(-1 * min(150 * var(--vw1100), 150px));
    max-width: min(398 * var(--vw1100), 398px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-hero__decoration-02 {
    bottom: clamp(100px, 150 * var(--vw768), 150px);
    left: 0;
    -webkit-transform: translateX(-30%);
            transform: translateX(-30%);
    max-width: clamp(180px, 300 * var(--vw768), 300px);
  }
}
.top-hero__decoration-03 {
  position: absolute;
  z-index: 2;
}
@media screen and (min-width: 768px), print {
  .top-hero__decoration-03 {
    bottom: 0;
    left: 0;
    max-width: min(241 * var(--vw1100), 241px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-hero__decoration-03 {
    bottom: clamp(30px, 50 * var(--vw768), 50px);
    left: 0;
    max-width: clamp(120px, 180 * var(--vw768), 180px);
  }
}
.top-hero__decoration-04 {
  position: absolute;
  z-index: 2;
}
@media screen and (min-width: 768px), print {
  .top-hero__decoration-04 {
    bottom: 0;
    right: calc(-1 * min(45 * var(--vw1100), 45px));
    max-width: min(258 * var(--vw1100), 258px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-hero__decoration-04 {
    bottom: clamp(20px, 30 * var(--vw768), 30px);
    right: 0;
    -webkit-transform: translateX(18%);
            transform: translateX(18%);
    max-width: clamp(150px, 220 * var(--vw768), 220px);
  }
}
.top-hero__detail {
  position: absolute;
  inset: 0;
  place-content: center;
  z-index: 1;
  padding: 0 clamp(20px, 90 * var(--vw768), 90px);
}
@media screen and (min-width: 768px), print {
  .top-hero__detail {
    padding: 0 min(120 * var(--vw1100), 120px);
  }
}
.top-hero__catch {
  max-width: clamp(320px, 720 * var(--vw768), 720px);
}
@media screen and (min-width: 768px), print {
  .top-hero__catch {
    max-width: min(720 * var(--vw1100), 720px);
  }
}

/* お知らせ */
.top-news {
  position: relative;
  padding: clamp(50px, 100 * var(--vw768), 100px) clamp(20px, 50 * var(--vw768), 50px);
}
@media screen and (min-width: 768px), print {
  .top-news {
    padding: min(100 * var(--vw1100), 100px) min(50 * var(--vw1100), 50px);
  }
}
.top-news .inner {
  max-width: 1000px;
}
.top-news__header {
  margin-bottom: clamp(30px, 60 * var(--vw768), 60px);
}
@media screen and (min-width: 768px), print {
  .top-news__header {
    margin-bottom: min(60 * var(--vw1100), 60px);
  }
}
.top-news__heading {
  text-align: center;
  line-height: 1.3;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
}
.top-news__heading-jp {
  display: block;
  color: #CDBBDB;
  font-size: clamp(30px, 54 * var(--vw768), 54px);
}
.top-news__heading-jp::first-letter {
  color: #A187B6;
}
@media screen and (min-width: 768px), print {
  .top-news__heading-jp {
    font-size: min(64 * var(--vw1100), 64px);
  }
}
.top-news__heading-en {
  display: block;
  letter-spacing: 0.1em;
  color: #CDBBDB;
  font-size: clamp(16px, 22 * var(--vw768), 22px);
}
@media screen and (min-width: 768px), print {
  .top-news__heading-en {
    font-size: min(24 * var(--vw1100), 24px);
  }
}
.top-news__action {
  text-align: center;
  margin-top: clamp(30px, 60 * var(--vw768), 60px);
}
@media screen and (min-width: 768px), print {
  .top-news__action {
    margin-top: min(60 * var(--vw1100), 60px);
  }
}

/* ABOUT */
.top-about {
  position: relative;
  padding: clamp(60px, 120 * var(--vw768), 120px) clamp(20px, 50 * var(--vw768), 50px);
  overflow: hidden;
}
@media screen and (min-width: 768px), print {
  .top-about {
    padding: min(150 * var(--vw1100), 150px) 0;
  }
}
.top-about .inner {
  max-width: 570px;
}
@media screen and (min-width: 768px), print {
  .top-about .inner {
    max-width: none;
  }
}
.top-about__container {
  display: grid;
  gap: clamp(20px, 40 * var(--vw768), 40px);
}
@media screen and (min-width: 768px), print {
  .top-about__container {
    grid-template-columns: 35% 65%;
    gap: min(70 * var(--vw1600), 70px);
  }
}
.top-about__wrap {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media screen and (min-width: 768px), print {
  .top-about__wrap {
    grid-template-columns: -webkit-max-content min(220 * var(--vw1600), 22rem);
    grid-template-columns: max-content min(220 * var(--vw1600), 22rem);
    gap: min(10 * var(--vw1440), 1rem);
  }
}
.top-about__heading {
  display: block;
  font-family: "RocknRoll One", sans-serif;
  color: #6CBB5A;
  font-size: clamp(18px, 38 * var(--vw768), 3.8rem);
  margin-bottom: clamp(15px, 22 * var(--vw768), 2.2rem);
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (min-width: 768px), print {
  .top-about__heading {
    font-size: min(38 * var(--vw1600), 3.8rem);
    margin-bottom: min(22 * var(--vw1600), 2.2rem);
  }
}
.top-about__text {
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.top-about__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  margin-top: clamp(20px, 30 * var(--vw768), 3rem);
}
@media screen and (min-width: 768px), print {
  .top-about__buttons {
    gap: min(10 * var(--vw1600), 1rem);
    margin-top: min(30 * var(--vw1600), 3rem);
  }
}
@media screen and (max-width: 767.98px) {
  .top-about__buttons {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 767.98px) {
  .top-about__decoration {
    margin: 0 auto;
    max-width: clamp(13rem, 225 * var(--vw768), 22.5rem);
  }
}
@media screen and (max-width: 767.98px) {
  .top-about__item-01 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.top-about__item-01 .top-about__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (min-width: 768px), print {
  .top-about__item-01 .top-about__image img {
    height: min(750 * var(--vw1600), 75rem);
    border-radius: 0 min(20 * var(--vw1600), 2rem) 0 0;
  }
}
.top-about__item-01 .top-about__heading {
  font-size: clamp(2.4rem, 30 * var(--vw768), 3rem);
}
@media screen and (min-width: 768px), print {
  .top-about__item-01 .top-about__heading {
    font-size: min(32 * var(--vw1600), 3.2rem);
  }
}
.top-about__item-01 .top-about__text {
  font-size: clamp(14px, 18 * var(--vw768), 1.8rem);
}
@media screen and (min-width: 768px), print {
  .top-about__item-01 .top-about__text {
    font-size: min(16 * var(--vw1600), 1.6rem);
    letter-spacing: 0;
  }
}
.top-about__item-01 .top-about__content {
  padding: clamp(20px, 30 * var(--vw768), 30px) 0 0 0;
}
@media screen and (min-width: 768px), print {
  .top-about__item-01 .top-about__content {
    padding: min(55 * var(--vw1600), 55px) 0 0 min(55 * var(--vw1600), 55px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-about__item-02 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.top-about__item-02 .top-about__image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: clamp(15px, 20 * var(--vw768), 2rem) 0 0 0;
}
@media screen and (min-width: 768px), print {
  .top-about__item-02 .top-about__image img {
    height: min(700 * var(--vw1600), 70rem);
    border-radius: min(20 * var(--vw1600), 2rem) 0 0 0;
  }
}
.top-about__item-02 .top-about__heading {
  font-size: clamp(2.6rem, 34 * var(--vw768), 3.4rem);
}
@media screen and (min-width: 768px), print {
  .top-about__item-02 .top-about__heading {
    font-size: min(38 * var(--vw1600), 3.8rem);
  }
}
.top-about__item-02 .top-about__text {
  font-size: clamp(14px, 18 * var(--vw768), 1.8rem);
}
@media screen and (min-width: 768px), print {
  .top-about__item-02 .top-about__text {
    font-size: min(20 * var(--vw1600), 2rem);
  }
}
.top-about__item-02 .top-about__wrap {
  padding: 0 0 clamp(16px, 25 * var(--vw768), 25px) 0;
}
@media screen and (min-width: 768px), print {
  .top-about__item-02 .top-about__wrap {
    padding: min(40 * var(--vw1600), 40px) min(55 * var(--vw1600), 55px) min(40 * var(--vw1600), 40px) 0;
  }
}

/* 当院の得意とする治療 */
.top-specialty {
  position: relative;
  background-image: url("../img/top/specialty_bg.webp");
  background-repeat: repeat;
  background-position: top left;
  padding: 0 clamp(20px, 50 * var(--vw768), 50px) clamp(20px, 50 * var(--vw768), 50px) clamp(20px, 50 * var(--vw768), 50px);
  margin-top: min(185 * var(--vw1100), 185px);
  margin-bottom: min(185 * var(--vw1100), 185px);
}
@media screen and (min-width: 768px), print {
  .top-specialty {
    padding: 0 min(50 * var(--vw1100), 50px) min(50 * var(--vw1100), 50px) min(50 * var(--vw1100), 50px);
  }
}
.top-specialty__decoration-01 {
  position: absolute;
}
@media screen and (min-width: 768px), print {
  .top-specialty__decoration-01 {
    top: calc(-1 * min(30 * var(--vw1100), 30px));
    left: calc(-1 * min(195 * var(--vw1100), 195px));
    max-width: min(414 * var(--vw1100), 414px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-specialty__decoration-01 {
    top: clamp(30px, 50 * var(--vw768), 50px);
    left: 0;
    -webkit-transform: translateX(-55%);
            transform: translateX(-55%);
    max-width: clamp(200px, 414 * var(--vw768), 414px);
  }
}
.top-specialty__decoration-02 {
  position: absolute;
}
@media screen and (min-width: 768px), print {
  .top-specialty__decoration-02 {
    top: calc(-1 * min(30 * var(--vw1100), 30px));
    right: calc(-1 * min(195 * var(--vw1100), 195px));
    max-width: min(414 * var(--vw1100), 414px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-specialty__decoration-02 {
    top: 50%;
    right: 0;
    -webkit-transform: translateX(55%) translateY(-50%);
            transform: translateX(55%) translateY(-50%);
    max-width: clamp(200px, 414 * var(--vw768), 414px);
  }
}
.top-specialty__decoration-03 {
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px), print {
  .top-specialty__decoration-03 {
    -webkit-transform: translateY(58%);
            transform: translateY(58%);
    max-width: min(484 * var(--vw1100), 484px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-specialty__decoration-03 {
    max-width: clamp(150px, 300 * var(--vw768), 300px);
    -webkit-transform: translateY(68%);
            transform: translateY(68%);
  }
}
.top-specialty__decoration-04 {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (min-width: 768px), print {
  .top-specialty__decoration-04 {
    -webkit-transform: translateY(68%) translateX(3%);
            transform: translateY(68%) translateX(3%);
    max-width: min(416 * var(--vw1100), 416px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-specialty__decoration-04 {
    max-width: clamp(130px, 250 * var(--vw768), 250px);
    -webkit-transform: translateY(85%) translateX(3%);
            transform: translateY(85%) translateX(3%);
  }
}
.top-specialty__wave-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-95%);
          transform: translateY(-95%);
}
.top-specialty__wave-top img {
  width: 100%;
  height: min(185 * var(--vw1100), 185px);
  -o-object-fit: cover;
  object-fit: cover;
}
.top-specialty__wave-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(95%);
          transform: translateY(95%);
}
.top-specialty__wave-bottom img {
  width: 100%;
  height: min(185 * var(--vw1100), 185px);
  -o-object-fit: cover;
  object-fit: cover;
}
.top-specialty .inner {
  max-width: 380px;
}
@media screen and (min-width: 768px), print {
  .top-specialty .inner {
    max-width: 800px;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty .inner {
    max-width: 1100px;
  }
}
.top-specialty__header {
  margin-bottom: clamp(40px, 80 * var(--vw768), 80px);
}
@media screen and (min-width: 768px), print {
  .top-specialty__header {
    margin-bottom: min(90 * var(--vw1100), 90px);
  }
}
.top-specialty__heading {
  text-align: center;
  line-height: 1.3;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
}
.top-specialty__heading-jp {
  display: block;
  color: #FCBAB5;
  font-size: clamp(24px, 54 * var(--vw768), 54px);
}
.top-specialty__heading-jp::first-letter {
  color: #D8827B;
}
@media screen and (min-width: 360px), print {
  .top-specialty__heading-jp {
    font-size: clamp(30px, 54 * var(--vw768), 54px);
  }
}
@media screen and (min-width: 768px), print {
  .top-specialty__heading-jp {
    font-size: min(64 * var(--vw1100), 64px);
  }
}
.top-specialty__heading-en {
  letter-spacing: 0.1em;
  color: #FCBAB5;
  font-size: clamp(14px, 22 * var(--vw768), 22px);
}
@media screen and (min-width: 360px), print {
  .top-specialty__heading-en {
    font-size: clamp(16px, 22 * var(--vw768), 22px);
  }
}
@media screen and (min-width: 768px), print {
  .top-specialty__heading-en {
    font-size: min(24 * var(--vw1100), 24px);
  }
}
.top-specialty__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -0.5rem -0.5rem 0;
}
@media screen and (min-width: 768px), print {
  .top-specialty__container {
    margin: 0 -2.5rem -2.5rem 0;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty__container {
    margin: 0 -4rem -4rem 0;
  }
}
.top-specialty__item {
  width: 50%;
  padding: 0 0.5rem 0.5rem 0;
}
@media screen and (min-width: 768px), print {
  .top-specialty__item {
    width: 33.33333%;
    padding: 0 2.5rem 2.5rem 0;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty__item {
    padding: 0 4rem 4rem 0;
  }
}
.top-specialty__link {
  position: relative;
  display: block;
  height: 100%;
  background-color: #FFE7E5;
  padding: 4rem 2rem;
  -webkit-clip-path: var(--polygon-special);
  clip-path: var(--polygon-special);
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .top-specialty__link {
    padding: 6rem 3rem;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty__link {
    padding: 8rem 4.5rem;
  }
}
@media (hover: hover) {
  .top-specialty__link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
  .top-specialty__link:where(:any-link, :enabled, summary):hover {
    opacity: 0.8;
  }
}
.top-specialty__subheading {
  display: block;
  text-align: center;
  font-family: "RocknRoll One", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.3;
  place-content: center;
  min-height: 3.3rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 360px), print {
  .top-specialty__subheading {
    font-size: 1.6rem;
    min-height: 4rem;
  }
}
@media screen and (min-width: 768px), print {
  .top-specialty__subheading {
    font-size: 2.1rem;
    min-height: 6.2rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty__subheading {
    font-size: 3.2rem;
    min-height: 8.3rem;
    margin-bottom: 2.5rem;
  }
}
.top-specialty__text {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .top-specialty__text {
    font-size: 1.2rem;
    line-height: 1.8;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty__text {
    line-height: 2;
    font-size: 1.4rem;
  }
}
.top-specialty__image {
  display: block;
  text-align: center;
  place-content: center;
  min-height: 4rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px), print {
  .top-specialty__image {
    min-height: 7rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty__image {
    min-height: 10rem;
    margin-bottom: 3rem;
  }
}
.top-specialty__image img {
  width: auto;
  height: auto;
  max-height: 4rem;
}
@media screen and (min-width: 768px), print {
  .top-specialty__image img {
    max-height: 7rem;
  }
}
@media screen and (min-width: 1280px), print {
  .top-specialty__image img {
    max-height: 10rem;
  }
}

/* 治療内容 */
.top-treatment {
  position: relative;
  padding: clamp(50px, 90 * var(--vw768), 90px) clamp(20px, 50 * var(--vw768), 50px) clamp(100px, 150 * var(--vw768), 150px) clamp(20px, 50 * var(--vw768), 50px);
}
@media screen and (min-width: 768px), print {
  .top-treatment {
    padding: min(90 * var(--vw1100), 90px) min(50 * var(--vw1100), 50px);
  }
}
.top-treatment .inner {
  max-width: 731px;
}
.top-treatment__decoration-01 {
  position: absolute;
  bottom: calc(-1 * min(60 * var(--vw1100), 60px));
}
@media screen and (min-width: 768px), print {
  .top-treatment__decoration-01 {
    max-width: min(1117 * var(--vw1100), 1117px);
    left: calc(-1 * min(150 * var(--vw1100), 150px));
  }
}
@media screen and (max-width: 767.98px) {
  .top-treatment__decoration-01 {
    right: 0;
    width: clamp(400px, 1000 * var(--vw768), 1000px);
  }
}
.top-treatment__decoration-02 {
  position: absolute;
}
@media screen and (min-width: 768px), print {
  .top-treatment__decoration-02 {
    bottom: min(10 * var(--vw1100), 10px);
    max-width: min(538 * var(--vw1100), 538px);
    left: calc(-1 * min(220 * var(--vw1100), 220px));
  }
}
@media screen and (max-width: 767.98px) {
  .top-treatment__decoration-02 {
    bottom: 0;
    max-width: clamp(250px, 500 * var(--vw768), 500px);
    left: calc(-1 * min(250 * var(--vw768), 250px));
  }
}
.top-treatment__decoration-03 {
  position: absolute;
}
@media screen and (min-width: 768px), print {
  .top-treatment__decoration-03 {
    bottom: min(500 * var(--vw1100), 500px);
    max-width: min(193 * var(--vw1100), 193px);
    left: min(140 * var(--vw1100), 140px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-treatment__decoration-03 {
    top: clamp(90px, 150 * var(--vw768), 150px);
    left: clamp(15px, 30 * var(--vw768), 30px);
    max-width: clamp(90px, 150 * var(--vw768), 150px);
  }
}
.top-treatment__decoration-04 {
  position: absolute;
}
@media screen and (min-width: 768px), print {
  .top-treatment__decoration-04 {
    top: min(170 * var(--vw1100), 170px);
    max-width: min(538 * var(--vw1100), 538px);
    right: calc(-1 * min(140 * var(--vw1100), 140px));
  }
}
@media screen and (max-width: 767.98px) {
  .top-treatment__decoration-04 {
    top: clamp(80px, 150 * var(--vw768), 150px);
    max-width: clamp(280px, 500 * var(--vw768), 500px);
    right: calc(-1 * min(360 * var(--vw768), 360px));
  }
}
.top-treatment__decoration-05 {
  position: absolute;
  bottom: calc(-1 * min(20 * var(--vw768), 20px));
  max-width: clamp(150px, 250 * var(--vw768), 250px);
  right: 42%;
}
@media screen and (min-width: 768px), print {
  .top-treatment__decoration-05 {
    bottom: calc(-1 * min(35 * var(--vw1100), 35px));
    max-width: min(326 * var(--vw1100), 326px);
    right: 45%;
  }
}
@media screen and (min-width: 1440px), print {
  .top-treatment__decoration-05 {
    right: min(20 * var(--vw1100), 20px);
    bottom: calc(-1 * min(50 * var(--vw1100), 50px));
  }
}
.top-treatment__header {
  margin-bottom: clamp(40px, 80 * var(--vw768), 80px);
}
@media screen and (min-width: 768px), print {
  .top-treatment__header {
    margin-bottom: min(80 * var(--vw1100), 80px);
  }
}
.top-treatment__heading {
  text-align: center;
  line-height: 1.3;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
}
.top-treatment__heading-jp {
  display: block;
  color: #C26D33;
  font-size: clamp(24px, 54 * var(--vw768), 54px);
}
.top-treatment__heading-jp::first-letter {
  color: #582A0B;
}
@media screen and (min-width: 360px), print {
  .top-treatment__heading-jp {
    font-size: clamp(30px, 54 * var(--vw768), 54px);
  }
}
@media screen and (min-width: 768px), print {
  .top-treatment__heading-jp {
    font-size: min(64 * var(--vw1100), 64px);
  }
}
.top-treatment__heading-en {
  letter-spacing: 0.1em;
  color: #C26D33;
  font-size: clamp(14px, 22 * var(--vw768), 22px);
}
@media screen and (min-width: 360px), print {
  .top-treatment__heading-en {
    font-size: clamp(16px, 22 * var(--vw768), 22px);
  }
}
@media screen and (min-width: 768px), print {
  .top-treatment__heading-en {
    font-size: min(24 * var(--vw1100), 24px);
  }
}
.top-treatment__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(15px, 30 * var(--vw768), 30px);
}
@media screen and (min-width: 768px), print {
  .top-treatment__container {
    grid-template-columns: repeat(3, 1fr);
    gap: min(50 * var(--vw1100), 50px);
  }
}
.top-treatment__item {
  aspect-ratio: 1/1;
  -webkit-clip-path: var(--polygon-treatment);
  clip-path: var(--polygon-treatment);
}
.top-treatment__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #ffffff;
  place-content: center;
  background-color: rgba(210, 167, 132, 0.7);
  text-align: center;
  font-weight: 400;
  line-height: 1.3;
  font-family: "RocknRoll One", sans-serif;
  font-size: clamp(18px, 36 * var(--vw768), 36px);
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .top-treatment__link {
    font-size: min(36 * var(--vw1100), 36px);
  }
}
.top-treatment__link::before {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 2.5rem;
  width: 0.9rem;
  height: 1.7rem;
  background: url("../img/base/icon-arrow_right_wht2.png") no-repeat center/contain;
}
@media screen and (min-width: 768px), print {
  .top-treatment__link::before {
    bottom: 2.5rem;
    width: 0.9rem;
    height: 1.7rem;
  }
}
@media (hover: hover) {
  .top-treatment__link:where(:-moz-any-link, :enabled, summary):hover {
    background-color: #D2A784;
  }
  .top-treatment__link:where(:any-link, :enabled, summary):hover {
    background-color: #D2A784;
  }
}
.top-treatment__link-small {
  font-size: clamp(16px, 26 * var(--vw768), 26px);
}
@media screen and (min-width: 768px), print {
  .top-treatment__link-small {
    font-size: min(26 * var(--vw1100), 26px);
  }
}

/* 知ってほしいこと */
.top-knowledge {
  position: relative;
  background-color: #DCE9F3;
  padding: clamp(20px, 50 * var(--vw768), 50px) clamp(20px, 50 * var(--vw768), 50px) 0 clamp(20px, 50 * var(--vw768), 50px);
  margin-top: min(185 * var(--vw1100), 185px);
  margin-bottom: min(185 * var(--vw1100), 185px);
  z-index: 0;
}
@media screen and (min-width: 768px), print {
  .top-knowledge {
    padding: 0 min(50 * var(--vw1100), 50px);
  }
}
.top-knowledge .inner {
  max-width: 1370px;
}
.top-knowledge__decoration-01 {
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 768px), print {
  .top-knowledge__decoration-01 {
    top: min(50 * var(--vw1440), 50px);
    left: calc(-1 * min(10 * var(--vw1440), 10px));
    max-width: min(419 * var(--vw1440), 419px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-knowledge__decoration-01 {
    top: calc(-1 * min(80 * var(--vw768), 80px));
    left: calc(-1 * min(10 * var(--vw768), 10px));
    max-width: clamp(150px, 300 * var(--vw768), 300px);
    z-index: 0;
  }
}
.top-knowledge__decoration-02 {
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 768px), print {
  .top-knowledge__decoration-02 {
    top: min(10 * var(--vw1440), 10px);
    right: calc(-1 * min(10 * var(--vw1440), 10px));
    max-width: min(329 * var(--vw1440), 329px);
  }
}
@media screen and (max-width: 767.98px) {
  .top-knowledge__decoration-02 {
    top: calc(-1 * min(70 * var(--vw768), 70px));
    right: calc(-1 * min(10 * var(--vw768), 10px));
    max-width: clamp(120px, 250 * var(--vw768), 250px);
    z-index: 0;
  }
}
.top-knowledge__wave-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-95%);
          transform: translateY(-95%);
}
.top-knowledge__wave-top img {
  width: 100%;
  height: min(185 * var(--vw1100), 185px);
  -o-object-fit: cover;
  object-fit: cover;
}
.top-knowledge__wave-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(95%);
          transform: translateY(95%);
}
.top-knowledge__wave-bottom img {
  width: 100%;
  height: min(185 * var(--vw1100), 185px);
  -o-object-fit: cover;
  object-fit: cover;
}
.top-knowledge__header {
  margin-bottom: clamp(30px, 70 * var(--vw768), 70px);
}
@media screen and (min-width: 768px), print {
  .top-knowledge__header {
    margin-bottom: min(70 * var(--vw1100), 70px);
  }
}
.top-knowledge__heading {
  text-align: center;
  line-height: 1.3;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
}
.top-knowledge__heading-jp {
  display: block;
  color: #6C92B0;
  font-size: clamp(24px, 54 * var(--vw768), 54px);
}
.top-knowledge__heading-jp::first-letter {
  color: #302F2E;
}
@media screen and (min-width: 360px), print {
  .top-knowledge__heading-jp {
    font-size: clamp(30px, 54 * var(--vw768), 54px);
  }
}
@media screen and (min-width: 768px), print {
  .top-knowledge__heading-jp {
    font-size: min(64 * var(--vw1100), 64px);
  }
}
.top-knowledge__heading-en {
  letter-spacing: 0.1em;
  color: #6C92B0;
  font-size: clamp(14px, 22 * var(--vw768), 22px);
}
@media screen and (min-width: 360px), print {
  .top-knowledge__heading-en {
    font-size: clamp(16px, 22 * var(--vw768), 22px);
  }
}
@media screen and (min-width: 768px), print {
  .top-knowledge__heading-en {
    font-size: min(24 * var(--vw1100), 24px);
  }
}
.top-knowledge__action {
  text-align: center;
  margin-top: clamp(35px, 50 * var(--vw768), 50px);
}
@media screen and (min-width: 768px), print {
  .top-knowledge__action {
    margin-top: min(50 * var(--vw1100), 50px);
  }
}

/* --------------------------------

  下層ページ

-------------------------------- */
.section {
  padding: 5rem 2rem 0 2rem;
}
@media screen and (min-width: 1100px), print {
  .section {
    padding: 10rem 4rem 0 4rem;
  }
}
.section-block {
  background-color: #ffffff;
  padding: 2rem;
  border-radius: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .section-block {
    padding: 5rem;
    border-radius: 3rem;
  }
}
.section-block:not(:last-child) {
  margin-bottom: 3rem;
}
@media screen and (min-width: 1100px), print {
  .section-block:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.section-box {
  background-color: #FFFBF9;
  padding: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .section-box {
    padding: 2rem;
  }
}
.section-grid {
  display: grid;
}
.section-grid.col-2 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1100px), print {
  .section-grid.col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.section-grid.col-3 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 480px), print {
  .section-grid.col-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 768px), print {
  .section-grid.col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.section-grid.gap-2 {
  gap: 2rem;
}
.section-grid.gap-3 {
  gap: 3rem;
}
.section-flex {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media screen and (min-width: 768px), print {
  .section-flex {
    grid-template-columns: 1fr minmax(0, 30rem);
    gap: 2rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1100px), print {
  .section-flex {
    gap: 3rem;
    grid-template-columns: 1fr minmax(0, 35.5rem);
  }
}
@media screen and (max-width: 767.98px) {
  .section-flex__content {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.section-flex__image {
  position: relative;
  text-align: center;
}
.section-dmy {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: clamp(5rem, 100 * var(--vw768), 10rem) 0;
}
@media screen and (min-width: 768px), print {
  .section-dmy {
    padding: min(100 * var(--vw1100), 10rem) 0;
  }
}
.section-dmy p:not(:last-child) {
  margin-bottom: clamp(5rem, 100 * var(--vw768), 10rem);
}
@media screen and (min-width: 768px), print {
  .section-dmy p:not(:last-child) {
    margin-bottom: min(100 * var(--vw1100), 10rem);
  }
}

.knowledge-area .inner {
  max-width: 1370px;
}

/* 当院について */
.doctor-info__heading {
  display: block;
  padding: 1.5rem;
  border-radius: 1rem;
  background-color: #F7EBCE;
  color: #582A0B;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
  line-height: 1.3;
  font-size: 2rem;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 1100px), print {
  .doctor-info__heading {
    font-size: 3.6rem;
    margin-bottom: 5rem;
    padding: 1.6rem 2.5rem;
  }
}
.doctor-info__heading span {
  position: relative;
  display: inline-block;
  padding-left: 1.9em;
}
@media screen and (min-width: 1100px), print {
  .doctor-info__heading span {
    padding-left: 2.2em;
  }
}
.doctor-info__heading span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.7rem;
  height: 2.7rem;
  background: url("../img/pages/about/icon-leaf.png") no-repeat center/contain;
}
@media screen and (min-width: 1100px), print {
  .doctor-info__heading span::before {
    width: 5.5rem;
    height: 5.5rem;
  }
}

.about-contact .global-contact__item-tel .tel-link {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 575.98px) {
  .about-contact .global-contact__item-tel .tel-link {
    grid-template-columns: auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
  }
}
@media screen and (max-width: 359.98px) {
  .about-contact .global-contact__item-tel .tel-num {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 575.98px) {
  .about-contact .global-contact__item-tel .tel-text {
    width: 10rem;
    margin-inline: auto;
  }
}
.about-photo__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px), print {
  .about-photo__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
  }
}
@media screen and (min-width: 1100px), print {
  .about-photo__wrap {
    gap: 5rem;
  }
}
.about-photo__large {
  margin-block: 2rem;
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .about-photo__large {
    margin-block: 3rem;
  }
}
@media screen and (min-width: 1100px), print {
  .about-photo__large {
    margin-block: 6rem;
  }
}
.about-photo__image {
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767.98px) {
  .about-photo__image {
    display: block;
    width: 100%;
    max-width: 47rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 479.98px) {
  .about-photo__image img {
    width: 100%;
    height: 21rem;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.about-photo__image-desc {
  position: absolute;
  bottom: -0.5em;
  left: -0.5em;
  display: inline-block;
  color: #ffffff;
  font-family: "RocknRoll One", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  padding: 0.85em 1em;
  text-align: left;
}
@media screen and (min-width: 1100px), print {
  .about-photo__image-desc {
    font-size: 1.6rem;
    bottom: -1em;
    left: -1.5em;
  }
}
.about-photo__image-desc--01 {
  background-image: url("../img/pages/about/frame_01.png");
}
.about-photo__image-desc--02 {
  background-image: url("../img/pages/about/frame_02.png");
}
.about-photo__image-desc--03 {
  background-image: url("../img/pages/about/frame_03.png");
}
.about-photo__image-desc--04 {
  background-image: url("../img/pages/about/frame_04.png");
}
.about-photo__image-desc--05 {
  background-image: url("../img/pages/about/frame_05.png");
}

/* 共通料金表 */
.price-table {
  display: block;
}
.price-table tbody {
  display: block;
  width: 100%;
}
.price-table tr {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px), print {
  .price-table tr {
    grid-template-columns: 22rem 1fr;
  }
}
@media screen and (min-width: 1100px), print {
  .price-table tr {
    grid-template-columns: 28rem 1fr;
  }
}
.price-table tr:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (min-width: 1100px), print {
  .price-table tr:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
.price-table th, .price-table td {
  vertical-align: middle;
  line-height: 1.8;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 1em 1.5em;
  min-height: 5rem;
  place-content: center;
}
@media screen and (min-width: 1100px), print {
  .price-table th, .price-table td {
    font-size: 1.8rem;
    min-height: 7rem;
  }
}
@media screen and (max-width: 767.98px) {
  .price-table th, .price-table td {
    display: block;
  }
}
.price-table th {
  color: #ffffff;
  background-color: #D2A784;
}
.price-table td {
  background-color: #F7EBCE;
}
.price-table__define {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 480px), print {
  .price-table__define {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 1100px), print {
  .price-table__define {
    gap: 2rem;
  }
}
.price-table__define dt {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.2;
  color: #ffffff;
  background-color: #D2A784;
  border-radius: 10em;
  width: 11.5rem;
  height: 2.6rem;
  place-content: center;
  text-align: center;
}
@media screen and (min-width: 1100px), print {
  .price-table__define dt {
    font-size: 1.6rem;
    width: 15rem;
  }
}
.price-table__define dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.price-table__define:not(:last-child) {
  margin-bottom: 1rem;
}
@media screen and (min-width: 1100px), print {
  .price-table__define:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}

/* ホワイトニング */
.whitening-flow {
  border-radius: 1.5rem;
  overflow: hidden;
}
@media screen and (min-width: 1100px), print {
  .whitening-flow {
    border-radius: 3rem;
  }
}
.whitening-flow__item {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1100px), print {
  .whitening-flow__item {
    grid-template-columns: 20rem 1fr;
  }
}
.whitening-flow__item:not(:last-child) {
  margin-bottom: 1rem;
}
.whitening-flow__side {
  background-color: #C26D33;
  color: #ffffff;
  font-family: "RocknRoll One", sans-serif;
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 400;
  text-align: center;
  place-content: center;
  padding: 1.6rem 2rem;
}
@media screen and (min-width: 1100px), print {
  .whitening-flow__side {
    font-size: 3.2rem;
    padding: 2rem;
  }
}
.whitening-flow__content {
  background-color: #F7EBCE;
  padding: 2rem;
}
@media screen and (min-width: 1100px), print {
  .whitening-flow__content {
    padding: 3rem 5rem;
  }
}
.whitening-flow__heading {
  display: block;
  color: #C26D33;
  font-family: "RocknRoll One", sans-serif;
  font-size: 2rem;
  line-height: 1.35;
  margin-bottom: 1.2rem;
  font-weight: 400;
}
@media screen and (min-width: 1100px), print {
  .whitening-flow__heading {
    font-size: 3.2rem;
    margin-bottom: 2rem;
  }
}

/* 矯正歯科 */
.orthodontics-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (min-width: 1100px), print {
  .orthodontics-step {
    gap: 3rem;
  }
}
.orthodontics-step__item {
  width: 100%;
  max-width: 28.5rem;
  padding: 3rem 3rem 6rem 3rem;
  -webkit-clip-path: var(--polygon-orthodontics);
  clip-path: var(--polygon-orthodontics);
}
@media screen and (min-width: 480px), print {
  .orthodontics-step__item {
    width: 28.5rem;
    max-width: none;
  }
}
@media screen and (min-width: 1100px), print {
  .orthodontics-step__item {
    padding: 4.5rem 3.2rem 7.5rem 3.2rem;
  }
}
.orthodontics-step__item--01 {
  background-color: #F7EBCE;
}
.orthodontics-step__item--02 {
  background-color: #D2A784;
}
.orthodontics-step__item--03 {
  background-color: #582A0B;
}
.orthodontics-step__label {
  display: inline-block;
  border-radius: 10em;
  line-height: 1;
  font-size: 1.4rem;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
  color: currentColor;
  border: 1px solid currentColor;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .orthodontics-step__label {
    font-size: 1.8rem;
    padding: 1.2rem 2rem;
    margin-bottom: 2rem;
  }
}
.orthodontics-step__head {
  text-align: center;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 0.3rem solid #ffffff;
}
@media screen and (min-width: 1100px), print {
  .orthodontics-step__head {
    border-bottom: 0.5rem solid #ffffff;
    padding-bottom: 2.5rem;
    margin-bottom: 2rem;
  }
}
.orthodontics-step__heading {
  display: block;
  line-height: 1.3;
  font-size: 2rem;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
  min-height: 5.2rem;
  color: currentColor;
  place-content: center;
}
@media screen and (min-width: 1100px), print {
  .orthodontics-step__heading {
    font-size: 2.6rem;
    min-height: 7rem;
  }
}
.orthodontics-step__heading--large {
  font-size: 2.8rem;
}
@media screen and (min-width: 1100px), print {
  .orthodontics-step__heading--large {
    font-size: 3.6rem;
  }
}
.orthodontics-step__description {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 1100px), print {
  .orthodontics-step__description {
    font-size: 1.4rem;
  }
}

/* 小児歯科・子どもの歯並び・小児矯正 */
.child-photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -2rem -2rem 0;
  padding: 0;
}
@media screen and (min-width: 768px), print {
  .child-photo {
    margin: 0 -6rem -6rem 0;
    padding: 0 3rem;
  }
}
@media screen and (min-width: 1100px), print {
  .child-photo {
    padding: 0 6rem;
  }
}
.child-photo__image {
  width: 50%;
  text-align: center;
  padding: 0 2rem 2rem 0;
}
@media screen and (min-width: 768px), print {
  .child-photo__image {
    padding: 0 6rem 6rem 0;
    width: 33.33333%;
  }
}
.child-step__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1100px), print {
  .child-step__heading {
    gap: 1.5rem;
    margin-bottom: 3.5rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.child-step__heading-label {
  display: block;
  width: 10rem;
  height: 3rem;
  border-radius: 10em;
  place-content: center;
  text-align: center;
  border: 1px solid #302F2E;
  line-height: 1.2;
  font-size: 1.4rem;
  font-weight: 400;
  font-family: "RocknRoll One", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .child-step__heading-label {
    font-size: 1.8rem;
    width: 14.8rem;
    height: 4.2rem;
  }
}
.child-step__heading-title {
  display: block;
  line-height: 1.2;
  font-size: 2rem;
  font-weight: 400;
  font-family: "RocknRoll One", sans-serif;
}
@media screen and (min-width: 1100px), print {
  .child-step__heading-title {
    font-size: 2.4rem;
  }
}
.child-step__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (min-width: 1100px), print {
  .child-step__wrap {
    gap: 3rem;
  }
}
.child-step__item {
  width: 100%;
  max-width: 40rem;
  padding: 3rem 3rem 5rem 3rem;
  background-color: #6CBB5A;
  -webkit-clip-path: var(--polygon-child);
  clip-path: var(--polygon-child);
}
@media screen and (min-width: 1100px), print {
  .child-step__item {
    padding: 4rem 3.2rem 5rem 3.2rem;
  }
}
.child-step__label {
  display: inline-block;
  border-radius: 10em;
  line-height: 1;
  font-size: 1.4rem;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
  color: #ffffff;
  border: 1px solid #ffffff;
  padding: 1rem 2rem;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 1100px), print {
  .child-step__label {
    font-size: 1.8rem;
    padding: 1.2rem 4rem;
    margin-bottom: 2rem;
  }
}
.child-step__head {
  text-align: center;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 0.3rem solid #ffffff;
}
@media screen and (min-width: 1100px), print {
  .child-step__head {
    border-bottom: 0.5rem solid #ffffff;
    padding-bottom: 2.5rem;
    margin-bottom: 2rem;
  }
}
.child-step__subheading {
  display: block;
  line-height: 1.3;
  font-size: 2rem;
  font-family: "RocknRoll One", sans-serif;
  font-weight: 400;
  color: #ffffff;
  place-content: center;
}
@media screen and (min-width: 1100px), print {
  .child-step__subheading {
    font-size: 2.4rem;
  }
}
.child-step__description {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  color: #ffffff;
}
@media screen and (min-width: 1100px), print {
  .child-step__description {
    font-size: 1.4rem;
  }
}

/* --------------------------------

  投稿系ページ

-------------------------------- */
.news-list-secondary {
  margin-bottom: 2.5em;
}
@media (hover: hover) {
  .news-list-secondary .news-link:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #6CBB5A;
  }
  .news-list-secondary .news-link:where(:any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #6CBB5A;
  }
}
.news-detail {
  padding: clamp(2rem, 40 * var(--vw768), 4rem);
  border-radius: clamp(1rem, 20 * var(--vw768), 2rem);
  background-color: #ffffff;
}
@media screen and (min-width: 768px), print {
  .news-detail {
    padding: min(50 * var(--vw1100), 5rem);
    border-radius: min(30 * var(--vw1100), 3rem);
  }
}
.news-detail .news-date {
  color: #000;
  font-weight: 400;
  margin: 0 0 1em 0;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px), print {
  .news-detail .news-date {
    font-size: 1.8rem;
  }
}
.news-body {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  word-break: break-all;
  word-wrap: break-word;
}
@media screen and (min-width: 768px), print {
  .news-body {
    font-size: 1.8rem;
    line-height: 1.8;
  }
}
.news-back {
  text-align: center;
  margin-top: 3rem;
}
@media screen and (min-width: 768px), print {
  .news-back {
    margin-top: 5rem;
  }
}
.news-topics:not(:last-child) {
  margin-bottom: clamp(15px, 20 * var(--vw768), 20px);
}
@media screen and (min-width: 768px), print {
  .news-topics:not(:last-child) {
    margin-bottom: min(20 * var(--vw1100), 20px);
  }
}
.news-link {
  display: grid;
  gap: clamp(5px, 10 * var(--vw768), 10px);
  word-break: break-all;
  word-wrap: break-word;
  background-color: #ffffff;
  color: #302F2E;
  font-size: clamp(1.4rem, 18 * var(--vw768), 1.8rem);
  line-height: 1.35;
  letter-spacing: 0.02em;
  padding: clamp(16px, 31 * var(--vw768), 31px) clamp(20px, 42 * var(--vw768), 42px);
  border-radius: clamp(10px, 30 * var(--vw768), 30px);
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .news-link {
    gap: min(20 * var(--vw1100), 20px);
    grid-template-columns: min(120 * var(--vw1100), 120px) 1fr;
    padding: min(31 * var(--vw1100), 31px) min(42 * var(--vw1100), 42px);
    border-radius: min(30 * var(--vw1100), 30px);
    font-size: clamp(1.4rem, 18 * var(--vw1100), 1.8rem);
  }
}
@media (hover: hover) {
  .news-link:where(:-moz-any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #A187B6;
  }
  .news-link:where(:any-link, :enabled, summary):hover {
    color: #fff;
    background-color: #A187B6;
  }
}
.news-date {
  display: block;
  font-weight: 400;
  white-space: nowrap;
}
.news-title {
  font-weight: 700;
}

.news-thumb-list {
  display: grid;
  gap: clamp(20px, 30 * var(--vw768), 30px) clamp(15px, 30 * var(--vw768), 30px);
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px), print {
  .news-thumb-list {
    gap: min(30 * var(--vw1440), 30px);
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 1100px), print {
  .news-thumb-list {
    grid-template-columns: repeat(5, 1fr);
  }
}
.news-thumb-list-secondary {
  margin-bottom: 2.5em;
}
.news-thumb-title {
  font-size: clamp(12px, 16 * var(--vw768), 16px);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-align: center;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .news-thumb-title {
    font-size: clamp(12px, 16 * var(--vw1440), 16px);
  }
}
.news-thumb-category {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  font-size: clamp(12px, 16 * var(--vw768), 16px);
  font-weight: 800;
  line-height: 1;
  width: clamp(130px, 170 * var(--vw768), 170px);
  height: clamp(24px, 30 * var(--vw768), 30px);
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  color: #ffffff;
  background-color: #002E99;
  text-align: center;
  place-content: center;
  margin: 0 auto;
  padding: 0 0 0.08em 0;
  word-break: break-all;
  word-wrap: break-word;
}
@media screen and (min-width: 768px), print {
  .news-thumb-category {
    width: clamp(130px, 180 * var(--vw1440), 180px);
    height: clamp(24px, 30 * var(--vw1440), 30px);
    font-size: clamp(12px, 16 * var(--vw1440), 16px);
  }
}
.news-thumb-link {
  position: relative;
  display: block;
  color: #C26D33;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .news-thumb-link:where(:-moz-any-link, :enabled, summary):hover {
    color: #229344;
  }
  .news-thumb-link:where(:any-link, :enabled, summary):hover {
    color: #229344;
  }
  .news-thumb-link:where(:-moz-any-link, :enabled, summary):hover .news-thumb-title {
    text-decoration: none;
  }
  .news-thumb-link:where(:any-link, :enabled, summary):hover .news-thumb-title {
    text-decoration: none;
  }
}
.news-thumb-image {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  margin-bottom: clamp(10px, 20 * var(--vw768), 20px);
}
@media screen and (min-width: 768px), print {
  .news-thumb-image {
    margin-bottom: clamp(10px, 20 * var(--vw1440), 20px);
  }
}
.news-thumb-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0 clamp(1rem, 20 * var(--vw768), 2rem) 0 clamp(1rem, 20 * var(--vw768), 2rem);
  -webkit-transition: scale 0.3s ease;
  transition: scale 0.3s ease;
}
@media screen and (min-width: 768px), print {
  .news-thumb-image img {
    border-radius: 0 clamp(1rem, 20 * var(--vw1100), 2rem) 0 clamp(1rem, 20 * var(--vw1100), 2rem);
  }
}

/* topics_paging */
#topics_paging, #topics_paging li {
  display: -ms-flexbox;
}

#topics_paging_all {
  margin-bottom: 0.75rem;
  text-align: center;
}

#topics_paging {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 -1em;
}

#topics_paging li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0.25rem;
  padding: 0.75rem 1rem 0.77rem;
  line-height: 1.2;
  font-size: 1.4rem;
  color: #333;
  text-align: center;
  border-radius: 0;
  border: 1px solid #eee;
  background-color: #fff;
  list-style-type: none;
  list-style-image: none;
}

#topics_paging a {
  display: block;
  margin: -0.75rem -1rem;
  padding: 0.75rem 1rem;
  color: #333;
}

#topics_paging a:hover {
  color: #6CBB5A;
  text-decoration: none;
}