@charset "UTF-8";
@font-face {
  font-family: "A-OTF-MidashiGoPro-MB31";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/A-OTF-MidashiGoPro-MB31.otf") format("opentype");
}
:root {
  --theme-color: #324da3;
}

/*------------------------------------------------------------
    Animation
------------------------------------------------------------*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeUpSlow {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fadeUpSlow {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes fadeRightSlow {
  0% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes fadeRightSlow {
  0% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@-webkit-keyframes buttonArrow {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translate(8px, 0);
    transform: translate(8px, 0);
  }
  30% {
    -webkit-transform: translate(-8px, 0);
    transform: translate(-8px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes buttonArrow {
  0% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  29% {
    opacity: 0;
    -webkit-transform: translate(8px, 0);
    transform: translate(8px, 0);
  }
  30% {
    -webkit-transform: translate(-8px, 0);
    transform: translate(-8px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@-webkit-keyframes titleExpand1 {
  0% {
    background-size: 0% 100%;
    background-position: left bottom;
  }
  12.5% {
    background-size: 100% 100%;
    background-position: left bottom;
  }
  87.5% {
    background-size: 100% 100%;
    background-position: right bottom;
  }
  100% {
    background-size: 0% 100%;
    background-position: right bottom;
  }
}
@keyframes titleExpand1 {
  0% {
    background-size: 0% 100%;
    background-position: left bottom;
  }
  12.5% {
    background-size: 100% 100%;
    background-position: left bottom;
  }
  87.5% {
    background-size: 100% 100%;
    background-position: right bottom;
  }
  100% {
    background-size: 0% 100%;
    background-position: right bottom;
  }
}
@-webkit-keyframes titleExpand2 {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  22.5% {
    opacity: 1;
  }
  77.5% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes titleExpand2 {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 0;
  }
  22.5% {
    opacity: 1;
  }
  77.5% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes btnExpand1 {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  12.5% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  87.5% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
}
@keyframes btnExpand1 {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  12.5% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  87.5% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
}
@-webkit-keyframes btnExpand2 {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  14.28% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  85.72% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
}
@keyframes btnExpand2 {
  0% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
  14.28% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  85.72% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    opacity: 0;
  }
}
/*------------------------------------------------------------
    Reset
------------------------------------------------------------*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}
html {
  font-size: 62.5%;
}
body,
table,
input,
textarea,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
input,
textarea {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
table,
input,
textarea,
select,
option {
  line-height: 1.1;
}
select {
  cursor: pointer;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
input,
textarea {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
:focus {
  outline: 0;
}
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
img {
  vertical-align: top;
}
a,
a img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a {
  color: inherit;
  text-decoration: none;
}
@media only screen and (min-width: 1023px) {
  a:hover, a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}
button {
  cursor: pointer;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  border: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  button:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
}
img {
  max-width: 100%;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Layout .l-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Navigation
------------------------------------------------------------*/
.c-nav1__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-nav1__item + .c-nav1__item {
  margin-left: 28px;
}
@media only screen and (min-width: 1023px) {
  .c-nav1__item:hover .c-nav1__link::after {
    background-size: 100% 100%;
    background-position: left bottom;
  }
  .c-nav1__item:hover .c-nav1__sub {
    opacity: 1;
    visibility: visible;
    pointer-events: unset;
  }
}
.c-nav1__link {
  display: inline-block;
  position: relative;
  padding: 13px 0;
  color: #324da3;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.c-nav1__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -10px;
  width: calc(100% + 20px);
  height: 8px;
  background-image: -webkit-linear-gradient(bottom, #324da3 8px, rgba(255, 255, 255, 0) 8px);
  background-image: linear-gradient(to top, #324da3 8px, rgba(255, 255, 255, 0) 8px);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: right bottom;
  -webkit-transition: background-size 0.3s ease-in-out;
  transition: background-size 0.3s ease-in-out;
}
@media only screen and (min-width: 1023px) {
  .c-nav1__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-nav1__link:hover::after {
    background-size: 100% 100%;
    background-position: left bottom;
  }
}
.c-nav1__link.is-active::after {
  background-size: 100% 100%;
  background-position: left bottom;
}
.c-nav1__sub {
  position: fixed;
  top: 149px;
  left: 0;
  width: 100%;
  max-height: calc(100% - 149px);
  padding: 30px 0 60px;
  background-color: rgba(247, 247, 247, 0.95);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 19;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-nav1__sub {
    display: none;
  }
}
.c-nav1__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.c-nav1__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 27.2058823529%;
  min-width: 270px;
}
.c-nav1__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: 17px;
}
.c-nav1__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 72.7941176471%;
  padding-left: 40px;
}
.c-nav1__sublist {
  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: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 -20px;
}
.c-nav1__subitem {
  width: calc(50% - 40px);
  max-width: 336px;
  margin: 0 20px;
  border-bottom: 1px solid #ddd;
}
.c-nav1__sublink {
  display: block;
  position: relative;
  width: 100%;
  padding: 25px 30px 25px 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.45;
}
.c-nav1__sublink::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #324da4;
  z-index: 1;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.c-nav1__sublink::after {
  content: "\e900";
  display: inline-block;
  position: absolute;
  top: 32px;
  right: 0;
  color: #324da3;
  font-family: "icomoon";
  font-size: 1.549rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 1023px) {
  .c-nav1__sublink:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-nav1__sublink:hover::before {
    width: 100%;
  }
  .c-nav1__sublink:hover::after {
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-nav2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.c-nav2__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  padding-left: 31px;
  padding-right: 30px;
}
.c-nav2__list::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 1px;
  height: calc(100% + 3px);
  background-color: #4b63b1;
}
.c-nav2__list:nth-child(1) {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 34.0189873418%;
  flex: 1 0 34.0189873418%;
}
.c-nav2__list:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 36.3924050633%;
  flex: 1 0 36.3924050633%;
}
.c-nav2__list:nth-child(3) {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 29.5886075949%;
  flex: 1 0 29.5886075949%;
}
.c-nav2__list:last-child {
  padding-right: 0;
}
.c-nav2__item + .c-nav2__item {
  margin-top: 19px;
}
.c-nav2__item + .c-nav2__item:has(.c-nav2__sublist) {
  margin-top: 32px;
}
.c-nav2__item:has(.c-nav2__sublist) + .c-nav2__item {
  margin-top: 30px;
}
.c-nav2__link {
  display: inline-block;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-nav2__link + .c-nav2__sublist {
  margin-top: 8px;
}
.c-nav2__sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: -2px;
}
.c-nav2__subitem + .c-nav2__subitem {
  margin-top: 6px;
}
.c-nav2__sublink {
  display: inline-block;
  position: relative;
  padding-left: 16px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.429;
}
.c-nav2__sublink::before {
  content: "";
  display: block;
  position: absolute;
  top: 11px;
  left: 0;
  width: 10px;
  height: 1px;
  background-color: #fff;
}
.c-nav3__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 -8px -16px;
}
@media only screen and (max-width: 767px) {
  .c-nav3__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0;
  }
}
.c-nav3__item {
  width: calc(25% - 16px);
  margin: 0 8px 16px;
}
@media only screen and (max-width: 767px) {
  .c-nav3__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-nav3__item + .c-nav3__item {
    margin-top: 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;
  width: 100%;
  height: 100%;
  min-height: 91px;
  padding: 17px 24px 16px;
  background-color: #31a39f;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (min-width: 1023px) {
  .c-nav3__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #324da3;
  }
}
.c-nav3__link.is-active {
  background-color: #324da3;
  pointer-events: none;
}
.c-nav4__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.c-nav4__item {
  width: 100%;
}
.c-nav4__item + .c-nav4__item {
  margin-top: 14px;
}
.c-nav4__link {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 32px;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
}
.c-nav4__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 20px;
  height: 2px;
  background-color: #324da4;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-nav4__link.is-active {
  color: #aaa;
  pointer-events: none;
}
.c-nav4__link.is-active::before {
  background-color: #aaa;
}
@media only screen and (min-width: 1023px) {
  .c-nav4__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #aaa;
  }
  .c-nav4__link:hover::before {
    background-color: #aaa;
  }
}
.c-nav5 {
  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-nav5 {
    -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;
  }
}
.c-nav5__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: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.c-nav5__list:nth-child(1) {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 34.5588235294%;
  flex: 1 0 34.5588235294%;
}
@media only screen and (max-width: 767px) {
  .c-nav5__list:nth-child(1) {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
  }
}
.c-nav5__list:nth-child(2) {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 34.5588235294%;
  flex: 1 0 34.5588235294%;
}
@media only screen and (max-width: 767px) {
  .c-nav5__list:nth-child(2) {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
  }
}
.c-nav5__list:nth-child(3) {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 30.8823529412%;
  flex: 1 0 30.8823529412%;
}
@media only screen and (max-width: 767px) {
  .c-nav5__list:nth-child(3) {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 100%;
    flex: 1 1 100%;
  }
}
.c-nav5__list:last-child {
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .c-nav5__list + .c-nav5__list {
    margin-top: 11px;
  }
}
.c-nav5__item + .c-nav5__item {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__item + .c-nav5__item {
    margin-top: 11px;
  }
}
.c-nav5__item + .c-nav5__item:has(.c-nav5__sublist) {
  margin-top: 49px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__item + .c-nav5__item:has(.c-nav5__sublist) {
    margin-top: 11px;
  }
}
.c-nav5__item:has(.c-nav5__sublist) + .c-nav5__item {
  margin-top: 47px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__item:has(.c-nav5__sublist) + .c-nav5__item {
    margin-top: 11px;
  }
}
.c-nav5__link {
  display: inline-block;
  color: #404040;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__link {
    font-size: 1.6rem;
    line-height: 1.5;
    text-underline-offset: 2px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-nav5__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #aaa;
  }
}
.c-nav5__link + .c-nav5__sublist {
  margin-top: 17px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__link + .c-nav5__sublist {
    margin-top: 8px;
  }
}
.c-nav5__sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.c-nav5__subitem + .c-nav5__subitem {
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__subitem + .c-nav5__subitem {
    margin-top: 6px;
  }
}
.c-nav5__sublink {
  display: inline-block;
  position: relative;
  padding-left: 22px;
  color: #404040;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.421;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
@media only screen and (max-width: 767px) {
  .c-nav5__sublink {
    font-size: 1.4rem;
    line-height: 1.429;
  }
}
.c-nav5__sublink::before {
  content: "";
  display: block;
  position: absolute;
  top: 14px;
  left: 0;
  width: 13px;
  height: 1px;
  background-color: #31a39f;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-nav5__sublink::before {
    top: 10px;
    width: 12px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-nav5__sublink:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #aaa;
  }
  .c-nav5__sublink:hover::before {
    background-color: #aaa;
  }
}
.c-nav6__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-nav6__item {
  position: relative;
  width: 100%;
  padding: 12px 0 14px;
  border-bottom: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-nav6__item:has(.c-nav6__sublist) .c-nav6__link::after {
  content: "\e900";
}
.c-nav6__item:first-child {
  border-top: 1px solid #ddd;
}
.c-nav6__link {
  display: block;
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.c-nav6__link::after {
  content: none;
  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: 6px;
  right: 1px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  width: 12px;
  height: 12px;
  color: #324da3;
  font-family: "icomoon";
  font-size: 1.24rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-nav6__link.is-open::after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.c-nav6__sub {
  display: none;
}
.c-nav6__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: 8px 0 1px;
}
.c-nav6__subitem {
  width: 100%;
}
.c-nav6__subitem + .c-nav6__subitem {
  margin-top: 6px;
}
.c-nav6__sublink {
  display: block;
  position: relative;
  padding-left: 21px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.429;
}
.c-nav6__sublink::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 12px;
  height: 1px;
  background-color: #324da4;
}
/*------------------------------------------------------------
    Header
------------------------------------------------------------*/
@media only screen and (max-width: 1023px) {
  .c-header:has(.c-header__menuouter.is-show) .c-header__inner.is-default {
    padding: 20px 92px 20px 20px;
  }
}
@media only screen and (max-width: 1023px) {
  .c-header:has(.c-header__menuouter.is-show) .c-header__logo img {
    width: 180px;
  }
}
.c-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 50px 40px 0;
  background-color: transparent;
  z-index: 20;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 1023px) {
  .c-header__inner {
    padding: 20px 92px 20px 20px;
  }
}
.c-header__inner:has(.c-nav1__item:hover) {
  background-color: rgba(255, 255, 255, 0.7);
}
@media only screen and (max-width: 1023px) {
  .c-header__inner:has(.c-nav1__item:hover) {
    background-color: rgba(255, 255, 255, 0.97);
  }
}
.c-header__inner.is-default {
  padding: 30px 40px 0;
  background-color: rgba(255, 255, 255, 0.7);
}
@media only screen and (max-width: 1023px) {
  .c-header__inner.is-default {
    padding: 19px 92px 19px 20px;
    background-color: rgba(255, 255, 255, 0.97);
  }
}
@media only screen and (max-width: 1023px) {
  .c-header__inner.is-default .c-header__logo img {
    width: 150px;
  }
}
.c-header__inner.is-default .c-nav1__sub {
  top: 140px;
  max-height: calc(100% - 140px);
}
.c-header__inner.is-default .c-nav1__link {
  padding: 13px 0 24px;
}
.c-header__logowrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 100%;
}
.c-header__logo {
  display: inline-block;
}
.c-header__logo img {
  width: 250px;
}
@media only screen and (max-width: 1023px) {
  .c-header__logo img {
    width: 180px;
  }
}
.c-header__rside {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  position: relative;
  margin-left: auto;
  padding-left: 40px;
}
@media only screen and (max-width: 1023px) {
  .c-header__rside {
    display: none;
  }
}
.c-header__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-header__linklist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}
.c-header__linkitem + .c-header__linkitem {
  margin-left: 25px;
}
.c-header__link {
  display: inline-block;
  color: #324da3;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.46;
  text-align: center;
  text-decoration: underline;
}
.c-header__groupbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-left: 21px;
}
.c-header__itembtn + .c-header__itembtn {
  margin-left: 10px;
}
.c-header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 176px;
  padding: 11px 24px 10px;
  background-color: #324da3;
  border-radius: 23px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.c-header__btn--green {
  background-color: #32a39f;
}
.c-header__nav {
  margin-top: 4px;
}
.c-header__menubtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 25;
}
.c-header__menuouter {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .c-header__menuouter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    padding-top: 86px;
    background-color: rgba(255, 255, 255, 0.97);
    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;
  }
}
.c-header__menuouter.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: unset;
}
.c-header__menu {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.c-header__menuinner {
  width: 100%;
  height: 100%;
  max-height: 100vh;
  padding: 25px 42px 120px;
  overflow-x: hidden;
  overflow-y: auto;
}
@media only screen and (max-width: 374px) {
  .c-header__menuinner {
    padding: 25px 32px 120px;
  }
}
.c-header__menulinklist {
  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: 15px;
}
.c-header__menulinkitem + .c-header__menulinkitem {
  margin-top: 8px;
}
.c-header__menulink {
  display: inline-block;
  color: #324da3;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.46;
  text-align: center;
  text-decoration: underline;
}
.c-header__menugroupbtn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 22px -5px 0;
}
.c-header__menuitembtn {
  width: calc(50% - 10px);
  margin: 0 5px;
}
.c-header__menubutton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 13px 14px 12px;
  background-color: #324da3;
  border-radius: 23px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.429;
  text-align: center;
}
.c-header__menubutton--green {
  background-color: #32a39f;
}
/*------------------------------------------------------------
    Footer
------------------------------------------------------------*/
.c-footer {
  position: relative;
  padding: 100px 0 93px;
  background-color: #324da3;
}
@media only screen and (max-width: 767px) {
  .c-footer {
    padding: 92px 0 67px;
  }
}
.c-footer__logowrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.c-footer__logo {
  display: inline-block;
}
.c-footer__logo img {
  width: 250px;
}
@media only screen and (max-width: 767px) {
  .c-footer__logo img {
    width: 200px;
  }
}
.c-footer__sociallist {
  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;
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .c-footer__sociallist {
    margin-top: 39px;
  }
}
.c-footer__socialitem + .c-footer__socialitem {
  margin-left: 17px;
}
.c-footer__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-footer__social .icon {
  color: #fff;
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
}
.c-footer__nav {
  margin-top: 53px;
}
.c-footer__linklist {
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-footer__linklist {
    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: 32px -6px -4px;
  }
}
.c-footer__linkitem {
  margin: 0 6px 4px;
}
.c-footer__link {
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.c-footer__copyright {
  margin-top: 95px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.167;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-footer__copyright {
    margin-top: 38px;
  }
}
/*------------------------------------------------------------
    Layout
------------------------------------------------------------*/
body {
  position: relative;
  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;
  }
}
/*------------------------------------------------------------
    Container
------------------------------------------------------------*/
.l-container {
  width: 100%;
  max-width: 1168px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 767px) {
  .l-container {
    padding: 0 30px;
  }
}
.l-container--w980 {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 767px) {
  .l-container--w980 {
    padding: 0 30px;
  }
}
.l-container--w880 {
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 767px) {
  .l-container--w880 {
    padding: 0 30px;
  }
}
.l-container--w712 {
  width: 100%;
  max-width: 712px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 767px) {
  .l-container--w712 {
    padding: 0 30px;
  }
}
.l-container--w602 {
  width: 100%;
  max-width: 602px;
  margin: 0 auto;
  padding: 0 40px;
}
@media only screen and (max-width: 767px) {
  .l-container--w602 {
    padding: 0 30px;
  }
}
.l-wrapper {
  position: relative;
}
.l-wrapper__heading {
  position: sticky;
  top: 0;
}
.l-wrapper__body {
  position: relative;
  margin-top: -60px;
  background-color: #fff;
  border-radius: 50px 50px 0 0;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .l-wrapper__body {
    margin-top: -35px;
    border-radius: 30px 30px 0 0;
  }
}
/*------------------------------------------------------------
    Mainvisual
------------------------------------------------------------*/
.c-mv {
  position: relative;
  width: 100%;
  height: 100vh;
  padding: 194px 0 36px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv {
    padding: 100px 0 0;
  }
}
.c-mv__inner {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.c-mv__bg {
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-mv__bg {
    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-mv__group {
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 1023px) {
  .c-mv__group {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}
.c-mv__slider {
  width: 100%;
  height: 100%;
  padding: 0 83px;
}
@media only screen and (max-width: 767px) {
  .c-mv__slider {
    padding: 0 57px;
  }
}
@media only screen and (max-width: 374px) {
  .c-mv__slider {
    padding: 0 37px;
  }
}
.c-mv__thumb {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-mv__thumb {
    border-radius: 20px;
  }
}
.c-mv__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-mv__pagi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: absolute;
  bottom: 0;
  right: 83px;
  width: auto !important;
  max-width: calc(100% - 166px);
  padding: 21px 23px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv__pagi {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    bottom: unset;
    right: unset;
    width: 100% !important;
    max-width: 100%;
    padding: 46px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__pagi {
    padding: 23px 30px;
  }
}
.c-mv__dot {
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  background-color: #fff;
  border-radius: 50%;
  -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;
}
@media only screen and (max-width: 767px) {
  .c-mv__dot {
    width: 10px;
    height: 10px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-mv__dot:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #324da3;
  }
}
.c-mv__dot.is-active {
  background-color: #324da3;
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .c-mv__dot.is-active {
    background-color: #4370ff;
  }
}
.c-mv__dot + .c-mv__dot {
  margin-left: 15px;
}
@media only screen and (max-width: 767px) {
  .c-mv__dot + .c-mv__dot {
    margin-left: 1.15rem;
  }
}
.c-mv__content {
  position: absolute;
  top: 0;
  right: 83px;
  max-width: calc(100% - 166px);
  max-height: 100%;
  padding: 44px 56px;
  overflow: hidden;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv__content {
    top: unset;
    bottom: 0;
    right: 0;
    width: 100%;
    max-width: unset;
    max-height: 100%;
    padding: 40px 107px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__content {
    padding: 20px 67px;
  }
}
.c-mv__title {
  color: #324da3;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.75;
  text-align: right;
}
@media only screen and (max-width: 1023px) {
  .c-mv__title {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__title {
    font-size: 2rem;
  }
}
.c-mv2 {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 768px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv2 {
    height: 100vh;
    min-height: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2 {
    height: calc(100vh - 68px);
  }
}
.c-mv2__inner {
  position: relative;
  width: 100%;
  max-width: 177.8645833333vh;
  height: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__inner {
    max-width: max(72%, 74.21875vh);
    min-height: 620px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2__inner {
    max-width: max(72%, 53.90625vh);
  }
}
.c-mv2__inner::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.2225475842%;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__inner::before {
    padding-top: 169.0821256039%;
  }
}
.c-mv2__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 768px;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__bg {
    min-height: unset;
  }
}
.c-mv2__ellipse1 {
  position: absolute;
  /* top: 4.6875%;
  left: 16.6178623719%;
  width: 31.8448023426%; */
  top: 13.1510416667%;
  left: 18.8872620791%;
  width: 26.7935578331%;
  min-width: 314px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__ellipse1 {
    top: 12.5714285714%;
    left: -10.2125603865%;
    width: 52.1062801932%;
    min-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2__ellipse1 {
    top: 12.5714285714%;
    left: -8.2125603865%;
    width: 54.1062801932%;
  }
}
.c-mv2__shape1 {
  display: block;
  position: relative;
  width: 100%;
  background-color: #fff;
  -webkit-mask-image: url("/assets/img/common/ellipse-1.svg");
  mask-image: url("/assets/img/common/ellipse-1.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-mv2__shape1::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 82.2988505747%;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__shape1::before {
    padding-top: 82.1428571429%;
  }
}
.c-mv2__shadow1 {
  display: block;
  position: absolute;
  bottom: -6.9832402235%;
  right: -3.908045977%;
  width: 100%;
  background-color: rgba(50, 155, 164, 0.3);
  -webkit-mask-image: url("/assets/img/common/ellipse-1.svg");
  mask-image: url("/assets/img/common/ellipse-1.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: -1;
}
.c-mv2__shadow1::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 82.2988505747%;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__shadow1::before {
    padding-top: 82.1428571429%;
  }
}
.c-mv2__ellipse2 {
  position: absolute;
  /* top: 23.046875%;
  left: 39.5314787701%;
  width: 61.2005856515%; */
  top: 30.078125%;
  left: 44.3631039531%;
  width: 51.5373352856%;
  min-width: 604px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__ellipse2 {
    top: 23.7142857143%;
    left: 34.884057971%;
    width: 91.6859903382%;
    min-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2__ellipse2 {
    top: 19.7142857143%;
    left: 31.884057971%;
    width: 94.6859903382%;
  }
}
.c-mv2__shape2 {
  display: block;
  position: relative;
  width: 100%;
  background-color: #fff;
  -webkit-mask-image: url("/assets/img/common/ellipse-2.svg");
  mask-image: url("/assets/img/common/ellipse-2.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-mv2__shape2::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 82.2966507177%;
}
.c-mv2__shadow2 {
  display: block;
  position: absolute;
  bottom: -4.9418604651%;
  right: -2.8708133971%;
  width: 100%;
  background-color: rgba(50, 155, 164, 0.3);
  -webkit-mask-image: url("/assets/img/common/ellipse-2.svg");
  mask-image: url("/assets/img/common/ellipse-2.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: -1;
}
.c-mv2__shadow2::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 82.2966507177%;
}
.c-mv2__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-mv2__thumb {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.c-mv2__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-mv2__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.c-mv2__contentinner {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.c-mv2__contentslider {
  position: relative;
  width: 100%;
  height: 100%;
}
.c-mv2__contentslide.swiper-slide-active .c-mv2__title.u-anime > span::after {
  -webkit-animation: titleExpand1 4s cubic-bezier(0.645, 0.045, 0.355, 1) both 0.4s;
  animation: titleExpand1 4s cubic-bezier(0.645, 0.045, 0.355, 1) both 0.4s;
}
.c-mv2__contentslide.swiper-slide-active .c-mv2__title.u-anime > span > span {
  -webkit-animation: titleExpand2 4s cubic-bezier(0.645, 0.045, 0.355, 1) both 0.4s;
  animation: titleExpand2 4s cubic-bezier(0.645, 0.045, 0.355, 1) both 0.4s;
}
.c-mv2__contentslide.swiper-slide-active .c-mv2__btninner.u-anime {
  -webkit-animation: btnExpand1 4s ease both 0.4s;
  animation: btnExpand1 4s ease both 0.4s;
}
.c-mv2__contentslide.swiper-slide-active .c-mv2__btninner.is-first.u-anime {
  -webkit-animation: btnExpand2 3.5s ease both 1.2s;
  animation: btnExpand2 3.5s ease both 1.2s;
}
.c-mv2__main {
  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: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 149px 80px 77px;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__main {
    padding: 98px 60px 107px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2__main {
    padding: 98px 30px 27px;
  }
}
.c-mv2__maincontent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
}
.c-mv2__title1 {
  margin-bottom: 7.960199005%;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title1 {
    margin-bottom: 7.9096045198%;
  }
}
.c-mv2__titleen {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 15px 26px 11px 25px;
  background-color: #2025ac;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__titleen {
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2__titleen {
    padding: 8px 12px 9px 11px;
    font-size: 2rem;
    line-height: 1.25;
  }
}
.c-mv2__titleen + .c-mv2__titleja {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__titleen + .c-mv2__titleja {
    margin-top: 10px;
  }
}
.c-mv2__titleja {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 20px 37px 26px 25px;
  background-color: #2025ac;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__titleja {
    font-size: 6.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2__titleja {
    padding: 8px 19px 12px 11px;
    font-size: 4rem;
    line-height: 1.2;
  }
}
.c-mv2__title {
  padding-left: 4px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title {
    padding-left: 2px;
  }
}
.c-mv2__title > span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  padding: 6px 13px 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title > span {
    padding: 4px 18px 6px 9px;
    font-size: 1.9rem;
    line-height: 1.421;
  }
}
.c-mv2__title > span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-linear-gradient(bottom, #2025ac 100%, rgba(255, 255, 255, 0) 100%);
  background-image: linear-gradient(to top, #2025ac 100%, rgba(255, 255, 255, 0) 100%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: left bottom;
  z-index: -1;
}
.c-mv2__title > span + span {
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title > span + span {
    margin-top: 6px;
  }
}
.c-mv2__title > span:nth-child(2) {
  padding-right: 10px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title > span:nth-child(2) {
    padding-right: 11px;
  }
}
.c-mv2__title.u-anime > span > span {
  opacity: 0;
}
.c-mv2__title1 {
  padding-left: 4px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title1 {
    padding-left: 2px;
  }
}
.c-mv2__title1 > span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  padding: 7px 13px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1.45;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title1 > span {
    padding: 4px 18px 6px 9px;
    font-size: 1.9rem;
    line-height: 1.421;
  }
}
.c-mv2__title1 > span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: -webkit-linear-gradient(bottom, #2025ac 100%, rgba(255, 255, 255, 0) 100%);
  background-image: linear-gradient(to top, #2025ac 100%, rgba(255, 255, 255, 0) 100%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: left bottom;
  z-index: -1;
}
.c-mv2__title1 > span + span {
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title1 > span + span {
    margin-top: 6px;
  }
}
.c-mv2__title1 > span:nth-child(2) {
  padding-right: 10px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title1 > span:nth-child(2) {
    padding-right: 11px;
  }
}
.c-mv2__title2 > span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  padding: 25px 16px 27px 25px;
  background-color: #2025ac;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 5.8rem;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 1023px) {
  .c-mv2__title2 > span {
    font-size: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv2__title2 > span {
    padding: 8px 18px 11px 11px;
    font-size: 2.4rem;
    line-height: 1.25;
  }
}
@media only screen and (max-width: 374px) {
  .c-mv2__title2 > span {
    font-size: 2rem;
  }
}
.c-mv2__title2 > span + span {
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title2 > span + span {
    margin-top: 6px;
  }
}
.c-mv2__title2 > span:nth-child(1) {
  padding-right: 20px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__title2 > span:nth-child(1) {
    padding-right: 26px;
  }
}
.c-mv2__concept {
  display: block;
  position: relative;
  /* width: 438.593px; */
  width: 486.031px;
  max-width: 100%;
  /* height: 144.953px; */
  height: 160.631px;
  margin-top: 32px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-mv2__concept {
    width: 354px;
    height: 117px;
    margin-top: 19px;
  }
}
@media only screen and (max-width: 374px) {
  .c-mv2__concept {
    width: 260px;
    height: 85.93px;
  }
}
.c-mv2__concept svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: #2025ac;
  opacity: 0;
}
.c-mv2__concept.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.c-mv2__concept.u-anime svg:nth-child(1) {
  -webkit-animation: fadeUpSlow 0.6s ease forwards 0.8s;
  animation: fadeUpSlow 0.6s ease forwards 0.8s;
}
.c-mv2__concept.u-anime svg:nth-child(2) {
  -webkit-animation: fadeUpSlow 0.6s ease forwards 1s;
  animation: fadeUpSlow 0.6s ease forwards 1s;
}
.c-mv2__concept.u-anime svg:nth-child(3) {
  -webkit-animation: fadeUpSlow 0.6s ease forwards 1.2s;
  animation: fadeUpSlow 0.6s ease forwards 1.2s;
}
.c-mv2__concept.u-anime svg:nth-child(4) {
  -webkit-animation: fadeRightSlow 0.6s ease forwards 1.4s;
  animation: fadeRightSlow 0.6s ease forwards 1.4s;
}
.c-mv2__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 34px;
}
@media only screen and (max-width: 767px) {
  .c-mv2__btn {
    margin-top: 20px;
  }
}
.c-mv2__btninner.u-anime {
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  opacity: 0;
}
.c-mv2__btninner.is-hidden {
  opacity: 0;
  pointer-events: none;
}
/*------------------------------------------------------------
    Breadcrumb
------------------------------------------------------------*/
.c-breadcrumb1 {
  position: relative;
  padding: 53px 0 0;
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb1 {
    padding: 37px 0 0;
  }
}
.c-breadcrumb1__list {
  color: #404040;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .c-breadcrumb1__list {
    font-size: 1.4rem;
  }
}
.c-breadcrumb1__list li {
  display: contents;
  position: relative;
}
.c-breadcrumb1__list li.is-active {
  font-weight: 700;
}
.c-breadcrumb1__list li + li::before {
  content: "/";
  display: inline-block;
  position: relative;
  margin-right: 4px;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Component .c-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Arrow
------------------------------------------------------------*/
.c-arrow1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 41px;
  height: 41px;
  padding: 7px;
  background-color: transparent;
  border: 1px solid #324da4;
  border-radius: 50%;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-arrow1::before {
  content: "\e900";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  color: #324da3;
  font-family: "icomoon";
  font-size: 1.049rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 1023px) {
  .c-arrow1:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #324da3;
    border-color: #324da3;
  }
  .c-arrow1:hover::before {
    color: #fff;
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-arrow1--white {
  width: 32px;
  height: 32px;
  border-color: #fff;
}
@media only screen and (max-width: 767px) {
  .c-arrow1--white {
    width: 30px;
    height: 30px;
  }
}
.c-arrow1--white::before {
  color: #fff;
  font-size: 0.813rem;
}
@media only screen and (max-width: 767px) {
  .c-arrow1--white::before {
    font-size: 0.755rem;
  }
}
@media only screen and (min-width: 1023px) {
  .c-arrow1--white:hover {
    background-color: transparent;
    border-color: #fff;
  }
}
/*------------------------------------------------------------
    Box
------------------------------------------------------------*/
.c-box1 {
  display: block;
  position: relative;
  width: 100%;
  padding: 51px 40px 64px;
  background-color: #f8f8f8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box1 {
    padding: 38px 24px;
  }
}
.c-box1--style1 {
  padding: 51px 40px 57px;
}
@media only screen and (max-width: 767px) {
  .c-box1--style1 {
    padding: 38px 24px;
  }
}
.c-box1__inner {
  width: 100%;
  max-width: 968px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .c-box1__inner {
    max-width: unset;
  }
}
.c-box1__heading + .c-box1__group {
  margin-top: 51px;
}
.c-box1__title {
  position: relative;
  width: 100%;
  padding-bottom: 21px;
  border-bottom: 1px solid #324da4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
.c-box1__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
@media only screen and (max-width: 767px) {
  .c-box1__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;
  }
}
.c-box1__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 285px;
}
@media only screen and (max-width: 767px) {
  .c-box1__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
  }
}
.c-box1__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 20px;
  overflow: hidden;
}
.c-box1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.4035087719%;
}
@media only screen and (max-width: 767px) {
  .c-box1__thumb::before {
    padding-top: 61.4379084967%;
  }
}
.c-box1__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-box1__pagi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100% !important;
  margin-top: 15px;
  z-index: 1;
}
.c-box1__dot {
  display: block;
  width: 14px;
  height: 14px;
  margin: 0 4px;
  background-color: #e0e0e0;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-box1__dot.is-active {
  background-color: #324da3;
  pointer-events: none;
}
@media only screen and (min-width: 1023px) {
  .c-box1__dot:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #324da3;
  }
}
.c-box1__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 285px);
  padding-left: 40px;
}
@media only screen and (max-width: 767px) {
  .c-box1__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 20px;
    padding-left: 0;
  }
}
.c-box1__rightinner {
  width: 100%;
  max-width: 633px;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .c-box1__rightinner {
    max-width: unset;
    margin-left: 0;
  }
}
.c-box1__description {
  margin: 15px 0 -5px;
}
@media only screen and (max-width: 767px) {
  .c-box1__description {
    margin: 10px 0 -2px;
  }
}
.c-box2 {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 51px 40px 55px;
  background-color: #f8f8f8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-box2 {
    padding: 51px 24px 55px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2 {
    padding: 38px 24px;
  }
}
.c-box2--style1 .c-box2__part + .c-box2__part {
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .c-box2--style1 .c-box2__part + .c-box2__part {
    margin-top: 40px;
  }
}
.c-box2--style2 .c-box2__part + .c-box2__part {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .c-box2--style2 .c-box2__part + .c-box2__part {
    margin-top: 40px;
  }
}
.c-box2__inner {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .c-box2__inner {
    max-width: unset;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2__heading {
    display: none;
  }
}
.c-box2__heading + .c-box2__body {
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .c-box2__heading + .c-box2__body {
    margin-top: 0;
  }
}
.c-box2__title {
  position: relative;
  width: 100%;
  padding-bottom: 21px;
  border-bottom: 1px solid #324da4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-box2__title {
    padding-bottom: 15px;
    font-size: 1.8rem;
  }
}
.c-box2__part {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-box2__part {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.c-box2__part + .c-box2__part {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .c-box2__part + .c-box2__part {
    margin-top: 40px;
  }
}
.c-box2__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 120px;
}
@media only screen and (max-width: 1023px) {
  .c-box2__left {
    width: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box2__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
  }
}
.c-box2__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 50%;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-box2__thumb {
    max-width: 360px;
    margin: 0 auto;
  }
}
.c-box2__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-box2__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-box2__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 120px);
  padding-left: 13px;
}
@media only screen and (max-width: 1023px) {
  .c-box2__right {
    width: calc(100% - 90px);
  }
}
@media only screen and (max-width: 767px) {
  .c-box2__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 20px;
    padding-left: 0;
  }
}
.c-box2__description {
  margin: 15px 0 -5px;
}
@media only screen and (max-width: 767px) {
  .c-box2__description {
    margin: 10px 0 -2px;
  }
}
.c-box3 {
  display: block;
  position: relative;
  width: 100%;
  padding: 51px 40px 65px;
  background-color: #f8f8f8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box3 {
    padding: 38px 24px;
  }
}
.c-box3__inner {
  width: 100%;
  max-width: 968px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .c-box3__inner {
    max-width: unset;
  }
}
.c-box3__heading + .c-box3__group {
  margin-top: 51px;
}
.c-box3__title {
  position: relative;
  width: 100%;
  padding-bottom: 21px;
  border-bottom: 1px solid #324da4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
.c-box3__group {
  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-box3__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;
  }
}
.c-box3__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -28px;
  padding-left: 1px;
}
@media only screen and (max-width: 1023px) {
  .c-box3__list {
    margin: 0 -12px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box3__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0;
  }
}
.c-box3__item {
  width: calc(33.3333333333% - 56px);
  margin: 0 28px;
}
@media only screen and (max-width: 1023px) {
  .c-box3__item {
    width: calc(33.3333333333% - 24px);
    margin: 0 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-box3__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-box3__item + .c-box3__item {
    margin-top: 36px;
  }
}
.c-box3__content {
  margin-top: 20px;
}
.c-box3__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 20px;
  overflow: hidden;
}
.c-box3__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.4035087719%;
}
@media only screen and (max-width: 767px) {
  .c-box3__thumb::before {
    padding-top: 61.4379084967%;
  }
}
.c-box3__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-box3__description {
  margin: 15px 0 -5px;
}
@media only screen and (max-width: 767px) {
  .c-box3__description {
    margin: 10px 0 -2px;
  }
}
.c-box4 {
  position: relative;
}
.c-box4__heading {
  position: relative;
  z-index: 1;
}
.c-box4__label {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-left: -7px;
  padding: 7px 27px 7px 25px;
  background-color: #324da4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.478;
}
@media only screen and (max-width: 767px) {
  .c-box4__label {
    padding: 6px 24px 7px;
    font-size: 2rem;
    line-height: 1.45;
  }
}
.c-box4__body {
  position: relative;
  margin-top: -24px;
}
@media only screen and (max-width: 767px) {
  .c-box4__body {
    margin-top: -22px;
  }
}
.c-box4__main {
  display: block;
  position: relative;
  width: 100%;
  padding: 42px 24px 21px;
  background-color: #fff;
  -webkit-box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-box4__main {
    padding: 38px 20px 18px;
  }
}
.c-box4__main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  background-image: url("/assets/img/common/texture-grid.jpg");
  background-repeat: repeat;
  background-size: 600px 450px;
  background-position: center left;
}
.c-box4__content {
  position: relative;
  z-index: 1;
}
.c-box4__content p + p {
  margin-top: 32px;
}
@media only screen and (max-width: 767px) {
  .c-box4__content p + p {
    margin-top: 28px;
  }
}
/*------------------------------------------------------------
    Button
------------------------------------------------------------*/
.c-btn1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (min-width: 1023px) {
  .c-btn1:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-btn1:hover .c-btn1__text::after {
    width: 100%;
  }
  .c-btn1:hover .c-btn1__arrow {
    background-color: #324da3;
    border-color: #324da3;
  }
  .c-btn1:hover .c-btn1__arrow::before {
    color: #fff;
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-btn1--white .c-btn1__text {
  color: #fff;
}
.c-btn1--white .c-btn1__text::after {
  background-color: #fff;
}
.c-btn1--white .c-btn1__arrow {
  border-color: #fff;
}
.c-btn1--white .c-btn1__arrow::before {
  color: #fff;
}
@media only screen and (min-width: 1023px) {
  .c-btn1--white:hover .c-btn1__arrow {
    background-color: #fff;
  }
  .c-btn1--white:hover .c-btn1__arrow::before {
    color: #324da3;
  }
}
.c-btn1__text {
  position: relative;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  padding: 8px 0;
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
}
.c-btn1__text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: #324da3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-btn1__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 60px;
  height: 60px;
  margin-left: 15px;
  padding: 11px;
  background-color: transparent;
  border: 1px solid #324da4;
  border-radius: 50%;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-btn1__arrow::before {
  content: "\e900";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  color: #324da3;
  font-family: "icomoon";
  font-size: 1.549rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-btn2 {
  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-width: 230px;
  min-height: 60px;
  padding: 12px 20px 10px;
  background-color: #31a39f;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
.c-btn2--style1 {
  min-width: 350px;
  background-color: #324da3;
}
@media only screen and (max-width: 767px) {
  .c-btn2--style1 {
    min-width: unset;
    padding: 10px 20px 11px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-btn2--big {
  min-height: 80px;
  border-radius: 50px;
  font-size: 2rem;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .c-btn2--big {
    min-height: 60px;
    padding: 10px 20px 12px;
    border-radius: 30px;
    font-size: 1.8rem;
    line-height: 1.44;
  }
}
.c-btn2--external {
  padding: 18px 76px 16px 40px;
}
@media only screen and (max-width: 767px) {
  .c-btn2--external {
    padding: 10px 50px 12px 30px;
  }
}
.c-btn2--external::after {
  content: "\e900";
  display: inline-block;
  position: absolute;
  top: calc(50% - 8px);
  right: 40px;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .c-btn2--external::after {
    right: 28px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-btn2--external:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-btn2--external:hover::after {
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-btn3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 40px;
  padding: 7px 17px;
  background-color: #31a39f;
  border-radius: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
.c-btn4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (min-width: 1023px) {
  .c-btn4:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-btn4:hover .c-btn4__arrow {
    background-color: #324da3;
    border-color: #324da3;
  }
  .c-btn4:hover .c-btn4__arrow::before {
    color: #fff;
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-btn4__text {
  color: #324da3;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.467;
}
.c-btn4__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
  width: 60px;
  height: 60px;
  margin-left: 21px;
  padding: 11px;
  background-color: transparent;
  border: 1px solid #324da4;
  border-radius: 50%;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-btn4__arrow::before {
  content: "\e900";
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: inline-block;
  color: #324da3;
  font-family: "icomoon";
  font-size: 1.549rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-btn5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 242px;
  padding: 19px 30px 18px 32px;
  background-color: #31a39f;
  border-radius: 43px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-btn5 {
    min-width: 225px;
    padding: 17px 28px 17px 30px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-btn5:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-btn5:hover .c-arrow1 {
    background-color: transparent;
    border-color: #fff;
  }
  .c-btn5:hover .c-arrow1::before {
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-btn5__text {
  -webkit-transform: translateY(-2px);
  transform: translateY(-2px);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-btn5__text {
    font-size: 1.4rem;
  }
}
.c-btn5__arrow {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 19px;
}
@media only screen and (max-width: 767px) {
  .c-btn5__arrow {
    margin-left: 15px;
  }
}
/*------------------------------------------------------------
    Card
------------------------------------------------------------*/
.c-card1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@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);
    transform: scale(1.1);
  }
  .c-card1:hover .c-arrow1 {
    background-color: #324da3;
    border-color: #324da3;
  }
  .c-card1:hover .c-arrow1::before {
    color: #fff;
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-card1--style1 .c-card1__thumb::before {
  padding-top: 66.4705882353%;
}
.c-card1--style1 .c-card1__bottom {
  margin-top: 22px;
}
.c-card1--style1 .c-card1__arrow {
  width: 46px;
  height: 46px;
}
.c-card1--style1 .c-card1__arrow::before {
  font-size: 1.2rem;
}
.c-card1__top {
  width: 100%;
}
.c-card1__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 20px;
  overflow: hidden;
}
.c-card1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 66.6666666667%;
}
.c-card1__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-card1__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;
  width: 100%;
  margin-top: 19px;
}
.c-card1__title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-top: 1px;
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.c-card1__arrow {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-left: 19px;
}
.c-card2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  position: relative;
  width: 100%;
  min-height: 347px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .c-card2 {
    min-height: 300px;
  }
}
@media only screen and (max-width: 767px) {
  .c-card2 {
    min-height: 180px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-card2:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card2:hover .c-card2__bg img {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: scale(1.1);
  }
}
.c-card2--long .c-card2__content {
  min-width: 300px;
}
@media only screen and (max-width: 1023px) {
  .c-card2--long .c-card2__content {
    min-width: 345px;
  }
}
@media only screen and (max-width: 767px) {
  .c-card2--long .c-card2__content {
    min-width: min(100% - 20px, 280px);
  }
}
.c-card2__content {
  position: relative;
  min-width: 345px;
  padding: 21px 40px;
  background-color: rgba(50, 77, 163, 0.8);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-card2__content {
    min-width: min(100% - 20px, 280px);
    padding: 15px 40px 14px;
  }
}
@media only screen and (max-width: 374px) {
  .c-card2__content {
    padding: 15px 30px 14px;
  }
}
.c-card2__ja {
  display: block;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.467;
}
@media only screen and (max-width: 767px) {
  .c-card2__ja {
    font-size: 2rem;
    line-height: 1.45;
  }
}
.c-card2__en {
  display: block;
  margin-top: 7px;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.222;
}
@media only screen and (max-width: 767px) {
  .c-card2__en {
    margin-top: 3px;
    font-size: 1.6rem;
    line-height: 1.188;
  }
}
.c-card2__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #b2b2b2;
  overflow: hidden;
}
.c-card2__bg img {
  width: 100%;
  height: 100%;
  transform: scale(1);
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-card3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@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);
    transform: scale(1.1);
  }
  .c-card3:hover .c-card3__content::after {
    bottom: -6px;
  }
}
.c-card3__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 50%;
  overflow: hidden;
}
.c-card3__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-card3__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-card3__content {
  position: relative;
  width: 100%;
  margin-top: 16px;
  padding-bottom: 18px;
}
.c-card3__content::after {
  content: "\e900";
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(90deg);
  transform: translateX(-50%) rotate(90deg);
  color: #324da3;
  font-family: "icomoon";
  font-size: 1.049rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-card3__title {
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.444;
  text-align: center;
}
.c-card4 {
  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%;
  padding: 25px 0 24px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-card4 {
    padding: 20px 0 22px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-card4:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card4:hover .c-card4__thumb img {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: scale(1.1);
  }
  .c-card4:hover .c-arrow1 {
    background-color: #324da3;
    border-color: #324da3;
  }
  .c-card4:hover .c-arrow1::before {
    color: #fff;
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-card4__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 200px;
}
@media only screen and (max-width: 767px) {
  .c-card4__left {
    width: 120px;
  }
}
@media only screen and (max-width: 374px) {
  .c-card4__left {
    width: 100px;
  }
}
.c-card4__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 50%;
  overflow: hidden;
}
.c-card4__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-card4__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.c-card4__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 200px);
  padding-left: 26px;
}
@media only screen and (max-width: 767px) {
  .c-card4__right {
    width: calc(100% - 120px);
    padding-left: 18px;
  }
}
@media only screen and (max-width: 374px) {
  .c-card4__right {
    width: calc(100% - 100px);
  }
}
.c-card4__title {
  width: 100%;
  margin-top: 14px;
  color: #324da3;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.429;
}
@media only screen and (max-width: 767px) {
  .c-card4__title {
    margin-top: 8px;
    font-size: 2rem;
    line-height: 1.45;
  }
}
.c-card4__description {
  width: 100%;
  margin-top: 13px;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.67;
}
@media only screen and (max-width: 767px) {
  .c-card4__description {
    margin-top: 11px;
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-card4__arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 100%;
  margin-top: 19px;
}
@media only screen and (max-width: 767px) {
  .c-card4__arrow {
    margin-top: 16px;
  }
}
.c-card5 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-card5__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 20px;
  overflow: hidden;
}
.c-card5__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.3095238095%;
}
@media only screen and (max-width: 767px) {
  .c-card5__thumb::before {
    padding-top: 61.581920904%;
  }
}
.c-card5__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-card5__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 100%;
  margin-top: 25px;
}
@media only screen and (max-width: 767px) {
  .c-card5__content {
    margin-top: 20px;
  }
}
.c-card5__description {
  margin: 17px 0 0;
}
@media only screen and (max-width: 767px) {
  .c-card5__description {
    margin: 10px 0 -2px;
  }
}
.c-card6 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  position: relative;
  width: 100%;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-card6::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  border: 2px solid #324da4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1;
}
@media only screen and (min-width: 1023px) {
  .c-card6:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-card6:hover .c-card6__thumb img {
    opacity: 1;
    filter: alpha(opacity=100);
    transform: scale(1.1);
  }
}
.c-card6__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 80px;
}
.c-card6__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  overflow: hidden;
}
.c-card6__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.c-card6__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  transform: scale(1);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.c-card6__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: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100% - 80px);
  padding: 12px 16px 12px 15px;
}
.c-card6__title {
  color: #324da3;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.429;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.c-card7 {
  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-card7__map {
  position: relative;
  width: 100%;
  height: 250px;
  background-color: #e0e0e0;
  overflow: hidden;
}
.c-card7__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.c-card7__maptext {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, calc(-50% + 1px));
  transform: translate(-50%, calc(-50% + 1px));
  z-index: 1;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.c-card7__content {
  width: 100%;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .c-card7__content {
    margin-top: 14px;
  }
}
.c-card7__title {
  color: #324da3;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-card7__title {
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.c-card7__description {
  margin-top: 12px;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.444;
}
@media only screen and (max-width: 767px) {
  .c-card7__description {
    margin-top: 8px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
/*------------------------------------------------------------
    Category
------------------------------------------------------------*/
.c-category1 {
  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 -11px -20px;
}
@media only screen and (max-width: 767px) {
  .c-category1 {
    -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;
  }
}
.c-category1__item {
  width: calc(50% - 22px);
  max-width: 480px;
  margin: 0 11px 20px;
}
@media only screen and (max-width: 767px) {
  .c-category1__item {
    width: 100%;
    max-width: unset;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-category1__item + .c-category1__item {
    margin-top: 10px;
  }
}
.c-category1__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 80px;
  padding: 18px 76px 16px 40px;
  background-color: #31a39f;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-category1__btn {
    min-height: 60px;
    padding: 10px 50px 12px 30px;
    border-radius: 30px;
    font-size: 1.8rem;
    line-height: 1.44;
  }
}
.c-category1__btn::after {
  content: "\e900";
  display: inline-block;
  position: absolute;
  top: calc(50% - 8px);
  right: 40px;
  color: #fff;
  font-family: "icomoon";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .c-category1__btn::after {
    right: 28px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-category1__btn:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .c-category1__btn:hover::after {
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
/*------------------------------------------------------------
    Checkbox
------------------------------------------------------------*/
.c-checkbox__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin: 0 -26px -10px 0;
}
.c-checkbox__group .mwform-checkbox-field {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 26px 10px 0;
}
.c-checkbox__group .mwform-checkbox-field label {
  position: relative;
}
.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;
  background-color: transparent;
  opacity: 0;
  -webkit-tap-highlight-color: transparent;
}
.c-checkbox__group .mwform-checkbox-field label input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
  opacity: 1;
}
.c-checkbox__group .mwform-checkbox-field .mwform-checkbox-field-text {
  display: block;
  position: relative;
  padding-left: 36px;
  cursor: pointer;
  color: #404040;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.421;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field .mwform-checkbox-field-text {
    padding-left: 30px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-checkbox__group .mwform-checkbox-field .mwform-checkbox-field-text::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 25px;
  height: 25px;
  background-color: #fff;
  border: 1px solid #707070;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field .mwform-checkbox-field-text::before {
    top: 3px;
    width: 20px;
    height: 20px;
  }
}
.c-checkbox__group .mwform-checkbox-field .mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  top: 13px;
  left: 13px;
  -webkit-transform: translate(-50%, calc(-50% - 1px)) rotate(45deg);
  transform: translate(-50%, calc(-50% - 1px)) rotate(45deg);
  width: 6px;
  height: 12px;
  border-right: 2px solid #324da3;
  border-bottom: 2px solid #324da3;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group .mwform-checkbox-field .mwform-checkbox-field-text::after {
    top: 12px;
    left: 10px;
    width: 5px;
    height: 11px;
  }
}
.c-checkbox__group--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0;
}
.c-checkbox__group--vertical .mwform-checkbox-field {
  margin: 0;
}
.c-checkbox__group--vertical .mwform-checkbox-field + .mwform-checkbox-field {
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__group--vertical .mwform-checkbox-field + .mwform-checkbox-field {
    margin-top: 8px;
  }
}
.c-checkbox__accept .c-link1 {
  position: absolute;
  top: 0;
  left: 36px;
  width: 190px;
  white-space: pre-wrap;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__accept .c-link1 {
    left: 30px;
    width: 160px;
  }
}
.c-checkbox__accept .mwform-checkbox-field .mwform-checkbox-field-text {
  text-indent: 193px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-checkbox__accept .mwform-checkbox-field .mwform-checkbox-field-text {
    text-indent: 163px;
  }
}
/*------------------------------------------------------------
    Content
------------------------------------------------------------*/
.c-content1 {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-content1 {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-content1 p + p {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .c-content1 p + p {
    margin-top: 30px;
  }
}
.c-content1 p + p:has(small) {
  margin-top: 56px;
}
@media only screen and (max-width: 767px) {
  .c-content1 p + p:has(small) {
    margin-top: 34px;
  }
}
.c-content1 p:has(img) {
  margin-top: 56px;
}
@media only screen and (max-width: 767px) {
  .c-content1 p:has(img) {
    margin-top: 34px;
  }
}
.c-content1 p:has(img) + p {
  margin-top: 57px;
}
@media only screen and (max-width: 767px) {
  .c-content1 p:has(img) + p {
    margin-top: 34px;
  }
}
.c-content1 a {
  position: relative;
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.944;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media only screen and (max-width: 767px) {
  .c-content1 a {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-content1 a:has(img) {
  text-decoration: none;
}
.c-content1 ul {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-content1 ul {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-content1 ul li {
  position: relative;
  padding-left: 26px;
}
@media only screen and (max-width: 767px) {
  .c-content1 ul li {
    padding-left: 22px;
  }
}
.c-content1 ul li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 1px;
  width: 16px;
  height: 16px;
  background-color: #31a39f;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .c-content1 ul li::before {
    top: 8px;
  }
}
.c-content1 ol {
  counter-reset: section;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-content1 ol {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-content1 ol li {
  position: relative;
  padding-left: 15px;
}
.c-content1 ol li::before {
  counter-increment: section;
  content: counter(section) ".";
  position: absolute;
  top: 0;
  left: 0;
}
.c-content1 .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.c-content1 .alignleft {
  display: block;
  margin-right: auto;
}
.c-content1 .alignright {
  display: block;
  margin-left: auto;
}
.c-content1 img,
.c-content1 iframe {
  max-width: 100%;
}
/*------------------------------------------------------------
    Error
------------------------------------------------------------*/
.contact-form__error .error,
.mw_wp_form .contact-form__error .error,
.mw_wp_form .contact-form__recaptcha .error {
  display: block;
  margin-top: 6px;
  color: #bf0000;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .contact-form__error .error,
  .mw_wp_form .contact-form__error .error,
  .mw_wp_form .contact-form__recaptcha .error {
    font-size: 1.4rem;
  }
}
.c-radio__group + .contact-form__error .error,
.mw_wp_form .c-radio__group + .contact-form__error .error,
.mw_wp_form .c-radio__group + .contact-form__recaptcha .error {
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  .c-radio__group + .contact-form__error .error,
  .mw_wp_form .c-radio__group + .contact-form__error .error,
  .mw_wp_form .c-radio__group + .contact-form__recaptcha .error {
    margin-top: 8px;
  }
}
.contact-form__accept .error,
.mw_wp_form .contact-form__accept .error {
  margin-top: 14px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .contact-form__accept .error,
  .mw_wp_form .contact-form__accept .error {
    margin-top: 10px;
  }
}
/*------------------------------------------------------------
    Filter
------------------------------------------------------------*/
.c-filter1 {
  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: 254px;
  padding: 40px;
  background-color: #f8f8f8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-filter1 {
    min-height: 164px;
    padding: 24px;
  }
}
.c-filter1__text {
  color: #404040;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-filter1__text {
    font-size: 1.8rem;
    line-height: 1.44;
  }
}
.c-filter2__heading {
  display: block;
  position: relative;
  padding-bottom: 23px;
  border-bottom: 2px solid #324da4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-filter2__heading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100px;
  height: 2px;
  background-color: #31a39f;
  z-index: 1;
}
.c-filter2__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.c-filter2__ja {
  margin-right: 15px;
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.44;
}
.c-filter2__en {
  margin-top: 6px;
  color: #324da3;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.25;
}
.c-filter2__nav {
  margin-top: 28px;
}
.c-filter2__list {
  margin-top: 67px;
}
@media only screen and (max-width: 767px) {
  .c-filter2__list {
    margin-top: 40px;
  }
}
.c-filter2__item + .c-filter2__item {
  margin-top: 15px;
}
.c-filter3 {
  display: block;
  position: relative;
  width: 100%;
  padding: 22px 20px 24px;
  background-color: #f5f7fc;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-filter3__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-filter3__item {
  width: 100%;
}
.c-filter3__item + .c-filter3__item {
  margin-top: 15px;
}
.c-filter3__link {
  display: block;
  position: relative;
  width: 100%;
  padding: 13px 16px 12px;
  background-color: #dee3f5;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (min-width: 1023px) {
  .c-filter3__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #fff;
  }
}
.c-filter3__link.is-active {
  background-color: #fff;
  pointer-events: none;
}
/*------------------------------------------------------------
    Group
------------------------------------------------------------*/
.c-group1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-group1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.c-group1__inner {
  width: 100%;
}
.c-group1__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 52.9411764706%;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .c-group1__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.c-group1__leftinner {
  width: 100%;
  max-width: 523px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-group1__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.c-group1__title {
  margin-top: -2px;
  color: #324da3;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.739;
}
@media only screen and (max-width: 767px) {
  .c-group1__title {
    margin-top: 0;
    font-size: 2rem;
    line-height: 1.75;
  }
}
.c-group1__title + .c-group1__content {
  margin-top: 16px;
}
.c-group1__content {
  margin-top: -3px;
}
@media only screen and (max-width: 767px) {
  .c-group1__content {
    margin-top: 0;
  }
}
.c-group1__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 47.0588235294%;
}
@media only screen and (max-width: 767px) {
  .c-group1__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 21px;
  }
}
.c-group1__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-group1__thumb {
    border-radius: 20px;
  }
}
.c-group1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.5234375%;
}
@media only screen and (max-width: 767px) {
  .c-group1__thumb::before {
    padding-top: 61.581920904%;
  }
}
.c-group1__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;
}
/*------------------------------------------------------------
    Heading
------------------------------------------------------------*/
.c-heading1 {
  position: relative;
  padding: 200px 0 122px;
}
@media only screen and (max-width: 1023px) {
  .c-heading1 {
    padding: 142px 0 122px;
  }
}
@media only screen and (max-width: 767px) {
  .c-heading1 {
    padding: 122px 0 74px;
  }
}
.c-heading1--blue .c-heading1__bg {
  background-color: #324da3;
}
.c-heading1__inner {
  position: relative;
  z-index: 2;
}
.c-heading1__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  position: relative;
  width: 100%;
  min-height: 234px;
}
@media only screen and (max-width: 767px) {
  .c-heading1__content {
    min-height: 154px;
  }
}
.c-heading1__ja {
  display: block;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.429;
}
@media only screen and (max-width: 767px) {
  .c-heading1__ja {
    font-size: 2rem;
    line-height: 1.45;
  }
}
.c-heading1__en {
  display: block;
  margin-top: 22px;
  color: #fff;
  font-size: 5.5rem;
  font-weight: 900;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .c-heading1__en {
    margin-top: 14px;
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 374px) {
  .c-heading1__en {
    font-size: 3rem;
  }
}
.c-heading1__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.c-heading1__bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 19, 82, 0.25);
  z-index: 1;
}
.c-heading1__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
/*------------------------------------------------------------
    Input
------------------------------------------------------------*/
.c-input {
  display: block;
  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: 40px;
  padding: 6px 9px;
  background-color: #fff;
  border: 1px solid #a8a8a8;
  border-radius: 0;
  outline: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.667;
}
@media only screen and (max-width: 767px) {
  .c-input input[type=text],
  .c-input input[type=email],
  .c-input input[type=tel],
  .c-input input[type=url] {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.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: #9f9f9f;
}
.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: #9f9f9f;
}
.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: #9f9f9f;
}
.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: #9f9f9f;
}
.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: #9f9f9f;
}
.c-input textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 250px;
  padding: 6px 9px;
  background-color: #fff;
  border: 1px solid #a8a8a8;
  border-radius: 0;
  outline: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  resize: none;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.667;
}
@media only screen and (max-width: 767px) {
  .c-input textarea {
    padding: 8px 9px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-input textarea::-webkit-input-placeholder {
  color: #9f9f9f;
}
.c-input textarea::-moz-placeholder {
  color: #9f9f9f;
}
.c-input textarea:-ms-input-placeholder {
  color: #9f9f9f;
}
.c-input textarea::-ms-input-placeholder {
  color: #9f9f9f;
}
.c-input textarea::placeholder {
  color: #9f9f9f;
}
.c-input--long {
  max-width: 500px;
}
@media only screen and (max-width: 767px) {
  .c-input--long {
    max-width: unset;
  }
}
.c-input--half {
  max-width: 200px;
}
@media only screen and (max-width: 767px) {
  .c-input--half {
    max-width: unset;
  }
}
.c-input__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-input__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.c-input__group .c-input__item--half {
  width: 50%;
  max-width: 200px;
}
@media only screen and (max-width: 767px) {
  .c-input__group .c-input__item--half {
    width: 100%;
    max-width: unset;
  }
}
.c-input__group .c-input__item--half + .c-input__item {
  margin-left: 23px;
}
@media only screen and (max-width: 767px) {
  .c-input__group .c-input__item--half + .c-input__item {
    margin-left: 0;
    margin-top: 8px;
  }
}
.c-input__group--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.c-input__group--vertical .c-input__item {
  width: 100%;
}
.c-input__group--vertical .c-input__item + .c-input__item {
  margin-top: 18px;
}
@media only screen and (max-width: 767px) {
  .c-input__group--vertical .c-input__item + .c-input__item {
    margin-top: 8px;
  }
}
.c-input__group--vertical .c-input__item--long + .c-input__item--long {
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .c-input__group--vertical .c-input__item--long + .c-input__item--long {
    margin-top: 8px;
  }
}
.c-input__zipgroup {
  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;
}
@media only screen and (max-width: 767px) {
  .c-input__zipgroup {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.c-input__zipgroup .c-input {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 268px;
  flex: 0 0 268px;
  padding-right: 5px;
}
@media only screen and (max-width: 767px) {
  .c-input__zipgroup .c-input {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    margin-bottom: 8px;
    padding-right: 0;
  }
}
.c-input__zip .mwform-zip-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #404040;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.c-input__zip .mwform-zip-field input[type=text] {
  width: min(100px, 100%);
  margin: 0 9px;
}
.c-input__tel .mwform-tel-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 -10px;
  color: #404040;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.c-input__tel .mwform-tel-field input[type=text] {
  width: min(100px, 100%);
  margin: 0 10px;
}
/*------------------------------------------------------------
    Label
------------------------------------------------------------*/
.c-label1 {
  display: inline-block;
  color: #324da3;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-label1 {
    font-size: 1.6rem;
  }
}
.c-label1.is-required::after {
  content: "必須";
  display: inline-block;
  margin-left: 9px;
  padding: 3px 14px;
  background-color: #00d68c;
  border-radius: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-label1.is-required::after {
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px);
    margin-left: 8px;
    padding: 2px 13px;
    font-size: 1.2rem;
  }
}
.c-label1--style1.is-required::after {
  margin-left: 0;
}
/*------------------------------------------------------------
    Link
------------------------------------------------------------*/
.c-link1 {
  color: #324da3;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.421;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media only screen and (max-width: 767px) {
  .c-link1 {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-link2 {
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.944;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media only screen and (max-width: 767px) {
  .c-link2 {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
/*------------------------------------------------------------
    List
------------------------------------------------------------*/
.c-list1 {
  counter-reset: section;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-list1 {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-list1 li {
  position: relative;
  padding-left: 15px;
}
.c-list1 li::before {
  counter-increment: section;
  content: counter(section) ".";
  position: absolute;
  top: 0;
  left: 0;
}
.c-list2 {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.56;
}
@media only screen and (max-width: 767px) {
  .c-list2 {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-list2 li {
  position: relative;
  padding-left: 26px;
}
@media only screen and (max-width: 767px) {
  .c-list2 li {
    padding-left: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .c-list2 li + li {
    margin-top: 2px;
  }
}
.c-list2 li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 1px;
  width: 16px;
  height: 16px;
  background-color: #31a39f;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .c-list2 li::before {
    top: 5px;
    left: 0;
  }
}
.c-list2--style1 {
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-list2--style1 {
    line-height: 1.875;
  }
}
@media only screen and (max-width: 767px) {
  .c-list2--style1 li + li {
    margin-top: 0;
  }
}
.c-list2--style1 li::before {
  top: 10px;
}
@media only screen and (max-width: 767px) {
  .c-list2--style1 li::before {
    top: 8px;
  }
}
.c-list3 {
  color: #404040;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.59;
}
@media only screen and (max-width: 767px) {
  .c-list3 {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-list3 li {
  position: relative;
  padding-left: 26px;
}
@media only screen and (max-width: 767px) {
  .c-list3 li {
    padding-left: 22px;
  }
}
.c-list3 li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 1px;
  width: 20px;
  height: 20px;
  background-color: #31a39f;
  border-radius: 50%;
}
@media only screen and (max-width: 767px) {
  .c-list3 li::before {
    top: 5px;
    left: 0;
    width: 16px;
    height: 16px;
  }
}
.c-list4 {
  counter-reset: section;
  color: #404040;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.455;
}
@media only screen and (max-width: 767px) {
  .c-list4 {
    font-size: 1.8rem;
    line-height: 1.444;
  }
}
.c-list4 > li {
  position: relative;
  padding-left: 27px;
}
@media only screen and (max-width: 767px) {
  .c-list4 > li {
    padding-left: 24px;
  }
}
.c-list4 > li::before {
  counter-increment: section;
  content: counter(section) ".";
  position: absolute;
  top: 0;
  left: 2px;
}
@media only screen and (max-width: 767px) {
  .c-list4 > li::before {
    left: 0;
  }
}
.c-list4 > li + li {
  margin-top: 21px;
}
@media only screen and (max-width: 767px) {
  .c-list4 > li + li {
    margin-top: 14px;
  }
}
.c-list4 > li ul {
  margin-left: -27px;
}
@media only screen and (max-width: 767px) {
  .c-list4 > li ul {
    margin-left: -24px;
  }
}
.c-list5 {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-list5 {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-list5 li {
  position: relative;
  padding-left: 22px;
}
@media only screen and (max-width: 767px) {
  .c-list5 li {
    padding-left: 20px;
  }
}
.c-list5 li::before {
  content: none;
  position: absolute;
  top: 0;
  left: 0;
}
.c-list5 li:nth-child(1)::before {
  content: "①";
}
.c-list5 li:nth-child(2)::before {
  content: "②";
}
.c-list5 li:nth-child(3)::before {
  content: "③";
}
.c-list5 li:nth-child(4)::before {
  content: "④";
}
.c-list5 li:nth-child(5)::before {
  content: "⑤";
}
.c-list5 li:nth-child(6)::before {
  content: "⑥";
}
.c-list5 li:nth-child(7)::before {
  content: "⑦";
}
.c-list5 li:nth-child(8)::before {
  content: "⑧";
}
.c-list5 li:nth-child(9)::before {
  content: "⑨";
}
.c-list5 li:nth-child(10)::before {
  content: "⑩";
}
/*------------------------------------------------------------
    Listcheck
------------------------------------------------------------*/
.c-listcheck1__item {
  position: relative;
  width: 100%;
  padding: 38px 0 36px;
  border-bottom: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-listcheck1__item {
    padding: 21px 0 23px;
  }
}
.c-listcheck1__item:first-child {
  border-top: 1px solid #ddd;
}
.c-listcheck1__text {
  position: relative;
  min-height: 35px;
  padding-left: 45px;
  color: #404040;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.545;
}
@media only screen and (max-width: 767px) {
  .c-listcheck1__text {
    min-height: 30px;
    padding-left: 40px;
    font-size: 1.8rem;
    line-height: 1.556;
  }
}
.c-listcheck1__text::before {
  content: "\e901";
  display: inline-block;
  position: absolute;
  top: -1px;
  left: 0;
  color: #31a39f;
  font-family: "icomoon";
  font-size: 3.5rem;
  font-weight: 400;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .c-listcheck1__text::before {
    top: 0;
    font-size: 3rem;
  }
}
.c-listcheck1__note {
  margin: 16px 0 -5px;
  padding-left: 45px;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-listcheck1__note {
    margin: 10px 0 -2px;
    padding-left: 40px;
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
/*------------------------------------------------------------
    Listpost
------------------------------------------------------------*/
.c-listpost1__item {
  position: relative;
  width: 100%;
  border-bottom: 1px solid #ddd;
}
.c-listpost1__item:first-child {
  border-top: 1px solid #ddd;
}
.c-listpost1__link {
  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: 26px 77px 29px 16px;
  background-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-listpost1__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 20px 77px 29px 16px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-listpost1__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: rgba(247, 247, 247, 0.95);
  }
  .c-listpost1__link:hover .c-arrow1 {
    background-color: #324da3;
    border-color: #324da3;
  }
  .c-listpost1__link:hover .c-arrow1::before {
    color: #fff;
    animation: 1.2s buttonArrow cubic-bezier(0.86, 0, 0.07, 1) both;
  }
}
.c-listpost1__datetime {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 122px;
  margin: 2px 0 4px;
  padding-right: 20px;
  color: #484848;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-listpost1__datetime {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin: 0;
    padding-right: 0;
  }
}
.c-listpost1__taglist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  max-width: 150px;
  margin: 0 40px -4px 0;
}
@media only screen and (max-width: 767px) {
  .c-listpost1__taglist {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: unset;
    margin: 9px -4px -4px 0;
  }
}
.c-listpost1__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 0 4px;
}
@media only screen and (max-width: 767px) {
  .c-listpost1__tagitem {
    margin: 0 4px 4px 0;
  }
}
.c-listpost1__tagitem .c-tag1 {
  padding: 5px 12px;
}
.c-listpost1__title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin: 2px 0;
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.444;
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
@media only screen and (max-width: 767px) {
  .c-listpost1__title {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin: 10px 0 0;
    -webkit-line-clamp: 2;
  }
}
.c-listpost1__arrow {
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(calc(-50% - 1px));
  transform: translateY(calc(-50% - 1px));
}
@media only screen and (max-width: 767px) {
  .c-listpost1__arrow {
    -webkit-transform: translateY(calc(-50% - 5px));
    transform: translateY(calc(-50% - 5px));
  }
}
/*------------------------------------------------------------
    Loading
------------------------------------------------------------*/
.c-loading1 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 9999;
}
/*------------------------------------------------------------
    Map
------------------------------------------------------------*/
.c-map1 {
  position: relative;
  width: 100%;
  height: 250px;
  background-color: #e0e0e0;
  overflow: hidden;
}
.c-map1 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.c-map1__text {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, calc(-50% + 1px));
  transform: translate(-50%, calc(-50% + 1px));
  z-index: 1;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
/*------------------------------------------------------------
    Menu
------------------------------------------------------------*/
.c-menu1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 92px;
  height: 86px;
  background-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-menu1.is-open .c-menu1__inner span:nth-child(1) {
  -webkit-transform: translate(0, calc(50% + 8px)) rotate(21deg);
  transform: translate(0, calc(50% + 8px)) rotate(21deg);
}
.c-menu1.is-open .c-menu1__inner span:nth-child(2) {
  -webkit-transform: translate(0, calc(50% - 9px)) rotate(-21deg);
  transform: translate(0, calc(50% - 9px)) rotate(-21deg);
}
.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: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  width: 45px;
  height: 18px;
}
.c-menu1__inner span {
  display: block;
  width: 45px;
  height: 1px;
  background-color: #324da4;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
/*------------------------------------------------------------
    Pagination
------------------------------------------------------------*/
.c-pagi1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  margin: 0 -26px -24px;
}
@media only screen and (max-width: 767px) {
  .c-pagi1 {
    margin: 0 -16px -24px;
  }
}
.c-pagi1 li {
  margin: 0 26px 24px;
}
@media only screen and (max-width: 767px) {
  .c-pagi1 li {
    margin: 0 16px 24px;
  }
}
.c-pagi1 li a,
.c-pagi1 li span {
  display: inline-block;
  position: relative;
  color: #31a39f;
  font-family: "Roboto", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.233;
  text-align: center;
}
.c-pagi1 li a::after,
.c-pagi1 li span::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #31a39f;
  opacity: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-pagi1 li a.current,
.c-pagi1 li span.current {
  color: #c1c1c1;
  pointer-events: none;
}
.c-pagi1 li a.current::after,
.c-pagi1 li span.current::after {
  background-color: #c1c1c1;
  opacity: 0;
}
@media only screen and (min-width: 1023px) {
  .c-pagi1 li a:hover,
  .c-pagi1 li span:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #c1c1c1;
  }
  .c-pagi1 li a:hover::after,
  .c-pagi1 li span:hover::after {
    background-color: #c1c1c1;
    opacity: 0;
  }
}
.c-pagi2 {
  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;
  position: relative;
  margin: 0 -14px -20px;
}
.c-pagi2 li {
  margin: 0 14px 20px;
}
.c-pagi2 li a,
.c-pagi2 li span {
  display: inline-block;
  position: relative;
  color: #324da3;
  font-family: "Roboto", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
}
.c-pagi2 li a::after,
.c-pagi2 li span::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #324da3;
  opacity: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-pagi2 li a.current,
.c-pagi2 li span.current {
  color: #bebebe;
  pointer-events: none;
}
.c-pagi2 li a.current::after,
.c-pagi2 li span.current::after {
  background-color: #bebebe;
  opacity: 0;
}
@media only screen and (min-width: 1023px) {
  .c-pagi2 li a:hover,
  .c-pagi2 li span:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #bebebe;
  }
  .c-pagi2 li a:hover::after,
  .c-pagi2 li span:hover::after {
    background-color: #bebebe;
    opacity: 0;
  }
}
/*------------------------------------------------------------
    Part
------------------------------------------------------------*/
.c-part1__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  padding-bottom: 12px;
  border-bottom: 5px solid #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-part1__heading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  max-width: 200px;
  height: 5px;
  background-color: #324da3;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-part1__heading::after {
    max-width: 140px;
  }
}
.c-part1__number {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #324da3;
  font-size: 10rem;
  font-weight: 900;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .c-part1__number {
    font-size: 6rem;
  }
}
.c-part1__title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-top: 27px;
  margin-left: 27px;
  color: #324da3;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.444;
}
@media only screen and (max-width: 767px) {
  .c-part1__title {
    margin-top: 18px;
    margin-left: 16px;
    font-size: 2.5rem;
  }
}
.c-part1__body {
  margin-top: 52px;
}
@media only screen and (max-width: 767px) {
  .c-part1__body {
    margin-top: 27px;
  }
}
.c-part1__body .c-listcheck1 {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .c-part1__body .c-listcheck1 {
    margin-top: 32px;
  }
}
.c-part1__body .c-category1 {
  margin-top: 48px;
}
@media only screen and (max-width: 767px) {
  .c-part1__body .c-category1 {
    margin-top: 32px;
  }
}
.c-part1__subtitle {
  color: #324da3;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.333;
}
@media only screen and (max-width: 767px) {
  .c-part1__subtitle {
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-part1__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .c-part1__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 17px;
  }
}
.c-part1__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 60.0183823529%;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .c-part1__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.c-part1__leftinner {
  width: 100%;
  max-width: 590px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-part1__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.c-part1__content {
  margin-top: -4px;
}
@media only screen and (max-width: 767px) {
  .c-part1__content {
    margin-top: 0;
  }
}
.c-part1__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 39.9816176471%;
}
@media only screen and (max-width: 767px) {
  .c-part1__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 21px;
  }
}
.c-part1__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-part1__thumb {
    border-radius: 20px;
  }
}
.c-part1__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.6091954023%;
}
@media only screen and (max-width: 767px) {
  .c-part1__thumb::before {
    padding-top: 61.581920904%;
  }
}
.c-part1__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-part2__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  padding-bottom: 12px;
  border-bottom: 5px solid #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-part2__heading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  max-width: 200px;
  height: 5px;
  background-color: #324da3;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-part2__heading::after {
    max-width: 140px;
  }
}
.c-part2__number {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #324da3;
  font-size: 6rem;
  font-weight: 900;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .c-part2__number {
    font-size: 4rem;
  }
}
.c-part2__title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-top: 9px;
  margin-left: 24px;
  color: #324da3;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.457;
}
@media only screen and (max-width: 767px) {
  .c-part2__title {
    margin-top: 8px;
    margin-left: 16px;
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-part2__body {
  margin-top: 48px;
}
@media only screen and (max-width: 767px) {
  .c-part2__body {
    margin-top: 25px;
  }
}
.c-part2__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 48px;
}
@media only screen and (max-width: 767px) {
  .c-part2__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 25px;
  }
}
.c-part2__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 285px);
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .c-part2__left {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 19px;
    padding-right: 0;
  }
}
.c-part2__leftinner {
  width: 100%;
  max-width: 740px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-part2__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.c-part2__part + .c-part2__part {
  margin-top: 39px;
}
@media only screen and (max-width: 767px) {
  .c-part2__part + .c-part2__part {
    margin-top: 33px;
  }
}
@media only screen and (max-width: 767px) {
  .c-part2__part .c-part2__thumb + .c-title7 {
    margin-top: 19px;
  }
}
.c-part2__part .c-list2 {
  margin-top: 17px;
}
@media only screen and (max-width: 767px) {
  .c-part2__part .c-list2 {
    margin-top: 10px;
  }
}
.c-part2__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 285px;
}
@media only screen and (max-width: 767px) {
  .c-part2__right {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
  }
}
.c-part2__thumbgroup {
  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-part2__thumbitem {
  width: 100%;
}
.c-part2__thumbitem + .c-part2__thumbitem {
  margin-top: 55px;
}
@media only screen and (max-width: 767px) {
  .c-part2__thumbitem + .c-part2__thumbitem {
    margin-top: 16px;
  }
}
.c-part2__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 20px;
  overflow: hidden;
}
.c-part2__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.4035087719%;
}
@media only screen and (max-width: 767px) {
  .c-part2__thumb::before {
    padding-top: 61.581920904%;
  }
}
.c-part2__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-part3__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  padding-bottom: 12px;
  border-bottom: 5px solid #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.c-part3__heading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  max-width: 200px;
  height: 5px;
  background-color: #324da3;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-part3__heading::after {
    max-width: 140px;
  }
}
.c-part3__number {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #324da3;
  font-size: 6rem;
  font-weight: 900;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .c-part3__number {
    font-size: 4rem;
  }
}
.c-part3__title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-top: 9px;
  margin-left: 22px;
  color: #324da3;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.457;
}
@media only screen and (max-width: 767px) {
  .c-part3__title {
    margin-top: 8px;
    margin-left: 16px;
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-part3__body {
  margin-top: 46px;
}
@media only screen and (max-width: 767px) {
  .c-part3__body {
    margin-top: 25px;
  }
}
.c-part3__thumbgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 45px -20px -30px;
}
@media only screen and (max-width: 1023px) {
  .c-part3__thumbgroup {
    margin: 45px -10px -15px;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__thumbgroup {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 25px -6px -20px;
  }
}
.c-part3__thumbgroup--style1 .c-part3__thumbitem:nth-child(1) {
  width: calc(33.3333333333% - 40px + 14px);
  margin-right: 18px;
}
@media only screen and (max-width: 1023px) {
  .c-part3__thumbgroup--style1 .c-part3__thumbitem:nth-child(1) {
    width: calc(33.3333333333% - 20px + 14px);
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__thumbgroup--style1 .c-part3__thumbitem:nth-child(1) {
    width: calc(50% - 12px);
    margin-right: 6px;
  }
}
.c-part3__thumbitem {
  width: calc(33.3333333333% - 40px);
  margin: 0 20px 30px;
}
@media only screen and (max-width: 1023px) {
  .c-part3__thumbitem {
    width: calc(33.3333333333% - 20px);
    margin: 0 10px 15px;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__thumbitem {
    width: calc(50% - 12px);
    margin: 0 6px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__thumbitem--long {
    margin-right: 7px;
  }
}
.c-part3__thumb--spec1 {
  max-width: 308px;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .c-part3__thumb--spec1 {
    max-width: unset;
  }
}
.c-part3__thumb--spec2 {
  max-width: 317px;
}
@media only screen and (max-width: 767px) {
  .c-part3__thumb--spec2 {
    max-width: unset;
  }
}
.c-part3__thumb img {
  width: 100%;
}
.c-part3__btn {
  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: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin: 50px -5px -10px;
}
@media only screen and (max-width: 767px) {
  .c-part3__btn {
    -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: 32px 0 0;
  }
}
.c-part3__btn .c-btn2 {
  width: calc(50% - 10px);
  max-width: 480px;
  margin: 0 5px 10px;
}
@media only screen and (max-width: 767px) {
  .c-part3__btn .c-btn2 {
    width: 100%;
    max-width: unset;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-part3__btn .c-btn2 + .c-btn2 {
    margin-top: 10px;
  }
}
.c-part3__btn + .c-part3__thumbgroup {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .c-part3__btn + .c-part3__thumbgroup {
    margin-top: 32px;
  }
}
.c-part4__heading {
  display: block;
  position: relative;
  padding-bottom: 24px;
  border-bottom: 5px solid #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-part4__heading {
    padding-bottom: 12px;
  }
}
.c-part4__heading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  max-width: 200px;
  height: 5px;
  background-color: #324da3;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-part4__heading::after {
    max-width: 140px;
  }
}
.c-part4__title {
  color: #324da3;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.457;
}
@media only screen and (max-width: 767px) {
  .c-part4__title {
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-part4__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 52px;
}
@media only screen and (max-width: 767px) {
  .c-part4__group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 25px;
  }
}
.c-part4__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 340px);
  padding-right: 39px;
}
@media only screen and (max-width: 767px) {
  .c-part4__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.c-part4__goal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.c-part4__goalleft {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 78px;
}
.c-part4__goallabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 14px 12px 13px;
  background-color: #31a39f;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.444;
  text-align: center;
}
.c-part4__goalright {
  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: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: calc(100% - 78px);
  padding-left: 15px;
}
.c-part4__goaltext {
  width: 100%;
  margin: -2px 0;
  color: #404040;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.59;
}
@media only screen and (max-width: 767px) {
  .c-part4__goaltext {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-part4__part {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .c-part4__part {
    margin-top: 25px;
  }
}
.c-part4__part .c-list3 {
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .c-part4__part .c-list3 {
    margin-top: 10px;
  }
}
.c-part4__part .c-list4 {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .c-part4__part .c-list4 {
    margin-top: 14px;
  }
}
.c-part4__part .c-list4 .c-list3 {
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .c-part4__part .c-list4 .c-list3 {
    margin-top: 6px;
  }
}
.c-part4__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 340px;
}
@media only screen and (max-width: 767px) {
  .c-part4__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 21px;
  }
}
.c-part4__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 20px;
  overflow: hidden;
}
.c-part4__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 61.7647058824%;
}
@media only screen and (max-width: 767px) {
  .c-part4__thumb::before {
    padding-top: 61.581920904%;
  }
}
.c-part4__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-part4__pagi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100% !important;
  margin-top: 15px;
  z-index: 1;
}
.c-part4__dot {
  display: block;
  width: 14px;
  height: 14px;
  margin: 0 4px;
  background-color: #e0e0e0;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.c-part4__dot.is-active {
  background-color: #324da3;
  pointer-events: none;
}
@media only screen and (min-width: 1023px) {
  .c-part4__dot:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    background-color: #324da3;
  }
}
/*------------------------------------------------------------
    Particle
------------------------------------------------------------*/
.c-particle1 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
.c-particle1.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.c-particle1__item {
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
}
.c-particle1__item svg {
  display: block;
}
/*------------------------------------------------------------
    Phone
------------------------------------------------------------*/
.c-phone1 {
  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%;
  padding: 49px 40px;
  background-color: #fffbe6;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-phone1 {
    padding: 35px 20px;
    border-radius: 20px;
  }
}
@media only screen and (max-width: 374px) {
  .c-phone1 {
    padding: 35px 16px;
  }
}
.c-phone1__title {
  width: 100%;
  color: #404040;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-phone1__title {
    font-size: 1.8rem;
  }
}
.c-phone1__tel {
  display: inline-block;
  margin-top: 13px;
  color: #404040;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.457;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-phone1__tel {
    margin-top: 9px;
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-phone1__time {
  width: 100%;
  margin-top: 5px;
  color: #404040;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
}
.c-phone1__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 26px;
}
@media only screen and (max-width: 767px) {
  .c-phone1__btn {
    width: 100%;
    margin-top: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .c-phone1__btn .c-btn2 {
    width: 100%;
  }
}
/*------------------------------------------------------------
    Q&A
------------------------------------------------------------*/
.c-qa1 {
  position: relative;
  width: 100%;
  padding: 39px 0 34px;
  border-bottom: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-qa1 {
    padding: 25px 0 30px;
  }
}
.c-qa1:first-child {
  border-top: 1px solid #ddd;
}
.c-qa1__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
}
.c-qa1__heading .c-qa1__symbol {
  color: #324da3;
}
.c-qa1__symbol {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 64px;
  padding-right: 10px;
  font-size: 4.5rem;
  font-weight: 900;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .c-qa1__symbol {
    width: 48px;
    font-size: 3.5rem;
  }
}
.c-qa1__title {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 64px);
  margin-top: 13px;
  color: #404040;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.59;
}
@media only screen and (max-width: 767px) {
  .c-qa1__title {
    width: calc(100% - 48px);
    margin-top: 10px;
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
.c-qa1__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  position: relative;
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .c-qa1__body {
    margin-top: 11px;
  }
}
.c-qa1__body .c-qa1__symbol {
  color: #31a39f;
}
.c-qa1__main {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 64px);
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  .c-qa1__main {
    width: calc(100% - 48px);
    margin-top: 9px;
  }
}
.c-qa1__content {
  margin-bottom: -5px;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-qa1__content {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-qa1__btn {
  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: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin: 35px -5px -10px;
}
@media only screen and (max-width: 767px) {
  .c-qa1__btn {
    -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;
    margin: 32px 0 0;
  }
}
.c-qa1__btn .c-btn2 {
  width: calc(50% - 10px);
  max-width: 480px;
  margin: 0 5px 10px;
}
@media only screen and (max-width: 767px) {
  .c-qa1__btn .c-btn2 {
    width: 100%;
    max-width: unset;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .c-qa1__btn .c-btn2 + .c-btn2 {
    margin-top: 10px;
  }
}
/*------------------------------------------------------------
    Radio
------------------------------------------------------------*/
.c-radio__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin: 0 -26px -10px 0;
}
.c-radio__group .mwform-radio-field {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 26px 10px 0;
}
.c-radio__group .mwform-radio-field label {
  position: relative;
}
.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;
  background-color: transparent;
  opacity: 0;
  -webkit-tap-highlight-color: transparent;
}
.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 .mwform-radio-field-text {
  display: block;
  position: relative;
  padding-left: 36px;
  cursor: pointer;
  color: #404040;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 1.421;
}
@media only screen and (max-width: 767px) {
  .c-radio__group .mwform-radio-field .mwform-radio-field-text {
    padding-left: 30px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-radio__group .mwform-radio-field .mwform-radio-field-text::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 25px;
  height: 25px;
  background-color: #fff;
  border: 1px solid #707070;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-radio__group .mwform-radio-field .mwform-radio-field-text::before {
    top: 3px;
    width: 20px;
    height: 20px;
  }
}
.c-radio__group .mwform-radio-field .mwform-radio-field-text::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 6px;
  -webkit-transform: scale(0);
  transform: scale(0);
  width: 13px;
  height: 13px;
  background-color: #324da3;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .c-radio__group .mwform-radio-field .mwform-radio-field-text::after {
    left: 5px;
    width: 10px;
    height: 10px;
  }
}
.c-radio__group--vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0;
}
.c-radio__group--vertical .mwform-radio-field {
  margin: 0;
}
.c-radio__group--vertical .mwform-radio-field + .mwform-radio-field {
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .c-radio__group--vertical .mwform-radio-field + .mwform-radio-field {
    margin-top: 8px;
  }
}
/*------------------------------------------------------------
    Relate
------------------------------------------------------------*/
.c-relate1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -2.12rem -20px;
}
@media only screen and (max-width: 1023px) {
  .c-relate1 {
    margin: 0 -18px -20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-relate1 {
    margin: 0 -12px -16px;
  }
}
@media only screen and (max-width: 374px) {
  .c-relate1 {
    margin: 0 -9px -16px;
  }
}
.c-relate1__item {
  margin: 0 2.12rem 20px;
}
@media only screen and (max-width: 1023px) {
  .c-relate1__item {
    margin: 0 18px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-relate1__item {
    margin: 0 12px 16px;
  }
}
@media only screen and (max-width: 374px) {
  .c-relate1__item {
    margin: 0 9px 16px;
  }
}
.c-relate1__item.is-hide .c-relate1__link {
  opacity: 0;
  pointer-events: none;
}
.c-relate1__link {
  display: inline-block;
  position: relative;
  color: #31a39f;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.444;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-relate1__link {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
@media only screen and (min-width: 1023px) {
  .c-relate1__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #c1c1c1;
  }
}
.c-relate1__link--prev {
  max-width: 149px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-relate1__link--prev {
    max-width: 7ch;
  }
}
.c-relate1__link--prev::before {
  content: "＜ ";
  text-decoration: underline;
  text-underline-offset: 2px;
}
.c-relate1__link--next {
  max-width: 149px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .c-relate1__link--next {
    max-width: 7ch;
  }
}
.c-relate1__link--next::after {
  content: " ＞";
  text-decoration: underline;
  text-underline-offset: 2px;
}
.c-relate2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -26px;
}
@media only screen and (max-width: 767px) {
  .c-relate2 {
    margin: 0 -20px;
  }
}
.c-relate2__item {
  margin: 0 26px;
}
@media only screen and (max-width: 767px) {
  .c-relate2__item {
    margin: 0 20px;
  }
}
.c-relate2__item.is-hide .c-relate2__link {
  opacity: 0;
  pointer-events: none;
}
.c-relate2__link {
  display: inline-block;
  color: #324da3;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
@media only screen and (max-width: 767px) {
  .c-relate2__link {
    font-size: 1.8rem;
    line-height: 1.44;
    text-underline-offset: 2px;
  }
}
@media only screen and (min-width: 1023px) {
  .c-relate2__link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #bebebe;
  }
}
/*------------------------------------------------------------
    Single
------------------------------------------------------------*/
.c-single1__title {
  position: relative;
  width: 100%;
  padding-bottom: 24px;
  border-bottom: 5px solid #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.457;
}
@media only screen and (max-width: 767px) {
  .c-single1__title {
    padding-bottom: 12px;
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-single1__title::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  max-width: 200px;
  height: 5px;
  background-color: #324da3;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-single1__title::after {
    max-width: 140px;
  }
}
.c-single1__content {
  margin-top: 51px;
  padding-bottom: 76px;
}
@media only screen and (max-width: 767px) {
  .c-single1__content {
    margin-top: 31px;
    padding-bottom: 46px;
  }
}
.c-single1__thumb {
  position: relative;
  background-color: #b2b2b2;
  width: 100%;
  overflow: hidden;
}
.c-single1__thumb img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.c-single1__thumb + .c-content1 {
  margin-top: 56px;
}
@media only screen and (max-width: 767px) {
  .c-single1__thumb + .c-content1 {
    margin-top: 34px;
  }
}
.c-single1__block01 {
  margin-top: 50px;
}
.c-single1__block02 {
  margin-top: 50px;
}
.c-single1__block03 {
  margin-top: 40px;
}
.c-single1__text {
  margin: 17px 0 -3px;
}
@media only screen and (max-width: 767px) {
  .c-single1__text {
    margin: 14px 0 -3px;
  }
}
.c-single1__text p + p {
  margin-top: 30px;
}
.c-single1__footer {
  position: relative;
  width: 100%;
  padding-top: 61px;
  border-top: 1px solid #ddd;
}
@media only screen and (max-width: 767px) {
  .c-single1__footer {
    padding-top: 44px;
    padding-bottom: 45px;
  }
}
.c-single2__heading {
  position: relative;
  width: 100%;
  padding-bottom: 49px;
  border-bottom: 1px solid #324da4;
}
@media only screen and (max-width: 767px) {
  .c-single2__heading {
    padding-bottom: 27px;
  }
}
.c-single2__basis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .c-single2__basis {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.c-single2__datetime {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 122px;
  margin: 2px 0 4px;
  padding-right: 20px;
  color: #484848;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-single2__datetime {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin: 0;
    padding-right: 0;
  }
}
.c-single2__taglist {
  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;
  max-width: calc(100% - 122px);
  margin: 0 -4px -4px 0;
}
@media only screen and (max-width: 767px) {
  .c-single2__taglist {
    max-width: 100%;
    margin: 9px -4px -4px 0;
  }
}
.c-single2__tagitem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  margin: 0 4px 4px 0;
}
.c-single2__title {
  margin-top: 18px;
  color: #324da3;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.423;
}
@media only screen and (max-width: 767px) {
  .c-single2__title {
    margin-top: 14px;
    font-size: 2rem;
    line-height: 1.45;
  }
}
.c-single2__content {
  position: relative;
  width: 100%;
  padding: 50px 0 51px;
  border-bottom: 1px solid #324da4;
}
@media only screen and (max-width: 767px) {
  .c-single2__content {
    padding: 36px 0 37px;
  }
}
.c-single2__content.u-temp {
  min-height: 863px;
}
@media only screen and (max-width: 767px) {
  .c-single2__content.u-temp {
    min-height: 563px;
  }
}
.c-single2__footer {
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .c-single2__footer {
    margin-top: 31px;
  }
}
/*------------------------------------------------------------
    Table
------------------------------------------------------------*/
.c-tab1 {
  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;
}
.c-tab1__item {
  position: relative;
  width: calc(50% - 16px);
  margin: 0 8px 12px;
}
.c-tab1__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;
  width: 100%;
  height: 100%;
  min-height: 60px;
  padding: 11px 20px;
  background-color: #f8f8f8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.c-tab1__link.is-active {
  pointer-events: none;
  background-color: #324da3;
  color: #fff;
}
/*------------------------------------------------------------
    Table
------------------------------------------------------------*/
.c-table1 {
  width: 100%;
  border-collapse: collapse;
}
.c-table1--style1 .c-table1__row {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  vertical-align: top;
  padding: 23px 0 21px;
}
@media only screen and (max-width: 767px) {
  .c-table1--style1 .c-table1__row {
    padding: 24px 0 26px;
  }
}
.c-table1--style1 .c-table1__field {
  width: 26.9946808511%;
  min-width: 174px;
  line-height: 2.5;
}
@media only screen and (max-width: 767px) {
  .c-table1--style1 .c-table1__field {
    width: 100%;
    min-width: unset;
    line-height: 1.5;
  }
}
.c-table1--style1 .c-table1__content {
  width: 73.0053191489%;
  line-height: 2.5;
}
@media only screen and (max-width: 767px) {
  .c-table1--style1 .c-table1__content {
    width: 100%;
    line-height: 1.5;
  }
}
.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%;
  padding: 32px 0 31px;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 767px) {
  .c-table1__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 24px 0 26px;
  }
}
.c-table1__row:first-child {
  border-top: 1px solid #ddd;
}
.c-table1__field {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 25.3989361702%;
  min-width: 120px;
  padding-left: 10px;
  padding-right: 24px;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.444;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .c-table1__field {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-table1__content {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 74.6010638298%;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.444;
}
@media only screen and (max-width: 767px) {
  .c-table1__content {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 8px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-table1__content p + p {
  margin-top: 26px;
}
@media only screen and (max-width: 767px) {
  .c-table1__content p + p {
    margin-top: 14px;
  }
}
/*------------------------------------------------------------
    Tag
------------------------------------------------------------*/
.c-tag1 {
  display: inline-block;
  min-width: 150px;
  max-width: 100%;
  padding: 5px 17px;
  background-color: #324da3;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.429;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
/*------------------------------------------------------------
    Text
------------------------------------------------------------*/
.c-text1 {
  color: #324da3;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
}
.c-text1--white {
  color: #fff;
}
.c-text1--black {
  color: #404040;
}
.c-text1--dark {
  color: #000;
}
.c-text2 {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.944;
}
@media only screen and (max-width: 767px) {
  .c-text2 {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.c-text2--bold {
  font-weight: 700;
}
.c-text3 {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.667;
}
@media only screen and (max-width: 767px) {
  .c-text3 {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-text4 {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.556;
}
@media only screen and (max-width: 767px) {
  .c-text4 {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-text5 {
  color: #404040;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.222;
}
@media only screen and (max-width: 767px) {
  .c-text5 {
    font-size: 1.6rem;
    line-height: 2;
  }
}
.c-text6 {
  color: #404040;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.59;
}
@media only screen and (max-width: 767px) {
  .c-text6 {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}
.c-text7 {
  color: #000;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.778;
}
@media only screen and (max-width: 767px) {
  .c-text7 {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
/*------------------------------------------------------------
    Title
------------------------------------------------------------*/
.c-title1--white .c-title1__ja {
  color: #fff;
}
.c-title1--white .c-title1__en {
  color: #fff;
}
.c-title1__ja {
  display: block;
  color: #324da3;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.467;
}
@media only screen and (max-width: 767px) {
  .c-title1__ja {
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-title1__ja + .c-title1__en {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .c-title1__ja + .c-title1__en {
    margin-top: 14px;
  }
}
.c-title1__en {
  display: block;
  color: #324da3;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.222;
}
.c-title2 {
  color: #324da3;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .c-title2 {
    font-size: 1.8rem;
    line-height: 1.778;
  }
}
.c-title2--white {
  color: #fff;
}
.c-title3__ja {
  display: block;
  color: #324da3;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
}
@media only screen and (max-width: 767px) {
  .c-title3__ja {
    font-size: 1.8rem;
    line-height: 1.44;
  }
}
.c-title3__ja + .c-title3__en {
  margin-top: 10px;
}
.c-title3__en {
  display: block;
  color: #324da3;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.2;
}
.c-title4__en {
  display: block;
  color: #324da3;
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .c-title4__en {
    font-size: 2.5rem;
  }
}
.c-title4__en + .c-title4__ja {
  margin-top: 15px;
}
@media only screen and (max-width: 767px) {
  .c-title4__en + .c-title4__ja {
    margin-top: 9px;
  }
}
.c-title4__ja {
  display: block;
  color: #404040;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.44;
}
@media only screen and (max-width: 767px) {
  .c-title4__ja {
    font-size: 3rem;
    line-height: 1.467;
  }
}
.c-title5 {
  text-align: center;
}
.c-title5__en {
  display: block;
  color: #324da3;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.2;
}
.c-title5__en + .c-title5__ja {
  margin-top: 16px;
}
@media only screen and (max-width: 767px) {
  .c-title5__en + .c-title5__ja {
    margin-top: 9px;
  }
}
.c-title5__ja {
  display: block;
  color: #404040;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.45;
}
@media only screen and (max-width: 767px) {
  .c-title5__ja {
    font-size: 3rem;
    line-height: 1.467;
  }
}
.c-title5__sub {
  margin-top: 15px;
  color: #404040;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.444;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title5__sub {
    margin-top: 12px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.c-title6 {
  position: relative;
  padding-bottom: 38px;
  color: #324da3;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.44;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title6 {
    padding-bottom: 24px;
    font-size: 3rem;
    line-height: 1.467;
  }
}
.c-title6::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 80px;
  height: 2px;
  background-color: #324da4;
}
.c-title7 {
  position: relative;
  padding-left: 23px;
  color: #404040;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 1.478;
}
@media only screen and (max-width: 767px) {
  .c-title7 {
    padding-left: 18px;
    font-size: 2rem;
    line-height: 1.45;
  }
}
.c-title7::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 100%;
  background-color: #324da3;
}
@media only screen and (max-width: 767px) {
  .c-title7::before {
    width: 6px;
  }
}
.c-title7 small {
  display: inline-block;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
  margin-left: 2px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-title7 small {
    font-size: 1.4rem;
  }
}
.c-title7--big {
  font-size: 2.5rem;
  line-height: 1.44;
}
@media only screen and (max-width: 767px) {
  .c-title7--big {
    font-size: 2rem;
    line-height: 1.45;
  }
}
.c-title7--big::before {
  top: 2px;
  height: calc(100% - 2px);
}
@media only screen and (max-width: 767px) {
  .c-title7--big::before {
    top: 0;
    height: 100%;
  }
}
.c-title8 {
  display: block;
  position: relative;
  width: 100%;
  padding: 19px 20px 17px;
  background-color: #324da3;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.467;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .c-title8 {
    padding: 13px 20px 15px;
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-title9__ja {
  display: block;
  color: #324da3;
  font-size: 4.5rem;
  font-weight: 700;
  line-height: 1.444;
}
@media only screen and (max-width: 767px) {
  .c-title9__ja {
    font-size: 2.5rem;
  }
}
.c-title9__en {
  display: block;
  margin-top: 13px;
  color: #324da3;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .c-title9__en {
    margin-top: 10px;
    font-size: 2rem;
  }
}
.c-title10 {
  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;
}
@media only screen and (max-width: 767px) {
  .c-title10 {
    -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;
  }
}
.c-title10__ja {
  margin-right: 30px;
  color: #404040;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.467;
}
@media only screen and (max-width: 767px) {
  .c-title10__ja {
    margin-right: 0;
    font-size: 2.5rem;
    line-height: 1.444;
  }
}
.c-title10__en {
  margin: 6px 0 4px;
  color: #324da3;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .c-title10__en {
    margin: 10px 0 0;
  }
}
.c-title11 {
  color: #324da3;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.333;
}
@media only screen and (max-width: 767px) {
  .c-title11 {
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-title12 {
  position: relative;
  width: 100%;
  padding-bottom: 24px;
  border-bottom: 5px solid #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #324da3;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.457;
}
@media only screen and (max-width: 767px) {
  .c-title12 {
    padding-bottom: 12px;
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
.c-title12::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  max-width: 200px;
  height: 5px;
  background-color: #324da3;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-title12::after {
    max-width: 140px;
  }
}
.c-title13 {
  display: block;
  width: 100%;
  padding: 6px 24px 5px;
  background-color: #324da3;
  border-radius: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
.c-title13--blue {
  background-color: #31a39f;
}
.c-title13--green {
  background-color: #57c15b;
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Project .p-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    CSS of Home page
------------------------------------------------------------*/
.home {
  overflow: hidden;
}
/*------------------------------------------------------------
    CSS of Reason section
------------------------------------------------------------*/
.home-reason {
  position: relative;
  padding: 18px 0 100px;
}
@media only screen and (max-width: 1023px) {
  .home-reason {
    padding: 88px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .home-reason {
    padding: 46px 0 0;
  }
}
.home-reason::before {
  content: "";
  position: absolute;
  top: -112px;
  left: max(40px, (100% - 1168px) / 2 + 40px);
  width: calc(100% - max(40px, (100% - 1168px) / 2 + 40px));
  height: calc(100% + 112px);
  background-color: #324da3;
  border-radius: 20px 0 0 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .home-reason::before {
    top: -64px;
    left: 40px;
    width: calc(100% - 40px);
    height: calc(100% - 146px);
  }
}
@media only screen and (max-width: 767px) {
  .home-reason::before {
    top: 0;
    left: 30px;
    width: calc(100% - 30px);
    height: calc(100% - 208px);
  }
}
.home-reason__inner {
  position: relative;
  margin-left: max(0px, (100% - 1168px) / 2);
  padding-left: 40px;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .home-reason__inner {
    margin-left: 0;
    padding-left: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .home-reason__inner {
    padding-left: 30px;
  }
}
.home-reason__heading {
  position: relative;
  width: 100%;
  max-width: 1128px;
  margin-right: auto;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .home-reason__heading {
    max-width: unset;
    margin-right: 0;
    padding: 0 40px;
  }
}
@media only screen and (max-width: 767px) {
  .home-reason__heading {
    padding: 0 30px;
  }
}
@media only screen and (max-width: 1023px) {
  .home-reason__heading .c-title1__en {
    position: absolute;
    top: 3px;
    left: -40px;
    color: #324da3;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .home-reason__heading .c-title1__en {
    left: -31px;
  }
}
.home-reason__headinginner {
  width: 100%;
  max-width: 1046px;
  margin-left: auto;
  padding-left: 40px;
}
@media only screen and (max-width: 1023px) {
  .home-reason__headinginner {
    max-width: unset;
    margin-left: 0;
    padding-left: 0;
  }
}
.home-reason__body {
  width: 100%;
  max-width: max(1088px, 100% - 42px);
  margin-left: auto;
  padding-left: 40px;
}
@media only screen and (max-width: 1023px) {
  .home-reason__body {
    max-width: unset;
    margin-left: 0;
    padding-left: 0;
  }
}
.home-reason__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 50px;
}
@media only screen and (max-width: 1023px) {
  .home-reason__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .home-reason__wrap {
    margin-top: 31px;
  }
}
.home-reason__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 46.3755458515%;
  max-width: 531px;
  padding-right: 40px;
}
@media only screen and (max-width: 1023px) {
  .home-reason__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    max-width: unset;
    padding-left: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .home-reason__left {
    padding: 0 30px;
  }
}
.home-reason__leftinner {
  width: 100%;
  max-width: 483px;
  margin-right: auto;
}
@media only screen and (max-width: 1023px) {
  .home-reason__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.home-reason__content {
  margin-top: 22px;
}
@media only screen and (max-width: 767px) {
  .home-reason__content {
    margin-top: 32px;
  }
}
.home-reason__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 27px;
}
@media only screen and (max-width: 767px) {
  .home-reason__btn {
    margin-top: 18px;
  }
}
.home-reason__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}
@media only screen and (max-width: 1023px) {
  .home-reason__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 60px;
    margin-left: -40px;
  }
}
@media only screen and (max-width: 767px) {
  .home-reason__right {
    margin-top: 40px;
    margin-left: -30px;
  }
}
.home-reason__thumb {
  position: relative;
  width: 100%;
  min-height: 400px;
  margin-top: 10px;
  background-color: #b2b2b2;
  border-radius: 20px 0 0 20px;
  overflow: hidden;
}
@media only screen and (max-width: 1023px) {
  .home-reason__thumb {
    min-height: unset;
    margin-top: 0;
    border-radius: 0 20px 20px 0;
  }
}
.home-reason__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 65.1465798046%;
}
@media only screen and (max-width: 767px) {
  .home-reason__thumb::before {
    padding-top: 78.125%;
  }
}
.home-reason__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;
}
/*------------------------------------------------------------
    CSS of OEM section
------------------------------------------------------------*/
.home-oem {
  position: relative;
  padding: 101px 0 0;
}
@media only screen and (max-width: 767px) {
  .home-oem {
    padding: 60px 0 0;
  }
}
.home-oem__heading .c-title1 {
  text-align: center;
}
.home-oem__body {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .home-oem__body {
    margin-top: 25px;
  }
}
.home-oem__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) {
  .home-oem__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;
  }
}
.home-oem__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 47.7941176471%;
}
@media only screen and (max-width: 1023px) {
  .home-oem__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
  }
}
.home-oem__thumb {
  position: relative;
  width: 100%;
  margin-top: 10px;
  background-color: #b2b2b2;
  border-radius: 20px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .home-oem__thumb {
    margin-top: 0;
  }
}
.home-oem__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 66.6673076923%;
}
@media only screen and (max-width: 767px) {
  .home-oem__thumb::before {
    padding-top: 66.6666666667%;
  }
}
.home-oem__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;
}
.home-oem__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 52.2058823529%;
  padding-left: 40px;
}
@media only screen and (max-width: 1023px) {
  .home-oem__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 28px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .home-oem__right {
    margin-top: 16px;
  }
}
.home-oem__rightinner {
  width: 100%;
  max-width: 523px;
  margin-left: auto;
}
@media only screen and (max-width: 1023px) {
  .home-oem__rightinner {
    max-width: unset;
    margin-left: 0;
  }
}
.home-oem__content {
  margin-top: 22px;
}
@media only screen and (max-width: 767px) {
  .home-oem__content {
    margin-top: 17px;
  }
}
.home-oem__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 27px;
}
@media only screen and (max-width: 767px) {
  .home-oem__btn {
    margin-top: 22px;
  }
}
/*------------------------------------------------------------
    CSS of Support section
------------------------------------------------------------*/
.home-support {
  position: relative;
  padding: 80px 0 0;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .home-support {
    padding: 63px 0 0;
  }
}
.home-support__inner {
  position: relative;
  margin-left: max(0px, (100% - 1168px) / 2);
  padding-left: 40px;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .home-support__inner {
    margin-left: 0;
    padding-left: 0;
  }
}
.home-support__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .home-support__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.home-support__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 29.1768541157%;
  min-width: 220px;
  max-width: 358px;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .home-support__left {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    max-width: unset;
    padding: 0 30px;
  }
}
.home-support__btn {
  margin-top: 31px;
}
@media only screen and (max-width: 767px) {
  .home-support__btn {
    margin-top: 29px;
  }
}
.home-support__btn.is-notsp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
  .home-support__btn.is-notsp {
    display: none;
  }
}
.home-support__btn.is-sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .home-support__btn.is-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}
.home-support__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: max(70.8231458843%, 100% - 358px);
}
@media only screen and (max-width: 767px) {
  .home-support__right {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 26px;
  }
}
.home-support__rightinner {
  width: 100%;
  max-width: 770px;
  margin-right: auto;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .home-support__rightinner {
    max-width: unset;
    margin-right: 0;
    padding: 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .home-support__slider {
    padding-left: 30px;
  }
}
.home-support__slide {
  width: 300px;
}
@media only screen and (max-width: 374px) {
  .home-support__slide {
    width: 260px;
  }
}
.home-support__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -15px;
}
@media only screen and (max-width: 767px) {
  .home-support__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;
  }
}
.home-support__item {
  width: calc(100% / 2 - 30px);
  max-width: 300px;
  margin: 0 15px;
}
@media only screen and (max-width: 767px) {
  .home-support__item {
    width: 100%;
    max-width: unset;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .home-support__item + .home-support__item {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .home-support__footer {
    padding: 0 30px;
  }
}
/*------------------------------------------------------------
    CSS of Group section
------------------------------------------------------------*/
.home-group {
  position: relative;
  padding: 100px 0 0;
}
@media only screen and (max-width: 767px) {
  .home-group {
    padding: 60px 0 0;
  }
}
.home-group__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -24px -40px;
}
@media only screen and (max-width: 1023px) {
  .home-group__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;
  }
}
.home-group__item {
  width: calc(50% - 48px);
  margin: 0 24px 40px;
}
@media only screen and (max-width: 1023px) {
  .home-group__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 1023px) {
  .home-group__item + .home-group__item {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .home-group__item + .home-group__item {
    margin-top: 20px;
  }
}
.home-group__item--long {
  width: calc(100% - 48px);
}
@media only screen and (max-width: 1023px) {
  .home-group__item--long {
    width: 100%;
  }
}
/*------------------------------------------------------------
    CSS of News section
------------------------------------------------------------*/
.home-news {
  position: relative;
  padding: 100px 0 103px;
}
@media only screen and (max-width: 767px) {
  .home-news {
    padding: 61px 0 68px;
  }
}
.home-news__heading .c-title1 {
  text-align: center;
}
.home-news__body {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .home-news__body {
    margin-top: 33px;
  }
}
.home-news__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .home-news__btn {
    margin-top: 33px;
  }
}
/*------------------------------------------------------------
    CSS of Recruit section
------------------------------------------------------------*/
.home-recruit {
  position: relative;
  padding: 98px 0 0;
  background-color: #ebf6ff;
}
@media only screen and (max-width: 767px) {
  .home-recruit {
    padding: 64px 0 0;
  }
}
.home-recruit__inner {
  position: relative;
  z-index: 1;
}
.home-recruit__title {
  color: #324da3;
  font-size: 12rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .home-recruit__title {
    font-size: 7.6rem;
  }
}
@media only screen and (max-width: 374px) {
  .home-recruit__title {
    font-size: 6.4rem;
  }
}
.home-recruit__subheading {
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  .home-recruit__subheading {
    margin-top: 21px;
  }
}
.home-recruit__subtitle {
  color: #324da3;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .home-recruit__subtitle {
    font-size: 1.8rem;
    line-height: 1.778;
  }
}
.home-recruit__content {
  margin-top: 17px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .home-recruit__content {
    margin-top: 23px;
  }
}
.home-recruit__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 29px;
}
@media only screen and (max-width: 767px) {
  .home-recruit__btn {
    margin-top: 28px;
  }
}
.home-recruit__people {
  position: relative;
  margin-top: -80px;
  pointer-events: none;
}
@media only screen and (max-width: 1023px) {
  .home-recruit__people {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .home-recruit__people {
    margin-top: 30px;
  }
}
.home-recruit__people img {
  width: 100%;
}
/*------------------------------------------------------------
    CSS of Reason page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.reason-main {
  position: relative;
  padding: 64px 0 192px;
}
@media only screen and (max-width: 767px) {
  .reason-main {
    padding: 64px 0 100px;
  }
}
.reason-main__heading .c-title4 {
  text-align: center;
}
.reason-main__nav {
  margin-top: 60px;
}
@media only screen and (max-width: 1023px) {
  .reason-main__nav {
    width: 100%;
    max-width: 645px;
    margin: 60px auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .reason-main__nav {
    margin: 45px auto 0;
  }
}
.reason-main__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -11px;
}
@media only screen and (max-width: 1023px) {
  .reason-main__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -11px -36px;
  }
}
.reason-main__item {
  width: calc(20% - 22px);
  max-width: 200px;
  margin: 0 11px;
}
@media only screen and (max-width: 1023px) {
  .reason-main__item {
    width: calc(33.3333333333% - 22px);
    margin: 0 11px 36px;
  }
}
@media only screen and (max-width: 767px) {
  .reason-main__item {
    width: calc(50% - 22px);
  }
}
.reason-main__body {
  margin-top: 102px;
}
@media only screen and (max-width: 767px) {
  .reason-main__body {
    margin-top: 60px;
  }
}
.reason-main__part + .reason-main__part {
  margin-top: 117px;
}
@media only screen and (max-width: 767px) {
  .reason-main__part + .reason-main__part {
    margin-top: 64px;
  }
}
/*------------------------------------------------------------
    CSS of OEM page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Commitment section
------------------------------------------------------------*/
.oem-commitment {
  position: relative;
  padding: 64px 0 0;
}
.oem-commitment__body {
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__body {
    margin-top: 22px;
  }
}
.oem-commitment__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.oem-commitment__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 52.9411764706%;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.oem-commitment__leftinner {
  width: 100%;
  max-width: 523px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.oem-commitment__content {
  margin-top: -4px;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__content {
    margin-top: 0;
  }
}
.oem-commitment__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 47.0588235294%;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 20px;
  }
}
.oem-commitment__thumb1 {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__thumb1 {
    border-radius: 20px;
  }
}
.oem-commitment__thumb1::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 117.1875%;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__thumb1::before {
    padding-top: 117.2316384181%;
  }
}
.oem-commitment__thumb1 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;
}
.oem-commitment__thumb2 {
  position: relative;
  width: 100%;
  max-width: 464px;
  margin-top: 73px;
  background-color: #b2b2b2;
  border-radius: 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__thumb2 {
    max-width: unset;
    margin-top: 21px;
    border-radius: 20px;
  }
}
.oem-commitment__thumb2::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 77.8017241379%;
}
@media only screen and (max-width: 767px) {
  .oem-commitment__thumb2::before {
    padding-top: 77.6836158192%;
  }
}
.oem-commitment__thumb2 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;
}
/*------------------------------------------------------------
    CSS of Responsiveness section
------------------------------------------------------------*/
.oem-responsiveness {
  position: relative;
  padding: 161px 0 0;
}
@media only screen and (max-width: 767px) {
  .oem-responsiveness {
    padding: 82px 0 0;
  }
}
.oem-responsiveness__body {
  margin-top: 67px;
}
@media only screen and (max-width: 767px) {
  .oem-responsiveness__body {
    margin-top: 37px;
  }
}
.oem-responsiveness__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -32px;
}
@media only screen and (max-width: 1023px) {
  .oem-responsiveness__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;
  }
}
.oem-responsiveness__item {
  width: calc(50% - 64px);
  margin: 0 32px;
  border-bottom: 1px solid #324da4;
}
@media only screen and (max-width: 1023px) {
  .oem-responsiveness__item {
    width: 100%;
    margin: 0;
  }
}
.oem-responsiveness__item:nth-child(1) {
  border-top: 1px solid #324da4;
}
.oem-responsiveness__item:nth-child(2) {
  border-top: 1px solid #324da4;
}
@media only screen and (max-width: 1023px) {
  .oem-responsiveness__item:nth-child(2) {
    border-top: none;
  }
}
/*------------------------------------------------------------
    CSS of Quality section
------------------------------------------------------------*/
.oem-quality {
  position: relative;
  padding: 132px 0 135px;
}
@media only screen and (max-width: 767px) {
  .oem-quality {
    padding: 82px 0 80px;
  }
}
.oem-quality__body {
  margin-top: 67px;
}
@media only screen and (max-width: 767px) {
  .oem-quality__body {
    margin-top: 37px;
  }
}
.oem-quality__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -32px;
}
@media only screen and (max-width: 1023px) {
  .oem-quality__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;
  }
}
.oem-quality__item {
  width: calc(50% - 64px);
  margin: 0 32px;
  border-bottom: 1px solid #324da4;
}
@media only screen and (max-width: 1023px) {
  .oem-quality__item {
    width: 100%;
    margin: 0;
  }
}
.oem-quality__item:nth-child(1) {
  border-top: 1px solid #324da4;
}
.oem-quality__item:nth-child(2) {
  border-top: 1px solid #324da4;
}
@media only screen and (max-width: 1023px) {
  .oem-quality__item:nth-child(2) {
    border-top: none;
  }
}
/*------------------------------------------------------------
    CSS of Support section
------------------------------------------------------------*/
.oem-support {
  position: relative;
  background-color: #f8f8f8;
  padding: 124px 0 115px;
}
@media only screen and (max-width: 767px) {
  .oem-support {
    padding: 68px 0 62px;
  }
}
.oem-support__body {
  margin-top: 68px;
}
@media only screen and (max-width: 767px) {
  .oem-support__body {
    margin-top: 38px;
  }
}
.oem-support__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -17px -70px;
}
@media only screen and (max-width: 1023px) {
  .oem-support__list {
    margin: 0 -10px -40px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-support__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;
  }
}
.oem-support__item {
  width: calc(33.3333333333% - 34px);
  margin: 0 17px 70px;
}
@media only screen and (max-width: 1023px) {
  .oem-support__item {
    width: calc(33.3333333333% - 20px);
    margin: 0 10px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-support__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .oem-support__item + .oem-support__item {
    margin-top: 36px;
  }
}
.oem-support__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 70px;
}
@media only screen and (max-width: 767px) {
  .oem-support__btn {
    margin-top: 60px;
  }
}
/*------------------------------------------------------------
    CSS of Product flow section
------------------------------------------------------------*/
.oem-productflow {
  position: relative;
  padding: 60px 0 131px;
}
@media only screen and (max-width: 767px) {
  .oem-productflow {
    padding: 60px 0 100px;
  }
}
.oem-productflow__intro {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .oem-productflow__intro {
    margin-top: 40px;
  }
}
.oem-productflow__body {
  margin-top: 81px;
}
@media only screen and (max-width: 767px) {
  .oem-productflow__body {
    margin-top: 64px;
  }
}
.oem-productflow__part + .oem-productflow__part {
  margin-top: 66px;
}
@media only screen and (max-width: 767px) {
  .oem-productflow__part + .oem-productflow__part {
    margin-top: 64px;
  }
}
.oem-productflow__phone {
  margin-top: 106px;
}
@media only screen and (max-width: 767px) {
  .oem-productflow__phone {
    margin-top: 60px;
  }
}
/*------------------------------------------------------------
    CSS of Manufacturing flow section
------------------------------------------------------------*/
.oem-manufacturingflow {
  position: relative;
  padding: 60px 0 131px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow {
    padding: 60px 0 100px;
  }
}
.oem-manufacturingflow__intro {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__intro {
    margin-top: 40px;
  }
}
.oem-manufacturingflow__body {
  margin-top: 70px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__body {
    margin-top: 40px;
  }
}
.oem-manufacturingflow__list {
  margin-top: 66px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__list {
    margin-top: 30px;
  }
}
.oem-manufacturingflow__item {
  position: relative;
}
.oem-manufacturingflow__item::before {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 97px;
  height: 32px;
  background-color: #324da3;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.oem-manufacturingflow__item:nth-child(1) {
  content: none;
}
.oem-manufacturingflow__item:nth-child(2) {
  margin-top: 97px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__item:nth-child(2) {
    margin-top: 64px;
  }
}
.oem-manufacturingflow__item:nth-child(2)::before {
  top: -69px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__item:nth-child(2)::before {
    top: -48px;
  }
}
.oem-manufacturingflow__item:nth-child(3) {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__item:nth-child(3) {
    margin-top: 64px;
  }
}
.oem-manufacturingflow__item:nth-child(3)::before {
  content: none;
}
.oem-manufacturingflow__item:nth-child(4) {
  margin-top: 82px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__item:nth-child(4) {
    margin-top: 64px;
  }
}
.oem-manufacturingflow__item:nth-child(4)::before {
  content: none;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__item:nth-child(4)::before {
    content: "";
    top: -48px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__tab .c-tab1__item::before {
    content: "";
    position: absolute;
    top: -48px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 97px;
    height: 32px;
    background-color: #f8f8f8;
    -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__tab .c-tab1__item:has(.c-tab1__link.is-active)::before {
    background-color: #324da3;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__tab + .oem-manufacturingflow__sublist {
    margin-top: 20px;
  }
}
.oem-manufacturingflow__sublist {
  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: 1023px) {
  .oem-manufacturingflow__sublist {
    margin: 0 -12px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__sublist {
    -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;
  }
}
.oem-manufacturingflow__subitem {
  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(50% - 48px);
  margin: 0 24px;
}
@media only screen and (max-width: 1023px) {
  .oem-manufacturingflow__subitem {
    width: calc(50% - 24px);
    margin: 0 12px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__subitem {
    display: none;
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__subitem.is-show {
    display: block;
    animation: 0.4s fadeIn linear both;
  }
}
.oem-manufacturingflow__subitem::before {
  content: "";
  position: absolute;
  top: -52px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 97px;
  height: 32px;
  background-color: #324da3;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__subitem::before {
    content: none;
  }
}
.oem-manufacturingflow__subitem::after {
  content: "";
  position: absolute;
  bottom: -61px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 97px;
  height: 32px;
  background-color: #324da3;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__subitem::after {
    content: none;
  }
}
.oem-manufacturingflow__subitem .c-box2 {
  position: relative;
}
.oem-manufacturingflow__subitem .c-box2 + .c-box2 {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__subitem .c-box2 + .c-box2 {
    margin-top: 64px;
  }
}
.oem-manufacturingflow__subitem .c-box2 + .c-box2::before {
  content: "";
  position: absolute;
  top: -52px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 97px;
  height: 32px;
  background-color: #324da3;
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__subitem .c-box2 + .c-box2::before {
    top: -48px;
  }
}
.oem-manufacturingflow__phone {
  margin-top: 132px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingflow__phone {
    margin-top: 60px;
  }
}
/*------------------------------------------------------------
    CSS of Manufacturing form section
------------------------------------------------------------*/
.oem-manufacturingform {
  position: relative;
  padding: 60px 0 131px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform {
    padding: 60px 0 100px;
  }
}
.oem-manufacturingform__intro {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__intro {
    margin-top: 40px;
  }
}
.oem-manufacturingform__body {
  margin-top: 70px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__body {
    margin-top: 40px;
  }
}
.oem-manufacturingform__part + .oem-manufacturingform__part {
  margin-top: 79px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__part + .oem-manufacturingform__part {
    margin-top: 64px;
  }
}
.oem-manufacturingform__description {
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__description {
    margin-top: 25px;
  }
}
.oem-manufacturingform__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: 38px -20px -58px;
}
@media only screen and (max-width: 1023px) {
  .oem-manufacturingform__list {
    margin: 38px -10px -58px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__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: 25px 0 0;
  }
}
.oem-manufacturingform__item {
  width: calc(33.3333333333% - 40px);
  margin: 0 20px 58px;
}
@media only screen and (max-width: 1023px) {
  .oem-manufacturingform__item {
    width: calc(33.3333333333% - 20px);
    margin: 0 10px 58px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__item + .oem-manufacturingform__item {
    margin-top: 36px;
  }
}
.oem-manufacturingform__phone {
  margin-top: 143px;
}
@media only screen and (max-width: 767px) {
  .oem-manufacturingform__phone {
    margin-top: 60px;
  }
}
/*------------------------------------------------------------
    CSS of Quality control section
------------------------------------------------------------*/
.oem-qualitycontrol {
  position: relative;
  padding: 60px 0 131px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol {
    padding: 60px 0 100px;
  }
}
.oem-qualitycontrol__intro {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__intro {
    margin-top: 40px;
  }
}
.oem-qualitycontrol__body {
  margin-top: 70px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__body {
    margin-top: 40px;
  }
}
.oem-qualitycontrol__part + .oem-qualitycontrol__part {
  margin-top: 99px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__part + .oem-qualitycontrol__part {
    margin-top: 64px;
  }
}
.oem-qualitycontrol__description {
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__description {
    margin-top: 25px;
  }
}
.oem-qualitycontrol__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: 38px -20px -58px;
}
@media only screen and (max-width: 1023px) {
  .oem-qualitycontrol__list {
    margin: 38px -10px -58px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__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: 25px 0 0;
  }
}
.oem-qualitycontrol__item {
  width: calc(33.3333333333% - 40px);
  margin: 0 20px 58px;
}
@media only screen and (max-width: 1023px) {
  .oem-qualitycontrol__item {
    width: calc(33.3333333333% - 20px);
    margin: 0 10px 58px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__item + .oem-qualitycontrol__item {
    margin-top: 36px;
  }
}
.oem-qualitycontrol__flow {
  margin-top: 67px;
  overflow-x: auto;
  overflow-y: hidden;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__flow {
    margin-top: 25px;
  }
}
.oem-qualitycontrol__flow img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__flow img {
    min-width: 680px;
  }
}
.oem-qualitycontrol__flow .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 1;
}
.oem-qualitycontrol__flow .scroll-hint-icon {
  top: calc(50% - 60px);
  left: calc(50% - 79px);
  width: 158px;
  height: 121px;
  padding: 16px 16px 12px;
  border-radius: 4px;
}
.oem-qualitycontrol__flow .scroll-hint-icon:before {
  width: 64px;
  height: 64px;
  background-image: url("/assets/img/common/icon-scroll-hand.svg");
}
.oem-qualitycontrol__flow .scroll-hint-icon:after {
  top: 16px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  margin-left: 0;
  background-image: url("/assets/img/common/icon-scroll-arrow.svg");
  background-size: contain;
  background-position: center center;
}
.oem-qualitycontrol__flow .scroll-hint-text {
  margin-top: 8px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.oem-qualitycontrol__phone {
  margin-top: 125px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitycontrol__phone {
    margin-top: 60px;
  }
}
/*------------------------------------------------------------
    CSS of Quality standard section
------------------------------------------------------------*/
.oem-qualitystandard {
  position: relative;
  padding: 60px 0 144px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitystandard {
    padding: 60px 0 80px;
  }
}
.oem-qualitystandard__intro {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitystandard__intro {
    margin-top: 40px;
  }
}
.oem-qualitystandard__body {
  margin-top: 126px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitystandard__body {
    margin-top: 64px;
  }
}
.oem-qualitystandard__part + .oem-qualitystandard__part {
  margin-top: 98px;
}
@media only screen and (max-width: 767px) {
  .oem-qualitystandard__part + .oem-qualitystandard__part {
    margin-top: 64px;
  }
}
/*------------------------------------------------------------
    CSS of Casestudy section
------------------------------------------------------------*/
.oem-casestudy {
  position: relative;
  padding: 60px 0 131px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy {
    padding: 60px 0 100px;
  }
}
.oem-casestudy__body {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__body {
    margin-top: 40px;
  }
}
.oem-casestudy__main {
  margin-top: 100px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__main {
    margin-top: 40px;
  }
}
.oem-casestudy__main--new {
  margin-top: 45px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__main--new {
    margin-top: 30px;
  }
}
.oem-casestudy__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 0 -17px -79px;
}
@media only screen and (max-width: 1023px) {
  .oem-casestudy__list {
    margin: 0 -10px -40px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__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;
  }
}
.oem-casestudy__item {
  width: calc(33.3333333333% - 34px);
  margin: 0 17px 79px;
}
@media only screen and (max-width: 1023px) {
  .oem-casestudy__item {
    width: calc(33.3333333333% - 20px);
    margin: 0 10px 40px;
  }
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__item + .oem-casestudy__item {
    margin-top: 36px;
  }
}
.oem-casestudy__pagi {
  margin-top: 105px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__pagi {
    margin-top: 65px;
  }
}
.oem-casestudy__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 72px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 40px;
  }
}
.oem-casestudy__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 68.75%;
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.oem-casestudy__leftinner {
  width: 100%;
  max-width: 670px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.oem-casestudy__single {
  margin-top: 6px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__single {
    margin-top: 8px;
  }
}
.oem-casestudy__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 31.25%;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    padding-top: 40px;
    border-top: 1px solid #ddd;
  }
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__right .c-title2 {
    text-align: center;
  }
}
.oem-casestudy__cardlist {
  margin-top: 38px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__cardlist {
    margin-top: 25px;
  }
}
.oem-casestudy__carditem + .oem-casestudy__carditem {
  margin-top: 39px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__carditem + .oem-casestudy__carditem {
    margin-top: 36px;
  }
}
.oem-casestudy__phone1 {
  margin-top: 130px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__phone1 {
    margin-top: 60px;
  }
}
.oem-casestudy__phone2 {
  margin-top: 123px;
}
@media only screen and (max-width: 767px) {
  .oem-casestudy__phone2 {
    margin-top: 60px;
  }
}
/*------------------------------------------------------------
    CSS of Nav section
------------------------------------------------------------*/
.oem-nav {
  position: relative;
  padding: 62px 0 58px;
  background-color: #e7f2f5;
}
@media only screen and (max-width: 767px) {
  .oem-nav {
    padding: 50px 0;
  }
}
/*------------------------------------------------------------
    CSS of Sustainability page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.sustainability-main {
  position: relative;
  padding: 85px 0 166px;
}
@media only screen and (max-width: 767px) {
  .sustainability-main {
    padding: 60px 0 100px;
  }
}
.sustainability-main__body {
  margin-top: 105px;
}
@media only screen and (max-width: 767px) {
  .sustainability-main__body {
    margin-top: 64px;
  }
}
.sustainability-main__part + .sustainability-main__part {
  margin-top: 78px;
}
@media only screen and (max-width: 767px) {
  .sustainability-main__part + .sustainability-main__part {
    margin-top: 64px;
  }
}
/*------------------------------------------------------------
    CSS of Company page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Message section
------------------------------------------------------------*/
.company-message {
  position: relative;
  padding: 86px 0 144px;
}
@media only screen and (max-width: 767px) {
  .company-message {
    padding: 60px 0 100px;
  }
}
.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: 767px) {
  .company-message__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.company-message__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 250px);
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .company-message__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.company-message__leftinner {
  width: 100%;
  max-width: 752px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .company-message__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.company-message__body {
  margin-top: 57px;
}
@media only screen and (max-width: 767px) {
  .company-message__body {
    margin-top: 40px;
  }
}
.company-message__thumb {
  position: relative;
  width: 100%;
  background-color: #b2b2b2;
  border-radius: 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .company-message__thumb {
    border-radius: 20px;
  }
}
.company-message__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 50%;
}
.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;
}
.company-message__content {
  margin-top: 55px;
}
@media only screen and (max-width: 767px) {
  .company-message__content {
    margin-top: 26px;
  }
}
.company-message__content p + p {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .company-message__content p + p {
    margin-top: 32px;
  }
}
.company-message__content + .company-message__thumb {
  margin-top: 55px;
}
@media only screen and (max-width: 767px) {
  .company-message__content + .company-message__thumb {
    margin-top: 26px;
  }
}
.company-message__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 57px;
}
@media only screen and (max-width: 767px) {
  .company-message__info {
    margin-top: 40px;
  }
}
.company-message__inforole {
  color: #404040;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.45;
}
@media only screen and (max-width: 767px) {
  .company-message__inforole {
    font-size: 1.8rem;
    line-height: 1.44;
  }
}
.company-message__infoname {
  margin-left: 35px;
  color: #404040;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.44;
}
@media only screen and (max-width: 767px) {
  .company-message__infoname {
    margin-left: 25px;
    font-size: 2rem;
  }
}
.company-message__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 250px;
}
@media only screen and (max-width: 767px) {
  .company-message__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 80px;
  }
}
.company-message__right .c-filter2 {
  margin-top: 1px;
}
@media only screen and (max-width: 767px) {
  .company-message__right .c-filter2 {
    margin-top: 0;
  }
}
/*------------------------------------------------------------
    CSS of Philosophy section
------------------------------------------------------------*/
.company-philosophy {
  position: relative;
  padding: 86px 0 128px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy {
    padding: 60px 0 100px;
  }
}
.company-philosophy__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.company-philosophy__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 250px);
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.company-philosophy__leftinner {
  width: 100%;
  max-width: 752px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.company-philosophy__body {
  margin-top: 69px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__body {
    margin-top: 40px;
  }
}
.company-philosophy__slogan {
  color: #324da3;
  font-size: 3rem;
  font-weight: 700;
  line-height: 2.333;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__slogan {
    font-size: 2.5rem;
    line-height: 2;
  }
}
.company-philosophy__thumb {
  position: relative;
  width: 100%;
  margin-top: 66px;
  background-color: #b2b2b2;
  border-radius: 30px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__thumb {
    margin-top: 28px;
    border-radius: 20px;
  }
}
.company-philosophy__thumb::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 50%;
}
.company-philosophy__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;
}
.company-philosophy__concept {
  position: relative;
  padding-top: 120px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__concept {
    padding-top: 68px;
  }
}
.company-philosophy__conceptbody {
  margin-top: 40px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__conceptbody {
    margin-top: 26px;
  }
}
.company-philosophy__conceptlogo {
  max-width: 620px;
}
.company-philosophy__conceptlogo img {
  width: 100%;
}
.company-philosophy__conceptcontent {
  margin-top: 42px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__conceptcontent {
    margin-top: 30px;
  }
}
.company-philosophy__conceptcontent p + p {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__conceptcontent p + p {
    margin-top: 30px;
  }
}
.company-philosophy__origin {
  margin-top: 120px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__origin {
    margin-top: 68px;
  }
}
.company-philosophy__originbody {
  margin-top: 31px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__originbody {
    margin-top: 22px;
  }
}
.company-philosophy__originchart {
  margin-top: 39px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__originchart {
    margin-top: 24px;
  }
}
.company-philosophy__originchart img {
  width: 100%;
}
.company-philosophy__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 250px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 80px;
  }
}
.company-philosophy__right .c-filter2 {
  margin-top: 1px;
}
@media only screen and (max-width: 767px) {
  .company-philosophy__right .c-filter2 {
    margin-top: 0;
  }
}
/*------------------------------------------------------------
    CSS of Profile section
------------------------------------------------------------*/
.company-profile {
  position: relative;
  padding: 86px 0 131px;
}
@media only screen and (max-width: 767px) {
  .company-profile {
    padding: 60px 0 100px;
  }
}
.company-profile__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .company-profile__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.company-profile__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 250px);
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .company-profile__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.company-profile__leftinner {
  width: 100%;
  max-width: 752px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .company-profile__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.company-profile__body {
  margin-top: 59px;
}
@media only screen and (max-width: 767px) {
  .company-profile__body {
    margin-top: 42px;
  }
}
.company-profile__table {
  margin-top: 37px;
}
@media only screen and (max-width: 767px) {
  .company-profile__table {
    margin-top: 21px;
  }
}
.company-profile__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: 76px -26px -44px;
}
@media only screen and (max-width: 1023px) {
  .company-profile__list {
    margin: 76px -12px -44px;
  }
}
@media only screen and (max-width: 767px) {
  .company-profile__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin: 24px 0 0;
  }
}
.company-profile__item {
  width: calc(50% - 52px);
  margin: 0 26px 44px;
}
@media only screen and (max-width: 1023px) {
  .company-profile__item {
    width: calc(50% - 24px);
    margin: 0 12px 44px;
  }
}
@media only screen and (max-width: 767px) {
  .company-profile__item {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 767px) {
  .company-profile__item + .company-profile__item {
    margin-top: 36px;
  }
}
.company-profile__block02 {
  margin-top: 118px;
}
@media only screen and (max-width: 767px) {
  .company-profile__block02 {
    margin-top: 72px;
  }
}
.company-profile__map {
  margin-top: 62px;
}
@media only screen and (max-width: 767px) {
  .company-profile__map {
    margin-top: 24px;
  }
}
.company-profile__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 250px;
}
@media only screen and (max-width: 767px) {
  .company-profile__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 80px;
  }
}
.company-profile__right .c-filter2 {
  margin-top: 1px;
}
@media only screen and (max-width: 767px) {
  .company-profile__right .c-filter2 {
    margin-top: 0;
  }
}
/*------------------------------------------------------------
    CSS of History section
------------------------------------------------------------*/
.company-history {
  position: relative;
  padding: 86px 0 131px;
}
@media only screen and (max-width: 767px) {
  .company-history {
    padding: 60px 0 100px;
  }
}
.company-history__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .company-history__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.company-history__left {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 250px);
  padding-right: 40px;
}
@media only screen and (max-width: 767px) {
  .company-history__left {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    padding-right: 0;
  }
}
.company-history__leftinner {
  width: 100%;
  max-width: 752px;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .company-history__leftinner {
    max-width: unset;
    margin-right: 0;
  }
}
.company-history__body {
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .company-history__body {
    margin-top: 40px;
  }
}
.company-history__right {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 250px;
}
@media only screen and (max-width: 767px) {
  .company-history__right {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 80px;
  }
}
.company-history__right .c-filter2 {
  margin-top: 1px;
}
@media only screen and (max-width: 767px) {
  .company-history__right .c-filter2 {
    margin-top: 0;
  }
}
/*------------------------------------------------------------
    CSS of Q&A page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.qa-main {
  position: relative;
  padding: 100px 0 130px;
}
@media only screen and (max-width: 767px) {
  .qa-main {
    padding: 60px 0 100px;
  }
}
.qa-main__body {
  margin-top: 77px;
}
@media only screen and (max-width: 767px) {
  .qa-main__body {
    margin-top: 40px;
  }
}
/*------------------------------------------------------------
    CSS of Privacy page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.privacy-main {
  position: relative;
  padding: 103px 0 117px;
}
@media only screen and (max-width: 767px) {
  .privacy-main {
    padding: 60px 0 100px;
  }
}
.privacy-main__intro .c-text2 {
  margin-top: 8px;
}
.privacy-main__body {
  margin-top: 75px;
}
@media only screen and (max-width: 767px) {
  .privacy-main__body {
    margin-top: 60px;
  }
}
.privacy-main__row + .privacy-main__row {
  margin-top: 75px;
}
@media only screen and (max-width: 767px) {
  .privacy-main__row + .privacy-main__row {
    margin-top: 64px;
  }
}
.privacy-main__content {
  margin-top: 46px;
}
@media only screen and (max-width: 767px) {
  .privacy-main__content {
    margin-top: 24px;
  }
}
.privacy-main__content p + p {
  margin-top: 35px;
}
@media only screen and (max-width: 767px) {
  .privacy-main__content p + p {
    margin-top: 30px;
  }
}
/*------------------------------------------------------------
    CSS of Sitemap page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Main section
------------------------------------------------------------*/
.sitemap-main {
  position: relative;
  padding: 146px 0 126px;
}
@media only screen and (max-width: 767px) {
  .sitemap-main {
    padding: 60px 0 100px;
  }
}
/*------------------------------------------------------------
    CSS of Contact page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Form section
------------------------------------------------------------*/
.contact-form {
  position: relative;
  padding: 103px 0 124px;
}
@media only screen and (max-width: 767px) {
  .contact-form {
    padding: 60px 0 100px;
  }
}
.contact-form__intro .c-text2 {
  margin-top: 8px;
}
.contact-form__body {
  margin-top: 54px;
}
@media only screen and (max-width: 767px) {
  .contact-form__body {
    margin-top: 40px;
  }
}
.contact-form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 40px 20px 39px;
  border-bottom: 1px solid #324da4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 1023px) {
  .contact-form__row {
    padding: 40px 0 39px;
  }
}
@media only screen and (max-width: 767px) {
  .contact-form__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 23px 0 27px;
  }
}
.contact-form__row:first-child {
  border-top: 1px solid #324da4;
}
.contact-form__label {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 28.8167938931%;
  min-width: 302px;
  padding-right: 18px;
}
@media only screen and (max-width: 1023px) {
  .contact-form__label {
    min-width: 260px;
  }
}
@media only screen and (max-width: 767px) {
  .contact-form__label {
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    min-width: unset;
    padding-right: 0;
  }
}
.contact-form__field {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: 71.1832061069%;
}
@media only screen and (max-width: 767px) {
  .contact-form__field {
    -webkit-box-flex: unset;
    -ms-flex-positive: unset;
    flex-grow: unset;
    width: 100%;
    margin-top: 12px;
  }
}
.contact-form__field .c-radio__group {
  margin: -1px 0;
}
@media only screen and (max-width: 767px) {
  .contact-form__field .c-radio__group {
    margin: 0;
  }
}
.contact-form__accept {
  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: 60px;
}
@media only screen and (max-width: 767px) {
  .contact-form__accept {
    margin-top: 30px;
  }
}
.contact-form__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-top: 60px;
}
@media only screen and (max-width: 767px) {
  .contact-form__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;
  }
}
.contact-form__groupbtn .c-btn2 {
  width: 50%;
  max-width: 300px;
}
@media only screen and (max-width: 767px) {
  .contact-form__groupbtn .c-btn2 {
    width: 100%;
    max-width: unset;
  }
}
.contact-form__groupbtn .c-btn2 + .c-btn2 {
  margin-left: 20px;
}
@media only screen and (max-width: 767px) {
  .contact-form__groupbtn .c-btn2 + .c-btn2 {
    margin-top: 10px;
    margin-left: 0;
  }
}
.contact-form__recaptcha {
  text-align: center;
}
.mw_wp_form .c-radio__group .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .c-radio__group .vertical-item + .vertical-item {
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form .c-radio__group .vertical-item + .vertical-item {
    margin-top: 8px;
  }
}
.mw_wp_form .c-checkbox__group .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mw_wp_form .c-checkbox__group .vertical-item + .vertical-item {
  margin-top: 14px;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form .c-checkbox__group .vertical-item + .vertical-item {
    margin-top: 8px;
  }
}
.mw_wp_form_confirm .c-input,
.mw_wp_form_confirm .c-radio__group,
.mw_wp_form_confirm .c-checkbox__group {
  display: contents;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0;
  color: #404040;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form_confirm .c-input,
  .mw_wp_form_confirm .c-radio__group,
  .mw_wp_form_confirm .c-checkbox__group {
    font-size: 1.6rem;
  }
}
.mw_wp_form_confirm .c-input__group {
  display: block;
}
.mw_wp_form_confirm .c-input__group .c-input__item--half,
.mw_wp_form_confirm .c-input__group .c-input__item--half > div {
  display: contents;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.mw_wp_form_confirm .c-input__group .c-input__item {
  min-height: 30px;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form_confirm .c-input__group .c-input__item {
    min-height: 24px;
  }
}
.mw_wp_form_confirm .c-input__group--vertical .c-input__item {
  display: block;
}
.mw_wp_form_confirm .c-input__group--vertical .c-input__item + .c-input__item {
  margin-top: 0;
}
.mw_wp_form_confirm .c-input__zipgroup {
  display: block;
  min-height: 30px;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form_confirm .c-input__zipgroup {
    display: block;
    min-height: 24px;
  }
}
.mw_wp_form_confirm .c-input__zipgroup::before {
  content: "〒";
  color: #404040;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .mw_wp_form_confirm .c-input__zipgroup::before {
    font-size: 1.6rem;
  }
}
.mw_wp_form_confirm .c-input__zipgroup .c-btn3 {
  display: none;
}
.mw_wp_form_confirm .contact-form__row--zip .c-input__group .c-input__item {
  min-height: unset;
}
.mw_wp_form_confirm .contact-form__row--email .c-input__group--vertical .c-input__item:nth-child(2) {
  display: none;
}
.mw_wp_form_confirm .contact-form__accept {
  display: none;
}
.mw_wp_form_confirm .contact-form__groupbtn button[type=reset] {
  display: none;
}
.grecaptcha-badge {
  z-index: 2;
}
/*------------------------------------------------------------
    CSS of News page
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Heading section
------------------------------------------------------------*/
/*------------------------------------------------------------
    CSS of Archive section
------------------------------------------------------------*/
.news-archive {
  position: relative;
  padding: 120px 0 121px;
}
@media only screen and (max-width: 767px) {
  .news-archive {
    padding: 60px 0 100px;
  }
}
.news-archive__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .news-archive__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.news-archive__left {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 250px;
}
@media only screen and (max-width: 767px) {
  .news-archive__left {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    -ms-flex-negative: unset;
    flex-shrink: unset;
    width: 100%;
    margin-top: 66px;
  }
}
.news-archive__right {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  width: calc(100% - 250px);
  padding-left: 38px;
}
@media only screen and (max-width: 767px) {
  .news-archive__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-left: 0;
  }
}
.news-archive__pagi {
  margin-top: 76px;
}
@media only screen and (max-width: 767px) {
  .news-archive__pagi {
    margin-top: 65px;
  }
}
/*------------------------------------------------------------
    CSS of Single section
------------------------------------------------------------*/
.news-single {
  position: relative;
  padding: 114px 0 202px;
}



@media only screen and (max-width: 767px) {
  .news-single {
    padding: 60px 0 100px;
  }
}
/*≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
// Utility .u-
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡*/
/*------------------------------------------------------------
    Display
------------------------------------------------------------*/
.u-none {
  display: none;
}
.u-hidesvg {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
/*------------------------------------------------------------
    Background
------------------------------------------------------------*/
/*------------------------------------------------------------
    Spacing
------------------------------------------------------------*/
/*------------------------------------------------------------
    Font
------------------------------------------------------------*/
.u-roboto {
  font-family: "Roboto", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.u-midashi {
  font-family: "A-OTF-MidashiGoPro-MB31", "游ゴシック", 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;
}
/*------------------------------------------------------------
    Animation
------------------------------------------------------------*/
[data-animation] {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
[data-animation][data-animation-type=fadeIn] {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  opacity: 0;
}
[data-animation=after][data-animation-type=fadeIn] {
  opacity: 1;
}
[data-animation][data-animation-type=fadeInRight] {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transform: translateX(-20px);
  transform: translateX(-20px);
  opacity: 0;
}
[data-animation=after][data-animation-type=fadeInRight] {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}
[data-animation][data-animation-type=fadeInLeft] {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transform: translateX(20px);
  transform: translateX(20px);
  opacity: 0;
}
[data-animation=after][data-animation-type=fadeInLeft] {
  -webkit-transform: translateX(0);
  transform: translateX(0);
  opacity: 1;
}
[data-animation][data-animation-type=fadeInUp] {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  opacity: 0;
}
[data-animation=after][data-animation-type=fadeInUp] {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
[data-animation][data-animation-type=fadeZoomOut] {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
  opacity: 0;
}
[data-animation=after][data-animation-type=fadeZoomOut] {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
[data-animation][data-animation-type=fadeZoomIn] {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transform: scale(0.85);
  transform: scale(0.85);
  opacity: 0;
}
[data-animation=after][data-animation-type=fadeZoomIn] {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
[data-animation][data-animation-type=fadeZoomInFast] {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transform: scale(0.85);
  transform: scale(0.85);
  opacity: 0;
}
[data-animation=after][data-animation-type=fadeZoomInFast] {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}
[data-animation][data-animation-type=scaleImage] img {
  -webkit-transition-duration: 1.84s;
  transition-duration: 1.84s;
  -webkit-transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transform: scale(1.04) translateY(13px);
  transform: scale(1.04) translateY(13px);
  opacity: 0;
}
[data-animation=after][data-animation-type=scaleImage] img {
  -webkit-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
  opacity: 1;
}
[data-animation][data-animation-type=titleHeading]::after {
  -webkit-transition-duration: 1.2s;
  transition-duration: 1.2s;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  -webkit-transition-property: width;
  transition-property: width;
  width: 0%;
}
[data-animation=after][data-animation-type=titleHeading]::after {
  width: 100%;
}
[data-animation][data-animation-type=textPopup] .char {
  display: inline-block;
  -webkit-transition-duration: 1.5s;
  transition-duration: 1.5s;
  -webkit-transition-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
  transition-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transform: translateY(16px);
  transform: translateY(16px);
  opacity: 0;
}
[data-animation=after][data-animation-type=textPopup] .char {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
@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;
  }
}




.c-single2__content .c-content1 p,
.c-single2__content .c-content1 ol,
.c-single2__content .c-content1 ul {
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}
.c-single2__content .c-content1 img {
    margin-bottom: 8px;
    margin-top: 8px;
}
.c-single2__content .c-content1 img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.c-single2__content .c-content1 ul {
    list-style: disc;
}
.c-single2__content .c-content1 ul li {
    margin-left: 1.2em;
}
.c-single2__content .c-content1 li + li {
    margin-bottom: .25em;
    margin-top: .25em;
}
.c-single2__content .c-content1 ol {
    list-style: decimal;
}
.c-single2__content .c-content1 ol li {
    margin-left: 1.2em;
}
.c-single2__content .c-content1 strong {
    font-size: 1.1em;
    font-weight: 700;
}
.c-single2__content .c-content1 a {
    color: var(--theme-color);
    font-weight: 500;
    text-decoration: underline;
}
.c-single2__content .c-content1 h2 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 1em;
    line-height: 1.3;
    padding-left: 14px;
    position: relative;
}
.c-single2__content .c-content1 h2::before {
    background: var(--theme-color);
    bottom: 0;
    content: "";
    display: block;
    height: 26px;
    left: 0;
    margin: auto;
    position: absolute;
    top: 2px;
    width: 4px;
}
.c-single2__content .c-content1 * + h2 {
    margin-top: 2em;
}
.c-single2__content .c-content1 h3 {
    border-bottom: 1px solid var(--theme-color);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1em;
    padding-bottom: 6px;
    position: relative;
}
.c-single2__content .c-content1 * + h3 {
    margin-top: 1.8em;
}
.c-single2__content .c-content1 h4 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1em;
    padding-left: 1em;
    position: relative;
}
.c-single2__content .c-content1 h4::before {
    background-color: var(--theme-color);
    border-radius: 50%;
    content: "";
    display: block;
    height: .7em;
    left: 0;
    position: absolute;
    top: .3em;
    width: .7em;
}
.c-single2__content .c-content1 * + h4 {
    margin-top: 1.5em;
}
.c-single2__content .c-content1 * + table {
    margin-top: 0.5em;
}
.c-single2__content .c-content1 table {
    border: 1px solid #D4D4D4;
}
.c-single2__content .c-content1 td {
    border: 1px solid #D4D4D4;
    padding: 10px 20px 8px;
}
.c-single2__content .c-content1 tr td:nth-child(1) {
    background-color: #F4F4F4;
    font-weight: 500;
    vertical-align: middle;
}
.c-single2__content .c-content1 hr {
    border-bottom: 1px solid #222;
    border-left: none;
    border-right: none;
    border-top: none;
    margin-bottom: -0.5em;
    margin-top: -0.5em;
}
.c-single2__content .c-content1 p:has(> img + img) {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
}
.c-single2__content .c-content1 p.has-multiple-img {
  display: flex;
  flex-wrap: wrap;
  gap: 0 16px;
}

@media (max-width: 1183px) {
    .c-single2__content .c-content1 img.size-medium {
        max-width: calc((100% - 16px) / 2);
    }
}


@media (max-width: 767px) {
    .c-single2__content .c-content1 img.size-medium {
        /* max-width: calc((100% - 4px) / 2); */
        max-width: 100%;
    }
    .c-single2__content .c-content1 p:has(> img + img) {
        gap: 0 4px;
    }
    .c-single2__content .c-content1 p.has-multiple-img {
        gap: 0 4px;
    }
    .c-single2__content .c-content1 img {
        margin-bottom: 2px;
        margin-top: 2px;
    }
    .c-single2__content .c-content1 td {
        font-size: 14px;
        line-height: 1.4;
        padding: 6px 8px 7px;
    }
    .c-single2__content .c-content1 tr td:nth-child(1) {
        font-size: 13px;
    }
}