@charset "UTF-8";
@media (min-width: 768px) {
  .sp-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}
@-webkit-keyframes float {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes float {
  0% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
/*------------------------------------------------------------
	clearfix（float解除）
------------------------------------------------------------*/
.u-clearfix {
  *zoom: 1;
}
.u-clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/*------------------------------------------------------------
    Default
------------------------------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header, button,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 1em;
}

html {
  font-size: 62.5%;
}

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

body, table,
input, textarea, select, option, button,
h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  font-family: "heisei-kaku-gothic-stdn", sans-serif;
}

table,
input, textarea, select, option {
  line-height: 1.5;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

img {
  vertical-align: middle;
  max-width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

iframe {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

table {
  width: 100%;
  border-collapse: collapse;
}

a {
  color: #555555;
  text-decoration: none;
  display: inline-block;
  -webkit-transition: all 0.5s !important;
  transition: all 0.5s !important;
}

a:hover,
a:hover img {
  opacity: 0.8 !important;
  filter: alpha(opacity=80) !important;
  -ms-filter: "alpha(opacity=80)" !important;
}

.u-pd70 {
  padding: 70px 0;
}
@media screen and (max-width: 767px) {
  .u-pd70 {
    padding: 60px 0;
  }
}

.u-bgcover {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.u-df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .u-df {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.u-df--jf {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.u-df--al {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.u-df-left, .u-df-right {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .u-df-left, .u-df-right {
    width: 100%;
  }
}

.u-slheight .slick-track {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
.u-slheight .slick-slide {
  height: inherit !important;
}

.u-hover .u-bgcover {
  display: block;
  overflow: hidden;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  position: relative;
}

.u-hover .u-bgcover:after {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  position: absolute;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.u-hover:hover .u-bgcover:after {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/*------------------------------------------------------------
  effect（ページ遷移）
------------------------------------------------------------*/
.u-effect {
  position: relative;
}

.u-effect::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ECF7F1;
  background-image: url(../images/common/h-logo.svg);
  background-size: 247px;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 9998;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease;
  transition: opacity 0.6s ease;
}
@media screen and (max-width: 767px) {
  .u-effect::after {
    background-size: 140px;
  }
}

.u-effect.show::after {
  opacity: 1;
}

.u-effect.show article {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

/*------------------------------------------------------------
	Layout
------------------------------------------------------------*/
body {
  color: #000;
  line-height: 1.5;
  font-weight: 400;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.5rem;
  }
}

.l-container {
  width: 1260px;
  margin: 0 auto;
}
@media screen and (max-width: 1265px) and (min-width: 767px) {
  .l-container {
    width: 94%;
  }
}
@media screen and (max-width: 767px) {
  .l-container {
    width: 92%;
  }
}

section {
  position: relative;
}

section:not(:first-child) {
  overflow: hidden;
}

/*------------------------------------------------------------
header
------------------------------------------------------------*/
.l-header {
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  padding: 18px 0;
  position: fixed;
}
.l-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  z-index: 9999;
  top: 35px;
  right: 30px;
  position: fixed;
  cursor: pointer;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .l-header__menu {
    width: 50px;
    height: 50px;
  }
}
.l-header__menu div {
  position: relative;
  width: 40px;
  height: 30px;
}
@media screen and (max-width: 767px) {
  .l-header__menu div {
    width: 30px;
    height: 22px;
  }
}
.l-header__menu span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 6px;
  background: #5A605C;
  border-radius: 20px;
  -webkit-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}
@media screen and (max-width: 767px) {
  .l-header__menu span {
    height: 3px;
  }
}
.l-header__menu span:nth-child(1) {
  top: 0px;
}
.l-header__menu span:nth-child(2) {
  top: 13px;
}
@media screen and (max-width: 767px) {
  .l-header__menu span:nth-child(2) {
    top: 10px;
  }
}
.l-header__menu span:nth-child(3) {
  top: 26px;
}
@media screen and (max-width: 767px) {
  .l-header__menu span:nth-child(3) {
    top: 20px;
  }
}
.l-header__menu.on span:nth-child(1) {
  top: 13px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.l-header__menu.on span:nth-child(2) {
  width: 0;
  left: 50%;
}
.l-header__menu.on span:nth-child(2)::before, .l-header__menu.on span:nth-child(2)::after {
  width: 0;
  height: 0;
}
.l-header__menu.on span:nth-child(3) {
  top: 13px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.l-header__nav {
  visibility: hidden;
  position: relative;
  z-index: 100;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.l-header__nav.open {
  visibility: visible;
  -webkit-transition: opacity 0.24s ease;
  transition: opacity 0.24s ease;
}
.l-header__nav.open .l-header__nav-bg {
  visibility: visible;
  opacity: 1;
}
.l-header__nav.open .l-header__nav-wrap {
  visibility: visible;
  opacity: 1;
}
.l-header__nav-bg {
  display: block;
  position: fixed;
  z-index: 100;
  width: 100vw;
  height: 100vh;
  background: #E6F5FF;
  visibility: hidden;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}
.l-header__nav-wrap {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  right: 0;
  z-index: 998;
  width: 100%;
  height: 100vh;
  margin-left: 0;
  background-color: #E6F5FF;
  text-align: left;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .l-header__nav-wrap {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}
.l-header__nav--logo {
  text-align: center;
  -webkit-animation-name: gnaviAnime;
          animation-name: gnaviAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (max-width: 767px) {
  .l-header__nav--logo {
    max-width: 140px;
    margin: 0 auto;
  }
}
@-webkit-keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes gnaviAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.l-header__nav--inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 395px;
  margin: 8% auto 0;
}
@media screen and (max-width: 767px) {
  .l-header__nav--inner {
    max-width: 304px;
    margin: 60px auto 0;
  }
}
.l-header__nav--list {
  position: relative;
}
.l-header__nav--list li {
  opacity: 0;
  -webkit-transform: translate3d(0, 3rem, 0);
          transform: translate3d(0, 3rem, 0);
  -webkit-transition: opacity 0.4s linear, -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.4s linear, -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.4s linear, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.l-header__nav--list li.fade {
  opacity: 1;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.l-header__nav--list > li + li {
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .l-header__nav--list > li + li {
  }
}
.l-header__nav--list a {
  color: #5AB9FC;
  font-size: 20px;
  font-weight: 600;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .l-header__nav--list a {
    font-size: 1.6rem;
  }
}
.l-header__nav--sub {
  margin-left: 3px;
}
.l-header__nav--sub li {
  margin-top: 10px;
}
.l-header__nav--sub a {
  font-size: 18px;
}


/*------------------------------------------------------------
footer
------------------------------------------------------------*/
.l-footer {
  text-align: center;
  background-color: #dbefe8;
}
.l-footer__inner {
  padding: 70px 0 35px;
}
.l-footer__address {
  margin-top: 50px;
}
.l-footer__copyright {
  font-size: 14px;
  padding-top: 30px;
}

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

/*------------------------------------------------------------
    c-title
------------------------------------------------------------*/
.c-title01 {
  color: #3B99D5;
  font-size: 33px;
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 60px;
}

/*------------------------------------------------------------
    c-btn
------------------------------------------------------------*/
/*------------------------------------------------------------
    c-list
------------------------------------------------------------*/
/*------------------------------------------------------------
    c-table
------------------------------------------------------------*/
/*------------------------------------------------------------
	c-other
------------------------------------------------------------*/
.slick-arrow {
  display: block;
  overflow: hidden;
  color: transparent;
  text-decoration: none;
  text-indent: 110%;
  white-space: nowrap;
  font-size: 0;
  position: absolute;
  top: 50%;
  width: 74px;
  height: 74px;
  padding: 0;
  line-height: 0;
  outline: none;
  cursor: pointer;
  z-index: 1;
  border-radius: 50%;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .slick-arrow {
    width: 60px;
    height: 60px;
  }
}

.slick-arrow:hover, .slick-arrow:focus {
  opacity: 0.8;
}

.slick-arrow.slick-disabled:before {
  opacity: 0.25;
}

.slick-arrow::before {
  display: block;
  content: "";
  width: 35px;
  height: 21px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
}
@media screen and (max-width: 767px) {
  .slick-arrow::before {
    background-size: 80% !important;
  }
}

.slick-prev {
  left: -19px;
}
@media screen and (max-width: 767px) {
  .slick-prev {
    left: -5px;
  }
}

.slick-next {
  right: -19px;
}
@media screen and (max-width: 767px) {
  .slick-next {
    right: -5px;
  }
}

.slick-next::before {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}

.slick-dots {
  left: 0;
  right: 0;
  z-index: 2;
  text-align: center;
  position: absolute;
}

.slick-dots li {
  position: relative;
  cursor: pointer;
}

.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  outline: none;
  line-height: 0;
  color: transparent;
  cursor: pointer;
  position: relative;
}

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

.slick-dots li button:hover,
.slick-dots li button:focus {
  /* background-color: #fff; */
}

.slick-dots li.slick-active button {
  /* background-color: #fff; */
}

/* section-mainvisual
------------------------------------------------------------*/
.s-mainvisual {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .s-mainvisual {
    padding: 15px;
  }
}
.s-mainvisual__inner {
  height: 350px;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
}
.s-mainvisual__inner:after {
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  background-color: #7996CC;
  mix-blend-mode: overlay;
}
@media screen and (max-width: 767px) {
  .s-mainvisual__inner {
    height: 280px;
  }
}


/* c-breadcrumb
------------------------------------------------------------*/
.c-breadcrumb {
  border-bottom: 1px solid #DBDEEA;
}
.c-breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.c-breadcrumb li {
  z-index: 1;
  color: #525252;
  font-size: 14px;
  padding: 10px 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.c-breadcrumb li a {
  color: #001847;
}
.c-breadcrumb li:after {
  content: ">";
  color: #001847;
  margin: 0 12px;
}
.c-breadcrumb li:last-of-type:after {
  content: none;
}
@media screen and (max-width: 767px) {
  .c-breadcrumb li:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background-color: #fff;
  }
}

/*------------------------------------------------------------
p-top
------------------------------------------------------------*/
.p-top .s-visual {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .p-top .s-visual {
    padding: 15px;
  }
}
.p-top .s-visual__logo {
  left: 0;
  right: 0;
  top: 38.5%;
  z-index: 1;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .p-top .s-visual__logo {
    top: 40.5%;
    max-width: 140px;
  }
}
.p-top .s-visual .js .s-visual__single > div:nth-child(1n+2) {
  display: none;
}
.p-top .s-visual .js .s-visual__single.slick-initialized > div:nth-child(1n+2) {
  display: block;
}
.p-top .s-visual__single--item {
  height: 742px;
  border-radius: 20px;
  background-color: #7996CC;
  background-blend-mode: overlay;
}
@media screen and (max-width: 767px) {
  .p-top .s-visual__single--item {
    height: 500px;
  }
}
.p-top .s-visual__nav {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-top .s-visual__nav {
    margin-top: 20px;
  }
}
.p-top .s-visual__nav .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-top .s-visual__nav--item {
  width: 248px !important;
  height: 176px;
  margin: 0 13px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 1265px) and (min-width: 767px) {
  .p-top .s-visual__nav--item {
    width: 20vw !important;
    height: 13vw !important;
    margin: 0 1vw;
  }
}
@media screen and (max-width: 767px) {
  .p-top .s-visual__nav--item {
    width: 100px !important;
    height: 70px !important;
    margin: 0 5px;
  }
}
.p-top .s-visual__nav--item.is-active, .p-top .s-visual__nav--item:hover {
  opacity: 0.7;
  background-color: #7996CC;
  background-blend-mode: overlay;
  -webkit-transition: opacity 400ms linear;
  transition: opacity 400ms linear;
}
.p-top .s-about__ttl {
  font-size: 25px;
  line-height: 1.7;
  letter-spacing: 1px;
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top .s-about__ttl {
    font-size: 2rem;
  }
}
.p-top .s-about__list--item {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .p-top .s-about__list--item {
    width: 100%;
  }
  .p-top .s-about__list--item + .s-about__list--item {
    margin-top: 50px;
  }
}
.p-top .s-about__list--item.item01 {
  background-color: #E5F0FA;
}
.p-top .s-about__list--item.item01 .s-about__list--img {
  background: url(../images/top/about-img01.jpg);
}
.p-top .s-about__list--item.item02 {
  background-color: #ECF7F2;
}
.p-top .s-about__list--item.item02 .s-about__list--img {
  background: url(../images/top/about-img02.jpg);
}
.p-top .s-about__list--item.item03 {
  background-color: #E7E5FA;
}
.p-top .s-about__list--item.item03 .s-about__list--img {
  background: url(../images/top/about-img03.jpg);
}
.p-top .s-about__list--txt {
  padding: 9%;
}
@media screen and (max-width: 767px) {
  .p-top .s-about__list--txt {
    padding: 25px 25px 30px;
  }
}
.p-top .s-about__list--img {
  height: 268px;
}
@media screen and (max-width: 767px) {
  .p-top .s-about__list--img {
    height: 60vw;
    max-height: 400px;
  }
}
.p-top .s-about__list--ttl {
  font-size: 21px;
  text-align: center;
}
.p-top .s-about__list--desc {
  margin-top: 13px;
  line-height: 1.7;
  letter-spacing: 0.5px;
}
.p-top .s-feature {
  padding-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature {
    padding-top: 30px;
  }
}
.p-top .s-feature__item {
  position: relative;
  margin-bottom: 136px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item {
    margin-bottom: 80px;
  }
}
.p-top .s-feature__item:after {
  content: "";
  height: 77%;
  bottom: -40px;
  left: 0;
  right: 0;
  z-index: -1;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item:after {
    bottom: 0;
    height: 41%;
  }
}
.p-top .s-feature__item--img {
  width: 46%;
  height: 484px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--img {
    width: 100%;
    height: 80vw;
    max-height: 500px;
    border-radius: 0 !important;
  }
}
.p-top .s-feature__item--txt {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--txt {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--label {
    padding: 0 4%;
  }
}
.p-top .s-feature__item--logo {
  width: 85px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--logo {
    margin: 50px auto 0;
  }
}
.p-top .s-feature__item--ttl {
  width: calc(100% - 85px - 7%);
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--ttl {
    width: 100%;
  }
}
.p-top .s-feature__item--ttl h2 {
  font-size: 34px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--ttl h2 {
    font-size: 3rem;
    margin-top: 20px;
    text-align: center !important;
  }
}
.p-top .s-feature__item--ttl p {
  font-size: 21px;
  margin-top: 13px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--ttl p {
    font-size: 1.8rem;
  }
}
.p-top .s-feature__item--desc {
  padding: 80px 7% 0 8%;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--desc {
    padding: 60px 4%;
  }
}
.p-top .s-feature__item--desc p {
  line-height: 1.7;
}
.p-top .s-feature__item--desc ul {
  margin-top: 20px;
}
.p-top .s-feature__item--desc ul li {
  padding: 18px 25px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--desc ul li {
    padding: 16px 20px;
  }
}
.p-top .s-feature__item--desc ul li + li {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item--desc ul li + li {
    margin-top: 12px;
  }
}
.p-top .s-feature__item:nth-child(odd) {
  margin-right: calc((100% - 1260px) / 2);
}
@media screen and (max-width: 1265px) and (min-width: 767px) {
  .p-top .s-feature__item:nth-child(odd) {
    margin-right: 3%;
  }
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item:nth-child(odd) {
    margin-right: 0;
  }
}
.p-top .s-feature__item:nth-child(odd) .s-feature__item--img {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}
.p-top .s-feature__item:nth-child(even) {
  margin-left: calc((100% - 1260px) / 2);
}
@media screen and (max-width: 1265px) and (min-width: 767px) {
  .p-top .s-feature__item:nth-child(even) {
    margin-left: 3%;
  }
}
@media screen and (max-width: 767px) {
  .p-top .s-feature__item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-left: 0;
  }
  .p-top .s-feature__item:nth-child(even) .s-feature__item--label {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.p-top .s-feature__item:nth-child(even) .s-feature__item--ttl h2 {
  text-align: right;
}
.p-top .s-feature__item:nth-child(even) .s-feature__item--img {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}
.p-top .s-feature__item.item01:after {
  background-color: #ECF7F1;
}
.p-top .s-feature__item.item01 .s-feature__item--img {
  /* background: url(../images/top/kkk.webp); */
  background: url(../images/top/feature-img01.jpg);
}
.p-top .s-feature__item.item01 .s-feature__item--desc ul li {
  background-color: #dbefe8;
}
.p-top .s-feature__item.item02:after {
  background-color: #F7F3EC;
}
.p-top .s-feature__item.item02 .s-feature__item--img {
  background: url(../images/top/feature-img02.jpg);
}
.p-top .s-feature__item.item02 .s-feature__item--desc ul li {
  background-color: #F0E7DB;
}
.p-top .s-feature__item.item03:after {
  background-color: #F7F7EC;
}
.p-top .s-feature__item.item03 .s-feature__item--img {
  background: url(../images/top/feature-img03.jpg);
}
.p-top .s-feature__item.item03 .s-feature__item--desc ul li {
  background-color: #EDEDD6;
}
.p-top .s-feature__item.item04:after {
  background-color: #F7EDEC;
}
.p-top .s-feature__item.item04 .s-feature__item--img {
  background: url(../images/top/feature-img04.jpg);
}
.p-top .s-feature__item.item04 .s-feature__item--desc ul li {
  background-color: #EDDFDE;
}
.p-top .s-producer {
  background-color: #ECF7F1;
}
.p-top .s-producer__ttl {
  font-size: 34px;
  line-height: 1.7;
  letter-spacing: 1px;
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top .s-producer__ttl {
    font-size: 3rem;
  }
}
.p-top .s-producer__list--item {
  width: 31.3333333333%;
}
@media screen and (max-width: 767px) {
  .p-top .s-producer__list--item {
    width: 100%;
  }
  .p-top .s-producer__list--item + .s-producer__list--item {
    margin-top: 60px;
  }
}
.p-top .s-producer__list--item.item01 .s-producer__list--img {
  background: url(../images/top/producer-img01.jpg);
}
.p-top .s-producer__list--item.item02 .s-producer__list--img {
  background: url(../images/top/producer-img02.jpg);
}
.p-top .s-producer__list--item.item03 .s-producer__list--img {
  background: url(../images/top/producer-img03.jpg);
}
.p-top .s-producer__list--txt {
  margin-top: 23px;
}
.p-top .s-producer__list--img {
  height: 280px;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .p-top .s-producer__list--img {
    height: 65vw;
    max-height: 420px;
  }
}
.p-top .s-producer__list--ttl {
  font-size: 18px;
  text-align: center;
}
.p-top .s-producer__list--desc {
  margin-top: 20px;
  line-height: 1.7;
  letter-spacing: 0.5px;
}
.p-top .s-contact__img {
  height: 543px;
  background-image: url(../images/common/contact-bg.jpg);
  background-color: #7996CC;
  background-blend-mode: overlay;
}
@media screen and (max-width: 767px) {
  .p-top .s-contact__img {
    height: 70vw;
    max-height: 500px;
  }
}
.p-top .s-contact__txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4%;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .p-top .s-contact__txt {
    padding: 50px 4% 60px;
  }
}
.p-top .s-contact__txt--ttl {
  font-size: 25px;
}
@media screen and (max-width: 767px) {
  .p-top .s-contact__txt--ttl {
    font-size: 2.2rem;
  }
}
.p-top .s-contact__txt--tel {
  font-size: 49px;
  line-height: 1.2;
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  .p-top .s-contact__txt--tel {
    font-size: 4.5rem;
    margin-top: 37px;
  }
}
.p-top .s-contact__txt--mail {
  width: 100%;
  font-size: 18px;
  padding: 18px 0;
  max-width: 320px;
  text-align: center;
  border-radius: 33px;
  margin: 20px auto 0;
  position: relative;
  overflow: hidden;
  border: 1px solid #707070;
}
@media screen and (max-width: 767px) {
  .p-top .s-contact__txt--mail {
    font-size: 1.7rem;
    padding: 16px 0;
    max-width: 300px;
  }
}
.p-top .s-contact__txt--mail:hover:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
.p-top .s-contact__txt--mail:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #D9EFE3;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-transition-property: transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}


/*------------------------------------------------------------
p-contact
------------------------------------------------------------*/
.p-contact .s-mainvisual__inner {
  background: url(../images/contact/mainvisual.jpg);
}
.p-contact .s-descript {
  padding: 50px 0 80px;
  overflow: visible !important;
  border-bottom: 6px solid #EFEFEF;
}
@media screen and (max-width: 767px) {
  .p-contact .s-descript {
    border-bottom: 3px solid #EFEFEF;
  }
}
.p-contact .s-descript__inner {
  max-width: 746px;
}
@media screen and (max-width: 767px) {
  .p-contact .s-descript__inner {
    max-width: 100%;
  }
}
.p-contact .s-descript__desc {
  line-height: 1.7;
  text-align: center;
}

.p-contact .s-form__label {
  display: block;
  font-size: 21px;
  text-align: center;
  padding: 15px;
  font-weight: 600;
  max-width: 256px;
  margin: -35px auto 40px;
  border-radius: 36px;
  background-color: #fff;
  border: 1px solid #707070;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form__label {
    font-size: 2rem;
    padding: 13px;
    max-width: 236px;
    margin: -30px auto 40px;
  }
}

.p-contact .s-form {
  font-size: 18px;
  overflow: visible;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form {
    font-size: 1.6rem;
  }
}
.p-contact .s-form .flex-base {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-contact .s-form .flex-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-contact .s-form dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form dl {
    display: block;
  }
}
.p-contact .s-form dl:nth-child(odd) {
  background-color: #E5F0FA;
}
.p-contact .s-form dl dt {
  width: 24%;
  min-width: 230px;
  padding: 25px 1% 25px 4%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.s-form dt p {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form dl dt {
    width: 100%;
    padding: 15px 15px 10px;
  }
}
.p-contact .s-form dl dt .required {
  width: 50px;
  color: #fff;
  font-size: 15px;
  padding: 4px;
  text-align: center;
  background: #15B400;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form dl dt .required {
    font-size: 1.3rem;
  }
}
.p-contact .s-form dl dt .required.re-any {
  background-color: #919191;
}
.p-contact .s-form dl dd {
  width: 80%;
  padding: 25px;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form dl dd {
    width: 100%;
    padding: 0 15px;
  }
}
.p-contact .s-form dl input, .p-contact .s-form dl select, .p-contact .s-form dl textarea {
  width: 100%;
  height: 70px;
  padding: 15px 20px;
  font-size: 18px;
  resize: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #9B9B9B;
  background-color: #fff;
  vertical-align: middle;
  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
  -webkit-transition: border linear 0.2s, -webkit-box-shadow linear 0.2s;
  transition: border linear 0.2s, -webkit-box-shadow linear 0.2s;
  transition: border linear 0.2s, box-shadow linear 0.2s;
  transition: border linear 0.2s, box-shadow linear 0.2s, -webkit-box-shadow linear 0.2s;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form dl input, .p-contact .s-form dl select, .p-contact .s-form dl textarea {
    height: 50px;
    font-size: 1.6rem;
    padding: 10px 15px;
  }
}
.p-contact .s-form dl input::-webkit-input-placeholder, .p-contact .s-form dl select::-webkit-input-placeholder, .p-contact .s-form dl textarea::-webkit-input-placeholder {
  color: #8E8E8E;
}
.p-contact .s-form dl input::-moz-placeholder, .p-contact .s-form dl select::-moz-placeholder, .p-contact .s-form dl textarea::-moz-placeholder {
  color: #8E8E8E;
}
.p-contact .s-form dl input:-ms-input-placeholder, .p-contact .s-form dl select:-ms-input-placeholder, .p-contact .s-form dl textarea:-ms-input-placeholder {
  color: #8E8E8E;
}
.p-contact .s-form dl input::-ms-input-placeholder, .p-contact .s-form dl select::-ms-input-placeholder, .p-contact .s-form dl textarea::-ms-input-placeholder {
  color: #8E8E8E;
}
.p-contact .s-form dl input::placeholder, .p-contact .s-form dl select::placeholder, .p-contact .s-form dl textarea::placeholder {
  color: #8E8E8E;
}
.p-contact .s-form dl input:focus, .p-contact .s-form dl select:focus, .p-contact .s-form dl textarea:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  outline: thin dotted \9 ;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}
.p-contact .s-form dl input[type=radio] {
  width: 25px;
  height: 25px;
  margin-right: 10px;
  vertical-align: -6px;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form dl input[type=radio] {
    width: 20px;
    height: 20px;
    margin-right: 7px;
    vertical-align: -5px;
  }
}
.p-contact .s-form dl textarea {
  height: 280px;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form dl textarea {
    height: 230px;
  }
}
.p-contact .s-form dl select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url(../images/common/ic-select.svg);
  background-repeat: no-repeat;
  background-position: center right 20px;
  background-color: rgba(255, 255, 255, 0.58);
}
.p-contact .s-form dl select::-ms-expand {
  display: none;
}

.p-contact .s-form__submit {
  text-align: center;
}
.p-contact .s-form #wpcf7cpcnf .wpcf7cp-btns {
  display: flex;
  justify-content: center;
}
.p-contact .s-form__submit input, .p-contact .s-form #wpcf7cpcnf button {
  color: #fff;
  width: 320px;
  border: none;
  cursor: pointer;
  font-size: 18px;
  font-weight: 600;
  padding: 19px 0;
  margin: 60px 10px 0;
  border-radius: 33px;
  background-color: #363636;
  border: 1px solid #707070;
  font-family: "Heisei Kaku Gothic StdN", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-contact .s-form__submit input, .p-contact .s-form #wpcf7cpcnf button {
    width: 50%;
    font-size: 1.6rem;
    padding: 15px 0;
    margin: 60px 5px 0;
  }
}
.p-contact .s-form__submit input:hover, .p-contact .s-form #wpcf7cpcnf button:hover {
  color: #363636;
  background-color: #fff;
}
.s-form .wpcf7-spinner {
  position: absolute;
}

/* テーブル */
#wpcf7cpcnf table th, #wpcf7cpcnf table td {
  padding: 2% 4%;
}
#wpcf7cpcnf table th {
  background-color: #E5F0FA;
  border: 1px solid #9B9B9B;
  text-align: left;
  width: 35%;
  font-weight: 500;
}
#wpcf7cpcnf table td {
  border: 1px solid #9B9B9B;
}

@media screen and (max-width: 767px) {
  #wpcf7cpcnf table th, #wpcf7cpcnf table td {
    display: block;
    width: 100% !important;
  }
  #wpcf7cpcnf table th {
    padding: 12px 12px 12px 4%;
  }
  #wpcf7cpcnf table td {
    margin-bottom: 27px;
	  border-top: 0;
    padding: 15px 15px 15px 4%;
  }
}