/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
:after,
:before {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  line-height: 1.15
}

body {
  margin: 0
}

main {
  display: block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
  margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit
}

ol,
ul {
  margin: 0;
  padding: 0
}

dt {
  font-weight: 700
}

dd {
  margin-left: 0
}

hr {
  box-sizing: content-box;
  height: 0;
  margin: 0;
  clear: both;
  overflow: visible;
  border-top-width: 1px;
  color: inherit
}

pre {
  font-size: inherit;
  font-family: monospace, monospace
}

address {
  font-style: inherit
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none
}

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

b,
strong {
  font-weight: 700
}

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

small {
  font-size: 80%
}

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

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

embed,
iframe,
img,
object {
  vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  vertical-align: middle
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio
}

button,
input {
  overflow: visible
}

button,
select {
  text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer
}

[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled],
button[disabled] {
  cursor: default
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: none
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}

fieldset,
option {
  padding: 0
}

fieldset {
  min-width: 0;
  margin: 0
}

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

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

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

[type=search] {
  outline-offset: -2px
}

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

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

label[for] {
  cursor: pointer
}

details {
  display: block
}

summary {
  display: list-item
}

[contenteditable] {
  outline: none
}

table {
  border-spacing: 0
}

caption {
  text-align: left
}

td,
th {
  padding: 0;
  vertical-align: top
}

th {
  font-weight: 700;
  text-align: left
}

[hidden],
template {
  display: none
}

* {
  -webkit-overflow-scrolling: touch
}

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

html {
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  font-size: 10px
}

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  min-width: 1080px;
  color: #000;
  font-size: 1.6rem;
  line-height: 1;
  font-family: Noto Sans JP, YuGothic, Yu Gothic Medium, Yu Gothic, Verdana, Meiryo, sans-serif
}

a,
button {
  outline: none;
  color: #000;
  text-decoration: none
}

img,
svg,
video {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast
}

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

table td,
table th {
  vertical-align: top
}

input::-ms-clear {
  display: none
}

ol,
ul {
  list-style: none;
  list-style-position: inside
}

button,
input,
select,
textarea {
  font-family: inherit
}

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

button:focus {
  outline: none
}

.c-serif {
  font-family: "Noto Serif JP", serif
}

.l-cv {
  padding: 100px 0;
  background: url(../images/bg2@2x.jpg) 50% no-repeat;
  background-size: cover;
  text-align: center
}

.l-cv__title {
  margin-bottom: 30px;
  color: #fff;
  font-size: 69px
}

.l-cv__text {
  margin-bottom: 50px;
  color: #fff;
  font-size: 14px;
  line-height: 2;
  text-align: center
}

.l-cv__btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 477px;
  height: 87px;
  border: 3px solid #fff;
  color: #fff;
  font-weight: 500;
  font-size: 28px
}

.l-cv__btn a img {
  margin-right: 20px
}

.l-fb {
  padding: 100px 0;
  background: url(../images/bg3@2x.jpg) 50% no-repeat;
  background-size: cover
}

.l-fb__btns {
  gap: 170px
}

.l-fb__btns,
.l-fb__btns a {
  display: flex;
  justify-content: center
}

.l-fb__btns a {
  align-items: center;
  font-weight: 700;
  font-size: 20px
}

.l-fb__btns a img {
  width: 37px;
  margin-right: 20px
}

.l-fnav {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 30px 0;
  gap: 50px;
  background-color: #004c86;
  text-align: center
}

.l-fnav a {
  color: #fff;
  font-size: 16px
}

.l-ftr {
  padding: 100px 0 50px;
  text-align: center
}

.l-ftr__logo img {
  width: 244px
}

.l-ftr__addr {
  margin: 50px 0 100px;
  font-size: 14px;
  line-height: 1.9285714286;
  letter-spacing: .08em
}

.l-ftr__copy {
  color: #727171;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: .1em
}

.l-hmb {
  z-index: 9999;
  position: fixed;
  top: 20px;
  right: 20px;
  width: 64px;
  height: 34px;
  transition: .3s ease
}

.l-hmb>span {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  margin: auto 0;
  background-color: #fff;
  transition: .8s ease
}

.l-hmb>span:first-child {
  transform: translateY(-14px)
}

.l-hmb>span:nth-child(3) {
  transform: translateY(14px)
}

.l-hmb.is-open {
  transform: rotate(180deg)
}

.l-hmb.is-open>span:first-child {
  transform: rotate(45deg) scale(.8)
}

.l-hmb.is-open>span:nth-child(2) {
  opacity: 0
}

.l-hmb.is-open>span:nth-child(3) {
  transform: rotate(135deg) scale(.8)
}

.l-gnav {
  z-index: 999;
  position: fixed;
  top: 0;
  left: 0;
  justify-content: flex-end;
  width: 100%;
  overflow: hidden;
  transform: translateX(110%);
  background-color: #2f2725;
  transition: 1s
}

.l-gnav,
.l-gnav__inner {
  display: flex;
  align-items: center;
  height: 100%
}

.l-gnav__inner .image {
  width: 70%;
  height: 100%;
  transform: translateX(-100%);
  transition: 1s ease
}

.l-gnav__inner .image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover
}

.l-gnav__inner nav {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: flex-start;
  width: 529px;
  margin-left: 100px;
  gap: 40px
}

.l-gnav__inner nav a {
  display: block;
  overflow: hidden
}

.l-gnav__inner nav a .text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  transform: translateY(100%);
  transition: 1s ease 1s
}

.l-gnav__inner nav a .en {
  color: #fff;
  font-weight: 500;
  font-size: 40px;
  letter-spacing: .05em
}

.l-gnav__inner nav a .ja {
  color: #62b0e3;
  font-size: 18px;
  letter-spacing: .05em
}

.l-gnav.is-open {
  transform: translateX(0)
}

.l-gnav.is-open .l-gnav__inner .image {
  transform: translateX(0);
  transition-delay: 1s
}

.l-gnav.is-open .l-gnav__inner nav a .text {
  transform: translateY(0)
}

.l-main {
  overflow: hidden
}

.c-btnA {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 316px;
  padding: 20px 30px;
  background: #004c86;
  color: #fff;
  font-weight: 500;
  font-size: 21px
}

.c-btnA:after {
  width: 52px;
  height: 11px;
  background: url(../images/arrow_w.svg) 50% no-repeat;
  background-size: contain;
  content: "";
  transition: .3s ease
}

.c-btnA--white {
  background-color: #fff;
  color: #231815
}

.c-btnA--white:after {
  background: url(../images/arrow.svg) 50% no-repeat;
  content: ""
}

.c-btnA:hover:after {
  transform: translateX(20px)
}

.c-btnB {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  width: 475px;
  padding: 20px 30px;
  background: #f4f4f4;
  color: #231815;
  font-weight: 500;
  font-size: 21px
}

.c-btnB .text,
.c-btnB svg {
  margin-left: auto
}

.c-btnB svg {
  width: 23px
}

.c-btnB svg path {
  fill: #231815
}

.c-btnB--blue {
  background: #004c86;
  color: #fff
}

.c-btnB--blue svg path {
  fill: #fff
}

.c-btnB:hover:after {
  transform: translateX(20px)
}

.c-mv {
  display: flex;
  position: relative;
  justify-content: center;
  height: 987px;
  margin-bottom: 100px;
  padding: 280px 0 0;
  background: url(../images/page_mv@2x.jpg);
  background-size: cover
}

.c-mv__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center
}

.c-mv__title .en {
  margin-bottom: 10px;
  font-size: 55px
}

.c-mv__title .en,
.c-mv__title .ja {
  line-height: 1.4;
  letter-spacing: .06em
}

.c-mv__title .ja {
  font-size: 32px
}

.c-pankuzu {
  padding: 12px 0;
  background-color: #e6f2f8
}

.c-pankuzu ul {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  width: 100%;
  -webkit-line-clamp: 1;
  overflow: hidden
}

.c-pankuzu ul li {
  display: inline
}

.c-pankuzu ul li+li:before {
  margin: 0 3px;
  content: ">";
  color: #000
}

.c-pankuzu ul li a,
.c-pankuzu ul li span {
  font-size: 16px
}

.c-pankuzu__list {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  width: 100%;
  -webkit-line-clamp: 1;
  overflow: hidden
}

.c-pankuzu__list>span+span:before {
  margin: 0 3px;
  content: ">";
  color: #000;
  font-size: 14px
}

.c-pankuzu__list>span>a,
.c-pankuzu__list>span>span {
  font-size: 14px
}

.c-scroll {
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 1800px;
  margin: 0 auto;
  padding: 0 50px;
  transform: translateY(calc(100% + 100px));
  pointer-events: none
}

.c-titA {
  justify-content: center;
  margin-bottom: 150px;
  border-bottom: 2px solid #c9caca
}

.c-titA,
.c-titA__inner {
  display: flex;
  position: relative
}

.c-titA__inner {
  flex-direction: column;
  width: 100%;
  max-width: 1200px;
  padding-bottom: 40px
}

.c-titA__inner:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 120px;
  height: 2px;
  background-color: #231815;
  content: ""
}

.c-titA .en {
  margin-bottom: 10px;
  font-size: 60px;
  line-height: 1.2
}

.c-titA .ja {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: .05em
}

.c-inner {
  width: calc(100% - 40px);
  max-width: 1530px;
  margin-right: auto;
  margin-left: auto
}

.c-inner--1200 {
  max-width: 1200px
}

.c-ofi {
  -o-object-fit: cover;
  -o-object-position: center;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  font-family: "object-fit: cover;, object-position: center;"
}

.mb5 {
  margin-bottom: 5px !important
}

.mt5 {
  margin-top: 5px !important
}

.mb10 {
  margin-bottom: 10px !important
}

.mt10 {
  margin-top: 10px !important
}

.mb15 {
  margin-bottom: 15px !important
}

.mt15 {
  margin-top: 15px !important
}

.mb20 {
  margin-bottom: 20px !important
}

.mt20 {
  margin-top: 20px !important
}

.mb25 {
  margin-bottom: 25px !important
}

.mt25 {
  margin-top: 25px !important
}

.mb30 {
  margin-bottom: 30px !important
}

.mt30 {
  margin-top: 30px !important
}

.mb35 {
  margin-bottom: 35px !important
}

.mt35 {
  margin-top: 35px !important
}

.mb40 {
  margin-bottom: 40px !important
}

.mt40 {
  margin-top: 40px !important
}

.mb45 {
  margin-bottom: 45px !important
}

.mt45 {
  margin-top: 45px !important
}

.mb50 {
  margin-bottom: 50px !important
}

.mt50 {
  margin-top: 50px !important
}

.mb55 {
  margin-bottom: 55px !important
}

.mt55 {
  margin-top: 55px !important
}

.mb60 {
  margin-bottom: 60px !important
}

.mt60 {
  margin-top: 60px !important
}

.mb65 {
  margin-bottom: 65px !important
}

.mt65 {
  margin-top: 65px !important
}

.mb70 {
  margin-bottom: 70px !important
}

.mt70 {
  margin-top: 70px !important
}

.mb75 {
  margin-bottom: 75px !important
}

.mt75 {
  margin-top: 75px !important
}

.mb80 {
  margin-bottom: 80px !important
}

.mt80 {
  margin-top: 80px !important
}

.mb85 {
  margin-bottom: 85px !important
}

.mt85 {
  margin-top: 85px !important
}

.mb90 {
  margin-bottom: 90px !important
}

.mt90 {
  margin-top: 90px !important
}

.mb95 {
  margin-bottom: 95px !important
}

.mt95 {
  margin-top: 95px !important
}

.mb100 {
  margin-bottom: 100px !important
}

.mt100 {
  margin-top: 100px !important
}

.mb105 {
  margin-bottom: 105px !important
}

.mt105 {
  margin-top: 105px !important
}

.mb110 {
  margin-bottom: 110px !important
}

.mt110 {
  margin-top: 110px !important
}

.mb115 {
  margin-bottom: 115px !important
}

.mt115 {
  margin-top: 115px !important
}

.mb120 {
  margin-bottom: 120px !important
}

.mt120 {
  margin-top: 120px !important
}

.mb125 {
  margin-bottom: 125px !important
}

.mt125 {
  margin-top: 125px !important
}

.mb130 {
  margin-bottom: 130px !important
}

.mt130 {
  margin-top: 130px !important
}

.mb135 {
  margin-bottom: 135px !important
}

.mt135 {
  margin-top: 135px !important
}

.mb140 {
  margin-bottom: 140px !important
}

.mt140 {
  margin-top: 140px !important
}

.mb145 {
  margin-bottom: 145px !important
}

.mt145 {
  margin-top: 145px !important
}

.mb150 {
  margin-bottom: 150px !important
}

.mt150 {
  margin-top: 150px !important
}

.mb155 {
  margin-bottom: 155px !important
}

.mt155 {
  margin-top: 155px !important
}

.mb160 {
  margin-bottom: 160px !important
}

.mt160 {
  margin-top: 160px !important
}

.mb165 {
  margin-bottom: 165px !important
}

.mt165 {
  margin-top: 165px !important
}

.mb170 {
  margin-bottom: 170px !important
}

.mt170 {
  margin-top: 170px !important
}

.mb175 {
  margin-bottom: 175px !important
}

.mt175 {
  margin-top: 175px !important
}

.mb180 {
  margin-bottom: 180px !important
}

.mt180 {
  margin-top: 180px !important
}

.mb185 {
  margin-bottom: 185px !important
}

.mt185 {
  margin-top: 185px !important
}

.mb190 {
  margin-bottom: 190px !important
}

.mt190 {
  margin-top: 190px !important
}

.mb195 {
  margin-bottom: 195px !important
}

.mt195 {
  margin-top: 195px !important
}

.mb200 {
  margin-bottom: 200px !important
}

.mt200 {
  margin-top: 200px !important
}

.mb205 {
  margin-bottom: 205px !important
}

.mt205 {
  margin-top: 205px !important
}

.mb210 {
  margin-bottom: 210px !important
}

.mt210 {
  margin-top: 210px !important
}

.mb215 {
  margin-bottom: 215px !important
}

.mt215 {
  margin-top: 215px !important
}

.mb220 {
  margin-bottom: 220px !important
}

.mt220 {
  margin-top: 220px !important
}

.mb225 {
  margin-bottom: 225px !important
}

.mt225 {
  margin-top: 225px !important
}

.mb230 {
  margin-bottom: 230px !important
}

.mt230 {
  margin-top: 230px !important
}

.mb235 {
  margin-bottom: 235px !important
}

.mt235 {
  margin-top: 235px !important
}

.mb240 {
  margin-bottom: 240px !important
}

.mt240 {
  margin-top: 240px !important
}

.mb245 {
  margin-bottom: 245px !important
}

.mt245 {
  margin-top: 245px !important
}

.mb250 {
  margin-bottom: 250px !important
}

.mt250 {
  margin-top: 250px !important
}

.mb255 {
  margin-bottom: 255px !important
}

.mt255 {
  margin-top: 255px !important
}

.mb260 {
  margin-bottom: 260px !important
}

.mt260 {
  margin-top: 260px !important
}

.mb265 {
  margin-bottom: 265px !important
}

.mt265 {
  margin-top: 265px !important
}

.mb270 {
  margin-bottom: 270px !important
}

.mt270 {
  margin-top: 270px !important
}

.mb275 {
  margin-bottom: 275px !important
}

.mt275 {
  margin-top: 275px !important
}

.mb280 {
  margin-bottom: 280px !important
}

.mt280 {
  margin-top: 280px !important
}

.mb285 {
  margin-bottom: 285px !important
}

.mt285 {
  margin-top: 285px !important
}

.mb290 {
  margin-bottom: 290px !important
}

.mt290 {
  margin-top: 290px !important
}

.mb295 {
  margin-bottom: 295px !important
}

.mt295 {
  margin-top: 295px !important
}

.mb300 {
  margin-bottom: 300px !important
}

.mt300 {
  margin-top: 300px !important
}

.mb305 {
  margin-bottom: 305px !important
}

.mt305 {
  margin-top: 305px !important
}

.mb310 {
  margin-bottom: 310px !important
}

.mt310 {
  margin-top: 310px !important
}

.mb315 {
  margin-bottom: 315px !important
}

.mt315 {
  margin-top: 315px !important
}

.mb320 {
  margin-bottom: 320px !important
}

.mt320 {
  margin-top: 320px !important
}

.mb325 {
  margin-bottom: 325px !important
}

.mt325 {
  margin-top: 325px !important
}

.mb330 {
  margin-bottom: 330px !important
}

.mt330 {
  margin-top: 330px !important
}

.mb335 {
  margin-bottom: 335px !important
}

.mt335 {
  margin-top: 335px !important
}

.mb340 {
  margin-bottom: 340px !important
}

.mt340 {
  margin-top: 340px !important
}

.mb345 {
  margin-bottom: 345px !important
}

.mt345 {
  margin-top: 345px !important
}

.mb350 {
  margin-bottom: 350px !important
}

.mt350 {
  margin-top: 350px !important
}

.mb355 {
  margin-bottom: 355px !important
}

.mt355 {
  margin-top: 355px !important
}

.mb360 {
  margin-bottom: 360px !important
}

.mt360 {
  margin-top: 360px !important
}

.mb365 {
  margin-bottom: 365px !important
}

.mt365 {
  margin-top: 365px !important
}

.mb370 {
  margin-bottom: 370px !important
}

.mt370 {
  margin-top: 370px !important
}

.mb375 {
  margin-bottom: 375px !important
}

.mt375 {
  margin-top: 375px !important
}

.mb380 {
  margin-bottom: 380px !important
}

.mt380 {
  margin-top: 380px !important
}

.mb385 {
  margin-bottom: 385px !important
}

.mt385 {
  margin-top: 385px !important
}

.mb390 {
  margin-bottom: 390px !important
}

.mt390 {
  margin-top: 390px !important
}

.mb395 {
  margin-bottom: 395px !important
}

.mt395 {
  margin-top: 395px !important
}

.mb400 {
  margin-bottom: 400px !important
}

.mt400 {
  margin-top: 400px !important
}

.mb405 {
  margin-bottom: 405px !important
}

.mt405 {
  margin-top: 405px !important
}

.mb410 {
  margin-bottom: 410px !important
}

.mt410 {
  margin-top: 410px !important
}

.mb415 {
  margin-bottom: 415px !important
}

.mt415 {
  margin-top: 415px !important
}

.mb420 {
  margin-bottom: 420px !important
}

.mt420 {
  margin-top: 420px !important
}

.mb425 {
  margin-bottom: 425px !important
}

.mt425 {
  margin-top: 425px !important
}

.mb430 {
  margin-bottom: 430px !important
}

.mt430 {
  margin-top: 430px !important
}

.mb435 {
  margin-bottom: 435px !important
}

.mt435 {
  margin-top: 435px !important
}

.mb440 {
  margin-bottom: 440px !important
}

.mt440 {
  margin-top: 440px !important
}

.mb445 {
  margin-bottom: 445px !important
}

.mt445 {
  margin-top: 445px !important
}

.mb450 {
  margin-bottom: 450px !important
}

.mt450 {
  margin-top: 450px !important
}

.mb455 {
  margin-bottom: 455px !important
}

.mt455 {
  margin-top: 455px !important
}

.mb460 {
  margin-bottom: 460px !important
}

.mt460 {
  margin-top: 460px !important
}

.mb465 {
  margin-bottom: 465px !important
}

.mt465 {
  margin-top: 465px !important
}

.mb470 {
  margin-bottom: 470px !important
}

.mt470 {
  margin-top: 470px !important
}

.mb475 {
  margin-bottom: 475px !important
}

.mt475 {
  margin-top: 475px !important
}

.mb480 {
  margin-bottom: 480px !important
}

.mt480 {
  margin-top: 480px !important
}

.mb485 {
  margin-bottom: 485px !important
}

.mt485 {
  margin-top: 485px !important
}

.mb490 {
  margin-bottom: 490px !important
}

.mt490 {
  margin-top: 490px !important
}

.mb495 {
  margin-bottom: 495px !important
}

.mt495 {
  margin-top: 495px !important
}

.mb500 {
  margin-bottom: 500px !important
}

.mt500 {
  margin-top: 500px !important
}

.c-center {
  text-align: center
}

.c-left {
  text-align: left
}

.c-right {
  text-align: right
}

#company .c-mv {
  background-image: url(../images/company_mv@2x.jpg)
}

#company .p-sec01__block {
  display: flex
}

#company .p-sec01__block .textarea {
  display: flex;
  flex-direction: column;
  width: 970px
}

#company .p-sec01__block .textarea .title {
  display: flex;
  position: relative;
  flex-direction: column;
  margin-bottom: 40px;
  padding-right: 140px;
  padding-bottom: 40px;
  padding-left: 80px;
  border-bottom: 2px solid #c9caca;
  font-weight: 500;
  font-size: 36px;
  line-height: 1.6111111111
}

#company .p-sec01__block .textarea .title .en {
  margin-bottom: 10px;
  font-size: 60px;
  line-height: 1.2
}

#company .p-sec01__block .textarea .title .ja {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: .05em
}

#company .p-sec01__block .textarea .title:after {
  position: absolute;
  bottom: -2px;
  left: 80px;
  width: 86px;
  height: 2px;
  background: #231815;
  content: ""
}

#company .p-sec01__block .textarea .text {
  padding-right: 140px;
  padding-left: 80px;
  font-size: 18px;
  line-height: 2.2777777778
}

#company .p-sec01__block .textarea .text2 {
  margin-top: 50px;
  margin-left: auto;
  padding-right: 140px;
  font-size: 18px;
  line-height: 1.5
}

#company .p-sec01__block .textarea .text2 strong {
  font-weight: 400;
  font-size: 21px
}

#company .p-sec01__block .image {
  width: 378px
}

#company .p-sec02 {
  margin: 180px 0
}

#company .p-sec02:before {
  display: block;
  width: 1px;
  height: 133px;
  margin: 0 auto 70px;
  background-color: #2f2725;
  content: ""
}

#company .p-sec02__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px
}

#company .p-sec02__title .en {
  margin-bottom: 10px;
  font-size: 60px;
  line-height: 1.2
}

#company .p-sec02__title .ja {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: .05em
}

#company .p-sec02__bg {
  padding: 100px 0;
  background-color: #f4f4f4
}

#company .p-sec02__stitle {
  margin-bottom: 40px;
  font-weight: 500;
  font-size: 42px;
  line-height: 1.2
}

#company .p-sec02 table {
  border-bottom: 1px solid #727171
}

#company .p-sec02 table+.p-sec02__stitle {
  margin-top: 150px
}

#company .p-sec02 table tr {
  border-top: 1px solid #727171
}

#company .p-sec02 table tr td,
#company .p-sec02 table tr th {
  padding: 15px 0;
  font-size: 20px;
  line-height: 1.8
}

#company .p-sec02 table tr th {
  width: 220px;
  padding-left: 20px
}

#company .p-sec03 {
  margin: 200px 0
}

#company .p-sec03__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 80px
}

#company .p-sec03__title .en {
  margin-bottom: 10px;
  font-size: 60px;
  line-height: 1.2
}

#company .p-sec03__title .ja {
  font-weight: 500;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: .05em
}

#company .p-sec03__block+div {
  margin-top: 50px
}

#company .p-sec03__block .flex {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 30px;
  gap: 40px
}

#company .p-sec03__block .flex iframe {
  width: 100%;
  height: 352px
}

#company .p-sec03__block .title {
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 30px
}

#company .p-sec03__block .addr {
  font-size: 20px;
  line-height: 1.4
}

#contact .c-mv {
  background-image: url(../images/contact_mv@2x.jpg)
}

#contact .p-sec01 {
  margin-bottom: 150px
}

#contact .p-sec01__title {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  margin-bottom: 100px;
  padding-bottom: 40px;
  border-bottom: 2px solid #c9caca;
  text-align: center
}

#contact .p-sec01__title:after {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  width: 111px;
  height: 2px;
  margin: 0 auto;
  background: #231815;
  content: ""
}

#contact .p-sec01__title .en {
  margin-bottom: 30px;
  color: #3e3a39;
  font-weight: 500;
  font-size: 60px
}

#contact .p-sec01__title .ja {
  font-size: 24px
}

#contact .p-sec01-form dl {
  -ms-grid-columns: 360px auto;
  display: -ms-grid;
  display: grid;
  grid-template-columns: 360px auto;
  align-items: flex-start
}

#contact .p-sec01-form dl+dl {
  margin-top: 30px
}

#contact .p-sec01-form dl dt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 70px;
  font-size: 20px
}

#contact .p-sec01-form dl dt .req {
  padding: 10px 20px;
  background-color: #004c86;
  color: #fff;
  font-weight: 700;
  font-size: 18px
}

#contact .p-sec01-form dl dd {
  font-size: 18px;
  line-height: 1.5
}

#contact .p-sec01-form dl dd input[type=text],
#contact .p-sec01-form dl dd textarea {
  width: 100%;
  padding: 10px 20px;
  background-color: #f4f4f4
}

#contact .p-sec01-form dl dd textarea {
  height: 260px
}

#contact .p-sec01-form dl dd .check {
  display: flex;
  flex-wrap: wrap;
  gap: 40px
}

#contact .p-sec01-form dl dd .check label {
  display: flex;
  align-items: center
}

#contact .p-sec01-form dl dd .check label input {
  width: 24px;
  height: 24px;
  margin-right: 10px;
  transform: translateY(1px);
  background-color: #f4f4f4
}

#contact .p-sec01-form dl dd .btn {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 70px;
  gap: 20px
}

#contact .p-sec01-form dl dd .btn button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 372px;
  height: 58px;
  background-color: #2f2725;
  color: #fff;
  font-size: 18px;
  letter-spacing: .08em
}

#contact .p-sec01__contact {
  margin-top: 150px
}

#contact .p-sec01__contact .text1 {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  text-align: center
}

#contact .p-sec01__contact .btn {
  text-align: center
}

#contact .p-sec01__contact .btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 30px 70px;
  gap: 20px;
  background-color: #004c86;
  color: #fff
}

#contact .p-sec01__contact .btn a .num {
  font-weight: 600;
  font-size: 34px;
  letter-spacing: .1em
}

#contact .p-sec01__contact .btn a .time {
  font-size: 20px
}

#contact .p-thanks {
  margin-bottom: 150px;
  text-align: center
}

#contact .p-thanks p {
  margin-bottom: 50px;
  font-size: 20px;
  line-height: 2
}

#property .p-btns {
  display: flex;
  justify-content: center;
  gap: 80px
}

#property .p-btns,
#property .p-sec01 {
  margin-bottom: 200px
}

#property .p-sec01__list li {
  background: linear-gradient(90deg, #f4f4f4 50%, #fff 0)
}

#property .p-sec01__list li:nth-child(n+6) {
  display: none
}

#property .p-sec01__list li+li {
  margin-top: 80px
}

#property .p-sec01__list li .c-inner {
  background-color: #f4f4f4
}

#property .p-sec01__list li .flex {
  -ms-grid-columns: 603fr 554fr;
  display: -ms-grid;
  display: grid;
  grid-template-columns: 603fr 554fr;
  align-items: flex-end;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 0;
  gap: 30px
}

#property .p-sec01__list li .left .title {
  display: flex;
  position: relative;
  flex-direction: column;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 2px solid #c9caca;
  font-weight: 500;
  letter-spacing: .05em
}

#property .p-sec01__list li .left .title:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 112px;
  height: 2px;
  background: #004c86;
  content: ""
}

#property .p-sec01__list li .left .title .en {
  margin-bottom: 10px;
  font-size: 30px
}

#property .p-sec01__list li .left .title .ja {
  font-size: 20px
}

#property .p-sec01__list li .left .image {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px
}

#property .p-sec01__list li .left .image img,
#property .p-sec01__list li .right img {
  width: 100%
}

#property .p-sec01__more {
  margin-top: 100px;
  text-align: center
}

#property .p-sec01__more a {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 475px;
  height: 75px;
  background-color: #231815;
  color: #fff;
  font-weight: 600;
  font-size: 22px
}

#property .p-sec01__more a:after {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 23px;
  height: 13px;
  margin: auto 0;
  background: url(../images/icon_downarrow@2x.svg) 50% no-repeat;
  background-size: contain;
  content: ""
}

#property .p-sec01--management .p-sec01__list li {
  background: linear-gradient(90deg, #004c86 50%, #fff 0)
}

#property .p-sec01--management .p-sec01__list li .c-inner {
  background-color: #004c86
}

#property .p-sec01--management .p-sec01__list li .left .title {
  color: #fff
}

#property .p-sec01--management .p-sec01__list li .left .title:after {
  background-color: #fff100
}

#top .p-loadanime {
  z-index: 9999999;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff
}

#top .p-loadanime.aos-animate {
  visibility: hidden;
  opacity: 0;
  transition: 1s ease 6s
}

#top .p-loadanime__anime1,
#top .p-loadanime__anime2 {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  padding: 20px 50px
}

#top .p-loadanime__anime1 {
  z-index: 1;
  padding-top: 100px
}

#top .p-loadanime__anime1 path {
  fill: #fff;
  stroke-dasharray: 1200px;
  stroke-dashoffset: 1200px
}

#top .p-loadanime__anime1 path:nth-child(0) {
  transition: stroke-dashoffset 3s 0s, fill 3s 1s
}

#top .p-loadanime__anime1 path:first-child {
  transition: stroke-dashoffset 3s .1s, fill 3s 1.1s
}

#top .p-loadanime__anime1 path:nth-child(2) {
  transition: stroke-dashoffset 3s .2s, fill 3s 1.2s
}

#top .p-loadanime__anime1 path:nth-child(3) {
  transition: stroke-dashoffset 3s .3s, fill 3s 1.3s
}

#top .p-loadanime__anime1 path:nth-child(4) {
  transition: stroke-dashoffset 3s .4s, fill 3s 1.4s
}

#top .p-loadanime__anime1 path:nth-child(5) {
  transition: stroke-dashoffset 3s .5s, fill 3s 1.5s
}

#top .p-loadanime__anime1 path:nth-child(6) {
  transition: stroke-dashoffset 3s .6s, fill 3s 1.6s
}

#top .p-loadanime__anime1 path:nth-child(7) {
  transition: stroke-dashoffset 3s .7s, fill 3s 1.7s
}

#top .p-loadanime__anime1 path:nth-child(8) {
  transition: stroke-dashoffset 3s .8s, fill 3s 1.8s
}

#top .p-loadanime__anime1 path:nth-child(9) {
  transition: stroke-dashoffset 3s .9s, fill 3s 1.9s
}

#top .p-loadanime__anime1 path:nth-child(10) {
  transition: stroke-dashoffset 3s 1s, fill 3s 2s
}

#top .p-loadanime__anime1 path:nth-child(11) {
  transition: stroke-dashoffset 3s 1.1s, fill 3s 2.1s
}

#top .p-loadanime__anime1 path:nth-child(12) {
  transition: stroke-dashoffset 3s 1.2s, fill 3s 2.2s
}

#top .p-loadanime__anime1 path:nth-child(13) {
  transition: stroke-dashoffset 3s 1.3s, fill 3s 2.3s
}

#top .p-loadanime__anime1 path:nth-child(14) {
  transition: stroke-dashoffset 3s 1.4s, fill 3s 2.4s
}

#top .p-loadanime__anime1 path:nth-child(15) {
  transition: stroke-dashoffset 3s 1.5s, fill 3s 2.5s
}

#top .p-loadanime__anime1 path:nth-child(16) {
  transition: stroke-dashoffset 3s 1.6s, fill 3s 2.6s
}

#top .p-loadanime__anime1 path:nth-child(17) {
  transition: stroke-dashoffset 3s 1.7s, fill 3s 2.7s
}

#top .p-loadanime__anime1 path:nth-child(18) {
  transition: stroke-dashoffset 3s 1.8s, fill 3s 2.8s
}

#top .p-loadanime__anime1 path:nth-child(19) {
  transition: stroke-dashoffset 3s 1.9s, fill 3s 2.9s
}

#top .p-loadanime__anime1 path:nth-child(20) {
  transition: stroke-dashoffset 3s 2s, fill 3s 3s
}

#top .p-loadanime__anime1 path:nth-child(21) {
  transition: stroke-dashoffset 3s 2.1s, fill 3s 3.1s
}

#top .p-loadanime__anime1 path:nth-child(22) {
  transition: stroke-dashoffset 3s 2.2s, fill 3s 3.2s
}

#top .p-loadanime__anime1 path:nth-child(23) {
  transition: stroke-dashoffset 3s 2.3s, fill 3s 3.3s
}

#top .p-loadanime__anime1 path:nth-child(24) {
  transition: stroke-dashoffset 3s 2.4s, fill 3s 3.4s
}

#top .p-loadanime__anime1 path:nth-child(25) {
  transition: stroke-dashoffset 3s 2.5s, fill 3s 3.5s
}

#top .p-loadanime__anime1 path:nth-child(26) {
  transition: stroke-dashoffset 3s 2.6s, fill 3s 3.6s
}

#top .p-loadanime__anime1 path:nth-child(27) {
  transition: stroke-dashoffset 3s 2.7s, fill 3s 3.7s
}

#top .p-loadanime__anime1 path:nth-child(28) {
  transition: stroke-dashoffset 3s 2.8s, fill 3s 3.8s
}

#top .p-loadanime__anime1 path:nth-child(29) {
  transition: stroke-dashoffset 3s 2.9s, fill 3s 3.9s
}

#top .p-loadanime__anime1 path:nth-child(30) {
  transition: stroke-dashoffset 3s 3s, fill 3s 4s
}

#top .p-loadanime__anime1 path:nth-child(31) {
  transition: stroke-dashoffset 3s 3.1s, fill 3s 4.1s
}

#top .p-loadanime__anime1 path:nth-child(32) {
  transition: stroke-dashoffset 3s 3.2s, fill 3s 4.2s
}

#top .p-loadanime__anime1 path:nth-child(33) {
  transition: stroke-dashoffset 3s 3.3s, fill 3s 4.3s
}

#top .p-loadanime__anime1 path:nth-child(34) {
  transition: stroke-dashoffset 3s 3.4s, fill 3s 4.4s
}

#top .p-loadanime__anime1 path:nth-child(35) {
  transition: stroke-dashoffset 3s 3.5s, fill 3s 4.5s
}

#top .p-loadanime__anime1 path:nth-child(36) {
  transition: stroke-dashoffset 3s 3.6s, fill 3s 4.6s
}

#top .p-loadanime__anime1 path:nth-child(37) {
  transition: stroke-dashoffset 3s 3.7s, fill 3s 4.7s
}

#top .p-loadanime__anime1 path:nth-child(38) {
  transition: stroke-dashoffset 3s 3.8s, fill 3s 4.8s
}

#top .p-loadanime__anime1 path:nth-child(39) {
  transition: stroke-dashoffset 3s 3.9s, fill 3s 4.9s
}

#top .p-loadanime__anime1 path:nth-child(40) {
  transition: stroke-dashoffset 3s 4s, fill 3s 5s
}

#top .p-loadanime__anime1 path:nth-child(41) {
  transition: stroke-dashoffset 3s 4.1s, fill 3s 5.1s
}

#top .p-loadanime__anime1 path:nth-child(42) {
  transition: stroke-dashoffset 3s 4.2s, fill 3s 5.2s
}

#top .p-loadanime__anime1 path:nth-child(43) {
  transition: stroke-dashoffset 3s 4.3s, fill 3s 5.3s
}

#top .p-loadanime__anime1 path:nth-child(44) {
  transition: stroke-dashoffset 3s 4.4s, fill 3s 5.4s
}

#top .p-loadanime__anime1 path:nth-child(45) {
  transition: stroke-dashoffset 3s 4.5s, fill 3s 5.5s
}

#top .p-loadanime__anime1 path:nth-child(46) {
  transition: stroke-dashoffset 3s 4.6s, fill 3s 5.6s
}

#top .p-loadanime__anime1 path:nth-child(47) {
  transition: stroke-dashoffset 3s 4.7s, fill 3s 5.7s
}

#top .p-loadanime__anime1 path:nth-child(48) {
  transition: stroke-dashoffset 3s 4.8s, fill 3s 5.8s
}

#top .p-loadanime__anime1 path:nth-child(49) {
  transition: stroke-dashoffset 3s 4.9s, fill 3s 5.9s
}

#top .p-loadanime__anime1 path:nth-child(50) {
  transition: stroke-dashoffset 3s 5s, fill 3s 6s
}

#top .p-loadanime__anime1.aos-animate path,
#top .p-loadanime__anime1.aos-animate rect {
  stroke-dashoffset: 0px;
  fill: #000
}

#top .p-loadanime__anime2 {
  background: none;
  transition-delay: 4s
}

#top .p-loadanime__anime2 path,
#top .p-loadanime__anime2 rect {
  stroke: #fff;
  fill: gray
}

#top .p-sec01 {
  position: relative;
  height: 987px;
  background: url(../images/mv@2x.jpg) 50% no-repeat;
  background-size: cover;
  text-align: center
}

#top .p-sec01__logo {
  position: absolute;
  top: 40px;
  left: 100px
}

#top .p-sec01__copy {
  position: absolute;
  right: 0;
  bottom: 320px;
  left: 0;
  padding: 0 20px;
  text-align: center
}

#top .p-sec01 .c-scroll {
  transform: translateY(calc(100% + 200px))
}

#top .p-sec02 {
  margin: 200px 0
}

#top .p-sec02__block {
  display: flex
}

#top .p-sec02__block--rev {
  flex-direction: row-reverse;
  margin-top: 100px
}

#top .p-sec02__block .textarea {
  display: flex;
  flex-direction: column;
  width: 860px
}

#top .p-sec02__block .textarea .title {
  position: relative;
  margin-bottom: 50px;
  padding-bottom: 40px;
  padding-left: 80px;
  border-bottom: 2px solid #c9caca;
  font-weight: 500;
  font-size: 35px;
  line-height: 1.6571428571
}

#top .p-sec02__block .textarea .title:after {
  position: absolute;
  bottom: -2px;
  left: 80px;
  width: 86px;
  height: 2px;
  background: #231815;
  content: ""
}

#top .p-sec02__block .textarea .text {
  margin-bottom: 20px;
  padding-right: 140px;
  padding-left: 80px;
  font-size: 18px;
  line-height: 2.2777777778
}

#top .p-sec02__block .textarea .btn {
  margin-top: auto;
  padding-left: 80px
}

#top .p-sec02__block .image {
  width: 670px
}

#top .p-sec03 {
  padding: 200px 0;
  background: url(../images/bg1@2x.jpg) 50% no-repeat;
  background-size: cover
}

#top .p-sec03__block {
  display: flex
}

#top .p-sec03__block .textarea {
  display: flex;
  flex-direction: column;
  width: 860px
}

#top .p-sec03__block .textarea .title {
  display: flex;
  position: relative;
  flex-direction: column;
  margin-bottom: 50px;
  padding-right: 200px;
  padding-bottom: 40px;
  padding-left: 80px;
  border-bottom: 2px solid #fff;
  color: #fff;
  font-weight: 500
}

#top .p-sec03__block .textarea .title:after {
  position: absolute;
  bottom: -2px;
  left: 80px;
  width: 86px;
  height: 2px;
  background: #fff100;
  content: ""
}

#top .p-sec03__block .textarea .title .en {
  font-size: 69px
}

#top .p-sec03__block .textarea .title .ja {
  margin-top: 30px;
  font-size: 21px
}

#top .p-sec03__block .textarea .text {
  margin-bottom: 20px;
  padding-right: 200px;
  padding-left: 80px;
  color: #fff;
  font-size: 18px;
  line-height: 2.2777777778
}

#top .p-sec03__block .textarea .btn {
  margin-top: auto;
  padding-right: 200px;
  padding-left: 80px
}

#top .p-sec03__block .textarea .btn .c-btnA {
  width: 100%
}

#top .p-sec03__block .image {
  width: 670px
}

#top .p-sec03__block .image__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4/3;
  padding: 20px;
  gap: 30px;
  background-color: #fff
}

#top .p-sec03__block .image__logo img {
  width: 80%;
  transition-duration: 2s
}

#top .p-sec04 {
  margin: 200px 0
}

#top .p-sec04 .c-inner {
  max-width: 1200px
}

#top .p-sec04__title {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 40px;
  border-bottom: 2px solid #c9caca;
  text-align: center
}

#top .p-sec04__title:after {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;
  width: 111px;
  height: 2px;
  margin: 0 auto;
  background: #231815;
  content: ""
}

#top .p-sec04__title .en {
  margin-bottom: 30px;
  color: #3e3a39;
  font-weight: 500;
  font-size: 69px
}

#top .p-sec04__title .ja {
  font-size: 45px;
  line-height: 1.4
}

#top .p-sec04__text {
  margin-bottom: 50px;
  font-size: 18px;
  line-height: 2.2777777778;
  text-align: center
}

#top .p-sec04__list {
  display: flex;
  justify-content: space-between;
  gap: 30px
}

#top .p-sec04__list li {
  text-align: center
}

#top .p-sec04__list li .text {
  margin-top: 30px;
  font-size: 21px;
  line-height: 2
}

#top .p-sec05 {
  overflow: hidden;
  background-size: 50vw 505px
}

#top .p-sec05,
#top .p-sec05 .c-inner {
  background-image: linear-gradient(180deg, #f7f8f8 0, #f7f8f8);
  background-repeat: no-repeat
}

#top .p-sec05 .c-inner {
  max-width: 1200px;
  padding: 100px 0 200px;
  background-size: 100% 505px
}

#top .p-sec05__titlearea {
  display: flex;
  align-items: flex-end;
  margin-bottom: 100px;
  gap: 50px
}

#top .p-sec05__title {
  color: #3e3a39;
  font-weight: 500;
  font-size: 69px
}

#top .p-sec05 .swiper {
  overflow: visible
}

#top .p-sec05 .swiper-slide {
  width: 452px
}

#top .p-sec05 .swiper-pagination {
  display: flex;
  position: static;
  align-items: center;
  justify-content: center;
  width: auto;
  gap: 10px
}

#top .p-sec05 .swiper-pagination-bullet {
  width: 57px;
  height: 6px;
  margin: 0;
  border-radius: 0;
  background: #dcdddd;
  opacity: 1
}

#top .p-sec05 .swiper-pagination-bullet-active {
  background: #004c86
}

#top .p-sec05__link {
  display: block
}

#top .p-sec05__link .image {
  aspect-ratio: 452/320
}

#top .p-sec05__link .image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover
}

#top .p-sec05__link .title {
  margin-top: 20px;
  font-size: 20px;
  line-height: 1.5
}

#top .p-sec05__btn {
  margin-top: 100px;
  text-align: center
}

#top .p-sec05__btn a {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 23px
}

#top .p-sec05__btn a img {
  margin-bottom: 20px
}

@media screen and (max-width:768px) {
  body {
    min-width: auto
  }

  .l-cv {
    padding: 50px 0
  }

  .l-cv__title {
    margin-bottom: 20px;
    font-size: 40px
  }

  .l-cv__text {
    margin-bottom: 30px
  }

  .l-cv__btn a {
    width: 100%;
    height: 60px;
    font-size: 24px
  }

  .l-cv__btn a img {
    width: 30px;
    margin-right: 10px
  }

  .l-fb {
    padding: 50px 0
  }

  .l-fb__btns {
    flex-direction: column;
    gap: 20px
  }

  .l-fb__btns a {
    font-size: 18px
  }

  .l-fb__btns a img {
    width: 30px;
    margin-right: 10px
  }

  .l-fnav {
    flex-wrap: wrap;
    padding: 0;
    gap: 0
  }

  .l-fnav a {
    width: 50%;
    padding: 20px 0;
    border-bottom: 1px solid #fff
  }

  .l-fnav a:nth-child(2n) {
    border-left: 1px solid #fff
  }

  .l-ftr {
    padding: 50px 0 20px
  }

  .l-ftr__logo img {
    width: 160px
  }

  .l-ftr__addr {
    margin: 30px 0 50px
  }

  .l-ftr__copy {
    font-size: 10px
  }

  .l-gnav {
    justify-content: center;
    padding: 0 20px;
    overflow: auto
  }

  .l-gnav__inner {
    align-items: flex-start;
    justify-content: center;
    width: 100%
  }

  .l-gnav__inner nav {
    width: auto;
    margin-left: 0;
    padding-top: 100px;
    padding-bottom: 50px
  }

  .l-gnav__inner nav a .en {
    font-size: 30px
  }

  .c-btnA,
  .c-btnB {
    width: 100%;
    font-size: 18px
  }

  .c-mv {
    height: 480px;
    margin-bottom: 50px;
    padding: 100px 0 0;
    background: url(../images/property_mv_sp@2x.jpg);
    background-size: cover
  }

  .c-mv__title .en {
    font-size: 23px
  }

  .c-mv__title .ja {
    font-size: 14px
  }

  .c-pankuzu {
    display: none
  }

  .c-pankuzu__list>span+span:before,
  .c-pankuzu__list>span>a,
  .c-pankuzu__list>span>span {
    font-size: 12px
  }

  .c-titA {
    margin-bottom: 50px
  }

  .c-titA__inner {
    padding-bottom: 20px
  }

  .c-titA .en {
    font-size: 24px
  }

  .c-titA .ja {
    font-size: 20px
  }

  .c-pc {
    display: none !important
  }

  .mb5 {
    margin-bottom: 3px !important
  }

  .mt5 {
    margin-top: 3px !important
  }

  .mb10 {
    margin-bottom: 6px !important
  }

  .mt10 {
    margin-top: 6px !important
  }

  .mb15 {
    margin-bottom: 9px !important
  }

  .mt15 {
    margin-top: 9px !important
  }

  .mb20 {
    margin-bottom: 12px !important
  }

  .mt20 {
    margin-top: 12px !important
  }

  .mb25 {
    margin-bottom: 15px !important
  }

  .mt25 {
    margin-top: 15px !important
  }

  .mb30 {
    margin-bottom: 18px !important
  }

  .mt30 {
    margin-top: 18px !important
  }

  .mb35 {
    margin-bottom: 21px !important
  }

  .mt35 {
    margin-top: 21px !important
  }

  .mb40 {
    margin-bottom: 24px !important
  }

  .mt40 {
    margin-top: 24px !important
  }

  .mb45 {
    margin-bottom: 27px !important
  }

  .mt45 {
    margin-top: 27px !important
  }

  .mb50 {
    margin-bottom: 30px !important
  }

  .mt50 {
    margin-top: 30px !important
  }

  .mb55 {
    margin-bottom: 33px !important
  }

  .mt55 {
    margin-top: 33px !important
  }

  .mb60 {
    margin-bottom: 36px !important
  }

  .mt60 {
    margin-top: 36px !important
  }

  .mb65 {
    margin-bottom: 39px !important
  }

  .mt65 {
    margin-top: 39px !important
  }

  .mb70 {
    margin-bottom: 42px !important
  }

  .mt70 {
    margin-top: 42px !important
  }

  .mb75 {
    margin-bottom: 45px !important
  }

  .mt75 {
    margin-top: 45px !important
  }

  .mb80 {
    margin-bottom: 48px !important
  }

  .mt80 {
    margin-top: 48px !important
  }

  .mb85 {
    margin-bottom: 51px !important
  }

  .mt85 {
    margin-top: 51px !important
  }

  .mb90 {
    margin-bottom: 54px !important
  }

  .mt90 {
    margin-top: 54px !important
  }

  .mb95 {
    margin-bottom: 57px !important
  }

  .mt95 {
    margin-top: 57px !important
  }

  .mb100 {
    margin-bottom: 60px !important
  }

  .mt100 {
    margin-top: 60px !important
  }

  .mb105 {
    margin-bottom: 63px !important
  }

  .mt105 {
    margin-top: 63px !important
  }

  .mb110 {
    margin-bottom: 66px !important
  }

  .mt110 {
    margin-top: 66px !important
  }

  .mb115 {
    margin-bottom: 69px !important
  }

  .mt115 {
    margin-top: 69px !important
  }

  .mb120 {
    margin-bottom: 72px !important
  }

  .mt120 {
    margin-top: 72px !important
  }

  .mb125 {
    margin-bottom: 75px !important
  }

  .mt125 {
    margin-top: 75px !important
  }

  .mb130 {
    margin-bottom: 78px !important
  }

  .mt130 {
    margin-top: 78px !important
  }

  .mb135 {
    margin-bottom: 81px !important
  }

  .mt135 {
    margin-top: 81px !important
  }

  .mb140 {
    margin-bottom: 84px !important
  }

  .mt140 {
    margin-top: 84px !important
  }

  .mb145 {
    margin-bottom: 87px !important
  }

  .mt145 {
    margin-top: 87px !important
  }

  .mb150 {
    margin-bottom: 90px !important
  }

  .mt150 {
    margin-top: 90px !important
  }

  .mb155 {
    margin-bottom: 93px !important
  }

  .mt155 {
    margin-top: 93px !important
  }

  .mb160 {
    margin-bottom: 96px !important
  }

  .mt160 {
    margin-top: 96px !important
  }

  .mb165 {
    margin-bottom: 99px !important
  }

  .mt165 {
    margin-top: 99px !important
  }

  .mb170 {
    margin-bottom: 102px !important
  }

  .mt170 {
    margin-top: 102px !important
  }

  .mb175 {
    margin-bottom: 105px !important
  }

  .mt175 {
    margin-top: 105px !important
  }

  .mb180 {
    margin-bottom: 108px !important
  }

  .mt180 {
    margin-top: 108px !important
  }

  .mb185 {
    margin-bottom: 111px !important
  }

  .mt185 {
    margin-top: 111px !important
  }

  .mb190 {
    margin-bottom: 114px !important
  }

  .mt190 {
    margin-top: 114px !important
  }

  .mb195 {
    margin-bottom: 117px !important
  }

  .mt195 {
    margin-top: 117px !important
  }

  .mb200 {
    margin-bottom: 120px !important
  }

  .mt200 {
    margin-top: 120px !important
  }

  .mb205 {
    margin-bottom: 123px !important
  }

  .mt205 {
    margin-top: 123px !important
  }

  .mb210 {
    margin-bottom: 126px !important
  }

  .mt210 {
    margin-top: 126px !important
  }

  .mb215 {
    margin-bottom: 129px !important
  }

  .mt215 {
    margin-top: 129px !important
  }

  .mb220 {
    margin-bottom: 132px !important
  }

  .mt220 {
    margin-top: 132px !important
  }

  .mb225 {
    margin-bottom: 135px !important
  }

  .mt225 {
    margin-top: 135px !important
  }

  .mb230 {
    margin-bottom: 138px !important
  }

  .mt230 {
    margin-top: 138px !important
  }

  .mb235 {
    margin-bottom: 141px !important
  }

  .mt235 {
    margin-top: 141px !important
  }

  .mb240 {
    margin-bottom: 144px !important
  }

  .mt240 {
    margin-top: 144px !important
  }

  .mb245 {
    margin-bottom: 147px !important
  }

  .mt245 {
    margin-top: 147px !important
  }

  .mb250 {
    margin-bottom: 150px !important
  }

  .mt250 {
    margin-top: 150px !important
  }

  .mb255 {
    margin-bottom: 153px !important
  }

  .mt255 {
    margin-top: 153px !important
  }

  .mb260 {
    margin-bottom: 156px !important
  }

  .mt260 {
    margin-top: 156px !important
  }

  .mb265 {
    margin-bottom: 159px !important
  }

  .mt265 {
    margin-top: 159px !important
  }

  .mb270 {
    margin-bottom: 162px !important
  }

  .mt270 {
    margin-top: 162px !important
  }

  .mb275 {
    margin-bottom: 165px !important
  }

  .mt275 {
    margin-top: 165px !important
  }

  .mb280 {
    margin-bottom: 168px !important
  }

  .mt280 {
    margin-top: 168px !important
  }

  .mb285 {
    margin-bottom: 171px !important
  }

  .mt285 {
    margin-top: 171px !important
  }

  .mb290 {
    margin-bottom: 174px !important
  }

  .mt290 {
    margin-top: 174px !important
  }

  .mb295 {
    margin-bottom: 177px !important
  }

  .mt295 {
    margin-top: 177px !important
  }

  .mb300 {
    margin-bottom: 180px !important
  }

  .mt300 {
    margin-top: 180px !important
  }

  .mb305 {
    margin-bottom: 183px !important
  }

  .mt305 {
    margin-top: 183px !important
  }

  .mb310 {
    margin-bottom: 186px !important
  }

  .mt310 {
    margin-top: 186px !important
  }

  .mb315 {
    margin-bottom: 189px !important
  }

  .mt315 {
    margin-top: 189px !important
  }

  .mb320 {
    margin-bottom: 192px !important
  }

  .mt320 {
    margin-top: 192px !important
  }

  .mb325 {
    margin-bottom: 195px !important
  }

  .mt325 {
    margin-top: 195px !important
  }

  .mb330 {
    margin-bottom: 198px !important
  }

  .mt330 {
    margin-top: 198px !important
  }

  .mb335 {
    margin-bottom: 201px !important
  }

  .mt335 {
    margin-top: 201px !important
  }

  .mb340 {
    margin-bottom: 204px !important
  }

  .mt340 {
    margin-top: 204px !important
  }

  .mb345 {
    margin-bottom: 207px !important
  }

  .mt345 {
    margin-top: 207px !important
  }

  .mb350 {
    margin-bottom: 210px !important
  }

  .mt350 {
    margin-top: 210px !important
  }

  .mb355 {
    margin-bottom: 213px !important
  }

  .mt355 {
    margin-top: 213px !important
  }

  .mb360 {
    margin-bottom: 216px !important
  }

  .mt360 {
    margin-top: 216px !important
  }

  .mb365 {
    margin-bottom: 219px !important
  }

  .mt365 {
    margin-top: 219px !important
  }

  .mb370 {
    margin-bottom: 222px !important
  }

  .mt370 {
    margin-top: 222px !important
  }

  .mb375 {
    margin-bottom: 225px !important
  }

  .mt375 {
    margin-top: 225px !important
  }

  .mb380 {
    margin-bottom: 228px !important
  }

  .mt380 {
    margin-top: 228px !important
  }

  .mb385 {
    margin-bottom: 231px !important
  }

  .mt385 {
    margin-top: 231px !important
  }

  .mb390 {
    margin-bottom: 234px !important
  }

  .mt390 {
    margin-top: 234px !important
  }

  .mb395 {
    margin-bottom: 237px !important
  }

  .mt395 {
    margin-top: 237px !important
  }

  .mb400 {
    margin-bottom: 240px !important
  }

  .mt400 {
    margin-top: 240px !important
  }

  .mb405 {
    margin-bottom: 243px !important
  }

  .mt405 {
    margin-top: 243px !important
  }

  .mb410 {
    margin-bottom: 246px !important
  }

  .mt410 {
    margin-top: 246px !important
  }

  .mb415 {
    margin-bottom: 249px !important
  }

  .mt415 {
    margin-top: 249px !important
  }

  .mb420 {
    margin-bottom: 252px !important
  }

  .mt420 {
    margin-top: 252px !important
  }

  .mb425 {
    margin-bottom: 255px !important
  }

  .mt425 {
    margin-top: 255px !important
  }

  .mb430 {
    margin-bottom: 258px !important
  }

  .mt430 {
    margin-top: 258px !important
  }

  .mb435 {
    margin-bottom: 261px !important
  }

  .mt435 {
    margin-top: 261px !important
  }

  .mb440 {
    margin-bottom: 264px !important
  }

  .mt440 {
    margin-top: 264px !important
  }

  .mb445 {
    margin-bottom: 267px !important
  }

  .mt445 {
    margin-top: 267px !important
  }

  .mb450 {
    margin-bottom: 270px !important
  }

  .mt450 {
    margin-top: 270px !important
  }

  .mb455 {
    margin-bottom: 273px !important
  }

  .mt455 {
    margin-top: 273px !important
  }

  .mb460 {
    margin-bottom: 276px !important
  }

  .mt460 {
    margin-top: 276px !important
  }

  .mb465 {
    margin-bottom: 279px !important
  }

  .mt465 {
    margin-top: 279px !important
  }

  .mb470 {
    margin-bottom: 282px !important
  }

  .mt470 {
    margin-top: 282px !important
  }

  .mb475 {
    margin-bottom: 285px !important
  }

  .mt475 {
    margin-top: 285px !important
  }

  .mb480 {
    margin-bottom: 288px !important
  }

  .mt480 {
    margin-top: 288px !important
  }

  .mb485 {
    margin-bottom: 291px !important
  }

  .mt485 {
    margin-top: 291px !important
  }

  .mb490 {
    margin-bottom: 294px !important
  }

  .mt490 {
    margin-top: 294px !important
  }

  .mb495 {
    margin-bottom: 297px !important
  }

  .mt495 {
    margin-top: 297px !important
  }

  .mb500 {
    margin-bottom: 300px !important
  }

  .mt500 {
    margin-top: 300px !important
  }

  #company .c-mv {
    background-image: url(../images/company_mv_sp@2x.jpg)
  }

  #company .p-sec01__block {
    flex-direction: column-reverse !important
  }

  #company .p-sec01__block .textarea {
    width: auto;
    margin-top: 20px
  }

  #company .p-sec01__block .textarea .title {
    margin-bottom: 20px;
    padding: 0 0 20px;
    font-size: 20px
  }

  #company .p-sec01__block .textarea .title .en {
    font-size: 24px
  }

  #company .p-sec01__block .textarea .title .ja {
    font-size: 20px
  }

  #company .p-sec01__block .textarea .title:after {
    left: 20px
  }

  #company .p-sec01__block .textarea .text {
    padding: 0
  }

  #company .p-sec01__block .textarea .text2 {
    margin-top: 20px;
    padding: 0;
    font-size: 16px
  }

  #company .p-sec01__block .textarea .text2 strong {
    font-size: 18px
  }

  #company .p-sec01__block .image {
    top: 0;
    width: auto
  }

  #company .p-sec02 {
    margin: 50px 0
  }

  #company .p-sec02:before {
    height: 80px;
    margin-bottom: 30px
  }

  #company .p-sec02__title {
    margin-bottom: 20px
  }

  #company .p-sec02__title .en {
    font-size: 24px
  }

  #company .p-sec02__title .ja {
    font-size: 20px
  }

  #company .p-sec02__bg {
    padding: 50px 0
  }

  #company .p-sec02__stitle {
    margin-bottom: 20px;
    font-size: 24px
  }

  #company .p-sec02 table+.p-sec02__stitle {
    margin-top: 50px
  }

  #company .p-sec02 table tr td,
  #company .p-sec02 table tr th {
    font-size: 16px
  }

  #company .p-sec02 table tr th {
    width: 120px;
    padding-left: 0
  }

  #company .p-sec03 {
    margin: 50px 0
  }

  #company .p-sec03__title {
    margin-bottom: 40px
  }

  #company .p-sec03__title .en {
    font-size: 24px
  }

  #company .p-sec03__title .ja {
    font-size: 20px
  }

  #company .p-sec03__block+div {
    margin-top: 30px
  }

  #company .p-sec03__block .flex {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-bottom: 20px;
    gap: 20px
  }

  #company .p-sec03__block .flex iframe {
    height: 200px
  }

  #company .p-sec03__block .title {
    margin-bottom: 10px;
    font-size: 24px
  }

  #company .p-sec03__block .addr {
    font-size: 16px
  }

  #contact .c-mv {
    background-image: url(../images/contact_mv_sp@2x.jpg);
    background-position: bottom
  }

  #contact .p-sec01 {
    margin-bottom: 50px
  }

  #contact .p-sec01__title {
    margin-bottom: 50px;
    padding-bottom: 20px
  }

  #contact .p-sec01__title .en {
    margin-bottom: 10px;
    font-size: 26px
  }

  #contact .p-sec01-form dl {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr
  }

  #contact .p-sec01-form dl dt {
    justify-content: flex-start;
    margin-bottom: 10px;
    padding-right: 0;
    font-size: 18px
  }

  #contact .p-sec01-form dl dt .req {
    margin-left: 20px;
    padding: 5px 10px;
    font-size: 16px
  }

  #contact .p-sec01-form dl dd {
    font-size: 16px
  }

  #contact .p-sec01-form dl dd textarea {
    height: 200px
  }

  #contact .p-sec01-form dl dd .check {
    gap: 10px 20px
  }

  #contact .p-sec01-form dl dd .check label input {
    width: 20px;
    height: 20px
  }

  #contact .p-sec01-form dl dd .btn {
    margin-top: 0
  }

  #contact .p-sec01-form dl dd .btn button {
    width: 100%;
    height: 50px;
    font-size: 16px
  }

  #contact .p-sec01__contact {
    margin-top: 50px
  }

  #contact .p-sec01__contact .text1 {
    font-size: 20px
  }

  #contact .p-sec01__contact .btn a {
    flex-wrap: wrap;
    padding: 20px;
    gap: 10px
  }

  #contact .p-sec01__contact .btn a img {
    width: 24px
  }

  #contact .p-sec01__contact .btn a .num {
    font-size: 24px
  }

  #contact .p-sec01__contact .btn a .time {
    width: 100%;
    font-size: 14px
  }

  #contact .p-thanks {
    margin-bottom: 50px
  }

  #property .p-btns {
    flex-direction: column;
    gap: 20px
  }

  #property .p-btns,
  #property .p-sec01 {
    margin-bottom: 100px
  }

  #property .p-sec01__list li+li {
    margin-top: 40px
  }

  #property .p-sec01__list li .flex {
    display: block;
    padding: 30px 0
  }

  #property .p-sec01__list li .left .title {
    margin-bottom: 20px;
    padding-bottom: 20px
  }

  #property .p-sec01__list li .left .title .en {
    font-size: 24px
  }

  #property .p-sec01__list li .left .title .ja {
    font-size: 18px
  }

  #property .p-sec01__list li .left .image {
    margin-bottom: 20px
  }

  #property .p-sec01__more {
    margin-top: 50px;
    padding: 0 20px
  }

  #property .p-sec01__more a {
    max-width: 100%;
    height: 50px;
    font-size: 18px
  }

  #top .p-loadanime__anime1,
  #top .p-loadanime__anime2 {
    padding: 20px
  }

  #top .p-loadanime__anime2 svg {
    max-width: 80%
  }

  #top .p-sec01 {
    height: 480px;
    background: url(../images/mv_sp@2x.jpg) 50% no-repeat;
    background-size: cover
  }

  #top .p-sec01__logo {
    top: 20px;
    left: 20px
  }

  #top .p-sec01__logo img {
    width: 150px
  }

  #top .p-sec01__copy {
    bottom: 50%;
    transform: translateY(50%)
  }

  #top .p-sec02 {
    margin: 100px 0
  }

  #top .p-sec02__block {
    flex-direction: column-reverse !important
  }

  #top .p-sec02__block--rev {
    margin-top: 50px
  }

  #top .p-sec02__block .textarea {
    width: auto;
    margin-top: 20px
  }

  #top .p-sec02__block .textarea .title {
    margin-bottom: 20px;
    padding: 0 0 20px;
    font-size: 20px
  }

  #top .p-sec02__block .textarea .title:after {
    left: 0
  }

  #top .p-sec02__block .textarea .text {
    padding: 0
  }

  #top .p-sec02__block .textarea .btn {
    padding-left: 0
  }

  #top .p-sec02__block .image {
    width: auto;
    text-align: center
  }

  #top .p-sec03 {
    padding: 100px 0
  }

  #top .p-sec03__block {
    flex-direction: column-reverse
  }

  #top .p-sec03__block .textarea {
    width: auto;
    margin-top: 20px
  }

  #top .p-sec03__block .textarea .title {
    margin-bottom: 20px;
    padding: 0 0 20px
  }

  #top .p-sec03__block .textarea .title:after {
    left: 20px
  }

  #top .p-sec03__block .textarea .title .en {
    font-size: 30px
  }

  #top .p-sec03__block .textarea .title .ja {
    margin-top: 15px;
    font-size: 18px
  }

  #top .p-sec03__block .textarea .btn,
  #top .p-sec03__block .textarea .text {
    padding: 0
  }

  #top .p-sec03__block .image {
    width: auto;
    text-align: center
  }

  #top .p-sec04 {
    margin: 100px 0
  }

  #top .p-sec04__title {
    margin-bottom: 20px;
    padding-bottom: 20px
  }

  #top .p-sec04__title .en {
    margin-bottom: 10px;
    font-size: 26px
  }

  #top .p-sec04__title .ja {
    font-size: 30px
  }

  #top .p-sec04__list {
    flex-direction: column
  }

  #top .p-sec04__list li .text {
    margin-top: 10px;
    font-size: 18px
  }

  #top .p-sec05 .c-inner {
    padding: 50px 0 100px
  }

  #top .p-sec05__titlearea {
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px
  }

  #top .p-sec05__title {
    font-size: 40px
  }

  #top .p-sec05 .swiper-slide {
    width: 90%
  }

  #top .p-sec05 .swiper-pagination {
    -ms-grid-row-align: center;
    align-self: center;
    gap: 5px
  }

  #top .p-sec05 .swiper-pagination-bullet {
    width: 30px
  }

  #top .p-sec05__link .title {
    margin-top: 10px;
    font-size: 16px
  }

  #top .p-sec05__btn {
    margin-top: 50px
  }

  #top .p-sec05__btn a {
    font-size: 18px
  }

  #top .p-sec05__btn a img {
    width: 60px
  }
}

@media print,
screen and (min-width:769px) {

  a,
  button {
    transition: .3s ease
  }

  a:hover,
  button:hover {
    opacity: .7
  }

  a img,
  a p,
  a path,
  button img,
  button p,
  button path {
    transition: .3s ease
  }

  .c-sp {
    display: none !important
  }
}

@media screen and (max-width:1530px) {
  .c-scroll {
    display: none
  }
}

@media print,
screen and (min-width:1025px) {
  .c-tab {
    display: none !important
  }
}

@media screen and (max-width:1024px) {
  .c-tab_none {
    display: none !important
  }
}

/*# sourceMappingURL=map/style.css.map */