/**
 * @file
 * Generic base elements.
 */

 *,
 *::before,
 *::after {
   box-sizing: border-box;
 }
 
 html {
   font-family: var(--font-sans);
   font-size: 18px;
   font-weight: normal;
   font-style: normal;
   line-height: var(--line-height-base);
 }
 
 body {
   margin: 0;
   color: var(--color-text);
   background-color: white;
   /* background-color: var(--color--gray-100); 
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='50' height='84' viewBox='0 0 50 84'%3e  %3cpath opacity='0.05' fill='%230e6ba6' d='M25,61.7C25,68.5,19.4,74,12.5,74S0,68.5,0,61.7c0-5.7,3.9-9.6,7.4-12.9c2.3-2.2,4.5-4.4,5.1-6.8c0.7,2.4,2.8,4.6,5.1,6.8C21.1,52.2,25,56,25,61.7z M42.6,6.8c-2.3-2.2-4.5-4.4-5.1-6.8c-0.7,2.4-2.9,4.6-5.1,6.8C28.9,10.2,25,14,25,19.7C25,26.5,30.6,32,37.5,32S50,26.5,50,19.7C50,14,46.1,10.2,42.6,6.8z'/%3e%3c/svg%3e");
   background-position: top left; /* LTR */
 }
 
 body.is-fixed {
   position: fixed;
   overflow: hidden;
   width: 100%;
 }
 
 [dir="rtl"] body {
   background-position: top right;
 }
 
 a {
   color: var(--color-link-text);
 }
 
 a:hover {
   color: var(--color-secondary);
 }
 
 a:focus {
   outline: solid 2px currentColor;
   outline-offset: 2px;
 }
 
 button {
   font-family: inherit;
 }
 
 img,
 video {
   display: block;
   max-width: 100%;
   height: auto;
 }
 
 audio {
   display: block;
   max-width: 100%;
 }
 
 h1 {
   font-size: 40px;
   line-height: 1.2em;
 }
 
 @media (min-width: 768px) {
   h1 {
     font-size: 54px;
   }
 }
 
 h2 {
   font-size: 32px;
   line-height: 1.2em;
 }
 
 @media (min-width: 768px) {
   h2 {
     font-size: 40px;
   }
 }
 
 h3 {
   font-size: 1.25rem;
   line-height: var(--sp1-5);
 }
 
 @media (min-width: 768px) {
   h3 {
     font-size: 1.5rem;
     line-height: var(--sp2);
   }
 }
 
 h4 {
   font-size: 1.125rem;
   line-height: var(--sp1-5);
 }
 
 h5 {
   font-size: 1rem;
   line-height: var(--sp1-5);
 }
 
 h6 {
   font-size: 0.875rem;
   line-height: var(--sp);
 }
 
 h1,
 h2,
 h3,
 h4,
 h5,
 h6 {
   margin-block: var(--sp);
   font-family: var(--font-sans);
   font-weight: 500;
 }
  
 p {
   margin-block-start: 0;
   margin-block-end: 40px;
 }
 
 ul {
   margin-block-start: 0.25em;
   margin-block-end: 0.25em;
   margin-inline-start: 1.5em;
   margin-inline-end: 0;
   padding-inline-start: 0;
   list-style-type: disc;
   list-style-image: none;
 }
 
 img {
   max-width: 100%;
 }
 
 @media (min-width: 984px) {
   .alignwide {
     margin-left: -2.375em;
     margin-right: -2.375em;
   }
 }