@charset "UTF-8";
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
  color: inherit;
}

[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-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 100%;
  scroll-padding-top: 100px;
}
@media (max-width: 767px) {
  html {
    scroll-padding-top: 50px;
  }
}

@font-face {
  font-family: "Pitch";
  font-weight: 700;
  src: url("../font/Pitch-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Pitch";
  font-weight: 600;
  src: url("../font/Pitch-Semibold.woff2") format("woff2");
}
body {
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16.5px;
  letter-spacing: 0.05em;
  color: #000000;
  background-color: #fff;
}
@media (max-width: 767px) {
  body {
    font-size: 18px;
  }
}

@media (max-width: 767px) {
  main {
    margin-top: 0;
  }
}

li {
  list-style: none;
}

a {
  color: #000000;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

address,
em {
  font-style: normal;
}

.bg-pink {
  background: #e39184;
}

.bg-orange {
  background: #e39184;
}

@media (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.line-top {
  position: relative;
}
.line-top::before {
  position: absolute;
  content: "";
  background: #000000;
  width: 100%;
  height: 3px;
  border-radius: 10px;
  top: 0;
  left: 0;
}

.line-bottom {
  position: relative;
}
.line-bottom::after {
  position: absolute;
  content: "";
  background: #000000;
  width: 100%;
  height: 4px;
  border-radius: 10px;
  bottom: 0;
  left: 0;
}

.content-width {
  max-width: 879px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .content-width {
    width: 100%;
  }
}

.section-title {
  margin-bottom: 65px;
}
@media (max-width: 767px) {
  .section-title {
    margin-bottom: 30px;
  }
}
.section-title .ja {
  font-size: 28.5px;
  font-weight: 700;
  display: block;
}
@media (max-width: 767px) {
  .section-title .ja {
    font-size: 26px;
  }
}
.section-title .en {
  font-family: "Pitch";
  font-weight: 700;
  font-size: 37.5px;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .section-title .en {
    font-size: 38px;
  }
}

.en {
  font-family: "Pitch";
  font-weight: 700;
}

.en-semi {
  font-family: "Pitch";
  font-weight: 600;
}

.section-subtitle {
  margin-bottom: 24.75px;
}
@media (max-width: 767px) {
  .section-subtitle {
    margin-bottom: 27px;
  }
}
.section-subtitle .top-text {
  display: block;
  margin-bottom: 9px;
  font-size: 18px;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .section-subtitle .top-text {
    margin-bottom: 21px;
    font-size: 18px;
  }
}
.section-subtitle .catch-text {
  font-size: 33.75px;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .section-subtitle .catch-text {
    font-size: 23px;
    line-height: 1.5555555556;
  }
}

.section-text {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 2.1111111111;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .section-text {
    font-size: 18px;
  }
}

.item-title {
  line-height: 1;
}
.item-title .ja {
  font-size: 28.5px;
  letter-spacing: 0.15em;
  display: block;
}
@media (max-width: 767px) {
  .item-title .ja {
    font-size: 38px;
  }
}
.item-title .en {
  font-size: 24px;
  letter-spacing: 0;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .item-title .en {
    font-size: 30px;
  }
}

.item-text {
  font-size: 10.5px;
  line-height: 2;
}
@media (max-width: 767px) {
  .item-text {
    font-size: 14px;
  }
}

.btn {
  max-width: 135.75px;
  width: 100%;
  height: 30px;
  border-radius: 49.6px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  border: solid 3px #000000;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
  position: relative;
}
.btn .en {
  font-size: 10.5px;
}
@media (max-width: 767px) {
  .btn .en {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .btn {
    max-width: 188px;
    width: 186px;
    height: 40px;
    font-size: 16px;
  }
}

.btn1 {
  overflow: hidden;
}

.btn1:hover {
  color: #fff !important;
}

.btn1:hover::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.btn1::before {
  border-radius: 49.6px;
  position: absolute;
  top: 0;
  left: -1px;
  content: "";
  display: block;
  width: 102%;
  height: 100%;
  background: #000000;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.en {
  position: relative;
  line-height: 0;
}

.btn-list {
  margin-top: 60px;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .btn-list {
    margin-top: 68px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.btn-list li {
  max-width: 133.5px;
  width: 100%;
  text-align: center;
}
@media (max-width: 767px) {
  .btn-list li {
    max-width: 140px;
  }
}
.btn-list .icon-btn .ja {
  display: block;
  font-size: 13.5px;
  letter-spacing: 0.015em;
  line-height: 1;
  margin-top: 22.5px;
  border-bottom: solid 4px #000000;
  padding-bottom: 15px;
}
@media (max-width: 767px) {
  .btn-list .icon-btn .ja {
    font-size: 16px;
    padding-bottom: 15px;
    margin-top: 40px;
    border-bottom: solid 3px #000000;
  }
}

/* フェードイン */
.fadein {
  -webkit-transform: translate(0, 0);
  opacity: 0;
  -webkit-transition: all 0.8s 0.3s;
  transition: all 0.8s 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.fadein-bottom {
  -webkit-transform: translate(0, 30px);
  transform: translate(0, 30px);
}

.scrollin {
  -webkit-transform: translate(0, 0) !important;
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

@media (max-width: 767px) {
  .scroll-box {
    overflow: auto;
  }
  .scroll-box img {
    max-width: unset;
    height: 420px;
    width: auto;
  }
}
main.page section {
  padding: 0px 20px;
  max-width: 924px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 767px) {
  main.page section {
    padding: 46px 25px;
  }
}
main.page section .spacer_80 {
  height: 80px;
}
main.page section .spacer_44 {
  height: 44px;
}
main.page section .spacer_30 {
  height: 30px;
}
main.page section .spacer_14 {
  height: 14px;
}
main.page section .mb20 {
  margin-bottom: 20px !important;
}
main.page section .content-width {
  margin: 0 auto;
  padding: 46.5px 24.75px 82.125px;
}
@media (max-width: 767px) {
  main.page section .content-width {
    padding: 40px 0px 26px;
  }
}
main.page section .content-width p,
main.page section .content-width li {
  font-size: 13.5px;
  font-weight: bold;
  line-height: 2em;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  main.page section .content-width p,
  main.page section .content-width li {
    font-size: 14px;
  }
}
main.page section .content-width ol.num_list {
  padding-left: 15px;
}
@media (max-width: 767px) {
  main.page section .content-width ol.num_list {
    padding-left: 20px;
  }
}
main.page section .content-width ol.num_list li {
  list-style: revert;
}
main.page section .content-width ul.disc_list {
  list-style: none; /* ブラウザデフォルトのマーカーを無効化 */
  padding: 0;
  margin: 0;
}
main.page section .content-width ul.disc_list li {
  position: relative;
  padding-left: 2.5em;
  margin-bottom: 2em;
}
main.page section .content-width ul.disc_list li:before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  color: #000;
}
main.page section .content-width .privacy_table {
  border-spacing: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
main.page section .content-width .privacy_table th, main.page section .content-width .privacy_table td {
  border: 1px solid;
  padding: 20px;
  vertical-align: middle;
}

/*=================================================
    ヘッダー
===================================================*/
.header {
  width: 100%;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  padding: 27px 2.8125vw 0 2.421875vw;
  z-index: 100;
  /*ドロップダウンメニュー*/
  /*hoverしたら表示*/
}
@media (max-width: 767px) {
  .header {
    padding: 16px 15px 0;
  }
}
.header .header__inner {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  max-width: 1212px;
}
@media (max-width: 767px) {
  .header .header__inner {
    width: 100%;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.header .header__logo {
  position: relative;
  z-index: 101;
  max-width: 103px;
}
@media (max-width: 767px) {
  .header .header__logo {
    line-height: 1;
    max-width: 75px;
    width: 100%;
  }
}
.header .header__logo img {
  max-width: 103px;
}
@media (max-width: 767px) {
  .header .header__logo img {
    max-width: 75px;
  }
}
.header .header__logo .header-logo-wh {
  display: block;
}
.header .header__logo .header-logo-bk {
  display: none;
}
.header .header__inner__left {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .header__inner__right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}
.header .header__menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.90625vw;
}
.header .header__menu a {
  position: relative;
}
.header .header__menu a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #000000;
  bottom: -10px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
.header .header__menu a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
}
@media (min-width:1280px) {
  .header .header__menu {
    gap: 60px;
  }
}
@media (max-width: 767px) {
  .header .header__menu {
    display: none;
  }
}
.header .header__menu li {
  position: relative;
}
.header .header__menu a {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2em;
}
@media (max-width:1100px) {
  .header .header__menu a {
    font-size: 12px;
  }
}
.header nav li.has-child ul {
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 4;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin-top: -10px;
  padding: 10px;
  background-color: #fff;
}
.header nav li.has-child ul li {
  margin-bottom: 10px;
}
.header nav li.has-child ul li.wide {
  width: 260px;
}
.header nav li.has-child ul li:last-child {
  margin-bottom: 0;
}
.header nav li.has-child:hover > ul,
.header nav li.has-child ul li:hover > ul,
.header nav li.has-child:active > ul,
.header nav li.has-child ul li:active > ul {
  visibility: visible;
  opacity: 1;
}
.header nav li.has-child ul li:last-child > a {
  border-bottom: none;
}
.header .logo-bk {
  display: block;
}
.header .logo-wh {
  display: none;
}

.home header .header__menu a {
  color: #000;
}
.home header .header__menu nav li.has-child ul li a {
  color: #000;
}
.home header .logo-bk {
  display: block;
}
.home header .logo-wh {
  display: none;
}
.home header.active {
  background: transparent;
}
.home header.active nav li.has-child ul {
  background: transparent;
}
.home header.active .logo-bk {
  display: none;
}
.home header.active .logo-wh {
  display: block;
}
.home header.active .header__menu a {
  color: #fff;
}
.home header.active .header__menu nav li.has-child ul li a {
  color: #fff;
}

body.active .logo-bk {
  display: block !important;
}
body.active .logo-wh {
  display: none !important;
}

/*=================================================
    SP ハンバーガーメニュー
===================================================*/
/* ハンバーガーメニューボタン */
.hamburger-btn {
  width: 40px;
  height: 15px;
  z-index: 100;
  cursor: pointer;
  line-height: 1;
  position: relative;
}
@media (min-width: 768px) {
  .hamburger-btn {
    display: none;
  }
}
.hamburger-btn .hamburger-line {
  height: 1px;
  background-color: #000;
  position: absolute;
  right: 0;
}
.hamburger-btn .hamburger-line:nth-child(1) {
  width: 40px;
  top: 0;
  -webkit-transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.hamburger-btn .hamburger-line:nth-child(2) {
  width: 30px;
  top: 5px;
  -webkit-transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.hamburger-btn .hamburger-line:nth-child(3) {
  width: 20px;
  top: 10px;
  -webkit-transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.hamburger-btn .hamburger-line:nth-child(4) {
  width: 10px;
  top: 15px;
  -webkit-transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, -webkit-transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s;
  transition: width 0.3s, top 0.3s, transform 0.3s, -webkit-transform 0.3s;
}
.hamburger-btn.active .hamburger-line:nth-child(1) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 8px;
  -webkit-transition: 0.6s 0.2s;
  transition: 0.6s 0.2s;
  -webkit-transition: width 0.6s 0.2s, top 0.6s 0.2s, -webkit-transform 0.6s 0.2s;
  transition: width 0.6s 0.2s, top 0.6s 0.2s, -webkit-transform 0.6s 0.2s;
  transition: width 0.6s 0.2s, top 0.6s 0.2s, transform 0.6s 0.2s;
  transition: width 0.6s 0.2s, top 0.6s 0.2s, transform 0.6s 0.2s, -webkit-transform 0.6s 0.2s;
}
.hamburger-btn.active .hamburger-line:nth-child(2) {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.hamburger-btn.active .hamburger-line:nth-child(3) {
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.hamburger-btn.active .hamburger-line:nth-child(4) {
  width: 40px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 8px;
  -webkit-transition: width 0.6s 0.2s, top 0.6s 0.2s, -webkit-transform 0.6s 0.2s;
  transition: width 0.6s 0.2s, top 0.6s 0.2s, -webkit-transform 0.6s 0.2s;
  transition: width 0.6s 0.2s, top 0.6s 0.2s, transform 0.6s 0.2s;
  transition: width 0.6s 0.2s, top 0.6s 0.2s, transform 0.6s 0.2s, -webkit-transform 0.6s 0.2s;
}

/* メニューの中身 */
.hamburger-menu_wrap {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  -webkit-transform: translate(0px, 100%);
          transform: translate(0px, 100%);
  -webkit-transition: 0;
  transition: 0;
  -webkit-animation: hamburger-menu_wrap_down 0.8s forwards;
          animation: hamburger-menu_wrap_down 0.8s forwards;
}

@-webkit-keyframes hamburger-menu_wrap_down {
  0% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
  10% {
    -webkit-transform: translate(0px, 5%);
            transform: translate(0px, 5%);
  }
  30% {
    -webkit-transform: translate(0px, 10%);
            transform: translate(0px, 10%);
  }
  40% {
    -webkit-transform: translate(0px, 15%);
            transform: translate(0px, 15%);
  }
  50% {
    -webkit-transform: translate(0px, 20%);
            transform: translate(0px, 20%);
  }
  100% {
    -webkit-transform: translate(0px, 100%);
            transform: translate(0px, 100%);
  }
}

@keyframes hamburger-menu_wrap_down {
  0% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
  10% {
    -webkit-transform: translate(0px, 5%);
            transform: translate(0px, 5%);
  }
  30% {
    -webkit-transform: translate(0px, 10%);
            transform: translate(0px, 10%);
  }
  40% {
    -webkit-transform: translate(0px, 15%);
            transform: translate(0px, 15%);
  }
  50% {
    -webkit-transform: translate(0px, 20%);
            transform: translate(0px, 20%);
  }
  100% {
    -webkit-transform: translate(0px, 100%);
            transform: translate(0px, 100%);
  }
}
#hamburger-menu {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  visibility: hidden;
  padding: 149px 0 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 25px;
  background: #fff;
  padding: 100px 25px 0;
  -webkit-transform: translate(0px, -100%);
          transform: translate(0px, -100%);
}
#hamburger-menu.down {
  visibility: visible;
  -webkit-animation: hamburger-menu_down 0.8s forwards;
          animation: hamburger-menu_down 0.8s forwards;
}
@media (min-width: 768px) {
  #hamburger-menu {
    display: none;
  }
}
@-webkit-keyframes hamburger-menu_down {
  0% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
  10% {
    -webkit-transform: translate(0px, -5%);
            transform: translate(0px, -5%);
  }
  30% {
    -webkit-transform: translate(0px, -10%);
            transform: translate(0px, -10%);
  }
  40% {
    -webkit-transform: translate(0px, -15%);
            transform: translate(0px, -15%);
  }
  50% {
    -webkit-transform: translate(0px, -20%);
            transform: translate(0px, -20%);
  }
  100% {
    -webkit-transform: translate(0px, -100%);
            transform: translate(0px, -100%);
  }
}
@keyframes hamburger-menu_down {
  0% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
  10% {
    -webkit-transform: translate(0px, -5%);
            transform: translate(0px, -5%);
  }
  30% {
    -webkit-transform: translate(0px, -10%);
            transform: translate(0px, -10%);
  }
  40% {
    -webkit-transform: translate(0px, -15%);
            transform: translate(0px, -15%);
  }
  50% {
    -webkit-transform: translate(0px, -20%);
            transform: translate(0px, -20%);
  }
  100% {
    -webkit-transform: translate(0px, -100%);
            transform: translate(0px, -100%);
  }
}
@media (max-width: 767px) {
  #hamburger-menu .hamburger__menu__item:last-of-type .menu-title {
    border-bottom: solid 4px #000000;
  }
}
#hamburger-menu .hamburger__menu {
  max-width: 1114px;
  margin: 0 auto;
}
#hamburger-menu .hamburger__menu .menu-title {
  font-weight: 700;
  line-height: 1.625;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media (max-width: 767px) {
  #hamburger-menu .hamburger__menu .menu-title {
    font-size: 14px;
    gap: 0;
    padding: 17px 0;
    border-top: solid 4px #000000;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    letter-spacing: 0.2em;
  }
}
#hamburger-menu .hamburger__menu .menu-title .line {
  display: block;
  width: 18px;
  height: 1.5px;
  background: #000000;
}
@media (max-width: 767px) {
  #hamburger-menu .hamburger__menu .menu-title .line {
    display: none;
  }
}
#hamburger-menu .hamburger__menu .menu-title .toggle {
  width: 10px;
  height: 10px;
  position: relative;
  right: 15px;
}
@media (min-width: 768px) {
  #hamburger-menu .hamburger__menu .menu-title .toggle {
    display: none;
  }
}
#hamburger-menu .hamburger__menu .menu-title .toggle:before, #hamburger-menu .hamburger__menu .menu-title .toggle:after {
  position: absolute;
  content: "";
  background: #000000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  right: 0;
  width: 10px;
  height: 1.5px;
}
#hamburger-menu .hamburger__menu .menu-title .toggle:after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
#hamburger-menu .hamburger__menu .menu-list {
  margin-top: 25px;
  padding-left: 30px;
}
@media (max-width: 767px) {
  #hamburger-menu .hamburger__menu .menu-list {
    display: none;
    border-top: solid 4px #000000;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
    margin-top: 0;
  }
}
#hamburger-menu .hamburger__menu .menu-list li {
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  #hamburger-menu .hamburger__menu .menu-list li {
    width: 100%;
    margin-bottom: 0;
  }
}
#hamburger-menu .hamburger__menu .menu-list li a {
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  #hamburger-menu .hamburger__menu .menu-list li a {
    font-size: 14px;
    font-weight: 600;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    letter-spacing: 0.2em;
  }
}

/* ハンバーガーメニュー開いた時 */
.hamburger-menu_wrap:has(#hamburger-menu.active) {
  -webkit-animation: hamburger-menu_wrap_up 0.8s forwards;
          animation: hamburger-menu_wrap_up 0.8s forwards;
}

@-webkit-keyframes hamburger-menu_wrap_up {
  0% {
    -webkit-transform: translate(0px, 100%);
            transform: translate(0px, 100%);
  }
  10% {
    -webkit-transform: translate(0px, 95%);
            transform: translate(0px, 95%);
  }
  30% {
    -webkit-transform: translate(0px, 90%);
            transform: translate(0px, 90%);
  }
  40% {
    -webkit-transform: translate(0px, 85%);
            transform: translate(0px, 85%);
  }
  50% {
    -webkit-transform: translate(0px, 80%);
            transform: translate(0px, 80%);
  }
  100% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
}

@keyframes hamburger-menu_wrap_up {
  0% {
    -webkit-transform: translate(0px, 100%);
            transform: translate(0px, 100%);
  }
  10% {
    -webkit-transform: translate(0px, 95%);
            transform: translate(0px, 95%);
  }
  30% {
    -webkit-transform: translate(0px, 90%);
            transform: translate(0px, 90%);
  }
  40% {
    -webkit-transform: translate(0px, 85%);
            transform: translate(0px, 85%);
  }
  50% {
    -webkit-transform: translate(0px, 80%);
            transform: translate(0px, 80%);
  }
  100% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
}
#hamburger-menu.active {
  /*overflow: scroll;*/
  visibility: visible;
  -webkit-transition: 1s;
  transition: 1s;
  left: 0;
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translate(0px, 0);
          transform: translate(0px, 0);
  -webkit-animation: hamburger-menu_up 0.8s forwards;
          animation: hamburger-menu_up 0.8s forwards;
}
@media (max-width: 767px) {
  #hamburger-menu.active {
    overflow-y: scroll;
    overflow-x: hidden;
  }
}

@-webkit-keyframes hamburger-menu_up {
  0% {
    -webkit-transform: translate(0px, -100%);
            transform: translate(0px, -100%);
  }
  10% {
    -webkit-transform: translate(0px, -95%);
            transform: translate(0px, -95%);
  }
  30% {
    -webkit-transform: translate(0px, -90%);
            transform: translate(0px, -90%);
  }
  40% {
    -webkit-transform: translate(0px, -85%);
            transform: translate(0px, -85%);
  }
  50% {
    -webkit-transform: translate(0px, -80%);
            transform: translate(0px, -80%);
  }
  100% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
}

@keyframes hamburger-menu_up {
  0% {
    -webkit-transform: translate(0px, -100%);
            transform: translate(0px, -100%);
  }
  10% {
    -webkit-transform: translate(0px, -95%);
            transform: translate(0px, -95%);
  }
  30% {
    -webkit-transform: translate(0px, -90%);
            transform: translate(0px, -90%);
  }
  40% {
    -webkit-transform: translate(0px, -85%);
            transform: translate(0px, -85%);
  }
  50% {
    -webkit-transform: translate(0px, -80%);
            transform: translate(0px, -80%);
  }
  100% {
    -webkit-transform: translate(0px, 0%);
            transform: translate(0px, 0%);
  }
}
.home header.active .header__menu a::after {
  background: #fff;
}
.home header.active .hamburger-line {
  background-color: #fff;
}

#hamburger-menu .hamburger__menu .menu-title.open {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#hamburger-menu .hamburger__menu .menu-title.open .toggle {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#hamburger-menu .hamburger__menu .menu-title.open .toggle:after {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

body.active {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.home.active .hamburger-line {
  background-color: #000 !important;
}
.home.active .header-logo-wh {
  display: none;
}
.home.active .header-logo-bk {
  display: block;
}
.home.active .header .header__menu a::after {
  background: #000;
}

.mv {
  position: relative;
  width: 100%;
  height: 100%;
}
.mv .mv__img {
  width: 100%;
  height: 100%;
}
.mv .mv__img img {
  width: 100%;
}
.mv .mv-catch {
  text-align: center;
  color: #fff;
  position: absolute;
  top: 20%;
  right: 8%;
  width: 190px;
  height: 100%;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 4.84375vw;
  font-weight: 700;
  letter-spacing: 0.5em;
  z-index: 1;
}
@media (min-width:1280px) {
  .mv .mv-catch {
    font-size: 62px;
  }
}
@media (max-width: 767px) {
  .mv .mv-catch {
    top: -18%;
    right: 8%;
    font-size: 26px;
    letter-spacing: 0.5em;
    color: #000;
    width: 36px;
  }
}

.top-massage {
  padding: 49px 20px 0;
}
@media (max-width: 767px) {
  .top-massage {
    padding: 55px 25px 0;
  }
}

@media (min-width: 768px) {
  body.home .content-width {
    max-width: 772px;
  }
}
body.home .top_movie {
  display: none;
}
body.home .top_movie.active {
  display: block;
  position: fixed;
  width: 101vw;
  height: 100vh;
  background-color: #fff;
  z-index: 101;
  -webkit-animation: fadeInOpacity 1.5s 3.5s forwards;
          animation: fadeInOpacity 1.5s 3.5s forwards;
}
body.home .top_movie.active .movie_logo {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 680px;
  -webkit-filter: blur(100px);
          filter: blur(100px);
  opacity: 0;
  -webkit-animation: fadeInBlur 2s 0s forwards;
          animation: fadeInBlur 2s 0s forwards;
}
@media (max-width: 767px) {
  body.home .top_movie.active .movie_logo {
    width: 100%;
  }
}
@-webkit-keyframes fadeInBlur {
  0% {
    -webkit-filter: blur(70px);
            filter: blur(70px);
    opacity: 1;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@keyframes fadeInBlur {
  0% {
    -webkit-filter: blur(70px);
            filter: blur(70px);
    opacity: 1;
  }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px);
    opacity: 1;
  }
}
@-webkit-keyframes fadeInOpacity {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fadeInOpacity {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
body.home .top-news {
  padding: 40px 20px 20px;
  text-align: center;
  font-size: 18px;
}
@media (max-width: 767px) {
  body.home .top-news {
    text-align: left;
  }
}
body.home .top-business {
  padding: 108.6px 15px 0;
}
@media (max-width: 767px) {
  body.home .top-business {
    padding: 129px 25px 0;
  }
}
@media (min-width: 768px) {
  body.home .top-business .section-title {
    margin-bottom: 33.75px;
  }
}
body.home .top-business .top-business__img {
  margin: 54.75px auto 0;
  max-width: 772px;
}
@media (max-width: 767px) {
  body.home .top-business .top-business__img {
    margin: 50px auto 0;
  }
}
body.home .platform {
  padding: 102.75px 15px 0;
}
@media (max-width: 767px) {
  body.home .platform {
    padding: 113px 22px 0;
  }
}
@media (min-width: 768px) {
  body.home .platform .section-title {
    margin-bottom: 33.5px;
  }
}
body.home .platform .btn-list {
  gap: 76.5px;
}
@media (max-width: 767px) {
  body.home .platform .btn-list {
    gap: 68px;
  }
}
body.home .top-creation {
  padding: 102.75px 15px 105px;
}
@media (max-width: 767px) {
  body.home .top-creation {
    padding: 161px 25px 104px;
  }
}
body.home .top-creation .creation__news {
  margin: 130.5px auto 0;
  max-width: 734px;
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news {
    margin: 112px auto 0;
  }
}
@media (min-width: 768px) {
  body.home .top-creation .section-title {
    margin-bottom: 33.5px;
  }
}
body.home .top-creation .creation__news__title {
  padding-bottom: 18.75px;
  padding-left: 15px;
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news__title {
    padding-bottom: 25px;
    padding-left: 7px;
  }
}
body.home .top-creation .creation__news__title .en {
  font-size: 16.5px;
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news__title .en {
    font-size: 22px;
  }
}
body.home .top-creation .creation__news__list {
  margin-top: 20.25px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 4.98046875vw;
     -moz-column-gap: 4.98046875vw;
          column-gap: 4.98046875vw;
  row-gap: 3.22265625vw;
}
@media (min-width: 768px) {
  body.home .top-creation .creation__news__list {
    padding: 0 16.5px;
  }
}
@media (min-width:1280px) {
  body.home .top-creation .creation__news__list {
    -webkit-column-gap: 63.75px;
       -moz-column-gap: 63.75px;
            column-gap: 63.75px;
    row-gap: 41.25px;
  }
}
@media (max-width:1100px) {
  body.home .top-creation .creation__news__list {
    -webkit-column-gap: 3.515625vw;
       -moz-column-gap: 3.515625vw;
            column-gap: 3.515625vw;
    row-gap: 3.22265625vw;
  }
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news__list {
    margin-top: 34px;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 27px;
       -moz-column-gap: 27px;
            column-gap: 27px;
    row-gap: 50px;
  }
}
body.home .top-creation .creation__news__list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 16.5px;
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news__list li {
    gap: 18px;
  }
}
body.home .top-creation .creation__news__list .list-title {
  font-size: 10.5px;
  line-height: 1.5714285714;
  padding-bottom: 10px;
  position: relative;
}
body.home .top-creation .creation__news__list .list-title::after {
  position: absolute;
  content: "";
  background: #000000;
  width: 100%;
  height: 4px;
  border-radius: 10px;
  bottom: 0;
  left: 0;
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news__list .list-title {
    font-size: 14px;
  }
}
body.home .top-creation .creation__news__list .list-img {
  margin-top: 20.25px;
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news__list .list-img {
    margin-top: 23px;
  }
}
body.home .top-creation .creation__news__list .list-text {
  font-size: 10.5px;
  line-height: 1.5714285714;
}
@media (max-width: 767px) {
  body.home .top-creation .creation__news__list .list-text {
    font-size: 14px;
  }
}

.message_mv {
  padding: 191px 20px 70px;
}
@media (max-width: 767px) {
  .message_mv {
    padding: 113px 25px 147px;
  }
}
.message_mv .content-width {
  max-width: 872px;
}
.message_mv .section-title {
  padding: 0 35px;
}
@media (max-width: 767px) {
  .message_mv .section-title {
    padding: 0;
    margin-bottom: 0;
  }
}
.message_mv .section-title img {
  max-width: 210px;
  width: 100%;
}
@media (max-width: 767px) {
  .message_mv .section-title .en {
    font-size: 35px;
  }
}
.message_mv .page-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 51px;
}
@media (max-width: 767px) {
  .message_mv .page-link {
    display: none;
  }
}

.message__item {
  padding: 0 25px;
}
@media (max-width: 767px) {
  .message__item {
    padding: 0 25px;
  }
}
.message__item .content-width {
  padding: 60.75px 20px 75px;
  max-width: 919px;
}
@media (max-width: 767px) {
  .message__item .content-width {
    padding: 37px 0 71px;
  }
}
.message__item .message__item__flex {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1032px;
  margin: 0 auto;
}
.message__item .item-title {
  line-height: 1;
}
@media (max-width: 767px) {
  .message__item .item-title {
    margin-bottom: 37px;
  }
}
.message__item .item-title .ja {
  font-size: 28.5px;
  letter-spacing: 0.15em;
  display: block;
  line-height: 1.6842105263;
}
@media (max-width: 767px) {
  .message__item .item-title .ja {
    font-size: 24px;
    line-height: 1.6666666667;
  }
}
.message__item .item-title .en {
  font-size: 24px;
}
@media (max-width: 767px) {
  .message__item .item-title .en {
    font-size: 24px;
  }
}
.message__item .item-text {
  font-size: 13.5px;
  line-height: 2;
  letter-spacing: 0.15em;
  margin-top: 54.75px;
}
@media (max-width: 767px) {
  .message__item .item-text {
    margin-top: 33px;
    font-size: 14px;
  }
}
.message__item .message__item__left {
  width: 36%;
}
@media (min-width: 768px) {
  .message__item .message__item__left {
    padding-top: 10px;
  }
}
@media (max-width: 767px) {
  .message__item .message__item__left {
    width: 100%;
  }
}
.message__item .message__item__right {
  width: 64%;
}
@media (max-width: 767px) {
  .message__item .message__item__right {
    width: 100%;
  }
}
.message__item .message__item__right .section-text {
  margin-top: 74px;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  .message__item .message__item__right .section-text {
    padding-bottom: 114px;
  }
}
@media (max-width: 767px) {
  .message__item .message__item__right .section-text {
    font-size: 14px;
    line-height: 2;
    margin-top: 33px;
    letter-spacing: 0.15em;
  }
}
.message__item .message__item__right .catch {
  margin-top: 41px;
}
@media (min-width: 768px) {
  .message__item .message__item__right .catch {
    font-size: 13.5px;
  }
}
@media (max-width: 767px) {
  .message__item .message__item__right .catch {
    margin-top: 32px;
    line-height: 2;
    letter-spacing: 0.15em;
  }
}
.message__item .message__item__right .item-text {
  display: none;
}
.message__item .message__item__right .close-btn {
  margin: 38px auto 0 0;
  padding: 0 29.25px;
  font-size: 10.5px;
  font-family: "Pitch";
  font-weight: 800;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .message__item .message__item__right .close-btn {
    margin: 50px auto 0;
    padding: 0 30px;
  }
}
.message__item .message__item__right .close-btn .text-close {
  display: none;
}
.message__item .message__item__right .close-btn-wrap.is-open .text-close {
  display: block;
}
.message__item .message__item__right .close-btn-wrap.is-open .text-more {
  display: none;
}

.message__item--logo .item-title {
  max-width: 1032px;
  margin: 0 auto;
}
.message__item--logo .message__item__flex {
  margin-top: 68.5px;
  gap: 105px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .message__item--logo .message__item__flex {
    margin-top: 64px;
    gap: 0;
  }
}
.message__item--logo .item-text {
  margin-top: 0;
}
@media (max-width: 767px) {
  .message__item--logo .item-text {
    margin-top: 63px;
    letter-spacing: 0.05em;
  }
}
.message__item--logo .message__item__text {
  max-width: 473px;
}
.message__item--logo .message__item__logo {
  max-width: 181.5px;
  width: 100%;
}
.message__item--logo .message__item__logo img {
  width: 242px;
}

.publisher_mv {
  padding: 124.5px 25px;
}
@media (max-width: 767px) {
  .publisher_mv {
    padding: 114px 25px 77px;
  }
}
.publisher_mv .content-width {
  max-width: 712px;
  margin: 0 auto;
}
.publisher_mv .section-title {
  padding-top: 30px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .publisher_mv .section-title {
    padding-top: 0;
  }
}
.publisher_mv .section-title .ja {
  font-size: 18px;
  margin-top: 34.5px;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .publisher_mv .section-title .ja {
    font-size: 24px;
    margin-top: 31px;
    letter-spacing: 0.15em;
  }
}
@media (max-width: 767px) {
  .publisher_mv .section-title .en {
    font-size: 32px;
  }
}
.publisher_mv .map {
  max-width: 264px;
  width: 100%;
  position: relative;
  right: -104px;
  top: -20px;
  -webkit-transition: opacity 1.5s 0.3s, -webkit-transform 1.5s 0.3s;
  transition: opacity 1.5s 0.3s, -webkit-transform 1.5s 0.3s;
  transition: opacity 1.5s 0.3s, transform 1.5s 0.3s;
  transition: opacity 1.5s 0.3s, transform 1.5s 0.3s, -webkit-transform 1.5s 0.3s;
}
@media screen and (max-width: 1180px) {
  .publisher_mv .map {
    right: 0;
  }
}
@media (max-width: 767px) {
  .publisher_mv .map {
    display: none;
  }
}
.publisher_mv .section-text {
  max-width: 749px;
  margin-top: 21px;
}
@media (max-width: 767px) {
  .publisher_mv .section-text {
    margin-top: 33px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.15em;
  }
}
.publisher_mv .flex {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .publisher_mv .flex {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.publisher_mv .publisher__img {
  margin-top: 90px;
  text-align: center;
}
@media (max-width: 767px) {
  .publisher_mv .publisher__img {
    margin-top: 32px;
  }
}

.solution .item-title .en,
.license .item-title .en,
.workflow .item-title .en,
.system .item-title .en {
  font-size: 38px;
}
@media (max-width: 767px) {
  .solution .item-title .en,
  .license .item-title .en,
  .workflow .item-title .en,
  .system .item-title .en {
    font-size: 30px;
  }
}
.solution .item-title .ja,
.license .item-title .ja,
.workflow .item-title .ja,
.system .item-title .ja {
  font-size: 18px;
  margin-top: 21px;
}
@media (max-width: 767px) {
  .solution .item-title .ja,
  .license .item-title .ja,
  .workflow .item-title .ja,
  .system .item-title .ja {
    margin-top: 15px;
    line-height: 1.5555555556;
  }
}

.solution {
  max-width: 929px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .solution {
    padding: 0 25px;
  }
}
.solution .content-width {
  padding: 84px 90.75px 0;
  margin: 0 25px;
  max-width: 100%;
}
@media (max-width: 767px) {
  .solution .content-width {
    padding: 37px 0 0;
    margin: auto;
  }
}
.solution .item-title .ja {
  font-size: 13.5px;
  margin-top: 15.75px;
}
@media (max-width: 767px) {
  .solution .item-title .ja {
    font-size: 18px;
    margin-top: 21px;
  }
}
.solution .solution__point {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 37.5px;
  margin-top: 51.75px;
}
@media (max-width: 767px) {
  .solution .solution__point {
    margin-top: 57px;
    gap: 44px;
  }
}
.solution .solution__point li {
  border: solid 3px #000000;
  border-radius: 20px;
  position: relative;
  width: 50%;
  height: 91.5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .solution .solution__point li {
    width: 100%;
    height: 105px;
  }
}
.solution .solution__point li .list-title {
  background: #fff;
  font-size: 16px;
  border: solid 3px #000000;
  border-radius: 34px;
  position: absolute;
  left: 24px;
  top: -11.25px;
  max-width: 153px;
  width: 100%;
  height: 25.5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .solution .solution__point li .list-title {
    font-size: 16px;
    left: 32px;
    top: -15px;
    max-width: 204px;
    width: 100%;
    height: 34px;
  }
}
.solution .solution__point li .list-title .num {
  margin-left: 9px;
}
@media (max-width: 767px) {
  .solution .solution__point li .list-title .num {
    margin-left: 12px;
  }
}
.solution .solution__point li p {
  font-size: 18px;
  line-height: 1.5833333333;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .solution .solution__point li p {
    font-size: 20px;
    line-height: 1.9;
  }
}
.solution .solution__list {
  margin-top: 59.25px;
  max-width: 513.75px;
}
@media (max-width: 767px) {
  .solution .solution__list {
    margin-top: 63px;
  }
}
.solution .solution__list li {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 37.5px;
}
@media (max-width: 767px) {
  .solution .solution__list li {
    margin-bottom: 45px;
  }
}
.solution .solution__list li:last-child {
  margin-bottom: 0;
}
.solution .solution__list li .list-title {
  font-size: 13.5px;
  letter-spacing: 0.015em;
  width: 100%;
  max-width: 160.5px;
  line-height: 1;
}
@media (max-width: 767px) {
  .solution .solution__list li .list-title {
    font-size: 18px;
    max-width: 214px;
  }
}
.solution .solution__list li span {
  padding-bottom: 7.5px;
  display: block;
  letter-spacing: 0.15em;
  line-height: 2.1111111111;
}
@media (max-width: 767px) {
  .solution .solution__list li span {
    padding-bottom: 7px;
  }
}
.solution .solution__list li p {
  max-width: 291.75px;
  font-size: 10.5px;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .solution .solution__list li p {
    margin-top: 35px;
    max-width: 389px;
    font-size: 14px;
  }
}

.license {
  padding: 90px 25px 0;
}
@media (max-width: 767px) {
  .license {
    padding: 120px 18.75px 0;
  }
}
.license .content-width {
  max-width: 697.5px;
}
.license .item-text {
  margin-top: 11.25px;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .license .item-text {
    margin-top: 50px;
  }
}
.license .license__img {
  margin: 60px auto 0;
  max-width: 688.5px;
}
@media (max-width: 767px) {
  .license .license__img {
    margin: 80px auto 0;
    max-width: 918px;
  }
}
@media (max-width: 767px) {
  .license .license__img img {
    height: 234px;
  }
}

.workflow {
  padding: 90px 18.75px;
}
@media (max-width: 767px) {
  .workflow {
    padding: 120px 25px;
  }
}
.workflow .content-width {
  max-width: 697.5px;
}
.workflow .item-text {
  margin-top: 11.25px;
}
@media (max-width: 767px) {
  .workflow .item-text {
    margin-top: 50px;
  }
}
@media (max-width: 767px) {
  .workflow .workflow__flex {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.workflow .workflow__img {
  margin: 80px auto 0;
  max-width: 918px;
  width: 100%;
}
@media (max-width: 767px) {
  .workflow .workflow__img img {
    height: 213px;
    padding: 0 50px;
  }
}
.workflow .workflow__list {
  margin-top: 63px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 63px -60px 0px;
}
@media (max-width: 767px) {
  .workflow .workflow__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 63px 0px 0px;
  }
}
.workflow .workflow__list .workflow__list__item {
  width: 29%;
}
.workflow .workflow__list .workflow__list__item .list-title {
  text-align: center;
  padding-bottom: 10px;
  max-width: 198px;
  margin: 0 auto 31px;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  .workflow .workflow__list .workflow__list__item .list-title {
    font-size: 13.5px;
  }
}
.workflow .workflow__list .workflow__list__item .list-text {
  font-size: 14px;
  line-height: 2;
}
@media (min-width: 768px) {
  .workflow .workflow__list .workflow__list__item .list-text {
    font-size: 10.5px;
  }
}
.workflow .item-list > li {
  margin-bottom: 67px;
}
.workflow .item-list > li:last-child {
  margin-bottom: 0;
}
.workflow .item-list > li .num-list {
  margin: 31px auto 0;
  font-size: 10.5px;
  line-height: 2;
  width: 100%;
  padding: 0 0 0 20px;
}
@media (max-width: 767px) {
  .workflow .item-list > li .num-list {
    font-size: 14px;
  }
}
.workflow .item-list > li .dot-list {
  font-size: 12px;
  line-height: 1.75;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .workflow .item-list > li .dot-list {
    padding: 0 0 0 20px;
  }
}
.workflow .item-list > li ol {
  margin: 0;
  padding: 0;
}
.workflow .item-list > li ol li {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.5em;
  margin: 0px 0 0 20px;
  font-size: 10.5px;
  line-height: 2;
  width: 100%;
  padding: 0 0 0 1.3em;
}
@media (max-width: 767px) {
  .workflow .item-list > li ol li {
    font-size: 14px;
  }
}

.system {
  padding: 0 18.75px 102.75px;
}
@media (max-width: 767px) {
  .system {
    padding: 0 25px 137px;
  }
}
.system .content-width {
  max-width: 700px;
}
.system .system__list {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 113.25px;
  margin-top: 59.25px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 767px) {
  .system .system__list {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 66px;
    margin-top: 92.9px;
  }
}
.system .system__list .list-img {
  max-width: 132px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .system .system__list .list-img {
    max-width: 140px;
  }
}
.system .system__list p {
  text-align: center;
  line-height: 1.7777777778;
  margin-top: 23.25px;
}
@media (max-width: 767px) {
  .system .system__list p {
    font-size: 14px;
    line-height: 2;
    margin-top: 35px;
  }
}

.degital-bookshop .solution .item-title .ja,
.degital-bookshop .license .item-title .ja,
.degital-bookshop .workflow .item-title .ja {
  font-size: 16.5px;
  margin-top: 15.75px;
}
@media (max-width: 767px) {
  .degital-bookshop .solution .item-title .ja,
  .degital-bookshop .license .item-title .ja,
  .degital-bookshop .workflow .item-title .ja {
    font-size: 22px;
    margin-top: 21px;
  }
}
@media (min-width: 768px) {
  .degital-bookshop .workflow .workflow__img {
    margin-top: 120px;
  }
}
@media (max-width: 767px) {
  .degital-bookshop .workflow .workflow__img img {
    height: 260px;
    padding: 0 30px;
  }
}
@media (min-width: 768px) {
  .degital-bookshop .workflow .workflow__list {
    gap: 40.125px;
    width: 715.81px;
    margin: 22.5px auto 0;
  }
}
@media (max-width: 767px) {
  .degital-bookshop .workflow .workflow__list {
    gap: 30px;
    margin: 30px auto 0;
  }
}
.creation_mv {
  padding: 115.5px 15px 99.75px;
}
@media (max-width: 767px) {
  .creation_mv {
    padding: 113px 25px 77px;
  }
}
.creation_mv .content-width {
  max-width: 712px;
  margin: 0 auto;
}
.creation_mv .section-title {
  padding-top: 30px;
  margin-bottom: 0;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .creation_mv .section-title {
    padding-top: 0px;
  }
}
.creation_mv .section-title .en {
  letter-spacing: 0.05em;
}
.creation_mv .section-title .ja {
  font-size: 18px;
  margin-top: 46px;
  letter-spacing: 0.15em;
}
@media (max-width: 767px) {
  .creation_mv .section-title .ja {
    font-size: 24px;
    margin-top: 46px;
  }
}
.creation_mv .flex {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .creation_mv .flex {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.creation_mv .map {
  max-width: 264px;
  width: 100%;
  position: relative;
  right: -77px;
  top: -20px;
  -webkit-transition: opacity 1.5s 0.3s, -webkit-transform 1.5s 0.3s;
  transition: opacity 1.5s 0.3s, -webkit-transform 1.5s 0.3s;
  transition: opacity 1.5s 0.3s, transform 1.5s 0.3s;
  transition: opacity 1.5s 0.3s, transform 1.5s 0.3s, -webkit-transform 1.5s 0.3s;
}
@media screen and (max-width: 1180px) {
  .creation_mv .map {
    right: 0;
  }
}
@media (max-width: 767px) {
  .creation_mv .map {
    display: none;
  }
}
.creation_mv .creation__img {
  max-width: 950px;
  margin: 90px auto 0;
  text-align: center;
}
@media (max-width: 767px) {
  .creation_mv .creation__img {
    margin: 57px auto 0;
  }
}

.creation-item {
  padding: 0 18.75px;
}
@media (max-width: 767px) {
  .creation-item {
    padding: 0 25px;
  }
}
.creation-item .content-width {
  max-width: 909.25px;
  padding: 68.25px 52.5px;
}
@media (max-width: 767px) {
  .creation-item .content-width {
    padding: 37px 0;
  }
}
.creation-item .flex {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.creation-item .item-title .ja {
  font-size: 21px;
  line-height: 1.5714285714;
  margin-top: 24.75px;
}
@media (max-width: 767px) {
  .creation-item .item-title .ja {
    margin-top: 15px;
    font-size: 18px;
    line-height: 1.5555555556;
  }
}
.creation-item .creation-item__right {
  max-width: 549.75px;
  width: 100%;
  gap: 6.09375vw;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (max-width: 767px) {
  .creation-item .creation-item__right {
    margin-top: 64px;
    gap: 0;
  }
}
@media (min-width:1280px) {
  .creation-item .creation-item__right {
    gap: 78px;
  }
}
.creation-item .creation-item__right .creation__category {
  max-width: 139.5px;
  width: 100%;
  margin-top: -70px;
  padding-top: 70px;
}
@media (max-width: 767px) {
  .creation-item .creation-item__right .creation__category {
    width: 100%;
    max-width: 186px;
  }
}
.creation-item .creation-item__right .category {
  background: #77b1bb;
  max-width: 139.5px;
  width: 100%;
  height: 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: solid 3px #000000;
  border-radius: 42px;
  padding: 0 20.25px;
  margin-bottom: 19.5px;
}
@media (min-width: 768px) {
  .creation-item .creation-item__right .category {
    font-size: 13.5px;
  }
}
@media (max-width: 767px) {
  .creation-item .creation-item__right .category {
    margin-bottom: 26px;
    max-width: 186px;
    height: 32px;
    padding: 0 27px;
    margin-bottom: 26px;
  }
}
.creation-item .creation-item__right .creation__text {
  max-width: 276px;
  width: 100%;
}
@media (max-width: 767px) {
  .creation-item .creation-item__right .creation__text {
    margin-top: 30px;
    max-width: 368px;
  }
}
.creation-item .creation-item__right .creation__text .list-title {
  font-size: 13.5px;
  line-height: 1.7777777778;
  letter-spacing: 0.15em;
  margin-bottom: 33px;
}
@media (max-width: 767px) {
  .creation-item .creation-item__right .creation__text .list-title {
    font-size: 18px;
    margin-bottom: 18px;
  }
}
.creation-item .creation-item__right .creation__text p {
  font-size: 10.5px;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .creation-item .creation-item__right .creation__text p {
    font-size: 14px;
  }
}
.creation-item .creation-item__right .creation__text .link {
  margin-top: 13.5px;
}
@media (max-width: 767px) {
  .creation-item .creation-item__right .creation__text .link {
    margin-top: 22px;
  }
}
.creation-item .creation-item__right .creation-item__right__list li {
  margin-bottom: 68.25px;
  gap: 5.9765625vw;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (min-width:1280px) {
  .creation-item .creation-item__right .creation-item__right__list li {
    gap: 78px;
  }
}
@media (max-width: 767px) {
  .creation-item .creation-item__right .creation-item__right__list li {
    margin-bottom: 64px;
    gap: 0;
  }
}
.creation-item .creation-item__right .creation-item__right__list li:last-child {
  margin-bottom: 0;
}

/*=================================================
   記事
===================================================*/
@media (max-width: 767px) {
  .news-top {
    padding: 0 25px;
  }
}
.news-top .content-width {
  padding: 161.25px 15px 46.5px;
  max-width: 879px;
}
@media (max-width: 767px) {
  .news-top .content-width {
    padding: 113px 0 131px;
  }
}
.news-top .category-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 67.5px;
}
@media (max-width: 767px) {
  .news-top .category-list {
    display: none;
  }
}
.news-top .category-list li {
  text-align: center;
}
.news-top .category-list li a {
  padding-bottom: 12px;
  font-size: 15px;
  width: 48px;
  display: block;
}
@media (max-width: 767px) {
  .news-top .category-list li a {
    padding-bottom: 16px;
    font-size: 20px;
    width: 64px;
  }
}
.news-top .category-list li .current {
  border-bottom: solid 3px #000000;
}

.news__item {
  padding: 0 18.75px;
}
@media (max-width: 767px) {
  .news__item {
    padding: 0 25px;
  }
}
.news__item .content-width {
  padding: 0;
  max-width: 909.25px;
}
@media (max-width: 767px) {
  .news__item .content-width {
    padding: 50px 0 0;
  }
}
.news__item .news__item__flex {
  margin-top: 45.75px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 768px) {
  .news__item .news__item__flex {
    gap: 10px;
    margin-top: 61px;
  }
}
.news__item .news-title {
  max-width: 222px;
  font-size: 16.5px;
  line-height: 1.6363636364;
  letter-spacing: 0.2em;
  position: relative;
}
@media (max-width: 767px) {
  .news__item .news-title {
    max-width: 296px;
    font-size: 22px;
  }
}
.news__item .news__left .pdf_link:hover {
  opacity: 0.8;
}
.news__item .news__left .pdf_link .news-title::after {
  content: "";
  background-image: url(../images/pdf_icon.png);
  background-size: contain;
  width: 22.5px;
  height: 22.5px;
  display: inline-block;
  position: relative;
  top: 3.75px;
}
@media (max-width: 767px) {
  .news__item .news__left .pdf_link .news-title::after {
    width: 30px;
    height: 30px;
    top: 5px;
  }
}
.news__item .news__left .ex_link:hover {
  opacity: 0.8;
}
.news__item .news__left .ex_link .news-title::after {
  content: "";
  background-image: url(../images/ex_icon.png);
  background-size: contain;
  width: 15px;
  height: 15px;
  display: inline-block;
}
@media (max-width: 767px) {
  .news__item .news__left .ex_link .news-title::after {
    width: 20px;
    height: 20px;
  }
}
.news__item .news__right {
  max-width: 430px;
  text-align: justify;
}
@media (max-width: 767px) {
  .news__item .news__right {
    max-width: 450px;
    margin-top: 42px;
  }
}
.news__item .news__right p {
  font-size: 13.5px;
  line-height: 2;
}
@media (max-width: 767px) {
  .news__item .news__right p {
    font-size: 14px;
  }
}
.news__item .news__right img {
  margin-top: 40.5px;
  height: auto;
}
@media (max-width: 767px) {
  .news__item .news__right img {
    margin-top: 27px;
  }
}

.news__item__inner {
  max-width: 889px;
  margin: 0px auto;
  padding: 45.75px 35.25px 66.75px;
  border-bottom: 3px solid black;
}
@media (max-width: 767px) {
  .news__item__inner {
    margin: 0px auto 30px;
    padding: 0px 0px 68px;
  }
}

.news__top {
  font-size: 10.5px;
  gap: 19.425px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .news__top {
    font-size: 14px;
    gap: 25.9px;
  }
}
.news__top .category {
  max-width: 81.75px;
  width: 100%;
  height: 25.5px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: solid 3px #000000;
  border-radius: 34px;
  padding: 0 16.5px;
  padding: 10px 16.5px;
  line-height: 0;
}
@media (max-width: 767px) {
  .news__top .category {
    max-width: 109px;
    height: 34px;
    padding: 0 22px;
  }
}

@media (max-width: 767px) {
  .pager {
    padding: 0 25px;
  }
}
.pager .pager-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  max-width: 909.25px;
  margin: 0 auto;
  padding: 50px 25px 50px;
}
@media (max-width: 767px) {
  .pager .pager-list {
    padding: 50px 0;
  }
}
.pager .pager-list li {
  text-align: center;
}
.pager a {
  padding-bottom: 16px;
  font-size: 20px;
  width: 64px;
  display: block;
  line-height: 1;
}
.pager .current {
  position: relative;
}
.pager .current::before {
  position: absolute;
  content: "";
  background: #000000;
  width: 32px;
  height: 4px;
  border-radius: 10px;
  bottom: 0;
  left: 50%;
  right: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.cover {
  padding: 161.25px 15px 46.5px;
}
@media (max-width: 767px) {
  .cover {
    padding: 113px 25px 130px;
  }
}
.cover .content-width {
  max-width: 814px;
}
.cover .section-title {
  padding: 0 26.25px;
}
@media (max-width: 767px) {
  .cover .section-title {
    padding: 0;
    margin-bottom: 0;
  }
}
.cover .section-title img {
  max-width: 210px;
  width: 100%;
}
@media (max-width: 767px) {
  .cover .section-title .en {
    font-size: 35px;
  }
}

.topmessage {
  margin: 0 auto;
  padding: 0 18.75px;
}
.topmessage .content-width {
  padding: 77.25px 15px 109.5px;
  max-width: 909.25px;
}
@media (max-width: 767px) {
  .topmessage .content-width {
    padding: 37px 0 91px;
  }
}
.topmessage .topmessage__inner {
  max-width: 759px;
  margin: 0 auto;
}
.topmessage .section-title .en {
  font-size: 24px;
}
@media (max-width: 767px) {
  .topmessage .section-title .en {
    font-size: 30px;
  }
}
.topmessage .flex {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 768px) {
  .topmessage .flex {
    gap: 37.5px;
  }
}
.topmessage .topmessage__photo {
  max-width: 180.75px;
  width: 100%;
}
@media (max-width: 767px) {
  .topmessage .topmessage__photo {
    max-width: 191px;
  }
}
.topmessage .topmessage__text {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 2.1111111111;
  max-width: 469.5px;
}
.topmessage .topmessage__text span {
  text-align: right;
  display: block;
}
@media (max-width: 767px) {
  .topmessage .topmessage__text {
    font-size: 14px;
    line-height: 2;
    margin-top: 44.7px;
  }
}

.profile {
  padding: 78.75px 15px;
}
@media (max-width: 767px) {
  .profile {
    padding: 27px 20px 70px;
  }
}
.profile .content-width {
  max-width: 909.25px;
}
@media (min-width: 768px) {
  .profile .content-width {
    padding-left: 75.125px;
  }
}
.profile .profile__table {
  width: 100%;
  font-size: 12.5px;
  margin-top: 103.5px;
  line-height: 2.5714285714;
}
@media (max-width: 767px) {
  .profile .profile__table {
    margin-top: 73px;
    font-size: 12px;
    line-height: 2;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.profile .profile__table th {
  width: 14.43%;
  vertical-align: sub;
  text-align: left;
}
@media (max-width: 767px) {
  .profile .profile__table th {
    width: 23%;
  }
}
.profile ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
}
@media (max-width: 767px) {
  .profile ul li {
    margin-bottom: 20px;
    gap: 40px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.profile ul li:last-child {
  margin-bottom: 0;
}
.profile .tr-comapny-name th,
.profile .tr-comapny-name td,
.profile .tr-president th,
.profile .tr-president td,
.profile .tr-address th,
.profile .tr-address td,
.profile .tr-work th,
.profile .tr-work td {
  padding-bottom: 15px;
}
@media (max-width: 767px) {
  .profile .tr-comapny-name th,
  .profile .tr-comapny-name td,
  .profile .tr-president th,
  .profile .tr-president td,
  .profile .tr-address th,
  .profile .tr-address td,
  .profile .tr-work th,
  .profile .tr-work td {
    padding-bottom: 30px;
  }
}
.profile .tr-comapny-name .address_wrap,
.profile .tr-president .address_wrap,
.profile .tr-address .address_wrap,
.profile .tr-work .address_wrap {
  position: relative;
}
.profile .tr-comapny-name .address_wrap .btn,
.profile .tr-president .address_wrap .btn,
.profile .tr-address .address_wrap .btn,
.profile .tr-work .address_wrap .btn {
  margin-left: 0;
}
@media (min-width: 768px) {
  .profile .tr-comapny-name .address_wrap .btn,
  .profile .tr-president .address_wrap .btn,
  .profile .tr-address .address_wrap .btn,
  .profile .tr-work .address_wrap .btn {
    position: absolute;
    left: 460px;
    top: 4px;
    max-width: 111px;
    height: 23px;
  }
}
@media (max-width: 767px) {
  .profile .tr-comapny-name .address_wrap .btn,
  .profile .tr-president .address_wrap .btn,
  .profile .tr-address .address_wrap .btn,
  .profile .tr-work .address_wrap .btn {
    font-size: 12px;
    max-width: 127px;
    height: 32px;
    margin-top: 10px;
  }
}
.profile .tr-comapny-name .address_wrap .btn span.en,
.profile .tr-president .address_wrap .btn span.en,
.profile .tr-address .address_wrap .btn span.en,
.profile .tr-work .address_wrap .btn span.en {
  font-size: 10.5px;
}
@media (max-width: 767px) {
  .profile .tr-comapny-name .address_wrap .btn span.en,
  .profile .tr-president .address_wrap .btn span.en,
  .profile .tr-address .address_wrap .btn span.en,
  .profile .tr-work .address_wrap .btn span.en {
    font-size: 12px;
  }
}
@media (max-width: 767px) {
  .profile .tr-post {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.profile .tr-post th,
.profile .tr-post td {
  padding-top: 26.25px;
  padding-bottom: 26.25px;
}
@media (max-width: 767px) {
  .profile .tr-post th,
  .profile .tr-post td {
    padding-top: 35px;
    padding-bottom: 35px;
  }
}
@media (max-width: 767px) {
  .profile .tr-post th {
    padding-top: 70px;
    padding-bottom: 25px;
  }
}
@media (max-width: 767px) {
  .profile .tr-post td {
    padding-top: 0;
    padding-bottom: 70px;
  }
}
@media (max-width: 767px) {
  .profile .tr-post ul li {
    margin-bottom: 10px;
  }
}
.profile .tr-post ul li p:nth-of-type(1) {
  width: 13%;
}
@media (max-width: 767px) {
  .profile .tr-post ul li p:nth-of-type(1) {
    width: 25%;
  }
}
@media (min-width: 768px) {
  .profile .tr-timeline {
    letter-spacing: 0;
  }
}
@media (max-width: 767px) {
  .profile .tr-timeline {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 767px) {
  .profile .tr-timeline .timeline,
  .profile .tr-timeline th,
  .profile .tr-timeline td {
    width: 100%;
  }
}
.profile .tr-timeline th,
.profile .tr-timeline td {
  padding-top: 26.25px;
  padding-bottom: 130.5px;
}
@media (max-width: 767px) {
  .profile .tr-timeline th,
  .profile .tr-timeline td {
    padding-top: 35px;
    padding-bottom: 174px;
  }
}
@media (max-width: 767px) {
  .profile .tr-timeline th {
    padding-top: 0;
    padding-bottom: 25px;
  }
}
@media (max-width: 767px) {
  .profile .tr-timeline td {
    padding-top: 0;
    padding-bottom: 70px;
  }
}
@media (max-width: 767px) {
  .profile .tr-comapny {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}
.profile .tr-comapny th,
.profile .tr-comapny td {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .profile .tr-comapny th,
  .profile .tr-comapny td {
    padding-top: 90px;
  }
}
@media (max-width: 767px) {
  .profile .tr-comapny th {
    padding-top: 70px;
  }
}
@media (min-width: 768px) {
  .profile .tr-comapny td {
    padding-right: 70px;
    text-align: justify;
  }
}
@media (max-width: 767px) {
  .profile .tr-comapny td {
    padding-top: 0;
  }
}
.profile .campany-list {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 66px;
}
@media (max-width: 767px) {
  .profile .campany-list {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .profile .tr-stockholder {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 25px;
  }
}
.profile .tr-stockholder p {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .profile .tr-stockholder p {
    margin-top: 80px;
  }
}

body.contact .cover {
  padding-bottom: 67.5px;
}
@media (max-width: 767px) {
  body.contact .cover {
    padding-bottom: 40px;
  }
}
body.contact .cover .content-width {
  max-width: 770px;
}
@media (max-width: 767px) {
  body.contact .cover .section-title {
    margin-bottom: 30px;
  }
}
body.contact .cover .lead {
  font-size: 13.5px;
  max-width: 976px;
  margin: auto;
  letter-spacing: 0.15em;
  line-height: 2;
}
@media (max-width: 767px) {
  body.contact .cover .lead {
    font-size: 14px;
  }
}
body.contact .cover .lead a:hover {
  opacity: 0.8;
}
@media (min-width: 768px) {
  body.contact main.page section .content-width {
    padding: 46.5px 54.75px 82.125px;
  }
}
body.contact form input,
body.contact form select,
body.contact form textarea {
  border: 2px solid #000;
  font-size: 13.5px;
  font-weight: bold;
  padding: 9px 12px;
  width: 100%;
  max-width: 417px;
}
@media (max-width: 767px) {
  body.contact form input,
  body.contact form select,
  body.contact form textarea {
    font-size: 14px;
    padding: 12px 16px;
    max-width: 556px;
  }
}
body.contact form select {
  /* デフォルトの矢印を非表示にする */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* テキストと矢印が重ならないように右側の余白を確保 */
  padding-right: 30px;
  /* 背景画像としてカスタム矢印を設定（例としてSVGを利用） */
  background: url("data:image/svg+xml;utf8,<svg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M6 9l6 6 6-6'/></svg>") no-repeat;
  /* 右端から10px左にずらす（必要に応じて値を調整） */
  background-position: calc(100% - 13.5px) center;
  background-size: 18px;
}
body.contact form textarea {
  height: 148px;
}
@media (max-width: 767px) {
  body.contact form textarea {
    height: 200px;
  }
}
body.contact form input[type=checkbox] {
  -webkit-appearance: none; /* Safari */
  -moz-appearance: none; /* Firefox */
  appearance: none; /* 標準 */
  width: 18px;
  height: 18px;
  margin-right: 22.5px;
  border: 2px solid #000; /* 枠線の色 */
  outline: none; /* フォーカス時のアウトラインを消す */
  cursor: pointer; /* カーソルをポインターに変更 */
  position: relative; /* チェックマークの位置を調整 */
  padding: 0;
}
@media (max-width: 767px) {
  body.contact form input[type=checkbox] {
    width: 24px;
    height: 24px;
    margin-right: 30px;
  }
}
body.contact form input[type=checkbox]:checked::before {
  content: ""; /* チェックマークを表示するための空のコンテンツ */
  position: absolute; /* 絶対位置 */
  top: -1.5px; /* 上からの位置 */
  left: 4.5px; /* 左からの位置 */
  width: 5.25px; /* チェックマークの幅 */
  height: 11.25px; /* チェックマークの高さ */
  border: solid #000; /* チェックマークの色 */
  border-width: 0 2px 2px 0; /* チェックマークのスタイル */
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); /* チェックマークを回転 */
}
@media (max-width: 767px) {
  body.contact form input[type=checkbox]:checked::before {
    top: -2px; /* 上からの位置 */
    left: 6px; /* 左からの位置 */
    width: 7px; /* チェックマークの幅 */
    height: 15px; /* チェックマークの高さ */
  }
}
body.contact form .wpcf7-not-valid-tip {
  font-size: 13.5px;
}
@media (max-width: 767px) {
  body.contact form .wpcf7-not-valid-tip {
    font-size: 14px;
  }
}
body.contact form .wpcf7-not-valid-tip {
  color: #dc3232;
  font-weight: normal;
  display: block;
}
body.contact form .form_row {
  margin-bottom: 31.5px;
}
@media (max-width: 767px) {
  body.contact form .form_row {
    margin-bottom: 42px;
  }
}
body.contact form .form_row.select_type_row {
  margin-top: 64px;
}
body.contact form .form_row .ttl_area p {
  line-height: 38px;
  letter-spacing: 0.15em;
  margin-bottom: 13px;
}
body.contact form .form_row .policy_checkbox_area {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  body.contact form .form_row .policy_checkbox_area {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (max-width: 767px) {
  body.contact form .button-contact {
    text-align: center;
  }
}
body.contact form .space {
  height: 117px;
}
@media (max-width: 767px) {
  body.contact form .space {
    height: 86px;
  }
}
@media (max-width: 767px) {
  body.contact form .policy_checkbox_area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
body.contact form #form_input #confirmButton {
  width: 200.25px;
  height: 30px;
  border-radius: 50px;
  padding: 0 12px;
  line-height: 0;
}
@media (max-width: 767px) {
  body.contact form #form_input #confirmButton {
    width: 267px;
    height: 40px;
    padding: 0 16px;
  }
}
body.contact form #form_confirm {
  display: none;
}
body.contact form #form_confirm .inquiry {
  white-space: pre-line;
}
body.contact form #form_confirm #fixButton,
body.contact form #form_confirm #sendButton {
  width: 200.25px;
  height: 30px;
  border-radius: 50px;
  margin-bottom: 7.5px;
  padding: 0 12px;
  line-height: 0;
}
@media (max-width: 767px) {
  body.contact form #form_confirm #fixButton,
  body.contact form #form_confirm #sendButton {
    width: 267px;
    height: 40px;
    margin-bottom: 10px;
    padding: 0 16px;
  }
}
body.contact form #confirmButton,
body.contact form #fixButton,
body.contact form #sendButton {
  background: #fff;
  /* 黒い背景色のグラデーションを用意、初期は背景サイズ0%で非表示に */
  background-image: -webkit-gradient(linear, left top, right top, from(#000), to(#000));
  background-image: -webkit-linear-gradient(left, #000, #000);
  background-image: linear-gradient(to right, #000, #000);
  background-position: left center;
  background-size: 0% 100%;
  background-repeat: no-repeat;
  color: #000;
  -webkit-transition: background-size 0.6s ease, color 0.6s ease;
  transition: background-size 0.6s ease, color 0.6s ease;
}
body.contact form #confirmButton.anime_to_right,
body.contact form #fixButton.anime_to_right,
body.contact form #sendButton.anime_to_right {
  background-image: -webkit-gradient(linear, left top, right top, from(#000), to(#000));
  background-image: -webkit-linear-gradient(left, #000, #000);
  background-image: linear-gradient(to right, #000, #000);
  background-position: left center;
}
body.contact form #confirmButton.anime_to_left,
body.contact form #fixButton.anime_to_left,
body.contact form #sendButton.anime_to_left {
  background-image: -webkit-gradient(linear, right top, left top, from(#000), to(#000));
  background-image: -webkit-linear-gradient(right, #000, #000);
  background-image: linear-gradient(to left, #000, #000);
  background-position: right center;
}
body.contact form #confirmButton.hovered,
body.contact form #fixButton.hovered,
body.contact form #sendButton.hovered {
  background-size: 100% 100%; /* 背景が左端から右端へ広がる */
  color: #fff;
}

/*=================================================
    フッター
===================================================*/
.footer {
  padding: 0 25px;
}
@media (max-width: 767px) {
  .footer {
    padding: 0 25px;
  }
}
.footer .footer__inner {
  padding: 40px 92px 73px;
  max-width: 1172px;
  margin: 0 auto;
  position: relative;
}
@media (min-width: 768px) {
  .footer .footer__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .footer .footer__inner {
    padding: 60px 0 0;
  }
}
.footer .footer__inner .abj img {
  width: 50px;
}
.footer .footer__inner .x_logo {
  margin-left: 100px;
}
@media (max-width: 767px) {
  .footer .footer__inner .x_logo {
    margin-left: 0;
    display: block;
    margin-top: 10px;
  }
}
.footer .footer__inner .x_logo a {
  position: relative;
  top: -4px;
}
.footer .copyright {
  margin: 25px auto 0;
  max-width: 915px;
  font-size: 11px;
  line-height: 1.8181818182;
  position: relative;
}
@media (max-width: 767px) {
  .footer .copyright {
    margin-top: 50px;
    padding: 25px 16px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    gap: 30px;
  }
}
@media (max-width: 767px) {
  .footer .copyright::before {
    position: absolute;
    content: "";
    background: #000000;
    width: 100%;
    height: 4px;
    border-radius: 10px;
    top: 0;
    left: 0;
  }
}
@media (max-width: 767px) {
  .footer .copyright .abj_sp {
    width: 50px;
  }
}

.footer__menu {
  max-width: 915px;
  margin: 0 auto;
}
.footer__menu .menu-title {
  font-weight: 700;
  line-height: 1.625;
}
@media (max-width: 767px) {
  .footer__menu .menu-title {
    font-size: 14px;
    line-height: 1.8571428571;
  }
}
.footer__menu .menu-list {
  gap: 71px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 767px) {
  .footer__menu .menu-list {
    gap: 35px;
  }
}
.footer__menu .menu-list li {
  line-height: 1;
}
.footer__menu .menu-list li a {
  font-size: 12px;
  letter-spacing: 0.2em;
}