html.fs-3 { font-size: 87.5%; }
html.fs-2 { font-size: 93.75%; }
html.fs-1 { font-size: 96.875%; }

html.fs0  { font-size: 100%; }

html.fs1  { font-size: 106.25%; }
html.fs2  { font-size: 112.5%; }
html.fs3  { font-size: 118.75%; }
html.fs4  { font-size: 125%; }
html.fs5  { font-size: 131.25%; }
html.fs6  { font-size: 137.5%; }

a[href*=".pdf"], a[href*=".doc"], a[href*=".docx"], a[href*=".xls"], a[href*=".xlsx"] {
	background-size: 0.8em auto;
	background-repeat: no-repeat;
	background-position: right center;
	padding-right: 1.25em;
	margin-right: 0.5em;
}
a[href*=".pdf"] {
	background-image: url("../img/ico_pdf_red.svg");
}
a[href*=".doc"], a[href$=".docx"] {
	background-image: url("../img/icon_doc.svg");
}
a[href*=".xls"], a[href$=".xlsx"] {
	background-image: url("../img/icon_xls.svg");
}
a.linkOuter::after {
	content: "↗";
	padding-left: 0.5em;
	font-size: 70%;
	display: inline-block;
	padding-right: 0.5em;
}
#gn_ul a[href$=".pdf"] {
	background: none;
	padding-right: 0;
	margin-right: 0;
}

/*--------------------------------------------------------------------------
inquiry
---------------------------------------------------------------------------*/

#inquiryLoader.loading {
    background-position: center 35%;
}

table.inquiryTable {
    margin: 0 auto 1em auto;
    line-height: 1.3;
    border-collapse: collapse;
}

table.inquiryTable th {
    white-space: nowrap;
    width: 25%;
    padding: 1em;
    text-align: right;
    vertical-align: middle;
}

table.inquiryTable td {
    padding: 1em;
}

table.inquiryTable.confirmTable th ,
table.inquiryTable.confirmTable td {
    padding-top: 1em;
    padding-bottom: 1em;
}

table.inquiryTable th span {
    display: inline-block;
    font-size: 70%;
    min-width: 5em;
}

table.inquiryTable input ,
table.inquiryTable select ,
table.inquiryTable textarea {
    padding: 0.5em;
    font-family: inherit;
    border: 1px solid rgba(200,200,200,1.00);
    background-color: #fff;
}

table.inquiryTable input:focus ,
table.inquiryTable select:focus ,
table.inquiryTable textarea:focus {
    border: 1px solid rgba(100,100,100,1.00);
}

table.inquiryTable textarea {
    width: 100%;
    resize: vertical;
}

table.inquiryTable *:required {
}

table.inquiryTable .required {
    color: rgba(200,0,0,1.00);
}

.p-formTable .tableWraper {
    background-color: #f5f3f6;
    border-radius: 8px;
    padding: 30px;
}

.action {
    text-align: center;
    margin: 1em auto;
}

.action input {
    font-size: 90%;
    padding: 0.5em 1.5em;
    background-color: rgba(240,240,240,1.00);
    border: 1px solid rgba(160,160,160,1.00);
    border-radius: 3px;
    margin: auto 0.25em;
}

.action input:hover {
    background-color: rgba(220,220,220,1.00);
    border: 1px solid rgba(130,130,130,1.00);
}

.callback {
    display: block;
    margin-bottom: 1em;
}

#inquiry_result {
}

@media (max-width:768px){

table.inquiryTable{
    width:100%;
}

table.inquiryTable tr{
    display:block;
    width:100%;
}

table.inquiryTable th,
table.inquiryTable td{
    display:block;
    width:100%;
    box-sizing:border-box;
    text-align:left;
}

table.inquiryTable th{
    padding:1em 1em 0.5em;
    white-space:normal;
}

table.inquiryTable td{
    padding:0.5em 1em 1em;
}

table.inquiryTable input,
table.inquiryTable select,
table.inquiryTable textarea{
    width:100% !important;
    max-width:100%;
    box-sizing:border-box;
}

}

/* 2026 armadillo */


.l-header {
  position: fixed;
  width: 100%;
  z-index: 1010;
}

.l-header__inner {
  background-color: #fff;
  border-radius: 0 0 20px 20px;
  padding: 10px 40px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  align-items: center;
  height: 100px;
}

.l-header h1 {
  padding-right: 40px;
}

.l-header h1 img {
  width: 385px;
  width: 22vw;
}
@media screen and (max-width: 1200px) {
  .l-header__inner {
    padding: 8px 10px;
    padding-right: 80px;
    height: 60px;
    position: relative;
    z-index: 1000;
  }
  .l-header h1 {
    padding-right: 20px;
  }
  .l-header h1 img {
    width: 42vw;
    max-width: 340px;
  }
}

.l-header__sns {
  background-image: repeating-linear-gradient(-45deg, #f4edf8, #f4edf8 2px, #faf6fc 2px, #faf6fc 4px);
  border-radius: 10px;
  padding: 8px 10px;
}

.l-header__sns__wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.l-header__sns__title {
  font-weight: bold;
  font-size: 14px;
  color: #8B5FA3;
  text-align: center;
  margin-bottom: 8px;
}

.l-header__sns__item {
  background-color: #fff;
  border: 1px solid #8B5FA3;
  padding: 6px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 999px;
  font-family: "Inter", sans-serif;
  font-weight: bold;
}

.l-header__sns__item + .l-header__sns__item {
  margin-left: 10px;
}

.l-header__sns__icon {
  width: 22px;
  margin-right: 10px;
}

.l-header__sns__icon img {
  width: 100%;
}

.l-header__sns__id {
  font-size: 12.5px;
}

@media screen and (max-width: 1450px) {
  .l-header__sns {
    padding: 4px 8px;
  }
  .l-header__sns__id {
    display: none;
  }
  .l-header__sns__icon {
    margin-right: 0;
  }
  .l-header__sns__item {
    padding: 5px;
  }
}

@media screen and (max-width: 1200px) {
  .l-header__sns__title {
    display: none;
  }
}

.l-header__hum {
  display: flex;
  align-items: center;
  margin-left: auto;
  position: absolute;
  right: 20px;
  height: 80px;
  top: 10px;
}
@media screen and (max-width: 1200px) {
  .l-header__hum {
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow-y: scroll;
    transform: translateY(-100%);
    transition: .4s;
    position: fixed;
    z-index: 0;
    top: 0;
    right: 0;
    background-color: #2A1D31f0;
    padding: 70px 1.5rem 2rem;
    width: 100%;
  }
}

.l-header__nav {
  
}

.l-header__nav .l-header__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr); 
  list-style: none;
  padding: 0;
  margin: 0;
  width: max-content;
}

.l-header__nav .l-header__list > li {
  text-align: center;
  white-space: nowrap;
  border-right: 1px solid #ccc;
}
.l-header__nav .l-header__list li img {
  height: 26px;
}

.l-header__nav .l-header__list li a {
  display: block;
  text-decoration: none;
  padding: 15px 10px;
  height: 100%;
  font-size: 14px;
}

.l-header__nav__title {
  font-weight: bold;
  margin-top: 7px;
  white-space: nowrap;
}

@media screen and (max-width: 1200px) {
  .l-header__nav {
    width: 100%;
  }
  .l-header__nav .l-header__list {
    display: block;
    width: 100%;
  }
  .l-header__nav .l-header__list > li {
    border-right: none;
    border-top: 1px solid #ccc;
  }
  .l-header__nav .l-header__list > li:last-child {
    border-bottom: 1px solid #ccc;
  }
  .l-header__nav .l-header__list li a {
    display: flex;
    align-items: center;
    color: #fff;
    font-weight: normal;
    font-size: 16px;
  }
  .l-header__nav .l-header__list li .l-header__nav__icon {
    width: 24px;
  }
  .l-header__nav .l-header__list li .l-header__nav__icon img {
    width: 100%;
    height: unset;
    filter: invert(1);
  }
  .l-header__nav__title {
    margin-top: 0;
    margin-left: 10px;
    color: #fff;
  }
}


.l-header__font {
  padding-left: 30px;
}

.l-header__font__title {
  text-align: center;
  margin-bottom: 10px;
}

.l-header__font__size {
  border: 1px solid #8B5FA3;
  border-radius: 999px;
  display: flex;
  
}

.l-header__font__size input {
  vertical-align: baseline;
  padding: 6px 16px;
}

.l-header__font__small {
  border-right: 1px solid #8B5FA3;
}

.l-header__font__small input, .l-header__font__large input {
  background-size: 16px;
  background-repeat: no-repeat;
}

.l-header__font__small input {
  background-image: url(../img/font_minus.png);
  background-position: center left 12px;
  padding-left: 32px;
}

.l-header__font__large input {
  background-image: url(../img/font_plus.png);
  background-position: center right 12px;
  padding-right: 32px;
}

  .l-header__spbtn {
    display: none;
  }

  .l-header__spbtn__text {
    font-size: 12px;
    text-align: center;
  }

@media screen and (max-width: 1200px) {
  .l-header__font {
    display: none;
  }
    .l-header__spbtn {
      display: block;
      position: absolute;
      cursor: pointer;
      width: 60px;
      height: 60px;
      right: 0;
      top: 0;
      z-index: 2001;
      padding: 12px;
      margin-right: 10px;

      span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        right: 15px;
        height: 2px;
        background: #555;
        width: 50%;
      }
  }

  .l-header__spbtn span:nth-of-type(1) {
    top: 28px;
  }

    .l-header__spbtn span:nth-of-type(2) {
    top: 37px;
  }

    .l-header__spbtn span:nth-of-type(3) {
    top: 46px;
  }
}

.l-header.is-open .l-header__spbtn span:nth-of-type(1) {
  top: 30px;
  left: 17px;
  -webkit-transform: translateY(6px) rotate(-45deg);
          transform: translateY(6px) rotate(-45deg);
  width: 40%;
}
.l-header.is-open .l-header__spbtn span:nth-of-type(2) {
  opacity: 0;
}
.l-header.is-open .l-header__spbtn span:nth-of-type(3) {
  top: 42px;
  left: 17px;
  -webkit-transform: translateY(-6px) rotate(45deg);
          transform: translateY(-6px) rotate(45deg);
  width: 40%;
}
.l-header.is-open .l-header__hum {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}


.l-header__nav__child li a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
}

.l-header__hasChild.is-active .l-header__nav__child {
  display: block;
}

  .l-header__hasChild {
    position: relative;
  }
  .l-header__nav__child {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #9B84A8;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 1001;
    border-radius: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: none;
  }
  .l-header__nav__child li span {
    font-size: .8em;
  }
  .l-header__nav__child::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #9B84A8;
  }
  .l-header__nav__child li a {
    display: block;
    padding: 10px;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
  }

@media screen and (max-width: 1200px) {
  .l-header__hasChild > a {
    display: flex;
    align-items: center;
    position: relative;
    padding-right: 60px;
  }

  .l-header__nav__child {
    position: static;
    top: unset;
    left: unset;
    width: 100%;
    box-shadow: none;
    background: transparent;
    border-radius: unset;
    transform: unset;
    display: none;
    margin-left: 10px;
  }

  .l-header__nav__child::before {
    display: none;
  }

  .l-header__nav__child a::before {
    content: "-";
    display: inline-block;
    color: #ccc;
    margin-right: 8px;
  }

  .l-header__hasChild > a::after {
    content: "";
    position: absolute;
    right: 25px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-70%) rotate(135deg);
    transition: transform 0.3s ease;
    z-index: 2;
  }

  .l-header__hasChild.is-active > a::after {
    transform: translateY(-30%) rotate(-45deg);
  }
}

.l-header__link {
  display: none;
}

@media screen and (max-width: 1200px) {
  .l-header__link {
    display: block;
    width: 100%;
  }
  .l-header__link__list {
    display: flex;
    flex-wrap: wrap;
  }
  .l-header__link__list li {
    width: 50%;
    margin-top: 16px;
    position: relative;
    padding-left: 16px;
  }
  .l-header__link__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.3s ease;
    z-index: 2;
  }
  .l-header__link__list li a {
    color: #fff;
    font-size: 14px;

  }
}

.l-header__contact {
  display: none;
}

@media screen and (max-width: 1200px) {
  .l-header__contact {
    display: block;
    margin-top: 50px;
    width: 100%;
  }
  .l-header__contact__title {
    background-color: #ffffff60;
    color: #fff;
    font-weight: bold;
    text-align: center;
    border-radius: 999px;
    width: 100%;
    padding: 4px 16px;
    margin-bottom: 10px;
  }
  .l-header__contact__num {
    color: #fff;
    text-align: center;
  }
  .l-header__contact__num span {
    font-size: 30px;
    line-height: 1;
    font-weight: bold;
    font-family: "Inter", sans-serif;
  }
}

/* footer */

.l-footer{
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
}

.l-footer__infoWrap {
  background-color: #F4EDF8;
  padding: 50px;
  padding-left: calc((100vw - 1200px) / 2);
  width: 42%;
}

.l-footer__logo img {
  width: 300px;
  max-width: 100%;
}

.l-footer__address {
  margin-top: 20px;
}

.l-footer__contact {
  margin-top: 15px;
}

.l-footer__contact__title {
  background-color: #fff;
  color: #8B5FA3;
  font-weight: bold;
  text-align: center;
  padding: 5px 20px;
  border-radius: 999px;
}

.l-footer__contact__num {
  margin-top: 10px;
}
.l-footer__contact__num span {
  font-size: 40px;
  line-height: 1;
  font-weight: bold;
  font-family: "Inter", sans-serif;
}

.l-footer__tel {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  justify-content: space-between;
}

.l-footer__tel li {
  width: 48%;
  margin-bottom: 15px;
}

.l-footer__tel__title {
  color: #8B5FA3;
  font-weight: bold;
  text-align: center;
  border-bottom: 1px solid #8B5FA3;
  padding-bottom: 5px;
  font-size: 14px;
}

.l-footer__tel__num {
  margin-top: 5px;
  text-align: center;
}

.l-footer__sns {
  display: flex;
}

.l-footer__sns a {
  width: 30px;
  height: 30px;
  display: block;
  margin-right: 20px;
}

.l-footer__sns a img {
  width: 100%;
}

.l-footer__sitemap {
  width: 58%;
  padding: 50px;
  padding-right: calc((100vw - 1200px) / 2);
}

.l-footer__bottom {
  background-color: #746E77;
  width: 100%;
  padding: 30px;
}

.l-footer__sitemap {
  display: flex;
  flex-wrap: wrap;
}

.l-footer__sitemap_link {
  width: 50%;
}

.l-footer__sitemap__title {
  font-weight: bold;
  margin-bottom: 10px;
}

.l-footer__sitemap__list {
  padding-left: 16px;
}

.l-footer__sitemap_link:nth-child(n+3) {
  margin-top: 18px;
}

.l-footer__sitemap__list li span {
  font-size: .85em;
}

.l-footer__sitemap__list li + li {
  margin-top: 8px;
}

.l-footer__bottom .l-inner {
  display: flex;
  justify-content: space-between;
}

.l-footer__bottom__link {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.l-footer__bottom__link li a {
  color: #fff;
}

.l-footer__copy {
  color: #fff;
  font-size: 14px;
}

@media screen and (max-width: 1200px) {
  .l-footer__infoWrap {
    width: 100%;
    padding: 30px 20px;
    padding-left: 20px;
    display: flex;
    flex-wrap: wrap;
  }
  .l-footer__info {
    width: 50%;
  }
  .l-footer__contact {
    width: 50%;
  }
  .l-footer__tel {
    width: 100%;
  }
  .l-footer__sns {
    margin-top: 30px;
  }
    .l-footer__bottom {
    background-color: #fff;
    padding: 0;
  }
  .l-footer__bottom .l-inner {
    padding: 0;
    flex-wrap: wrap;
  }
  .l-footer__bottom__link li a {
    color: #333;
    font-size: 12px;
    position: relative;
    padding-left: 12px;
    font-weight: bold;
  }

  .l-footer__bottom__link {
    gap: unset;
    padding: 0 20px;
    margin-bottom: 30px;
    width: 100%;
  }
  .l-footer__bottom__link li {
    width: 50%;
    margin-bottom: 10px;
    line-height: 1;
  }
  .l-footer__bottom__link li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #8B5FA3;
    border-right: 2px solid #8B5FA3;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.3s ease;
    z-index: 2;
  }
  .l-footer__copy {
    background-color: #746E77;
    width: 100%;
    padding: 15px 20px;
    text-align: center;
    font-size: 12px;
  }
}

@media screen and (max-width: 768px) {
  .l-footer__info {
    width: 100%;
  }
  .l-footer__contact {
    width: 100%;
  }
  .l-footer__contact__num {
    text-align: center;
  }
  .l-footer__contact__fax {
    text-align: center;
    font-size: 14px;
  }
  .l-footer__contact__num {
    font-size: 14px;
  }
  .l-footer__contact__num span {
    font-size: 30px;
  }
  .l-footer__sns {
    margin: 0 auto;
    margin-top: 20px;
  }
  .l-footer__sitemap {
    padding: 30px 20px;
    width: 100%;
    padding-bottom: 0;
  }
  .l-footer__sitemap__list {
    display: none;
  }
  .l-footer__sitemap__title {
    font-size: 12px;
    position: relative;
    padding-left: 12px;
  }
  .l-footer__sitemap__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #8B5FA3;
    border-right: 2px solid #8B5FA3;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.3s ease;
    z-index: 2;
  }
  .l-footer__sitemap_link + .l-footer__sitemap_link {
    margin-top: 0;
  }

  
}

/* layout */

.l-main {
}

.l-section {
  padding: 100px 0;
}

.l-secCont + .l-secCont {
  padding-top: 60px;
}

.l-section img {
  max-width: 100%;
}

.l-inner {
  width: 1200px;
  margin: 0 auto;
}

.l-header + * {
  padding-top: 100px;
}

@media screen and (max-width: 1200px) {
  .l-header + * {
    padding-top: 60px;
  }

  .l-section {
    padding: 50px 0;
  }

  .l-secCont + .l-secCont {
    padding-top: 40px;
  }

  .l-inner {
    width: 100%;
    padding: 0 20px;
  }
}

.c-button a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 15px 30px;
  cursor: pointer;
  border: none;
  background: transparent;
  font-size: 16px;
  font-weight: bold;
  color: #333;
  text-decoration: none;
  transition: all 0.3s;
  min-width: 240px;
  background-color: #fff;
}

.c-button a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50px;
  padding: 2px;
  background: linear-gradient(to right, #8B5FA3, #E15C70);
  -webkit-mask: 
     linear-gradient(#fff 0 0) content-box, 
     linear-gradient(#fff 0 0);
          mask-composite: exclude;
  pointer-events: none;
}

.c-button a::after {
  content: "";
  position: absolute;
  inset: 2px;
  background: #fff;
  border-radius: 48px;
  z-index: -1;
  transition: all 0.3s ease;
}

.c-button a:hover::after {
  background: linear-gradient(to right, rgba(139, 95, 163, 0.15), rgba(225, 92, 112, 0.15));
}

.c-button a span::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: calc(50% - 4px);
  right: 20px;
}

.c-button a:hover {
  opacity: 1;
}

.c-col .c-button a {
  width: 100%;
}

.c-title {
  font-weight: bold;
  margin-bottom: 70px;
}

.c-title__main {
  font-size: 36px;
}

.c-title__sub {
  font-size: 18px;
  margin-top: 8px;
}
.c-dotTitle {
  font-size: 36px;
  font-weight: bold;
  position: relative;
  padding-left: 26px;
  margin-bottom: 60px;
}
.c-dotTitle::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #8B5FA3;
  border-radius: 999px;
  position: absolute;
  left: 0;
  top: calc(50% - 4px);
}
.c-dotTitle--mid {
  font-size: 24px;
  margin-bottom: 0;
  font-weight: normal;
}
.c-secTitle {
  font-size: 24px;
  position: relative;
  padding-bottom: 14px;
  margin-bottom: 20px;
}
.c-secTitle::before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, #8b5fa390, #E15C7090);
  position: absolute;
  left: 0;
  bottom: 0;
}
.c-headingTitle {
  font-size: 20px;
  font-weight: bold;
  position: relative;
  padding-left: 16px;
}

.c-headingTitle span {
  font-size: 16px;
}

.c-headingTitle::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 100%;
  background: linear-gradient(to bottom, #8b5fa3, #E15C70);
  position: absolute;
  left: 0;
  top: 0;
}
.c-bgTitle {
  font-size: 28px;
  background-image: repeating-linear-gradient(-45deg, #f4edf8, #f4edf8 2px, #faf6fc 2px, #faf6fc 4px);
  padding: .5em .8em;
  border-left: .3em solid #8B5FA3;
  margin-bottom: 1.2em;
  font-weight: bold;
}
.c-bread {
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}

.c-bread .c-breadcrumb {
  padding: 10px 0;
}

.c-bread .c-breadcrumb li {
  display: inline-block;
  font-size: 0.85rem;
  vertical-align: middle;
  position: relative;
}

.c-bread .c-breadcrumb li a {
  color: #746E77;
}

.c-bread .c-breadcrumb li + li {
  position: relative;
  padding-left: 1.6em;
}

.c-bread .c-breadcrumb li + li::before {
  content: "";
  position: absolute;
  left: 0.4em;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid #888;
  border-right: 1px solid #888;
}
.c-list li {
  position: relative;
  margin-left: 1.5em;
  text-indent: -1em;
}
.c-list li + li {
  margin-top: 1em;
}
.c-list--circle > li::before {
  content: "●";
  margin-right: 0.5em;
  font-size: 0.6em;
  vertical-align: middle;
}
.c-list--square > li::before {
  content: "■";
  margin-right: 0.5em;
  font-size: 0.6em;
  vertical-align: middle;
}
.c-list--num {
  list-style-type: decimal;
}
.c-list--num > li {
  list-style-position: inside;
}
.c-list--kana {
  list-style-type: katakana;
}
.c-list--kana > li {
  list-style-position: inside;
}
.c-list__box {
  background-color: #f1f1f1;
  padding: 10px;
  text-indent: initial;
  border-radius: 4px;
  margin-top: 10px;
}
@media screen and (max-width: 1200px) {
  .c-title {
    margin-bottom: 40px;
  }
  .c-title__main {
    font-size: 24px;
  }

  .c-title__sub {
    font-size: 16px;
    margin-top: 8px;
  }
  .c-dotTitle {
    font-size: 28px;
  }
  .c-dotTitle--mid {
  font-size: 18px;
  }
  .c-headingTitle {
    font-size: 18px;
  }
  .c-secTitle {
    font-size: 18px;
  }
  .c-bgTitle {
    font-size: 22px;
  }
}
.c-caption {
  background-color: #eee;
  font-size: .85rem;
  padding: 10px;
}
.c-flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-flexBox__spc {
  width: 100%;
}
.c-flexBox__spc img {
  max-width: 100%;
}
.c-flexBox__spc:nth-child(2) {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .c-flexBox__spc:nth-child(2) {
    margin-top: 0;
  }
}
.c-flexBox__spc--img {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .c-flexBox__spc--img img {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .c-flexBox--ratio1-9 > .c-flexBox__spc:nth-child(1) {
    width: 10%;
  }
  .c-flexBox--ratio1-9 > .c-flexBox__spc:nth-child(2) {
    width: 88%;
  }
}
@media only screen and (min-width: 768px) {
  .c-flexBox--ratio2-8 > .c-flexBox__spc:nth-child(1) {
    width: 18%;
  }
  .c-flexBox--ratio2-8 > .c-flexBox__spc:nth-child(2) {
    width: 78%;
  }
}
@media only screen and (min-width: 768px) {
  .c-flexBox--ratio3-7 > .c-flexBox__spc:nth-child(1) {
    width: 28%;
  }
  .c-flexBox--ratio3-7 > .c-flexBox__spc:nth-child(2) {
    width: 68%;
  }
}
@media only screen and (min-width: 768px) {
  .c-flexBox--ratio4-6 > .c-flexBox__spc:nth-child(1) {
    width: 38%;
  }
  .c-flexBox--ratio4-6 > .c-flexBox__spc:nth-child(2) {
    width: 58%;
  }
}
@media only screen and (min-width: 768px) {
  .c-flexBox--ratio5-5 > .c-flexBox__spc:nth-child(1) {
    width: 48%;
  }
  .c-flexBox--ratio5-5 > .c-flexBox__spc:nth-child(2) {
    width: 48%;
  }
}
.c-flexBox--rev {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

@media only screen and (min-width: 768px) {
  .c-flexBox--rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 768px) {
  .c-flexBox--rev--pc {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media only screen and (max-width: 767px) {
  .c-flexBox--rev--sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .c-flexBox--rev--sp > .c-flexBox__spc:nth-child(1) {
    margin-top: 20px;
  }
  .c-flexBox--rev--sp > .c-flexBox__spc:nth-child(2) {
    margin-top: 0;
  }
    .c-flexBox--rev > .c-flexBox__spc:nth-child(1) {
  margin-top: 20px;
  }
  .c-flexBox--rev > .c-flexBox__spc:nth-child(2) {
    margin-top: 0;
  }
}

.c-col {
  display: grid;
}

.c-col > figure {
  text-align: center;
}

.c-col > figure figcaption {
  text-align: left;
}

.c-col img {
  max-width: 100%;
}

@media only screen and (min-width: 768px) {

  .c-col--item2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 4%;
  }

  .c-col--item3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 5%;
  }

  .c-col--item4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 2%;
  }

  .c-col--item5 {
    grid-template-columns: repeat(5, 1fr);
    gap: 24px 2%;
  }

  .c-col--item6 {
    grid-template-columns: repeat(6, 1fr);
    gap: 24px 2%;
  }
}

@media only screen and (max-width: 767px) {

  .c-col {
    grid-template-columns: 1fr;
    row-gap: 1.2rem;
  }

  .c-col--sp--item2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 4%;
  }

  .c-col--sp--item3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px 5%;
  }
}

.c-tableList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border: 1px solid #ccc;
  background-color: #fff;
}
.c-tableList + .c-tableList {
  border-top: none;
}
.c-tableList dt {
  background-color: #eee;
  padding: 0.85em 1em;
  width: 30%;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .c-tableList dt {
    width: 100%;
  }
}
.c-tableList dd {
  padding: 0.85em 1em;
  width: 70%;
  border-left: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
  .c-tableList dd {
    width: 100%;
    border-left: none;
  }
}

/* project */
.p-first {
  background-image: url(../img/list_bg-grad.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 50px 0;
}
.p-first__inner {
  display: flex;
  flex-wrap: wrap;
  width: 1200px;
  margin: 0 auto;
  align-items: center;
}
.p-first__slideArea {
  width: 50%;
}
.p-first__slideArea img {
  max-width: 100%;
}
.p-first__slide {
  width: 100%;
  margin: 0 auto;
}

.p-first__slide__item {
  width: 100%;
  height: auto;
}

.p-first__slide__item img {
  display: block;
  width: 100%;
  height: auto;
}

.p-first__textArea {
  width: 50%;
  padding-left: 70px;
}

.p-first__copy--pc {
  width: 80%;
}

.p-first__copy--pc img {
  max-width: 100%;
}

.p-first__text {
  margin-top: 40px;
}

.p-first__text p {
  color: #fff;
  line-height: 1.5;
}

.p-first__news {
  outline: 2px solid #D8374F;
  border-radius: 10px;
  width: 100%;
  background-color: #fff;
  margin-top: 50px;
}

.p-first__news .unit {
  display: flex;
  flex-wrap: wrap;
  width: 100%;  
}

.p-first__news .headline {
  background-color: #D8374F;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  border-radius: 10px 0 0 10px;
  width: 40%;
  padding: 14px 40px;
}

.p-first__news .headline span {
  font-size: 16px;
  font-weight: normal;
  border-radius: 0 10px 10px 0;
}

.p-first__news .detail {
  min-width: 60%;
  padding: 0 40px;
}

.p-first__news .kinkyuList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 100%;
}

.p-first__news .kinkyuList_val {
  padding: 14px;
  width: 100%;
}

.p-first__news .kinkyuList_val time {
  display: block;
  color: #D8374F;
  font-weight: bold;
  margin-bottom: 4px;
}

.p-first__news .kinkyuList_val + .kinkyuList_val {
  border-top: 1px solid #ccc;
  padding-top: 10px;
}

.p-first__news #kinkyuList_def {
  padding: 14px 0;
}

@media screen and (max-width: 1200px) {
  .p-first {
    background-position: top right 30%;
    padding: 50px 20px;
  }
  .p-first__inner {
    width: 100%;
    padding: 0 20px;
  }
  .p-first__textArea {
    width: 100%;
    padding-left: 0;
  }
  .p-first__text {
    margin-top: 20px;
  }
  .p-first__copy {
    text-align: center;
    width: 100%;
  }
  .p-first__copy img {
    max-width: 100%;
  }
  .p-first__main {
    width: 100%;
  }
  .p-first__slideArea {
    order: 2;
    width: 100%;
    margin-top: 20px;
  }
  .p-first__news {
    order: 3;
  }
  .p-first__news .headline {
    width: 100%;
    border-radius: 10px 10px 0 0;
    padding: 15px;
    font-size: 18px;
  }
  .p-first__news .detail {
    width: 100%;
    padding: 15px;
  }
}

.p-pickup {
  padding-top: 40px;
  position: relative;
  border-radius: 20px;
}

.p-pickup__item {
  width: 100%;
  margin: 0 auto;
  display: flex;
  padding: 70px;
  padding-top: 50px;
  flex-wrap: wrap;
}

.p-pickup__item::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  padding: 8px;
  background: linear-gradient(to right, #8b5fa360, #E15C7060);
  -webkit-mask: 
     linear-gradient(#FDFAFF 0 0) content-box, 
     linear-gradient(#FDFAFF 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

.p-pickup__img {
  width: 40%;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
}

.p-pickup__img img {
  max-width: 100%;
}

.p-pickup__contTitle {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.p-pickup__contTitle img {
  display: block;
  width: 360px;
  height: auto;
  background: #FDFAFF;
  padding: 0 15px;
  max-width: 100%;
  margin: 0 auto;
}

.p-pickup__body {
  width: 60%;
  padding-left: 40px;
}

.p-pickup__title {
  color: #8B5FA3;
  font-weight: bold;
  font-size: 28px;
  margin-bottom: 30px;
}

.p-pickup__title span {
  font-size: .8em;
}

.p-pickup__text {
  margin-bottom: 40px;
}

@media screen and (max-width: 1200px) {
  .p-pickup__contTitle {
    width: 84%;
    text-align: center;
  }
  .p-pickup__item {
    padding: 50px 20px;
    padding-top: 30px;
  }
  .p-pickup__item::before {
    padding: 4px;
  }
  .p-pickup__img {
    width: 100%;
  }
  .p-pickup__title {
    font-size: 18px;
  }
  .p-pickup__body {
    width: 100%;
    padding-left: 0;
    margin-top: 20px;
  }
  .p-pickup__text {
    margin-bottom: 20px;
  }

}

.p-news {
  background-color: #fff;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
  border-radius: 20px;
  padding: 30px 40px;
  margin-bottom: 40px;
}

.p-news__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-news__list li {
  display: grid;
  grid-template-columns: auto 40px 110px 20px 1fr;
  align-items: start;
}

.p-news__list li + li {
  border-top: 1px solid #ddd;
  padding-top: 14px;
  margin-top: 14px;
}

.p-news__list .news_value .news_date {
  grid-column: 1;
}

.p-news__list .news_category {
  grid-column: 3;
  grid-row: 1;
  width: 110px;
  text-align: center;
  background-color: #333;
  color: #fff;
  padding: 5px 10px;
  font-size: 0.8rem;
  border-radius: 999px;
}

.p-news__list .news_category.topics {
  background-color: #5ba1d8;
}

.p-news__list .news_category.press {
  background-color: #5eb383;
}

.p-news__list .news_category.journal {
  background-color: #d68fa4;
}

.p-news__list .news_category.other {
  background-color: #666;
}

.p-news__list .news_value .news_caption {
  grid-column: 5;
  margin: 0;
}

.p-news__list .news_value .news_caption a:hover {
  text-decoration: underline;
}

.p-news__list .news_value {
  display: contents;
}

.newTitile {
	padding: 0 0.35em;
	color: rgba(255, 255, 255, 1);
	background-color: rgba(220, 0, 0, 1);
	margin-left: 0.75em;
	border-radius: 3px;
	font-size: .85rem;
}

@media screen and (max-width: 1200px) {
  .p-news {
    padding: 20px;
  }
.p-news__list li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
  }

  .p-news__list .news_value .news_date {
    display: inline-block;
    order: 0;
    margin-right: 20px;
    font-size: 14px;
  }

  .p-news__list .news_category {
    order: 1;
    font-size: 14px;
  }

  .p-news__list .news_value .news_caption {
    order: 2;
    width: 100%;
    margin-top: 10px;
    font-size: 14px;
  }
}

.p-product {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
  column-gap: 20px;
}

.p-product__item {
  display: flex;
  width: calc(50% - 10px);
  box-shadow: 0 0 8px rgba(0, 0, 0, .1);
  border-radius: 10px;
}

.p-product__img {
  position: relative;
  width: 40%;
  padding-top: 40%;
  border-radius: 10px 0 0 10px;
}

.p-product__img img,.p-product__img video {
  position: absolute;
  inset: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 10px 0 0 10px;
}

.p-product__label {
  position: absolute;
  top: -4px;
  left: 10px;
  background-color: #3E7CC0;
  color: #fff;
  padding: 4px 8px;
  z-index: 1;
  text-align: center;
  border-radius: 4px;
}

.p-product__labelText {
  font-size: 10px;
  display: block;
  line-height: 1.2;
}

.p-product__num {
  font-size: 16px;
  font-weight: bold;
  display: block;
  line-height: 1.2;
}

.p-product__body {
  flex: 1;
  padding: 30px 20px;
  background-color: #F9F7FA;
  border-radius: 0 10px 10px 0;
}

.p-produt__list {
  margin-top: 12px;
}

.p-produt__list li a {
  display: block;
  border-top: 1px solid #ccc;
  padding: 14px 16px;
  position: relative;
}

.p-produt__list a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
}

.p-produt__list li:last-child {
  border-bottom: 1px solid #ccc;
}

.p-produt__list a {

}

@media screen and (max-width: 797px) {
  .p-product {
    
  }
  .p-product__item {
    width: 100%;
    flex-wrap: wrap;
  }

  .p-product__img {
    width: 100%;
    padding-top: 50%;
  }

  .p-product__img img,.p-product__img video {
      border-radius: 10px 10px 0 0;
  }

  .p-product__body {
    padding: 20px;
  }
  
}

.p-linkMenu {
  margin-top: 80px;
  padding-top: 80px;
  border-top: 1px solid #ccc;
}

.p-menuList {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}

.p-menuList li {
  width: 32%;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0, 0, 0, .1);
}

.p-menuList li {
  display: block;
  position: relative;
}

.p-menuList li .p-menuList__img {
  width: 100%;
  padding-top: 68%;

}

.p-menuList li .p-menuList__img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 10px;
}

.p-menuList__title {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 60%;
}

.p-menuList__title a {
  background-color: #F4EDF8;
  padding: 20px;
  display: block;
  border-radius: 10px 0 10px 0;
  position: relative;
}

.p-menuList__title a:hover {
  color: #8b5fa3;
}

.p-menuList__title a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 797px) {
  .p-linkMenu {
  margin-top: 50px;
  padding-top: 40px;
}
  
  .p-menuList li {
    width: 100%;
  }
  .p-menuList li + li {
    margin-top: 30px;
  }
}

.p-contactArea {
  position: relative;
  background-image: url(../img/bg-img01-dark.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  border-radius: 20px;
  padding: 30px;
}

.p-contactArea__title {
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 30px;
}

.p-contactArea__title span {
  font-size: 36px;
}

.p-contactArea__contact {
  display: flex;
  flex-wrap: wrap;
  width: 900px;
  max-width: 100%;
  margin: 0 auto;
  justify-content: space-between;
}

.p-contactArea__button {
  width: calc(50% - 10px);
  position: relative;
}

.p-contactArea__button .p-contactArea__button__num {
  display: block;
  width: 100%;
  font-size: 30px;
  font-weight: bold;
}

.p-contactArea__button a {
  display: block;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 999px;
  height: 70px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
  font-weight: bold;
  position: relative;
  padding: 5px 20px;
}

.p-contactArea__button.p-contactArea__button--icon a {
  padding-right: 36px;
}

.p-contactArea__button.p-contactArea__button--icon a::before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(../img/icon_window.svg);
  background-size: 16px;
  background-repeat: no-repeat;
  position: absolute;
  right: 20px;
}


.p-contactArea__button.p-contactArea__button--ghost a {
  background-color: transparent;
  color: #fff;
}

@media screen and (max-width: 1200px) {
  .p-contactArea {
    padding: 30px 15px;
  }
  .p-contactArea__title {
    font-size: 16px;
  }
  .p-contactArea__title span {
    font-size: 24px;
  }
  .p-contactArea__contact {
    width: 100%;
  }
  .p-contactArea__button {
    width: 100%;
  }
  .p-contactArea__button + .p-contactArea__button {
    margin-top: 20px;
  }
  .p-contactArea__button span {
    font-size: 14px;
  }
  .p-contactArea__button .p-contactArea__button__num {
    font-size: 24px;
  }
}

.p-bannerArea {
  background-image: url(../img/bg-city.png);
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: 80%;
  padding-top: 100px;
  padding-bottom: 250px;
}

.p-bannerList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.p-bannerList li {
  width: 14%;
}

.p-bannerList li img {
  max-width: 100%;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .p-bannerArea {
    background-size: 120%;
    padding-bottom: 140px;
    padding-top: 0;
    
  }
  .p-bannerList {
    align-items: start;
    gap: 15px;
  }
  .p-bannerList li {
    width: calc(50% - 15px);
  }
}


.p-titleArea {
  padding: 60px 0;
  background-color: #F4EDF8;
}

.p-titleArea__title {
  font-size: 36px;
  font-weight: bold;
  position: relative;
  padding-left: 26px;
}
.p-titleArea__sub {
  color: #8B5FA3;
}
.p-titleArea__title::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #8B5FA3;
  border-radius: 999px;
  position: absolute;
  left: 0;
  top: calc(50% - 4px);
}

.p-headList {
  padding: 14px;
  background-color: #f1f1f1;
  border-radius: 8px;
}

.p-headList dt {
  margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
  .p-titleArea__title {font-size: 24px;}
}

.p-formTable{

}

.p-contactBox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
    font-size: 20px;
}

.p-contactBox__title {
  background-color: #8B5FA3;
  color: #fff;
  display: inline-block;
  padding: .25em 1em;
  line-height: 1;
  border-radius: 999px;
  margin-right: 10px;
  font-size: 16px;
  font-weight: bold;
}

.p-contactBox__title--secondary {
  background-color: #F4EDF8;
  color: #8B5FA3;
  border: 1px solid #8B5FA3;
}

.p-contactBox__num a {
  font-weight: bold;
}

.p-contactBox__num span {
  font-size: 16px;
  line-height: 1;
  font-weight: normal;
  font-family: "Inter", sans-serif;
}

.p-tableView table {
  width: 100%;
  border-collapse: collapse;
}

.p-tableView th,
.p-tableView td {
  border: 1px solid #ccc;
  padding: 12px 16px;
  vertical-align: middle;
}

.p-tableView th {
  background-color: #f1f1f1;
  text-align: left;
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  .p-tableView table,
  .p-tableView tbody,
  .p-tableView tr,
  .p-tableView th,
  .p-tableView td {
    display: block;
    width: 100%;
  }

  .p-tableView tr {
    margin-bottom: 12px;
  }

  .p-tableView th,
  .p-tableView td {
    box-sizing: border-box;
  }
}

.newsCategoryLink, .newsEraLink {
  display: flex;
  column-gap: 12px;
  row-gap: 10px;
  font-size: 14px;
  flex-wrap: wrap;
}
.newsEraLink {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #ccc;
}
.newsform a {
  display: block;
  background-color: #ddd;
  padding: .4em 1em;
}
.newsform a.active {
  background-color: #8b5fa3;
  color: #fff;
}
.newsform a:hover {
  text-decoration: underline;
}
.sectionDetail #newsNav {
  padding: 30px 0;
}
.newsEraLink .newsform a span {
  font-size: .8em;
}
/* utility */
.u-pc {
  display: block;
}

.u-sp {
  display: none;
}

@media screen and (max-width: 1200px) {
  .u-pc {
  display: none;
}

.u-sp {
  display: block;
}
}

.u-bg--purple {
  background-color: #FDFAFF;
}

.u-bg--gray {
  background-color: #f1f1f1;
}

.u-bg--img {
  background-image: url(../img/bg-img01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

.u-link {
  color: #3E7CC0;
  text-decoration: underline;
}

.u-border {
  border: 2px solid #ddd;
  padding: 15px;
}

.u-borderTop {
  border-top: 1px solid #ccc;
  padding-top: 20px;
  margin-top: 20px;
}

.u-textCenter {
  text-align: center;
}

.u-bold {
  font-weight: bold;
}

.u-mt0 {
  margin-top: 0px;
}
@media only screen and (min-width: 768px) {
  .u-mt0--pc {
    margin-top: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt0--sp {
    margin-top: 0px;
  }
}

.u-mb0 {
  margin-bottom: 0px;
}
@media only screen and (min-width: 768px) {
  .u-mb0--pc {
    margin-bottom: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb0--sp {
    margin-bottom: 0px;
  }
}

.u-mr0 {
  margin-right: 0px;
}
@media only screen and (min-width: 768px) {
  .u-mr0--pc {
    margin-right: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr0--sp {
    margin-right: 0px;
  }
}

.u-ml0 {
  margin-left: 0px;
}
@media only screen and (min-width: 768px) {
  .u-ml0--pc {
    margin-left: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml0--sp {
    margin-left: 0px;
  }
}

.u-pd0 {
  padding: 0px;
}
@media only screen and (min-width: 768px) {
  .u-pd0--pc {
    padding: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd0--sp {
    padding: 0px;
  }
}

.u-pt0 {
  padding-top: 0px;
}
@media only screen and (min-width: 768px) {
  .u-pt0--pc {
    padding-top: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt0--sp {
    padding-top: 0px;
  }
}

.u-pb0 {
  padding-bottom: 0px;
}
@media only screen and (min-width: 768px) {
  .u-pb0--pc {
    padding-bottom: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb0--sp {
    padding-bottom: 0px;
  }
}

.u-pr0 {
  padding-right: 0px;
}
@media only screen and (min-width: 768px) {
  .u-pr0--pc {
    padding-right: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr0--sp {
    padding-right: 0px;
  }
}

.u-pl0 {
  padding-left: 0px;
}
@media only screen and (min-width: 768px) {
  .u-pl0--pc {
    padding-left: 0px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl0--sp {
    padding-left: 0px;
  }
}

.u-mt5 {
  margin-top: 5px;
}
@media only screen and (min-width: 768px) {
  .u-mt5--pc {
    margin-top: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt5--sp {
    margin-top: 5px;
  }
}

.u-mb5 {
  margin-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  .u-mb5--pc {
    margin-bottom: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb5--sp {
    margin-bottom: 5px;
  }
}

.u-mr5 {
  margin-right: 5px;
}
@media only screen and (min-width: 768px) {
  .u-mr5--pc {
    margin-right: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr5--sp {
    margin-right: 5px;
  }
}

.u-ml5 {
  margin-left: 5px;
}
@media only screen and (min-width: 768px) {
  .u-ml5--pc {
    margin-left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml5--sp {
    margin-left: 5px;
  }
}

.u-pd5 {
  padding: 5px;
}
@media only screen and (min-width: 768px) {
  .u-pd5--pc {
    padding: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd5--sp {
    padding: 5px;
  }
}

.u-pt5 {
  padding-top: 5px;
}
@media only screen and (min-width: 768px) {
  .u-pt5--pc {
    padding-top: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt5--sp {
    padding-top: 5px;
  }
}

.u-pb5 {
  padding-bottom: 5px;
}
@media only screen and (min-width: 768px) {
  .u-pb5--pc {
    padding-bottom: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb5--sp {
    padding-bottom: 5px;
  }
}

.u-pr5 {
  padding-right: 5px;
}
@media only screen and (min-width: 768px) {
  .u-pr5--pc {
    padding-right: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr5--sp {
    padding-right: 5px;
  }
}

.u-pl5 {
  padding-left: 5px;
}
@media only screen and (min-width: 768px) {
  .u-pl5--pc {
    padding-left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl5--sp {
    padding-left: 5px;
  }
}

.u-mt10 {
  margin-top: 10px;
}
@media only screen and (min-width: 768px) {
  .u-mt10--pc {
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt10--sp {
    margin-top: 10px;
  }
}

.u-mb10 {
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .u-mb10--pc {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb10--sp {
    margin-bottom: 10px;
  }
}

.u-mr10 {
  margin-right: 10px;
}
@media only screen and (min-width: 768px) {
  .u-mr10--pc {
    margin-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr10--sp {
    margin-right: 10px;
  }
}

.u-ml10 {
  margin-left: 10px;
}
@media only screen and (min-width: 768px) {
  .u-ml10--pc {
    margin-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml10--sp {
    margin-left: 10px;
  }
}

.u-pd10 {
  padding: 10px;
}
@media only screen and (min-width: 768px) {
  .u-pd10--pc {
    padding: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd10--sp {
    padding: 10px;
  }
}

.u-pt10 {
  padding-top: 10px;
}
@media only screen and (min-width: 768px) {
  .u-pt10--pc {
    padding-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt10--sp {
    padding-top: 10px;
  }
}

.u-pb10 {
  padding-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .u-pb10--pc {
    padding-bottom: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb10--sp {
    padding-bottom: 10px;
  }
}

.u-pr10 {
  padding-right: 10px;
}
@media only screen and (min-width: 768px) {
  .u-pr10--pc {
    padding-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr10--sp {
    padding-right: 10px;
  }
}

.u-pl10 {
  padding-left: 10px;
}
@media only screen and (min-width: 768px) {
  .u-pl10--pc {
    padding-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl10--sp {
    padding-left: 10px;
  }
}

.u-mt20 {
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .u-mt20--pc {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt20--sp {
    margin-top: 20px;
  }
}

.u-mb20 {
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .u-mb20--pc {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb20--sp {
    margin-bottom: 20px;
  }
}

.u-mr20 {
  margin-right: 20px;
}
@media only screen and (min-width: 768px) {
  .u-mr20--pc {
    margin-right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr20--sp {
    margin-right: 20px;
  }
}

.u-ml20 {
  margin-left: 20px;
}
@media only screen and (min-width: 768px) {
  .u-ml20--pc {
    margin-left: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml20--sp {
    margin-left: 20px;
  }
}

.u-pd20 {
  padding: 20px;
}
@media only screen and (min-width: 768px) {
  .u-pd20--pc {
    padding: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd20--sp {
    padding: 20px;
  }
}

.u-pt20 {
  padding-top: 20px;
}
@media only screen and (min-width: 768px) {
  .u-pt20--pc {
    padding-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt20--sp {
    padding-top: 20px;
  }
}

.u-pb20 {
  padding-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .u-pb20--pc {
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb20--sp {
    padding-bottom: 20px;
  }
}

.u-pr20 {
  padding-right: 20px;
}
@media only screen and (min-width: 768px) {
  .u-pr20--pc {
    padding-right: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr20--sp {
    padding-right: 20px;
  }
}

.u-pl20 {
  padding-left: 20px;
}
@media only screen and (min-width: 768px) {
  .u-pl20--pc {
    padding-left: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl20--sp {
    padding-left: 20px;
  }
}

.u-mt30 {
  margin-top: 30px;
}
@media only screen and (min-width: 768px) {
  .u-mt30--pc {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt30--sp {
    margin-top: 30px;
  }
}

.u-mb30 {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .u-mb30--pc {
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb30--sp {
    margin-bottom: 30px;
  }
}

.u-mr30 {
  margin-right: 30px;
}
@media only screen and (min-width: 768px) {
  .u-mr30--pc {
    margin-right: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr30--sp {
    margin-right: 30px;
  }
}

.u-ml30 {
  margin-left: 30px;
}
@media only screen and (min-width: 768px) {
  .u-ml30--pc {
    margin-left: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml30--sp {
    margin-left: 30px;
  }
}

.u-pd30 {
  padding: 30px;
}
@media only screen and (min-width: 768px) {
  .u-pd30--pc {
    padding: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd30--sp {
    padding: 30px;
  }
}

.u-pt30 {
  padding-top: 30px;
}
@media only screen and (min-width: 768px) {
  .u-pt30--pc {
    padding-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt30--sp {
    padding-top: 30px;
  }
}

.u-pb30 {
  padding-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .u-pb30--pc {
    padding-bottom: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb30--sp {
    padding-bottom: 30px;
  }
}

.u-pr30 {
  padding-right: 30px;
}
@media only screen and (min-width: 768px) {
  .u-pr30--pc {
    padding-right: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr30--sp {
    padding-right: 30px;
  }
}

.u-pl30 {
  padding-left: 30px;
}
@media only screen and (min-width: 768px) {
  .u-pl30--pc {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl30--sp {
    padding-left: 30px;
  }
}

.u-mt40 {
  margin-top: 40px;
}
@media only screen and (min-width: 768px) {
  .u-mt40--pc {
    margin-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt40--sp {
    margin-top: 40px;
  }
}

.u-mb40 {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .u-mb40--pc {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb40--sp {
    margin-bottom: 40px;
  }
}

.u-mr40 {
  margin-right: 40px;
}
@media only screen and (min-width: 768px) {
  .u-mr40--pc {
    margin-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr40--sp {
    margin-right: 40px;
  }
}

.u-ml40 {
  margin-left: 40px;
}
@media only screen and (min-width: 768px) {
  .u-ml40--pc {
    margin-left: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml40--sp {
    margin-left: 40px;
  }
}

.u-pd40 {
  padding: 40px;
}
@media only screen and (min-width: 768px) {
  .u-pd40--pc {
    padding: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd40--sp {
    padding: 40px;
  }
}

.u-pt40 {
  padding-top: 40px;
}
@media only screen and (min-width: 768px) {
  .u-pt40--pc {
    padding-top: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt40--sp {
    padding-top: 40px;
  }
}

.u-pb40 {
  padding-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .u-pb40--pc {
    padding-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb40--sp {
    padding-bottom: 40px;
  }
}

.u-pr40 {
  padding-right: 40px;
}
@media only screen and (min-width: 768px) {
  .u-pr40--pc {
    padding-right: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr40--sp {
    padding-right: 40px;
  }
}

.u-pl40 {
  padding-left: 40px;
}
@media only screen and (min-width: 768px) {
  .u-pl40--pc {
    padding-left: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl40--sp {
    padding-left: 40px;
  }
}

.u-mt50 {
  margin-top: 50px;
}
@media only screen and (min-width: 768px) {
  .u-mt50--pc {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt50--sp {
    margin-top: 50px;
  }
}

.u-mb50 {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .u-mb50--pc {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb50--sp {
    margin-bottom: 50px;
  }
}

.u-mr50 {
  margin-right: 50px;
}
@media only screen and (min-width: 768px) {
  .u-mr50--pc {
    margin-right: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr50--sp {
    margin-right: 50px;
  }
}

.u-ml50 {
  margin-left: 50px;
}
@media only screen and (min-width: 768px) {
  .u-ml50--pc {
    margin-left: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml50--sp {
    margin-left: 50px;
  }
}

.u-pd50 {
  padding: 50px;
}
@media only screen and (min-width: 768px) {
  .u-pd50--pc {
    padding: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd50--sp {
    padding: 50px;
  }
}

.u-pt50 {
  padding-top: 50px;
}
@media only screen and (min-width: 768px) {
  .u-pt50--pc {
    padding-top: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt50--sp {
    padding-top: 50px;
  }
}

.u-pb50 {
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .u-pb50--pc {
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb50--sp {
    padding-bottom: 50px;
  }
}

.u-pr50 {
  padding-right: 50px;
}
@media only screen and (min-width: 768px) {
  .u-pr50--pc {
    padding-right: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr50--sp {
    padding-right: 50px;
  }
}

.u-pl50 {
  padding-left: 50px;
}
@media only screen and (min-width: 768px) {
  .u-pl50--pc {
    padding-left: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl50--sp {
    padding-left: 50px;
  }
}

.u-mt60 {
  margin-top: 60px;
}
@media only screen and (min-width: 768px) {
  .u-mt60--pc {
    margin-top: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt60--sp {
    margin-top: 60px;
  }
}

.u-mb60 {
  margin-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  .u-mb60--pc {
    margin-bottom: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb60--sp {
    margin-bottom: 60px;
  }
}

.u-mr60 {
  margin-right: 60px;
}
@media only screen and (min-width: 768px) {
  .u-mr60--pc {
    margin-right: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr60--sp {
    margin-right: 60px;
  }
}

.u-ml60 {
  margin-left: 60px;
}
@media only screen and (min-width: 768px) {
  .u-ml60--pc {
    margin-left: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml60--sp {
    margin-left: 60px;
  }
}

.u-pd60 {
  padding: 60px;
}
@media only screen and (min-width: 768px) {
  .u-pd60--pc {
    padding: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd60--sp {
    padding: 60px;
  }
}

.u-pt60 {
  padding-top: 60px;
}
@media only screen and (min-width: 768px) {
  .u-pt60--pc {
    padding-top: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt60--sp {
    padding-top: 60px;
  }
}

.u-pb60 {
  padding-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  .u-pb60--pc {
    padding-bottom: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb60--sp {
    padding-bottom: 60px;
  }
}

.u-pr60 {
  padding-right: 60px;
}
@media only screen and (min-width: 768px) {
  .u-pr60--pc {
    padding-right: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr60--sp {
    padding-right: 60px;
  }
}

.u-pl60 {
  padding-left: 60px;
}
@media only screen and (min-width: 768px) {
  .u-pl60--pc {
    padding-left: 60px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl60--sp {
    padding-left: 60px;
  }
}

.u-mt70 {
  margin-top: 70px;
}
@media only screen and (min-width: 768px) {
  .u-mt70--pc {
    margin-top: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt70--sp {
    margin-top: 70px;
  }
}

.u-mb70 {
  margin-bottom: 70px;
}
@media only screen and (min-width: 768px) {
  .u-mb70--pc {
    margin-bottom: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb70--sp {
    margin-bottom: 70px;
  }
}

.u-mr70 {
  margin-right: 70px;
}
@media only screen and (min-width: 768px) {
  .u-mr70--pc {
    margin-right: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr70--sp {
    margin-right: 70px;
  }
}

.u-ml70 {
  margin-left: 70px;
}
@media only screen and (min-width: 768px) {
  .u-ml70--pc {
    margin-left: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml70--sp {
    margin-left: 70px;
  }
}

.u-pd70 {
  padding: 70px;
}
@media only screen and (min-width: 768px) {
  .u-pd70--pc {
    padding: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd70--sp {
    padding: 70px;
  }
}

.u-pt70 {
  padding-top: 70px;
}
@media only screen and (min-width: 768px) {
  .u-pt70--pc {
    padding-top: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt70--sp {
    padding-top: 70px;
  }
}

.u-pb70 {
  padding-bottom: 70px;
}
@media only screen and (min-width: 768px) {
  .u-pb70--pc {
    padding-bottom: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb70--sp {
    padding-bottom: 70px;
  }
}

.u-pr70 {
  padding-right: 70px;
}
@media only screen and (min-width: 768px) {
  .u-pr70--pc {
    padding-right: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr70--sp {
    padding-right: 70px;
  }
}

.u-pl70 {
  padding-left: 70px;
}
@media only screen and (min-width: 768px) {
  .u-pl70--pc {
    padding-left: 70px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl70--sp {
    padding-left: 70px;
  }
}

.u-mt80 {
  margin-top: 80px;
}
@media only screen and (min-width: 768px) {
  .u-mt80--pc {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt80--sp {
    margin-top: 80px;
  }
}

.u-mb80 {
  margin-bottom: 80px;
}
@media only screen and (min-width: 768px) {
  .u-mb80--pc {
    margin-bottom: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb80--sp {
    margin-bottom: 80px;
  }
}

.u-mr80 {
  margin-right: 80px;
}
@media only screen and (min-width: 768px) {
  .u-mr80--pc {
    margin-right: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr80--sp {
    margin-right: 80px;
  }
}

.u-ml80 {
  margin-left: 80px;
}
@media only screen and (min-width: 768px) {
  .u-ml80--pc {
    margin-left: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml80--sp {
    margin-left: 80px;
  }
}

.u-pd80 {
  padding: 80px;
}
@media only screen and (min-width: 768px) {
  .u-pd80--pc {
    padding: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd80--sp {
    padding: 80px;
  }
}

.u-pt80 {
  padding-top: 80px;
}
@media only screen and (min-width: 768px) {
  .u-pt80--pc {
    padding-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt80--sp {
    padding-top: 80px;
  }
}

.u-pb80 {
  padding-bottom: 80px;
}
@media only screen and (min-width: 768px) {
  .u-pb80--pc {
    padding-bottom: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb80--sp {
    padding-bottom: 80px;
  }
}

.u-pr80 {
  padding-right: 80px;
}
@media only screen and (min-width: 768px) {
  .u-pr80--pc {
    padding-right: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr80--sp {
    padding-right: 80px;
  }
}

.u-pl80 {
  padding-left: 80px;
}
@media only screen and (min-width: 768px) {
  .u-pl80--pc {
    padding-left: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl80--sp {
    padding-left: 80px;
  }
}

.u-mt90 {
  margin-top: 90px;
}
@media only screen and (min-width: 768px) {
  .u-mt90--pc {
    margin-top: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt90--sp {
    margin-top: 90px;
  }
}

.u-mb90 {
  margin-bottom: 90px;
}
@media only screen and (min-width: 768px) {
  .u-mb90--pc {
    margin-bottom: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb90--sp {
    margin-bottom: 90px;
  }
}

.u-mr90 {
  margin-right: 90px;
}
@media only screen and (min-width: 768px) {
  .u-mr90--pc {
    margin-right: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr90--sp {
    margin-right: 90px;
  }
}

.u-ml90 {
  margin-left: 90px;
}
@media only screen and (min-width: 768px) {
  .u-ml90--pc {
    margin-left: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml90--sp {
    margin-left: 90px;
  }
}

.u-pd90 {
  padding: 90px;
}
@media only screen and (min-width: 768px) {
  .u-pd90--pc {
    padding: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd90--sp {
    padding: 90px;
  }
}

.u-pt90 {
  padding-top: 90px;
}
@media only screen and (min-width: 768px) {
  .u-pt90--pc {
    padding-top: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt90--sp {
    padding-top: 90px;
  }
}

.u-pb90 {
  padding-bottom: 90px;
}
@media only screen and (min-width: 768px) {
  .u-pb90--pc {
    padding-bottom: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb90--sp {
    padding-bottom: 90px;
  }
}

.u-pr90 {
  padding-right: 90px;
}
@media only screen and (min-width: 768px) {
  .u-pr90--pc {
    padding-right: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr90--sp {
    padding-right: 90px;
  }
}

.u-pl90 {
  padding-left: 90px;
}
@media only screen and (min-width: 768px) {
  .u-pl90--pc {
    padding-left: 90px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl90--sp {
    padding-left: 90px;
  }
}

.u-mt100 {
  margin-top: 100px;
}
@media only screen and (min-width: 768px) {
  .u-mt100--pc {
    margin-top: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mt100--sp {
    margin-top: 100px;
  }
}

.u-mb100 {
  margin-bottom: 100px;
}
@media only screen and (min-width: 768px) {
  .u-mb100--pc {
    margin-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mb100--sp {
    margin-bottom: 100px;
  }
}

.u-mr100 {
  margin-right: 100px;
}
@media only screen and (min-width: 768px) {
  .u-mr100--pc {
    margin-right: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-mr100--sp {
    margin-right: 100px;
  }
}

.u-ml100 {
  margin-left: 100px;
}
@media only screen and (min-width: 768px) {
  .u-ml100--pc {
    margin-left: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-ml100--sp {
    margin-left: 100px;
  }
}

.u-pd100 {
  padding: 100px;
}
@media only screen and (min-width: 768px) {
  .u-pd100--pc {
    padding: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pd100--sp {
    padding: 100px;
  }
}

.u-pt100 {
  padding-top: 100px;
}
@media only screen and (min-width: 768px) {
  .u-pt100--pc {
    padding-top: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pt100--sp {
    padding-top: 100px;
  }
}

.u-pb100 {
  padding-bottom: 100px;
}
@media only screen and (min-width: 768px) {
  .u-pb100--pc {
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pb100--sp {
    padding-bottom: 100px;
  }
}

.u-pr100 {
  padding-right: 100px;
}
@media only screen and (min-width: 768px) {
  .u-pr100--pc {
    padding-right: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pr100--sp {
    padding-right: 100px;
  }
}

.u-pl100 {
  padding-left: 100px;
}
@media only screen and (min-width: 768px) {
  .u-pl100--pc {
    padding-left: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .u-pl100--sp {
    padding-left: 100px;
  }
}
