@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:wght@400;700&display=swap');
:root {
  --color-primary: #e84709;
  --color-light-gray: #eee;
  --color-gray: #ccc;
  --color-border: #ccc;
  --color-body: #333;
  --color-link: #b62631;
  --border-radius: 4px;
  --border-radius-large: calc(var(--border-radius) * 2);
  --spacing: 10px;
  --spacing-small: calc(var(--spacing) / 2);
  --spacing-large: calc(var(--spacing) * 2);
  --spacing-x-large: calc(var(--spacing) * 3);
  --fs-24: 1.5rem;
  --fs-20: 1.25rem;
  --fs-18: 1.125rem;
  --fs-16: 1rem;
  --fs-14: 0.841345rem;
  --fs-12: 0.75rem;
  --fs-10: 0.625rem;
  --font-NotoSansJP: "Noto Sans JP", sans-serif;
  --letter-spacing: .05em;
  --transition: .2s;
  --opacity: .7;
}

*[class*="c-"] {
  box-sizing: border-box;
}

.c-heading {
  padding: var(--spacing) var(--spacing-large);
  background-color: var(--color-primary);
  color: #fff;
  font-size: var(--fs-14);
  font-family: var(--font-NotoSansJP);
  font-weight: bold;
  text-align: left;
  line-height: 1;
  letter-spacing: var(--letter-spacing);
}
@media all and (min-width: 768px) {
  .c-heading {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
  }
}

.c-heading--border-l {
  margin-bottom: var(--spacing-large);
  padding-left: var(--spacing);
  border-left: 4px solid var(--color-primary);
  color: var(--color-body);
  font-size: var(--fs-16);
  font-weight: bold;
  font-family: var(--font-NotoSansJP);
  text-align: left;
  line-height: 1.3;
}

.c-button {
  display: inline-block;
  padding: var(--spacing) var(--spacing-large);
  border: 0;
  border-radius: var(--border-radius);
  background-color: var(--color-primary);
  font-size: var(--fs-14);
  font-family: var(--font-NotoSansJP);
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none !important;
  transition: var(--transition);
}
.c-button--gray {
  display: inline-block;
  padding: var(--spacing) var(--spacing-large);
  border: 1px solid var(--color-gray);
  border-radius: var(--border-radius);
  background-color: var(--color-light-gray);
  color: var(--color-body);
  font-size: var(--fs-14);
  font-family: var(--font-NotoSansJP);
  font-weight: bold;
  line-height: 1.5;
  text-decoration: none !important;
  transition: var(--transition);
}
.c-button:not(:disabled) {
  cursor: pointer;
}
.c-button:not(:disabled):not(.c-button--gray) {
  color: #fff !important;
}
.c-button:hover {
  opacity: var(--opacity);
}
.c-button:disabled {
  background-color: var(--color-border);
  color: #999;
}
.c-button--sm {
  padding: var(--spacing-small) var(--spacing);
  font-size: var(--fs-12);
}
.c-button--full {
  display: block;
  width: 100%;
  text-align: center;
}

.c-team-header {
  display: flex;
  align-items: center;
  gap: var(--spacing-large);
  height: 140px;
  margin-bottom: var(--spacing-large);
  padding: var(--spacing-large);
  background: url(/files/user/img/sp/team/team-header_bg.png?v=) no-repeat var(--color-primary);
  background-size: cover;
}
@media all and (min-width: 768px) {
  .c-team-header {
    height: 220px;
    border-radius: var(--border-radius-large);
    background: url(/files/user/img/team/team-header_bg.png?v=) no-repeat var(--color-primary);
    background-size: cover;
  }
}
.c-team-header__logo {
  flex: 0 0 100px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
}
@media all and (min-width: 768px) {
  .c-team-header__logo {
    flex: 0 0 180px;
    height: 180px;
  }
}
.c-team-header__logo img {
  max-width: 100%;
  max-height: 100%;
}
.c-team-header__summary {
  flex: 1 1 auto;
  color: #fff;
}
.c-team-header__detail {
  flex: 0 0 45%;
  display: flex;
  flex-direction: column;
  height: calc(100% - (var(--spacing-large)*2));
  padding: var(--spacing-large);
  border-radius: var(--border-radius-large);
  background-color: #fff;
}
.c-team-header__detail p {
  flex: 1 1 auto;
}
.c-team-header__detail__button {
  align-self: flex-end;
}

.c-accordion dt {
  position: relative;
}
.c-accordion dt::after {
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 6px;
  height: 6px;
  border: 2px solid #fff;
  border-left: 0;
  border-bottom: 0;
  transform: translate(0,-50%) rotate(135deg);
  content: "";
}
.c-accordion dt.opened::after {
  transform: rotate(-45deg);
} 
.c-accordion dt.c-heading:not(.opened) {
  border-radius: var(--border-radius);
}
.c-accordion dd {
    padding: var(--spacing-large);
    border-radius: 0 0 var(--border-radius) var(--border-radius);
    background-color: var(--color-light-gray);
    font-size: var(--fs-14);
}

.u-text-right {
  text-align: right;
}
.u-text-center {
  text-align: center;
}
.u-text-left {
  text-align: left;
}
.u-fw-bold {
  font-weight: bold;
}
.u-fs-12 {
  font-size: var(--fs-12);
}
.u-fs-14 {
  font-size: var(--fs-14);
}
.u-fs-16 {
  font-size: var(--fs-16);
}
.u-fs-18 {
  font-size: var(--fs-18);
}
.u-fs-20 {
  font-size: var(--fs-20);
}
.u-fs-24 {
  font-size: var(--fs-24);
}

.u-color-link {
  color: var(--color-link);
}
.u-color-primary {
  color: var(--color-primary);
}
.u-bg-light-gray {
  background-color: var(--color-light-gray);
}
.u-border-radius {
  border-radius: var(--border-radius);
}
.u-border-radius-bottom {
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.u-ma-0 {
  margin: 0px !important; }

.u-mt-0 {
  margin-top: 0px !important; }

.u-mr-0 {
  margin-right: 0px !important; }

.u-mb-0 {
  margin-bottom: 0px !important; }

.u-ml-0 {
  margin-left: 0px !important; }

.u-pa-0 {
  padding: 0px !important; }

.u-pt-0 {
  padding-top: 0px !important; }

.u-pr-0 {
  padding-right: 0px !important; }

.u-pb-0 {
  padding-bottom: 0px !important; }

.u-pl-0 {
  padding-left: 0px !important; }

.u-ma-5 {
  margin: 5px !important; }

.u-mt-5 {
  margin-top: 5px !important; }

.u-mr-5 {
  margin-right: 5px !important; }

.u-mb-5 {
  margin-bottom: 5px !important; }

.u-ml-5 {
  margin-left: 5px !important; }

.u-pa-5 {
  padding: 5px !important; }

.u-pt-5 {
  padding-top: 5px !important; }

.u-pr-5 {
  padding-right: 5px !important; }

.u-pb-5 {
  padding-bottom: 5px !important; }

.u-pl-5 {
  padding-left: 5px !important; }

.u-ma-10 {
  margin: 10px !important; }

.u-mt-10 {
  margin-top: 10px !important; }

.u-mr-10 {
  margin-right: 10px !important; }

.u-mb-10 {
  margin-bottom: 10px !important; }

.u-ml-10 {
  margin-left: 10px !important; }

.u-pa-10 {
  padding: 10px !important; }

.u-pt-10 {
  padding-top: 10px !important; }

.u-pr-10 {
  padding-right: 10px !important; }

.u-pb-10 {
  padding-bottom: 10px !important; }

.u-pl-10 {
  padding-left: 10px !important; }

.u-ma-15 {
  margin: 15px !important; }

.u-mt-15 {
  margin-top: 15px !important; }

.u-mr-15 {
  margin-right: 15px !important; }

.u-mb-15 {
  margin-bottom: 15px !important; }

.u-ml-15 {
  margin-left: 15px !important; }

.u-pa-15 {
  padding: 15px !important; }

.u-pt-15 {
  padding-top: 15px !important; }

.u-pr-15 {
  padding-right: 15px !important; }

.u-pb-15 {
  padding-bottom: 15px !important; }

.u-pl-15 {
  padding-left: 15px !important; }

.u-ma-20 {
  margin: 20px !important; }

.u-mt-20 {
  margin-top: 20px !important; }

.u-mr-20 {
  margin-right: 20px !important; }

.u-mb-20 {
  margin-bottom: 20px !important; }

.u-ml-20 {
  margin-left: 20px !important; }

.u-pa-20 {
  padding: 20px !important; }

.u-pt-20 {
  padding-top: 20px !important; }

.u-pr-20 {
  padding-right: 20px !important; }

.u-pb-20 {
  padding-bottom: 20px !important; }

.u-pl-20 {
  padding-left: 20px !important; }

.u-ma-25 {
  margin: 25px !important; }

.u-mt-25 {
  margin-top: 25px !important; }

.u-mr-25 {
  margin-right: 25px !important; }

.u-mb-25 {
  margin-bottom: 25px !important; }

.u-ml-25 {
  margin-left: 25px !important; }

.u-pa-25 {
  padding: 25px !important; }

.u-pt-25 {
  padding-top: 25px !important; }

.u-pr-25 {
  padding-right: 25px !important; }

.u-pb-25 {
  padding-bottom: 25px !important; }

.u-pl-25 {
  padding-left: 25px !important; }

.u-ma-30 {
  margin: 30px !important; }

.u-mt-30 {
  margin-top: 30px !important; }

.u-mr-30 {
  margin-right: 30px !important; }

.u-mb-30 {
  margin-bottom: 30px !important; }

.u-ml-30 {
  margin-left: 30px !important; }

.u-pa-30 {
  padding: 30px !important; }

.u-pt-30 {
  padding-top: 30px !important; }

.u-pr-30 {
  padding-right: 30px !important; }

.u-pb-30 {
  padding-bottom: 30px !important; }

.u-pl-30 {
  padding-left: 30px !important; }

.u-ma-35 {
  margin: 35px !important; }

.u-mt-35 {
  margin-top: 35px !important; }

.u-mr-35 {
  margin-right: 35px !important; }

.u-mb-35 {
  margin-bottom: 35px !important; }

.u-ml-35 {
  margin-left: 35px !important; }

.u-pa-35 {
  padding: 35px !important; }

.u-pt-35 {
  padding-top: 35px !important; }

.u-pr-35 {
  padding-right: 35px !important; }

.u-pb-35 {
  padding-bottom: 35px !important; }

.u-pl-35 {
  padding-left: 35px !important; }

.u-ma-40 {
  margin: 40px !important; }

.u-mt-40 {
  margin-top: 40px !important; }

.u-mr-40 {
  margin-right: 40px !important; }

.u-mb-40 {
  margin-bottom: 40px !important; }

.u-ml-40 {
  margin-left: 40px !important; }

.u-pa-40 {
  padding: 40px !important; }

.u-pt-40 {
  padding-top: 40px !important; }

.u-pr-40 {
  padding-right: 40px !important; }

.u-pb-40 {
  padding-bottom: 40px !important; }

.u-pl-40 {
  padding-left: 40px !important; }

.u-ma-45 {
  margin: 45px !important; }

.u-mt-45 {
  margin-top: 45px !important; }

.u-mr-45 {
  margin-right: 45px !important; }

.u-mb-45 {
  margin-bottom: 45px !important; }

.u-ml-45 {
  margin-left: 45px !important; }

.u-pa-45 {
  padding: 45px !important; }

.u-pt-45 {
  padding-top: 45px !important; }

.u-pr-45 {
  padding-right: 45px !important; }

.u-pb-45 {
  padding-bottom: 45px !important; }

.u-pl-45 {
  padding-left: 45px !important; }

.u-ma-50 {
  margin: 50px !important; }

.u-mt-50 {
  margin-top: 50px !important; }

.u-mr-50 {
  margin-right: 50px !important; }

.u-mb-50 {
  margin-bottom: 50px !important; }

.u-ml-50 {
  margin-left: 50px !important; }

.u-pa-50 {
  padding: 50px !important; }

.u-pt-50 {
  padding-top: 50px !important; }

.u-pr-50 {
  padding-right: 50px !important; }

.u-pb-50 {
  padding-bottom: 50px !important; }

.u-pl-50 {
  padding-left: 50px !important; }