@charset "UTF-8";
html {
  font-size: 62.5%; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.015em;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  color: #190B0B; }
  body ul,
  body ol {
    list-style: none; }
  body img {
    max-width: 100%;
    height: auto;
    vertical-align: middle; }
  body input,
  body button,
  body textarea,
  body select {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    background: none;
    border: none;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    -ms-appearance: none;
    appearance: none; }

main {
  margin-top: 80px; }
  @media screen and (max-width: 1150px) {
    main {
      margin-top: 78px; } }
  @media screen and (max-width: 767px) {
    main {
      margin-top: 69px; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    main {
      display: block; } }

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

.c-article {
  margin: 88px 0 89px; }
  @media screen and (max-width: 960px) {
    .c-article {
      margin: 60px 0; } }
  @media screen and (max-width: 767px) {
    .c-article {
      margin: 45px 0; } }
  .c-article[data-page="single"] {
    margin: 90px 0 117px; }
    @media screen and (max-width: 960px) {
      .c-article[data-page="single"] {
        margin: 60px 0; } }
    @media screen and (max-width: 767px) {
      .c-article[data-page="single"] {
        margin: 45px 0; } }

.c-article__wrap {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start; }
  @media screen and (max-width: 960px) {
    .c-article__wrap {
      display: block; } }

.c-article__content {
  max-width: 756px;
  width: calc(100% - 396px); }
  @media screen and (max-width: 960px) {
    .c-article__content {
      width: 100%;
      margin: 0 auto; } }

.c-article__link-sidebar {
  display: none; }
  .c-article__link-sidebar a {
    display: block;
    font-size: 1.4rem;
    text-align: center;
    color: #190B0B; }
    .c-article__link-sidebar a:hover {
      text-decoration: none; }
  @media screen and (max-width: 960px) {
    .c-article__link-sidebar {
      display: block;
      margin-top: 30px; } }
  @media screen and (max-width: 767px) {
    .c-article__link-sidebar {
      margin-top: 15px; } }

.c-article__content-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 50px; }
  @media screen and (max-width: 767px) {
    .c-article__content-inner {
      display: block;
      margin-top: 30px; } }

.c-article__unit {
  width: calc(50% - 18px);
  margin-bottom: 36px;
  padding-bottom: 19px; }
  .c-article__unit:hover .c-article__unit-image img {
    transition: transform .3s;
    transform: scale(1.1); }
  @media screen and (max-width: 767px) {
    .c-article__unit {
      width: 100%;
      max-width: 450px;
      margin: 0 auto 20px;
      padding-bottom: 10px; } }
  .c-article__unit a {
    color: #190B0B;
    text-decoration: none; }
  .c-article__unit time {
    display: block;
    margin: 13px 0 0 7px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #808080; }
    @media screen and (max-width: 767px) {
      .c-article__unit time {
        margin-top: 12px;
        font-size: 1.2rem; } }
  .c-article__unit h2 {
    margin-top: 7px;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.09em; }
    @media screen and (max-width: 767px) {
      .c-article__unit h2 {
        margin-top: 5px;
        font-size: 1.6rem; } }
  .c-article__unit > a > p {
    margin-top: 11px;
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: 0.09em; }
    @media screen and (max-width: 767px) {
      .c-article__unit > a > p {
        margin-top: 10px;
        font-size: 1.3rem; } }

.c-article__unit-image {
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .c-article__unit-image img {
      display: block;
      width: 100%; } }

.c-article__unit-tag-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 15px; }
  .c-article__unit-tag-wrap[data-place="section"] {
    justify-content: center;
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .c-article__unit-tag-wrap[data-place="section"] {
        justify-content: flex-start; } }
    .c-article__unit-tag-wrap[data-place="section"] li {
      margin: 0 10px 10px 0;
      padding: 4.5px 8px 5.5px;
      font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
      font-size: 1.2rem;
      line-height: 1;
      color: #666666;
      border: 1px solid #CCCCCC;
      border-radius: 15px; }
      @media screen and (max-width: 767px) {
        .c-article__unit-tag-wrap[data-place="section"] li {
          font-size: 1.1rem; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .c-article__unit-tag-wrap[data-place="section"] li {
          padding: 6.5px 8px 3.5px; } }
  .c-article__unit-tag-wrap li {
    margin: 0 10px 10px 0;
    padding: 5px 8px;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.2rem;
    line-height: 1;
    color: #666666;
    border: 1px solid #CCCCCC;
    border-radius: 15px; }
    @media screen and (max-width: 767px) {
      .c-article__unit-tag-wrap li {
        font-size: 1.1rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-article__unit-tag-wrap li {
        padding: 7px 8px 3px; } }
  .c-article__unit-tag-wrap a {
    text-decoration: none;
    color: #666666;
    transition: color .3s; }
    @media screen and (max-width: 767px) {
      .c-article__unit-tag-wrap a {
        margin-bottom: 10px; } }
    .c-article__unit-tag-wrap a:hover {
      color: #DC000C; }

.c-article__unit-tag {
  margin: 0 10px 10px 0;
  padding: 5px 8px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 1.2rem;
  line-height: 1;
  color: #666666;
  border: 1px solid #CCCCCC;
  border-radius: 15px; }
  @media screen and (max-width: 767px) {
    .c-article__unit-tag {
      font-size: 1.1rem; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-article__unit-tag {
      padding: 7px 8px 3px; } }

.c-article__sidebar {
  width: 316px;
  margin-left: 80px; }
  @media screen and (max-width: 1150px) {
    .c-article__sidebar {
      width: 300px; } }
  @media screen and (max-width: 960px) {
    .c-article__sidebar {
      margin: 30px 0 0; } }
  @media screen and (max-width: 767px) {
    .c-article__sidebar {
      width: 100%;
      max-width: 450px;
      margin: 0 auto; } }

.c-article__sidebar-heading {
  position: relative;
  font-size: 2.4rem; }
  @media screen and (max-width: 767px) {
    .c-article__sidebar-heading {
      font-size: 2rem; } }
  .c-article__sidebar-heading::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    margin: 5px 0 4px;
    background-color: #DC000C; }

.c-article__sidebar-list a {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 1.6rem;
  text-decoration: none;
  color: #414141;
  transition: background-color .3s; }
  .c-article__sidebar-list a span {
    margin-right: 10px; }
  .c-article__sidebar-list a:hover {
    background-color: #f2f2f2; }

.c-article__sidebar-list li + li {
  border-top: 1px dashed #CCCCCC; }

.c-article__single h3 {
  margin-bottom: 24px;
  font-size: 2.4rem;
  letter-spacing: 0.02em; }
  @media screen and (max-width: 767px) {
    .c-article__single h3 {
      margin-bottom: 15px;
      font-size: 1.8rem; } }

.c-article__single h4 {
  margin-bottom: 24px;
  font-size: 2rem;
  letter-spacing: 0.02em; }
  @media screen and (max-width: 767px) {
    .c-article__single h4 {
      margin-bottom: 15px;
      font-size: 1.6rem; } }

.c-article__single h5 {
  margin-bottom: 23px;
  font-size: 1.8rem;
  letter-spacing: 0.02em; }
  @media screen and (max-width: 767px) {
    .c-article__single h5 {
      margin-bottom: 15px;
      font-size: 1.5rem; } }

.c-article__single-text {
  margin-bottom: 35px;
  font-size: 1.8rem;
  line-height: 1.97;
  letter-spacing: 0.02em; }
  @media screen and (max-width: 767px) {
    .c-article__single-text {
      margin-bottom: 15px;
      font-size: 1.4rem; } }

.c-article__single-image {
  margin-bottom: 35px; }
  @media screen and (max-width: 767px) {
    .c-article__single-image {
      margin-bottom: 15px; } }

.c-article__single-link a {
  display: block;
  margin-bottom: 35px;
  font-size: 1.8rem;
  line-height: 1.97;
  letter-spacing: 0.02em;
  color: #DC000C; }
  @media screen and (max-width: 767px) {
    .c-article__single-link a {
      margin-bottom: 15px;
      font-size: 1.4rem; } }
  .c-article__single-link a:hover {
    text-decoration: none; }

.c-article__title {
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .c-article__title {
      margin-bottom: 30px; } }
  .c-article__title time {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.8rem;
    font-weight: bold;
    color: #808080; }
    @media screen and (max-width: 767px) {
      .c-article__title time {
        font-size: 1.4rem; } }
  .c-article__title h1 {
    margin-top: 5px;
    font-size: 2.8rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 767px) {
      .c-article__title h1 {
        font-size: 2.2rem; } }

.c-article__single-heading {
  position: relative;
  margin-bottom: 40px;
  font-size: 3rem;
  line-height: 1.5;
  letter-spacing: 0.07em; }
  @media screen and (max-width: 767px) {
    .c-article__single-heading {
      margin-bottom: 25px;
      font-size: 2rem; } }
  .c-article__single-heading::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #DC000C; }

.c-article__button-wrap {
  position: relative;
  margin: 56px 0 91px; }
  @media screen and (max-width: 767px) {
    .c-article__button-wrap {
      margin: 25px 0 60px; } }
  .c-article__button-wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    margin-bottom: 40px;
    background-color: #DC000C; }
    @media screen and (max-width: 767px) {
      .c-article__button-wrap::before {
        margin-bottom: 20px; } }

.c-article__button-sp[data-article="back"] {
  display: none; }
  @media screen and (max-width: 767px) {
    .c-article__button-sp[data-article="back"] {
      display: block; }
      .c-article__button-sp[data-article="back"] a {
        margin: 20px auto 0;
        max-width: 135px; } }

@media screen and (max-width: 767px) {
  .c-article__button-pc {
    display: none; } }

.c-article__button-wrap-inner {
  display: flex;
  justify-content: space-between; }

.c-article__section + .c-article__section {
  margin-top: 65px; }
  @media screen and (max-width: 767px) {
    .c-article__section + .c-article__section {
      margin-top: 45px; } }

.c-article__section-wrap {
  display: flex;
  justify-content: center;
  margin-top: 48px; }
  @media screen and (max-width: 767px) {
    .c-article__section-wrap {
      display: block;
      margin-top: 30px; } }
  .c-article__section-wrap .c-article__unit {
    display: block;
    width: calc(33.33% - 24px);
    margin: 0 36px 0 0; }
    .c-article__section-wrap .c-article__unit:last-child {
      margin-right: 0; }
    @media screen and (max-width: 767px) {
      .c-article__section-wrap .c-article__unit {
        width: 100%; } }
    .c-article__section-wrap .c-article__unit h3 {
      margin-top: 15px;
      line-height: 1.4; }
    .c-article__section-wrap .c-article__unit time {
      line-height: 1;
      margin: 18px 0 0; }
    .c-article__section-wrap .c-article__unit p {
      margin-top: 16px; }
    @media screen and (max-width: 767px) {
      .c-article__section-wrap .c-article__unit + .c-article__unit {
        margin-top: 30px; } }

.c-button a,
.c-button button {
  position: relative;
  display: block;
  width: 220px;
  padding: 17px 13px;
  font-size: 1.6rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: background-color .3s, color .3s; }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-button a,
    .c-button button {
      padding: 19px 13px 15px; } }
  .c-button a::after,
  .c-button button::after {
    position: absolute;
    content: '';
    top: calc(50% - 4px);
    right: 40px;
    width: 5px;
    height: 8px;
    background-image: url(./image/common/icon-arrow.svg);
    background-size: 5px 8px; }

.c-button[data-background="dark"] a {
  color: #414141;
  background-color: #fff; }
  .c-button[data-background="dark"] a::after {
    background-image: url(./image/common/icon-arrow-mild-dark.svg); }
  .c-button[data-background="dark"] a:hover {
    background-color: #e6e5e5; }

.c-button[data-border="red"] a,
.c-button[data-border="red"] button {
  padding: 16px 12px;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  color: #DC000C;
  background-color: #fff;
  border: 1px solid #E80011; }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-button[data-border="red"] a,
    .c-button[data-border="red"] button {
      padding: 19px 12px 13px; } }
  .c-button[data-border="red"] a:hover,
  .c-button[data-border="red"] button:hover {
    background-color: #DC000C;
    color: #fff;
    border: 1px solid #fff; }
    .c-button[data-border="red"] a:hover::after,
    .c-button[data-border="red"] button:hover::after {
      background-image: url(./image/common/icon-arrow-white.svg); }
  .c-button[data-border="red"] a::after,
  .c-button[data-border="red"] button::after {
    background-image: url(./image/common/icon-arrow-red-light.svg); }

.c-button[data-button="action"] a,
.c-button[data-button="action"] button {
  padding: 16px 12px;
  color: #E2191A;
  background-color: #fff;
  border: 1px solid #E2191A; }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-button[data-button="action"] a,
    .c-button[data-button="action"] button {
      padding: 19px 12px 13px; } }
  .c-button[data-button="action"] a:hover,
  .c-button[data-button="action"] button:hover {
    background-color: #DC000C;
    color: #fff; }
    .c-button[data-button="action"] a:hover::after,
    .c-button[data-button="action"] button:hover::after {
      background-image: url(./image/common/icon-arrow-white.svg); }
  .c-button[data-button="action"] a::after,
  .c-button[data-button="action"] button::after {
    background-image: url(./image/common/icon-arrow-darkred.svg); }

.c-button[data-button="line"] a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 10px;
  background-color: #00BE00; }
  .c-button[data-button="line"] a::after {
    display: none; }
  .c-button[data-button="line"] a span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px); }
  @media screen and (max-width: 767px) {
    .c-button[data-button="line"] a img {
      width: 60px;
      height: 16px; } }

.c-button[data-article="next"] {
  width: 200px; }
  @media screen and (max-width: 767px) {
    .c-button[data-article="next"] {
      width: 135px; } }
  .c-button[data-article="next"] a {
    width: 200px;
    padding: 17px 12px;
    font-size: 1.4rem;
    color: #DC000C;
    background-color: #fff;
    border: 1px solid #DC000C; }
    @media screen and (max-width: 767px) {
      .c-button[data-article="next"] a {
        width: 100%;
        font-size: 1.2rem;
        padding: 8px 20px 6px 7px; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-button[data-article="next"] a {
        padding: 19px 12px 15px; } }
    .c-button[data-article="next"] a:hover {
      background-color: #DC000C;
      color: #fff; }
      .c-button[data-article="next"] a:hover::after {
        background-image: url(./image/common/icon-arrow-white.svg); }
    .c-button[data-article="next"] a::after {
      top: calc(50% - 5px);
      right: 22px;
      background-image: url(./image/common/icon-arrow-red.svg); }
      @media screen and (max-width: 767px) {
        .c-button[data-article="next"] a::after {
          top: calc(50% - 4px);
          right: 7px; } }

.c-button[data-article="back"] a {
  width: 200px;
  padding: 17px 12px;
  font-size: 1.4rem;
  color: #DC000C;
  background-color: #fff;
  border: 1px solid #DC000C; }
  @media screen and (max-width: 767px) {
    .c-button[data-article="back"] a {
      width: 100%;
      font-size: 1.2rem;
      padding: 7px 7px 6px; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-button[data-article="back"] a {
      padding: 19px 12px 15px; } }
  .c-button[data-article="back"] a:hover {
    background-color: #DC000C;
    color: #fff; }
  .c-button[data-article="back"] a::after {
    display: none; }

.c-button[data-article="prev"] {
  width: 200px; }
  @media screen and (max-width: 767px) {
    .c-button[data-article="prev"] {
      width: 135px; } }
  .c-button[data-article="prev"] a {
    width: 200px;
    padding: 17px 12px;
    font-size: 1.4rem;
    color: #DC000C;
    background-color: #fff;
    border: 1px solid #DC000C; }
    @media screen and (max-width: 767px) {
      .c-button[data-article="prev"] a {
        width: 100%;
        padding: 8px 7px 6px 20px;
        font-size: 1.2rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-button[data-article="prev"] a {
        padding: 19px 12px 15px; } }
    .c-button[data-article="prev"] a:hover {
      background-color: #DC000C;
      color: #fff; }
      .c-button[data-article="prev"] a:hover::before {
        background-image: url(./image/common/icon-arrow-white.svg); }
    .c-button[data-article="prev"] a::after {
      display: none; }
    .c-button[data-article="prev"] a::before {
      position: absolute;
      content: '';
      top: calc(50% - 4px);
      left: 22px;
      width: 5px;
      height: 8px;
      background-image: url(./image/common/icon-arrow-red.svg);
      background-repeat: no-repeat;
      transform: rotate(-180deg); }
      @media screen and (max-width: 767px) {
        .c-button[data-article="prev"] a::before {
          top: calc(50% - 3.5px);
          left: 7px; } }

.c-button[data-border="black"] a,
.c-button[data-border="black"] button, .c-button[data-button="prev"] a,
.c-button[data-button="prev"] button {
  padding: 16px 12px;
  color: #190B0B;
  background-color: #fff;
  border: 1px solid #190B0B; }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-button[data-border="black"] a,
    .c-button[data-border="black"] button, .c-button[data-button="prev"] a,
    .c-button[data-button="prev"] button {
      padding: 19px 12px 13px; } }
  .c-button[data-border="black"] a:hover,
  .c-button[data-border="black"] button:hover, .c-button[data-button="prev"] a:hover,
  .c-button[data-button="prev"] button:hover {
    background-color: #414141;
    color: #fff; }
    .c-button[data-border="black"] a:hover::after,
    .c-button[data-border="black"] button:hover::after, .c-button[data-button="prev"] a:hover::after,
    .c-button[data-button="prev"] button:hover::after {
      background-image: url(./image/common/icon-arrow-white.svg); }

.c-button[data-button="map"] a {
  padding: 16px 10px;
  color: #190B0B;
  border: 1px solid #757575; }
  @media screen and (max-width: 767px) {
    .c-button[data-button="map"] a {
      font-size: 1.5rem; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-button[data-button="map"] a {
      padding: 18px 10px 14px; } }
  .c-button[data-button="map"] a:hover {
    background-color: #414141;
    color: #fff; }
    .c-button[data-button="map"] a:hover::after {
      background-image: url(./image/common/icon-arrow-white.svg); }

.c-button[data-button="prev"] button,
.c-button[data-button="prev"] a {
  color: #414141;
  border: 1px solid #393939; }
  @media screen and (max-width: 767px) {
    .c-button[data-button="prev"] button,
    .c-button[data-button="prev"] a {
      font-size: 1.4rem; } }
  .c-button[data-button="prev"] button::after,
  .c-button[data-button="prev"] a::after {
    display: none; }

.c-button[data-width="large"] a {
  width: 240px; }
  .c-button[data-width="large"] a::after {
    right: 25px; }

.c-button__small a {
  position: relative;
  display: block;
  max-width: 200px;
  padding: 11px;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  color: #414141;
  border: 2px solid #414141;
  transition: all .3s; }
  @media screen and (max-width: 767px) {
    .c-button__small a {
      padding: 8px; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-button__small a {
      padding: 14px 11px 8px; } }
  .c-button__small a::after {
    position: absolute;
    content: '';
    top: calc(50% - 3px);
    right: 22px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #414141;
    border-right: 1px solid #414141;
    transform: rotate(45deg); }
  .c-button__small a:hover {
    color: #fff;
    background-color: #414141; }
    .c-button__small a:hover::after {
      border-top: 1px solid #fff;
      border-right: 1px solid #fff; }

.c-footer {
  padding-top: 54px;
  background-color: #F7F7F7; }
  @media screen and (max-width: 767px) {
    .c-footer {
      padding-top: 40px; } }

.c-footer__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 64px; }
  @media screen and (max-width: 1265px) {
    .c-footer__inner {
      padding: 0 19px; } }
  @media screen and (max-width: 1185px) {
    .c-footer__inner {
      padding: 0 64px;
      display: block; } }
  @media screen and (max-width: 960px) {
    .c-footer__inner {
      max-width: 600px;
      margin: 0 auto;
      padding: 0 19px; } }

@media screen and (max-width: 767px) {
  .c-footer__logo img {
    width: 104px;
    height: 38px; } }

.c-footer__nav {
  display: flex;
  align-items: flex-start; }
  @media screen and (max-width: 1185px) {
    .c-footer__nav {
      margin-top: 30px; } }
  @media screen and (max-width: 960px) {
    .c-footer__nav {
      display: block; } }
  .c-footer__nav > li {
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif; }
    @media screen and (max-width: 960px) {
      .c-footer__nav > li {
        width: 100%;
        font-size: 1.5rem;
        font-weight: bold;
        border-bottom: 1px dashed #CCCCCC; }
        .c-footer__nav > li:first-child {
          border-top: 1px dashed #CCCCCC; }
        .c-footer__nav > li[data-link="pc"] {
          display: none; } }
    .c-footer__nav > li:last-child a {
      margin-right: 0; }
    .c-footer__nav > li > a {
      display: block;
      margin-right: 20px;
      font-size: 1.3rem;
      text-decoration: none;
      color: #190B0B;
      transition: color .3s; }
      @media screen and (max-width: 960px) {
        .c-footer__nav > li > a {
          position: relative;
          padding: 12px 0;
          margin-right: 0;
          color: #414141; }
          .c-footer__nav > li > a::after {
            content: '';
            position: absolute;
            display: inline-block;
            top: calc(50% - 4.5px);
            right: 0;
            width: 7px;
            height: 7px;
            border-top: 1px solid #190B0B;
            border-right: 1px solid #190B0B;
            transform: rotate(45deg); } }
      .c-footer__nav > li > a:hover {
        color: #DC000C; }

.c-footer__nav-unit {
  margin-right: 20px; }
  .c-footer__nav-unit span {
    display: block;
    margin-bottom: 6px;
    font-size: 1.4rem; }
    @media screen and (max-width: 960px) {
      .c-footer__nav-unit span {
        padding: 12px 0;
        color: #414141;
        border-bottom: 1px dashed #CCCCCC; } }
  .c-footer__nav-unit a {
    position: relative;
    font-size: 1.2rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    text-decoration: none;
    color: #190B0B;
    transition: color .3s; }
    @media screen and (max-width: 960px) {
      .c-footer__nav-unit a {
        font-weight: normal;
        color: #414141; } }
    .c-footer__nav-unit a::before {
      content: '';
      position: relative;
      display: inline-block;
      top: 0;
      left: 0;
      margin-right: 5px;
      width: 6px;
      height: 6px;
      border-top: 1px solid #190B0B;
      border-right: 1px solid #190B0B;
      transform: rotate(45deg); }
      @media screen and (max-width: 960px) {
        .c-footer__nav-unit a::before {
          top: -1px;
          border-top: 1px solid #414141;
          border-right: 1px solid #414141; } }
    .c-footer__nav-unit a:hover {
      color: #DC000C; }
  @media screen and (max-width: 960px) {
    .c-footer__nav-unit ul {
      margin-bottom: 12px; } }

.c-footer__copyright {
  margin-top: 55px;
  padding: 2px;
  font-size: 1.1rem;
  letter-spacing: 0.07em;
  text-align: center;
  color: #fff;
  background-color: #DC000C; }
  @media screen and (max-width: 960px) {
    .c-footer__copyright {
      margin-top: 40px; } }

.c-footer__company {
  padding-top: 4px; }
  @media screen and (max-width: 960px) {
    .c-footer__company {
      padding-top: 0; } }

.c-footer__company-top {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 960px) {
    .c-footer__company-top {
      justify-content: center; } }
  .c-footer__company-top span {
    display: block;
    margin-left: 18px;
    font-size: 1.4rem;
    color: #414141; }
    @media screen and (max-width: 767px) {
      .c-footer__company-top span {
        margin-left: 9px;
        font-size: 0.8rem; } }

.c-footer__comapny-bottom {
  margin-top: 35px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif; }
  @media screen and (max-width: 960px) {
    .c-footer__comapny-bottom {
      display: none; } }
  .c-footer__comapny-bottom dt {
    margin-bottom: 9px;
    font-size: 1.6rem;
    font-weight: bold; }
  .c-footer__comapny-bottom dd {
    font-size: 1.4rem; }

.c-footer__sp {
  display: none; }
  @media screen and (max-width: 960px) {
    .c-footer__sp {
      display: block; } }

.c-footer__sp-button-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0 40px; }
  .c-footer__sp-button-wrap li[data-type="flyer"] a,
  .c-footer__sp-button-wrap li[data-type="recruit"] a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 164px;
    padding: 14px 24px;
    font-size: 1.4rem;
    font-weight: bold;
    text-decoration: none;
    line-height: 1;
    color: #fff;
    background-color: #FFB43C; }
    @media screen and (max-width: 350px) {
      .c-footer__sp-button-wrap li[data-type="flyer"] a,
      .c-footer__sp-button-wrap li[data-type="recruit"] a {
        width: 100%;
        padding: 14px 20px;
        font-size: 1.3rem; } }
    .c-footer__sp-button-wrap li[data-type="flyer"] a::before,
    .c-footer__sp-button-wrap li[data-type="recruit"] a::before {
      content: '';
      display: inline-block;
      top: 0;
      left: 0;
      width: 17px;
      height: 15px;
      margin: 1px 10px 0 0;
      background-image: url(./image/common/Icon-flyer.svg);
      background-size: 17px 15px;
      background-repeat: no-repeat; }
  .c-footer__sp-button-wrap li[data-type="recruit"] {
    margin-left: 10px; }
    .c-footer__sp-button-wrap li[data-type="recruit"] a {
      padding: 11px 24px;
      background-color: #DC000C; }
      .c-footer__sp-button-wrap li[data-type="recruit"] a::before {
        width: 17px;
        height: 17px;
        background-image: url(./image/common/Icon-human.svg);
        background-size: 17px 17px; }

.c-footer__sp-company {
  text-align: center; }
  .c-footer__sp-company dt {
    margin-bottom: 10px;
    font-size: 1.6rem;
    font-weight: bold; }
  .c-footer__sp-company dd {
    font-size: 1.3rem;
    color: #808080; }

.c-header {
  position: fixed;
  z-index: 5;
  top: 0;
  right: 0;
  left: 0;
  background-color: #fff;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16); }

.c-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 20px 18px 15px;
  background-color: #fff;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16); }

.c-header__company {
  display: flex;
  align-items: center; }
  .c-header__company span {
    font-size: 1.4rem;
    color: #414141; }
    @media screen and (max-width: 767px) {
      .c-header__company span {
        font-size: 1.2rem; } }
    @media screen and (max-width: 350px) {
      .c-header__company span {
        font-size: 1.1rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-header__company span {
        margin-top: 2px; } }

.c-header__logo {
  margin-right: 13px;
  line-height: 1; }
  @media screen and (max-width: 767px) {
    .c-header__logo img {
      display: block;
      width: 104px;
      height: 34px; } }

.c-header__nav-wrapper {
  margin-left: auto; }
  @media screen and (max-width: 1030px) {
    .c-header__nav-wrapper {
      position: fixed;
      z-index: 199;
      top: 0;
      right: -100px;
      bottom: 0;
      display: block;
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch;
      width: 315px;
      padding: 15px 20px calc(80 / 375 * 100vw);
      background-color: #DC000C;
      z-index: 20;
      visibility: hidden;
      opacity: 0;
      transition: .3s; }
      .c-header__nav-wrapper[aria-hidden="false"] {
        right: 0;
        visibility: visible;
        opacity: 1; } }
  @media screen and (max-width: 767px) {
    .c-header__nav-wrapper {
      width: 100%; } }

.c-header__sp-company {
  display: none; }
  @media screen and (max-width: 1030px) {
    .c-header__sp-company {
      display: block; }
      .c-header__sp-company span {
        display: inline-block;
        margin-left: 5px;
        font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
        font-size: 1.2rem;
        color: #fff; } }
  @media screen and (max-width: 350px) {
    .c-header__sp-company span {
      font-size: 1.1rem; } }

.c-header__background {
  display: none;
  position: fixed;
  z-index: -2;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(128, 128, 128, 0.5); }
  .c-header__background[aria-hidden="false"] {
    display: block; }

.c-header__hamburger {
  display: none;
  appearance: none;
  border: none;
  background: none; }
  @media screen and (max-width: 1030px) {
    .c-header__hamburger {
      display: block;
      position: fixed;
      top: 14px;
      right: 15px;
      z-index: 21; } }

.c-header__hamburger-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); }

.c-header__hamburger-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: #fff; }
  .c-header__hamburger-inner span {
    display: block;
    width: 30px;
    height: 4px;
    background-color: #DC000C;
    transition: .3s; }
    .c-header__hamburger-inner span + span {
      margin-top: 5px; }

.c-header__hamburger[aria-expanded="true"] .c-header__hamburger-inner {
  background-color: #DC000C; }
  .c-header__hamburger[aria-expanded="true"] .c-header__hamburger-inner span {
    transform: rotate(45deg);
    background-color: #fff; }
    .c-header__hamburger[aria-expanded="true"] .c-header__hamburger-inner span + span {
      transform: rotate(-45deg);
      margin-top: -4px; }
      .c-header__hamburger[aria-expanded="true"] .c-header__hamburger-inner span + span + span {
        display: none; }

.c-heading {
  position: relative;
  text-align: center; }
  .c-heading::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: calc(50% - 40px);
    right: calc(50% - 40px);
    width: 80px;
    height: 80px;
    border: 1px solid #DC000C;
    border-radius: 50%; }
    @media screen and (max-width: 767px) {
      .c-heading::before {
        top: calc(50% - 36px);
        right: calc(50% - 36px);
        width: 72px;
        height: 72px; } }
  .c-heading h2 {
    position: relative;
    z-index: 2;
    display: inline-block;
    font-size: 2.8rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    text-align: center;
    line-height: 1.6;
    letter-spacing: 0.06em;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .c-heading h2 {
        font-size: 2rem; } }
  .c-heading[data-background="light"] h2 {
    background-color: transparent; }
  .c-heading[data-background="image"]::before {
    right: calc(50% - 33px);
    width: 66px;
    height: 80px;
    background-image: url(./image/front/heading-bg.svg);
    background-size: 66px 80px;
    background-repeat: no-repeat;
    border: none;
    border-radius: 0; }
    @media screen and (max-width: 767px) {
      .c-heading[data-background="image"]::before {
        right: calc(50% - 30px);
        width: 60px;
        height: 72px;
        background-size: 60px 72px; } }
  .c-heading[data-background="image"] h2 {
    background-color: transparent; }

.c-heading__small h2,
.c-heading__small h1 {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 2.8rem;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .c-heading__small h2,
    .c-heading__small h1 {
      font-size: 2.2rem; } }

.c-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 200px;
  background-image: url(./image/common/hero-about.jpg);
  background-repeat: no-repeat;
  background-position: right center; }
  .c-hero[data-page="article"] {
    background-image: url(./image/common/hero-article.jpg); }
  .c-hero[data-page="shops"] {
    background-image: url(./image/common/hero-shops.jpg); }
  .c-hero[data-page="netshop"] {
    background-image: url(./image/common/hero-netshop.jpg); }
  .c-hero[data-page="business"] {
    background-image: url(./image/common/hero-business.jpg); }
  .c-hero::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.6); }
  .c-hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 449px;
    height: 200px;
    background-image: url(./image/common/hero-sun.svg);
    background-size: 890px 881px;
    background-position: right center;
    background-repeat: no-repeat; }
    @media screen and (min-width: 1281px) {
      .c-hero::after {
        width: 60%;
        background-size: 1252px 1239px; } }
    @media screen and (max-width: 960px) {
      .c-hero::after {
        width: 370px; } }
    @media screen and (max-width: 767px) {
      .c-hero::after {
        width: 80%; } }
    @media screen and (max-width: 350px) {
      .c-hero::after {
        width: 85%; } }

.c-hero__title {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-left: 30px; }
  @media screen and (max-width: 960px) {
    .c-hero__title {
      margin-left: 30px;
      padding-left: 0; } }
  @media screen and (max-width: 350px) {
    .c-hero__title {
      margin-left: 20px; } }
  .c-hero__title h1,
  .c-hero__title span {
    position: relative;
    display: block;
    top: -7px;
    max-width: 1182px;
    width: 100%;
    margin: 0 auto;
    font-size: 2.8rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .c-hero__title h1,
      .c-hero__title span {
        font-size: 2.2rem; } }
    .c-hero__title h1::after,
    .c-hero__title span::after {
      content: '';
      position: relative;
      bottom: -3px;
      display: block;
      width: 70px;
      height: 2px;
      background-color: rgba(255, 255, 255, 0.5); }

.c-link {
  margin-bottom: 111px; }
  @media screen and (max-width: 767px) {
    .c-link {
      margin-bottom: 60px; } }

.c-link__wrap {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .c-link__wrap {
      display: block; } }

.c-link__unit {
  position: relative;
  width: calc(50% - 16px);
  height: 160px;
  background-image: url(./image/common/bottom-link-company.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius: 5px;
  overflow: hidden; }
  .c-link__unit[data-type="mission"] {
    background-image: url(./image/common/bottom-link-policy.jpg); }
  .c-link__unit[data-type="message"] {
    background-image: url(./image/common/bottom-link-message.jpg); }
  @media screen and (max-width: 767px) {
    .c-link__unit {
      width: 100%; }
      .c-link__unit + .c-link__unit {
        margin-top: 30px; } }
  .c-link__unit a {
    display: block;
    width: 100%;
    height: 100%; }
    .c-link__unit a:hover .c-link__unit-bottom {
      transition: background-color .3s;
      background-color: #d9d9d9; }

.c-link__unit-bottom {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 8px 11px 14px 16px;
  background-color: rgba(255, 255, 255, 0.9); }
  @media screen and (max-width: 767px) {
    .c-link__unit-bottom {
      padding: 8px 9px 14px 14px; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .c-link__unit-bottom {
      padding: 12px 11px 10px 16px; } }
  .c-link__unit-bottom::after {
    position: absolute;
    content: '';
    bottom: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    background-color: #DC000C; }
  .c-link__unit-bottom span {
    position: relative;
    display: block;
    width: 100%;
    font-size: 2rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    color: #190B0B; }
    @media screen and (max-width: 767px) {
      .c-link__unit-bottom span {
        font-size: 1.6rem; } }
    .c-link__unit-bottom span::before {
      content: '';
      position: absolute;
      top: calc(50% - 15px);
      right: 0;
      width: 30px;
      height: 30px;
      border: 1px solid #757575;
      border-radius: 50%; }
      @media screen and (max-width: 767px) {
        .c-link__unit-bottom span::before {
          top: calc(50% - 12px);
          width: 26px;
          height: 26px; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .c-link__unit-bottom span::before {
          top: calc(50% - 16px); } }
    .c-link__unit-bottom span::after {
      content: '';
      position: absolute;
      top: calc(50% - 4.5px);
      right: 11.5px;
      width: 6px;
      height: 9px;
      background-image: url(./image/common/icon-arrow-gray.svg);
      background-size: 6px 9px;
      background-repeat: no-repeat; }
      @media screen and (max-width: 767px) {
        .c-link__unit-bottom span::after {
          top: calc(50% - 3.5px);
          right: 10px; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .c-link__unit-bottom span::after {
          top: calc(50% - 5.5px); } }

.c-nav-breadcrumb {
  padding: 5px 0 5px 30px;
  background-color: #EFEFEF; }
  @media screen and (max-width: 350px) {
    .c-nav-breadcrumb {
      padding: 5px 0 5px 20px; } }
  .c-nav-breadcrumb ol {
    display: flex;
    max-width: 1182px;
    width: 100%;
    margin: 0 auto; }
  .c-nav-breadcrumb li {
    position: relative;
    margin-right: 2px;
    font-size: 1.2rem;
    color: #414141;
    white-space: nowrap; }
    @media screen and (max-width: 767px) {
      .c-nav-breadcrumb li {
        font-size: 1.1rem; } }
    .c-nav-breadcrumb li::after {
      content: '>';
      display: inline-block;
      padding-left: 4px; }
    .c-nav-breadcrumb li[aria-current="page"] {
      overflow-x: scroll;
      -ms-overflow-style: none;
      scrollbar-width: none; }
      .c-nav-breadcrumb li[aria-current="page"]::after {
        display: none; }
    .c-nav-breadcrumb li a {
      color: #414141; }
      .c-nav-breadcrumb li a:hover {
        text-decoration: none; }

.c-nav-global {
  display: flex;
  margin-left: auto; }
  @media screen and (max-width: 1030px) {
    .c-nav-global {
      display: block; } }
  .c-nav-global > ul {
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 1030px) {
      .c-nav-global > ul {
        display: block;
        margin-top: 37px; } }
    .c-nav-global > ul:first-child li[aria-current="page"] a,
    .c-nav-global > ul:first-child li[aria-current="page"] button {
      color: #DC000C; }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul:first-child li[aria-current="page"] a,
        .c-nav-global > ul:first-child li[aria-current="page"] button {
          color: #fff; } }
    .c-nav-global > ul:first-child li[aria-current="page"] button:after {
      background-image: url(./image/common/icon-arrow-gnav-red.svg); }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul:first-child li[aria-current="page"] button:after {
          display: none; } }
    @media screen and (max-width: 1030px) {
      .c-nav-global > ul[data-sp="flex"] {
        display: flex;
        margin-top: 20px; } }
    @media screen and (max-width: 1030px) {
      .c-nav-global > ul > li:first-child a {
        border-top: 1px dashed #fff; } }
    .c-nav-global > ul > li + li {
      margin-left: 30px; }
      @media screen and (max-width: 1150px) {
        .c-nav-global > ul > li + li {
          margin-left: 10px; } }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul > li + li {
          margin-left: 0; } }
    .c-nav-global > ul > li[data-nav="sp"] {
      display: none; }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul > li[data-nav="sp"] {
          display: block; } }
    .c-nav-global > ul > li > a,
    .c-nav-global > ul button {
      font-size: 1.4rem;
      text-decoration: none;
      color: #190B0B;
      transition: color .3s; }
      @media screen and (max-width: 1150px) {
        .c-nav-global > ul > li > a,
        .c-nav-global > ul button {
          font-size: 1.2rem; } }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul > li > a,
        .c-nav-global > ul button {
          display: block;
          width: 100%;
          padding: 15px 10px 15px 0;
          font-size: 1.6rem;
          font-weight: bold;
          color: #fff;
          border-bottom: 1px dashed #fff; } }
      .c-nav-global > ul > li > a[data-sp="border"],
      .c-nav-global > ul button[data-sp="border"] {
        border-top: 1px dashed #fff; }
      .c-nav-global > ul > li > a:hover,
      .c-nav-global > ul button:hover {
        color: #DC000C; }
        @media screen and (max-width: 1030px) {
          .c-nav-global > ul > li > a:hover,
          .c-nav-global > ul button:hover {
            color: #fff; } }
    @media screen and (max-width: 1030px) {
      .c-nav-global > ul > li > a {
        position: relative; }
        .c-nav-global > ul > li > a::after {
          content: '';
          position: absolute;
          display: inline-block;
          top: calc(50% - 4.5px);
          right: 3px;
          width: 7px;
          height: 7px;
          border-top: 1px solid #fff;
          border-right: 1px solid #fff;
          transform: rotate(45deg); } }
    .c-nav-global > ul button {
      position: relative;
      display: flex;
      align-items: center;
      margin-top: 1px;
      padding-right: 7px;
      line-height: 1;
      cursor: pointer; }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul button {
          pointer-events: none; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .c-nav-global > ul button {
          margin-top: 0;
          line-height: 1.1; } }
      .c-nav-global > ul button:hover::after {
        background-image: url(./image/common/icon-arrow-gnav-red.svg); }
      .c-nav-global > ul button::after {
        content: '';
        position: relative;
        display: inline-block;
        top: calc(50% - 2.5px);
        right: -3px;
        width: 9px;
        height: 5px;
        margin-top: 1px;
        background-image: url(./image/common/icon-arrow-gnav.svg);
        background-size: 9px 5px;
        background-repeat: no-repeat; }
        @media screen and (max-width: 1030px) {
          .c-nav-global > ul button::after {
            display: none; } }
        @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
          .c-nav-global > ul button::after {
            top: calc(50% - 4px);
            margin-top: 0;
            margin-bottom: 2px; } }
    @media screen and (max-width: 1030px) {
      .c-nav-global > ul li[data-type="flyer"],
      .c-nav-global > ul li[data-type="recruit"] {
        width: calc(50% - 5px); } }
    .c-nav-global > ul li[data-type="flyer"] a,
    .c-nav-global > ul li[data-type="flyer"] button,
    .c-nav-global > ul li[data-type="recruit"] a,
    .c-nav-global > ul li[data-type="recruit"] button {
      position: relative;
      display: flex;
      align-items: center;
      width: 140px;
      padding: 12px 20px;
      font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
      line-height: 1;
      color: #fff;
      background-color: #FFB43C;
      transition: background-color .3s; }
      .c-nav-global > ul li[data-type="flyer"] a:hover,
      .c-nav-global > ul li[data-type="flyer"] button:hover,
      .c-nav-global > ul li[data-type="recruit"] a:hover,
      .c-nav-global > ul li[data-type="recruit"] button:hover {
        background-color: #ef9300; }
        @media screen and (max-width: 1030px) {
          .c-nav-global > ul li[data-type="flyer"] a:hover,
          .c-nav-global > ul li[data-type="flyer"] button:hover,
          .c-nav-global > ul li[data-type="recruit"] a:hover,
          .c-nav-global > ul li[data-type="recruit"] button:hover {
            background-color: #DC000C; } }
      @media screen and (max-width: 1150px) {
        .c-nav-global > ul li[data-type="flyer"] a,
        .c-nav-global > ul li[data-type="flyer"] button,
        .c-nav-global > ul li[data-type="recruit"] a,
        .c-nav-global > ul li[data-type="recruit"] button {
          padding: 12px 15px; } }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul li[data-type="flyer"] a,
        .c-nav-global > ul li[data-type="flyer"] button,
        .c-nav-global > ul li[data-type="recruit"] a,
        .c-nav-global > ul li[data-type="recruit"] button {
          justify-content: center;
          width: 100%;
          font-size: 1.4rem;
          border: 1px solid #fff; }
          .c-nav-global > ul li[data-type="flyer"] a::after,
          .c-nav-global > ul li[data-type="flyer"] button::after,
          .c-nav-global > ul li[data-type="recruit"] a::after,
          .c-nav-global > ul li[data-type="recruit"] button::after {
            display: none; } }
      @media screen and (max-width: 767px) {
        .c-nav-global > ul li[data-type="flyer"] a,
        .c-nav-global > ul li[data-type="flyer"] button,
        .c-nav-global > ul li[data-type="recruit"] a,
        .c-nav-global > ul li[data-type="recruit"] button {
          min-width: 163px;
          font-size: 1.5rem; } }
      @media screen and (max-width: 350px) {
        .c-nav-global > ul li[data-type="flyer"] a,
        .c-nav-global > ul li[data-type="flyer"] button,
        .c-nav-global > ul li[data-type="recruit"] a,
        .c-nav-global > ul li[data-type="recruit"] button {
          min-width: 130px;
          font-size: 1.4rem; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .c-nav-global > ul li[data-type="flyer"] a,
        .c-nav-global > ul li[data-type="flyer"] button,
        .c-nav-global > ul li[data-type="recruit"] a,
        .c-nav-global > ul li[data-type="recruit"] button {
          padding: 15px 20px 9px; } }
      .c-nav-global > ul li[data-type="flyer"] a::before,
      .c-nav-global > ul li[data-type="flyer"] button::before,
      .c-nav-global > ul li[data-type="recruit"] a::before,
      .c-nav-global > ul li[data-type="recruit"] button::before {
        content: '';
        display: inline-block;
        top: 0;
        left: 0;
        width: 17px;
        height: 15px;
        margin: 1px 10px 0 0;
        background-image: url(./image/common/Icon-flyer.svg);
        background-size: 17px 15px;
        background-repeat: no-repeat; }
        @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
          .c-nav-global > ul li[data-type="flyer"] a::before,
          .c-nav-global > ul li[data-type="flyer"] button::before,
          .c-nav-global > ul li[data-type="recruit"] a::before,
          .c-nav-global > ul li[data-type="recruit"] button::before {
            margin-bottom: 5px; } }
    .c-nav-global > ul li[data-type="flyer"] {
      margin-left: 32px; }
      @media screen and (max-width: 1150px) {
        .c-nav-global > ul li[data-type="flyer"] {
          margin-left: 20px; } }
      @media screen and (max-width: 1030px) {
        .c-nav-global > ul li[data-type="flyer"] {
          margin-left: 0; }
          .c-nav-global > ul li[data-type="flyer"] a {
            background-color: #DC000C; } }
    .c-nav-global > ul li[data-type="recruit"] {
      margin-left: 10px; }
      .c-nav-global > ul li[data-type="recruit"] a {
        background-color: #DC000C; }
        .c-nav-global > ul li[data-type="recruit"] a:hover {
          background-color: #a90009; }
          @media screen and (max-width: 1030px) {
            .c-nav-global > ul li[data-type="recruit"] a:hover {
              background-color: #DC000C; } }
        .c-nav-global > ul li[data-type="recruit"] a::after {
          display: none; }
        @media screen and (max-width: 1030px) {
          .c-nav-global > ul li[data-type="recruit"] a {
            padding: 11px 15px; } }
        .c-nav-global > ul li[data-type="recruit"] a::before {
          width: 17px;
          height: 17px;
          background-image: url(./image/common/Icon-human.svg);
          background-size: 17px 17px; }

.c-nav-global__sp-menu {
  display: none; }
  @media screen and (max-width: 1030px) {
    .c-nav-global__sp-menu {
      display: block;
      padding: 15px 10px; }
      .c-nav-global__sp-menu li {
        line-height: 1.4; }
        .c-nav-global__sp-menu li + li {
          margin-top: 10px; }
      .c-nav-global__sp-menu a {
        position: relative;
        display: inline-block;
        padding-left: 10px;
        font-size: 1.6rem;
        font-weight: normal;
        color: #fff;
        text-decoration: none;
        border-top: none; }
        .c-nav-global__sp-menu a::before {
          content: '';
          position: absolute;
          display: inline-block;
          top: calc(50% - 2px);
          left: -3px;
          width: 5px;
          height: 5px;
          border-top: 1px solid #fff;
          border-right: 1px solid #fff;
          transform: rotate(45deg); } }

.c-nav-glogal__modal-about,
.c-nav-glogal__modal-business {
  display: none;
  position: absolute;
  z-index: -1;
  top: 79px;
  right: 0;
  left: 0;
  padding: 25px;
  background-color: #fff; }
  @media screen and (max-width: 1030px) {
    .c-nav-glogal__modal-about,
    .c-nav-glogal__modal-business {
      display: none !important; } }
  .c-nav-glogal__modal-about ul,
  .c-nav-glogal__modal-business ul {
    display: flex;
    justify-content: center; }
  .c-nav-glogal__modal-about li + li,
  .c-nav-glogal__modal-business li + li {
    margin-left: 20px; }
  .c-nav-glogal__modal-about a,
  .c-nav-glogal__modal-business a {
    position: relative;
    display: block;
    width: 210px;
    height: 130px;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    color: #190B0B;
    background-image: url(./image/common/nav-about-message.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    transition: color .3s; }
    .c-nav-glogal__modal-about a[data-nav="policy"],
    .c-nav-glogal__modal-business a[data-nav="policy"] {
      background-image: url(./image/common/nav-about-policy.jpg); }
    .c-nav-glogal__modal-about a[data-nav="lowprice"],
    .c-nav-glogal__modal-business a[data-nav="lowprice"] {
      background-image: url(./image/common/nav-about-lowprice.jpg); }
    .c-nav-glogal__modal-about a[data-nav="group"],
    .c-nav-glogal__modal-business a[data-nav="group"] {
      background-image: url(./image/common/nav-about-group.jpg); }
    .c-nav-glogal__modal-about a[data-nav="company"],
    .c-nav-glogal__modal-business a[data-nav="company"] {
      background-image: url(./image/common/nav-about-company.jpg); }
    .c-nav-glogal__modal-about a:hover,
    .c-nav-glogal__modal-business a:hover {
      color: #DC000C; }
  .c-nav-glogal__modal-about span,
  .c-nav-glogal__modal-business span {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
    background-color: rgba(255, 255, 255, 0.8); }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-nav-glogal__modal-about span,
      .c-nav-glogal__modal-business span {
        padding: 12px 10px 8px; } }

.c-nav-glogal__modal-recruit {
  display: none;
  position: absolute;
  z-index: -1;
  top: 218px;
  right: 0;
  left: 0;
  width: 860px;
  margin: 0 auto;
  padding: 40px 40px 30px;
  background-color: #fff; }
  @media screen and (max-width: 1030px) {
    .c-nav-glogal__modal-recruit {
      width: 100%;
      z-index: 5; } }
  .c-nav-glogal__modal-recruit h2 {
    font-size: 2.4rem;
    text-align: center; }
    @media screen and (max-width: 1030px) {
      .c-nav-glogal__modal-recruit h2 {
        font-size: 1.8rem; } }
  .c-nav-glogal__modal-recruit ul {
    display: flex;
    justify-content: center;
    margin-top: 30px; }
    @media screen and (max-width: 1030px) {
      .c-nav-glogal__modal-recruit ul {
        display: block; } }
  .c-nav-glogal__modal-recruit li {
    position: relative;
    width: 386px;
    height: 226px;
    background-image: url(./image/common/nav-recruit-new.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
    @media screen and (max-width: 1030px) {
      .c-nav-glogal__modal-recruit li {
        width: 100%;
        height: 177px; } }
    .c-nav-glogal__modal-recruit li + li {
      margin-left: 30px;
      background-image: url(./image/common/nav-recruit-career.jpg); }
      @media screen and (max-width: 1030px) {
        .c-nav-glogal__modal-recruit li + li {
          margin: 20px 0 0; } }
  .c-nav-glogal__modal-recruit .c-nav-global__modal-recruit-button {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 15px;
    text-align: center; }
    .c-nav-glogal__modal-recruit .c-nav-global__modal-recruit-button a {
      display: inline-block;
      position: relative;
      width: 156px;
      padding: 3px 10px;
      font-size: 1.4rem;
      font-weight: bold;
      text-decoration: none;
      color: #fff;
      background-color: #DC000C;
      border-radius: 23px; }
      @media screen and (max-width: 1030px) {
        .c-nav-glogal__modal-recruit .c-nav-global__modal-recruit-button a {
          font-size: 1.3rem; } }
      .c-nav-glogal__modal-recruit .c-nav-global__modal-recruit-button a::after {
        content: '→';
        position: absolute;
        display: inline-block;
        right: 10px; }
  .c-nav-glogal__modal-recruit li > span {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    background-color: rgba(255, 255, 255, 0.8); }
    @media screen and (max-width: 1030px) {
      .c-nav-glogal__modal-recruit li > span {
        font-size: 1.5rem; } }
  .c-nav-glogal__modal-recruit .c-nav-global__modal-close {
    margin-top: 40px;
    text-align: center; }
    .c-nav-glogal__modal-recruit .c-nav-global__modal-close button {
      font-size: 1.1rem;
      font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
      color: #808080; }
    .c-nav-glogal__modal-recruit .c-nav-global__modal-close span {
      display: inline-block;
      position: relative;
      width: 13px;
      height: 13px;
      margin-right: 10px; }
      .c-nav-glogal__modal-recruit .c-nav-global__modal-close span::before {
        content: '';
        position: absolute;
        display: inline-block;
        top: calc(50% + 1px);
        width: 13px;
        height: 1px;
        background-color: #808080;
        transform: rotate(45deg); }
      .c-nav-glogal__modal-recruit .c-nav-global__modal-close span::after {
        content: '';
        position: absolute;
        display: inline-block;
        top: calc(50% + 1px);
        width: 13px;
        height: 1px;
        background-color: #808080;
        transform: rotate(-45deg); }

.c-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 15px; }
  @media screen and (max-width: 767px) {
    .c-pagination {
      margin: 20px 0 45px; } }
  .c-pagination li {
    width: 50px;
    height: 50px;
    margin-right: 20px;
    border: 1px solid #DC000C; }
    @media screen and (max-width: 767px) {
      .c-pagination li {
        width: 30px;
        height: 30px;
        margin-right: 10px; } }
    .c-pagination li:first-child img {
      display: block;
      transform: rotate(180deg); }
  .c-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    background-color: #DC000C; }
    @media screen and (max-width: 767px) {
      .c-pagination span {
        font-size: 1.4rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-pagination span {
        padding-top: 4px; } }
  .c-pagination a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    color: #DC000C;
    background-color: #fff;
    transition: all .3s; }
    @media screen and (max-width: 767px) {
      .c-pagination a {
        font-size: 1.4rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-pagination a {
        padding-top: 4px; } }
    .c-pagination a[aria-current="page"] {
      color: #fff;
      background-color: #DC000C; }
    .c-pagination a:hover {
      color: #fff;
      background-color: #DC000C; }
    .c-pagination a[data-type="prev"], .c-pagination a[data-type="next"] {
      position: relative; }
      .c-pagination a[data-type="prev"]::before, .c-pagination a[data-type="next"]::before {
        position: absolute;
        content: '';
        top: calc(50% - 6.5px);
        right: calc(50% - 4px);
        width: 8px;
        height: 13px;
        background-image: url(./image/common/icon-arrow-red.svg);
        background-repeat: no-repeat;
        background-size: 8px 13px; }
      .c-pagination a[data-type="prev"]:hover:before, .c-pagination a[data-type="next"]:hover:before {
        background-image: url(./image/common/icon-arrow-white.svg); }
    .c-pagination a[data-type="prev"] {
      transform: rotate(180deg); }
    .c-pagination a.next, .c-pagination a.prev {
      font-size: 0;
      position: relative; }
      .c-pagination a.next::before, .c-pagination a.prev::before {
        position: absolute;
        content: '';
        top: calc(50% - 6.5px);
        right: calc(50% - 4px);
        width: 8px;
        height: 13px;
        background-image: url(./image/common/icon-arrow-red.svg);
        background-repeat: no-repeat;
        background-size: 8px 13px; }
      .c-pagination a.next:hover:before, .c-pagination a.prev:hover:before {
        background-image: url(./image/common/icon-arrow-white.svg); }
    .c-pagination a.prev {
      transform: rotate(180deg); }

.c-sitemap {
  background: #190B0B; }
  .c-sitemap__body {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 30px 0; }
    .c-sitemap__body li {
      margin-bottom: 20px; }
    .c-sitemap__body a {
      color: #fff; }

.c-social {
  margin: 0 auto;
  padding: 15px 0; }
  .c-social ul {
    display: flex;
    justify-content: center;
    list-style: none; }
    .c-social ul li {
      margin: 0 15px; }
    .c-social ul a {
      color: #FFB43C; }

.c-title {
  position: relative;
  margin: 87px 0 70px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .c-title {
      margin: 60px 0 45px; } }
  .c-title[data-page="business"] {
    margin: 90px 0 45px; }
  .c-title h1,
  .c-title h2 {
    position: relative;
    display: inline-block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2.8rem; }
    @media screen and (max-width: 767px) {
      .c-title h1,
      .c-title h2 {
        font-size: 2.2rem; } }
    .c-title h1::before,
    .c-title h2::before {
      content: '';
      position: absolute;
      z-index: 1;
      top: calc(50% - 40px);
      right: calc(50% - 40px);
      width: 80px;
      height: 80px;
      border: 1px solid #DC000C;
      border-radius: 50%; }
      @media screen and (max-width: 767px) {
        .c-title h1::before,
        .c-title h2::before {
          top: calc(50% - 36px);
          right: calc(50% - 36px);
          width: 72px;
          height: 72px; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .c-title h1::before,
        .c-title h2::before {
          top: calc(50% - 46px); } }
  .c-title span {
    position: relative;
    z-index: 1;
    background-color: #fff; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .c-title span {
        line-height: 1; } }

.c-title__bg-heading {
  position: absolute;
  top: -60%;
  left: 40px; }
  @media screen and (max-width: 960px) {
    .c-title__bg-heading {
      top: -40%; } }
  @media screen and (max-width: 767px) {
    .c-title__bg-heading {
      display: none; } }
  .c-title__bg-heading span {
    display: block;
    font-family: "ff-market-web", sans-serif;
    font-size: 12rem;
    line-height: 1;
    color: #F7F7F7; }
    @media screen and (max-width: 960px) {
      .c-title__bg-heading span {
        font-size: 8rem; } }

.c-title__small {
  font-size: 2.4rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .c-title__small {
      font-size: 2.2rem; } }

.c-wrapper {
  max-width: 1192px;
  margin: 0 auto;
  padding: 0 20px; }

.c-wrapper__small {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px; }

.p-company {
  margin-bottom: 125px; }
  @media screen and (max-width: 767px) {
    .p-company {
      margin-bottom: 60px; } }

.p-company__detail dl {
  position: relative;
  left: 15px;
  max-width: 880px;
  margin: -3px auto 0; }
  @media screen and (max-width: 960px) {
    .p-company__detail dl {
      position: static; } }
  .p-company__detail dl::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 30%;
    left: -51%;
    width: 452px;
    height: 459px;
    background-image: url(./image/company/company-sun01.svg);
    background-size: 452px 459px;
    background-repeat: no-repeat;
    overflow: hidden; }
    @media screen and (min-width: 1281px) {
      .p-company__detail dl::before {
        left: -70%; } }
    @media screen and (max-width: 960px) {
      .p-company__detail dl::before {
        top: initial;
        bottom: -50%;
        left: -40%; } }
    @media screen and (max-width: 767px) {
      .p-company__detail dl::before {
        left: -90%; } }
    @media screen and (max-width: 350px) {
      .p-company__detail dl::before {
        left: -100%; } }
  .p-company__detail dl div {
    display: flex;
    padding: 7px 0 10px;
    border-bottom: 1px solid #CCCCCC; }
    @media screen and (max-width: 767px) {
      .p-company__detail dl div {
        display: block; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-company__detail dl div {
        padding: 10px 0 7px; } }
  .p-company__detail dl dt {
    width: 165px;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    color: #414141; }
    @media screen and (max-width: 960px) {
      .p-company__detail dl dt {
        width: 140px; } }
    @media screen and (max-width: 767px) {
      .p-company__detail dl dt {
        width: 100%;
        margin-bottom: 5px;
        font-size: 1.4rem; } }
  .p-company__detail dl dd {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: 500; }
    @media screen and (max-width: 960px) {
      .p-company__detail dl dd {
        width: calc(100% - 140px); } }
    @media screen and (max-width: 767px) {
      .p-company__detail dl dd {
        width: 100%;
        font-size: 1.4rem; } }
    .p-company__detail dl dd span {
      margin: 0 16px; }
      @media screen and (max-width: 767px) {
        .p-company__detail dl dd span {
          display: block;
          margin: 0; } }

.p-company__history {
  position: relative;
  margin-top: 80px; }
  @media screen and (max-width: 767px) {
    .p-company__history {
      margin-top: 60px; } }
  .p-company__history::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    width: 191px;
    height: 314px;
    background-image: url(./image/company/company-sun02.svg);
    background-size: 318px 314px;
    background-repeat: no-repeat;
    overflow: hidden; }
    @media screen and (max-width: 960px) {
      .p-company__history::after {
        right: 0; } }
    @media screen and (max-width: 767px) {
      .p-company__history::after {
        top: 5%;
        width: 80px; } }

.p-company__history__content {
  margin-top: 83px;
  padding: 0 45px; }
  @media screen and (max-width: 960px) {
    .p-company__history__content {
      padding: 0; } }
  @media screen and (max-width: 767px) {
    .p-company__history__content {
      margin-top: 30px; } }

.p-company__history__unit {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 767px) {
    .p-company__history__unit {
      display: block; } }
  .p-company__history__unit dt, .p-company__history__unit dd {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: 1.8rem; }
  .p-company__history__unit dt {
    position: relative;
    width: 92px;
    margin-right: 134px;
    text-align: right; }
    @media screen and (max-width: 767px) {
      .p-company__history__unit dt {
        width: 100%;
        margin-right: 0;
        text-align: left;
        line-height: 1.6;
        color: #DC000C; } }
    .p-company__history__unit dt::after {
      content: '';
      position: absolute;
      z-index: 2;
      display: inline-block;
      top: -15px;
      right: -104px;
      width: 60px;
      height: 60px;
      background-color: #DC000C;
      border-radius: 50%; }
      @media screen and (max-width: 767px) {
        .p-company__history__unit dt::after {
          display: none; } }
    .p-company__history__unit dt[aria-hidden="true"] {
      visibility: hidden; }
      .p-company__history__unit dt[aria-hidden="true"]::after {
        visibility: visible; }
  .p-company__history__unit dd {
    width: calc(100% - 225px); }
    @media screen and (max-width: 767px) {
      .p-company__history__unit dd {
        width: 100%;
        font-size: 1.6rem;
        letter-spacing: 0.03em; } }
    @media screen and (max-width: 350px) {
      .p-company__history__unit dd {
        line-height: 1.5; } }
  .p-company__history__unit span {
    display: block;
    font-size: 1.4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: normal;
    line-height: 1.3;
    color: #808080; }
    @media screen and (max-width: 767px) {
      .p-company__history__unit span {
        font-size: 1.2rem;
        line-height: 1.6; } }
  .p-company__history__unit[data-type="normal"] dt, .p-company__history__unit[data-type="normal"] dd {
    font-size: 1.6rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif; }
  .p-company__history__unit[data-type="normal"] dt {
    color: #190B0B; }
    @media screen and (max-width: 767px) {
      .p-company__history__unit[data-type="normal"] dt {
        font-size: 1.6rem; } }
    .p-company__history__unit[data-type="normal"] dt::after {
      top: 0;
      right: -88px;
      width: 28px;
      height: 28px;
      background-color: #CCCCCC;
      border-radius: 50%; }
  .p-company__history__unit[data-type="normal"] + .p-company__history__unit[data-type="normal"] {
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .p-company__history__unit[data-type="normal"] + .p-company__history__unit[data-type="normal"] {
        margin-top: 11px; } }
  .p-company__history__unit[data-type="normal"] + .p-company__history__unit {
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .p-company__history__unit[data-type="normal"] + .p-company__history__unit {
        margin-top: 11px; } }
  .p-company__history__unit + .p-company__history__unit {
    margin-top: 35px; }
    @media screen and (max-width: 767px) {
      .p-company__history__unit + .p-company__history__unit {
        position: relative;
        margin-top: 11px;
        padding-top: 10px; }
        .p-company__history__unit + .p-company__history__unit::before {
          content: "";
          background-image: linear-gradient(to right, #CCCCCC, #CCCCCC 3px, transparent 3px, transparent 6px);
          background-size: 6px 1px;
          background-repeat: repeat-x;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0; } }
    .p-company__history__unit + .p-company__history__unit[data-height="large"] {
      margin-top: 45px; }
      @media screen and (max-width: 767px) {
        .p-company__history__unit + .p-company__history__unit[data-height="large"] {
          margin-top: 11px; } }
    .p-company__history__unit + .p-company__history__unit dd {
      position: relative; }
      .p-company__history__unit + .p-company__history__unit dd::before {
        content: '';
        position: absolute;
        z-index: 1;
        display: inline-block;
        top: -75px;
        left: -62px;
        width: 4px;
        height: 90px;
        background-color: #CCCCCC; }
        @media screen and (max-width: 960px) {
          .p-company__history__unit + .p-company__history__unit dd::before {
            height: 120px; } }
        @media screen and (max-width: 767px) {
          .p-company__history__unit + .p-company__history__unit dd::before {
            display: none; } }
  .p-company__history__unit + .p-company__history__unit[data-type="normal"] {
    margin-top: 40px; }
    @media screen and (max-width: 767px) {
      .p-company__history__unit + .p-company__history__unit[data-type="normal"] {
        margin-top: 11px; } }

.p-contact {
  margin: 0 0 35px;
  padding-top: 62px; }
  @media screen and (max-width: 767px) {
    .p-contact {
      margin: 0 0 35px;
      padding-top: 50px; } }
  .p-contact[data-page="confirm"] {
    margin: 0 0 92px;
    padding-top: 62px; }
    @media screen and (max-width: 767px) {
      .p-contact[data-page="confirm"] {
        margin: 0 0 35px;
        padding-top: 50px; } }
    .p-contact[data-page="confirm"] .p-contact__form-button-wrap {
      margin-top: 58px; }
  .p-contact[data-page="complete"] {
    position: relative; }
    .p-contact[data-page="complete"]:before {
      content: '';
      position: absolute;
      z-index: -1;
      bottom: -55%;
      left: -17%;
      width: 496px;
      height: 504px;
      background-image: url(./image/front/front-bg-sun04.svg);
      background-size: contain;
      background-repeat: no-repeat; }
      @media screen and (max-width: 960px) {
        .p-contact[data-page="complete"]:before {
          left: -40%; } }
      @media screen and (max-width: 767px) {
        .p-contact[data-page="complete"]:before {
          left: -70%;
          bottom: -70%; } }
      @media screen and (min-width: 1281px) {
        .p-contact[data-page="complete"]:before {
          left: -5%; } }
    .p-contact[data-page="complete"]:after {
      content: '';
      position: absolute;
      z-index: -1;
      top: -40%;
      right: 0;
      width: 236px;
      height: 317px;
      background-image: url(./image/front/front-bg-sun04.svg);
      background-size: cover;
      background-repeat: no-repeat; }
      @media screen and (max-width: 767px) {
        .p-contact[data-page="complete"]:after {
          display: none; } }

.p-contact__lead {
  margin-top: 29px;
  text-align: center;
  line-height: 1.5;
  color: #414141; }
  @media screen and (max-width: 767px) {
    .p-contact__lead {
      max-width: 430px;
      margin: 25px auto 0;
      font-size: 1.4rem;
      text-align: left; } }

.p-contact__form {
  max-width: 850px;
  margin: 30px auto 0; }
  .p-contact__form[data-page="confirm"] .p-contact__form-unit {
    padding: 15.5px 7px 15.5px;
    border-top: 1px solid #CCCCCC; }
    .p-contact__form[data-page="confirm"] .p-contact__form-unit::before {
      display: none; }
  .p-contact__form[data-page="confirm"] .p-contact__form-label span {
    display: none; }
  .p-contact__form[data-page="confirm"] .p-contact__form-input {
    width: calc(100% - 226px);
    line-height: 1.6; }
    @media screen and (max-width: 767px) {
      .p-contact__form[data-page="confirm"] .p-contact__form-input {
        width: 100%; } }
  .p-contact__form[data-page="confirm"] .p-contact__form-check-wrap {
    width: calc(100% - 226px); }
    @media screen and (max-width: 767px) {
      .p-contact__form[data-page="confirm"] .p-contact__form-check-wrap {
        width: 100%; } }

.p-contact__form-unit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 7px 14px; }
  .p-contact__form-unit::before {
    content: "";
    z-index: -1;
    background-image: linear-gradient(to right, #CCCCCC, #CCCCCC 4px, transparent 4px, transparent 8px);
    background-size: 8px 1px;
    background-repeat: repeat-x;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
  @media screen and (max-width: 767px) {
    .p-contact__form-unit {
      display: block; } }
  .p-contact__form-unit[data-align="top"] {
    align-items: flex-start; }
    .p-contact__form-unit[data-align="top"] .p-contact__form-label {
      margin-top: 8px; }
      @media screen and (max-width: 767px) {
        .p-contact__form-unit[data-align="top"] .p-contact__form-label {
          margin-top: 0; } }
  .p-contact__form-unit dt {
    font-size: 1.6rem;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .p-contact__form-unit dt {
        font-size: 1.4rem; } }
  .p-contact__form-unit dd {
    width: calc(100% - 225px);
    font-size: 1.6rem;
    line-height: 1.9; }
    @media screen and (max-width: 767px) {
      .p-contact__form-unit dd {
        width: 100%;
        font-size: 1.4rem; } }
    .p-contact__form-unit dd[data-type="message"] {
      letter-spacing: 0.09em;
      line-height: 1.5; }

.p-contact__form-label {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 767px) {
    .p-contact__form-label {
      margin-bottom: 10px; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .p-contact__form-label {
      margin-right: auto;
      margin-left: 0; } }
  .p-contact__form-label span {
    display: inline-block;
    margin-right: 8px;
    padding: 4px 8px 4px;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background-color: #DC000C;
    border-radius: 3px; }
    @media screen and (max-width: 767px) {
      .p-contact__form-label span {
        font-size: 1rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-contact__form-label span {
        margin-bottom: 4px;
        padding: 6px 8px 2px; } }
    .p-contact__form-label span[data-label="arbitrary"] {
      background-color: #808080; }
  .p-contact__form-label label,
  .p-contact__form-label p {
    display: inline-block;
    font-size: 1.6rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 767px) {
      .p-contact__form-label label,
      .p-contact__form-label p {
        font-size: 1.4rem; } }

.p-contact__form-input {
  width: calc(100% - 212px); }
  @media screen and (max-width: 767px) {
    .p-contact__form-input {
      width: 100%; } }
  .p-contact__form-input input,
  .p-contact__form-input textarea {
    max-width: 626px;
    width: 100%;
    padding: 15px 15px;
    font-size: 1.6rem;
    font-weight: bold;
    border: 1px solid #CCCCCC;
    border-radius: 3px; }
    @media screen and (max-width: 767px) {
      .p-contact__form-input input,
      .p-contact__form-input textarea {
        font-size: 1.4rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-contact__form-input input,
      .p-contact__form-input textarea {
        padding: 17px 15px 13px; } }
    .p-contact__form-input input::placeholder,
    .p-contact__form-input textarea::placeholder {
      color: #CCCCCC; }
  .p-contact__form-input textarea {
    resize: vertical;
    display: block;
    overflow: auto;
    padding: 6px 15px;
    line-height: 1.45; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-contact__form-input textarea {
        padding: 12px 15px 6px; } }

.p-contact__form-check-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(100% - 212px); }
  @media screen and (max-width: 767px) {
    .p-contact__form-check-wrap {
      width: 100%;
      flex-wrap: wrap; } }

@media screen and (max-width: 767px) {
  .p-contact__form-check {
    margin-right: 15px; } }

.p-contact__form-check > span.horizontal-item {
  margin-right: 20px; }
  .p-contact__form-check > span.horizontal-item + .horizontal-item {
    margin-left: 0; }

.p-contact__form-check input {
  display: none; }
  .p-contact__form-check input:checked + span:before {
    border: 2px solid #DC000C; }
  .p-contact__form-check input:checked + span:after {
    display: inline-block; }

.p-contact__form-check label {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  font-size: 1.6rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  cursor: pointer; }
  @media screen and (max-width: 960px) {
    .p-contact__form-check label {
      font-size: 1.4rem; } }
  @media screen and (max-width: 767px) {
    .p-contact__form-check label {
      font-size: 1.3rem; } }
  .p-contact__form-check label:checked::after {
    display: inline-block; }

.p-contact__form-check label span {
  position: relative; }
  .p-contact__form-check label span::before {
    content: '';
    display: inline-block;
    position: absolute;
    font-size: 1.6rem;
    top: calc(50% - 7px);
    left: -20px;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    border: 2px solid #190B0B;
    border-radius: 50%; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-contact__form-check label span::before {
        top: calc(50% - 9px); } }
  .p-contact__form-check label span::after {
    display: none;
    content: '';
    position: absolute;
    top: calc(50% - 3px);
    left: -16px;
    width: 6px;
    height: 6px;
    background-color: #DC000C;
    border-radius: 50%; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-contact__form-check label span::after {
        top: calc(50% - 5px); } }

.p-contact__form-button-wrap {
  margin-top: 2px; }
  @media screen and (max-width: 960px) {
    .p-contact__form-button-wrap {
      margin-top: 20px; } }
  .p-contact__form-button-wrap .c-button + .c-button {
    margin-top: 20px; }
  .p-contact__form-button-wrap .c-button button {
    margin: 0 auto; }

.p-contact__logo {
  margin-top: 22px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .p-contact__logo {
      margin-top: 45px; }
      .p-contact__logo img {
        width: 105px;
        height: 35px; } }

.p-contact__complete-message {
  margin: 40px 0 51px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .p-contact__complete-message {
      margin: 20px 0 45px; } }
  .p-contact__complete-message p {
    font-size: 2.4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.7;
    color: #DC000C; }
    @media screen and (max-width: 767px) {
      .p-contact__complete-message p {
        font-size: 1.8rem; } }
    @media screen and (max-width: 350px) {
      .p-contact__complete-message p {
        font-size: 1.6rem; } }

.p-contact__complete-button {
  margin-bottom: 120px; }
  @media screen and (max-width: 767px) {
    .p-contact__complete-button {
      margin-bottom: 45px; } }
  .p-contact__complete-button a {
    margin: 0 auto; }

.p-delivery {
  margin: 141px 0 90px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .p-delivery {
      margin: 115px 0 35px; } }
  .p-delivery .c-button a {
    margin: 0 auto; }

.p-delivery__lead {
  margin: 59px 0 30px;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.9;
  color: #DC000C; }
  @media screen and (max-width: 767px) {
    .p-delivery__lead {
      margin-top: 30px;
      font-size: 1.4rem; } }

.p-delivery__text {
  position: relative; }
  .p-delivery__text::before {
    content: '';
    position: absolute;
    display: inline-block;
    top: 1px;
    left: 0;
    width: 2px;
    height: 98%;
    background-color: #DC000C; }
  .p-delivery__text[data-position="top"] {
    margin-top: 59px; }
    @media screen and (max-width: 767px) {
      .p-delivery__text[data-position="top"] {
        margin-top: 30px; } }
  .p-delivery__text p,
  .p-delivery__text ol {
    padding-left: 20px;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    letter-spacing: 0.015em;
    line-height: 2; }
    @media screen and (max-width: 767px) {
      .p-delivery__text p,
      .p-delivery__text ol {
        padding-left: 10px;
        font-size: 1.4rem;
        line-height: 1.6; } }
  .p-delivery__text ol {
    margin-top: 10px; }
    .p-delivery__text ol li + li {
      margin-top: 5px; }
    .p-delivery__text ol li {
      line-height: 1.5; }
  .p-delivery__text a {
    color: #190B0B; }
    .p-delivery__text a:hover {
      text-decoration: none; }
  .p-delivery__text + .p-delivery__text {
    margin-top: 31px; }
    @media screen and (max-width: 767px) {
      .p-delivery__text + .p-delivery__text {
        margin-top: 20px; } }
  .p-delivery__text + .c-title__small {
    margin-top: 65px; }
    @media screen and (max-width: 767px) {
      .p-delivery__text + .c-title__small {
        margin-top: 35px; } }

.p-delivery__table {
  width: 100%;
  margin: 60px 0;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  text-align: center;
  border-top: 1px solid #CCCCCC;
  border-left: 1px solid #CCCCCC;
  border-collapse: collapse; }
  @media screen and (max-width: 767px) {
    .p-delivery__table {
      margin: 45px 0; } }
  .p-delivery__table th {
    padding: 13px;
    width: 25%;
    font-size: 1.4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    color: #fff;
    background-color: #DC000C;
    border-right: 1px solid #fff; }
    @media screen and (max-width: 767px) {
      .p-delivery__table th {
        padding: 3px;
        font-size: 1.1rem;
        line-height: 1.3; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-delivery__table th {
        padding: 15px 13px 11px; } }
    .p-delivery__table th:last-child {
      border-right: 1px solid #CCCCCC; }
    .p-delivery__table th br {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-delivery__table th br {
          display: block; } }
  .p-delivery__table tr > td:first-child {
    background-color: #F7F7F7;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif; }
  .p-delivery__table td {
    padding: 7.5px 6px;
    font-size: 1.4rem;
    font-weight: bold;
    border-bottom: 1px solid #CCCCCC;
    border-right: 1px solid #CCCCCC; }
    @media screen and (max-width: 767px) {
      .p-delivery__table td {
        font-size: 1.2rem;
        padding: 5px; } }
    @media screen and (max-width: 350px) {
      .p-delivery__table td {
        font-size: 1.1rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-delivery__table td {
        padding: 10px 6px 5px; } }

.p-flyer {
  margin: 140px 0 90px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .p-flyer {
      margin: 115px 0 35px; } }
  .p-flyer:before {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: -100%;
    left: -20%;
    width: 496px;
    height: 504px;
    background-image: url(./image/front/front-bg-sun04.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-flyer:before {
        left: -35%; } }
    @media screen and (max-width: 767px) {
      .p-flyer:before {
        left: -70%;
        bottom: -70%; } }
    @media screen and (min-width: 1281px) {
      .p-flyer:before {
        left: -5%; } }
  .p-flyer:after {
    content: '';
    position: absolute;
    z-index: -1;
    top: -40%;
    right: 0;
    width: 236px;
    height: 317px;
    background-image: url(./image/front/front-bg-sun04.svg);
    background-size: cover;
    background-repeat: no-repeat; }
    @media screen and (max-width: 767px) {
      .p-flyer:after {
        display: none; } }

.p-flyer__lead {
  margin-top: 20px;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.03em;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .p-flyer__lead {
      font-size: 1.5rem; } }
  .p-flyer__lead br {
    display: none; }
    @media screen and (max-width: 767px) {
      .p-flyer__lead br {
        display: block; } }
    @media screen and (max-width: 350px) {
      .p-flyer__lead br {
        display: none; } }

.p-flyer__wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 800px;
  margin: 38px auto 0;
  border-radius: 10px;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .p-flyer__wrap {
      display: block; } }

.p-flyer__image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52.5%;
  height: 230px;
  background-image: url(./image/common/flyer-bg.jpg);
  background-size: cover; }
  .p-flyer__image::before {
    content: '';
    z-index: 0;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(65, 65, 65, 0.6); }
  @media screen and (max-width: 960px) {
    .p-flyer__image {
      height: 203px; } }
  @media screen and (max-width: 767px) {
    .p-flyer__image {
      width: 100%;
      height: 200px; }
      .p-flyer__image img {
        width: 100%; } }
  .p-flyer__image > div {
    position: relative;
    z-index: 1;
    width: 232px;
    height: 165px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.3); }
    @media screen and (max-width: 767px) {
      .p-flyer__image > div {
        width: 200px;
        height: 143px; } }
  .p-flyer__image img {
    display: block;
    width: 100%; }

.p-flyer__content {
  width: 47.5%;
  height: 230px;
  padding: 39px 40px;
  color: #fff;
  background-color: #DC000C; }
  @media screen and (max-width: 960px) {
    .p-flyer__content {
      height: 203px;
      padding: 25px 40px; } }
  @media screen and (max-width: 767px) {
    .p-flyer__content {
      width: 100%;
      padding: 25px;
      text-align: center; } }
  .p-flyer__content h2 {
    margin-top: 5px;
    font-size: 3.2rem;
    line-height: 1; }
    @media screen and (max-width: 767px) {
      .p-flyer__content h2 {
        font-size: 2.6rem; } }
  .p-flyer__content p {
    margin: 14px 0 25px;
    font-size: 1.8rem;
    line-height: 1; }
    @media screen and (max-width: 767px) {
      .p-flyer__content p {
        font-size: 1.4rem; } }
  @media screen and (max-width: 767px) {
    .p-flyer__content .c-button a {
      margin: 0 auto; } }

.p-front__hero {
  position: relative;
  height: 54.6vw;
  display: flex;
  align-items: center;
  overflow: hidden; }
  @media screen and (min-width: 1281px) {
    .p-front__hero {
      max-height: 720px; } }
  @media screen and (min-width: 1600px) {
    .p-front__hero {
      max-height: 950px;
      height: 51.6vw; } }
  @media screen and (max-width: 767px) {
    .p-front__hero {
      height: 133vw;
      min-height: 100%; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .p-front__hero {
      height: 52.6vw; } }
  .p-front__hero::before {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 15%;
    left: -36%;
    width: 789px;
    height: 791px;
    background-image: url(./image/front/front-bg-sun01.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-front__hero::before {
        width: 405px;
        height: 396px;
        left: -25%;
        top: -20%;
        bottom: 0; } }
    @media screen and (max-width: 767px) {
      .p-front__hero::before {
        left: -50%;
        top: -40%; } }
    @media screen and (min-width: 1281px) {
      .p-front__hero::before {
        left: -15%; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-front__hero::before {
        left: -39%; } }
  .p-front__hero::after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -45%;
    right: -20%;
    width: 375px;
    overflow: hidden;
    width: 561px;
    height: 548px;
    background-image: url(./image/front/front-bg-sun01.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (min-width: 1281px) {
      .p-front__hero::after {
        right: -15%; } }
    @media screen and (max-width: 960px) {
      .p-front__hero::after {
        right: -40%;
        bottom: -320px; } }
    @media screen and (max-width: 767px) {
      .p-front__hero::after {
        width: 100%;
        height: 209px;
        right: 0;
        left: 0;
        bottom: 92px;
        background-image: none;
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+1,000000+100&0+0,0.62+100 */
        background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.01) 1%, rgba(0, 0, 0, 0.62) 100%);
        /* FF3.6-15 */
        background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.01) 1%, rgba(0, 0, 0, 0.62) 100%);
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.01) 1%, rgba(0, 0, 0, 0.62) 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#9e000000',GradientType=0 );
        /* IE6-9 */ } }

.p-front__hero-image-wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }
  .p-front__hero-image-wrap picture {
    width: 100%;
    height: 100%; }
  .p-front__hero-image-wrap #js-hero-slide {
    max-height: 100%; }
    .p-front__hero-image-wrap #js-hero-slide img {
      height: 100%;
      width: 100%; }
      @media screen and (max-width: 767px) {
        .p-front__hero-image-wrap #js-hero-slide img {
          height: 133vw; } }
  .p-front__hero-image-wrap .slick-arrow {
    display: none !important; }
  .p-front__hero-image-wrap .slick-dots {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    width: 100%;
    margin-top: 15px;
    padding-right: 54.5px; }
    @media screen and (min-width: 1281px) {
      .p-front__hero-image-wrap .slick-dots {
        bottom: 10%; } }
    @media screen and (max-width: 960px) {
      .p-front__hero-image-wrap .slick-dots {
        bottom: 15%; } }
    @media screen and (max-width: 767px) {
      .p-front__hero-image-wrap .slick-dots {
        bottom: 23%;
        padding-right: 14.5px; } }
    @media screen and (max-width: 350px) {
      .p-front__hero-image-wrap .slick-dots {
        bottom: 25%; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-front__hero-image-wrap .slick-dots {
        bottom: 30px; } }
    .p-front__hero-image-wrap .slick-dots li {
      margin: 0 9.5px;
      line-height: 0; }
      @media screen and (max-width: 960px) {
        .p-front__hero-image-wrap .slick-dots li {
          margin: 0 6px; } }
    .p-front__hero-image-wrap .slick-dots button {
      width: 20px;
      height: 20px;
      border: none;
      border-radius: 50%;
      font-size: 0;
      appearance: none;
      background: none;
      cursor: pointer;
      background-color: rgba(255, 255, 255, 0.8);
      transition: background-color 300ms;
      box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
      @media screen and (max-width: 960px) {
        .p-front__hero-image-wrap .slick-dots button {
          width: 15px;
          height: 15px; } }
    .p-front__hero-image-wrap .slick-dots button[aria-selected="true"] {
      background-color: #DC000C; }

.p-front__hero-inner {
  position: relative;
  z-index: 2;
  top: -15px;
  display: inline-block;
  right: -10%; }
  @media screen and (max-width: 960px) {
    .p-front__hero-inner {
      top: -10%; } }
  @media screen and (max-width: 767px) {
    .p-front__hero-inner {
      top: 0;
      right: 0;
      margin-bottom: 55px;
      padding: 0 10px 0 22px; } }

.p-front__hero-message b {
  display: block;
  font-size: 8.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  line-height: 1.15;
  letter-spacing: 0.03em;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); }
  @media screen and (max-width: 960px) {
    .p-front__hero-message b {
      font-size: 6vw; } }
  @media screen and (max-width: 767px) {
    .p-front__hero-message b {
      font-size: 12.5vw; } }
  @media screen and (max-width: 350px) {
    .p-front__hero-message b {
      font-size: 12vw; } }
  .p-front__hero-message b + b {
    margin-top: 5px; }

.p-front__hero-sub-message {
  margin-top: 32px;
  padding-left: 3px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 1.8rem;
  line-height: 1.9;
  letter-spacing: 0.015em;
  color: #fff; }
  @media screen and (max-width: 960px) {
    .p-front__hero-sub-message {
      font-size: 2vw; } }
  @media screen and (max-width: 767px) {
    .p-front__hero-sub-message {
      font-size: 4.4vw;
      line-height: 1.5; } }

.p-front__hero-notice {
  position: absolute;
  z-index: 3;
  right: 0;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: flex-end; }
  @media screen and (max-width: 960px) {
    .p-front__hero-notice {
      display: block; } }
  @media screen and (max-width: 767px) {
    .p-front__hero-notice {
      bottom: -4px; } }

.p-front__hero-notice-heading {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 31px 35px 29px;
  background-color: #DC000C;
  border-radius: 0 20px 0 0; }
  @media screen and (max-width: 960px) {
    .p-front__hero-notice-heading {
      position: static;
      display: inline-block;
      padding: 14px 20px; } }
  @media screen and (max-width: 350px) {
    .p-front__hero-notice-heading {
      padding: 10px 15px; } }
  .p-front__hero-notice-heading h2 {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.2rem;
    line-height: 1;
    color: #fff; }

.p-front__hero-notice-content {
  width: 100%; }

.p-front__hero-notice-content-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 15.5px 64px 15.5px 130px;
  background-color: #fff; }
  @media screen and (max-width: 960px) {
    .p-front__hero-notice-content-wrap {
      padding: 15px 65px 16px 19px; } }
  @media screen and (max-width: 767px) {
    .p-front__hero-notice-content-wrap {
      align-items: flex-end;
      padding: 15px 19px 20px; } }
  @media screen and (max-width: 350px) {
    .p-front__hero-notice-content-wrap {
      display: block;
      padding: 10px 15px; } }

.p-front__hero-notice-content-inner {
  display: flex;
  align-items: center; }
  @media screen and (max-width: 960px) {
    .p-front__hero-notice-content-inner {
      display: block; } }
  .p-front__hero-notice-content-inner div {
    display: flex;
    align-items: center; }
  .p-front__hero-notice-content-inner time {
    display: block;
    margin-right: 15px;
    font-size: 1.6rem;
    color: #808080; }
    @media screen and (max-width: 767px) {
      .p-front__hero-notice-content-inner time {
        margin-right: 10px;
        font-size: 1.4rem; } }
  .p-front__hero-notice-content-inner h3 {
    max-width: 650px;
    font-size: 1.4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    line-height: 1.5;
    color: #414141;
    white-space: nowrap;
    overflow: hidden; }
    @media screen and (max-width: 1150px) {
      .p-front__hero-notice-content-inner h3 {
        width: 46vw; } }
    @media screen and (max-width: 960px) {
      .p-front__hero-notice-content-inner h3 {
        width: 70vw; } }
    @media screen and (max-width: 767px) {
      .p-front__hero-notice-content-inner h3 {
        margin-top: 10px;
        white-space: nowrap;
        overflow: hidden; } }
    @media screen and (max-width: 350px) {
      .p-front__hero-notice-content-inner h3 {
        margin-top: 5px; } }

.p-front__hero-notice-tag {
  margin-right: 10px;
  padding: 7px 22.5px 6px;
  font-size: 1.3rem;
  line-height: 1;
  color: #414141;
  border: 1px solid #404040; }
  @media screen and (max-width: 767px) {
    .p-front__hero-notice-tag {
      padding: 8px;
      font-size: 1.2rem; } }
  @media screen and (max-width: 350px) {
    .p-front__hero-notice-tag {
      padding: 5px;
      font-size: 1.1rem; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .p-front__hero-notice-tag {
      margin-bottom: 2px;
      padding: 9px 22.5px 4px; } }

@media screen and (max-width: 350px) {
  .p-front__hero-notice-link {
    text-align: right; } }

.p-front__hero-notice-link a {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  letter-spacing: .05em;
  text-decoration: underline;
  color: #DC000C; }
  @media screen and (max-width: 767px) {
    .p-front__hero-notice-link a {
      font-size: 1.2rem; } }
  .p-front__hero-notice-link a:hover {
    text-decoration: none; }

.p-front__link {
  position: relative;
  z-index: 3;
  padding: 80px 30px 60px;
  background-color: #EFEFEF; }
  @media screen and (max-width: 767px) {
    .p-front__link {
      padding: 90px 19px 0; } }

.p-front__link-wrap {
  display: flex;
  justify-content: space-between;
  max-width: 1040px;
  margin: 0 auto; }
  @media screen and (max-width: 960px) {
    .p-front__link-wrap {
      display: block; } }

.p-front__link-unit {
  position: relative;
  display: flex;
  align-items: flex-end;
  width: calc(33.33% - 26.66px);
  height: auto;
  text-align: center;
  background-color: #fff;
  border-radius: 5px; }
  @media screen and (max-width: 960px) {
    .p-front__link-unit {
      width: 100%;
      max-width: 400px;
      margin: 0 auto; } }
  .p-front__link-unit[data-height="small"] p {
    margin: 22px 0 24px; }
    @media screen and (max-width: 767px) {
      .p-front__link-unit[data-height="small"] p {
        margin-bottom: 20px; } }
  @media screen and (max-width: 960px) {
    .p-front__link-unit + .p-front__link-unit {
      margin-top: 80px; } }
  .p-front__link-unit h2 {
    margin: 50px 0 12px;
    font-size: 2.4rem;
    line-height: 1;
    color: #DC000C; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-front__link-unit h2 {
        margin: 55px 0 10px; } }
  .p-front__link-unit p {
    display: block;
    margin-bottom: 15px;
    font-size: 1.4rem;
    line-height: 1.4;
    color: #414141; }
    @media screen and (max-width: 767px) {
      .p-front__link-unit p {
        margin: 10px 0; } }

.p-front__link-unit-inner {
  width: 100%; }

.p-front__link-icon {
  position: absolute;
  top: -50px;
  right: calc(50% - 50px);
  width: 100px;
  height: 100px;
  padding-top: 20px;
  background-color: #fff;
  border-radius: 50%; }

.p-front__link-image {
  padding-top: 40.7%;
  padding-bottom: 20px;
  background-image: url(./image/front/link-about.jpg);
  background-size: cover;
  background-position: center; }
  .p-front__link-image[data-link="shop"] {
    background-image: url(./image/front/link-shop.jpg); }
  .p-front__link-image[data-link="recruit"] {
    background-image: url(./image/front/link-recruit.jpg); }
  .p-front__link-image a {
    display: inline-block;
    position: relative;
    width: 160px;
    padding: 8px 10px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    color: #fff;
    background-color: #DC000C;
    border-radius: 23px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    transition: background-color .3s; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-front__link-image a {
        padding: 10px 10px 6px; } }
    .p-front__link-image a:hover {
      background-color: #a90009; }
    .p-front__link-image a::after {
      content: '';
      position: absolute;
      display: inline-block;
      right: 10px;
      top: calc(50% - 4.5px);
      width: 9px;
      height: 9px;
      background-image: url(./image/common/Icon-arrow-right.svg);
      background-size: 9px 9px;
      background-repeat: no-repeat; }

.p-front__information {
  position: relative;
  z-index: 4;
  padding: 60px 64px; }
  @media screen and (max-width: 1150px) {
    .p-front__information {
      padding: 40px 19px; } }
  @media screen and (max-width: 767px) {
    .p-front__information {
      background-color: #EFEFEF; } }
  .p-front__information::before {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -40px;
    left: -10%;
    width: 228px;
    height: 225px;
    background-image: url(./image/front/front-bg-sun03.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (min-width: 1281px) {
      .p-front__information::before {
        left: -5%; } }
    @media screen and (max-width: 767px) {
      .p-front__information::before {
        display: none; } }

.p-front__information-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1152px;
  margin: 0 auto; }
  @media screen and (max-width: 960px) {
    .p-front__information-wrap {
      display: block; } }

.p-front__information-unit {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  width: 560px;
  padding: 35px 15px 40px 43px;
  background-image: url(./image/front/information-bg-flyer.jpg);
  background-size: cover;
  background-position: center;
  border-radius: 10px;
  overflow: hidden; }
  @media screen and (max-width: 1250px) {
    .p-front__information-unit {
      padding: 20px 20px 37px;
      width: calc(50% - 10px); } }
  @media screen and (max-width: 960px) {
    .p-front__information-unit {
      display: block;
      width: 100%;
      max-width: 400px;
      margin: 0 auto;
      text-align: center; } }
  @media screen and (max-width: 767px) {
    .p-front__information-unit {
      padding: 30px 30px 37px;
      background-image: url(./image/front/information-bg-flyer-sp.jpg); } }
  .p-front__information-unit::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(65, 65, 65, 0.6); }
  .p-front__information-unit::after {
    content: '';
    position: absolute;
    z-index: 3;
    bottom: 20px;
    right: 0;
    left: 0;
    width: 100%;
    height: 88px;
    background-color: rgba(255, 255, 255, 0.4); }
    @media screen and (max-width: 767px) {
      .p-front__information-unit::after {
        bottom: 18px; } }
  .p-front__information-unit + .p-front__information-content {
    margin-left: 30px; }
  @media screen and (max-width: 960px) {
    .p-front__information-unit + .p-front__information-unit {
      max-width: 400px;
      margin: 40px auto 0; } }
  .p-front__information-unit[data-information="news"] {
    padding: 35px 10px 40px 15px;
    background-image: url(./image/front/information-bg-news.jpg); }
    .p-front__information-unit[data-information="news"]::before {
      background-color: rgba(0, 0, 0, 0.6); }
    @media screen and (max-width: 1250px) {
      .p-front__information-unit[data-information="news"] {
        padding: 20px 5px 37px 20px; } }
    @media screen and (max-width: 767px) {
      .p-front__information-unit[data-information="news"] {
        background-image: url(./image/front/information-bg-news-sp.jpg); } }
    .p-front__information-unit[data-information="news"] .p-front__information-image {
      width: 226px;
      height: 141px;
      margin: 12px 30px 0 19px;
      background-image: url(./image/front/information-image-news.png);
      box-shadow: none; }
      @media screen and (max-width: 1250px) {
        .p-front__information-unit[data-information="news"] .p-front__information-image {
          width: 190px;
          height: 118px;
          margin-right: 10px; } }
      @media screen and (max-width: 1150px) {
        .p-front__information-unit[data-information="news"] .p-front__information-image {
          width: 174px;
          height: 111px; } }
      @media screen and (max-width: 960px) {
        .p-front__information-unit[data-information="news"] .p-front__information-image {
          width: 255px;
          height: 159px;
          margin: 0 auto 15px; } }

.p-front__information-image {
  position: relative;
  z-index: 4;
  width: 204px;
  height: 145px;
  margin-right: 30px;
  background-image: url(./image/front/information-image-flyer.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.3); }
  @media screen and (max-width: 1250px) {
    .p-front__information-image {
      width: 161px;
      height: 115px;
      margin-right: 20px;
      background-size: cover; } }
  @media screen and (max-width: 960px) {
    .p-front__information-image {
      width: 204px;
      height: 145px;
      margin: 0 auto 25px; } }

.p-front__information-content {
  position: relative;
  z-index: 4;
  color: #fff; }
  .p-front__information-content h2 {
    margin-top: 10px;
    font-size: 2.4rem;
    line-height: 1.35; }
  .p-front__information-content p {
    font-size: 1.6rem; }
    @media screen and (max-width: 1150px) {
      .p-front__information-content p {
        font-size: 1.3rem; } }
    @media screen and (max-width: 960px) {
      .p-front__information-content p {
        font-size: 1.6rem; } }
  .p-front__information-content .c-button {
    margin-top: 38px; }
    @media screen and (max-width: 767px) {
      .p-front__information-content .c-button {
        margin-top: 36px; } }
    @media screen and (max-width: 960px) {
      .p-front__information-content .c-button a {
        margin: 0 auto; } }

.p-front__about {
  position: relative;
  z-index: 3;
  background-image: url(./image/front/front-about-bg.jpg);
  background-size: cover;
  background-position: center;
  overflow: hidden; }
  .p-front__about::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.95); }
  .p-front__about::after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 20px;
    right: -6%;
    width: 344px;
    overflow: hidden;
    width: 418px;
    height: 413px;
    background-image: url(./image/front/front-bg-sun04.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-front__about::after {
        right: -20%; } }
    @media screen and (max-width: 767px) {
      .p-front__about::after {
        right: -60%;
        top: 20%; } }

.p-front__about-inner {
  position: relative;
  z-index: 3;
  padding-top: 52px; }
  @media screen and (max-width: 767px) {
    .p-front__about-inner {
      padding-top: 60px; } }

.p-front__about-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 93px 0 80px;
  padding-right: 65px; }
  @media screen and (max-width: 960px) {
    .p-front__about-wrap {
      display: block;
      margin: 100px 0 0;
      padding-right: 0; } }
  @media screen and (max-width: 767px) {
    .p-front__about-wrap {
      margin-top: 60px; } }
  .p-front__about-wrap .slick-arrow {
    display: none !important; }
  .p-front__about-wrap .slick-dots {
    position: absolute;
    z-index: 10;
    right: 0;
    bottom: 32px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    width: 100%;
    margin-top: 15px;
    padding-right: 10.5px; }
    @media screen and (max-width: 767px) {
      .p-front__about-wrap .slick-dots {
        bottom: 24px;
        padding-right: 19px; } }
    .p-front__about-wrap .slick-dots li {
      margin: 0 6.5px;
      line-height: 0; }
      @media screen and (max-width: 767px) {
        .p-front__about-wrap .slick-dots li {
          margin: 0 4.5px; } }
    .p-front__about-wrap .slick-dots button {
      width: 18px;
      height: 18px;
      border: none;
      border-radius: 50%;
      font-size: 0;
      appearance: none;
      background: none;
      cursor: pointer;
      background-color: #fff;
      transition: background-color 300ms;
      box-shadow: 0 0 3px rgba(0, 0, 0, 0.16); }
      @media screen and (max-width: 767px) {
        .p-front__about-wrap .slick-dots button {
          width: 13px;
          height: 13px; } }
    .p-front__about-wrap .slick-dots button[aria-selected="true"] {
      border: 2px solid #fff;
      background-color: #DC000C; }

.p-front__about-image {
  width: 42%;
  margin-right: 27px; }
  @media screen and (max-width: 960px) {
    .p-front__about-image {
      width: 100%;
      max-width: 600px;
      margin: 0 auto; } }
  .p-front__about-image img {
    width: 100%; }

.p-front__about-content {
  width: calc(58% - 27px);
  max-width: 678px;
  padding-top: 13px; }
  @media screen and (max-width: 960px) {
    .p-front__about-content {
      width: 100%;
      max-width: 638px;
      margin: 30px auto 0;
      padding: 0 19px 60px; } }
  @media screen and (max-width: 767px) {
    .p-front__about-content {
      padding-bottom: 0; } }
  .p-front__about-content span {
    display: inline-block;
    margin-bottom: 22px;
    font-size: 3.2rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 767px) {
      .p-front__about-content span {
        max-width: 305px;
        font-size: 2rem; } }
  .p-front__about-content p {
    font-size: 1.6rem;
    letter-spacing: 0.015em; }
    @media screen and (max-width: 767px) {
      .p-front__about-content p {
        font-size: 1.4rem; } }
    .p-front__about-content p + p {
      margin-top: 32px; }
      @media screen and (max-width: 767px) {
        .p-front__about-content p + p {
          margin-top: 20px; } }
  .p-front__about-content .c-button {
    position: relative;
    left: -5px;
    margin-top: 53px; }
    @media screen and (max-width: 767px) {
      .p-front__about-content .c-button {
        margin: 30px 0 40px; } }
    @media screen and (max-width: 960px) {
      .p-front__about-content .c-button a {
        margin: 0 auto; } }

.p-front__about-bg-heading {
  position: absolute;
  top: 0;
  left: 40px;
  margin-top: 15px; }
  @media screen and (max-width: 767px) {
    .p-front__about-bg-heading {
      display: none; } }
  .p-front__about-bg-heading span {
    font-family: "ff-market-web", sans-serif;
    font-size: 12rem;
    line-height: 1;
    color: #F7F7F7; }

.p-front__recruit {
  position: relative;
  padding-top: 61px; }
  @media screen and (max-width: 767px) {
    .p-front__recruit {
      padding: 60px 19px 0; } }
  .p-front__recruit::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -80px;
    right: 0;
    overflow: hidden;
    width: 381px;
    height: 666px;
    background-image: url(./image/front/front-bg-sun05.svg);
    background-size: 673px 666px;
    background-repeat: no-repeat; }
    @media screen and (min-width: 1281px) {
      .p-front__recruit::before {
        width: 673px; } }
    @media screen and (max-width: 960px) {
      .p-front__recruit::before {
        top: initial;
        bottom: -20%;
        width: 350px;
        background-size: 400px 400px; } }
    @media screen and (max-width: 767px) {
      .p-front__recruit::before {
        bottom: 0;
        width: 221px;
        height: 219px;
        background-size: 221px 219px; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-front__recruit::before {
        width: 281px; } }
    @supports (-ms-ime-align: auto) {
      .p-front__recruit::before {
        width: 331px; } }

.p-front__recruit-wrap {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1480px;
  margin: 75px 0 0 65px; }
  @media screen and (max-width: 960px) {
    .p-front__recruit-wrap {
      display: block;
      max-width: 600px;
      margin: 60px auto 0; } }

.p-front__recruit-content span {
  display: block;
  margin-bottom: 30px;
  font-size: 3.2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.015em; }
  @media screen and (max-width: 767px) {
    .p-front__recruit-content span {
      font-size: 2rem;
      max-width: 295px;
      margin-bottom: 20px; } }

.p-front__recruit-content p {
  font-size: 1.6rem; }
  @media screen and (max-width: 767px) {
    .p-front__recruit-content p {
      font-size: 1.4rem; } }

.p-front__recruit-button {
  margin-top: 51px; }
  @media screen and (max-width: 960px) {
    .p-front__recruit-button {
      margin-top: 30px; }
      .p-front__recruit-button .c-button a {
        margin: 0 auto; } }
  .p-front__recruit-button .c-button a {
    padding: 16px 12px 16px 2px; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-front__recruit-button .c-button a {
        padding: 19px 12px 13px 2px; } }

.p-front__recruit-image-wrap {
  position: relative;
  width: 33%; }
  @media screen and (max-width: 767px) {
    .p-front__recruit-image-wrap {
      width: 100%; } }
  @media screen and (max-width: 960px) {
    .p-front__recruit-image-wrap {
      width: 90%;
      margin: 95px auto 0; } }
  @media screen and (max-width: 767px) {
    .p-front__recruit-image-wrap {
      margin-top: 75px; } }
  .p-front__recruit-image-wrap div {
    position: absolute; }
    .p-front__recruit-image-wrap div span {
      display: block;
      background-size: cover;
      background-position: center;
      border-radius: 50%; }
    .p-front__recruit-image-wrap div:first-child {
      position: relative;
      z-index: 4;
      top: 22px;
      right: 31%;
      width: 310px;
      margin-left: auto; }
      @media screen and (max-width: 767px) {
        .p-front__recruit-image-wrap div:first-child {
          right: 5%;
          width: 100%; } }
      .p-front__recruit-image-wrap div:first-child > span {
        width: 310px;
        height: 310px;
        background-image: url(./image/front/front-recruit01.jpg); }
        @media screen and (max-width: 767px) {
          .p-front__recruit-image-wrap div:first-child > span {
            width: 187px;
            height: 187px; } }
    .p-front__recruit-image-wrap div:nth-child(2) {
      z-index: 3;
      top: -60px;
      right: 0;
      width: 213px;
      overflow: hidden; }
      @media screen and (min-width: 1281px) {
        .p-front__recruit-image-wrap div:nth-child(2) {
          width: 230px; } }
      @media screen and (max-width: 960px) {
        .p-front__recruit-image-wrap div:nth-child(2) {
          width: 230px; } }
      @media screen and (max-width: 767px) {
        .p-front__recruit-image-wrap div:nth-child(2) {
          top: -45px;
          right: 15px;
          width: 180px; } }
      .p-front__recruit-image-wrap div:nth-child(2) > span {
        width: 230px;
        height: 230px;
        background-image: url(./image/front/front-recruit02.jpg); }
        @media screen and (max-width: 767px) {
          .p-front__recruit-image-wrap div:nth-child(2) > span {
            width: 140px;
            height: 140px; } }

.p-front__recruit-bg-heading {
  position: absolute;
  top: 0;
  left: 40px;
  margin-top: 15px; }
  @media screen and (max-width: 767px) {
    .p-front__recruit-bg-heading {
      display: none; } }
  .p-front__recruit-bg-heading span {
    font-family: "ff-market-web", sans-serif;
    font-size: 12rem;
    line-height: 1;
    color: #F7F7F7; }

.p-front__news {
  position: relative;
  margin-top: 90px;
  padding-bottom: 90px; }
  @media screen and (max-width: 767px) {
    .p-front__news {
      margin-top: 88px;
      padding: 60px 0 40px;
      background-color: #F7F7F7; } }
  .p-front__news::before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 80px;
    left: -15%;
    width: 644px;
    height: 638px;
    background-image: url(./image/front/front-bg-sun06.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-front__news::before {
        display: none; } }
  @media screen and (max-width: 767px) {
    .p-front__news .c-heading h2 {
      background-color: #F7F7F7; } }

.p-front__news-inner {
  position: relative;
  z-index: 3; }
  .p-front__news-inner .c-button a {
    margin: 0 auto;
    background-color: #fff; }
    @media screen and (max-width: 767px) {
      .p-front__news-inner .c-button a {
        background-color: #F7F7F7; } }

.p-front__news-wrap {
  position: relative;
  z-index: 3;
  max-width: 1024px;
  margin: 68px auto 37px;
  padding: 24px 35px;
  background-color: #fff;
  border: 1px solid #EEEEEE; }
  @media screen and (max-width: 960px) {
    .p-front__news-wrap {
      max-width: 600px; } }
  @media screen and (max-width: 767px) {
    .p-front__news-wrap {
      margin: 35px auto 18px;
      padding: 0 19px;
      border: none;
      background-color: #F7F7F7; } }
  .p-front__news-wrap a {
    display: flex;
    align-items: center;
    padding: 7px 0;
    text-decoration: none;
    color: #190B0B; }
    .p-front__news-wrap a:hover {
      text-decoration: underline; }
    @media screen and (max-width: 960px) {
      .p-front__news-wrap a {
        display: block; } }
    @media screen and (max-width: 767px) {
      .p-front__news-wrap a {
        padding: 25px 0 8px; } }
    .p-front__news-wrap a > div {
      display: flex;
      align-items: center; }
  .p-front__news-wrap time {
    display: block;
    min-width: 104px;
    font-size: 1.2rem;
    color: #808080; }
    @media screen and (max-width: 767px) {
      .p-front__news-wrap time {
        line-height: 1; } }
  .p-front__news-wrap p {
    max-width: 755px;
    margin-left: 10px;
    font-size: 1.4rem;
    font-weight: normal; }
    @media screen and (max-width: 960px) {
      .p-front__news-wrap p {
        margin: 12px 0 0 0;
        line-height: 1.5; } }
  .p-front__news-wrap li + li {
    border-top: 1px dashed #CCCCCC; }

.p-front__news-tag {
  padding: 7px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 1.2rem;
  line-height: 1;
  color: #190B0B;
  border: 1px solid #190B0B; }
  @media screen and (max-width: 767px) {
    .p-front__news-tag {
      padding: 7px;
      font-size: 1.2rem; } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .p-front__news-tag {
      padding: 9px 7px 5px; } }

.p-front__news-bg-heading {
  position: absolute;
  top: -30px;
  left: 40px; }
  @media screen and (max-width: 767px) {
    .p-front__news-bg-heading {
      display: none; } }
  .p-front__news-bg-heading span {
    font-family: "ff-market-web", sans-serif;
    font-size: 12rem;
    line-height: 1;
    color: #F7F7F7; }

.p-front__contact {
  position: relative;
  z-index: 3;
  padding: 65px 0 70px;
  background-image: url(./image/front/front-contact-bg.jpg);
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 767px) {
    .p-front__contact {
      padding: 66px 0 0; } }
  .p-front__contact::before {
    content: '';
    position: absolute;
    z-index: 0;
    top: -1px;
    right: 0;
    bottom: -1px;
    left: 0;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,f3f3f3+75,ffffff+100&0.9+0,0.98+75,1+100 */
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.9) 0%, rgba(243, 243, 243, 0.98) 75%, white 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.9) 0%, rgba(243, 243, 243, 0.98) 75%, white 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(243, 243, 243, 0.98) 75%, white 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6ffffff', endColorstr='#ffffff',GradientType=0 );
    /* IE6-9 */ }

.p-front__contact-content {
  position: relative;
  z-index: 3;
  width: 852px;
  margin: 70px auto 0;
  padding: 23px;
  text-align: center;
  background-color: #fff;
  border-radius: 5px; }
  @media screen and (max-width: 960px) {
    .p-front__contact-content {
      width: 100%; } }
  @media screen and (max-width: 767px) {
    .p-front__contact-content {
      margin: 30px auto 0;
      background-color: transparent; } }
  @media screen and (max-width: 350px) {
    .p-front__contact-content {
      padding: 30px 19px; } }
  .p-front__contact-content span {
    font-size: 1.8rem;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .p-front__contact-content span {
        font-size: 1.6rem; } }
    .p-front__contact-content span br {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-front__contact-content span br {
          display: block; } }
  .p-front__contact-content p {
    margin-top: 10px;
    font-size: 1.4rem;
    color: #414141; }
    @media screen and (max-width: 960px) {
      .p-front__contact-content p {
        max-width: 600px;
        margin: 10px auto 0; } }
    @media screen and (max-width: 767px) {
      .p-front__contact-content p {
        margin-top: 20px; } }
    .p-front__contact-content p br[data-device="sp"] {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-front__contact-content p br[data-device="sp"] {
          display: block; } }
  .p-front__contact-content .c-button a {
    margin: 27px auto 0; }

.p-front__contact-bg-heading {
  position: absolute;
  top: 30px;
  left: 40px; }
  @media screen and (max-width: 767px) {
    .p-front__contact-bg-heading {
      display: none; } }
  .p-front__contact-bg-heading span {
    font-family: "ff-market-web", sans-serif;
    font-size: 12rem;
    line-height: 1;
    color: #fff; }

.p-front__ec {
  padding: 38px 0 80px; }
  @media screen and (max-width: 767px) {
    .p-front__ec {
      padding: 20px 0 40px; } }

.p-front__ec-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  padding: 33px 40px;
  border: 1px solid #CCCCCC; }
  @media screen and (max-width: 960px) {
    .p-front__ec-content {
      display: block;
      max-width: 500px; } }
  @media screen and (max-width: 767px) {
    .p-front__ec-content {
      padding: 35px 20px 40px; } }
  .p-front__ec-content .c-button a {
    position: relative;
    top: -2px; }
    .p-front__ec-content .c-button a a {
      padding: 11px; }
    @media screen and (max-width: 960px) {
      .p-front__ec-content .c-button a {
        margin: 0 auto; } }

.p-front__ec-image {
  display: flex;
  margin-right: 40px; }
  @media screen and (max-width: 960px) {
    .p-front__ec-image {
      justify-content: center;
      margin: 18px 0 40px; } }
  .p-front__ec-image li + li {
    margin-left: 25px; }

.p-front__ec-text {
  margin-right: 35px; }
  @media screen and (max-width: 767px) {
    .p-front__ec-text {
      margin-right: 0; } }
  .p-front__ec-text b {
    font-size: 1.6rem;
    font-weight: bold; }
  .p-front__ec-text h2 {
    margin: 10px 0 1px;
    font-size: 3.6rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    line-height: 1; }
  .p-front__ec-text span {
    font-size: 1.4rem; }
    @media screen and (max-width: 767px) {
      .p-front__ec-text span {
        display: block;
        margin: 10px 0 18px;
        line-height: 1.4;
        letter-spacing: 0.001em; } }

.p-group {
  position: relative;
  padding-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .p-group {
      padding-bottom: 60px; } }
  .p-group::before {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: -15%;
    left: -13%;
    width: 538px;
    height: 533px;
    background-image: url(./image/business/group-sun03.svg);
    background-size: 538px 533px;
    background-repeat: no-repeat;
    overflow: hidden; }
    @media screen and (min-width: 1281px) {
      .p-group::before {
        left: -5%; } }
    @media screen and (max-width: 960px) {
      .p-group::before {
        left: -20%; } }
    @media screen and (max-width: 767px) {
      .p-group::before {
        left: -65%;
        bottom: -10%; } }
    @media screen and (max-width: 350px) {
      .p-group::before {
        left: -75%;
        bottom: -10%; } }

.p-group__message {
  padding: 0 20px;
  text-align: center; }
  .p-group__message span {
    font-size: 2.8rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 767px) {
      .p-group__message span {
        font-size: 2rem; } }
    .p-group__message span br {
      display: none; }
      @media screen and (max-width: 350px) {
        .p-group__message span br {
          display: block; } }
  .p-group__message p {
    margin-top: 7px;
    font-size: 1.8rem;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 960px) {
      .p-group__message p {
        font-size: 1.7rem; } }
    @media screen and (max-width: 767px) {
      .p-group__message p {
        font-size: 1.4rem; } }
    .p-group__message p br {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-group__message p br {
          display: block; } }
      @media screen and (max-width: 350px) {
        .p-group__message p br {
          display: none; } }

.p-group__image {
  margin: 56px auto 110px;
  padding: 0 20px; }
  @media screen and (max-width: 767px) {
    .p-group__image {
      margin-bottom: 60px; } }
  .p-group__image img {
    display: block;
    margin: 0 auto; }

.p-group__business {
  position: relative; }
  .p-group__business::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -6%;
    left: -12%;
    width: 324px;
    height: 320px;
    background-image: url(./image/business/group-sun01.svg);
    background-size: 324px 320px;
    background-repeat: no-repeat;
    overflow: hidden; }
    @media screen and (min-width: 1281px) {
      .p-group__business::before {
        left: -5%; } }
    @media screen and (max-width: 960px) {
      .p-group__business::before {
        top: 5%;
        left: -20%; } }
    @media screen and (max-width: 767px) {
      .p-group__business::before {
        left: -60%; } }
  .p-group__business::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: 19%;
    right: 0;
    width: 377px;
    height: 691px;
    background-image: url(./image/business/group-sun02.svg);
    background-size: 698px 691px;
    background-repeat: no-repeat;
    overflow: hidden; }
    @media screen and (max-width: 960px) {
      .p-group__business::after {
        right: 0; } }
    @media screen and (max-width: 767px) {
      .p-group__business::after {
        width: 200px; } }

.p-group__business-unit-wrap {
  position: relative;
  z-index: 3;
  margin-top: 55px; }
  @media screen and (max-width: 767px) {
    .p-group__business-unit-wrap {
      margin-top: 35px; } }

.p-group__business-unit {
  display: flex;
  align-items: center;
  padding: 18px 0 18px 20px;
  background-color: #fff;
  border: 2px solid #EFEFEF;
  border-radius: 5px; }
  @media screen and (max-width: 960px) {
    .p-group__business-unit {
      display: block;
      max-width: 600px;
      width: 100%;
      margin: 0 auto;
      padding: 18px; } }
  @media screen and (max-width: 767px) {
    .p-group__business-unit {
      padding: 10px; } }
  .p-group__business-unit + .p-group__business-unit {
    margin-top: 20px; }
  .p-group__business-unit h3 {
    padding: 6px;
    font-size: 1.8rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    background-color: #EFEFEF; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-group__business-unit h3 {
        padding: 9px 6px 3px; } }
  .p-group__business-unit p {
    margin-top: 7px;
    margin-left: 10px;
    padding-right: 10px;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.014em; }
    @media screen and (max-width: 767px) {
      .p-group__business-unit p {
        padding-right: 0; } }
  .p-group__business-unit dl {
    margin: 6px 0 0 10px;
    font-size: 1.4rem; }
    @media screen and (max-width: 960px) {
      .p-group__business-unit dl {
        margin-top: 15px; } }
    .p-group__business-unit dl div {
      display: flex; }
    .p-group__business-unit dl dt {
      min-width: 77px;
      letter-spacing: 0.02em; }
    .p-group__business-unit dl dd {
      letter-spacing: 0.02em; }

.p-group__business-unit-content {
  width: calc(100% - 350px); }
  @media screen and (max-width: 1150px) {
    .p-group__business-unit-content {
      width: calc(100% - 290px); } }
  @media screen and (max-width: 960px) {
    .p-group__business-unit-content {
      width: 100%; } }

.p-group__business-unit-image {
  max-width: 330px;
  margin-right: 20px;
  overflow: hidden; }
  @media screen and (max-width: 1150px) {
    .p-group__business-unit-image {
      max-width: 270px; } }
  @media screen and (max-width: 960px) {
    .p-group__business-unit-image {
      margin-right: 0;
      width: 100%;
      max-width: 100%; } }
  .p-group__business-unit-image img {
    display: block;
    width: 100%;
    border-radius: 5px; }
    @media screen and (max-width: 960px) {
      .p-group__business-unit-image img {
        border-radius: 5px 5px 0 0; } }

.p-group__business-unit-button {
  margin: 11px 0 0 10px; }
  .p-group__business-unit-button a {
    position: relative;
    display: block;
    width: 190px;
    padding: 7px;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    line-height: 1;
    color: #DC000C;
    border: 1px solid #DC000C;
    transition: all .3s; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-group__business-unit-button a {
        padding: 10px 7px 4px; } }
    .p-group__business-unit-button a:hover {
      background-color: #DC000C;
      color: #fff; }
      .p-group__business-unit-button a:hover::after {
        background-image: url(./image/common/icon-arrow-white.svg); }
    .p-group__business-unit-button a::after {
      content: '';
      position: absolute;
      display: inline-block;
      top: calc(50% - 4px);
      right: 18px;
      width: 5px;
      height: 8px;
      background-image: url(./image/common/icon-arrow-red.svg);
      background-size: 5px 8px; }

.p-link {
  position: relative;
  overflow: hidden; }
  .p-link::after {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: -60%;
    right: 0;
    width: 405px;
    height: 791px;
    background-image: url(./image/common/link-bg-sun.svg);
    background-size: 720px 711px;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-link::after {
        width: 405px;
        height: 396px;
        right: -25%;
        bottom: -20%; } }
  .p-link[data-page="information"]::after, .p-link[data-page="business"]::after {
    right: initial;
    left: -10%;
    bottom: -49%;
    width: 538px;
    height: 533px;
    background-size: 538px 533px; }
    @media screen and (max-width: 960px) {
      .p-link[data-page="information"]::after, .p-link[data-page="business"]::after {
        left: -35%;
        bottom: -80%; } }
    @media screen and (max-width: 767px) {
      .p-link[data-page="information"]::after, .p-link[data-page="business"]::after {
        left: -85%;
        bottom: -80%; } }

.p-link__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 100px 0 70px; }
  @media screen and (max-width: 767px) {
    .p-link__wrap {
      display: block;
      margin: 45px auto;
      max-width: 556px; } }

.p-link__unit {
  position: relative;
  width: calc(50% - 20px);
  margin-bottom: 40px;
  padding-top: 28.64%;
  border-radius: 5px 5px 0 0;
  overflow: hidden; }
  .p-link__unit[data-link="policy"] .p-link__unit-inner {
    background-image: url(./image/common/link-policy.jpg); }
  .p-link__unit[data-link="message"] .p-link__unit-inner {
    background-image: url(./image/common/link-message.jpg); }
  .p-link__unit[data-link="topics"] .p-link__unit-inner {
    background-image: url(./image/common/link-topics.jpg); }
  .p-link__unit[data-link="news"] .p-link__unit-inner {
    background-image: url(./image/common/link-news.jpg); }
  .p-link__unit[data-link="lowprice"] .p-link__unit-inner {
    background-image: url(./image/common/link-lowprice.jpg); }
  .p-link__unit[data-link="group"] .p-link__unit-inner {
    background-image: url(./image/common/link-group.jpg); }
  @media screen and (max-width: 960px) {
    .p-link__unit {
      width: calc(50% - 10px);
      margin-bottom: 20px; } }
  @media screen and (max-width: 767px) {
    .p-link__unit {
      width: 100%;
      padding-top: 59.35%;
      margin: 0 auto 20px; } }
  @media screen and (max-width: 350px) {
    .p-link__unit {
      padding-top: 65.35%; } }
  .p-link__unit span {
    position: absolute;
    top: 18px;
    left: 20px;
    display: inline-block;
    font-family: "Pacifico", cursive, serif;
    font-size: 3.4rem;
    line-height: 1;
    color: #fff; }
    @media screen and (max-width: 960px) {
      .p-link__unit span {
        top: 15px;
        left: 15px; } }
    @media screen and (max-width: 350px) {
      .p-link__unit span {
        top: 10px;
        font-size: 2.8rem; } }
  .p-link__unit h2 {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 440px;
    padding: 16px 30px;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2.8rem;
    background-color: rgba(255, 255, 255, 0.95); }
    @media screen and (max-width: 1150px) {
      .p-link__unit h2 {
        font-size: 2.2rem; } }
    @media screen and (max-width: 960px) {
      .p-link__unit h2 {
        font-size: 2rem; } }
    @media screen and (max-width: 767px) {
      .p-link__unit h2 {
        width: 100%;
        padding: 15px;
        font-size: 2rem; } }
    @media screen and (max-width: 350px) {
      .p-link__unit h2 {
        padding: 5px 10px; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-link__unit h2 {
        padding: 19px 30px 13px; } }
  .p-link__unit .p-link__unit-button {
    position: absolute;
    right: 0;
    bottom: 0;
    text-align: center; }
    @media screen and (max-width: 350px) {
      .p-link__unit .p-link__unit-button {
        bottom: 45px;
        right: 0;
        left: 0; } }
    .p-link__unit .p-link__unit-button a {
      position: relative;
      display: block;
      width: 220px;
      padding: 11px;
      font-size: 1.6rem;
      font-weight: bold;
      text-decoration: none;
      color: #fff;
      background-color: #DC000C;
      transition: background-color 0.3s, color 0.3s; }
      @media screen and (max-width: 960px) {
        .p-link__unit .p-link__unit-button a {
          width: 100%;
          padding: 9px 30px 9px 9px;
          font-size: 1.4rem; } }
      @media screen and (max-width: 350px) {
        .p-link__unit .p-link__unit-button a {
          width: 190px;
          margin: 0 auto;
          padding: 5px 30px 5px 5px;
          border-radius: 25px; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .p-link__unit .p-link__unit-button a {
          padding: 14px 11px 8px; } }
      .p-link__unit .p-link__unit-button a::after {
        content: '';
        position: absolute;
        right: 31px;
        top: calc(50% - 3px);
        width: 6px;
        height: 6px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        transform: rotate(45deg); }
        @media screen and (max-width: 960px) {
          .p-link__unit .p-link__unit-button a::after {
            right: 15px; } }
      .p-link__unit .p-link__unit-button a:hover {
        padding: 10px;
        color: #DC000C;
        background-color: #fff;
        border: 1px solid #DC000C; }
        @media screen and (max-width: 960px) {
          .p-link__unit .p-link__unit-button a:hover {
            padding: 8px 29px 8px 8px; } }
        @media screen and (max-width: 350px) {
          .p-link__unit .p-link__unit-button a:hover {
            padding: 4px 29px 4px 4px; } }
        @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
          .p-link__unit .p-link__unit-button a:hover {
            padding: 13px 11px 7px; } }
        .p-link__unit .p-link__unit-button a:hover::after {
          border-top: 1px solid #DC000C;
          border-right: 1px solid #DC000C; }

.p-link__unit-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  padding-top: 59.35%;
  background-image: url(./image/common/link-company.jpg);
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 350px) {
    .p-link__unit-inner {
      padding-top: 65.35%; } }

.p-lowprice {
  position: relative;
  padding-bottom: 114px;
  text-align: center;
  overflow: hidden; }
  @media screen and (max-width: 767px) {
    .p-lowprice {
      padding-bottom: 45px; } }
  .p-lowprice::before {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -32%;
    right: -40%;
    width: 789px;
    height: 791px;
    background-image: url(./image/business/bg-sun.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-lowprice::before {
        width: 405px;
        height: 396px;
        right: -25%;
        bottom: -10%; } }
    @media screen and (max-width: 767px) {
      .p-lowprice::before {
        right: -50%;
        top: -40%; } }
    @media screen and (min-width: 1281px) {
      .p-lowprice::before {
        right: -15%; } }

.p-lowprice__message {
  position: relative;
  z-index: 4;
  padding: 0 20px; }
  .p-lowprice__message b {
    position: relative;
    z-index: 4;
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2.8rem;
    letter-spacing: 0.03em; }
    @media screen and (max-width: 767px) {
      .p-lowprice__message b {
        font-size: 2rem; } }
    @media screen and (max-width: 350px) {
      .p-lowprice__message b {
        max-width: 260px;
        margin: 0 auto; } }

.p-lowprice__lead {
  position: relative;
  z-index: 2;
  margin-top: 15px;
  padding: 0 20px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.02em; }
  @media screen and (max-width: 767px) {
    .p-lowprice__lead {
      font-size: 1.5rem; }
      .p-lowprice__lead br {
        display: none; } }
  .p-lowprice__lead::after {
    content: '';
    position: absolute;
    z-index: -1;
    top: -65%;
    right: 0;
    width: 240px;
    height: 320px;
    background-image: url(./image/business/bg-sun.svg);
    background-size: 324px 320px;
    background-repeat: no-repeat;
    overflow: hidden; }
    @media screen and (min-width: 1281px) {
      .p-lowprice__lead::after {
        right: -5%; } }
    @media screen and (max-width: 960px) {
      .p-lowprice__lead::after {
        right: -20%; } }
    @media screen and (max-width: 767px) {
      .p-lowprice__lead::after {
        right: -40%; } }

.p-lowprice__image {
  position: relative;
  z-index: 2;
  margin-top: 55px;
  padding: 0 20px; }
  @media screen and (max-width: 767px) {
    .p-lowprice__image {
      margin-top: 35px; } }
  .p-lowprice__image::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 30%;
    left: -16%;
    width: 552px;
    height: 562px;
    background-image: url(./image/business/bg-sun.svg);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-lowprice__image::before {
        width: 405px;
        height: 396px;
        left: -25%;
        top: 40%;
        bottom: 0; } }
    @media screen and (max-width: 767px) {
      .p-lowprice__image::before {
        top: 50%;
        left: -50%; } }
    @media screen and (max-width: 350px) {
      .p-lowprice__image::before {
        top: 45%;
        left: -50%; } }
    @media screen and (min-width: 1281px) {
      .p-lowprice__image::before {
        left: -15%; } }

.p-lowprice__image-cycle {
  position: relative;
  z-index: 3;
  margin-top: 100px;
  padding: 0 20px; }
  @media screen and (max-width: 767px) {
    .p-lowprice__image-cycle {
      margin-top: 35px; } }
  .p-lowprice__image-cycle p {
    margin-top: 32px;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.8rem;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 767px) {
      .p-lowprice__image-cycle p {
        font-size: 1.5rem; } }

.p-message {
  padding-bottom: 72px; }
  @media screen and (max-width: 767px) {
    .p-message {
      padding-bottom: 60px; } }

.p-message__heading {
  margin-bottom: 40px;
  text-align: center; }
  .p-message__heading b {
    display: inline-block;
    font-size: 4.2rem;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    line-height: 1; }
    @media screen and (max-width: 767px) {
      .p-message__heading b {
        font-size: 2.7rem;
        line-height: 1.5; } }
    @media screen and (max-width: 350px) {
      .p-message__heading b {
        font-size: 2.4rem; } }

.p-message__image img {
  display: block;
  width: 100%; }

.p-message__text {
  max-width: 857px;
  margin: 37px auto 0;
  padding: 0 30px; }
  @media screen and (max-width: 767px) {
    .p-message__text {
      margin-top: 25px;
      padding: 0 20px; } }
  .p-message__text p {
    font-size: 1.6rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    line-height: 1.85;
    letter-spacing: 0.016em; }
    @media screen and (max-width: 767px) {
      .p-message__text p {
        font-size: 1.4rem; } }
    .p-message__text p + p,
    .p-message__text p + h2 {
      margin-top: 26px; }
      @media screen and (max-width: 767px) {
        .p-message__text p + p,
        .p-message__text p + h2 {
          margin-top: 15px; } }
  .p-message__text h2 {
    margin-bottom: 10px;
    font-size: 1.6rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    line-height: 1.85;
    letter-spacing: 0.016em; }
    @media screen and (max-width: 767px) {
      .p-message__text h2 {
        margin-bottom: 7px;
        font-size: 1.4rem; } }
  .p-message__text span {
    display: block;
    margin-top: 17px;
    font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 2rem;
    text-align: right; }
    @media screen and (max-width: 767px) {
      .p-message__text span {
        font-size: 1.6rem; } }

.p-mission__anchor {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .p-mission__anchor {
      display: block; } }
  .p-mission__anchor li {
    width: calc(33.33% - 14px); }
    @media screen and (max-width: 767px) {
      .p-mission__anchor li {
        width: 100%;
        max-width: 375px;
        margin: 0 auto; }
        .p-mission__anchor li + li {
          margin-top: 15px; } }
  .p-mission__anchor a {
    position: relative;
    display: block;
    padding: 15px 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2rem;
    line-height: 1.7;
    text-decoration: none;
    color: #190B0B;
    border: 1px solid #757575;
    transition: background-color .3s; }
    @media screen and (max-width: 960px) {
      .p-mission__anchor a {
        padding: 15px 13px;
        font-size: 1.7rem; } }
    @media screen and (max-width: 767px) {
      .p-mission__anchor a {
        font-size: 1.6rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-mission__anchor a {
        padding: 17px 20px 13px; } }
    .p-mission__anchor a:hover {
      background-color: #ebebeb; }
    .p-mission__anchor a::before {
      content: '';
      position: absolute;
      top: calc(50% - 15px);
      right: 20px;
      width: 30px;
      height: 30px;
      border: 1px solid #757575;
      border-radius: 50%; }
      @media screen and (max-width: 960px) {
        .p-mission__anchor a::before {
          top: calc(50% - 12px);
          right: 10px;
          width: 24px;
          height: 24px; } }
    .p-mission__anchor a::after {
      content: '';
      position: absolute;
      top: calc(50% - 3px);
      right: 32px;
      width: 6px;
      height: 9px;
      background-image: url(./image/common/icon-arrow-gray.svg);
      background-repeat: no-repeat;
      transform: rotate(90deg); }
      @media screen and (max-width: 960px) {
        .p-mission__anchor a::after {
          right: 19px; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .p-mission__anchor a::after {
          right: 31px; } }

.p-mission__message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 70px; }
  @media screen and (max-width: 767px) {
    .p-mission__message {
      display: block; } }

.p-mission__message-inner {
  position: absolute;
  z-index: 2;
  padding-bottom: 28px; }
  @media screen and (max-width: 767px) {
    .p-mission__message-inner {
      position: static;
      text-align: center;
      padding-bottom: 15px; } }
  .p-mission__message-inner span:first-child {
    display: block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2.8rem;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 1150px) {
      .p-mission__message-inner span:first-child {
        font-size: 2.2rem; } }
    @media screen and (max-width: 767px) {
      .p-mission__message-inner span:first-child {
        font-size: 1.8rem; } }
    .p-mission__message-inner span:first-child br {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-mission__message-inner span:first-child br {
          display: block; } }
  .p-mission__message-inner span:nth-child(2) {
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.8rem;
    letter-spacing: 0.04em;
    color: #414141; }
    @media screen and (max-width: 1150px) {
      .p-mission__message-inner span:nth-child(2) {
        font-size: 1.6rem; } }
    @media screen and (max-width: 767px) {
      .p-mission__message-inner span:nth-child(2) {
        font-size: 1.4rem; } }

.p-mission__message-image {
  position: relative;
  width: 60%;
  max-width: 650px;
  margin-left: auto; }
  @media screen and (max-width: 960px) {
    .p-mission__message-image {
      width: 50%; } }
  @media screen and (max-width: 767px) {
    .p-mission__message-image {
      width: 100%;
      margin: 0 auto; } }
  .p-mission__message-image::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 192px;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.96+0,0+100 */
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f5ffffff', endColorstr='#00ffffff',GradientType=1 );
    /* IE6-9 */ }
    @media screen and (max-width: 767px) {
      .p-mission__message-image::before {
        display: none; } }

.p-mission__section {
  margin-top: 70px; }
  .p-mission__section + .p-mission__section {
    margin-top: 116px; }
    @media screen and (max-width: 767px) {
      .p-mission__section + .p-mission__section {
        margin-top: 60px; } }

.p-mission__section-heading {
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 2.8rem;
  letter-spacing: 0.03em; }
  @media screen and (max-width: 767px) {
    .p-mission__section-heading {
      font-size: 2rem; } }
  .p-mission__section-heading::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 32px;
    margin-right: 10px;
    vertical-align: text-bottom;
    background-color: #DC000C; }
    @media screen and (max-width: 767px) {
      .p-mission__section-heading::before {
        width: 4px;
        height: 22px; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-mission__section-heading::before {
        margin-bottom: 12px; } }

.p-mission__section-concept {
  position: relative;
  margin: 35px 0 45px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .p-mission__section-concept {
      margin: 45px 0; } }
  .p-mission__section-concept::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: calc(50% - 79px);
    left: calc(50% - 81px);
    width: 162px;
    height: 158px;
    background-image: url(./image/mission/mission-sun.svg);
    background-size: cover;
    background-repeat: no-repeat; }
    @media screen and (max-width: 960px) {
      .p-mission__section-concept::before {
        top: calc(50% - 63px);
        left: calc(50% - 62px);
        width: 126px;
        height: 124px; } }
    @media screen and (max-width: 767px) {
      .p-mission__section-concept::before {
        top: calc(50% - 50px);
        left: calc(50% - 49px);
        width: 100px;
        height: 98px; } }
  .p-mission__section-concept b {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 3.8rem;
    letter-spacing: 0.04em; }
    @media screen and (max-width: 960px) {
      .p-mission__section-concept b {
        font-size: 2.6rem; } }
    @media screen and (max-width: 767px) {
      .p-mission__section-concept b {
        font-size: 2rem; } }

.p-mission__section-lead {
  max-width: 850px;
  margin: 0 auto;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  line-height: 2.05;
  letter-spacing: 0.02em;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .p-mission__section-lead {
      font-size: 1.4rem;
      text-align: left; } }
  .p-mission__section-lead[data-align="left"] {
    max-width: 870px;
    margin-bottom: 5px;
    line-height: 1.8;
    letter-spacing: 0.01em;
    text-align: left; }

.p-mission__section-lesson {
  position: relative;
  left: -20px;
  margin: 23px auto 20px;
  width: 450px;
  padding: 14px 30px;
  border: 1px solid #CCCCCC;
  border-radius: 3px; }
  @media screen and (max-width: 767px) {
    .p-mission__section-lesson {
      position: static;
      width: 100%;
      padding: 15px; } }
  .p-mission__section-lesson li {
    position: relative;
    padding-left: 8px;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 0.02em; }
    .p-mission__section-lesson li::before {
      content: '';
      display: inline-block;
      width: 4px;
      height: 4px;
      margin: 0 8px 2px 0;
      vertical-align: middle;
      background-color: #190B0B;
      border-radius: 50%; }
    @media screen and (max-width: 767px) {
      .p-mission__section-lesson li {
        padding-left: 0;
        font-size: 1.4rem; } }
    @media screen and (max-width: 350px) {
      .p-mission__section-lesson li {
        text-indent: -0.6em;
        padding-left: 10px; } }
    .p-mission__section-lesson li + li {
      margin-top: 7px; }

.p-mission__section-image {
  margin-top: 35px;
  width: 100%;
  height: 220px;
  background-image: url(./image/mission/mission-image01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 767px) {
    .p-mission__section-image {
      margin-top: 20px;
      background-image: url(./image/mission/mission-image01-sp.jpg); } }
  .p-mission__section-image[data-place="management"] {
    margin-top: 40px;
    background-image: url(./image/mission/mission-image02.jpg); }
    @media screen and (max-width: 767px) {
      .p-mission__section-image[data-place="management"] {
        background-image: url(./image/mission/mission-image02-sp.jpg); } }

.p-mission__section-management {
  margin-top: 53px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .p-mission__section-management {
      margin-top: 30px; } }
  .p-mission__section-management > span {
    font-size: 2.4rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif; }
    @media screen and (max-width: 767px) {
      .p-mission__section-management > span {
        font-size: 1.8rem; } }
  .p-mission__section-management ol {
    max-width: 850px;
    margin: 50px auto;
    padding-left: 5px; }
    @media screen and (max-width: 960px) {
      .p-mission__section-management ol {
        max-width: 620px; } }
    @media screen and (max-width: 767px) {
      .p-mission__section-management ol {
        margin: 30px auto; } }
  .p-mission__section-management li {
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 960px) {
      .p-mission__section-management li {
        font-size: 2rem; } }
    @media screen and (max-width: 767px) {
      .p-mission__section-management li {
        display: block;
        font-size: 1.8rem; } }
    @media screen and (max-width: 350px) {
      .p-mission__section-management li {
        font-size: 1.7rem; } }
    .p-mission__section-management li br {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-mission__section-management li br {
          display: block; } }
    .p-mission__section-management li span {
      display: inline-block;
      width: 50px;
      height: 50px;
      margin-right: 24px;
      font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
      font-size: 2.8rem;
      color: #fff;
      background-color: #DC000C;
      border-radius: 50%; }
      @media screen and (max-width: 960px) {
        .p-mission__section-management li span {
          display: block;
          width: 40px;
          height: 40px;
          padding-top: 2px;
          font-size: 2.2rem; } }
      @media screen and (max-width: 767px) {
        .p-mission__section-management li span {
          display: block;
          width: 30px;
          height: 30px;
          font-size: 1.8rem;
          margin: 0 auto 10px;
          padding: 0 0 0 1px; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .p-mission__section-management li span {
          margin-bottom: 7px; } }
    .p-mission__section-management li + li {
      margin-top: 22px; }

.p-mission__section-action {
  max-width: 880px;
  margin: 45px auto 50px; }
  @media screen and (max-width: 767px) {
    .p-mission__section-action {
      margin-top: 30px; } }

.p-mission__section-action-top {
  text-align: center; }
  .p-mission__section-action-top b {
    display: block;
    font-size: 2.4rem;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    letter-spacing: 0.07em; }
    @media screen and (max-width: 767px) {
      .p-mission__section-action-top b {
        font-size: 2rem; } }
  .p-mission__section-action-top span {
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.6rem; }
    @media screen and (max-width: 767px) {
      .p-mission__section-action-top span {
        font-size: 1.4rem; } }
  .p-mission__section-action-top p {
    margin-top: 5px;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.6rem; }
    @media screen and (max-width: 767px) {
      .p-mission__section-action-top p {
        font-size: 1.4rem; } }

.p-mission__section-action-initiatives {
  margin-top: 40px; }
  @media screen and (max-width: 767px) {
    .p-mission__section-action-initiatives {
      margin-top: 25px; } }
  .p-mission__section-action-initiatives li {
    display: flex;
    align-items: flex-start;
    padding: 21px 0 24px; }
    @media screen and (max-width: 767px) {
      .p-mission__section-action-initiatives li {
        padding: 15px 0; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-mission__section-action-initiatives li {
        padding: 25px 0 20px; } }
    .p-mission__section-action-initiatives li span {
      display: inline-block;
      margin: 0 30px 0 20px;
      font-family: "Pacifico", cursive, serif;
      font-size: 7rem;
      line-height: 1;
      color: #FED766; }
      @media screen and (max-width: 960px) {
        .p-mission__section-action-initiatives li span {
          font-size: 5rem; } }
      @media screen and (max-width: 767px) {
        .p-mission__section-action-initiatives li span {
          margin: 0 20px 0 5px;
          font-size: 4rem; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .p-mission__section-action-initiatives li span {
          position: relative;
          top: -5px; } }
    .p-mission__section-action-initiatives li b {
      font-size: 2.4rem;
      font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
      letter-spacing: 0.02em; }
      @media screen and (max-width: 960px) {
        .p-mission__section-action-initiatives li b {
          font-size: 2rem; } }
      @media screen and (max-width: 767px) {
        .p-mission__section-action-initiatives li b {
          font-size: 1.8rem; } }
    .p-mission__section-action-initiatives li p {
      font-size: 1.6rem;
      font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
      letter-spacing: 0.02em; }
      @media screen and (max-width: 960px) {
        .p-mission__section-action-initiatives li p {
          font-size: 1.5rem; } }
      @media screen and (max-width: 767px) {
        .p-mission__section-action-initiatives li p {
          font-size: 1.4rem; } }
    .p-mission__section-action-initiatives li + li {
      position: relative; }
      .p-mission__section-action-initiatives li + li::before {
        content: "";
        background-image: linear-gradient(to right, #707070, #707070 4px, transparent 4px, transparent 8px);
        background-size: 8px 1px;
        background-repeat: repeat-x;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0; }

.p-netshop {
  margin: 50px 0 117px; }
  @media screen and (max-width: 767px) {
    .p-netshop {
      margin: 45px 0; } }

.p-netshop__form-wrap {
  margin-top: 42px;
  padding: 0 20px;
  text-align: center; }
  .p-netshop__form-wrap span {
    display: block;
    font-size: 1.6rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold; }
    @media screen and (max-width: 350px) {
      .p-netshop__form-wrap span {
        font-size: 1.4rem; } }
  .p-netshop__form-wrap input[name="word"] {
    width: 220px;
    margin-right: 5px;
    padding: 10.5px 10px;
    font-size: 1.4rem;
    border: 1px solid #808080; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-netshop__form-wrap input[name="word"] {
        padding: 13px 10px 7.5px; } }
    .p-netshop__form-wrap input[name="word"]::placeholder {
      font-size: 1.4rem;
      color: #CCCCCC; }
  .p-netshop__form-wrap input[type="submit"] {
    padding: 9.5px 16px;
    font-size: 1.4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    color: #fff;
    background-color: #DC000C;
    transition: background-color .3s; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-netshop__form-wrap input[type="submit"] {
        padding: 12px 16px 7px; } }
    .p-netshop__form-wrap input[type="submit"]:hover {
      background-color: #a90009; }

.p-netshop__form {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px; }

.p-netshop__wrap {
  margin-top: 30px;
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 960px) {
    .p-netshop__wrap {
      display: block; } }

.p-netshop__unit {
  width: calc(33.33% - 14px);
  padding: 12px 15px 12px 12px;
  margin-right: 21px;
  border: 1px solid #808080;
  border-radius: 5px; }
  .p-netshop__unit:last-child {
    margin-right: 0; }
    @media screen and (max-width: 960px) {
      .p-netshop__unit:last-child {
        margin: 0 auto; } }
  @media screen and (max-width: 960px) {
    .p-netshop__unit {
      width: 100%;
      max-width: 375px;
      margin: 0 auto; }
      .p-netshop__unit + .p-netshop__unit {
        margin-top: 20px; } }
  .p-netshop__unit > p {
    display: block;
    margin: 0 0 8px 8px;
    font-size: 1.6rem; }
    @media screen and (max-width: 767px) {
      .p-netshop__unit > p {
        font-size: 1.4rem; } }
  .p-netshop__unit h3 {
    margin-left: 8px;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2.4rem;
    line-height: 1.2;
    letter-spacing: 0.001em; }
    @media screen and (max-width: 1150px) {
      .p-netshop__unit h3 {
        font-size: 2.2rem; } }
    @media screen and (max-width: 767px) {
      .p-netshop__unit h3 {
        font-size: 1.8rem; } }
  .p-netshop__unit > span {
    display: block;
    margin-top: 8px;
    line-height: 1;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 0.007em; }
    @media screen and (max-width: 1150px) {
      .p-netshop__unit > span {
        font-size: 1.4rem; } }
  .p-netshop__unit .c-button__small {
    margin: 30px 0 0 8px; }
    @media screen and (max-width: 767px) {
      .p-netshop__unit .c-button__small {
        margin-top: 15px; } }

.p-netshop__unit-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between; }

.p-netshop__unit-price {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif; }
  @media screen and (max-width: 1150px) {
    .p-netshop__unit-price {
      margin-top: 15px; } }
  .p-netshop__unit-price b {
    margin-left: 8px;
    font-size: 4.8rem;
    color: #DC000C;
    line-height: 1;
    letter-spacing: -0.02em; }
    @media screen and (max-width: 1190px) {
      .p-netshop__unit-price b {
        font-size: 4rem; } }
    @media screen and (max-width: 1150px) {
      .p-netshop__unit-price b {
        font-size: 3.6rem; } }
    @media screen and (max-width: 1030px) {
      .p-netshop__unit-price b {
        font-size: 3rem; } }
    @media screen and (max-width: 767px) {
      .p-netshop__unit-price b {
        font-size: 2.8rem; } }
    .p-netshop__unit-price b span {
      margin-left: 5px;
      font-size: 1.6rem; }
  .p-netshop__unit-price > span {
    display: block;
    margin-top: 3px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    color: #808080; }
    @media screen and (max-width: 767px) {
      .p-netshop__unit-price > span {
        font-size: 1.5rem; } }

.p-netshop__unit-bottom {
  width: calc(100% - 134px);
  margin: 0 0 8px 0; }
  @media screen and (max-width: 1150px) {
    .p-netshop__unit-bottom {
      width: calc(100% - 100px); } }
  @media screen and (max-width: 1030px) {
    .p-netshop__unit-bottom {
      width: calc(100% - 90px); } }

.p-netshop__unit-image {
  min-width: 90px;
  margin-left: 10px; }
  @media screen and (max-width: 1030px) {
    .p-netshop__unit-image {
      width: 80px; } }
  .p-netshop__unit-image img {
    display: block;
    width: 100%; }
    @media screen and (max-width: 1150px) {
      .p-netshop__unit-image img {
        width: 80%; } }
    @media screen and (max-width: 1030px) {
      .p-netshop__unit-image img {
        width: 70%;
        margin-left: auto; } }
    @media screen and (max-width: 960px) {
      .p-netshop__unit-image img {
        width: 90%; } }
    @media screen and (max-width: 767px) {
      .p-netshop__unit-image img {
        width: 70%; } }

.p-netshop__genre {
  margin-top: 72px; }
  .p-netshop__genre h2 {
    font-size: 1.8rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    text-align: center;
    letter-spacing: 0.02em; }
    @media screen and (max-width: 767px) {
      .p-netshop__genre h2 {
        font-size: 1.6rem; } }
    .p-netshop__genre h2 br {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-netshop__genre h2 br {
          display: block; } }
      @media screen and (max-width: 350px) {
        .p-netshop__genre h2 br {
          display: none; } }

.p-netshop__genre-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 33px; }
  @media screen and (max-width: 1150px) {
    .p-netshop__genre-wrap {
      justify-content: flex-start; } }

.p-netshop__genre-unit {
  position: relative;
  width: calc(25% - 12px);
  margin-bottom: 15px;
  border-radius: 5px;
  border: 2px solid #FFB43C; }
  @media screen and (max-width: 1150px) {
    .p-netshop__genre-unit {
      width: calc(33.33% - 20px);
      margin-right: 20px; } }
  @media screen and (max-width: 1030px) {
    .p-netshop__genre-unit {
      width: calc(33.33% - 10px);
      margin-right: 15px; }
      .p-netshop__genre-unit:nth-child(3n) {
        margin-right: 0; } }
  @media screen and (max-width: 767px) {
    .p-netshop__genre-unit {
      width: calc(50% - 5px);
      margin: 0 10px 10px 0; }
      .p-netshop__genre-unit:nth-child(3n) {
        margin-right: 10px; }
      .p-netshop__genre-unit:nth-child(2n) {
        margin-right: 0; } }
  .p-netshop__genre-unit::before {
    content: '';
    position: absolute;
    z-index: 3;
    top: calc(50% - 2px);
    right: 5px;
    width: 4px;
    height: 8px;
    background-image: url(./image/common/icon-arrow-white.svg);
    background-size: 4px 7px;
    background-repeat: no-repeat; }
    @media screen and (max-width: 767px) {
      .p-netshop__genre-unit::before {
        right: 2.5px; } }
  .p-netshop__genre-unit::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 15px;
    height: 100%;
    background-color: #FFB43C; }
    @media screen and (max-width: 767px) {
      .p-netshop__genre-unit::after {
        width: 10px; } }
  .p-netshop__genre-unit a {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    padding: 28px 25px;
    text-decoration: none;
    transition: background-color .3s; }
    @media screen and (max-width: 1150px) {
      .p-netshop__genre-unit a {
        padding: 20px 25px 20px 20px; } }
    @media screen and (max-width: 960px) {
      .p-netshop__genre-unit a {
        padding: 15px 25px 15px 15px; } }
    @media screen and (max-width: 350px) {
      .p-netshop__genre-unit a {
        padding: 15px 15px 15px 10px; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-netshop__genre-unit a {
        padding: 31px 25px 22px; } }
    .p-netshop__genre-unit a:hover {
      background-color: #ffb641; }
    .p-netshop__genre-unit a span {
      display: inline-block;
      margin-left: 29px;
      font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
      font-size: 1.8rem;
      font-weight: bold;
      color: #414141; }
      @media screen and (max-width: 1150px) {
        .p-netshop__genre-unit a span {
          margin-left: 20px; } }
      @media screen and (max-width: 960px) {
        .p-netshop__genre-unit a span {
          margin-left: 15px;
          font-size: 1.6rem; } }
      @media screen and (max-width: 767px) {
        .p-netshop__genre-unit a span {
          font-size: 1.2rem;
          margin-left: 10px; } }
      @media screen and (max-width: 350px) {
        .p-netshop__genre-unit a span {
          font-size: 1.1rem;
          margin-left: 7px; } }
    @media screen and (max-width: 960px) {
      .p-netshop__genre-unit a img {
        display: block;
        width: 40px; } }
    @media screen and (max-width: 767px) {
      .p-netshop__genre-unit a img {
        display: block;
        width: 20px; } }

.p-netshop__step {
  max-width: 1000px;
  margin: 65px auto 0; }
  .p-netshop__step h2 {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2.8rem;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .p-netshop__step h2 {
        font-size: 2rem; } }
    .p-netshop__step h2 br {
      display: none; }
      @media screen and (max-width: 767px) {
        .p-netshop__step h2 br {
          display: block; } }

.p-netshop__step-unit {
  margin-top: 30px; }
  .p-netshop__step-unit h3 {
    padding: 7px 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2.2rem;
    letter-spacing: 0.03em;
    color: #fff;
    background-color: #DC000C;
    border-radius: 5px; }
    @media screen and (max-width: 767px) {
      .p-netshop__step-unit h3 {
        padding: 6px 20px 4px;
        font-size: 1.8rem; } }
    @media screen and (max-width: 350px) {
      .p-netshop__step-unit h3 {
        font-size: 1.6rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-netshop__step-unit h3 {
        padding: 10px 20px 4px; } }
    .p-netshop__step-unit h3 span {
      display: inline-block;
      margin-right: 36px; }
      @media screen and (max-width: 767px) {
        .p-netshop__step-unit h3 span {
          margin-right: 15px; } }
  .p-netshop__step-unit + .p-netshop__step-unit {
    margin-top: 38px; }
  .p-netshop__step-unit p {
    margin-top: 13px;
    font-size: 1.8rem;
    line-height: 1.85;
    letter-spacing: 0.015em; }
    @media screen and (max-width: 767px) {
      .p-netshop__step-unit p {
        font-size: 1.4rem; } }
    .p-netshop__step-unit p span {
      font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
      color: #DC000C; }
    .p-netshop__step-unit p + p {
      margin-top: 41px; }
      @media screen and (max-width: 767px) {
        .p-netshop__step-unit p + p {
          margin-top: 20px; } }
    .p-netshop__step-unit p a {
      color: #DC000C; }
      .p-netshop__step-unit p a:hover {
        text-decoration: none; }

.p-netshop__step-cost {
  width: 100%;
  margin-top: 38px;
  border: 0px none;
  border-collapse: collapse;
  border-left: 1px solid #808080;
  font-size: 1.4rem; }
  @media screen and (max-width: 767px) {
    .p-netshop__step-cost {
      display: none; } }
  .p-netshop__step-cost[data-device="sp"] {
    display: none; }
    @media screen and (max-width: 767px) {
      .p-netshop__step-cost[data-device="sp"] {
        display: block;
        max-width: 320px;
        margin: 30px auto 0; } }
  .p-netshop__step-cost th,
  .p-netshop__step-cost td {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    border-right: 1px solid #808080;
    border-bottom: 1px solid #808080; }
  .p-netshop__step-cost th {
    width: 17.2%;
    padding: 12px 20px;
    text-align: left; }
    @media screen and (max-width: 767px) {
      .p-netshop__step-cost th {
        width: 160px;
        padding: 8px;
        text-align: center; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-netshop__step-cost th {
        padding: 14px 20px 10px; } }
  .p-netshop__step-cost td {
    width: 20.7%;
    text-align: center;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .p-netshop__step-cost td {
        width: 160px;
        padding: 8px; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-netshop__step-cost td {
        padding: 14px 20px 10px; } }
  .p-netshop__step-cost caption {
    padding: 2px 20px;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    background-color: #EFEFEF;
    border: 1px solid #808080; }
    @media screen and (max-width: 767px) {
      .p-netshop__step-cost caption {
        border-left: none; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-netshop__step-cost caption {
        padding: 4px 20px 0; } }

.p-shops__search-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -17px;
  margin-bottom: 55px; }
  @media screen and (max-width: 767px) {
    .p-shops__search-wrap {
      display: block;
      margin-top: 0;
      text-align: center; } }

.p-shops__search-image {
  margin-right: 77px; }
  @media screen and (max-width: 767px) {
    .p-shops__search-image {
      margin: 45px 0 30px; } }

.p-shops__search-content strong {
  display: block;
  margin-top: 4px;
  font-size: 2.4rem;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #DC000C; }
  @media screen and (max-width: 960px) {
    .p-shops__search-content strong {
      font-size: 2rem;
      line-height: 1.5; } }
  .p-shops__search-content strong br {
    display: none; }
    @media screen and (max-width: 767px) {
      .p-shops__search-content strong br {
        display: block; } }

.p-shops__search-content span {
  font-size: 1.4rem;
  color: #808080; }

.p-shops__search-button-wrap {
  display: flex;
  flex-wrap: wrap;
  max-width: 460px;
  margin-top: 36px; }
  @media screen and (max-width: 960px) {
    .p-shops__search-button-wrap {
      margin-top: 20px; } }
  @media screen and (max-width: 767px) {
    .p-shops__search-button-wrap {
      margin: 20px auto 0; } }

.p-shops__search-button {
  width: 220px;
  margin: 0 10px 10px 0; }
  @media screen and (max-width: 767px) {
    .p-shops__search-button {
      margin: 0 auto 10px; } }
  .p-shops__search-button a {
    position: relative;
    display: block;
    padding: 9px 13px 8px 53px;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
    color: #DD4E4E;
    border: 1px solid #C5C5C5;
    transition: background-color .3s; }
    @media screen and (max-width: 767px) {
      .p-shops__search-button a {
        padding: 9px 13px 8px 20px; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-shops__search-button a {
        padding: 11px 13px 6px 53px; } }
    .p-shops__search-button a:hover {
      background-color: #fbe8e8; }
    .p-shops__search-button a::after {
      position: absolute;
      content: '';
      top: calc(50% - 4px);
      right: 18px;
      width: 6px;
      height: 6px;
      border-bottom: 1px solid #C5C5C5;
      border-right: 1px solid #C5C5C5;
      transform: rotate(45deg); }
    .p-shops__search-button a::before {
      position: absolute;
      content: '';
      top: calc(50% - 20px);
      left: 5px;
      width: 8px;
      height: 40px;
      background-color: #DD4E4E; }
  .p-shops__search-button[data-area="kitakyu"] a {
    color: #F27D27; }
    .p-shops__search-button[data-area="kitakyu"] a::before {
      background-color: #F27D27; }
    .p-shops__search-button[data-area="kitakyu"] a:hover {
      background-color: #fde8d9; }
  .p-shops__search-button[data-area="chikuhou"] a {
    color: #F07798; }
    .p-shops__search-button[data-area="chikuhou"] a::before {
      background-color: #F07798; }
    .p-shops__search-button[data-area="chikuhou"] a:hover {
      background-color: #fdeaef; }
  .p-shops__search-button[data-area="chikugo"] a {
    color: #F8B340; }
    .p-shops__search-button[data-area="chikugo"] a::before {
      background-color: #F8B340; }
    .p-shops__search-button[data-area="chikugo"] a:hover {
      background-color: #fef4e2; }

.p-shops__search-support {
  display: block;
  margin-top: 5px;
  font-size: 1.5rem;
  color: #808080; }
  .p-shops__search-support:hover {
    text-decoration: none; }

.p-shops__product {
  text-align: center;
  border: 2px solid #EDEDED; }

.p-shops__produnt-heading {
  padding: 9px;
  background-color: #EDEDED; }
  .p-shops__produnt-heading h3 {
    font-size: 1.6rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    color: #414141; }

.p-shops__product-content {
  padding: 10px 0 9px; }
  @media screen and (max-width: 767px) {
    .p-shops__product-content {
      padding: 10px 10px 9px; } }
  .p-shops__product-content p {
    font-size: 1.6rem;
    letter-spacing: .02em; }
    @media screen and (max-width: 767px) {
      .p-shops__product-content p {
        font-size: 1.4rem;
        letter-spacing: 0.05em; } }
  .p-shops__product-content span {
    font-size: 1.4rem;
    color: #DC000C; }
    @media screen and (max-width: 767px) {
      .p-shops__product-content span {
        display: block;
        margin-top: 7px;
        line-height: 1.5; } }

.p-shops__section {
  margin-top: 70px; }
  @media screen and (max-width: 767px) {
    .p-shops__section {
      margin-top: 45px; } }
  .p-shops__section[data-type="support"] {
    max-width: 1060px;
    margin: 75px auto 0; }
  .p-shops__section + .p-shops__section {
    margin-top: 50px; }
    @media screen and (max-width: 767px) {
      .p-shops__section + .p-shops__section {
        margin-top: 20px; } }

.p-shops__list-wrap {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  max-width: 1033px;
  margin: 48px auto 0; }
  @media screen and (max-width: 767px) {
    .p-shops__list-wrap {
      margin-top: 30px; } }

.p-shops__list-unit {
  width: 33.33%;
  margin-bottom: 60px;
  padding: 0 25.5px;
  border-right: 1px dashed #C5C5C5; }
  @media screen and (max-width: 960px) {
    .p-shops__list-unit {
      padding: 0 20px; } }
  @media screen and (max-width: 767px) {
    .p-shops__list-unit {
      max-width: 345px;
      width: 100%;
      margin: 0 auto 45px;
      border-right: none;
      padding: 0; } }
  .p-shops__list-unit:nth-child(3n) {
    border-right: 0; }
  .p-shops__list-unit h3 {
    display: flex;
    align-items: center;
    position: relative;
    font-size: 2.4rem;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif; }
    @media screen and (max-width: 767px) {
      .p-shops__list-unit h3 {
        font-size: 2rem; } }
    .p-shops__list-unit h3::before {
      content: '';
      display: inline-block;
      width: 8px;
      height: 40px;
      margin-right: 12px;
      background-color: #DD4E4E; }
      @media screen and (max-width: 767px) {
        .p-shops__list-unit h3::before {
          width: 4px;
          height: 30px; } }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .p-shops__list-unit h3::before {
          margin-bottom: 3px; } }
    .p-shops__list-unit h3[data-area="kitakyu"]::before {
      background-color: #F27D27; }
    .p-shops__list-unit h3[data-area="chikuhou"]::before {
      background-color: #F07798; }
    .p-shops__list-unit h3[data-area="chikugo"]::before {
      background-color: #F8B340; }
  .p-shops__list-unit span {
    display: inline-block;
    font-size: 1.4rem;
    line-height: 1.4; }
  .p-shops__list-unit .c-button a {
    width: 100%; }
  .p-shops__list-unit .c-button + .c-button {
    margin-top: 15px; }
    @media screen and (max-width: 767px) {
      .p-shops__list-unit .c-button + .c-button {
        margin-top: 10px; } }

.p-shops__list-address {
  display: flex;
  align-items: center;
  position: relative;
  margin: 15px 0 0 4px;
  color: #414141; }
  @media screen and (max-width: 767px) {
    .p-shops__list-address {
      margin-top: 10px; } }
  .p-shops__list-address img {
    display: inline-block;
    margin-right: 14px; }

.p-shops__list-tel {
  display: flex;
  align-items: center;
  position: relative;
  margin: 7px 0 0 4px;
  font-size: 1.4rem;
  color: #414141; }
  .p-shops__list-tel img {
    display: inline-block;
    margin-right: 14px; }
  .p-shops__list-tel div {
    display: flex;
    line-height: 1.6; }
    .p-shops__list-tel div dt {
      margin-right: 15px; }
  .p-shops__list-tel > div {
    display: block; }
  .p-shops__list-tel[data-height="large"] {
    align-items: flex-start; }
    .p-shops__list-tel[data-height="large"] img {
      margin-top: 5px; }
    .p-shops__list-tel[data-height="large"] dl + h4 {
      margin-top: 5px; }

.p-shops__list-time {
  display: flex;
  align-items: center;
  position: relative;
  margin: 15px 0 0 4px;
  color: #414141; }
  @media screen and (max-width: 767px) {
    .p-shops__list-time {
      margin-top: 10px; } }
  .p-shops__list-time img {
    display: inline-block;
    margin-right: 14px; }

.p-shops__list-genre ul {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0; }
  @media screen and (max-width: 767px) {
    .p-shops__list-genre ul {
      margin: 10px 0; } }
  .p-shops__list-genre ul li {
    margin: 0 5px 5px 0;
    padding: 3.5px 3.5px 4.5px;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.4rem;
    line-height: 1;
    color: #DC000C;
    border: 1px solid #E80011; }
    @media screen and (max-width: 767px) {
      .p-shops__list-genre ul li {
        font-size: 1.3rem; } }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .p-shops__list-genre ul li {
        padding: 6.5px 3.5px 1.5px; } }
    .p-shops__list-genre ul li[data-background="red"] {
      background-color: #DC000C;
      color: #fff; }
    .p-shops__list-genre ul li.p-shops__list-genre-toshimaya {
      background-color: #DC000C;
      color: #fff; }

.p-shops__support-list-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 45px auto 120px; }
  @media screen and (max-width: 767px) {
    .p-shops__support-list-wrap {
      display: block;
      margin: 30px auto 45px; } }

.p-shops__support-list {
  width: calc(33.33% - 13.33px);
  padding: 20px;
  border: 1px solid #C5C5C5;
  border-radius: 10px; }
  @media screen and (max-width: 767px) {
    .p-shops__support-list {
      width: 100%;
      margin-bottom: 20px; } }
  @media screen and (max-width: 350px) {
    .p-shops__support-list {
      padding: 15px; } }
  .p-shops__support-list h3 {
    display: inline-block;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 2rem;
    line-height: 1; }
  .p-shops__support-list h3 + span {
    display: inline-block;
    margin-left: 7px;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W6", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.4rem;
    vertical-align: top; }
  .p-shops__support-list span {
    display: inline-block;
    font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.4rem;
    line-height: 1.4; }
  .p-shops__support-list .p-shops__list-time {
    margin-top: 22px; }
  .p-shops__support-list ul {
    margin-bottom: 15px; }
