@charset "UTF-8";
/*------------------------------------------------------------
    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 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-nav1__item + .c-nav1__item {
  margin-top: 27px;
}
.c-nav1__link {
  display: inline-block;
  padding: 0 10px;
  color: #121221;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
}
.c-nav1__link.u-inter {
  font-weight: 500;
  letter-spacing: -0.025em;
  text-orientation: unset;
}
.c-nav1__link img {
  width: 14px;
}
.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;
}
.c-nav2__item {
  width: 100%;
}
.c-nav2__item + .c-nav2__item {
  margin-top: 22px;
}
.c-nav2__link {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 29px;
  padding-left: 20px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-nav2__link::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  width: 12px;
  height: 2px;
  background-color: #ffff47;
}
.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;
  margin-top: 9px;
}
.c-nav2__subitem {
  width: 100%;
}
.c-nav2__subitem + .c-nav2__subitem {
  margin-top: 4px;
}
.c-nav2__sublink {
  display: block;
  position: relative;
  width: 100%;
  min-height: 56px;
  padding: 14px 32px 13px 12px;
  background-color: #181830;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-nav2__sublink::after {
  content: "\e901";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #4b4b66;
  font-family: "icomoon";
  font-size: 1.6rem;
  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-nav2__sublink:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #ffff47;
  }
  .c-nav2__sublink:hover::after {
    color: #ffff47;
  }
}
.c-nav3 {
  position: fixed;
  top: 0;
  left: 0;
  width: calc(100% - 80px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background-color: rgba(102, 106, 128, 0.95);
  z-index: 11;
  overflow: hidden;
  -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%;
    background-color: #666a80;
    opacity: 1;
    visibility: visible;
    pointer-events: unset;
  }
}
.c-nav3.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.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;
  margin: 0 -12px;
  padding: 24px 60px;
}
@media only screen and (max-width: 1023px) {
  .c-nav3__list {
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__list {
    padding: 0;
  }
}
.c-nav3__item {
  margin: 0 12px;
}
.c-nav3__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;
  position: relative;
  min-height: 48px;
  padding: 2px 0 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-nav3__link {
    min-height: 46px;
    padding: 0;
    font-size: 1.3rem;
  }
}
.c-nav3__link.u-inter {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-nav3__link.u-inter {
    font-size: 1.4rem;
  }
}
/*------------------------------------------------------------
    Header
------------------------------------------------------------*/
.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-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: fixed;
  top: 0;
  right: 0;
  width: 80px;
  height: 100vh;
  padding-top: 80px;
  background-color: #fff;
  z-index: 20;
}
@media only screen and (max-width: 1023px) {
  .c-header__rside {
    display: none;
  }
}
.c-header__menublock {
  display: block;
  width: 100%;
  height: 1px;
}
.c-header__nav {
  padding: 20px 14px;
}
.c-header__contact {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-header__inner {
  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;
  position: fixed;
  top: 24px;
  left: 24px;
  background-color: transparent;
  z-index: 16;
}
@media only screen and (max-width: 1023px) {
  .c-header__inner {
    top: 0;
    left: 0;
    width: 100%;
    min-height: 64px;
    padding-right: 64px;
    background-color: #fff;
    z-index: 20;
  }
}
.c-header__logowrap {
  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;
  line-height: 1;
}
@media only screen and (max-width: 1023px) {
  .c-header__logowrap {
    padding: 12px 8px;
  }
}
.c-header__logo {
  display: block;
}
.c-header__logo img {
  height: 48px;
}
@media only screen and (max-width: 1023px) {
  .c-header__logo img {
    height: 40px;
  }
}
.c-header__bottom {
  position: fixed;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  width: 100%;
  z-index: 15;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-header__bottom.is-show {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.c-header__listbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  width: 100%;
  height: 100%;
  min-height: 64px;
}
@media only screen and (max-width: 374px) {
  .c-header__listbtn {
    min-height: 60px;
  }
}
.c-header__itembtn:nth-child(1) {
  width: 21%;
}
.c-header__itembtn:nth-child(2) {
  width: calc(17.5% + 1px);
  border-left: 1px solid #ededf2;
}
.c-header__itembtn:nth-child(3) {
  width: calc(28% + 1px);
  border-left: 1px solid #ededf2;
}
.c-header__itembtn:nth-child(4) {
  width: calc(32.75% + 1px);
  border-left: 1px solid #ededf2;
}
.c-header__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;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 8px 8px 7px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-header__btnicon {
  display: inline-block;
  color: #121221;
  font-size: 2.4rem;
  line-height: 1;
}
.c-header__btntext {
  display: block;
  margin-top: 4px;
  color: #121221;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 374px) {
  .c-header__btntext {
    font-size: 1.2rem;
  }
}
.c-header__brand {
  position: fixed;
  bottom: 20px;
  right: 90px;
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
  z-index: 15;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-header__brand {
    right: 10px;
  }
}
.c-header__brand.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.c-header__brandlist {
  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-header__branditem + .c-header__branditem {
  margin-top: 8px;
}
.c-header__menubtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 22;
}
.c-header__menuouter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 80px;
  bottom: 0;
  left: 0;
  width: calc(100% - 80px);
  height: 100vh;
  background-color: rgba(255, 255, 255, 0);
  -webkit-backdrop-filter: blur(10px) brightness(110%);
  backdrop-filter: blur(10px) brightness(110%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 19;
  -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 {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    top: 64px;
    right: 0;
    width: 100%;
    height: calc(100vh - 64px);
    background-color: #20203b;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}
.c-header__menuouter::after {
  content: none;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/common/logo-menu.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .c-header__menuouter::after {
    content: "";
    background-image: url("/assets/img/common/logo-menu@sp.png");
  }
}
.c-header__menuouter.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.c-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: min(800px, 100% - 160px);
  height: 100%;
  margin-left: auto;
  padding: 120px 0;
  background-color: #20203b;
}
@media only screen and (max-width: 1023px) {
  .c-header__menu {
    width: 100%;
    margin-left: 0;
    padding: 38px 0 45px;
    background-color: transparent;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__menu {
    height: auto;
    max-height: 100%;
    padding: 38px 0 120px;
    overflow-x: hidden;
    overflow-y: auto;
  }
}
.c-header__menu::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/img/common/logo-menu.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .c-header__menu::after {
    content: none;
  }
}
.c-header__menuinner {
  position: relative;
  width: 100%;
  max-width: 760px;
  height: 100%;
  margin: 0 auto;
  padding: 0 60px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-header__menuinner {
    max-width: unset;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__menuinner {
    padding: 0 20px;
  }
}
.c-header__menuwrap {
  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-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-header__menuwrap {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__menuwrap {
    height: auto;
  }
}
.c-header__menunav {
  position: relative;
  width: 100%;
  padding-right: 24px;
  overflow-x: hidden;
  overflow-y: auto;
}
@media only screen and (min-width: 768px) {
  .c-header__menunav::-webkit-scrollbar-track {
    background-color: #121221;
  }
  .c-header__menunav::-webkit-scrollbar {
    width: 8px;
    background-color: #121221;
  }
  .c-header__menunav::-webkit-scrollbar-thumb {
    background-color: #666a80;
  }
}
@media only screen and (max-width: 767px) {
  .c-header__menunav {
    padding-right: 0;
    overflow: unset;
  }
}
.c-header__menulast {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-top: 40px;
  padding-right: 32px;
}
@media only screen and (max-width: 1023px) {
  .c-header__menulast {
    padding-right: 0;
  }
}
.c-header__menugroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-header__menugroup {
    -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: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.c-header__menubrandlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 1023px) {
  .c-header__menubrandlist {
    -ms-flex-negative: unset;
    flex-shrink: unset;
  }
}
.c-header__menubranditem + .c-header__menubranditem {
  margin-left: 8px;
}
.c-header__menulistbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin: -5px -41px -5px 0;
  padding-left: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-header__menulistbtn {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    -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: 38px 0 0;
    padding-left: 0;
  }
}
.c-header__menuitembtn {
  margin: 5px 41px 5px 0;
}
@media only screen and (max-width: 1023px) {
  .c-header__menuitembtn {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .c-header__menuitembtn + .c-header__menuitembtn {
    margin-top: 11px;
  }
}
.c-header__menulink {
  display: inline-block;
  color: #9d9db3;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
/*------------------------------------------------------------
    Footer
------------------------------------------------------------*/
.c-footer {
  margin-right: 80px;
}
@media only screen and (max-width: 1023px) {
  .c-footer {
    margin-right: 0;
  }
}
.c-footer__main {
  position: relative;
  padding: 80px 0 41px;
  background-color: #fff;
}
@media only screen and (max-width: 1023px) {
  .c-footer__main {
    padding: 40px 0 41px;
  }
}
@media only screen and (max-width: 767px) {
  .c-footer__main {
    padding: 40px 0 106px;
  }
}
.c-footer__wrap {
  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: 1023px) {
  .c-footer__wrap {
    -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;
  }
}
.c-footer__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-footer__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 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: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-footer__logo {
  display: block;
}
.c-footer__logo img {
  height: 56px;
}
.c-footer__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding-left: 22px;
}
@media only screen and (max-width: 1023px) {
  .c-footer__content {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 24px;
    padding-left: 0;
  }
}
.c-footer__name {
  display: block;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-footer__address {
  margin-top: 6px;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-footer__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media only screen and (max-width: 1023px) {
  .c-footer__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 9px;
  }
}
.c-footer__brandlist {
  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: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin: 0 -8px -8px 0;
}
@media only screen and (max-width: 1023px) {
  .c-footer__brandlist {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.c-footer__branditem {
  margin: 0 8px 8px 0;
}
.c-footer__brand {
  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: 6px;
  background-color: #f5f5f7;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.c-footer__brand--line {
  background-color: #05b900;
}
.c-footer__brand--line img {
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  width: 32px;
}
.c-footer__icon {
  display: inline-block;
  color: #121221;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1;
}
.c-footer__copyright {
  margin-top: 38px;
  color: #333;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.36;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 1023px) {
  .c-footer__copyright {
    margin-top: 25px;
  }
}
/*------------------------------------------------------------
    Layout
------------------------------------------------------------*/
body {
  position: relative;
  background-color: #fafafc;
  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: 80px;
}
@media only screen and (max-width: 1023px) {
  main {
    margin-right: 0;
  }
}
/*------------------------------------------------------------
    Container
------------------------------------------------------------*/
.l-container {
  width: 100%;
  max-width: 1240px;
  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--w1360 {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .l-container--w1360 {
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container--w1360 {
    max-width: 400px;
    padding: 0 20px;
  }
}
.l-container--w1320 {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .l-container--w1320 {
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container--w1320 {
    padding: 0 20px;
  }
}
.l-container--w1280 {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 1023px) {
  .l-container--w1280 {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container--w1280 {
    padding: 0 17px;
  }
}
.l-container--w1240 {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .l-container--w1240 {
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container--w1240 {
    padding: 0 20px;
  }
}
.l-container--w1090 {
  width: 100%;
  max-width: 1090px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .l-container--w1090 {
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container--w1090 {
    max-width: 400px;
    padding: 0 20px;
  }
}
.l-container--w840 {
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .l-container--w840 {
    max-width: 800px;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container--w840 {
    max-width: unset;
    padding: 0 20px;
  }
}
.l-container--w760 {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 60px;
}
@media only screen and (max-width: 1023px) {
  .l-container--w760 {
    max-width: unset;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .l-container--w760 {
    padding: 0 20px;
  }
}
/*------------------------------------------------------------
    Mainvisual
------------------------------------------------------------*/
.c-mv {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-mv {
    padding-top: 64px;
  }
}
.c-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.c-mv__bg {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #666;
  overflow: hidden;
}
.c-mv__bginner {
  position: relative;
  width: 100%;
  height: 100%;
}
.c-mv__bginner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-mv__bginner video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-mv__content {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv__content {
    left: unset;
    right: 40px;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__content {
    left: 50%;
    right: unset;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
.c-mv__contentbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  width: 240px;
  min-height: 640px;
  padding: 27px 24.4px 29px 26.6px;
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#20203b), to(rgba(32, 32, 59, 0))) 0% 0% no-repeat padding-box;
  background: transparent -webkit-linear-gradient(top, #20203b 0%, rgba(32, 32, 59, 0) 100%) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #20203b 0%, rgba(32, 32, 59, 0) 100%) 0% 0% no-repeat padding-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-mv__contentbox {
    width: 220px;
    min-height: 558px;
    padding: 25px 21.4px 29px 24.4px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__contentbox {
    width: 157px;
    min-height: 420px;
    padding: 18px 15.4px 25px 17.4px;
  }
}
.c-mv__subtitle {
  width: 41.34px;
}
@media only screen and (max-width: 1023px) {
  .c-mv__subtitle {
    -webkit-transform: translateY(-0.5px);
    transform: translateY(-0.5px);
    width: 37.98px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__subtitle {
    width: 27.13px;
  }
}
.c-mv__subtitle img {
  width: 100%;
}
.c-mv__title {
  width: 125.21px;
  margin-left: 22.5px;
}
@media only screen and (max-width: 1023px) {
  .c-mv__title {
    width: 115.03px;
    margin-left: 20.6px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__title {
    width: 82.17px;
    margin-left: 14.7px;
  }
}
.c-mv__title img {
  width: 100%;
}
.c-mv__banner {
  position: absolute;
  bottom: 40px;
  left: 40px;
  width: 100%;
  max-width: 336px;
  z-index: 2;
}
@media only screen and (max-width: 1023px) {
  .c-mv__banner {
    bottom: 16px;
    left: 20px;
    max-width: calc(100% - 40px);
  }
}
/*------------------------------------------------------------
    Breadcrumb
------------------------------------------------------------*/
.c-breadcrumb1 {
  text-align: right;
}
.c-breadcrumb1__item {
  display: contents;
}
.c-breadcrumb1__item + .c-breadcrumb1__item::before {
  content: ">";
  display: inline-block;
  margin-left: 5px;
  margin-right: 5px;
  color: #808080;
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.308;
  letter-spacing: -0.02em;
}
.c-breadcrumb1__link {
  display: contents;
}
.c-breadcrumb1__en {
  color: #808080;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.308;
  letter-spacing: -0.02em;
}
.c-breadcrumb1__en + .c-breadcrumb1__ja::before {
  content: "－";
  display: inline-block;
  margin-left: 1px;
  margin-right: 5px;
  color: #666;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.36;
  letter-spacing: -0.025em;
}
.c-breadcrumb1__ja {
  color: #666;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.36;
  letter-spacing: -0.025em;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Component .c-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Banner
------------------------------------------------------------*/
.c-banner1 {
  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%;
  max-width: 336px;
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
  -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-banner1.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.c-banner1__inner {
  position: relative;
  width: 100%;
}
.c-banner1__thumb {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-banner1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 45.2380952381%;
}
.c-banner1__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-banner1__text {
  position: relative;
  width: 100%;
  margin-top: -6px;
  z-index: 1;
}
.c-banner1__text img {
  width: 100%;
}
.c-banner1__close {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .c-banner1__close {
    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;
    right: -12px;
    width: 24px;
    height: 24px;
    padding: 4px;
    background-color: #fff;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1;
  }
}
.c-banner1__close .icon {
  display: inline-block;
  color: #121221;
  font-size: 1.6rem;
  line-height: 1;
}
.c-banner2 {
  display: block;
  position: relative;
  width: 100%;
  max-width: 336px;
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-banner2.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.c-banner2__thumb {
  display: block;
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-banner2__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-banner2__close {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .c-banner2__close {
    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;
    right: -12px;
    width: 24px;
    height: 24px;
    padding: 4px;
    background-color: #fff;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1;
  }
}
.c-banner2__close .icon {
  display: inline-block;
  color: #121221;
  font-size: 1.6rem;
  line-height: 1;
}
/*------------------------------------------------------------
    Box
------------------------------------------------------------*/
.c-box1 {
  position: relative;
  width: 100%;
  padding: 20px 24px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-box2 {
  position: relative;
  width: 100%;
  padding: 32px 40px;
  background-color: #ededf2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 374px) {
  .c-box2 {
    padding: 32px 20px;
  }
}
.c-box3 {
  position: relative;
  width: 100%;
  padding: 56px 40px;
  background-color: #ededf2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box3 {
    padding: 56px 20px;
  }
}
.c-box3__row {
  position: relative;
  width: 100%;
  padding: 32px 0;
  border-bottom: 1px solid #dfdfe6;
}
.c-box3__row:first-child {
  padding-top: 0;
}
.c-box3__label {
  margin-top: -2px;
}
.c-box3__field {
  margin-top: 9px;
}
.c-box3__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 -8px 0;
}
@media only screen and (max-width: 767px) {
  .c-box3__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-box3__groupbtn button {
  width: calc(50% - 16px);
  max-width: 239px;
  margin: 0 8px;
}
@media only screen and (max-width: 767px) {
  .c-box3__groupbtn button {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box3__groupbtn button + button {
    margin-top: 8px;
  }
}
.c-box3__recaptcha {
  text-align: center;
}
.c-box4 {
  position: relative;
  width: 100%;
  max-height: 320px;
  padding: 39px 59px 39px 39px;
  background-color: transparent;
  border: 1px solid #dfdfe6;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
}
@media only screen and (max-width: 767px) {
  .c-box4 {
    padding: 39px 43px 39px 23px;
  }
}
@media only screen and (max-width: 374px) {
  .c-box4 {
    padding: 39px 35px 39px 15px;
  }
}
.c-box4__heading .c-text1 {
  margin-top: 53px;
}
.c-box4__title {
  color: #121221;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-box4__body {
  margin-top: 54px;
  counter-reset: row;
}
.c-box4__row .c-title4::before {
  counter-increment: row;
  content: counter(row) "．";
}
.c-box4__row + .c-box4__row {
  margin-top: 53px;
}
.c-box4__content {
  margin-top: 22px;
  counter-reset: subrow;
}
.c-box4__subrow .c-title4__sub::before {
  counter-increment: subrow;
  content: counter(subrow) "．";
}
.c-box4__subrow .c-box4__text {
  margin-top: 19px;
}
.c-box4__subrow + .c-box4__subrow {
  margin-top: 35px;
}
.c-box4__text p + p {
  margin-top: 19px;
}
.c-box4__text p + .c-list1 {
  margin-top: 19px;
}
.c-box4__footer {
  margin-top: 51px;
}
.c-box5 {
  position: relative;
  width: 100%;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-box5__heading {
  padding: 22px 80px 29px;
}
@media only screen and (max-width: 1023px) {
  .c-box5__heading {
    padding: 22px 80px 21px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box5__heading {
    padding: 22px 39px 21px;
  }
}
@media only screen and (max-width: 374px) {
  .c-box5__heading {
    padding: 22px 19px 21px;
  }
}
.c-box5__heading .c-listcheck2 {
  margin-top: 11px;
}
.c-box5__title {
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-box5__body {
  position: relative;
}
.c-box5__thumb {
  position: relative;
  width: 100%;
  background-color: #999;
  overflow: hidden;
}
.c-box5__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.8055555556%;
}
@media only screen and (max-width: 767px) {
  .c-box5__thumb::before {
    padding-top: 61.6666666667%;
  }
}
.c-box5__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-box5__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 18px 40px 17px;
  z-index: 1;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-box5__caption {
    padding: 10px 10px 9px;
  }
}
.c-box6 {
  position: relative;
  width: 100%;
  padding: 30px 32px 29px;
  background-color: #fafafc;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box6 {
    padding: 14px 16px 13px;
  }
}
.c-box6__row {
  position: relative;
  padding: 23px 0 24px;
  border-bottom: 1px solid #e6e6f2;
}
.c-box6__row:first-child {
  padding-top: 0;
}
.c-box6__row:last-child {
  padding-bottom: 3px;
  border-bottom: none;
}
.c-box6__title {
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-box6__description {
  margin-bottom: -3px;
}
.c-box7 {
  display: block;
  position: relative;
  padding: 80px 40px 79px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-box7 {
    padding: 64px 40px 63px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box7 {
    padding: 48px 20px;
  }
}
.c-box7__inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .c-box7__inner {
    max-width: unset;
  }
}
.c-box7__body .c-note2 {
  margin-top: 54px;
}
@media only screen and (max-width: 767px) {
  .c-box7__body .c-note2 {
    margin-top: 22px;
  }
}
.c-box7__thumbwrap {
  position: relative;
  width: 100%;
  background-color: #fafafc;
}
@media only screen and (max-width: 767px) {
  .c-box7__thumbwrap {
    max-width: unset;
    padding: 18px 20px 0;
  }
}
.c-box7__thumbwrap .c-point1 {
  position: absolute;
  top: 38px;
  left: calc(50% + 40px);
  width: 100%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  max-width: 720px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-box7__thumbwrap .c-point1 {
    position: relative;
    top: unset;
    left: unset;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    max-width: unset;
  }
}
.c-box7__thumb {
  position: relative;
  width: 100%;
  max-height: 500px;
  margin: 0 auto;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-box7__thumb {
    width: calc(100% + 40px);
    max-height: unset;
    margin: 0 -20px;
  }
}
.c-box7__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 69.4444444444%;
}
.c-box7__thumb img {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}
.c-box7__box {
  margin-top: 56px;
}
@media only screen and (max-width: 767px) {
  .c-box7__box {
    margin-top: 24px;
  }
}
.c-box7__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: 56px -28px -53px;
}
@media only screen and (max-width: 1023px) {
  .c-box7__list {
    margin: 56px -20px -54px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box7__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: 26px 0 0;
  }
}
.c-box7__item {
  width: calc(33.3333333333% - 56px);
  margin: 0 28px 53px;
}
@media only screen and (max-width: 1023px) {
  .c-box7__item {
    width: calc(50% - 40px);
    margin: 0 20px 54px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box7__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box7__item + .c-box7__item {
    margin-top: 22px;
  }
}
.c-box8 {
  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;
}
@media only screen and (max-width: 1023px) {
  .c-box8 {
    -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-box8__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -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: 50%;
  min-width: 434px;
  position: relative;
  background-color: #ffff47;
  padding: 32px 40px 29px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-box8__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    padding: 32px 40px 30px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box8__left {
    padding: 20px 20px 29px;
  }
}
.c-box8__heading {
  width: 100%;
}
.c-box8__subtitle {
  color: #4b4b66;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-box8__title {
  display: block;
  position: relative;
  width: 100%;
  min-height: 40px;
  margin-top: 4px;
  padding: 2px 12px 3px;
  background-color: #4b4b66;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #ffff47;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-box8__content {
  width: 100%;
  margin-top: 14px;
}
.c-box8__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 50%;
}
@media only screen and (max-width: 1023px) {
  .c-box8__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
  }
}
.c-box8__thumb {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 286px;
  background-color: #b3b3b3;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-box8__thumb {
    min-height: unset;
  }
}
@media only screen and (max-width: 1023px) {
  .c-box8__thumb::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 59.7222222222%;
  }
}
.c-box8__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;
}
/*------------------------------------------------------------
    Brand
------------------------------------------------------------*/
.c-brand1 {
  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: 100px;
  height: 100px;
  padding: 8px 8px 12px;
  background-color: #05b900;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.c-brand1__icon {
  display: block;
}
.c-brand1__icon img {
  height: 32px;
}
.c-brand1__text {
  margin: 3px 0;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.267;
  letter-spacing: -0.02em;
  text-align: center;
}
.c-brand2 {
  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: 100px;
  height: 100px;
  padding: 7px;
  background-color: #fff;
  border: 1px solid #f5f5f7;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.c-brand2__icon {
  display: block;
}
.c-brand2__icon img {
  width: 28px;
}
.c-brand2__text {
  margin: 6px 0 2px;
  color: #333;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: -0.02em;
  text-align: center;
}
/*------------------------------------------------------------
    Button
------------------------------------------------------------*/
.c-btn1 {
  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: 160px;
  padding: 24px 14px;
  background-color: #ffff47;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #121221;
  font-size: 1.4rem;
  font-weight: 700;
  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;
}
.c-btn2 {
  display: inline-block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-btn2::after {
  content: "\e902";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  margin-left: 4px;
  color: #121221;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-btn3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  min-height: 72px;
  padding: 21px 31px 20px 11px;
  background-color: #20203b;
  border: 1px solid #4b4b66;
  -webkit-box-shadow: 0 3px 6px #151526;
  box-shadow: 0 3px 6px #151526;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-btn3::after {
  content: "\e901";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 9px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  color: #4b4b66;
  font-family: "icomoon";
  font-size: 1.6rem;
  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-btn3:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #ffff47;
    color: #20203b;
  }
}
.c-btn4 {
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 64px;
  padding: 16px 26px 15px;
  background-color: #fff;
  border: 2px solid #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 374px) {
  .c-btn4 {
    padding: 16px 12px 15px;
  }
}
.c-btn4::after {
  content: "\e902";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 3px;
  margin-right: -3px;
  color: #121221;
  font-family: "icomoon";
  font-size: 1.6rem;
  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-btn4:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #121221;
    color: #fff;
  }
  .c-btn4:hover::after {
    color: #fff;
  }
}
.c-btn4--white {
  background-color: transparent;
  border-color: #fafafc;
  color: #fff;
}
.c-btn4--white::after {
  color: #fff;
}
@media only screen and (min-width: 1023px) {
  .c-btn4--white:hover {
    background-color: #fff;
    border-color: #fff;
    color: #121221;
  }
  .c-btn4--white:hover::after {
    color: #121221;
  }
}
.c-btn4--reverse {
  border-color: #fff;
}
@media only screen and (min-width: 1023px) {
  .c-btn4--reverse:hover {
    background-color: transparent;
  }
}
.c-btn5 {
  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: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 68px;
  padding: 17px 26px;
  background-color: #fff;
  border: 2px solid #4b4b66;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #20203b;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 374px) {
  .c-btn5 {
    padding: 16px 12px 15px;
  }
}
.c-btn5::after {
  content: "\e902";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 3px;
  margin-right: -3px;
  color: #20203b;
  font-family: "icomoon";
  font-size: 1.6rem;
  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-btn5:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #4b4b66;
    color: #fff;
  }
  .c-btn5:hover::after {
    color: #fff;
  }
}
.c-btn5--simple::after {
  content: none;
}
.c-btn6 {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-btn6::after {
  content: "\e90c";
  display: inline-block;
  margin-left: 4px;
  color: #121221;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}
.c-btn7 {
  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%;
  height: 100%;
  min-height: 56px;
  padding: 12px 39px 13px 15px;
  background-color: transparent;
  border: 1px solid #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-btn7::after {
  content: "\e902";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #121221;
  font-family: "icomoon";
  font-size: 1.6rem;
  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 (min-width: 1023px) {
  .c-btn7:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #121221;
    color: #fff;
  }
  .c-btn7:hover::after {
    color: #fff;
  }
}
/*------------------------------------------------------------
    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%;
  border: 1px solid #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (min-width: 1023px) {
  .c-card1:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card1:hover .c-card1__thumb img {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card1:hover .c-card1__content {
    background-color: #ffff47;
  }
}
.c-card1__thumb {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 100%;
  background-color: #b3b3b3;
  overflow: hidden;
}
.c-card1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 74.8603351955%;
}
.c-card1__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-card1__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -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%;
  padding: 23px 23px 24px;
  background-color: transparent;
  border-top: 1px solid #121221;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
}
.c-card1__top {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 100%;
}
.c-card1__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 0 -6px -4px 0;
}
.c-card1__taglist + .c-card1__title {
  margin-top: 8px;
}
.c-card1__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
.c-card1__tagitem--spec {
  margin-left: -6px;
}
.c-card1__title {
  color: #333;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-card1__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 100%;
  margin-top: 20px;
  padding-top: 21px;
  border-top: 1px solid #121221;
}
.c-card1__datetime {
  display: inline-block;
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
.c-card1__readmore {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  margin-left: 20px;
  position: relative;
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
.c-card1__readmore::after {
  content: "\e900";
  display: inline-block;
  margin-left: 5px;
  color: #333;
  font-family: "icomoon";
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
}
.c-card2 {
  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;
}
.c-card2__thumb {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 100%;
  background-color: #b3b3b3;
  border-radius: 50%;
  overflow: hidden;
}
.c-card2__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-card2__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-card2__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 100%;
  margin-top: 16px;
  padding: 0 8px;
}
.c-card2__title {
  color: #20203b;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-card2__description {
  margin-top: 13px;
}
@media only screen and (max-width: 767px) {
  .c-card2__description {
    margin-top: 12px;
  }
}
.c-card3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  position: relative;
  width: 100%;
  height: 100%;
  border: 1px solid #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (min-width: 1023px) {
  .c-card3:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card3:hover .c-card3__thumb img {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card3:hover .c-card3__right {
    background-color: #ffff47;
  }
}
@media only screen and (max-width: 1023px) {
  .c-card3 {
    -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-card3__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 358px;
}
@media only screen and (max-width: 1023px) {
  .c-card3__left {
    width: 100%;
  }
}
.c-card3__thumb {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #b3b3b3;
  overflow: hidden;
}
.c-card3__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 74.8603351955%;
}
@media only screen and (max-width: 1023px) {
  .c-card3__thumb::before {
    padding-top: 74.8520710059%;
  }
}
@media only screen and (max-width: 767px) {
  .c-card3__thumb::before {
    padding-top: 74.8603351955%;
  }
}
.c-card3__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-card3__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -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: calc(100% - 358px);
  padding: 23px 40px 24px 41px;
  background-color: transparent;
  border-left: 1px solid #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: background 0.3s ease-in-out;
  transition: background 0.3s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-card3__right {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%;
    padding: 23px 23px 24px;
    border-left: none;
    border-top: 1px solid #121221;
  }
}
.c-card3__top {
  width: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-card3__top {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}
.c-card3__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 100%;
  margin: 0 -6px -4px 0;
}
.c-card3__taglist + .c-card3__title {
  margin-top: 8px;
}
.c-card3__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
.c-card3__tagitem--spec {
  margin-left: -6px;
}
.c-card3__title {
  min-height: 69px;
  color: #333;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media only screen and (max-width: 1023px) {
  .c-card3__title {
    min-height: 86px;
    font-size: 1.9rem;
    -webkit-line-clamp: 3;
  }
}
.c-card3__bottom {
  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;
  position: relative;
  width: 100%;
  margin-top: 28px;
  padding-top: 21px;
  border-top: 1px solid #121221;
}
@media only screen and (max-width: 1023px) {
  .c-card3__bottom {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-top: 19px;
  }
}
.c-card3__datetime {
  display: inline-block;
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
.c-card3__readmore {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  margin-left: 20px;
  position: relative;
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
.c-card3__readmore::after {
  content: "\e900";
  display: inline-block;
  margin-left: 5px;
  color: #333;
  font-family: "icomoon";
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
}
/*------------------------------------------------------------
    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 -8px -12px 0;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group {
    -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 .mwform-checkbox-field {
  min-width: 154px;
  margin: 0 8px 12px 0;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field {
    width: 100%;
    min-width: unset;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field + .mwform-checkbox-field {
    margin-top: 8px;
  }
}
.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: #4b4b66;
  color: #fff;
}
.c-checkbox__group .mwform-checkbox-field label input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
  background-color: #ffff47;
}
.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%;
  height: 100%;
  min-height: 56px;
  padding: 13px 15px 12px 43px;
  background-color: #fff;
  border: 1px solid #dfdfe6;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text::before {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  left: 11px;
  width: 24px;
  height: 24px;
  background-color: #dfdfe6;
  border-radius: 4px;
  -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-checkbox__group .mwform-checkbox-field label .mwform-checkbox-field-text::after {
  content: "\e905";
  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: 15px;
  left: 11px;
  width: 24px;
  height: 24px;
  opacity: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #4b4b66;
  font-family: "icomoon";
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-checkbox__group--style1 .mwform-checkbox-field {
  min-width: 208px;
}
.c-checkbox__group--style2 {
  margin: 11px -8px -12px 0;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--style2 {
    margin: 11px 0 0;
  }
}
.c-checkbox__group--style2 .mwform-checkbox-field {
  width: calc(50% - 8px);
  min-width: unset;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--style2 .mwform-checkbox-field {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--style2 .mwform-checkbox-field + .mwform-checkbox-field {
    margin-top: 12px;
  }
}
.c-checkbox__group--style3 {
  margin: 12px -8px -12px 0;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--style3 {
    margin: 12px 0 0;
  }
}
.c-checkbox__group--style3 .mwform-checkbox-field {
  width: calc(50% - 8px);
  min-width: unset;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--style3 .mwform-checkbox-field {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--style3 .mwform-checkbox-field + .mwform-checkbox-field {
    margin-top: 12px;
  }
}
.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: 12px;
}
/*------------------------------------------------------------
    Contact
------------------------------------------------------------*/
.c-contact1 {
  position: relative;
  padding: 86px 0 80px;
  background-image: url("/assets/img/common/contact-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 1023px) {
  .c-contact1 {
    background-image: url("/assets/img/common/contact-bg@tab.jpg");
  }
}
.c-contact1::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}
.c-contact1__inner {
  position: relative;
  z-index: 1;
}
.c-contact1__description {
  margin-top: 19px;
  text-align: center;
}
@media only screen and (max-width: 1023px) {
  .c-contact1__description {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-contact1__description {
    margin-top: 19px;
  }
}
.c-contact1__body {
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .c-contact1__body {
    margin-top: 41px;
  }
}
/*------------------------------------------------------------
    Content
------------------------------------------------------------*/
.c-content {
  color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-content p + p {
  margin-top: 29px;
}
.c-content p + p:has(img) {
  margin-top: 29px;
}
.c-content p:has(img) + p {
  margin-top: 29px;
}
.c-content p small {
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
.c-content a {
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-content a::after {
  content: "\e902";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  margin-left: 4px;
  color: #121221;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}
.c-content a:has(img)::after {
  content: none;
}
.c-content ul {
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-content ul li {
  position: relative;
  padding-left: 16px;
}
.c-content ul li::before {
  content: "▪";
  position: absolute;
  top: 0;
  left: 0;
}
.c-content ol {
  counter-reset: section;
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-content ol li {
  position: relative;
  padding-left: 20px;
}
.c-content ol li::before {
  counter-increment: section;
  content: counter(section) "．";
  position: absolute;
  top: 0;
  left: 0;
}
.c-content .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.c-content .alignleft {
  display: block;
  margin-right: auto;
}
.c-content .alignright {
  display: block;
  margin-left: auto;
}
.c-content img,
.c-content iframe {
  max-width: 100%;
}
/*------------------------------------------------------------
    Datepicker
------------------------------------------------------------*/
.c-datepicker {
  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-datepicker input[type=text],
.c-datepicker input[type=email],
.c-datepicker input[type=tel],
.c-datepicker input[type=url] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 56px;
  padding: 13px 35px 12px 11px;
  background-color: #fff;
  border: 1px solid #dfdfe6;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  color: #20203b;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-datepicker input[type=text]::-webkit-input-placeholder, .c-datepicker input[type=email]::-webkit-input-placeholder, .c-datepicker input[type=tel]::-webkit-input-placeholder, .c-datepicker input[type=url]::-webkit-input-placeholder {
  color: #666a80;
}
.c-datepicker input[type=text]::-moz-placeholder, .c-datepicker input[type=email]::-moz-placeholder, .c-datepicker input[type=tel]::-moz-placeholder, .c-datepicker input[type=url]::-moz-placeholder {
  color: #666a80;
}
.c-datepicker input[type=text]:-ms-input-placeholder, .c-datepicker input[type=email]:-ms-input-placeholder, .c-datepicker input[type=tel]:-ms-input-placeholder, .c-datepicker input[type=url]:-ms-input-placeholder {
  color: #666a80;
}
.c-datepicker input[type=text]::-ms-input-placeholder, .c-datepicker input[type=email]::-ms-input-placeholder, .c-datepicker input[type=tel]::-ms-input-placeholder, .c-datepicker input[type=url]::-ms-input-placeholder {
  color: #666a80;
}
.c-datepicker input[type=text]::placeholder,
.c-datepicker input[type=email]::placeholder,
.c-datepicker input[type=tel]::placeholder,
.c-datepicker input[type=url]::placeholder {
  color: #666a80;
}
.c-datepicker::after {
  content: "\e904";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #4b4b66;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  pointer-events: none;
}
.c-datepicker--medium {
  width: min(316px, 100%);
}
@media only screen and (max-width: 767px) {
  .c-datepicker--medium {
    width: 100%;
  }
}
#ui-datepicker-div.ui-datepicker {
  width: min(316px, 100vw - 80px);
  background-color: #fff;
  border: 1px solid #dfdfe6;
  border-radius: 4px;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-header {
  background: #e9e9e9;
  border: 1px solid #dfdfe6;
  border-radius: 4px;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-title {
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-prev {
  cursor: pointer;
}
#ui-datepicker-div.ui-datepicker .ui-datepicker-next {
  cursor: pointer;
}
#ui-datepicker-div.ui-datepicker th {
  padding: 7px 3px;
  color: #20203b;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.286;
}
#ui-datepicker-div.ui-datepicker td > * {
  padding: 4px 3px;
}
#ui-datepicker-div.ui-datepicker .ui-state-default {
  padding: 3px;
  background: #f5f5f7;
  border: 1px solid #dfdfe6;
  color: #20203b;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.286;
}
@media only screen and (min-width: 1023px) {
  #ui-datepicker-div.ui-datepicker .ui-state-default:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #4b4b66;
    border: 1px solid #4b4b66;
    color: #fff;
  }
}
#ui-datepicker-div.ui-datepicker .ui-state-highlight {
  background: #ffff47;
  border: 1px solid #dfdfe6;
}
#ui-datepicker-div.ui-datepicker .ui-state-active {
  background: #4b4b66;
  border: 1px solid #4b4b66;
  color: #fff;
}
/*------------------------------------------------------------
    Error
------------------------------------------------------------*/
.c-box3__error .error,
.mw_wp_form .c-box3__error .error,
.mw_wp_form .c-box3__recaptcha .error {
  display: block;
  margin-top: 5px;
  color: #bf0000;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
/*------------------------------------------------------------
    FAQ
------------------------------------------------------------*/
.c-faq1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.c-faq1__item {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.c-faq1__item + .c-faq1__item {
  margin-top: 16px;
}
.c-faq1__question {
  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: 13px 60px 13px 21px;
  background-color: #666a80;
  -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-faq1__question::before {
  content: "Q";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  width: 15px;
  color: #d7d7e0;
  font-family: "Big Shoulders", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.c-faq1__question::after {
  content: "\e901";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(calc(-50% - 1px)) rotate(90deg);
  transform: translateY(calc(-50% - 1px)) rotate(90deg);
  color: #fff;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-faq1__question.is-open::after {
  -webkit-transform: translateY(calc(-50% + 1px)) rotate(-90deg);
  transform: translateY(calc(-50% + 1px)) rotate(-90deg);
}
.c-faq1__heading {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin: 2px 0 2px 20px;
}
.c-faq1__title {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-faq1__answer {
  display: none;
  position: relative;
  width: 100%;
  background-color: #fff;
}
.c-faq1__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  width: 100%;
  min-height: 112px;
  padding: 34px 40px 40px 21px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-faq1__main {
    min-height: 84px;
    padding: 22px 24px 24px 21px;
  }
}
.c-faq1__main::before {
  content: "A";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  width: 15px;
  color: #d7d7e0;
  font-family: "Big Shoulders", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.c-faq1__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 20px;
}
.c-faq1__content p {
  margin-bottom: -3px;
}
.c-faq1__content p + .c-box6 {
  margin-top: 16px;
}
.c-faq1__content .c-box6 + p {
  margin-top: 14px;
}
/*------------------------------------------------------------
    Filter
------------------------------------------------------------*/
.c-filter1 {
  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: 767px) {
  .c-filter1 {
    -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-filter1__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
@media only screen and (max-width: 767px) {
  .c-filter1__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: 40px;
  }
}
.c-filter1__title {
  color: #121221;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-filter1__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: 278px;
  margin-left: auto;
  padding-left: 40px;
}
@media only screen and (max-width: 767px) {
  .c-filter1__right {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    margin-left: 0;
    padding-left: 0;
  }
}
.c-filter1__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #666a80;
}
.c-filter1__text {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-filter1__select {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 160px;
}
@media only screen and (max-width: 767px) {
  .c-filter1__select {
    width: auto;
  }
}
/*------------------------------------------------------------
    Flow
------------------------------------------------------------*/
.c-flow1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -24px;
}
@media only screen and (max-width: 767px) {
  .c-flow1 {
    -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-flow1__item {
  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: calc(33.3333333333% - 48px);
  margin: 0 24px;
}
@media only screen and (max-width: 767px) {
  .c-flow1__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow1__item + .c-flow1__item {
    margin-top: 56px;
  }
}
.c-flow1__item + .c-flow1__item::before {
  content: "";
  display: block;
  position: absolute;
  top: 46px;
  left: -31px;
  width: 20px;
  height: 40px;
  background-color: #dfdfe6;
  -webkit-clip-path: polygon(100% 50%, 0 0, 0 100%);
  clip-path: polygon(100% 50%, 0 0, 0 100%);
}
@media only screen and (max-width: 767px) {
  .c-flow1__item + .c-flow1__item::before {
    top: -34px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 40px;
    height: 20px;
    -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
  }
}
.c-flow1__icon {
  display: block;
  width: 88px;
  height: 88px;
}
.c-flow1__text {
  width: 100%;
  margin-top: 16px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-flow1__text {
    text-align: center;
  }
}
.c-flow2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-flow2 {
    -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-flow2__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 28.0555555556%;
}
@media only screen and (max-width: 1023px) {
  .c-flow2__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
  }
}
.c-flow2__thumb {
  position: relative;
  width: 100%;
  max-height: 202px;
  background-color: #fff;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-flow2__thumb::before {
    padding-top: 47.7777777778%;
  }
}
@media only screen and (max-width: 767px) {
  .c-flow2__thumb::before {
    padding-top: 95.5555555556%;
  }
}
.c-flow2__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-flow2__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-flow2__thumb img {
    -o-object-fit: contain;
    object-fit: contain;
  }
}
.c-flow2__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 71.9444444444%;
  padding-left: 24px;
}
@media only screen and (max-width: 1023px) {
  .c-flow2__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 24px;
    padding-left: 0;
  }
}
.c-flow2__right .c-note2 {
  margin-top: 12px;
  text-align: right;
}
.c-flow2__item {
  position: relative;
}
.c-flow2__item + .c-flow2__item {
  margin-top: 40px;
}
.c-flow2__item + .c-flow2__item::before {
  content: "";
  display: block;
  position: absolute;
  top: -27px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 40px;
  height: 20px;
  background-color: #dfdfe6;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.c-flow2__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 7px 39px 7px 7px;
  background-color: #fff;
  border: 1px solid #ededf2;
  border-radius: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-flow2__box {
    padding: 7px 23px 7px 7px;
  }
}
.c-flow2__boxleft {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -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: 9px 8px 7px;
  background-color: #ededf2;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-flow2__label {
  color: #4b4b66;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-flow2__boxright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: calc(100% - 64px);
  padding-left: 8px;
}
.c-flow2__name {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  color: #4b4b66;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-flow2__price {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-left: 16px;
  color: #4b4b66;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: right;
}
/*------------------------------------------------------------
    Heading
------------------------------------------------------------*/
@media only screen and (max-width: 1023px) {
  .c-heading1 {
    padding-top: 64px;
  }
}
.c-heading1__breadcrumb {
  position: relative;
  padding: 26px 20px 28px;
}
@media only screen and (max-width: 767px) {
  .c-heading1__inner--style1 {
    max-width: unset;
  }
}
.c-heading1__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;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  min-height: 233px;
  margin-top: 18px;
  padding: 44px 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__heading {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__heading {
    min-height: 156px;
    padding: 28px 0 20px;
  }
}
.c-heading1__title {
  width: 100%;
  color: #20203b;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-indent: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-heading1__title {
    font-size: 2.4rem;
  }
}
.c-heading1__bg1 {
  position: relative;
  width: 100%;
  height: 611px;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__bg1 {
    height: 743px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__bg1 {
    height: 432px;
  }
}
.c-heading1__bg1 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-heading1__bg2 {
  position: relative;
  width: 100%;
  height: 624px;
}
@media only screen and (max-width: 1023px) {
  .c-heading1__bg2 {
    height: 743px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1__bg2 {
    height: 432px;
  }
}
.c-heading1__bg2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-heading2 {
  position: relative;
  padding: 106px 0 39px;
}
@media only screen and (max-width: 1023px) {
  .c-heading2 {
    padding: 115px 0 133px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading2 {
    padding: 24px 0 38px;
  }
}
.c-heading2__subtitle {
  color: #20203b;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-heading2__subtitle {
    font-size: min(2.4rem, 0.0666666667 * (100vw - 40px));
  }
}
.c-heading2__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 28px;
}
@media only screen and (max-width: 1023px) {
  .c-heading2__group {
    margin-top: 21px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading2__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 18px;
  }
}
.c-heading2__groupleft {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-heading2__groupleft {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-negative: unset;
    flex-shrink: unset;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
  }
}
.c-heading2__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-heading2__taglist {
    padding-left: 2px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading2__taglist {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
  }
}
.c-heading2__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .c-heading2__tagitem {
    width: 100%;
  }
}
.c-heading2__tagitem + .c-heading2__tagitem {
  margin-left: 6px;
}
@media only screen and (max-width: 767px) {
  .c-heading2__tagitem + .c-heading2__tagitem {
    margin-left: 0;
    margin-top: 2px;
  }
}
.c-heading2__titlesub {
  width: 100%;
  margin-top: 6px;
  color: #20203b;
  font-size: 8.3rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 1023px) {
  .c-heading2__titlesub {
    margin-top: 5px;
    font-size: 6.78rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading2__titlesub {
    margin-top: -8px;
    margin-left: 6px;
    font-size: min(8.8rem, 0.337164751 * (100vw - 139px));
  }
}
.c-heading2__groupright {
  margin-left: 12px;
}
@media only screen and (max-width: 1023px) {
  .c-heading2__groupright {
    margin-left: 6px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading2__groupright {
    margin-left: 0;
    margin-top: 4px;
  }
}
.c-heading2__titlemain {
  margin-top: 2px;
  color: #20203b;
  font-size: 12.7rem;
  font-weight: 700;
  line-height: 0.787;
  letter-spacing: -0.025em;
  white-space: nowrap;
}
@media only screen and (max-width: 1023px) {
  .c-heading2__titlemain {
    margin-top: 1px;
    font-size: 10.38rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading2__titlemain {
    font-size: min(18.2rem, 0.5055555556 * (100vw - 40px));
    line-height: 1.1;
    white-space: unset;
  }
}
.c-heading3 {
  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-heading3__logo {
  display: block;
  position: relative;
  width: 160px;
  height: 160px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-heading3__title {
  width: 100%;
  margin-top: 24px;
  color: #20203b;
  font-size: 2.3rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-heading3__text {
  width: 100%;
  margin-top: 16px;
  color: #333;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-heading3__note {
  width: 100%;
  margin-top: 15px;
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-heading4 {
  position: relative;
  padding: 118px 0 25px;
}
@media only screen and (max-width: 1023px) {
  .c-heading4 {
    padding: 108px 0 109px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading4 {
    padding: 55px 0 54px;
  }
}
.c-heading4__top {
  position: relative;
  z-index: 2;
}
.c-heading4__subtitle {
  color: #20203b;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-heading4__subtitle {
    font-size: min(2.4rem, 0.0666666667 * (100vw - 40px));
  }
}
.c-heading4__title {
  margin-top: 5px;
  color: #20203b;
  font-size: 6.9rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-heading4__title {
    font-size: min(3.5rem, 0.0972222222 * (100vw - 40px));
    line-height: 1.4;
  }
}
.c-heading4__caption {
  position: absolute;
  bottom: -32px;
  right: min(14px, 1.1290322581%);
  width: min(446px, 35.9677419355%);
  z-index: 1;
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .c-heading4__caption {
    right: 0;
    width: 446px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading4__caption {
    width: 223px;
  }
}
/*------------------------------------------------------------
    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: 13px 11px 12px;
  background-color: #fff;
  border: 1px solid #dfdfe6;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  color: #20203b;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-input input[type=text]::-webkit-input-placeholder, .c-input input[type=email]::-webkit-input-placeholder, .c-input input[type=tel]::-webkit-input-placeholder, .c-input input[type=url]::-webkit-input-placeholder {
  color: #666a80;
}
.c-input input[type=text]::-moz-placeholder, .c-input input[type=email]::-moz-placeholder, .c-input input[type=tel]::-moz-placeholder, .c-input input[type=url]::-moz-placeholder {
  color: #666a80;
}
.c-input input[type=text]:-ms-input-placeholder, .c-input input[type=email]:-ms-input-placeholder, .c-input input[type=tel]:-ms-input-placeholder, .c-input input[type=url]:-ms-input-placeholder {
  color: #666a80;
}
.c-input input[type=text]::-ms-input-placeholder, .c-input input[type=email]::-ms-input-placeholder, .c-input input[type=tel]::-ms-input-placeholder, .c-input input[type=url]::-ms-input-placeholder {
  color: #666a80;
}
.c-input input[type=text]::placeholder,
.c-input input[type=email]::placeholder,
.c-input input[type=tel]::placeholder,
.c-input input[type=url]::placeholder {
  color: #666a80;
}
.c-input textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 224px;
  padding: 13px 11px 12px;
  background-color: #fff;
  border: 1px solid #dfdfe6;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  resize: none;
  color: #20203b;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-input textarea::-webkit-input-placeholder {
  color: #666a80;
}
.c-input textarea::-moz-placeholder {
  color: #666a80;
}
.c-input textarea:-ms-input-placeholder {
  color: #666a80;
}
.c-input textarea::-ms-input-placeholder {
  color: #666a80;
}
.c-input textarea::placeholder {
  color: #666a80;
}
.c-input--medium {
  width: min(316px, 100%);
}
@media only screen and (max-width: 767px) {
  .c-input--medium {
    width: 100%;
  }
}
.c-input--tiny {
  width: min(234px, 100%);
}
@media only screen and (max-width: 767px) {
  .c-input--tiny {
    width: 100%;
  }
}
.c-input__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 -4px;
}
@media only screen and (max-width: 767px) {
  .c-input__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-input__group .c-input__item + .c-input__item {
    margin-top: 8px;
  }
}
.c-input__group .c-input__item--tiny {
  width: calc(50% - 8px);
  max-width: 154px;
  margin: 0 4px;
}
@media only screen and (max-width: 767px) {
  .c-input__group .c-input__item--tiny {
    width: 100%;
    max-width: unset;
    margin: 0;
  }
}
.c-input__group--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0;
}
.c-input__group--vertical .c-input__item {
  width: 100%;
}
.c-input__group--vertical .c-input__item + .c-input__item {
  margin-top: 12px;
}
.c-input__itemlabel {
  margin-top: -4px;
}
.c-input__itemlabel + .c-input__iteminput {
  margin-top: 3px;
}
/*------------------------------------------------------------
    Label
------------------------------------------------------------*/
.c-label1 {
  position: relative;
  display: inline-block;
  min-height: 29px;
  padding-left: 0;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-label1::before {
  content: none;
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  padding: 2px 8px 3px 7px;
  background-color: transparent;
  border: 1px solid #666a80;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #20203b;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.308;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-label1.is-required {
  padding-left: 50px;
}
.c-label1.is-required::before {
  content: "必須";
  background-color: #ffff47;
  border-color: #ffff47;
}
.c-label1.is-optional {
  padding-left: 50px;
}
.c-label1.is-optional::before {
  content: "任意";
}
.c-label2 {
  display: inline-block;
  color: #20203b;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -0.025em;
}
/*------------------------------------------------------------
    List
------------------------------------------------------------*/
.c-list1 {
  counter-reset: list;
  color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-list1 li {
  position: relative;
  padding-left: 40px;
}
.c-list1 li::before {
  counter-increment: list;
  content: "（" counter(list) "）";
  position: absolute;
  top: 0;
  left: 0;
}
.c-list2 {
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-list2 li {
  position: relative;
  padding-left: 16px;
}
.c-list2 li::before {
  content: "▪";
  position: absolute;
  top: 0;
  left: 0;
}
.c-list3 {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-list3 li {
  display: block;
  position: relative;
  padding: 15px 24px 17px 48px;
  background-color: #666a80;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-list3 li + li {
  margin-top: 9px;
}
.c-list3 li::before {
  content: "\e903";
  display: inline-block;
  position: absolute;
  top: 20px;
  left: 24px;
  width: 16px;
  height: 16px;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}
/*------------------------------------------------------------
    Listcheck
------------------------------------------------------------*/
.c-listcheck1 {
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-listcheck1 li {
  position: relative;
  padding-left: 20px;
}
.c-listcheck1 li::before {
  content: "\e903";
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 16px;
  height: 16px;
  color: #121221;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}
.c-listcheck1 li + li {
  margin-top: 5px;
}
.c-listcheck2 {
  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;
  margin: 0 -12px -4px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-listcheck2 li {
  position: relative;
  margin: 0 12px 4px;
  padding-left: 20px;
}
.c-listcheck2 li::before {
  content: "\e903";
  display: inline-block;
  position: absolute;
  top: 7px;
  left: 0;
  width: 16px;
  height: 16px;
  color: #20203b;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
}
/*------------------------------------------------------------
    Loading
------------------------------------------------------------*/
.c-loading1 {
  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: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  padding: 60px;
  background-color: #20203b;
  z-index: 50;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-loading1 {
    padding: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-loading1 {
    padding: 20px;
  }
}
.c-loading1.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.c-loading1__logo {
  display: none;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-loading1__logo img {
  height: 96px;
}
@media only screen and (max-width: 767px) {
  .c-loading1__logo img {
    height: 64px;
  }
}
/*------------------------------------------------------------
    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;
  width: 80px;
  height: 80px;
  padding: 10px;
  background-color: transparent;
  -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: 1023px) {
  .c-menu1 {
    width: 64px;
    height: 64px;
  }
}
.c-menu1.is-open .c-menu1__inner span:nth-child(1) {
  -webkit-transform: translate(0, 4px) rotate(45deg);
  transform: translate(0, 4px) rotate(45deg);
}
.c-menu1.is-open .c-menu1__inner span:nth-child(2) {
  -webkit-transform: translate(0, -4px) rotate(-45deg);
  transform: translate(0, -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;
  position: relative;
  width: 24px;
  height: 10px;
}
.c-menu1__inner span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: #121221;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
/*------------------------------------------------------------
    Note
------------------------------------------------------------*/
.c-note1 {
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
.c-note2 {
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
/*------------------------------------------------------------
    Pagination
------------------------------------------------------------*/
.c-pagi1 {
  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;
}
.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;
  height: 100%;
  min-height: 56px;
  padding: 8px 24px 9px;
  background-color: #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (min-width: 1023px) {
  .c-pagi1 li > span:hover,
  .c-pagi1 li > a:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #ffff47;
    color: #121221;
  }
  .c-pagi1 li > span.prev:hover::before,
  .c-pagi1 li > a.prev:hover::before {
    color: #121221;
  }
  .c-pagi1 li > span.next:hover::after,
  .c-pagi1 li > a.next:hover::after {
    color: #121221;
  }
  .c-pagi1 li > span:hover .c-pagi1__text,
  .c-pagi1 li > a:hover .c-pagi1__text {
    color: #121221;
  }
}
@media only screen and (max-width: 1023px) {
  .c-pagi1 li > span,
  .c-pagi1 li > a {
    padding: 8px 12px 9px;
  }
}
@media only screen and (max-width: 374px) {
  .c-pagi1 li > span,
  .c-pagi1 li > a {
    padding: 8px 8px 9px;
  }
}
.c-pagi1 li:has(.prev) {
  margin-right: 1px;
}
.c-pagi1 li span.prev,
.c-pagi1 li a.prev {
  padding-right: 32px;
}
@media only screen and (max-width: 1023px) {
  .c-pagi1 li span.prev,
  .c-pagi1 li a.prev {
    padding-right: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagi1 li span.prev,
  .c-pagi1 li a.prev {
    padding-right: 14px;
  }
}
@media only screen and (max-width: 374px) {
  .c-pagi1 li span.prev,
  .c-pagi1 li a.prev {
    padding-right: 10px;
  }
}
.c-pagi1 li span.prev::before,
.c-pagi1 li a.prev::before {
  content: "\e902";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  width: 16px;
  height: 16px;
  margin-right: 2px;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-pagi1 li:has(.next) {
  margin-left: 1px;
}
.c-pagi1 li span.next,
.c-pagi1 li a.next {
  padding-left: 32px;
}
@media only screen and (max-width: 1023px) {
  .c-pagi1 li span.next,
  .c-pagi1 li a.next {
    padding-left: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .c-pagi1 li span.next,
  .c-pagi1 li a.next {
    padding-left: 14px;
  }
}
@media only screen and (max-width: 374px) {
  .c-pagi1 li span.next,
  .c-pagi1 li a.next {
    padding-left: 10px;
  }
}
.c-pagi1 li span.next::after,
.c-pagi1 li a.next::after {
  content: "\e902";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-pagi1 li span.disabled,
.c-pagi1 li a.disabled {
  background-color: #dfdfe6;
  pointer-events: none;
}
.c-pagi1__text {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.308;
  letter-spacing: -0.025em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-pagi1__selectouter {
  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;
  height: 100%;
  min-height: 56px;
  padding: 9px 24px;
  background-color: #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-pagi1__selectouter {
    padding: 9px 16px;
  }
}
@media only screen and (max-width: 374px) {
  .c-pagi1__selectouter {
    padding: 9px 12px;
  }
}
.c-pagi1__selectouter select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 9px 14px;
  background-color: transparent;
  border: none;
  border-radius: 0;
  color: transparent;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-pagi1__selectouter {
    padding: 9px 12px;
  }
}
@media only screen and (max-width: 374px) {
  .c-pagi1__selectouter {
    padding: 9px 8px;
  }
}
.c-pagi1__selectouter select option {
  color: #121221;
}
.c-pagi1__select {
  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;
  padding-right: 22px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-pagi1__select::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4px;
  -webkit-transform: translateY(calc(-50% + 1px));
  transform: translateY(calc(-50% + 1px));
  width: 8px;
  height: 8px;
  background-color: #b6b7bf;
  pointer-events: none;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.c-pagi1__select span {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.c-pagi1__select span.current {
  width: 25px;
  text-align: right;
}
.c-pagi1__select span.splitter {
  margin: 0 8px;
}
.c-pagi1__select span.total {
  width: 29px;
  text-align: left;
}
/*------------------------------------------------------------
    Part
------------------------------------------------------------*/
.c-part1 {
  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) {
  .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;
  }
}
.c-part1--orange1 .c-part1__left::after {
  background-color: #fb8b24;
}
.c-part1--orange2 .c-part1__left::after {
  background-color: #fb8b24;
}
.c-part1--orange2 .c-part1__right {
  padding: 51px 0 49px;
}
.c-part1--blue .c-part1__left::after {
  background-color: #14697a;
}
.c-part1--blue .c-part1__right {
  padding: 51px 0 49px;
}
.c-part1--red1 .c-part1__left::after {
  background-color: #7a162d;
}
@media only screen and (max-width: 767px) {
  .c-part1--red1 .c-part1__title {
    margin-top: 9px;
  }
}
.c-part1--red1 .c-part1__right {
  padding: 87px 0 49px;
}
.c-part1--red2 .c-part1__left::after {
  background-color: #7a162d;
}
@media only screen and (max-width: 767px) {
  .c-part1--red2 .c-part1__title {
    margin-top: 9px;
  }
}
.c-part1--red2 .c-part1__right {
  padding: 46px 0 49px;
}
.c-part1--first {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
@media only screen and (max-width: 1023px) {
  .c-part1--first {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.c-part1--reverse .c-part1__left {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
@media only screen and (max-width: 1023px) {
  .c-part1--reverse .c-part1__left {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
.c-part1--reverse .c-part1__leftinner {
  margin-left: 0;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .c-part1--reverse .c-part1__leftinner {
    margin-right: 0;
  }
}
.c-part1--reverse .c-part1__title {
  right: 80px;
}
@media only screen and (max-width: 767px) {
  .c-part1--reverse .c-part1__title {
    right: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1--reverse .c-part1__heading {
    margin: -39px auto 0;
  }
}
.c-part1--reverse .c-part1__right {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
@media only screen and (max-width: 1023px) {
  .c-part1--reverse .c-part1__right {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
.c-part1--reverse .c-part1__rightinner {
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 1023px) {
  .c-part1--reverse .c-part1__rightinner {
    margin-left: 0;
  }
}
.c-part1--reverse .c-part1__thumbsub::before {
  padding-top: 93.5714285714%;
}
.c-part1__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: calc(max(0px, (100% - 1360px) / 2) + min(920px, 67.6470588235%));
  padding-bottom: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-part1__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
  }
}
.c-part1__left::after {
  content: "";
  position: absolute;
  top: 244px;
  left: 0;
  width: 100%;
  height: calc(100% - 244px);
  background-color: #20203b;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .c-part1__left::after {
    top: 122px;
    height: calc(100% - 122px);
  }
}
.c-part1__leftinner {
  width: 100%;
  max-width: 920px;
  margin-left: auto;
  padding: 0 40px;
}
@media only screen and (max-width: 1023px) {
  .c-part1__leftinner {
    max-width: unset;
    margin-left: 0;
    padding: 0 60px;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1__leftinner {
    padding: 0 20px;
  }
}
.c-part1__thumbwrap {
  position: relative;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 1023px) {
  .c-part1__thumbwrap {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1__thumbwrap {
    padding: 0 20px;
  }
}
.c-part1__thumbmain {
  position: relative;
  width: 100%;
  background-color: #808080;
  overflow: hidden;
}
.c-part1__thumbmain::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 78%;
}
@media only screen and (max-width: 767px) {
  .c-part1__thumbmain::before {
    padding-top: 78.125%;
  }
}
.c-part1__thumbmain 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-part1__title {
  display: inline-block;
  position: absolute;
  bottom: -33px;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  min-height: 66px;
  padding: 16px 2.45rem 15px;
  background-color: #20203b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1;
  color: #fff;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-part1__title {
    position: relative;
    bottom: unset;
    right: unset;
    margin: 1px auto 0;
    text-align: center;
    white-space: normal;
    text-overflow: unset;
    overflow: unset;
  }
}
@media only screen and (max-width: 374px) {
  .c-part1__title {
    padding: 16px 15px 15px;
  }
}
.c-part1__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 680px;
  min-height: 119px;
  margin: -33px auto 0;
  z-index: 1;
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .c-part1__heading {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-part1__heading {
    min-height: 72px;
  }
}
.c-part1__number {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  width: 80px;
  color: rgba(250, 250, 252, 0);
  -webkit-text-stroke: 1px #fafafc;
  font-size: 10rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  text-indent: -0.02em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-part1__number {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
    width: 48px;
    font-size: 6rem;
    letter-spacing: -0.012em;
    text-indent: -0.012em;
  }
}
.c-part1__content {
  width: 100%;
  max-width: 600px;
  margin: 6px auto 22px;
}
@media only screen and (max-width: 767px) {
  .c-part1__content {
    max-width: unset;
    margin: 14px auto 5px;
    padding: 0 20px;
  }
}
.c-part1__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(max(0px, (100% - 1360px) / 2) + min(440px, 32.3529411765%));
  min-height: 350px;
  padding: 49px 0;
  background-color: #fff;
}
@media only screen and (max-width: 1023px) {
  .c-part1__right {
    display: none;
  }
}
.c-part1__rightinner {
  width: 100%;
  max-width: 440px;
  margin-right: auto;
  padding: 0 40px;
}
.c-part1__thumbsub {
  position: relative;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
  background-color: #b3b3b3;
  overflow: hidden;
}
.c-part1__thumbsub::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 90%;
}
.c-part1__thumbsub 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 {
  position: relative;
  width: 100%;
  padding: 24px 0 29px;
  border-bottom: 1px solid #e6e6f2;
}
.c-part2:first-child {
  padding-top: 0;
}
.c-part2__title {
  color: #20203b;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-part2__description {
  margin-top: 2px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-part2__body {
  margin: 18px 0 -5px;
}
.c-part2__block + .c-part2__block {
  margin-top: 22px;
}
.c-part2__block02 {
  margin-top: 22px;
}
.c-part2__block02 .c-note2 {
  margin: 16px 0 -6px;
}
.c-part2__table {
  margin-top: 14px;
}
.c-part2__listbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 13px -4px 0;
}
@media only screen and (max-width: 767px) {
  .c-part2__listbtn {
    -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: 13px 0 0;
  }
}
.c-part2__itembtn {
  width: calc(50% - 8px);
  margin: 0 4px;
}
@media only screen and (max-width: 767px) {
  .c-part2__itembtn {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-part2__itembtn + .c-part2__itembtn {
    margin-top: 8px;
  }
}
.c-part2__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 7px;
  padding-right: 7px;
}
.c-part2__seat {
  display: inline-block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-right: 16px;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-part2__value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-part2__price {
  color: #20203b;
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: right;
}
.c-part2__price small {
  margin-right: 4px;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
}
.c-part2__unit {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  min-width: 16px;
  margin-left: 4px;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: right;
}
.c-part3 {
  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: 64px 0;
  border-bottom: 4px solid #ededf2;
}
@media only screen and (max-width: 1023px) {
  .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:first-child {
  padding-top: 0;
}
.c-part3__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 30.7142857143%;
}
@media only screen and (max-width: 1023px) {
  .c-part3__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
  }
}
.c-part3__thumb {
  position: relative;
  width: 100%;
  max-height: 344px;
  background-color: #fff;
  overflow: hidden;
}
.c-part3__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-part3__thumb::before {
    padding-top: 47.7777777778%;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__thumb::before {
    padding-top: 95.5555555556%;
  }
}
.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;
}
@media only screen and (max-width: 1023px) {
  .c-part3__thumb img {
    -o-object-fit: contain;
    object-fit: contain;
  }
}
.c-part3__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 68.3928571429%;
  padding-left: 56px;
}
@media only screen and (max-width: 1023px) {
  .c-part3__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 24px;
    padding-left: 0;
  }
}
.c-part3__heading {
  position: relative;
  padding-bottom: 21px;
  border-bottom: 1px solid #e6e6f2;
}
.c-part3__title {
  margin-top: 5px;
  color: #20203b;
  font-size: 4.8rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .c-part3__title {
    margin-top: 4px;
    font-size: 3.5rem;
  }
}
.c-part3__title small {
  display: inline-block;
  -webkit-transform: translateY(-3px);
  transform: translateY(-3px);
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-part3__title small {
    font-size: 1.7rem;
  }
}
.c-part3__label {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 36px;
  margin-top: 7px;
  padding: 3px 12px 4px;
  background-color: #20203b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.9rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-part3__label {
    margin-top: 5px;
  }
}
.c-part3__label + .c-part3__value {
  margin-top: 21px;
}
.c-part3__value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .c-part3__value {
    margin-top: 12px;
  }
}
.c-part3__price {
  color: #20203b;
  font-size: 2.8rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}
.c-part3__price small {
  margin-right: 4px;
  font-size: 1.6rem;
  letter-spacing: -0.02em;
}
.c-part3__unit {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
  margin-left: 4px;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-part3__body {
  margin-top: 22px;
}
.c-part3__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 22px -20px 0;
}
@media only screen and (max-width: 767px) {
  .c-part3__group {
    -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: 21px 0 0;
  }
}
.c-part3__groupleft {
  width: calc(50% - 40px);
  margin: 0 20px;
  min-width: 260px;
}
@media only screen and (max-width: 767px) {
  .c-part3__groupleft {
    width: 100%;
    min-width: unset;
    margin: 0;
  }
}
.c-part3__groupright {
  width: calc(50% - 40px);
  margin: 0 20px;
}
@media only screen and (max-width: 767px) {
  .c-part3__groupright {
    width: 100%;
    margin: 8px 0 0;
  }
}
.c-part3__chart {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 6px 10px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-part3__chart {
    padding: 6px 20px;
  }
}
.c-part3__chart img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center;
}
.c-part3__footer {
  margin-top: 38px;
}
.c-part3__block01 .c-part3__table {
  margin-top: 13px;
}
.c-part3__block02 {
  margin-top: 38px;
}
.c-part3__block02 .c-note2 {
  margin-top: 16px;
}
.c-part3__listbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 13px -4px 0;
}
@media only screen and (max-width: 767px) {
  .c-part3__listbtn {
    -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: 13px 0 0;
  }
}
.c-part3__itembtn {
  width: calc(50% - 8px);
  margin: 0 4px;
}
@media only screen and (max-width: 767px) {
  .c-part3__itembtn {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__itembtn + .c-part3__itembtn {
    margin-top: 8px;
  }
}
.c-part3__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-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 14px 0 -3px;
}
@media only screen and (max-width: 767px) {
  .c-part3__btn {
    margin: 14px 0 -2px;
  }
}
.c-part4__subtitle {
  margin-bottom: 3px;
  color: #4b4b66;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-part4__title {
  display: block;
  position: relative;
  width: 100%;
  min-height: 40px;
  padding: 6px 12px 5px;
  background-color: #4b4b66;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-part4__content {
  margin-top: 14px;
}
/*------------------------------------------------------------
    Phone
------------------------------------------------------------*/
.c-phone1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .c-phone1 {
    -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;
  }
}
.c-phone1__left {
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .c-phone1__left {
    padding-right: 0;
    padding-bottom: 21px;
  }
}
.c-phone1__tel {
  display: inline-block;
  margin-top: 4px;
  color: #fff;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .c-phone1__tel {
    margin-top: 0;
  }
}
.c-phone1__tel small {
  display: inline-block;
  margin-right: 8px;
  font-size: 2.3rem;
}
.c-phone1__time {
  margin-top: 7px;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
.c-phone1__right {
  padding-left: 40px;
  border-left: 1px solid #999;
}
@media only screen and (max-width: 767px) {
  .c-phone1__right {
    padding: 20px 15px 0;
    border-left: none;
    border-top: 1px solid #999;
  }
}
@media only screen and (max-width: 374px) {
  .c-phone1__right {
    padding: 20px 30px 0;
  }
}
.c-phone2 {
  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-phone2 {
    -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-phone2__left {
  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: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 12px 40px 10px 0;
}
@media only screen and (max-width: 767px) {
  .c-phone2__left {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%;
    padding: 0 0 21px;
  }
}
.c-phone2__title {
  display: block;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-phone2__title {
    margin-top: -2px;
    text-align: center;
  }
}
.c-phone2__right {
  padding-left: 40px;
  border-left: 1px solid #9d9db3;
}
@media only screen and (max-width: 767px) {
  .c-phone2__right {
    padding: 27px 0 0;
    border-left: none;
    border-top: 1px solid #9d9db3;
  }
}
.c-phone2__tel {
  display: inline-block;
  margin-top: 4px;
  color: #20203b;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .c-phone2__tel {
    margin-top: 0;
  }
}
@media only screen and (max-width: 374px) {
  .c-phone2__tel {
    font-size: 2.8rem;
  }
}
.c-phone2__tel small {
  display: inline-block;
  margin-right: 8px;
  font-size: 2.3rem;
}
@media only screen and (max-width: 374px) {
  .c-phone2__tel small {
    margin-right: 6px;
    font-size: 2rem;
  }
}
.c-phone2__time {
  margin: 7px 0 2px;
  color: #20203b;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .c-phone2__time {
    margin: 7px 0 1px;
  }
}
/*------------------------------------------------------------
    Point
------------------------------------------------------------*/
.c-point1 {
  position: relative;
  padding-left: 20px;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-point1::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 3px;
  width: 10px;
  height: 10px;
  background-color: #666a80;
  border-radius: 50%;
}
/*------------------------------------------------------------
    Problem
------------------------------------------------------------*/
.c-problem1__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;
  margin: 0 -10px -20px;
}
@media only screen and (max-width: 767px) {
  .c-problem1__list {
    margin: 0 -4px -8px;
  }
}
.c-problem1__item {
  width: calc(33.3333333333% - 20px);
  max-width: 200px;
  margin: 0 10px 20px;
}
@media only screen and (max-width: 767px) {
  .c-problem1__item {
    width: calc(50% - 8px);
    max-width: 176px;
    margin: 0 4px 8px;
  }
}
.c-problem1__text {
  margin-top: 10px;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-problem1__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: 21px;
}
@media only screen and (max-width: 767px) {
  .c-problem1__btn {
    margin-top: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .c-problem2 {
    max-width: 336px;
    margin: 0 auto;
  }
}
.c-problem2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -20px;
}
@media only screen and (max-width: 767px) {
  .c-problem2__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -20px -24px;
  }
}
.c-problem2__item {
  width: calc(25% - 40px);
  max-width: 148px;
  margin: 0 20px;
}
@media only screen and (max-width: 767px) {
  .c-problem2__item {
    width: calc(50% - 40px);
    margin: 0 20px 24px;
  }
}
.c-problem2__box {
  display: block;
  position: relative;
  width: 100%;
  background-color: #ffff47;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.c-problem2__box::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-problem2__boxinner {
  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: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 10px;
}
.c-problem2__name {
  margin: 16px -2px 0;
  color: #20203b;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-problem2__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: 767px) {
  .c-problem2__btn {
    margin-top: 64px;
  }
}
.c-problem3 {
  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;
  margin: 0 -20px -36px;
}
@media only screen and (max-width: 767px) {
  .c-problem3 {
    -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;
    margin: 0;
  }
}
.c-problem3__item {
  margin: 0 20px 36px;
}
@media only screen and (max-width: 767px) {
  .c-problem3__item {
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-problem3__item:nth-child(2n+1) {
    margin-left: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-problem3__item:nth-child(2n) {
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-problem3__item + .c-problem3__item {
    margin-top: 28px;
  }
}
.c-problem3__text {
  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;
  min-height: 80px;
  padding: 24px 39px 25px;
  background-color: #fff;
  border: 1px solid #ebf0fa;
  border-radius: 16px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #20203b;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-problem3__text {
    padding: 24px 19px 25px;
  }
}
.c-problem3__text::after {
  content: "";
  position: absolute;
  bottom: -21px;
  left: 39px;
  width: 16px;
  height: 21px;
  background-image: url("/assets/img/common/triangle.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-problem3__text::after {
    left: 19px;
  }
}
.c-problem4__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -20px;
}
@media only screen and (max-width: 767px) {
  .c-problem4__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -20px -24px;
  }
}
.c-problem4__item {
  width: calc(25% - 40px);
  max-width: 148px;
  margin: 0 20px;
}
@media only screen and (max-width: 767px) {
  .c-problem4__item {
    width: calc(50% - 40px);
    margin: 0 20px 24px;
  }
}
.c-problem4__box {
  display: block;
  position: relative;
  width: 100%;
  background-color: #fff;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
.c-problem4__box::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-problem4__boxinner {
  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: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 10px;
}
.c-problem4__name {
  margin: 16px -2px 0;
  color: #20203b;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-problem4__name small {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}
.c-problem4__text {
  margin-top: 54px;
  text-align: center;
}
/*------------------------------------------------------------
    Radio
------------------------------------------------------------*/
.c-radio__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 -8px -12px 0;
}
@media only screen and (max-width: 767px) {
  .c-radio__group {
    -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-radio__group .mwform-radio-field {
  min-width: 154px;
  margin: 0 8px 12px 0;
}
@media only screen and (max-width: 767px) {
  .c-radio__group .mwform-radio-field {
    width: 100%;
    min-width: unset;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-radio__group .mwform-radio-field + .mwform-radio-field {
    margin-top: 8px;
  }
}
.c-radio__group .mwform-radio-field label {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.c-radio__group .mwform-radio-field label input[type=radio] {
  -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-radio__group .mwform-radio-field label input[type=radio]:checked + .mwform-radio-field-text {
  background-color: #4b4b66;
  color: #fff;
}
.c-radio__group .mwform-radio-field label input[type=radio]:checked + .mwform-radio-field-text::before {
  background-color: #ffff47;
}
.c-radio__group .mwform-radio-field label input[type=radio]:checked + .mwform-radio-field-text::after {
  -webkit-transform: scale(1);
  transform: scale(1);
}
.c-radio__group .mwform-radio-field label .mwform-radio-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%;
  height: 100%;
  min-height: 56px;
  padding: 13px 15px 12px 43px;
  background-color: #fff;
  border: 1px solid #dfdfe6;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-radio__group .mwform-radio-field label .mwform-radio-field-text::before {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  left: 11px;
  width: 24px;
  height: 24px;
  background-color: #dfdfe6;
  border-radius: 50%;
  -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-radio__group .mwform-radio-field label .mwform-radio-field-text::after {
  content: "";
  display: block;
  position: absolute;
  top: 22px;
  left: 18px;
  -webkit-transform: scale(0);
  transform: scale(0);
  width: 10px;
  height: 10px;
  background-color: #4b4b66;
  border-radius: 50%;
  -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-radio__group--style1 .mwform-radio-field {
  min-width: 208px;
}
@media only screen and (max-width: 767px) {
  .c-radio__group--style1 .mwform-radio-field {
    min-width: unset;
  }
}
.c-radio__group--style2 {
  margin: 11px -8px -12px 0;
}
@media only screen and (max-width: 767px) {
  .c-radio__group--style2 {
    margin: 11px 0 0;
  }
}
.c-radio__group--style2 .mwform-radio-field {
  width: calc(50% - 8px);
  min-width: unset;
}
@media only screen and (max-width: 767px) {
  .c-radio__group--style2 .mwform-radio-field {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-radio__group--style2 .mwform-radio-field + .mwform-radio-field {
    margin-top: 12px;
  }
}
.c-radio__group--style3 {
  margin: 12px -8px -12px 0;
}
@media only screen and (max-width: 767px) {
  .c-radio__group--style3 {
    margin: 12px 0 0;
  }
}
.c-radio__group--style3 .mwform-radio-field {
  width: calc(50% - 8px);
  min-width: unset;
}
@media only screen and (max-width: 767px) {
  .c-radio__group--style3 .mwform-radio-field {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .c-radio__group--style3 .mwform-radio-field + .mwform-radio-field {
    margin-top: 12px;
  }
}
.c-radio__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-radio__group--vertical .mwform-radio-field {
  width: 100%;
  margin: 0;
}
.c-radio__group--vertical .mwform-radio-field + .mwform-radio-field {
  margin-top: 12px;
}
/*------------------------------------------------------------
    Select
------------------------------------------------------------*/
.c-select1 {
  display: inline-block;
  position: relative;
}
.c-select1::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 4px;
  -webkit-transform: translateY(calc(-50% + 1px));
  transform: translateY(calc(-50% + 1px));
  width: 8px;
  height: 8px;
  background-color: #666a80;
  pointer-events: none;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.c-select1 select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 40px;
  padding: 6px 20px 6px 4px;
  background-color: transparent;
  border: none;
  border-radius: 0;
  color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
  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 {
  font-weight: 500;
}
.c-select1 select option {
  color: #333;
}
.c-select2 {
  display: block;
  position: relative;
  width: 100%;
  max-width: 238px;
  -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;
  }
}
@media only screen and (max-width: 767px) {
  .c-select2 {
    max-width: unset;
  }
}
.c-select2__heading {
  display: block;
  position: relative;
  width: 100%;
  min-height: 41px;
  padding: 6px 20px 5px 0;
  background-color: transparent;
  border-bottom: 1px solid #666a80;
  -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: 8px;
  height: 8px;
  background-color: #666a80;
  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: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.c-select2__title span:nth-child(1) {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-select2__title span:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 4px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-select2__content {
  position: absolute;
  top: 41px;
  left: 0;
  width: 100%;
  max-height: 500px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background-color: #20203b;
  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: #121221;
  }
  .c-select2__content::-webkit-scrollbar {
    width: 4px;
    background-color: #121221;
  }
  .c-select2__content::-webkit-scrollbar-thumb {
    background-color: #666a80;
  }
}
.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%;
}
.c-select2__item {
  position: relative;
  width: 100%;
  border-top: 1px solid #666a80;
}
.c-select2__item:first-child {
  border-top: none;
}
.c-select2__link {
  display: block;
  width: 100%;
  padding: 9px 16px 10px;
  background-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (min-width: 1023px) {
  .c-select2__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #ffff47;
  }
}
/*------------------------------------------------------------
    Single
------------------------------------------------------------*/
.c-single1__basis {
  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-single1__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 100%;
  margin: 0 -6px -4px 0;
}
.c-single1__taglist + .c-single1__datetime {
  margin-top: 9px;
}
.c-single1__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 6px 4px 0;
}
.c-single1__tagitem--spec {
  margin-left: -6px;
}
.c-single1__datetime {
  color: #333;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.308;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-single1__title {
  margin-top: 56px;
  color: #333;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-single1__content {
  position: relative;
  width: 100%;
  margin-top: 40px;
  padding: 38px 0;
  border-top: 1px solid #b6b7bf;
  border-bottom: 1px solid #b6b7bf;
}
.c-single1__footer {
  margin-top: 54px;
}
.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;
}
/*------------------------------------------------------------
    Slider
------------------------------------------------------------*/
.c-slider1__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-slider1__nav.is-sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-slider1__nav.is-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.c-slider1__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -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: 48px;
  height: 48px;
  background-color: #121221;
  -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: "\e902";
  display: inline-block;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.6rem;
  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: 0.7;
    filter: alpha(opacity=70);
  }
}
.c-slider1__btn + .c-slider1__btn {
  margin-left: 8px;
}
.c-slider1__btn--prev::before {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
/*------------------------------------------------------------
    Table
------------------------------------------------------------*/
.c-table1 {
  width: 100%;
  border-collapse: collapse;
}
.c-table1__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  min-height: 40px;
  padding: 6px 16px 5px;
  background-color: #ededf2;
}
.c-table1__row + .c-table1__row {
  margin-top: 1px;
}
.c-table1__field {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 136px);
  padding-right: 14px;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: left;
}
.c-table1__content {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 136px;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: right;
}
.c-table1__stars {
  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-table1__star {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 24px;
  height: 24px;
}
.c-table1__star + .c-table1__star {
  margin-left: 4px;
}
.c-table1__star .icon {
  display: inline-block;
  color: #b6b7bf;
  font-size: 2.4rem;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-table1__star.is-active .icon {
  color: #4b4b66;
}
.c-table2 {
  width: 100%;
  border-collapse: collapse;
}
.c-table2--2col {
  max-width: 479px;
}
.c-table2--2col .c-table2__head .c-table2__field {
  width: calc(50% - 3px);
}
@media only screen and (max-width: 767px) {
  .c-table2--2col .c-table2__head .c-table2__field:nth-child(1) {
    width: calc(50% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--2col .c-table2__head .c-table2__field:nth-child(2) {
    width: calc(50% - 3px);
  }
}
.c-table2--2col .c-table2__body .c-table2__content {
  width: calc(50% - 3px);
}
@media only screen and (max-width: 767px) {
  .c-table2--2col .c-table2__body .c-table2__content:nth-child(1) {
    width: calc(50% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--2col .c-table2__body .c-table2__content:nth-child(2) {
    width: calc(50% - 3px);
  }
}
.c-table2--4col .c-table2__head .c-table2__field {
  width: calc(25.0345781466% - 3px);
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__head .c-table2__field {
    width: calc(26.4462809917% - 3px);
  }
}
.c-table2--4col .c-table2__head .c-table2__field:nth-child(1) {
  width: calc(24.8962655602% - 3px);
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__head .c-table2__field:nth-child(1) {
    width: calc(20.6611570248% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__head .c-table2__field:nth-child(2) {
    width: calc(26.4462809917% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__head .c-table2__field:nth-child(3) {
    width: calc(26.4462809917% - 3px);
  }
}
.c-table2--4col .c-table2__body .c-table2__content {
  width: calc(25.0345781466% - 3px);
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__body .c-table2__content {
    width: calc(26.4462809917% - 3px);
  }
}
.c-table2--4col .c-table2__body .c-table2__content:nth-child(1) {
  width: calc(24.8962655602% - 3px);
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__body .c-table2__content:nth-child(1) {
    width: calc(20.6611570248% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__body .c-table2__content:nth-child(2) {
    width: calc(26.4462809917% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--4col .c-table2__body .c-table2__content:nth-child(3) {
    width: calc(26.4462809917% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__head .c-table2__field:nth-child(1) {
    width: calc(41.0468319559% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__head .c-table2__field:nth-child(2) {
    width: calc(29.476584022% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__head .c-table2__field:nth-child(3) {
    width: calc(29.476584022% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__body .c-table2__content:nth-child(1) {
    width: calc(41.0468319559% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__body .c-table2__content:nth-child(2) {
    width: calc(29.476584022% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2--style1 .c-table2__body .c-table2__content:nth-child(3) {
    width: calc(29.476584022% - 3px);
  }
}
.c-table2__head .c-table2__row {
  width: calc(100% + 3px);
  margin: 0 -0.15rem;
}
.c-table2__head .c-table2__field {
  width: calc(33.3333333333% - 3px);
  margin: 0 0.15rem;
}
@media only screen and (max-width: 767px) {
  .c-table2__head .c-table2__field:nth-child(1) {
    width: calc(27.8236914601% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2__head .c-table2__field:nth-child(2) {
    width: calc(36.08815427% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2__head .c-table2__field:nth-child(3) {
    width: calc(36.08815427% - 3px);
  }
}
.c-table2__body {
  display: block;
  margin-top: 2px;
}
.c-table2__body .c-table2__row {
  width: calc(100% + 3px);
  margin: 0 -0.15rem;
}
.c-table2__body .c-table2__content {
  width: calc(33.3333333333% - 3px);
  margin: 0 0.15rem;
}
@media only screen and (max-width: 767px) {
  .c-table2__body .c-table2__content:nth-child(1) {
    width: calc(27.8236914601% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2__body .c-table2__content:nth-child(2) {
    width: calc(36.08815427% - 3px);
  }
}
@media only screen and (max-width: 767px) {
  .c-table2__body .c-table2__content:nth-child(3) {
    width: calc(36.08815427% - 3px);
  }
}
.c-table2__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  position: relative;
  vertical-align: middle;
  width: 100%;
}
.c-table2__row + .c-table2__row {
  margin-top: 2px;
}
.c-table2__field {
  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;
  min-height: 40px;
  padding: 6px 6px 5px;
  background-color: #4b4b66;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 374px) {
  .c-table2__field {
    padding: 6px 4px 5px;
    font-size: 1.4rem;
  }
}
.c-table2__content {
  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;
  min-height: 40px;
  padding: 6px 6px 5px;
  background-color: #ededf2;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 374px) {
  .c-table2__content {
    padding: 6px 4px 5px;
    font-size: 1.4rem;
  }
}
.c-table3 {
  width: 100%;
  border-collapse: collapse;
}
.c-table3__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  position: relative;
  width: 100%;
  vertical-align: top;
}
.c-table3__row:first-child .c-table3__field {
  padding-top: 0;
}
.c-table3__row:first-child .c-table3__content {
  padding-top: 0;
}
.c-table3__row:last-child .c-table3__content::before {
  height: calc(100% - 5px);
}
.c-table3__field {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 104px;
  padding: 27px 24px 0 0;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: right;
}
.c-table3__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  position: relative;
  width: calc(100% - 104px);
  padding: 27px 1px 0 26px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: left;
}
.c-table3__content::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 2px;
  height: 100%;
  background-color: #dadce6;
}
/*------------------------------------------------------------
    Tag
------------------------------------------------------------*/
.c-tag1 {
  display: inline-block;
  max-width: 100%;
  padding: 2px 5px 3px 4px;
  background-color: #121221;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.308;
  letter-spacing: -0.025em;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.c-tag1--yellow {
  padding: 2px 4px 3px;
  background-color: #ffff47;
  color: #121221;
}
.c-tag2 {
  display: inline-block;
  max-width: 100%;
  padding: 2px 8px 5px;
  background-color: #20203b;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.211;
  letter-spacing: -0.025em;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .c-tag2 {
    padding: 2px 7px 3px 6px;
    border-radius: 3px;
    font-size: 1.55rem;
    line-height: 1.226;
  }
}
@media only screen and (max-width: 767px) {
  .c-tag2 {
    width: 100%;
    padding: 2px 8px 4px;
    border-radius: 4px;
    font-size: 1.6rem;
    line-height: 1.25;
  }
}
/*------------------------------------------------------------
    Text
------------------------------------------------------------*/
.c-text1 {
  color: #121221;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-text1--white {
  color: #fff;
}
.c-text1--black {
  color: #333;
}
.c-text1--blue {
  color: #20203b;
}
.c-text2 {
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
/*------------------------------------------------------------
    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 {
  color: #121221;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}
.c-title2 {
  color: rgba(255, 255, 255, 0);
  -webkit-text-stroke: 1px #58586b;
  font-size: 5.7rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.01em;
}
.c-title2 + .c-title2__sub {
  margin-top: 3px;
}
.c-title2--center {
  text-align: center;
}
.c-title2--center + .c-title2__sub {
  text-align: center;
}
.c-title2--style1 {
  color: rgba(128, 128, 128, 0);
  -webkit-text-stroke: 1px #999;
}
.c-title2__sub {
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-title2__sub--white {
  color: #fff;
}
.c-title3 {
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-title4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  min-height: 55px;
  padding-bottom: 23px;
  border-bottom: 3px solid #dfdfe6;
  color: #121221;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
.c-title4::before {
  content: "";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
}
.c-title4__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  min-height: 29px;
  color: #333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.c-title4__sub::before {
  content: "";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
}
.c-title5 {
  display: block;
  position: relative;
  width: 100%;
  min-height: 80px;
  padding: 25px 0 26px;
  background-color: #20203b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1;
}
.c-title5::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 24px;
  height: 12px;
  background-color: #20203b;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.c-title5__text {
  color: #fff;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-title6 {
  color: #20203b;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-title7 {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 56px;
  margin: 0 auto;
  padding: 11px 40px 10px;
  background-color: #20203b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1;
  color: #fff;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title7 {
    padding: 11px 20px 10px;
  }
}
.c-title7::after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 24px;
  height: 12px;
  background-color: #20203b;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.c-title8 {
  color: #20203b;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.c-title9 {
  color: #121221;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
/*------------------------------------------------------------
    Video
------------------------------------------------------------*/
.c-video1 {
  position: relative;
  width: 100%;
  background-color: #e6e6e6;
  overflow: hidden;
}
.c-video1::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.2962962963%;
}
@media only screen and (max-width: 767px) {
  .c-video1::before {
    padding-top: 56.3888888889%;
  }
}
.c-video1 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-video1 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Project .p-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    CSS of Top page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Background section
------------------------------------------------------------*/
.top-bg {
  position: relative;
  width: 100%;
  height: 480px;
}
.top-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.top-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.top-bg__inner.parallax {
  width: calc(100% - 80px);
  background-position: center 100%;
}
@media only screen and (max-width: 1023px) {
  .top-bg__inner.parallax {
    width: 100%;
  }
}
/*------------------------------------------------------------
    CSS of News section
------------------------------------------------------------*/
.top-news {
  position: relative;
  padding: 132px 0 128px;
  background-color: #fafafc;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .top-news {
    padding: 100px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .top-news {
    padding: 68px 0 64px;
  }
}
.top-news__innerleft {
  margin-left: max(0px, (100% - 1240px) / 2);
  padding-left: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-news__innerleft {
    margin-left: 0;
    padding-left: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__innerleft {
    padding: 0;
  }
}
.top-news__body {
  margin-top: 44px;
}
@media only screen and (max-width: 767px) {
  .top-news__body {
    margin-top: 24px;
  }
}
.top-news__bodyinner {
  width: 100%;
  max-width: 1180px;
  margin-right: auto;
  padding-right: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-news__bodyinner {
    max-width: unset;
    margin-right: 0;
    padding-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__bodyinner {
    padding: 0 20px;
  }
}
.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: 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;
  }
}
.top-news__list--2item {
  margin: 0 -20px;
}
@media only screen and (max-width: 767px) {
  .top-news__list--2item {
    margin: 0;
  }
}
.top-news__list--2item .top-news__item {
  width: calc(50% - 40px);
  max-width: 360px;
  margin: 0 20px;
}
@media only screen and (max-width: 767px) {
  .top-news__list--2item .top-news__item {
    width: 100%;
    max-width: unset;
    margin: 0;
  }
}
.top-news__item {
  width: 360px;
}
@media only screen and (max-width: 767px) {
  .top-news__item {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .top-news__slider {
    padding: 0 20px;
  }
}
.top-news__slider .swiper-wrapper {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.top-news__slide {
  width: 360px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .top-news__slide {
    width: auto;
  }
}
.top-news__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .top-news__footer {
    margin-top: 20px;
  }
}
.top-news__footleft {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.top-news__footright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 48px;
  margin-left: auto;
  padding-left: 40px;
}
@media only screen and (max-width: 767px) {
  .top-news__footright {
    padding-left: 20px;
  }
}
.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 Service section
------------------------------------------------------------*/
.top-service {
  position: relative;
  padding: 143px 0 0;
  background-color: #fafafc;
  overflow: hidden;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .top-service {
    padding: 111px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-service {
    padding: 72px 0 0;
  }
}
.top-service__heading1 {
  position: relative;
  z-index: 1;
}
.top-service__title1 {
  color: #20203b;
  font-size: 14.3rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .top-service__title1 {
    font-size: min(8.58rem, 0.2383333333 * (100vw - 40px));
    letter-spacing: -0.012em;
  }
}
@media only screen and (max-width: 374px) {
  .top-service__title1 {
    font-size: 6.7rem;
  }
}
.top-service__title1 span {
  display: block;
  letter-spacing: -0.02em;
}
@media only screen and (max-width: 767px) {
  .top-service__title1 span {
    letter-spacing: -0.012em;
  }
}
.top-service__title1 span.u-stroke--white {
  margin-left: 40px;
  margin-top: 1px;
  color: rgba(18, 18, 33, 0);
  -webkit-text-stroke: 1px #434359;
}
@media only screen and (max-width: 767px) {
  .top-service__title1 span.u-stroke--white {
    margin-left: 0;
  }
}
.top-service__body1 {
  margin-top: -196px;
}
@media only screen and (max-width: 1023px) {
  .top-service__body1 {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__body1 {
    margin-top: 24px;
  }
}
.top-service__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: 1023px) {
  .top-service__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-service__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: calc(max(0px, (100% - 1360px) / 2) + min(640px, 47.0588235294%));
  min-width: 540px;
  margin-top: 226px;
  padding: 64px 40px 64px 0;
}
@media only screen and (max-width: 1023px) {
  .top-service__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    margin-top: 0;
    padding: 40px;
    background-color: #20203b;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__left {
    padding: 40px 20px;
  }
}
.top-service__left::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + min(160px, 25%));
  height: 100%;
  background-color: #20203b;
  z-index: -1;
}
@media only screen and (max-width: 1023px) {
  .top-service__left::after {
    content: none;
  }
}
.top-service__leftinner {
  width: 100%;
  max-width: 540px;
  margin-left: auto;
  padding-left: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-service__leftinner {
    max-width: unset;
    margin-left: 0;
    padding-left: 0;
  }
}
.top-service__subheading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-left: -30px;
}
@media only screen and (max-width: 1023px) {
  .top-service__subheading {
    margin-left: 0;
  }
}
.top-service__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -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: 96px;
  height: 96px;
  padding: 11px 8px 8px;
  background-color: #ffff47;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  color: #121221;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  text-align: center;
}
.top-service__subtitle {
  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-left: 8px;
  color: #ffff47;
  font-size: 3.3rem;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 374px) {
  .top-service__subtitle {
    font-size: 3rem;
  }
}
.top-service__subtitle small {
  display: block;
  margin: 7px 0 -1px;
  font-size: 2.3rem;
  font-weight: 700;
  letter-spacing: -0.025em;
}
@media only screen and (max-width: 767px) {
  .top-service__subtitle small {
    margin: 7px 0 0;
  }
}
@media only screen and (max-width: 374px) {
  .top-service__subtitle small {
    font-size: 2.1rem;
  }
}
.top-service__content {
  width: 100%;
  max-width: 400px;
  margin: 14px auto -3px 0;
}
@media only screen and (max-width: 1023px) {
  .top-service__content {
    max-width: unset;
    margin: 14px 0 -2px;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__content {
    margin: 14px 0 -3px;
  }
}
.top-service__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: 40px;
}
.top-service__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(max(0px, (100% - 1360px) / 2) + min(720px, 52.9411764706%));
}
@media only screen and (max-width: 1023px) {
  .top-service__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
  }
}
.top-service__thumb {
  position: relative;
  width: 100%;
  max-height: 470px;
  background-color: #808080;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .top-service__thumb {
    max-height: unset;
  }
}
.top-service__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 65.2777777778%;
}
@media only screen and (max-width: 1023px) {
  .top-service__thumb::before {
    padding-top: 65.25%;
  }
}
.top-service__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;
}
.top-service__heading2 {
  position: relative;
  margin-top: 178px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .top-service__heading2 {
    margin-top: 105px;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__heading2 {
    margin-top: 70px;
  }
}
.top-service__title2 {
  padding-right: 40px;
  color: #20203b;
  font-size: 10rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: right;
}
@media only screen and (max-width: 1023px) {
  .top-service__title2 {
    padding-right: 0;
    padding-left: 10px;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__title2 {
    padding-left: 3px;
    font-size: 6rem;
  }
}
.top-service__title2 span {
  display: block;
}
.top-service__title2 span.u-stroke--white {
  margin-top: 16px;
  margin-right: -2px;
  color: rgba(18, 18, 33, 0);
  -webkit-text-stroke: 1px #121221;
  font-size: 5.7rem;
  letter-spacing: -0.01em;
}
@media only screen and (max-width: 1023px) {
  .top-service__title2 span.u-stroke--white {
    margin-top: 16px;
    margin-right: 11px;
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__title2 span.u-stroke--white {
    margin-top: 10px;
    margin-right: 4px;
    font-size: 3.42rem;
  }
}
.top-service__body2 {
  position: relative;
  margin-top: -223px;
}
@media only screen and (max-width: 1023px) {
  .top-service__body2 {
    margin-top: 21px;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__body2 {
    margin-top: 19px;
  }
}
.top-service__body2::after {
  content: "";
  position: absolute;
  top: 244px;
  left: 0;
  width: 100%;
  height: calc(100% - 244px);
  background-color: #fff;
  z-index: -2;
}
@media only screen and (max-width: 767px) {
  .top-service__body2::after {
    top: 122px;
    height: calc(100% - 122px);
  }
}
.top-service__body2 .c-part1 + .c-part1 {
  margin-top: 128px;
}
@media only screen and (max-width: 1023px) {
  .top-service__body2 .c-part1 + .c-part1 {
    margin-top: 96px;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__body2 .c-part1 + .c-part1 {
    margin-top: 64px;
  }
}
.top-service__footer {
  position: relative;
  padding: 128px 0;
  background-color: #fff;
}
@media only screen and (max-width: 1023px) {
  .top-service__footer {
    padding: 96px 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-service__footer {
    padding: 64px 0;
  }
}
/*------------------------------------------------------------
    CSS of Company section
------------------------------------------------------------*/
.top-company {
  position: relative;
  padding: 128px 0;
}
@media only screen and (max-width: 1023px) {
  .top-company {
    padding: 0 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .top-company {
    padding: 0;
  }
}
.top-company__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 1023px) {
  .top-company__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.top-company__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: calc(max(0px, (100% - 1360px) / 2) + min(640px, 47.0588235294%));
  min-width: 540px;
  padding: 64px 40px 64px 0;
}
@media only screen and (max-width: 1023px) {
  .top-company__left {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    margin-top: 0;
    padding: 96px 40px 64px;
    background-color: #20203b;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__left {
    padding: 74px 20px 64px;
  }
}
.top-company__left::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + min(160px, 25%));
  height: 100%;
  background-color: #20203b;
  z-index: -1;
}
@media only screen and (max-width: 1023px) {
  .top-company__left::after {
    content: none;
  }
}
.top-company__leftinner {
  width: 100%;
  max-width: 540px;
  margin-left: auto;
  padding-left: 60px;
}
@media only screen and (max-width: 1023px) {
  .top-company__leftinner {
    max-width: unset;
    margin-left: 0;
    padding-left: 0;
  }
}
.top-company__heading {
  width: 100%;
  max-width: 400px;
  margin-top: 6px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-company__heading {
    max-width: unset;
    margin-right: 0;
  }
}
.top-company__subtitle {
  margin-top: 19px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.top-company__body {
  width: 100%;
  max-width: 400px;
  margin-top: 17px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-company__body {
    max-width: unset;
    margin-right: 0;
  }
}
.top-company__body .c-text1 {
  margin-top: 18px;
}
.top-company__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;
  width: 100%;
  max-width: 400px;
  margin-top: 38px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .top-company__btn {
    max-width: unset;
    margin-top: 37px;
    margin-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__btn {
    margin-top: 38px;
  }
}
.top-company__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(max(0px, (100% - 1360px) / 2) + min(720px, 52.9411764706%));
  padding: 113px 0 112px;
}
@media only screen and (max-width: 1023px) {
  .top-company__right {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding: 0;
  }
}
.top-company__thumbwrap {
  position: relative;
}
.top-company__thumb {
  position: relative;
  width: 100%;
  max-height: 470px;
  background-color: #808080;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .top-company__thumb {
    max-height: unset;
  }
}
.top-company__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 65.2777777778%;
}
@media only screen and (max-width: 1023px) {
  .top-company__thumb::before {
    padding-top: 65.25%;
  }
}
@media only screen and (max-width: 767px) {
  .top-company__thumb::before {
    padding-top: 130.5%;
  }
}
.top-company__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;
}
.top-company__caption {
  position: absolute;
  bottom: max(-96px, -20.4255319149%);
  left: min(8px, 1.1111111111%);
  width: min(445px, 61.8055555556%);
  z-index: 1;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .top-company__caption {
    bottom: max(-74px, -14.1762452107%);
    left: min(8px, 2%);
    width: min(384px, 96%);
  }
}
/*------------------------------------------------------------
    CSS of Service page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Ceramic section
------------------------------------------------------------*/
.service-ceramic {
  position: relative;
}
.service-ceramic__main {
  position: relative;
  padding: 52px 0 128px;
}
@media only screen and (max-width: 1023px) {
  .service-ceramic__main {
    padding: 52px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__main {
    padding: 52px 0 64px;
  }
}
.service-ceramic__description {
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .service-ceramic__description {
    margin-top: 21px;
  }
}
.service-ceramic__body {
  max-width: 830px;
  margin: 37px auto 0;
}
@media only screen and (max-width: 1023px) {
  .service-ceramic__body {
    max-width: 540px;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__body {
    max-width: unset;
    margin: 21px auto 0;
  }
}
.service-ceramic__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 -20px -53px;
}
@media only screen and (max-width: 1023px) {
  .service-ceramic__list {
    margin: 0 -20px -37px;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__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;
  }
}
.service-ceramic__item {
  width: calc(33.3333333333% - 40px);
  max-width: 250px;
  margin: 0 20px 53px;
}
@media only screen and (max-width: 1023px) {
  .service-ceramic__item {
    width: calc(50% - 40px);
    margin: 0 20px 37px;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__item + .service-ceramic__item {
    margin-top: 21px;
  }
}
.service-ceramic__purpose {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .service-ceramic__purpose {
    margin-top: 58px;
  }
}
.service-ceramic__purposedescription {
  margin-top: 34px;
  text-align: center;
}
.service-ceramic__purposebody {
  margin-top: 21px;
}
.service-ceramic__videolist {
  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: 78px -20px 0;
}
@media only screen and (max-width: 1023px) {
  .service-ceramic__videolist {
    margin: 78px -10px 0;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__videolist {
    -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-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 58px 0 0;
  }
}
.service-ceramic__videoitem {
  width: calc(50% - 40px);
  margin: 0 20px;
}
@media only screen and (max-width: 1023px) {
  .service-ceramic__videoitem {
    width: calc(50% - 20px);
    margin: 0 10px;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__videoitem {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__videoitem + .service-ceramic__videoitem {
    margin-top: 40px;
  }
}
.service-ceramic__coated {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .service-ceramic__coated {
    margin-top: 60px;
  }
}
.service-ceramic__box {
  margin-top: 24px;
}
@media only screen and (max-width: 1023px) {
  .service-ceramic__box {
    margin: 24px -40px 0;
  }
}
@media only screen and (max-width: 767px) {
  .service-ceramic__box {
    margin: 24px -20px 0;
  }
}
.service-ceramic__footer {
  margin-top: 77px;
}
@media only screen and (max-width: 767px) {
  .service-ceramic__footer {
    margin-top: 57px;
  }
}
.service-ceramic__footertext {
  color: #121221;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: -0.025em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .service-ceramic__footertext {
    font-size: 1.9rem;
  }
}
.service-ceramic__footertext .u-highlight {
  background-color: #ffff47;
}
.service-ceramic__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: 20px;
}
/*------------------------------------------------------------
    CSS of Maintain section
------------------------------------------------------------*/
.service-maintain {
  position: relative;
}
.service-maintain__main {
  position: relative;
  padding: 52px 0 128px;
}
@media only screen and (max-width: 1023px) {
  .service-maintain__main {
    padding: 52px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .service-maintain__main {
    padding: 52px 0 64px;
  }
}
.service-maintain__description {
  margin-top: 34px;
}
.service-maintain__description p + p {
  margin-top: 2.88rem;
}
.service-maintain__table {
  margin-top: 14px;
}
.service-maintain__table .c-table2 {
  max-width: unset;
}
.service-maintain__slogan {
  width: 100%;
  max-width: 557px;
  margin: 36px auto 0;
}
.service-maintain__content p + p {
  margin-top: 2.88rem;
}
.service-maintain__block01 .service-maintain__body {
  margin-top: 35px;
}
.service-maintain__block01 .service-maintain__body .c-flow1 {
  margin-top: 33px;
}
.service-maintain__block01 .service-maintain__recommend {
  margin-top: 56px;
}
.service-maintain__block01 .service-maintain__recommend .c-list3 {
  margin-top: 9px;
}
.service-maintain__block02 {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .service-maintain__block02 {
    margin-top: 64px;
  }
}
.service-maintain__block02 .service-maintain__body {
  margin-top: 35px;
}
.service-maintain__block02 .service-maintain__body .c-text1 {
  margin-top: 38px;
}
.service-maintain__block03 {
  margin-top: 77px;
}
@media only screen and (max-width: 767px) {
  .service-maintain__block03 {
    margin-top: 61px;
  }
}
.service-maintain__block03 .service-maintain__content {
  margin-top: 38px;
}
.service-maintain__block03 .service-maintain__content + .c-note2 {
  margin-top: 21px;
}
.service-maintain__block04 {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .service-maintain__block04 {
    margin-top: 64px;
  }
}
.service-maintain__block04 .service-maintain__body {
  margin-top: 35px;
}
.service-maintain__block04 .service-maintain__body .c-flow2 {
  margin-top: 13px;
}
/*------------------------------------------------------------
    CSS of Features section
------------------------------------------------------------*/
.service-features {
  position: relative;
}
.service-features__main {
  position: relative;
  padding: 76px 0 128px;
}
@media only screen and (max-width: 1023px) {
  .service-features__main {
    padding: 60px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .service-features__main {
    padding: 48px 0 64px;
  }
}
.service-features__body .c-part1 + .c-part1 {
  margin-top: 80px;
}
@media only screen and (max-width: 1023px) {
  .service-features__body .c-part1 + .c-part1 {
    margin-top: 96px;
  }
}
@media only screen and (max-width: 767px) {
  .service-features__body .c-part1 + .c-part1 {
    margin-top: 64px;
  }
}
.service-features__body .c-part1__right {
  background-color: transparent;
}
.service-features__footer {
  position: relative;
  padding: 80px 0 0;
}
@media only screen and (max-width: 1023px) {
  .service-features__footer {
    padding: 96px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .service-features__footer {
    padding: 64px 0 0;
  }
}
/*------------------------------------------------------------
    CSS of Optional section
------------------------------------------------------------*/
.service-optional {
  position: relative;
}
.service-optional__main {
  position: relative;
  padding: 68px 0 128px;
  background-color: #fff;
}
@media only screen and (max-width: 1023px) {
  .service-optional__main {
    padding: 60px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .service-optional__main {
    padding: 48px 0 64px;
  }
}
.service-optional__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: 1023px) {
  .service-optional__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;
  }
}
.service-optional__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 30.7142857143%;
  min-width: 334px;
}
@media only screen and (max-width: 1023px) {
  .service-optional__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
  }
}
.service-optional__thumb {
  position: relative;
  width: 100%;
  background-color: #b3b3b3;
  overflow: hidden;
}
.service-optional__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
@media only screen and (max-width: 1023px) {
  .service-optional__thumb::before {
    padding-top: 47.7777777778%;
  }
}
@media only screen and (max-width: 767px) {
  .service-optional__thumb::before {
    padding-top: 100%;
  }
}
.service-optional__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;
}
.service-optional__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 69.2857142857%;
  padding-left: 56px;
}
@media only screen and (max-width: 1023px) {
  .service-optional__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 48px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .service-optional__right {
    margin-top: 39px;
  }
}
.service-optional__right .c-note1 {
  margin-top: -2px;
}
.service-optional__price {
  margin-top: 36px;
}
@media only screen and (max-width: 767px) {
  .service-optional__price {
    margin-top: 25px;
  }
}
/*------------------------------------------------------------
    CSS of Snowmelt section
------------------------------------------------------------*/
.service-snowmelt {
  position: relative;
}
.service-snowmelt__bg {
  position: relative;
  width: 100%;
  height: 480px;
}
.service-snowmelt__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.service-snowmelt__main {
  position: relative;
  padding: 56px 0 128px;
}
@media only screen and (max-width: 1023px) {
  .service-snowmelt__main {
    padding: 48px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .service-snowmelt__main {
    padding: 36px 0 64px;
  }
}
.service-snowmelt__heading .c-title6 {
  margin: 0 -10px;
}
@media only screen and (max-width: 767px) {
  .service-snowmelt__heading .c-title6 {
    margin: 0;
  }
}
.service-snowmelt__description {
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .service-snowmelt__description {
    margin-top: 22px;
  }
}
.service-snowmelt__box {
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .service-snowmelt__box {
    margin-top: 20px;
  }
}
.service-snowmelt__body {
  margin-top: 64px;
}
@media only screen and (max-width: 767px) {
  .service-snowmelt__body {
    margin-top: 48px;
  }
}
.service-snowmelt__body .c-problem2 {
  margin-top: 36px;
}
/*------------------------------------------------------------
    CSS of FAQ section
------------------------------------------------------------*/
.service-faq {
  position: relative;
}
.service-faq__main {
  position: relative;
  padding: 68px 0 128px;
}
@media only screen and (max-width: 1023px) {
  .service-faq__main {
    padding: 60px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .service-faq__main {
    padding: 60px 0 64px;
  }
}
/*------------------------------------------------------------
    CSS of Menu page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
.menu-heading {
  position: relative;
}
@media only screen and (max-width: 1023px) {
  .menu-heading {
    padding: 48px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .menu-heading {
    padding: 46px 0 0;
  }
}
/*------------------------------------------------------------
    CSS of Ulgo section
------------------------------------------------------------*/
.menu-ulgo {
  position: relative;
}
.menu-ulgo__body {
  padding-top: 81px;
}
/*------------------------------------------------------------
    CSS of Gyeon section
------------------------------------------------------------*/
.menu-gyeon {
  position: relative;
  padding: 128px 0 0;
}
.menu-gyeon__body {
  padding-top: 81px;
}
/*------------------------------------------------------------
    CSS of Ultracoat section
------------------------------------------------------------*/
.menu-ultracoat {
  position: relative;
  padding: 128px 0;
}
@media only screen and (max-width: 1023px) {
  .menu-ultracoat {
    padding: 128px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .menu-ultracoat {
    padding: 128px 0 64px;
  }
}
.menu-ultracoat__body {
  padding-top: 81px;
}
/*------------------------------------------------------------
    CSS of Optional section
------------------------------------------------------------*/
.menu-optional {
  position: relative;
}
.menu-optional__main {
  position: relative;
  padding: 68px 0 128px;
  background-color: #fff;
}
@media only screen and (max-width: 1023px) {
  .menu-optional__main {
    padding: 60px 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .menu-optional__main {
    padding: 48px 0 64px;
  }
}
.menu-optional__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: 1023px) {
  .menu-optional__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;
  }
}
.menu-optional__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 30.7142857143%;
  min-width: 334px;
}
@media only screen and (max-width: 1023px) {
  .menu-optional__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
  }
}
.menu-optional__thumb {
  position: relative;
  width: 100%;
  background-color: #b3b3b3;
  overflow: hidden;
}
.menu-optional__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
@media only screen and (max-width: 1023px) {
  .menu-optional__thumb::before {
    padding-top: 47.7777777778%;
  }
}
@media only screen and (max-width: 767px) {
  .menu-optional__thumb::before {
    padding-top: 100%;
  }
}
.menu-optional__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;
}
.menu-optional__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 69.2857142857%;
  padding-left: 56px;
}
@media only screen and (max-width: 1023px) {
  .menu-optional__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 48px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .menu-optional__right {
    margin-top: 39px;
  }
}
.menu-optional__right .c-note1 {
  margin-top: 1px;
}
.menu-optional__price {
  margin-top: 41px;
}
@media only screen and (max-width: 767px) {
  .menu-optional__price {
    margin-top: 25px;
  }
}
/*------------------------------------------------------------
    CSS of Company page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Problem section
------------------------------------------------------------*/
.company-problem {
  position: relative;
}
.company-problem__main {
  position: relative;
  background-image: url("/assets/img/company/problem-bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 52px 0 54px;
}
@media only screen and (max-width: 767px) {
  .company-problem__main {
    background-image: url("/assets/img/company/problem-bg@sp.jpg");
  }
}
.company-problem__text {
  margin-top: 42px;
  font-weight: 500;
  text-align: center;
}
/*------------------------------------------------------------
    CSS of Message section
------------------------------------------------------------*/
.company-message {
  position: relative;
  padding: 128px 0 0;
}
@media only screen and (max-width: 1023px) {
  .company-message {
    padding: 96px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .company-message {
    padding: 64px 0 0;
  }
}
.company-message__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: 1023px) {
  .company-message__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;
  }
}
.company-message__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 53.5714285714%;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .company-message__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    padding-right: 0;
  }
}
.company-message__leftinner {
  width: 100%;
  max-width: 520px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .company-message__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.company-message__heading {
  margin-top: -2px;
}
.company-message__body {
  margin-top: 35px;
  max-width: 560px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .company-message__body {
    max-width: unset;
    margin-right: 0;
  }
}
.company-message__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 46.4285714286%;
}
@media only screen and (max-width: 1023px) {
  .company-message__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 37px;
  }
}
.company-message__thumb {
  position: relative;
  width: 100%;
  max-height: 520px;
  background-color: #ccc;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .company-message__thumb {
    height: 520px;
  }
}
.company-message__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
@media only screen and (max-width: 1023px) {
  .company-message__thumb::before {
    content: none;
  }
}
.company-message__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) {
  .company-message__thumb img {
    position: relative;
    top: unset;
    left: unset;
  }
}
/*------------------------------------------------------------
    CSS of Outline section
------------------------------------------------------------*/
.company-outline {
  position: relative;
  padding: 128px 0;
}
@media only screen and (max-width: 1023px) {
  .company-outline {
    padding: 96px 0;
  }
}
@media only screen and (max-width: 767px) {
  .company-outline {
    padding: 64px 0;
  }
}
.company-outline__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: 1023px) {
  .company-outline__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;
  }
}
.company-outline__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 53.5714285714%;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .company-outline__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    padding-right: 0;
  }
}
.company-outline__leftinner {
  width: 100%;
  max-width: 520px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .company-outline__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.company-outline__heading {
  margin-top: -2px;
}
.company-outline__body {
  margin-top: 35px;
  max-width: 560px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .company-outline__body {
    max-width: unset;
    margin-right: 0;
  }
}
.company-outline__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 46.4285714286%;
}
@media only screen and (max-width: 1023px) {
  .company-outline__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 37px;
  }
}
.company-outline__map {
  position: relative;
  width: 100%;
  max-height: 520px;
  background-color: #ccc;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .company-outline__map {
    height: 520px;
  }
}
.company-outline__map::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
@media only screen and (max-width: 1023px) {
  .company-outline__map::before {
    content: none;
  }
}
.company-outline__map 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) {
  .company-outline__map img {
    position: relative;
    top: unset;
    left: unset;
  }
}
.company-outline__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
/*------------------------------------------------------------
    CSS of Form page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.form-main {
  position: relative;
  padding: 0 0 128px;
}
@media only screen and (max-width: 1023px) {
  .form-main {
    padding: 0 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .form-main {
    padding: 0 0 64px;
  }
}
.form-main__heading {
  margin-top: -2px;
}
.form-main__box2 {
  margin-top: 61px;
}
@media only screen and (max-width: 767px) {
  .form-main__box2 {
    margin-top: 53px;
  }
}
.form-main__body {
  padding-top: 62px;
}
@media only screen and (max-width: 767px) {
  .form-main__body {
    padding-top: 54px;
  }
}
.form-main__box3 {
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .form-main__box3 {
    margin-top: 13px;
  }
}
.mw_wp_form .c-radio__group .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .c-checkbox__group .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form_confirm .c-input,
.mw_wp_form_confirm .c-datepicker,
.mw_wp_form_confirm .c-radio__group,
.mw_wp_form_confirm .c-checkbox__group {
  width: 100%;
  min-height: 29px;
  margin: 0;
  color: #20203b;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.025em;
}
.mw_wp_form_confirm .c-datepicker::after {
  content: none;
}
.mw_wp_form_confirm .c-box3__accept .c-checkbox__group {
  margin-top: 12px;
}
.mw_wp_form_confirm .c-box3__row4 .c-input__item:nth-child(2) {
  display: none;
}
.mw_wp_form_confirm .c-box3__row10 .c-input__itemlabel {
  display: none;
}
.mw_wp_form_confirm .c-box3__row10 .c-input__itemlabel + .c-input__iteminput {
  margin-top: 0;
}
.grecaptcha-badge {
  bottom: 248px !important;
  z-index: 2;
}
@media only screen and (min-width: 1024px) {
  .grecaptcha-badge {
    right: -106px !important;
  }
}
@media only screen and (max-width: 767px) {
  .grecaptcha-badge {
    bottom: 78px !important;
  }
}
/*------------------------------------------------------------
    CSS of News page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Archive section
------------------------------------------------------------*/
.news-archive {
  position: relative;
  padding: 0 0 128px;
}
@media only screen and (max-width: 1023px) {
  .news-archive {
    padding: 0 0 96px;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive {
    padding: 0 0 64px;
  }
}
.news-archive__body {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .news-archive__body {
    margin-top: 23px;
  }
}
.news-archive__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;
}
@media only screen and (max-width: 1023px) {
  .news-archive__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -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: 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: 0;
  }
}
.news-archive__item {
  width: 100%;
}
@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;
  }
}
.news-archive__item + .news-archive__item {
  margin-top: 40px;
}
@media only screen and (max-width: 1023px) {
  .news-archive__item + .news-archive__item {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .news-archive__item + .news-archive__item {
    margin-top: 24px;
  }
}
.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: 122px 0 125px;
}
@media only screen and (max-width: 1023px) {
  .news-single {
    padding: 96px 0 93px;
  }
}
@media only screen and (max-width: 767px) {
  .news-single {
    padding: 64px 0 61px;
  }
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Utility .u-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Display
------------------------------------------------------------*/
.u-none {
  display: none;
}
.u-inblock {
  display: inline-block;
}
.u-fullscreen {
  height: 100%;
  overflow-y: scroll;
}
.u-fullscreen body {
  height: 100%;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}
/*------------------------------------------------------------
    Background
------------------------------------------------------------*/
/*------------------------------------------------------------
    Spacing
------------------------------------------------------------*/
/*------------------------------------------------------------
    Font
------------------------------------------------------------*/
.u-sans {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.u-big-shoulders {
  font-family: "Big Shoulders", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.u-inter {
  font-family: "Inter", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.u-serif {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}
/*------------------------------------------------------------
    Text
------------------------------------------------------------*/
.u-bold {
  font-weight: 700;
}
.u-palt {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}
.u-alignright {
  text-align: right;
}
.u-aligncenter {
  text-align: center;
}
@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;
  }
}