:root {
  --text-black: #222222;
  --pick: #f07da0;
  --green01: #55a86c;
  --green02: #76bc89;
  --yellow01: #ffec5d;
  --orange01: rgba(253, 254, 237, 0.5);
  --ja: "Noto Sans JP", sans-serif;
  --en: "Figtree", sans-serif;
  --grad01: linear-gradient(#81d181 0%, #53bc53 100%);
}

* {
  margin: 0;
  padding: 0;
}

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

html {
  font-size: 62.5%;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}

body {
  font-family: var(--ja);
  font-size: 1.8rem;
  line-height: 2;
  font-weight: 500;
  color: var(--text-black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: auto;
}
@media screen and (max-width:768px) {
  body {
    font-size: 1.6rem;
  }
}

main {
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

a {
  color: var(--text-black);
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  opacity: 1;
}

a:hover {
  opacity: 0.7;
}

ul,
li {
  list-style: none;
}

table {
  border-collapse: collapse;
}

table thead th,
table thead td {
  background-color: #f2f2f2;
}

table th,
table td {
  border-collapse: collapse;
}

table th {
  text-align: left;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.is-pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .is-pc {
    display: none;
  }
}
.is-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .is-sp {
    display: block;
  }
}
a[href^=tel] {
  text-decoration: none;
  color: inherit;
}

.en {
  font-family: var(--en);
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 71.7423133236%;
}
@media screen and (max-width:768px) {
  .inner {
    width: 85.8139534884%;
  }
}

.bold {
  font-weight: 700;
}

.flex {
  display: flex;
}

header {
  position: fixed;
  top: 32px;
  right: 1.4641288433%;
  z-index: 999;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
}
@media screen and (max-width:768px) {
  header {
    top: 0;
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    height: 60px;
  }
}
@media screen and (max-width:768px) {
  header .header-inner {
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
header .header-inner h1 {
  margin-bottom: 32px;
  line-height: 1;
}
@media screen and (max-width:768px) {
  header .header-inner h1 {
    margin-bottom: 0;
    width: 43.2558139535%;
  }
}
header .header-inner h1 a {
  display: block;
  font-size: 0;
  opacity: 1;
}
@media screen and (max-width:768px) {
  header .header-inner h1 a {
    text-align: center;
    vertical-align: middle;
    display: grid;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 100%;
    place-content: center;
  }
}
@media screen and (max-width:768px) {
  header .header-inner .gnav {
    display: none;
  }
}
header .header-inner .gnav .gnav-item {
  margin-bottom: 14px;
}
header .header-inner .gnav .gnav-item a {
  font-size: clamp(14px, 1.317715959vw, 27px);
  font-weight: 700;
  font-family: var(--en);
  line-height: 1.2105263158;
}
header .header-inner .gnav .gnav-item.line-btn a {
  color: white;
  display: grid;
  place-content: center;
  inset: 0;
}
header .header-inner .openbtn {
  height: 60px;
  width: 64px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  z-index: 200;
  display: none;
}
@media screen and (max-width:768px) {
  header .header-inner .openbtn {
    display: block;
  }
}
header .header-inner .openbtn span {
  position: absolute;
  width: 24px;
  height: 3px;
  background: var(--text-black);
  display: inline-block;
}
header .header-inner .openbtn span:nth-of-type(1) {
  top: 24px;
  left: 24px;
}
header .header-inner .openbtn span:nth-of-type(2) {
  top: 31px;
  left: 24px;
}
header .header-inner .openbtn span:nth-of-type(3) {
  top: 38px;
  left: 24px;
}
header .header-inner .openbtn.active span {
  transition: all 0.4s ease;
}
header .header-inner .openbtn.active span:nth-of-type(1) {
  width: 40%;
  transform: translateY(7px) rotate(-45deg);
}
header .header-inner .openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
header .header-inner .openbtn.active span:nth-of-type(3) {
  width: 40%;
  transform: translateY(-7px) rotate(45deg);
}
header .header-inner .sp-header-line-btn {
  margin-left: auto;
  height: 40px;
  padding: 0;
}
header .header-inner .sp-header-line-btn a {
  padding: 0 24px;
  line-height: 1;
  font-size: 1.4rem;
  display: grid;
  height: 100%;
  width: 100%;
  place-content: center;
}

#gnav-sp {
  display: none;
}
@media screen and (max-width:768px) {
  #gnav-sp {
    position: fixed;
    z-index: 100;
    display: block;
    top: 0px;
    right: -120%;
    width: 84%;
    padding: 120px 24px 80px 24px;
    background: white;
    transition: all 0.6s ease;
    box-shadow: 0px 3px 6px rgba(87, 69, 66, 0.3);
  }
  #gnav-sp.panelactive {
    right: 0;
  }
  #gnav-sp #gnav-sp-list {
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  #gnav-sp #gnav-sp-list ul li {
    margin-bottom: 24px;
  }
  #gnav-sp #gnav-sp-list ul li a {
    font-size: 1.8rem;
  }
}

.mv {
  padding-top: 32px;
  position: relative;
  width: 100%;
  height: auto;
}
@media screen and (max-width:768px) {
  .mv {
    margin-top: 60px;
    width: 85.8139534884%;
    margin: 60px auto 0;
  }
}
.mv .mv-text {
  width: 68.5944363104vw;
  padding-left: 1.4641288433%;
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width:768px) {
  .mv .mv-text {
    width: 100%;
    padding-left: 0;
  }
}
.mv .mv-img-container {
  justify-content: center;
  -moz-column-gap: 2.0497803807%;
  column-gap: 2.0497803807%;
}
@media screen and (max-width:768px) {
  .mv .mv-img-container {
    -moz-column-gap: 3.7209302326%;
    column-gap: 3.7209302326%;
  }
}
.mv .mv-img-container .img-wrapper {
  width: 41.3616398243%;
}
@media screen and (max-width:768px) {
  .mv .mv-img-container .img-wrapper {
    width: 70.4651162791vw;
  }
}
.mv .mv-img-container .img-wrapper:nth-child(2) {
  margin-top: -14.6412884334vw;
}
@media screen and (max-width:768px) {
  .mv .mv-img-container .img-wrapper:nth-child(2) {
    margin-right: -50%;
    margin-top: -27vw;
  }
}
@media screen and (max-width:768px) {
  .mv .mv-img-container .img-wrapper:nth-child(1) {
    margin-left: -50%;
  }
}
.mv .fadein {
  opacity: 0;
}
.mv .scrolldown {
  position: absolute;
  right: 1.4641288433vw;
  top: 82.03125vh;
  font-family: var(--en);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  -webkit-animation: arrowmove 2s ease-in-out infinite;
  animation: arrowmove 2s ease-in-out infinite;
}
.mv .scrolldown span {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.mv .scrolldown span::after {
  content: "";
  margin-top: 16px;
  bottom: 0;
  right: 50%;
  display: inline-block;
  width: 16px;
  height: 16px;
  will-change: transform;
  background: url(../../assets/images/right-arrow.svg) no-repeat bottom center/contain;
}

@-webkit-keyframes arrowmove {
  0% {
    top: 82.03125vh;
  }
  50% {
    top: calc(82.03125vh + 2%);
  }
  100% {
    top: 82.03125vh;
  }
}
@keyframes arrowmove {
  0% {
    top: 82.03125vh;
  }
  50% {
    top: calc(82.03125vh + 2%);
  }
  100% {
    top: 82.03125vh;
  }
}
section {
  padding: 100px 0;
}
@media screen and (max-width:768px) {
  section {
    padding: 64px 0;
  }
}

.inner {
  position: relative;
}

@media screen and (max-width:768px) {
  .about {
    padding-top: 40px;
  }
}
.about h2 {
  position: relative;
  z-index: 2;
  text-align: center;
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 32px;
}
.about h2 span {
  font-size: 5rem;
}
.about .contents {
  position: relative;
  z-index: 2;
  width: 100%;
  justify-content: space-around;
  align-items: center;
}
@media screen and (max-width:768px) {
  .about .contents {
    width: 90%;
    margin: 0 auto;
  }
}
.about .contents:not(:last-child) {
  margin-bottom: 40px;
}
.about .contents:first-child {
  -moz-column-gap: 5.270863836%;
  column-gap: 5.270863836%;
  justify-content: center;
}
@media screen and (max-width:768px) {
  .about .contents:first-child {
    flex-direction: column-reverse;
  }
}
.about .contents:first-child h2 {
  margin-top: -14.6412884334vw;
  width: 38.8726207906%;
}
@media screen and (max-width:768px) {
  .about .contents:first-child h2 {
    margin-top: 0;
    width: 74.7967479675%;
    margin-right: auto;
    margin-left: 0;
  }
}
.about .contents:first-child .text-wrapper {
  width: 36.6032210835%;
  text-align: justify;
}
@media screen and (max-width:768px) {
  .about .contents:first-child .text-wrapper {
    width: 100%;
  }
}
.about .contents:first-child .text-wrapper .desc + .desc {
  margin-top: 1em;
}
.about .contents:last-child {
  align-items: center;
  -moz-column-gap: 3.513909224%;
  column-gap: 3.513909224%;
  justify-content: center;
}
@media screen and (max-width:768px) {
  .about .contents:last-child {
    flex-direction: column;
  }
}
.about .contents:last-child .img-wrapper {
  width: 44.6559297218%;
}
@media screen and (max-width:768px) {
  .about .contents:last-child .img-wrapper {
    width: 100%;
  }
}
.about .contents:last-child .text-box {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.about .contents:last-child .text-box dl dt {
  width: 16.2518301611vw;
  margin-bottom: 24px;
}
@media screen and (max-width:768px) {
  .about .contents:last-child .text-box dl dt {
    width: 32.5036603222vw;
    margin-bottom: 16px;
  }
}
.about .contents:last-child .text-box dl dd {
  font-size: 2.2rem;
}
@media screen and (max-width:768px) {
  .about .contents:last-child .text-box dl dd {
    font-size: 1.8rem;
  }
}
.about .contents:last-child .text-box dl:not(:last-of-type) {
  margin-bottom: 72px;
}
@media screen and (max-width:768px) {
  .about .contents:last-child .text-box dl:not(:last-of-type) {
    margin-bottom: 40px;
  }
}
.about .contents:last-child .text-box dl:nth-child(2) dt {
  width: 14.1288433382vw;
}
@media screen and (max-width:768px) {
  .about .contents:last-child .text-box dl:nth-child(2) dt {
    width: 28.2576866764vw;
  }
}
@media screen and (max-width:768px) {
  .about .contents:last-child .text-box {
    width: 100%;
    margin-top: 32px;
  }
}

.ta-c {
  text-align: center;
}

.whatwedo {
  position: relative;
  padding-bottom: 0;
}
.whatwedo .img-wrapper {
  width: 28.0380673499%;
}
@media screen and (max-width:768px) {
  .whatwedo .img-wrapper {
    width: 45%;
  }
}
.whatwedo .img-wrapper.p-ab {
  position: absolute;
}
.whatwedo .img-wrapper.p-ab.bg01 {
  right: -12.1522693997%;
  top: -4.39238653vw;
}
@media screen and (max-width:768px) {
  .whatwedo .img-wrapper.p-ab.bg01 {
    top: -18vw;
  }
}
.whatwedo .img-wrapper.p-ab.bg02 {
  left: -12.1522693997%;
  top: 26.3543191801vw;
}
@media screen and (max-width:768px) {
  .whatwedo .img-wrapper.p-ab.bg02 {
    top: 7vw;
  }
}
.whatwedo h2 {
  width: 57.1010248902%;
  margin: 0 auto;
  margin-bottom: 80px;
  position: relative;
}
.whatwedo .contents {
  width: 46.8521229868%;
  margin: 0 auto;
}
@media screen and (max-width:768px) {
  .whatwedo .contents {
    width: 85.8139534884%;
    position: relative;
  }
}
.whatwedo .contents .container {
  margin-bottom: 64px;
}
.whatwedo .contents .container:first-child h3 img {
  width: 17.7159590044vw;
}
@media screen and (max-width:768px) {
  .whatwedo .contents .container:first-child h3 img {
    width: 35.4319180088vw;
  }
}
.whatwedo .contents .container:nth-child(2) h3 img {
  width: 21.0834553441vw;
}
@media screen and (max-width:768px) {
  .whatwedo .contents .container:nth-child(2) h3 img {
    width: 42.1669106882vw;
  }
}
.whatwedo .contents .container .box {
  padding: 0 32px 0;
}
@media screen and (max-width:768px) {
  .whatwedo .contents .container .box {
    padding: 0;
  }
}
.whatwedo .contents .container .box dl .flex dt {
  letter-spacing: 0.1;
  font-weight: 700;
  width: 7em;
}
.whatwedo .contents .container .box dl .flex dd {
  font-weight: 500;
}
.whatwedo .contents h3 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-bottom: 24px;
  border-bottom: solid #000 3px;
  margin-bottom: 32px;
}
.whatwedo .contents h3 .ttl-ja {
  font-weight: 700;
  line-height: 1;
  margin-left: 2em;
}
.whatwedo .contents h3 img {
  display: block;
}

.com-btn {
  display: grid;
  width: 320px;
  height: 60px;
  place-content: center;
  background-color: #222;
  color: white;
  font-weight: 700;
  border-radius: 60px;
  margin: 0 auto;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width:768px) {
  .com-btn {
    width: 100%;
  }
}
.com-btn::after {
  content: "";
  background: url(../../assets/images/btn-arrow.svg) no-repeat center/contain;
  width: 6px;
  height: 12px;
  color: white;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
}

.news {
  padding-bottom: 0;
}
.news h2 {
  width: 26.3543191801vw;
  text-align: center;
}
.news .inner {
  padding: 0 32px;
}
@media screen and (max-width:768px) {
  .news .inner {
    padding: 0;
  }
}

.news .news-outer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px 32px;
}
@media screen and (max-width: 1117px) {
  .news .news-outer {
    column-gap: 16px;
  }
}
@media screen and (max-width: 946px) {
  .news .news-outer {
    grid-template-columns: 1fr;
  }
}
.news .news-block .news-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 2px solid #222;
  border-bottom: 2px solid #222;
  padding: 16px 0;
  margin-bottom: 24px;
}
.news .news-block .news-header .text {
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 1220px) {
  .news .news-block .news-header .text {
    font-size: 2rem;
  }
}
.news .news-block .news-header .cat-link {
  color: white;
  font-weight: 700;
  font-family: var(--en);
  font-size: 1.4rem;
  background-color: #222;
  border-radius: 20px;
  height: 40px;
  width: 100px;
  line-height: 1;
  display: grid;
  place-content: center;
}
@media (max-width: 1071px) {
  .news .news-block .news-header .cat-link {
    width: 70px;
    height: 32px;
    font-size: 1.2rem;
  }
}
.news .news-block .news-list {
  display: flex;
  flex-direction: column;
  row-gap: 56px;
}
@media screen and (max-width:768px) {
  .news .news-block .news-list {
    grid-template-columns: 1fr;
    row-gap: 40px;
  }
}
.news .news-block .news-list .news-item .img-wrapper {
  border: 2px solid #222;
  margin-bottom: 16px;
  aspect-ratio: 280/180;
}
.news .news-block .news-list .news-item .img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news .news-block .news-list .news-item .text {
  font-size: 1.6rem;
}

.community {
  position: relative;
}
.community::before {
  content: "";
  position: absolute;
  background: url(../../assets/images/community-bg.jpg) no-repeat;
  top: 236px;
  left: 0;
  width: 100%;
  height: calc(100% - 236px);
  border-radius: 96px;
}
@media screen and (max-width:768px) {
  .community::before {
    border-radius: 48px;
  }
}
.community h2 {
  width: 51.317715959vw;
  text-align: center;
  margin: 0 auto 80px;
}
.community .contents {
  max-width: 800px;
  margin: 0 auto;
  border-radius: 60px;
  padding: 96px 56px;
  border: 2px solid #222;
  background: white;
}
@media screen and (max-width:768px) {
  .community .contents {
    border-radius: 48px;
    padding: 48px 20px;
  }
}
.community .contents p {
  font-size: 1.5rem;
}
.community .contents p + p {
  margin-top: 1em;
}
.community .contents .text-head {
  margin-bottom: 32px;
  text-align: justify;
}
.community .contents dl {
  margin-bottom: 32px;
}
.community .contents dl dt {
  color: white;
  font-weight: 700;
  padding: 8px 16px;
  line-height: 1;
  background: #222;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 16px;
}
.community .contents dl dd ul {
  font-size: 1.5rem;
}
.community .contents dl dd ul li {
  text-indent: 0.5em;
}

.member {
  padding-bottom: 0;
}
.member .inner {
  max-width: 800px;
}
.member .tab {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 64px;
}
.member .tab li .img-current {
  display: none;
}
.member .tab li.active .img-current {
  display: block;
}
.member .tab li.active .img-gray {
  display: none;
}
.member .tab .separate {
  font-size: 5rem;
  line-height: 1;
}
@media screen and (max-width:768px) {
  .member .tab .separate {
    font-size: 3rem;
  }
}
.member #member-tab .member-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width:768px) {
  .member #member-tab .member-list {
    grid-template-columns: 1fr;
  }
}
.member #member-tab .member-list .item .img-wrapper {
  aspect-ratio: 1/1;
  border: 2px solid #222;
  margin-bottom: 16px;
}
.member #member-tab .member-list .item .img-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.member #member-tab .member-list .item .text-wrapper {
  text-align: center;
}
.member #member-tab .member-list .item .text-wrapper .post {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 8px;
}
.member #member-tab .member-list .item .text-wrapper .note {
  font-size: 1.2rem;
  line-height: 1.6666666667;
}
.member #area-tab .container {
  position: relative;
}
.member #area-tab .container .text-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.member #area-tab .container .text-wrapper .com-list {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width:768px) {
  .member #area-tab .container .text-wrapper .com-list {
    font-size: 1.4rem;
  }
}
.member #area-tab .container .map {
  margin-left: auto;
  max-width: 594px;
  width: 100%;
  padding-right: 40px;
}
.member .area {
  display: none;
  opacity: 0;
}
.member .area.is-active {
  display: block;
  -webkit-animation-name: displayAnime;
  animation-name: displayAnime;
  -webkit-animation-duration: 0.6s;
  animation-duration: 0.6s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
section h2 {
  margin-bottom: 80px;
}
@media screen and (max-width:768px) {
  section h2 {
    margin: auto;
    margin-bottom: 56px;
  }
}

.summary h2 {
  width: 25.0366032211vw;
  margin: 0 auto 80px;
}
@media screen and (max-width:768px) {
  .summary h2 {
    width: 50.0732064422vw;
  }
}
.summary .inner {
  max-width: 700px;
}
.summary .inner .contents dl {
  margin-bottom: 32px;
}
.summary .inner .contents dl div {
  align-items: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width:768px) {
  .summary .inner .contents dl div {
    flex-direction: column;
    border-bottom: 1px solid #222;
    padding: 16px 0;
  }
  .summary .inner .contents dl div:first-of-type {
    padding-top: 0;
  }
}
.summary .inner .contents dl dt {
  padding-right: 1.5em;
  width: 4em;
  flex-shrink: 0;
}
@media screen and (max-width:768px) {
  .summary .inner .contents dl dt {
    padding: 0;
    font-weight: 700;
  }
}
.summary .inner .contents dl dd {
  padding-left: 1.5em;
  border-left: 1px solid #222;
}
@media screen and (max-width:768px) {
  .summary .inner .contents dl dd {
    padding: 0;
    border: none;
  }
}
.summary .inner .contents .iframe-wrapper {
  width: 100%;
  aspect-ratio: 7/3;
}
.summary .inner .contents .iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contact-area {
  background-color: #222;
  position: relative;
  padding: 64px 0;
}
.contact-area::before {
  content: "";
  position: absolute;
  background-image: url(../../assets/images/contact-bg-text.svg);
  width: 64.7144948755%;
  height: 12.737920937vw;
  top: -40px;
  left: 40px;
  background-size: 64.7144948755% auto;
}
.contact-area .inner {
  width: 71.7423133236%;
  margin: 0 auto;
}
@media screen and (max-width:768px) {
  .contact-area .inner {
    width: 85.8139534884%;
  }
}
.contact-area .contents {
  align-items: center;
  justify-content: space-between;
  color: white;
  column-gap: 8px;
}
@media screen and (max-width: 1140px) {
  .contact-area .contents {
    flex-direction: column;
    row-gap: 24px;
  }
}
.contact-area .contents .tel-num {
  font-family: var(--en);
  font-size: clamp(2.4rem, 1.756954612vw, 42px);
  font-weight: 700;
}
@media screen and (max-width:768px) {
  .contact-area .contents .tel-num {
    font-size: 3rem;
  }
}
.contact-area .contents .btn-wrapper {
  display: flex;
  justify-content: center;
  column-gap: 8px;
  align-items: flex-start;
  margin: 0 auto;
}
@media screen and (max-width:768px) {
  .contact-area .contents .btn-wrapper {
    flex-direction: column;
    row-gap: 24px;
  }
}
.contact-area .contents .btn-square {
  width: 280px;
  position: relative;
  height: 80px;
  border: 1px solid white;
  border-radius: 10px;
  background-color: #222;
  color: white;
  font-weight: 700;
  display: grid;
  place-content: center;
  letter-spacing: 0.05em;
  overflow: hidden;
  text-align: center;
  line-height: 1.4444444444;
}
.contact-area .contents .btn-square::after {
  content: "";
  background: url(../../assets/images/btn-arrow.svg) no-repeat center/contain;
  width: 6px;
  height: 12px;
  position: absolute;
  display: block;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
}

.white-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border: 1px solid #222;
  border-radius: 20px;
  height: 40px;
}
.white-btn span {
  display: flex;
  align-items: center;
  font-size: 1.5rem;
  line-height: 1;
}
.white-btn span::before {
  content: "";
  background: url(../../assets/images/icon-pdf.svg) no-repeat center/contain;
  width: 18px;
  height: 21px;
  margin-right: 8px;
  display: inline-block;
}

footer {
  padding-top: 60px;
  height: 584px;
  position: relative;
}
footer::after {
  content: "";
  background: url(../../assets/images/footer-text.svg) no-repeat;
  background-size: 101.756954612%;
  display: block;
  width: 100%;
  height: 27.8184480234vw;
  background-position: bottom left;
  position: absolute;
  bottom: -72px;
}
@media screen and (max-width:768px) {
  footer::after {
    bottom: 0;
  }
}
footer .footer-inner {
  max-width: 1200px;
  width: 71.7423133236%;
  margin: 0 auto 16px;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width:768px) {
  footer .footer-inner {
    flex-direction: column;
    width: 85.8139534884%;
  }
}
footer .footer-logo {
  width: 200px;
  margin-bottom: 16px;
  display: block;
}
footer address {
  font-style: normal;
  font-size: 1.5rem;
}
footer .footer-right {
  -moz-column-gap: 48px;
  column-gap: 48px;
}
@media screen and (max-width:768px) {
  footer .footer-right {
    flex-direction: column;
    row-gap: 24px;
  }
}
footer .footer-right .list .ttl {
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.2;
  line-height: 1.6;
  margin-bottom: 8px;
}
footer .footer-right .list li {
  text-indent: 0.5em;
  font-size: 1.5rem;
}
@media screen and (max-width:768px) {
  footer .footer-left {
    margin-bottom: 32px;
  }
}
footer small {
  font-size: 1rem;
  width: 100%;
  margin-top: 16px;
}
@media screen and (max-width:768px) {
  footer small {
    text-align: center;
    display: block;
  }
}


