@charset "UTF-8";
/*main*/
/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@-webkit-keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@-webkit-keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

* {
  margin: 0;
  padding: 0;
  text-align: left;
}

hr {
  display: none;
  line-height: 0;
  font-size: 0;
  padding: 0;
  margin: 0;
  border: none;
}

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

ul, ol {
  list-style: none;
}

address {
  font-style: normal;
}

img {
  border: none;
  width: auto;
  max-width: 100%;
  font-size: 0;
  line-height: 0;
}

table, tbody, tr, th, td {
  padding: 0;
  margin: 0;
  border: none;
  border-collapse: collapse;
}

html, body {
  width: 100%;
  height: auto;
}

html {
  font-size: 62.5%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

small {
  font-size: 100%;
}

body {
  font-family: "Zen Old Mincho", "游明朝", Hiragino Mincho ProN, "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #333333;
  background-color: #FFFFFF;
  width: 100%;
}
body #main .ff__sans {
  font-family: "游ゴシック", "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, sans-serif;
}
body #main .ff__serif {
  font-family: "Zen Old Mincho";
}
body #main .ff__sub {
  font-family: "Zen Kaku Gothic New";
}
body #main .ff__en {
  font-family: "EB Garamond";
}
body #main .ff__en-sub {
  font-family: "Bebas Neue";
}
body #main .fw__bold {
  font-weight: 700;
}
body #main .fw__normal {
  font-weight: 400;
}
body .fs__txt__40 {
  font-size: 4rem;
  letter-spacing: 0.04em;
  line-height: 1.25;
}
body .fs__txt__30 {
  font-size: 3rem;
  letter-spacing: 0.04em;
  line-height: 2.4;
}
body .fs__txt__24 {
  font-size: 2.4rem;
  letter-spacing: 0.04em;
  line-height: 1.45;
}
body .fs__txt__20 {
  font-size: 2rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
body .fs__txt__16 {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 2;
}
body .fs__txt__14 {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.8571428571;
}
body .fs__txt__12 {
  font-size: 1.2rem;
  letter-spacing: 0.04em;
  line-height: 1.25;
}
@media (max-width: 750px) {
  body .fs__txt__40 {
    font-size: 2rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  body .fs__txt__30 {
    font-size: 2rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  body .fs__txt__24 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 2;
  }
  body .fs__txt__20 {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
  }
  body .fs__txt__16 {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    line-height: 1.8571428571;
  }
  body .fs__txt__14 {
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
}
body .fs__txt__en__80 {
  font-size: 8rem;
  line-height: 1.05;
  letter-spacing: 0.1em;
  font-family: "EB Garamond";
}
body .fs__txt__en__60 {
  font-size: 6rem;
  letter-spacing: 0.1em;
  line-height: 1.1666666667;
  font-family: "EB Garamond";
}
body .fs__txt__en__50 {
  font-size: 5rem;
  letter-spacing: 0.1em;
  line-height: 1.06;
  font-family: "EB Garamond";
}
body .fs__txt__en__32 {
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-family: "EB Garamond";
}
body .fs__txt__en__24 {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  font-family: "EB Garamond";
}
body .fs__txt__en__12 {
  font-size: 1.2rem;
  letter-spacing: 0.01em;
  line-height: 1.6666666667;
  font-family: "EB Garamond";
}
@media (max-width: 750px) {
  body .fs__txt__en__80 {
    font-size: 3.2rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  body .fs__txt__en__60 {
    font-size: 3.2rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  body .fs__txt__en__50 {
    font-size: 3.2rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
  body .fs__txt__en__32 {
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    line-height: 1.6666666667;
  }
  body .fs__txt__en__24 {
    font-size: 1.6rem;
    letter-spacing: 0.04em;
    line-height: 2;
  }
}
body .dp__block {
  display: block;
}
body .dp__block__pc {
  display: block;
}
body .dp__block__sp {
  display: none;
}
body .dp__inline-block {
  display: inline-block;
}
body .dp__inline-block__pc {
  display: inline-block;
}
body .dp__inline-block__sp {
  display: none;
}
body .dp__inline {
  display: inline;
}
body .dp__inline__pc {
  display: inline;
}
body .dp__inline__sp {
  display: none;
}
body .dp__flex {
  display: flex;
}
body .dp__flex__pc {
  display: flex;
}
body .dp__flex__sp {
  display: none;
}
@media (max-width: 750px) {
  body .dp__block__pc {
    display: none;
  }
  body .dp__block__sp {
    display: block;
  }
  body .dp__inline-block__pc {
    display: none;
  }
  body .dp__inline-block__sp {
    display: inline-block;
  }
  body .dp__inline__pc {
    display: none;
  }
  body .dp__inline__sp {
    display: inline;
  }
  body .dp__flex__pc {
    display: none;
  }
  body .dp__flex__sp {
    display: flex;
  }
}
body .color__txt__pri {
  color: #A89942;
}
body .color__txt__sec {
  color: #545E60;
}
body .color__txt__ter {
  color: #B7D450;
}
body .color__txt__qua {
  color: #2872A1;
}
body .color__txt__qui {
  color: #A8CD37;
}
body .color__txt__sen {
  color: #000028;
}
body .color__txt__sep {
  color: #FFFFFF;
}
body .color__txt__oct {
  color: #E2E3E4;
}
body .color__txt__non {
  color: #949494;
}
body .color__txt__den {
  color: #333333;
}
body .color__bg__pri {
  background-color: #A89942;
}
body .color__bg__sec {
  background-color: #545E60;
}
body .color__bg__ter {
  background-color: #B7D450;
}
body .color__bg__qua {
  background-color: #2872A1;
}
body .color__bg__qui {
  background-color: #A8CD37;
}
body .color__bg__sen {
  background-color: #000028;
}
body .color__bg__sep {
  background-color: #FFFFFF;
}
body .color__bg__oct {
  background-color: #E2E3E4;
}
body .color__bg__non {
  background-color: #949494;
}
body .color__bg__den {
  background-color: #333333;
}
body .img__reset {
  font-size: 0;
  line-height: 0;
}

img {
  width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

.sec__in__l {
  width: 100%;
  max-width: 1140px;
  min-width: 0;
  margin: 0 auto;
}

.sec__in__s {
  width: 100%;
  max-width: 960px;
  min-width: 0;
  margin: 0 auto;
}

@media (max-width: 750px) {
  .sec__in__l {
    width: 100%;
    max-width: 100%;
  }
  .sec__in__s {
    width: 100%;
    max-width: 100%;
  }
}
.cap__wrap {
  position: relative;
}
.cap__txt01 {
  position: absolute;
  bottom: 0;
  right: 0;
}
.cap__txt02 {
  position: absolute;
  bottom: 2em;
  right: 0;
}

.gotop {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  width: 100%;
}
.gotop .sec__in__l {
  max-width: 100%;
  position: relative;
}
.gotop .btn {
  width: 4.7368421053%;
  max-width: 54px;
  position: absolute;
  bottom: -200px;
  right: 10px;
  transition: bottom 0.3s ease 0s;
}
.gotop .btn.js--ing {
  bottom: 0;
}
.gotop .btn div {
  padding: 100% 0 0;
  width: 100%;
  position: absolute;
  bottom: 10px;
  left: 0;
  border-radius: 100%;
  border: 1px solid #A5A5A5;
  background: #FFFFFF;
}
.gotop .btn .svg-inline--fa {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  font-size: 3rem;
}
@media (max-width: 750px) {
  .gotop .btn {
    width: 10.6666666667%;
    right: 4%;
  }
}

.cmn-tit01 {
  display: block;
  text-align: center;
  color: #2872A1;
  font-size: 3.2rem;
  border-bottom: 1px solid #2872A1;
  line-height: 48px;
  letter-spacing: 3.2px;
}
@media (max-width: 750px) {
  .cmn-tit01 {
    font-size: 2.4rem;
  }
}

.common__hero {
  padding: 100px 0 120px;
}
.common__hero h1,
.common__hero p {
  text-align: right;
}
.common__hero .cap__txt01 {
  left: 0;
  right: auto;
}
@media (max-width: 750px) {
  .common__hero {
    padding: 25.3333333333% 4% 29.3333333333%;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

header {
  background: #FFFFFF;
  padding: 10px 0;
  box-sizing: border-box;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 100;
}
header .sec__in__l {
  padding: 0 10px;
  box-sizing: border-box;
  max-width: 100%;
  position: relative;
}
header .h__content {
  justify-content: space-between;
  align-items: center;
}
header .logo {
  width: 27.3684210526%;
  max-width: 312px;
  position: relative;
  z-index: 2;
}
header .nav {
  padding: 14px 0 0;
  width: 61.4035087719%;
  max-width: 700px;
  margin: 0 1.0526315789% 0 auto;
  position: relative;
  z-index: 2;
}
header .nav h2 {
  text-align: right;
  margin: 0 0 6px;
}
header .nav nav {
  justify-content: flex-end;
  align-items: center;
}
header .snav {
  gap: 0 1em;
  margin: 0 20px 0 0;
}
header .snav li a {
  align-items: center;
}
header .snav li .svg-inline--fa {
  font-size: 1.8rem;
  margin: 0 0.25em 0 0;
}
header .cvnav {
  gap: 0 1rem;
}
header .cvnav li {
  width: 161px;
}
header .cvnav li + li {
  width: 160px;
}
header .cvnav li a {
  padding: 0.3em;
  font-weight: 400;
  box-sizing: border-box;
  display: block;
}
header .cvnav li a.color__bg__qua {
  border: 1px solid #2872A1;
}
header .cvnav li a.color__bg__pri {
  border: 1px solid #A89942;
}
header .cvnav li a span {
  display: block;
  text-align: center;
  padding: 8px 0;
  border: 1px solid #b4b4b4;
}
header .menu {
  width: 5.6140350877%;
  max-width: 64px;
  padding: 17px 0 0;
  position: relative;
  z-index: 4;
}
header .menu div {
  width: 100%;
  padding: 100% 0 0;
  border-radius: 100%;
  border: 1px solid #A5A5A5;
  position: relative;
}
header .menu div span {
  transition: width 0.3s ease 0s;
}
header .menu div:before, header .menu div:after {
  transition: transform 0.3s ease 0s, top 0.3s ease 0s, bottom 0.3s ease 0s;
}
header .menu div.js--on span {
  width: 0;
}
header .menu div.js--on:before {
  transform: rotate(45deg);
  bottom: 0;
}
header .menu div.js--on:after {
  transform: rotate(-45deg);
  top: 0;
}
header .menu div:before,
header .menu div:after {
  content: "";
}
header .menu span,
header .menu div:before,
header .menu div:after {
  display: block;
  background: #333333;
  height: 2px;
  width: 35.9375%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
header .menu div:before {
  bottom: 16px;
}
header .menu div:after {
  top: 16px;
}
header .gnav {
  position: absolute;
  overflow: hidden;
  width: 0;
  top: 0;
  right: 0;
  z-index: 3;
  padding: 105px 0 65px;
  box-sizing: border-box;
  transition: max-width 0.5s ease 0s, padding 0.5s ease 0s;
  white-space: nowrap;
  width: 57.4561403509%;
  max-width: 0;
  overflow-y: scroll;
}
header .gnav .mnav li,
header .gnav .snav,
header .gnav .cvnav {
  transform: translateX(100px);
  opacity: 0;
}
header .gnav.js--on {
  max-width: 665px;
  box-sizing: border-box;
  height: 100dvh;
  padding: 105px 5.701754386% 65px;
}
header .gnav.js--on .snav {
  transition: transform 0.3s ease 0.7s, opacity 0.3s ease 0.7s;
}
header .gnav.js--on .cvnav {
  transition: transform 0.3s ease 0.75s, opacity 0.3s ease 0.75s;
}
header .gnav.js--on .mnav li:nth-child(1) {
  transition: transform 0.3s ease 0.65s, opacity 0.3s ease 0.65s;
}
header .gnav.js--on .mnav li:nth-child(2) {
  transition: transform 0.3s ease 0.7s, opacity 0.3s ease 0.7s;
}
header .gnav.js--on .mnav li:nth-child(3) {
  transition: transform 0.3s ease 0.75s, opacity 0.3s ease 0.75s;
}
header .gnav.js--on .mnav li:nth-child(4) {
  transition: transform 0.3s ease 0.8s, opacity 0.3s ease 0.8s;
}
header .gnav.js--on .mnav li:nth-child(5) {
  transition: transform 0.3s ease 0.85s, opacity 0.3s ease 0.85s;
}
header .gnav.js--on .mnav li:nth-child(6) {
  transition: transform 0.3s ease 0.9s, opacity 0.3s ease 0.9s;
}
header .gnav.js--on .mnav li:nth-child(7) {
  transition: transform 0.3s ease 0.95s, opacity 0.3s ease 0.95s;
}
header .gnav.js--on .mnav li:nth-child(8) {
  transition: transform 0.3s ease 1s, opacity 0.3s ease 1s;
}
header .gnav.js--on .mnav li:nth-child(9) {
  transition: transform 0.3s ease 1.05s, opacity 0.3s ease 1.05s;
}
header .gnav.js--on .mnav li:nth-child(10) {
  transition: transform 0.3s ease 1.1s, opacity 0.3s ease 1.1s;
}
header .gnav.js--on .mnav li:nth-child(11) {
  transition: transform 0.3s ease 1.15s, opacity 0.3s ease 1.15s;
}
header .gnav.js--on .mnav li:nth-child(12) {
  transition: transform 0.3s ease 1.2s, opacity 0.3s ease 1.2s;
}
header .gnav.js--on .snav,
header .gnav.js--on .cvnav,
header .gnav.js--on .mnav li {
  opacity: 1;
  transform: translateX(0);
}
header .gnav .mnav {
  margin: 0 0 50px;
}
header .gnav .mnav li {
  margin: 0 0 25px;
  border-bottom: 1px solid #B7B5B5;
}
header .gnav .mnav li:last-child {
  margin: 0;
}
header .gnav .mnav li b {
  margin: 0em 0.7em 0 0;
  font-weight: normal;
}
header .gnav .mnav li a.dp__flex {
  position: relative;
  align-items: center;
}
header .gnav .mnav li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 0;
  transition: width 0.5s ease 0s;
  background: #000;
}
header .gnav .mnav li a.js--on:after {
  width: 100%;
}
header .gnav .mnav li.not-release {
  pointer-events: none;
}
header .gnav .mnav li.not-release a {
  color: #c2c2c2;
  pointer-events: none;
}
header .gnav .mnav + .snav {
  gap: 0 2.3em;
}
header .gnav .cvnav li a {
  position: relative;
}
header .gnav .cvnav li.entry span {
  border: 1px solid #b4b4b4;
}
header .gnav .cvnav li a .fa-angle-right {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 2.5rem;
}
header .gnav .snav {
  margin: 0 0 25px;
}
header .gnav .cvnav {
  width: 100%;
  display: block;
}
header .gnav .cvnav li {
  width: 100%;
  margin-bottom: 20px;
}
header .h__float ul {
  gap: 0 1px;
}
header .h__float li {
  width: 100%;
}
header .h__float li a {
  line-height: 1;
  display: block;
  text-align: center;
  padding: 5px 0;
  box-sizing: border-box;
  height: 100%;
}
header .h__float li a span {
  display: block;
  text-align: center;
}
header .h__float li a svg {
  font-size: 2.3rem;
}
@media (max-width: 750px) {
  header {
    padding: 0;
  }
  header .sec__in__l {
    padding: 10px 4%;
    box-sizing: border-box;
  }
  header .h__content {
    justify-content: space-between;
  }
  header .logo {
    width: 56.5217391304%;
  }
  header .menu {
    width: 13.9130434783%;
    padding: 0;
  }
  header .menu span,
header .menu div:before,
header .menu div:after {
    width: 47.9166666667%;
  }
  header .menu div:before {
    bottom: 12px;
  }
  header .menu div:after {
    top: 12px;
  }
  header .gnav {
    top: 100%;
    padding: 10px 0 20px;
    transition: max-width 0.5s ease 0s, padding 0.5s ease 0s;
    width: 100%;
  }
  header .gnav .mnav li,
header .gnav .snav,
header .gnav .cvnav {
    transform: translateX(100px);
    opacity: 0;
  }
  header .gnav.js--on {
    max-width: 100%;
    padding: 10px 4% 20px;
    height: calc(100dvh - 65px);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  header .gnav .mnav {
    margin: 0 0 25px;
  }
  header .gnav .mnav li {
    margin: 0 0 20px;
  }
  header .gnav .mnav li:last-child {
    margin: 0;
  }
  header .gnav .mnav li b {
    margin: 0 0.5em 0 0;
    font-size: 2rem;
  }
  header .gnav .snav {
    margin: 0 0 30px;
  }
  header .gnav .cvnav li {
    width: 89.8550724638%;
    margin: auto auto 10px;
  }
  header .gnav .cvnav li a {
    font-size: 1.6rem;
  }
  header .gnav .cvnav li.entry a {
    padding: 0.1em;
  }
  header .gnav .cvnav li a .fa-angle-right {
    right: 7%;
    font-size: 2.5rem;
  }
  header .cvnav__online span {
    line-height: 1.5;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

footer .fnav {
  padding: 13px 0;
  background-color: #234;
}
footer .fnav ul {
  justify-content: center;
  flex-wrap: wrap;
}
footer .fnav ul li:after {
  content: "／";
  margin: 0 0.1em;
}
footer .fnav ul li:last-child:after {
  display: none;
}
footer .f__content {
  padding: 45px 0 60px;
  background-color: #3A4E62;
  color: #fff;
}
footer .f__content p.tit {
  text-align: center;
}
footer .f__content p.tel {
  margin: 0 0 7px;
}
footer .f__content p.tel a {
  gap: 0 5px;
  align-items: baseline;
  justify-content: center;
}
footer .f__content p.tel img {
  width: 63px;
}
footer .f__content p.tel span {
  width: 350px;
  font-size: 5rem;
}
footer .f__content p.txt {
  margin: 0 0 47px;
  text-align: center;
}
footer .f__content ul {
  justify-content: center;
  align-items: center;
  gap: 0 28px;
}
footer .f__content li {
  font-size: 0;
  line-height: 0;
}
footer .f__content li.misawa {
  width: 293px;
}
footer .f__content li.jr {
  width: 275px;
}
footer .f__content li.jin {
  width: 269px;
}
footer .f__bnr {
  padding: 0 0 42px;
  background-color: #3A4E62;
}
footer .f__bnr ul {
  justify-content: center;
  gap: 0 12px;
}
footer .f__bnr li {
  width: 220px;
  font-size: 0;
  line-height: 0;
}
footer .f__copy {
  padding: 13px 0;
  background-color: #234;
  color: #fff;
}
footer .f__copy p {
  text-align: center;
}
@media (max-width: 750px) {
  footer .fnav {
    padding: 0;
  }
  footer .fnav ul {
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    border-top: 1px solid #FFFFFF;
    border-left: 1px solid #FFFFFF;
  }
  footer .fnav ul li {
    border-bottom: 1px solid #FFFFFF;
    border-right: 1px solid #FFFFFF;
    box-sizing: border-box;
    width: 50%;
  }
  footer .fnav ul li:after {
    display: none;
  }
  footer .fnav ul li a {
    display: block;
    text-align: center;
    padding: 1em;
  }
  footer .f__content {
    padding: 9.6% 13.3333333333% 17.3333333333%;
  }
  footer .f__content p.tit {
    font-size: 1.4rem;
    text-align: center;
  }
  footer .f__content p.tel a {
    gap: 0;
  }
  footer .f__content p.tel img {
    width: 17.0909090909%;
  }
  footer .f__content p.tel span {
    width: 79.6363636364%;
    font-size: 3rem;
  }
  footer .f__content p.txt {
    margin: 0 0 50px;
  }
  footer .f__content ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 22px 0;
  }
  footer .f__content li.misawa {
    width: 100%;
  }
  footer .f__content li.jr {
    width: 100%;
  }
  footer .f__content li.jin {
    width: 100%;
  }
  footer .f__bnr {
    padding: 0 13.3333333333% 31.2%;
  }
  footer .f__bnr ul {
    flex-direction: column;
    gap: 12px 0;
  }
  footer .f__bnr li {
    width: 100%;
  }
  footer .f__copy {
    padding: 4.8% 0 18%;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.sec__inquiry {
  background: rgba(168, 205, 55, 0.08);
  padding: 45px 0 35px;
}
.sec__inquiry ul {
  justify-content: center;
  gap: 0 2.0833333333%;
  margin: 0 0 30px;
}
.sec__inquiry li {
  width: 39.5833333333%;
}
.sec__inquiry li a {
  box-sizing: border-box;
  display: block;
}
.sec__inquiry li a.color__bg__qua {
  border: 1px solid #2872A1;
}
.sec__inquiry li a.color__bg__pri {
  border: 1px solid #A89942;
}
.sec__inquiry li a span {
  border: 1px solid #E2E3E4;
  display: block;
  text-align: center;
  padding: 15px 0;
}
.sec__inquiry .contact {
  border: 1px solid #A89942;
  background: #FFFFFF;
  width: 81.25%;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 25px 0 30px;
}
.sec__inquiry h4 {
  text-align: center;
  margin: 0 0 6px;
}
.sec__inquiry .tel a {
  align-items: center;
  justify-content: center;
}
.sec__inquiry .tel img {
  width: 46px;
  margin: 0 8px 0 0;
  position: relative;
  top: 5px;
}
.sec__inquiry .txt {
  text-align: center;
  margin: 0 0 5px;
}
@media (max-width: 750px) {
  .sec__inquiry {
    padding: 30px 4% 35px;
  }
  .sec__inquiry ul {
    display: block;
    margin: 0 0 20px;
  }
  .sec__inquiry li {
    width: auto;
    margin: 0 0 10px;
  }
  .sec__inquiry li:last-child {
    margin: 0;
  }
  .sec__inquiry .contact {
    width: auto;
    margin: 0 auto;
    padding: 20px 0 30px;
  }
  .sec__inquiry h4 {
    margin: 0 0 10px;
  }
  .sec__inquiry .tel {
    margin: 0 0 10px;
  }
  .sec__inquiry .tel img {
    width: 40px;
    top: 0;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

.sec__caution {
  padding: 20px 0 50px;
}
.sec__caution li {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
@media (max-width: 750px) {
  .sec__caution {
    padding: 15px 4% 40px;
  }
}

/*page*/
/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#index {
  /* ==============================================
     SEC04: スクロールクリップアニメーションセクション
  ============================================== */
}
#index .sticky__navi {
  position: fixed;
}
#index .sticky__navi.js--start {
  transform: translateY(-100%);
  transition: transform 0.2s 0s ease-out;
}
#index .sticky__navi.js--ing {
  transition: transform 0.2s 0s ease-out;
}
#index .popup {
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: 100000;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: default !important;
}
#index .popup.js--on {
  display: none;
}
#index .popup .popup__inner {
  position: relative;
}
#index .popup .popup__inner a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 57px;
  height: 57px;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
#index .popup .popup__inner a .fa-xmark {
  font-size: 3.6rem;
}
@media (max-width: 750px) {
  #index .popup {
    padding: 40px 7%;
    box-sizing: border-box;
  }
  #index .popup .popup__inner a {
    width: 46px;
    height: 46px;
  }
}
#index .visual {
  position: relative;
  z-index: 10;
}
#index .visual h2 {
  font-size: 0;
  line-height: 0;
}
#index .visual video {
  width: 100%;
}
#index .visual img {
  width: 100%;
}
#index .visual .btn__box {
  position: absolute;
  right: 14px;
  top: 18px;
}
#index .visual .btn__box button {
  width: 85px;
  padding: 0.1em;
  border: 1px solid #2872A1;
  background-color: rgb(255, 255, 255);
  font-size: 1.6rem;
}
#index .visual .btn__box button.btn--replay {
  display: none;
}
#index .visual .btn__box button p {
  text-align: center;
  color: #2872A1;
}
@media (max-width: 750px) {
  #index .visual .btn__box {
    right: 1%;
    top: 1%;
    width: 18.6666666667%;
  }
  #index .visual .btn__box button {
    width: 100%;
    padding: 0.1em;
  }
  #index .visual .btn__box button svg {
    margin: 0 0 0 3%;
    font-size: 1.4rem;
  }
}
#index .sec01 {
  padding: 26px 0;
  background-color: #5FA7BF;
  position: relative;
  z-index: 10;
}
#index .sec01 h3 {
  text-align: center;
}
@media (max-width: 750px) {
  #index .sec01 {
    padding: 7.4666666667% 4% 4.2666666667%;
  }
}
#index .sec02 {
  padding: 52px 0 76px;
  position: relative;
  z-index: 10;
  background: #fff;
}
#index .sec02 p.txt {
  text-align: center;
  margin: 0 0 33px;
}
#index .sec02 p.btn {
  width: 843px;
  margin: auto;
  color: #fff;
}
#index .sec02 p.btn a {
  position: relative;
  display: block;
  padding: 0.2em;
  text-align: center;
}
#index .sec02 p.btn span {
  border: 4px solid #b4b4b4;
  display: block;
  padding: 0.8em;
  text-align: center;
}
#index .sec02 p.btn .fa-angle-right {
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
  font-size: 4rem;
}
#index .sec02__link {
  display: flex;
  gap: 20px;
  max-width: 960px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  #index .sec02 {
    padding: 30px 4% 40px;
  }
  #index .sec02 p.txt {
    margin: 0 0 23px;
    font-size: 1.8rem;
  }
  #index .sec02 p.btn {
    width: 100%;
    font-size: 1.8rem;
    margin-bottom: 12.5px;
  }
  #index .sec02 p.btn a {
    padding: 0.2em;
  }
  #index .sec02 p.btn span {
    border: 2px solid #b4b4b4;
    padding: 0.6em;
  }
  #index .sec02 p.btn .fa-angle-right {
    right: 7%;
    font-size: 2.5rem;
  }
  #index .sec02__link {
    display: block;
  }
}
#index .sec03 {
  scroll-margin-top: 100px;
  position: relative;
  z-index: 10;
}
#index .sec03 img {
  vertical-align: middle;
}
#index .sec03 .cmn-tit01 {
  width: 350px;
  margin: 0 auto 5%;
  font-size: min(2.8070175439vw, 3.2rem);
}
#index .sec03 h5 {
  margin: 0 0 4%;
  text-align: center;
  font-size: min(2.1052631579vw, 2.4rem);
}
#index .sec03 dl {
  margin: 0 0 4%;
}
#index .sec03 dt {
  width: min(76.0526315789vw, 867px);
  margin: 0 auto 2%;
}
#index .sec03 dd {
  width: min(75.0877192982vw, 856px);
  margin: auto;
}
#index .sec03 p.txt01 {
  margin: 0 0 5%;
  text-align: center;
  font-size: min(1.5789473684vw, 1.8rem);
  line-height: 50px;
  letter-spacing: 0.72px;
}
#index .sec03 p.txt02 {
  font-size: min(2.1052631579vw, 2.4rem);
  text-align: center;
  color: #43939E;
}
#index .sec03 p.txt02 b {
  font-size: min(5.2631578947vw, 6rem);
}
#index .sec03__box01 {
  position: absolute;
  top: 88px;
  right: 0;
  left: 0;
  margin: auto;
}
@media (max-width: 750px) {
  #index .sec03 {
    padding: 0 0 33px;
  }
  #index .sec03 .cmn-tit01 {
    width: 53.3333333333%;
    margin: 0 auto 37px;
    font-size: 2.4rem;
  }
  #index .sec03 h5 {
    margin: 0 0 30px;
    font-size: 1.8rem;
    text-align: left;
  }
  #index .sec03 dl {
    margin: 0 0 20px;
  }
  #index .sec03 dt {
    width: 98.5507246377%;
    margin: 0 auto 8px;
  }
  #index .sec03 dd {
    width: 89.2753623188%;
  }
  #index .sec03 p.txt01 {
    margin: 0 0 10px;
    font-size: 1.6rem;
    text-align: left;
    line-height: 40px;
    letter-spacing: 0.64px;
  }
  #index .sec03 p.txt02 {
    font-size: 2rem;
  }
  #index .sec03 p.txt02 b {
    font-size: 5rem;
    line-height: 1;
  }
  #index .sec03__box01 {
    padding: 0 4%;
    top: 5%;
  }
}
#index .sec04 {
  /* --- 1. 固定背景リスト (アニメーション対象) --- */
  /* --- 2. トリガーとなるコンテンツリスト (ul.contents) --- */
}
#index .sec04 .wrapper {
  position: relative;
  z-index: 1;
  width: 90%;
  margin: 0 auto;
}
#index .sec04 #fixed-background-list {
  list-style: none;
  padding: 0;
  margin: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  display: grid;
  grid-template-rows: 1fr;
  opacity: 1;
}
#index .sec04 #fixed-bg-01 {
  z-index: 11;
}
#index .sec04 #fixed-bg-02 {
  z-index: 10;
}
#index .sec04 #fixed-bg-03 {
  z-index: 9;
}
#index .sec04 #fixed-bg-04 {
  z-index: 8;
}
#index .sec04 #fixed-bg-05 {
  z-index: 7;
}
#index .sec04 #fixed-bg-06 {
  z-index: 6;
}
#index .sec04 #fixed-background-list > li {
  grid-area: 1/1;
}
#index .sec04 #fixed-background-list > li .bg, #index .sec04 #fixed-background-list > li .clip-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#index .sec04 #fixed-background-list > li img, #index .sec04 #fixed-background-list > li picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  /* GSAP初期値: 下から上にクリップ (JSと一致させる) */
  -webkit-clip-path: inset(0% 0% 0% 0%);
          clip-path: inset(0% 0% 0% 0%);
}
#index .sec04 .contents {
  list-style: none;
  padding: 0;
  margin: 0;
}
#index .sec04 .contents .block {
  height: 100vh;
  position: relative;
}
#index .sec04 .contents .block .stik {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5%;
  /* 白文字バリエーション */
}
#index .sec04 .contents .block .stik .txt {
  width: 40%;
  z-index: 30;
  position: absolute; /* ← GSAP が使えるように絶対配置 */
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
  z-index: 5;
}
#index .sec04 .contents .block .stik .txt .txt__inner {
  pointer-events: auto;
  width: 420px;
  padding: 25vh 0 0;
  margin: auto auto auto 0;
}
#index .sec04 .contents .block .stik .txt .txt__inner h4 {
  margin: 0 0 30px;
  color: #2872A1;
}
#index .sec04 .contents .block .stik .txt .txt__inner h4 span {
  display: block;
}
#index .sec04 .contents .block .stik .txt .txt__inner h4 .fs__txt__16 {
  color: #333;
}
#index .sec04 .contents .block .stik .txt .txt__inner p {
  margin: 0 0 50px;
}
#index .sec04 .contents .block .stik .txt .txt__inner a {
  display: block;
  width: 300px;
  border: 1px solid #5FA7BF;
  background: #FFF;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  color: #2872A1;
  text-align: center;
  padding: 17px 18px;
  box-sizing: border-box;
  transition: background-color 0.5s ease 0s, color 0.5s ease 0s;
}
#index .sec04 .contents .block .stik .txt .txt__inner a.js--on {
  border: 1px solid var(--5-fa-7-bf, #5FA7BF);
  background: var(--5-fa-7-bf, #5FA7BF);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: #fff;
}
#index .sec04 .contents .block .stik .txt.white .txt__inner h4 {
  color: #fff;
}
#index .sec04 .contents .block .stik .txt.white .txt__inner h4 .fs__txt__16 {
  color: #fff;
}
#index .sec04 .contents .block .stik .txt.white .txt__inner p {
  color: #fff;
}
#index .sec04 .contents .block:nth-child(even) .txt .txt__inner {
  margin: auto 0 auto auto;
}
#index .sec04 figcaption {
  right: 7px;
  bottom: 5px;
  color: #fff;
}
@media (max-width: 750px) {
  #index .sec04 .wrapper {
    padding: 0 4%;
    margin: 0;
    box-sizing: border-box;
  }
  #index .sec04 .contents .block .stik .txt .txt__inner {
    padding: 20vh 0 0;
    width: 100%;
  }
  #index .sec04 .contents .block .stik .txt .txt__inner h4 {
    margin: 0 0 20px;
  }
  #index .sec04 .contents .block .stik .txt .txt__inner p {
    font-size: 1.6rem;
    margin: 0 0 30px;
  }
  #index .sec04 .contents .block .stik .txt .txt__inner a {
    width: 63.768115942%;
  }
}
#index .sec05 {
  position: relative;
  z-index: 10;
  background: #fff;
  padding: 50px 0 89px;
}
#index .sec05 ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: center;
  gap: 15px;
}
#index .sec05 ul::after {
  display: none;
}
#index .sec05 ul li {
  position: relative;
  min-width: 367px;
  max-width: 370px;
  flex: 0 1 calc(50% - 7.5px);
}
#index .sec05 ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
}
#index .sec05 ul li a .txt-box {
  position: absolute;
  z-index: 3;
  width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
}
#index .sec05 ul li a h4 {
  color: #fff;
  background: none;
  padding: 0;
  margin: 0 0 50px;
  text-align: center;
}
#index .sec05 ul li a h4 span {
  display: block;
  text-align: center;
}
#index .sec05 ul li a p.more {
  padding: 17px 18px;
  box-sizing: border-box;
  color: #2872A1;
  border: 1px solid #fff;
  width: 300px;
  margin: 0 auto;
  text-align: center;
  background: #fff;
  transition: background-color 0.5s ease 0s, color 0.5s ease 0s;
}
#index .sec05 ul li a .bg {
  overflow: hidden;
  width: 100%;
}
#index .sec05 ul li a .bg img {
  width: 100%;
  transition: transform 2s ease-out;
  vertical-align: middle;
}
#index .sec05 ul li a .bg figcaption {
  right: 7px;
  bottom: 5px;
  color: #fff;
}
#index .sec05 ul li a:hover p.more {
  border: 1px solid var(--5-fa-7-bf, #5FA7BF);
  background: var(--5-fa-7-bf, #5FA7BF);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  color: #fff;
}
#index .sec05 ul li a:hover .bg img {
  transform: scale(1.1);
}
#index .sec05 ul li.comingsoon {
  opacity: 0.5;
  pointer-events: none;
}
@media (max-width: 750px) {
  #index .sec05 {
    padding: 16px 4% 46px;
    box-sizing: border-box;
  }
  #index .sec05 ul li {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    flex: initial;
  }
  #index .sec05 ul li a .txt-box {
    padding: 0 6.3768115942%;
    box-sizing: border-box;
  }
  #index .sec05 ul li a h4 {
    margin: 0 0 20px;
  }
  #index .sec05 ul li a p.more {
    width: 86.9565217391%;
  }
}
#index .announce-belt {
  padding: 75px 0 50px;
  background: #fff;
  position: relative;
  z-index: 10;
}
#index .announce-belt p {
  text-align: center;
  font-size: 4rem;
  line-height: 50px;
  letter-spacing: 1.6px;
}
@media (max-width: 750px) {
  #index .announce-belt {
    padding: 40px 4% 30px;
  }
  #index .announce-belt p {
    font-size: 2.4rem;
    line-height: 35px;
    letter-spacing: 0.96px;
  }
}
#index .info-box {
  padding: 70px 0 75px;
  background: #fff;
  position: relative;
  z-index: 10;
}
#index .info-box h4 {
  padding: 0 0 10px;
  text-align: center;
  border-bottom: 1px solid #D9D9D9;
}
#index .info-box ul.info {
  padding: 20px 0 0;
  width: 86.4583333333%;
  margin: 0 auto;
}
#index .info-box ul.info li {
  margin: 0 0 10px;
}
#index .info-box ul.info li:last-child {
  margin: 0;
}
#index .info-box ul.info li dl {
  justify-content: flex-start;
  align-items: flex-start;
}
#index .info-box ul.info li dt {
  flex-basis: 10em;
  width: 100%;
}
#index .info-box ul.info li dd {
  width: 100%;
}
#index .info-box ul.info li dd a {
  text-decoration: underline;
}
#index .info-box ul.info li dd a.js--on {
  text-decoration: none;
}
@media (max-width: 750px) {
  #index .info-box {
    padding: 40px 4%;
  }
  #index .info-box h4 {
    padding: 0 0 5px;
  }
  #index .info-box ul.info {
    padding: 15px 0 0;
    width: auto;
  }
  #index .info-box ul.info li {
    margin: 0 0 10px;
  }
  #index .info-box ul.info li:last-child {
    margin: 0;
  }
  #index .info-box ul.info li dl {
    display: block;
  }
  #index .info-box ul.info li dt {
    margin: 0 0 5px;
    font-size: 1.4rem;
  }
  #index .info-box ul.info li dd {
    margin: 0 0 5px;
    font-size: 1.4rem;
  }
}
#index .secBnr {
  margin-top: 70px;
}
#index .secBnr li {
  margin-bottom: 20px;
}
@media (max-width: 750px) {
  #index .secBnr {
    margin-top: 40px;
  }
  #index .secBnr li {
    margin-bottom: 12px;
  }
}
#index .sec__caution {
  position: relative;
  z-index: 10;
  background: #fff;
}
#index footer {
  position: relative;
  z-index: 10;
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#outline {
  background-color: #F2F2F3;
}
#outline .sec01 {
  padding: 91px 0 46px;
}
#outline .sec01 .cmn-tit01 {
  width: 350px;
  margin: auto;
}
@media (max-width: 750px) {
  #outline .sec01 {
    padding: 55px 4% 34px;
  }
  #outline .sec01 .cmn-tit01 {
    width: 57.9710144928%;
    font-size: 2.4rem;
  }
}
#outline .outline__box {
  margin: 0 0 80px;
}
#outline .outline__box .tit-container {
  position: relative;
}
#outline .outline__box .tit-container::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 6px;
  background-color: #fff;
  left: var(--after-start-x, 0px); /* JSで上書き */
  right: 0;
  transform: translateY(-50%);
}
#outline .outline__box .tit02 {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 0 18px;
  font-size: 1.8rem;
  line-height: 32px;
  letter-spacing: 0.72px;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}
#outline .outline__box ul.table {
  background-color: #fff;
}
#outline .outline__box ul.table li {
  align-items: center;
}
#outline .outline__box dt {
  display: flex;
  align-items: center;
  width: 229px;
  padding: 13px 16px;
  border: 1px solid #333;
  box-sizing: border-box;
}
#outline .outline__box dd {
  width: 731px;
  padding: 15px 20px;
  border: 1px solid #333;
  box-sizing: border-box;
}
#outline .outline__box ul.caution {
  margin: 15px 0 0;
}
@media (max-width: 750px) {
  #outline .outline__box {
    margin: 0 0 50px;
    padding: 0 4%;
  }
  #outline .outline__box .tit02 {
    margin: 0 0 17px;
    font-size: 1.6rem;
    line-height: 32px;
    letter-spacing: 0.64px;
  }
  #outline .outline__box .tit02:after {
    width: 84.0579710145%;
    height: 3px;
  }
  #outline .outline__box ul.table {
    font-size: 1.4rem;
  }
  #outline .outline__box dl {
    flex-direction: column;
  }
  #outline .outline__box dt {
    width: 100%;
    padding: 6px 10px;
    background-color: #F2F2F3;
  }
  #outline .outline__box dd {
    width: 100%;
    padding: 6px 10px;
  }
  #outline .outline__box ul.caution {
    margin: 15px 0 25px;
  }
}
#outline .sec02 {
  margin: 0 0 20px;
}
@media (max-width: 750px) {
  #outline .sec02 {
    margin: 0 0 23px;
  }
}
#outline .sec04 {
  margin: 15px 0 73px;
}
@media (max-width: 750px) {
  #outline .sec04 {
    padding: 0 4%;
    margin: 15px 0 45px;
  }
  #outline .sec04 p {
    font-size: 1.4rem;
  }
}
#outline .sec05 {
  margin: 0 0 83px;
}
#outline .sec05 dt {
  margin: 0 0 23px;
  padding: 0.3em 0;
  font-size: 1.8rem;
  text-align: center;
  border-top: 1px solid #234;
  border-bottom: 1px solid #234;
}
@media (max-width: 750px) {
  #outline .sec05 {
    margin: 0 0 54px;
    padding: 0 4%;
  }
  #outline .sec05 dt {
    margin: 0 0 23px;
    padding: 0.3em 0;
    font-size: 1.8rem;
  }
  #outline .sec05 dd {
    font-size: 1.4rem;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#map {
  background-color: #F8F8F8;
}
#map .sec01 {
  padding: 95px 0 70px;
}
#map .sec01 .cmn-tit01 {
  width: 350px;
  margin: auto;
}
@media (max-width: 750px) {
  #map .sec01 {
    padding: 15.2% 4% 10.1333333333%;
  }
  #map .sec01 .cmn-tit01 {
    width: 57.9710144928%;
  }
}
#map .sec02 {
  margin: 0 0 60px;
}
#map .sec02 .sec__in__s {
  padding: 28px;
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
}
#map .sec02 h2 {
  text-align: center;
  margin: 10px 0 20px;
}
@media (max-width: 750px) {
  #map .sec02 {
    margin: 0 4% 38px;
  }
  #map .sec02 .sec__in__s {
    padding: 2.8985507246%;
  }
}
#map .sec03 {
  padding: 0 0 68px;
}
#map .sec03 h2 {
  margin: 0 0 20px;
  padding: 4px 0 0;
  font-size: 3.2rem;
  line-height: 1.5;
  text-align: center;
  color: #2872A1;
  background-color: #fff;
}
#map .sec03 p.txt01 {
  margin: 0 0 38px;
  text-align: center;
}
#map .sec03 ul.place__wr {
  margin: 0 0 58px;
  gap: 20px 0;
  flex-wrap: wrap;
  justify-content: space-between;
}
#map .sec03 ul.place__wr > li {
  width: 48.6458333333%;
  align-items: center;
  gap: 0 4%;
}
#map .sec03 div.place__box {
  display: flex;
  width: 29.9781181619%;
  max-height: 100px;
  height: 100px;
}
#map .sec03 div.place__box p {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  background-color: #BBD1D9;
}
#map .sec03 div.place__detail {
  width: 67.8336980306%;
}
#map .sec03 div.place__detail dl {
  align-items: center;
  gap: 0 2%;
}
#map .sec03 div.place__detail dt {
  width: 56%;
}
#map .sec03 div.place__detail dd {
  width: 57%;
}
#map .sec03 div.place__detail dd p {
  text-align: left;
}
#map .sec03 ul.img__box {
  gap: 0 12px;
  color: #000;
}
#map .sec03 ul.img__box li {
  width: 150px;
}
#map .sec03 ul.img__box figure {
  font-size: 0;
  line-height: 0;
}
@media (max-width: 750px) {
  #map .sec03 {
    padding: 0 4% 51px;
  }
  #map .sec03 h2 {
    padding: 2% 0 0;
    font-size: 2.4rem;
  }
  #map .sec03 p.txt01 {
    text-align: left;
  }
  #map .sec03 ul.place__wr {
    margin: 0 0 73px;
    gap: 20px 0;
  }
  #map .sec03 ul.place__wr > li {
    width: 100%;
    flex-direction: column;
    gap: 9px 0;
  }
  #map .sec03 div.place__box {
    display: flex;
    width: 100%;
    height: auto;
  }
  #map .sec03 div.place__box p {
    padding: 1% 0;
    font-size: 1.4rem;
  }
  #map .sec03 div.place__detail {
    width: 100%;
  }
  #map .sec03 div.place__detail ul {
    font-size: 1.4rem;
  }
  #map .sec03 div.place__detail ul li {
    margin: 0 0 5px;
  }
  #map .sec03 div.place__detail ul li:last-child {
    margin: 0;
  }
  #map .sec03 div.place__detail dl {
    gap: 0 2%;
  }
  #map .sec03 div.place__detail dt {
    width: 50%;
  }
  #map .sec03 div.place__detail dd {
    width: 50%;
  }
  #map .sec03 ul.img__box {
    flex-wrap: wrap;
    gap: 13px 4%;
  }
  #map .sec03 ul.img__box li {
    width: 47.5362318841%;
  }
  #map .sec03 ul.img__box figure {
    font-size: 0;
    line-height: 0;
  }
  #map .sec03 ul.img__box figcaption {
    font-size: 1.4rem;
    margin: 3px 0 0;
  }
}
#map .sec__caution {
  background-color: #fff;
  padding: 36px 0 90px;
}
@media (max-width: 750px) {
  #map .sec__caution {
    padding: 16px 4%;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#concept .visual {
  position: relative;
}
#concept .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#concept .visual figure {
  font-size: 0;
  line-height: 0;
}
#concept .visual img {
  width: 100%;
}
#concept .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #concept .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#concept .sec01 {
  padding: 82px 0 0;
  background-image: url(../images/concept/sec01_bg01.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #EDF0F2;
}
#concept .sec01 h2 {
  width: 572px;
  margin: 0 auto 33px;
  font-size: 0;
  line-height: 0;
}
#concept .sec01 dl {
  margin: 0 0 50px;
}
#concept .sec01 dt {
  text-align: center;
  margin: 0 0 35px;
  line-height: 50px;
}
#concept .sec01 dd p {
  text-align: center;
}
#concept .sec01 figure {
  width: 862px;
  margin: auto;
  font-size: 0;
  line-height: 0;
}
@media (max-width: 750px) {
  #concept .sec01 {
    padding: 16% 4% 0;
    background-image: url(../images/concept/sec01_bg01.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #EDF0F2;
  }
  #concept .sec01 h2 {
    width: 72.1739130435%;
    margin: 0 auto 33px;
  }
  #concept .sec01 dl {
    margin: 0 0 30px;
  }
  #concept .sec01 dt {
    text-align: left;
    margin: 0 0 25px;
    line-height: 30px;
  }
  #concept .sec01 dd p {
    text-align: left;
  }
  #concept .sec01 figure {
    width: 100%;
  }
}
#concept .sec02 .white {
  color: #fff;
}
#concept .sec02 li {
  scroll-margin-top: 100px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  height: calc(100dvh - 100px);
}
#concept .sec02 .con__box01 {
  position: relative;
  width: 60%;
  padding: 3.4126984127% 5.9523809524% 4.7619047619%;
  box-sizing: border-box;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
#concept .sec02 .con__box01::-webkit-scrollbar {
  display: none;
}
#concept .sec02 .con__box01 h3 {
  margin: 0 0 3%;
}
#concept .sec02 .con__box01 dl {
  margin: 0 0 7%;
}
#concept .sec02 .con__box01 dt {
  margin: 0 0 35px;
  margin: 0 0 3%;
}
#concept .sec02 .con__box01 dd p {
  letter-spacing: 0.04em;
  line-height: 1.25;
}
#concept .sec02 .con__box01 p.btn {
  width: 24.6031746032vw;
  margin: auto;
}
#concept .sec02 .con__box01 p.btn a {
  display: block;
  padding: 4.2%;
  text-align: center;
  color: #fff;
}
#concept .sec02 .con__box01 .cap__txt01 {
  right: 10px;
  bottom: 5px;
}
#concept .sec02 .con__box02 {
  position: relative;
  width: 40%;
}
#concept .sec02 .con__box02 p {
  height: 100%;
  margin: 0;
  font-size: 0;
  line-height: 0;
}
#concept .sec02 .con__box02 p.txt {
  position: absolute;
  bottom: 15%;
  right: 3%;
  width: min(427px, 33.8888888889vw);
  height: auto;
}
#concept .sec02 .con__box02 .cap__txt01 {
  right: 7px;
  bottom: 5px;
}
#concept .sec02 .con__box02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#concept .sec02 li.right .con__box01 {
  order: 2;
}
#concept .sec02 li.right .con__box02 {
  order: 1;
}
#concept .sec02 li.right .con__box02 p.txt {
  bottom: 15%;
  left: 3%;
  right: auto;
}
#concept .sec02 li.shopping .con__box01 {
  background: url(../images/concept/sec02_bg01.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.shopping .con__box01 h3 {
  color: #C56056;
}
#concept .sec02 li.shopping .con__box01 p.btn a {
  background-color: #C56056;
}
#concept .sec02 li.work .con__box01 {
  background: url(../images/concept/sec02_bg02.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.work .con__box01 h3 {
  color: #275361;
}
#concept .sec02 li.work .con__box01 p.btn a {
  background-color: #275361;
}
#concept .sec02 li.relaxation .con__box01 {
  background: url(../images/concept/sec02_bg03.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.relaxation .con__box01 h3 {
  color: #509D5C;
}
#concept .sec02 li.relaxation .con__box01 p.btn a {
  background-color: #509D5C;
}
#concept .sec02 li.child-care .con__box01 {
  background: url(../images/concept/sec02_bg04.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.child-care .con__box01 h3 {
  color: #A89943;
}
#concept .sec02 li.child-care .con__box01 p.btn a {
  background-color: #A89943;
}
#concept .sec02 li.travel .con__box01 {
  background: url(../images/concept/sec02_bg05.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.travel .con__box01 h3 {
  color: #43939E;
}
#concept .sec02 li.travel .con__box01 p.btn a {
  background-color: #43939E;
}
#concept .sec02 li.medical .con__box01 {
  background: url(../images/concept/sec02_bg06.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.medical .con__box01 h3 {
  color: #2872A1;
}
#concept .sec02 li.medical .con__box01 p.btn a {
  background-color: #2872A1;
}
#concept .sec02 li.trend .con__box01 {
  background: url(../images/concept/sec02_bg07.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.trend .con__box01 h3 {
  color: #A38752;
}
#concept .sec02 li.trend .con__box01 p.btn a {
  background-color: #A38752;
}
#concept .sec02 li.gourmet .con__box01 {
  background: url(../images/concept/sec02_bg08.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.gourmet .con__box01 h3 {
  color: #A84360;
}
#concept .sec02 li.gourmet .con__box01 p.btn a {
  background-color: #A84360;
}
#concept .sec02 li.comfort .con__box01 {
  background: url(../images/concept/sec02_bg09.png) no-repeat center;
  background-size: cover;
}
#concept .sec02 li.comfort .con__box01 h3 {
  color: #43939E;
}
#concept .sec02 li.comfort .con__box01 p.btn a {
  background-color: #43939E;
}
@media (max-width: 750px) {
  #concept .sec02 li.dp__flex {
    flex-direction: column;
    height: auto;
    scroll-margin-top: 110px;
  }
  #concept .sec02 .con__box01 {
    width: 100%;
    padding: 11.4666666667% 4% 14.1333333333%;
    order: 2;
    overflow-y: visible;
  }
  #concept .sec02 .con__box01 h3 {
    margin: 0 0 5px;
    font-size: 2.4rem;
  }
  #concept .sec02 .con__box01 dl {
    margin: 0 0 25px;
  }
  #concept .sec02 .con__box01 dt {
    margin: 0 0 20px;
    font-size: 1.4rem;
  }
  #concept .sec02 .con__box01 dd p {
    font-size: 1.2rem;
  }
  #concept .sec02 .con__box01 p.btn {
    width: 89.5652173913%;
  }
  #concept .sec02 .con__box01 p.btn a {
    padding: 3.9%;
    font-size: 1.4rem;
  }
  #concept .sec02 .con__box01 .cap__txt01 {
    right: 1%;
    bottom: 1%;
  }
  #concept .sec02 .con__box02 {
    width: 100%;
    order: 1;
  }
  #concept .sec02 .con__box02 p {
    height: auto;
  }
  #concept .sec02 .con__box02 p.txt {
    width: 67.4666666667%;
  }
  #concept .sec02 .con__box02 .cap__txt01 {
    right: 1%;
    bottom: 1%;
  }
  #concept .sec02 .con__box02 img {
    width: auto;
    height: auto;
    -o-object-fit: fill;
       object-fit: fill;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#plan .plan__title {
  color: #2872A1;
  text-align: center;
  max-width: 350px;
  margin: 90px auto 0;
  position: relative;
  padding-bottom: 6px;
}
#plan .plan__title::after {
  content: "";
  display: block;
  background-color: #2872A1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
}
#plan .plan__subTitle {
  margin-top: 38px;
  position: relative;
  color: #2872A1;
}
#plan .plan__subTitle::after {
  content: "";
  display: block;
  background-color: #2872A1;
  position: absolute;
  bottom: 50%;
  right: 0;
  width: calc(100% - 90px);
  height: 1px;
}
#plan .plan__east .plan__title {
  color: #509D5C;
}
#plan .plan__east .plan__title::after {
  background-color: #509D5C;
}
#plan .plan__east .typeLink__batch {
  background-color: #509D5C;
}
#plan #main {
  background: url(../images/plan/bg_plan.png) repeat-x top center;
  background-size: cover;
  padding-bottom: 90px;
}
@media (max-width: 750px) {
  #plan #main .sec__in__l {
    padding: 0 15px;
    box-sizing: border-box;
  }
}
#plan .visual {
  position: relative;
}
#plan .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#plan .visual figure {
  font-size: 0;
  line-height: 0;
}
#plan .visual img {
  width: 100%;
}
#plan .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #plan .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#plan .mainModel {
  margin-top: 60px;
}
#plan .mainModel ul li {
  text-align: center;
  display: none;
}
#plan .mainModel ul li:first-child {
  display: block;
}
#plan .mainModel img {
  width: 960px;
}
@media (max-width: 750px) {
  #plan .mainModel ul li {
    display: none !important;
  }
  #plan .mainModel ul li:first-child {
    display: block !important;
  }
}
#plan .typeLink {
  display: flex;
  margin: 15px 0 0;
  gap: 22px 18px;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#plan .typeLink__item {
  background: #fff;
  position: relative;
  width: calc(33% - 9px);
}
#plan .typeLink__batch {
  background-color: #5FA7BF;
  color: #fff;
  font-size: 14px;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 10px;
  z-index: 2;
}
#plan .typeLink__head {
  align-items: baseline;
  background-color: #3A4E62;
  color: #fff;
  display: flex;
  justify-content: center;
  padding: 20px 0 19px;
  position: relative;
  z-index: 1;
}
#plan .typeLink__head p {
  line-height: 0.8;
  padding: 0 15px;
}
#plan .typeLink__head p span {
  line-height: 0.8;
}
#plan .typeLink__head p:first-child {
  border-right: 1px solid #fff;
}
#plan .typeLink__head__floor {
  font-size: 32px;
}
#plan .typeLink__head__floor span {
  font-size: 40px;
}
#plan .typeLink__more {
  background: url(../images/plan/icon_arrow.svg) no-repeat;
  background-position: 95% 85%;
  padding: 0 0 12px;
}
#plan .typeLink__more p {
  text-align: center;
}
#plan .typeLink__more span:first-child {
  font-size: 40px;
}
@media (max-width: 750px) {
  #plan .typeLink {
    display: block;
    margin: 0;
  }
  #plan .typeLink__item {
    margin-top: 30px;
    display: block;
    width: 100%;
  }
  #plan .typeLink__head {
    align-items: baseline;
    background-color: #3A4E62;
    gap: 4px 5px;
    padding: 12px 0;
  }
  #plan .typeLink__head::after {
    top: calc(50% - 19px);
    left: 50%;
  }
  #plan .typeLink__head .fs__txt__en__60 {
    font-size: 5rem;
  }
  #plan .typeLink__head__floor {
    font-size: 24px;
  }
  #plan .typeLink__head__floor span {
    font-size: 32px;
  }
  #plan .typeLink__more {
    padding: 10px 0 14px;
  }
  #plan .typeLink__more span:first-child {
    font-size: 30px;
  }
}
#plan .planExample__item {
  background-color: #fff;
  margin-top: 58px;
}
#plan .planExample__head {
  display: flex;
  color: #fff;
  background-color: #3A4E62;
  padding: 36px 35px 45px;
  align-items: center;
  font-family: "EB Garamond";
}
#plan .planExample__type {
  font-size: 32px;
  position: relative;
  line-height: 1;
  padding-right: 26px;
}
#plan .planExample__type span {
  font-size: 120px;
}
#plan .planExample__type::after {
  display: block;
  content: "";
  background-color: #fff;
  height: 80px;
  width: 1px;
  position: absolute;
  bottom: 0;
  right: 0;
}
#plan .planExample__spaciousness {
  font-size: 32px;
  line-height: 1;
  padding: 26px 0 0 26px;
}
#plan .planExample__spaciousness span {
  font-size: 50px;
}
#plan .planExample__batch {
  background-color: #5FA7BF;
  box-sizing: border-box;
  font-size: 20px;
  padding: 0 10px;
  width: 162px;
  text-align: center;
  margin: 41px 0 0 30px;
}
#plan .planExample__batch--east {
  background-color: #509D5C;
}
#plan .planExample__content {
  display: flex;
  padding: 45px 90px;
  justify-content: space-between;
}
#plan .planExample__detail {
  width: 260px;
}
#plan .planExample__detail__list {
  font-size: 14px;
}
#plan .planExample__detail__list + .planExample__detail__list {
  margin-top: 16px;
}
#plan .planExample__detail__span01 {
  font-size: 50px;
}
#plan .planExample__detail__span02 {
  font-size: 30px;
}
#plan .planExample__detail__span03 {
  font-size: 14px;
}
#plan .planExample__detail img {
  max-width: 260px;
}
#plan .planExample__mini {
  margin-top: 44px;
  margin-bottom: 38px;
}
#plan .planExample__list {
  margin-top: 12px;
  font-size: 14px;
}
#plan .planExample__img {
  width: 606px;
}
@media (max-width: 750px) {
  #plan .planExample__type {
    font-size: 16px;
    padding-right: 17px;
  }
  #plan .planExample__type span {
    font-size: 50px;
  }
  #plan .planExample__type::after {
    height: 38px;
  }
  #plan .planExample__head {
    padding: 20px 22px;
    align-items: center;
  }
  #plan .planExample__spaciousness {
    font-size: 24px;
    line-height: 1;
    padding: 10px 0 0 15px;
  }
  #plan .planExample__spaciousness span {
    font-size: 30px;
  }
  #plan .planExample__batch {
    font-size: 16px;
    width: 94px;
    margin: 8px 0 0 4.5333333333%;
  }
  #plan .planExample__content {
    display: block;
    padding: 16px 6.6666666667%;
  }
  #plan .planExample__detail {
    width: 100%;
  }
  #plan .planExample__detail__span01 {
    font-size: 40px;
  }
  #plan .planExample__detail__span02 {
    font-size: 24px;
  }
  #plan .planExample__detail__span03 {
    font-size: 14px;
  }
  #plan .planExample__detail__list li:first-child {
    line-height: 1.25;
  }
  #plan .planExample__detail img {
    max-width: 100%;
  }
  #plan .planExample__list {
    margin-top: 10px;
  }
  #plan .planExample__mini {
    margin: 16px auto;
    max-width: 160px !important;
  }
  #plan .planExample__img {
    width: 100%;
  }
}
#plan .type__catalog {
  margin-top: 58px;
  text-align: center;
}
#plan .type__catalog a {
  background-color: #2872A1;
  color: #fff;
  margin: 0 auto;
  display: block;
  padding: 12px 0;
  max-width: 310px;
  width: 100%;
  text-align: center;
}
#plan .linkBunner {
  margin-top: 10px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 12px;
}
#plan .linkBunner li {
  width: calc(25% - 12px);
}
@media (max-width: 750px) {
  #plan .linkBunner li {
    width: calc(50% - 12px);
  }
}
#plan .plan_a .atype {
  display: none;
}
#plan .plan_b1 .b1type {
  display: none;
}
#plan .plan_c .ctype {
  display: none;
}
#plan .plan_d .dtype {
  display: none;
}
#plan .plan_e .etype {
  display: none;
}
#plan .plan_f .ftype {
  display: none;
}
#plan .plan_g .gtype {
  display: none;
}
#plan .plan_h .htype {
  display: none;
}
#plan .plan_i1 .i1type {
  display: none;
}
#plan .plan_j .jtype {
  display: none;
}
#plan .plan_k .ktype {
  display: none;
}
#plan .plan_m2 .m2type {
  display: none;
}
#plan .plan_n .ntype {
  display: none;
}
#plan .plan_l1 .l1type {
  display: none;
}
#plan .annotation {
  font-size: 12px;
  padding: 24px 0 20px;
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#landplan .visual {
  position: relative;
}
#landplan .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#landplan .visual figure {
  font-size: 0;
  line-height: 0;
}
#landplan .visual img {
  width: 100%;
}
#landplan .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #landplan .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#landplan .sec01 {
  margin: 0 0 60px;
  padding: 140px 0 0;
}
#landplan .sec01__box01 {
  margin: 0 0 130px;
}
#landplan .sec01__box01 h2 {
  position: relative;
  width: 830px;
  margin: 0 auto 70px;
}
#landplan .sec01__box01 h2 span.txt01 {
  color: #E7F2F6;
  font-size: 17rem;
  line-height: 48px;
  letter-spacing: 34px;
}
#landplan .sec01__box01 h2 span.txt02 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#landplan .sec01__box02 {
  background: url(../images/design/sec01_bg.png) no-repeat bottom;
  background-size: cover;
}
@media (max-width: 750px) {
  #landplan .sec01 {
    margin: 0 0 60px;
    padding: 60px 0 0;
  }
  #landplan .sec01__box01 {
    margin: 0 0 35px;
    padding: 0 4%;
  }
  #landplan .sec01__box01 h2 {
    width: 100%;
    margin: 0 auto 30px;
  }
  #landplan .sec01__box01 h2 span.txt01 {
    display: block;
    margin: 0 0 15px;
    font-size: 7rem;
    line-height: 48px;
    letter-spacing: 14px;
  }
  #landplan .sec01__box01 h2 span.txt02 {
    position: static;
    display: block;
    font-size: 2rem;
    text-align: left;
    line-height: 30px;
    letter-spacing: 0.8px;
  }
  #landplan .sec01__box02 figure {
    padding: 0 4%;
  }
}
#landplan .sec02 {
  margin: 0 0 60px;
}
#landplan .sec02__box01 {
  margin: 0 0 25px;
}
#landplan .sec02__box01 .dp__flex {
  align-items: flex-start;
}
#landplan .sec02__box01 h3 {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 40px 0 0;
  writing-mode: vertical-rl;
  color: #2872A1;
  font-size: 10rem;
  line-height: 120px;
  letter-spacing: 10px;
}
#landplan .sec02__box01 dl {
  width: 416px;
}
#landplan .sec02__box01 dt {
  margin: 0 0 17px;
  line-height: 50px;
  letter-spacing: 1.2px;
}
#landplan .sec02__box01 figure {
  width: 570px;
  font-size: 0;
  line-height: 0;
}
#landplan .sec02__box02 .dp__flex {
  gap: 0 28px;
}
#landplan .sec02__box02 ul {
  width: 556px;
}
#landplan .sec02__box02 dt {
  margin: 0 0 5px;
  padding: 0 0.7em;
  color: #333;
  background-color: #BBD1D9;
}
#landplan .sec02__box02 figure {
  margin: 15px 0 0;
  font-size: 0;
  line-height: 0;
}
#landplan .sec02__box02 ul.list01 .cap__txt01 {
  left: 7px;
  bottom: 4px;
  right: auto;
}
#landplan .sec02__box02 ul.list02 li {
  margin: 0 0 28px;
}
#landplan .sec02__box02 ul.list02 li:last-child {
  margin: 0;
}
@media (max-width: 750px) {
  #landplan .sec02 {
    margin: 0 0 85px;
    padding: 0 4%;
  }
  #landplan .sec02__box01 {
    margin: 0 0 25px;
  }
  #landplan .sec02__box01 .dp__flex {
    flex-wrap: wrap;
  }
  #landplan .sec02__box01 h3 {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 0 5% 0 0;
    font-size: 5rem;
    line-height: 48px;
    letter-spacing: 5px;
  }
  #landplan .sec02__box01 dl {
    width: 80.8695652174%;
    margin: 0 0 27px;
  }
  #landplan .sec02__box01 dt {
    margin: 0 0 25px;
    line-height: 30px;
    letter-spacing: 0.8px;
  }
  #landplan .sec02__box01 figure {
    width: 100%;
  }
  #landplan .sec02__box02 .dp__flex {
    flex-direction: column;
    gap: 20px 0;
  }
  #landplan .sec02__box02 ul {
    width: 100%;
  }
  #landplan .sec02__box02 dd p {
    font-size: 1.4rem;
  }
  #landplan .sec02__box02 ul.list01 .cap__txt01 {
    left: 2%;
    bottom: 3%;
  }
  #landplan .sec02__box02 ul.list02 li {
    margin: 0 0 20px;
  }
}
#landplan .sec03 {
  margin: 0 0 52px;
}
#landplan .sec03__box01 {
  margin: 0 0 15px;
}
#landplan .sec03__box01 .dp__flex {
  justify-content: space-between;
}
#landplan .sec03__box01 dl {
  width: 1014px;
}
#landplan .sec03__box01 dt {
  margin: 0 0 25px;
  line-height: 50px;
  letter-spacing: 1.2px;
}
#landplan .sec03__box01 h3 {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  writing-mode: vertical-rl;
  color: #2872A1;
  font-size: 10rem;
  line-height: 120px;
  letter-spacing: 10px;
}
#landplan .sec03__box02 figure {
  font-size: 0;
  line-height: 0;
}
#landplan .sec03__box02 img {
  width: 100%;
}
@media (max-width: 750px) {
  #landplan .sec03 {
    margin: 0 0 30px;
  }
  #landplan .sec03__box01 {
    margin: 0 0 15px;
    padding: 0 4%;
  }
  #landplan .sec03__box01 dl {
    width: 80.8695652174%;
  }
  #landplan .sec03__box01 dt {
    margin: 0 0 20px;
    line-height: 30px;
    letter-spacing: 0.8px;
  }
  #landplan .sec03__box01 h3 {
    font-size: 5rem;
    line-height: 48px;
    letter-spacing: 5px;
  }
}
#landplan .sec04 {
  margin: 0 0 90px;
}
#landplan .sec04__box01 {
  padding: 125px 0 80px;
  background: url(../images/design/sec04_bg_pc.png) no-repeat;
  background-size: cover;
  background-position: center;
}
#landplan .sec04__box01 h3 {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 30px 0 0;
  writing-mode: vertical-rl;
  color: #2872A1;
  font-size: 10rem;
  line-height: 120px;
  letter-spacing: 10px;
}
#landplan .sec04__box01 figure {
  font-size: 0;
  line-height: 0;
}
#landplan .sec04__box01 dl.catch {
  width: 416px;
  margin: 0 50px 0 0;
}
#landplan .sec04__box01 dl.catch dt {
  margin: 0 0 30px;
  line-height: 50px;
  letter-spacing: 1.2px;
}
#landplan .sec04__box01 ul {
  gap: 0 18px;
}
#landplan .sec04__box01 li {
  width: 271px;
}
#landplan .sec04__box01 li dl {
  margin: 0 0 20px;
}
#landplan .sec04__box01 li dt {
  margin: 0 0 10px;
  color: #2872A1;
}
#landplan .sec04__box01 li .cap__txt01 {
  right: auto;
  left: 6px;
  bottom: 4px;
}
#landplan .sec04__box01 li:first-child .cap__txt01 {
  color: #fff;
}
#landplan .sec04__box02 p {
  width: 960px;
  margin: auto;
  font-size: 0;
  line-height: 0;
}
@media (max-width: 750px) {
  #landplan .sec04 {
    margin: 0 0 40px;
  }
  #landplan .sec04__box01 {
    padding: 58px 4% 37px;
    background: url(../images/design/sec04_bg_sp.png) no-repeat;
    background-size: contain;
    background-position: top;
  }
  #landplan .sec04__box01 div.dp__flex {
    flex-wrap: wrap;
  }
  #landplan .sec04__box01 h3 {
    margin: 0 5% 0 0;
    font-size: 5rem;
    line-height: 48px;
    letter-spacing: 5px;
  }
  #landplan .sec04__box01 figure {
    font-size: 0;
    line-height: 0;
  }
  #landplan .sec04__box01 dl.catch {
    width: 80.8695652174%;
    margin: 0 0 42px;
  }
  #landplan .sec04__box01 dl.catch dt {
    margin: 0 0 15px;
    line-height: 30px;
    letter-spacing: 0.8px;
  }
  #landplan .sec04__box01 ul {
    width: 100%;
    gap: 0 18px;
  }
  #landplan .sec04__box01 li {
    width: 47.8260869565%;
  }
  #landplan .sec04__box01 li dl {
    margin: 0 0 15px;
  }
  #landplan .sec04__box01 li dt {
    margin: 0 0 10px;
    font-size: 1.6rem;
  }
  #landplan .sec04__box01 li dd p {
    font-size: 1.4rem;
  }
  #landplan .sec04__box01 li .cap__txt01 {
    left: 2%;
    bottom: 3%;
  }
  #landplan .sec04__box02 p {
    width: 100%;
    font-size: 0;
    line-height: 0;
  }
}
#landplan .sec05 {
  margin: 0 0 65px;
  padding: 75px 0 0;
  background: url(../images/design/sec05_bg_pc.png) no-repeat;
  background-size: cover;
  background-position: center;
}
#landplan .sec05 h3.tit {
  text-align: center;
  margin: 0 0 45px;
  line-height: 50px;
  letter-spacing: 1.2px;
}
#landplan .sec05 h3 + div.dp__flex {
  gap: 0 28px;
}
#landplan .sec05__box01 {
  width: 556px;
}
#landplan .sec05__box02 {
  width: 556px;
}
#landplan .sec05__box02__txt {
  margin: 0 0 47px;
}
#landplan .sec05__box02__txt .dp__flex {
  justify-content: space-between;
}
#landplan .sec05__box02__txt p {
  width: 436px;
}
#landplan .sec05__box02__txt h3 {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 0 0 30px;
  writing-mode: vertical-rl;
  color: #C84657;
  font-size: 10rem;
  line-height: 80px;
  letter-spacing: 10px;
}
#landplan .sec05__box02__ph {
  transform: translateY(-215px);
}
#landplan .sec05__box02__ph ul {
  gap: 0 10px;
}
#landplan .sec05__box02__ph li {
  width: 214px;
}
#landplan .sec05__box02__ph figure {
  font-size: 0;
  line-height: 0;
}
#landplan .sec05__box02__ph .cap__txt01 {
  right: auto;
  left: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #landplan .sec05 {
    margin: 0 0 60px;
    padding: 57px 4% 0;
    background: url(../images/design/sec05_bg_sp.png) no-repeat;
    background-size: contain;
  }
  #landplan .sec05 h3.tit {
    text-align: left;
    margin: 0 0 35px;
    line-height: 30px;
    letter-spacing: 0.8px;
  }
  #landplan .sec05 h3 + div.dp__flex {
    gap: 0 28px;
    flex-direction: column;
  }
  #landplan .sec05__box01 {
    width: 100%;
    margin: 0 0 15px;
  }
  #landplan .sec05__box02 {
    width: 100%;
  }
  #landplan .sec05__box02__txt {
    margin: 0 0 25px;
  }
  #landplan .sec05__box02__txt .dp__flex {
    justify-content: space-between;
  }
  #landplan .sec05__box02__txt p {
    width: 80.8695652174%;
  }
  #landplan .sec05__box02__txt h3 {
    font-size: 5rem;
    line-height: 1;
    letter-spacing: 5px;
  }
  #landplan .sec05__box02__ph {
    transform: translateY(0);
  }
  #landplan .sec05__box02__ph ul {
    gap: 0 4%;
  }
  #landplan .sec05__box02__ph li {
    width: 47.8260869565%;
  }
  #landplan .sec05__box02__ph .cap__txt01 {
    left: 2%;
    bottom: 3%;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#kuwanowa-square .visual {
  position: relative;
}
#kuwanowa-square .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#kuwanowa-square .visual figure {
  font-size: 0;
  line-height: 0;
}
#kuwanowa-square .visual img {
  width: 100%;
}
#kuwanowa-square .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #kuwanowa-square .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#kuwanowa-square .sec01 {
  margin: 0 0 60px;
  padding: 83px 0 0;
  background: #CFE6F6;
}
#kuwanowa-square .sec01 img {
  vertical-align: middle;
}
#kuwanowa-square .sec01__box01 {
  margin: 0 0 130px;
  position: relative;
  z-index: 10;
}
#kuwanowa-square .sec01__box01 .dp__flex {
  align-items: center;
  justify-content: center;
  margin: 0 0 61px;
  gap: 26px;
}
#kuwanowa-square .sec01__box01 .signature {
  width: 163px;
}
#kuwanowa-square .sec01__box01 h2 {
  color: var(--d-9-d-9-d-9, #2872A1);
  margin: 0 0 21px;
  font-weight: 500;
}
#kuwanowa-square .sec01__box01 h2 span {
  display: block;
  font-weight: 400;
  padding: 4px 0 0;
}
#kuwanowa-square .sec01__box01 p {
  text-align: center;
}
#kuwanowa-square .sec01__box02 {
  margin: -180px 0 0;
}
@media (max-width: 750px) {
  #kuwanowa-square .sec01 {
    margin: 0 0 27px;
    padding: 50px 0 0;
  }
  #kuwanowa-square .sec01__box01 {
    margin: 0 0 35px;
    padding: 0 4%;
    box-sizing: border-box;
  }
  #kuwanowa-square .sec01__box01 .dp__flex {
    gap: 4.0579710145%;
    margin: 0 0 33px;
  }
  #kuwanowa-square .sec01__box01 .signature {
    width: 28.4057971014%;
  }
  #kuwanowa-square .sec01__box01 h2 {
    margin: 0 0 10px;
    font-weight: bold;
  }
  #kuwanowa-square .sec01__box01 h2 span {
    font-size: 1.4rem;
    padding: 0;
  }
  #kuwanowa-square .sec01__box01 p {
    text-align: left;
  }
  #kuwanowa-square .sec01__box02 {
    margin: -20px 0 0;
  }
}
#kuwanowa-square .sec02 {
  margin: 0 0 51px;
}
#kuwanowa-square .sec02 p {
  margin: 0 0 40px;
}
#kuwanowa-square .sec02 p:last-child {
  margin: 0;
}
@media (max-width: 750px) {
  #kuwanowa-square .sec02 {
    margin: 0 0 49px;
    padding: 0 4%;
  }
  #kuwanowa-square .sec02 p {
    margin: 0 0 25px;
  }
}
#kuwanowa-square .sec03 {
  padding: 96px 0 0;
  margin: 0 0 79px;
  background: url(../images/kuwanowa-square/sec03_bg_pc.png) center center/cover no-repeat;
}
#kuwanowa-square .sec03__box01 {
  margin: 0 0 61px;
}
#kuwanowa-square .sec03__box01 h2 {
  text-align: center;
  margin: 0 0 23px;
}
#kuwanowa-square .sec03__box01 h2 span {
  color: #C84657;
}
#kuwanowa-square .sec03__box01 h3 {
  text-align: center;
  margin: 0 0 46px;
}
#kuwanowa-square .sec03__box01 p {
  text-align: center;
}
#kuwanowa-square .sec03__box02 {
  margin: 0 0 34px;
}
#kuwanowa-square .sec03__box02 figure {
  font-size: 0;
  line-height: 0;
}
#kuwanowa-square .sec03__box02 img {
  width: 100%;
  vertical-align: middle;
}
#kuwanowa-square .sec03__box02 ul {
  gap: 24px;
  align-items: flex-start;
}
#kuwanowa-square .sec03__box02 li:nth-child(odd) {
  padding: 47px 0 0;
}
#kuwanowa-square .sec03__box02 li .cap__txt01 {
  right: auto;
  left: 6px;
  bottom: 4px;
}
#kuwanowa-square .sec03__box02 li:last-child .cap__txt01 {
  color: #fff;
}
#kuwanowa-square .sec03__box03 {
  margin: 0 0 30px;
}
#kuwanowa-square .sec03__box04 ul {
  gap: 18px;
}
#kuwanowa-square .sec03__box04 li {
  padding: 21px 24px;
  box-sizing: border-box;
  flex: 1;
}
#kuwanowa-square .sec03__box04 li:nth-of-type(1) {
  background: var(--d-9-d-9-d-9, #F2F2F3);
}
#kuwanowa-square .sec03__box04 li:nth-of-type(2) {
  background: #F3EBEB;
}
#kuwanowa-square .sec03__box04 li:nth-of-type(2) dt {
  color: #C84657;
}
#kuwanowa-square .sec03__box04 li:nth-of-type(3) {
  background: var(--d-9-d-9-d-9, #C3D9E3);
}
#kuwanowa-square .sec03__box04 li:nth-of-type(3) dt {
  color: var(--d-9-d-9-d-9, #2872A1);
}
#kuwanowa-square .sec03__box04 dt {
  text-align: center;
  margin: 0 0 7px;
}
@media (max-width: 750px) {
  #kuwanowa-square .sec03 {
    padding: 55px 0 0;
    margin: 0 0 49px;
  }
  #kuwanowa-square .sec03__box01 {
    margin: 0 0 32px;
    padding: 0 4%;
  }
  #kuwanowa-square .sec03__box01 h2 {
    font-size: 2.4rem;
    margin: 0 0 8px;
  }
  #kuwanowa-square .sec03__box01 h3 {
    font-size: 1.4rem;
    margin: 0 0 33px;
  }
  #kuwanowa-square .sec03__box01 p {
    text-align: left;
  }
  #kuwanowa-square .sec03__box02 {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #kuwanowa-square .sec03__box02 ul {
    display: grid;
    grid-template-columns: 32.4637681159% 64.0579710145%;
    -moz-column-gap: 11px;
         column-gap: 11px;
    row-gap: 8px;
  }
  #kuwanowa-square .sec03__box02 li:nth-child(odd) {
    padding: 0;
  }
  #kuwanowa-square .sec03__box02 li:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
  }
  #kuwanowa-square .sec03__box02 li:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
  }
  #kuwanowa-square .sec03__box02 li:nth-of-type(3) {
    grid-column: 2;
    grid-row: 1/3;
  }
  #kuwanowa-square .sec03__box02 li .cap__txt01 {
    position: static;
  }
  #kuwanowa-square .sec03__box02 li:last-child .cap__txt01 {
    color: #333;
    padding: 5px 0 0;
  }
  #kuwanowa-square .sec03__box04 {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #kuwanowa-square .sec03__box04 ul {
    flex-direction: column;
    gap: 10px;
  }
  #kuwanowa-square .sec03__box04 li:nth-of-type(1) {
    order: 3;
  }
  #kuwanowa-square .sec03__box04 li:nth-of-type(2) {
    order: 2;
  }
  #kuwanowa-square .sec03__box04 li:nth-of-type(3) {
    order: 1;
  }
  #kuwanowa-square .sec03__box04 dd span.fs__txt__12 {
    font-size: 1rem;
  }
}
#kuwanowa-square .sec04 {
  padding: 63px 0 61px;
  background: url(../images/kuwanowa-square/sec04_bg.png) no-repeat center/cover;
}
#kuwanowa-square .sec04__box01 figure {
  font-size: 0;
  line-height: 0;
}
#kuwanowa-square .sec04__box01 h2 {
  text-align: center;
  color: var(--d-9-d-9-d-9, #2872A1);
  padding: 0 0 14px;
  position: relative;
  margin: 0 0 14px;
}
#kuwanowa-square .sec04__box01 h2::after {
  content: "";
  width: 400px;
  height: 1px;
  background: var(--d-9-d-9-d-9, #2872A1);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#kuwanowa-square .sec04__box01 p {
  text-align: center;
  margin: 0 0 27px;
}
#kuwanowa-square .sec04__box01 .movie {
  text-align: center;
  font-size: 0;
  line-height: 0;
}
#kuwanowa-square .sec04__box01 iframe {
  width: 600px;
  aspect-ratio: 600/338;
}
@media (max-width: 750px) {
  #kuwanowa-square .sec04 {
    margin: 0 0 40px;
    padding: 43px 4% 50px;
    box-sizing: border-box;
  }
  #kuwanowa-square .sec04__box01 h2 {
    padding: 0 0 7px;
    margin: 0 0 7px;
  }
  #kuwanowa-square .sec04__box01 h2::after {
    width: 81.1594202899%;
  }
  #kuwanowa-square .sec04__box01 p {
    margin: 0 0 16px;
  }
  #kuwanowa-square .sec04__box01 iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 345/192;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#modelroom .visual {
  position: relative;
}
#modelroom .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#modelroom .visual figure {
  font-size: 0;
  line-height: 0;
}
#modelroom .visual img {
  width: 100%;
}
#modelroom .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #modelroom .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#modelroom .sec01 {
  padding: 0 0 20px;
}
#modelroom .sec01 .white {
  color: #fff;
}
#modelroom .sec01 .box {
  scroll-margin-top: 100px;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
#modelroom .sec01 .box01 {
  margin: 0;
}
#modelroom .sec01 .box02 {
  margin: 0 0 82px;
  padding: 42px 0 0;
}
#modelroom .sec01 .con__box03 {
  margin: 0 0 46px;
}
#modelroom .sec01 .con__box03 .sec__in__l {
  margin: 0 auto;
}
#modelroom .sec01 .con__box04 .sec__in__l {
  margin: 0 auto 63px;
}
#modelroom .sec01 .con__box04 .sec__in__l > .dp__flex {
  gap: 27px;
  justify-content: space-between;
}
#modelroom .sec01 .con__box04 .txt {
  width: 543px;
}
#modelroom .sec01 .con__box05 .sec__in__s > .dp__flex {
  gap: 27px;
  justify-content: space-between;
}
#modelroom .sec01 .con__box05 .txt {
  width: 593px;
  order: 2;
}
#modelroom .sec01 .con__box05 figure {
  order: 1;
}
#modelroom .sec01 .con__box05 figure .cap__txt01 {
  color: #fff;
  right: auto;
  left: 10px;
}
#modelroom .sec01 .bg__wrapper {
  padding: 78px 0 64px;
  background: url(../images/modelroom/sec01_bg_pc.png) no-repeat center top/cover;
}
#modelroom .sec01 h2 {
  margin: 0 0 38px;
  align-items: center;
  gap: 26px;
}
#modelroom .sec01 h2 span[lang=en] {
  color: #2872A1;
}
#modelroom .sec01 h2 span.fs__txt__16 {
  padding: 0 0 0.3em;
}
#modelroom .sec01 h3 {
  margin: 0 0 29px;
}
#modelroom .sec01 .cap__txt01 {
  right: 10px;
  bottom: 5px;
}
#modelroom .sec01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: middle;
}
@media (max-width: 750px) {
  #modelroom .sec01 {
    padding: 0 0 15px;
  }
  #modelroom .sec01 .box {
    flex-direction: column;
    scroll-margin-top: 110px;
  }
  #modelroom .sec01 .box02 {
    margin: 0 0 57px;
    padding: 19px 0 0;
  }
  #modelroom .sec01 .con__box01 {
    width: 100%;
    padding: 0;
  }
  #modelroom .sec01 .con__box02 {
    padding: 0;
  }
  #modelroom .sec01 .con__box03 {
    margin: 0 0 19px;
  }
  #modelroom .sec01 .con__box04 .sec__in__l > .dp__flex {
    flex-direction: column;
  }
  #modelroom .sec01 .con__box04 .txt {
    width: 100%;
  }
  #modelroom .sec01 .con__box04 .txt h2 {
    margin: 0 0 21px;
  }
  #modelroom .sec01 .con__box05 .sec__in__s {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #modelroom .sec01 .con__box05 .sec__in__s > .dp__flex {
    flex-direction: column;
  }
  #modelroom .sec01 .con__box05 .txt {
    width: 100%;
    order: 1;
  }
  #modelroom .sec01 .con__box05 .txt h2 {
    margin: 0 0 21px;
  }
  #modelroom .sec01 .con__box05 figure {
    order: 2;
    width: 61.7391304348%;
    margin: 0 auto;
  }
  #modelroom .sec01 .bg__wrapper {
    padding: 56px 0 28px;
    background: url(../images/modelroom/sec01_bg_sp.png) no-repeat center top/cover;
  }
  #modelroom .sec01 .sec__in__l {
    margin: 0 auto;
    padding: 0 4%;
    box-sizing: border-box;
  }
  #modelroom .sec01 h2 {
    margin: 0 0 40px;
    gap: 2.8985507246%;
  }
  #modelroom .sec01 h2 span.fs__txt__16 {
    padding: 0 0 0.2em;
  }
  #modelroom .sec01 h3 {
    margin: 0 0 12px;
    font-size: 2rem;
    font-weight: 400;
    line-height: 30px; /* 150% */
    letter-spacing: 0.8px;
  }
  #modelroom .sec01 .cap__txt01 {
    right: 1%;
    bottom: 1%;
  }
  #modelroom .sec01 .con__box02 {
    width: 100%;
    order: 1;
  }
  #modelroom .sec01 .con__box02 p {
    height: auto;
  }
  #modelroom .sec01 .con__box02 .cap__txt01 {
    right: 1%;
    bottom: 1%;
  }
  #modelroom .sec01 .con__box02 img {
    width: auto;
    height: auto;
    -o-object-fit: fill;
       object-fit: fill;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#design img {
  vertical-align: middle;
}
#design .visual {
  position: relative;
}
#design .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#design .visual figure {
  font-size: 0;
  line-height: 0;
}
#design .visual img {
  width: 100%;
}
#design .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #design .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#design .sec__title, #design #location .sec__title--no-border, #location #design .sec__title--no-border {
  color: #2872A1;
  margin: 0 auto;
  text-align: center;
  max-width: 260px;
}
#design .sec__subTitle {
  font-size: 24px;
  font-weight: normal;
  text-align: center;
  margin-top: 40px;
}
#design .sec__copy {
  text-align: center;
  margin-top: 30px;
}
#design .sec__img {
  margin-top: 50px;
}
@media (max-width: 750px) {
  #design .sec__title, #design #location .sec__title--no-border, #location #design .sec__title--no-border {
    max-width: 180px;
  }
  #design .sec__subTitle {
    font-size: 16px;
    text-align: left;
    margin-top: 30px;
  }
  #design .sec__copy {
    font-size: 14px;
    text-align: left;
    margin-top: 11px;
  }
}
#design .sec01 {
  margin: 0;
  padding: 0;
  position: relative;
}
#design .sec01 .sec__in__l {
  position: absolute;
  top: 11vh;
  left: 50%;
  transform: translate(-50%, 0);
}
#design .sec01 p {
  text-align: center;
  font-size: 24px;
}
@media (max-width: 750px) {
  #design .sec01 {
    background-color: #EAF6FE;
    box-sizing: border-box;
    padding-top: 30px;
  }
  #design .sec01 .sec__in__l {
    position: relative;
    top: auto;
    left: auto;
    transform: translate(0, 0);
  }
  #design .sec01 p {
    text-align: left;
    font-size: 16px;
    padding: 0 4%;
  }
}
#design .sec02 {
  background: linear-gradient(270deg, #EFDEDC 0%, #F8F1F1 100%);
  box-sizing: border-box;
  padding-top: 80px;
}
@media (max-width: 750px) {
  #design .sec02 .sec__in__l {
    padding: 0 4%;
    box-sizing: border-box;
  }
}
#design .sec03 {
  background: linear-gradient(270deg, #6BABDB 0%, #8EC3EA 100%);
  box-sizing: border-box;
  padding-top: 80px;
}
@media (max-width: 750px) {
  #design .sec03 .sec__in__l {
    padding: 0 4%;
    box-sizing: border-box;
  }
}
#design .sec04 {
  background: linear-gradient(270deg, #252829 0%, #5B493C 100%);
  color: #fff;
  padding-top: 80px;
}
@media (max-width: 750px) {
  #design .sec04 .sec__in__l {
    padding: 0 4%;
    box-sizing: border-box;
  }
}
#design .sec05 {
  background: linear-gradient(270deg, #252829 0%, #5B493C 100%);
  background-image: url(../images/design/bg_guest.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  color: #fff;
  padding-top: 50px;
  padding-bottom: 50px;
}
#design .sec05__map {
  margin: 80px auto 0;
}
#design .sec05 .secGuest {
  display: flex;
  gap: 40px;
  align-items: center;
}
#design .sec05 .secGuest div:first-child {
  width: 530px;
}
#design .sec05 .secGuest .sec__copy {
  text-align: left;
}
#design .sec05 h3 {
  text-align: center;
  margin-top: 70px;
}
#design .sec05 .lifestyle {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-top: 35px;
}
#design .sec05 .lifestyle div {
  width: calc(33% - 15px);
}
#design .sec05 .lifestyle div img {
  margin-top: 20px;
}
#design .sec05 .lifestyle__title {
  background-color: #2B2724;
  color: #fff;
  padding: 2px 13px;
  margin-bottom: 8px;
  font-size: 16px;
}
@media (max-width: 750px) {
  #design .sec05 {
    padding: 50px 4% 70px;
  }
  #design .sec05__map {
    margin: 30px auto 0;
  }
  #design .sec05 .secGuest {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
  }
  #design .sec05 .secGuest div:first-child {
    width: 200px;
    margin: 0 auto;
  }
  #design .sec05 h3 {
    text-align: center;
    margin-top: 30px;
    font-size: 16px;
    font-weight: normal;
  }
  #design .sec05 .lifestyle {
    display: flex;
    gap: 30px 15px;
    justify-content: space-between;
    margin-top: 30px;
    flex-wrap: wrap;
  }
  #design .sec05 .lifestyle div {
    width: calc(50% - 8px);
  }
  #design .sec05 .lifestyle div img {
    margin-top: 15px;
  }
  #design .sec05 .lifestyle div p {
    font-size: 14px;
  }
  #design .sec05 .lifestyle__title {
    background-color: #2B2724;
    color: #fff;
    padding: 2px 13px;
    margin-bottom: 8px;
    font-size: 14px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#results img {
  vertical-align: middle;
}
#results .visual {
  position: relative;
}
#results .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#results .visual figure {
  font-size: 0;
  line-height: 0;
}
#results .visual img {
  width: 100%;
}
#results .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #results .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#results .sec__title, #results #location .sec__title--no-border, #location #results .sec__title--no-border {
  text-align: center;
  font-size: 24px;
  font-weight: normal;
  margin-bottom: 20px;
}
#results .sec__subTitle {
  font-size: 20px;
  font-weight: normal;
  text-align: center;
}
#results .sec__smallTitle {
  font-size: 20px;
  margin-bottom: 10px;
  text-align: center;
}
#results .sec__group {
  text-align: center;
}
@media (max-width: 750px) {
  #results .sec__title, #results #location .sec__title--no-border, #location #results .sec__title--no-border {
    font-size: 20px;
  }
  #results .sec__subTitle {
    font-size: 14px;
  }
  #results .sec__smallTitle {
    font-size: 16px;
  }
}
#results .sec01,
#results .sec06 {
  padding: 50px 0;
  background: #FFFFFF;
}
#results .sec01 ul,
#results .sec06 ul {
  display: flex;
  gap: 40px;
}
#results .sec01 ul li,
#results .sec06 ul li {
  box-sizing: border-box;
  width: calc(50% - 20px);
}
#results .sec01 ul li a,
#results .sec06 ul li a {
  box-sizing: border-box;
  border: 1px solid #5FA7BF;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
  color: #2872A1;
  display: block;
  padding: 18px 0 20px;
  font-size: 20px;
  text-align: center;
  width: 100%;
  position: relative;
}
#results .sec01 ul li a svg,
#results .sec06 ul li a svg {
  font-size: 24px;
  position: absolute;
  top: calc(50% - 6px);
  right: 30px;
  transform: translateY(-50%);
}
@media (max-width: 750px) {
  #results .sec01,
#results .sec06 {
    padding: 30px 4%;
    box-sizing: border-box;
  }
  #results .sec01 ul,
#results .sec06 ul {
    display: block;
    gap: 13px;
  }
  #results .sec01 ul li,
#results .sec06 ul li {
    width: 100%;
    margin-bottom: 12px;
  }
  #results .sec01 ul li a,
#results .sec06 ul li a {
    font-size: 18px;
  }
  #results .sec01 ul li a svg,
#results .sec06 ul li a svg {
    right: 12px;
  }
}
#results .sec06 ul li a svg {
  font-size: 24px;
  position: absolute;
  top: calc(50% + 4px);
  right: 18px;
  transform: translateY(-50%);
}
#results .sec02, #results .sec04 {
  padding-top: 103px;
  margin-top: -103px;
}
#results .sec02 .dp__flex .sec__visual, #results .sec04 .dp__flex .sec__visual {
  width: 57.1428571429%;
  position: relative;
}
#results .sec02 .dp__flex .sec__visual figure, #results .sec04 .dp__flex .sec__visual figure {
  font-size: 0;
  line-height: 0;
}
#results .sec02 .dp__flex .sec__visual figcaption, #results .sec04 .dp__flex .sec__visual figcaption {
  position: absolute;
  left: 10px;
  bottom: 10px;
  color: #fff;
}
#results .sec02 .dp__flex .sec__content, #results .sec04 .dp__flex .sec__content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: linear-gradient(90deg, #CEE9EB 0%, #BDD5DD 100%);
  width: 42.8571428571%;
  padding: 96px 5.5555555556%;
  box-sizing: border-box;
}
#results .sec02 .dp__flex .sec__content img, #results .sec04 .dp__flex .sec__content img {
  margin-bottom: 40px;
  max-width: 494px;
}
@media (max-width: 750px) {
  #results .sec02, #results .sec04 {
    padding-top: 123px;
    margin-top: -123px;
  }
  #results .sec02 .dp__flex, #results .sec04 .dp__flex {
    display: block;
  }
  #results .sec02 .dp__flex .sec__visual, #results .sec04 .dp__flex .sec__visual {
    width: 100%;
  }
  #results .sec02 .dp__flex .sec__visual figcaption, #results .sec04 .dp__flex .sec__visual figcaption {
    position: absolute;
    left: 10px;
    bottom: 10px;
  }
  #results .sec02 .dp__flex .sec__content, #results .sec04 .dp__flex .sec__content {
    width: 100%;
    padding: 46px 4%;
  }
  #results .sec02 .dp__flex .sec__content figure, #results .sec04 .dp__flex .sec__content figure {
    text-align: center;
  }
  #results .sec02 .dp__flex .sec__content p, #results .sec04 .dp__flex .sec__content p {
    font-size: 14px;
  }
  #results .sec02 .dp__flex .sec__content img, #results .sec04 .dp__flex .sec__content img {
    margin-bottom: 20px;
    max-width: 260px;
  }
}
#results .sec04 .dp__flex .sec__content {
  background: linear-gradient(90deg, #D4E8DE 0%, #C5CFBC 100%);
}
#results .sec03 {
  padding: 78px 0 64px;
  background: url(../images/modelroom/sec01_bg_pc.png) no-repeat center top/cover;
}
#results .sec03 .dp__flex {
  margin-top: 55px;
  gap: 18px;
  flex-wrap: wrap;
}
#results .sec03 .dp__flex div {
  width: calc(33% - 12px);
  text-align: center;
}
#results .sec03 .dp__flex div img {
  width: 100%;
}
#results .sec03 .dp__flex div .sec__subTitle {
  font-size: 18px;
}
#results .sec03 .dp__flex div p {
  font-size: 14px;
  text-align: center;
}
@media (max-width: 750px) {
  #results .sec03 {
    padding: 50px 0;
  }
  #results .sec03 .sec__in__s {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #results .sec03 .dp__flex {
    margin-top: 48px;
    gap: 15px;
    justify-content: space-between;
  }
  #results .sec03 .dp__flex div {
    width: calc(50% - 15px);
  }
  #results .sec03 .dp__flex div img {
    width: 100%;
  }
  #results .sec03 .dp__flex div .sec__subTitle {
    font-size: 14px;
  }
  #results .sec03 .dp__flex div p {
    font-size: 12px;
    text-align: left;
  }
}
#results .sec05 {
  padding: 78px 0 64px;
  background: url(../images/modelroom/sec01_bg_pc.png) no-repeat center top/cover;
}
#results .sec05__tower {
  font-size: 18px;
}
#results .sec05__tower + p {
  font-size: 14px;
}
#results .sec05 .sec__group {
  margin-bottom: 30px;
}
#results .sec05 .dp__flex {
  flex-wrap: wrap;
  font-size: 14px;
}
#results .sec05 .dp__flex p {
  text-align: center;
}
#results .sec05 .dp__flex img {
  width: 100%;
}
#results .sec05 .sec05__box01 {
  gap: 20px;
  margin-bottom: 48px;
}
#results .sec05 .sec05__box01 div {
  width: calc(50% - 12px);
}
#results .sec05 .sec05__box02 {
  gap: 12px;
  margin-bottom: 70px;
}
#results .sec05 .sec05__box02 div {
  width: calc(33% - 12px);
}
#results .sec05 .sec05__box03 {
  gap: 12px;
  justify-content: space-between;
}
#results .sec05 .sec05__box03 div {
  width: calc(20% - 12px);
  font-size: 12px;
  padding-top: 24px;
  position: relative;
}
#results .sec05 .sec05__box03 div p {
  position: absolute;
  top: 0;
}
#results .sec05 .sec05__box03 span {
  display: block;
  text-align: center;
  margin-top: 4px;
}
#results .sec05 .sec05__box04 {
  gap: 20px;
  justify-content: space-between;
  margin-top: 40px;
}
#results .sec05 .sec05__box04 div {
  width: calc(25% - 20px);
}
#results .sec05 .sec05__box04 div p {
  font-size: 20px;
}
#results .sec05 .sec05__box04 div span {
  margin-top: 6px;
  display: block;
  text-align: center;
}
@media (max-width: 750px) {
  #results .sec05 {
    padding: 45px 0;
  }
  #results .sec05 .sec__in__s {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #results .sec05__tower {
    font-size: 14px;
  }
  #results .sec05__tower + p {
    font-size: 12px;
  }
  #results .sec05 .sec__group {
    font-size: 14px;
    text-align: left;
  }
  #results .sec05 .dp__flex {
    text-align: center;
  }
  #results .sec05 .dp__flex p {
    text-align: left;
  }
  #results .sec05 .sec05__box01 {
    display: block;
    gap: 15px;
    margin-bottom: 30px;
  }
  #results .sec05 .sec05__box01 div {
    width: 100%;
    text-align: center;
    margin-bottom: 16px;
  }
  #results .sec05 .sec05__box01 div p {
    text-align: center;
  }
  #results .sec05 .sec05__box02 {
    gap: 15px;
    margin-bottom: 30px;
  }
  #results .sec05 .sec05__box02 div {
    width: calc(50% - 10px);
  }
  #results .sec05 .sec05__box03 {
    gap: 15px;
  }
  #results .sec05 .sec05__box03 div {
    width: calc(50% - 10px);
    font-size: 12px;
    padding-top: 30px;
    position: relative;
  }
  #results .sec05 .sec05__box03 div p {
    position: absolute;
    top: 0;
  }
  #results .sec05 .sec05__box03 span {
    display: block;
    text-align: center;
    margin-top: 4px;
  }
  #results .sec05 .sec05__box04 {
    gap: 20px;
    justify-content: space-between;
    margin-top: 32px;
  }
  #results .sec05 .sec05__box04 div {
    width: calc(50% - 10px);
  }
  #results .sec05 .sec05__box04 div p {
    font-size: 16px;
    text-align: center;
  }
  #results .sec05 .sec05__box04 div span {
    font-size: 12px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#location .visual {
  position: relative;
}
#location .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#location .visual figure {
  font-size: 0;
  line-height: 0;
}
#location .visual img {
  width: 100%;
}
#location .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #location .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#location .sec__title, #location .sec__title--no-border {
  color: #2872A1;
  margin: 0 0 16px;
  text-align: center;
  border-bottom: 1px solid #2872A1;
  max-width: 350px;
  margin: 0 auto;
}
#location .sec__title--no-border {
  border-bottom: none;
}
#location .sec__copy {
  text-align: center;
  margin-top: 50px;
}
#location .sec__copy + p {
  margin: 20px 0 0;
  text-align: center;
}
#location .sec01 {
  margin: 0;
  padding: 78px 0 84px;
}
#location .sec01 > div {
  text-align: center;
}
#location .sec01 figure {
  margin: 40px auto 0;
}
@media (max-width: 750px) {
  #location .sec01 > div {
    box-sizing: border-box;
    padding: 0 4%;
  }
}
#location .sec02 {
  background: url(../images/location/sec02_bg_pc.png) no-repeat center top/cover;
  padding: 78px 0 84px;
}
#location .sec02__ph01 {
  margin-top: 50px;
}
#location .sec02__ph02 {
  margin: 40px auto 0;
  max-width: 960px;
}
#location .sec02 .sec__in__l {
  padding: 0 4%;
  box-sizing: border-box;
}
@media (max-width: 750px) {
  #location .sec02 {
    background: url(../images/location/sec02_bg_sp.png) no-repeat center top/cover;
    padding: 56px 0 43px;
  }
  #location .sec02__ph01 {
    margin-top: 30px;
  }
  #location .sec02__ph02 {
    margin-top: 20px;
  }
}
#location .sec03 {
  padding-bottom: 60px;
  /* Responsive */
}
#location .sec03__photo__list {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: center;
  gap: 32px 16px;
}
#location .sec03__photo__list figcaption {
  font-size: 1.4rem;
}
#location .sec03 .seclocation {
  margin-top: 60px;
}
#location .sec03 .seclocation__info {
  margin: 0 auto;
  display: grid;
  gap: 40px;
}
#location .sec03 .seclocation__title {
  background: linear-gradient(90deg, #2872A1 0%, rgba(40, 114, 161, 0) 100%);
  color: #fff;
  font-size: 1.8rem;
  padding: 5px 0 5px 20px;
}
#location .sec03 .seclocation__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}
#location .sec03 .seclocation__item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 0 20px 5px;
  margin: 5px 0 0;
  border-bottom: 1px solid #2872A1;
}
#location .sec03 .seclocation__item strong {
  display: inline-block;
  font-weight: normal;
  margin-right: 8px;
}
#location .sec03 .seclocation__item .seclocation__distance {
  white-space: nowrap;
  flex: 0 0 auto;
}
@media (max-width: 599px) {
  #location .sec03 .seclocation__info {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  #location .sec03 .seclocation__group {
    padding: 12px;
  }
  #location .sec03 .seclocation__item {
    flex-direction: row;
    align-items: center;
  }
}
@media (min-width: 600px) {
  #location .sec03 .seclocation__info {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 750px) {
  #location .sec03__photo__list {
    padding: 0 4%;
    box-sizing: border-box;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 9px;
  }
  #location .sec03__photo__list figcaption {
    font-size: 1.2rem;
  }
  #location .sec03 .seclocation {
    margin-top: 50px;
  }
  #location .sec03 .seclocation__title {
    font-size: 1.6rem;
  }
  #location .sec03 .seclocation__item {
    font-size: 1.2rem;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#quality .visual {
  position: relative;
}
#quality .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#quality .visual figure {
  font-size: 0;
  line-height: 0;
}
#quality .visual img {
  width: 100%;
}
#quality .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #quality .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#quality .quality__wrap01 {
  background: url(../images/quality/bg_pc.png) no-repeat top center/100%;
}
@media (max-width: 750px) {
  #quality .quality__wrap01 {
    background-size: 200% auto, 200% auto;
  }
}
#quality .quality__wrap02 {
  background: url(../images/bg05.png) no-repeat bottom center, url(../images/quality/quality__wrap02.png) repeat-x bottom center;
}
@media (max-width: 750px) {
  #quality .quality__wrap02 {
    background-size: 200% auto, 200% auto;
  }
}
#quality .quality__nav01 {
  padding: 80px 0;
}
#quality .quality__nav01 ul.dp__flex {
  justify-content: space-between;
  gap: 0 40px;
  height: 100%;
}
#quality .quality__nav01 li {
  width: 100%;
}
#quality .quality__nav01 li a {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 0;
  text-align: center;
  border: 1px solid #5FA7BF;
  color: #2872A1;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  height: 100%;
}
#quality .quality__nav01 li.active a {
  position: relative;
}
#quality .quality__nav01 li.active a::after {
  content: "";
  height: 10px;
  background: #5FA7BF;
  width: 100%;
  bottom: 0;
  display: block;
  position: absolute;
}
@media (max-width: 750px) {
  #quality .quality__nav01 {
    padding: 50px 4%;
    box-sizing: border-box;
  }
  #quality .quality__nav01 ul.dp__flex {
    display: block;
  }
  #quality .quality__nav01 li {
    margin: 0 0 20px;
  }
  #quality .quality__nav01 li.active a::after {
    height: 6px;
  }
  #quality .quality__nav01 li a {
    padding: 9px 0 12px;
  }
  #quality .quality__nav01 li:last-child {
    margin: 0;
  }
}
#quality .quality__box01 .intro.dp__flex {
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 0 60px;
}
#quality .quality__box01 h2 {
  width: 50.8474576271%;
}
#quality .quality__box01 p {
  width: 44.0677966102%;
}
@media (max-width: 750px) {
  #quality .quality__box01 .intro.dp__flex {
    display: block;
    padding: 0 4% 40px;
  }
  #quality .quality__box01 h2 {
    margin: 0 0 20px;
  }
  #quality .quality__box01 h2,
#quality .quality__box01 p {
    width: 100%;
  }
}
#quality .quality__box02 h3.dp__flex {
  gap: 0 35px;
  align-items: center;
  margin: 0 0 50px;
}
#quality .quality__box02 ul.dp__flex {
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 60px 2.5423728814%;
}
#quality .quality__box02 ul.dp__flex figure {
  margin: 0 0 10px;
}
#quality .quality__box02 ul.dp__flex h4 {
  position: relative;
  padding: 0 0 10px;
  margin: 0 0 10px;
  color: #2872A1;
}
#quality .quality__box02 ul.dp__flex h4 b,
#quality .quality__box02 ul.dp__flex h4 small {
  display: block;
}
#quality .quality__box02 ul.dp__flex h4::before,
#quality .quality__box02 ul.dp__flex h4::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #5FA7BF;
  position: absolute;
  transition: inset 0.5s ease 0s;
}
#quality .quality__box02 ul.dp__flex h4 span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #5FA7BF;
  transition: width 0.5s ease 0s;
}
#quality .quality__box02 ul.dp__flex h4::before {
  inset: auto calc(100% - 5px) -2px auto;
}
#quality .quality__box02 ul.dp__flex h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
#quality .quality__box02 ul.dp__flex li h4 span::after {
  width: 100%;
}
#quality .quality__box02 ul.dp__flex li h4::before {
  inset: auto calc(0% - 0px) -2px auto;
}
#quality .quality__box02 ul.dp__flex li h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
#quality .quality__box02 .list__part01 {
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 0 60px;
}
#quality .quality__box02 .list__part01 > ul.dp__flex {
  width: 22.3684210526%;
  flex-wrap: nowrap;
}
#quality .quality__box02 .list__part01 > figure {
  width: 71.4912280702%;
}
#quality .quality__box02 .list__part01 li {
  width: 23.0508474576%;
}
#quality .quality__box02 .list__part01 li:nth-of-type(1) {
  width: 48.7288135593%;
}
#quality .quality__box02 .list__part02 li {
  width: 23.0508474576%;
}
#quality .quality__box02 .cap__txt01 {
  right: auto;
  top: auto;
  bottom: 5px;
  left: 6px;
}
@media (max-width: 750px) {
  #quality .quality__box02 h3.dp__flex {
    margin: 0 0 20px;
    gap: 0.8695652174%;
  }
  #quality .quality__box02 h3 b, #quality .quality__box02 h3 small {
    display: block;
  }
  #quality .quality__box02 ul.dp__flex {
    gap: 30px 16px;
  }
  #quality .quality__box02 .list__part01 {
    margin: 0 0 40px;
  }
  #quality .quality__box02 .list__part01 > ul.dp__flex {
    width: 100%;
    flex-wrap: wrap;
  }
  #quality .quality__box02 .list__part01 li {
    width: calc(50% - 8.5px);
  }
  #quality .quality__box02 .list__part01 li:nth-of-type(1) {
    width: 100%;
  }
  #quality .quality__box02 .list__part02 li {
    width: calc(50% - 8px);
  }
}
#quality .sec02 {
  padding: 29px 0 100px;
  background-repeat: no-repeat;
  background-size: cover;
}
#quality .sec02 h2 {
  text-align: center;
  margin: 0 0 58px;
}
#quality .sec02 h3 {
  width: 260px;
  margin: 0 auto 10px;
  font-size: 0;
  line-height: 0;
}
#quality .sec02 dt {
  text-align: center;
  margin: 0 0 20px;
  line-height: 50px;
}
#quality .sec02 dd p {
  text-align: center;
}
@media (max-width: 750px) {
  #quality .sec02 {
    padding: 20px 4% 60px;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #quality .sec02 h2 {
    margin: 0 auto 40px;
  }
  #quality .sec02 h3 {
    width: 60.2898550725%;
    margin: 0 auto 10px;
  }
  #quality .sec02 dt {
    margin: 0 0 20px;
    line-height: 30px;
  }
  #quality .sec02 figure {
    width: 100%;
  }
}
#quality .sec03 {
  padding: 0 0 130px;
}
#quality .sec03 .list__part01 > figure {
  width: 100%;
}
@media (max-width: 750px) {
  #quality .sec03 {
    padding: 0 4% 80px;
  }
}
#quality .sec04 {
  padding: 0 0 70px;
}
@media (max-width: 750px) {
  #quality .sec04 {
    padding: 0 4% 20px;
  }
}
#quality .sec05 {
  padding: 0 0 40px;
}
@media (max-width: 750px) {
  #quality .sec05 {
    padding: 0 4% 20px;
  }
}
@media (max-width: 750px) {
  #quality .sec06 {
    padding: 0 4% 60px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#security .visual {
  position: relative;
}
#security .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#security .visual figure {
  font-size: 0;
  line-height: 0;
}
#security .visual img {
  width: 100%;
}
#security .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #security .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#security .quality__wrap01 {
  background: url(../images/quality/bg_pc.png) no-repeat top center/100%;
}
@media (max-width: 750px) {
  #security .quality__wrap01 {
    background-size: 200% auto, 200% auto;
  }
}
#security .quality__wrap02 {
  background: url(../images/bg05.png) no-repeat bottom center, url(../images/quality/quality__wrap02.png) repeat-x bottom center;
}
@media (max-width: 750px) {
  #security .quality__wrap02 {
    background-size: 200% auto, 200% auto;
  }
}
#security .quality__nav01 {
  padding: 80px 0;
}
#security .quality__nav01 ul.dp__flex {
  justify-content: space-between;
  gap: 0 40px;
  height: 100%;
}
#security .quality__nav01 li {
  width: 100%;
}
#security .quality__nav01 li a {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 0;
  text-align: center;
  border: 1px solid #5FA7BF;
  color: #2872A1;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  height: 100%;
}
#security .quality__nav01 li.active a {
  position: relative;
}
#security .quality__nav01 li.active a::after {
  content: "";
  height: 10px;
  background: #5FA7BF;
  width: 100%;
  bottom: 0;
  display: block;
  position: absolute;
}
@media (max-width: 750px) {
  #security .quality__nav01 {
    padding: 50px 4%;
    box-sizing: border-box;
  }
  #security .quality__nav01 ul.dp__flex {
    display: block;
  }
  #security .quality__nav01 li {
    margin: 0 0 20px;
  }
  #security .quality__nav01 li.active a::after {
    height: 6px;
  }
  #security .quality__nav01 li a {
    padding: 9px 0 12px;
  }
  #security .quality__nav01 li:last-child {
    margin: 0;
  }
}
#security .quality__box01 .intro.dp__flex {
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 0 60px;
}
#security .quality__box01 h2 {
  width: 50.8474576271%;
}
#security .quality__box01 p {
  width: 44.0677966102%;
}
@media (max-width: 750px) {
  #security .quality__box01 .intro.dp__flex {
    display: block;
    padding: 0 4% 40px;
  }
  #security .quality__box01 h2 {
    margin: 0 0 20px;
  }
  #security .quality__box01 h2,
#security .quality__box01 p {
    width: 100%;
  }
}
#security .quality__box02 h3.dp__flex {
  gap: 0 35px;
  align-items: center;
  margin: 0 0 50px;
}
#security .quality__box02 ul.dp__flex {
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 60px 40px;
}
#security .quality__box02 ul.dp__flex figure {
  margin: 0 0 10px;
}
#security .quality__box02 ul.dp__flex h4 {
  position: relative;
  padding: 0 0 10px;
  margin: 0 0 10px;
  color: #2872A1;
}
#security .quality__box02 ul.dp__flex h4 b,
#security .quality__box02 ul.dp__flex h4 small {
  display: block;
}
#security .quality__box02 ul.dp__flex h4::before,
#security .quality__box02 ul.dp__flex h4::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #5FA7BF;
  position: absolute;
  transition: inset 0.5s ease 0s;
}
#security .quality__box02 ul.dp__flex h4 span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #5FA7BF;
  transition: width 0.5s ease 0s;
}
#security .quality__box02 ul.dp__flex h4::before {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .quality__box02 ul.dp__flex h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .quality__box02 ul.dp__flex li h4 span::after {
  width: 100%;
}
#security .quality__box02 ul.dp__flex li h4::before {
  inset: auto calc(0% - 0px) -2px auto;
}
#security .quality__box02 ul.dp__flex li h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .quality__box02 .list__part01 {
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 0 60px;
}
#security .quality__box02 .list__part01 > ul.dp__flex {
  width: 21.6101694915%;
}
#security .quality__box02 .list__part01 > figure {
  width: 69.0677966102%;
}
#security .quality__box02 .list__part01 li {
  width: 100%;
}
#security .quality__box02 .list__part02 li {
  width: calc(25% - 30px);
}
#security .quality__box02 .cap__txt01 {
  right: auto;
  top: auto;
  bottom: 5px;
  left: 6px;
}
@media (max-width: 750px) {
  #security .quality__box02 h3.dp__flex {
    display: block;
    margin: 0 0 40px;
  }
  #security .quality__box02 h3 b, #security .quality__box02 h3 small {
    display: block;
  }
  #security .quality__box02 ul.dp__flex {
    gap: 30px 16px;
  }
  #security .quality__box02 .list__part01 {
    margin: 0 0 40px;
    display: block;
  }
  #security .quality__box02 .list__part01 > ul.dp__flex {
    width: 100%;
  }
  #security .quality__box02 .list__part01 > figure {
    width: 100%;
    margin: 0 0 30px;
  }
  #security .quality__box02 .list__part01 li {
    width: calc(50% - 8px);
  }
  #security .quality__box02 .list__part02 li {
    width: calc(50% - 8px);
  }
}
#security .sec02 {
  padding: 29px 0 11px;
  background-repeat: no-repeat;
  background-size: cover;
}
#security .sec02 h2 {
  text-align: center;
  margin: 0 0 58px;
}
#security .sec02 h3 {
  width: 260px;
  text-align: center;
  margin: 0 auto 10px !important;
  font-size: 0;
  line-height: 0;
}
#security .sec02 .intro.dp__flex {
  justify-content: space-between;
  align-items: center;
  margin: 0 0 60px;
}
#security .sec02 .intro dl {
  width: 61.4406779661%;
}
#security .sec02 .intro dt {
  margin: 0 0 30px;
  line-height: 1.667;
}
#security .sec02 .intro figure {
  width: 31.3559322034%;
}
#security .sec02 p {
  text-align: center;
  margin: 0 0 70px;
}
#security .sec02 p.fs__txt__30 {
  line-height: 1.66667;
}
#security .sec02 ul.dp__flex {
  justify-content: flex-start;
  align-items: flex-start;
  gap: 60px 40px;
}
#security .sec02 ul.dp__flex li {
  width: 100%;
}
#security .sec02 ul.dp__flex figure {
  margin: 0 0 10px;
}
#security .sec02 ul.dp__flex h4 {
  position: relative;
  padding: 0 0 10px;
  margin: 0 0 10px;
  color: #2872A1;
}
#security .sec02 ul.dp__flex h4 b,
#security .sec02 ul.dp__flex h4 small {
  display: block;
}
#security .sec02 ul.dp__flex h4::before,
#security .sec02 ul.dp__flex h4::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #5FA7BF;
  position: absolute;
  transition: inset 0.5s ease 0s;
}
#security .sec02 ul.dp__flex h4 span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #5FA7BF;
  transition: width 0.5s ease 0s;
}
#security .sec02 ul.dp__flex h4::before {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .sec02 ul.dp__flex h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .sec02 ul.dp__flex p {
  text-align: left;
}
#security .sec02 ul.dp__flex li h4 span::after {
  width: 100%;
}
#security .sec02 ul.dp__flex li h4::before {
  inset: auto calc(0% - 0px) -2px auto;
}
#security .sec02 ul.dp__flex li h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .sec02 .cap__txt01 {
  right: auto;
  top: auto;
  bottom: 5px;
  left: 6px;
}
@media (max-width: 750px) {
  #security .sec02 {
    padding: 20px 4% 51px;
    background-repeat: no-repeat;
    background-size: cover;
  }
  #security .sec02 h2 {
    margin: 0 auto 40px;
  }
  #security .sec02 h3 {
    width: 60.2898550725%;
    margin: 0 auto 10px;
  }
  #security .sec02 dt {
    margin: 0 0 20px;
    line-height: 30px;
  }
  #security .sec02 .intro.dp__flex {
    display: block;
    margin: 0 0 40px;
  }
  #security .sec02 .intro dl {
    margin: 0 0 40px;
    width: 100%;
  }
  #security .sec02 .intro dt {
    margin: 0 0 10px;
  }
  #security .sec02 .intro figure {
    width: 69.5652173913%;
    margin: 0 auto;
  }
  #security .sec02 figure {
    width: 100%;
  }
  #security .sec02 ul.dp__flex {
    flex-wrap: wrap;
    gap: 40px;
    margin: 0 0 61px;
  }
  #security .sec02 ul.dp__flex p {
    margin: 0;
  }
  #security .sec02 .btm {
    background: #fff;
  }
  #security .sec02 .btm ul.dp__flex {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 30px 16px;
    margin: 0;
  }
  #security .sec02 .btm ul.dp__flex li {
    width: calc(50% - 8px);
  }
}
#security .sec03,
#security .sec04 {
  padding: 110px 0 127px;
}
#security .sec03 .sec__in__s,
#security .sec04 .sec__in__s {
  position: relative;
  z-index: 1;
}
#security .sec03 .sec__in__s h3,
#security .sec04 .sec__in__s h3 {
  width: 260px;
  text-align: center;
  margin: 0 auto 10px !important;
  font-size: 0;
  line-height: 0;
}
#security .sec03 .sec__in__s p,
#security .sec04 .sec__in__s p {
  text-align: center;
  margin: 0 0 20px;
  line-height: 1.667;
}
#security .sec03 .sec__in__s p.fs__txt__16,
#security .sec04 .sec__in__s p.fs__txt__16 {
  text-align: center;
  margin: 0 0 70px;
}
@media (max-width: 750px) {
  #security .sec03,
#security .sec04 {
    padding: 40px 4% 80px;
    box-sizing: border-box;
  }
  #security .sec03 .sec__in__s h3,
#security .sec04 .sec__in__s h3 {
    width: 60.2898550725%;
  }
  #security .sec03 .sec__in__s p.fs__txt__16,
#security .sec04 .sec__in__s p.fs__txt__16 {
    margin: 0 0 60px;
  }
}
#security .sec03 {
  background: url(../images/quality/security/sec03_bg_pc.jpg) no-repeat top/100%;
}
@media (max-width: 750px) {
  #security .sec03 {
    padding: 70px 4% 80px;
    background: url(../images/quality/security/sec03_bg_sp.jpg) no-repeat top/100%;
  }
}
#security .sec04 {
  padding: 110px 0 116px;
  position: relative;
}
#security .sec04 .sec04__bg {
  position: absolute;
  z-index: 0;
  right: 0;
  top: 0;
}
#security .sec04 .sec04__bg .cap__txt01 {
  bottom: auto;
  left: auto;
  top: 5px;
  right: 6px;
}
#security .sec04 ul.dp__flex {
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media (max-width: 750px) {
  #security .sec04 {
    padding: 130px 0 71px;
  }
  #security .sec04 .sec__in__s,
#security .sec04 .sec__in__l {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #security .sec04 ul.dp__flex {
    justify-content: flex-start;
  }
}
#security .sec05,
#security .sec06 {
  padding: 0 0 40px;
}
#security .sec05 .sec__in__l,
#security .sec06 .sec__in__l {
  border-radius: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  background: #fff;
  padding: 60px 0;
}
#security .sec05 h3.dp__flex,
#security .sec06 h3.dp__flex {
  align-items: center;
  gap: 0 50px;
  margin: 0 0 50px;
}
#security .sec05 h3 img,
#security .sec06 h3 img {
  width: 190px;
}
#security .sec05 ul.dp__flex,
#security .sec06 ul.dp__flex {
  justify-content: flex-start;
  align-items: flex-start;
  gap: 60px 40px;
}
#security .sec05 ul.dp__flex li,
#security .sec06 ul.dp__flex li {
  width: 100%;
}
#security .sec05 ul.dp__flex figure,
#security .sec06 ul.dp__flex figure {
  margin: 0 0 10px;
}
#security .sec05 ul.dp__flex h4,
#security .sec06 ul.dp__flex h4 {
  position: relative;
  padding: 0 0 10px;
  margin: 0 0 10px;
}
#security .sec05 ul.dp__flex h4 b,
#security .sec05 ul.dp__flex h4 small,
#security .sec06 ul.dp__flex h4 b,
#security .sec06 ul.dp__flex h4 small {
  display: block;
  color: #2872A1;
}
#security .sec05 ul.dp__flex h4::before,
#security .sec05 ul.dp__flex h4::after,
#security .sec06 ul.dp__flex h4::before,
#security .sec06 ul.dp__flex h4::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #5FA7BF;
  position: absolute;
  transition: inset 0.5s ease 0s;
}
#security .sec05 ul.dp__flex h4 span::after,
#security .sec06 ul.dp__flex h4 span::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: #5FA7BF;
  transition: width 0.5s ease 0s;
}
#security .sec05 ul.dp__flex h4::before,
#security .sec06 ul.dp__flex h4::before {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .sec05 ul.dp__flex h4::after,
#security .sec06 ul.dp__flex h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
#security .sec05 ul.dp__flex li h4 span::after,
#security .sec06 ul.dp__flex li h4 span::after {
  width: 100%;
}
#security .sec05 ul.dp__flex li h4::before,
#security .sec06 ul.dp__flex li h4::before {
  inset: auto calc(0% - 0px) -2px auto;
}
#security .sec05 ul.dp__flex li h4::after,
#security .sec06 ul.dp__flex li h4::after {
  inset: auto calc(100% - 5px) -2px auto;
}
@media (max-width: 750px) {
  #security .sec05,
#security .sec06 {
    padding: 0 4% 24px;
  }
  #security .sec05 .sec__in__l,
#security .sec06 .sec__in__l {
    padding: 40px 4.347826087%;
    box-sizing: border-box;
    box-shadow: 0 4px 30px 0 rgba(0, 0, 0, 0.15);
  }
  #security .sec05 h3.dp__flex,
#security .sec06 h3.dp__flex {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px 0;
    margin: 0 0 40px;
  }
  #security .sec05 h3 img,
#security .sec06 h3 img {
    width: 38.0952380952%;
  }
  #security .sec05 ul.dp__flex,
#security .sec06 ul.dp__flex {
    flex-wrap: wrap;
    gap: 40px 15px;
  }
}
#security .sec06 {
  padding: 0 0 20px;
}
@media (max-width: 750px) {
  #security .sec06 {
    padding: 0 4% 24px;
  }
}

/*
  .fs__txt__xxx
  .fs__txt__en__xxx
  .fw__xxx
*/
/*
  .color__txt__xxx
  .color__bg__xxx
*/
/*
  .dp__xxx
  .dp__xxx__pc
  .dp__xxx__sp
*/
@keyframes anime__light {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
@keyframes slideTextX100 {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideTextX-100 {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinLeft {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideinRight {
  0% {
    transform: translateX(10px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
/*
@keyframes anime__xxx__ptn01 {
}
*/
.anime__light {
  position: relative;
  overflow: hidden;
}
.anime__light:before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  -webkit-animation: anime__light 5s ease-in-out infinite;
          animation: anime__light 5s ease-in-out infinite;
}
.anime__bottom-up {
  opacity: 0;
  transition: transform 0.5s ease 0s, opacity 0.5s ease 0s;
  transform: translateY(10px);
}
.anime__bottom-up.js--on, .anime__bottom-up.js--ing {
  opacity: 1;
  transform: translateY(0px);
}
.anime__opacity {
  opacity: 1;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity.js--on {
  opacity: 0.5;
}
.anime__opacity__appear {
  opacity: 0;
  transition: opacity 0.5s ease 0s;
}
.anime__opacity__appear.js--ing {
  opacity: 1;
}
.anime__blur {
  filter: blur(60px);
  transition: filter 0.5s ease 0s;
}
.anime__blur.js--ing {
  filter: blur(0);
}
.anime__underline {
  text-decoration: none;
}
.anime__underline.js--on {
  text-decoration: underline;
}
.anime__slidein__appear-left {
  opacity: 0;
}
.anime__slidein__appear-left.js--ing {
  -webkit-animation: slideinLeft 2s;
          animation: slideinLeft 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein__appear-right {
  opacity: 0;
}
.anime__slidein__appear-right.js--ing {
  -webkit-animation: slideinRight 2s;
          animation: slideinRight 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.anime__slidein {
  overflow: hidden;
}
.anime__slidein .slidein__wrapper {
  overflow: hidden;
  display: inline-block;
  transform: translateX(-100%);
  opacity: 0;
}
.anime__slidein .slidein__inner {
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
}
.anime__slidein.js--ing .slidein__wrapper {
  -webkit-animation-name: slideTextX100;
          animation-name: slideTextX100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
.anime__slidein.js--ing .slidein__inner {
  -webkit-animation-name: slideTextX-100;
          animation-name: slideTextX-100;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

#zeh-m .visual {
  position: relative;
}
#zeh-m .visual h1 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 5;
  margin: auto;
  color: #2872A1;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
}
#zeh-m .visual figure {
  font-size: 0;
  line-height: 0;
}
#zeh-m .visual img {
  width: 100%;
}
#zeh-m .visual .cap__txt01 {
  right: 6px;
  bottom: 4px;
}
@media (max-width: 750px) {
  #zeh-m .visual .cap__txt01 {
    right: 1%;
    bottom: 4%;
  }
}
#zeh-m .sec01 {
  padding: 91px 0 41px;
}
#zeh-m .sec01 h2 {
  width: 259px;
  margin: 0 auto 10px;
  font-size: 0;
  line-height: 0;
}
#zeh-m .sec01 h3 {
  text-align: center;
}
#zeh-m .sec01 figure {
  width: 862px;
  margin: auto;
  font-size: 0;
  line-height: 0;
}
@media (max-width: 750px) {
  #zeh-m .sec01 {
    padding: 70px 4% 30px;
  }
  #zeh-m .sec01 h2 {
    width: 61.1594202899%;
    margin: 0 auto 10px;
  }
  #zeh-m .sec01 figure {
    width: 100%;
  }
}
#zeh-m .sec02 {
  background: url(../images/zeh-m/sec02_bg_pc.png) #fff no-repeat center/cover;
  padding: 15.317vw 0 18.317vw;
  position: relative;
}
#zeh-m .sec02 .txt {
  width: 45.3174603175%;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 1;
  padding: 0 0 0 50%;
}
#zeh-m .sec02 .txt h3 {
  line-height: 1.667;
  margin: 0 0 20px;
}
#zeh-m .sec02 figure {
  position: absolute;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
#zeh-m .sec02 .cap__txt01 {
  right: 10px;
  top: 5px;
  z-index: 1;
}
#zeh-m .sec02 .cap__txt01.white {
  color: #fff;
}
@media (max-width: 750px) {
  #zeh-m .sec02 {
    background: none;
    padding: 0;
  }
  #zeh-m .sec02 .txt {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  #zeh-m .sec02 .txt h3 {
    background: url(../images/zeh-m/sec02_bg_sp.png) #fff no-repeat top/cover;
    padding: 21.333vw 4% 28.266vw;
    box-sizing: border-box;
    text-align: right;
  }
  #zeh-m .sec02 .txt p {
    margin: -4em 0 0;
    padding: 0 4%;
    box-sizing: border-box;
  }
}
#zeh-m .sec03 {
  padding: 0 0 100px;
}
#zeh-m .sec03 img {
  font-size: 0;
  line-height: 0;
}
#zeh-m .sec03 li {
  margin: 0 0 30px;
}
#zeh-m .sec03 li:last-child {
  margin: 0;
}
#zeh-m .sec03 .num {
  position: relative;
}
#zeh-m .sec03 .num img {
  position: relative;
  bottom: -2px;
  width: 230px;
}
#zeh-m .sec03 .txt {
  width: 48.7719298246%;
  box-sizing: border-box;
  padding: 74px 30px;
  background: #6EB169;
  color: #fff;
}
#zeh-m .sec03 .txt h3 {
  margin: 0 0 20px;
}
#zeh-m .sec03 figure {
  width: 51.2280701754%;
}
#zeh-m .sec03 figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#zeh-m .sec03 .cap__txt01 {
  right: 10px;
  bottom: 5px;
}
#zeh-m .sec03 .white {
  color: #fff;
}
@media (max-width: 750px) {
  #zeh-m .sec03 {
    padding: 20px 4% 53px;
  }
  #zeh-m .sec03 li {
    margin: 0 0 20px;
  }
  #zeh-m .sec03 li:last-child {
    margin: 0;
  }
  #zeh-m .sec03 .num img {
    width: 43.4782608696%;
  }
  #zeh-m .sec03 div.dp__flex {
    flex-wrap: wrap;
  }
  #zeh-m .sec03 .txt {
    width: 100%;
    box-sizing: border-box;
    padding: 20px 4.347826087%;
  }
  #zeh-m .sec03 figure {
    width: 100%;
  }
  #zeh-m .sec03 figure img {
    -o-object-fit: initial;
       object-fit: initial;
    width: 100%;
    height: auto;
  }
}
#zeh-m .sec04 {
  padding: 91px 0 120px;
  background: url(../images/zeh-m/sec04_bg.png) no-repeat center/cover;
}
#zeh-m .sec04 h3 {
  background: #6EB169;
  color: #fff;
  text-align: center;
  margin: 0 0 20px;
}
#zeh-m .sec04 p {
  margin: 0 0 90px;
  text-align: center;
}
@media (max-width: 750px) {
  #zeh-m .sec04 {
    padding: 50px 0 69px;
  }
  #zeh-m .sec04 .sec__in__s,
#zeh-m .sec04 .sec__in__l {
    padding: 0 4%;
    box-sizing: border-box;
  }
  #zeh-m .sec04 h3 {
    padding: 11px 2.3188405797%;
    box-sizing: border-box;
  }
  #zeh-m .sec04 p {
    margin: 0 0 40px;
  }
}
#zeh-m .sec05 {
  padding: 0 0 124px;
}
#zeh-m .sec05 h3 {
  background: #6EB169;
  color: #fff;
  text-align: center;
  margin: 0 0 30px;
}
#zeh-m .sec05 ul {
  gap: 40px;
}
#zeh-m .sec05 ul li {
  background: #EDF6D9;
  padding: 43px;
  box-sizing: border-box;
  width: 100%;
}
#zeh-m .sec05 ul li h4 {
  text-align: center;
  color: #6EB169;
  margin: 0 0 10px;
}
#zeh-m .sec05 ul li h4 span {
  color: #333;
}
#zeh-m .sec05 ul li p.fs__txt__12 {
  padding: 10px 0 0;
}
@media (max-width: 750px) {
  #zeh-m .sec05 {
    padding: 0 4% 50px;
    box-sizing: border-box;
  }
  #zeh-m .sec05 h3 {
    margin: 0 0 10px;
    padding: 11px 2.3188405797%;
    box-sizing: border-box;
  }
  #zeh-m .sec05 ul {
    flex-direction: column;
    gap: 10px;
  }
  #zeh-m .sec05 ul li {
    padding: 20px 8.6956521739%;
    box-sizing: border-box;
  }
}
/*# sourceMappingURL=style.css.map */