@charset "utf-8";
/* CSS Document */

/* =============================================================================
 Reset
============================================================================= */

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, 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, ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
ins {
  text-decoration: none
}
ins, mark {
  background-color: #ff9;
  color: #000
}
mark {
  font-style: italic;
  font-weight: 700
}
del {
  text-decoration: line-through
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0
}
input, select {
  vertical-align: middle
}
*, :after, :before {
  box-sizing: border-box
}
button, input[type=button] {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer
}
/* =============================================================================
 variable
============================================================================= */
:root {
 --color-base: #EFEFEF;
 --color-black: #111;
 --color-black333: #333;
 --color-gray: #858585;
 --color-white: #fff;
 --color-orange: #EE7500;
 --color-blue: #2796D4;
 --gradient-01: linear-gradient(to right, var(--base-black) 0%, rgba(0, 0, 0) 100%);
 --content-width: 1220px;
 --transition-op: opacity ease .2s, visibility ease .2s;
 --transition-trf: transform ease .2s;
 --transition-all: all ease .2s;
 --icon-arrow: url(https://otomo-inc.com/assets/images/common/ico_arrow.svg) no-repeat 0 0 / contain;
 --font-english: 'Heebo', sans-serif;
 --font-bold: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", sans-serif;
}
/* =============================================================================
 Fonts
============================================================================= */

html {
  font-size: 62.5%;
}
body {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.3rem;
}
.en {
  font-family: var(--font-english) !important;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 1024px) {
body {
  font-size: 1.2rem;
}
}
/* =============================================================================
 Elements
============================================================================= */

/* color setting */
body {
}
/* link setting */
a {
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1024px) {
a:hover {
  text-decoration: none;
}
}

@media screen and (min-width: 1025px) {
a.on {
  opacity: 1;
  transition: var(--transition-op);
}
a.on:hover {
  opacity: .5;
  transition: var(--transition-op);
  text-decoration: none;
}
}
/* image setting */
img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: top;
}

@media screen and (max-width: 1024px) {
img {
  width: 100%;
}
}
/* box */
*, *:before, *:after {
  box-sizing: border-box;
}
/* cursor */
button {
  cursor: pointer;
}
/* select */
.selectbox {
  position: relative;
}
.selectbox select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  padding: 20px 24px;
  border: #EAEAEA 1px solid;
  border-radius: 8px;
  color: var(--color-black);
  cursor: pointer;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  background-color: #fff;
}
.selectbox select:focus {
  outline: 1px #111 solid;
}
.selectbox {
  position: relative;
}
.selectbox .selectArrow {
  width: 9px;
  height: 9px;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  transform: rotate(135deg);
  position: absolute;
  top: 36%;
  right: 32px;
  pointer-events: none;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.selectbox select option {
  background-color: #fff;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* =============================================================================
 Responsive Class
============================================================================= */

@media screen and (min-width: 1025px) {
.only-sp {
  display: none;
}
}

@media screen and (max-width: 1024px) {
.only-pc {
  display: none;
}
}
/* =============================================================================
 Base Layout
============================================================================= */

body {
}
#container {
  overflow: hidden;
}
#mainArea {
  padding-top: 174px;
  background-color: var(--color-base);
}

@media screen and (max-width: 1024px) {
#mainArea {
  padding-top: 80px;
}
}
/* =============================================================================
 Parts
============================================================================= */
.icon_arrowBlack {
  border:#EAEAEA 1px solid;
  width: 24px;
  height: 24px;
  margin-left: 0.4em;
  display: inline-block;
  background-color: var(--color-white);
  border-radius: 100px;
  position: relative;
  transition: var(--transition-all);
}
.icon_arrowBlack:before {
  content: "";
  width: 25%;
  height: 25%;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  transform: rotate(45deg);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 33%;
}

@media screen and (min-width: 1025px) {
a:hover .icon_arrowBlack {
  background-color: var(--color-orange);
  transition: var(--transition-all);
}
}

@media screen and (max-width: 1024px) {
.icon_arrowBlack {
  width: 16px;
  height: 16px;
}
}
.underPage .formSubmit {
  position: relative;
  max-width: 460px;
  margin: 0 auto;
}
.underPage .formSubmit input {
  border: none;
}
.btn-link,
.formSubmit input {
  width: 100%;
  max-width: 460px;
  padding: 28px 0;
  background-color: var(--color-black333);
  color: var(--color-white) !important;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  letter-spacing: 0.04em;
  text-align: center;
  position: relative;
  display: inline-block;
  border-radius: 10px;
  text-decoration: none;
  opacity: 1;
  transition: var(--transition-all);
}
.formSubmit input {
  height: 85px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.btn-link:after {
  content: "";
  width: 0.7em;
  height: 0.7em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 50px;
  transition: var(--transition-all);
}
.underPage .formSubmit .wpcf7-spinner {
  content: "";
  width: 0.7em;
  height: 0.7em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 50px;
  transition: var(--transition-all);
  display: block;
  visibility: visible;
  opacity: 1;
  border-radius: 0;
  background-color: inherit;
  font-size: 18px;
}
.underPage .formSubmit .wpcf7-spinner:before {
  content: none;
}
.btn-link.btn-link-white {
  background-color: var(--color-white);
  color: var(--color-black) !important;
}
.btn-link.btn-link-white:after {
  border-top: 1px solid #111;
  border-right: 1px solid #111;
}
@media screen and (min-width: 1025px) {
.btn-link:hover, .btn-link.btn-link-white:hover, .formSubmit:hover input {
  text-decoration: none;
  transition: var(--transition-all);
  background-color: var(--color-orange);
  color: var(--color-white) !important;
}
.btn-link:hover:after, .underPage .formSubmit:hover .wpcf7-spinner {
  right: 45px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transition: var(--transition-all);
}
}

@media screen and (max-width: 1024px) {
.btn-link:after, .formSubmit .wpcf7-spinner {
  right: 24px;
}
}
.acc-btn.btn-plus:before, .acc-btn.btn-plus:after {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--color-black);
}
.acc-btn.btn-plus:before {
  top: 50%;
  right: 1.2em;
  width: 1em;
  height: 1px;
}
.acc-btn.btn-plus:after {
  top: calc(50% - 0.5em);
  right: 1.7em;
  width: 1px;
  height: 1em;
}
.acc-btn.btn-plus.opened:after {
  display: none;
}
.acc-body {
  display: none;
}
.secLeadArea {
  margin-bottom: 26px;
}
.secLeadArea .en {
  display: block;
  font-size: 24px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  color: var(--color-black);
}
.secLeadArea .en.large {
  font-size: 36px;
  text-align: center;
}
.secLeadArea .jp {
  margin-top: 10px;
  display: block;
  font-size: 40px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  color: var(--color-black);
}

@media screen and (max-width: 1024px) {
.secLeadArea {
  margin-bottom: 30px;
}
.secLeadArea .en {
  font-size: 24px;
}
.secLeadArea .en.large {
  font-size: 24px;
  text-align: center;
}
.secLeadArea .jp {
  font-size: 32px;
  letter-spacing: 0.04em;
}
}
.icon_arrowWhite {
  width: 40px;
  height: 40px;
  transform: scale(1);
  background-color: var(--color-white);
  border: #EAEAEA 1px solid;
  border-radius: 100px;
  position: relative;
  display: inline-block;
  text-decoration: none;
  opacity: 1;
  transition: var(--transition-all);
}
.icon_arrowWhite.small {
  width: 20px;
  height: 20px;
}
.icon_arrowWhite:after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  transform: rotate(45deg);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 46%;
  transition: var(--transition-all);
}
.icon_arrowWhite.small:after {
  width: 4px;
  height: 4px;
}
.icon_arrowWhite.flip:after {
  content: "";
  border-top: none;
  border-right: none;
  border-bottom: 1px solid #111;
  border-left: 1px solid #111;
  right: 34%;
}

@media screen and (min-width: 1025px) {
a:hover .icon_arrowWhite, .icon_arrowWhite:hover {
  transform: scale(1.2);
  background-color: var(--color-orange);
  transition: var(--transition-all);
}
a:hover .icon_arrowWhite:after, .icon_arrowWhite:hover:after {
  border-color: var(--color-white);
  transition: var(--transition-all);
}
}
ul.secLinks {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
}
.secInner .link {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.secInner .link.center {
  justify-content: center;
}
ul.secLinks li a, .secInner .link a {
  font-size: 15px;
  font-family: var(--font-bold);
  font-weight: bold;
  text-decoration: none;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 1.2em;
  color: var(--color-black);
  transition: var(--transition-all);
  line-height: 1.64;
}

@media screen and (min-width: 1025px) {
ul.secLinks li a:hover, .secInner .link a:hover {
  text-decoration: none;
  color: var(--color-gray);
  transition: var(--transition-all);
}
}

@media screen and (max-width: 1024px) {
ul.secLinks {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 24px 0;
}
ul.secLinks li a, .secInner .link a {
  font-size: 16px;
  text-align: right;
}
}
.label {
  padding: 10px 15px 10px;
  display: inline-block;
  background-color: #FAFAFA;
  border: #EAEAEA 1px solid;
  border-radius: 100px;
  font-size: 12px;
  font-family: var(--font-bold);
  font-weight: bold;
  color: #666;
  position: relative;
  white-space: nowrap;
}
ul.labelList {
  display: flex;
  gap: 10px;
  align-items: center;
}
ul.labelList li .date {
  margin-right: 2em;
  font-size: 16px;
}
.label.label-tour {
  padding-left: calc(21px + 1.6em);
}
.label.label-guide {
  padding-left: calc(20px + 2em);
}
.label.label-consulting {
  padding-left: calc(20px + 1.2em);
}
.label.label-tour:before {
  content: "";
  width: 21px;
  height: 16px;
  display: block;
  background: url("../images/common/icon_tour.svg") no-repeat center;
  background-size: cover;
  position: absolute;
  left: 1em;
  bottom: 8px;
}
.label.label-guide:before {
  content: "";
  width: 26px;
  height: 15px;
  display: block;
  background: url("../images/common/icon_guide.svg") no-repeat center;
  background-size: cover;
  position: absolute;
  left: 1em;
  bottom: 7px;
}
.label.label-consulting:before {
  content: "";
  width: 12px;
  height: 20px;
  display: block;
  background: url("../images/common/icon_consulting.svg") no-repeat center;
  background-size: cover;
  position: absolute;
  left: 1.2em;
  bottom: 6px;
}

@media screen and (max-width: 1024px) {
.label {
  padding: 7px 10px 4px;
  font-size: 10px;
}
.label.label-tour {
  padding: 14px 10px 10px calc(21px + 1.6em);
}
.label.label-guide {
  padding: 14px 10px 10px calc(15px + 2.6em);
}
.label.label-consulting {
  padding: 14px 10px 10px calc(15px + 1.2em);
}
}
.bnrListArea {
  margin-top: 64px;
}
ul.bnrList {
  display: flex;
  justify-content: space-between;
  gap: 20px 0;
}
ul.bnrList li {
  width: 180px;
}
.iconAddBtm {
  display: flex;
  align-items: flex-end;
  gap: 0 0.5em;
}
.pagerArea {
  margin-top: 48px;
}
ul.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
ul.pager li {
  width: 56px;
  height: 56px;
  background-color: var(--color-base);
  font-size: 18px;
  font-weight: normal;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}
ul.pager li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  border-radius: 100px;
  background-color: var(--color-base);
  transition: var(--transition-all);
  color: var(--color-black);
}
ul.pager li.current a {
  background-color: var(--color-white);
  border: #EAEAEA 1px solid;
}

@media screen and (min-width: 1025px) {
ul.pager li a:hover {
  text-decoration: none;
  background-color: var(--color-white);
  transition: var(--transition-all);
}
}

@media screen and (max-width: 1024px) {
.pagerArea {
  margin-top: 60px;
}
ul.pager li {
  width: 40px;
  height: 40px;
  font-size: 16px;
}
}
.selectboxArea {
  margin-bottom: 48px;
}
.selectboxArea .selectboxAreaInner {
  display: flex;
  align-items: center;
  gap: 24px 22px;
}
.selectboxArea .selectboxAreaInner .selectbox {
  width: 336px;
  display: block;
}
.selectboxArea .selectboxAreaInner .selectbox.small {
  width: 148px;
}

@media screen and (max-width: 1024px) {
.selectboxArea {
  display: block;
}
.selectboxArea .selectboxAreaInner {
  display: block;
}
.selectboxArea .selectboxAreaInner .selectbox {
  margin-bottom: 32px;
  width: 100%;
}
.selectboxArea .selectboxAreaInner .selectbox.small {
  width: 100%;
}
.selectboxArea .selectboxAreaInner .selectbox:last-of-type {
  margin-bottom: 0;
}
}

/* =============================================================================
 common header
============================================================================= */

@media screen and (min-width: 1025px) {
#header {
  width: 100%;
  padding: 56px 64px 40px;
  position: fixed;
  top: 0;
  z-index: 51;
  opacity: 1;
  visibility: visible;
  transition: var(--transition-all);
}
#header.erase {
  padding: 25px 64px;
  background-color: rgba(255,255,255,1);
  transition: var(--transition-all);
  box-shadow:0px 10px 15px 5px rgb(176 176 176 / 10%);
}
.toppage #header {
  position: absolute;
  background-color: rgba(255,255,255,0);
}
.toppage #header.erase {
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-op);
}
.toppage #header.erase.fixed {
  position: fixed;
  background-color: rgba(255,255,255,1);
  opacity: 1;
  visibility: visible;
  transition: var(--transition-op);
}
#header .headerInner {
  width: 100%;
  max-width: 1790px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  box-sizing: border-box;
}
#header .headerInner .logo a {
  display: block;
  width: 210px;
  opacity: 1;
  transition: var(--transition-all);
}
#header.erase .headerInner .logo a {
  width: 120px;
  transition: var(--transition-all);
}
#header .headerInner .logo a:hover {
  opacity: .5;
  transition: var(--transition-all);
}
.header-nav > ul {
  height: 100%;
  display: flex;
  justify-content: flex-end;
  gap: 40px;
}
.header-nav > ul li.header-item {
  display: flex;
  align-items: center;
}
.header-nav .header-item > a.header-link {
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  opacity: 1;
  transition: var(--transition-all);
  color: var(--color-black);
}
.header-nav .header-item:hover > a.header-link {
  opacity: .5;
  transition: var(--transition-all);
  text-decoration: none;
}
.header-nav .header-item .header-sub-content {
  width: 100%;
  max-width: 1790px;
  margin: 0 auto;
  padding-top: 40px;
  position: absolute;
  top: 70px;
  left: 0;
  right: 0;
  z-index: 51;
}
#header.erase .header-nav .header-item .header-sub-content {
  padding-top: 60px;
  top: 50px;
}
.header-nav .header-item .header-sub-content .header-sub-content-inner {
  width: 100%;
  padding: 80px 56px;
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 0px 10px 15px 5px rgba(176, 176, 176, 0.1);
  border-radius: 10px;
  position: relative;
}
.header-nav .header-item .header-sub-content {
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-all);
  transform: translateX(0);
  pointer-events: none;
}
.header-nav .header-item:hover .header-sub-content {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transform: translateX(0);
  transition: var(--transition-all);
}
.header-nav .header-sub-content-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.header-nav .header-sub-content .header-sub-content-item {
  min-width: 280px;
}
.header-nav .header-sub-content .header-sub-content-title .en {
  margin-bottom: 24px;
  font-size: 48px;
  font-family: var(--font-bold);
  font-weight: bold;
  text-align: left;
  display: block;
}
.header-nav .header-sub-content .header-sub-content-title .jp {
  font-size: 20px;
  font-family: var(--font-bold);
  font-weight: bold;
  text-align: left;
  display: block;
}
.header-nav .header-sub-content ul.header-sub-content-list-link-image {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 30px;
}
.header-nav .header-sub-content ul.header-sub-content-list-link-image .header-sub-content-list-link-image-item {
  width: 200px;
}
.header-nav .header-sub-content ul.header-sub-content-list-link-image a {
  display: block;
  opacity: 1;
  transition: var(--transition-op);
  color: var(--color-black);
}
.header-nav .header-sub-content ul.header-sub-content-list-link-image a:hover {
  opacity: .5;
  text-decoration: none;
}
.header-nav .header-sub-content ul.header-sub-content-list-link-image .header-sub-content-list-link-image-title {
  margin-top: 1em;
  font-size: 14px;
  font-family: var(--font-bold);
  font-weight: bold;
  text-align: left;
  display: flex;
  align-items: center;
}
}

@media screen and (max-width: 1024px) {
#header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 10;
  visibility: visible;
  transition: var(--transition-all);
}
#header.erase {
  background-color: rgba(255,255,255,1);
}
.toppage #header {
  position: absolute;
}
.toppage #header.erase {
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-op);
}
.menu-active #header, .toppage #header.erase.fixed {
  position: fixed;
  opacity: 1 !important;
  visibility: visible !important;
  transition: var(--transition-op);
}
#header .headerInner {
  width: 100%;
  height: 80px;
 padding: 20px calc(20/375*100%);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  z-index: 11;
  transition: var(--transition-all);
  box-shadow:0px 10px 15px 5px rgb(176 176 176 / 10%);
}
.toppage #header .headerInner {
  background-color: rgba(239, 239, 239, 0);
}
#header .headerInner .logo a {
  display: block;
  width: 120px;
}
#header.fixed .headerInner {
  background-color: rgba(255, 255, 255, 1);
  transition: var(--transition-all);
}
.menu-active #header .headerInner, .menu-active #header.fixed .headerInner {
  background-color: rgba(239, 239, 239, 1);
  transition: var(--transition-all);
}
#header .headerInner .header-menu {
  position: relative;
  width: 32px;
  height: 20px;
  z-index: 5;
}
#header .headerInner .header-menu, #header .headerInner .header-menu span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
#header .headerInner .header-menu span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: rgba(17, 17, 17, 1);
  border-radius: 4px;
}
#header .headerInner .header-menu.hamburger span:nth-of-type(1) {
  top: 0;
}
#header .headerInner .header-menu.hamburger span:nth-of-type(2) {
  top: 9px;
}
#header .headerInner .header-menu.hamburger span:nth-of-type(3) {
  -webkit-transform: translate3d(0, 0, 0) rotate(0);
  transform: translate(0, 0) rotate(0);
  bottom: 0;
  width: 70%;
}
#header .headerInner .header-menu.hamburger.active span:nth-of-type(1) {
  -webkit-transform: translate3d(2px, 10px, 0) rotate(45deg);
  transform: translate(2px, 10px) rotate(45deg);
}
#header .headerInner .header-menu.hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
#header .headerInner .header-menu.hamburger.active span:nth-of-type(3) {
  -webkit-transform: translate3d(23px, -9px, 0) rotate(45deg);
  transform: translate(2px, -8px) rotate(-45deg);
  width: 100%;
}
.header-nav.ham-wrapper {
  height: calc(100vh - 80px);
  overflow-y: scroll;
  display: none;
  background-color: rgba(239, 239, 239, 1);
}
.header-nav.ham-wrapper > ul {
  padding-top: 34px;
}
.header-nav.ham-wrapper ul li.header-item {
  margin-top: 34px;
 padding: 0 calc(30/375*100%);
  color: var(--color-black);
}
.header-nav.ham-wrapper ul li.header-item:first-child {
  margin-top: 0;
}
.header-nav.ham-wrapper ul li.header-item a {
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  color: var(--color-black);
  display: block;
}
.header-nav.ham-wrapper ul li.header-item .header-item-btn {
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  position: relative;
}
.header-nav.ham-wrapper ul li.header-item ul.header-sub-content-list li {
  font-weight: normal;
}
.header-nav.ham-wrapper ul li.header-item ul.header-sub-content-list li a {
  margin-top: 22px;
  font-weight: normal;
  display: block;
}
.header-nav.ham-wrapper ul li.header-item:last-child {
  margin-top: 50px;
  padding-bottom: 50px;
}
}
/* =============================================================================
 common footer
============================================================================= */

#footer {
  background-color: var(--color-base);
}
#footer .footerInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
#footer a, #footer .footerMain dl dt, #footer .footerLink dl dt {
  margin-bottom: 1em;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  color: var(--color-black);
}
#footer .footerLink dl dd {
  margin-bottom: 0.4em;
  line-height: 1.46;
}
#footer .footerMain dl dd a, #footer .footerLink dl dd a {
  font-size: 14px;
  font-weight: normal;
}
#footer a, #footer .footerMain dl dd a, #footer .footerLink dl dd a {
  opacity: 1;
  transition: var(--transition-all);
}
#footer .footerMain p, #footer .footerMain p.tell a {
  margin-bottom: 0.2em;
  line-height: 1.64;
  font-size: 14px;
  font-weight: normal;
}
ul.snsList {
  margin-top: 36px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
}
ul.snsList li.insta {
  width: 32px;
}
ul.snsList li.facebook {
  width: 18px;
}
ul.snsList li.youtube {
  width: 34px;
}
.footerBnrArea {
  margin-top: 48px;
}
ul.footerBnrList {
  display: flex;
}
ul.footerBnrList li {
 width: calc(333/1080*100%);
}
#footer .addLinkArea ul.addLinkList li a {
  font-size: 14px;
  font-weight: normal;
}
p.copyright {
  font-size: 14px;
  font-family: var(--font-bold);
  font-weight: bold;
}

@media screen and (min-width: 1025px) {
#footer {
  padding: 0 64px;
}
#footer .footerInner {
  width: 100%;
  padding: 160px 0 36px;
}
.footerFlexArea {
  display: flex;
  justify-content: space-between;
}
.footerFlexArea .footerMain {
 width: calc(540/1080*100%);
  max-width: 540px;
}
.footerFlexArea .footerLink {
  width: calc((100% - 656px)/2);
  padding-left: 1em;
}
.footerFlexArea .footerLink:last-of-type {
  width: 116px;
}
.footerFlexArea .footerLink ul li {
  margin-bottom: 1.2em;
}
#footer a:hover, #footer .footerMain dl dd a:hover, #footer .footerLink dl dd a:hover {
  opacity: .5;
  transition: var(--transition-all);
  text-decoration: none;
}
.tell {
  pointer-events: none;
}
.mapLink {
  display: inline-block;
  width: 15px;
  margin-left: 1em;
  margin-bottom: 0 !important;
  position: relative;
  bottom: -3px;
}
ul.snsList li a, ul.footerBnrList li a {
  opacity: 1;
  transition: var(--transition-all);
}
ul.snsList li a:hover, ul.footerBnrList li a:hover {
  opacity: .5;
  transition: var(--transition-all);
}
ul.footerBnrList {
 gap: 0 calc(40/1790*100%);
}
ul.footerBnrList li a {
 width: calc(418/1670*100%);
}
#footer .footerBtmArea {
  margin-top: 48px;
  display: flex;
  justify-content: space-between;
}
#footer .addLinkList {
  display: flex;
  justify-content: flex-start;
  gap: 0 40px;
}
}

@media screen and (max-width: 1024px) {
#footer .footerInner {
 width: calc(335/375*100%);
  margin: 0 auto;
  padding: 80px 0 36px;
}
#footer a, #footer .footerMain dl dt {
  margin-bottom: 0.4em;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  color: var(--color-black);
}
#footer .footerLink {
  display: none;
}
#footer .footerMain dl dd a {
  font-size: 14px;
  font-weight: normal;
}
#footer .footerMain p, #footer .footerMain p.tell a {
  margin-bottom: 0.2em;
  line-height: 1.64;
  font-size: 14px;
  font-weight: normal;
}
.mapLink {
  display: inline-block;
  width: 13px;
  margin-left: 1em;
  margin-bottom: 0;
}
ul.snsList {
  margin-top: 2.8rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
}
ul.snsList li.insta {
  width: 32px;
}
ul.snsList li.facebook {
  width: 18px;
}
ul.snsList li.youtube {
  width: 34px;
}
.footerBnrArea {
  margin-top: 40px;
}
ul.footerBnrList {
  display: block;
}
ul.footerBnrList li {
  width: 100%;
  margin-bottom: 24px;
}
#footer .addLinkList {
  display: flex;
  justify-content: flex-start;
  gap: 0 16px;
}
#footer .addLinkArea ul.addLinkList li a {
  font-size: 14px;
  font-weight: normal;
}
.copyrightArea {
  margin-top: 36px;
  text-align: center;
}
.copyrightArea p.copyright {
  text-align: center;
  font-size: 14px;
  font-family: var(--font-bold);
  font-weight: bold;
}
}
/* =============================================================================
 Common Block Styles
============================================================================= */

/* contact */
#contactArea {
  width: 100%;
}
#contactArea .contactAreaInner {
  width: 100%;
  height: auto;
  padding: 160px 0;
  background: url(../images/common/bg_contact-pc.png) no-repeat center center;
  background-size: cover;
  color: var(--color-white);
  text-align: center;
}
#contactArea h2 {
  margin-bottom: 48px;
  font-size: 24px;
  font-family: var(--font-bold);
  font-weight: bold;
}
#contactArea p {
  margin-bottom: 48px;
  font-size: 20px;
  font-family: var(--font-bold);
  line-height: 1.8;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 1024px) {
#contactArea {
  margin-top: 120px;
}
#contactArea .contactAreaInner {
  width: 100%;
  height: auto;
 padding: 70px calc(20/375*100%);
  background: url(../images/common/bg_contact-sp.png) no-repeat center center;
  background-size: cover;
}
#contactArea h2 {
  margin-bottom: 32px;
}
#contactArea p {
  margin-bottom: 36px;
  font-size: 16px;
  line-height: 1.64;
}
}
/* text editer area */
#mainArea article {
  margin-bottom: 140px;
}
.textEdit {
  margin: 60px 0;
  padding: 0 64px;
}
.textEdit .textEditInner {
  margin: 0 auto;
  width: 100%;
  max-width: 1080px;
}
.textEdit .textEditInner figure {
  margin: 50px auto 50px;
  max-width: 820px;
  width: 100%;
  display: block;
}
.textEdit .textEditInner figure figcaption {
  margin-top: 1.8em;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.46;
  width: 820px;
}
span.well2 {
  border: 1px solid #ddd;
  padding: 0.9em 0.8em 0.9em 1em;
  display: block;
}
.textEdit .textEditInner h1{
  font-size: 2.4rem;
  font-weight: bold;
  max-width: 820px;
  margin: 2em auto 1em;
  line-height: 1.8;
  letter-spacing: 0.04em;
  list-style-position: inside;
}
.textEdit .textEditInner h2{
  font-size: 2.4rem;
  font-weight: bold;
  max-width: 820px;
  margin: 2em auto 1em;
  line-height: 1.8;
  letter-spacing: 0.04em;
  list-style-position: inside;
}
.textEdit .textEditInner h3 {
  max-width: 820px;
  margin: 2em auto 1em;
  font-size: 22px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.04em;
}
.textEdit .textEditInner h4 {
  max-width: 820px;
  margin: 0em auto 0.8em;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.04em;
}
.textEdit .textEditInner h5{
  max-width: 820px;
  margin: 0em auto 0.8em;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: normal;
  line-height: 1.64;
  letter-spacing: 0.04em;
}
.textEdit .textEditInner p{
  max-width: 820px;
  margin: 0 auto 1em;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0.04em;
    list-style-position: inside;
}
.textEdit .textEditInner ul,
.textEdit .textEditInner ol  {
  max-width: 820px;
  margin: 0 auto 1em;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0.04em;
    list-style-position: inside;
}
/* .textEdit .textEditInner ul,
.textEdit .textEditInner ol, */
.textEdit .textEditInner li {
  display: list-item;
}
.textEdit .textEditInner ul li {
  padding-left: 18px;
  position: relative;
}
.textEdit .textEditInner ul li:before {
  content: '';
  display: block;
  position: absolute;
  top: 10px;
  left: 3px;
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: #000;
}
.textEdit .textEditInner p a {
  color: var(--color-black);
  text-decoration: none;
  font-family: var(--font-bold);
  font-weight: bold;
  word-break: break-all;
  transition: var(--transition-all);
  opacity: 1;
}
.textEdit .textEditInner p a:hover {
  text-decoration: none;
  opacity: .5;
  transition: var(--transition-all);
}

@media screen and (max-width: 1024px) {
#mainArea article {
  margin-bottom: 120px;
}
.textEdit {
  margin: 120px 0 40px;
  padding: 0;
}
.textEdit .textEditInner figure {
  margin: 50px auto;
}
.textEdit .textEditInner figure figcaption {
  padding: 0 calc(20/375*100vw);
  width: 100vw;
  margin: 0 auto 1em;
}
.textEdit .textEditInner h1 {
  padding: 0 calc(20/375*100vw);
  font-size: 24px;
  margin: 0 auto 1em;
}
.textEdit .textEditInner h2 {
  padding: 0 calc(20/375*100vw);
  font-size: 24px;
  margin: 0 auto 1em;
}
.textEdit .textEditInner h3 {
  padding: 0 calc(20/375*100vw);
  font-size: 20px;
  margin: 0 auto 1em;
}
.textEdit .textEditInner h4 {
  padding: 0 calc(20/375*100vw);
  font-size: 18px;
  margin-top: 0;
  margin: 0 auto 1em;
  display: inherit;
}
.textEdit .textEditInner h5 {
  padding: 0 calc(20/375*100vw);
  font-size: 18px;
  margin: 0 auto 1em;
  display: inherit;
}
.textEdit .textEditInner p {
  padding: 0 calc(20/375*100vw);
  font-size: 16px;
}
.textEdit .textEditInner ul,
.textEdit .textEditInner ol {
  padding: 0 calc(20/375*100vw);
  font-size: 16px;
}
.textEdit .textEditInner p a {
  text-decoration: underline;
}
.textEdit .textEditInner p a:hover {
  text-decoration: underline;
  opacity: 1;
}
}
/* pagetop */
#pagetop {
}

@media screen and (max-width: 1024px) {
}
/* =============================================================================
 Top Page Styles
============================================================================= */

.toppage #mainArea {
  padding-top: 0;
  background-color: var(--color-white);
}
/* mv */
#mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100vh;
  padding: 0 64px;
  background-color: #EAEAEA;
  overflow: hidden;
}
#mv .mvVideo {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
#mv .mvVideo:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
#mv .mvVideo video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#mv .mvInner {
  width: 100%;
  max-width: 1790px;
  height: 100vh;
  margin: 0 auto;
  position: relative;
}
.mv .arrow {
  position: absolute;
  right: 0;
  bottom: 70px;
}
.mv .arrow a {
  width: 120px;
  height: 122px;
  display: block;
  position: relative;
  transition: var(--transition-all);
}
.mv .leadArea {
  opacity: 0;
  transition: opacity ease .6s;
}
.mv .leadArea.show {
  opacity: 1;
}

@media screen and (min-width: 1025px) {
.mv .leadArea {
  position: absolute;
  left: 0;
  bottom: 70px;
}
.mv .leadArea .copy {
  font-size: 56px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.mv .leadArea .lead {
  margin-top: 40px;
  font-size: 24px;
  font-family: var(--font-bold);
  font-weight: bold;
  letter-spacing: 0.14em;
}
.mv .arrow a .outlineroll {
  width: 120px;
  height: 122px;
  transform: rotate(0deg);
  transition: var(--transition-all);
}
.mv .arrow a:hover .outlineroll {
  transform: rotate(90deg);
  transition: var(--transition-all);
}
.mv .arrow a:before, .mv .arrow a:after {
  background-color: var(--color-black);
  display: block;
  transition: var(--transition-all);
}
.mv .arrow a:before {
  content: "";
  width: 1px;
  height: 42px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -5px;
  right: 0;
}
.mv .arrow a:after {
  content: "";
  width: 1px;
  height: 18px;
  margin: 0 auto;
  position: absolute;
  bottom: 39px;
  left: 9px;
  right: 0;
  transform: rotate(45deg);
}
.mv .arrow a:hover:before {
  bottom: -8px;
  transition: var(--transition-all);
}
.mv .arrow a:hover:after {
  bottom: 34px;
  transition: var(--transition-all);
}
}

@media screen and (max-width: 1024px) {
#mv {
 padding: 0 calc(20/375*100%);
}
.mv .leadArea {
  position: absolute;
  left: 0;
  bottom: 50px;
}
.mv .leadArea .copy {
  font-size: 32px;
  font-family: var(--font-bold);
  font-weight: bold;
text-shadow: 0px 0px 5px #efefef;
}
.mv .leadArea .lead {
  margin-top: 15px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 1.46;
text-shadow: 0px 0px 5px #efefef;
}
.mv .arrow {
  width: 80px;
  position: absolute;
  right: 0;
  bottom: 44px;
}
.mv .arrow a {
  width: 100%;
  height: auto;
}
}
/* aboutArea */
#aboutArea {
  width: 100%;
  margin-bottom: 0;
  padding: 0 64px;
}
#aboutArea .aboutAreaInner {
  width: 100%;
  padding: 150px 0 120px;
  max-width: 1790px;
  margin: 0 auto;
}
.aboutArea .text01 {
  margin-bottom: 56px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.04em;
}

@media screen and (min-width: 1025px) {
.aboutArea .secLeadArea {
  text-align: center;
}
.aboutArea .text01 {
  text-align: center;
}
.scrollArea {
  width: calc(100% + 128px);
  margin-left: -64px;
}
.scrollArea .swiper-slide {
  height: 360px;
}
.scrollArea .swiper-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
}

@media screen and (max-width: 1024px) {
#aboutArea {
  padding: 0;
  margin-bottom: 0;
}
#aboutArea .aboutAreaInner {
 padding: 120px calc(20/375*100%) 72px;
}
.aboutArea .text01 {
  margin-bottom: 40px;
  font-size: 18px;
}
}
.scrollArea .swiper-container > .swiper-wrapper {
  -webkit-transition-timing-function: linear!important;
  -o-transition-timing-function: linear!important;
  transition-timing-function: linear!important;
  pointer-events: none;
}
/* businessArea */
#businessArea {
  width: 100%;
  padding: 0 64px;
  background-color: var(--color-base);
}
#businessArea .businessAreaInner {
  width: 100%;
  padding: 140px 0;
  max-width: 1080px;
  margin: 0 auto;
}
.businessArea .text01 {
  margin-bottom: 90px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.04em;
}
.businessListArea .businessList {
  margin-bottom: 80px;
}
.businessListArea .businessList:last-of-type {
  margin-bottom: 0;
}
.businessListArea .businessList .textArea {
  text-align: left;
}
.businessListArea .businessList .lead {
  margin-bottom: 36px;
}
.businessListArea .businessList .lead .en {
  margin-bottom: 0.7em;
  font-size: 36px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.businessListArea .businessList .lead .jp {
  font-size: 28px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.businessListArea .businessList .explain {
  margin-bottom: 48px;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
}
.businessList.tour .lead .icon {
  width: 34px;
}
.businessList.consulting .lead .icon {
  width: 24px;
}
.businessList.guide .lead .icon {
  width: 52px;
}
.businessList.anime .imgArea .img {
  opacity: 0;
  transition: opacity ease 1s;
}
.businessList.animated .imgArea .img {
  opacity: 1;
}

@media screen and (min-width: 1025px) {
.businessArea .secLeadArea, .businessArea .text01 {
  text-align: center;
}
.businessList {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.businessList:nth-child(even) {
  flex-direction: row-reverse;
}
.businessList .imgArea {
  width: 554px;
  text-align: center;
}
.businessList .textArea {
  width: 462px;
}
.businessList:nth-child(even) .textArea {
  width: 480px;
}
}

@media screen and (max-width: 1024px) {
#businessArea {
 padding: 0 calc(20/375*100%);
}
#businessArea .businessAreaInner {
  padding: 120px 0;
}
.businessArea .text01 {
  margin-bottom: 90px;
  font-size: 18px;
}
.businessListArea .businessList {
  margin-bottom: 80px;
}
.businessListArea .imgArea {
  margin-bottom: 36px;
  text-align: center;
}
.businessListArea .businessList .lead {
  margin-bottom: 60px;
}
.businessListArea .businessList .lead .en {
  margin-bottom: 1em;
  font-size: 20px;
}
.businessListArea .businessList .lead .jp {
  align-items: center;
  font-size: 6.4vw;
  letter-spacing: 0;
  white-space: nowrap;
}
.businessListArea .businessList .lead .icon {
  position: static !important;
}
.businessListArea .businessList .explain {
  margin-bottom: 32px;
  font-size: 16px;
  font-weight: normal;
}
.businessListArea .businessList .lead {
  margin-bottom: 20px;
}
.businessList.consulting .lead .icon {
  position: relative;
  top: 5px;
}
.businessList.guide .lead .icon {
  top: 5px;
}
}
/* projectArea */
#projectArea {
  width: 100%;
  padding: 0 64px;
}
#projectArea .projectAreaInner {
  width: 100%;
  padding: 0 0 140px;
  max-width: 1080px;
  margin: 0 auto;
}
.toppage #projectArea .projectAreaInner {
  padding: 130px 0;
}
.projectArea .text01 {
  margin-bottom: 80px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.04em;
}
.projectList {
  margin-bottom: 50px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 80px calc(40/1080*100%);
}
.projectList .projectListItem {
  width: calc(333/1080*100%);
  text-align: left;
}
.projectList .projectListItem a {
  display: block;
}
.projectImg {
  width: 333px;
  height: 222px;
  background-color: #e1e1e1;
  align-items: center;
  display: flex;
  border: solid 1px #e1e1e1;
}
.projectList .projectListItem .projectImg {
  margin-bottom: 24px;
}
.projectList .projectListItem .projectImg img {
  height: auto;
}
.projectList .projectListItem .labelList {
  margin-bottom: 24px;
}
.projectList .projectListItem .projectTitle {
  margin-bottom: 0.4em;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  color: var(--color-black);
}
.projectList.swiper-horizontal {
  gap: 0 0;
}
.projectList .projectListItem .projectText {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.64;
  color: var(--color-black);
}
.projectList.swiper-horizontal .projectListItem:nth-child(-n+2) {
  margin-right: calc(40/1080*100%);
}
.project-scrollbar {
  display: none !important;
}
@media screen and (max-width: 1024px) {
#projectArea {
 padding: 0 calc(20/375*100%);
}
#projectArea .projectAreaInner {
  padding: 0;
}
.toppage #projectArea .projectAreaInner {
  padding: 120px 0;
}
.projectArea .text01 {
  margin-bottom: 56px;
  font-size: 18px;
}
.projectList {
  margin: 0 auto 2em;
  display: block;
}
.projectList .projectListItem {
  width: 100%;
  margin-bottom: 60px;
  display: block;
}
.projectList .projectListItem .labelList {
  margin-bottom: 16px;
}
.projectList .projectListItem .projectTitle {
  margin-bottom: 0.6em;
  font-size: 18px;
}
.projectList .projectListItem .projectText {
  font-size: 16px;
}
.toppage .projectList {
 margin: 0 calc(-19/375*100vw) 2em;
}
.projectList.swiper-horizontal {
  margin-bottom: calc(2em - 10px);
  padding-bottom: 10px;
}
.projectList.swiper-horizontal .projectListItem {
  margin-bottom: 0;
  margin-left: calc(20/375*100vw);
  display: inline-block;
  width: 260px;
  white-space: normal;
}
.projectList.swiper-horizontal .projectListItem:first-of-type {
  margin-left: 0;
  padding-left: calc(20/375*100vw);
  box-sizing: content-box;
}
.projectList.swiper-horizontal .projectListItem:last-of-type {
  padding-right: calc(20/375*100vw);
  box-sizing: content-box;
}
}
/* newsArea */
#newsArea {
  width: 100%;
  padding: 0 64px;
  background-color: var(--color-base);
}
#newsArea .newsAreaInner {
  width: 100%;
  padding: 140px 0 110px;
  max-width: 1080px;
  margin: 0 auto;
}
ul.newsList {
  margin-bottom: 56px;
  border-top: #CCC 1px solid;
}
ul.newsList li {
  border-bottom: #CCC 1px solid;
}
ul.newsList li a {
  padding: 26px 24px 26px;
  display: block;
  color: var(--color-black);
  transition: var(--transition-all);
}
ul.newsList li dl dt {
  margin-bottom: 1.4em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0 1em;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  color: var(--color-black);
}
ul.newsList li dl dd {
  font-size: 14px;
  font-weight: normal;
  color: var(--color-black);
  line-height: 1.8;
  letter-spacing: 0.04em;
}
ul.newsList li .label {
  padding: 6px 15px 6px;
}

@media screen and (min-width: 1025px) {
.newsArea .flexArea {
  display: flex;
  justify-content: space-between;
}
.newsArea .secLeadArea {
  width: 280px;
}
.newsArea .contArea {
  width: calc(100% - 280px);
}
ul.newsList li a:hover {
  background-color: rgba(255,255,255,.4);
  transition: var(--transition-all);
  text-decoration: none;
}
}

@media screen and (max-width: 1024px) {
#newsArea {
 padding: 0 calc(20/375*100%);
}
#newsArea .newsAreaInner {
  padding: 120px 0;
}
ul.newsList li a {
  padding: 40px 0 35px;
}
ul.newsList li dl dt {
  margin-bottom: 0.8em;
  font-size: 16px;
}
ul.newsList li dl dd {
  font-size: 16px;
}
ul.newsList li .label {
  padding: 7px 10px 4px;
}
}
/* specialArea */
#specialArea {
  width: 100%;
  padding: 0 64px;
  overflow: hidden;
}
#specialArea .specialAreaInner {
  width: 100%;
  padding: 140px 0 80px;
  max-width: 1080px;
  margin: 0 auto;
}
.specialArea .text01 {
  margin-bottom: 72px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.04em;
}
.specialTourArea {
  padding-bottom: 48px;
  position: relative;
}
.specialTourList .swiper-slide {
  width: 320px;
  margin-right: 40px;
}
.specialTourList .swiper-slide:last-of-type {
  margin-right: 0;
}
.specialTourList .swiper-slide a {
  display: block;
  text-decoration: none;
}
.specialTourItem {
  line-height: 1.64;
}
.specialTourItem .specialTourImg {
  margin-bottom: 20px;
}
.specialTourItem .specialTourSite {
  margin-bottom: 1em;
  color: #666;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.specialTourItem .specialTourText {
  margin-bottom: 1em;
  min-height: 3.28em;
  color: var(--color-black);
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.specialTourItem .specialTourPlanner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1em;
  color: var(--color-black);
  font-size: 14px;
  font-weight: normal;
}
.specialTourItem .specialTourPlanner .img {
  width: 48px;
}
.swiper-horizontal>.swiper-scrollbar {
  height: 2px;
}
.swiper-scrollbar-drag {
  background-color: #111;
}

@media screen and (max-width: 1024px) {
#specialArea {
 padding: 0 calc(20/375*100%);
}
#specialArea .specialAreaInner {
  padding: 120px 0 56px;
}
.specialArea .text01 {
  margin-bottom: 56px;
  font-size: 18px;
}
.specialTourArea {
  padding-bottom: 0;
}
.specialTourArea .swiper-scrollbar {
  display: none;
}
.specialTourList .swiper-slide {
  width: 260px;
  margin-right: 30px;
}
.specialTourItem .specialTourSite {
  margin-bottom: 1em;
  font-size: 14px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.specialTourItem .specialTourText {
  margin-bottom: 1em;
  font-size: 14px;
}
.specialTourItem .specialTourPlanner {
  font-size: 14px;
}
}
/* recruitArea */
#recruitArea {
  width: 100%;
  margin-bottom: 140px;
  padding: 0 64px;
}
#recruitArea .recruitAreaInner {
  width: 100%;
  padding: 100px 0;
  max-width: 1080px;
  margin: 0 auto;
  background-color: var(--color-base);
  border-radius: 20px;
  text-align: center;
}
.recruitArea .textRecruit {
  margin-bottom: 42px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 1024px) {
#recruitArea {
 padding: 0 calc(20/375*100%);
  margin-bottom: 120px;
}
#recruitArea .recruitAreaInner {
 padding: 48px calc(25/375*100vw);
}
.recruitArea .textRecruit {
  margin-bottom: 20px;
  font-size: 16px;
  letter-spacing: -0.05em;
}
}
/* =============================================================================
 Page Styles
============================================================================= */
/* under common */
.underTitleArea {
  padding: 55px 64px 0;
  margin-bottom: 40px;
}
.underTitleArea .underTitleAreaInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.underContPage.underTitleArea .underTitleAreaInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.underTitle .en {
  display: block;
  font-size: 56px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.2;
  color: var(--color-black);
}
.underTitle .jp {
  margin-top: 6px;
  display: block;
  font-size: 24px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  color: var(--color-black);
}
.underTitle .jp.large {
  font-size: 28px;
}
.underTitleArea .text01 {
  margin-top: 38px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 1024px) {
.underTitleArea {
  width: 100%;
  padding: 60px calc(20/375*100%) 0;
  margin-bottom: 40px;
}
.underTitle .en {
  font-size: 40px;
  letter-spacing:0.1em;
}
.underTitle .jp {
  margin-top: 10px;
  font-size: 20px;
  letter-spacing: -0.04em;
  letter-spacing:0.1em;
}
.underTitleArea .text01 {
  margin-top: 24px;
  font-size: 18px;
}
}
/* project */
.underTitleArea .projectTitle {
  font-size: 32px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.46;
}
.underTitleArea .projectLead {
  margin-top: 20px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
}
.underTitleArea .labelList {
  margin: 20px 0 60px;
}
.underTitleArea .leadImgArea {
  margin-top: 60px;
}
.overviewArea {
  width: 100%;
  padding: 0 64px;
}
.overviewArea .overviewAreaInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.overviewArea .titleArea {
  width: 340px;
}
.overviewTitle .en {
  margin-bottom: 15px;
  display: block;
  font-size: 24px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.06em;
}
.overviewTitle .jp {
  display: block;
  font-size: 28px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.46;
  padding-bottom: 1rem;
}
.overviewArea .textArea {
  width: calc(100% - 390px);
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
}

@media screen and (max-width: 1024px) {
.underTitleArea .projectTitle {
  font-size: 26px;
  line-height: 1.64;
}
.underTitleArea .projectLead {
  margin-top: 30px;
  font-size: 18px;
}
.underTitleArea .labelList {
  margin: 20px 0 40px;
}
.underTitleArea .leadImgArea {
 width: calc(100% + (40/375*100vw));
 margin: 40px calc(-20/375*100vw) 0;
}
.overviewArea {
  margin: 80px 0 -40px;
  padding: 0;
}
.overviewArea .overviewAreaInner {
 padding: 0 calc(20/375*100%);
  margin: 0 auto 120px;
  display: block;
}
.overviewArea .titleArea {
  width: 100%;
  margin-bottom: 32px;
}
.overviewTitle .en {
  margin-bottom: 20px;
  font-size: 20px;
}
.overviewTitle .jp {
  font-size: 24px;
  letter-spacing: -0.06em;
}
.overviewArea .textArea {
  width: 100%;
  font-size: 16px;
}
}
.relatedArea {
  margin: 140px 0;
  padding: 0 64px;
  display: block;
}
.relatedArea .relatedAreaInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.relatedArea .relatedTitle {
  margin-bottom: 36px;
  text-align: center;
  font-size: 36px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1024px) {
.relatedArea {
  margin: 120px 0;
 padding: 0 calc(20/375*100%);
}
.relatedArea .relatedTitle {
  margin-bottom: 56px;
  text-align: left;
  font-size: 24px;
}
.relatedArea .secInner .link {
  display: none;
}
}
/* news */
#newsArea.underPage {
  padding: 0;
}
#newsArea.underPage .newsAreaInner {
  padding: 0 0 200px;
}
.underPage.newsArea .contArea {
  width: 100%;
}

@media screen and (min-width: 1025px) {
.underPage ul.newsList li dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 3em;
}
.underPage ul.newsList li dl dt {
  width: 224px;
}
.underPage ul.newsList li dl dd {
  width: calc(100% - 224px - 3em);
}
}

@media screen and (max-width: 1024px) {
#newsArea.underPage {
 padding: 0 calc(20/375*100%);
}
#newsArea.underPage .newsAreaInner {
  padding: 0;
}
.news.underContPage .labelList {
  margin: 30px 0 -64px;
}
.news.underContPage .labelList li .date {
  margin-right: 1em;
}
.news.underContPage .labelList li .label {
  padding: 10px 10px 8px;
}
}


/* recruit */
#recruitArea.recruit.underPage .recruitAreaInner {
  padding-bottom: 0;
  max-width: 1080px;
}
.recruitMv {
  margin-bottom: 50px;
  display: block;
  background: url(../images/recruit/img_recruit_bg-pc.jpg) no-repeat center;
  background-size: cover;
}
.recruitMv .recruitMvInner {
  width: 100%;
  max-width: 664px;
  margin: 0 auto;
  padding: 160px 0;
}
.recruitMv .recruitLead {
  text-align: center;
  color: var(--color-white);
  font-family: var(--font-bold);
  font-weight: bold;
}
.recruitMv .recruitLead .en {
  margin-bottom: 20px;
  font-size: 24px;
  letter-spacing: 0.04em;
}
.recruitMv .recruitLead .lead {
  font-size: 40px;
  line-height: 1.64;
}
.recruitMv .recruitLead .text {
  margin-top: 1.64em;
  font-size: 18px;
  text-align: left;
  line-height: 2;
}

@media screen and (max-width: 1024px) {
.recruitMv {
  margin-bottom: 64px;
  background: url(../images/recruit/img_recruit_bg-sp.jpg) no-repeat center;
  background-size: cover;
}
.recruitMv .recruitMvInner {
 padding: 80px calc(20/375*100%) 72px;
  text-align: left;
}
.recruitMv .recruitLead .en {
  margin-bottom: 15px;
  font-size: 24px;
  text-align: left;
}
.recruitMv .recruitLead .lead {
  font-size: 32px;
  line-height: 2;
  text-align: left;
}
.recruitMv .recruitLead .text {
  margin-top: 15px;
  font-size: 18px;
  text-align: left;
  line-height: 2;
}
}
.recruitList {
  margin-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
 gap: 70px calc(40/1080*100%);
}
.recruitListLead {
  margin-bottom: 40px;
  text-align: center;
  font-size: 32px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.recruitList .recruitListItem {
 width: calc(333/1080*100%);
  text-align: left;
  position: relative;
}
.recruitList .recruitListItem a {
  display: block;
  color: var(--color-black);
}
.recruitList .recruitListItem .recruitImg {
  margin-bottom: 20px;
}
.recruitList .recruitListItem .labelList {
  margin-bottom: 24px;
}
.recruitList .recruitListItem .recruitLabel {
  position: absolute;
  left: 10px;
  top: 10px;
}
.recruitList .recruitListItem .recruitTitle {
  margin-bottom: 0.4em;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
  color: var(--color-black);
}
.recruitList .recruitListItem .recruitSite {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.64;
}
@media screen and (min-width: 1025px) {
.recruit.underPage.underContPage.underTitleArea {
  margin-bottom: -20px;
}
}
@media screen and (max-width: 1024px) {
#recruitArea {
 padding: 0 calc(20/375*100%);
}
#recruitArea.underPage .recruitAreaInner {
  padding: 0;
}
.recruitListLead {
  margin-bottom: 56px;
  font-size: 20px;
  text-align: left;
}
.recruitArea .text01 {
  margin-bottom: 56px;
  font-size: 18px;
}
.recruitList {
  margin: 0 auto;
  padding-bottom: 0;
  display: block;
}
.recruitList .recruitListItem {
  width: 100%;
  margin-bottom: 60px;
  display: block;
}
.recruitList .recruitListItem .labelList {
  margin-bottom: 16px;
}
.recruitList .recruitListItem .recruitTitle {
  margin-bottom: 0.6em;
  font-size: 18px;
}
.recruitList .recruitListItem .recruitText {
  font-size: 16px;
}
}
.recruitTitle {
  font-size: 36px;
  line-height: 1.46;
}
.recruit.underPage.underContPage.underTitleArea {
  margin-bottom: 80px;
}
.recruit.underPage.underTitleArea .labelList {
  margin: 20px 0 42px;
}
.recruit.underPage.underTitleArea .labelList .label {
  padding: 12px 20px;
  font-size: 14px;
}
.underTitleArea .labelList .recruitSite {
  margin-left: 1em;
  font-size: 16px;
  position: relative;
  top: 2px;
  color: var(--color-black);
  font-family: var(--font-bold);
  font-weight: bold;
}
.underTitleArea .recruitLead {
  margin-top: 48px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.8;
}
.formLink {
  margin-top: -48px;
  margin-bottom: 56px;
  text-align: center;
}
.recruit + .textEdit .textEditInner p {
  margin-bottom: 1em;
}
.recruit + .textEdit .textEditInner p:last-child {
  margin-bottom: 6.4em;
}
.recruit + .textEdit .textEditInner p + * {
}
.recruit + .textEdit .textEditInner p + p {
  margin-top: 0;
}
.recruitDetail {
  max-width: 820px;
  margin: 5rem auto 5em;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.64;
}
.recruitDetail ul > li {
  margin-bottom: 1em;
  text-align: left;
}
.textEdit .textEditInner .recruitDetail ul li:before {
  content: none;
  display: block;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
}
.textEdit .textEditInner .recruitDetail ul li {
  padding-left: 0px;
  position: relative;
}
.post_row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  max-width: 820px;
  margin: 0 auto 1em;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0.04em;
  list-style-position: inside;
}
.post_col-2 {
  margin-right: 50px;
}
.post_col {
  margin-right: 50px;
  margin-bottom: 1em;
  flex: 1 1 0%;
}
.recruitDetail ul > li > dl {
  display: flex;
}
.recruitDetail ul > li > dl > dt {
  width: 250px;
  text-align: left;
  font-family: var(--font-bold);
  font-weight: bold;
}
.recruitDetail ul > li > dl > dd {
  width: calc(100% - 250px);
  text-align: left;
  font-weight: normal;
}

@media screen and (max-width: 1024px) {
/* .recruitDetail {
 padding: 0 calc(20/375*100vw);
} */
.recruitTitle {
  font-size: 28px;
}
.recruit.underPage.underTitleArea .labelList {
  margin: 20px 0 40px;
}
.underTitleArea .labelList .recruitSite {
  margin-left: 0.5em;
  font-size: 14px;
  position: relative;
  top: 0;
}
.recruit.underPage.underTitleArea .labelList .label {
  padding: 8px 10px;
  font-size: 10px;
}
.underTitleArea .recruitLead {
  margin-top: 40px;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.64;
}
.formLink {
 padding: 0 calc(20/375*100%);
  margin-bottom: 40px;
}
.recruitDetail {
  margin: 2em auto 3em;
}
.recruitDetail ul > li > dl {
  display: block;
}
.recruitDetail ul > li > dl > dt {
  width: 100%;
}
.recruitDetail ul > li > dl > dd {
  width: 100%;
}
}


/* contact */
.contactForm.contact.underPage {
}
.contactForm .secInner {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.contactFormBody dl {
  margin-bottom: 24px;
}
.contactFormBody dl dd {
  margin-bottom: 40px;
}
.contactFormBody dl dd:last-of-type {
  margin-bottom: 0;
}
.contactFormBody dl dt {
  margin-bottom: 1em;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.contactFormBody input[type="text"],
.contactFormBody input[type="email"],
.contactFormBody input[type="tel"],
.contactFormBody textarea {
  width: 100%;
  font-size: 16px;
  padding: 1.5em;
  border: #EAEAEA 1px solid;
  border-radius: 6px;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.underPage .contactFormBody .formSubmit {
  margin-top: 42px;
}
.formNotice p {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.46;
}
.formNotice p a {
  color: var(--color-black);
  text-decoration: none;
  font-family: var(--font-bold);
  font-weight: bold;
  word-break: break-all;
  transition: var(--transition-all);
  opacity: 1;
}
@media screen and (min-width: 1025px) {
.formNotice p a:hover {
  text-decoration: none;
  opacity: .5;
  transition: var(--transition-all);
}
}
.formThanks {
  margin-bottom: 40px;
  text-align: center;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.64;
}
.formThanks .formThanksTitle {
  margin-bottom: 1em;
  line-height: 1.64;
  font-size: 18px;
  font-family: var(--font-bold);
  font-weight: bold;
}
.contactForm.contact.underPage .linkArea {
  text-align: center;
}
@media screen and (max-width: 1024px) {
.contactForm .secInner {
  padding: 0 calc(20/375*100%);
}
.contactFormBody input[type="text"],
.contactFormBody input[type="email"],
.contactFormBody input[type="tel"],
.contactFormBody textarea {
  padding: 1.2em 1.5em 1em;
}
.formThanks {
  text-align: left;
}
}


/* licence */
.licenceArea {
  width: 100%;
  max-width: 548px;
  margin: 0 auto 135px;
}
ul.listCont li {
  line-height: 1.64;
  margin-bottom: 1.6em;
}
ul.listCont li:last-of-type {
  margin-bottom: 0;
}
ul.listCont li dl {
  display: flex;
  gap: 0 2em;
}
ul.listCont li dl dt {
  width: 40%;
  font-size: 16px;
  font-weight: bold;
}
ul.listCont li dl dd {
  font-size: 16px;
}
ul.listCont li dl dd a {
  color: inherit;
  text-decoration: none;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
.licenceArea {
  margin: 0 auto 110px;
}
.licenceArea .licenceAreaInner {
  padding: 0 calc(20/375*100%) 0;
}
ul.listCont li dl {
  display: block;
}
ul.listCont li dl dt {
  margin-bottom: 10px;
  width: 100%;
}
ul.listCont li dl dd {
  margin-bottom: 30px;
}
}


/* privacy */
.privacyArea {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto 135px;
}
.generalText {
  width: 100%;
}
.generalText .generalTextInner {
  width: 100%;
  margin: 0 auto;
  margin-top: 1.64em;
  font-size: 16px;
}
.generalText p {
  line-height: 1.64;
}
.generalText p + p {
  margin-top: 1.64em;
}
.generalText h3 {
  margin-top: 1.64em;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.64;
}
@media screen and (max-width: 1024px) {
.privacyArea {
  margin: 0 auto 140px;
}
.generalText .generalTextInner {
  padding: 0 calc(20/375*100%) 0;
}
.generalText h3 {
  margin-top: 3.28em;
}
}

ul.listDisc {
  list-style: disc;
}
ul.listDisc li {
  margin-left: 1.5em;
  line-height: 1.64;
}


/* about */
.underSubTitleArea {
  padding: 0 64px;
  margin-bottom: 66px;
}
.underSubTitleArea .underSubTitle {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  text-align: center;
}
.underSubTitle .en {
  margin-bottom: 32px;
  display: block;
  font-size: 24px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.46;
  color: var(--color-black);
}
.underSubTitle .jp {
  display: block;
  font-size: 40px;
  font-family: var(--font-bold);
  font-weight: bold;
  line-height: 1.2;
  color: var(--color-black);
}
@media screen and (max-width: 1024px) {
.underSubTitleArea {
  width: 100%;
  padding: 0 calc(20/375*100%);
  margin-bottom: 50px;
}
.underSubTitleArea .underSubTitle {
  text-align: left;
}
.underSubTitle .en {
  margin-bottom: 32px;
  font-size: 24px;
}
.underSubTitle .jp {
  font-size: 32px;
  line-height: 1.2;
}
}
.companyMv {
  text-align: center;
}
.companyMv img {
  width: 100%;
}
.managementArea {
  margin-bottom: 140px;
  background-color: #fff;
}
.managementArea .managementAreaInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding-top: 140px;
}
.managementListArea {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}
.managementList {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 140px 56px;
}
.managementList .managementListItem {
  width: 512px;
}
.managementList .managementListItem .managementImg {
  width: 100%;
  margin-bottom: 24px;
}
.managementList .managementListItem .managementLabel {
  margin-bottom: 1.5em;
  font-size: 12px;
  color: var(--color-black);
}
.managementList .managementListItem .managementLabel .en {
  font-size: 12px;
}
.managementList .managementListItem .managementName {
  margin-bottom: 1.5em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.managementList .managementListItem .managementName .jp {
  margin-right: 1.5em;
  font-size: 20px;
  font-family: var(--font-bold);
  font-weight: bold;
  color: var(--color-black);
}
.managementList .managementListItem .managementName .en {
  font-size: 20px;
  font-family: var(--font-bold);
  font-weight: bold;
  color: var(--color-black);
}
.managementList .managementListItem .managementProf {
  font-size: 14px;
  line-height: 1.64;
}
@media screen and (max-width: 1024px) {
.managementArea {
  width: 100%;
  margin-bottom: 120px;
}
.managementList {
  padding: 0 calc(20/375*100%) 0;
  display: block;
}
.managementList .managementListItem {
  width: 100%;
  margin-bottom: 120px;
}
.managementList .managementListItem:last-of-type{
  margin-bottom: 0;
}
.managementList .managementListItem .managementName {
  margin-bottom: 2em;
}
}
.managementSPArea {
  margin-bottom: 140px;
  background-color: #EFEFEF;
}
.managementSPArea .managementSPAreaInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 140 0;
}
@media screen and (min-width: 1025px) {
.managementSPArea .managementList {
  width: 100%;
  display: block;
}
.managementSPArea .managementList .managementListItem {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.managementSPArea .managementList .managementListItem .managementImg,
.managementSPArea .managementList .managementListItem .managementText {
  width: 512px;
}
}

.managementArea .secLinksArea {
  padding: 70px 0 140px;
}
@media screen and (max-width: 1024px) {
.managementArea .secLinksArea {
  padding: 86px calc(20/375*100%) 120px;
}
}

.moreInfoArea {
  margin: 0 auto;
  background-color: #fff;
}
.moreInfoArea .moreInfoAreaInner {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 140px 0;
}
.moreInfoArea .moreInfoAreaInner .secLeadArea {
  text-align: center;
}
ul.moreInfoList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0 40px;
}
ul.moreInfoList li {
  width: 333px;
}
ul.moreInfoList li a {
  display: block;
}
ul.moreInfoList li a .text {
  margin-top: 1em;
  font-size: 16px;
  font-family: var(--font-bold);
  font-weight: bold;
  text-align: left;
  display: flex;
  align-items: center;
}
ul.moreInfoList li a .text .icon_arrowWhite {
  margin-left: 1em;
}
@media screen and (min-width: 1025px) {
ul.moreInfoList li a {
  opacity: 1;
  transition: var(--transition-op);
  color: var(--color-black);
}
ul.moreInfoList li a:hover {
  opacity: .5;
  text-decoration: none;
}

}
@media screen and (max-width: 1024px) {
.moreInfoArea .moreInfoAreaInner {
  padding: 120px 0;
}
ul.moreInfoList {
  width: 100%;
  margin: 0;
  padding: 0 calc(20/375*100%);
  display: block;
}
.aboutSection ul.moreInfoList {
  padding-left: 0;
  padding-right: 0;
}
ul.moreInfoList li {
  width: 100%;
  margin-bottom: 16px;
  border: #EAEAEA 1px solid;
}
ul.moreInfoList li:last-of-type {
  margin-bottom: 0;
}
ul.moreInfoList li a {
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--color-black);
  background-color: #fff;
}
ul.moreInfoList li a img {
  width: calc(144/335*100%);
  margin-right: calc(15/335*100%);
}
ul.moreInfoList li a .text {
  margin: 0 calc(24/335*100%) 0 0;
  display: flex;
  justify-content: space-between;
  width: calc(160/335*100%);
  text-align: left;
  font-size: 16px;
}
#contactArea.management {
  margin-top: 0;
}
}
@media screen and (max-width: 374px) {
ul.moreInfoList li a .text {
  margin-right: calc(12/335*100%);
  width: calc(165/335*100%);
  font-size: 15px;
}
}








































.underTitleArea.business {
  margin-bottom: 0;
  padding-bottom: 134px;
  position: relative;
  z-index: 1;
}
.underTitleArea.business:before {  
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(100% + 174px);
  background-color: #EFE8DF;
}
.underTitleArea.business .secInner {
  position: relative;
}
.underTitleArea.business .text01 {
  width: calc(560/1080*100%);
}
.underTitleArea.business .img {
  position: absolute;
  top: 0;
  left: calc(600/1080*100%);
  width: calc(572/1080*100%);
}
.underTitleArea.business .img img {
  width: 100%;
}

.aboutSection,
.businessSection {
  padding: 140px 64px;
}
.bgW {
  background-color: var(--color-white);
}
.aboutSection .secInner,
.businessSection .secInner {
  margin: 0 auto;
  max-width: 1080px;
}
.aboutSectionLead,
.businessSectionLead {
  text-align: center;
}
.aboutSectionLead .leadLabel,
.businessSectionLead .leadLabel {
  font-size: 2.4rem;
  font-weight: bold;
}
.aboutSectionLead .leadTitle,
.businessSectionLead .leadTitle {
  margin-top: 25px;
  line-height: 1.4;
  font-size: 4rem;
  font-weight: bold;
}
.aboutSectionLead p,
.businessSectionLead p {
  margin-top: 50px;
  line-height: 1.777;
  font-size: 1.8rem;
  font-weight: bold;
}
.aboutSectionLead .leadImg,
.businessSectionLead .leadImg {
  margin-top: 74px;
}
.businessSectionLead .logoImg img {
  width: calc(444/1080*100%);
}
.businessSmallTitle {
  margin-bottom: 25px;
  line-height: 1.5;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
.serviceCharacters {
  margin: 120px 0 0;
}
.serviceCharacters ul {
  display: flex;
  gap: 0 calc(39/1080*100%);
}
.serviceCharacter {
  width: calc(334/1080*100%);
}
.serviceCharacterImg {
}
.serviceCharacterTitle {
  margin: 24px 0 11px;
  line-height: 1.75;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: .04em;
}
.serviceCharacter p {
  line-height: 1.857;
  font-size: 14px;
  font-weight: 500;
}
.servicePlatform {
  margin-top: 110px;
}
.servicePlatformLogos {
}
.servicePlatform .linkArea {
  margin-top: 48px;
  display: flex;
  justify-content: center;
  gap: 48px;
}

.tourValue {
}
.tourValue .businessSectionLead {
  margin-bottom: 60px;
}
.serviceValue {
  display: flex;
  justify-content: space-between;
}
.serviceValue:nth-child(odd) {
  margin: 120px 0;
  flex-direction: row-reverse;
}
.serviceValueImg {
  width: calc(512/1080*100%);
}
.serviceValueTxt {
  width: calc(512/1080*100%);
}
.serviceValueTitle {
  margin-bottom: 25px;
  font-size: 2.2rem;
  font-weight: bold;
}
.serviceValueTitle .num {
  margin-right: 24px;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
}
.serviceValueTxt dl {
  font-size: 1.8rem;
}
.serviceValueTxt dl dt {
  position: relative;
  line-height: 1.777;
  font-weight: bold;
}
.serviceValueTxt dl dd {
  line-height: 1.75;
  font-size: 16px;
}
.serviceValueTxt dl dd + dt {
  margin-top: 27px;
  padding-top: 32px;
}
.serviceValueTxt dl dd + dt:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #666;
}
.tourMovie {
}
.tourMovieArea {
}
.tourMovieArea .movieBox {
  margin: 67px 0 24px;
  padding-top: calc(608/1080*100%);
  position: relative;
}
.tourMovieArea iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.tourMovieArea .icon_arrowWhite {
  width: 21px;
  height: 21px;
}
.tourMovieArea .icon_arrowWhite:after {
  width: 3px;
  height: 3px;
}
.tourAnother {
}
.tourAnotherService {
  margin: 67px 0 0;
}
.tourAnotherService ul {
  display: flex;
  justify-content: space-between;
}
.tourAnotherService ul li {
  width: calc(512/1080*100%);
}
.tourAnotherService ul li p {
  line-height: 1.75;
  font-size: 1.6rem;
}
.tourAnotherServiceImg {
}
.tourAnotherServiceTitle {
  margin: 24px 0 10px;
  font-size: 1.8rem;
  line-height: 1.777;
  font-weight: bold;
}
.tourAnotherService ul li .link {
  margin-top: 45px;
}
.relatedProject {
  padding-top: 140px !important;
}
.businessAsideTitle {
  margin-bottom: 38px;
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}
.otherBusinessContents {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.otherBusinessContents .businessList {
  display: block;
  width: calc(512/1080*100%);
}
.otherBusinessContents .businessList .imgArea {
  margin: 0 auto 30px;
  width: calc(440/512*100%);
}
.otherBusinessContents .businessList .textArea {
  width: auto;
}
.otherBusinessContents .businessList .lead {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.otherBusinessContents .businessList .iconAddBtm {
  margin: 10px 0 20px;
  min-height: 42px;
}
.otherBusinessContents .businessList .explain {
  line-height: 1.75;
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  .underTitleArea.business {
    padding-bottom: 114px;
  }
  .underTitleArea.business .text01 {
    width: auto;
  }
  .underTitleArea.business .img {
    margin: 40px auto;
    position: static;
    width: calc(320/335*100%);
  }
  .underTitleArea.business .img img {
    width: 100%;
  }  
  .aboutSection,
  .businessSection {
    padding: 120px calc(20/375*100%);
  }
  .bgW {
    background-color: var(--color-white);
  }
  .aboutSectionLead,
  .businessSectionLead {
    text-align: left;
  }
  .aboutSectionLead .leadTitle,
  .businessSectionLead .leadTitle {
    line-height: 1.5;
    font-size: 3.2rem;
  }
  .aboutSectionLead p,
  .businessSectionLead p {
    margin-top: 24px;
  }
  .aboutSectionLead .leadImg,
  .businessSectionLead .leadImg {
    margin: 50px calc(-20/335*100%) 0;
  }
  .businessSmallTitle {
    font-size: 2rem;
  }
  .serviceCharacters {
    margin: 100px 0 0;
  }
  .serviceCharacters ul {
    display: block;
  }
  .serviceCharacter {
    width: auto;
  }
  .serviceCharacter + .serviceCharacter {
    margin-top: 90px;
  }
  .servicePlatform {
    margin-top: 110px;
  }
  .servicePlatformLogos {
    margin: 48px auto;
    width: calc(300/335*100%);
  }
  .servicePlatform .linkArea {
    flex-direction: column;
    gap: 24px;
  }
  .tourValue .businessSectionLead {
    margin-bottom: 50px;
  }
  .serviceValue {
    margin-top: 50px;
    display: block;
  }
  .serviceValue + .serviceValue {
    margin-top: 100px;
  }
  .serviceValue:nth-child(odd) {
    margin: 100px 0 0;
  }
  .serviceValueImg {
    margin: 0 calc(-20/335*100%) 48px;
    width: auto;
  }
  .serviceValueTxt {
    width: auto;
  }
  .tourMovieArea .movieBox {
    margin: 53px calc(-20/335*100%) 32px;
  }
  .tourMovieArea .icon_arrowWhite:after {
    width: 3px;
    height: 3px;
  }
  .tourAnotherService {
    margin: 53px 0 0;
  }
  .tourAnotherService ul {
    display: block;
  }
  .tourAnotherService ul li {
    width: auto;
  }
  .tourAnotherService ul li + li {
    margin-top: 120px;
  }
  .relatedProject {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
  }
  .relatedProject .projectList.swiper-horizontal .projectListItem:first-of-type {
    padding-left: 0;
  }
  .businessAsideTitle {
    font-size: 2.4rem;
    text-align: left;
  }
  .otherBusiness {
    padding-bottom: 0;
  }
  .otherBusinessContents {
    display: block;
  }
  .otherBusinessContents .businessList {
    margin-top: 60px;
    width: auto;
  }
  .otherBusinessContents .businessList .imgArea {
    margin: 0 auto 30px;
    width: calc(440/512*100%);
  }
  .otherBusinessContents .businessList .textArea {
    width: auto;
  }
  .otherBusinessContents .businessList .lead {
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
  }
  .otherBusinessContents .businessList .iconAddBtm {
    margin: 20px 0 30px;
    min-height: inherit;
    font-size: 2.2rem;
  }
  .otherBusinessContents .businessList .explain {
    display: none;
  }
}



.underTitleArea.consulting:before {
  background-color: #E8EFE4;
}
.consultingSupports {
  margin: 74px 0 0;
}
.consultingSupports ul {
}
.consultingSupport {
  display: flex;
  justify-content: space-between;
}
.consultingSupport + .consultingSupport {
  margin-top: 120px;
}
.consultingSupportImg,
.consultingSupportTxt {
  width: calc(512/1080*100%);
}
.consultingSupportTitle {
  line-height: 1.454;
  font-size: 2.2rem;
  font-weight: bold;
}
.consultingSupport p {
  margin: 16px 0 15px;
  line-height: 1.75;
  font-size: 1.6rem;
}
.consultingSupport dl {
  padding-top: 15px;
  position: relative;
}
.consultingSupport dl:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 1px;
  background-color: #666;
}
.consultingSupport dl dt {
  margin-bottom: 15px;
  line-height: 1.777;
  font-size: 1.8rem;
  font-weight: bold;
}
.consultingSupport dl dd,
.workAchivementList ul li {
  margin-top: 11px;
  padding-left: 16px;
  position: relative;
  line-height: 1.4;
  font-size: 1.4rem;
  font-weight: bold;
}
.workAchivementList ul li li {
  margin-top: 5px;
  padding-left: 0;
  font-size: 1.2rem;
}
.consultingSupport dl dd:before,
.workAchivementList ul li:before {
  content: '';
  border-radius: 100%;
  display: block;
  position: absolute;
  top: .5em;
  left: 0;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 3px rgba(0,0,0,.35) inset;
}
.workAchivementList ul li li:before {
  display: none;
}
.consultingWorks {
}
.workAchivement {
  margin-top: 74px;
  display: flex;
  justify-content: space-between;
}
.workAchivementMap {
  padding: 32px calc(56/1080*100%);
  width: calc(512/1080*100%);
  background-color: var(--color-white);
}
.workAchivementList {
  padding: 25px calc(40/1080*100%);
  border-radius: 12px;
  width: calc(512/1080*100%);
  background-color: var(--color-white);
}
.workAchivementList ul li {
  font-weight: 500;
}
.workAchivementList ul li.right {
  margin-top: 19px;
  text-align: right;
}
.workAchivementList ul li.right:before {
  display: none;
}
@media screen and (max-width: 1024px) {
  .consultingSupport {
    display: block;
  }
  .consultingSupport + .consultingSupport {
    margin-top: 90px;
  }
  .consultingSupportImg,
  .consultingSupportTxt {
    width: auto;
  }
  .consultingSupportTitle {
    margin-top: 20px;
    font-size: 2rem;
    font-weight: bold;
  }
  .consultingSupport dl dt {
    margin-bottom: 18px;
  }
  .consultingWorks {
  }
  .workAchivement {
    margin-top: 58px;
    display: block;
  }
  .workAchivementMap {
    margin: 0 calc(-20/335*100%) 40px;
    padding: 24px calc(40/335*100%);
    width: auto;
  }
  .workAchivementList {
    padding: 32px calc(20/335*100%);
    border-radius: 6px;
    width: auto;
  }
}



.underTitleArea.guide:before {
  background-color: #DEE5EB;
}
.guideAssociation {
}
.guideAssociation .leadImg {
  margin-top: 60px;
}
.guideAssociation .leadImg img {
  width: calc(444/1080*100%);
}
.guidecolumns {
  margin-top: 120px;
  padding: 80px calc(80/1080*100%);
  background-color: var(--color-white);
}
.guideAssociation .guidecolumns {
  background-color: #f8f8f8;
}
.guidecolumnsTitle {
  margin-bottom: 40px;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
.guidecolumns>ul {
  display: flex;
  gap: 68px calc(56/920*100%);
  flex-wrap: wrap;
}
.guidecolumn {
  width: calc(432/920*100%);
}
.guidecolumnImg {
}
.guidecolumnTitle {
  margin: 24px 0 11px;
  line-height: 1.3125;
  font-size: 1.6rem;
  font-weight: bold;
}
.guidecolumn p {
  line-height: 1.857;
  font-size: 1.4rem;
}
.guidecolumn ul {
}
.guidecolumn ul li {
  margin-top: 11px;
  margin-right: 1em;
  padding-left: 16px;
  display: inline-block;
  position: relative;
  line-height: 1.357;
  font-size: 1.4rem;
  font-weight: bold;
}
.guidecolumn ul li:before {
  content: '';
  border-radius: 100%;
  display: block;
  position: absolute;
  top: .4em;
  left: 0;
  width: 6px;
  height: 6px;
  box-shadow: 0 0 3px rgba(0,0,0,.35) inset;
}
.guidecolumns .link {
  margin-top: 70px;
  justify-content: center;
}
.guideApp .leadImg img {
  width: calc(520/1080*100%);
}
@media screen and (max-width: 1024px) {
  .guideAssociation .leadImg {
    margin-top: 74px;
    text-align: center;
  }
  .guideAssociation .leadImg img {
    width: calc(272/375*100%);
  }
  .guidecolumns {
    margin-top: 64px;
    padding: 64px calc(20/335*100%);
  }
  .guidecolumnsTitle {
    margin-bottom: 26px;
    font-size: 2rem;
  }
  .guidecolumns>ul {
    display: block;
  }
  .guidecolumn {
    width: auto;
  }
  .guidecolumn + .guidecolumn {
    margin-top: 68px;
  }
  .guidecolumns .link {
    margin-top: 50px;
    justify-content: flex-end;
  }
  .guideApp .leadImg {
    margin-left: 0;
    margin-right: 0;
  }
  .guideApp .leadImg img {
    width: 100%;
  }
}









.bgG {
  background-color: var(--color-base);
}
.underTitleArea.philosophy {
  margin-bottom: 0;
  padding-bottom: 220px;
  position: relative;
  z-index: 1;
}
.underTitleArea.philosophy .secInner {
  position: relative;
  min-height: calc(606/1920*100vw);
}
.underTitleArea.philosophy .text01 {
  width: calc(560/1080*100%);
}
.underTitleArea.philosophy .img {
  position: absolute;
  top: 0;
  left: calc(50% + 50/1080*100%);
  width: calc(910/1920*100vw);
}
.underTitleArea.philosophy .img img {
  width: 100%;
}
.philosophyMV {
  margin-bottom: 0;
  background-image: url("../images/about/philosophy/img_philosophy_bg-pc.png");
}
.philosophyMV .recruitMvInner {
  max-width: 680px;
}
.philosophyVison .aboutSectionLead p,
.philosophyBrand .aboutSectionLead p {
  margin-left: auto;
  margin-right: auto;
  max-width: 680px;
  text-align: left;
}
.philosophyBrand .aboutSectionLead .leadImg {
  margin-top: 48px;
  margin-left: auto;
  margin-right: auto;
  max-width: 480px;
}
.philosophyStory .aboutSectionLead {
  margin-bottom: 74px;
  text-align: left;
}
.storyIntro {
}
.storyIntro ul {
}
.storyIntro ul li {
  display: flex;
  align-items: flex-end;
}
.storyIntro ul li + li {
  margin-top: 180px;
}
.storyImg {
  width: calc(720/1080*100%);
}
.storyTxt {
  margin: 0 0 -80px calc(-155/1080*100%);
  padding: 36px calc(40/1080*100%);
  position: relative;
  width: calc(515/1080*100%);
  background-color: var(--color-white);
}
.storyTitle {
  margin-bottom: 15px;
  font-size: 2rem;
  font-weight: bold;
}
.storyTitle .num {
  margin-right: 24px;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
}
.storyTxt p {
  line-height: 1.75;
  font-size: 1.6rem;
}
.storyIntro ul li:nth-child(even) {
  flex-direction: row-reverse;
}
.storyIntro ul li:nth-child(even) .storyTxt {
  margin: 0 calc(-155/1080*100%) -80px 0;
}
@media screen and (max-width: 1024px) {
  .moreInfoArea + #contactArea {
    margin-top: 0;
  }
  .underTitleArea.philosophy {
    padding-bottom: 110px;
  }
  .underTitleArea.philosophy .secInner {
    min-height: inherit;
  }
  .underTitleArea.philosophy .text01 {
    width: auto;
  }
  .underTitleArea.philosophy .img {
    margin: 32px calc(-20/335*100%) 40px;
    position: static;
    width: auto;
  }
  .underTitleArea.philosophy .img img {
    width: 100%;
  }
  .philosophyMV {
    margin-bottom: 0;
    background-image: url("../images/about/philosophy/img_philosophy_bg-sp.png");
  }
  .philosophyMV .recruitMvInner,
  .philosophyVison .aboutSectionLead p,
  .philosophyBrand .aboutSectionLead p {
    max-width: inherit;
  }
  .aboutSectionLead .leadLabel {
    margin-bottom: 0;
    text-align: left;
  }
  .philosophyBrand .aboutSectionLead .leadImg {
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    max-width: calc(238/335*100%);
  }
  .storyIntro {
  }
  .storyIntro ul {
  }
  .storyIntro ul li {
    display: block;
  }
  .storyIntro ul li + li {
    margin-top: 90px;
  }
  .storyImg {
    margin: 0 calc(-20/335*100%) calc(-20/335*100%);
    width: auto;
  }
  .storyTxt {
    margin: 0 !important;
    padding: 36px calc(25/335*100%);
    width: auto;
  }
}


.companyInfo .aboutSectionLead {
  margin-bottom: 60px;
}
.companyInfo ul.listCont,
.companyAccess ul.listCont {
  margin: 0 auto;
  max-width: 800px;
}
.companyInfo ul.listCont li {
}
.companyInfo ul.listCont li dl dt {
  width: 160px;
}
.companyInfo ul.listCont li dl dd {
  width: calc(100% - 160px - 2em);
}
.companyAccess {
}
.companyAccess .mapArea {
  margin: 67px 0 40px;
}
.companyAccess .mapArea .gmap {
  padding-top: calc(480/1080*100%);
  position: relative;
}
.companyAccess .mapArea .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.companyAccess ul.listCont li dl dt {
  width: 120px;
}
.companyAccess ul.listCont li dl dd {
  width: calc(100% - 120px - 2em);
}
.companyAccess ul.listCont li dl dd a {
  margin-left: 2em;
  padding-left: 1.5em;
  display: inline-block;
  background: url(../images/common/icon_gmap.svg) top left / 12px 16px no-repeat;
  font-size: 1.2rem;
  font-weight: 400;
}
@media screen and (min-width: 1025px) {
.companyAccess ul.listCont li dl dd.stationInfo {
  display: flex;
  flex-wrap: wrap;
}
.companyAccess ul.listCont li dl dd.stationInfo .line {
  width: 20em;
}
.companyAccess ul.listCont li dl dd.stationInfo .lineex {
  width: calc(100% - 20em);
}
}
@media screen and (max-width: 1024px) {
  .companyInfo .aboutSectionLead {
    margin-bottom: 30px;
  }
  .companyInfo ul.listCont li dl dt,
  .companyInfo ul.listCont li dl dd,
  .companyAccess ul.listCont li dl dt,
  .companyAccess ul.listCont li dl dd {
    width: auto;
  }
  .companyAccess ul.listCont li dl dd a {
    margin-left: 0;
  }
  .companyAccess .mapArea {
    margin: 37px calc(-20/335*100%) 40px;
  }
  .companyAccess ul.listCont li dl dd.stationInfo .lineex + .line {
    margin-top: .5em;
  }
}


.featuresLeadArea {
  padding-bottom: 0;
}
.featuresLeadArea .aboutSectionImg {
  margin-top: 74px;
}
.featuresArea .secInner .link {
  margin-left: 1em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.featuresArea .link .icon_arrowWhite {
  width: 21px;
  height: 21px;
}
.featuresArea .icon_arrowWhite:after {
  width: 3px;
  height: 3px;
}

.mediaArea .secLinksArea {
  margin-top: 48px;
}
.featuresNavi {
  margin-bottom: 140px;
}
.featuresNavi .leadTitle {
  margin-bottom: 40px;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
}
.featuresNavi ul {
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  background-color: #FAFAFA;
  border-radius: 10px;
  box-shadow: 0px 10px 10px -5px rgb(176 176 176 / 30%);
}
.featuresNavi ul li {
  width: 50%;
  border-right: #333 1px dashed;
  border-bottom: #333 1px dashed;
  text-align: left;
}
.featuresNavi ul li:nth-child(even) {
  border-right: none;
}
.featuresNavi ul li a {
  padding: 30px 56px;
  display: block;
  position: relative;
  color: #111;
  transition: var(--transition-all);
}
.featuresNavi ul li a:after {
  content: "";
  width: 1.1em;
  height: 1.1em;
  border-top: 1px solid #111;
  border-right: 1px solid #111;
  transform: rotate(135deg);
  position: absolute;
  margin: auto;
  top: 0;
  bottom: -15px;
  right: 50px;
  transition: var(--transition-all);
}
.featuresNavi ul li a:hover {
  text-decoration: none;
}
.featuresNavi ul li .numlabel {
  margin-bottom: 1em;
  font-size: 1.4rem;
  line-height: 1;
}
.featuresNavi ul li .title {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
}
.featureLead {
  max-width: 680px;
  margin: 0 auto 48px;
}
.featureLead .leadLabel {
  margin-bottom: 1em;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.46;
  text-align: center;
}
.featureLead .leadTitle {
  margin-bottom: 1em;
  font-size: 3.2rem;
  font-weight: bold;
  line-height: 1.46;
  text-align: center;
}
.featureLead p {
  margin-bottom: 0.75em;
  font-size: 1.8rem;
  line-height: 1.64;
  text-align: left;
}
.featuresArea .boxArea {
  padding: 80px 0 75px;
  background-color: #FAFAFA;
  text-align: center;
}
.boxArea .boxAreaLead {
  margin-bottom: 1.2em;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.64;
  text-align: center;
}
.featuresArea .featureItem {
  margin-top: -120px;
  padding-top: 120px;
  margin-bottom: 140px;
}
.plannigImg {
  max-width: 912px;
  margin: auto;
}
.featuresArea .featureItem.feature04 {
  margin-bottom: 0;
}
ul.platformList {
  padding: 0 84px;
  display: flex;
  justify-content: space-between;
}
ul.platformList > li {
  width: 168px;
}
ul.platformList > li .img {
  margin-bottom: 3.2rem;
  display: block;
}
ul.platformList > li .cat {
  margin-bottom: 0.8em;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
ul.platformList > li .text {
  font-size: 1.4rem;
  line-height: 1.64;
  text-align: left;
  letter-spacing: -0.1em;
}
ul.list-disc li {
  position: relative;
  padding-left: 1em;
}
ul.list-disc li:before {
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  border-radius: 6px;
  border: #D9D9D9 1px solid;
  background-color: #fafafa;
  position: absolute;
  top: 7px;
  left: 0;
}
ul.trainingList {
  padding: 0 64px;
  display: flex;
  justify-content: space-between;
}
ul.trainingList li {
  width: 290px;
}
ul.trainingList > li .img {
  margin-bottom: 3.2rem;
  display: block;
}
ul.trainingList > li .cat {
  margin-bottom: 0.8em;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 1025px) {
.featuresNavi ul li a:hover {
  color: #EE7500;
  transition: var(--transition-all);
}
.featuresNavi ul li a:hover:after {
  bottom: -25px;
  transition: var(--transition-all);
}
.featuresNavi ul li:nth-last-child(-n+2) {
  border-bottom: none;
}
}

@media screen and (max-width: 1024px) {
.featuresLeadArea .aboutSectionImg {
  margin-top: 90px;
}
.featuresArea .secInner .link {
  margin-top: 2em
}
.featuresArea .link .icon_arrowWhite {
  width: 21px;
  height: 21px;
}

.mediaArea .secLinksArea {
  margin-top: 120px;
}
.featuresNavi {
  margin-bottom: 100px;
}
.featuresNavi ul {
  padding: 0 5px;
  display: block;
}
.featuresNavi ul li {
  width: 100%;
  border-right: none;
}
.featuresNavi ul li:last-child {
  border-bottom: none;
}
.featuresNavi ul li a {
  padding: 24px 20px;
  display: block;
}
.featuresNavi ul li a:after {
  bottom: -15px;
  right: 10px;
}
.featuresNavi ul li .numlabel {
  font-size: 1.2rem;
}
.featuresNavi ul li .title {
  font-size: 1.4rem;
}
.featureLead {
  margin: 0 auto 45px;
}
.featureLead .leadTitle {
  margin-bottom: 0.8em;
  font-size: 2.4rem;
  line-height: 1.64;
  text-align: left;
}
.featuresArea .boxArea {
  padding: 64px 25px;
}
.boxArea .boxAreaLead {
  margin-bottom: 1em;
  font-size: 2rem;
}
.featuresArea .featureItem {
  margin-top: -80px;
  padding-top: 80px;
  margin-bottom: 100px;
}
ul.platformList {
  padding: 0;
  display: block;
  justify-content: space-between;
}
ul.platformList > li {
  width: 100%;
  margin: 0 auto 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 16px;
}
ul.platformList > li:last-child {
  margin-bottom: 0
}
ul.platformList > li .img {
  width: 110px;
  margin-bottom: 0;
}
ul.platformList > li .cat {
  text-align: left;
}
ul.platformList > li .info {
  width: calc(100% - 100px);
}
ul.trainingList {
  padding: 0;
  display: block;
}
ul.trainingList li {
  width: 100%;
  margin-bottom: 40px;
}
ul.trainingList li:last-of-type {
  margin-bottom: 0;
}
.mediaArea .secLinksArea {
  margin-top: 40px;
}
.post_row {
  display: block;
  padding: 0 calc(20/375*100vw);
}
.post_col-2 {
  margin-right: 0px;
}
.post_col {
  margin-right: 0px;
}
}







.underTitleArea.business.anime .img {
  opacity: 0;
  transition: opacity ease 1s;
}
.underTitleArea.business.animated .img {
  opacity: 1;
}








.wpcf7 form .wpcf7-response-output {
  margin-bottom: 0 !important;
}
.wpcf7-not-valid-tip {
  margin-top: 5px;
}


@media screen and (min-width: 1025px) {
  #specialArea {
  }
  #specialArea .specialAreaInner {
    max-width: inherit;
  }
  #specialArea .secLeadArea,
  #specialArea .text01 {
    margin-left: auto;
    margin-right: auto;
    max-width: 1080px;
  }
  #specialArea .swiper-scrollbar {
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    max-width: 1080px;
  }
}