@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lobster&family=Noto+Sans+JP:wght@400;700;900&display=swap");
html {
  overflow: auto;
}

body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  color: #005192;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1;
  overflow-x: hidden;
  text-size-adjust: 100%;
}

@media all and (min-width: 768px) {
  body {
    min-width: 1000px;
  }
}

main {
  display: block;
}

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

small {
  font-size: 100%;
}

@-webkit-keyframes bounceRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  49.999% {
    opacity: 0;
    transform: translateX(10px);
  }
  50% {
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes bounceRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  49.999% {
    opacity: 0;
    transform: translateX(10px);
  }
  50% {
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.l-colophon {
  background-color: #4d9ce3;
}

@media all and (min-width: 768px) {
  .l-colophon {
    height: 150px;
  }
}

@media screen and (max-width: 767px) {
  .l-colophon {
    padding-bottom: 35px;
    padding-top: 35px;
  }
}

@media all and (min-width: 768px) {
  .l-colophon__logo {
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media all and (min-width: 768px) {
  .l-colophon__logo img {
    width: 362px;
  }
}

@media screen and (max-width: 767px) {
  .l-colophon__logo img {
    max-width: 334px;
  }
}

@media all and (min-width: 768px) {
  .l-colophon__contact {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media screen and (max-width: 767px) {
  .l-colophon__contact {
    margin-top: 25px;
  }
}

.l-colophon__address {
  color: #fff;
  font-size: 15px;
}

@media all and (min-width: 768px) {
  .l-colophon__address {
    text-align: right;
  }
}

.l-colophon__tel {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .05em;
  margin-top: 15px;
}

@media all and (min-width: 768px) {
  .l-colophon__tel {
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .l-colophon__tel {
    margin-top: 10px;
    padding-left: 24px;
  }
}

.l-colophon__tel a {
  color: #fff;
  position: relative;
  text-decoration: none;
}

.l-colophon__tel a::before {
  background-image: url(../img/layout/colophon/phone.svg);
  background-repeat: no-repeat;
  background-size: 16px 26px;
  content: '';
  height: 26px;
  left: -24px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}

.l-colophon__time {
  color: #fff;
  font-size: 14px;
  margin-top: 10px;
}

@media all and (min-width: 768px) {
  .l-colophon__time {
    text-align: right;
  }
}

.l-footer {
  padding-bottom: 20px;
  padding-top: 25px;
}

@media screen and (max-width: 767px) {
  .l-footer {
    padding-bottom: 65px;
    padding-top: 10px;
  }
}

.l-footer__copyright {
  font-size: 12px;
}

@media all and (min-width: 768px) {
  .l-footer__copyright {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .l-footer__copyright {
    line-height: 1.333;
  }
}

.l-gnav {
  background-color: #dff3fe;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 730px;
}

@media all and (min-width: 768px) {
  .l-gnav {
    border-radius: 35px;
    display: block !important;
    height: 70px;
    transform: translateY(-50%);
  }
}

@media screen and (max-width: 767px) {
  .l-gnav {
    display: none;
    height: calc(100vh - 60px);
    overflow-y: scroll;
    right: 0;
    top: 60px;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .l-gnav__inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .l-gnav__inner {
    padding-bottom: 120px;
    padding-top: 60px;
  }
}

@media all and (min-width: 768px) {
  ul.l-gnav__linkList {
    display: flex;
  }
}

ul.l-gnav__linkList li {
  font-size: 14px;
  font-weight: 700;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  text-align: center;
}

@media screen and (max-width: 767px) {
  ul.l-gnav__linkList li {
    font-size: 18px;
    text-align: center;
    display: block;
  }
}

ul.l-gnav__linkList li + li {
  position: relative;
}

@media screen and (max-width: 767px) {
  ul.l-gnav__linkList li + li {
    margin-top: 42px;
  }
}

@media all and (min-width: 768px) {
  ul.l-gnav__linkList li + li::before {
    content: '｜';
    padding-left: .7em;
    padding-right: .7em;
  }
}

ul.l-gnav__linkList li a {
  color: #005192;
  position: relative;
  text-decoration: none;
}

ul.l-gnav__linkList li a::before {
  background: #005192;
  bottom: -4px;
  content: '';
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

@media all and (min-width: 768px) {
  ul.l-gnav__linkList li a::before {
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }
}

@media all and (min-width: 768px) {
  ul.l-gnav__linkList li a:hover::before {
    transform: scale(1, 1);
    transform-origin: left top;
  }
}

ul.l-gnav__linkList li a {
  text-decoration: none;
}

ul.l-gnav__snsList {
  align-items: center;
  display: flex;
}

@media all and (min-width: 768px) {
  ul.l-gnav__snsList {
    margin-left: 25px;
  }
}

@media screen and (max-width: 767px) {
  ul.l-gnav__snsList {
    justify-content: center;
    margin-top: 60px;
  }
}

ul.l-gnav__snsList li + li {
  margin-left: 18px;
}

@media screen and (max-width: 767px) {
  ul.l-gnav__snsList li + li {
    margin-left: 50px;
  }
}

ul.l-gnav__snsList li a img {
  width: 29px;
}

@media screen and (max-width: 767px) {
  ul.l-gnav__snsList li a img {
    height: 50px;
    width: 50px;
  }
}

@media screen and (max-width: 767px) {
  .l-hamburger {
    background-image: url(../img/layout/hamburger/line.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    height: 23px;
    position: fixed;
    right: 14px;
    top: 19px;
    transition: .2s;
    width: 26px;
    z-index: 102;
  }
}

@media screen and (max-width: 767px) {
  .l-hamburger.-active {
    background-image: url(../img/layout/hamburger/x.png);
  }
}

.l-header {
  background-color: #fff;
  height: 120px;
  position: fixed;
  width: 100%;
  z-index: 101;
}

@media all and (min-width: 768px) {
  .l-header {
    min-width: 1000px;
  }
}

@media screen and (max-width: 767px) {
  .l-header {
    height: 60px;
  }
}

.l-header__logo {
  left: 50px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media all and (min-width: 768px) {
  .l-header__logo {
    left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .l-header__logo {
    left: 15px;
  }
}

@media all and (min-width: 1150px) {
  .l-header__logo {
    left: 50px;
  }
}

@media all and (min-width: 768px) {
  .l-header__logo::before {
    background-color: #fff;
    content: '';
    height: 40px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 120px;
  }
}

@media all and (min-width: 1150px) {
  .l-header__logo::before {
    content: none;
  }
}

.l-header__logo img {
  width: 332px;
}

@media screen and (max-width: 767px) {
  .l-header__logo img {
    width: 197px;
  }
}

.l-line {
  align-items: center;
  background-color: #00b900;
  bottom: 0;
  display: flex;
  height: 70px;
  justify-content: center;
  position: fixed;
  right: 74px;
  text-align: center;
  text-decoration: none;
  transition: .2s;
  width: 190px;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .l-line {
    background-position: center top 7px;
    height: 54px;
    right: 58px;
  }
}

@media all and (min-width: 768px) {
  .l-line:hover {
    opacity: .8;
  }
}

.l-line img {
  vertical-align: bottom;
  width: 126px;
}

.l-main {
  padding-top: 120px;
}

@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 60px;
  }
}

.l-sitemap {
  background-color: #edf9ff;
  border-bottom: 1px solid #e7e7e7;
  border-top: 1px solid #e7e7e7;
  position: relative;
  z-index: 1;
  /*
  padding-bottom: 40px;
  padding-top: 20px;
*/
}

@media screen and (max-width: 767px) {
  .l-sitemap {
    padding-bottom: 65px;
    padding-top: 60px;
  }
}

@media all and (min-width: 768px) {
  .l-sitemap__row {
    border-right: 1px solid #e7e7e7;
    display: flex;
    flex-wrap: wrap;
  }
}

@media all and (min-width: 768px) {
  .l-sitemap__col {
    border-left: 1px solid #e7e7e7;
    width: 25%;
  }
}

@media all and (min-width: 768px) {
  .l-sitemap__col.-main {
    padding-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .l-sitemap__col.-main + .l-sitemap__col.-main {
    margin-top: 18px;
  }
}

@media all and (min-width: 768px) {
  .l-sitemap__col.-sub {
    padding-bottom: 35px;
    padding-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .l-sitemap__col.-sub {
    margin-top: 35px;
  }
}

@media all and (min-width: 768px) {
  ul.l-sitemap__linkList {
    margin-left: 20px;
  }
}

ul.l-sitemap__linkList > li {
  font-size: 16px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  ul.l-sitemap__linkList > li {
    font-size: 14px;
  }
}

ul.l-sitemap__linkList > li + li {
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  ul.l-sitemap__linkList > li + li {
    margin-top: 18px;
  }
}

ul.l-sitemap__linkList > li > a {
  color: #005192;
  text-decoration: none;
}

ul.l-sitemap__linkList > li > a:hover {
  text-decoration: underline;
}

ul.l-sitemap__childLinkList {
  margin-left: 10px;
  margin-top: 20px;
}

ul.l-sitemap__childLinkList li {
  font-size: 14px;
  font-weight: 400;
}

ul.l-sitemap__childLinkList li + li {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  ul.l-sitemap__childLinkList li + li {
    margin-top: 16px;
  }
}

ul.l-sitemap__childLinkList li a {
  color: #005192;
  text-decoration: none;
}

ul.l-sitemap__childLinkList li a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  ul.l-sitemap__otherLinkList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

ul.l-sitemap__otherLinkList > li {
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  ul.l-sitemap__otherLinkList > li {
    width: calc(50% - 2px);
    /* margin-top: 4px; */
  }
}

@media screen and (max-width: 767px) {
  ul.l-sitemap__snsLinkList {
    height: 100%;
  }
}

/* @media all and (min-width: 768px) { */
  /* ul.l-sitemap__snsLinkList li {
    margin-top: 3px;
  } */
/* } */

@media screen and (max-width: 767px) {
  ul.l-sitemap__snsLinkList li {
    height: 100%;
  }
}

/* @media screen and (max-width: 767px) {
  ul.l-sitemap__snsLinkList li + li {
    margin-top: 2px;
  }
} */

.l-sitemap__card {
  background-color: #fff;
  border-radius: 5px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  width: 210px;
}

@media screen and (max-width: 767px) {
  .l-sitemap__card {
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .l-sitemap__card:hover {
    opacity: .8;
  }
}

.l-sitemap__card.-aoyamasc {
  padding-bottom: 25px;
  padding-top: 20px;
}

@media screen and (max-width: 767px) {
  .l-sitemap__card.-aoyamasc {
    padding: 10px;
  }
}

.l-sitemap__card.-sns {
  align-items: center;
  height: 70px;
}

@media screen and (max-width: 767px) {
  .l-sitemap__card.-sns {
    height: 100%;
    padding-left: 5px;
    padding-right: 5px;
  }
}

.l-sitemap__card img {
  margin-left: auto;
  margin-right: auto;
}

.l-sitemap__card img.-aoyamasc {
  width: 175px;
}

.l-sitemap__card img.-sns {
  width: 194px;
}

@media screen and (max-width: 767px) {
  .l-sitemap__card img.-sns {
    width: 124px;
  }
}

.l-toTop {
  background-color: #005192;
  background-image: url(../img/layout/to-top/arrow.svg);
  background-position: center top 12px;
  background-repeat: no-repeat;
  background-size: 16px 9px;
  bottom: 0;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  height: 70px;
  line-height: 1.125;
  padding-top: 30px;
  position: fixed;
  right: 0;
  text-align: center;
  text-decoration: none;
  transition: .2s;
  width: 70px;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .l-toTop {
    background-position: center top 7px;
    background-size: 16px 10px;
    bottom: 0;
    font-size: 12px;
    height: 54px;
    line-height: 1.083;
    padding-top: 24px;
    right: 0;
    width: 54px;
  }
}

@media all and (min-width: 768px) {
  .l-toTop:hover {
    opacity: .8;
  }
}

.l-wrap {
  overflow-x: hidden;
}

.c-action01 {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .c-action01 {
    margin-top: 50px;
  }
}

.c-action02 {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .c-action02 {
    margin-top: 40px;
  }
}

.c-action03 {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .c-action03 {
    margin-top: 40px;
  }
}

.c-action04 {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .c-action04 {
    margin-top: 40px;
  }
}

.c-btn01 {
  align-items: center;
  border: 1px solid #bababa;
  border-radius: 45px;
  color: #005192;
  display: flex;
  font-size: 24px;
  font-weight: 700;
  height: 90px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-decoration: none;
}

@media all and (min-width: 768px) {
  .c-btn01 {
    width: 480px;
  }
}

@media screen and (max-width: 767px) {
  .c-btn01 {
    background-position: right 5px center;
    background-size: 10px 18px;
    border-radius: 35px;
    font-size: 18px;
    height: 70px;
    max-width: 450px;
  }
}

@media all and (min-width: 768px) {
  .c-btn01:hover {
    background-color: #005192;
    color: #fff;
  }
}

@media all and (min-width: 768px) {
  .c-btn01:hover::before {
    background-color: transparent;
  }
}

@media all and (min-width: 768px) {
  .c-btn01:hover i {
    -webkit-animation-delay: 0s;
    -webkit-animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    -webkit-animation-name: bounceRight;
    -webkit-animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
    animation-delay: 0s;
    animation-duration: .4s;
    animation-fill-mode: both;
    animation-name: bounceRight;
    animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
  }
}

@media all and (min-width: 768px) {
  .c-btn01:hover i::after {
    border-right-color: #fff;
    border-top-color: #fff;
  }
}

.c-btn01 span {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.c-btn01 i {
  height: 10px;
  position: absolute;
  right: 25px;
  top: 50%;
  width: 10px;
}

@media screen and (max-width: 767px) {
  .c-btn01 i {
    right: 15px;
  }
}

.c-btn01 i::after {
  border-right: 2px solid #005192;
  border-top: 2px solid #005192;
  content: '';
  display: block;
  height: 12px;
  transform: rotate(45deg) translateY(-50%);
  width: 12px;
}

@media screen and (max-width: 767px) {
  .c-btn01 i::after {
    height: 10px;
    width: 10px;
  }
}

@media screen and (max-width: 767px) {
  .c-campaignLink {
    margin-left: auto;
    margin-right: auto;
    max-width: 600px;
  }
}

@media all and (min-width: 768px) {
  .c-campaignLink__img a:hover img {
    opacity: .8;
  }
}

.c-campaignLink__img img {
  margin-left: auto;
  margin-right: auto;
}

.c-campaignLink__meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  height: 30px;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .c-campaignLink__meta {
    height: 28px;
  }
}

.c-campaignLink__label {
  align-items: center;
  background-color: #f1db28;
  border-radius: 15px;
  display: inline-flex;
  font-size: 14px;
  font-weight: 400;
  height: 30px;
  justify-content: center;
  padding-left: 15px;
  padding-right: 15px;
}

@media screen and (max-width: 767px) {
  .c-campaignLink__label {
    border-radius: 14px;
    height: 28px;
  }
}

.c-campaignLink__date {
  font-size: 14px;
  margin-left: auto;
}

.c-campaignLink__heading {
  font-size: 16px;
  line-height: 1.562;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {
  .c-campaignLink__heading {
    font-size: 15px;
    line-height: 1.75;
  }
}

.c-campaignLink__heading a {
  color: #005192;
  text-decoration: none;
  width: 100%;
}

.c-campaignLink__heading a:hover {
  text-decoration: underline;
}

ul.c-campaignList {
  margin-bottom: -40px;
}

@media all and (min-width: 768px) {
  ul.c-campaignList {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  ul.c-campaignList {
    margin-bottom: -30px;
  }
}

ul.c-campaignList li {
  margin-bottom: 40px;
}

@media all and (min-width: 768px) {
  ul.c-campaignList li {
    width: 300px;
  }
}

@media screen and (max-width: 767px) {
  ul.c-campaignList li {
    margin-bottom: 30px;
  }
}

@media all and (min-width: 768px) {
  ul.c-campaignList li:nth-child(3n + 2) {
    margin-left: 50px;
    margin-right: 50px;
  }
}

.c-catLabel {
  align-items: center;
  color: #fff;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  height: 25px;
  justify-content: center;
  line-height: 1;
  min-width: 67px;
  padding-left: 4px;
  padding-right: 4px;
  text-align: center;
  white-space: nowrap;
}

.c-catLabel.-big {
  font-size: calc(1.21 * 12px);
  height: calc(1.21 * 23px);
  min-width: calc(1.21 * 67px);
  padding-left: calc(1.21 * 4px);
  padding-right: calc(1.21 * 4px);
}

.c-catLabel.-full {
  background-color: #4d9ce3;
}

.c-catLabel.-self {
  background-color: #45ad92;
}

.c-contact__body {
  margin-top: 55px;
  padding-top: 75px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .c-contact__body {
    padding-top: 40px;
    padding-top: 45px;
  }
}

.c-contact__body::before {
  background-color: #d8f5eb;
  content: '';
  height: 400px;
  left: 50%;
  position: absolute;
  top: 0;
  width: 580px;
}

@media all and (min-width: 768px) {
  .c-contact__body::before {
    border-radius: 30px 0 0 30px / 30px 0 0 30px;
    transform: translateX(-580px);
  }
}

@media screen and (max-width: 767px) {
  .c-contact__body::before {
    height: 200px;
    left: 0;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .c-contact__body::after {
    background-color: #d8f5eb;
    content: '';
    height: 400px;
    left: 50%;
    position: absolute;
    top: 0;
    width: 50%;
  }
}

.c-contact__requiredLabel {
  align-items: center;
  background-color: #f1db28;
  border-radius: 14px;
  display: inline-flex;
  font-size: 16px;
  height: 28px;
  justify-content: center;
  width: 58px;
}

.c-contact__notice {
  font-size: 18px;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .c-contact__notice {
    font-size: 16px;
    line-height: 1.968;
  }
}

.c-contact__notice + .c-contact__panel {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .c-contact__notice + .c-contact__panel {
    margin-top: 40px;
  }
}

.c-contact__panel {
  padding: 60px 60px 110px 60px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .c-contact__panel {
    padding: 40px 20px 40px 20px;
  }
}

.c-contact__heading {
  align-items: center;
  background-color: #005192;
  border-radius: 25px;
  color: #fff;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  height: 50px;
  padding-left: 24px;
  padding-right: 24px;
}

@media screen and (max-width: 767px) {
  .c-contact__heading {
    font-size: 14px;
    height: 40px;
    justify-content: center;
    text-align: center;
  }
}

.c-contact__form {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .c-contact__form {
    margin-top: 20px;
  }
}

.c-contact__form + .c-contact__heading {
  margin-top: 55px;
}

.c-contact__form > div {
  border-bottom: 1px solid #bababa;
  padding-bottom: 30px;
}

@media all and (min-width: 768px) {
  .c-contact__form > div {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.c-contact__form > div + div {
  margin-top: 30px;
}

.c-contact__form dt {
  align-items: center;
  display: flex;
  font-size: 16px;
  justify-content: space-between;
  position: relative;
}

@media all and (min-width: 768px) {
  .c-contact__form dt {
    width: 245px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__form dt {
    justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__form dt label {
    margin-right: 10px;
  }
}

.c-contact__form dd {
  background-color: #fff;
  font-size: 16px;
}

@media all and (min-width: 768px) {
  .c-contact__form dd {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    width: 623px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__form dd {
    margin-top: 10px;
  }
}

.c-contact__form dd input[type="text"],
.c-contact__form dd input[type="email"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #bababa;
  font-size: 100%;
  height: 40px;
  margin: 0;
  padding-left: 10px;
  padding-right: 10px;
  width: 588px;
}

@media screen and (max-width: 767px) {
  .c-contact__form dd input[type="text"],
  .c-contact__form dd input[type="email"] {
    width: 100%;
  }
}

.c-contact__form dd textarea {
  border: 1px solid #bababa;
  height: 221px;
  line-height: 1.4;
  padding-left: 10px;
  padding-right: 10px;
  width: 588px;
}

@media screen and (max-width: 767px) {
  .c-contact__form dd textarea {
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .c-contact__form dd .mwform-radio-field {
    margin-left: 20px;
    margin-top: 3px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__form dd .mwform-radio-field {
    display: block;
  }
}

@media all and (min-width: 768px) {
  .c-contact__form dd .mwform-radio-field + .mwform-radio-field {
    margin-left: 30px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__form dd .mwform-radio-field + .mwform-radio-field {
    margin-top: 5px;
  }
}

.c-contact__form dd .error {
  color: #e5004f;
  display: block;
  line-height: 1;
  margin-top: 10px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .c-contact__form dd .error {
    font-size: 12px;
    margin-top: 5px;
  }
}

@media all and (min-width: 768px) {
  .c-contact__btnList {
    align-items: center;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
  }
}

@media all and (min-width: 768px) {
  .c-contact__btnList li + li {
    margin-right: 40px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__btnList li + li {
    margin-top: 20px;
  }
}

.c-contact__submitBtn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  align-items: center;
  border: none;
  cursor: pointer;
  display: flex;
  font-size: 24px;
  font-weight: 700;
  height: 90px;
  justify-content: center;
  line-height: 1.333;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-decoration: none;
  transition: .2s;
}

@media all and (min-width: 768px) {
  .c-contact__submitBtn {
    width: 480px;
  }
}

@media screen and (max-width: 767px) {
  .c-contact__submitBtn {
    font-size: 18px;
    height: 70px;
    width: 100%;
  }
}

.c-contact__submitBtn::before {
  background-color: #f1db28;
  border-radius: 45px;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  width: 100%;
}

@media all and (min-width: 768px) {
  .c-contact__submitBtn:hover input {
    color: #fff;
  }
}

@media all and (min-width: 768px) {
  .c-contact__submitBtn:hover::before {
    background-color: #005192;
  }
}

@media all and (min-width: 768px) {
  .c-contact__submitBtn:hover i {
    -webkit-animation-delay: 0s;
    -webkit-animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    -webkit-animation-name: bounceRight;
    -webkit-animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
    animation-delay: 0s;
    animation-duration: .4s;
    animation-fill-mode: both;
    animation-name: bounceRight;
    animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
  }
}

@media all and (min-width: 768px) {
  .c-contact__submitBtn:hover i::after {
    border-right-color: #fff;
    border-top-color: #fff;
  }
}

.c-contact__submitBtn span {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.c-contact__submitBtn i {
  height: 13px;
  position: absolute;
  right: 32px;
  top: 50%;
  width: 13px;
}

@media screen and (max-width: 767px) {
  .c-contact__submitBtn i {
    right: 20px;
  }
}

.c-contact__submitBtn i::after {
  border-right: 2px solid #005192;
  border-top: 2px solid #005192;
  content: '';
  display: block;
  height: 13px;
  transform: rotate(45deg) translateY(-50%);
  width: 13px;
}

@media screen and (max-width: 767px) {
  .c-contact__submitBtn i::after {
    border-right-width: 2px;
    border-top-width: 2px;
    height: 10px;
    width: 10px;
  }
}

.c-contact__submitBtn input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  border-radius: 0;
  color: #005192;
  cursor: pointer;
  font-family: inherit;
  font-size: 100%;
  font-weight: 700;
  height: 100%;
  position: relative;
  width: 100%;
}

.c-contact__subBtn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  align-items: center;
  background-color: #fff;
  background-image: url(../img/component/contact/arrow-right.svg);
  background-position: right 28px center;
  background-repeat: no-repeat;
  background-size: 11px 19px;
  border: 2px solid #c3c3c3;
  border-radius: 35px;
  color: #005192;
  cursor: pointer;
  display: flex;
  font-size: 18px;
  font-weight: 700;
  height: 70px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  transition: .2s;
  width: 300px;
}

@media screen and (max-width: 767px) {
  .c-contact__subBtn {
    font-size: 18px;
    height: 70px;
    width: 100%;
  }
}

.c-contact__subBtn.-back {
  background-image: url(../img/component/contact/arrow-left.svg);
  background-position: left 28px center;
}

@media all and (min-width: 768px) {
  .c-contact__subBtn:hover {
    background-color: #edf9ff;
    background-position: right 23px center;
  }
}

.c-contact__subBtn:hover.-back {
  background-position: left 23px center;
}

.mw_wp_form_input .c-contact__form dt {
  margin-top: 7px;
}

.mw_wp_form_confirm .c-contact__form dd {
  margin-top: 3px;
}

.mw_wp_form_confirm .c-contact__subBtn.-reset {
  display: none;
}

.c-contact__completeHeading {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-contact__completeHeading {
    font-size: 18px;
  }
}

.c-contact__completeTxt {
  font-size: 16px;
  line-height: 2.687;
  margin-top: 55px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-contact__completeTxt {
    font-size: 15px;
    line-height: 1.75;
  }
}

.c-contact__completeTxt + .c-contact__completeTxt {
  margin-top: 80px;
}

.c-contact__completeTxt a {
  color: #005192;
}

@media all and (min-width: 768px) {
  .c-contact__completeTxt a:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0 !important;
  }
}

.c-container {
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media all and (min-width: 768px) {
  .c-container {
    width: 1000px;
  }
}

@media screen and (max-width: 767px) {
  .c-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.c-inPageNav {
  border-bottom: 5px solid #d3d8e3;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .c-inPageNav {
    margin-left: -20px;
    margin-right: -20px;
    margin-top: 40px;
  }
}

ul.c-inPageNav__linkList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

ul.c-inPageNav__linkList.-half li {
  width: 330px;
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-half li {
    width: 50%;
  }
}

ul.c-inPageNav__linkList.-oneThird li {
  width: calc(100% / 3);
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneFifth {
    justify-content: flex-start;
  }
}

ul.c-inPageNav__linkList.-oneFifth li {
  width: 20%;
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneFifth li {
    width: calc(100% / 3);
  }
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneFifth li:nth-child(1) {
    border-bottom: 1px solid #d3d8e3;
  }
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneFifth li:nth-child(2) {
    border-bottom: 1px solid #d3d8e3;
  }
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneFifth li:nth-child(3) {
    border-bottom: 1px solid #d3d8e3;
    border-right: 1px solid #d3d8e3;
  }
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneSixth {
    justify-content: flex-start;
  }
}

ul.c-inPageNav__linkList.-oneSixth li {
  width: 16.666%;
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneSixth li {
    width: calc(100% / 3);
  }
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneSixth li:nth-child(1) {
    border-bottom: 1px solid #d3d8e3;
  }
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneSixth li:nth-child(2) {
    border-bottom: 1px solid #d3d8e3;
  }
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList.-oneSixth li:nth-child(3) {
    border-bottom: 1px solid #d3d8e3;
    border-right: 1px solid #d3d8e3;
  }
}

ul.c-inPageNav__linkList li {
  border-left: 1px solid #d3d8e3;
}

ul.c-inPageNav__linkList li:last-child {
  position: relative;
}

ul.c-inPageNav__linkList li:last-child::before {
  background-color: #d3d8e3;
  bottom: 0;
  content: '';
  height: 100%;
  position: absolute;
  right: -1px;
  width: 1px;
}

ul.c-inPageNav__linkList li a {
  background-image: url(../img/component/in-page-nav/arrow.svg);
  background-position: center bottom 18px;
  background-repeat: no-repeat;
  background-size: 22px 13px;
  color: #005192;
  display: flex;
  font-size: 16px;
  font-weight: 700;
  height: 85px;
  justify-content: center;
  padding-top: 25px;
  text-align: center;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  ul.c-inPageNav__linkList li a {
    font-size: 14px;
    height: 75px;
    padding-top: 20px;
  }
}

@media all and (min-width: 768px) {
  ul.c-inPageNav__linkList li a:hover {
    background-color: #edf9ff;
  }
}

ul.c-inPageNav__linkList li a.-twoLines {
  line-height: 1.125;
  padding-top: 12px;
}

.c-newsList div {
  border-bottom: 1px solid #bababa;
  padding-bottom: 20px;
  padding-top: 20px;
  position: relative;
  transition: .4s;
}

@media all and (min-width: 768px) {
  .c-newsList div {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

@media all and (min-width: 768px) {
  .c-newsList div:hover {
    background-color: #d8f5eb;
    transform: scale(1.02);
  }
}

.c-newsList dt {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  font-weight: 700;
}

@media all and (min-width: 768px) {
  .c-newsList dt {
    width: calc(100% - 760px);
  }
}

@media screen and (max-width: 767px) {
  .c-newsList dt {
    font-size: 15px;
  }
}

.c-newsList dt span {
  align-items: center;
  background-color: #f1db28;
  border-radius: 17px;
  display: flex;
  display: flex;
  font-size: 16px;
  font-weight: 400;
  height: 34px;
  justify-content: center;
  margin-left: 25px;
  width: 100px;
}

@media screen and (max-width: 767px) {
  .c-newsList dt span {
    border-radius: 14px;
    font-size: 14px;
    height: 28px;
    margin-left: 20px;
    width: 90px;
  }
}

.c-newsList dd {
  font-size: 16px;
  line-height: 1.562;
}

@media all and (min-width: 768px) {
  .c-newsList dd {
    padding-top: 5px;
    width: 760px;
  }
}

@media screen and (max-width: 767px) {
  .c-newsList dd {
    font-size: 15px;
    line-height: 1.75;
    margin-top: 15px;
  }
}

.c-newsList dd a {
  color: #005192;
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  text-decoration: none;
  top: 0;
  transition: .4s;
  width: 100%;
}

.c-newsList dd a:hover {
  text-decoration: underline;
}

.c-page {
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .c-page {
    padding-bottom: 55px;
  }
}

.c-pageHeader {
  padding-top: 50px;
}

@media screen and (max-width: 767px) {
  .c-pageHeader {
    padding-top: 40px;
  }
}

.c-pageHeader__heading {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .1em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-pageHeader__heading {
    font-size: 16px;
  }
}

.c-pageHeader__heading span {
  color: #f1db28;
  display: block;
  font-size: 75px;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .c-pageHeader__heading span {
    font-size: 40px;
    margin-bottom: 10px;
  }
}

.c-pageHeader__txt {
  font-size: 20px;
  line-height: 1.575;
  margin-top: 30px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .c-pageHeader__txt {
    font-size: 16px;
    line-height: 1.968;
  }
}

.c-panel {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}

.c-spacer {
  margin-top: -120px;
  padding-top: 120px;
  position: relative;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .c-spacer {
    margin-top: -60px;
    padding-top: 60px;
  }
}

.p-404__body {
  margin-top: 50px;
}

.p-404__txt {
  font-size: 16px;
  line-height: 1.562;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-404__txt {
    font-size: 15px;
  }
}

.p-business {
  padding-bottom: 0;
}

.p-business__body {
  background-color: #d8f5eb;
  background-image: url(../img/project/business/city.png);
  background-position: center bottom;
  background-repeat: repeat-x;
  background-size: 1140px auto;
}

.p-business__bodyInner {
  background-image: url(../img/project/business/bg.png);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 3006px auto;
  padding-top: 172px;
}

@media all and (min-width: 768px) {
  .p-business__bodyInner {
    height: 2914px;
  }
}

@media screen and (max-width: 767px) {
  .p-business__bodyInner {
    background-image: url(../img/project/business/bg-sp.png);
    background-size: cover;
    padding-bottom: 136px;
    padding-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .p-business__serviceList > li + li {
    margin-top: 60px;
  }
}

@media all and (min-width: 768px) {
  .p-business__service {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

@media all and (min-width: 768px) {
  .p-business__service.-reverse {
    flex-direction: row-reverse;
  }
}

@media all and (min-width: 768px) {
  .p-business__service.-second {
    margin-top: 104px;
  }
}

@media all and (min-width: 768px) {
  .p-business__service.-third {
    margin-top: 100px;
  }
}

@media all and (min-width: 768px) {
  .p-business__service.-fourth {
    margin-top: 110px;
  }
}

@media all and (min-width: 768px) {
  .p-business__service.-fifth {
    margin-top: 94px;
  }
}

@media all and (min-width: 768px) {
  .p-business__service.-sixth {
    margin-top: 100px;
  }
}

@media screen and (max-width: 767px) {
  .p-business__service.-odd .p-business__serviceImg {
    background-image: url(../img/project/business/road-01.png);
  }
}

@media screen and (max-width: 767px) {
  .p-business__service.-even .p-business__serviceImg {
    background-image: url(../img/project/business/road-02.png);
  }
}

.p-business__serviceImg {
  position: relative;
}

@media all and (min-width: 768px) {
  .p-business__serviceImg {
    width: 460px;
  }
}

@media screen and (max-width: 767px) {
  .p-business__serviceImg {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: -20px;
    margin-right: -20px;
  }
}

@media all and (min-width: 768px) {
  .p-business__serviceImg::before {
    background-image: url(../img/project/business/img-shadow.png);
    background-position: center center;
    background-size: 490px 370px;
    content: '';
    height: 370px;
    left: -7px;
    position: absolute;
    top: -7px;
    width: 490px;
  }
}

.p-business__serviceImg img {
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-business__serviceImg img {
    margin-left: auto;
    margin-right: auto;
    max-width: 371px;
  }
}

.p-business__serviceBody {
  position: relative;
  z-index: 99;
}

@media all and (min-width: 768px) {
  .p-business__serviceBody {
    width: 490px;
  }
}

@media screen and (max-width: 767px) {
  .p-business__serviceBody {
    margin-top: 15px;
  }
}

.p-business__serviceHeading {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
  .p-business__serviceHeading {
    font-size: 24px;
    text-align: center;
  }
}

.p-business__serviceTxt {
  font-size: 16px;
  line-height: 2.062;
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .p-business__serviceTxt {
    font-size: 15px;
    line-height: 1.75;
    margin-top: 15px;
  }
}

.p-business__serviceTel {
  font-size: 28px;
  font-weight: 700;
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .p-business__serviceTel {
    margin-top: 15px;
    text-align: center;
  }
}

.p-business__serviceTel a {
  color: #005192;
  padding-left: 28px;
  position: relative;
}

.p-business__serviceTel a::before {
  background-image: url(../img/project/business/phone.svg);
  background-repeat: no-repeat;
  background-size: 20px 30px;
  content: '';
  height: 30px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
}

@media all and (min-width: 768px) {
  .p-business__serviceTel a:hover {
    text-decoration: none;
  }
}

.p-business__serviceTel span {
  font-size: 16px;
  margin-left: 20px;
}

ul.p-business__serviceOptionList {
  margin-top: 34px;
}

@media all and (min-width: 768px) {
  ul.p-business__serviceOptionList {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  ul.p-business__serviceOptionList {
    margin-top: 25px;
  }
}

@media all and (min-width: 768px) {
  ul.p-business__serviceOptionList li + li {
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  ul.p-business__serviceOptionList li + li {
    margin-top: 12px;
  }
}

@media screen and (max-width: 767px) {
  ul.p-business__serviceOptionList li img {
    margin-left: auto;
    margin-right: auto;
  }
}

ul.p-business__serviceOptionList li img.-rakuten {
  width: 186px;
}

ul.p-business__serviceOptionList li img.-keeper {
  width: 236px;
}

ul.p-business__serviceHelpList {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

@media all and (min-width: 768px) {
  ul.p-business__serviceHelpList {
    bottom: -24px;
    position: absolute;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  ul.p-business__serviceHelpList {
    justify-content: center;
    margin-top: 23px;
  }
}

ul.p-business__serviceHelpList li {
  width: 64px;
}

ul.p-business__serviceHelpList li + li {
  margin-left: 12px;
}

@media all and (min-width: 768px) {
  ul.p-business__serviceHelpList li a:hover img {
    opacity: .8;
  }
}

.p-campaign__nav {
  margin-top: 55px;
}

ul.p-campaign__yearList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  ul.p-campaign__yearList {
    margin-bottom: -10px;
  }
}

@media screen and (max-width: 767px) {
  ul.p-campaign__yearList li {
    margin-bottom: 10px;
    width: calc(50% - 8px);
  }
}

@media screen and (max-width: 767px) {
  ul.p-campaign__yearList li:nth-child(2n + 3) {
    margin-left: 0;
  }
}

ul.p-campaign__yearList li + li {
  margin-left: 16px;
}

ul.p-campaign__yearList li a {
  align-items: center;
  background-image: url(../img/project/news/arrow.svg);
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 19px 11px;
  border: 1px solid #bababa;
  border-radius: 24px;
  color: #005192;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  height: 48px;
  justify-content: center;
  text-decoration: none;
  width: 178px;
}

@media screen and (max-width: 767px) {
  ul.p-campaign__yearList li a {
    background-position: right 8px center;
    background-size: 10px 18px;
    border-radius: 20px;
    font-size: 18px;
    height: 40px;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  ul.p-campaign__yearList li a:hover {
    background-color: #edf9ff;
  }
}

.p-campaign__body {
  margin-top: 50px;
}

.p-campaign__year + .p-campaign__year {
  margin-top: 105px;
}

@media screen and (max-width: 767px) {
  .p-campaign__year + .p-campaign__year {
    margin-top: 50px;
  }
}

.p-campaign__yearHeading {
  align-items: center;
  background-color: #d8f5eb;
  border-radius: 30px;
  display: flex;
  font-size: 24px;
  font-weight: 700;
  height: 60px;
  padding-left: 50px;
  padding-right: 50px;
}

@media screen and (max-width: 767px) {
  .p-campaign__yearHeading {
    border-radius: 25px;
    font-size: 20px;
    height: 50px;
    padding-left: 25px;
    padding-right: 25px;
  }
}

ul.p-campaign__yearCampaignList {
  margin-top: 40px;
}

.p-company__outline {
  margin-top: 40px;
  padding-bottom: 95px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-company__outline {
    margin-top: 20px;
    padding-bottom: 50px;
  }
}

.p-company__outline::before {
  background-image: url(../img/project/company/outline-bg.jpg);
  background-size: cover;
  border-radius: 40px;
  content: '';
  height: calc(100% - 20px);
  left: 50%;
  position: absolute;
  top: 20px;
  transform: translateX(-50%);
  width: 1500px;
}

@media screen and (max-width: 767px) {
  .p-company__outline::before {
    width: calc(100% - 20px - 20px);
  }
}

.p-company__outlineHeading {
  text-align: center;
}

.p-company__outlineHeading img {
  margin-left: auto;
  margin-right: auto;
  width: 133px;
}

.p-company__outlineInfo {
  margin-top: 65px;
}

@media all and (min-width: 768px) {
  .p-company__outlineInfo {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}

@media screen and (max-width: 767px) {
  .p-company__outlineInfo {
    margin-top: 45px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.p-company__outlineInfo div {
  border-bottom: 1px solid #bababa;
  padding-bottom: 30px;
}

@media all and (min-width: 768px) {
  .p-company__outlineInfo div {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .p-company__outlineInfo div {
    padding-bottom: 20px;
  }
}

.p-company__outlineInfo div + div {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-company__outlineInfo div + div {
    margin-top: 20px;
  }
}

.p-company__outlineInfo dt {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.968;
}

@media all and (min-width: 768px) {
  .p-company__outlineInfo dt {
    width: 230px;
  }
}

@media screen and (max-width: 767px) {
  .p-company__outlineInfo dt {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-company__outlineInfo dd {
  font-size: 16px;
  line-height: 1.968;
  position: relative;
}

@media all and (min-width: 768px) {
  .p-company__outlineInfo dd {
    width: calc(100% - 230px);
  }
}

@media screen and (max-width: 767px) {
  .p-company__outlineInfo dd {
    font-size: 15px;
    line-height: 1.75;
  }
}

@media all and (min-width: 768px) {
  .p-company__outlineItemizeList.-absolute {
    left: 224px;
    position: absolute;
    top: 0;
  }
}

.p-company__outlineItemizeList li {
  padding-left: 1em;
  position: relative;
}

.p-company__outlineItemizeList li::before {
  content: '・';
  left: 0;
  position: absolute;
  top: 0;
}

.p-company__history {
  margin-top: 60px;
}

.p-company__historyHeading {
  text-align: center;
}

.p-company__historyHeading img {
  margin-left: auto;
  margin-right: auto;
  width: 133px;
}

.p-company__historyTimeline {
  margin-top: 65px;
}

@media all and (min-width: 768px) {
  .p-company__historyTimeline {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}

@media screen and (max-width: 767px) {
  .p-company__historyTimeline {
    margin-top: 45px;
  }
}

.p-company__historyTimeline div {
  border-bottom: 1px solid #bababa;
  padding-bottom: 30px;
}

@media all and (min-width: 768px) {
  .p-company__historyTimeline div {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .p-company__historyTimeline div {
    padding-bottom: 20px;
  }
}

.p-company__historyTimeline div + div {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .p-company__historyTimeline div + div {
    margin-top: 20px;
  }
}

.p-company__historyTimeline dt {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.968;
}

@media all and (min-width: 768px) {
  .p-company__historyTimeline dt {
    width: 170px;
  }
}

@media screen and (max-width: 767px) {
  .p-company__historyTimeline dt {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-company__historyTimeline dd {
  font-size: 16px;
  line-height: 1.968;
}

@media all and (min-width: 768px) {
  .p-company__historyTimeline dd {
    width: calc(100% - 170px);
  }
}

@media screen and (max-width: 767px) {
  .p-company__historyTimeline dd {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-index {
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .p-index {
    padding-bottom: 60px;
  }
}

.p-indx__mv {
  position: relative;
}

.p-index__mvBtn {
  bottom: -40px;
  position: absolute;
  right: 60px;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .p-index__mvBtn {
    bottom: 30px;
    right: 0;
  }
}

@media all and (min-width: 768px) {
  .p-index__mvBtn a:hover img {
    transform: scale(1.05);
  }
}

.p-index__mvBtn a img {
  display: inline;
  transition: .4s;
  width: 445px;
}

@media screen and (max-width: 767px) {
  .p-index__mvBtn a img {
    width: 180px;
  }
}

.p-indx__mv .p-indx__carousel {
  height: 700px;
  margin-left: 50px;
  margin-right: 50px;
  overflow: hidden;
  position: relative;
  width: calc(100%  - 100px);
  min-width: 900px;
}

@media screen and (max-width: 767px) {
  .p-indx__mv .p-indx__carousel {
    margin-left: 20px;
    margin-right: 20px;
    width: calc(100%  - 40px);
    min-width: 0;
    min-height: 0;
  }
  .p-indx__mv .slide {
    height: 110vw;
  }
}

.p-indx__carousel::before {
  background-image: url(../img/project/index/carousel-frame-lt.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 38px auto;
  content: '';
  height: 38px;
  left: 0;
  position: absolute;
  top: 0;
  width: 38px;
  z-index: 100;
}

.p-indx__carousel::after {
  background-image: url(../img/project/index/carousel-frame-lb.png);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 38px auto;
  bottom: 0;
  content: '';
  height: 38px;
  left: 0;
  position: absolute;
  width: 38px;
  z-index: 99;
}

.p-indx__carousel .p-indx__carouselImg {
  -webkit-animation: expansion 30s 0s infinite;
  animation: expansion 30s 0s infinite;
  background-position: center center;
  background-size: cover;
  height: 700px;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  width: 100%;
  display: none;
}
.p-indx__carousel .show {
  display: block;
}

@media screen and (max-width: 767px) {
  .p-indx__carousel .p-indx__carouselImg {
    /* height: 460px; */
    height: 110vw;
  }
}

.p-indx__carousel .p-indx__carouselImg.-first {
  background-image: url(../img/project/index/carousel-img-01.jpg);
}

@media screen and (max-width: 767px) {
  .p-indx__carousel .p-indx__carouselImg.-first {
    background-image: url(../img/project/index/carousel-img-01-sp.jpg);
  }
}

.p-indx__carousel .p-indx__carouselImg.-second {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
  background-image: url(../img/project/index/carousel-img-02.jpg);
}

@media screen and (max-width: 767px) {
  .p-indx__carousel .p-indx__carouselImg.-second {
    background-image: url(../img/project/index/carousel-img-02-sp.jpg);
  }
}

.p-indx__carousel .p-indx__carouselImg.-third {
  -webkit-animation-delay: 12s;
  animation-delay: 12s;
  background-image: url(../img/project/index/carousel-img-03.jpg);
}

@media screen and (max-width: 767px) {
  .p-indx__carousel .p-indx__carouselImg.-third {
    background-image: url(../img/project/index/carousel-img-03-sp.jpg);
  }
}

.p-indx__carousel .p-indx__carouselImg.-fourth {
  -webkit-animation-delay: 18s;
  animation-delay: 18s;
  background-image: url(../img/project/index/carousel-img-04.jpg);
}

@media screen and (max-width: 767px) {
  .p-indx__carousel .p-indx__carouselImg.-fourth {
    background-image: url(../img/project/index/carousel-img-04-sp.jpg);
  }
}

.p-indx__carousel .p-indx__carouselImg.-fifth {
  -webkit-animation-delay: 24s;
  animation-delay: 24s;
  background-image: url(../img/project/index/carousel-img-05.jpg);
}

@media screen and (max-width: 767px) {
  .p-indx__carousel .p-indx__carouselImg.-fifth {
    background-image: url(../img/project/index/carousel-img-05-sp.jpg);
  }
}

@-webkit-keyframes expansion {
  0% {
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  37% {
    opacity: 0;
    transform: scale(1.1) rotate(0.1deg);
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}

@keyframes expansion {
  0% {
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  37% {
    opacity: 0;
    transform: scale(1.1) rotate(0.1deg);
    z-index: 9;
  }
  100% {
    opacity: 0;
  }
}

.mv_pc {
  /* position: relative;
  height: 100%; */
  background: #000;
}
.mv_pc::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.3);
  background-image: url(../img/project/index/carousel-frame-rt.png), url(../img/project/index/carousel-frame-rb.png);
  background-repeat: no-repeat;
  background-position: top right, right bottom;
  -webkit-background-size: 38px;
  background-size: 38px;
  top: 0;
  left: 0;
  z-index: 100;
}

.mv_pc .mv_pc_inner {
  position: absolute;
  width: 100%;
  padding-top: 56.4%;
  top: 50% !important;
  left: 50% !important;
  min-height: 800px;
  min-width: 1400px;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.mv_pc #tubular-player {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.p-indx__carouselInner {
  height: 100%;
  position: relative;
  width: 100%;
}

.p-indx__carouselInner::before {
  background-image: url(../img/project/index/carousel-frame-rt.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 38px auto;
  content: '';
  height: 38px;
  position: absolute;
  right: 0;
  top: 0;
  width: 38px;
  z-index: 99;
}

.p-indx__carouselInner::after {
  background-image: url(../img/project/index/carousel-frame-rb.png);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 38px auto;
  bottom: 0;
  content: '';
  height: 38px;
  position: absolute;
  right: 0;
  width: 38px;
  z-index: 99;
}

.p-indx__carouselCap {
  bottom: 15px;
  left: 50px;
  position: absolute;
  z-index: 99;
}

@media screen and (max-width: 767px) {
  .p-indx__carouselCap {
    bottom: 10px;
    left: 10px;
  }
}

.p-indx__carouselCap img {
  max-width: 551px;
  width: 34.437vw;
}

@media screen and (max-width: 767px) {
  .p-indx__carouselCap img {
    max-width: 287px;
    width: 76.533vw;
  }
}

.p-index__intro {
  margin-top: 90px;
}

.p-index__introHeadingEn {
  font-size: 130px;
  font-weight: 900;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-index__introHeadingEn {
    font-size: 46px;
    margin-left: -20px;
    margin-right: -20px;
  }
}

.p-index__introHeading {
  color: #55c1a8;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: .1em;
  margin-top: 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-index__introHeading {
    font-size: 28px;
    line-height: 1.428;
    margin-top: 30px;
  }
}

.p-index__introTxt {
  color: #333;
  font-size: 20px;
  font-weight: 700;
  line-height: 2.5;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-index__introTxt {
    font-size: 16px;
    line-height: 2.25;
    margin-top: 30px;
  }
}

.p-index__service {
  background-image: url(../img/project/index/service-city.png);
  background-position: center bottom;
  background-repeat: repeat-x;
  background-size: 1140px auto;
  margin-top: 60px;
  position: relative;
}

@media all and (min-width: 768px) {
  .p-index__service {
    height: 1385px;
  }
}

@media screen and (max-width: 767px) {
  .p-index__service {
    background-color: #d8f5eb;
    margin-top: 55px;
    padding-bottom: 140px;
    padding-top: 20px;
  }
}

@media all and (min-width: 768px) {
  .p-index__service::before {
    background-color: #d8f5eb;
    background-image: url(../img/project/index/service-road.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 3001px auto;
    content: '';
    height: calc(100% - 62px);
    left: 0;
    position: absolute;
    top: 62px;
    width: 100%;
    z-index: -1;
  }
}

@media screen and (max-width: 767px) {
  .p-index__service::before {
    background-image: url(../img/project/index/service-road-01.png);
    background-repeat: no-repeat;
    background-size: auto 20px;
    content: '';
    height: 20px;
    left: 0;
    position: absolute;
    top: 250px;
    width: 100%;
  }
}

.p-index__serviceCloud {
  -webkit-animation: cloud 50s linear infinite;
  animation: cloud 50s linear infinite;
  background-image: url(../img/project/index/service-cloud.png);
  background-size: 1600px auto;
  height: 1322px;
  left: 50%;
  position: absolute;
  top: 60px;
  transform: translateX(-50%);
  width: 1600px;
}

@media screen and (max-width: 767px) {
  .p-index__serviceCloud {
    height: 100%;
    width: 100%;
  }
}

@-webkit-keyframes cloud {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: 800px 0;
  }
  100% {
    background-position: 1600px 0;
  }
}

@keyframes cloud {
  0% {
    background-position: 0 0;
  }
  50% {
    background-position: 800px 0;
  }
  100% {
    background-position: 1600px 0;
  }
}

.p-index__serviceHeading img {
  width: 581px;
}

@media screen and (max-width: 767px) {
  .p-index__serviceHeading img {
    width: 267px;
  }
}

.p-index__serviceCar {
  position: absolute;
}

.p-index__serviceCar.-top {
  left: 642px;
  top: 178px;
}

@media screen and (max-width: 767px) {
  .p-index__serviceCar.-top {
    left: auto;
    right: 20px;
    top: 196px;
  }
}

.p-index__serviceCar.-bottom {
  left: 30px;
  top: 1050px;
}

.p-index__serviceCar img {
  -webkit-animation: idling .6s  infinite;
  animation: idling .6s  infinite;
  width: 85px;
}

@-webkit-keyframes idling {
  0% {
    transform: translate(0px, 0px) rotateZ(0deg);
  }
  25% {
    transform: translate(2px, 2px) rotateZ(1deg);
  }
  50% {
    transform: translate(0px, 2px) rotateZ(0deg);
  }
  75% {
    transform: translate(2px, 0px) rotateZ(-1deg);
  }
  100% {
    transform: translate(0px, 0px) rotateZ(0deg);
  }
}

@keyframes idling {
  0% {
    transform: translate(0px, 0px) rotateZ(0deg);
  }
  25% {
    transform: translate(2px, 2px) rotateZ(1deg);
  }
  50% {
    transform: translate(0px, 2px) rotateZ(0deg);
  }
  75% {
    transform: translate(2px, 0px) rotateZ(-1deg);
  }
  100% {
    transform: translate(0px, 0px) rotateZ(0deg);
  }
}

ul.p-index__serviceLinkList {
  position: relative;
}

@media screen and (max-width: 767px) {
  ul.p-index__serviceLinkList {
    margin-top: 40px;
  }
}

ul.p-index__serviceLinkList > li {
  position: relative;
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkList > li {
    position: absolute;
  }
}

@media screen and (max-width: 767px) {
  ul.p-index__serviceLinkList > li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  ul.p-index__serviceLinkList > li::before {
    background-position: center center;
    content: '';
    left: 0;
    margin-left: -20px;
    margin-right: -20px;
    position: absolute;
    top: 105px;
    width: calc(100% + 40px);
  }
}

@media screen and (max-width: 767px) {
  ul.p-index__serviceLinkList > li:nth-child(odd) {
    justify-content: flex-end;
  }
}

@media screen and (max-width: 767px) {
  ul.p-index__serviceLinkList > li.-odd::before {
    background-image: url(../img/project/index/service-road-02.png);
    background-size: auto 77px;
    height: 77px;
  }
}

@media screen and (max-width: 767px) {
  ul.p-index__serviceLinkList > li.-even::before {
    background-image: url(../img/project/index/service-road-03.png);
    background-size: auto 47px;
    height: 47px;
  }
}

@media screen and (max-width: 767px) {
  ul.p-index__serviceLinkList > li + li {
    margin-top: 60px;
  }
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkList > li:nth-child(1) {
    right: 132px;
    top: 70px;
  }
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkList > li:nth-child(2) {
    left: 178px;
    top: 100px;
  }
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkList > li:nth-child(3) {
    left: 52px;
    top: 432px;
  }
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkList > li:nth-child(4) {
    right: 229px;
    top: 420px;
  }
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkList > li:nth-child(5) {
    right: 105px;
    top: 744px;
  }
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkList > li:nth-child(6) {
    left: 170px;
    top: 775px;
  }
}

ul.p-index__serviceLinkList > li a {
  /*
      color: $c_main;
      display: inline-block;
      font-weight: 700;
      position: relative;
      text-align: center;
      text-decoration: none;
*/
}

.p-index__serviceLink {
  font-weight: 700;
  position: relative;
  text-align: center;
}

@media all and (min-width: 768px) {
  .p-index__serviceLink:hover .p-index__serviceLinkOverlay.-first {
    background-image: url(../img/project/index/service-img-01-on.png);
  }
}

@media all and (min-width: 768px) {
  .p-index__serviceLink:hover .p-index__serviceLinkOverlay.-second {
    background-image: url(../img/project/index/service-img-02-on.png);
  }
}

@media all and (min-width: 768px) {
  .p-index__serviceLink:hover .p-index__serviceLinkOverlay.-third {
    background-image: url(../img/project/index/service-img-03-on.png);
  }
}

@media all and (min-width: 768px) {
  .p-index__serviceLink:hover .p-index__serviceLinkOverlay.-fourth {
    background-image: url(../img/project/index/service-img-04-on.png);
  }
}

@media all and (min-width: 768px) {
  .p-index__serviceLink:hover .p-index__serviceLinkOverlay.-fifth {
    background-image: url(../img/project/index/service-img-05-on.png);
  }
}

@media all and (min-width: 768px) {
  .p-index__serviceLink:hover .p-index__serviceLinkOverlay.-sixth {
    background-image: url(../img/project/index/service-img-06-on.png);
  }
}

.p-index__serviceLink:hover .p-index__serviceLinkOverlayInner {
  opacity: 1;
  visibility: visible;
}

.p-index__serviceLink > a {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.p-index__serviceLink img {
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  width: 300px;
}

.p-index__serviceLinkOverlay {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  height: 240px;
  left: 0;
  position: absolute;
  top: 0;
  transition: .4s;
  width: 300px;
}

.p-index__serviceLinkOverlay.-first {
  background-image: url(../img/project/index/service-img-01.png);
}

@media screen and (max-width: 767px) {
  .p-index__serviceLinkOverlay.-first {
    background-image: url(../img/project/index/service-img-01-on.png);
  }
}

.p-index__serviceLinkOverlay.-second {
  background-image: url(../img/project/index/service-img-02.png);
}

@media screen and (max-width: 767px) {
  .p-index__serviceLinkOverlay.-second {
    background-image: url(../img/project/index/service-img-02-on.png);
  }
}

.p-index__serviceLinkOverlay.-third {
  background-image: url(../img/project/index/service-img-03.png);
}

@media screen and (max-width: 767px) {
  .p-index__serviceLinkOverlay.-third {
    background-image: url(../img/project/index/service-img-03-on.png);
  }
}

.p-index__serviceLinkOverlay.-fourth {
  background-image: url(../img/project/index/service-img-04.png);
}

@media screen and (max-width: 767px) {
  .p-index__serviceLinkOverlay.-fourth {
    background-image: url(../img/project/index/service-img-04-on.png);
  }
}

.p-index__serviceLinkOverlay.-fifth {
  background-image: url(../img/project/index/service-img-05.png);
}

@media screen and (max-width: 767px) {
  .p-index__serviceLinkOverlay.-fifth {
    background-image: url(../img/project/index/service-img-05-on.png);
  }
}

.p-index__serviceLinkOverlay.-sixth {
  background-image: url(../img/project/index/service-img-06.png);
}

@media screen and (max-width: 767px) {
  .p-index__serviceLinkOverlay.-sixth {
    background-image: url(../img/project/index/service-img-06-on.png);
  }
}

.p-index__serviceLinkOverlayInner {
  padding-top: 60px;
  transition: .4s;
}

@media all and (min-width: 768px) {
  .p-index__serviceLinkOverlayInner {
    opacity: 0;
    visibility: hidden;
  }
}

.p-index__serviceLinkOverlayInner.-hasOption {
  padding-top: 35px;
}

.p-index__serviceLinkOverlayTxt {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  width: 224px;
}

ul.p-index__serviceLinkOverlayOptionList {
  position: relative;
  z-index: 2;
}

ul.p-index__serviceLinkOverlayOptionList li {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1em;
  position: relative;
  text-align: left;
  width: 224px;
}

ul.p-index__serviceLinkOverlayOptionList li::before {
  content: '・';
  left: 0;
  position: absolute;
  top: 0;
}

ul.p-index__serviceLinkOverlayOptionList li a {
  color: #005192;
  text-decoration: none;
}

@media all and (min-width: 768px) {
  ul.p-index__serviceLinkOverlayOptionList li a:hover {
    text-decoration: underline;
  }
}

.p-index__news {
  margin-top: 100px;
  padding-bottom: 105px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-index__news {
    margin-top: 60px;
    padding-bottom: 60px;
  }
}

.p-index__news::before {
  background-color: #edf9ff;
  content: '';
  height: calc(100% - 35px);
  left: 0;
  position: absolute;
  top: 35px;
  width: 50%;
}

@media screen and (max-width: 767px) {
  .p-index__news::before {
    left: 0;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .p-index__news::after {
    background-color: #edf9ff;
    border-radius: 0 30px 30px 0 / 0 30px 30px 0;
    content: '';
    height: calc(100% - 35px);
    left: 50%;
    position: absolute;
    top: 35px;
    width: 580px;
  }
}

.p-index__newsHeading {
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-index__newsHeading img {
  margin-left: auto;
  margin-right: auto;
  width: 133px;
}

.p-index__newsNewsList {
  margin-top: 45px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-index__newsNewsList {
    margin-top: 25px;
  }
}

.p-index__newsBtn {
  align-items: center;
  background-color: #f1db28;
  border-radius: 40px;
  box-shadow: 8px 8px 15px rgba(0, 0, 0, 0.1);
  color: #005192;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  height: 80px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-decoration: none;
  z-index: 1;
}

@media all and (min-width: 768px) {
  .p-index__newsBtn {
    width: 560px;
  }
}

@media screen and (max-width: 767px) {
  .p-index__newsBtn {
    background-size: 10px 18px;
    border-radius: 35px;
    height: 70px;
    max-width: 305px;
  }
}

@media all and (min-width: 768px) {
  .p-index__newsBtn:hover {
    background-color: #005192;
    color: #fff;
  }
}

@media all and (min-width: 768px) {
  .p-index__newsBtn:hover::before {
    background-color: transparent;
  }
}

@media all and (min-width: 768px) {
  .p-index__newsBtn:hover i {
    -webkit-animation-delay: 0s;
    -webkit-animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    -webkit-animation-name: bounceRight;
    -webkit-animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
    animation-delay: 0s;
    animation-duration: .4s;
    animation-fill-mode: both;
    animation-name: bounceRight;
    animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
  }
}

@media all and (min-width: 768px) {
  .p-index__newsBtn:hover i::after {
    border-right-color: #fff;
    border-top-color: #fff;
  }
}

.p-index__newsBtn span {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.p-index__newsBtn i {
  height: 10px;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
}

.p-index__newsBtn i::after {
  border-right: 2px solid #005192;
  border-top: 2px solid #005192;
  content: '';
  display: block;
  height: 10px;
  transform: rotate(45deg) translateY(-50%);
  width: 10px;
}

@media screen and (max-width: 767px) {
  .p-index__newsBtn i::after {
    height: 10px;
    width: 10px;
  }
}

.p-index__bnr {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-index__bnr {
    margin-top: 60px;
  }
}

.p-index__bnr a {
  box-shadow: 8px 8px 15px rgba(0, 0, 0, 0.1);
  display: block;
}

@media all and (min-width: 768px) {
  .p-index__bnr a:hover {
    opacity: .8;
  }
}

.p-index__bnr a img {
  vertical-align: bottom;
}

.p-index__campaign {
  margin-top: 100px;
  padding-bottom: 100px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-index__campaign {
    background-color: #d8f5eb;
    margin-top: 55px;
    padding-bottom: 140px;
    padding-top: 20px;
  }
}

@media all and (min-width: 768px) {
  .p-index__campaign::before {
    background-color: #d8f5eb;
    content: '';
    height: calc(100% - 49px);
    left: 0;
    position: absolute;
    top: 40px;
    width: 100%;
  }
}

.p-index__campaignHeading {
  position: relative;
  text-align: center;
  z-index: 1;
}

.p-index__campaignHeading img {
  margin-left: auto;
  margin-right: auto;
  width: 182px;
}

ul.p-index__campaignCampaignList {
  margin-top: 60px;
}

.p-index__campaignBtn {
  align-items: center;
  background-color: #f1db28;
  border-radius: 40px;
  box-shadow: 8px 8px 15px rgba(0, 0, 0, 0.1);
  color: #005192;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  height: 80px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  text-decoration: none;
  z-index: 1;
}

@media all and (min-width: 768px) {
  .p-index__campaignBtn {
    width: 560px;
  }
}

@media screen and (max-width: 767px) {
  .p-index__campaignBtn {
    background-size: 10px 18px;
    border-radius: 35px;
    height: 70px;
    max-width: 305px;
  }
}

@media all and (min-width: 768px) {
  .p-index__campaignBtn:hover {
    background-color: #005192;
    color: #fff;
  }
}

@media all and (min-width: 768px) {
  .p-index__campaignBtn:hover::before {
    background-color: transparent;
  }
}

@media all and (min-width: 768px) {
  .p-index__campaignBtn:hover i {
    -webkit-animation-delay: 0s;
    -webkit-animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    -webkit-animation-name: bounceRight;
    -webkit-animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
    animation-delay: 0s;
    animation-duration: .4s;
    animation-fill-mode: both;
    animation-name: bounceRight;
    animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
  }
}

@media all and (min-width: 768px) {
  .p-index__campaignBtn:hover i::after {
    border-right-color: #fff;
    border-top-color: #fff;
  }
}

.p-index__campaignBtn span {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.p-index__campaignBtn i {
  height: 10px;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
}

.p-index__campaignBtn i::after {
  border-right: 2px solid #005192;
  border-top: 2px solid #005192;
  content: '';
  display: block;
  height: 10px;
  transform: rotate(45deg) translateY(-50%);
  width: 10px;
}

@media screen and (max-width: 767px) {
  .p-index__campaignBtn i::after {
    height: 10px;
    width: 10px;
  }
}

.p-news__nav {
  margin-top: 55px;
}

ul.p-news__yearList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  ul.p-news__yearList {
    margin-bottom: -10px;
  }
}

@media screen and (max-width: 767px) {
  ul.p-news__yearList li {
    margin-bottom: 10px;
    width: calc(50% - 8px);
  }
}

@media screen and (max-width: 767px) {
  ul.p-news__yearList li:nth-child(2n + 3) {
    margin-left: 0;
  }
}

ul.p-news__yearList li + li {
  margin-left: 16px;
}

ul.p-news__yearList li a {
  align-items: center;
  background-image: url(../img/project/news/arrow.svg);
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 19px 11px;
  border: 1px solid #bababa;
  border-radius: 24px;
  color: #005192;
  display: flex;
  font-size: 20px;
  font-weight: 700;
  height: 48px;
  justify-content: center;
  text-decoration: none;
  width: 178px;
}

@media screen and (max-width: 767px) {
  ul.p-news__yearList li a {
    background-position: right 8px center;
    background-size: 10px 18px;
    border-radius: 20px;
    font-size: 18px;
    height: 40px;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  ul.p-news__yearList li a:hover {
    background-color: #edf9ff;
  }
}

.p-news__body {
  margin-top: 50px;
}

.p-news__year + .p-news__year {
  margin-top: 105px;
}

@media screen and (max-width: 767px) {
  .p-news__year + .p-news__year {
    margin-top: 50px;
  }
}

.p-news__yearHeading {
  align-items: center;
  background-color: #d8f5eb;
  border-radius: 30px;
  display: flex;
  font-size: 24px;
  font-weight: 700;
  height: 60px;
  padding-left: 50px;
  padding-right: 50px;
}

@media screen and (max-width: 767px) {
  .p-news__yearHeading {
    border-radius: 25px;
    font-size: 20px;
    height: 50px;
    padding-left: 25px;
    padding-right: 25px;
  }
}

.p-news__yearNewsList {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .p-policy {
    padding-bottom: 0;
  }
}

.p-policy__slogan {
  margin-top: 60px;
  padding-bottom: 95px;
  padding-top: 90px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-policy__slogan {
    margin-top: 40px;
    padding: 40px 20px 50px 20px;
    padding-bottom: 50px;
  }
}

.p-policy__slogan::before {
  background-image: url(../img/project/policy/slogan-bg.jpg);
  background-size: cover;
  border-radius: 40px;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 1500px;
}

@media screen and (max-width: 767px) {
  .p-policy__slogan::before {
    width: calc(100% - 20px - 20px);
  }
}

.p-policy__sloganHeading {
  margin-bottom: 25px;
}

.p-policy__sloganHeading img {
  margin-left: auto;
  margin-right: auto;
  width: 587px;
}

@media screen and (max-width: 767px) {
  .p-policy__sloganHeading img {
    max-width: 280px;
  }
}

.p-policy__sloganTxt {
  font-size: 16px;
  line-height: 1.968;
}

@media all and (min-width: 768px) {
  .p-policy__sloganTxt {
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .p-policy__sloganTxt {
    font-size: 15px;
    line-height: 1.64;
  }
}

.p-policy__sloganTxt + .p-policy__sloganTxt {
  margin-top: 30px;
}

.p-policy__spirit {
  margin-top: -40px;
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .p-policy__spirit {
    margin-top: -15px;
    padding-bottom: 50px;
  }
}

.p-policy__spiritHeading img {
  margin-left: auto;
  margin-right: auto;
  width: 941px;
}

@media screen and (max-width: 767px) {
  .p-policy__spiritHeading img {
    max-width: 330px;
  }
}

ul.p-policy__spiritPointList {
  margin-top: 60px;
}

@media all and (min-width: 768px) {
  ul.p-policy__spiritPointList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 20px;
    margin-right: 20px;
  }
}

ul.p-policy__spiritPointList li {
  margin-top: 30px;
  position: relative;
}

@media all and (min-width: 768px) {
  ul.p-policy__spiritPointList li {
    width: 445px;
  }
}

.p-policy__spiritPoint {
  font-size: 18px;
  line-height: 2.027;
  position: relative;
}

@media all and (min-width: 768px) {
  .p-policy__spiritPoint {
    padding-left: 85px;
  }
}

@media screen and (max-width: 767px) {
  .p-policy__spiritPoint {
    font-size: 15px;
    line-height: 1.75;
  }
}

@media all and (min-width: 768px) {
  .p-policy__spiritPoint.-second {
    left: 0;
    position: absolute;
    top: 50px;
  }
}

@media all and (min-width: 768px) {
  .p-policy__spiritPoint.-fourth {
    left: 0;
    position: absolute;
    top: 20px;
  }
}

@media all and (min-width: 768px) {
  .p-policy__spiritPoint.-sixth {
    left: 0;
    position: absolute;
    top: 50px;
  }
}

.p-policy__spiritPoint span {
  font-family: "Lobster", cursive;
  font-size: 62px;
  line-height: 1;
}

@media all and (min-width: 768px) {
  .p-policy__spiritPoint span {
    left: 0;
    position: absolute;
    top: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-policy__spiritPoint span {
    display: block;
    margin-bottom: 15px;
    text-align: center;
  }
}

.p-policy__things {
  padding-top: 90px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-policy__things {
    background-color: #d8f5eb;
    padding-bottom: 60px;
    padding-top: 60px;
  }
}

@media all and (min-width: 768px) {
  .p-policy__things::before {
    background-color: #d8f5eb;
    content: '';
    height: 920px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}

.p-policy__thingsHeading {
  position: relative;
  z-index: 1;
}

.p-policy__thingsHeading img {
  margin-left: auto;
  margin-right: auto;
  width: 663px;
}

@media screen and (max-width: 767px) {
  .p-policy__thingsHeading img {
    max-width: 232px;
  }
}

ul.p-policy__thingsPointList {
  margin-top: 60px;
}

@media all and (min-width: 768px) {
  ul.p-policy__thingsPointList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

@media screen and (max-width: 767px) {
  ul.p-policy__thingsPointList {
    margin-top: 40px;
  }
}

ul.p-policy__thingsPointList li {
  margin-top: 15px;
  width: 328px;
}

@media all and (min-width: 768px) {
  ul.p-policy__thingsPointList li {
    height: 370px;
  }
}

@media all and (min-width: 768px) {
  ul.p-policy__thingsPointList li.-wide {
    width: 496px;
  }
}

.p-policy__thingsPoint {
  height: 100%;
}

.p-policy__thingsPointHeading {
  border-bottom: 1px solid #bababa;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .1em;
  padding-top: 60px;
  text-align: center;
}

@media all and (min-width: 768px) {
  .p-policy__thingsPointHeading {
    height: 180px;
  }
}

@media screen and (max-width: 767px) {
  .p-policy__thingsPointHeading {
    padding-bottom: 30px;
  }
}

.p-policy__thingsPointHeading span {
  display: block;
  font-family: "Lobster", cursive;
  font-size: 48px;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 25px;
}

.p-policy__thingsPointTxt {
  font-size: 16px;
  line-height: 1.75;
  padding-left: 45px;
  padding-right: 45px;
  padding-top: 35px;
}

@media screen and (max-width: 767px) {
  .p-policy__thingsPointTxt {
    font-size: 15px;
    line-height: 1.75;
    padding-bottom: 50px;
    padding-left: 40px;
    padding-right: 40px;
  }
}

.p-privacy__intro {
  margin-top: 55px;
  padding-bottom: 65px;
  padding-top: 65px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-privacy__intro {
    margin-top: 40px;
    padding-bottom: 40px;
    padding-top: 40px;
  }
}

.p-privacy__intro::before {
  background-color: #d8f5eb;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  width: 580px;
}

@media all and (min-width: 768px) {
  .p-privacy__intro::before {
    border-radius: 30px 0 0 30px / 30px 0 0 30px;
    transform: translateX(-580px);
  }
}

@media screen and (max-width: 767px) {
  .p-privacy__intro::before {
    left: 0;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .p-privacy__intro::after {
    background-color: #d8f5eb;
    content: '';
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    width: 50%;
  }
}

.p-privacy__introTxt {
  font-size: 20px;
  line-height: 1.575;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-privacy__introTxt {
    font-size: 16px;
    line-height: 1.968;
  }
}

.p-privacy__body {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-privacy__body {
    margin-top: 60px;
  }
}

.p-privacy__heading {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {
  .p-privacy__heading {
    font-size: 20px;
  }
}

.p-privacy__heading + .p-privacy__txt {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-privacy__heading + .p-privacy__txt {
    margin-top: 35px;
  }
}

.p-privacy__txt {
  font-size: 16px;
  line-height: 2.062;
}

@media screen and (max-width: 767px) {
  .p-privacy__txt {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-privacy__txt + .p-privacy__heading {
  margin-top: 85px;
}

@media screen and (max-width: 767px) {
  .p-privacy__txt + .p-privacy__heading {
    margin-top: 60px;
  }
}

.p-privacy__txt + ul.p-privacy__orderedList {
  margin-top: 30px;
}

@media all and (min-width: 768px) {
  ul.p-privacy__orderedList {
    margin-left: 30px;
  }
}

ul.p-privacy__orderedList + .p-privacy__heading {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  ul.p-privacy__orderedList + .p-privacy__heading {
    margin-top: 60px;
  }
}

ul.p-privacy__orderedList li {
  font-size: 16px;
  line-height: 2.062;
  padding-left: 1.2em;
  text-indent: -1.2em;
}

@media screen and (max-width: 767px) {
  ul.p-privacy__orderedList li {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-single__header {
  margin-top: 55px;
  padding-bottom: 65px;
  padding-top: 65px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-single__header {
    margin-top: 40px;
    padding-bottom: 40px;
    padding-top: 40px;
  }
}

.p-single__header::before {
  background-color: #d8f5eb;
  content: '';
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  width: 580px;
}

@media all and (min-width: 768px) {
  .p-single__header::before {
    border-radius: 30px 0 0 30px / 30px 0 0 30px;
    transform: translateX(-580px);
  }
}

@media screen and (max-width: 767px) {
  .p-single__header::before {
    left: 0;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .p-single__header::after {
    background-color: #d8f5eb;
    content: '';
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    width: 50%;
  }
}

.p-single__heading {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.575;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-single__heading {
    font-size: 18px;
  }
}

.p-single__date {
  font-size: 16px;
  margin-top: 20px;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-single__date {
    font-size: 15px;
  }
}

.p-single__body {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p-single__body {
    margin-top: 60px;
  }
}

.p-single__body * + *:not(li) {
  margin-top: 30px;
}

.p-single__body p {
  font-size: 16px;
  line-height: 2.062;
}

@media screen and (max-width: 767px) {
  .p-single__body p {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-single__body ul {
  font-size: 16px;
  list-style: none;
  padding-left: 0;
}

@media all and (min-width: 768px) {
  .p-single__body ul {
    margin-left: 2em;
  }
}

.p-single__body ul li {
  font-size: 16px;
  line-height: 2.062;
  padding-left: 1em;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-single__body ul li {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-single__body ul li::before {
  content: '・';
  left: 0;
  position: absolute;
  top: 0;
}

.p-single__body figure img {
  margin-left: auto;
  margin-right: auto;
}

.p-single__body strong {
  font-weight: 700;
}

.p-ss {
  padding-bottom: 0;
}

.p-ss__areaHeading {
  align-items: center;
  display: flex;
  font-size: 30px;
  font-weight: 700;
  height: 120px;
  justify-content: center;
  letter-spacing: .1em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-ss__areaHeading {
    font-size: 24px;
    height: 80px;
  }
}

.p-ss__areaBody {
  background-color: #d8f5eb;
  padding-bottom: 95px;
  padding-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-ss__areaBody {
    padding-bottom: 20px;
    padding-top: 40px;
  }
}

ul.p-ss__areaShopList {
  margin-top: -8px;
}

@media all and (min-width: 768px) {
  ul.p-ss__areaShopList {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  ul.p-ss__areaShopList {
    margin-top: -22px;
  }
}

ul.p-ss__areaShopList > li {
  margin-top: 8px;
}

@media all and (min-width: 768px) {
  ul.p-ss__areaShopList > li {
    width: 328px;
  }
}

@media screen and (max-width: 767px) {
  ul.p-ss__areaShopList > li {
    margin-top: 22px;
  }
}

@media all and (min-width: 768px) {
  ul.p-ss__areaShopList > li + li {
    margin-left: 8px;
  }
}

@media all and (min-width: 768px) {
  ul.p-ss__areaShopList > li:nth-child(3n + 4) {
    margin-left: 0;
  }
}

.p-ss__shopSumally {
  height: 100%;
  padding: 0 15px 20px 15px;
}

@media all and (min-width: 768px) {
  .p-ss__shopSumally {
    padding-bottom: 90px;
    position: relative;
  }
}

.p-ss_shopSumallyHeader {
  align-items: center;
  border-bottom: 1px solid #bababa;
  display: flex;
  height: 100px;
  justify-content: center;
  margin-bottom: 30px;
  margin-left: -15px;
  margin-right: -15px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-ss_shopSumallyHeader {
    height: 90px;
    margin-bottom: 20px;
  }
}

.p-ss_shopSumallyName {
  align-items: center;
  display: flex;
  font-size: 22px;
  height: 53px;
  justify-content: center;
  line-height: 1.204;
  padding-bottom: 10px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-ss_shopSumallyName {
    padding-bottom: 15px;
  }
}

.p-ss_shopSumallyCatList {
  align-items: flex-end;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 100%;
}

.p-ss_shopSumallyCatList li + li {
  margin-left: 3px;
}

@media all and (min-width: 768px) {
  .p-ss_shopSumallyCatList li a:hover img {
    opacity: .8;
  }
}

.p-ss_shopSumallyCatList li a img {
  vertical-align: bottom;
}

.p-ss_shopSumallyCatList li a img.-keeper {
  width: 144px;
}

.p-ss_shopSumallyCatList li a img.-rakuten {
  width: 94px;
}

.p-ss__shopSumallyAddress {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.p-ss__shopSumallyTel {
  font-size: 28px;
  font-weight: 700;
  margin-top: 20px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-ss__shopSumallyTel {
    margin-top: 15px;
  }
}

.p-ss__shopSumallyTel a {
  color: #005192;
  position: relative;
}

.p-ss__shopSumallyTel a::before {
  background-image: url(../img/project/ss/phone.svg);
  background-repeat: no-repeat;
  background-size: 17px 26px;
  content: '';
  height: 26px;
  left: -24px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 17px;
}

.p-ss__shopSumallyAction {
  margin-top: 20px;
}

@media all and (min-width: 768px) {
  .p-ss__shopSumallyAction.-detail {
    bottom: 20px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
  }
}

@media all and (min-width: 768px) {
  .p-ss__shopSumallyAction a:hover img {
    opacity: .8;
  }
}

.p-ss__shopSumallyAction a img.-line {
  margin-left: auto;
  margin-right: auto;
  width: 145px;
}

.p-ss__shopSumallyBtn {
  align-items: center;
  background-color: #f1db28;
  border-radius: 25px;
  color: #005192;
  display: flex;
  font-size: 18px;
  font-weight: 700;
  height: 50px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 298px;
  position: relative;
  text-align: center;
  text-decoration: none;
}

@media all and (min-width: 768px) {
  .p-ss__shopSumallyBtn {
    width: 298px;
  }
}

@media all and (min-width: 768px) {
  .p-ss__shopSumallyBtn:hover {
    background-color: #005192;
    color: #fff;
  }
}

@media all and (min-width: 768px) {
  .p-ss__shopSumallyBtn:hover::before {
    background-color: transparent;
  }
}

@media all and (min-width: 768px) {
  .p-ss__shopSumallyBtn:hover i {
    -webkit-animation-delay: 0s;
    -webkit-animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    -webkit-animation-name: bounceRight;
    -webkit-animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
    animation-delay: 0s;
    animation-duration: .4s;
    animation-fill-mode: both;
    animation-name: bounceRight;
    animation-timing-function: cubic-bezier(0.5, 0.03, 0.5, 0.9);
  }
}

@media all and (min-width: 768px) {
  .p-ss__shopSumallyBtn:hover i::after {
    border-right-color: #fff;
    border-top-color: #fff;
  }
}

.p-ss__shopSumallyBtn span {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.p-ss__shopSumallyBtn i {
  height: 10px;
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
}

.p-ss__shopSumallyBtn i::after {
  border-right: 2px solid #005192;
  border-top: 2px solid #005192;
  content: '';
  display: block;
  height: 10px;
  transform: rotate(45deg) translateY(-50%);
  width: 10px;
}

@media screen and (max-width: 767px) {
  .p-ss__shopSumallyBtn i::after {
    height: 10px;
    width: 10px;
  }
}

.p-ssDetail__header {
  margin-top: 55px;
  padding-top: 65px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-ssDetail__header {
    margin-top: 40px;
    padding-top: 40px;
  }
}

.p-ssDetail__header::before {
  background-color: #d8f5eb;
  content: '';
  height: 400px;
  left: 50%;
  position: absolute;
  top: 0;
  width: 580px;
}

@media all and (min-width: 768px) {
  .p-ssDetail__header::before {
    border-radius: 30px 0 0 30px / 30px 0 0 30px;
    transform: translateX(-580px);
  }
}

@media screen and (max-width: 767px) {
  .p-ssDetail__header::before {
    height: 220px;
    left: 0;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
  .p-ssDetail__header::after {
    background-color: #d8f5eb;
    content: '';
    height: 400px;
    left: 50%;
    position: absolute;
    top: 0;
    width: 50%;
  }
}

.p-ssDetail__name {
  font-size: 30px;
  font-weight: 700;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .p-ssDetail__name {
    font-size: 24px;
  }
}

.p-ssDetail__line {
  margin-top: 15px;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media all and (min-width: 768px) {
  .p-ssDetail__line a:hover img {
    opacity: .8;
  }
}

.p-ssDetail__line a img {
  margin-left: auto;
  margin-right: auto;
  width: 145px;
}

.p-ssDetail__body {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-ssDetail__body {
    margin-top: 40px;
  }
}

.p-ssDetail__panel {
  padding: 52px 52px 56px 52px;
}

@media screen and (max-width: 767px) {
  .p-ssDetail__panel {
    padding: 40px 20px;
  }
}

@media all and (min-width: 768px) {
  .p-ssDetail__twoCols {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

@media all and (min-width: 768px) {
  .p-ssDetail__outline {
    width: 436px;
  }
}

.p-ssDetail__outlineInfo div {
  border-bottom: 1px solid #bababa;
  padding-bottom: 20px;
}

@media all and (min-width: 768px) {
  .p-ssDetail__outlineInfo div {
    display: flex;
  }
}

.p-ssDetail__outlineInfo div + div {
  margin-top: 20px;
}

.p-ssDetail__outlineInfo dt {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.968;
}

@media all and (min-width: 768px) {
  .p-ssDetail__outlineInfo dt {
    width: 105px;
  }
}

@media screen and (max-width: 767px) {
  .p-ssDetail__outlineInfo dt {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-ssDetail__outlineInfo dd {
  font-size: 16px;
  line-height: 1.968;
}

@media all and (min-width: 768px) {
  .p-ssDetail__outlineInfo dd {
    width: calc(100% - 105px);
  }
}

@media screen and (max-width: 767px) {
  .p-ssDetail__outlineInfo dd {
    font-size: 15px;
    line-height: 1.75;
  }
}

.p-ssDetail__outlineInfo dd a {
  color: #005192;
}

@media all and (min-width: 768px) {
  .p-ssDetail__outlineInfo dd a:hover {
    text-decoration: underline;
  }
}

ul.p-ssDetail__labelList {
  display: flex;
  flex-wrap: wrap;
  margin-top: -2px;
}

ul.p-ssDetail__labelList li {
  line-height: 1;
  margin-right: 3px;
  margin-top: 5px;
}

ul.p-ssDetail__labelList li a {
  display: inline-block;
}

ul.p-ssDetail__labelList li a img {
  height: 28px;
  vertical-align: bottom;
  width: auto;
}

.p-ssDetail__label {
  align-items: center;
  background-color: #dff3fe;
  border-radius: 5px;
  display: inline-flex;
  font-size: 14px;
  height: 28px;
  justify-content: center;
  line-height: 1;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
  white-space: nowrap;
}

@media all and (min-width: 768px) {
  .p-ssDetail__map {
    width: 430px;
  }
}

.p-ssDetail__map iframe {
  height: 450px;
  width: 100%;
}

@media all and (min-width: 768px) {
  .u-d-n-pc {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-d-n-sp {
    display: none !important;
  }
}

.u-mt-0 {
  margin-top: 0 !important;
}


/* MVモーダル */
.mv_modal_btn {
  position: absolute;
  width: 100%;
  top: 68%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
  z-index: 100;
}
.mv_modal_btn .modal_open {
  margin: 0 auto;
  color: #fff;
  font-weight: 700;
  border: 2px solid #fff;
  background: rgba(0,0,0,.2);
  border-radius: 100px;
  padding: 14px 26px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  display: inline-block;
}
body {
  /* モーダルを開いたときにレイアウトが崩れる場合は幅を指定する */
  width: 100%;
}
.bodyLock {
  /* bodyを固定する */
  position: fixed;
}
.modal_content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  overflow: auto;
  z-index: 9999;
  background-color: rgba(0,0,0,.7);
}
.modal_content:not(.active) {
  display: none;
}
.modal_wrap {
  position: absolute;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  width: 100%;
}
.modal_inner {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  top: 0;
  left: 0;
  right: 0;
  margin: 80px 10%;
  width: 80%;
  max-width: 1200px;
}
.modal_close {
  position: relative;
  z-index: 2;
  border-radius: 100%;
  transition: all .3s;
  width: 60px;
  height: 60px;
  margin-left: auto;
  margin-right: 0;
  cursor: pointer;
}
.modal_close:hover {
  opacity: .8;
}
.modal_close::before,
.modal_close::after {
  content: '';
  position: absolute;
  width: 60px;
  height: 2px;
  background-color: #fff;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
.modal_close::before {
  transform: rotate(-45deg);
}
.modal_close::after {
  transform: rotate(45deg);
}
.modal_movie {
  position: relative;
  width: 100%;
  padding-top: 56.4%;
}
.modal_movie iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .modal_inner {
    width: 95%;
  }
}
