:root {
  /* color */
  --c-black:         #19294F;
  --c-black-rgb:     25,41,79;
  --c-white:         #FFFFFF;
  --c-white-rgb:     255,255,255;
  --c-black-600:     #B0B0B0;
  --c-black-300:     #D9D9D9;
  --c-black-100:     #F3F3F3;
  --c-sma-blue:      #5A8DF9;
  --c-sma-blue-dark: #445280;
  --c-sma-blue-light:#B7CCFF;
  --c-submit:        #F4280D;
  --c-submit-dark:   #D21D05;
  --c-submit-green:      #11C7A6;
  --c-submit-green-dark: #18B699;
  --c-link:          #2DA5EE;
  --c-danger:        #D90004;
  /* font-size */
  --fs-3xl:          4.8rem;
  --fs-2xl:          3.2rem;
  --fs-xl:           2.4rem;
  --fs-lg:           2rem;
  --fs-md:           1.6rem;
  --fs-sm:           1.4rem;
  --fs-xs:           1.2rem;
  --fs-2xs:          1rem;

  --fs-3xl-sp:       3.2rem;
  --fs-2xl-sp:       2rem;
  --fs-xl-sp:        1.6rem;
  --fs-lg-sp:        1.5rem;
  --fs-md-sp:        1.4rem;
  --fs-sm-sp:        1.2rem;
  --fs-xs-sp:        1.1rem;
  --fs-2xs-sp:       1rem;
  /* font-weight */
  --fw-default:      300;
  --fw-bold:         600;
  /* font-family */
  --ff-sans-selif:   YakuHanJPs, "Roboto", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;;

  /* line-height */
  --line-height:     1.5em;
  --p-line-height:   1.8em;
  /* space */
  --spc:             .4rem;
  --spc-1:           calc(var(--spc) * 1);
  --spc-2:           calc(var(--spc) * 2);
  --spc-3:           calc(var(--spc) * 3);
  --spc-4:           calc(var(--spc) * 4);
  --spc-5:           calc(var(--spc) * 5);
  --spc-6:           calc(var(--spc) * 6);
  --spc-7:           calc(var(--spc) * 7);
  --spc-8:           calc(var(--spc) * 8);
  --spc-9:           calc(var(--spc) * 9);
  --spc-10:          calc(var(--spc) * 10);
  --spc-11:          calc(var(--spc) * 11);
  --spc-12:          calc(var(--spc) * 12);
  --spc-14:          calc(var(--spc) * 14);
  --spc-16:          calc(var(--spc) * 16);
  --spc-20:          calc(var(--spc) * 20);
  --spc-24:          calc(var(--spc) * 24);
  --spc-28:          calc(var(--spc) * 28);
  --spc-32:          calc(var(--spc) * 32);
  --spc-36:          calc(var(--spc) * 36);
  --spc-40:          calc(var(--spc) * 40);
  /* z-index */
  --z-0:             0;
  --z-10:            10;
  --z-20:            20;
  --z-30:            30;
  --z-40:            40;
  --z-50:            50;
}

* {
  box-sizing: border-box;
  word-wrap: break-word;
  line-height: var(--line-height);
  color: var(--c-wb-blue-dark);
  transition: .2s ease;
  &:before,
  &:after {
    transition: .2s ease;
  }
}

html,
body {
  overflow-x: hidden;
}

html {
  background-color: var(--c-white);
  font-size: 62.5%;
  font-family: var(--ff-sans-selif);
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  scroll-behavior: smooth;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
li,
a,
p,
blockquote {
  margin: 0;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
li,
p,
blockquote {
  color: var(--c-black);
}

img,
svg {
  display: block;
  width: 100%;
  height: auto;
}

input,
label,
select,
button,
textarea {
  padding: 0;
  border:0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
th,
td {
  a {
    color: var(--c-link);
  }
}

h1 {
  font-size: var(--fs-3xl);
  @media (max-width: 834px) {
    font-size: var(--fs-3xl-sp);
  }
}

h2 {
  font-size: var(--fs-2xl);
  @media (max-width: 834px) {
    font-size: var(--fs-2xl-sp);
  }
}

h3 {
  font-size: var(--fs-xl);
  @media (max-width: 834px) {
    font-size: var(--fs-xl-sp);
  }
}

h4 {
  font-size: var(--fs-lg);
  @media (max-width: 834px) {
    font-size: var(--fs-lg-sp);
  }
}

h5 {
  font-size: var(--fs-md);
  @media (max-width: 834px) {
    font-size: var(--fs-md-sp);
  }
}

h6 {
  font-size: var(--fs-sm);
  @media (max-width: 834px) {
    font-size: var(--fs-sm-sp);
  }
}

ul {
  padding: 0;
  list-style: none;
}

p,
li {
  font-size: var(--fs-sm);
  @media (max-width: 834px) {
    font-size: var(--fs-sm-sp);
  }
}

p {
  line-height: var(--p-line-height);
}

a {
  color: var(--c-link);
  text-decoration: none;
  &:hover {
    text-decoration: none;
    cursor: pointer;
    opacity: .8;
  }
}

button,
textarea,
select {
  display: block;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

textarea {
  resize: none;
}

.wpcf7-list-item.first.last {
  margin: .5em 0 0 0;
  label {
    display: flex;
    align-items: center;
    gap: var(--spc-2);
  }
}

.grecaptcha-badge {
  bottom: 80px!important;
}