@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

*,
:after,
:before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
  background-repeat: no-repeat;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden],
template {
  display: none;
}

abbr[title] {
  text-decoration: none;
  border-bottom: 1px dotted;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

b,
strong {
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

mark {
  color: #000;
  background-color: #ff0;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

input {
  border-radius: 0;
}

[role="button"],
[type="button"],
[type="reset"],
[type="submit"],
button {
  cursor: pointer;
}

[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: 0;
}

[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type="reset"],
[type="submit"],
button,
html [type="button"] {
  -webkit-appearance: button;
}

button,
select {
  text-transform: none;
}

button,
input,
select,
textarea {
  color: inherit;
  background-color: transparent;
  border-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  display: table;
  max-width: 100%;
  color: inherit;
  white-space: normal;
  border: 0;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
}

audio,
canvas,
progress,
video {
  display: inline-block;
}

@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

::-moz-selection {
  color: #000;
  text-shadow: none;
  background-color: #b3d4fc;
}

::selection {
  color: #000;
  text-shadow: none;
  background-color: #b3d4fc;
}

/*================================================================================
FileName: _base.scss
================================================================================*/
html,
button,
input,
select,
textarea {
  color: #242424;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

::-moz-selection {
  text-shadow: none;
  background: #2b2d31;
}

hr {
  display: block;
  height: 1px;
  padding: 0;
  margin: 1em 0;
  border: 0;
  border-top: 1px solid #ccc;
}

img {
  vertical-align: middle;
}

li img {
  vertical-align: bottom;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}

textarea {
  resize: vertical;
}

body {
  position: relative;
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  word-wrap: break-word;
}

/*
global
------------------------------------------------*/
body,
body > div,
input,
button,
textarea,
select {
  font-family: "Montserrat", "Noto Sans Japanese", -apple-system,
    BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", YuGothic,
    YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  line-height: 1.5;
  color: #242424;
}

a {
  color: #2b2d31;
  outline: none !important;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}

*:focus {
  outline: none;
}

:placeholder-shown {
  opacity: 0.7;
}

::-webkit-input-placeholder {
  opacity: 0.7;
}

:-moz-placeholder {
  opacity: 0.7;
}

::-moz-placeholder {
  opacity: 0.7;
}

:-ms-input-placeholder {
  opacity: 0.7;
}

/* Slider */
.slick-slider {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  font-size: 0px;
  line-height: 0px;
  color: transparent;
  cursor: pointer;
  background: transparent;
  border: none;
  outline: none;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  background: transparent;
  outline: none;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "←";
}

[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: "→";
}

[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: center;
  list-style: none;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 0;
  margin: 0 5px;
  cursor: pointer;
}

.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  font-size: 0px;
  line-height: 0px;
  color: transparent;
  cursor: pointer;
  background: transparent;
  border: 0;
  outline: none;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  color: black;
  text-align: center;
  content: "•";
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/*================================================================================
FileName: _module.scss
margin、paddingなどのルールを入れる場合はここに記述
================================================================================*/
.clearfix::after {
  display: table;
  clear: both;
  content: "";
}

svg {
  width: 100%;
  max-width: 100%;
  height: auto;
}

img {
  width: 100%;
}

a {
  color: #242424;
  text-decoration: none;
}

li {
  list-style-type: none;
}

html {
  scroll-behavior: smooth;
}

body {
  overflow: hidden;
}

.hidden {
  overflow: hidden;
}

.sp {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .sp {
    display: block;
  }
}

.pc {
  display: block;
}

@media only screen and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
}

.spHeader {
  display: none;
}

@media only screen and (max-width: 1100px) {
  .spHeader {
    display: block;
  }
}

.pcHeader {
  display: block;
}

@media only screen and (max-width: 1100px) {
  .pcHeader {
    display: none !important;
  }
}

@media only screen and (max-width: 1024px) {
  .order01 {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}

@media only screen and (max-width: 1024px) {
  .order02 {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}

.u-txt_center {
  text-align: center;
}

.u-txt_left {
  text-align: left;
}

.u-txt_right {
  text-align: right;
}

.u-mg_80 {
  margin-bottom: 80px;
}

@media only screen and (max-width: 1024px) {
  .u-mg_80 {
    margin-bottom: 14.66667vw;
  }
}

.u-mg_60 {
  margin-bottom: 60px;
}

@media only screen and (max-width: 1024px) {
  .u-mg_60 {
    margin-bottom: 10.66667vw;
  }
}

.u-mg_20 {
  margin-bottom: 20px;
}

@media only screen and (max-width: 1024px) {
  .u-mg_20 {
    margin-bottom: 5.33333vw;
  }
}

.m-fx-ed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.m-fx-st {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.m-fx-st_pc {
  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: 1024px) {
  .m-fx-st_pc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
}

.m-fx-bw {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.m-fx-bw_pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media only screen and (max-width: 1024px) {
  .m-fx-bw_pc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    -ms-flex-line-pack: start;
    align-content: flex-start;
  }
}

.m-fx-ct {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.m-color_02 {
  color: #ad07a5;
}

.m-color_03 {
  color: #ffffff !important;
}

.m-color_04 {
  color: #163ea8 !important;
}

.m-color_05 {
  color: #001c83 !important;
}

.m-color_06 {
  color: #637ec5 !important;
}

.m-marker_parent {
  position: relative;
}

.m-marker_parent.active .m-marker {
  background-size: 100% 85%;
  /* '30%'の部分は上で設定した太さに合わせる */
}

.m-marker {
  position: relative;
  z-index: 1;
  /* マーカーを引く速度を調整 */
  display: inline;
  padding: 0;
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#ecc7eb),
    to(#ecc7eb)
  );
  background-image: linear-gradient(90deg, #ecc7eb, #ecc7eb);
  /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 30%;
  /* '30%'の部分にマーカーの太さを記入 */
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

.u-color_og {
  color: #ad07a5;
}

.u-marker_og {
  color: #fff;
  background-color: #ad07a5;
}

.m-link_line {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.m-link_line::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background: #333;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.m-link_line:hover::after,
.m-link_line:active::after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}

@media only screen and (max-width: 1024px) {
  .m-link_line {
    text-decoration: underline;
  }
  .m-link_line::after {
    display: none;
  }
}

.m-link_line02 {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.m-link_line02::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #333;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.m-link_line02:hover::after,
.m-link_line02:active::after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}

@media only screen and (max-width: 1024px) {
  .m-link_line02 {
    text-decoration: underline;
  }
  .m-link_line02::after {
    display: none;
  }
}

.m-link_line-bl {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.m-link_line-bl::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #163ea8;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.m-link_line-bl:hover::after,
.m-link_line-bl:active::after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}

@media only screen and (max-width: 1024px) {
  .m-link_line-bl {
    text-decoration: underline;
  }
  .m-link_line-bl::after {
    display: none;
  }
}

.u-wid_200 {
  width: 200px;
}

.u-wid_300 {
  width: 300px;
}

@media only screen and (max-width: 1024px) {
  .u-wid_300 {
    width: 80vw;
  }
}

.u-wid_max {
  width: 100%;
}

.m-en {
  font-family: "Poppins", sans-serif;
}

.spOnly {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .spOnly {
    display: block !important;
  }
}

.spOnlyIn {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .spOnlyIn {
    display: inline-block !important;
  }
}

.spOnlyTb {
  display: none !important;
}

@media only screen and (max-width: 768px) {
  .spOnlyTb {
    display: table !important;
  }
}

.pcOnly {
  display: block !important;
}

@media only screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}

.pcOnlyIn {
  display: inline-block !important;
}

@media only screen and (max-width: 768px) {
  .pcOnlyIn {
    display: none !important;
  }
}

.pcOnlyTb {
  display: table !important;
}

@media only screen and (max-width: 768px) {
  .pcOnlyTb {
    display: none !important;
  }
}

.relative {
  position: relative;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
}

.flex.flexWrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex.flexColumn {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.flex.justBetween {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.flex.alignCenter {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex .right {
  margin-left: auto;
}

span.large {
  font-size: 1.2em;
}

span.small {
  font-size: 0.8em;
}

.bold {
  font-weight: bold;
}

@media only screen and (min-width: 769px) {
  .pP0 {
    padding: 0px !important;
  }
  .ptP0 {
    padding-top: 0px !important;
  }
  .pbP0 {
    padding-bottom: 0px !important;
  }
  .prP0 {
    padding-right: 0px !important;
  }
  .plP0 {
    padding-left: 0px !important;
  }
  .mP0 {
    margin: 0px !important;
  }
  .mtP0 {
    margin-top: 0px !important;
  }
  .mbP0 {
    margin-bottom: 0px !important;
  }
  .mrP0 {
    margin-right: 0px !important;
  }
  .mlP0 {
    margin-left: 0px !important;
  }
  .min0 {
    min-width: 0px !important;
  }
  .pP5 {
    padding: 5px !important;
  }
  .ptP5 {
    padding-top: 5px !important;
  }
  .pbP5 {
    padding-bottom: 5px !important;
  }
  .prP5 {
    padding-right: 5px !important;
  }
  .plP5 {
    padding-left: 5px !important;
  }
  .mP5 {
    margin: 5px !important;
  }
  .mtP5 {
    margin-top: 5px !important;
  }
  .mbP5 {
    margin-bottom: 5px !important;
  }
  .mrP5 {
    margin-right: 5px !important;
  }
  .mlP5 {
    margin-left: 5px !important;
  }
  .min20 {
    min-width: 20px !important;
  }
  .pP10 {
    padding: 10px !important;
  }
  .ptP10 {
    padding-top: 10px !important;
  }
  .pbP10 {
    padding-bottom: 10px !important;
  }
  .prP10 {
    padding-right: 10px !important;
  }
  .plP10 {
    padding-left: 10px !important;
  }
  .mP10 {
    margin: 10px !important;
  }
  .mtP10 {
    margin-top: 10px !important;
  }
  .mbP10 {
    margin-bottom: 10px !important;
  }
  .mrP10 {
    margin-right: 10px !important;
  }
  .mlP10 {
    margin-left: 10px !important;
  }
  .min40 {
    min-width: 40px !important;
  }
  .pP15 {
    padding: 15px !important;
  }
  .ptP15 {
    padding-top: 15px !important;
  }
  .pbP15 {
    padding-bottom: 15px !important;
  }
  .prP15 {
    padding-right: 15px !important;
  }
  .plP15 {
    padding-left: 15px !important;
  }
  .mP15 {
    margin: 15px !important;
  }
  .mtP15 {
    margin-top: 15px !important;
  }
  .mbP15 {
    margin-bottom: 15px !important;
  }
  .mrP15 {
    margin-right: 15px !important;
  }
  .mlP15 {
    margin-left: 15px !important;
  }
  .min60 {
    min-width: 60px !important;
  }
  .pP20 {
    padding: 20px !important;
  }
  .ptP20 {
    padding-top: 20px !important;
  }
  .pbP20 {
    padding-bottom: 20px !important;
  }
  .prP20 {
    padding-right: 20px !important;
  }
  .plP20 {
    padding-left: 20px !important;
  }
  .mP20 {
    margin: 20px !important;
  }
  .mtP20 {
    margin-top: 20px !important;
  }
  .mbP20 {
    margin-bottom: 20px !important;
  }
  .mrP20 {
    margin-right: 20px !important;
  }
  .mlP20 {
    margin-left: 20px !important;
  }
  .min80 {
    min-width: 80px !important;
  }
  .pP25 {
    padding: 25px !important;
  }
  .ptP25 {
    padding-top: 25px !important;
  }
  .pbP25 {
    padding-bottom: 25px !important;
  }
  .prP25 {
    padding-right: 25px !important;
  }
  .plP25 {
    padding-left: 25px !important;
  }
  .mP25 {
    margin: 25px !important;
  }
  .mtP25 {
    margin-top: 25px !important;
  }
  .mbP25 {
    margin-bottom: 25px !important;
  }
  .mrP25 {
    margin-right: 25px !important;
  }
  .mlP25 {
    margin-left: 25px !important;
  }
  .min100 {
    min-width: 100px !important;
  }
  .pP30 {
    padding: 30px !important;
  }
  .ptP30 {
    padding-top: 30px !important;
  }
  .pbP30 {
    padding-bottom: 30px !important;
  }
  .prP30 {
    padding-right: 30px !important;
  }
  .plP30 {
    padding-left: 30px !important;
  }
  .mP30 {
    margin: 30px !important;
  }
  .mtP30 {
    margin-top: 30px !important;
  }
  .mbP30 {
    margin-bottom: 30px !important;
  }
  .mrP30 {
    margin-right: 30px !important;
  }
  .mlP30 {
    margin-left: 30px !important;
  }
  .min120 {
    min-width: 120px !important;
  }
  .pP35 {
    padding: 35px !important;
  }
  .ptP35 {
    padding-top: 35px !important;
  }
  .pbP35 {
    padding-bottom: 35px !important;
  }
  .prP35 {
    padding-right: 35px !important;
  }
  .plP35 {
    padding-left: 35px !important;
  }
  .mP35 {
    margin: 35px !important;
  }
  .mtP35 {
    margin-top: 35px !important;
  }
  .mbP35 {
    margin-bottom: 35px !important;
  }
  .mrP35 {
    margin-right: 35px !important;
  }
  .mlP35 {
    margin-left: 35px !important;
  }
  .min140 {
    min-width: 140px !important;
  }
  .pP40 {
    padding: 40px !important;
  }
  .ptP40 {
    padding-top: 40px !important;
  }
  .pbP40 {
    padding-bottom: 40px !important;
  }
  .prP40 {
    padding-right: 40px !important;
  }
  .plP40 {
    padding-left: 40px !important;
  }
  .mP40 {
    margin: 40px !important;
  }
  .mtP40 {
    margin-top: 40px !important;
  }
  .mbP40 {
    margin-bottom: 40px !important;
  }
  .mrP40 {
    margin-right: 40px !important;
  }
  .mlP40 {
    margin-left: 40px !important;
  }
  .min160 {
    min-width: 160px !important;
  }
  .pP45 {
    padding: 45px !important;
  }
  .ptP45 {
    padding-top: 45px !important;
  }
  .pbP45 {
    padding-bottom: 45px !important;
  }
  .prP45 {
    padding-right: 45px !important;
  }
  .plP45 {
    padding-left: 45px !important;
  }
  .mP45 {
    margin: 45px !important;
  }
  .mtP45 {
    margin-top: 45px !important;
  }
  .mbP45 {
    margin-bottom: 45px !important;
  }
  .mrP45 {
    margin-right: 45px !important;
  }
  .mlP45 {
    margin-left: 45px !important;
  }
  .min180 {
    min-width: 180px !important;
  }
  .pP50 {
    padding: 50px !important;
  }
  .ptP50 {
    padding-top: 50px !important;
  }
  .pbP50 {
    padding-bottom: 50px !important;
  }
  .prP50 {
    padding-right: 50px !important;
  }
  .plP50 {
    padding-left: 50px !important;
  }
  .mP50 {
    margin: 50px !important;
  }
  .mtP50 {
    margin-top: 50px !important;
  }
  .mbP50 {
    margin-bottom: 50px !important;
  }
  .mrP50 {
    margin-right: 50px !important;
  }
  .mlP50 {
    margin-left: 50px !important;
  }
  .min200 {
    min-width: 200px !important;
  }
  .pP55 {
    padding: 55px !important;
  }
  .ptP55 {
    padding-top: 55px !important;
  }
  .pbP55 {
    padding-bottom: 55px !important;
  }
  .prP55 {
    padding-right: 55px !important;
  }
  .plP55 {
    padding-left: 55px !important;
  }
  .mP55 {
    margin: 55px !important;
  }
  .mtP55 {
    margin-top: 55px !important;
  }
  .mbP55 {
    margin-bottom: 55px !important;
  }
  .mrP55 {
    margin-right: 55px !important;
  }
  .mlP55 {
    margin-left: 55px !important;
  }
  .min220 {
    min-width: 220px !important;
  }
  .pP60 {
    padding: 60px !important;
  }
  .ptP60 {
    padding-top: 60px !important;
  }
  .pbP60 {
    padding-bottom: 60px !important;
  }
  .prP60 {
    padding-right: 60px !important;
  }
  .plP60 {
    padding-left: 60px !important;
  }
  .mP60 {
    margin: 60px !important;
  }
  .mtP60 {
    margin-top: 60px !important;
  }
  .mbP60 {
    margin-bottom: 60px !important;
  }
  .mrP60 {
    margin-right: 60px !important;
  }
  .mlP60 {
    margin-left: 60px !important;
  }
  .min240 {
    min-width: 240px !important;
  }
  .pP65 {
    padding: 65px !important;
  }
  .ptP65 {
    padding-top: 65px !important;
  }
  .pbP65 {
    padding-bottom: 65px !important;
  }
  .prP65 {
    padding-right: 65px !important;
  }
  .plP65 {
    padding-left: 65px !important;
  }
  .mP65 {
    margin: 65px !important;
  }
  .mtP65 {
    margin-top: 65px !important;
  }
  .mbP65 {
    margin-bottom: 65px !important;
  }
  .mrP65 {
    margin-right: 65px !important;
  }
  .mlP65 {
    margin-left: 65px !important;
  }
  .min260 {
    min-width: 260px !important;
  }
  .pP70 {
    padding: 70px !important;
  }
  .ptP70 {
    padding-top: 70px !important;
  }
  .pbP70 {
    padding-bottom: 70px !important;
  }
  .prP70 {
    padding-right: 70px !important;
  }
  .plP70 {
    padding-left: 70px !important;
  }
  .mP70 {
    margin: 70px !important;
  }
  .mtP70 {
    margin-top: 70px !important;
  }
  .mbP70 {
    margin-bottom: 70px !important;
  }
  .mrP70 {
    margin-right: 70px !important;
  }
  .mlP70 {
    margin-left: 70px !important;
  }
  .min280 {
    min-width: 280px !important;
  }
  .pP75 {
    padding: 75px !important;
  }
  .ptP75 {
    padding-top: 75px !important;
  }
  .pbP75 {
    padding-bottom: 75px !important;
  }
  .prP75 {
    padding-right: 75px !important;
  }
  .plP75 {
    padding-left: 75px !important;
  }
  .mP75 {
    margin: 75px !important;
  }
  .mtP75 {
    margin-top: 75px !important;
  }
  .mbP75 {
    margin-bottom: 75px !important;
  }
  .mrP75 {
    margin-right: 75px !important;
  }
  .mlP75 {
    margin-left: 75px !important;
  }
  .min300 {
    min-width: 300px !important;
  }
  .pP80 {
    padding: 80px !important;
  }
  .ptP80 {
    padding-top: 80px !important;
  }
  .pbP80 {
    padding-bottom: 80px !important;
  }
  .prP80 {
    padding-right: 80px !important;
  }
  .plP80 {
    padding-left: 80px !important;
  }
  .mP80 {
    margin: 80px !important;
  }
  .mtP80 {
    margin-top: 80px !important;
  }
  .mbP80 {
    margin-bottom: 80px !important;
  }
  .mrP80 {
    margin-right: 80px !important;
  }
  .mlP80 {
    margin-left: 80px !important;
  }
  .min320 {
    min-width: 320px !important;
  }
  .pP85 {
    padding: 85px !important;
  }
  .ptP85 {
    padding-top: 85px !important;
  }
  .pbP85 {
    padding-bottom: 85px !important;
  }
  .prP85 {
    padding-right: 85px !important;
  }
  .plP85 {
    padding-left: 85px !important;
  }
  .mP85 {
    margin: 85px !important;
  }
  .mtP85 {
    margin-top: 85px !important;
  }
  .mbP85 {
    margin-bottom: 85px !important;
  }
  .mrP85 {
    margin-right: 85px !important;
  }
  .mlP85 {
    margin-left: 85px !important;
  }
  .min340 {
    min-width: 340px !important;
  }
  .pP90 {
    padding: 90px !important;
  }
  .ptP90 {
    padding-top: 90px !important;
  }
  .pbP90 {
    padding-bottom: 90px !important;
  }
  .prP90 {
    padding-right: 90px !important;
  }
  .plP90 {
    padding-left: 90px !important;
  }
  .mP90 {
    margin: 90px !important;
  }
  .mtP90 {
    margin-top: 90px !important;
  }
  .mbP90 {
    margin-bottom: 90px !important;
  }
  .mrP90 {
    margin-right: 90px !important;
  }
  .mlP90 {
    margin-left: 90px !important;
  }
  .min360 {
    min-width: 360px !important;
  }
  .pP95 {
    padding: 95px !important;
  }
  .ptP95 {
    padding-top: 95px !important;
  }
  .pbP95 {
    padding-bottom: 95px !important;
  }
  .prP95 {
    padding-right: 95px !important;
  }
  .plP95 {
    padding-left: 95px !important;
  }
  .mP95 {
    margin: 95px !important;
  }
  .mtP95 {
    margin-top: 95px !important;
  }
  .mbP95 {
    margin-bottom: 95px !important;
  }
  .mrP95 {
    margin-right: 95px !important;
  }
  .mlP95 {
    margin-left: 95px !important;
  }
  .min380 {
    min-width: 380px !important;
  }
  .pP100 {
    padding: 100px !important;
  }
  .ptP100 {
    padding-top: 100px !important;
  }
  .pbP100 {
    padding-bottom: 100px !important;
  }
  .prP100 {
    padding-right: 100px !important;
  }
  .plP100 {
    padding-left: 100px !important;
  }
  .mP100 {
    margin: 100px !important;
  }
  .mtP100 {
    margin-top: 100px !important;
  }
  .mbP100 {
    margin-bottom: 100px !important;
  }
  .mrP100 {
    margin-right: 100px !important;
  }
  .mlP100 {
    margin-left: 100px !important;
  }
  .min400 {
    min-width: 400px !important;
  }
}

@media only screen and (max-width: 768px) {
  .pS0 {
    padding: 0px !important;
  }
  .ptS0 {
    padding-top: 0px !important;
  }
  .pbS0 {
    padding-bottom: 0px !important;
  }
  .plS0 {
    padding-left: 0px !important;
  }
  .prS0 {
    padding-right: 0px !important;
  }
  .mS0 {
    margin: 0px !important;
  }
  .mtS0 {
    margin-top: 0px !important;
  }
  .mbS0 {
    margin-bottom: 0px !important;
  }
  .mlS0 {
    margin-left: 0px !important;
  }
  .mrS0 {
    margin-right: 0px !important;
  }
  .pS5 {
    padding: 5px !important;
  }
  .ptS5 {
    padding-top: 5px !important;
  }
  .pbS5 {
    padding-bottom: 5px !important;
  }
  .plS5 {
    padding-left: 5px !important;
  }
  .prS5 {
    padding-right: 5px !important;
  }
  .mS5 {
    margin: 5px !important;
  }
  .mtS5 {
    margin-top: 5px !important;
  }
  .mbS5 {
    margin-bottom: 5px !important;
  }
  .mlS5 {
    margin-left: 5px !important;
  }
  .mrS5 {
    margin-right: 5px !important;
  }
  .pS10 {
    padding: 10px !important;
  }
  .ptS10 {
    padding-top: 10px !important;
  }
  .pbS10 {
    padding-bottom: 10px !important;
  }
  .plS10 {
    padding-left: 10px !important;
  }
  .prS10 {
    padding-right: 10px !important;
  }
  .mS10 {
    margin: 10px !important;
  }
  .mtS10 {
    margin-top: 10px !important;
  }
  .mbS10 {
    margin-bottom: 10px !important;
  }
  .mlS10 {
    margin-left: 10px !important;
  }
  .mrS10 {
    margin-right: 10px !important;
  }
  .pS15 {
    padding: 15px !important;
  }
  .ptS15 {
    padding-top: 15px !important;
  }
  .pbS15 {
    padding-bottom: 15px !important;
  }
  .plS15 {
    padding-left: 15px !important;
  }
  .prS15 {
    padding-right: 15px !important;
  }
  .mS15 {
    margin: 15px !important;
  }
  .mtS15 {
    margin-top: 15px !important;
  }
  .mbS15 {
    margin-bottom: 15px !important;
  }
  .mlS15 {
    margin-left: 15px !important;
  }
  .mrS15 {
    margin-right: 15px !important;
  }
  .pS20 {
    padding: 20px !important;
  }
  .ptS20 {
    padding-top: 20px !important;
  }
  .pbS20 {
    padding-bottom: 20px !important;
  }
  .plS20 {
    padding-left: 20px !important;
  }
  .prS20 {
    padding-right: 20px !important;
  }
  .mS20 {
    margin: 20px !important;
  }
  .mtS20 {
    margin-top: 20px !important;
  }
  .mbS20 {
    margin-bottom: 20px !important;
  }
  .mlS20 {
    margin-left: 20px !important;
  }
  .mrS20 {
    margin-right: 20px !important;
  }
  .pS25 {
    padding: 25px !important;
  }
  .ptS25 {
    padding-top: 25px !important;
  }
  .pbS25 {
    padding-bottom: 25px !important;
  }
  .plS25 {
    padding-left: 25px !important;
  }
  .prS25 {
    padding-right: 25px !important;
  }
  .mS25 {
    margin: 25px !important;
  }
  .mtS25 {
    margin-top: 25px !important;
  }
  .mbS25 {
    margin-bottom: 25px !important;
  }
  .mlS25 {
    margin-left: 25px !important;
  }
  .mrS25 {
    margin-right: 25px !important;
  }
  .pS30 {
    padding: 30px !important;
  }
  .ptS30 {
    padding-top: 30px !important;
  }
  .pbS30 {
    padding-bottom: 30px !important;
  }
  .plS30 {
    padding-left: 30px !important;
  }
  .prS30 {
    padding-right: 30px !important;
  }
  .mS30 {
    margin: 30px !important;
  }
  .mtS30 {
    margin-top: 30px !important;
  }
  .mbS30 {
    margin-bottom: 30px !important;
  }
  .mlS30 {
    margin-left: 30px !important;
  }
  .mrS30 {
    margin-right: 30px !important;
  }
  .pS35 {
    padding: 35px !important;
  }
  .ptS35 {
    padding-top: 35px !important;
  }
  .pbS35 {
    padding-bottom: 35px !important;
  }
  .plS35 {
    padding-left: 35px !important;
  }
  .prS35 {
    padding-right: 35px !important;
  }
  .mS35 {
    margin: 35px !important;
  }
  .mtS35 {
    margin-top: 35px !important;
  }
  .mbS35 {
    margin-bottom: 35px !important;
  }
  .mlS35 {
    margin-left: 35px !important;
  }
  .mrS35 {
    margin-right: 35px !important;
  }
  .pS40 {
    padding: 40px !important;
  }
  .ptS40 {
    padding-top: 40px !important;
  }
  .pbS40 {
    padding-bottom: 40px !important;
  }
  .plS40 {
    padding-left: 40px !important;
  }
  .prS40 {
    padding-right: 40px !important;
  }
  .mS40 {
    margin: 40px !important;
  }
  .mtS40 {
    margin-top: 40px !important;
  }
  .mbS40 {
    margin-bottom: 40px !important;
  }
  .mlS40 {
    margin-left: 40px !important;
  }
  .mrS40 {
    margin-right: 40px !important;
  }
  .pS45 {
    padding: 45px !important;
  }
  .ptS45 {
    padding-top: 45px !important;
  }
  .pbS45 {
    padding-bottom: 45px !important;
  }
  .plS45 {
    padding-left: 45px !important;
  }
  .prS45 {
    padding-right: 45px !important;
  }
  .mS45 {
    margin: 45px !important;
  }
  .mtS45 {
    margin-top: 45px !important;
  }
  .mbS45 {
    margin-bottom: 45px !important;
  }
  .mlS45 {
    margin-left: 45px !important;
  }
  .mrS45 {
    margin-right: 45px !important;
  }
  .pS50 {
    padding: 50px !important;
  }
  .ptS50 {
    padding-top: 50px !important;
  }
  .pbS50 {
    padding-bottom: 50px !important;
  }
  .plS50 {
    padding-left: 50px !important;
  }
  .prS50 {
    padding-right: 50px !important;
  }
  .mS50 {
    margin: 50px !important;
  }
  .mtS50 {
    margin-top: 50px !important;
  }
  .mbS50 {
    margin-bottom: 50px !important;
  }
  .mlS50 {
    margin-left: 50px !important;
  }
  .mrS50 {
    margin-right: 50px !important;
  }
  .pS55 {
    padding: 55px !important;
  }
  .ptS55 {
    padding-top: 55px !important;
  }
  .pbS55 {
    padding-bottom: 55px !important;
  }
  .plS55 {
    padding-left: 55px !important;
  }
  .prS55 {
    padding-right: 55px !important;
  }
  .mS55 {
    margin: 55px !important;
  }
  .mtS55 {
    margin-top: 55px !important;
  }
  .mbS55 {
    margin-bottom: 55px !important;
  }
  .mlS55 {
    margin-left: 55px !important;
  }
  .mrS55 {
    margin-right: 55px !important;
  }
  .pS60 {
    padding: 60px !important;
  }
  .ptS60 {
    padding-top: 60px !important;
  }
  .pbS60 {
    padding-bottom: 60px !important;
  }
  .plS60 {
    padding-left: 60px !important;
  }
  .prS60 {
    padding-right: 60px !important;
  }
  .mS60 {
    margin: 60px !important;
  }
  .mtS60 {
    margin-top: 60px !important;
  }
  .mbS60 {
    margin-bottom: 60px !important;
  }
  .mlS60 {
    margin-left: 60px !important;
  }
  .mrS60 {
    margin-right: 60px !important;
  }
  .pS65 {
    padding: 65px !important;
  }
  .ptS65 {
    padding-top: 65px !important;
  }
  .pbS65 {
    padding-bottom: 65px !important;
  }
  .plS65 {
    padding-left: 65px !important;
  }
  .prS65 {
    padding-right: 65px !important;
  }
  .mS65 {
    margin: 65px !important;
  }
  .mtS65 {
    margin-top: 65px !important;
  }
  .mbS65 {
    margin-bottom: 65px !important;
  }
  .mlS65 {
    margin-left: 65px !important;
  }
  .mrS65 {
    margin-right: 65px !important;
  }
  .pS70 {
    padding: 70px !important;
  }
  .ptS70 {
    padding-top: 70px !important;
  }
  .pbS70 {
    padding-bottom: 70px !important;
  }
  .plS70 {
    padding-left: 70px !important;
  }
  .prS70 {
    padding-right: 70px !important;
  }
  .mS70 {
    margin: 70px !important;
  }
  .mtS70 {
    margin-top: 70px !important;
  }
  .mbS70 {
    margin-bottom: 70px !important;
  }
  .mlS70 {
    margin-left: 70px !important;
  }
  .mrS70 {
    margin-right: 70px !important;
  }
  .pS75 {
    padding: 75px !important;
  }
  .ptS75 {
    padding-top: 75px !important;
  }
  .pbS75 {
    padding-bottom: 75px !important;
  }
  .plS75 {
    padding-left: 75px !important;
  }
  .prS75 {
    padding-right: 75px !important;
  }
  .mS75 {
    margin: 75px !important;
  }
  .mtS75 {
    margin-top: 75px !important;
  }
  .mbS75 {
    margin-bottom: 75px !important;
  }
  .mlS75 {
    margin-left: 75px !important;
  }
  .mrS75 {
    margin-right: 75px !important;
  }
  .pS80 {
    padding: 80px !important;
  }
  .ptS80 {
    padding-top: 80px !important;
  }
  .pbS80 {
    padding-bottom: 80px !important;
  }
  .plS80 {
    padding-left: 80px !important;
  }
  .prS80 {
    padding-right: 80px !important;
  }
  .mS80 {
    margin: 80px !important;
  }
  .mtS80 {
    margin-top: 80px !important;
  }
  .mbS80 {
    margin-bottom: 80px !important;
  }
  .mlS80 {
    margin-left: 80px !important;
  }
  .mrS80 {
    margin-right: 80px !important;
  }
  .pS85 {
    padding: 85px !important;
  }
  .ptS85 {
    padding-top: 85px !important;
  }
  .pbS85 {
    padding-bottom: 85px !important;
  }
  .plS85 {
    padding-left: 85px !important;
  }
  .prS85 {
    padding-right: 85px !important;
  }
  .mS85 {
    margin: 85px !important;
  }
  .mtS85 {
    margin-top: 85px !important;
  }
  .mbS85 {
    margin-bottom: 85px !important;
  }
  .mlS85 {
    margin-left: 85px !important;
  }
  .mrS85 {
    margin-right: 85px !important;
  }
  .pS90 {
    padding: 90px !important;
  }
  .ptS90 {
    padding-top: 90px !important;
  }
  .pbS90 {
    padding-bottom: 90px !important;
  }
  .plS90 {
    padding-left: 90px !important;
  }
  .prS90 {
    padding-right: 90px !important;
  }
  .mS90 {
    margin: 90px !important;
  }
  .mtS90 {
    margin-top: 90px !important;
  }
  .mbS90 {
    margin-bottom: 90px !important;
  }
  .mlS90 {
    margin-left: 90px !important;
  }
  .mrS90 {
    margin-right: 90px !important;
  }
  .pS95 {
    padding: 95px !important;
  }
  .ptS95 {
    padding-top: 95px !important;
  }
  .pbS95 {
    padding-bottom: 95px !important;
  }
  .plS95 {
    padding-left: 95px !important;
  }
  .prS95 {
    padding-right: 95px !important;
  }
  .mS95 {
    margin: 95px !important;
  }
  .mtS95 {
    margin-top: 95px !important;
  }
  .mbS95 {
    margin-bottom: 95px !important;
  }
  .mlS95 {
    margin-left: 95px !important;
  }
  .mrS95 {
    margin-right: 95px !important;
  }
  .pS100 {
    padding: 100px !important;
  }
  .ptS100 {
    padding-top: 100px !important;
  }
  .pbS100 {
    padding-bottom: 100px !important;
  }
  .plS100 {
    padding-left: 100px !important;
  }
  .prS100 {
    padding-right: 100px !important;
  }
  .mS100 {
    margin: 100px !important;
  }
  .mtS100 {
    margin-top: 100px !important;
  }
  .mbS100 {
    margin-bottom: 100px !important;
  }
  .mlS100 {
    margin-left: 100px !important;
  }
  .mrS100 {
    margin-right: 100px !important;
  }
}

.min0 {
  min-width: 0px !important;
}

.max0 {
  max-width: 0px !important;
}

.min10 {
  min-width: 10px !important;
}

.max10 {
  max-width: 10px !important;
}

.min20 {
  min-width: 20px !important;
}

.max20 {
  max-width: 20px !important;
}

.min30 {
  min-width: 30px !important;
}

.max30 {
  max-width: 30px !important;
}

.min40 {
  min-width: 40px !important;
}

.max40 {
  max-width: 40px !important;
}

.min50 {
  min-width: 50px !important;
}

.max50 {
  max-width: 50px !important;
}

.min60 {
  min-width: 60px !important;
}

.max60 {
  max-width: 60px !important;
}

.min70 {
  min-width: 70px !important;
}

.max70 {
  max-width: 70px !important;
}

.min80 {
  min-width: 80px !important;
}

.max80 {
  max-width: 80px !important;
}

.min90 {
  min-width: 90px !important;
}

.max90 {
  max-width: 90px !important;
}

.min100 {
  min-width: 100px !important;
}

.max100 {
  max-width: 100px !important;
}

.min110 {
  min-width: 110px !important;
}

.max110 {
  max-width: 110px !important;
}

.min120 {
  min-width: 120px !important;
}

.max120 {
  max-width: 120px !important;
}

.min130 {
  min-width: 130px !important;
}

.max130 {
  max-width: 130px !important;
}

.min140 {
  min-width: 140px !important;
}

.max140 {
  max-width: 140px !important;
}

.min150 {
  min-width: 150px !important;
}

.max150 {
  max-width: 150px !important;
}

.min160 {
  min-width: 160px !important;
}

.max160 {
  max-width: 160px !important;
}

.min170 {
  min-width: 170px !important;
}

.max170 {
  max-width: 170px !important;
}

.min180 {
  min-width: 180px !important;
}

.max180 {
  max-width: 180px !important;
}

.min190 {
  min-width: 190px !important;
}

.max190 {
  max-width: 190px !important;
}

.min200 {
  min-width: 200px !important;
}

.max200 {
  max-width: 200px !important;
}

.min210 {
  min-width: 210px !important;
}

.max210 {
  max-width: 210px !important;
}

.min220 {
  min-width: 220px !important;
}

.max220 {
  max-width: 220px !important;
}

.min230 {
  min-width: 230px !important;
}

.max230 {
  max-width: 230px !important;
}

.min240 {
  min-width: 240px !important;
}

.max240 {
  max-width: 240px !important;
}

.min250 {
  min-width: 250px !important;
}

.max250 {
  max-width: 250px !important;
}

.min260 {
  min-width: 260px !important;
}

.max260 {
  max-width: 260px !important;
}

.min270 {
  min-width: 270px !important;
}

.max270 {
  max-width: 270px !important;
}

.min280 {
  min-width: 280px !important;
}

.max280 {
  max-width: 280px !important;
}

.min290 {
  min-width: 290px !important;
}

.max290 {
  max-width: 290px !important;
}

.min300 {
  min-width: 300px !important;
}

.max300 {
  max-width: 300px !important;
}

.min310 {
  min-width: 310px !important;
}

.max310 {
  max-width: 310px !important;
}

.min320 {
  min-width: 320px !important;
}

.max320 {
  max-width: 320px !important;
}

.min330 {
  min-width: 330px !important;
}

.max330 {
  max-width: 330px !important;
}

.min340 {
  min-width: 340px !important;
}

.max340 {
  max-width: 340px !important;
}

.min350 {
  min-width: 350px !important;
}

.max350 {
  max-width: 350px !important;
}

.min360 {
  min-width: 360px !important;
}

.max360 {
  max-width: 360px !important;
}

.min370 {
  min-width: 370px !important;
}

.max370 {
  max-width: 370px !important;
}

.min380 {
  min-width: 380px !important;
}

.max380 {
  max-width: 380px !important;
}

.min390 {
  min-width: 390px !important;
}

.max390 {
  max-width: 390px !important;
}

.min400 {
  min-width: 400px !important;
}

.max400 {
  max-width: 400px !important;
}

.min410 {
  min-width: 410px !important;
}

.max410 {
  max-width: 410px !important;
}

.min420 {
  min-width: 420px !important;
}

.max420 {
  max-width: 420px !important;
}

.min430 {
  min-width: 430px !important;
}

.max430 {
  max-width: 430px !important;
}

.min440 {
  min-width: 440px !important;
}

.max440 {
  max-width: 440px !important;
}

.min450 {
  min-width: 450px !important;
}

.max450 {
  max-width: 450px !important;
}

.min460 {
  min-width: 460px !important;
}

.max460 {
  max-width: 460px !important;
}

.min470 {
  min-width: 470px !important;
}

.max470 {
  max-width: 470px !important;
}

.min480 {
  min-width: 480px !important;
}

.max480 {
  max-width: 480px !important;
}

.min490 {
  min-width: 490px !important;
}

.max490 {
  max-width: 490px !important;
}

.min500 {
  min-width: 500px !important;
}

.max500 {
  max-width: 500px !important;
}

.hover,
.defaultBtn:hover,
.c-button:hover,
.c-button--round:hover {
  opacity: 1;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.hover:hover,
.defaultBtn:hover,
.c-button:hover,
.c-button--round:hover {
  opacity: 0.7;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding-right: 120px;
  padding-left: 120px;
  background-color: transparent;
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}

@media only screen and (max-width: 1024px) {
  .l-header {
    padding: 0;
  }
  .l-header.under {
    background-color: #f6f6fa;
  }
}

.header_contents {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 65px;
  background-color: transparent;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media only screen and (max-width: 1024px) {
  .header_contents {
    width: 89.33333vw;
    padding: 2.66667vw 0;
    margin: auto;
  }
}

.header_logo {
  position: relative;
  width: 211px;
}

@media only screen and (max-width: 1024px) {
  .header_logo {
    width: 37.33333vw;
  }
}

.header_menu_container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.header_menu {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.header_contact {
  position: relative;
}

.header_contact_link {
  position: relative;
  display: block;
  width: 100%;
  border-radius: 35px;
  -webkit-box-shadow: 2px 8px 28px -8px rgba(0, 0, 0, 0.5);
  box-shadow: 2px 8px 28px -8px rgba(0, 0, 0, 0.5);
}

@media only screen and (max-width: 1024px) {
  .header_contact_link {
    -webkit-box-shadow: 0.53333vw 2.13333vw 7.46667vw -2.13333vw rgba(0, 0, 0, 0.5);
    box-shadow: 0.53333vw 2.13333vw 7.46667vw -2.13333vw rgba(0, 0, 0, 0.5);
  }
}

.header_contact_link::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url(../img/common/svg/header_contact_btn-hov.svg);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_contact_link:hover::after,
.header_contact_link:active::after {
  opacity: 1;
}

.header_hum_btn-op {
  position: relative;
  width: 135px;
  margin-left: 20px;
  border-radius: 35px;
  -webkit-box-shadow: 2px 8px 28px -8px rgba(0, 0, 0, 0.5);
  box-shadow: 2px 8px 28px -8px rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}

@media only screen and (max-width: 1024px) {
  .header_hum_btn-op {
    -webkit-box-shadow: 0.53333vw 2.13333vw 7.46667vw -2.13333vw rgba(0, 0, 0, 0.5);
    box-shadow: 0.53333vw 2.13333vw 7.46667vw -2.13333vw rgba(0, 0, 0, 0.5);
  }
}

.header_hum_btn-op::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url(../img/common/svg/hum_btn-op-hov.svg);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.header_hum_btn-op:hover::after,
.header_hum_btn-op:active::after {
  opacity: 1;
}

@media only screen and (max-width: 1024px) {
  .header_hum_btn-op {
    width: 17.06667vw;
    margin-left: 0;
    border-radius: 4vw;
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0) !important;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0) !important;
    -webkit-transition: 0.1s ease-in-out;
    transition: 0.1s ease-in-out;
  }
  .header_hum_btn-op::after {
    display: none;
  }
}

.fixed_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: 100%;
}

.fixed_header .l-header {
  padding-right: 40px;
  padding-left: 40px;
}

@media only screen and (max-width: 1024px) {
  .fixed_header .l-header {
    padding: 0;
    background-color: #f6f6fa;
  }
}

.fixed_header .header_contents {
  padding-top: 20px;
}

@media only screen and (max-width: 1024px) {
  .fixed_header .header_contents {
    width: 89.33333vw;
    padding: 2.66667vw 0;
    margin: auto;
  }
}

.fixed_header .header_logo {
  position: relative;
  width: 150px;
}

@media only screen and (max-width: 1024px) {
  .fixed_header .header_logo {
    width: 29.33333vw;
  }
}

.fixed_header.under {
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}

@media only screen and (max-width: 1024px) {
  .fixed_header.under {
    height: 16vw;
  }
}

.hum_container {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99999999;
  width: 71.13%;
  height: 100%;
  min-height: 100vh;
  background-color: #242424;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

.hum_container.active {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

@media only screen and (max-width: 1024px) {
  .hum_container {
    width: 100%;
  }
}

.hum_btn-cl {
  position: absolute;
  top: 60px;
  right: 40px;
  width: 135px;
}

.hum_btn-cl::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url(../img/common/svg/hum_btn-cl-hov.svg);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hum_btn-cl:hover::after,
.hum_btn-cl:active::after {
  opacity: 1;
}

@media only screen and (max-width: 1024px) {
  .hum_btn-cl {
    position: fixed;
    top: 8vw;
    right: 5.33333vw;
    width: 12.26667vw;
  }
  .hum_btn-cl::after {
    display: none;
  }
}

.hum_menu_container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%;
  padding-right: 3em;
  padding-left: 7.26%;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-box-align: center;
  -ms-flex-align: center;
}

@media only screen and (max-width: 1024px) {
  .hum_menu_container {
    display: block;
    width: 89.33333vw;
    height: 100%;
    padding-right: 0;
    padding-left: 0;
    margin: auto;
  }
}

.hum_logo {
  position: relative;
  width: 38.13333vw;
  padding-top: 2.13333vw;
  padding-left: 5.33333vw;
  margin-bottom: 17.33333vw;
}

.hum_menu {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 775px;
  margin-bottom: 80px;
  color: #fff;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

@media only screen and (max-width: 1024px) {
  .hum_menu {
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    align-content: flex-start;
    max-width: 100%;
    margin-bottom: 10.66667vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-line-pack: start;
  }
}

.hum_list {
  position: relative;
  width: 290px;
  max-width: 290px;
  color: #fff;
}

.hum_list:nth-child(n + 3) {
  margin-top: 70px;
}

.hum_list a {
  position: relative;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.hum_list a:hover,
.hum_list a:active {
  opacity: 0.7;
}

@media only screen and (max-width: 1024px) {
  .hum_list a:hover,
  .hum_list a:active {
    opacity: 1;
  }
}

@media only screen and (max-width: 1024px) {
  .hum_list {
    width: 100%;
    max-width: 100%;
    margin-bottom: 7.46667vw;
  }
  .hum_list:nth-child(n + 3) {
    margin-top: 0;
  }
  .hum_list:nth-last-child(1) {
    margin-bottom: 0;
  }
}

.hum_list_ttl {
  position: relative;
  display: block;
  margin-bottom: 15px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #637ec5;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 1024px) {
  .hum_list_ttl {
    margin-bottom: 1.6vw;
    font-size: 3.73333vw;
  }
}

.hum_list_txt {
  position: relative;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Montserrat",
    "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN",
    メイリオ, Meiryo, sans-serif;
  font-size: 20px;
  font-weight: normal;
  font-weight: bold;
  line-height: 1.5;
  color: #242424;
  color: #fff !important;
  letter-spacing: 0;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 1024px) {
  .hum_list_txt {
    font-size: 4.26667vw;
    line-height: 1;
  }
}

.hum_contact_btn {
  position: relative;
  width: 100%;
}

.hum_contact_btn a {
  position: relative;
  display: block;
  width: 100%;
}

.hum_contact_btn a::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  content: "";
  background-image: url(../img/common/svg/hum_menu_contact-hov.svg);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hum_contact_btn:hover a::after,
.hum_contact_btn:active a::after {
  opacity: 1;
}

@media only screen and (max-width: 1024px) {
  .hum_contact_btn a::after {
    display: none;
  }
}

.upHeader {
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
  -webkit-transform: translateY(-150%) !important;
  transform: translateY(-150%) !important;
}

.l-footer {
  position: relative;
  width: 100%;
  padding-top: 40px;
  padding-bottom: 40px;
  background-color: #242424;
  border-top: 1px solid #565972;
}

@media only screen and (max-width: 1024px) {
  .l-footer {
    padding-top: 16vw;
    padding-bottom: 21.33333vw;
  }
}

.footer_menu {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  width: 100%;
  margin: auto;
  margin-bottom: 60px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
}

@media only screen and (max-width: 1024px) {
  .footer_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 89.33333vw;
    margin: auto;
    margin-bottom: 14.66667vw;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
  }
}

.footer_link {
  margin-right: 80px;
}

.footer_link:nth-last-child(1) {
  margin-right: 0;
}

@media only screen and (max-width: 1024px) {
  .footer_link {
    width: 50%;
    margin-right: 0;
    font-size: 3.73333vw;
  }
  .footer_link:nth-child(n + 3) {
    margin-top: 8vw;
  }
}

.footer_logo {
  position: relative;
  width: 100%;
  width: 342px;
  margin: auto;
  margin-bottom: 60px;
}

@media only screen and (max-width: 1024px) {
  .footer_logo {
    width: 54.66667vw;
    margin-bottom: 9.33333vw;
  }
}

.pp {
  position: relative;
  display: block;
  display: inline-block;
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 1;
  color: #707070;
  text-align: center;
  text-decoration: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.pp::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background: #333;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transform-origin: center top;
  transform-origin: center top;
}

.pp:hover::after,
.pp:active::after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
}

@media only screen and (max-width: 1024px) {
  .pp {
    text-decoration: underline;
  }
  .pp::after {
    display: none;
  }
}

@media only screen and (max-width: 1024px) {
  .pp {
    margin-bottom: 5.33333vw;
    font-size: 3.2vw;
  }
}

.copy {
  position: relative;
  display: block;
  width: 100%;
  font-weight: 500;
  line-height: 1;
  color: #707070;
  text-align: center;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 1024px) {
  .copy {
    font-size: 2.66667vw;
    letter-spacing: 0;
  }
}

.l-content {
  width: 100%;
  max-width: 1280px;
  padding: 40px 0 120px 0;
  padding: 2.5rem 0 7.5rem 0;
  margin: 0 auto;
}

@media only screen and (max-width: 1024px) {
  .l-content {
    padding: 4% 4% 12% 4%;
  }
}

.l-inner-sml {
  position: relative;
  width: 100%;
  max-width: calc(1080px + 10em);
  padding-right: 5em;
  padding-left: 5em;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .l-inner-sml {
    max-width: 100%;
    padding: 0;
  }
}

.l-inner {
  position: relative;
  width: 100%;
  max-width: calc(1200px + 10em);
  padding-right: 5em;
  padding-left: 5em;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .l-inner {
    max-width: 100%;
    padding: 0;
  }
}

.l-inner-lg {
  position: relative;
  width: 100%;
  max-width: calc(1440px + 10em);
  padding-right: 5em;
  padding-left: 5em;
  margin: auto;
}

@media only screen and (max-width: 1024px) {
  .l-inner-lg {
    max-width: 100%;
    padding: 0;
  }
}

.pcinlineblock {
  display: inline;
}

@media only screen and (max-width: 1024px) {
  .pcinlineblock {
    display: none;
  }
}

.spTel {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .spTel {
    display: inline;
    text-decoration: underline;
  }
}

.Tel {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .Tel {
    display: inline;
  }
}

.fix_contact {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 10000;
  width: 89.33333vw;
}

.c-link {
  position: relative;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.c-link:hover,
.c-link:active {
  opacity: 0.7;
}

@media only screen and (max-width: 1024px) {
  .c-link:hover,
  .c-link:active {
    opacity: 1;
  }
}

.c-ttl_section {
  position: relative;
  width: 100%;
  font-weight: normal;
}

.c-ttl-section_en {
  position: relative;
  display: block;
  width: 100%;
  padding-left: 15px;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.1em;
}

.c-ttl-section_en::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 7.79px;
  height: 12.29px;
  content: "";
  background-image: url(../img/top/svg/ttl_img.svg);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media only screen and (max-width: 1024px) {
  .c-ttl-section_en {
    padding-left: 4vw;
    margin-bottom: 5.33333vw;
    font-size: 4.26667vw;
  }
  .c-ttl-section_en::before {
    width: 2.07733vw;
    height: 3.27733vw;
  }
}

.c-ttl-section_jp {
  position: relative;
  display: block;
  width: 100%;
  font-size: 20px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.2em;
}

@media only screen and (max-width: 1024px) {
  .c-ttl-section_jp {
    font-size: 5.33333vw;
  }
}

.c-ttl-section_en.under {
  margin-bottom: 20px;
  font-weight: 500;
}

@media only screen and (max-width: 1024px) {
  .c-ttl-section_en.under {
    margin-bottom: 5.33333vw;
  }
}

.c-ttl-section_en.under-news {
  margin-bottom: 50px;
  font-weight: 500;
}

@media only screen and (max-width: 1024px) {
  .c-ttl-section_en.under-news {
    margin-bottom: 10.66667vw;
  }
}

.c-ttl-section_jp.under {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (max-width: 1024px) {
  .c-ttl-section_jp.under {
    font-size: 6.93333vw;
  }
}

.c-base_txt {
  position: relative;
  width: 100%;
  font-size: 16px;
  line-height: 2;
}

@media only screen and (max-width: 1024px) {
  .c-base_txt {
    font-size: 3.73333vw;
  }
}

.c-base_txt02 {
  position: relative;
  width: 100%;
  font-size: 16px;
  line-height: 2;
}

@media only screen and (max-width: 1024px) {
  .c-base_txt02 {
    font-size: 4.26667vw;
  }
}

.c-base_txt03 {
  position: relative;
  width: 100%;
  font-size: 14px;
  line-height: 2;
}

@media only screen and (max-width: 1024px) {
  .c-base_txt03 {
    font-size: 4.26667vw;
  }
}

.c-base_txt04 {
  position: relative;
  width: 100%;
  font-size: 14px;
  line-height: 2;
}

@media only screen and (max-width: 1024px) {
  .c-base_txt04 {
    font-size: 3.73333vw;
  }
}

.c-base_txt05 {
  position: relative;
  width: 100%;
  font-size: 16px;
  line-height: 2;
}

@media only screen and (max-width: 1024px) {
  .c-base_txt05 {
    font-size: 5.33333vw;
  }
}

.type a {
  position: absolute;
  right: 2.38095vw;
  bottom: 11.90476vw;
  z-index: 2;
  z-index: 100;
  display: inline-block;
  padding: 0.59524vw 0.59524vw 6.54762vw;
  overflow: hidden;
  font-size: 0.83333vw;
  line-height: 1;
  color: #163ea8;
  text-decoration: none;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.type a::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 5.95238vw;
  content: "";
  background: rgba(22, 61, 168, 0.5);
}

.type a:hover {
  opacity: 0.5;
}

@media only screen and (max-width: 1024px) {
  .type a {
    right: 5.33333vw;
    bottom: 116vw;
    z-index: 2;
    padding: 2.66667vw 0 29.33333vw;
    font-size: 3.73333vw;
  }
  .type a::after {
    height: 26.66667vw;
  }
  .type a:hover {
    opacity: 1;
  }
}

#type01 a::after {
  -webkit-animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@-webkit-keyframes sdl01 {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

@keyframes sdl01 {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

.type02 a {
  position: absolute;
  top: 0;
  right: 40px;
  z-index: 2;
  z-index: 100;
  display: inline-block;
  padding: 110px 10px 10px;
  overflow: hidden;
  font-size: 14px;
  line-height: 1;
  color: #565972;
  text-decoration: none;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.type02 a::after {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  content: "";
  background: #565972;
}

.type02 a:hover {
  opacity: 0.5;
}

@media only screen and (max-width: 1024px) {
  .type02 a {
    top: 0;
    right: 5.33333vw;
    z-index: 2;
    padding: 29.33333vw 2.66667vw 2.66667vw;
    font-size: 3.73333vw;
  }
  .type02 a::after {
    height: 26.66667vw;
  }
  .type02 a:hover {
    opacity: 1;
  }
}

#type02 a::after {
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
  -webkit-animation: sdl02 1.5s cubic-bezier(1, 0, 0, 1) infinite;
  animation: sdl02 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@-webkit-keyframes sdl02 {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    -webkit-transform-origin: center bottom;
    transform-origin: 0 0;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    -webkit-transform-origin: center bottom;
    transform-origin: 0 0;
    transform-origin: center bottom;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    -webkit-transform-origin: center top;
    transform-origin: 0 100%;
    transform-origin: center top;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    -webkit-transform-origin: center top;
    transform-origin: 0 100%;
    transform-origin: center top;
  }
}

@keyframes sdl02 {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    -webkit-transform-origin: center bottom;
    transform-origin: 0 0;
    transform-origin: center bottom;
  }
  50% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    -webkit-transform-origin: center bottom;
    transform-origin: 0 0;
    transform-origin: center bottom;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    -webkit-transform-origin: center top;
    transform-origin: 0 100%;
    transform-origin: center top;
  }
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    -webkit-transform-origin: center top;
    transform-origin: 0 100%;
    transform-origin: center top;
  }
}

.btn_more {
  position: relative;
  width: 89.33333vw;
  margin: auto;
}

.btn_more_sml {
  width: 78.66667vw;
  margin: auto;
}

.c-back_btn {
  position: relative;
  width: 240px;
}

.c-back_btn a {
  position: relative;
  position: relative;
  display: block;
  width: 100%;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.c-back_btn a:hover,
.c-back_btn a:active {
  opacity: 0.7;
}

@media only screen and (max-width: 1024px) {
  .c-back_btn a:hover,
  .c-back_btn a:active {
    opacity: 1;
  }
}

@media only screen and (max-width: 1024px) {
  .c-back_btn {
    width: 64vw;
  }
}

.type03 a {
  position: absolute;
  bottom: -17.85714vw;
  left: 50%;
  z-index: 2;
  z-index: 100;
  display: inline-block;
  padding: 0.59524vw 0.59524vw 6.54762vw;
  overflow: hidden;
  font-size: 0.83333vw;
  line-height: 1;
  color: #163ea8;
  text-decoration: none;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.type03 a::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 5.95238vw;
  content: "";
  background: rgba(22, 61, 168, 0.5);
}

.type03 a:hover {
  opacity: 0.5;
}

@media only screen and (max-width: 1024px) {
  .type03 a {
    right: 5.33333vw;
    bottom: 116vw;
    z-index: 2;
    padding: 2.66667vw 0 29.33333vw;
    font-size: 3.73333vw;
  }
  .type03 a::after {
    height: 26.66667vw;
  }
  .type03 a:hover {
    opacity: 1;
  }
}

.c-under_link_container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 200px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
}

@media only screen and (max-width: 1024px) {
  .c-under_link_container {
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    align-content: flex-start;
    width: 89.33333vw;
    margin: auto;
    margin-bottom: 21.33333vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-line-pack: start;
  }
}

.under_link {
  position: relative;
  width: 48.33%;
  max-width: 580px;
}

.under_link a {
  position: relative;
  display: block;
  width: 100%;
}

.under_link a::before {
  position: absolute;
  bottom: 40px;
  left: 40px;
  z-index: 50;
  width: 30px;
  height: 30px;
  content: "";
  background-image: url(../img/common/svg/under_arw.svg);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.under_link a::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.under_link:hover a::before,
.under_link:active a::before {
  -webkit-transform: translateX(15%);
  transform: translateX(15%);
}

.under_link:hover a::after,
.under_link:active a::after {
  opacity: 1;
}

@media only screen and (max-width: 1024px) {
  .under_link {
    width: 100%;
    max-width: 100%;
    margin-bottom: 5.33333vw;
  }
  .under_link:nth-last-child(1) {
    margin-bottom: 0;
  }
  .under_link a::before {
    display: none;
  }
  .under_link a::after {
    display: none;
  }
}

.under_link.profile a::after {
  background-image: url(../img/common/under_link-company_profile-hov.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.under_link.team a::after {
  background-image: url(../img/common/under_link-our_team-hov.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.under_link.who a::after {
  background-image: url(../img/common/under_link-who_we_are-hov.png);
  background-repeat: no-repeat;
  background-size: contain;
}

@media only screen and (max-width: 1400px) {
  .w1400 {
    display: none !important;
  }
}

.top_pc_link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 1024px) {
  .top_pc_link {
    pointer-events: none;
  }
}

.btn_more_news {
  position: relative;
  width: 460px;
  margin: auto;
  margin-top: 80px;
}

.btn_more_news a {
  position: relative;
  display: block;
  padding: 30px;
  border: 2px solid #637ec5;
  border-radius: 40px;
}

.btn_more_news a::after {
  position: absolute;
  top: 50%;
  right: 25px;
  width: 30px;
  height: 30px;
  content: "";
  background-image: url(../img/common/svg/news_arw_pc.svg);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.btn_more_news a span {
  position: relative;
  display: block;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  color: #163ea8;
  text-align: center;
  letter-spacing: 0.1em;
}

.btn_more_news a:hover::after,
.btn_more_news a:active::after {
  right: 15px;
}

.defaultBtn,
.c-button,
.c-button--round {
  display: inline-block;
  padding: 8px 16px;
  padding: 0.5rem 1rem;
  font-size: 14px;
  font-size: 0.875rem;
  color: #f2f2f2;
  text-decoration: none;
  background: #032f40;
  opacity: 1;
}

.c-button--round {
  border-radius: 4px;
}

.c-btn_blue {
  position: relative;
  min-width: 360px;
  padding: 35px 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  background-color: #163ea8;
  border-radius: 4px;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.c-btn_blue:hover,
.c-btn_blue:active {
  background-color: #ad07a5;
}

@media only screen and (max-width: 1024px) {
  .c-btn_blue {
    min-width: 78.66667vw;
    padding: 6.66667vw 2.66667vw;
    font-size: 4.26667vw;
    border-radius: 1.06667vw;
  }
  .c-btn_blue:hover,
  .c-btn_blue:active {
    background-color: #163ea8;
  }
}

.c-btn_gray {
  position: relative;
}

.c-btn_gray a {
  position: relative;
  display: inline-block;
  min-width: 240px;
  padding: 15px;
  text-align: center;
  background-color: #f2f2f2;
  border: 1px solid #c1c1c1;
  border-radius: 4px;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.c-btn_gray a:hover,
.c-btn_gray a:active {
  background-color: #e5e9f5;
  border: 1px solid #e5e9f5;
}

@media only screen and (max-width: 1024px) {
  .c-btn_gray a {
    min-width: 64vw;
    padding: 5.33333vw 2.66667vw;
    background-color: #f2f2f2;
    border: 1px solid #c1c1c1;
    border-radius: 1.06667vw;
  }
  .c-btn_gray a:hover,
  .c-btn_gray a:active {
    background-color: #f2f2f2;
    border: 1px solid #c1c1c1;
  }
}

.c-btn_gray02 {
  position: relative;
  display: inline-block;
  min-width: 240px;
  padding: 15px;
  font-weight: bold;
  color: #707070;
  text-align: center;
  background-color: #f2f2f2;
  border-radius: 4px;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.c-btn_gray02:hover,
.c-btn_gray02:active {
  background-color: #e5e9f5;
}

@media only screen and (max-width: 1024px) {
  .c-btn_gray02 {
    min-width: 64vw;
    padding: 5.33333vw 2.66667vw;
    background-color: #f2f2f2;
    border-radius: 1.06667vw;
  }
  .c-btn_gray02:hover,
  .c-btn_gray02:active {
    background-color: #f2f2f2;
  }
}

.c-btn_bdr-blue {
  position: relative;
}

.c-btn_bdr-blue a {
  position: relative;
  display: inline-block;
  padding: 12px 35px;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  border: 1px solid #163ea8;
  border-radius: 4px;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.c-btn_bdr-blue a:hover,
.c-btn_bdr-blue a:active {
  color: #fff !important;
  background-color: #163ea8;
}

@media only screen and (max-width: 1024px) {
  .c-btn_bdr-blue a {
    width: 100%;
    padding: 2.66667vw 2.66667vw;
    font-size: 4.26667vw;
    border-radius: 1.06667vw;
  }
  .c-btn_bdr-blue a:hover,
  .c-btn_bdr-blue a:active {
    color: #163ea8 !important;
    background-color: transparent;
  }
}

body {
  position: relative;
  cursor: none;
  /*もともとあるカーソルは見えなくなるようにする*/
}

@media only screen and (max-width: 1024px) {
  body {
    cursor: auto;
  }
}

a {
  cursor: none;
}

@media only screen and (max-width: 1024px) {
  a {
    cursor: auto;
  }
}

#cursor {
  position: fixed;
  /*真ん中にくるようにマイナスマージンで調整*/
  z-index: 1000;
  z-index: 99999999;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  /*一番手前に来るように*/
  pointer-events: none;
  /*丸の大きさと色の指定*/
  background-color: rgba(86, 89, 114, 0.9);
  border-radius: 50%;
  /*クリックできなくなるのを防ぐため。noneで対応*/
  opacity: 0;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media only screen and (max-width: 1024px) {
  #cursor {
    display: none;
  }
}

#cursor.def {
  /*真ん中にくるようにマイナスマージンで調整*/
  z-index: 1000;
  z-index: 999999999999999;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  /*一番手前に来るように*/
  pointer-events: none;
  background-color: rgba(86, 89, 114, 0.9) !important;
  border-radius: 50%;
  /*クリックできなくなるのを防ぐため。noneで対応*/
  opacity: 0;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media only screen and (max-width: 1024px) {
  #cursor.def {
    display: none;
  }
}

#cursor.hum {
  /*真ん中にくるようにマイナスマージンで調整*/
  z-index: 1000;
  z-index: 999999999999999;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  /*一番手前に来るように*/
  pointer-events: none;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  /*クリックできなくなるのを防ぐため。noneで対応*/
  opacity: 0;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

@media only screen and (max-width: 1024px) {
  #cursor.hum {
    display: none;
  }
}

#cursor.hover,
#cursor.defaultBtn:hover,
#cursor.c-button:hover,
#cursor.c-button--round:hover {
  background-color: transparent;
  background-image: url(../img/top/mouse_hover.png);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.9;
  -webkit-transform: scale(8);
  transform: scale(8);
}

#cursor.drag {
  background-color: transparent;
  background-image: url(../img/top/mouse_slider.png);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.9;
  -webkit-transform: scale(8);
  transform: scale(8);
}

#cursor.detail {
  background-color: transparent;
  background-image: url(../img/top/mouse_detail.png);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.9;
  -webkit-transform: scale(8);
  transform: scale(8);
}

#cursor.oncontact {
  background-color: transparent;
  background-image: url(../img/top/mouse_contact.png);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.9;
  -webkit-transform: scale(8);
  transform: scale(8);
}

.c-title__lv1 {
  padding: 16px 0;
  padding: 1rem 0;
  font-size: 40px;
  font-size: 2.5rem;
}

.c-title__lv2 {
  padding: 16px 0;
  padding: 1rem 0;
  font-size: 32px;
  font-size: 2rem;
}

.c-title__lv3 {
  font-size: 24px;
  font-size: 1.5rem;
}

p {
  font-size: 14px;
  font-size: 0.875rem;
}

.c-list {
  padding-left: 0;
  list-style: none;
}

.c-list--disc {
  padding-left: 20px;
  padding-left: 1.25rem;
  list-style: disc outside;
}

.p-post__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
}

.p-post__wrap_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: normal;
  width: 48%;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-box-pack: normal;
  -ms-flex-pack: normal;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
}

.p-post__textArea {
  padding: 0 0 0 20px;
  padding: 0 0 0 1.25rem;
}

.p-post__textArea_date {
  font-size: 12px;
  font-size: 0.75rem;
  color: #5c7073;
}

.p-post__textArea_ttl {
  padding-top: 4px;
  padding-top: 0.25rem;
}

.p-post__textArea_text {
  padding-top: 4px;
  padding-top: 0.25rem;
}

.p-post__textArea_btn {
  padding-top: 20px;
  padding-top: 1.25rem;
  text-align: right;
}

#pp {
  position: relative;
  width: 100%;
  padding-top: 100px;
  padding-bottom: 200px;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Montserrat",
    "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN",
    メイリオ, Meiryo, sans-serif;
  font-weight: normal;
  color: #242424;
  color: #242424;
  letter-spacing: 0;
  background-color: #f6f6fa;
}

#pp .pp_ttl_container {
  position: relative;
  width: 100%;
  margin-bottom: 120px;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_ttl_container {
    width: 89.33333vw;
    margin: auto;
    margin-bottom: 16vw;
  }
}

#pp .p-pp_container {
  position: relative;
  width: 100%;
  margin-bottom: 80px;
}

#pp .p-pp_container:nth-last-child(1) {
  margin-bottom: 0;
}

@media only screen and (max-width: 1024px) {
  #pp .p-pp_container {
    width: 89.33333vw;
    margin: auto;
    margin-bottom: 21.33333vw;
  }
}

#pp .pp_head {
  position: relative;
  width: 100%;
  padding-top: 18px;
  padding-bottom: 18px;
  margin-bottom: 40px;
  background-color: #e5e9f5;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_head {
    padding-top: 2.66667vw;
    padding-bottom: 2.66667vw;
    margin-bottom: 10.66667vw;
  }
}

#pp .pp_head_ttl {
  position: relative;
  width: 100%;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_head_ttl {
    font-size: 5.33333vw;
  }
}

#pp .pp_body {
  position: relative;
  width: 100%;
}

#pp .pp_body_heading {
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_body_heading {
    margin-bottom: 10.66667vw;
  }
}

#pp .pp_body_contents {
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_body_contents {
    margin-bottom: 10.66667vw;
  }
}

#pp .pp_body_list {
  position: relative;
  width: 100%;
  margin-bottom: 40px;
}

#pp .pp_body_list:nth-last-child(1) {
  margin-bottom: 0;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_body_list {
    margin-bottom: 10.66667vw;
  }
}

#pp .pp_body_list_ttl {
  position: relative;
  width: 100%;
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_body_list_ttl {
    margin-bottom: 4vw;
    font-size: 4.8vw;
  }
}

#pp .pp_body_list_txt {
  position: relative;
  width: 100%;
}

#pp .addres_heading {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
}

@media only screen and (max-width: 1024px) {
  #pp .addres_heading {
    margin-bottom: 2.66667vw;
    font-size: 3.73333vw;
  }
}

#pp .pp_adress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-bottom: 20px;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_adress {
    margin-bottom: 2.66667vw;
  }
}

#pp .pp_adress_ttl {
  display: block;
  width: 60px;
  font-size: 14px;
  font-weight: bold;
  line-height: 2;
}

@media only screen and (max-width: 1024px) {
  #pp .pp_adress_ttl {
    width: 16vw;
  }
}

#pp .pp_note {
  display: inline-block;
  width: auto;
}

/*# sourceMappingURL=maps/pp.css.map */
