/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

body {
  min-width: 320px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #222;
  margin: 0;
}
@media screen and (max-width: 750px) {
  body {
    font-size: 14px;
  }
}

strong {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
  font-weight: bold;
}

img {
  vertical-align: bottom;
}

a {
  color: #13ae67;
  text-decoration: none;
  transition: 0.5s;
}
@media (any-hover: hover) and (any-pointer: fine), (any-hover: hover) and (any-pointer: coarse), (pointer: coarse) and (device-width >= 768px) {
  a:hover {
    opacity: 0.8;
  }
}

hr {
  border-top: 1px solid #333;
  margin: 20px 0;
  color: transparent;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

textarea {
  resize: vertical;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  text-wrap: wrap;
  margin: 0;
}

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

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}

.font-bold {
  font-weight: 700 !important;
}

.font-normal {
  font-weight: 400 !important;
}

.font-light {
  font-weight: 300 !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify !important;
}

.margin-0 {
  margin: 0 !important;
}

.margin-8 {
  margin: 8px !important;
}

.margin-16 {
  margin: 16px !important;
}

.margin-24 {
  margin: 24px !important;
}

.margin-32 {
  margin: 32px !important;
}

.margin-40 {
  margin: 40px !important;
}

.margin-auto {
  margin: auto !important;
}

.margin-y-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.margin-y-8 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.margin-y-16 {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.margin-y-24 {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.margin-y-32 {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}

.margin-y-40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.margin-y-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.margin-x-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.margin-x-8 {
  margin-left: 8px !important;
  margin-right: 8px !important;
}

.margin-x-16 {
  margin-left: 16px !important;
  margin-right: 16px !important;
}

.margin-x-24 {
  margin-left: 24px !important;
  margin-right: 24px !important;
}

.margin-x-32 {
  margin-left: 32px !important;
  margin-right: 32px !important;
}

.margin-x-40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.margin-x-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.margin-top-0 {
  margin-top: 0 !important;
}

.margin-top-8 {
  margin-top: 8px !important;
}

.margin-top-16 {
  margin-top: 16px !important;
}

.margin-top-24 {
  margin-top: 24px !important;
}

.margin-top-32 {
  margin-top: 32px !important;
}

.margin-top-40 {
  margin-top: 40px !important;
}

.margin-top-auto {
  margin-top: auto !important;
}

.margin-bottom-0 {
  margin-bottom: 0 !important;
}

.margin-bottom-8 {
  margin-bottom: 8px !important;
}

.margin-bottom-16 {
  margin-bottom: 16px !important;
}

.margin-bottom-24 {
  margin-bottom: 24px !important;
}

.margin-bottom-32 {
  margin-bottom: 32px !important;
}

.margin-bottom-40 {
  margin-bottom: 40px !important;
}

.margin-bottom-auto {
  margin-bottom: auto !important;
}

.margin-right-0 {
  margin-right: 0 !important;
}

.margin-right-8 {
  margin-right: 8px !important;
}

.margin-right-16 {
  margin-right: 16px !important;
}

.margin-right-24 {
  margin-right: 24px !important;
}

.margin-right-32 {
  margin-right: 32px !important;
}

.margin-right-40 {
  margin-right: 40px !important;
}

.margin-right-auto {
  margin-right: auto !important;
}

.margin-left-0 {
  margin-left: 0 !important;
}

.margin-left-8 {
  margin-left: 8px !important;
}

.margin-left-16 {
  margin-left: 16px !important;
}

.margin-left-24 {
  margin-left: 24px !important;
}

.margin-left-32 {
  margin-left: 32px !important;
}

.margin-left-40 {
  margin-left: 40px !important;
}

.margin-left-auto {
  margin-left: auto !important;
}

.padding-0 {
  padding: 0 !important;
}

.padding-8 {
  padding: 8px !important;
}

.padding-16 {
  padding: 16px !important;
}

.padding-24 {
  padding: 24px !important;
}

.padding-32 {
  padding: 32px !important;
}

.padding-40 {
  padding: 40px !important;
}

.padding-auto {
  padding: auto !important;
}

.padding-y-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.padding-y-8 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.padding-y-16 {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.padding-y-24 {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.padding-y-32 {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.padding-y-40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.padding-y-auto {
  padding-top: auto !important;
  padding-bottom: auto !important;
}

.padding-x-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.padding-x-8 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.padding-x-16 {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

.padding-x-24 {
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.padding-x-32 {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.padding-x-40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.padding-x-auto {
  padding-left: auto !important;
  padding-right: auto !important;
}

.padding-top-0 {
  padding-top: 0 !important;
}

.padding-top-8 {
  padding-top: 8px !important;
}

.padding-top-16 {
  padding-top: 16px !important;
}

.padding-top-24 {
  padding-top: 24px !important;
}

.padding-top-32 {
  padding-top: 32px !important;
}

.padding-top-40 {
  padding-top: 40px !important;
}

.padding-top-auto {
  padding-top: auto !important;
}

.padding-bottom-0 {
  padding-bottom: 0 !important;
}

.padding-bottom-8 {
  padding-bottom: 8px !important;
}

.padding-bottom-16 {
  padding-bottom: 16px !important;
}

.padding-bottom-24 {
  padding-bottom: 24px !important;
}

.padding-bottom-32 {
  padding-bottom: 32px !important;
}

.padding-bottom-40 {
  padding-bottom: 40px !important;
}

.padding-bottom-auto {
  padding-bottom: auto !important;
}

.padding-right-0 {
  padding-right: 0 !important;
}

.padding-right-8 {
  padding-right: 8px !important;
}

.padding-right-16 {
  padding-right: 16px !important;
}

.padding-right-24 {
  padding-right: 24px !important;
}

.padding-right-32 {
  padding-right: 32px !important;
}

.padding-right-40 {
  padding-right: 40px !important;
}

.padding-right-auto {
  padding-right: auto !important;
}

.padding-left-0 {
  padding-left: 0 !important;
}

.padding-left-8 {
  padding-left: 8px !important;
}

.padding-left-16 {
  padding-left: 16px !important;
}

.padding-left-24 {
  padding-left: 24px !important;
}

.padding-left-32 {
  padding-left: 32px !important;
}

.padding-left-40 {
  padding-left: 40px !important;
}

.padding-left-auto {
  padding-left: auto !important;
}

@media screen and (max-width: 750px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
  .text-sm-right {
    text-align: justify !important;
  }
}
@media screen and (max-width: 1280px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
  .text-xl-right {
    text-align: justify !important;
  }
}
@media screen and (max-width: 750px) {
  .margin-sm-0 {
    margin: 0 !important;
  }
  .margin-sm-y-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .margin-sm-x-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .margin-sm-top-0 {
    margin-left: 0 !important;
  }
  .margin-sm-bottom-0 {
    margin-bottom: 0 !important;
  }
  .margin-sm-right-0 {
    margin-right: 0 !important;
  }
  .margin-sm-left-0 {
    margin-left: 0 !important;
  }
  .margin-sm-8 {
    margin: 8px !important;
  }
  .margin-sm-y-8 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .margin-sm-x-8 {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
  .margin-sm-top-8 {
    margin-top: 8px !important;
  }
  .margin-sm-bottom-8 {
    margin-bottom: 8px !important;
  }
  .margin-sm-right-8 {
    margin-left: 8px !important;
  }
  .margin-sm-left-8 {
    margin-left: 8px !important;
  }
  .margin-sm-16 {
    margin: 16px !important;
  }
  .margin-sm-y-16 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .margin-sm-x-16 {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .margin-sm-top-16 {
    margin-top: 16px !important;
  }
  .margin-sm-bottom-16 {
    margin-bottom: 16px !important;
  }
  .margin-sm-right-16 {
    margin-right: 16px !important;
  }
  .margin-sm-left-16 {
    margin-left: 16px !important;
  }
  .margin-sm-24 {
    margin: 24px !important;
  }
  .margin-sm-y-24 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .margin-sm-x-24 {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }
  .margin-sm-top-24 {
    margin-top: 24px !important;
  }
  .margin-sm-bottom-24 {
    margin-bottom: 24px !important;
  }
  .margin-sm-right-24 {
    margin-right: 24px !important;
  }
  .margin-sm-left-24 {
    margin-left: 24px !important;
  }
  .margin-sm-32 {
    margin: 32px !important;
  }
  .margin-sm-y-32 {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
  }
  .margin-sm-x-32 {
    margin-left: 32px !important;
    margin-right: 32px !important;
  }
  .margin-sm-top-32 {
    margin-top: 32px !important;
  }
  .margin-sm-bottom-32 {
    margin-bottom: 32px !important;
  }
  .margin-sm-right-32 {
    margin-right: 32px !important;
  }
  .margin-sm-left-32 {
    margin-left: 32px !important;
  }
  .margin-sm-40 {
    margin: 40px !important;
  }
  .margin-sm-y-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .margin-sm-x-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .margin-sm-top-40 {
    margin-top: 40px !important;
  }
  .margin-sm-bottom-40 {
    margin-bottom: 40px !important;
  }
  .margin-sm-right-40 {
    margin-right: 40px !important;
  }
  .margin-sm-left-40 {
    margin-left: 40px !important;
  }
  .margin-sm-auto {
    margin: auto !important;
  }
  .margin-sm-y-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .margin-sm-x-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .margin-sm-top-auto {
    margin-top: auto !important;
  }
  .margin-sm-bottom-auto {
    margin-bottom: auto !important;
  }
  .margin-sm-right-auto {
    margin-right: auto !important;
  }
  .margin-sm-left-auto {
    margin-left: auto !important;
  }
}
@media screen and (max-width: 1280px) {
  .margin-xl-0 {
    margin: 0 !important;
  }
  .margin-xl-y-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .margin-xl-x-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .margin-xl-top-0 {
    margin-left: 0 !important;
  }
  .margin-xl-bottom-0 {
    margin-bottom: 0 !important;
  }
  .margin-xl-right-0 {
    margin-right: 0 !important;
  }
  .margin-xl-left-0 {
    margin-left: 0 !important;
  }
  .margin-xl-8 {
    margin: 8px !important;
  }
  .margin-xl-y-8 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .margin-xl-x-8 {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
  .margin-xl-top-8 {
    margin-top: 8px !important;
  }
  .margin-xl-bottom-8 {
    margin-bottom: 8px !important;
  }
  .margin-xl-right-8 {
    margin-left: 8px !important;
  }
  .margin-xl-left-8 {
    margin-left: 8px !important;
  }
  .margin-xl-16 {
    margin: 16px !important;
  }
  .margin-xl-y-16 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .margin-xl-x-16 {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
  .margin-xl-top-16 {
    margin-top: 16px !important;
  }
  .margin-xl-bottom-16 {
    margin-bottom: 16px !important;
  }
  .margin-xl-right-16 {
    margin-right: 16px !important;
  }
  .margin-xl-left-16 {
    margin-left: 16px !important;
  }
  .margin-xl-24 {
    margin: 24px !important;
  }
  .margin-xl-y-24 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .margin-xl-x-24 {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }
  .margin-xl-top-24 {
    margin-top: 24px !important;
  }
  .margin-xl-bottom-24 {
    margin-bottom: 24px !important;
  }
  .margin-xl-right-24 {
    margin-right: 24px !important;
  }
  .margin-xl-left-24 {
    margin-left: 24px !important;
  }
  .margin-xl-32 {
    margin: 32px !important;
  }
  .margin-xl-y-32 {
    margin-top: 32px !important;
    margin-bottom: 32px !important;
  }
  .margin-xl-x-32 {
    margin-left: 32px !important;
    margin-right: 32px !important;
  }
  .margin-xl-top-32 {
    margin-top: 32px !important;
  }
  .margin-xl-bottom-32 {
    margin-bottom: 32px !important;
  }
  .margin-xl-right-32 {
    margin-right: 32px !important;
  }
  .margin-xl-left-32 {
    margin-left: 32px !important;
  }
  .margin-xl-40 {
    margin: 40px !important;
  }
  .margin-xl-y-40 {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
  .margin-xl-x-40 {
    margin-left: 40px !important;
    margin-right: 40px !important;
  }
  .margin-xl-top-40 {
    margin-top: 40px !important;
  }
  .margin-xl-bottom-40 {
    margin-bottom: 40px !important;
  }
  .margin-xl-right-40 {
    margin-right: 40px !important;
  }
  .margin-xl-left-40 {
    margin-left: 40px !important;
  }
  .margin-xl-auto {
    margin: auto !important;
  }
  .margin-xl-y-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .margin-xl-x-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .margin-xl-top-auto {
    margin-top: auto !important;
  }
  .margin-xl-bottom-auto {
    margin-bottom: auto !important;
  }
  .margin-xl-right-auto {
    margin-right: auto !important;
  }
  .margin-xl-left-auto {
    margin-left: auto !important;
  }
}
@media screen and (max-width: 750px) {
  .padding-sm-0 {
    padding: 0 !important;
  }
  .padding-sm-y-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .padding-sm-x-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .padding-sm-top-0 {
    padding-left: 0 !important;
  }
  .padding-sm-bottom-0 {
    padding-bottom: 0 !important;
  }
  .padding-sm-right-0 {
    padding-right: 0 !important;
  }
  .padding-sm-left-0 {
    padding-left: 0 !important;
  }
  .padding-sm-8 {
    padding: 8px !important;
  }
  .padding-sm-y-8 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .padding-sm-x-8 {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .padding-sm-top-8 {
    padding-top: 8px !important;
  }
  .padding-sm-bottom-8 {
    padding-bottom: 8px !important;
  }
  .padding-sm-right-8 {
    padding-left: 8px !important;
  }
  .padding-sm-left-8 {
    padding-left: 8px !important;
  }
  .padding-sm-16 {
    padding: 16px !important;
  }
  .padding-sm-y-16 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .padding-sm-x-16 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .padding-sm-top-16 {
    padding-top: 16px !important;
  }
  .padding-sm-bottom-16 {
    padding-bottom: 16px !important;
  }
  .padding-sm-right-16 {
    padding-right: 16px !important;
  }
  .padding-sm-left-16 {
    padding-left: 16px !important;
  }
  .padding-sm-24 {
    padding: 24px !important;
  }
  .padding-sm-y-24 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .padding-sm-x-24 {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .padding-sm-top-24 {
    padding-top: 24px !important;
  }
  .padding-sm-bottom-24 {
    padding-bottom: 24px !important;
  }
  .padding-sm-right-24 {
    padding-right: 24px !important;
  }
  .padding-sm-left-24 {
    padding-left: 24px !important;
  }
  .padding-sm-32 {
    padding: 32px !important;
  }
  .padding-sm-y-32 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .padding-sm-x-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .padding-sm-top-32 {
    padding-top: 32px !important;
  }
  .padding-sm-bottom-32 {
    padding-bottom: 32px !important;
  }
  .padding-sm-right-32 {
    padding-right: 32px !important;
  }
  .padding-sm-left-32 {
    padding-left: 32px !important;
  }
  .padding-sm-40 {
    padding: 40px !important;
  }
  .padding-sm-y-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .padding-sm-x-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .padding-sm-top-40 {
    padding-top: 40px !important;
  }
  .padding-sm-bottom-40 {
    padding-bottom: 40px !important;
  }
  .padding-sm-right-40 {
    padding-right: 40px !important;
  }
  .padding-sm-left-40 {
    padding-left: 40px !important;
  }
  .padding-sm-auto {
    padding: auto !important;
  }
  .padding-sm-y-auto {
    padding-top: auto !important;
    padding-bottom: auto !important;
  }
  .padding-sm-x-auto {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .padding-sm-top-auto {
    padding-top: auto !important;
  }
  .padding-sm-bottom-auto {
    padding-bottom: auto !important;
  }
  .padding-sm-right-auto {
    padding-right: auto !important;
  }
  .padding-sm-left-auto {
    padding-left: auto !important;
  }
}
@media screen and (max-width: 1280px) {
  .padding-xl-0 {
    padding: 0 !important;
  }
  .padding-xl-y-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .padding-xl-x-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .padding-xl-top-0 {
    padding-left: 0 !important;
  }
  .padding-xl-bottom-0 {
    padding-bottom: 0 !important;
  }
  .padding-xl-right-0 {
    padding-right: 0 !important;
  }
  .padding-xl-left-0 {
    padding-left: 0 !important;
  }
  .padding-xl-8 {
    padding: 8px !important;
  }
  .padding-xl-y-8 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .padding-xl-x-8 {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .padding-xl-top-8 {
    padding-top: 8px !important;
  }
  .padding-xl-bottom-8 {
    padding-bottom: 8px !important;
  }
  .padding-xl-right-8 {
    padding-left: 8px !important;
  }
  .padding-xl-left-8 {
    padding-left: 8px !important;
  }
  .padding-xl-16 {
    padding: 16px !important;
  }
  .padding-xl-y-16 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .padding-xl-x-16 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .padding-xl-top-16 {
    padding-top: 16px !important;
  }
  .padding-xl-bottom-16 {
    padding-bottom: 16px !important;
  }
  .padding-xl-right-16 {
    padding-right: 16px !important;
  }
  .padding-xl-left-16 {
    padding-left: 16px !important;
  }
  .padding-xl-24 {
    padding: 24px !important;
  }
  .padding-xl-y-24 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .padding-xl-x-24 {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .padding-xl-top-24 {
    padding-top: 24px !important;
  }
  .padding-xl-bottom-24 {
    padding-bottom: 24px !important;
  }
  .padding-xl-right-24 {
    padding-right: 24px !important;
  }
  .padding-xl-left-24 {
    padding-left: 24px !important;
  }
  .padding-xl-32 {
    padding: 32px !important;
  }
  .padding-xl-y-32 {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .padding-xl-x-32 {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
  .padding-xl-top-32 {
    padding-top: 32px !important;
  }
  .padding-xl-bottom-32 {
    padding-bottom: 32px !important;
  }
  .padding-xl-right-32 {
    padding-right: 32px !important;
  }
  .padding-xl-left-32 {
    padding-left: 32px !important;
  }
  .padding-xl-40 {
    padding: 40px !important;
  }
  .padding-xl-y-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .padding-xl-x-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .padding-xl-top-40 {
    padding-top: 40px !important;
  }
  .padding-xl-bottom-40 {
    padding-bottom: 40px !important;
  }
  .padding-xl-right-40 {
    padding-right: 40px !important;
  }
  .padding-xl-left-40 {
    padding-left: 40px !important;
  }
  .padding-xl-auto {
    padding: auto !important;
  }
  .padding-xl-y-auto {
    padding-top: auto !important;
    padding-bottom: auto !important;
  }
  .padding-xl-x-auto {
    padding-left: auto !important;
    padding-right: auto !important;
  }
  .padding-xl-top-auto {
    padding-top: auto !important;
  }
  .padding-xl-bottom-auto {
    padding-bottom: auto !important;
  }
  .padding-xl-right-auto {
    padding-right: auto !important;
  }
  .padding-xl-left-auto {
    padding-left: auto !important;
  }
}
/* --------------------------------------------------------------------
 COMMON
-------------------------------------------------------------------- */
section {
  padding: 80px 0;
}
@media screen and (max-width: 1280px) {
  section {
    padding: 64px 0;
  }
}
@media screen and (max-width: 750px) {
  section {
    padding: 40px 0;
  }
}

.inner {
  width: calc(100% - 32px);
  max-width: 1000px;
  margin: 0 auto;
}

.pc {
  display: block;
}
@media screen and (max-width: 750px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .sp {
    display: block;
  }
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 750px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

.common-ttl {
  font-weight: 400;
  text-align: center;
  margin: 0 0 32px;
}
@media screen and (max-width: 750px) {
  .common-ttl {
    margin: 0 0 16px;
  }
}
.common-ttl__shoulder {
  display: inline-block;
  background: #ffe100;
  border: solid 1px #222;
  border-radius: 100px;
  font-size: 14px;
  padding: 6px 16px;
}
@media screen and (max-width: 750px) {
  .common-ttl__shoulder {
    font-size: 12px;
  }
}
.common-ttl__sub {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.3;
  margin: 12px 0 8px;
}
@media screen and (max-width: 750px) {
  .common-ttl__sub {
    font-size: 20px;
  }
}
.common-ttl__main {
  display: block;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.3;
  color: #13ae67;
}
@media screen and (max-width: 750px) {
  .common-ttl__main {
    font-size: 22px;
  }
}

/* --------------------------------------------------------------------
 HEADER
-------------------------------------------------------------------- */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 32px;
}
@media screen and (max-width: 750px) {
  .header {
    gap: 8px;
    padding: 0 0 0 8px;
  }
}
.header__logo {
  width: 300px;
}
@media screen and (max-width: 750px) {
  .header__logo {
    width: 48%;
    max-width: 200px;
  }
}
.header__ttl {
  background: #13ae67;
  box-sizing: border-box;
  padding: 24px 40px;
}
@media screen and (max-width: 750px) {
  .header__ttl {
    padding: 12px 20px;
  }
}
.header__ttl p {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  color: #FFF;
}
@media screen and (max-width: 750px) {
  .header__ttl p {
    font-size: 15px;
  }
}
.header__ttl p span {
  display: block;
  font-size: 15px;
  letter-spacing: 0.04rem;
}
@media screen and (max-width: 750px) {
  .header__ttl p span {
    font-size: 11px;
  }
}

/* --------------------------------------------------------------------
 KV
-------------------------------------------------------------------- */
.kv {
  max-height: 1000px;
  background: url("../img/kv-bg.jpg") no-repeat center/cover;
}
.kv__inner {
  max-width: 1400px;
  background: url("../img/kv-img.png") no-repeat right bottom/1178px 675px;
  margin: 0 auto;
  padding: 24px 0 90px 72px;
}
@media screen and (max-width: 1280px) {
  .kv__inner {
    background-size: 80%;
    background-position: right -56px bottom;
    padding: 24px 0 90px 14%;
  }
}
@media screen and (max-width: 750px) {
  .kv__inner {
    background-position: right -45% bottom;
    padding: 16px 0 20% 3%;
  }
}
.kv__inner img {
  max-width: 702px;
}
@media screen and (max-width: 1280px) {
  .kv__inner img {
    width: 80%;
  }
}
@media screen and (max-width: 750px) {
  .kv__inner img {
    width: 98%;
  }
}

/* --------------------------------------------------------------------
 PICK UP
-------------------------------------------------------------------- */
.pickup {
  background: #8cd2f5;
  padding-top: 100px;
}
@media screen and (max-width: 1280px) {
  .pickup {
    padding-top: 80px;
  }
}
@media screen and (max-width: 750px) {
  .pickup {
    padding-top: 56px;
  }
}
.pickup__inner {
  background: #FFF;
  border: solid 1px #222;
  border-radius: 20px;
  padding: 40px;
}
@media screen and (max-width: 750px) {
  .pickup__inner {
    padding: 40px 16px 16px;
  }
}
.pickup__heading {
  text-align: center;
  margin: -52px 0 24px;
}
.pickup__heading span {
  background: #FFF;
  border: solid 1px #222;
  font-size: 18px;
  padding: 8px 24px;
}
@media screen and (max-width: 750px) {
  .pickup__heading span {
    font-size: 14px;
  }
}

.pickup-ttl .common-ttl__sub span {
  position: relative;
}
.pickup-ttl .common-ttl__sub span:before {
  position: absolute;
  top: -66px;
  left: -105px;
  content: "";
  background: url("../img/icon-pickup.svg") no-repeat 0 0/97px 102px;
  width: 97px;
  height: 102px;
}
@media screen and (max-width: 750px) {
  .pickup-ttl .common-ttl__sub span:before {
    top: -4px;
    left: -82px;
    background-size: 54px 56px;
    width: 54px;
    height: 56px;
  }
}

.pickup-item {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width: 750px) {
  .pickup-item {
    flex-flow: column;
    gap: 24px;
  }
}
.pickup-item__box {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .pickup-item__box {
    width: 100%;
  }
}
.pickup-item__box img {
  margin: 12px 0 0;
}
.pickup-item__txt {
  border-left: solid 6px #13ae67;
  padding: 0 0 0 16px;
}
.pickup-item__txt h3 {
  font-size: 23px;
  line-height: 1.4;
  padding: 0 0 8px;
}
@media screen and (max-width: 750px) {
  .pickup-item__txt h3 {
    font-size: 16px;
  }
}
.pickup-item__list {
  margin: 16px 0 0;
}
.pickup-item__list li {
  text-indent: -0.5em;
  padding-left: 0.5em;
  margin: 0 0 8px;
}
@media screen and (max-width: 750px) {
  .pickup-item__list li {
    text-indent: -1em;
    padding-left: 1em;
  }
}
.pickup-item__list li:before {
  content: "";
  width: 14px;
  height: 14px;
  display: inline-block;
  background: #13ae67;
  border-radius: 50%;
  margin: 0 5px 0 0;
}
@media screen and (max-width: 750px) {
  .pickup-item__list li:before {
    width: 10px;
    height: 10px;
  }
}

/* --------------------------------------------------------------------
 SYSTEM
-------------------------------------------------------------------- */
.system-qualification {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin: 0 0 64px;
}
@media screen and (max-width: 750px) {
  .system-qualification {
    flex-flow: column;
    gap: 8px;
    margin: 0 0 40px;
  }
}
.system-qualification__list {
  width: 50%;
  border: solid 1px #222;
}
@media screen and (max-width: 750px) {
  .system-qualification__list {
    width: 100%;
  }
}
.system-qualification__list h3 {
  background: #13ae67;
  font-size: 24px;
  font-weight: 400;
  color: #FFF;
  text-align: center;
  letter-spacing: 0.1em;
  padding: 8px 0;
}
@media screen and (max-width: 750px) {
  .system-qualification__list h3 {
    font-size: 18px;
  }
}
.system-qualification__list dl {
  margin: 0;
  padding: 24px;
}
.system-qualification__list dl dt {
  font-size: 18px;
  font-weight: 700;
  padding: 0 0 8px;
}
@media screen and (max-width: 750px) {
  .system-qualification__list dl dt {
    font-size: 16px;
  }
}
.system-qualification__list dl dd {
  text-indent: -2.5em;
  padding-left: 2em;
  margin: 0;
}
.system-qualification__list dl dd:nth-child(4) {
  color: #e50012;
}
.system-qualification__annotation {
  font-size: 13px;
  padding: 8px 0 0;
  text-indent: 0 !important;
  padding-left: 0 !important;
}
.system-qualification__recommend {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .system-qualification__recommend {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
}

.system-flow h3 {
  background: #13ae67;
  font-size: 26px;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.1em;
  color: #FFF;
  margin: 0 0 32px;
  padding: 12px 8px;
}
@media screen and (max-width: 750px) {
  .system-flow h3 {
    font-size: 18px;
    margin: 0 0 16px;
  }
}
.system-flow h3 span {
  display: block;
  color: #ffe100;
}
.system-flow h4 {
  font-size: 24px;
  color: #13ae67;
  letter-spacing: 0.03em;
  text-indent: -1em;
  padding-left: 1em;
  margin: 0 0 24px;
}
@media screen and (max-width: 750px) {
  .system-flow h4 {
    font-size: 18px;
    margin: 0 0 16px;
  }
}
.system-flow__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 24px;
}
@media screen and (max-width: 750px) {
  .system-flow__list {
    display: block;
    max-width: 250px;
    margin: 0 auto 16px;
  }
}
.system-flow__list li:nth-child(odd) {
  width: 31%;
}
@media screen and (max-width: 750px) {
  .system-flow__list li:nth-child(odd) {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
.system-flow__list li:nth-child(even) {
  width: 2%;
}
@media screen and (max-width: 750px) {
  .system-flow__list li:nth-child(even) {
    width: 100%;
    max-width: 16px;
    margin: 4px auto;
  }
}
@media screen and (max-width: 750px) {
  .system-flow__list li:nth-child(even) img {
    transform: rotate(90deg);
  }
}
.system-flow__list-2 {
  margin: 0;
}
@media screen and (max-width: 750px) {
  .system-flow__list-2 {
    max-width: 250px;
    margin: 0 auto;
  }
}
.system-flow__list-2 li:first-child {
  width: 65%;
}
@media screen and (max-width: 750px) {
  .system-flow__list-2 li:first-child {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
.system-flow__list-2 li:nth-child(2) {
  width: 2%;
}
@media screen and (max-width: 750px) {
  .system-flow__list-2 li:nth-child(2) {
    width: 100%;
    max-width: 16px;
    margin: 4px auto;
  }
}
@media screen and (max-width: 750px) {
  .system-flow__list-2 li:nth-child(2) img {
    transform: rotate(90deg);
  }
}
.system-flow__list-2 li:last-child {
  width: 31%;
}
@media screen and (max-width: 750px) {
  .system-flow__list-2 li:last-child {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
  }
}
.system-flow__annotation {
  font-size: 14px;
  line-height: 1.2;
}
@media screen and (max-width: 750px) {
  .system-flow__annotation {
    font-size: 13px;
  }
}
.system-flow__annotation li {
  text-indent: -1em;
  padding-left: 1em;
}
.system-flow__annotation li:not(:last-child) {
  margin: 0 0 4px;
}
.system-flow__annotation li:before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #13ae67;
  border-radius: 50%;
  margin: 0 5px 0 0;
}
.system-flow .arrow-red {
  width: 64px;
  margin: 24px auto 32px;
}
@media screen and (max-width: 750px) {
  .system-flow .arrow-red {
    width: 48px;
    margin: 16px auto;
  }
}
.system-flow__section {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 64px;
}
@media screen and (max-width: 750px) {
  .system-flow__section {
    display: block;
    margin: 0 0 40px;
  }
}
.system-flow__section li {
  width: calc(50% - 20px);
}
.system-flow__section li:nth-child(-n+2) {
  margin-bottom: 32px;
}
@media screen and (max-width: 750px) {
  .system-flow__section li {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 16px;
  }
  .system-flow__section li:nth-child(-n+2) {
    margin: 0 auto 16px;
  }
}

/* --------------------------------------------------------------------
 EMPLOYMENT
-------------------------------------------------------------------- */
.employment {
  background: #3e3a39;
}
.employment ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .employment ul {
    display: block;
  }
}
.employment ul li {
  width: 50%;
  box-sizing: border-box;
}
@media screen and (max-width: 750px) {
  .employment ul li {
    width: 100%;
  }
}
.employment ul li:first-child {
  border-right: solid 1px #FFF;
  padding: 0 4% 0 0;
}
@media screen and (max-width: 750px) {
  .employment ul li:first-child {
    border-right: none;
    border-bottom: solid 1px #FFF;
    padding: 0 0 16px;
  }
}
.employment ul li:last-child {
  padding: 0 0 0 4%;
}
@media screen and (max-width: 750px) {
  .employment ul li:last-child {
    padding: 16px 0 0;
  }
}
@media screen and (max-width: 750px) {
  .employment__ttl h2 {
    max-width: 500px;
  }
}
.employment__ttl p {
  line-height: 1.6;
  color: #FFF;
  padding: 24px 0 0;
}

.employer h3 {
  font-size: 20px;
  color: #FFF;
  margin: 0 0 12px;
}
.employer h3 span {
  font-size: 14px;
  font-weight: 400;
}
.employer p {
  color: #FFF;
}
.employer__list {
  font-size: 14px;
}
.employer__annotation {
  font-size: 12px;
  text-align: right;
  margin: 8px 0 0;
}
.employer .employer-major__ttl {
  border: solid 1px #13ae67;
  font-size: 12px;
  line-height: 1;
  color: #13ae67;
  padding: 2px 4px 4px;
}
.employer .employer-major__list {
  font-size: 17px;
  padding: 8px 0;
}
@media screen and (max-width: 750px) {
  .employer .employer-major__list {
    font-size: 16px;
  }
}

/* --------------------------------------------------------------------
 CTA
-------------------------------------------------------------------- */
.cta__btn {
  background: #eee;
}
.cta__btn ul {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width: 750px) {
  .cta__btn ul {
    flex-flow: column;
    gap: 24px;
  }
}
.cta__btn ul li {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .cta__btn ul li {
    width: 100%;
  }
}
.cta__btn ul li a {
  display: block;
  background: #FFF url("../img/icon-link.svg") no-repeat center right 16px/18px 13px;
  border: solid 1px #ccc;
  box-sizing: border-box;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  padding: 24px 0;
}
@media (any-hover: hover) and (any-pointer: fine), (any-hover: hover) and (any-pointer: coarse), (pointer: coarse) and (device-width >= 768px) {
  .cta__btn ul li a:hover {
    background: #13ae67 url("../img/icon-link-hover.svg") no-repeat center right 16px/18px 13px;
    border: solid 1px #13ae67;
    color: #FFF;
  }
}
.cta__banner {
  display: block;
  width: calc(100% - 32px);
  max-width: 700px;
  margin: 0 auto;
}
.cta__banner p {
  text-align: center;
  margin: 8px 0 0;
}

/* --------------------------------------------------------------------
 FOOTER
-------------------------------------------------------------------- */
.footer {
  background: #eee;
}
.footer__inner {
  padding: 64px 0;
}
@media screen and (max-width: 750px) {
  .footer__inner {
    padding: 40px 0;
  }
}
.footer .footer-link {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 32px;
}
@media screen and (max-width: 750px) {
  .footer .footer-link {
    display: block;
  }
}
.footer .footer-link__logo {
  width: 300px;
}
@media screen and (max-width: 750px) {
  .footer .footer-link__logo {
    width: 240px;
    margin: 0 auto 24px;
  }
}
.footer .footer-link__list ul {
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 750px) {
  .footer .footer-link__list ul {
    display: block;
  }
}
.footer .footer-link__list ul li {
  width: 240px;
}
@media screen and (max-width: 750px) {
  .footer .footer-link__list ul li {
    width: 100%;
    margin: 0 auto 16px;
  }
}
.footer .footer-link__list ul li a {
  display: block;
  background: url("../img/icon-link.svg") no-repeat center right 16px/14px 10px;
  width: 100%;
  border: solid 1px #222;
  font-weight: 700;
  text-align: center;
  padding: 16px 0;
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .footer .footer-link__list ul li a {
    background-position: center right 8px;
    font-size: 13px;
  }
}
@media (any-hover: hover) and (any-pointer: fine), (any-hover: hover) and (any-pointer: coarse), (pointer: coarse) and (device-width >= 768px) {
  .footer .footer-link__list ul li a:hover {
    background: #222 url("../img/icon-link-hover.svg") no-repeat center right 16px/14px 10px;
    color: #FFF;
  }
}
@media screen and (any-hover: hover) and (any-pointer: fine) and (max-width: 750px), screen and (any-hover: hover) and (any-pointer: coarse) and (max-width: 750px), screen and (pointer: coarse) and (device-width >= 768px) and (max-width: 750px) {
  .footer .footer-link__list ul li a:hover {
    background-position: center right 8px;
  }
}
.footer .footer-contact {
  display: flex;
  justify-content: space-between;
  align-items: last baseline;
}
@media screen and (max-width: 750px) {
  .footer .footer-contact {
    display: block;
  }
}
.footer .footer-contact__address {
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .footer .footer-contact__address {
    font-size: 13px;
    text-align: center;
    margin: 0 0 32px;
  }
}
.footer .footer-contact__copyright {
  font-size: 12px;
}
@media screen and (max-width: 750px) {
  .footer .footer-contact__copyright {
    text-align: center;
  }
}/*# sourceMappingURL=style.css.map */