/*====================================*/
/* old
/*====================================*/
:root {
  --color-white: #fff;
  --color-main: #0079ca;
  --color-em: #dc0823;
  --color-c-button: #131212;
}
.c-title-aux {
  margin: 40px 0 15px;
  font-weight: bold;
  font-size: 24px;
}
.c-txt-note {
  margin-top: 15px;
  font-size: 12px;
}
.c-link-txt {
  text-decoration: underline;
  color: var(--color-main);
}
.c-button {
  display: table;
  margin-top: 40px;
  padding: 1em 2em;
  font-size: 12px;
  font-weight: bold;
  border: 2px solid rgba(0, 0, 0, 0);
  color: var(--color-white);
  background: var(--color-c-button);
  border-radius: 9999px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.c-button:not([href$=".pdf"]):not([target="_blank"]) > * {
  position: relative;
  display: block;
  padding-right: 30px;
}
.c-button:not([href$=".pdf"]):not([target="_blank"]) > *::before,
.c-button:not([href$=".pdf"]):not([target="_blank"]) > *::after {
  content: "";
  top: 50%;
  position: absolute;
  -webkit-transition: margin 0.2s;
  transition: margin 0.2s;
}
.c-button:not([href$=".pdf"]):not([target="_blank"]) > *::before {
  right: 0;
  width: 20px;
  height: 20px;
  background: var(--color-white);
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.c-button:not([href$=".pdf"]):not([target="_blank"]) > *::after {
  right: 9px;
  width: 4px;
  height: 4px;
  border: solid var(--color-c-button);
  border-width: 1px 1px 0 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}
@media print, screen and (min-width: 768px) {
  .c-button:hover {
    border-color: var(--color-c-button);
    color: var(--color-c-button);
    background: var(--color-white);
  }
}
@media print, screen and (min-width: 768px) {
  .c-button:not([href$=".pdf"]):not([target="_blank"]):hover > *::before {
    margin-right: 5px;
    background: var(--color-c-button);
  }
  .c-button:not([href$=".pdf"]):not([target="_blank"]):hover > *::after {
    margin-right: 5px;
    border-color: var(--color-white);
  }
}
.c-button[href$=".pdf"] > *::after {
  content: "PDF";
  margin-left: 10px;
  padding: 0.3em 1em;
  font-size: 10px;
  font-weight: bold;
  color: var(--color-white);
  background: var(--color-em);
  border-radius: 9999px;
}
.c-button[target="_blank"]:not([href$=".pdf"]) > *::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 10px;
  line-height: 1;
  vertical-align: -0.1em;
  background: url(/common/images/icon_other_1.svg) center left/contain no-repeat;
  background-image: url(/images/common/icon_other_1_white.svg);
}
@media print, screen and (min-width: 768px) {
  .c-button[target="_blank"]:not([href$=".pdf"]):hover > *::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 10px;
    line-height: 1;
    vertical-align: -0.1em;
    background: url(/common/images/icon_other_1.svg) center left/contain no-repeat;
    background-image: url(/images/common/icon_other_1.svg);
  }
}
.c-button--right {
  margin-left: auto;
  margin-right: 0;
}
.c-button--center {
  margin-left: auto;
  margin-right: auto;
}
.c-button--large {
  margin-top: 60px;
  padding: 1.5em 5vw;
  font-size: 16px;
}
.c-button-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 40px;
}
.c-button-grid .c-button {
  margin-top: 0;
}
.u-mt-ss {
  margin-top: 1.25rem !important;
}
.u-mt-s {
  margin-top: 2.5rem !important;
}
.u-mt-m {
  margin-top: 3.75rem !important;
}
.u-mt-l {
  margin-top: 5rem !important;
}
.u-mt-ll {
  margin-top: 6.25rem !important;
}
@media screen and (max-width: 767px) {
  .u-sp-mt-ss {
    margin-top: 1.25rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mt-s {
    margin-top: 2.5rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mt-m {
    margin-top: 3.75rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mt-l {
    margin-top: 5rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mt-ll {
    margin-top: 6.25rem !important;
  }
}
.u-mb-ss {
  margin-bottom: 1.25rem !important;
}
.u-mb-s {
  margin-bottom: 2.5rem !important;
}
.u-mb-m {
  margin-bottom: 3.75rem !important;
}
.u-mb-l {
  margin-bottom: 5rem !important;
}
.u-mb-ll {
  margin-bottom: 6.25rem !important;
}
@media screen and (max-width: 767px) {
  .u-sp-mb-ss {
    margin-bottom: 1.25rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mb-s {
    margin-bottom: 2.5rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mb-m {
    margin-bottom: 3.75rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mb-l {
    margin-bottom: 5rem !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-mb-ll {
    margin-bottom: 6.25rem !important;
  }
}
.u-fs-s {
  font-size: 0.875rem;
}
.u-fs-m {
  font-size: 1rem;
}
.u-fs-l {
  font-size: 1.125rem;
}
.u-fs-li {
  font-size: 1.25rem;
}
.u-fs-3l {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .u-sp-fs-s {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-fs-m {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-fs-l {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-fs-ll {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-fs-3l {
    font-size: 1.5rem;
  }
}
.u-ta-c {
  text-align: center !important;
}
.u-ta-l {
  text-align: left !important;
}
.u-ta-r {
  text-align: right !important;
}
@media screen and (max-width: 767px) {
  .u-sp-ta-c {
    text-align: center !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-ta-l {
    text-align: left !important;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-ta-r {
    text-align: right !important;
  }
}
@media screen and (max-width: 767px) {
  .u-only-pc {
    display: none !important;
  }
}
@media print, screen and (min-width: 768px) {
  .u-only-sp {
    display: none !important;
  }
}

/*=====================================================================================================================*/
/* common
/*=====================================================================================================================*/
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
::after,
::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  margin: 0;
}
main {
  display: block;
}
address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
  margin: 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
dt {
  font-weight: 700;
}
dd {
  margin-left: 0;
}
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
pre {
  font-family: monospace, monospace;
  font-size: inherit;
}
address {
  font-style: inherit;
}
a {
  background-color: rgba(0, 0, 0, 0);
  text-decoration: none;
  color: inherit;
}
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
embed,
iframe,
img,
object {
  vertical-align: bottom;
}
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: 0 0;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}
[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled],
button[disabled] {
  cursor: default;
}
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}
select::-ms-expand {
  display: none;
}
option {
  padding: 0;
}
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}
legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
label[for] {
  cursor: pointer;
}
details {
  display: block;
}
summary {
  display: list-item;
}
[contenteditable] {
  outline: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption {
  text-align: left;
}
td,
th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
  font-weight: 700;
}
template {
  display: none;
}
[hidden] {
  display: none;
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  min-width: 1310px;
  font-family: var(--font-ja);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.75em;
  color: var(--color-base-text);
  opacity: 0;
  -webkit-transition: opacity 3s ease;
  transition: opacity 3s ease;
}
@media screen and (max-width: 768px) {
  body {
    min-width: unset;
  }
}

.smooth {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.sp_block {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_block {
    display: block;
  }
}
.sp_none {
  display: block;
}
@media screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
}
.object-fit {
  overflow: hidden;
  -webkit-transition:
    -webkit-transform 0.2s ease,
    -webkit-filter 0.2s ease;
  transition:
    -webkit-transform 0.2s ease,
    -webkit-filter 0.2s ease;
  transition:
    transform 0.2s ease,
    filter 0.2s ease;
  transition:
    transform 0.2s ease,
    filter 0.2s ease,
    -webkit-transform 0.2s ease,
    -webkit-filter 0.2s ease;
}
.object-fit img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
img {
  display: block;
  width: 100%;
  height: auto;
}

/*=====================================================================================================================*/
/* new
/*=====================================================================================================================*/
* {
  -webkit-font-smoothing: antialiased;
}

:root {
  --color-primary: #003EA8;
  --color-secondary: #0A4DB9;
  --color-third: #1560CD;
  --color-base-text: #383846;
  --font-ja: 'Noto Sans JP', sans-serif;
  --font-en: 'El Messiri', serif;
}

html {
  scroll-padding-top: 160px;

  @media screen and (max-width: 767px) {
    scroll-padding-top: 70px;
  }
}

main {
  margin-top: 160px;

  @media screen and (max-width: 767px) {
    margin-top: 70px;
  }
}

.forPC {
  display: block !important;

  @media screen and (max-width: 767px) {
    display: none !important;
  }
}

.forSP {
  display: none !important;

  @media screen and (max-width: 767px) {
    display: block !important;
  }
}

.forPC--flex {
  display: flex !important;

  @media screen and (max-width: 767px) {
    display: none !important;
  }
}

.forSP--flex {
  display: none !important;

  @media screen and (max-width: 767px) {
    display: flex !important;
  }
}
/*====================================*/
/* font
/*====================================*/
.en {
  font-family: var(--font-en);
}

/*====================================*/
/* header
/*====================================*/
.header {
  width: 100%;
  min-width: 1310px;
  height: 100px;
  padding: 19px 0;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;

  @media screen and (max-width: 767px) {
    min-width: 0;
    height: 66px;
    padding: 0 10px;
  }

  .header__inner {
    width: calc(100% - 96px);
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;

    @media screen and (max-width: 767px) {
      width: 100%;
      padding: 12px 16px;
    }
  }

  .header__logo {
    width: 240px;
    position: relative;
    z-index: 100;

    @media screen and (max-width: 767px) {
      width: 160px;
    }

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

  .scroll {
    @media screen and (max-width: 767px) {
      width: 100%;
      height: 100%;
      display: flex;
      flex-flow: column;
      justify-content: flex-start;
      align-items: flex-start;
      padding: 22px 26px 38px 26px;
      z-index: 10;
    }
  }

  .nav__list {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;

    @media screen and (max-width: 767px) {
      width: 100%;
      height: 100%;
      margin-top: 104px;
      flex-flow: column;
      justify-content: flex-start;
      align-items: flex-start;
    }
  }

  .nav__item {
    margin-right: 24px;

    &:first-child {
      @media screen and (max-width: 767px) {
        margin-top: 0;
      }
    }

    @media screen and (max-width: 767px) {
      width: 100%;
      margin-top: 24px;
      margin-right: 0;
    }
  }

  .nav__item--last {
    @media screen and (max-width: 767px) {
      margin-top: auto;
      padding-top: 20px;
      border-top: 1px solid #4B4B5F;
    }
  }

  .nav__link {
    @media screen and (max-width: 767px) {
      color: #fff;
      display: inline;
    }
  }

  .nav__sub-menu {
    padding-right: 20px;
    padding-bottom: 20px;
    cursor: pointer;
    position: relative;
    top: 10px;

    @media screen and (max-width: 767px) {
      color: #fff;
      padding-right: 0;
      padding-bottom: 0;
      top: 0;
    }

    &::after {
      content: "";
      display: block;
      width: 16px;
      height: 16px;
      background-image: url(../images/icon/icon-arrow-under-b.svg);
      background-size: 10.67px 5.86px;
      background-repeat: no-repeat;
      background-position: center center;
      position: absolute;
      top: 8px;
      right: 0;
      transition: all 0.3s;

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

    @media print, screen and (min-width: 768px) {
        &:hover {
          &::after {
            transform: rotate(180deg);
          }
        }

        &:hover > .nav__sub-list {
          opacity: 1;
          visibility: visible !important;
        }
      }
    }

  .nav__sub-list {
    opacity: 0;
    visibility: hidden;
    width: 240px;
    background-color: #fff;
    position: absolute;
    top: 40px;
    left: 0;
    box-shadow:
    0 4px 6px -4px rgba(0, 0, 0, 0.1),
    0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transition: all 0.3s;

    @media screen and (max-width: 767px) {
      opacity: 1;
      visibility: visible;
      display: block;
      width: 100%;
      margin-top: 20px;
      margin-left: 16px;
      background-color: unset;
      position: relative;
      top: 0;
      box-shadow: none;
    }
  }

  .nav__sub-item {
    border-bottom: 1px solid #DFDFE4;

    @media screen and (max-width: 767px) {
      border-bottom: none;
      margin-top: 16px;
    }

    &:first-child {
      @media screen and (max-width: 767px) {
        margin-top: 0;
      }
    }

    &:last-child {
      border-bottom: none;
    }
  }

  .nav__sub-link {
    font-size: 14px;
    display: block;
    padding: 12px;

    @media screen and (max-width: 767px) {
      color: #A7A7B5;
      padding: 0;
    }
  }

  .nav__btn {
    width: 144px;
    height: 52px;
    display: block;
    color: #fff;
    padding: 12px 24px;
    background-color: #003EA8;
    border-radius: 9999px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    transition: background-color 0.3s;

    @media screen and (max-width: 767px) {
      width: 100%;
    }
  }

  @media screen and (min-width: 768px) {
    .nav__btn:hover {
      background-color: #002A80;
    }
  }
}

/*====================================*/
/* SP navi
/*====================================*/
@media screen and (max-width: 768px) {
  .scroll {
    width: 100%;
    height: 100dvh;
    background-color: #23232E;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    right: -100%;
    -webkit-transition: right 0.3s ease;
    transition: right 0.3s ease;
  }
}
.scroll.open {
  right: 0;
}

/*====================================*/
/* menu button
/*====================================*/
.menu-container {
  width: 40px;
  height: 40px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: absolute;
  top: 13px;
  right: 16px;;
  z-index: 100;
}

.menu-container .bars {
  width: 16px;
  height: 14px;
  position: relative;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition:
    transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1),
    -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition:
    transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1),
    -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
}

.menu-container .bars span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-base-text);
  margin-top: 4px;
}

.menu-container .bars span:first-child {
  margin-top: 0;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition:
    transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1),
    -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition:
    transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1),
    -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.menu-container .bars span:nth-child(3) {
  -webkit-transition: width 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: width 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
  margin-left: auto;
}

.menu-container .bars .other-bar {
  width: 2px;
  height: 0;
  background-color: var(--color-base-text);
  position: absolute;
  top: -1px;
  left: 50%;
  margin-left: -1px;
  -webkit-transition: height 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: height 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  z-index: 10;
}

.menu-container.is-menu-open .bars {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.menu-container.is-menu-open .bars span:first-child {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition:
    transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1),
    -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition:
    transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1),
    -webkit-transform 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
}

.menu-container.is-menu-open .bars span:nth-child(3) {
  width: 0;
  -webkit-transition: width 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: width 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
}

.menu-container.is-menu-open .bars span:nth-child(2) {
  background-color: #fff;
}

.menu-container.is-menu-open .bars .other-bar {
  height: 16px;
  -webkit-transition: height 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  transition: height 0.3s cubic-bezier(0.694, 0.048, 0.335, 1);
  -webkit-transition-delay: 0.3s;
  transition-delay: 0.3s;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .menu-container {
    display: none;
  }
}

/*====================================*/
/* footer
/*====================================*/
.footer {
  width: 100%;
  padding: 110px 0 90px;
  position: relative;

  @media screen and (max-width: 767px) {
    padding: 40px 0;
  }

  .footer__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;

    @media screen and (max-width: 767px) {
    }
  }

  .footer__inner {
    width: 1200px;
    margin: 0 auto;

    @media screen and (max-width: 767px) {
      width: calc(100% - 40px);
    }
  }

  .title {
    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: flex-start;

    .title__text {
      font-size: 29px;
      font-weight: 700;
      color: var(--color-primary);
      margin-top: 30px;

      @media screen and (max-width: 767px) {
        font-size: 16px;
        margin-top: 18px;
      }
    }

    .title__signboard {
      width: 103px;
      height: auto;
      display: block;
      margin: 0 41px 0 26px;

      @media screen and (max-width: 767px) {
        width: 63px;
        margin: 0 12px;
      }
    }
  }

  .contact {
    width: 100%;
    padding: 48px 96px;
    border-radius: 6px;
    background-color: #fff;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;

    @media screen and (max-width: 767px) {
      padding: 36px 20px 20px 20px;
      flex-flow: column;
      justify-content: center;
    }

    .c-head-first {
      @media screen and (max-width: 767px) {
        align-items: center;
      }

      &::before {
        @media screen and (max-width: 767px) {
          width: 10px;
          height: 10px;
        }
      }
    }

    .detail {
      width: 454px;

      @media screen and (max-width: 767px) {
        width: 100%;
        margin-top: 16px;
      }

      .detail__text {
        text-align: center;

        @media screen and (max-width: 767px) {
          font-size: 14px;
        }
      }

      .detail__phone {
        width: 100%;
        height: 88px;
        margin-top: 16px;
        font-size: 48px;
        font-weight: 700;
        color: #fff;
        display: flex;
        flex-flow: row;
        justify-content: center;
        align-items: center;
        background-color: var(--color-primary);
        border-radius: 999px;

        @media screen and (max-width: 767px) {
          height: 64px;
          font-size: 24px;
        }

        .detail__phone-icon {
          width: 40px;
          height: 40px;
          display: block;
          margin-top: 6px;
          margin-right: 12px;

          @media screen and (max-width: 767px) {
            width: 24px;
            height: 24px;
            margin-right: 8px;
          }
        }
      }

      .detail__business {
        margin-top: 20px;
        display: flex;
        flex-flow: row;
        justify-content: center;
        align-items: center;

        .detail__business-text {
          height: 28px;
          padding: 0 8px;
          background-color: #D6BFAD;
          border-radius: 8px;
          font-size: 16px;
          color: #002A80;
          display: flex;
          flex-flow: column;
          justify-content: center;
          align-items: center;
          margin-right: 12px;
        }

        .detail__business-time {
          font-size: 20px;
          color: var(--color-primary);
        }
      }
    }
  }

  .footer__flex {
    margin-top: 20px;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: stretch;

    @media screen and (max-width: 767px) {
      margin-top: 16px;
      flex-flow: column-reverse;
      justify-content: center;
      align-items: center;
    }

    .address {
      width: 430px;
      padding: 45px 45px 40px 40px;
      background-color: #fff;
      border-radius: 6px;
      display: flex;
      flex-flow: column;
      justify-content: flex-start;
      align-items: flex-start;

      @media screen and (max-width: 767px) {
        width: 100%;
        margin-top: 16px;
        padding: 32px 20px;
        justify-content: center;
        align-items: center;
      }

      .address__logo {
        width: 200px;
        height: auto;
        display: block;
      }

      .address__text {
        margin-top: 28px;
        font-size: 14px;
        color: #8E8EA1;

        @media screen and (max-width: 767px) {
          margin-top: 12px;
          font-size: 12px;
          text-align: center;
        }
      }

      .copyright {
        font-size: 12px;
        color: #77778C;
        margin-top: 50px;

        @media screen and (max-width: 767px) {
          margin-top: 12px;
        }
      }
    }

    .sitemap {
      width: calc(100% - 450px);
      padding: 50px 40px 30px 40px;
      background-color: #fff;
      border-radius: 6px;

      @media screen and (max-width: 767px) {
        width: 100%;
        padding: 40px 20px;
      }

      .sitemap-nav {
        margin-top: 40px;
        display: flex;
        flex-flow: row;
        justify-content: flex-start;
        align-items: center;
        flex-flow: row wrap;

        @media screen and (max-width: 767px) {
          margin-top: 20px;
          flex-flow: row wrap;
        }

        .sitemap-nav__item {
          margin-right: 8px;
        }

        .sitemap-nav__link {
          color: var(--color-primary);

          @media screen and (max-width: 767px) {
            font-size: 14px;
          }
        }
      }

      .sitemap-link {
        margin-top: 18px;
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;

        .sitemap-link__item {
          margin-right: 8px;
        }

        .sitemap-link__link {
          font-size: 12px;
          text-decoration: underline;
          color: #8E8EA1;
        }
      }
    }
  }
}

/*=================================*/
/* under-visual / breadcrumbs
/*=================================*/
.under-visual {
  width: calc(100% - 96px);
  margin: 0 auto;

  @media screen and (max-width: 767px) {
    width: 100%;
  }

  .under-visual__inner {
    margin: 0 auto 48px auto;
    padding-bottom: 48px;
    border-bottom: 2px solid #F4F4F6;

    @media screen and (max-width: 767px) {
      margin: 0 auto 24px auto;
      padding-bottom: 24px;
    }
  }

  .breadcrumbs {
    width: calc(100% - 180px);
    margin: 0 auto;

    @media screen and (max-width: 767px) {
      width: calc(100% - 24px);
      overflow-x: scroll;
      &::-webkit-scrollbar {
        display: none;
      }
      scrollbar-width: none;
      -ms-overflow-style: none;
    }

    .breadcrumbs__list {
      display: flex;
      flex-flow: row;
      justify-content: flex-start;
      align-items: center;

      @media screen and (max-width: 767px) {
        width: 1000px;
      }
    }

    .breadcrumbs__link {
      font-size: 14px;
      color: #A7A7B5;
      text-decoration: underline;
      position: relative;
      top: -1px;

      @media screen and (max-width: 767px) {
        font-size: 12px;
        top: -2px;
      }
    }

    .breadcrumbs__arrow {
      width: 6px;
      height: auto;
      margin: 1px 14px 0 14px;

      @media screen and (max-width: 767px) {
      }
    }

    .breadcrumbs__text {
      font-size: 14px;

      @media screen and (max-width: 767px) {
        font-size: 12px;
      }
    }
  }

  .under-visual__title {
    width: calc(100% - 60px);
    height: 284px;
    margin: 20px auto 0;
    padding: 0 90px;
    background-color: #FCF9F9;
    border-radius: 8px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: flex-start;

    @media screen and (max-width: 767px) {
      width: calc(100% - 24px);
      height: 125px;
      margin: 8px auto 0;
      padding: 0 24px;
      border-radius: 6px;
    }

    .c-head-first__en {
      @media screen and (max-width: 767px) {
        font-size: 36px;
        height: 26px;
        padding-top: 2px;
      }
    }

    .c-head-first__ja {
      @media screen and (max-width: 767px) {
        font-size: 12px;
        margin-top: 12px;
      }
    }
  }

  .under-visual__visual {
    width: calc(100% - 180px);
    margin: 20px auto 0;
    border-radius: 32px;
    overflow: hidden;

    @media screen and (max-width: 767px) {
      width: calc(100% - 40px);
      margin: 8px auto 0;
      border-radius: 16px;
    }
  }

  .under-visual__image {
    width: 100%;
    height: auto;
    display: block;
  }
}

/*=================================*/
/* animetion
/*=================================*/
.fadeIn {
  opacity: 1;
}

/*====================================*/
/* component
/*====================================*/

/*==================*/
/* c-head-first
/*==================*/
.c-head-first {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 5px;
  padding-left: 32px;
  position: relative;

  @media screen and (max-width: 767px) {
    padding-top: 0;
    padding-left: 12px;
  }


  &::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 9999px;
    background-color: var(--color-secondary);
    position: absolute;
    top: 0;
    left: 0;

    @media screen and (max-width: 767px) {
      width: 8px;
      height: 8px;
    }
  }

  .c-head-first__en {
    height: 64px;
    padding-top: 26px;
    font-size: 88px;
    font-weight: 700;
    font-family: var(--font-en);
    background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-third) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;

    @media screen and (max-width: 767px) {
      height: 35px;
      padding-top: 8px;
      font-size: 48px;
    }
  }

  .c-head-first__ja {
    line-height: 1em;
    color: var(--color-primary);
    margin-top: 20px;

    @media screen and (max-width: 767px) {
      font-size: 14px;
      margin-top: 14px;
    }
  }
}

/*==================*/
/* c-head-first-s
/*==================*/
.c-head-first-s {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 2px;
  padding-left: 16px;
  position: relative;

  @media screen and (max-width: 767px) {
    padding-top: 0;
    padding-left: 12px;
  }

  &::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background-color: var(--color-third);
    position: absolute;
    top: 0;
    left: 0;
  }

  .c-head-first-s__en {
    font-size: 36px;
    font-weight: 700;
    font-family: var(--font-en);
    color: var(--color-third);

    @media screen and (max-width: 767px) {
      font-size: 24px;
    }
  }

  .c-head-first-s__ja {
    line-height: 1em;
    color: #616177;
    margin-top: 10px;

    @media screen and (max-width: 767px) {
      font-size: 12px;
      margin-top: 4px;
    }
  }
}

/*==================*/
/* c-head-second
/*==================*/
.c-head-second {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 2px;
  padding-left: 16px;
  position: relative;

  @media screen and (max-width: 767px) {
    padding-top: 0;
    padding-left: 12px;
  }

  &::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background-color: var(--color-third);
    position: absolute;
    top: 0;
    left: 0;
  }

  .c-head-second__en {
    font-size: 30px;
    font-weight: 700;
    font-family: var(--font-en);
    color: var(--color-primary);

    @media screen and (max-width: 767px) {
      font-size: 28px;
    }
  }

  .c-head-second__ja {
    font-size: 36px;
    font-weight: 700;
    color: #383846;
    margin-top: 20px;

    @media screen and (max-width: 767px) {
      font-size: 12px;
      line-height: 1em;
      margin-top: 6px;
    }
  }
}

/*==================*/
/* c-primary-button
/*==================*/
.c-primary-button {
  width: 240px;
  height: 64px;
  padding: 0 14px 0 24px;
  color: #fff;
  font-weight: 700;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-primary);
  border-radius: 999px;
  transition: background-color 0.3s;

  @media screen and (max-width: 767px) {
    padding: 0 16px 0 24px;
  }

  .c-primary-button__arrow {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background-color: var(--color-secondary);
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;

    img {
      width: 11.15px;
      height: 12.6px;
      display: block;
    }
  }
}

@media screen and (min-width: 768px) {
  .c-primary-button:hover {
    background-color: #002A80;
  }
}

/*==================*/
/* c-primary-button-s
/*==================*/
.c-primary-button-s {
  width: 178px;
  height: 48px;
  padding: 0 8px 0 16px;
  color: #fff;
  font-weight: 700;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-primary);
  border-radius: 999px;
  transition: background-color 0.3s;


  .c-primary-button-s__arrow {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background-color: var(--color-secondary);
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;

    img {
      width: 11.15px;
      height: 12.6px;
      display: block;
    }
  }
}

@media screen and (min-width: 768px) {
  .c-primary-button-s:hover {
    background-color: #002A80;
  }
}

/*==================*/
/* c-back-button
/*==================*/
.c-back-button {
  width: 220px;
  height: 64px;
  padding: 16px 24px 16px 16px;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #DFDFE4;
  border-radius: 999px;
  transition: background-color 0.3s;

  @media screen and (max-width: 767px) {
    padding: 0 16px 0 24px;
  }

  .c-back-button__arrow {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background-color: var(--color-primary);
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;

    img {
      width: 11.15px;
      height: 12.6px;
      display: block;
    }
  }
}

@media screen and (min-width: 768px) {
  .c-back-button:hover {
    background-color: #DFDFE4;
  }
}

/*==================*/
/* c-arrow
/*==================*/
.c-arrow {
  width: 32px;
  height: 32px;
  background-color: var(--color-secondary);
  border-radius: 6px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;

  @media screen and (max-width: 767px) {
  }

  img {
    width: 11.15px;
    height: 12.6px;
    display: block;

    @media screen and (max-width: 767px) {
    }
  }
}

/*====================================*/
/* c-no-card
/*====================================*/
.c-no-card {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  gap: 16px;

  @media screen and (max-width: 767px) {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
  }

  .c-no-card__item {
    width: 340px;

    @media screen and (max-width: 767px) {
      width: 100%;
    }
  }

  .c-no-card__link {
    width: 100%;
    height: 100%;
    padding: 48px 8px 80px 8px;
    border: 1px solid #F9F4F2;
    border-radius: 8px;
    display: block;
    position: relative;

    @media screen and (max-width: 767px) {
      padding: 24px 5px 50px 5px;
    }
  }

  .c-no-card__no {
    font-size: 18px;
    line-height: 1em;
    font-family: var(--font-en);
    background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-third) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    padding: 0 24px;

    @media screen and (max-width: 767px) {
      padding: 0 11px;
    }
  }

  .c-no-card__visual {
    width: 100%;
    height: 176px;
    margin-top: 16px;

    @media screen and (max-width: 767px) {
      height: auto;
      aspect-ratio: 325/176;
      margin-top: 12px;
    }
  }

  .c-no-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .c-no-card__area {
    padding: 0 24px;

    @media screen and (max-width: 767px) {
      padding: 0 11px;
    }
  }

  .c-no-card__small {
    font-size: 12px;
    text-align: center;
    color: var(--color-primary);
    margin-top: 16px;

    @media screen and (max-width: 767px) {
      margin-top: 12px;
    }
  }

  .c-no-card__title {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
  }

  .c-no-card__text {
    font-size: 12px;
    margin-top: 16px;

    @media screen and (max-width: 767px) {
      margin-top: 12px;
    }
  }

  .c-arrow {
    position: absolute;
    bottom: 32px;
    right: 32px;

    @media screen and (max-width: 767px) {
      bottom: 16px;
      right: 16px;
    }
  }
}

/*====================================*/
/* c-image-card
/*====================================*/
.c-image-card {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  gap: 48px;

  @media screen and (max-width: 767px) {
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 16px;
  }

  .c-image-card__item {
    width: 318px;
    border: 2px solid #DFDFE4;
    border-radius: 12px;
    position: relative;
    overflow: hidden;

    @media screen and (max-width: 767px) {
      width: 100%;
    }
  }

  .c-image-card__link {
    width: 100%;
    display: block;
  }

  .c-image-card__visual {
    width: 100%;
    height: 178px;

    @media screen and (max-width: 767px) {
      height: auto;
      aspect-ratio: 335/187;
    }
  }

  .c-image-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .c-image-card__area {
    padding: 20px;
  }

  .c-image-card__title {
    color: var(--color-primary);
  }

  .c-image-card__genre {
    display: inline-block;
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
    background-color: var(--color-primary);
  }


  .c-image-card__label {
    margin-top: 16px;
    display: flex;
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .c-image-card__label-text {
    font-size: 12px;
    font-weight: 700;
    line-height: 1em;
    color: #B68A69;
    margin-right: 4px;
    padding: 6px 8px;
    border-radius: 4px;
    background-color: #F3ECE7;
  }

  .c-image-card__date {
    font-size: 14px;
    color: #A7A7B5;
    margin-top: 2px;
  }

  .c-image-card__text {
    font-size: 12px;
    line-height: 1.7em;
    margin-top: 8px;
    color: #77778C;

    @media screen and (max-width: 767px) {
      font-size: 14px;
    }
  }

  .c-arrow {
    position: absolute;
    bottom: 20px;
    right: 20px;
  }
}

.c-image-card--2 {
  gap: 24px;

  .c-image-card__item {
    width: 336px;

    @media screen and (max-width: 767px) {
      width: 100%;
    }
  }

  .c-image-card__area {
    padding: 16px 24px;
  }

  .c-arrow {
    position: absolute;
    bottom: 16px;
    right: 24px;
  }
}

/*====================================*/
/* c-annotation
/*====================================*/
.c-annotation {
  .c-annotation__text {
    color: #8E8EA1;
    padding-left: 2em;
    text-indent: -1em;

    @media screen and (max-width: 767px) {
      font-size: 14px;
    }

    &:nth-child(n + 2) {
      margin-top: 12px;

      @media screen and (max-width: 767px) {
        margin-top: 12px;
      }
    }

    span {
      color: #8E8EA1;
      margin-right: 8px;
      display: inline-block;

      @media screen and (max-width: 767px) {
        font-size: 14px;
        margin-right: 4px;
      }
    }
  }
}

/*====================================*/
/* c-advice
/*====================================*/
.c-advice {
  width: calc(100% - 88px);
  margin: 80px auto 0 auto;
  padding: 0 0 134px 0;
  position: relative;

  @media screen and (max-width: 767px) {
    width: calc(100% - 40px);
    margin: 44px auto 0 auto;
    padding: 0 16px 48px 16px;
  }

  &::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 40px);
    border-radius: 10px;
    background-color: #F9F4F2;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;

    @media screen and (max-width: 767px) {
      height: calc(100% - 20px);
      border-radius: 12px;
    }
  }

  .c-advice__title {
    width: 484px;
    height: 77px;
    margin: 0 auto;
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    border-radius: 9999px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    background-color: var(--color-primary);

    @media screen and (max-width: 767px) {
      width: 256px;
      height: 44px;
      font-size: 16px;
    }
  }

  .c-advice__flex {
    width: 1060px;
    margin: 96px auto 0 auto;
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: stretch;
    border-bottom: 3px solid #F3ECE7;

    @media screen and (max-width: 767px) {
      width: 100%;
      margin: 24px auto 0 auto;
      flex-flow: column;
      justify-content: center;
      align-items: center;
    }
  }

  .c-advice__flex:nth-child(n + 2) {
    margin: 64px auto 0 auto;

    @media screen and (max-width: 767px) {
      margin: 24px auto 0 auto;
    }
  }

  .c-advice__question {
    width: 395px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;

    @media screen and (max-width: 767px) {
      width: 100%;
      justify-content: center;
    }
  }

  .c-advice__question-bubble {
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 32px 24px;
    background-color: #E9DED3;
    border-radius: 16px;
    position: relative;

    @media screen and (max-width: 767px) {
      padding: 16px 12px;
      border-radius: 12px;
    }

    &::before {
      content: "";
      display: block;
      width: 36px;
      height: 28px;
      background-image: url(/images/icon/avatar/bubble-b-pc.svg);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      position: absolute;
      bottom: -28px;
      right: 48px;

      @media screen and (max-width: 767px) {
        width: 20px;
        height: 15.5px;
        background-image: url(/images/icon/avatar/bubble-b-sp.svg);
        margin: auto;
        bottom: -15.5px;
        left: 0;
        right: 0;
      }
    }
  }

  .c-advice__question-title {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.4em;
    white-space: nowrap;
    color: #fff;
    background-color: #B68A69;
    border-radius: 8px;
    padding: 8px;
    display: inline-block;

    @media screen and (max-width: 767px) {
      font-size: 16px;
      line-height: 1.75em;
      padding: 4px 8px;
    }
  }

  .c-advice__question-text {
    color: #634731;
    margin-top: 16px;

    @media screen and (max-width: 767px) {
      font-size: 14px;
      margin-top: 8px;
    }

    span {
      color: #634731;
      text-decoration: underline;

      @media screen and (max-width: 767px) {
        font-size: 14px;
      }
    }
  }

  .c-advice__icon {
    width: 180px;
    height: auto;
    display: block;
    margin-top: 28px;

    @media screen and (max-width: 767px) {
      width: 120px;
    }
  }

  .c-advice__answer {
    width: 590px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;

    @media screen and (max-width: 767px) {
      width: 100%;
      margin-top: 16px;
      justify-content: center;
    }
  }

  .c-advice__answer-bubble {
    width: 100%;
    padding: 32px 24px;
    background-color: #fff;
    border-radius: 16px;
    border: 2px solid #DFDFE4;
    position: relative;

    @media screen and (max-width: 767px) {
      padding: 16px 12px;
      border-radius: 12px;
    }

    &::before {
      content: "";
      display: block;
      width: 36px;
      height: 28px;
      background-image: url(/images/icon/avatar/bubble-w-pc.svg);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover;
      position: absolute;
      bottom: -28px;
      left: 96px;

      @media screen and (max-width: 767px) {
        width: 22px;
        height: 15.5px;
        background-image: url(/images/icon/avatar/bubble-w-sp.svg);
        margin: auto;
        bottom: -15.5px;
        left: 0;
        right: 0;
      }
    }
  }

  .c-advice__answer-title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5em;
    text-align: center;
    color: var(--color-third);

    @media screen and (max-width: 767px) {
      font-size: 16px;
      text-align: center;
    }
  }

  .c-advice__answer-text {
    margin-top: 16px;
    font-size: 14px;

    @media screen and (max-width: 767px) {
      margin-top: 8px;
    }
  }

  .c-advice__answer-link {
    margin-top: 16px;
    display: flex;
    flex-flow: column;
    justify-content:center;
    align-items: center;

    @media screen and (max-width: 767px) {
      margin-top: 8px;
    }
  }

  .c-advice__answer-link--flex {
    flex-flow: row;
    gap: 16px;

    @media screen and (max-width: 767px) {
      flex-flow: column;
      gap: 8px;
    }
  }
}

/*====================================*/
/* c-table
/*====================================*/
.c-table {
  margin-top: 52px;

  @media screen and (max-width: 767px) {
    margin-top: 24px;
  }

  .c-table__title {
    font-size: 30px;
    line-height: 1.5em;
    color: var(--color-primary);

    @media screen and (max-width: 767px) {
      font-size: 20px;
    }
  }

  .c-table__scroll {
    margin-top: 30px;
    border-radius: 16px;
    border: 4px solid #DFDFE4;
    overflow: hidden;


    @media screen and (max-width: 767px) {
      width: calc(100% + 20px);
      margin-top: 12px;
      border-radius: 16px 0 0 16px;
      overflow-x: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;

      &::-webkit-scrollbar {
        display: none;
      }
    }
  }

  table {
    width: 100%;
    border-collapse: collapse;

    @media screen and (max-width: 767px) {
      width: 1060px;
    }

    th {
      padding: 24px 16px;
      text-align: center;
      white-space: nowrap;
      color: #fff;
      border: 1px solid #DFDFE4;
      background-color: var(--color-primary);
    }

    .th-01 {
      width: 96px !important;
    }

    .th-02 {
      width: 240px !important;
    }

    .th-03 {
      width: 336px !important;
    }

    .th-04 {
      width: 190px !important;
    }

    td {
      padding: 16px;
      vertical-align: middle;
      border: 1px solid #DFDFE4;
      background-color: #F9F9F9;

      li {
        padding-left: 1em;
        text-indent: -1em;
      }
    }
  }
}

.footer__ccig{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 26px;
}
.logo_ccig{width: 114px;padding-left: 3px;}
.footer__ccig a{
  font-size: 14px;
  color: #8E8EA1;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .footer__ccig{
    justify-content: center;
  }
  .logo_ccig{padding-left: 0}
}