@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap");
/*
  Foundation - Reset
------------------------------------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
/*
Theme Name:
Theme URI:
Description:
Version: 1.0
Author: JA
Author URI:
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

/*
 Foundation - Base
------------------------------------------------- */
:root {
  --layer-stack-1: 1;
  --layer-stack-2: 2;
  --layer-stack-3: 3;
  --layer-stack-4: 4;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) {
  html {
    font-size: min(0.91vw, 10px);
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: min(1.304vw, 10px);
  }
}

body {
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  height: 100%;
  line-height: 1.5;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

* {
  min-width: 0;
  min-height: 0;
}

a {
  text-decoration: none;
  color: inherit;
}
a.underline:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media screen and (max-width: 1099px) {
  img {
    width: 100%;
  }
}

p {
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  line-height: 2.1;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  color: inherit;
  outline: none;
}

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

.bold {
  font-weight: bold;
}

/*
  Layout - Header
------------------------------------------------- */
.l-header {
  width: 100%;
}
.l-header_inner {
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
  padding: 0 3rem;
}
@media screen and (max-width: 1099px) {
  .l-header_inner {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .l-header_inner {
    padding: 0;
  }
}
.l-header_sticky {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--layer-stack-3);
}
@media screen and (max-width: 1099px) {
  .l-header_sticky {
    padding: 0 4%;
  }
}

/*
  Layout - Footer
------------------------------------------------- */
.l-footer_inner {
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
  padding: 0 3rem;
}
@media screen and (max-width: 767px) {
  .l-footer_inner {
    padding: 0 4rem;
  }
}
.l-footer_copyright {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-footer_copyright {
    font-size: 2.4rem;
  }
}

/*
  Component - Button
------------------------------------------------- */
.c-btn_1 {
  border-radius: 3em;
  display: inline-block;
  position: relative;
  text-align: center;
}
.c-btn_2 {
  border-radius: 3em;
  display: inline-block;
  position: relative;
  text-align: center;
}
.c-btn_3 {
  border-radius: 3em;
  display: inline-block;
  position: relative;
  text-align: center;
}
.c-btn_4 {
  border-radius: 3em;
  display: inline-block;
  position: relative;
  text-align: center;
}
.c-btn_1 {
  background: #fff;
  border: 2px solid #528fe2;
  border: 2px solid #528fe2;
  color: #528fe2;
  color: #528fe2;
}
.c-btn_1:disabled {
  background: #e5e5e5;
  background: #e5e5e5;
  border: none;
  color: #a5a5a5;
  color: #FFFF99;
  cursor: default;
}
.c-btn_1:disabled svg path {
  fill: #a5a5a5;
  fill: #FFFF99;
}
.c-btn_2 {
  background: #a5a5a5;
  background: #FFFF99;
  border: 2px solid #a5a5a5;
  border: 2px solid #FFFF99;
  color: #fff;
}
.c-btn_2:disabled {
  background: #e5e5e5;
  background: #e5e5e5;
  border: none;
  color: #a5a5a5;
  color: #FFFF99;
  cursor: default;
}
.c-btn_2:disabled svg path {
  fill: #a5a5a5;
  fill: #FFFF99;
}
.c-btn_3 {
  background: #528fe2;
  background: #528fe2;
  border: 2px solid #528fe2;
  border: 2px solid #528fe2;
  color: #fff;
}
.c-btn_3:disabled {
  background: #e5e5e5;
  background: #e5e5e5;
  border: none;
  color: #a5a5a5;
  color: #FFFF99;
  cursor: default;
}
.c-btn_3:disabled svg path {
  fill: #a5a5a5;
  fill: #FFFF99;
}
.c-btn_4 {
  background: #fff;
  border: 1px solid #a5a5a5;
  border: 1px solid #FFFF99;
  color: #555;
  color: #666666;
}
.c-btn_4.is-active {
  background-color: #528fe2;
  background-color: #528fe2;
  border-color: #528fe2;
  border-color: #528fe2;
  color: #fff;
  pointer-events: none;
}
.c-btn_4:disabled {
  background: #e5e5e5;
  background: #e5e5e5;
  border: none;
  color: #a5a5a5;
  color: #FFFF99;
  cursor: default;
}
.c-btn_4:disabled svg path {
  fill: #a5a5a5;
  fill: #FFFF99;
}
.c-btn_arrow {
  display: block;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
}
.c-btn_text + .c-btn_arrow {
  left: auto;
  right: 0.87em;
}
.c-btn_arrow svg path {
  fill: currentColor;
  transition: fill 0.3s ease;
}
.c-btn-full {
  width: 100%;
}
.c-btn-full {
  padding: 0.62em;
}
.c-btn-l {
  padding: 0.62em;
  min-width: 18.75em;
}
@media screen and (max-width: 767px) {
  .c-btn-l {
    width: 100%;
  }
}
.c-btn-m {
  padding: 0.62em;
  min-width: 17.5em;
}
@media screen and (max-width: 767px) {
  .c-btn-m {
    min-width: 78%;
  }
}
.c-btn-s {
  padding: 0.43em;
  min-width: 10em;
}
@media screen and (max-width: 767px) {
  .c-btn-s {
    min-width: 50%;
  }
}
.c-btn-xs {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  line-height: 1.1;
  min-width: 8em;
  text-align: center;
  font-size: 1.2rem;
  font-size: 0.8333333333vw;
  letter-spacing: 0.05em;
  padding: 0.5em;
}
@media screen and (max-width: 767px) {
  .c-btn-xs {
    font-size: 1.2rem;
    font-size: 3.3333333333vw;
    letter-spacing: 0.05em;
    min-height: 36px;
    padding: 0.5em 1em;
  }
}

/*
  Component - Grid
------------------------------------------------- */
.c-grid {
  display: grid;
}
@media screen and (min-width: 768px) {
  .c-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .c-grid {
    grid-template-columns: 1fr;
    gap: 1.25em;
  }
}
@media screen and (min-width: 768px) {
  .c-grid.c-grid-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-grid.c-grid-3 {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) {
  .c-grid.c-grid-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-grid.c-grid-4 {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-grid.is-notSP {
    gap: 2.5em 0;
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .c-grid.is-verticalGap {
    gap: 2.5em 1.25em;
  }
}

/*
  Component - Heading
------------------------------------------------- */
.c-heading_1 {
  align-items: center;
  color: #528fe2;
  color: #528fe2;
  display: flex;
}
.c-heading_1:after {
  background-color: #528fe2;
  background-color: #528fe2;
  content: "";
  height: 2px;
  margin-left: 1em;
  width: 5em;
}
.c-heading_1.is-white {
  color: #fff;
}
.c-heading_1.is-white:after {
  background-color: #fff;
}
.c-heading_1.is-dark {
  color: #000;
  color: #040000;
}
.c-heading_1.is-dark:after {
  background-color: #000;
  background-color: #040000;
}
.c-heading_2 {
  color: #528fe2;
  color: #528fe2;
  position: relative;
  text-align: center;
}
.c-heading_2:after {
  background-color: #528fe2;
  background-color: #528fe2;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 2.5em;
}
.c-heading_2.is-white {
  color: #fff;
}
.c-heading_2.is-white:after {
  background-color: #fff;
}
.c-heading_2.is-dark {
  color: #000;
  color: #040000;
}
.c-heading_2.is-dark:after {
  background-color: #000;
  background-color: #040000;
}
.c-heading_3 {
  color: #000;
  color: #040000;
  padding-top: 1.25em;
  position: relative;
}
.c-heading_3:after {
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
}
.c-heading_3:before {
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  background-color: #e5e5e5;
  background-color: #CCE0EB;
  height: 2px;
  width: 100%;
}
.c-heading_3:after {
  background-color: #528fe2;
  background-color: #528fe2;
  height: 4px;
  width: 2.5em;
}
.c-heading_group {
  display: flex;
  flex-direction: column;
}

/*
  Component - Icon
------------------------------------------------- */
.c-icon_dot {
  padding-left: 1em;
  position: relative;
}
.c-icon_dot:before {
  background-color: currentColor;
  border-radius: 50%;
  content: "";
  display: block;
  height: 5px;
  left: 0;
  position: absolute;
  top: calc(1em - 2.5px);
  width: 5px;
}
.c-icon .c-icon {
  align-items: center;
  display: inline-flex;
}
.c-icon_img {
  box-sizing: content-box;
  display: inline-block;
  height: 1em;
  width: 1em;
}
.c-icon_img > svg {
  fill: currentColor;
  height: 100%;
  vertical-align: text-bottom;
  width: 100%;
}
.c-icon .c-icon_img {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  justify-content: center;
}

* + .c-icon_text {
  padding-left: 0.5em;
}

* + .c-icon_img {
  padding-left: 0.5em;
}

/*
  Component - List
------------------------------------------------- */
.c-list_num {
  counter-reset: num;
}
.c-list_num > .list {
  padding-left: 1.2em;
  position: relative;
}
.c-list_num > .list:before {
  content: counter(num) ".";
  counter-increment: num;
  display: block;
  font-weight: 700;
  left: 0;
  line-height: 2;
  position: absolute;
  top: 0;
}
.c-list_line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 0.62em;
}
.c-list_stack {
  gap: 0.5em 0;
}
.c-list_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 0.62em;
  line-height: 1;
}
.c-list_def {
  border-bottom: 1px solid #e5e5e5;
  border-bottom: 1px solid #CCE0EB;
  border-top: 1px solid #e5e5e5;
  border-top: 1px solid #CCE0EB;
}
.c-list_def > .list + .list {
  border-top: 1px solid #e5e5e5;
  border-top: 1px solid #CCE0EB;
}
@media screen and (min-width: 768px) {
  .c-list_def > .list {
    display: flex;
    gap: 0 2.5em;
    padding: 2em 0;
  }
}
@media screen and (max-width: 767px) {
  .c-list_def > .list {
    padding: 1em 0.5em;
  }
}
@media screen and (min-width: 768px) {
  .c-list_def_term {
    flex-basis: 35%;
    flex-shrink: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-list_def_content {
    flex-grow: 1;
  }
}

@media screen and (max-width: 767px) {
  * + .c-list_def_content {
    margin-top: 0.5em;
  }
}

/*
  Component - Tag
------------------------------------------------- */
.c-tag_1 {
  background-color: #e5e5e5;
  background-color: var(--color-line);
  min-width: 6em;
  align-items: center;
  border-radius: 0.12em;
  display: inline-flex;
  justify-content: center;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  font-size: 1.4rem;
  font-size: 0.97vw;
  padding: 0.5em 1.5em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-tag_1 {
    font-size: 1.4rem;
    font-size: 3.88vw;
    letter-spacing: 0.05em;
    padding: 0.5em 1em;
  }
}
.c-tag_2 {
  align-items: center;
  border-radius: 0.12em;
  display: inline-flex;
  justify-content: center;
  line-height: 1.1;
  text-align: center;
  white-space: nowrap;
  background-color: #528fe2;
  background-color: var(--color-main);
  color: #fff;
  font-size: 1.2rem;
  font-size: 0.8333333333vw;
  padding: 0.35em 0.5em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .c-tag_2 {
    font-size: 1.2rem;
    font-size: 3.33vw;
    letter-spacing: 0.05em;
    padding: 0.5em 1em;
  }
}

/*
  Component - Unit
------------------------------------------------- */
.c-unit_full {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.c-unit_note {
  background-color: #fff;
}
.c-unit_inner {
  max-width: calc(1200px + 6em);
  margin-left: auto;
  margin-right: auto;
  padding: 0 3em;
}
@media screen and (max-width: 767px) {
  .c-unit_inner {
    padding: 0 1em;
  }
}
.c-unit_wide {
  margin-left: auto;
  margin-right: auto;
  padding: 0 3em;
  max-width: calc(1440px + 6em);
}
.c-unit_narrow {
  max-width: calc(1000px + 6em);
  margin-left: auto;
  margin-right: auto;
  padding: 0 3em;
}
@media screen and (max-width: 767px) {
  .c-unit_narrow {
    padding: 0 1em;
  }
}
.c-unit_thin {
  margin-left: auto;
  margin-right: auto;
  padding: 0 3em;
  max-width: calc(840px + 6em);
}
@media screen and (max-width: 767px) {
  .c-unit_thin {
    padding: 0 2em;
  }
}
.c-unit_column {
  display: flex;
  gap: 2.5em;
  justify-content: space-between;
}
.c-unit_column_main {
  flex-basis: 55.87em;
  flex-shrink: 0;
}
.c-unit_column_sub {
  flex-grow: 1;
}
.c-unit_note {
  padding: 5em 6.25em;
}
@media screen and (max-width: 767px) {
  .c-unit_note {
    padding: 1.5em 1em 3.75em;
  }
}

* + .c-unit-xl {
  margin-top: 8.75em;
}
@media screen and (max-width: 767px) {
  * + .c-unit-xl {
    margin-top: 6.25em;
  }
}

* + .c-unit-l {
  margin-top: 5em;
}
@media screen and (max-width: 767px) {
  * + .c-unit-l {
    margin-top: 2.5em;
  }
}

* + .c-unit-m {
  margin-top: 3em;
}
@media screen and (max-width: 767px) {
  * + .c-unit-m {
    margin-top: 2em;
  }
}

* + .c-unit-s {
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  * + .c-unit-s {
    margin-top: 1em;
  }
}

* + .c-unit-xs {
  margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
  * + .c-unit-xs {
    margin-top: 0.5em;
  }
}

@media screen and (max-width: 767px) {
  .c-unit_full-sp {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

@media screen and (max-width: 767px) {
  * + .c-unit_column_main {
    margin-top: 2.5em;
  }
}

@media screen and (max-width: 767px) {
  * + .c-unit_column_sub {
    margin-top: 5em;
  }
}

/*
  Project - Header / Main / Footer などの共通パーツ
------------------------------------------------- */
@media screen and (min-width: 768px) {
  .p-header {
    height: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header {
    height: 10rem;
  }
}
.p-header.change-color {
  background-color: #FFFFFF;
  transition: 0.3s;
}
.p-header.-lower {
  background-color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .p-header_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .p-header_wrap {
    display: flex;
    justify-content: space-between;
  }
}
.p-header_logoWrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-header_logoWrap {
    z-index: var(--layer-stack-2);
  }
}
@media screen and (max-width: 1099px) {
  .p-header_logo img.p-header_logoImg {
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-header_logoImg {
    height: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header_logoImg {
    height: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header_logoImg.active {
    filter: brightness(0) invert(1);
  }
}
@media screen and (max-width: 767px) {
  .p-header_menu {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    transform: translateX(100%);
    transition: ease 0.4s;
  }
}
@media screen and (min-width: 768px) {
  .p-header_menuList {
    display: flex;
    width: 100%;
    max-width: 800px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-header_menuList {
    display: grid;
    background-color: #006699;
    color: #FFFFFF;
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: 14rem;
  }
}
.p-header_menuLink {
  display: flex;
  font-size: 1.4rem;
  transition: 0.5s;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) {
  .p-header_menuLink {
    align-items: center;
    justify-content: center;
    height: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header_menuLink {
    font-size: 2.8rem;
    align-items: center;
    justify-content: flex-start;
    padding: 2rem 3rem;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-header_menuLink:hover {
    background-color: #CCE0EB;
  }
}
.p-header_menuLink.-service {
  pointer-events: none;
  text-decoration: none;
  cursor: default;
}
@media screen and (min-width: 768px) {
  .p-header_menuLink.-inquiry:after {
    background-color: #006699;
    color: #fff;
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    transition: all 0.3s ease-out;
  }
}
@media screen and (min-width: 768px) {
  .p-header_menuLink.-inquiry:hover:after {
    transform: scale(1, 1.3);
  }
}
@media screen and (min-width: 768px) {
  .p-header_menuItemText {
    color: #FFF;
    z-index: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-header_menuItem {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-header_menuItem {
    width: 62%;
    border-top: 1px solid #FFFFFF;
    white-space: nowrap;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .p-header_menuItem:last-child {
    border-bottom: 1px solid #FFFFFF;
  }
}
@media screen and (min-width: 768px) {
  .p-header_menuItem:hover .p-header_dropdownLists {
    visibility: visible;
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-header_menuItem:not(:first-child)::before {
    font: var(--fa-font-solid);
    content: "\f054";
    font-weight: 900;
    position: absolute;
    font-size: 2rem;
    top: 3.5rem;
    left: 0.5rem;
    color: #FFFFFF;
  }
}
.p-header_menuItem.-inquiry {
  white-space: nowrap;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-header_menuItem.-inquiry {
    width: 100%;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .p-header_dropdownLists {
    background-color: #666666;
    color: #FFFFFF;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
    width: 24.8rem;
    position: absolute;
    top: 6rem;
    left: 45%;
  }
}
@media screen and (min-width: 768px) {
  .p-header_dropdownLists:before {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-bottom: 15px solid #666666;
  }
}
@media screen and (min-width: 768px) {
  .p-header_dropdownItem {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.4rem;
    height: 6rem;
    transition: all 0.3s;
    position: relative;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header_dropdownItem {
    position: relative;
    font-size: 2.8rem;
    padding: 0 2rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-header_dropdownItem::before {
    font: var(--fa-font-solid);
    content: "\f054";
    font-weight: 900;
    position: absolute;
    font-size: 2rem;
    top: 1.5rem;
    left: 0.5rem;
    color: #FFFFFF;
  }
}
.p-header_dropdownItem:hover {
  background-color: #006699;
}
.p-header_dropdownLink {
  display: flex;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .p-header_dropdownLink {
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 6rem;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .p-header_dropdownLink {
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 2.8rem;
    margin-left: 3.5rem;
    margin-bottom: 2rem;
    height: 3rem;
  }
}

/* ハンバーガーメニュー */
@media screen and (max-width: 767px) {
  .header__hamburger {
    height: 48px;
  }
}

@media screen and (min-width: 768px) {
  .hamburger {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .hamburger {
    background-color: transparent;
    border-color: transparent;
    z-index: var(--layer-stack-2);
  }
}

/* ハンバーガーメニューの線 */
.hamburger span {
  width: 30px;
  height: 3px;
  background-color: #006699;
  position: relative;
  transition: ease 0.4s; /*ハンバーガーメニュークリック時の三本線の動きを遅延*/
  display: block;
}

.hamburger span:nth-child(1) {
  top: 0;
}

.hamburger span:nth-child(2) {
  margin: 7px 0;
}

.hamburger span:nth-child(3) {
  top: 0;
}

/* ハンバーガーメニュークリック後のスタイル */
.p-header_menu.active {
  transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
  top: 8px;
  transform: rotate(45deg);
  background-color: #FFFFFF;
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  top: -11px;
  transform: rotate(-45deg);
  background-color: #FFFFFF;
}

.p-main-breadcrumb {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-main-breadcrumb {
    display: none;
  }
}
.p-main-breadcrumbInner {
  display: flex;
  flex-direction: row;
  padding: 3.5rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-main-breadcrumbInner {
    padding: 3.5rem 4%;
  }
}
.p-main-breadcrumbInner > li::before {
  margin-right: 0.5rem;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
}
.p-main-breadcrumbInner > li + li::before {
  content: "\f054";
  padding-left: 1rem;
  padding-right: 0.5rem;
}
.p-main-breadcrumbItem {
  font-size: 1.4rem;
}
.p-main_pageNameInner {
  padding-top: 10rem;
}
.p-main_pageNameHeadingv2 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .p-main_pageNameHeadingv2 {
    margin-top: 9.2rem;
    margin-bottom: 12rem;
  }
}
.p-main_pageNameHeadingv2ImgWrap {
  overflow: hidden;
}
.p-main_pageNameHeadingv2Img {
  width: 50%;
  height: 50%;
  margin-left: -6rem;
}
.p-main_pageNameHeadingv2Img.-privacy {
  width: 43%;
  height: 43%;
}
@media screen and (max-width: 1099px) {
  .p-main_pageNameHeadingv2Img.-privacy {
    margin-left: -10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main_pageNameHeadingv2Img.-privacy {
    margin-left: -14rem;
    height: 7.4rem;
    width: auto;
  }
}
@media screen and (max-width: 1099px) {
  .p-main_pageNameHeadingv2Img {
    margin-left: -10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main_pageNameHeadingv2Img {
    margin-left: -14rem;
    height: 7.4rem;
    width: auto;
  }
}
.p-main_pageNameHeadingv2Text {
  max-width: 920px;
  margin: 0 auto;
  font-size: 2rem;
}
@media screen and (max-width: 1099px) {
  .p-main_pageNameHeadingv2Text {
    max-width: 100%;
    padding: 0 4%;
  }
}
@media screen and (max-width: 767px) {
  .p-main_pageNameHeadingv2Text {
    font-size: 4rem;
    max-width: 100%;
    padding: 0 4%;
  }
}
.p-main_headingv2 {
  font-weight: normal;
  border-top: 0.1rem solid #333;
  border-bottom: 0.1rem solid #333;
  margin: 0 calc(50% - 50vw);
  height: 10rem;
}
.p-main_headingv2.-lead {
  height: 18rem;
}
.p-main_headingv2Inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 10rem;
}
@media screen and (max-width: 767px) {
  .p-main_headingv2Inner.-lead {
    display: none;
  }
}
.p-main_headingv2Img {
  width: auto;
  height: 6rem;
}
.p-main_headingv2Img.-lg {
  width: auto;
  height: 8rem;
  position: relative;
  top: 0.8rem;
}
.p-main_headingv2Text {
  font-size: 1.8rem;
  padding: 4rem 3rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-main_headingv2Text {
    display: none;
  }
}
.p-main_headingv2Text.-lead {
  font-size: 2.4rem;
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.p-main_headingv2Text.-service {
  padding-left: 3rem;
}
@media screen and (max-width: 767px) {
  .p-main_headingv2TextSp {
    font-size: 3.2rem;
    padding: 6rem 4%;
  }
}
.p-main_headingv2lead {
  font-size: 2.4rem;
  font-weight: normal;
  border-top: 0.1rem solid #333;
  border-bottom: 0.1rem solid #333;
  margin: 0 calc(50% - 50vw);
}
.p-main_headingv2leadInner {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.p-main_headingv2leadText {
  padding: 4rem 5rem;
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
@media screen and (max-width: 1099px) {
  .p-main_headingv2leadText {
    padding: 4rem 4%;
  }
}
@media screen and (max-width: 767px) {
  .p-main_headingv2leadText {
    display: none;
  }
}
.p-main_headingv3media {
  font-size: 1.8rem;
  margin: 6.5rem 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-main_headingv3media {
    font-size: 3rem;
  }
}
.p-main_headingv3media::before {
  position: absolute;
  bottom: -1.5rem;
  content: "";
  display: inline-block;
  width: 5rem;
  height: 0.2rem;
  background-color: #006699;
}
@media screen and (max-width: 767px) {
  .p-main_headingv3media::before {
    width: 16.2rem;
    height: 0.4rem;
  }
}
.p-main_headingv3 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-main_headingv3 {
    font-size: 3rem;
  }
}
.p-main_headingv4 {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-main_headingv4 {
    font-size: 2.8rem;
  }
}
.p-main_headingv5 {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-main_headingv5 {
    font-size: 2.8rem;
  }
}
.p-main_headingv6 {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-main_headingv6 {
    font-size: 2.8rem;
  }
}
.p-main_btnWrap {
  padding: 10rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-main_btnWrap {
    padding: 8rem 2%;
  }
}
.p-main_btnWrap.-service {
  padding: 8rem 0;
}
.p-main_btn {
  font-size: 2rem;
  justify-content: center;
  align-items: center;
  width: 44rem;
  height: 8rem;
  border: none;
  border-radius: 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-main_btn {
    background-color: #006699;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3rem;
    width: 100%;
    height: 12rem;
  }
}
@media screen and (min-width: 768px) {
  .p-main_btn:after {
    content: "";
    display: block;
    background-color: #006699;
    width: 44rem;
    height: 8rem;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-out;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-main_btn:hover:after {
    transform: scale(1.1);
  }
}
.p-main_btnArrowImg {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-main_btnArrowImg {
    width: 4rem;
    height: 4rem;
    top: 15%;
    right: -20%;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-main_btnArrowImg {
    width: 8rem;
    height: 8rem;
    top: 0;
    right: -20%;
  }
}
.p-main_btnText {
  color: #fff;
  z-index: 2;
  position: relative;
}
.p-main_btnArrow {
  background-color: #006699;
  border: 0.1rem solid #FFFFFF;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  position: absolute;
  right: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-main_btnArrow {
    width: 8rem;
    height: 8rem;
  }
}
.p-main_marker {
  background-color: #CCE0EB;
}

.p-footer {
  background-color: #EEEEEE;
  padding: 8rem 0 0;
}
.p-footer_wrap {
  border-top: 0.1rem solid #333;
  margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-footer_wrap {
    padding: 5rem 0;
  }
}
.p-footer_container {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-footer_container {
    grid-template-columns: 5fr 2.75fr 2.75fr;
    grid-template-rows: 1fr;
    padding-bottom: 7.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer_container {
    grid-template-columns: 1fr 1fr;
    padding-bottom: 7.2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-footer_companyWrap {
    padding-right: 8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-footer_companyWrap {
    grid-column: 1/3;
  }
}
.p-footer_companyEn {
  display: block;
  font-size: 1.4rem;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer_companyEn {
    font-size: 2.8rem;
  }
}
.p-footer_companyJa {
  display: block;
  font-size: 2rem;
  padding-bottom: 2rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-footer_companyJa {
    font-size: 4rem;
  }
}
.p-footer_text {
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-footer_text {
    font-size: 2.8rem;
  }
}
.p-footer_imgList {
  padding: 3.5rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-footer_imgList {
    padding: 7.5rem 0;
  }
}
.p-footer_item {
  display: inline-block;
  margin-right: 1.8rem;
}
.p-footer_img {
  width: auto;
  height: 7rem;
}
@media screen and (max-width: 767px) {
  .p-footer_img {
    width: auto;
    height: 11.4rem;
  }
}
.p-footer_menuName {
  color: #006699;
  font-size: 1.4rem;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-footer_menuName {
    font-size: 2.8rem;
  }
}
.p-footer_menu11 {
  padding-bottom: 3.5rem;
}
.p-footer_menu12 {
  padding-bottom: 3.5rem;
}
.p-footer_menu13 {
  padding-bottom: 3.5rem;
}
.p-footer_menuList {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-footer_menuList {
    font-size: 2.8rem;
  }
}
.p-footer_menuItem {
  position: relative;
  padding-bottom: 1.5rem;
}
.p-footer_menuItem::before {
  font: var(--fa-font-solid);
  content: "\f054";
  font-weight: 900;
  position: absolute;
  top: 0.5rem;
  color: #006699;
}
@media screen and (max-width: 767px) {
  .p-footer_menuItem::before {
    top: 0.7rem;
  }
}
.p-footer_menuLink {
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .p-footer_menuLink {
    padding-left: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .p-footer_copyrightText {
    font-size: 0.8rem;
    padding: 1.8rem 0;
  }
}
.p-inquiry_wrap {
  background-color: #006699;
  color: #FFFFFF;
  margin: 0 calc(50% - 50vw);
  padding: 3rem 0 10rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_wrap {
    padding: 3rem 4% 10rem;
  }
}
.p-inquiry_headingv2 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-inquiry_headingv2 {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_headingv2 {
    font-size: 4rem;
  }
}
.p-inquiry_text {
  font-size: 1.6rem;
  text-align: center;
  padding: 1.5rem 0 4rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_text {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_headingv3Wrap {
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_headingv3Text {
    position: absolute;
    display: block;
    left: 25%;
    top: -5px;
    background: #006699;
    padding: 0 3rem;
  }
}
.p-inquiry_headingv3 {
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .p-inquiry_headingv3 {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_headingv3 {
    font-size: 3.2rem;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiry_headingv3 span {
    background-color: #006699;
    display: block;
    padding: 0 2rem;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    white-space: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiry_telTime {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_time {
    font-size: 2.8rem;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiry_borderWrap {
    margin: 0 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_border {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_border.-top {
    align-items: flex-start;
  }
}
.p-inquiry_border::before {
  content: "";
  flex-grow: 1;
  display: block;
  margin-right: 0.4em;
}
@media screen and (max-width: 767px) {
  .p-inquiry_border::before {
    height: 1px;
    background: #FFFFFF;
  }
}
.p-inquiry_border::after {
  content: "";
  flex-grow: 1;
  display: block;
  margin-left: 0.4em;
}
@media screen and (max-width: 767px) {
  .p-inquiry_border::after {
    height: 1px;
    background: #FFFFFF;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiry .c-heading_3:before {
    top: 1.2rem;
    background-color: #FFFFFF;
    height: 1px;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry .c-heading_3:before {
    background: none;
  }
}
.p-inquiry .c-heading_3:after {
  height: 0;
  width: 0;
}
.p-inquiry_content {
  color: #FFFF99;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-inquiry_content {
    font-size: 4.6rem;
    padding: 4rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_content {
    font-size: 7.2rem;
    padding: 4.5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_content.-sm {
    font-size: 5rem;
  }
}
.p-inquiry_content.-tel {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-inquiry_content.-mail {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-inquiry_contentIcon {
  padding-right: 2rem;
}
.p-inquiry_telIcon {
  width: 4.4rem;
  height: 4.4rem;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_telIcon {
    width: 6rem;
    height: 6rem;
  }
}
.p-inquiry_mailIcon {
  width: 4.4rem;
  height: 3.16rem;
  margin-right: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_mailIcon {
    margin-bottom: 1.3rem;
  }
}
.p-inquiry_caseWrap {
  padding: 5rem 0 3.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-inquiry_caseWrapBtnText {
  position: relative;
  z-index: 2;
  margin-top: -8px;
}
.p-inquiry_caseWrapBtnImg {
  position: relative;
  height: 2.2rem;
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-inquiry_caseWrapBtnImg {
    height: 3.2rem;
    width: auto;
  }
}
.p-inquiry_caseWrapBtnArrow {
  width: 4rem;
  height: 4rem;
  position: relative;
  top: 0;
  right: -17%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-inquiry_caseWrapBtnArrow {
    width: 8rem;
    height: 8rem;
  }
}
.p-inquiry_btnCase {
  border: none;
  border-radius: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-inquiry_btnCase {
    background-color: transparent;
    font-size: 2rem;
    width: 42rem;
    height: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnCase {
    background-color: #F6F29B;
    width: 100%;
    height: 12rem;
    font-size: 3rem;
  }
}
.p-inquiry_btnCase::after {
  content: "";
  background-color: #F6F29B;
  width: 42rem;
  height: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s ease-out;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-inquiry_btnCase:hover::after {
    transform: scale(1.1);
    z-index: 1;
  }
}
.p-inquiry_btnWrap {
  border-left: 1px solid #FFFFFF;
  border-right: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  padding: 5rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnWrap {
    border: 1px solid #FFFFFF;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiry_btnContent {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnContent {
    margin-bottom: 7rem;
  }
}
.p-inquiry_btnDesc {
  text-align: center;
  position: relative;
  margin-bottom: 3rem;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnDesc {
    font-size: 2.8rem;
  }
}
.p-inquiry_btnDesc::before {
  display: inline-block;
  content: "";
  position: absolute;
  background: #FFFFFF;
  width: 60px;
  height: 1px;
  transform: rotate(60deg);
  top: 60%;
  left: -50px;
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnDesc::before {
    top: 50%;
    left: -20px;
  }
}
.p-inquiry_btnDesc::after {
  display: inline-block;
  content: "";
  position: absolute;
  background: #FFFFFF;
  width: 60px;
  height: 1px;
  transform: rotate(-60deg);
  top: 60%;
  right: -50px;
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnDesc::after {
    top: 52%;
    right: -20px;
  }
}
.p-inquiry_btn {
  border: none;
  border-radius: 0;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-inquiry_btn {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    background-color: transparent;
    width: 42rem;
    height: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_btn {
    width: 100%;
    height: 16rem;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiry_btn:after {
    content: "";
    background-color: #FFF;
    position: absolute;
    width: 42rem;
    height: 10rem;
    transition: all 0.3s ease-out;
    z-index: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiry_btn:hover::after {
    transform: scale(1.1);
    z-index: 1;
  }
}
.p-inquiry_btnText {
  height: 5.6rem;
  width: auto;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnText {
    height: 7.8rem;
    width: auto;
  }
}
.p-inquiry_btnLink {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.p-inquiry_btnArrow {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 2rem;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnArrow {
    width: 8rem;
    height: 8rem;
    font-size: 4rem;
  }
}
.p-inquiry_btnArrow.-case {
  background-color: #F6F29B;
  position: absolute;
  right: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_btnArrow.-case {
    width: 8rem;
    height: 8rem;
  }
}

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

.page_top {
  position: relative;
  width: 8rem;
  height: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
.page_top::after {
  content: "";
  display: block;
  position: relative;
  top: 0;
  right: 4rem;
  width: 10rem;
  height: 6rem;
  background-color: #006699;
  border-radius: 50%;
  transition: all 0.3s ease-out;
  z-index: -1;
  box-shadow: 2px 2px 4px 0px #333;
}
.page_top:hover::after {
  transform: scale(1.2, 1.2);
  z-index: -1;
  cursor: pointer;
}

.page_topLink {
  color: #fff;
  display: block;
  font-size: 1.2rem;
  height: 4rem;
}

@media screen and (max-width: 1200px) {
  .page_top::after {
    right: 0;
  }
  .page_topLink {
    position: relative;
    top: 0;
    right: -4rem;
  }
}
@media screen and (min-width: 1100px) {
  #page_top {
    position: fixed;
    right: 10%;
    bottom: 5%;
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  #page_top {
    position: fixed;
    right: 5%;
    bottom: 5%;
    opacity: 1;
    border-radius: 50%;
  }
}

/*
  Project - Container
------------------------------------------------- */
.p-container {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1099px) {
  .p-container {
    max-width: 100%;
  }
}
.p-container_inner {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 5rem;
}
@media screen and (max-width: 1099px) {
  .p-container_inner {
    max-width: 100%;
    padding: 0 4%;
  }
}

/*
  Project - Top
------------------------------------------------- */
.p-top-hero {
  padding-top: 5rem;
  background-image: url(./../images/top/bg_top-hero.jpg);
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-top-hero {
    padding-top: 12rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-hero_container {
    display: grid;
    grid-template-rows: 2fr 3fr;
    grid-template-columns: 9fr 2fr;
    height: 70rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-hero_container {
    display: flex;
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .p-top-hero_catchcopyEn {
    font-size: 7.95rem;
    font-weight: lighter;
    padding: 9.5rem 0 0 10.5rem;
    overflow-x: hidden;
  }
}
@media screen and (max-width: 767px) {
  .p-top-hero_catchcopyEn {
    order: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-top-hero_catchcopyJa {
    font-size: 7.6rem;
    padding: 0 0 0 10.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-hero_catchcopyJa {
    font-size: 7.6rem;
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-top-hero_title {
    margin-top: -4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-hero_title {
    margin-top: 8rem;
    padding: 0 3.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-hero_subtitleImg {
    margin-left: -15rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-hero_subtitleImg {
    margin-left: -11rem;
    margin-top: 10rem;
  }
}
.p-top-hero_catchcopyVertical {
  color: #006699;
}
@media screen and (min-width: 768px) {
  .p-top-hero_catchcopyVertical {
    grid-column: 2/3;
    grid-row: 1/3;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 2.4rem;
    padding: 3.2rem 5.8rem 0 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-hero_catchcopyVertical {
    font-size: 3.2rem;
    line-height: 2.1;
    order: 3;
    margin: 8rem 0;
    padding: 0 3.5rem 0 30rem;
  }
}
.p-top-service_list {
  gap: 0;
}
@media screen and (min-width: 768px) {
  .p-top-service_listItem {
    border-bottom: 0.1rem solid #000;
    color: #333;
    height: 42rem;
    position: relative;
  }
}
.p-top-service_listItem:hover {
  color: #FFF;
}
.p-top-service_listItem .p-top-service_listItemLink {
  background-color: transparent;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-decoration: none;
  color: #333;
  z-index: 2;
}
.p-top-service_listItem .p-top-service_listItemLink:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease-out;
  pointer-events: none;
}
.p-top-service_listItem .p-top-service_listItemLink:hover::after {
  scale: 1.1;
  background-color: #006699;
  z-index: 1;
}
.p-top-service_listItem .p-top-service_listItemLink:hover {
  color: #FFF;
  border-bottom: none;
}
.p-top-service_listItem .p-top-service_listItemLink:hover .p-top-service_listItemImgText {
  filter: brightness(0) invert(1);
}
.p-top-service_listItemContent:hover {
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-top-service_listItemInner {
    margin: 2.8rem 0;
    padding: 0 5rem;
    height: 36.4rem;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    position: relative;
    transition: all 0.3s ease-out;
    z-index: 2;
    mix-blend-mode: screen;
  }
}
.p-top-service_listItemInner:after {
  content: "";
  border-left: 0.1rem solid #000;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 5rem;
  width: 100%;
  height: 36.4rem;
}
.p-top-service_listItemInner.-removeBorder:after {
  content: "";
  border-left: none;
}
.p-top-service_listItemInner:hover::after {
  border-left: none;
}
.p-top-service_listItemInner.-last:after {
  content: "";
  border-right: 0.1rem solid #000;
}
.p-top-service_listItemInner.-last:hover::after {
  border-right: none;
}
@media screen and (min-width: 768px) {
  .p-top-service_itemInner {
    border-left: 0.1rem solid #000;
    margin: 2.8rem 0;
    padding: 0 5rem;
    height: 36.4rem;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_itemInner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100vw;
    padding: 0 4%;
  }
}
.p-top-service_itemInner:hover {
  cursor: pointer;
}
.p-top-service_itemInner:hover:after {
  scale: 1.1;
  cursor: pointer;
}
.p-top-service_listItemContent:hover {
  z-index: 4;
}
@media screen and (min-width: 768px) {
  .p-top-service_listItemPic {
    transition: all 0.3s ease-out;
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_listItemPic {
    width: 80%;
    height: auto;
  }
}
@media screen and (max-width: 1099px) {
  .p-top-service_listItemPic img.p-top-service_img {
    width: auto;
    height: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_listItemPic img.p-top-service_img {
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-top-service_listItemImg {
    transition: all 0.3s ease-out;
  }
}
@media screen and (min-width: 768px) {
  .p-top-service_listItemImg.-screen {
    mix-blend-mode: screen;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .p-top-service_pic {
    overflow: hidden;
    position: relative;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_pic {
    width: 80%;
    height: auto;
  }
}
@media screen and (max-width: 1099px) {
  .p-top-service_pic img.p-top-service_img {
    width: auto;
    height: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_pic img.p-top-service_img {
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-top-service_img:nth-child(1) {
    display: inline-block;
  }
}
.p-top-service_listItemText {
  font-size: 1.4rem;
  padding: 2.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-service_listItemText {
    display: none;
  }
}
.p-top-service_text {
  font-size: 1.4rem;
  padding: 2.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-service_text {
    display: none;
  }
}
.p-top-service_listItemText {
  font-size: 1.4rem;
  padding: 2.5rem 0;
}
@media screen and (min-width: 768px) {
  .p-top-service_listItemText {
    transition: all 0.3s ease-out;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_listItemText {
    display: none;
  }
}
.p-top-service_listItemBtn {
  margin-top: auto;
  display: flex;
  flex-direction: row;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-top-service_listItemBtn {
    margin-top: 0;
  }
}
.p-top-service_listItemBtnText {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .p-top-service_listItemBtnText {
    transition: all 0.3s ease-out;
  }
}
.p-top-service_btn {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .p-top-service_btn {
    margin-top: 0;
  }
}
.p-top-service_btnLink {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
}
.p-top-service_btnArrow {
  background-color: #FFFFFF;
  border: 0.1rem solid #006699;
  color: #006699;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  margin: 0 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-service_btnArrow {
    transition: all 0.3s ease-out;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_btnArrow {
    font-size: 3.6rem;
    width: 8rem;
    height: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-service_btnArrowImg {
    width: 4rem;
    height: 4rem;
    margin-left: 1rem;
    transition: all 0.3s ease-out;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_itemInnerSp {
    border-top: 1px solid #CCCCCC;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-top-service_itemInnerSp.-last {
    border-bottom: 1px solid #CCCCCC;
  }
}
.p-top-case_wrap {
  background-image: url(./../images/top/bg_top_case2.png);
  background-repeat: repeat;
  margin: 0 calc(50% - 50vw);
  background-size: 2%;
}
.p-top-case_item {
  background-color: #FFFFFF;
  border: 0.1rem solid #000;
  height: 75rem;
}
.p-top-case_itemTitle {
  border-bottom: 0.1rem solid #000;
  font-size: 1.6rem;
  line-height: 6rem;
  height: 6rem;
  padding: 0 3rem;
}
@media screen and (max-width: 767px) {
  .p-top-case_itemTitle {
    font-size: 3.2rem;
    line-height: 10rem;
    height: 10rem;
  }
}
.p-top-case_contents {
  padding: 3rem;
  height: 69rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .p-top-case_contents {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-top-case_contentsTitle img.p-top-case_contentsTitleImg {
    width: auto;
  }
}
.p-top-case_contentsTitleImg {
  width: auto;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .p-top-case_contentsTitleImg {
    width: auto;
  }
}
.p-top-case_contentsText {
  font-size: 1.6rem;
  height: 3rem;
  min-height: 9rem;
  margin-bottom: 1.5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-case_contentsText {
    font-size: 3.2rem;
    height: auto;
  }
}
.p-top-case_marker {
  background: #CCE0EB;
  display: inline;
  line-height: 2;
  padding: 0 0.2rem;
}
.p-top-case_contentsPic {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-top-case_contentsPic {
    order: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-top-case_contentsImg {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100vw;
    height: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-case_contentsImg {
    width: 100vw;
    height: 35rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-top-case_contentsSubTitle {
  font-size: 1.8rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-case_contentsSubTitle {
    font-size: 3rem;
  }
}
.p-top-case_contentsSubText {
  font-size: 1.4rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-case_contentsSubText {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-top-case_btn {
    margin-top: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-top-case_btn {
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-top-case_itemLink:hover .p-top-case_btnLinkArrowWrap:after {
    background-color: #006699;
    border: none;
    transform: scale(1.2);
    z-index: 1;
  }
}
.p-top-case_btnLinkArrowWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-case_btnLinkArrowWrap::after {
    content: "";
    border: 1px solid #333;
    border-radius: 50%;
    display: block;
    background-color: #fff;
    width: 4rem;
    height: 4rem;
    margin-left: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-out;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-top-case_btnLinkArrowWrap::after {
    content: "";
    border: 1px solid #333;
    border-radius: 50%;
    display: block;
    background-color: #fff;
    width: 8rem;
    height: 8rem;
    margin-left: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-top-case_btnLinkArrowWrap:hover::after {
    background-color: #006699;
    border: none;
    transform: scale(1.2);
    z-index: 1;
  }
}
.p-top-case_btnLink {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .p-top-case_btnLink {
    background-color: transparent;
  }
}
@media screen and (max-width: 767px) {
  .p-top-case_btnLink {
    font-size: 2.8rem;
    margin-top: 2rem;
  }
}
.p-top-case_btnLinkArrowImg {
  width: 4rem;
  height: 4rem;
  margin-left: 1rem;
  position: relative;
  display: block;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-top-case_btnLinkArrowImg {
    width: 8rem;
    height: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-case_btnLinkArrowImg:hover {
    filter: brightness(0) invert(1);
  }
}
.p-top-case_btnArrow {
  background-color: #FFFFFF;
  border: 0.1rem solid #006699;
  color: #006699;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  transition: 1s;
  margin: 0 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-case_btnArrow {
    width: 8rem;
    height: 8rem;
  }
}
.p-top-case_btnArrow:hover {
  background-color: #006699;
  color: #FFFFFF;
  transform: scale(1.1);
}
.p-top-case_arrowWrap {
  width: 6rem;
  height: 6rem;
  background: #006699;
  border-radius: 100vh;
  transition: all 0.5s ease-out;
}
.p-top-case_arrowWrap:hover {
  background: #006699;
  transform: translate(0, -50%) scale(1.2);
}
.p-top-case_arrowWrap[aria-disabled=true] {
  background: #CCCCCC;
}
.p-top-media_introductionMediaCard:hover .p-top-media_btnLinkCircleImgWrap::after {
  background-color: #006699;
  border: none;
  transform: scale(1.2);
  z-index: 1;
}
.p-top-media_introduction {
  gap: 0;
  margin: 8rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-media_introduction {
    margin: 6rem 4%;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_introductionMedia {
    height: 36rem;
    padding: 0 5rem;
    border-left: 0.1rem solid #000;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_introductionMedia {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-top: 2px solid #CCCCCC;
    padding: 7.5rem 0;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_introductionMedia.-last {
    border-right: 0.1rem solid #000;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_introductionMedia.-last {
    border-bottom: 2px solid #CCCCCC;
  }
}
.p-top-media_introductionMediaPic {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-top-media_introductionMediaPic {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_introductionMediaPic img.p-top-media_introductionMediaImg {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_introductionMediaImg {
    height: 8rem;
  }
}
.p-top-media_introductionMediaText {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-media_introductionMediaText {
    display: none;
  }
}
.p-top-media_btn {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .p-top-media_btn {
    margin-top: 0;
  }
}
.p-top-media_btnLink {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-media_btnLink {
    font-size: 2.8rem;
  }
}
.p-top-media_btnLinkCircleImgWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-media_btnLinkCircleImgWrap:after {
    content: "";
    border: 1px solid #333;
    border-radius: 50%;
    display: block;
    background-color: #fff;
    width: 4rem;
    height: 4rem;
    margin-left: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-out;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_btnLinkCircleImgWrap:hover::after {
    background-color: #006699;
    border: none;
    transform: scale(1.2);
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_btnLinkCircleImg {
    width: 4rem;
    height: 4rem;
    position: relative;
    top: 0;
    left: 0.9rem;
    display: inline-block;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_btnLinkCircleImg {
    width: 8rem;
    height: 8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_btnLinkCircleImg:hover {
    filter: brightness(0) invert(1);
  }
}
.p-top-media_btnWindow {
  background-color: #FFFFFF;
  border: 0.1rem solid #006699;
  color: #006699;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  transition: 1s;
  margin: 0 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-media_btnWindow {
    width: 8rem;
    height: 8rem;
    font-size: 2.4rem;
  }
}
.p-top-media_btnWindow:hover {
  transform: scale(1.1);
  background-color: #006699;
  color: #FFFFFF;
}
.p-top-media_mediaName {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-top-media_mediaName {
    grid-template-rows: 1fr;
    grid-template-columns: 2fr 8fr;
    border-top: 0.1rem solid #333;
    padding: 6rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaName {
    padding-top: 8rem;
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_mediaNameImg {
    height: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaNameImg {
    height: 10.4rem;
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_mediaNameImg.-lg {
    height: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaNameImg.-lg {
    height: 8.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaNameImg.-sm {
    height: 10rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-media_mediaContentsLink:hover .p-top-media_btnDetailLinkCircleImgWrap::after {
    background-color: #006699;
    border: none;
    transform: scale(1.2);
    z-index: 1;
  }
}
.p-top-media_mediaContents {
  display: grid;
  grid-template-rows: 2fr;
  grid-template-columns: 1fr 1.6fr;
  margin: 2rem 0;
}
@media screen and (max-width: 1099px) {
  .p-top-media_mediaContents {
    grid-template-rows: 2fr;
    grid-template-columns: 1fr 1.6fr;
    margin-bottom: 2rem;
    margin-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContents {
    grid-template-columns: 1fr 1fr;
    margin: 0 0 2rem;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContents:first-child {
    margin: 2rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContents:last-child {
    padding: 0 0 8rem;
    border-bottom: 2px solid #CCCCCC;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContentsImg {
    width: auto;
    height: 20rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-top-media_mediaContentsText {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-top-media_mediaContentsText {
    grid-template-rows: 4rem 4rem 1fr;
    grid-template-columns: 6fr 1fr;
    margin-left: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContentsText {
    grid-template-columns: 1fr;
  }
}
.p-top-media_mediaContentsDate {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContentsDate {
    font-size: 2.8rem;
  }
}
.p-top-media_mediaContentsDateTag {
  background-color: #006699;
}
@media screen and (min-width: 768px) {
  .p-top-media_mediaContentsDateTag {
    font-size: 1.2rem;
    margin: 0 1.8rem;
    padding: 0.5rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContentsDateTag {
    font-size: 2.4rem;
    padding: 0.5rem 1.5rem;
  }
}
.p-top-media_mediaContentsTitle {
  font-size: 1.6rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContentsTitle {
    font-size: 3.2rem;
  }
}
.p-top-media_mediaContentsDesc {
  margin-top: 2rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-media_mediaContentsDesc {
    display: none;
  }
}
.p-top-media_btnDetailLinkCircleImgWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-media_btnDetailLinkCircleImgWrap:after {
    content: "";
    border: 1px solid #333;
    border-radius: 50%;
    display: block;
    background-color: #fff;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-out;
    z-index: 1;
  }
}
.p-top-media_btnDetailLinkCircleImg {
  width: 4rem;
  height: 4rem;
  position: relative;
  display: block;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-top-media_btnDetailLinkCircleImg {
    width: 8rem;
    height: 8rem;
  }
}
.p-top-media_btnDetailLinkCircleImg:hover {
  filter: brightness(0) invert(1);
}
.p-top-media_listBtn {
  grid-column: 2/3;
  grid-row: 1/4;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-top-media_listBtn {
    display: none;
  }
}
.p-top-media_listBtnLink {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
}
.p-top-media_listBtnWindow {
  background-color: #FFFFFF;
  border: 0.1rem solid #006699;
  color: #006699;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  transition: 1s;
}
.p-top-media_listBtnWindow:hover {
  background-color: #006699;
  color: #FFFFFF;
  transform: scale(1.1);
}
.p-top-access .c-list_def {
  padding: 0;
  border: none;
}
.p-top-access .c-list_def > .list {
  padding: 0;
  border: none;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .p-top-access .c-list_def > .list {
    display: flex;
  }
}
.p-top-access .c-list_def_term {
  flex-basis: 25%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-top-access * + .c-list_def_content {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-top-access_companyWrap {
    padding: 10rem 18rem 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-access_companyWrap {
    padding: 8rem 4% 4rem;
  }
}
.p-top-access_companyTerm {
  border-top: 0.1rem solid #333;
  font-size: 2rem;
  padding: 3.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-access_companyTerm {
    font-size: 3rem;
  }
}
.p-top-access_companyTerm.-last {
  border-bottom: 0.1rem solid #333;
}
.p-top-access_companyContent {
  font-size: 2rem;
  border-top: 0.1rem solid #CCCCCC;
}
@media screen and (min-width: 768px) {
  .p-top-access_companyContent {
    padding: 3.5rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-access_companyContent {
    width: 100%;
    font-size: 3rem;
    padding: 3.5rem 2rem;
    white-space: nowrap;
  }
}
.p-top-access_companyContent.-last {
  border-bottom: 0.1rem solid #CCCCCC;
}
.p-top-access_btnLink {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  padding: 3rem 0;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-access_btnLink {
    font-size: 2.8rem;
  }
}
.p-top-access_btnLinkText {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-access_btnLinkText {
    font-size: 2.8rem;
  }
}
.p-top-access_btnArrowImgWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-access_btnArrowImgWrap::after {
    content: "";
    border: 1px solid #333;
    border-radius: 50%;
    display: block;
    background-color: #fff;
    width: 4rem;
    height: 4rem;
    margin-left: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-out;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-top-access_btnArrowImgWrap::after {
    content: "";
    border: 1px solid #333;
    border-radius: 50%;
    display: block;
    background-color: #fff;
    width: 8rem;
    height: 8rem;
    margin-left: 1rem;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-top-access_btnArrowImgWrap:hover::after {
    background-color: #006699;
    border: none;
    transform: scale(1.2);
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-top-access_btnArrowImg {
    width: 4rem;
    height: 4rem;
    margin-left: 1rem;
    position: relative;
    display: block;
    z-index: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-top-access_btnArrowImg {
    width: 8rem;
    height: 8rem;
    margin-left: 1rem;
    position: relative;
    display: block;
    z-index: 2;
  }
}
@media screen and (min-width: 768px) {
  .p-top-access_btnArrowImg:hover {
    filter: brightness(0) invert(1);
  }
}
.p-top-access_btnArrow {
  background-color: #FFFFFF;
  border: 0.1rem solid #006699;
  color: #006699;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  transition: 1s;
  margin: 0 1rem;
}
@media screen and (max-width: 767px) {
  .p-top-access_btnArrow {
    width: 8rem;
    height: 8rem;
  }
}
.p-top-access_btnArrow:hover {
  background-color: #006699;
  color: #FFFFFF;
  transform: scale(1.1);
}
@media screen and (min-width: 768px) {
  .p-top-access_googlemap {
    padding: 3rem 18rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-access_googlemap iframe {
    height: 80rem;
  }
}
.p-top-access_accessInfo {
  font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .p-top-access_accessInfo {
    padding: 0 18rem 7.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-access_accessInfo {
    font-size: 2.8rem;
    padding: 8rem 4%;
  }
}
.p-top-access_accessDetail {
  list-style: disc;
}
@media screen and (min-width: 768px) {
  .p-top-access_accessDetail {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-access_accessDetail {
    padding: 0 4%;
  }
}

.section-lineup {
  overflow: hidden;
  padding: 12rem 0 0;
}
@media screen and (max-width: 767px) {
  .section-lineup {
    overflow: hidden;
    padding: 8rem 0;
  }
}
.section-lineup .inner {
  margin: 0 auto;
  width: 93%;
  padding-right: 4rem;
}
@media screen and (max-width: 767px) {
  .section-lineup .inner {
    width: 96%;
  }
}
.section-lineup .lineup {
  position: relative;
}
.section-lineup .lineup-carousel li {
  margin-right: 24px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .section-lineup .lineup-carousel li {
    width: calc(100vw - 3rem);
  }
}
.section-lineup .lineup-carousel img {
  display: block;
}
.section-lineup .slick-list {
  overflow: visible;
}
.section-lineup .slick-nav-arrows {
  position: absolute;
  top: -5rem;
  right: 0;
}
@media screen and (max-width: 767px) {
  .section-lineup .slick-nav-arrows {
    top: auto;
    bottom: -4rem;
  }
}
.section-lineup .slick-arrow {
  display: inline-flex;
  width: 6rem;
  height: 6rem;
  align-items: center;
  justify-content: center;
}
.section-lineup .slick-next {
  right: 0;
}
.section-lineup .slick-prev {
  left: -14rem;
}

.slick-prev:before {
  content: "\f104";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 700;
}

.slick-next:before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 700;
}

/*
  Project - Service
------------------------------------------------- */
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-creative {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/creative/bg_eyecatch_creative.png") no-repeat;
    background-size: 45.3rem 34rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-creative {
    max-width: 1200px;
    background: url("./../images/service/creative/bg_eyecatch_creative.png") no-repeat;
    background-size: 45.3rem 34rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-creative {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-creative {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-webmarketing {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/webdigitalmarketing/bg_eyecatch_webdigitalmarketing.png") no-repeat;
    background-size: 48.4rem 36.4rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-webmarketing {
    max-width: 1200px;
    background: url("./../images/service/webdigitalmarketing/bg_eyecatch_webdigitalmarketing.png") no-repeat;
    background-size: 48.4rem 36.4rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-webmarketing {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-webmarketing {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-system {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/system/bg_eyecatch_system.png") no-repeat;
    background-size: 42.5rem 42.5rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-system {
    max-width: 1200px;
    background: url("./../images/service/system/bg_eyecatch_system.png") no-repeat;
    background-size: 42.5rem 42.5rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-system {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-system {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-branding {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/branding/bg_eyecatch_branding.png") no-repeat;
    background-size: 45rem 45rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-branding {
    max-width: 1200px;
    background: url("./../images/service/branding/bg_eyecatch_branding.png") no-repeat;
    background-size: 45rem 45rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-branding {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-branding {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-exhibition_promotion {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/exhibition_promotion/bg_eyecatch_exhibition_promotion.png") no-repeat;
    background-size: 54.7rem 53.3rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-exhibition_promotion {
    max-width: 1200px;
    background: url("./../images/service/exhibition_promotion/bg_eyecatch_exhibition_promotion.png") no-repeat;
    background-size: 54.7rem 53.3rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-exhibition_promotion {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-exhibition_promotion {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-movie {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/movie/bg_eyecatch_movie.png") no-repeat;
    background-size: 45.9rem 34rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-movie {
    max-width: 1200px;
    background: url("./../images/service/movie/bg_eyecatch_movie.png") no-repeat;
    background-size: 45.9rem 34rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-movie {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-movie {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-studio {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/studio/bg_eyecatch_studio.png") no-repeat;
    background-size: 45.9rem 37.4rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-studio {
    max-width: 1200px;
    background: url("./../images/service/studio/bg_eyecatch_studio.png") no-repeat;
    background-size: 45.9rem 37.4rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-studio {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-studio {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-prmedia {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/prmedia_dxtool/bg_eyecatch_prmedia_dxtool.png") no-repeat;
    background-size: 45.9rem 37rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-prmedia {
    max-width: 1200px;
    background: url("./../images/service/prmedia_dxtool/bg_eyecatch_prmedia_dxtool.png") no-repeat;
    background-size: 45.9rem 37rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-prmedia {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-prmedia {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
@media screen and (min-width: 1200px) {
  .p-main-eyecatchBgWrap.-architecture {
    max-width: 1400px;
    margin: 0 auto;
    background: url("./../images/service/architecture/bg_eyecatch_architecture.png") no-repeat;
    background-size: 39.9rem 41.8rem;
    background-position: right center;
  }
}
@media screen and (max-width: 1199px) {
  .p-main-eyecatchBgWrap.-architecture {
    max-width: 1200px;
    background: url("./../images/service/architecture/bg_eyecatch_architecture.png") no-repeat;
    background-size: 39.9rem 41.8rem;
    background-position: 110% center;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchBgWrap.-architecture {
    max-width: 1100px;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchBgWrap.-architecture {
    max-width: 100%;
    background-position: 140% 90%;
  }
}
.p-main-eyecatchInner {
  max-width: 1100px;
  margin: 0 auto;
  height: 46rem;
  padding: 4rem 0 6rem;
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchInner {
    height: 88rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchInner.-movie {
    height: 100rem;
  }
}
.p-main-eyecatchContent {
  display: grid;
  grid-template-rows: 14rem 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContent {
    display: flex;
    flex-direction: column;
    padding: 11rem 4% 9rem;
  }
}
.p-main-eyecatchContentIcon {
  grid-column: 1/5;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 14rem;
  padding-left: 10rem;
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContentIcon {
    padding-left: 3rem;
  }
}
@media screen and (max-width: 1099px) {
  .p-main-eyecatchContentIcon img.p-main-eyecatchContentImg {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContentIcon img.p-main-eyecatchContentImg {
    width: auto;
  }
}
.p-main-eyecatchContentImg {
  height: 11.5rem;
}
.p-main-eyecatchContentListWrap {
  grid-column: 1/5;
  font-size: 1.8rem;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 6rem;
  padding-left: 23rem;
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContentListWrap {
    flex-direction: column;
    padding-left: 14rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContentList02 {
    margin-top: -6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContentList02.-pr {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContentList03 {
    margin-top: -6rem;
  }
}
.p-main-eyecatchContentItem {
  padding-bottom: 1.8rem;
  margin-left: 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-main-eyecatchContentItem {
    font-size: 3rem;
  }
}
.p-main-eyecatchContentItem::before {
  content: url(./../images/common/img_mark-eyecatch.png);
  transform: scale(0.5);
  position: absolute;
  top: 0;
  left: -3rem;
}
.p-main_serviceFeature {
  padding: 8rem 0;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceFeature {
    padding: 8rem 8% 0;
  }
}
.p-main_serviceFeatureTitle {
  font-size: 1.8rem;
  position: relative;
  padding-left: 5rem;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceFeatureTitle {
    font-size: 3.6rem;
    padding-left: 10rem;
  }
}
.p-main_serviceFeatureTitle::before {
  content: "";
  background-image: url(./../images/common/img_lead01.png);
  background-size: contain;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-main_serviceFeatureTitle::before {
    width: 8rem;
    height: 8rem;
  }
}
.p-main_serviceFeatureText {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceFeatureText {
    font-size: 3rem;
  }
}
.p-main_serviceMainWrap {
  padding: 7rem 0 0;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainWrap {
    padding: 0 4%;
  }
}
.p-main_serviceMainHeadingv3 {
  border-top: 0.1rem solid #006699;
  border-bottom: 0.1rem solid #006699;
  margin-bottom: 3rem;
  padding: 1rem 0;
}
@media screen and (max-width: 1099px) {
  .p-main_serviceMainHeadingv3 {
    margin-bottom: 4.2rem;
  }
}
@media screen and (max-width: 1099px) {
  .p-main_serviceMainHeadingv3 img.p-main_serviceMainHeadingv3Img {
    width: auto;
  }
}
.p-main_serviceMainHeadingv3Img {
  height: 3.2rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainHeadingv3Img {
    height: 5.5rem;
  }
}
.p-main_serviceMainHeadingDesc {
  font-size: 2.8rem;
  margin-bottom: 2rem;
  line-height: 2.1;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainHeadingDesc {
    font-size: 3.2rem;
    margin-bottom: 3.5rem;
  }
}
.p-main_serviceList {
  font-size: 1.8rem;
  list-style: disc;
  padding-left: 1.8rem;
  margin-bottom: 9rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceList {
    font-size: 3rem;
  }
}
.p-main_serviceDesc {
  font-size: 1.8rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceDesc {
    font-size: 3rem;
  }
}
.p-main_serviceStudioPicDetail {
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceStudioPicDetail {
    margin-top: 8.5rem;
  }
}
.p-main_serviceWrap {
  display: grid;
  grid-template-columns: 18rem 1fr;
  padding-bottom: 7rem;
}
@media screen and (max-width: 1099px) {
  .p-main_serviceWrap {
    max-width: 100%;
    padding: 0 4%;
  }
}
@media screen and (max-width: 767px) {
  .p-main_serviceWrap {
    display: flex;
    flex-direction: column;
  }
}
.p-main_serviceSidebar {
  padding: 7rem 0;
}
@media screen and (max-width: 767px) {
  .p-main_serviceSidebar {
    display: none;
  }
}
.p-main_serviceSidebarList {
  position: sticky;
  top: 7rem;
  padding-left: 5rem;
}
.p-main_serviceSidebarList::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 38rem;
  background-color: #040000;
  position: absolute;
  z-index: -1;
  top: 1rem;
  left: 9rem;
}
.p-main_serviceSidebarList.-two::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 16rem;
  background-color: #040000;
  position: absolute;
  z-index: -1;
  top: 1rem;
  left: 9rem;
}
.p-main_serviceSidebarList.-three::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 28rem;
  background-color: #040000;
  position: absolute;
  z-index: -1;
  top: 1rem;
  left: 9rem;
}
.p-main_serviceSidebarList li a {
  font-style: italic;
  font-weight: lighter;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 8.4rem;
  height: 8.4rem;
  line-height: 1.1;
  border-radius: 100vh;
  margin-bottom: 2rem;
}
.p-main_serviceSidebarList li a.-case01 {
  background-image: url("./../images/service/sidebar/img_service-case01.png"), url("./../images/service/sidebar/img_service-case01active.png");
  background-size: cover, 0 0;
}
.p-main_serviceSidebarList li a.-case01:hover {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarList li a.-case01.action {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarList li a.-case02 {
  background-image: url("./../images/service/sidebar/img_service-case02.png"), url("./../images/service/sidebar/img_service-case02active.png");
  background-size: cover, 0 0;
}
.p-main_serviceSidebarList li a.-case02:hover {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarList li a.-case02.action {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarList li a.-case03 {
  background-image: url("./../images/service/sidebar/img_service-case03.png"), url("./../images/service/sidebar/img_service-case03active.png");
  background-size: cover, 0 0;
}
.p-main_serviceSidebarList li a.-case03:hover {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarList li a.-case03.action {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarList li a.-case04 {
  background-image: url("./../images/service/sidebar/img_service-case04.png"), url("./../images/service/sidebar/img_service-case04active.png");
  background-size: cover, 0 0;
}
.p-main_serviceSidebarList li a.-case04:hover {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarList li a.-case04.action {
  background-size: 0 0, cover;
}
.p-main_serviceSidebarName {
  font-size: 1.2rem;
}
.p-main_serviceSidebarNum {
  font-size: 3.6rem;
  margin-bottom: 1rem;
  margin-right: 0.6rem;
}
.p-main_serviceMainContentText {
  font-size: 1.4rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainContentText {
    font-size: 2.8rem;
  }
}
.p-main_serviceMainTopicList {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: center;
  margin-bottom: 4rem;
}
.p-main_serviceMainTopicList::before {
  content: "";
  display: block;
  width: calc(25% - 0.75rem);
  height: 0;
  order: 1;
}
.p-main_serviceMainTopicList::after {
  content: "";
  display: block;
  width: calc(25% - 0.75rem);
  height: 0;
}
.p-main_serviceMainTopicItem {
  width: calc(25% - 0.75rem);
  height: 8rem;
  border: 0.1rem solid #C8C8C8;
  margin-bottom: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainTopicItem {
    width: calc(50% - 1.5rem);
    font-size: 2.8rem;
    padding: 2rem 0;
    height: 10rem;
    margin-bottom: 3rem;
  }
}
.p-main_serviceMainContentPoint {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainContentPoint {
    display: flex;
    flex-direction: column;
  }
}
.p-main_serviceMainContentPointTextWrap {
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainContentPointTextWrap {
    padding: 0;
  }
}
.p-main_serviceMainContentPointTitle {
  font-size: 1.8rem;
  padding-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainContentPointTitle {
    font-size: 3.2rem;
    padding-bottom: 3rem;
  }
}
.p-main_serviceMainContentPointText {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainContentPointText {
    font-size: 2.8rem;
  }
}
.p-main_serviceMainContentPointImgWrap {
  height: 20rem;
}
@media screen and (max-width: 767px) {
  .p-main_serviceMainContentPointImgWrap {
    margin-bottom: 4rem;
  }
}
.p-main_serviceMainContentPointImg {
  width: 100%;
  height: 20rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-main_serviceMainIndex {
    height: 5rem;
  }
}
.p-main_faqWrap {
  margin: 0 auto;
  padding: 5rem 10rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-main_faqWrap {
    padding: 1rem 4% 6rem;
  }
}
.p-main-media_partition {
  border-top: 0.1rem solid #000000;
}
.p-main-media_introduction {
  gap: 0;
  margin: 8rem 0;
}
@media screen and (max-width: 767px) {
  .p-main-media_introduction {
    margin: 6rem 4%;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMedia:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-main-media_introductionMedia {
    padding: 0 5rem;
    border-left: 0.1rem solid #000;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMedia {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-bottom: 9.2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-main-media_introductionMedia.-first {
    border-left: none;
  }
}
.p-main-media_introductionMediaScreen {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaScreen {
    margin-bottom: 0;
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaScreen img.p-top-media_introductionMediaImg {
    width: auto;
  }
}
.p-main-media_introductionMediaScreenImg {
  height: 24rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0 0;
     object-position: 0 0;
  width: 100vw;
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaScreenImg {
    height: 45rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 0 0;
       object-position: 0 0;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaPicWrap {
    order: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin: 3.5rem 0;
  }
}
.p-main-media_introductionMediaPic {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaPic {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaPic img.p-top-media_introductionMediaImg {
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaImg {
    height: 8rem;
    width: auto;
  }
}
.p-main-media_introductionMediaText {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaText {
    font-size: 2.8rem;
    order: 4;
  }
}
.p-main-media_introductionMediaData {
  font-size: 1.4rem;
  color: #006699;
  border-left: 3px solid #006699;
  margin: 3rem 0;
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_introductionMediaData {
    font-size: 2.8rem;
    order: 5;
  }
}
.p-main-media_btn {
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  .p-main-media_btn {
    margin-top: 0;
    order: 3;
    position: relative;
  }
}
.p-main-media_btnLink {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_btnLinkCircleImg {
    width: 8rem;
    height: 8rem;
  }
}
.p-main-media_btnCircleImgWrap {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-main-media_btnCircleImgWrap::after {
    content: "";
    border: 1px solid #333;
    border-radius: 50%;
    display: block;
    background-color: #fff;
    width: 4rem;
    height: 4rem;
    margin-left: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease-out;
    z-index: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-main-media_btnCircleImgWrap:hover::after {
    background-color: #006699;
    border: none;
    transform: scale(1.2);
    z-index: 1;
  }
}
.p-main-media_btnCircleImg {
  width: 4rem;
  height: 4rem;
  margin-left: 1rem;
  position: relative;
  display: block;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-main-media_btnCircleImg {
    width: 8rem;
    height: 8rem;
  }
}
.p-main-media_btnCircleImg:hover {
  filter: brightness(0) invert(1);
}
.p-main-media_mediaName {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-main-media_mediaName {
    grid-template-rows: 1fr;
    grid-template-columns: 2fr 8fr;
    border-top: 0.1rem solid #333;
    padding: 6rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaName {
    padding-top: 8rem;
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) {
  .p-main-media_mediaNameImg {
    height: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaNameImg {
    height: 10.4rem;
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-main-media_mediaNameImg.-lg {
    height: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaNameImg.-lg {
    height: 8.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaNameImg.-sm {
    height: 10rem;
  }
}
.p-main-media_mediaContents {
  display: grid;
  grid-template-rows: 2fr;
  grid-template-columns: 1fr 1.6fr;
  margin: 2rem 0;
}
@media screen and (max-width: 1099px) {
  .p-main-media_mediaContents {
    grid-template-rows: 2fr;
    grid-template-columns: 1fr 1.6fr;
    margin-bottom: 2rem;
    margin-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContents {
    grid-template-columns: 1fr 1fr;
    margin: 0 0 2rem;
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContents:first-child {
    margin: 2rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContents:last-child {
    padding: 0 0 8rem;
    border-bottom: 2px solid #CCCCCC;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContentsImg {
    width: auto;
    height: 20rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.p-main-media_mediaContentsText {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-main-media_mediaContentsText {
    grid-template-rows: 4rem 4rem 1fr;
    grid-template-columns: 6fr 1fr;
    margin-left: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContentsText {
    grid-template-columns: 1fr;
  }
}
.p-main-media_mediaContentsDate {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContentsDate {
    font-size: 2.8rem;
  }
}
.p-main-media_mediaContentsDateTag {
  background-color: #006699;
}
@media screen and (min-width: 768px) {
  .p-main-media_mediaContentsDateTag {
    font-size: 1.2rem;
    margin: 0 1.8rem;
    padding: 0.5rem 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContentsDateTag {
    font-size: 2.4rem;
    padding: 0.5rem 1.5rem;
  }
}
.p-main-media_mediaContentsTitle {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContentsTitle {
    font-size: 3.2rem;
  }
}
.p-main-media_mediaContentsDesc {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-main-media_mediaContentsDesc {
    display: none;
  }
}
.p-main-media_listBtn {
  grid-column: 2/3;
  grid-row: 1/4;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-main-media_listBtn {
    display: none;
  }
}
.p-main-media_listBtnLink {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
}
.p-main-media_listBtnWindow {
  background-color: #FFFFFF;
  border: 0.1rem solid #006699;
  color: #006699;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  border-radius: 100vh;
  transition: 1s;
}
.p-main-media_listBtnWindow:hover {
  background-color: #006699;
  color: #FFFFFF;
  transform: scale(1.1);
}
.p-main_faq_accordion-list {
  border-top: 0.1rem solid #C8C8C8;
}
.p-main_faq_accordion-list:last-child {
  border-bottom: 0.1rem solid #C8C8C8;
}
.p-main_faq_accordion-title {
  background: #FFFFFF;
  cursor: pointer;
  font-size: 16px;
  padding: 2rem 7rem 2rem 4rem;
  position: relative;
  border-top: 0.1rem solid #C8C8C8;
  margin-top: -0.3rem;
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-title {
    padding: 5rem 10rem 5rem 0;
  }
}
.p-main_faq_accordion-title:before {
  position: absolute;
  content: "";
  top: 50%;
  right: 2.5rem;
  height: 0.2rem;
  width: 2rem;
  background: #000000;
  transform: rotate(90deg);
  transition: all 0.3s ease-in-out;
  z-index: var(--layer-stack-2);
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-title:before {
    height: 0.3rem;
    width: 3rem;
  }
}
.p-main_faq_accordion-title:after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 2.5rem;
  height: 0.2rem;
  width: 2rem;
  background: #000000;
  transition: all 0.3s ease-in-out;
  z-index: var(--layer-stack-2);
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-title:after {
    height: 0.3rem;
    width: 3rem;
  }
}
.p-main_faq_accordion-titleCircle {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  right: 1.5rem;
  height: 4rem;
  width: 4rem;
  background: #FFFFFF;
  border: 0.1rem solid #000000;
  border-radius: 100vh;
  display: inline-block;
  z-index: var(--layer-stack-1);
}
@media screen and (max-width: 1099px) {
  .p-main_faq_accordion-titleCircle {
    top: 50%;
    right: 1.7%;
    height: 4rem;
    width: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleCircle {
    top: 50%;
    right: 1.4%;
    height: 6rem;
    width: 6rem;
  }
}
.p-main_faq_accordion-title.open:before {
  transform: rotate(180deg);
}
.p-main_faq_accordion-title.open:after {
  opacity: 0;
}
.p-main_faq_accordion-text {
  background-color: #CCE0EB;
  display: none;
  padding: 2rem 7rem 2rem 4rem;
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-text {
    padding: 5rem 10rem 5rem 0;
  }
}
.p-main_faq_accordion-titleInner {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleInner {
    font-size: 3rem;
    padding: 0 3rem 0 2rem;
    display: -webkit-box;
  }
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleInner.-one {
    display: -webkit-box;
  }
}
@media screen and (max-width: 1099px) {
  .p-main_faq_accordion-titleInner.-one:before {
    top: 18px;
  }
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleInner.-one:before {
    top: 21px;
    right: 13px;
  }
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleInner.-three {
    display: -webkit-box;
  }
}
@media screen and (min-width: 1100px) {
  .p-main_faq_accordion-titleInner.-three:before {
    top: 37%;
  }
}
@media screen and (max-width: 1099px) {
  .p-main_faq_accordion-titleInner.-three:before {
    top: 36px;
  }
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleInner.-three:before {
    top: 39px;
    right: 13px;
  }
}
.p-main_faq_accordion-titleInner:hover:before {
  transform: scale(1.05);
}
.p-main_faq_accordion-titleQ {
  background-image: url(./../images/common/img_titleq.png);
  background-repeat: no-repeat;
  background-size: 32px auto;
  background-position: left center;
  padding-left: 6rem;
  min-height: 4.8rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleQ {
    background-size: 25px auto;
    background-position: left top;
    min-height: 6rem;
  }
}
.p-main_faq_accordion-titleA {
  background-image: url(./../images/common/img_titlea.png);
  background-repeat: no-repeat;
  background-size: 32px auto;
  background-position: left center;
  padding-left: 6rem;
  min-height: 4.8rem;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-titleA {
    background-size: 25px auto;
    background-position: left top;
    min-height: 6rem;
  }
}
.p-main_faq_accordion-answerInner {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-answerInner {
    font-size: 3rem;
    display: inline-block;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-answerInner.-one:before {
    top: 21px;
    right: 13px;
  }
}
@media screen and (max-width: 767px) {
  .p-main_faq_accordion-answerInner.-three:before {
    top: 39px;
    right: 13px;
  }
}

/*
  Project - About
------------------------------------------------- */
.p-about_headingv2Text {
  font-size: 2rem;
  margin: 0 auto 3.5rem;
  max-width: 740px;
}
@media screen and (max-width: 767px) {
  .p-about_headingv2Text {
    font-size: 3.4rem;
    max-width: 100%;
    padding: 0 4%;
  }
}
.p-about_messageTextWrap {
  max-width: 740px;
  margin: 0 auto 10rem;
}
@media screen and (max-width: 767px) {
  .p-about_messageTextWrap {
    max-width: 100%;
    padding: 0 4%;
    margin-bottom: 7.5rem;
  }
}
.p-about_messageText {
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-about_messageText {
    font-size: 2.8rem;
  }
}
.p-about_messageNameWrap {
  font-size: 1.4rem;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .p-about_messageNameWrap {
    font-size: 2.8rem;
  }
}
.p-about_messageName {
  font-size: 2rem;
  margin-left: 2rem;
}
@media screen and (max-width: 767px) {
  .p-about_messageName {
    font-size: 3.4rem;
  }
}
.p-about .c-list_def {
  padding: 0;
  border: none;
}
.p-about .c-list_def > .list {
  padding: 0;
  border: none;
  gap: 0;
}
@media screen and (max-width: 767px) {
  .p-about .c-list_def > .list {
    display: flex;
  }
}
.p-about .c-list_def_term {
  flex-basis: 25%;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-about * + .c-list_def_content {
    margin-top: 0;
  }
}
.p-about_companyWrap {
  max-width: 740px;
  margin: 0 auto 10rem;
}
@media screen and (max-width: 767px) {
  .p-about_companyWrap {
    max-width: 100%;
    padding: 0 4%;
    margin-bottom: 7.5rem;
  }
}
.p-about_companyTerm {
  border-top: 0.1rem solid #333;
  font-size: 2rem;
  padding: 3.5rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-about_companyTerm {
    font-size: 3rem;
    white-space: nowrap;
  }
}
.p-about_companyTerm.-last {
  border-bottom: 0.1rem solid #333;
}
.p-about_companyContent {
  font-size: 2rem;
  border-top: 0.1rem solid #CCCCCC;
}
@media screen and (min-width: 768px) {
  .p-about_companyContent {
    padding: 3.5rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-about_companyContent {
    width: 100%;
    font-size: 3rem;
    padding: 3.5rem 2rem;
    white-space: nowrap;
  }
}
.p-about_companyContent.-last {
  border-bottom: 0.1rem solid #CCCCCC;
}
.p-about_googlemap {
  max-width: 740px;
  margin: 0 auto 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-about_googlemap {
    margin-bottom: 7.5rem;
  }
}
.p-about_accessInfo {
  max-width: 740px;
  margin: 0 auto 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-about_accessInfo {
    max-width: 100%;
    padding: 0 4%;
  }
}
.p-about_accessTitle {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-about_accessTitle {
    font-size: 2.8rem;
  }
}
.p-about_accessDetail {
  list-style: disc;
  font-size: 1.4rem;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .p-about_accessDetail {
    font-size: 2.8rem;
  }
}

/*
  Project - PC
------------------------------------------------- */
.p-pc {
  font-size: 1.4rem;
  line-height: 2;
  max-width: 740px;
  margin: 0 auto 10rem;
}
@media screen and (max-width: 767px) {
  .p-pc {
    font-size: 2.8rem;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-pc_content {
    max-width: 100%;
    padding: 0 4%;
  }
}
.p-pc_headingv2Text {
  font-size: 2rem;
  margin: 0 auto 3.5rem;
  max-width: 740px;
}
@media screen and (max-width: 767px) {
  .p-pc_headingv2Text {
    font-size: 3.4rem;
    max-width: 100%;
    padding: 0 4%;
  }
}
.p-pc_paragraph {
  font-family: serif;
}
.p-pc_paragraph.-last {
  margin-bottom: 4rem;
}
.p-pc_ol {
  list-style-type: decimal;
  padding-left: 2rem;
  margin: 1rem 0;
}
.p-pc_ol_li {
  margin: 0 0 1rem;
}
.p-pc_ol.-last {
  margin-bottom: 4rem;
}
.p-pc_ol02 {
  list-style-type: lower-roman;
  padding-left: 2rem;
  margin: 1rem 0;
}
.p-pc_ol02_li {
  margin: 0 0 1rem;
}
.p-pc_dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 3rem;
}
.p-pc_dl_dt {
  width: 12%;
  margin-bottom: 1rem;
}
.p-pc_dl_dd {
  width: 88%;
  margin-bottom: 1rem;
}
.p-pc_dl02 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.p-pc_dl02_dt {
  width: 30%;
  margin-bottom: 1rem;
}
.p-pc_dl02_dd {
  width: 70%;
  margin-bottom: 1rem;
}
.p-pc_table {
  width: 100%;
  margin-bottom: 3rem;
}
.p-pc_table_th {
  border: 0.1rem solid #ccc;
  padding: 2rem;
  font-weight: bold;
  background-color: #EEEEEE;
}
.p-pc_table_td {
  border: 0.1rem solid #ccc;
  padding: 2rem;
}
.p-pc_table_thSize {
  width: 25%;
}
.p-pc_table_tdSize {
  width: 75%;
}
.p-pc_table02 {
  width: 100%;
  margin-bottom: 3rem;
}
.p-pc_table02_th {
  border: 0.1rem solid #ccc;
  padding: 2rem;
  font-weight: bold;
  background-color: #EEEEEE;
}
.p-pc_table02_td {
  border: 0.1rem solid #ccc;
  padding: 2rem;
}
.p-pc_table02_thSize1 {
  width: 25%;
}
.p-pc_table02_thSize2 {
  width: 60%;
}
.p-pc_table02_thSize3 {
  width: 15%;
}

/*
  Project - Inquiry
------------------------------------------------- */
.p-inquiry {
  /*テキストボックス・テキストエリア
  ------------------------------------*/
  /*placeholderスタイルの調整
  ----------------------------------*/
  /* Placeholder Google Chrome, Safari, Opera 15+, Android, iOS */
  /* Placeholder Firefox 18- */
  /* Placeholder Firefox 19+ */
  /* Placeholder IE 10+ */
  /*セレクトボックス
  ------------------------------------*/
  /*入力フィールド
  ---------------------------------*/
  /*横並びレイアウト
  ---------------------------------*/
  /*必須・任意ラベル
  ---------------------------------*/
  /*同意エリア
  ---------------------------------*/
  /*送信ボタンエリア
  ---------------------------------*/
}
.p-inquiry_pageName {
  font-size: 2rem;
  margin-bottom: 1.5rem;
}
.p-inquiry_flowWrap {
  padding-top: 10rem;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 1099px) {
  .p-inquiry_flowWrap {
    max-width: 100%;
    padding: 8rem 4% 0;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_flowWrap {
    max-width: 100%;
    padding: 16rem 4% 0;
  }
}
.p-inquiry_warning {
  color: #FF0000;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_warning {
    font-size: 2.6rem;
  }
}
.p-inquiry_formWrap {
  margin: 7rem auto 10rem;
  max-width: 750px;
}
@media screen and (max-width: 1099px) {
  .p-inquiry_formWrap {
    max-width: 100%;
    padding: 0 4%;
  }
}
.p-inquiry_circleNumber {
  background-color: #FFFFFF;
  border-radius: 50%;
  border: 0.1rem solid #FFFFFF;
  color: #cccccc;
  display: inline-block;
  font-size: 1.4rem;
  width: 2rem;
  height: 2rem;
  line-height: 1.8rem;
  text-align: center;
  box-sizing: border-box;
  margin-right: 0.5rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_circleNumber {
    font-size: 2.8rem;
    line-height: 2.8rem;
    width: 3.5rem;
    height: 3.5rem;
  }
}
.p-inquiry_circleNumber.current {
  color: #006699;
}
.p-inquiry_formHeading {
  font-size: 2rem;
  border-bottom: 0.1rem solid #231815;
  margin: 3.5rem 0;
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_formHeading {
    font-size: 3.2rem;
  }
}
.p-inquiry_formHeadingDesc {
  font-size: 1.2rem;
}
.p-inquiry_thanksWrap {
  border-bottom: solid 0.1rem #333;
  padding-bottom: 7.2rem;
}
.p-inquiry_thanksMsg {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_thanksMsg {
    font-size: 3rem;
  }
}
.p-inquiry_thanksContact {
  display: flex;
  align-items: center;
}
.p-inquiry_thanksTel {
  font-size: 3.4rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_thanksTel {
    font-size: 6.6rem;
  }
}
.p-inquiry_thanksTelIcon {
  font-size: 2.4rem;
  margin-right: 1.2rem;
  margin-top: 0.5rem;
}
.p-inquiry_formConfirm {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_formConfirm {
    font-size: 3rem;
  }
}
.p-inquiry_flow {
  width: 100%;
  display: flex;
  justify-content: space-between;
  overflow-y: hidden;
}
.p-inquiry_flow li {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  font-size: 1.4rem;
  width: calc(33.3333333333% - 5px);
  background: #cccccc;
  text-align: center;
  position: relative;
  height: 4rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_flow li {
    font-size: 2.8rem;
    height: 7rem;
  }
}
.p-inquiry_flow li::before {
  content: "";
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  width: 1rem;
  height: 4rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_flow li::before {
    height: 7rem;
  }
}
.p-inquiry_flow li::after {
  content: "";
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  width: 2rem;
  height: 4rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry_flow li::after {
    height: 7rem;
  }
}
.p-inquiry_flow li::before {
  border: solid 2rem transparent;
  border-left: solid 1rem #FFF;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1099px) {
  .p-inquiry_flow li::before {
    left: -0.15rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_flow li::before {
    border: solid 3.5rem transparent;
    border-left: solid 2rem #FFF;
  }
}
.p-inquiry_flow li::after {
  border: solid 2rem transparent;
  border-left: solid 1rem #ccc;
  top: 0;
  right: -3rem;
  z-index: 2;
}
@media screen and (max-width: 1099px) {
  .p-inquiry_flow li::after {
    right: -2.9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_flow li::after {
    border: solid 3.5rem transparent;
    border-left: solid 2rem #ccc;
    right: -5.4rem;
  }
}
.p-inquiry_flow li:first-child::before {
  content: none;
}
.p-inquiry_flow li:last-child::after {
  content: none;
}
.p-inquiry_flow li.current {
  color: #FFF;
  background: #006699;
}
.p-inquiry_flow li.current::after {
  border-left: solid 1rem #006699;
}
@media screen and (max-width: 767px) {
  .p-inquiry_flow li.current::after {
    border-left: solid 2rem #006699;
  }
}
.p-inquiry_form-group {
  margin-bottom: 3.5rem;
}
.p-inquiry input:valid {
  background: transparent;
}
.p-inquiry input[type=text],
.p-inquiry input[type=search],
.p-inquiry input[type=email],
.p-inquiry input[type=url],
.p-inquiry input[type=tel],
.p-inquiry input[type=number],
.p-inquiry textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  padding: 10px 20px 8px 20px;
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
.p-inquiry input[type=password] {
  width: 100%;
  padding: 10px 20px 8px 20px;
  border-radius: 4px;
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
.p-inquiry ::-webkit-input-placeholder {
  color: #ccc !important;
  font-style: normal;
}
.p-inquiry :-moz-placeholder {
  opacity: 1;
  color: #ccc !important;
  font-style: normal;
}
.p-inquiry ::-moz-placeholder {
  opacity: 1;
  color: #ccc !important;
  font-style: normal;
}
.p-inquiry :-ms-input-placeholder {
  color: #ccc !important;
  font-style: normal;
}
.p-inquiry input[type=checkbox] + div {
  display: inline-block;
  position: relative;
  margin: 0 2em 0 0;
  padding: 0.3em 0.3em 0.3em 2em;
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
}
.p-inquiry input[type=checkbox] + div::before {
  position: absolute;
  top: 0.3em;
  right: -2rem;
  content: "";
  width: 1.25em;
  height: 1.25em;
  border: 1px solid #999;
  background: #fff;
  line-height: 1;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-inquiry input[type=checkbox] + div::before {
    right: -4rem;
  }
}
.p-inquiry input[type=checkbox]:checked + div::after {
  display: block;
  position: absolute;
  top: 0.3em;
  right: -1.5rem;
  width: 0.5em;
  height: 1em;
  content: "";
  border-bottom: 3px solid #006699;
  border-right: 3px solid #006699;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-inquiry input[type=checkbox]:checked + div::after {
    right: -3rem;
  }
}
.p-inquiry select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: block;
  width: 100%;
  padding: 10px 30px 8px 10px;
  border: 1px solid #ccc;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-inquiry select {
    font-size: 3.2rem;
  }
}
.p-inquiry_selectWrap {
  position: relative;
  display: block;
}
.p-inquiry_selectWrap::after {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
  transform: rotate(45deg);
  pointer-events: none;
}
.p-inquiry_form fieldset {
  display: contents;
}
.p-inquiry_form legend {
  display: contents;
}
.p-inquiry_formItem {
  padding: 20px 0;
  align-items: flex-start;
  flex-direction: column;
}
.p-inquiry_formTtl {
  display: inline-block;
  font-size: 1.4rem;
  margin-bottom: 5px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-inquiry_formTtl {
    font-size: 2.8rem;
    width: 100%;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-inquiry_formBody {
    width: 100%;
  }
}
.p-inquiry_inputField.-half {
  width: 50%;
}
.p-inquiry_inlineBlock {
  display: flex;
  align-items: center;
}
.p-inquiry_inlineBlock label {
  padding: 0 0.5em;
}
.p-inquiry_label-required {
  background: #c00;
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.3em 0.5em;
  border-radius: 4px;
  color: #fff;
  font-size: 0.7em;
  font-weight: normal;
  line-height: 1;
}
.p-inquiry_label-optional {
  display: inline-block;
  margin-left: 0.5em;
  padding: 0.3em 0.5em;
  border-radius: 4px;
  color: #fff;
  font-size: 0.7em;
  font-weight: normal;
  line-height: 1;
  background: #cccccc;
}
.p-inquiry_acceptArea {
  margin-top: 30px;
  padding: 30px;
}
.p-inquiry_acceptArea_txt {
  font-size: 1.4rem;
  margin-bottom: 10px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-inquiry_acceptArea_txt {
    font-size: 2.8rem;
  }
}
.p-inquiry_acceptAreaLink {
  color: #006699;
}
.p-inquiry_acceptArea_check {
  display: block;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-inquiry_acceptArea_check {
    font-size: 2.8rem;
  }
}
.p-inquiry_btnArea {
  margin: 6rem 0;
  text-align: center;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.p-inquiry_returnBtn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 90%;
  max-width: 300px;
  margin: 0;
  padding: 15px;
  border: 0;
  background: #FFF;
  border: 1px solid #006699;
  color: #006699;
  cursor: pointer;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-inquiry_returnBtn::after {
  content: "";
  background-image: url(./../images/common/img_link-arrow-blue.png);
  background-size: contain;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  position: relative;
  top: 0;
  left: 4rem;
}
.p-inquiry_submitBtn {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 90%;
  max-width: 300px;
  margin: 0;
  padding: 15px;
  border: 0;
  background: #006699;
  color: #fff;
  cursor: pointer;
  transition: opacity 0.3s;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-inquiry_submitBtn::after {
  content: "";
  background-image: url(./../images/common/img_link-arrow-white.png);
  background-size: contain;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  position: relative;
  top: 0;
  left: 4rem;
}

/*
  Utility - Display
------------------------------------------------- */
@media screen and (max-width: 767px) {
  .u-pcOnly {
    display: none;
  }
}

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

/*
  Utility - Font-Size
------------------------------------------------- */
.u-large {
  font-size: 1.2em;
}

.u-small {
  font-size: 0.8em;
}

.u-bold {
  font-weight: 700;
}

/*
  Utility - text-align
------------------------------------------------- */
.u-left {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .u-left-pc {
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .u-left-sp {
    text-align: left;
  }
}

.u-center {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .u-center-pc {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .u-center-sp {
    text-align: center;
  }
}

.u-right {
  text-align: right;
}
@media screen and (min-width: 768px) {
  .u-right-pc {
    text-align: right;
  }
}
@media screen and (max-width: 767px) {
  .u-right-sp {
    text-align: right;
  }
}

/*
  Utility - SR-Only
------------------------------------------------- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  border: 0;
}

/*
  AesopLPバナー
------------------------------------------------- */
/* バナーのコンテナ全体 */
.floating-banner {
    position: fixed; /* 画面に固定表示 */
    bottom: 135px; /* 下から135pxの位置 */
    right: 20px; /* 右から20pxの位置 */
    z-index: 100; /* 他の要素より手前に表示 */
    width: 200px; /* バナーの幅 */
    height: 200px; /* バナーの高さ */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 影を付けて立体感を出す */
    overflow: hidden; /* コンテナからはみ出る画像を隠す */
    transition: opacity 0.3s ease-in-out; /* 非表示への切り替えを滑らかにする */
}

@media screen and (max-width: 767px) {
  .floating-banner {
    width: 120px; /* バナーの幅 */
    height: 120px; /* バナーの高さ */
    bottom: 20px; /* 下から20pxの位置 */
  }
}

/* バナー内の画像 */
.floating-banner img {
    width: 100%; /* 親要素の幅に合わせて画像を表示 */
    height: 100%; /* 親要素の高さに合わせて画像を表示 */
    object-fit: cover; /* 画像がコンテナに収まるように調整 */
}

/* 閉じるボタンのスタイル */
.close-button {
    position: absolute; /* 親要素を基準に配置 */
    top: 5px; /* 上から5px */
    right: 5px; /* 右から5px */
    background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒色 */
    color: white; /* 文字色 */
    border: none;
    border-radius: 50%; /* ボタンを円形にする */
    width: 24px;
    height: 24px;
    font-size: 14px;
    cursor: pointer;
    display: flex; /* 中央揃えのため */
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.close-button:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

/*
  Case Study
------------------------------------------------- */
.lineup-carousel .slick-list .slick-track {
  display: flex;
}
