@charset "UTF-8";
@-webkit-keyframes headingThumb {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.04) translateY(13px);
    transform: scale(1.04) translateY(13px);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
}
@keyframes headingThumb {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.04) translateY(13px);
    transform: scale(1.04) translateY(13px);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
  }
}
@-webkit-keyframes headingTitle {
  0% {
    opacity: 0;
    -webkit-filter: blur(5px);
    filter: blur(5px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
@keyframes headingTitle {
  0% {
    opacity: 0;
    -webkit-filter: blur(5px);
    filter: blur(5px);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}
/*------------------------------------------------------------
    Reset
------------------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}
html {
  font-size: 62.5%;
}
body,
table,
input,
textarea,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input,
textarea {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
table,
input,
textarea,
select,
option {
  line-height: 1.1;
}
select {
  cursor: pointer;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
input,
textarea {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
:focus {
  outline: 0;
}
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
img {
  vertical-align: top;
}
a,
a img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a {
  color: inherit;
  text-decoration: none;
}
@media only screen and (min-width: 1023px) {
  a:hover, a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}
button {
  cursor: pointer;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  border: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  button:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}
img {
  max-width: 100%;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Layout .l-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Navigation
------------------------------------------------------------*/
.c-nav1__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-nav1__item {
  width: 100%;
}
.c-nav1__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  min-height: 40px;
  padding: 6px 28px 6px 29px;
  background-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 1023px) {
  .c-nav1__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #f5f7fc;
  }
}
.c-nav1__link.is-active {
  background-color: #f5f7fc;
}
.c-nav2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-nav2__item {
  width: 100%;
}
.c-nav2__item + .c-nav2__item {
  margin-top: 16px;
}
.c-nav2__link {
  display: block;
  width: 100%;
  padding: 15px 0 14px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-nav2__sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 1px;
}
.c-nav2__subitem {
  width: 100%;
}
.c-nav2__subitem + .c-nav2__subitem {
  margin-top: 1px;
}
.c-nav2__sublink {
  display: block;
  position: relative;
  width: 100%;
  background-color: #1f1f1f;
  padding: 14px 20px 15px 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-nav2__sublink::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 20px;
  width: 12px;
  height: 1px;
  background-color: #fff;
}
.c-nav3 {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% - 160px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 11;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-nav3 {
    top: 64px;
    width: 100%;
  }
}
.c-nav3.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.c-nav3__heading {
  display: block;
  position: relative;
  width: 100%;
  padding: 9px 20px;
  background-color: #0d0d0d;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-nav3__heading::after {
  content: "\e903";
  display: inline-block;
  position: absolute;
  top: 15px;
  right: 12px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  color: #fff;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  .c-nav3__heading:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}
.c-nav3__heading.is-open::after {
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}
.c-nav3__title {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-nav3__content {
  display: block;
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-nav3__content {
    max-height: calc(100vh - 64px);
    overflow-y: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__content {
    display: none;
    max-height: calc(100vh - 109px);
  }
}
.c-nav3__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 60px;
  background-color: #0d0d0d;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-nav3__list {
    min-height: 45px;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    min-height: unset;
    padding: 0;
    background-color: #1f1f1f;
  }
}
.c-nav3__item {
  position: relative;
  padding: 15px 20px 14px;
}
@media only screen and (max-width: 1023px) {
  .c-nav3__item {
    padding: 9px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__item {
    width: 100%;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__item + .c-nav3__item {
    margin-top: 1px;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__item + .c-nav3__item::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 20px;
    width: calc(100% - 40px);
    height: 1px;
    background-color: #333;
  }
}
.c-nav3__link {
  display: inline-block;
  position: relative;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.02em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-nav3__link {
    display: block;
    width: 100%;
    padding: 14px 20px 15px 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__link::before {
    content: "";
    position: absolute;
    top: 28px;
    left: 20px;
    width: 12px;
    height: 1px;
    background-color: #fff;
  }
}
.c-nav4 {
  position: relative;
  padding: 64px 0 80px;
  z-index: 1;
}
.c-nav4__inner {
  padding: 0 20px;
}
.c-nav4__title {
  color: #494a4d;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.c-nav4__body {
  margin-top: 39px;
}
.c-nav4__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-nav4__item {
  width: 100%;
  border-bottom: 1px solid #dbe0e9;
}
.c-nav4__link {
  display: block;
  position: relative;
  width: 100%;
  padding: 21px 30px 21px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-nav4__link::after {
  content: "\e903";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
  color: #92a0bb;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
/*------------------------------------------------------------
    Header
------------------------------------------------------------*/
.c-header {
  position: relative;
}
.c-header__rside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: fixed;
  top: 0;
  right: 0;
  width: 160px;
  height: 100vh;
  background-color: #fff;
  z-index: 12;
}
@media only screen and (max-width: 1023px) {
  .c-header__rside {
    position: absolute;
    height: auto;
    background-color: transparent;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__rside {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    top: unset;
    right: unset;
    width: 100%;
    height: 240px;
    z-index: 2;
  }
}
.c-header__logowrap1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 160px;
  padding: 64px 44px 65px;
}
.c-header__logo1 {
  display: block;
}
.c-header__logo1 img {
  width: 72px;
}
.c-header__nav1 {
  width: 100%;
  margin-top: auto;
}
.c-header__groupbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 16px;
}
@media only screen and (max-width: 1023px) {
  .c-header__groupbtn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    margin-top: 0;
  }
}
.c-header__itembtn {
  width: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-header__itembtn {
    width: auto;
  }
}
.c-header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  min-height: 64px;
  padding: 12px 29px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.02em;
  text-align: center;
}
@media only screen and (max-width: 1023px) {
  .c-header__btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 160px;
    padding: 12px 24px 13px;
    background-color: #e6e6e6;
    color: #1a1a1a;
    font-weight: 600;
  }
}
.c-header__inner {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 64px;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 20;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
.c-header__inner + .c-header__menubtn {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.c-header__inner.is-sticky {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.c-header__inner.is-sticky + .c-header__menubtn {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.c-header__logowrap2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 16px 24px;
}
.c-header__logo2 {
  display: block;
}
.c-header__logo2 img {
  width: 189px;
}
.c-header__nav2 {
  margin-left: auto;
  padding-right: 64px;
}
.c-header__menubtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 22;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
.c-header__menuouter {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #0d0d0d;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 15;
  -webkit-transition: all 0.45s ease-in-out;
  transition: all 0.45s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-header__menuouter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.c-header__menuouter.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.c-header__menu {
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: 64px;
}
.c-header__menuinner {
  position: relative;
  width: 100%;
  height: 100%;
  max-height: calc(100vh - 64px);
  padding: 40px 40px 120px;
  overflow-x: hidden;
  overflow-y: auto;
}
@media only screen and (max-width: 767px) {
  .c-header__menuinner {
    padding: 40px 20px 120px;
  }
}
.c-header__menunav .c-linklist1 {
  margin-top: 68px;
}
.c-header__menucontact {
  margin-top: 71px;
}
.c-header__logowrap3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.c-header__logo3 {
  display: block;
}
.c-header__logo3 img {
  width: 213px;
}
.c-header__address {
  margin-top: 20px;
  color: #ccc;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-header__sociallist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 11px -4px -4px 0;
}
@media only screen and (max-width: 767px) {
  .c-header__sociallist {
    margin-top: 12px;
  }
}
.c-header__socialitem {
  margin: 0 4px 4px 0;
}
.c-header__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 8px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-header__social img {
  width: 24px;
}
/*------------------------------------------------------------
    Footer
------------------------------------------------------------*/
.c-footer {
  margin-right: 160px;
}
@media only screen and (max-width: 1023px) {
  .c-footer {
    margin-right: 0;
  }
}
.c-footer__bottom {
  position: relative;
  padding: 40px 0 48px;
}
@media only screen and (max-width: 767px) {
  .c-footer__bottom {
    padding: 80px 0 56px;
  }
}
.c-footer__group {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-footer__group {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-footer__group {
    padding: 0 10px;
  }
}
@media only screen and (max-width: 374px) {
  .c-footer__group {
    padding: 0;
  }
}
.c-footer__groupleft {
  position: relative;
  padding-top: 111px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-footer__groupleft {
    padding-top: 0;
  }
}
.c-footer__logowrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
.c-footer__logo {
  display: block;
}
.c-footer__logo img {
  width: 213px;
}
.c-footer__address {
  margin-top: 20px;
  color: #ccc;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-footer__sociallist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 11px -4px -4px 0;
}
@media only screen and (max-width: 767px) {
  .c-footer__sociallist {
    margin: 12px -8px -8px 0;
  }
}
.c-footer__socialitem {
  margin: 0 4px 4px 0;
}
@media only screen and (max-width: 767px) {
  .c-footer__socialitem {
    margin: 0 8px 8px 0;
  }
}
.c-footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 8px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-footer__social {
    width: 48px;
    height: 48px;
  }
}
.c-footer__social img {
  width: 24px;
}
.c-footer__nav {
  margin-top: 68px;
}
.c-footer__copyright {
  margin-top: 31px;
  color: #ccc;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
}
.c-footer__groupright {
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .c-footer__groupright {
    right: 20px;
  }
}
.c-footer__grouplogo {
  display: block;
}
.c-footer__grouplogo img {
  width: 400px;
}
/*------------------------------------------------------------
    Layout
------------------------------------------------------------*/
body {
  position: relative;
  background-color: #f7f8fa;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-break: break-word;
  scroll-behavior: smooth;
}
@media only screen and (max-width: 767px) {
  body {
    min-width: 320px;
  }
}
main {
  margin-right: 160px;
}
@media only screen and (max-width: 1023px) {
  main {
    margin-right: 0;
  }
}
/*------------------------------------------------------------
    Container
------------------------------------------------------------*/
.l-container {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .l-container {
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container {
    padding: 0 20px;
  }
}
.l-container--w1280 {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
/*------------------------------------------------------------
    Mainvisual
------------------------------------------------------------*/
.c-mv {
  position: relative;
  width: 100%;
  height: 100vh;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-mv {
    height: auto;
  }
}
.c-mv__wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.c-mv__content {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 240px 120px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv__content {
    padding: 240px 40px 120px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__content {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    padding: 0 22px 0 24px;
  }
}
.c-mv__contentinner {
  position: relative;
  width: 100%;
  max-width: max(100% - 400px, 880px);
  height: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1023px) {
  .c-mv__contentinner {
    max-width: unset;
  }
}
.c-mv__title {
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
  color: #494a4d;
  font-size: 2.1527777778vw;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1023px) {
  .c-mv__title {
    font-size: 3.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__title {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    margin-right: -2px;
    font-size: min(2.4rem, 6vw);
  }
}
@media only screen and (max-width: 374px) {
  .c-mv__title {
    margin-right: 0;
    font-size: 1.8rem;
  }
}
.c-mv__title span {
  display: block;
  overflow: hidden;
}
.c-mv__title span span {
  -webkit-transform: translateY(124%);
  transform: translateY(124%);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 1s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 1s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 1s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 1s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-mv__title.is-animation span span {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.c-mv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .c-mv__bg {
    position: relative;
    top: unset;
    left: unset;
    max-width: 400px;
    margin: 0 auto;
  }
}
.c-mv__slider {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: unset;
  z-index: 0;
}
.c-mv__slide .c-mv__thumb img {
  opacity: 0;
  -webkit-transform: scale(1.04) translateY(13px);
  transform: scale(1.04) translateY(13px);
}
.c-mv__slide .c-mv__thumb:nth-child(1) img {
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
}
.c-mv__slide .c-mv__thumb:nth-child(2) img {
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
}
.c-mv__slide .c-mv__thumb:nth-child(3) img {
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.32s;
}
.c-mv__slide .c-mv__thumb:nth-child(4) img {
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.38s;
}
.c-mv__slide.swiper-slide-active .c-mv__thumb img, .c-mv__slide.swiper-slide-duplicate-active .c-mv__thumb img {
  opacity: 1;
  -webkit-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
}
.c-mv__slide.is-animation .c-mv__thumb:nth-child(1) img {
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
}
.c-mv__slide.is-animation .c-mv__thumb:nth-child(2) img {
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
}
.c-mv__slide.is-animation .c-mv__thumb img {
  -webkit-animation: headingThumb 1.84s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation: headingThumb 1.84s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.c-mv__group {
  position: relative;
  width: min(100%, 128vh);
  height: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1023px) {
  .c-mv__group {
    width: min(100%, 78.125vh);
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__group {
    width: 100%;
    min-height: 492px;
  }
}
.c-mv__groupinner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-mv__thumb {
  position: absolute;
  width: 100%;
  overflow: hidden;
}
.c-mv__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-mv__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-mv__thumb1 {
  top: 88px;
  right: 15.625%;
  width: 59.375%;
  height: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-mv__thumb1 {
    right: 80px;
    width: calc(100% - 160px);
    height: calc(0.8995726496 * (100% - 88px));
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__thumb1 {
    top: unset;
    bottom: 0;
    right: 24px;
    width: calc(100% - 48px);
    height: 94.1056910569%;
  }
}
.c-mv__thumb1::before {
  content: none;
}
.c-mv__thumb1 img {
  -o-object-position: center top;
  object-position: center top;
}
.c-mv__thumb2 {
  bottom: -20%;
  left: -14.0625%;
  width: 23.4375%;
}
@media only screen and (max-width: 1023px) {
  .c-mv__thumb2 {
    display: none;
  }
}
.c-mv__thumb2::before {
  padding-top: 133.3333333333%;
}
.c-mv__thumb3 {
  top: 7.6%;
  right: 31.25%;
  width: 12.5%;
}
@media only screen and (max-width: 1023px) {
  .c-mv__thumb3 {
    top: 6.25%;
    right: 42.375%;
    width: 17%;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__thumb3 {
    top: unset;
    bottom: 65.6504065041%;
    right: 6%;
    width: 42.5%;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__thumb3::before {
    padding-top: 82.3529411765%;
  }
}
.c-mv__thumb3 img {
  -o-object-position: center 25%;
  object-position: center 25%;
}
.c-mv__thumb4 {
  bottom: 20%;
  left: 26.5625%;
  width: 18.75%;
}
@media only screen and (max-width: 1023px) {
  .c-mv__thumb4 {
    bottom: 33.7890625%;
    left: 0;
    width: 25.5%;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__thumb4 {
    bottom: 47.7642276423%;
    width: 45.5%;
  }
}
.c-mv__thumb4 img {
  -o-object-position: center top;
  object-position: center top;
}
.c-mv__thumb5 {
  bottom: 8%;
  right: 0;
  width: 37.5%;
}
@media only screen and (max-width: 1023px) {
  .c-mv__thumb5 {
    bottom: 23.828125%;
    width: 50.875%;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__thumb5 {
    bottom: 0;
    width: 94%;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__thumb5::before {
    padding-top: 56.1170212766%;
  }
}
/*------------------------------------------------------------
    Breadcrumb
------------------------------------------------------------*/
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Component .c-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Box
------------------------------------------------------------*/
.c-box1 {
  position: relative;
  width: 100%;
  padding: 56px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-box1 {
    padding: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box1 {
    padding: 24px;
  }
}
.c-box1__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 767px) {
  .c-box1__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.c-box1__item + .c-box1__item {
  margin-top: 40px;
}
.c-box1__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 160px;
  min-height: 160px;
  padding: 16px;
  background-color: #ebf0fa;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box1__left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-orient: unset;
    -webkit-box-direction: unset;
    -ms-flex-direction: unset;
    flex-direction: unset;
    width: 100%;
    min-height: unset;
    padding: 2px 8px 3px;
  }
}
.c-box1__title {
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  color: #494a4d;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-box1__title {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    text-align: left;
  }
}
.c-box1__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 160px);
  padding-left: 24px;
}
@media only screen and (max-width: 767px) {
  .c-box1__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 12px;
    padding-left: 0;
  }
}
.c-box1__content {
  margin: 8px 0;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-box1__content {
    margin: 0 -2px -1px 0;
  }
}
.c-box1__content .c-listcheck1 + p {
  margin-top: 10px;
}
.c-box1__content .c-listcheck1 + .c-link1 {
  margin-top: 24px;
  margin-bottom: 1px;
}
.c-box2 {
  position: relative;
  width: 100%;
  padding: 56px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-box2 {
    padding: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2 {
    padding: 24px;
  }
}
.c-box2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -28px -40px;
}
@media only screen and (max-width: 1023px) {
  .c-box2__list {
    margin: 0 -20px -40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.c-box2__item {
  width: calc(50% - 56px);
  margin: 0 28px 40px;
}
@media only screen and (max-width: 1023px) {
  .c-box2__item {
    width: calc(50% - 40px);
    margin: 0 20px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2__item + .c-box2__item {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2__item + .c-box2__item.c-box2__item--full {
    margin-top: 36px;
  }
}
.c-box2__item--full {
  width: calc(100% - 56px);
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .c-box2__item--full {
    width: 100%;
    margin-top: 36px;
  }
}
.c-box2__item--full .c-box2__heading {
  padding-bottom: 8px;
}
.c-box2__item--full .c-box2__content {
  margin-top: 8px;
}
.c-box2__heading {
  position: relative;
  width: 100%;
  padding-bottom: 15px;
  border-bottom: 1px solid #d6dce6;
}
.c-box2__title {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-box2__title.u-zen-old {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0;
}
.c-box2__content {
  margin: 12px 0 -4px;
}
.c-box3 {
  position: relative;
  width: 100%;
  padding: 35px 55px;
  background-color: transparent;
  border: 1px solid #d6dce6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box3 {
    padding: 15px 23px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box3--nochange {
    padding: 35px 55px;
  }
}
.c-box3__text {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-box4 {
  display: block;
  position: relative;
  width: 100%;
  padding: 24px 40px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box4 {
    padding: 12px 24px;
  }
}
@media only screen and (max-width: 374px) {
  .c-box4 {
    padding: 12px;
  }
}
.c-box5 {
  display: block;
  position: relative;
  width: 100%;
  padding: 56px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box5 {
    padding: 20px 24px 24px;
  }
}
.c-box5__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  width: 100%;
  padding: 24px 0;
  border-bottom: 1px solid #e9ecf2;
}
@media only screen and (max-width: 767px) {
  .c-box5__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 20px 0 24px;
  }
}
.c-box5__row:first-child {
  padding-top: 0;
}
.c-box5__row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.c-box5__row--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.c-box5__row--vertical .c-box5__label {
  -ms-flex-negative: unset;
  flex-shrink: unset;
  width: 100%;
  min-width: unset;
  max-width: unset;
  padding: 0;
}
.c-box5__row--vertical .c-box5__field {
  -webkit-box-flex: unset;
  -ms-flex-positive: unset;
  flex-grow: unset;
  width: 100%;
  margin-top: 8px;
}
.c-box5__label {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 25.2747252747%;
  min-width: 170px;
  max-width: 184px;
  padding: 13px 20px 13px 0;
}
@media only screen and (max-width: 1023px) {
  .c-box5__label {
    width: 30.2631578947%;
  }
}
@media only screen and (max-width: 767px) {
  .c-box5__label {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    max-width: unset;
    padding: 0;
  }
}
.c-box5__label--style1 {
  padding: 8px 20px 8px 0;
}
@media only screen and (max-width: 767px) {
  .c-box5__label--style1 {
    padding: 0;
  }
}
.c-box5__field {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 74.7252747253%;
}
@media only screen and (max-width: 1023px) {
  .c-box5__field {
    width: 69.7368421053%;
  }
}
@media only screen and (max-width: 767px) {
  .c-box5__field {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 8px;
  }
}
.c-box5__field--email .c-input__list {
  margin-top: 12px;
}
.c-box5__accept {
  padding: 20px 0 0;
}
.c-box5__accept .c-text1 {
  margin-top: -4px;
}
.c-box5__accept .c-checkbox__group {
  margin-top: 8px;
}
.c-box5__thanks {
  text-align: center;
}
.c-box5__thanks.c-text1 {
  font-weight: 500;
}
.c-box5__groupbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 40px -10px 0;
}
@media only screen and (max-width: 767px) {
  .c-box5__groupbtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 40px 0 0;
  }
}
.c-box5__groupbtn .c-btn3 {
  width: calc(50% - 20px);
  max-width: 342px;
  margin: 0 10px;
}
@media only screen and (max-width: 767px) {
  .c-box5__groupbtn .c-btn3 {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box5__groupbtn .c-btn3 + .c-btn3 {
    margin-top: 12px;
  }
}
.c-box5__recaptcha {
  text-align: center;
}
.c-box5__recaptcha .c-error span.error {
  margin-top: 20px;
}
.c-box6 {
  display: block;
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: auto;
}
.c-box6__inner {
  width: 100%;
  min-width: 840px;
  padding: 20px 30px;
  background-color: #f1f1f1;
}
.c-box6__title {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-box6__table {
  margin-top: 5px;
}
/*------------------------------------------------------------
    Button
------------------------------------------------------------*/
.c-btn1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (min-width: 1023px) {
  .c-btn1:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-btn1:hover .c-btn1__arrow::before {
    -webkit-transform: translateX(6px);
    transform: translateX(6px);
  }
}
.c-btn1__text {
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-btn1__arrow {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: block;
  position: relative;
  width: 56px;
  height: 56px;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  margin-left: 24px;
  background-color: transparent;
  border: 1px solid #363940;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-btn1__arrow::before {
  content: "\e900";
  display: inline-block;
  position: absolute;
  top: 9px;
  left: -17px;
  z-index: 1;
  color: #363940;
  font-family: "icomoon";
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: -webkit-transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
  transition: -webkit-transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
  transition: transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
  transition: transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99), -webkit-transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
}
.c-btn2 {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-bottom: 5px;
  border-bottom: 1px solid #363940;
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-btn2::after {
  content: "\e901";
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 4px;
  color: #494a4d;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
.c-btn3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 80px;
  padding: 18px 26px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
  text-align: center;
}
.c-btn3::after {
  content: "\e903";
  display: inline-block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 8px;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
.c-btn3--simple::after {
  content: none;
}
.c-btn3--style1 {
  min-height: 88px;
  padding: 14px 32px;
}
.c-btn3--style1::after {
  margin-right: 1px;
}
/*------------------------------------------------------------
    Card
------------------------------------------------------------*/
.c-card1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
}
@media only screen and (min-width: 1023px) {
  .c-card1:hover .c-card1__thumb img {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
  }
}
.c-card1--simple .c-card1__thumb::before {
  padding-top: 61.7857142857%;
}
.c-card1--simple .c-card1__content {
  margin-top: 16px;
}
.c-card1__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-card1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.8421052632%;
}
@media only screen and (max-width: 1023px) {
  .c-card1__thumb::before {
    padding-top: 61.7647058823%;
  }
}
@media only screen and (max-width: 767px) {
  .c-card1__thumb::before {
    padding-top: 61.6666666667%;
  }
}
.c-card1__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(1);
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-card1__content {
  width: 100%;
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .c-card1__content {
    margin-top: 12px;
  }
}
.c-card1__title {
  color: #363940;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-card1__datetime {
  display: block;
  margin: 9px 0 1px;
  color: #808080;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.25;
}
.c-card2 {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 560px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (min-width: 1023px) {
  .c-card2:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card2:hover .c-card2__thumb::after {
    opacity: 1;
  }
  .c-card2:hover .c-card2__thumb img {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
  }
}
@media only screen and (max-width: 1023px) {
  .c-card2 {
    min-height: 498px;
  }
}
@media only screen and (max-width: 767px) {
  .c-card2 {
    min-height: unset;
  }
}
.c-card2__inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 40px 40px;
}
@media only screen and (max-width: 767px) {
  .c-card2__inner {
    padding: 52px 20px 52px 0;
  }
}
.c-card2__thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.c-card2__thumb::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  z-index: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
}
.c-card2__thumb img {
  -webkit-transform: scale(1);
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-card2__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  height: 100%;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .c-card2__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
.c-card2__titleja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50px;
  padding: 15px 8px 11px;
  background-color: #494a4d;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.07em;
  text-align: center;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  text-orientation: upright;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .c-card2__titleja {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    width: auto;
    margin-right: 12px;
    padding: 6px 12px 7px;
    font-size: 2.2rem;
    line-height: 1.23;
    letter-spacing: 0;
    -webkit-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
    text-orientation: unset;
    white-space: normal;
  }
}
.c-card2__titleen {
  -webkit-transform: translateX(1px);
  transform: translateX(1px);
  margin-top: 12px;
  opacity: 0.6;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.077;
  text-transform: uppercase;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .c-card2__titleen {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    margin: 3px 0 8px;
    -webkit-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
    white-space: normal;
  }
}
.c-card3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
}
@media only screen and (min-width: 1023px) {
  .c-card3:hover .c-card3__thumb img {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
  }
}
.c-card3__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-card3__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 133.2142857143%;
}
.c-card3__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(1);
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-card3__content {
  width: 100%;
  margin-top: 17px;
}
.c-card3__info {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-card3__title {
  margin-top: 10px;
  color: #363940;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-card3__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 19px -6px -4px 0;
}
.c-card3__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
.c-card4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
}
@media only screen and (min-width: 1023px) {
  .c-card4:hover .c-card4__thumb img {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
  }
}
.c-card4__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-card4__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75%;
}
.c-card4__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(1);
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-card4__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 100%;
  margin-top: 12px;
  padding: 0 8px;
}
@media only screen and (max-width: 767px) {
  .c-card4__content {
    margin-top: 8px;
  }
}
.c-card4__title {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-card5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
}
@media only screen and (min-width: 1023px) {
  .c-card5:hover .c-card5__thumb img {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
  }
}
@media only screen and (max-width: 1023px) {
  .c-card5 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}
.c-card5__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-card5__thumb {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 242px;
  }
}
@media only screen and (max-width: 767px) {
  .c-card5__thumb {
    width: 33.3333333333%;
    max-width: 120px;
  }
}
.c-card5__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75.2066115702%;
}
@media only screen and (max-width: 767px) {
  .c-card5__thumb::before {
    padding-top: 75%;
  }
}
.c-card5__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(1);
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
}
.c-card5__content {
  width: 100%;
  margin-top: 12px;
}
@media only screen and (max-width: 1023px) {
  .c-card5__content {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: calc(100% - 242px);
    margin-top: 0;
    padding-left: 32px;
  }
}
@media only screen and (max-width: 767px) {
  .c-card5__content {
    width: 66.6666666667%;
    padding-left: 16px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-card5__top {
    margin-top: 26px;
  }
}
@media only screen and (max-width: 767px) {
  .c-card5__top {
    margin-top: 2px;
  }
}
.c-card5__basis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.c-card5__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 4px 2px 4px 0;
}
@media only screen and (max-width: 767px) {
  .c-card5__taglist {
    margin: 2px 2px 2px 0;
  }
}
.c-card5__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
.c-card5__location {
  color: #363940;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-card5__location {
    font-size: 1.5rem;
  }
}
.c-card5__price {
  display: block;
  margin-top: 5px;
  color: #363940;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-card5__price {
    margin-top: 4px;
  }
}
.c-card5__price small {
  display: inline-block;
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
  margin-left: 2px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.c-card5__bottom {
  position: relative;
  width: 100%;
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid #d6dce6;
}
.c-card5__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-card5__infoitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  color: #363940;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-card5__infoitem span:nth-child(1) {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 68px;
  padding-right: 6px;
}
.c-card5__infoitem span:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 68px);
}
.c-card5__infoitem + .c-card5__infoitem {
  margin-top: 1px;
}
/*------------------------------------------------------------
    Checkbox
------------------------------------------------------------*/
.c-checkbox__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -4px -4px 0;
}
.c-checkbox__group .mwform-checkbox-field {
  margin: 0 4px 4px 0;
}
.c-checkbox__group .mwform-checkbox-field label {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.c-checkbox__group .mwform-checkbox-field label input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: transparent;
  opacity: 0;
  -webkit-tap-highlight-color: transparent;
  z-index: 1;
  cursor: pointer;
}
.c-checkbox__group .mwform-checkbox-field label input[type=checkbox]:checked + .mwform-checkbox-field-text {
  background-color: #ebf0fa;
}
.c-checkbox__group .mwform-checkbox-field label input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
  background-color: #333;
  border-color: #333;
}
.c-checkbox__group .mwform-checkbox-field label input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
  opacity: 1;
}
.c-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  min-height: 48px;
  padding: 9px 16px 9px 48px;
  background-color: #f7f8fa;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text {
    padding: 9px 6px 9px 40px;
  }
}
.c-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text::before {
  content: "";
  display: block;
  position: absolute;
  top: 12px;
  left: 16px;
  width: 24px;
  height: 24px;
  background-color: #fff;
  border: 1px solid #eff2f6;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text::before {
    left: 8px;
  }
}
.c-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text::after {
  content: "\e902";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 12px;
  left: 16px;
  width: 24px;
  height: 24px;
  padding: 2px;
  opacity: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text::after {
    left: 8px;
  }
}
.c-checkbox__group--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0;
}
.c-checkbox__group--vertical .mwform-checkbox-field {
  width: 100%;
  margin: 0;
}
.c-checkbox__group--vertical .mwform-checkbox-field + .mwform-checkbox-field {
  margin-top: 4px;
}
.c-checkbox__group--round .mwform-checkbox-field label .mwform-checkbox-field-text {
  border-radius: 0;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--round .mwform-checkbox-field label .mwform-checkbox-field-text {
    padding: 9px 16px 9px 48px;
  }
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--round .mwform-checkbox-field label .mwform-checkbox-field-text::before {
    left: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--round .mwform-checkbox-field label .mwform-checkbox-field-text::after {
    left: 16px;
  }
}
/*------------------------------------------------------------
    Contact
------------------------------------------------------------*/
.c-contact1 {
  position: relative;
  z-index: 1;
}
.c-contact1__bg {
  position: relative;
  width: 100%;
  height: 480px;
}
@media only screen and (max-width: 1023px) {
  .c-contact1__bg {
    height: 300px;
  }
}
@media only screen and (max-width: 767px) {
  .c-contact1__bg {
    height: auto;
    min-height: 150px;
  }
}
.c-contact1__bg::before {
  content: none;
  display: block;
  width: 100%;
  padding-top: 37.5%;
}
@media only screen and (max-width: 767px) {
  .c-contact1__bg::before {
    content: "";
  }
}
.c-contact1__bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.c-contact1__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
@media only screen and (max-width: 767px) {
  .c-contact1__bg img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.c-contact1__body {
  display: block;
  position: relative;
  width: 100%;
  padding: 56px 0;
  background-color: #0d0d0d;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.c-contact1__slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}
.c-contact1__slide {
  width: 648px;
}
@media only screen and (max-width: 767px) {
  .c-contact1__slide {
    width: 390px;
  }
}
.c-contact1__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  min-height: 93px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-contact1__card {
    min-height: 56px;
  }
}
.c-contact1__thumb {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 130px;
  background-color: #b3b3b3;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-contact1__thumb {
    width: 91px;
  }
}
.c-contact1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.5384615385%;
}
.c-contact1__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-contact1__content {
  margin-left: 40px;
}
@media only screen and (max-width: 767px) {
  .c-contact1__content {
    margin-left: 20px;
  }
}
.c-contact1__title {
  display: inline-block;
  color: #fff;
  font-size: 7.7rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .c-contact1__title {
    font-size: 4.5rem;
  }
}
/*------------------------------------------------------------
    Content
------------------------------------------------------------*/
.c-content1 {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-content1 p + p {
  margin-top: 30px;
}
.c-content1 p + p:has(img) {
  margin-top: 30px;
}
.c-content1 p:has(img) + p {
  margin-top: 30px;
}
.c-content1 a {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 1px solid #363940;
  color: #494a4d;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-content1 a::after {
  content: "\e908";
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 4px;
  margin-right: 1px;
  color: #68c;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
.c-content1 a:has(img)::after {
  content: none;
}
.c-content1 ul {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-content1 ul li {
  position: relative;
  padding-left: 15px;
}
.c-content1 ul li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.c-content1 ol {
  counter-reset: section;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-content1 ol li {
  position: relative;
  padding-left: 20px;
}
.c-content1 ol li::before {
  counter-increment: section;
  content: counter(section) "．";
  position: absolute;
  top: 0;
  left: 0;
}
.c-content1 .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.c-content1 .alignleft {
  display: block;
  margin-right: auto;
}
.c-content1 .alignright {
  display: block;
  margin-left: auto;
}
.c-content1 img,
.c-content1 iframe {
  max-width: 100%;
}
/*------------------------------------------------------------
    Error
------------------------------------------------------------*/
.c-error label.error,
.c-error span.error {
  display: block;
  margin-top: 4px;
  color: #bf0000;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
/*------------------------------------------------------------
    Filter
------------------------------------------------------------*/
.c-filter1 {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-filter1--style1 .c-filter1__item:first-child .c-filter1__link {
  padding: 11px 44px 12px;
}
@media only screen and (max-width: 1023px) {
  .c-filter1--style1 .c-filter1__item:first-child .c-filter1__link {
    padding: 11px 44px 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-filter1--style1 .c-filter1__item:first-child .c-filter1__link {
    padding: 8px 20px 9px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-filter1--style1 .c-filter1__link {
    padding: 11px 44px 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-filter1--style1 .c-filter1__link {
    padding: 8px 20px 9px;
  }
}
.c-filter1__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  overflow-x: auto;
}
.c-filter1__item {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-filter1__item:first-child .c-filter1__link {
  padding: 11px 45px 12px;
}
@media only screen and (max-width: 1023px) {
  .c-filter1__item:first-child .c-filter1__link {
    padding: 11px 2.95rem 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-filter1__item:first-child .c-filter1__link {
    padding: 8px 20px 9px;
  }
}
.c-filter1__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 64px;
  padding: 11px 44px 12px;
  background-color: #eff2f6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
  text-align: center;
}
@media only screen and (min-width: 1023px) {
  .c-filter1__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #333;
    color: #fff;
  }
}
@media only screen and (max-width: 1023px) {
  .c-filter1__link {
    padding: 11px 29px 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-filter1__link {
    min-height: 48px;
    padding: 8px 20px 9px;
  }
}
.c-filter1__link.is-active {
  background-color: #333;
  pointer-events: none;
  color: #fff;
}
.c-filter2 {
  position: relative;
}
.c-filter2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -60px -16px 0;
}
@media only screen and (max-width: 767px) {
  .c-filter2__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 0;
  }
}
.c-filter2__item {
  width: 100%;
  max-width: 184px;
  margin: 0 60px 16px 0;
}
@media only screen and (max-width: 767px) {
  .c-filter2__item {
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-filter2__item + .c-filter2__item {
    margin-top: 16px;
  }
}
/*------------------------------------------------------------
    Group
------------------------------------------------------------*/
.c-group1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 1023px) {
  .c-group1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.c-group1__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: sticky;
  top: 179px;
  width: 19.2307692308%;
  max-width: 200px;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-group1__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    position: relative;
    top: unset;
    width: 100%;
    max-width: unset;
    padding-right: 0;
  }
}
.c-group1__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 80.7692307692%;
}
@media only screen and (max-width: 1023px) {
  .c-group1__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 56px;
  }
}
@media only screen and (max-width: 767px) {
  .c-group1__right {
    margin-top: 34px;
  }
}
.c-group1__rightinner {
  width: 100%;
  max-width: 900px;
  padding-right: 60px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .c-group1__rightinner {
    max-width: unset;
    padding-right: 0;
  }
}
.c-group2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-group2 {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: -24px;
  }
}
.c-group2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#d6dce6), to(#d6dce6)) left calc(128px + (100% - 512px) / 6) center/1px 100% no-repeat, -webkit-gradient(linear, left top, left bottom, from(#d6dce6), to(#d6dce6)) left calc(256px + (100% - 512px) / 2) center/1px 100% no-repeat, -webkit-gradient(linear, left top, left bottom, from(#d6dce6), to(#d6dce6)) left calc(384px + 5 * (100% - 512px) / 6) center/1px 100% no-repeat;
  background: -webkit-linear-gradient(#d6dce6, #d6dce6) left calc(128px + (100% - 512px) / 6) center/1px 100% no-repeat, -webkit-linear-gradient(#d6dce6, #d6dce6) left calc(256px + (100% - 512px) / 2) center/1px 100% no-repeat, -webkit-linear-gradient(#d6dce6, #d6dce6) left calc(384px + 5 * (100% - 512px) / 6) center/1px 100% no-repeat;
  background: linear-gradient(#d6dce6, #d6dce6) left calc(128px + (100% - 512px) / 6) center/1px 100% no-repeat, linear-gradient(#d6dce6, #d6dce6) left calc(256px + (100% - 512px) / 2) center/1px 100% no-repeat, linear-gradient(#d6dce6, #d6dce6) left calc(384px + 5 * (100% - 512px) / 6) center/1px 100% no-repeat;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .c-group2::before {
    content: none;
  }
}
.c-group2__item {
  position: relative;
}
@media only screen and (max-width: 767px) {
  .c-group2__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 50%;
    margin-bottom: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .c-group2__item:nth-child(2n) {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    border-left: 1px solid #d6dce6;
  }
}
@media only screen and (max-width: 767px) {
  .c-group2__item:nth-child(2n+1) {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}
/*------------------------------------------------------------
    Heading
------------------------------------------------------------*/
.c-heading1 {
  position: relative;
  width: 100%;
  height: 100vh;
}
@media only screen and (max-width: 767px) {
  .c-heading1 {
    height: auto;
  }
}
.c-heading1__wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.c-heading1__content {
  position: relative;
  width: min(100% - 720px, 0.4666666667 * (100% - 80px));
  min-width: 270px;
  height: 82%;
  margin-left: auto;
  padding: 60px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__content {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    height: auto;
    margin-left: 0;
    padding: 240px 40px 64px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__content {
    padding: 0 20px 29px;
  }
}
.c-heading1__contentinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  max-width: 560px;
  height: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__contentinner {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: unset;
  }
}
.c-heading1__title {
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
  color: #494a4d;
  font-size: 3.7rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
  opacity: 0;
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-animation: headingTitle 1.2s ease-in-out 0.3s forwards;
  animation: headingTitle 1.2s ease-in-out 0.3s forwards;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1.2s ease-out;
  transition: opacity 0.8s ease, -webkit-filter 1.2s ease-out;
  transition: filter 1.2s ease-out, opacity 0.8s ease;
  transition: filter 1.2s ease-out, opacity 0.8s ease, -webkit-filter 1.2s ease-out;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__title {
    font-size: 3.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__title {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px);
    font-size: 2.4rem;
  }
}
.c-heading1__titleimg {
  opacity: 0;
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-animation: headingTitle 1.2s ease-in-out 0.7s forwards;
  animation: headingTitle 1.2s ease-in-out 0.7s forwards;
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1.2s ease-out;
  transition: opacity 0.8s ease, -webkit-filter 1.2s ease-out;
  transition: filter 1.2s ease-out, opacity 0.8s ease;
  transition: filter 1.2s ease-out, opacity 0.8s ease, -webkit-filter 1.2s ease-out;
}
.c-heading1__titleimg1 img {
  width: 178px;
}
.c-heading1__titleimg2 img {
  width: 107px;
}
.c-heading1__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__bg {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
    top: unset;
    left: unset;
    pointer-events: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__bg {
    height: auto;
  }
}
.c-heading1__group {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__group {
    padding: 0 40px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__group {
    padding: 0 20px 20px;
  }
}
.c-heading1__groupinner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__groupinner {
    position: relative;
    top: unset;
    left: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__groupinner {
    height: auto;
  }
}
.c-heading1__thumb {
  position: absolute;
  width: 100%;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-heading1__thumb {
    position: relative;
  }
}
.c-heading1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-heading1__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-heading1__thumb1 {
  top: 0;
  left: 80px;
  width: max(640px, 0.5333333333 * (100% - 80px));
  max-width: calc(100% - 350px);
  height: 82%;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__thumb1 {
    top: 0;
    left: 0;
    width: 100%;
    max-width: unset;
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__thumb1 {
    top: unset;
    left: unset;
    height: auto;
  }
}
.c-heading1__thumb1::before {
  content: none;
}
@media only screen and (max-width: 767px) {
  .c-heading1__thumb1::before {
    content: "";
    padding-top: 128.0555555556%;
  }
}
.c-heading1__thumb1 img {
  -o-object-position: center top;
  object-position: center top;
  -webkit-animation: headingThumb 1.84s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation: headingThumb 1.84s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.2s;
}
.c-heading1__thumb2 {
  top: calc(82% + 104px);
  right: max(1.55rem, (100% - (80px + max(640px, 0.5333333333 * (100% - 80px))) - 240px) / 2);
  width: 18.75%;
  min-width: 240px;
  max-width: 240px;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__thumb2 {
    display: none;
  }
}
.c-heading1__thumb2 img {
  -webkit-animation: headingThumb 1.84s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation: headingThumb 1.84s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  -webkit-transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
  transition: opacity 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s, -webkit-transform 1.84s cubic-bezier(0.33, 1, 0.68, 1) 1.26s;
}
/*------------------------------------------------------------
    Iconic
------------------------------------------------------------*/
.c-iconic1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: relative;
  height: 100%;
  padding: 23px 31px;
  background-color: transparent;
  border: 1px solid #d6dce6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-iconic1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 31px 19px 27px;
  }
}
.c-iconic1__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 104px;
  height: 104px;
  padding: 10px;
  background-color: #fff;
  border-radius: 50%;
}
@media only screen and (max-width: 1023px) {
  .c-iconic1__icon {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 80px;
    height: 80px;
    padding: 8px;
  }
}
.c-iconic1__icon img {
  width: 64px;
}
@media only screen and (max-width: 1023px) {
  .c-iconic1__icon img {
    width: 49px;
  }
}
.c-iconic1__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-left: 16px;
}
@media only screen and (max-width: 1023px) {
  .c-iconic1__content {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    margin-top: 16px;
    padding-left: 0;
  }
}
.c-iconic1__title {
  margin-top: 4px;
  color: #494a4d;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
}
@media only screen and (max-width: 1023px) {
  .c-iconic1__title {
    margin-top: 0;
    text-align: center;
  }
}
.c-iconic1__description {
  margin-top: 7px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 1023px) {
  .c-iconic1__description {
    text-align: center;
  }
}
.c-iconic2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  max-width: 128px;
  height: 100%;
}
.c-iconic2__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 128px;
  height: 128px;
  padding: 10px 14px 14px;
  background-color: #fff;
  border-radius: 50%;
}
.c-iconic2__icon img {
  width: 72px;
}
.c-iconic2__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 100%;
  margin-top: 8px;
}
.c-iconic2__title {
  color: #363940;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.c-iconic2__title small {
  display: block;
  margin-top: 1px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-iconic3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  height: 100%;
  padding: 31px 23px 27px;
  background-color: transparent;
  border: 1px solid #d6dce6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-iconic3__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  padding: 8px;
  background-color: #fff;
  border-radius: 50%;
}
.c-iconic3__content {
  width: 100%;
  margin-top: 16px;
}
.c-iconic3__title {
  color: #494a4d;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.c-iconic3__description {
  margin-top: 7px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
  text-align: center;
}
.c-iconic4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 55px 23px 51px;
  background-color: transparent;
  border: 1px solid #d6dce6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-iconic4__title {
  color: #494a4d;
  font-size: 3.1rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-iconic4__title {
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
  }
}
.c-iconic4__title small {
  display: block;
  margin: -2px 0 1px;
  color: #403b36;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-indent: 0;
}
.c-iconic4__content {
  width: 100%;
  max-width: 248px;
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .c-iconic4__content {
    max-width: 268px;
    margin-top: 39px;
  }
}
.c-iconic4__label {
  display: block;
  width: 100%;
  padding: 2px 8px 4px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.267;
  letter-spacing: -0.02em;
}
.c-iconic4__description {
  margin-top: 8px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
/*------------------------------------------------------------
    Input
------------------------------------------------------------*/
.c-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  width: 100%;
}
.c-input input[type=text],
.c-input input[type=email],
.c-input input[type=tel],
.c-input input[type=url] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 56px;
  padding: 8px 15px;
  background-color: #f7f8fa;
  border: 1px solid #eff2f6;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-input textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 280px;
  padding: 8px 15px;
  background-color: #f7f8fa;
  border: 1px solid #eff2f6;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  resize: none;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-input--half {
  max-width: 268px;
}
.c-input--small {
  max-width: 130px;
}
.c-input__zip .mwform-zip-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  position: relative;
  width: 100%;
  max-width: 242px;
  font-size: 0;
}
.c-input__zip .mwform-zip-field::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(0.4285714286 * (100% - 18px) + 4px);
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  width: 10px;
  height: 1px;
  background-color: #333;
}
.c-input__zip input[type=text]:nth-of-type(1) {
  width: calc(0.4285714286 * (100% - 18px));
  max-width: 96px;
}
.c-input__zip input[type=text]:nth-of-type(2) {
  width: calc(0.5714285714 * (100% - 18px));
  max-width: 128px;
  margin-left: auto;
}
.c-input__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  width: calc(100% + 4px);
  margin: 0 -4px;
  padding: 20px 0;
  border-bottom: 1px solid #e9ecf2;
}
.c-input__group:first-child {
  padding-top: 0;
}
.c-input__group:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.c-input__group .c-input__item {
  width: calc(50% - 8px);
  max-width: 130px;
  margin: 0 4px;
}
.c-input__group .c-input__itemfield {
  margin-top: 2px;
}
.c-input__list .c-input__item + .c-input__item {
  margin-top: 12px;
}
.c-input__list .c-input__itemfield {
  margin-top: 2px;
}
/*------------------------------------------------------------
    Label
------------------------------------------------------------*/
.c-label1 {
  position: relative;
  padding-left: 40px;
  display: inline-block;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-label1::before {
  content: "任意";
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 0;
  padding: 1px 3px 2px;
  background-color: #fff;
  border: 1px solid #595959;
  border-radius: 2px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #4d4d4d;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.167;
  letter-spacing: -0.02em;
  text-align: center;
}
.c-label1.is-required::before {
  content: "必須";
  background-color: #333;
  border-color: #333;
  color: #fff;
}
.c-label2 {
  display: block;
  color: #363940;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
/*------------------------------------------------------------
    Link
------------------------------------------------------------*/
.c-link1 {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 1px solid #363940;
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-link1::after {
  content: "\e908";
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 4px;
  margin-right: 1px;
  color: #68c;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
.c-link2 {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-link2::after {
  content: "\e908";
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 3px;
  color: #363940;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
.c-link2--style1::after {
  margin-left: 2px;
  margin-right: -2px;
  color: #6688cc;
}
/*------------------------------------------------------------
    Linklist
------------------------------------------------------------*/
.c-linklist1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-linklist1__item {
  position: relative;
  padding: 8px 24px 8px 25px;
}
@media only screen and (max-width: 374px) {
  .c-linklist1__item {
    padding: 8px 19px 8px 20px;
  }
}
.c-linklist1__item::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 1px;
  height: calc(100% - 21px);
  background-color: #999;
}
.c-linklist1__item:first-child {
  padding-left: 0;
}
.c-linklist1__item:first-child::before {
  content: none;
}
.c-linklist1__item:last-child {
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .c-linklist1__item--fullsp {
    width: 100%;
    margin-top: 3px;
    padding: 8px 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-linklist1__item--fullsp::before {
    content: none;
  }
}
@media only screen and (max-width: 374px) {
  .c-linklist1__item--fullxsp {
    width: 100%;
    margin-top: 3px;
    padding: 8px 0;
  }
}
@media only screen and (max-width: 374px) {
  .c-linklist1__item--fullxsp::before {
    content: none;
  }
}
.c-linklist1__link {
  display: inline-block;
  color: #ccc;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: -0.02em;
}
/*------------------------------------------------------------
    List
------------------------------------------------------------*/
.c-list1 {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-list1 li {
  position: relative;
  padding-left: 15px;
}
.c-list1 li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.c-list1--2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -28px;
}
@media only screen and (max-width: 767px) {
  .c-list1--2col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.c-list1--2col li {
  width: calc(50% - 56px);
  margin: 0 28px;
}
@media only screen and (max-width: 767px) {
  .c-list1--2col li {
    width: 100%;
    margin: 0;
  }
}
.c-list2 {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-list2 li {
  position: relative;
  padding-left: 19px;
}
.c-list2 li::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 3px;
  width: 8px;
  height: 8px;
  background-color: #92a0bb;
}
/*------------------------------------------------------------
    Listcheck
------------------------------------------------------------*/
.c-listcheck1 {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-listcheck1 li {
  position: relative;
  padding-left: 23px;
}
.c-listcheck1 li + li {
  margin-top: 8px;
}
.c-listcheck1 li::before {
  content: "\e909";
  display: inline-block;
  position: absolute;
  top: 4px;
  left: 0;
  color: #363940;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
/*------------------------------------------------------------
    Listnav
------------------------------------------------------------*/
.c-listnav1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-listnav1__item {
  width: 100%;
  border-bottom: 1px solid #d6dce6;
}
.c-listnav1__item + .c-listnav1__item {
  margin-top: 30px;
}
.c-listnav1__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 100%;
  padding: 11px 42px 12px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
}
.c-listnav1__link::after {
  content: "\e900";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, calc(-50% - 1px));
  transform: translate(0, calc(-50% - 1px));
  color: #363940;
  font-family: "icomoon";
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: -webkit-transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
  transition: -webkit-transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
  transition: transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
  transition: transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99), -webkit-transform 0.42s cubic-bezier(0.62, 0.05, 0.01, 0.99);
}
@media only screen and (min-width: 1023px) {
  .c-listnav1__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-listnav1__link:hover::after {
    -webkit-transform: translate(6px, calc(-50% - 1px));
    transform: translate(6px, calc(-50% - 1px));
  }
}
/*------------------------------------------------------------
    Loading
------------------------------------------------------------*/
.c-loading1 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 9999;
}
/*------------------------------------------------------------
    Material
------------------------------------------------------------*/
.c-material1 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-material1 {
    max-width: 800px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    overflow: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-material1 {
    display: none;
  }
}
.c-material1__item {
  position: absolute;
}
.c-material1__item1 {
  bottom: -7px;
  right: calc(160px + max(37px, 0.02890625 * (100% - 160px)));
}
@media only screen and (max-width: 1023px) {
  .c-material1__item1 {
    bottom: 17.1875%;
    right: min(-108px, -13.5%);
  }
}
.c-material1__item1 img {
  width: 186px;
}
@media only screen and (max-width: 1023px) {
  .c-material1__item1 img {
    width: 156px;
  }
}
.c-material1__item2 {
  bottom: 29.4%;
  left: max(96px, 0.075 * (100% - 160px));
}
@media only screen and (max-width: 1023px) {
  .c-material1__item2 {
    bottom: 41.89453125%;
    left: min(-58px, -7.25%);
  }
}
.c-material1__item2 img {
  width: 128px;
}
@media only screen and (max-width: 1023px) {
  .c-material1__item2 img {
    width: 108px;
  }
}
.c-material1__item3 {
  top: 2.4%;
  left: max(193px, 0.15078125 * (100% - 160px));
}
@media only screen and (max-width: 1023px) {
  .c-material1__item3 {
    top: 1.953125%;
    left: max(23px, 2.875%);
  }
}
.c-material1__item3 img {
  width: 186px;
}
@media only screen and (max-width: 1023px) {
  .c-material1__item3 img {
    width: 156px;
  }
}
.c-material2 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-material2 {
    max-width: 800px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    overflow: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-material2 {
    display: none;
  }
}
.c-material2__item {
  position: absolute;
}
.c-material2__item1 {
  bottom: -7px;
  right: calc(160px + max(37px, 0.02890625 * (100% - 160px)));
}
@media only screen and (max-width: 1023px) {
  .c-material2__item1 {
    bottom: 17.1875%;
    right: min(31px, 3.875%);
  }
}
.c-material2__item1 img {
  width: 186px;
}
@media only screen and (max-width: 1023px) {
  .c-material2__item1 img {
    width: 156px;
  }
}
.c-material2__item2 {
  bottom: 29.4%;
  left: max(96px, 0.075 * (100% - 160px));
}
@media only screen and (max-width: 1023px) {
  .c-material2__item2 {
    bottom: 35.64453125%;
    left: min(-197px, -24.625%);
  }
}
.c-material2__item2 img {
  width: 128px;
}
@media only screen and (max-width: 1023px) {
  .c-material2__item2 img {
    width: 108px;
  }
}
.c-material2__item3 {
  top: 8.6%;
  left: max(30px, 0.0234375 * (100% - 160px));
}
@media only screen and (max-width: 1023px) {
  .c-material2__item3 {
    top: 7.03125%;
    left: min(-253px, -31.625%);
  }
}
.c-material2__item3 img {
  width: 116px;
}
@media only screen and (max-width: 1023px) {
  .c-material2__item3 img {
    width: 98px;
  }
}
.c-material2__item4 {
  bottom: 21.7%;
  left: max(96px, 0.075 * (100% - 160px));
}
@media only screen and (max-width: 1023px) {
  .c-material2__item4 {
    bottom: 35.64453125%;
    left: min(-197px, -24.625%);
  }
}
.c-material2__item4 img {
  width: 128px;
}
@media only screen and (max-width: 1023px) {
  .c-material2__item4 img {
    width: 108px;
  }
}
.c-material2__item5 {
  bottom: -7px;
  right: calc(160px + max(37px, 0.02890625 * (100% - 160px)));
}
@media only screen and (max-width: 1023px) {
  .c-material2__item5 {
    bottom: 17.1875%;
    right: min(31px, 3.875%);
  }
}
.c-material2__item5 img {
  width: 186px;
}
@media only screen and (max-width: 1023px) {
  .c-material2__item5 img {
    width: 156px;
  }
}
.c-material2__item6 {
  bottom: 21.7%;
  left: max(96px, 0.075 * (100% - 160px));
}
@media only screen and (max-width: 1023px) {
  .c-material2__item6 {
    bottom: 35.64453125%;
    left: min(-197px, -24.625%);
  }
}
.c-material2__item6 img {
  width: 128px;
}
@media only screen and (max-width: 1023px) {
  .c-material2__item6 img {
    width: 108px;
  }
}
/*------------------------------------------------------------
    Menu
------------------------------------------------------------*/
.c-menu1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 64px;
  height: 64px;
  padding: 10px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-menu1.is-open .c-menu1__inner span:nth-child(1) {
  -webkit-transform: translate(calc(-50% + 14px), calc(-50% + 5px)) rotate(45deg);
  transform: translate(calc(-50% + 14px), calc(-50% + 5px)) rotate(45deg);
}
.c-menu1.is-open .c-menu1__inner span:nth-child(2) {
  -webkit-transform: translate(calc(-50% + 14px), -4px) rotate(-45deg);
  transform: translate(calc(-50% + 14px), -4px) rotate(-45deg);
}
.c-menu1__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 28px;
  height: 10px;
}
.c-menu1__inner span {
  display: block;
  width: 28px;
  height: 1px;
  background-color: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
/*------------------------------------------------------------
    Note
------------------------------------------------------------*/
.c-note1 {
  color: #363940;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
/*------------------------------------------------------------
    Pagination
------------------------------------------------------------*/
.c-pagi1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 -4px -8px;
}
.c-pagi1 li {
  margin: 0 4px 8px;
}
.c-pagi1 li span,
.c-pagi1 li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 56px;
  height: 56px;
  padding: 8px 8px 9px;
  background-color: #f7f8fa;
  border: 1px solid #363940;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  color: #494a4d;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
  text-align: center;
}
@media only screen and (max-width: 374px) {
  .c-pagi1 li span,
  .c-pagi1 li a {
    width: 48px;
    height: 48px;
    padding: 6px 6px 7px;
  }
}
.c-pagi1 li span.current,
.c-pagi1 li a.current {
  background-color: #333;
  border-color: #333;
  pointer-events: none;
  color: #fff;
}
.c-pagi1 li span.dots,
.c-pagi1 li a.dots {
  width: 40px;
  padding: 0;
  border: none;
  font-size: 0;
}
@media only screen and (max-width: 374px) {
  .c-pagi1 li span.dots,
  .c-pagi1 li a.dots {
    width: 32px;
  }
}
.c-pagi1 li span.dots::before,
.c-pagi1 li a.dots::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 18px;
  height: 4px;
  background-image: url("/assets/img/common/dots.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media only screen and (min-width: 1023px) {
  .c-pagi1 li a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #333;
    border-color: #333;
    color: #fff;
  }
}
/*------------------------------------------------------------
    Part
------------------------------------------------------------*/
.c-part1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1023px) {
  .c-part1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1 {
    padding: 0 20px;
  }
}
.c-part1__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: max(720px, 0.5333333333 * (100% - 80px) + 80px);
  max-width: calc(100% - 350px);
}
@media only screen and (max-width: 1023px) {
  .c-part1__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    max-width: unset;
    max-height: unset;
  }
}
.c-part1__sticky {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 1000px;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}
@media only screen and (max-width: 1023px) {
  .c-part1__sticky {
    min-height: unset;
  }
}
.c-part1__thumb {
  position: fixed;
  top: 0;
  left: 0;
  width: var(--sticky-width);
  height: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-part1__thumb {
    position: relative;
    top: unset;
    left: unset;
    width: 100%;
    max-height: unset;
    margin-top: 32px;
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1__thumb {
    margin-top: 17px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-part1__thumb::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 44.4444444444%;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1__thumb::before {
    padding-top: 88.8888888889%;
  }
}
.c-part1__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}
@media only screen and (max-width: 1023px) {
  .c-part1__thumb img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.c-part1__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 80px 0;
}
@media only screen and (max-width: 1023px) {
  .c-part1__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    padding: 0;
  }
}
.c-part1__rightinner {
  width: 100%;
  max-width: 560px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .c-part1__rightinner {
    max-width: unset;
    margin-right: 0;
  }
}
.c-part1__group {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .c-part1__group {
    max-width: unset;
    padding: 0;
  }
}
.c-part1__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 12px;
}
@media only screen and (max-width: 1023px) {
  .c-part1__heading {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 0;
  }
}
.c-part1__title {
  color: #494a4d;
  font-size: 3.1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  text-align: center;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  text-orientation: upright;
  white-space: nowrap;
}
@media only screen and (max-width: 1023px) {
  .c-part1__title {
    line-height: 1.95;
    letter-spacing: 0.05em;
    -webkit-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
    text-orientation: unset;
    white-space: normal;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1__title {
    font-size: 2.4rem;
  }
}
.c-part1__content {
  margin-top: 121px;
}
@media only screen and (max-width: 1023px) {
  .c-part1__content {
    margin-top: 20px;
  }
}
.c-part2__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-part2__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 38.0952380952%;
}
@media only screen and (max-width: 1023px) {
  .c-part2__thumb::before {
    padding-top: 44.4444444444%;
  }
}
@media only screen and (max-width: 767px) {
  .c-part2__thumb::before {
    padding-top: 88.8888888889%;
  }
}
.c-part2__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-part2__main {
  margin-top: 18px;
}
@media only screen and (max-width: 767px) {
  .c-part2__main {
    margin-top: 19px;
  }
}
.c-part2__title {
  color: #494a4d;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .c-part2__title {
    font-size: 2.2rem;
  }
}
.c-part2__content {
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .c-part2__content {
    margin-top: 14px;
  }
}
.c-part3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-part3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.c-part3__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 61.9047619048%;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-part3__left {
    width: 55.5555555556%;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__left {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 19px;
    padding-right: 0;
  }
}
.c-part3__title {
  margin-top: -6px;
  color: #494a4d;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1023px) {
  .c-part3__title {
    margin-top: -4px;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__title {
    margin-top: 0;
    font-size: 2.2rem;
  }
}
.c-part3__content {
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .c-part3__content {
    margin-top: 14px;
  }
}
.c-part3__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 38.0952380952%;
  max-width: 320px;
}
@media only screen and (max-width: 1023px) {
  .c-part3__right {
    width: 44.4444444444%;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__right {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    max-width: unset;
  }
}
.c-part3__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-part3__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75%;
}
@media only screen and (max-width: 767px) {
  .c-part3__thumb::before {
    padding-top: 75%;
  }
}
.c-part3__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-part4 {
  position: relative;
  width: 100%;
  border-bottom: 1px solid #d6dce6;
}
.c-part4:first-child {
  border-top: 1px solid #d6dce6;
}
.c-part4__heading {
  position: relative;
  width: 100%;
  padding: 40px 0 39px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-part4__heading {
    padding: 20px 0 19px;
  }
}
.c-part4__heading--open {
  padding-right: 56px;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-part4__heading--open::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 20px;
  height: 1px;
  background-color: #363940;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-part4__heading--open::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  width: 20px;
  height: 1px;
  background-color: #363940;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-part4__heading--open.is-open::after {
  -webkit-transform: translateY(-50%) rotate(0deg);
  transform: translateY(-50%) rotate(0deg);
}
.c-part4__title {
  color: #494a4d;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-part4__content {
  display: none;
  position: relative;
  width: 100%;
}
.c-part4__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 24px 0 80px;
}
@media only screen and (max-width: 767px) {
  .c-part4__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 0 40px;
  }
}
.c-part4__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 61.9047619048%;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-part4__left {
    width: 55.5555555556%;
  }
}
@media only screen and (max-width: 767px) {
  .c-part4__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.c-part4__left .c-phone1 {
  margin-top: 20px;
}
.c-part4__text {
  margin-top: -4px;
}
@media only screen and (max-width: 767px) {
  .c-part4__text {
    margin-top: 0;
  }
}
.c-part4__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 38.0952380952%;
  max-width: 320px;
}
@media only screen and (max-width: 1023px) {
  .c-part4__right {
    width: 44.4444444444%;
  }
}
@media only screen and (max-width: 767px) {
  .c-part4__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 41px;
    max-width: unset;
  }
}
.c-part4__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-part4__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75%;
}
@media only screen and (max-width: 767px) {
  .c-part4__thumb::before {
    padding-top: 75%;
  }
}
.c-part4__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
/*------------------------------------------------------------
    Phone
------------------------------------------------------------*/
.c-phone1__item + .c-phone1__item {
  margin-top: 16px;
}
.c-phone1__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-phone1__btn--reverse .c-phone1__icon {
  background-color: #f7f8fa;
}
.c-phone1__btn--reverse .c-phone1__box {
  padding: 11px 0 12px;
  border-bottom: none;
}
@media only screen and (max-width: 767px) {
  .c-phone1__btn--reverse .c-phone1__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 17px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-phone1__btn--reverse .c-phone1__tel {
    margin-right: 0;
  }
}
.c-phone1__btn--reverse2 {
  height: 100%;
  padding: 11px 28px 11px 15px;
  background-color: transparent;
  border: 1px solid #d6dce6;
}
@media only screen and (max-width: 374px) {
  .c-phone1__btn--reverse2 {
    padding: 11px;
  }
}
.c-phone1__btn--reverse2 .c-phone1__content {
  -webkit-box-flex: unset;
  -ms-flex-positive: unset;
  flex-grow: unset;
  width: auto;
}
.c-phone1__btn--reverse2 .c-phone1__box {
  padding: 11px 0 12px;
  border-bottom: none;
}
.c-phone1__btn--reverse2 .c-phone1__tel {
  margin-right: 0;
}
.c-phone1__btn--reverse2 .c-phone1__box {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 13px 0 0;
}
.c-phone1__btn--reverse2 .c-phone1__time {
  width: 100%;
  margin: 13px 0 0;
  text-align: center;
}
.c-phone1__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  padding: 8px;
  background-color: #fff;
  border-radius: 50%;
}
.c-phone1__icon img {
  width: 36px;
}
.c-phone1__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 64px);
  padding-left: 12px;
}
.c-phone1__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 11px 22px 11px 0;
  border-bottom: 1px solid #d6dce6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-phone1__box::after {
  content: "\e903";
  display: inline-block;
  position: absolute;
  top: 22px;
  right: 0;
  color: #92a0bb;
  font-family: "icomoon";
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
}
.c-phone1__box--simple {
  padding-right: 0;
}
.c-phone1__box--simple::after {
  content: none;
}
.c-phone1__title {
  color: #494a4d;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
}
.c-phone1__tel {
  margin-top: -5px;
  margin-right: 6px;
  color: #494a4d;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media only screen and (max-width: 374px) {
  .c-phone1__tel {
    font-size: 2rem;
    margin-right: 0;
  }
}
.c-phone1__tel small {
  display: inline-block;
  margin-right: 5px;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 374px) {
  .c-phone1__tel small {
    font-size: 1.3rem;
  }
}
.c-phone1__time {
  margin: 6px 0 4px;
  color: #363940;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
/*------------------------------------------------------------
    Point
------------------------------------------------------------*/
.c-point1 {
  position: relative;
  padding-left: 19px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-point1::before {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  left: 4px;
  width: 8px;
  height: 8px;
  background-color: #363940;
}
/*------------------------------------------------------------
    Select
------------------------------------------------------------*/
.c-select1 {
  display: block;
  position: relative;
  width: 100%;
  max-width: 268px;
}
.c-select1::after {
  content: "\e903";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
  color: #92a0bb;
  font-family: "icomoon";
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}
.c-select1 select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 56px;
  padding: 12px 33px 12px 11px;
  background-color: #f7f8fa;
  border: 1px solid #eff2f6;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #92a0bb;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-select1 select.is-selected {
  color: #363940;
}
.c-select1 select option {
  color: #363940;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-select2 {
  display: block;
  position: relative;
  width: 100%;
  max-width: 184px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  .c-select2:hover .c-select2__content {
    opacity: 1;
    visibility: visible;
    pointer-events: unset;
  }
}
@media only screen and (max-width: 1023px) {
  .c-select2.is-show .c-select2__content {
    opacity: 1;
    visibility: visible;
    pointer-events: unset;
  }
}
.c-select2__heading {
  display: block;
  position: relative;
  width: 100%;
  height: 41px;
  padding: 7px 18px 6px 0;
  background-color: transparent;
  border-bottom: 1px solid #363940;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-select2__heading::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4px;
  -webkit-transform: translateY(calc(-50% + 1px));
  transform: translateY(calc(-50% + 1px));
  width: 7px;
  height: 7px;
  background-color: #363940;
  pointer-events: none;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.c-select2__title {
  display: block;
  max-width: 100%;
  color: #494a4d;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-select2__content {
  position: absolute;
  top: 41px;
  left: 0;
  width: 100%;
  max-height: 500px;
  background-color: #0d0d0d;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow-y: auto;
  z-index: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  .c-select2__content::-webkit-scrollbar-track {
    background-color: #1f1f1f;
  }
  .c-select2__content::-webkit-scrollbar {
    width: 4px;
    background-color: #1f1f1f;
  }
  .c-select2__content::-webkit-scrollbar-thumb {
    background-color: #363940;
  }
}
.c-select2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  width: 100%;
  padding: 9px 24px 11px;
}
.c-select2__list + .c-select2__list {
  border-top: 1px solid #363940;
}
.c-select2__item {
  width: 100%;
}
.c-select2__link {
  display: block;
  width: 100%;
  padding: 4px 0 3px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-select3 {
  display: block;
  position: relative;
  width: 100%;
  max-width: 184px;
}
.c-select3::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 7px;
  height: 7px;
  background-color: #363940;
  pointer-events: none;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.c-select3 select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 41px;
  padding: 10px 18px 9px 0;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #363940;
  border-radius: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #494a4d;
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.02em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-select3 select.is-selected {
  color: #494a4d;
}
.c-select3 select option {
  background-color: #0d0d0d;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-weight: 400;
  color: #fff;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
/*------------------------------------------------------------
    Single
------------------------------------------------------------*/
.c-single1__title {
  margin-top: -6px;
  color: #494a4d;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .c-single1__title {
    font-size: 2.2rem;
  }
}
.c-single1__subtitle {
  margin-top: 12px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-single1__subtitle {
    margin-top: 14px;
  }
}
.c-single1__body {
  margin-top: 32px;
}
@media only screen and (max-width: 767px) {
  .c-single1__body {
    margin-top: 18px;
  }
}
.c-single1__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin: 0 -20px -40px;
}
@media only screen and (max-width: 767px) {
  .c-single1__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
  }
}
.c-single1__item {
  position: absolute;
  width: calc(50% - 40px);
  margin: 0 20px 40px;
}
@media only screen and (max-width: 767px) {
  .c-single1__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-single1__item + .c-single1__item {
    margin-top: 24px;
  }
}
.c-single1__item--full {
  width: calc(100% - 40px);
}
@media only screen and (max-width: 767px) {
  .c-single1__item--full {
    width: 100%;
  }
}
.c-single1__thumb {
  position: relative;
  width: 100%;
}
.c-single1__thumb img {
  width: 100%;
}
.c-single1__footer {
  position: relative;
  width: 100%;
  margin-top: 80px;
  padding-top: 61px;
  border-top: 1px solid #d6dce6;
}
@media only screen and (max-width: 767px) {
  .c-single1__footer {
    margin-top: 40px;
    padding-top: 37px;
  }
}
.c-single1__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-single2__basis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.c-single2__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 6px 2px 6px 0;
}
.c-single2__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
.c-single2__location {
  color: #363940;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-single2__title {
  margin-top: 13px;
  color: #363940;
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-single2__title {
    font-size: 2.4rem;
  }
}
.c-single2__block01 {
  margin-top: 21px;
}
.c-single2__price {
  display: block;
  margin-top: 5px;
  color: #363940;
  font-size: 5.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-single2__price {
    margin-top: 4px;
  }
}
.c-single2__price small {
  display: inline-block;
  -webkit-transform: translateY(-3px);
  transform: translateY(-3px);
  margin-left: 3px;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
.c-single2__block02 {
  position: relative;
  width: 100%;
  margin-top: 29px;
  padding: 12px 0 11px;
  border-top: 1px solid #d6dce6;
  border-bottom: 1px solid #d6dce6;
}
.c-single2__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-single2__infoitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-single2__infoitem span:nth-child(1) {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 84px;
  padding-right: 8px;
}
.c-single2__infoitem span:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 84px);
}
.c-single2__infoitem + .c-single2__infoitem {
  margin-top: 4px;
}
.c-single2__block03 {
  position: relative;
  width: 100%;
  margin-top: 12px;
}
.c-single2__footer {
  position: relative;
  width: 100%;
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .c-single2__footer {
    margin-top: 21px;
  }
}
.c-single2__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-single3__title {
  margin-top: -6px;
  color: #494a4d;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .c-single3__title {
    font-size: 2.2rem;
  }
}
.c-single3__datetime {
  display: block;
  margin-top: 9px;
  color: #808080;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.25;
}
@media only screen and (max-width: 767px) {
  .c-single3__datetime {
    margin-top: 3px;
  }
}
.c-single3__content {
  margin-top: 61px;
}
@media only screen and (max-width: 1023px) {
  .c-single3__content {
    margin-top: 37px;
  }
}
.c-single3__content .c-single1__list {
  margin-top: 60px;
}
@media only screen and (max-width: 1023px) {
  .c-single3__content .c-single1__list {
    margin-top: 36px;
  }
}
.c-single3__footer {
  position: relative;
  width: 100%;
  margin-top: 80px;
  padding-top: 61px;
  border-top: 1px solid #d6dce6;
}
@media only screen and (max-width: 767px) {
  .c-single3__footer {
    margin-top: 40px;
    padding-top: 37px;
  }
}
.c-single3__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
/*------------------------------------------------------------
    Slider
------------------------------------------------------------*/
.c-slider1__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-slider1__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 56px;
  height: 56px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-slider1__btn::before {
  content: "\e903";
  display: inline-block;
  color: #363940;
  font-family: "icomoon";
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  .c-slider1__btn:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #363940;
  }
  .c-slider1__btn:hover::before {
    color: #fff;
  }
}
.c-slider1__btn + .c-slider1__btn {
  margin-left: 8px;
}
.c-slider1__btn--prev::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
@media only screen and (max-width: 1023px) {
  .c-slider2__slider {
    margin: 0 -40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-slider2__slider {
    margin: 0 -20px;
    padding: 0 20px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-slider2__slide {
    width: 392px;
  }
}
.c-slider2__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-slider2__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75%;
}
.c-slider2__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
@media only screen and (max-width: 1023px) {
  .c-slider2__thumb--single {
    max-width: 392px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-slider2__thumb--single {
    max-width: unset;
  }
}
.c-slider2__pagi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100% !important;
  margin-top: 16px;
  z-index: 1;
}
.c-slider2__dot {
  display: block;
  width: 16px;
  height: 16px;
  margin: 0 4px;
  background-color: #333;
  opacity: 0.5;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  .c-slider2__dot:hover {
    opacity: 1;
  }
}
.c-slider2__dot.is-active {
  pointer-events: none;
  opacity: 1;
}
/*------------------------------------------------------------
    Step
------------------------------------------------------------*/
.c-step1 {
  position: relative;
  width: 100%;
  padding: 40px 0 39px;
  border-top: 1px solid #d6dce6;
  border-bottom: 1px solid #d6dce6;
}
@media only screen and (max-width: 767px) {
  .c-step1 {
    padding: 40px 0 30px;
  }
}
.c-step1__item + .c-step1__item {
  margin-top: 31px;
}
@media only screen and (max-width: 767px) {
  .c-step1__item + .c-step1__item {
    margin-top: 22px;
  }
}
.c-step1__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.c-step1__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 86px;
  padding-right: 16px;
}
@media only screen and (max-width: 767px) {
  .c-step1__left {
    width: 74px;
    padding-right: 8px;
  }
}
.c-step1__left::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: calc(100% - 9px);
  background-color: #e9ecf2;
}
@media only screen and (max-width: 767px) {
  .c-step1__left::after {
    height: calc(100% - 4px);
  }
}
.c-step1__number {
  display: block;
  -webkit-transform: translateY(-9px);
  transform: translateY(-9px);
  width: 64px;
  color: #d6dce6;
  font-size: 6.5rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-align: center;
}
.c-step1__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 86px);
  padding-left: 40px;
}
@media only screen and (max-width: 767px) {
  .c-step1__right {
    width: calc(100% - 74px);
    padding-left: 24px;
  }
}
.c-step1__title {
  color: #363940;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
}
.c-step1__description {
  margin-top: 3px;
}
/*------------------------------------------------------------
    Table
------------------------------------------------------------*/
.c-table1 {
  width: 100%;
  border-collapse: collapse;
}
.c-table1__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  vertical-align: top;
  width: 100%;
  padding: 36px 0;
  border-bottom: 1px solid #d6dce6;
}
@media only screen and (max-width: 767px) {
  .c-table1__row {
    padding: 16px 0;
  }
}
.c-table1__row:first-child {
  border-top: 1px solid #d6dce6;
}
.c-table1__field {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 88px;
  padding-right: 20px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: -0.02em;
  text-align: left;
}
.c-table1__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 88px);
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: -0.02em;
}
.c-table2 {
  width: 100%;
  border: 1px solid #d7dce5;
  border-collapse: collapse;
}
.c-table2--style1 .c-table2__field {
  width: 45.0536352801%;
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__field {
    width: 100%;
  }
}
.c-table2--style1 .c-table2__content {
  width: 54.9463647199%;
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__content {
    width: 100%;
  }
}
.c-table2--style2 .c-table2__field {
  width: 20.1430274136%;
}
@media only screen and (max-width: 767px) {
  .c-table2--style2 .c-table2__field {
    width: 100%;
  }
}
.c-table2--style2 .c-table2__content {
  width: 79.8569725864%;
}
@media only screen and (max-width: 767px) {
  .c-table2--style2 .c-table2__content {
    width: 100%;
  }
}
.c-table2__row {
  vertical-align: middle;
  width: 100%;
  min-height: 50px;
  border-bottom: 1px solid #d7dce5;
}
@media only screen and (max-width: 767px) {
  .c-table2__row {
    display: block;
    border-bottom: none;
  }
}
.c-table2__row:last-child {
  border-bottom: none;
}
.c-table2__field {
  padding: 14px 11px 12px;
  background-color: #f0f2f6;
  width: 15.137067938%;
  color: #4c5050;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .c-table2__field {
    display: block;
    width: 100%;
    padding: 4px 12px 5px;
  }
}
.c-table2__field:nth-of-type(2) {
  border-left: 1px solid #d7dce5;
}
@media only screen and (max-width: 767px) {
  .c-table2__field:nth-of-type(2) {
    border-left: none;
  }
}
.c-table2__content {
  width: 29.9165673421%;
  padding: 14px 11px 12px;
  border-left: 1px solid #d7dce5;
  background-color: #fff;
  color: #4c5050;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .c-table2__content {
    display: block;
    width: 100%;
    padding: 12px 12px 11px;
    border-left: none;
  }
}
.c-table2__content:nth-of-type(2) {
  width: 39.8092967819%;
}
@media only screen and (max-width: 767px) {
  .c-table2__content:nth-of-type(2) {
    width: 100%;
  }
}
.c-table2__content--3col {
  width: 84.862932062%;
}
@media only screen and (max-width: 767px) {
  .c-table2__content--3col {
    width: 100%;
  }
}
.c-table3 {
  width: 100%;
  border-collapse: collapse;
}
.c-table3__row {
  vertical-align: middle;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
  text-align: center;
}
.c-table3__row td {
  padding: 15px 19px;
  background-color: #fff;
  border: 1px solid #f1f1f1;
}
.c-table3__head .c-table3__row th {
  padding: 10px 16px;
  background-color: #e8f5e9;
  border: 1px solid #fff;
  border-top-color: #f1f1f1;
  font-weight: 400;
}
.c-table3__head .c-table3__row th:first-child {
  border-left-color: #f1f1f1;
}
.c-table3__head .c-table3__row th:last-child {
  border-right-color: #f1f1f1;
}
.c-table3__body .c-table3__row th,
.c-table3__body .c-table3__row td {
  padding: 15px 19px;
  background-color: #fff;
  border: 1px solid #f1f1f1;
  font-weight: 400;
}
/*------------------------------------------------------------
    Tag
------------------------------------------------------------*/
.c-tag1 {
  display: inline-block;
  max-width: 100%;
  padding: 1px 7px 2px;
  background-color: transparent;
  border: 1px solid #333;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #363940;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-tag2 {
  display: inline-block;
  max-width: 100%;
  padding: 3px 9px 3px 8px;
  background-color: var(--color);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.167;
  letter-spacing: -0.02em;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-tag2--big {
  padding: 3px 8px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
}
.c-tag2--blue {
  background-color: #3f61a6;
}
.c-tag2--green {
  background-color: #007b80;
}
/*------------------------------------------------------------
    Text
------------------------------------------------------------*/
.c-text1 {
  color: #363940;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-text1--style1 {
  line-height: 2.5;
}
.c-text1--style2 {
  line-height: 2;
}
/*------------------------------------------------------------
    Thumbnail
------------------------------------------------------------*/
.c-thumb--round {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-thumb--round::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-thumb--round img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
/*------------------------------------------------------------
    Title
------------------------------------------------------------*/
.c-title1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 40px;
}
.c-title1__en {
  color: #494a4d;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
.c-title1__ja {
  margin-top: 18px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  text-orientation: upright;
  white-space: nowrap;
}
.c-title2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 80px;
  padding: 20px 12px 9px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 3.1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.25em;
  text-align: center;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  text-orientation: upright;
  white-space: nowrap;
}
@media only screen and (max-width: 1023px) {
  .c-title2 {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
    background-color: transparent;
    color: #494a4d;
    line-height: 1.95;
    letter-spacing: 0.25em;
    text-align: left;
    -webkit-writing-mode: unset;
    -ms-writing-mode: unset;
    writing-mode: unset;
    text-orientation: unset;
    white-space: normal;
  }
}
@media only screen and (max-width: 767px) {
  .c-title2 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 1023px) {
  .c-title2--style1 {
    letter-spacing: 0.05em;
  }
}
.c-title2--style2 {
  padding: 12px;
}
@media only screen and (max-width: 1023px) {
  .c-title2--style2 {
    padding: 0;
    letter-spacing: 0.05em;
  }
}
.c-title3 {
  color: #494a4d;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .c-title3 {
    font-size: 2.2rem;
  }
}
.c-title3__sub {
  color: #494a4d;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
}
.c-title4 {
  display: block;
  width: 100%;
  padding: 4px 8px 3px;
  background-color: #333;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.533;
  letter-spacing: -0.02em;
}
.c-title5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  min-height: 68px;
  padding-bottom: 16px;
  border-bottom: 1px solid #d6dce6;
  color: #494a4d;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .c-title5 {
    min-height: 54px;
    padding-bottom: 10px;
    font-size: 2.2rem;
  }
}
.c-title5::before {
  content: "";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Project .p-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    CSS of Top page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of News section
------------------------------------------------------------*/
.top-news {
  position: relative;
  padding: 360px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .top-news {
    padding: 66px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-news {
    padding: 128px 0 0;
  }
}
.top-news__top {
  position: relative;
  padding: 96px 0;
}
@media only screen and (max-width: 767px) {
  .top-news__top {
    padding: 64px 0;
  }
}
.top-news__top::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - max(0px, (100% - 1160px) / 2) - 140px);
  height: 100%;
  background-color: #fff;
}
@media only screen and (max-width: 1023px) {
  .top-news__top::after {
    width: calc(100% - 60px);
  }
}
@media only screen and (max-width: 767px) {
  .top-news__top::after {
    width: calc(100% - 20px);
  }
}
.top-news__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}
.top-news__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 18.75%;
  padding: 0 40px;
}
@media only screen and (max-width: 1023px) {
  .top-news__left {
    width: 120px;
    padding: 0 24px;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__left {
    width: 80px;
    padding: 0 20px;
  }
}
.top-news__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.top-news__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 81.25%;
  padding-right: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-news__right {
    width: calc(100% - 120px);
    padding-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__right {
    width: calc(100% - 80px);
  }
}
.top-news__rightinner {
  width: 100%;
  max-width: 920px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-news__rightinner {
    max-width: unset;
    margin-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__slider {
    padding-right: 40px;
  }
}
.top-news__slider .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: calc(100% + 40px);
  margin: 0 -20px;
}
@media only screen and (max-width: 1023px) {
  .top-news__slider .swiper-wrapper {
    width: 100%;
    margin: 0;
  }
}
.top-news__slide {
  width: calc(33.3333333333% - 40px);
  height: auto;
  margin: 0 20px;
}
@media only screen and (max-width: 1023px) {
  .top-news__slide {
    width: 280px;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__slide {
    width: auto;
  }
}
@media only screen and (max-width: 1023px) {
  .top-news__content {
    padding-right: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__content {
    padding-right: 40px;
  }
}
.top-news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 1023px) {
  .top-news__list {
    padding-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.top-news__item {
  width: 280px;
}
@media only screen and (max-width: 767px) {
  .top-news__item {
    width: 100%;
  }
}
.top-news__bottom {
  margin-top: 40px;
}
.top-news__footwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-right: 80px;
}
@media only screen and (max-width: 1023px) {
  .top-news__footwrap {
    padding: 0 60px;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__footwrap {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 374px) {
  .top-news__footwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.top-news__footleft {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.top-news__footright {
  margin-left: auto;
  padding-left: 24px;
}
@media only screen and (max-width: 767px) {
  .top-news__footright {
    padding-left: 10px;
  }
}
@media only screen and (max-width: 374px) {
  .top-news__footright {
    margin-left: 0;
    margin-top: 20px;
    padding-left: 0;
  }
}
.top-news__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
/*------------------------------------------------------------
    CSS of About section
------------------------------------------------------------*/
.top-about {
  position: relative;
  padding: 196px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .top-about {
    padding: 123px 0 0;
  }
}
.top-about__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .top-about__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 20px;
  }
}
.top-about__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 40.625%;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .top-about__left {
    width: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    padding: 0;
  }
}
.top-about__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 4px;
}
@media only screen and (max-width: 767px) {
  .top-about__heading {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-top: 0;
  }
}
.top-about__title {
  color: #494a4d;
  font-size: 3.7rem;
  font-weight: 500;
  line-height: 1.95;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 1023px) {
  .top-about__title {
    font-size: 3.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__title {
    font-size: 2.4rem;
  }
}
.top-about__titleimg img {
  width: 179px;
}
@media only screen and (max-width: 1023px) {
  .top-about__titleimg img {
    width: 150px;
  }
}
.top-about__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 59.375%;
  padding-right: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-about__right {
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  .top-about__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 26px;
    padding-right: 0;
  }
}
.top-about__rightinner {
  width: 100%;
  max-width: 640px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-about__rightinner {
    max-width: unset;
    margin-right: 0;
  }
}
.top-about__content p + p {
  margin-top: 38px;
}
/*------------------------------------------------------------
    CSS of Approach section
------------------------------------------------------------*/
.top-approach {
  position: relative;
  padding: 200px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .top-approach {
    padding: 192px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach {
    padding: 120px 0 0;
  }
}
.top-approach__inner1 {
  margin-right: max(0px, (100% - 1280px) / 2);
}
@media only screen and (max-width: 1023px) {
  .top-approach__inner1 {
    margin-right: 0;
  }
}
.top-approach__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.top-approach__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 59.375%;
}
@media only screen and (max-width: 1023px) {
  .top-approach__left {
    width: calc(100% - 120px);
    padding-right: 4px;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach__left {
    width: calc(100% - 80px);
    padding-right: 0;
  }
}
.top-approach__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 120px -4px 0;
}
@media only screen and (max-width: 1023px) {
  .top-approach__list {
    margin: 0 -4px;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.top-approach__item {
  width: calc(33.3333333333% - 8px);
  margin: 0 4px;
}
@media only screen and (max-width: 767px) {
  .top-approach__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach__item + .top-approach__item {
    margin-top: 8px;
  }
}
.top-approach__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 40.625%;
  max-width: 520px;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .top-approach__right {
    width: 120px;
    max-width: unset;
    padding: 0 24px;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach__right {
    width: 80px;
  }
}
.top-approach__thumbsub {
  max-width: 240px;
}
@media only screen and (max-width: 1023px) {
  .top-approach__thumbsub {
    max-width: unset;
  }
}
.top-approach__heading {
  margin-top: 56px;
}
@media only screen and (max-width: 1023px) {
  .top-approach__heading {
    margin-top: 0;
  }
}
.top-approach__bottom {
  margin-top: 128px;
}
@media only screen and (max-width: 1023px) {
  .top-approach__bottom {
    margin-top: 56px;
  }
}
.top-approach__iconlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -20px -32px;
}
@media only screen and (max-width: 1023px) {
  .top-approach__iconlist {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 -10px -24px;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach__iconlist {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0;
  }
}
.top-approach__iconitem {
  width: calc(50% - 40px);
  margin: 0 20px 32px;
}
@media only screen and (max-width: 1023px) {
  .top-approach__iconitem {
    width: calc(50% - 20px);
    margin: 0 10px 24px;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach__iconitem {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-approach__iconitem + .top-approach__iconitem {
    margin-top: 20px;
  }
}
/*------------------------------------------------------------
    CSS of Works section
------------------------------------------------------------*/
.top-works {
  position: relative;
  padding: 200px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .top-works {
    padding: 128px 0 0;
  }
}
.top-works__inner {
  margin-left: max(0px, (100% - 1280px) / 2);
}
@media only screen and (max-width: 1023px) {
  .top-works__inner {
    margin-left: 0;
  }
}
.top-works__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.top-works__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 18.75%;
  max-width: 240px;
  padding: 0 40px;
}
@media only screen and (max-width: 1023px) {
  .top-works__left {
    width: 120px;
    max-width: unset;
    padding: 0 24px;
  }
}
@media only screen and (max-width: 767px) {
  .top-works__left {
    width: 80px;
    padding: 0 20px;
  }
}
.top-works__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.top-works__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 81.25%;
}
@media only screen and (max-width: 1023px) {
  .top-works__right {
    width: calc(100% - 120px);
  }
}
@media only screen and (max-width: 767px) {
  .top-works__right {
    width: calc(100% - 80px);
  }
}
.top-works__rightinner {
  width: 100%;
  max-width: 920px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-works__rightinner {
    max-width: unset;
    margin-right: 0;
  }
}
.top-works__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 767px) {
  .top-works__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-right: 40px;
  }
}
.top-works__item {
  width: 280px;
}
@media only screen and (max-width: 767px) {
  .top-works__item {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .top-works__slider {
    padding-right: 40px;
  }
}
.top-works__slider .swiper-wrapper {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.top-works__slide {
  width: 280px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .top-works__slide {
    width: auto;
  }
}
.top-works__bottom {
  margin-top: 64px;
}
.top-works__bottom .top-works__right {
  padding-right: 60px;
}
@media only screen and (max-width: 767px) {
  .top-works__bottom .top-works__right {
    padding-right: 20px;
  }
}
.top-works__footwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 374px) {
  .top-works__footwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.top-works__footleft {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.top-works__footright {
  margin-left: auto;
  padding-left: 24px;
}
@media only screen and (max-width: 767px) {
  .top-works__footright {
    padding-left: 10px;
  }
}
@media only screen and (max-width: 374px) {
  .top-works__footright {
    margin-left: 0;
    margin-top: 20px;
    padding-left: 0;
  }
}
.top-works__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
/*------------------------------------------------------------
    CSS of Company section
------------------------------------------------------------*/
.top-company {
  position: relative;
  padding: 200px 0;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .top-company {
    padding: 128px 0;
  }
}
.top-company__inner {
  margin-right: max(0px, (100% - 1280px) / 2);
}
@media only screen and (max-width: 1023px) {
  .top-company__inner {
    margin-right: 0;
  }
}
.top-company__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .top-company__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.top-company__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 25%;
  min-width: 320px;
  margin-top: 169px;
}
@media only screen and (max-width: 1023px) {
  .top-company__left {
    width: 40%;
    min-width: unset;
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
  }
}
.top-company__thumbmain {
  position: relative;
  width: 100%;
  height: 560px;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .top-company__thumbmain {
    height: auto;
    max-height: 560px;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__thumbmain {
    max-height: unset;
  }
}
@media only screen and (max-width: 1023px) {
  .top-company__thumbmain::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 175%;
  }
}
.top-company__thumbmain img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center 10%;
  object-position: center 10%;
}
@media only screen and (max-width: 1023px) {
  .top-company__thumbmain img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.top-company__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 75%;
  max-width: 960px;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .top-company__right {
    width: 60%;
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding: 0 40px;
  }
}
.top-company__rightinner {
  width: 100%;
  max-width: 960px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-company__rightinner {
    max-width: unset;
    margin-right: 0;
  }
}
.top-company__groupwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 1023px) {
  .top-company__groupwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.top-company__groupleft {
  width: 69.0476190476%;
  margin-top: 80px;
  padding-right: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-company__groupleft {
    width: 100%;
    margin-top: 0;
    padding-right: 0;
  }
}
.top-company__groupleftinner {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .top-company__groupleftinner {
    max-width: unset;
  }
}
.top-company__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.top-company__titleimg img {
  width: 64px;
}
.top-company__description {
  margin-top: 77px;
}
@media only screen and (max-width: 767px) {
  .top-company__description {
    margin-top: 76px;
  }
}
.top-company__listnav {
  margin-top: 66px;
}
.top-company__groupright {
  width: 30.9523809524%;
}
@media only screen and (max-width: 1023px) {
  .top-company__groupright {
    width: 100%;
    margin-top: 104px;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__groupright {
    margin-top: 56px;
  }
}
.top-company__thumbsub {
  max-width: 260px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .top-company__thumbsub {
    max-width: max(260px, 100% - 60px);
  }
}
/*------------------------------------------------------------
    CSS of Blog section
------------------------------------------------------------*/
.top-blog {
  position: relative;
  padding: 96px 0;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .top-blog {
    padding: 64px 0;
  }
}
.top-blog__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}
.top-blog__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 18.75%;
  padding: 0 40px;
}
@media only screen and (max-width: 1023px) {
  .top-blog__left {
    width: 120px;
    padding: 0 24px;
  }
}
@media only screen and (max-width: 767px) {
  .top-blog__left {
    width: 80px;
    padding: 0 20px;
  }
}
.top-blog__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.top-blog__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 81.25%;
  padding-right: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-blog__right {
    width: calc(100% - 120px);
    padding-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-blog__right {
    width: calc(100% - 80px);
  }
}
.top-blog__rightinner {
  width: 100%;
  max-width: 920px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-blog__rightinner {
    max-width: unset;
    margin-right: 0;
  }
}
.top-blog__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 1023px) {
  .top-blog__list {
    padding-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .top-blog__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.top-blog__item {
  width: 280px;
}
@media only screen and (max-width: 767px) {
  .top-blog__item {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .top-blog__slider {
    padding-right: 40px;
  }
}
.top-blog__slider .swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: calc(100% + 40px);
  margin: 0 -20px;
}
@media only screen and (max-width: 1023px) {
  .top-blog__slider .swiper-wrapper {
    width: 100%;
    margin: 0;
  }
}
.top-blog__slide {
  width: calc(33.3333333333% - 40px);
  height: auto;
  margin: 0 20px;
}
@media only screen and (max-width: 1023px) {
  .top-blog__slide {
    width: 280px;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-blog__slide {
    width: auto;
  }
}
@media only screen and (max-width: 1023px) {
  .top-blog__content {
    padding-right: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .top-blog__content {
    padding-right: 40px;
  }
}
.top-blog__footwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 64px;
}
@media only screen and (max-width: 1023px) {
  .top-blog__footwrap {
    padding-right: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .top-blog__footwrap {
    padding-right: 20px;
  }
}
@media only screen and (max-width: 374px) {
  .top-blog__footwrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.top-blog__footleft {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.top-blog__footright {
  margin-left: auto;
  padding-left: 24px;
}
@media only screen and (max-width: 767px) {
  .top-blog__footright {
    padding-left: 10px;
  }
}
@media only screen and (max-width: 374px) {
  .top-blog__footright {
    margin-left: 0;
    margin-top: 20px;
    padding-left: 0;
  }
}
.top-blog__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
/*------------------------------------------------------------
    CSS of Takumi page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Block section
------------------------------------------------------------*/
.takumi-block {
  position: relative;
  z-index: 1;
}
.takumi-block01 {
  margin-top: 364px;
}
@media only screen and (max-width: 1023px) {
  .takumi-block01 {
    margin-top: 0;
    padding: 81px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .takumi-block01 {
    padding: 71px 0 0;
  }
}
@media only screen and (max-width: 1023px) {
  .takumi-block02 {
    padding: 116px 0 124px;
  }
}
@media only screen and (max-width: 767px) {
  .takumi-block02 {
    padding: 87px 0 92px;
  }
}
/*------------------------------------------------------------
    CSS of Construction page
------------------------------------------------------------*/
.construction.is-main .construction-approach {
  margin-top: 64px;
  padding: 200px 0 0;
}
@media only screen and (max-width: 1023px) {
  .construction.is-main .construction-approach {
    margin-top: 0;
    padding: 82px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction.is-main .construction-approach {
    padding: 0;
  }
}
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Design section
------------------------------------------------------------*/
.construction-design {
  position: relative;
  padding: 140px 0 125px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .construction-design {
    padding: 117px 0 92px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-design {
    padding: 70px 0 60px;
  }
}
.construction-design__item + .construction-design__item {
  margin-top: 76px;
}
@media only screen and (max-width: 1023px) {
  .construction-design__item + .construction-design__item {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-design__item + .construction-design__item {
    margin-top: 36px;
  }
}
/*------------------------------------------------------------
    CSS of Instagram section
------------------------------------------------------------*/
.construction-instagram {
  position: relative;
  z-index: 1;
}
.construction-instagram__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.construction-instagram__item {
  width: 20%;
}
@media only screen and (max-width: 767px) {
  .construction-instagram__item {
    width: 50%;
  }
}
.construction-instagram__link {
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.construction-instagram__link::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.construction-instagram__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  z-index: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
}
.construction-instagram__link img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: transform 0.46s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.3s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 0.46s cubic-bezier(0.33, 1, 0.68, 1);
}
@media only screen and (min-width: 1023px) {
  .construction-instagram__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .construction-instagram__link:hover::after {
    opacity: 1;
  }
  .construction-instagram__link:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: scale(1.06) !important;
    transform: scale(1.06) !important;
  }
}
/*------------------------------------------------------------
    CSS of Performance section
------------------------------------------------------------*/
.construction-performance {
  position: relative;
  padding: 256px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .construction-performance {
    padding: 233px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-performance {
    padding: 3px 0 96px;
  }
}
.construction-performance__block01 .c-title3 {
  margin-top: -6px;
}
.construction-performance__block01 .c-text1 {
  margin-top: 13px;
}
@media only screen and (max-width: 1023px) {
  .construction-performance__block01 .c-text1 {
    margin-top: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-performance__block01 .c-text1 {
    margin-top: 14px;
  }
}
.construction-performance__block02 {
  margin-top: 36px;
}
@media only screen and (max-width: 767px) {
  .construction-performance__block02 {
    margin-top: 20px;
  }
}
.construction-performance__block02 .c-img1 {
  margin-top: 9px;
}
@media only screen and (max-width: 1023px) {
  .construction-performance__block02 .c-img1 {
    margin-top: 10px;
  }
}
.construction-performance__block02 .c-img1 img {
  width: 100%;
}
.construction-performance__block03 {
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .construction-performance__block03 {
    margin-top: 22px;
  }
}
.construction-performance__block04 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .construction-performance__block04 {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-performance__block04 {
    margin-top: 40px;
  }
}
.construction-performance__block04 .c-part3 + .c-part3 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .construction-performance__block04 .c-part3 + .c-part3 {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-performance__block04 .c-part3 + .c-part3 {
    margin-top: 36px;
  }
}
.construction-performance__block05 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .construction-performance__block05 {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-performance__block05 {
    margin-top: 40px;
  }
}
/*------------------------------------------------------------
    CSS of Process section
------------------------------------------------------------*/
.construction-process {
  position: relative;
  padding: 256px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .construction-process {
    padding: 233px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-process {
    padding: 3px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-process .c-part4:first-child {
    margin-top: -1px;
  }
}
/*------------------------------------------------------------
    CSS of Renovation section
------------------------------------------------------------*/
.construction-renovation {
  position: relative;
  margin-top: 164px;
  padding: 200px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .construction-renovation {
    margin-top: 0;
    padding: 81px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-renovation {
    padding: 118px 0 0;
  }
}
.construction-renovation__inner {
  margin-left: max(0px, (100% - 1160px) / 2);
  padding-left: 60px;
}
@media only screen and (max-width: 1023px) {
  .construction-renovation__inner {
    margin-left: 0;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-renovation__inner {
    padding: 0 20px;
  }
}
.construction-renovation__block01 .c-text1 {
  margin-top: -4px;
}
.construction-renovation__slider {
  margin: 36px 0 0;
}
@media only screen and (max-width: 1023px) {
  .construction-renovation__slider {
    margin: 36px -40px 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-renovation__slider {
    margin: 36px -20px 0;
  }
}
.construction-renovation__slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}
.construction-renovation__slide {
  width: 400px;
}
.construction-renovation__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.construction-renovation__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 75%;
}
.construction-renovation__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.construction-renovation__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-top: 40px;
  margin-right: clamp(-80px, 1360px - 100vw, 0px);
}
@media only screen and (max-width: 1023px) {
  .construction-renovation__btn {
    margin-right: 0;
  }
}
.construction-renovation__block02 {
  margin-top: 122px;
}
@media only screen and (max-width: 1023px) {
  .construction-renovation__block02 {
    margin-top: 58px;
  }
}
@media only screen and (max-width: 767px) {
  .construction-renovation__block02 {
    margin-top: 91px;
  }
}
.construction-renovation__block02 .construction-renovation__content {
  margin-top: 28px;
}
@media only screen and (max-width: 767px) {
  .construction-renovation__block02 .construction-renovation__content {
    margin-top: 30px;
  }
}
.construction-renovation__block02 .c-title3__sub {
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .construction-renovation__block02 .c-title3__sub {
    margin-top: 36px;
  }
}
.construction-renovation__block02 .c-box2 {
  margin-top: 15px;
}
.construction-renovation__content p + p {
  margin-top: 30px;
}
/*------------------------------------------------------------
    CSS of Old House section
------------------------------------------------------------*/
.construction-oldhouse {
  position: relative;
  padding: 200px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .construction-oldhouse {
    padding: 120px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-oldhouse {
    padding: 90px 0 0;
  }
}
.construction-oldhouse__bg {
  position: relative;
  width: 100%;
  height: 320px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .construction-oldhouse__bg {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .construction-oldhouse__bg::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 88.8888888889%;
  }
}
.construction-oldhouse__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
@media only screen and (max-width: 767px) {
  .construction-oldhouse__bg img {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.construction-oldhouse__main {
  margin-top: 18px;
}
@media only screen and (max-width: 767px) {
  .construction-oldhouse__main {
    margin-top: 19px;
  }
}
.construction-oldhouse__content {
  margin: 13px 0 -4px;
}
@media only screen and (max-width: 767px) {
  .construction-oldhouse__content {
    margin: 14px 0 -4px;
  }
}
/*------------------------------------------------------------
    CSS of Schedule section
------------------------------------------------------------*/
.construction-schedule {
  position: relative;
  padding: 200px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .construction-schedule {
    padding: 120px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-schedule {
    padding: 122px 0 96px;
  }
}
/*------------------------------------------------------------
    CSS of Approach section
------------------------------------------------------------*/
.construction-approach {
  position: relative;
  padding: 200px 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .construction-approach {
    padding: 128px 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-approach {
    padding: 0;
  }
}
.construction-approach__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -10px -24px;
}
@media only screen and (max-width: 767px) {
  .construction-approach__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0;
  }
}
.construction-approach__item {
  width: calc(50% - 20px);
  margin: 0 10px 24px;
}
@media only screen and (max-width: 767px) {
  .construction-approach__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .construction-approach__item + .construction-approach__item {
    margin-top: 20px;
  }
}
/*------------------------------------------------------------
    CSS of Works page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Archive section
------------------------------------------------------------*/
.works-archive {
  position: relative;
  padding: 256px 0 200px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .works-archive {
    padding: 233px 0 128px;
  }
}
@media only screen and (max-width: 767px) {
  .works-archive {
    padding: 3px 0 96px;
  }
}
.works-archive__filter {
  margin-right: -1px;
}
@media only screen and (max-width: 767px) {
  .works-archive__filter {
    margin-top: -1px;
  }
}
.works-archive__filter + .works-archive__body {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .works-archive__filter + .works-archive__body {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .works-archive__filter + .works-archive__body {
    margin-top: 40px;
  }
}
.works-archive__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-bottom: -60px;
}
@media only screen and (max-width: 1023px) {
  .works-archive__list {
    margin-bottom: -36px;
  }
}
@media only screen and (max-width: 767px) {
  .works-archive__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0;
  }
}
.works-archive__item {
  width: 50%;
  margin-bottom: 60px;
}
@media only screen and (max-width: 1023px) {
  .works-archive__item {
    margin-bottom: 36px;
  }
}
@media only screen and (max-width: 767px) {
  .works-archive__item {
    width: 100%;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .works-archive__item + .works-archive__item {
    margin-top: 24px;
  }
}
.works-archive__pagi {
  margin-top: 76px;
}
@media only screen and (max-width: 1023px) {
  .works-archive__pagi {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .works-archive__pagi {
    margin-top: 40px;
  }
}
/*------------------------------------------------------------
    CSS of Single section
------------------------------------------------------------*/
.works-single {
  position: relative;
  padding: 256px 0 200px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .works-single {
    padding: 233px 0 128px;
  }
}
@media only screen and (max-width: 767px) {
  .works-single {
    padding: 3px 0 96px;
  }
}
/*------------------------------------------------------------
    CSS of Company page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of History section
------------------------------------------------------------*/
.company-history {
  position: relative;
  margin-top: 164px;
  padding: 200px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .company-history {
    margin-top: 0;
    padding: 81px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .company-history {
    padding: 70px 0 0;
  }
}
.company-history__item + .company-history__item {
  margin-top: 76px;
}
@media only screen and (max-width: 1023px) {
  .company-history__item + .company-history__item {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .company-history__item + .company-history__item {
    margin-top: 36px;
  }
}
/*------------------------------------------------------------
    CSS of Outline section
------------------------------------------------------------*/
.company-outline {
  position: relative;
  padding: 197px 0 200px;
}
@media only screen and (max-width: 1023px) {
  .company-outline {
    padding: 117px 0 128px;
  }
}
@media only screen and (max-width: 767px) {
  .company-outline {
    padding: 87px 0 96px;
  }
}
.company-outline__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .company-outline__btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .company-outline__btn {
    margin-top: 40px;
  }
}
.company-outline__btn .c-btn3 {
  max-width: 430px;
}
/*------------------------------------------------------------
    CSS of Real Estate page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Archive section
------------------------------------------------------------*/
.estate-archive {
  position: relative;
  padding: 256px 0 200px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .estate-archive {
    padding: 233px 0 128px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-archive {
    padding: 3px 0 96px;
  }
}
.estate-archive__block01 .c-title3 {
  margin-top: -6px;
}
.estate-archive__block01 .c-text1 {
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .estate-archive__block01 .c-text1 {
    margin-top: 14px;
  }
}
.estate-archive__block01 .c-group2 {
  margin: 36px 1px 0 0;
}
@media only screen and (max-width: 1023px) {
  .estate-archive__block01 .c-group2 {
    margin: 36px 6px 0 7px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-archive__block01 .c-group2 {
    max-width: 329px;
    margin: 20px auto 0;
  }
}
.estate-archive__block02 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .estate-archive__block02 {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-archive__block02 {
    margin-top: 39px;
  }
}
.estate-archive__filter + .estate-archive__body {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .estate-archive__filter + .estate-archive__body {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-archive__filter + .estate-archive__body {
    margin-top: 40px;
  }
}
.estate-archive__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -2.85rem -64px;
}
@media only screen and (max-width: 1023px) {
  .estate-archive__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.estate-archive__item {
  width: calc(33.3333333333% - 57px);
  margin: 0 2.85rem 64px;
}
@media only screen and (max-width: 1023px) {
  .estate-archive__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .estate-archive__item + .estate-archive__item {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-archive__item + .estate-archive__item {
    margin-top: 22px;
  }
}
.estate-archive__pagi {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .estate-archive__pagi {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-archive__pagi {
    margin-top: 40px;
  }
}
/*------------------------------------------------------------
    CSS of Single section
------------------------------------------------------------*/
.estate-single {
  position: relative;
  padding: 256px 0 200px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .estate-single {
    padding: 233px 0 128px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-single {
    padding: 3px 0 74px;
  }
}
.estate-single__block01 {
  margin-top: 64px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__block01 {
    margin-top: 40px;
  }
}
.estate-single__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 -28px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.estate-single__left {
  width: calc(50% - 56px);
  margin: 0 28px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__left {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
    margin: 64px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .estate-single__left {
    margin: 40px 0 0;
  }
}
.estate-single__right {
  width: calc(50% - 56px);
  margin: 0 28px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__right {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 100%;
    margin: 0;
  }
}
.estate-single__block02 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__block02 {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-single__block02 {
    margin-top: 40px;
  }
}
.estate-single__block02 .estate-single__table {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .estate-single__block02 .estate-single__table {
    margin-top: 16px;
  }
}
.estate-single__block02 .estate-single__table .c-table2 + .c-table2 {
  margin-top: 25px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__block02 .estate-single__table .c-table2 + .c-table2 {
    margin-top: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-single__block02 .estate-single__table .c-table2 + .c-table2 {
    margin-top: 15px;
  }
}
.estate-single__block03 {
  margin-top: 81px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__block03 {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-single__block03 {
    margin-top: 40px;
  }
}
.estate-single__block03 .c-title4 + .estate-single__table {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .estate-single__block03 .c-title4 + .estate-single__table {
    margin-top: 16px;
  }
}
.estate-single__block03 .estate-single__table + .estate-single__map {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .estate-single__block03 .estate-single__table + .estate-single__map {
    margin-top: 16px;
  }
}
.estate-single__map {
  position: relative;
  width: 100%;
  height: 320px;
}
.estate-single__map img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.estate-single__map iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.estate-single__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .estate-single__btn {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .estate-single__btn {
    margin-top: 40px;
  }
}
.estate-single__btn .c-btn3 {
  max-width: 430px;
}
/*------------------------------------------------------------
    CSS of Form page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.form-main {
  position: relative;
  padding: 256px 0 200px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .form-main {
    padding: 233px 0 160px;
  }
}
@media only screen and (max-width: 767px) {
  .form-main {
    padding: 3px 0 96px;
  }
}
.form-main__block01 .c-title3 {
  margin-top: -6px;
}
.form-main__block01 .c-text1 {
  margin-top: 29px;
}
@media only screen and (max-width: 1023px) {
  .form-main__block01 .c-text1 {
    margin-top: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .form-main__block01 .c-text1 {
    margin-top: 14px;
  }
}
.form-main__block01 .c-box3 {
  margin-top: 36px;
}
@media only screen and (max-width: 767px) {
  .form-main__block01 .c-box3 {
    margin-top: 20px;
  }
}
.form-main__block02 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .form-main__block02 {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .form-main__block02 {
    margin-top: 40px;
  }
}
.form-main__block02 .c-box4 {
  margin-top: 15px;
}
.form-main__block03 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .form-main__block03 {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .form-main__block03 {
    margin-top: 40px;
  }
}
.form-main__block03 .c-box5 {
  margin-top: 15px;
}
.mw_wp_form .c-checkbox__group--vertical .vertical-item + .vertical-item {
  margin-top: 4px;
}
.mw_wp_form_confirm .c-box5__label {
  padding: 13px 20px 13px 0;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form_confirm .c-box5__label {
    padding: 0;
  }
}
.mw_wp_form_confirm .c-box5__field {
  padding: 13px 0;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form_confirm .c-box5__field {
    padding: 0;
  }
}
.mw_wp_form_confirm .c-checkbox__group,
.mw_wp_form_confirm .c-input,
.mw_wp_form_confirm .c-select1 {
  min-height: 30px;
  color: #363940;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: -0.02em;
}
.mw_wp_form_confirm .c-select1 {
  max-width: unset;
}
.mw_wp_form_confirm .c-select1::after {
  content: none;
}
.mw_wp_form_confirm .c-input__zip {
  display: contents;
}
.mw_wp_form_confirm .c-input__zip::before {
  content: "〒";
}
.mw_wp_form_confirm .c-box5__field--email .c-input__list {
  display: none;
}
.mw_wp_form_confirm .c-box5__accept .c-checkbox__group {
  margin-top: 0;
  font-weight: 400;
}
.grecaptcha-badge {
  z-index: 2;
}
@media only screen and (min-width: 1024px) {
  .grecaptcha-badge {
    right: -26px !important;
  }
}
/*------------------------------------------------------------
    CSS of Privacy page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Policy section
------------------------------------------------------------*/
.privacy-policy {
  position: relative;
  padding: 256px 0 160px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .privacy-policy {
    padding: 233px 0 160px;
  }
}
@media only screen and (max-width: 767px) {
  .privacy-policy {
    padding: 3px 0 96px;
  }
}
.privacy-policy__headline {
  margin-top: -4px;
}
@media only screen and (max-width: 767px) {
  .privacy-policy__headline {
    margin-top: -5px;
  }
}
.privacy-policy__main {
  margin-top: 70px;
}
@media only screen and (max-width: 1023px) {
  .privacy-policy__main {
    margin-top: 54px;
  }
}
@media only screen and (max-width: 767px) {
  .privacy-policy__main {
    margin-top: 31px;
  }
}
.privacy-policy__row:nth-child(1) .c-title5::before {
  content: "１．";
}
.privacy-policy__row:nth-child(2) .c-title5::before {
  content: "２．";
}
.privacy-policy__row:nth-child(3) .c-title5::before {
  content: "３．";
}
.privacy-policy__row:nth-child(4) .c-title5::before {
  content: "４．";
}
.privacy-policy__row:nth-child(5) .c-title5::before {
  content: "５．";
}
.privacy-policy__row:nth-child(6) .c-title5::before {
  content: "６．";
}
.privacy-policy__row:nth-child(7) .c-title5::before {
  content: "７．";
}
.privacy-policy__row:nth-child(8) .c-title5::before {
  content: "８．";
}
.privacy-policy__row:nth-child(9) .c-title5::before {
  content: "９．";
}
.privacy-policy__row:nth-child(10) .c-title5::before {
  content: "10．";
}
.privacy-policy__row + .privacy-policy__row {
  margin-top: 54px;
}
@media only screen and (max-width: 767px) {
  .privacy-policy__row + .privacy-policy__row {
    margin-top: 31px;
  }
}
.privacy-policy__content {
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .privacy-policy__content {
    margin-top: 12px;
  }
}
.privacy-policy__content .c-list2 {
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .privacy-policy__content .c-list2 {
    margin-top: 8px;
  }
}
.privacy-policy__content .c-box3 {
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .privacy-policy__content .c-box3 {
    margin-top: 12px;
  }
}
/*------------------------------------------------------------
    CSS of News page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Archive section
------------------------------------------------------------*/
.news-archive {
  position: relative;
  padding: 256px 0 160px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .news-archive {
    padding: 233px 0 160px;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive {
    padding: 3px 0 96px;
  }
}
.news-archive__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -40px -64px;
}
@media only screen and (max-width: 1023px) {
  .news-archive__list {
    margin: 0 -20px -40px;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: -1px 0 0;
  }
}
.news-archive__item {
  width: calc(50% - 80px);
  margin: 0 40px 64px;
}
@media only screen and (max-width: 1023px) {
  .news-archive__item {
    width: calc(50% - 40px);
    margin: 0 20px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive__item + .news-archive__item {
    margin-top: 28px;
  }
}
.news-archive__pagi {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .news-archive__pagi {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive__pagi {
    margin-top: 40px;
  }
}
/*------------------------------------------------------------
    CSS of Single section
------------------------------------------------------------*/
.news-single {
  position: relative;
  padding: 256px 0 112px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .news-single {
    padding: 233px 0 160px;
  }
}
@media only screen and (max-width: 767px) {
  .news-single {
    padding: 3px 0 96px;
  }
}
/*------------------------------------------------------------
    CSS of Blog page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Archive section
------------------------------------------------------------*/
.blog-archive {
  position: relative;
  padding: 256px 0 160px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .blog-archive {
    padding: 233px 0 160px;
  }
}
@media only screen and (max-width: 767px) {
  .blog-archive {
    padding: 3px 0 96px;
  }
}
.blog-archive__filter + .blog-archive__body {
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  .blog-archive__filter + .blog-archive__body {
    margin-top: 40px;
  }
}
.blog-archive__body {
  min-height: 368px;
}
.blog-archive__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -40px -64px;
}
@media only screen and (max-width: 1023px) {
  .blog-archive__list {
    margin: 0 -20px -40px;
  }
}
@media only screen and (max-width: 767px) {
  .blog-archive__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: -1px 0 0;
  }
}
.blog-archive__item {
  width: calc(50% - 80px);
  margin: 0 40px 64px;
}
@media only screen and (max-width: 1023px) {
  .blog-archive__item {
    width: calc(50% - 40px);
    margin: 0 20px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .blog-archive__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .blog-archive__item + .blog-archive__item {
    margin-top: 28px;
  }
}
.blog-archive__pagi {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .blog-archive__pagi {
    margin-top: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .blog-archive__pagi {
    margin-top: 40px;
  }
}
/*------------------------------------------------------------
    CSS of Single section
------------------------------------------------------------*/
.blog-single {
  position: relative;
  padding: 256px 0 112px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .blog-single {
    padding: 233px 0 160px;
  }
}
@media only screen and (max-width: 767px) {
  .blog-single {
    padding: 3px 0 96px;
  }
}
/*------------------------------------------------------------
    CSS of Recruit page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.recruit-main {
  position: relative;
  margin-top: 164px;
  padding: 196px 0 200px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .recruit-main {
    margin-top: 0;
    padding: 84px 0 128px;
  }
}
@media only screen and (max-width: 767px) {
  .recruit-main {
    padding: 72px 0 96px;
  }
}
.recruit-main__body {
  margin-top: 52px;
}
@media only screen and (max-width: 767px) {
  .recruit-main__body {
    margin-top: 36px;
  }
}
.recruit-main__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -20px -40px;
}
@media only screen and (max-width: 767px) {
  .recruit-main__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.recruit-main__item {
  width: calc(50% - 40px);
  margin: 0 20px 40px;
}
@media only screen and (max-width: 767px) {
  .recruit-main__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .recruit-main__item + .recruit-main__item {
    margin-top: 24px;
  }
}
.recruit-main__bottom {
  margin-top: 88px;
}
@media only screen and (max-width: 1023px) {
  .recruit-main__bottom {
    margin-top: 81px;
  }
}
@media only screen and (max-width: 767px) {
  .recruit-main__bottom {
    margin-top: 40px;
  }
}
.recruit-main__groupbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -8px;
}
@media only screen and (max-width: 767px) {
  .recruit-main__groupbtn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0;
  }
}
.recruit-main__itembtn {
  margin: 0 8px;
}
@media only screen and (max-width: 767px) {
  .recruit-main__itembtn {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .recruit-main__itembtn + .recruit-main__itembtn {
    margin-top: 8px;
  }
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Utility .u-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Display
------------------------------------------------------------*/
.u-none {
  display: none;
}
/*------------------------------------------------------------
    Background
------------------------------------------------------------*/
.u-bg__white100 {
  background-color: #fff;
}
.u-bg__black200 {
  background-color: #0d0d0d;
}
.u-bg__cyan300 {
  background-color: #e9ecf2;
}
/*------------------------------------------------------------
    Spacing
------------------------------------------------------------*/
/*------------------------------------------------------------
    Font
------------------------------------------------------------*/
.u-zen-old {
  font-family: "Zen Old Mincho", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}
.u-garamond {
  font-family: "Cormorant Garamond", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}
/*------------------------------------------------------------
    Text
------------------------------------------------------------*/
/*------------------------------------------------------------
    Animation
------------------------------------------------------------*/
[data-animation][data-animation-type=fadeIn] {
  opacity: 0;
  -webkit-transition: opacity 1.2s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 1.2s cubic-bezier(0.33, 1, 0.68, 1);
}
[data-animation=after][data-animation-type=fadeIn] {
  opacity: 1;
}
[data-animation][data-animation-type=fadeInScale] {
  opacity: 0;
  -webkit-transition: opacity 1.2s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: opacity 1.2s cubic-bezier(0.3, 0.1, 0.2, 1);
}
[data-animation][data-animation-type=fadeInScale] img {
  opacity: 0;
  -webkit-transform: scale(1.04) translateY(13px);
  transform: scale(1.04) translateY(13px);
  -webkit-transition: opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 1.2s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: transform 1.2s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
}
[data-animation=after][data-animation-type=fadeInScale] {
  opacity: 1;
}
[data-animation=after][data-animation-type=fadeInScale] img {
  opacity: 1;
  -webkit-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
}
[data-animation][data-animation-type=fadeUp] {
  opacity: 0;
  -webkit-transform: translate(0, 20px);
  transform: translate(0, 20px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 1.2s ease;
  transition: opacity 0.8s ease, -webkit-transform 1.2s ease;
  transition: transform 1.2s ease, opacity 0.8s ease;
  transition: transform 1.2s ease, opacity 0.8s ease, -webkit-transform 1.2s ease;
}
[data-animation=after][data-animation-type=fadeUp] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}
[data-animation][data-animation-type=scaleIn] img {
  opacity: 0;
  -webkit-transform: scale(1.04) translateY(13px);
  transform: scale(1.04) translateY(13px);
  -webkit-transition: opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
  transition: opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
  transition: transform 1.2s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1);
  transition: transform 1.2s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.8s cubic-bezier(0.3, 0.1, 0.2, 1), -webkit-transform 1.2s cubic-bezier(0.33, 1, 0.68, 1);
}
[data-animation=after][data-animation-type=scaleIn] img {
  opacity: 1;
  -webkit-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
}
[data-animation][data-animation-type=blurIn] {
  opacity: 0;
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-transition: opacity 0.8s ease, -webkit-filter 1.2s ease-out;
  transition: opacity 0.8s ease, -webkit-filter 1.2s ease-out;
  transition: filter 1.2s ease-out, opacity 0.8s ease;
  transition: filter 1.2s ease-out, opacity 0.8s ease, -webkit-filter 1.2s ease-out;
}
[data-animation=after][data-animation-type=blurIn] {
  opacity: 1;
  -webkit-filter: blur(0);
  filter: blur(0);
}
@media only screen and (max-width: 1023px) {
  .is-pc {
    display: none;
  }
}
.is-notpc {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .is-notpc {
    display: block;
  }
}
.is-sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .is-sp {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .is-notsp {
    display: none;
  }
}
.is-phone {
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .is-phone {
    pointer-events: unset;
  }
}