@charset "utf-8";

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
  display: none;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

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

html {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
}

body {
  position: relative;
  font-size: 1.6rem;
  font-family: -apple-system, BlinkMacSystemFont,'Noto Sans JP', Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-weight: normal;
  color: #403E3E;
  font-optical-sizing: auto;
  font-style: normal;
  /* -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
  -webkit-text-size-adjust: 100%; */
  height: 100%;
  letter-spacing: 0.05em;
  overflow-x: hidden;
  background-color: #fff;
}

b,
strong {
  font-family: -apple-system, BlinkMacSystemFont,'Noto Sans JP', Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}

a {
  display: inline-block;
  text-decoration: none;
  color: #403E3E;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

button {
  font-family: -apple-system, BlinkMacSystemFont,'Noto Sans JP', Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  outline: none;
  padding: 0;
}

table{
  border-collapse:collapse;
  border:none;
  border-spacing:0;
}

th,td {
  vertical-align:top;
  font-weight:normal;
  text-align:left;
}

caption{
  text-align:left;
}


.c-moreBtn {
  margin-top: 40px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 176px;
  height: 44px;
  margin-right: auto;
  margin-left: auto;
  background-color: #fff;
  border: 1px solid #F26782;
  border-radius: 100vh;
  color: #F26782;
  font-size: 1.5rem;
  transition: 0.25s;
}

/*矢印と下線の形状*/
.c-moreBtn::before{
  content: '';
  /*絶対配置で下線の位置を決める*/
  position: absolute;
  top: 50%;
  right: -16px;
  /*下線の形状*/
  width: 35px;
  height: 1px;
  background:#F26782;
  /*アニメーションの指定*/
  transition: all .2s;
}

.c-moreBtn::after {
  content: '';
  /*絶対配置で矢印の位置を決める*/
  position: absolute;
  top: 50%;
  right: -16px;
  /*矢印の形状*/    
  width: 8px;
  height: 1px;
  background:#F26782;
  transform: translateY(-2px) rotate(35deg);
  /*アニメーションの指定*/
  transition: all .2s;
}

/*hoverした際の移動*/
.c-moreBtn:hover::before{
  right: -24px;
}

.c-moreBtn:hover::after{
  right: -24px;
}

.p-menu {
  display: none;
  position: fixed;
  background-image: linear-gradient(#FFFFFF 0%, #FFF978 42%, #FFDCC3 100%);
  top: 0;
  padding: 180px 100px 140px;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  z-index: 1005;
  -webkit-overflow-scrolling: touch;
}

.p-menu__inner {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.p-menu__item:not(:last-child) {
  margin-bottom: 25px;
}

.p-menu__icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  margin-right: 10px;
}

.p-menu__icon.-about .p-menu__iconImg {
  max-width: 34px;
}

.p-menu__icon.-services .p-menu__iconImg {
  max-width: 21px;
}

.p-menu__icon.-news .p-menu__iconImg {
  max-width: 39px;
}

.p-menu__icon.-news .p-menu__iconImg {
  max-width: 39px;
}

.p-menu__icon.-support .p-menu__iconImg {
  max-width: 36px;
}

.p-menu__link {
  display: flex;
  width: 100%;
  position: relative;
  padding: 15px 15px 15px 30px;
  border-radius: 70px;
  transition: .3s;
  line-height: 1.3;
  font-size: 2rem;
  background-color: #fff;
  align-items: center;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  border: 3px solid transparent;
}

.p-menu__link:hover {
  color: #FFA701;
  border: 3px solid #FFA701;
} 

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

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

.p-meny__privacy {
  margin-top: 60px;
  text-align: center;
  font-size: 1.3rem;
}

.open .p-menu {

}

@media screen and (max-width: 767px) {
  .p-menu {
    padding: 120px 20px 140px;
  }

  .p-menu__item:not(:last-child) {
    margin-bottom: 20px;
  }

  .p-menu__link {
    padding: 5px 15px 5px 20px;
    font-size: 1.6rem;
  }
}

/* ====================
header 
==================== */
.p-header__logo {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1006;
  max-width: 320px;
}

.p-header__logoLink {
  transition: .25s;
  width: 100%;
}

.p-header__logoLink:hover {
  opacity: .6;
}

.p-header__logoImg {
  width: 100%;
}

.p-header__inner {

}

.p-globalNav {
  position: absolute;
  top: 15px;
  right: 140px;
  display: flex;
  align-items: center;
  z-index: 1;
}

.p-globalNav__list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.p-globalNav__item:not(:last-child) {
  margin-right: 40px;
}

.p-globalNav__link {
  position: relative;
  white-space: nowrap;
  color: #403E3E;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  transition: all 0.25s;
}

.p-globalNav__icon {
  display: block;
  text-align: center;
}

.p-globalNav__link::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: -7px;
  left: 0;
  /*線の形状*/
  width: 100%;
  height: 3px;
  border-radius: 3px;
  background: #FFA701;
  /*アニメーションの指定*/
  transition: all 0.25s;
  transform: scale(0, 1); /*X方向0、Y方向1*/
  transform-origin: center top; /*上部中央基点*/
}

.p-header.-transparent .p-globalNav__link::after {
  background: #fff;
}

.p-globalNav__link:hover::after {
  transform: scale(1, 1); /*X方向にスケール拡大*/
}

.p-globalNav__icon {
  width: 40px;
  height: 46px;
  display: grid;
  place-items: center;
  margin-right: auto;
  margin-left: auto;
}

.c-menuBtn {
  display: block;
  position: fixed;
  right: 40px;
  top: 20px;
  cursor: pointer;
  width: 44px;
  height: 40px;
  z-index: 1103;
}

.c-menuBtn__trigger,
.c-menuBtn__trigger span {
  display: inline-block;
  transition: all 0.25s;
  box-sizing: border-box;
}

.c-menuBtn__trigger {
  position: relative;
  width: 44px;
  height: 40px;
}

.c-menuBtn__trigger span {
  position: absolute;
  width: 44px;
  height: 7px;
  left: 0;
  border-radius: 3px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

.c-menuBtn__trigger span:nth-of-type(1) {
  top: 5px;
  background-image: url(../images/menu_line01.svg);
}

.c-menuBtn__trigger span:nth-of-type(2) {
  top: 16px;
  background-image: url(../images/menu_line02.svg);
}

.c-menuBtn__trigger span:nth-of-type(3) {
  bottom: 6px;
  background-image: url(../images/menu_line03.svg);
}

.c-menuBtn__text {
  display: block;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  text-align: center;
}

.open .c-menuBtn__trigger span:nth-of-type(1) {
  -webkit-transform: translateY(11px) rotate(-45deg);
  transform: translateY(11px) rotate(-45deg);
}

.open .c-menuBtn__trigger span:nth-of-type(2) {
  opacity: 0;
}

.open .c-menuBtn__trigger span:nth-of-type(3) {
  -webkit-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg);
} 

@media screen and (max-width: 1279px) {
  .p-header__logo {
    width: 25vw;
  }
}

@media screen and (max-width: 959px) {
  .p-globalNav {
    display: none;
  }

  .c-menuBtn {
    right: 20px;
    top: 15px;
    width: 34px;
    height: 30px;
  }
  
  .c-menuBtn__trigger {
    width: 34px;
    height: 30px;
  }
  
  .c-menuBtn__trigger span {
    width: 34px;
    height: 4px;
  }
  
  .c-menuBtn__trigger span:nth-of-type(1) {
    top: 4px;
    background-image: url(../images/menu_line01_sp.svg);
  }
  
  .c-menuBtn__trigger span:nth-of-type(2) {
    top: 13px;
    background-image: url(../images/menu_line02_sp.svg);
  }
  
  .c-menuBtn__trigger span:nth-of-type(3) {
    bottom: 4px;
    background-image: url(../images/menu_line03_sp.svg);
  }
  
  .c-menuBtn__text {
    font-size: 1.2rem;
    letter-spacing: 0;
  }

  .open .c-menuBtn__trigger span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg);
  } 
}

@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 220px;
  }

  .c-menuBtn {
    top: 10px;
  }
}

.p-msg {
  text-align: center;
  margin-top: 50px;
}

/* .p-mv__main {
  overflow: hidden;
  width: 100%;
  max-width: 964px;
}

.p-mv__img {
  width: 200%;
  position: relative;
  z-index: 1;
  animation-name: maps;
  animation-duration: 4000ms;
  animation-timing-function: steps(2, end);
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  animation-play-state: running;
}

@keyframes maps {
  from { left: 0; }
  to {left: -100%;}
} */

.p-mv {
  padding-top: 140px;
  padding-right: 16.5277777vw;
  padding-left: 16.5277777vw;
}

.p-mv__inner {
  max-width: 964px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 1;
}

.p-mv__main  {
  margin-top: -3%;
  max-width: 964px;
}

.p-mv__img {
  width: 100%;
}

.p-mv__niigata {
  margin-top: 5px;
  width: 14.5%;
  max-width: 140px;
  margin-right: auto;
  margin-left: auto;
}

.p-mv__house01,
.p-mv__house02,
.p-mv__house03,
.p-mv__house04 {
  position: absolute;
  z-index: 2;
}

.p-mv__house01 {
  top: 8%;
  left: -12%;
  max-width: 132px;
  width: 13.692946%;
}

.p-mv__house02 {
  top: 10%;
  right: -5%;
  max-width: 66px;
  width: 6.84647302%;
}

.p-mv__house03 {
  bottom: 23%;
  right: -8%;
  max-width: 134px;
  width: 13.9004149%;
}

.p-mv__house04 {
  bottom: 22%;
  left: -8%;
  max-width: 166px;
  width: 17.219917%;
}

@media screen and (max-width: 1279px) {
  .p-mv {
    padding-right: 16.5277777vw;
    padding-left: 16.5277777vw;
  }
}

@media screen and (max-width: 959px) {
  .p-mv {
    padding-top: 120px;
    padding-right: 60px;
    padding-left: 60px;
  }

  .p-mv__house01,
  .p-mv__house02,
  .p-mv__house03,
  .p-mv__house04 {
    display: none;
  }
}

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

@media screen and (max-width: 479px) {
  .p-mv {
    padding-right: 5px;
    padding-left: 5px;
  }
}


.c-sideBtn {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
}

.c-sideBtn__link {
  display: flex;
  align-items: center;
  writing-mode: vertical-rl;
  padding: 24px 12px 24px 14px;
  width: 100%;
  max-width: 60px;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  background-color: #FFA701;
  color: #fff;
  transition: .25s;
}

.c-sideBtn__link:hover {
  opacity: .6;
}

.c-sideBtn__item.-contact .c-sideBtn__link {
  margin-top: 20px;
  background-color: #F26782;
}

.c-sideBtn__icon {
  margin-bottom: 8px;
}

.c-sideBtn__icon.-support .c-sideBtn__iconImg {
  width: 30px;
}

.c-sideBtn__icon.-contact .c-sideBtn__iconImg {
  width: 23px;
}

@media screen and (max-width: 1279px) {
  .c-sideBtn__link {
    padding: 20px 10px 20px 10px;
    max-width: 48px;
    font-size: 1.5rem;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
  }
}

@media screen and (max-width: 767px) {
  .c-sideBtn {
    display: none;
  }
}

.c-heading {
  display: inline-block;
}

.c-heading__jp {
  display: block;
  padding-bottom: 5px;
  font-size: 2.8rem;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  text-align: center;
  letter-spacing: .1em;
}

.c-heading__en {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  letter-spacing: .2em;
  color: #999;
}

.c-heading.-page {
  position: relative;
}

.c-heading.-page::before,
.c-heading.-page::after  {
  position: absolute;
  content: '';
  display: inline-block;
  top: 5px;
  width: 92px;
  height: 40px;
  background-image: url(../images/heading_leaves.svg);
  background-repeat: no-repeat;
  background-size: 92px 40px;
}

.c-heading.-page::before {
  left: -122px;
}

.c-heading.-page::after {
  right: -122px;
  transform: scale(-1, 1);
}

.c-heading__small {
  font-size: 2rem;
}

.p-commonHeader {
  display: grid;
  place-items: center;
}

.p-commonHeader__icon {
  text-align: center;
  margin-bottom: 20px;
}

.p-commonHeader__icon.-news .p-commonHeader__iconImg {
  max-width: 68px;
}

.p-commonHeader__icon.-services .p-commonHeader__iconImg {
  max-width: 40px;
}

.p-commonHeader__icon.-support .p-commonHeader__iconImg {
  max-width: 62px;
}

@media screen and (max-width: 767px) {
  .c-heading__jp {
    font-size: 2rem;
  }
  
  .c-heading__en {
    font-size: 1.3rem;
  }

  .c-heading.-page::before,
  .c-heading.-page::after {
    width: 54px;
    height: 24px;
    background-size: 54px 24px;
  }

  .c-heading.-page::before {
    left: -70px;
  }
  
  .c-heading.-page::after {
    right: -70px;
  }

  .p-commonHeader__icon {
    margin-bottom: 10px;
  }

  .p-commonHeader__icon.-news .p-commonHeader__iconImg {
    max-width: 48px;
  }

  .p-commonHeader__icon.-services .p-commonHeader__iconImg {
    max-width: 36px;
  }

  .p-commonHeader__icon.-support .p-commonHeader__iconImg {
    max-width: 50px;
  }
}

.p-lead {
  position: relative;
  margin-bottom: -1px;
  z-index: 10;
}

.p-lead__illust {
  position: relative;
}

.p-lead__deco01 {
  position: absolute;
  max-width: 88px;
  width: 6.11111111%;
  left: 100px;
  bottom: -80%;
  z-index: 10;
}

.p-lead__deco02 {
  position: absolute;
  max-width: 100px;
  width: 6.94444444%;
  left: 241px;
  bottom: -120%;
  z-index: 10;
}

.p-lead__deco03 {
  position: absolute;
  max-width: 156px;
  width: 10.833333%;
  left: 386px;
  bottom: -80%;
  z-index: 10;
}

.p-lead__deco04 {
  position: absolute;
  max-width: 40px;
  width: 2.77777777%;
  right: 300px;
  bottom: -48%;
  z-index: 10;
}

.p-lead__deco05 {
  position: absolute;
  max-width: 132px;
  width: 9.166666666%;
  right: 140px;
  bottom: -40%;
  z-index: 10;
}

.p-lead__inner {
  margin-top: 40px;
  width: 100%;
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
  padding-bottom: 120px;
}

.p-lead__heading {
  font-size: 2.8rem;
  text-align: center;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  line-height: 1.6;
}

.p-lead__text {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
}

.p-lead__btn {
  margin-top: 30px;
  display: grid;
  place-items: center;
}

@media screen and (max-width: 1439px) {
  .p-lead__deco01 {
    left: 6.1111111%;
    width: 6.11111111%;
  }
  
  .p-lead__deco02 {
    left: 16.7361111%;
    width: 6.94444444%;
  }
  
  .p-lead__deco03 {
    left: 26.8055555%;
    width: 10.833333%;
  }
  
  .p-lead__deco04 {
    right: 20.8333333%;
    width: 2.77777777%;
  }
  
  .p-lead__deco05 {
    right: 9.7222222%;
    width: 9.166666666%;
  }
}

@media screen and (max-width: 1279px) {
  .p-lead__heading {
    font-size: 2.6rem;
  }
  
  .p-lead__text {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .p-lead__inner {
    margin-top: 40px;
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 80px;
  }

  .p-lead__heading {
    font-size: 2rem;
  }
  
  .p-lead__text {
    font-size: 1.5rem;
  }

  .p-lead__deco01 {
    width: 11.7333333%;
    left: 23px;
    max-width: 44px;
  }

  .p-lead__deco02 {
    width: 13.3333333%;
    max-width: 50px;
    left: 78px;
  }
  
  .p-lead__deco03 {
    width: 20.8%;
    max-width: 78px;
    left: 135px;
  }
  
  .p-lead__deco04 {
    max-width: 20px;
    width: 5.3333333%;
    right: 94px;
    bottom: -48%;
  }
  
  .p-lead__deco05 {
    max-width: 66px;
    width: 17.6%;
    right: 23px;
    bottom: -40%;
  }
}

@media screen and (max-width: 479px) {
  .p-lead__text {
    text-align: left;
  }
}

@media screen and (max-width: 374px) {
  .p-lead__deco01 {
    left: 6%;
  }
  
  .p-lead__deco02 {
    left: 20.75%;
  }
  
  .p-lead__deco03 {
    left: 36%;
  }
  
  .p-lead__deco04 {
    right: 25%;
  }
  
  .p-lead__deco05 {
    right: 6%;
  }
}

.p-headingIllust {
  padding-top: 60px;
  position: relative;
}

.p-headingIllust__imgWrapper {
  position: absolute;
  bottom: 1px;
}

.p-headingIllust__imgWrapper.-news {
  right: 40px;
}

.p-headingIllust__imgWrapper.-shop {
  left: 60px;
}

@media screen and (max-width: 959px) {
  .p-headingIllust__imgWrapper.-shop {
    left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-headingIllust {
    padding-top: 0;
    padding-right: 15px;
    padding-left: 15px;
  }
  
  .p-headingIllust__imgWrapper {
    position: static;
    margin-right: auto;
    margin-left: auto;
  }

  .p-headingIllust__imgWrapper.-news {
    width: 38px;
  }

  .p-headingIllust__imgWrapper.-shop {
    width: 53px;
  }
}

.p-topNews {
  position: relative;
  padding-top: 100px;
  width: 100%;
  padding-right: 100px;
  padding-left: 100px;
  background-color: #FFF7DF;
  z-index: 9;
}

.p-topNews__inner {
  background-color: #fff;
  max-width: 1360px;
  margin-right: auto;
  margin-left: auto;
  padding: 60px 0;
  border-radius: 80px;
}

.p-topNews__contents {
  max-width: 1280px;
  margin-top: 30px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
}

.p-topNews__btn {
  margin-top: 30px;
  display: grid;
  place-items: center;
}

.p-news {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -50px;
}

.p-news__noItem {
  width: 100%;
  text-align: center;
  padding: 20px;
  margin-bottom: 50px;
}

.p-news__item {
  width: 31.1111111%;
  margin-right: 3.3333333%;
  margin-bottom: 50px;
}

.p-news__item:nth-of-type(3n) {
  margin-right: 0;
}

.p-news__link {
  width: 100%;
  transition: .25s;
}

.p-news__imgWrapper {
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
}

.p-news__imgWrapper img {
  width: 100%;
  transition: .25s;
}

.p-news__link:hover .p-news__imgWrapper img {
  transform: scale(1.05); 
}

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

.p-news__info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.p-news__date {
  color: #EA617C;
  font-size: 1.5rem;
}

.p-news__catList {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.p-news__catListItem {
  display: inline-block;
  padding: 4px 10px 5px;
  font-size: 1.2rem;
  border: 2px solid #EBEBEB;
  border-radius: 100vh;
}

.p-news__title {
  margin-top: 5px;
  line-height: 1.5;
  transition: .25s;
}

.p-news__link:hover .p-news__title {
  color: #EA617C;
}

@media screen and (max-width: 1279px) {
  .p-topNews {
    padding-right: 80px;
    padding-left: 80px;
  }

  .p-topNews__inner {
    border-radius: 60px;
  }
}

@media screen and (max-width: 959px) {
  .p-news__item {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 50px;
  }

  .p-news__item:nth-of-type(3n) {
    margin-right: 4%;
  }

  .p-news__item:nth-of-type(2n) {
    margin-right: 0;
  }
}

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

  .p-topNews__inner {
    padding: 40px 0;
    border-radius: 30px;
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-topNews__contents {
    padding-right: 20px;
    padding-left: 20px;
  }

  .p-news {
    display: block;
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .p-news__item {
    width: 100%;
    max-width: 480px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0;
  }

  .p-news__item:nth-of-type(3n),
  .p-news__item:nth-of-type(2n) {
    margin-right: auto;
  }

  .p-news__item:not(:first-child) {
    margin-top: 30px;
  }

  .p-news__item.-pc {
    display: none;
  }

  .p-news__link {
    display: block;
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-news__imgWrapper {
    border-radius: 12px;
  }

  .p-news__link:hover .p-news__imgWrapper img {
    transform: scale(1.02); 
  }

  .p-news__date {
    font-size: 1.4rem;
  }

  .p-news__title {
    font-size: 1.5rem;
  }
}

.p-topServices {
  width: 100%;
  padding: 80px 100px;
  background-color: #FFF7DF;
}

.p-topServices__inner {
  background-color: #fff;
  max-width: 1360px;
  margin-right: auto;
  margin-left: auto;
  padding: 60px 0;
  border-radius: 80px;
}

.p-topServices__contents {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
}

.p-topServices__btn {
  margin-top: 30px;
  display: grid;
  place-items: center;
}

.p-servicesCard {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -30px;
}

.p-servicesCard__item {
  width:  23.125%;
  margin-right: 2.5%;
  margin-bottom: 30px;
}

.p-servicesCard__item:nth-of-type(4n) {
  margin-right: 0;
}

.p-servicesCard__link {
  width: 100%;
  transition: .25s;
}

.p-servicesCard__title {
  padding: 5px;
  font-size: 2rem;
  text-align: center;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  background-color: #FDEEF1;
  color: #FD89A0;
  border-radius: 16px;
  transition: .25s;
}

.p-servicesCard__text {
  margin-top: 10px;
  text-align: center;
  line-height: 1.5;
  transition: .25s;
}

.p-servicesCard__link:hover .p-servicesCard__title {
  background-color: #FD89A0;
  color: #FDEEF1;
}

.p-servicesCard__img {
  width: 100%;
  transition: .25s;
}

.p-servicesCard__link:hover .p-servicesCard__img {
  transform: scale(1.05);
}

@media screen and (max-width: 1279px) {
  .p-topServices {
    padding: 80px 80px;
  }

  .p-topServices__inner {
    border-radius: 60px;
  }

  .p-servicesCard__item {
    width:  48%;
    margin-right: 4%;
  }
  
  .p-servicesCard__link {
    display: block;
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-servicesCard__item:nth-of-type(4n) {
    margin-right: 4%;
  }

  .p-servicesCard__item:nth-of-type(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-topServices {
    padding: 40px 20px;
  }
  
  .p-topServices__inner {
    padding: 40px 0;
    border-radius: 30px;
    max-width: 560px;
    margin-right: auto;
    margin-left: auto;
  }
  
  .p-topServices__contents {
    margin-top: 40px;
    padding-right: 20px;
    padding-left: 20px;
  }
  
  .p-servicesCard {
    display: block;
    margin-bottom: 0;
  }
  
  .p-servicesCard__item {
    width:  100%;
    margin-bottom: 0;
  }

  .p-servicesCard__item:nth-of-type(4n) {
    margin-right: auto;
  }

  .p-servicesCard__item:nth-of-type(2n) {
    margin-right: auto;
  }

  .p-servicesCard__item:not(:first-child) {
    margin-top: 20px;
  }

  .p-servicesCard__title {
    font-size: 1.6rem;
    border-radius: 12px;
  }
  
  .p-servicesCard__text {
    font-size: 1.4rem;
  }
  
  .p-servicesCard__link:hover .p-servicesCard__title {
    background-color: #FD89A0;
    color: #FDEEF1;
  }
  
  .p-servicesCard__img {
    width: 100%;
    transition: .25s;
  }
  
  .p-servicesCard__link:hover .p-servicesCard__img {
    transform: scale(1.02);
  }
}

.p-topSupport {
  width: 100%;
  padding: 80px 100px;
  background-image: url('../images/top_support_bg.png'), url('../images/top_support_bg.png');
  background-repeat: repeat-x, repeat-x;
  background-size: 30px 12px, 30px 12px;
  background-position: center top 24px, center bottom 24px;
  background-color: #FEE4BD;
}

.p-topSupport__contents {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.p-topMedia {
  display: flex;
  align-items: center;
}

.p-topMedia__imgWrapper {
  width: 45%;
}

.p-topMedia__img {
  width: 100%;
}

.p-topMedia__body {
  width: 50%;
  margin-right: 5%;
}

.p-topMedia__text {
  margin-top: 30px;
  line-height: 1.5;
  text-align: center;
}

.p-topMedia__btn {
  margin-top: 30px;
  display: grid;
  place-items: center;
}

@media screen and (max-width: 1279px) {
  .p-topSupport {
    padding: 80px 80px;
  }
}

@media screen and (max-width: 959px) {
  .p-topMedia {
    display: block;
  }
  
  .p-topMedia__imgWrapper {
    margin-top: 50px;
    width: 100%;
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }
  
  .p-topMedia__body {
    width: 100%;
    margin-right: 0;
  }
}

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

  .p-topMedia__text {
    margin-top: 30px;
    line-height: 1.5;
    text-align: center;
  }
  
  .p-topMedia__btn {
    margin-top: 30px;
    display: grid;
    place-items: center;
  }
}

.p-footerWave {
  padding-top: 80px;
  background-color: #fff;
}

.p-footerWave.-about {
  background-color: #FFF4F2;
}

.p-footerWave.-support {
  background-color: #FEE4BD;
}

.p-footerWave__img {
  width: 100%;
}

.p-footerContact {
  position: relative;
  padding: 80px 100px 160px;
  background-color: #FFF7DF;
}

.p-footerContact::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100px;
  background: url(../images/footer_arch.png) no-repeat center bottom / contain;
}

.p-footerContact__inner {
  position: relative;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.p-footerContact__deco01 {
  position: absolute;
  left: -40px;
  top: 0;
}

.p-footerContact__deco02 {
  position: absolute;
  right: -20px;
  top: 100px
}

.p-footerContact__text {
  position: relative;
  margin-top: 20px;
  line-height: 1.5;
  text-align: center;
}

.p-contactBox {
  position: relative;
  margin-top: 40px;
}

.p-contactBox__title {
  line-height: 1.5;
  text-align: center;
}

.p-contactBtn {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.p-contactBtn__item {
  width: calc(50% - 15px);
  margin-right: 30px;
}

.p-contactBtn__item:nth-of-type(2n),
.p-contactBtn__item:last-child {
  margin-right: 0;
}

.p-contactBtn__link {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 168px;
  border-radius: 168px;
  background-color: #fff;
  text-align: center;
  transition: .15s;
}

.p-contactBtn__link:hover {
  transform: scale(1.02);
}

.p-contactBtn__item.-tel .p-contactBtn__link {
  border: 5px solid #B8D200;
}

.p-contactBtn__item.-contact .p-contactBtn__link {
  font-size: 2.8rem;
  letter-spacing: 0.025em;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  border: 5px solid #FF9315;
  color: #FF9315;
}

.p-contactBtn__item .p-contactBtn__link::after {
  position: absolute;
  content: '';
  display: inline-block;
  left: 50%;
  top: -31px;
  transform: translateX(-50%);
  width: 57px;
  height: 61px;
  background-image: url(../images/icon_tel.png);
  background-size: 57px 61px;
  background-repeat: no-repeat;
}

.p-contactBtn__item.-tel .p-contactBtn__link::after {
  background-image: url(../images/icon_tel.png);
}

.p-contactBtn__item.-contact .p-contactBtn__link::after {
  background-image: url(../images/icon_mail.png);
}

.p-contactBtn__tel {
  display: block;
  font-size: 5rem;
  letter-spacing: 0.025em;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  color: #B8D200;
}

.p-contactBtn__text {
  display: block;
  margin-top: 10px;
  font-size: 1.8rem;
}

@media screen and (max-width: 1279px) {
  .p-contactBtn__tel {
    font-size: 4rem;
  }

  .p-contactBtn__item.-contact .p-contactBtn__link {
    font-size: 2.4rem;
  }

  .p-contactBtn__item.-tel .p-contactBtn__link {
    border: 4px solid #B8D200;
  }

  .p-contactBtn__item.-contact .p-contactBtn__link {
    border: 4px solid #FF9315;
  }
  
  .p-contactBtn__link {
    height: 148px;
    border-radius: 148px;
  }

  .p-contactBtn__text {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 959px) {
  .p-contactBtn {
    display: block;
    max-width: 480px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-contactBtn__item {
    width: 100%;
    margin-right: 0;
  }

  .p-contactBtn__item.-contact {
    margin-top: 40px;
  }
}

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

  .p-footerContact {
    position: relative;
    padding: 60px 20px 160px;
    background-color: #FFF7DF;
  }

  .p-footerContact::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100px;
    background: url(../images/footer_arch.png) no-repeat center bottom / contain;
  }

  .p-footerContact__inner {
    position: relative;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-footerContact__deco01 {
    display: none;
  }

  .p-footerContact__deco02 {
    display: none;
  }

  .p-contactBox__title {
    font-size: 1.5rem;
  }

  .p-contactBtn {
    max-width: 420px;
  }

  .p-contactBtn__link {
    padding: 30px 20px;
    height: auto;
    border-radius: 60px;
  }

  .p-contactBtn__link:hover {
    transform: scale(1.02);
  }

  .p-contactBtn__item.-tel .p-contactBtn__link {
    border: 3px solid #B8D200;
  }

  .p-contactBtn__item.-contact .p-contactBtn__link {
    font-size: 2rem;
    border: 3px solid #FF9315;
  }

  .p-contactBtn__tel {
    font-size: 3.6rem;
  }

  .p-contactBtn__text {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 479px) {
  .p-footerContact__text {
    text-align: left;
  }
}

.c-btn {
  display: flex;
  max-width: 320px;
  position: relative;
  transition: .2s;
}

.c-btn__text {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  letter-spacing: 0.025em;
  font-size: 1.8rem;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  color: #fff;
}

.c-btn__img {
  width: 100%;
}

.c-btn:hover {
  transform: scale(1.02);
}

.c-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  display: inline-block;
  width: 18px;
  height: 20px;
  background-image: url(../images/btn_arrow.svg);
  background-size: 18px 20px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 1279px) {
  .c-btn__text {
    font-size: 1.7rem;
  }

  .c-btn {
    max-width: 300px;
  }
}

@media screen and (max-width: 767px) {
  .c-btn {
    max-width: 260px;
  }

  .c-btn__text {
    font-size: 1.5rem;
  }
  
  .c-btn__img {
    max-width: 300px;
  }
  
  .c-btn:hover {
    transform: scale(1.01);
  }
  
  .c-btn::before {
    width: 12px;
    height: 14px;
    background-size: 12px 14px;
  }
}

.p-footer {
  position: relative;
  background-color: #ffff;
  padding: 60px 40px;
}

.p-footer__contents {
  display: flex;
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
}

.p-footer__logo {
  margin-right: 12.5%;
}

.p-footer__logoLink {
  display: block;
  max-width: 328px;
  width: 100%;
  transition: .25s;
}

.p-footer__logoLink:hover {
  opacity: .6;
}

.p-footer__logoImg {
  width: 100%;
  max-width: 328px;
}

.p-footer__copyright {
  margin-top: 80px;
  font-size: 1.4rem;
  text-align: center;
}

.p-footer__name {
  font-weight: bold;
}

.p-footer__info {
  line-height: 1.75;
}

.p-footer__contact,
.p-footer__privacy {
  font-size: 1.4rem;
}

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

.c-pageTop {
  position: absolute;
  bottom: auto;
  top: -100px;
  right: 100px;
}

.c-pageTop__link {
  display: block;
  transition: .25s;
}

.c-pageTop__link:hover {
opacity: .6;
}

.c-pageTop__img {
  width: 141px;
  height: 137px;
}

@media screen and (max-width: 959px) {
  .p-footer__contents {
    flex-direction: column;
  }

  .p-footer__info {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .c-pageTop {
    left: 50%;
    right: inherit;
    transform: translateX(-50%);
  }

  .p-footer__contents {
    align-items: center;
  }

  .p-footer {
    padding: 60px 20px;
  }
}


.l-main {

}

.p-page {
  padding-top: 100px;
}

.p-pageHeader {
  position: relative;
  padding-top: 80px;
}

.p-pageMainHeader {
  position: relative;
}
.p-pageMainHeader__inner {
  position: relative;
}

.p-pageMainHeader__img {
  width: 100%;
  height: 280px;
}

.p-pageMainHeader__heading {
  position: absolute;
  bottom: 0;
  left: 5.555555555%;
  transform: translateY(45%);
  display: inline-block;
  width: 12.847222222%;
  min-width: 180px;
}

@media screen and (max-width: 1279px) {
  .p-pageMainHeader__img {
    width: 100%;
    height: 240px;
  }
}

@media screen and (max-width: 959px) {
  .p-page {
    padding-top: 76px;
  }
}

@media screen and (max-width: 767px) {
  .p-page {
    padding-top: 70px;
  }

  .p-pageMainHeader__heading {
    left: 20px;
    width: 40%;
    max-width: 148px;
    min-width: auto;
  }

  .p-pageMainHeader__img {
    width: 100%;
    height: 200px;
  }
}

.p-aboutLead__inner {
  padding: 120px 120px 140px;
  max-width: 948px;
  margin-top: 60px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  display: grid;
  place-items: center;
  position: relative;
  z-index: 10;
}

.p-aboutLead__contents {
  position: relative;
  z-index: 10;
}

.p-aboutLead__img01 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 97.89029%;
  max-width: 928px;
}

.p-aboutLead__img02 {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 948px;
}

.p-aboutLead__heading {
  line-height: 1.75;
  font-size: 2.5rem;
  letter-spacing: 0.25em;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
}

.p-aboutLead__text {
  margin-top: 24px;
  line-height: 2;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}

.p-pageAbout__btn {
  margin-top: 80px;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 60px;
  padding-left: 60px;
}

@media screen and (max-width: 1079px) {
  .p-aboutLead__inner {
    padding: 0 60px;
  }

  .p-aboutLead__img01 {
    position: static;
    transform: none;
    max-width: 420px;
    padding-bottom: 20px;
  }

  .p-aboutLead__img02 {
    position: static;
    transform: none;
    max-width:488px;
    padding-top: 20px;
  }
  
  .p-pageAbout__btn {
    margin-top: 40px;
  }
}

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

  .p-aboutLead__heading {
    font-size: 2rem;
    letter-spacing: 0;
  }
  
  .p-aboutLead__text {
    font-size: 1.6rem;
  }

  .p-pageAbout__btn {
    padding-right: 10px;
    padding-left: 10px;
  }  

  .p-aboutLead__img01 {
    max-width: 300px;
    padding-bottom: 15px;
  }

  .p-aboutLead__img02 {
    max-width: 349px;
    padding-top: 15px;
  }
}


@media screen and (max-width: 479px) {
  .p-aboutLead__text {
    text-align: left;
  }
}

.p-aboutPurpose {
  position: relative;
  padding-top: 80px;
  width: 100%;
  background-color: #FFF4F2;
  z-index: 9;
}

.p-aboutPurpose__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 100px;
  padding-left: 100px;
}

.p-aboutPurpose__lead {
  padding-right: 40px;
  padding-left: 40px;
  max-width: 1080px;
  margin-top: 50px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  display: grid;
  place-items: center;
}

.p-aboutPurpose__heading {
  line-height: 1.75;
  font-size: 2.5rem;
  letter-spacing: 0.25em;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
}

.p-aboutPurpose__text {
  margin-top: 24px;
  line-height: 2;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}

.p-aboutPurpose__map {
  margin-top: 80px;
  max-width: 810px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-bottom: 80px;
}

.p-aboutPurpose__archi {
  margin-bottom: -1px;
}

.p-aboutPurpose__archiImg {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-aboutPurpose {
    padding-top: 60px;
  }
  
  .p-aboutPurpose__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
  
  .p-aboutPurpose__lead {
    margin-top: 30px;
    padding-right: 0;
    padding-left: 0;
  }

  .p-aboutPurpose__heading {
    font-size: 1.8rem;
    letter-spacing: 0;
  }
  
  .p-aboutPurpose__text {
    font-size: 1.6rem;
  }
  
  .p-aboutPurpose__map {
    margin-top: 40px;
    padding-bottom: 60px;
  }
}

@media screen and (max-width: 479px) {
  .p-aboutPurpose__text {
    text-align: left;
  }
}

.p-aboutMessage {
  position: relative;
  padding-top: 80px;
  padding-bottom: 80px;
  width: 100%;
  padding-right: 100px;
  padding-left: 100px;
  background-color: #FFEBF4;
  z-index: 9;
}

.p-aboutMessage__inner {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

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

.p-aboutMessage__contents p {
  line-height: 2;
}

.p-aboutMessage__contents p + p {
  margin-top: 1em;
}

.p-aboutMessage__deco {
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1000px;
}

.p-aboutMessage__decoImg {
  max-width: 175px;
}

.p-aboutMedia {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-aboutMedia__imgWrapper {
  margin-right: 40px;
  flex-shrink: 0;
  max-width: 458px;
  width: 45.8%;
}

.p-aboutMedia__img {
  width: 100%;
}

.p-aboutMedia__body {
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
}

.p-aboutMedia__info {
  line-height: 1.6;
}

.p-aboutMedia__name {
  margin-top: 15px;
  font-size: 2.8rem;
}

.p-aboutImg__img {
  width: 100%;
  height: 280px;
}

@media screen and (max-width: 1279px) {
  .p-aboutMessage {
      padding-right: 80px;
      padding-left: 80px;
  }
}

@media screen and (max-width: 767px) {
  .p-aboutMessage {
    padding-top: 60px;
    padding-bottom: 60px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .p-aboutMessage__contents {
    margin-top: 30px;
  }
  
  .p-aboutMessage__contents p {
    line-height: 1.75;
  }

  .p-aboutMedia {
    margin-top: 30px;
    display: block;
    max-width: 320px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-aboutMedia__imgWrapper {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }

  .p-aboutMedia__img {
    max-width: 458px;
    width: 100%;
  }

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

  .p-aboutMedia__info {
    font-size: 1.5rem;
  }

  .p-aboutMedia__name {
    margin-top: 15px;
    font-size: 2.2rem;
  }

  .p-aboutImg__img {
    height: 240px;
  }
}

.p-aboutSystem {
  position: relative;
  margin-top: 80px;
  width: 100%;
  padding-right: 100px;
  padding-left: 100px;
  background-color: #fff;
  z-index: 9;
}

.p-aboutSystem__inner {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.p-aboutSystem__text {
  margin-top: 30px;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.6;
}

.p-aboutSystem__box {
  position: relative;
  max-width: 700px;
  width: 100%;
  margin-top: 40px;
  margin-right: auto;
  margin-left: auto;
}

.p-aboutSystem__deco01 {
  position: absolute;
  width: 86px;
  top: 0;
  left: -106px;
}

.p-aboutSystem__deco02 {
  position: absolute;
  width: 72px;
  bottom: 0;
  right: -92px;
}

.p-aboutBox {
  max-width: 700px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50px;
  background-color: #FFEFE3;
  padding: 40px;
}

.p-aboutBox + .p-aboutBox {
  margin-top: 40px;
}

.p-aboutBox.-outline {
  background-color: #FFEFEC;
}

.p-aboutBox__title {
  padding: 10px;
  border-radius: 20px;
  font-size: 2.2rem;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  color: #F26782;
  text-align: center;
  background-color: #fff;
  width: 100%;
  max-width: 360px;
  margin-right: auto;
  margin-left: auto;
}

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

.p-aboutBoxList__item {
  font-size: 1.8rem;
  line-height: 1.6;
  text-align: center;
}

.p-aboutBoxList__item:not(:first-child) {
  margin-top: 5px;
}

.p-aboutBoxTable {
  margin-top: 20px;
  width: 100%;
  line-height: 1.5;
}

.p-aboutBoxTable th {
  padding: 8px 10px 8px 0;
  font-weight: bold;
  border-bottom: 1px solid #E6B9B9;
}

.p-aboutBoxTable td {
  padding: 8px 0;
  border-bottom: 1px solid #E6B9B9
}

@media screen and (max-width: 1279px) {
  .p-aboutSystem {
    padding-right: 80px;
    padding-left: 80px;
  }

  .p-aboutSystem__deco01 {
    position: static;
    margin-bottom: 20px;
    width: 43.4666666%;
    max-width: 163px;
  }
  
  .p-aboutSystem__deco02 {
    position: static;
    margin-top: 20px;
    margin-left: auto;
    width: 33.8666666%;
    max-width: 127px;
  }
}

@media screen and (max-width: 767px) {
  .p-aboutSystem {
    margin-top: 60px;
    padding-right: 20px;
    padding-left: 20px;
  }
  
  .p-aboutSystem__text {
    font-size: 1.5rem;
  }
  
  .p-aboutBox {
    border-radius: 30px;
    background-color: #FFEFE3;
    padding: 20px 15px;
  }

  .p-aboutBox__title {
    font-size: 1.8rem;
  }

  .p-aboutBoxList {
    margin-top: 20px;
  }
  
  .p-aboutBoxList__item {
    font-size: 1.5rem;
  }
  
  .p-aboutBoxList__item:not(:first-child) {
    margin-top: 5px;
  }
  
  .p-aboutBoxTable {
    font-size: 1.4rem;
  }
  
  .p-aboutBoxTable th {
    min-width: 90px;
  }
}

.p-aboutHistory {
  position: relative;
  padding-top: 80px;
  width: 100%;
  background-color: #FFF4F2;
  z-index: 9;
}

.p-aboutHistory__inner {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 100px;
  padding-left: 100px;
}

.p-aboutHistory__contents {
  margin-top: 30px;
  text-align: center;
}

@media screen and (max-width: 1279px) {
  .p-aboutHistory__inner {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@media screen and (max-width: 767px) {
  .p-aboutHistory {
    position: relative;
    padding-top: 80px;
    width: 100%;
    background-color: #FFF4F2;
    z-index: 9;
  }
  
  .p-aboutHistory__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}


.p-pageServices__leadWrapper {
  padding-right: 60px;
  padding-left: 60px;
  max-width: 820px;
  margin-top: 100px;
  margin-right: auto;
  margin-left: auto;
  line-height: 2;
  font-size: 2rem;
  text-align: center;
  position: relative;
}

.p-pageServices__lead {
  display: inline-block;
}


.p-pageServices__img01 {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  max-width: 66px;
}

.p-pageServices__img02 {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 100%;
  max-width: 98px;
}

.p-pageServices__btn {
  margin-top: 80px;
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 60px;
  padding-left: 60px;
}


@media screen and (max-width: 1079px) {
  .p-pageServices__leadWrapper {
    margin-top: 60px;
    max-width: 800px;
  }

  .p-pageServices__img01 {
    display: block;
    position: static;
    transform: none;
    max-width: 113px;
    padding-bottom: 10px;
  }

  .p-pageServices__img02 {
    display: block;
    position: static;
    transform: none;
    max-width: 125px;
    margin-left: auto;
    padding-top: 10px;
  }

  .p-pageServices__btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .p-pageServices__leadWrapper {
    max-width: 600px;
    padding-right: 20px;
    padding-left: 20px;
    font-size: 1.6rem;
  }

  .p-pageServices__btn {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media screen and (max-width: 479px) {
  .p-pageServices__leadWrapper {
    text-align: left;
  }
}

.p-servicesSummary {
  position: relative;
  padding-top: 80px;
  width: 100%;
  padding-right: 100px;
  padding-left: 100px;
  background-color: #F5FAE4;
  z-index: 9;
}

.p-servicesSummary__inner {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.p-pageServicesCard {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -50px;
}

.p-pageServicesCard__item {
  width:  45%;
  margin-right: 10%;
  margin-bottom: 50px;
}

.p-pageServicesCard__item:nth-of-type(2n) {
  margin-right: 0;
}

.p-pageServicesCard__title {
  padding: 5px;
  font-size: 2.6rem;
  text-align: center;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  line-height: 1.5;
  background-color: #E8F29E;
  color: #73C388;
  border-radius: 20px;
  transition: .25s;
}

.p-pageServicesCard__text {
  margin-top: 10px;
  line-height: 1.5;
  transition: .25s;
}

.p-pageServicesCard__imgWrapper {
  margin-top: 24px;
  border-radius: 30px;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.p-pageServicesCard__img {
  width: 100%;
  transition: .25s;
}

@media screen and (max-width: 767px) {
  .p-servicesSummary {
    padding-top: 60px;
    padding-right: 20px;
    padding-left: 20px;
  }
  
  .p-pageServicesCard {
    display: block;
    margin-bottom: 0;
  }
  
  .p-pageServicesCard__item {
    width:  100%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 0;
    max-width: 480px;
  }

  .p-pageServicesCard__item:not(:first-child) {
    margin-top: 60px;
  }
  
  .p-pageServicesCard__item:nth-of-type(2n) {
    margin-right: auto;
  }
  
  .p-pageServicesCard__title {
    font-size: 2rem;
    border-radius: 30px;
  }
  
  .p-pageServicesCard__text {
    font-size: 1.5rem;
  }
  
  .p-pageServicesCard__imgWrapper {
    border-radius: 10px;
  }
  
  .p-pageServicesCard__img {
    width: 100%;
    transition: .25s;
  }
}

.p-servicesActivities {
  position: relative;
  padding: 80px 100px;
  width: 100%;
  background-color: #F5FAE4;
  z-index: 9;
}

.p-servicesActivities__inner {
  background-color: #fff;
  max-width: 1360px;
  margin-right: auto;
  margin-left: auto;
  padding: 70px 0 60px;
  border-radius: 80px;
}

.p-servicesActivities__contents {
  max-width: 1280px;
  margin-top: 30px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
}

@media screen and (max-width: 1279px) {
  .p-servicesActivities {
    padding: 80px 80px;
  }
  
  .p-servicesActivities__inner {
    border-radius: 60px;
    padding: 60px 0;
  }
}

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

  .p-servicesActivities__inner{
    padding: 40px 0;
    border-radius: 30px;
  }

  .p-servicesActivities__contents {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.p-servicesPlaces {
  position: relative;
  padding: 80px 100px 0;
}

.p-servicesPlaces__inner {
  position: relative;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.p-servicesPlaces__contents {
  margin-top: 80px;
  padding: 100px 20px;
  text-align: center;
  font-size: 2.8rem;
  background-color: #ccc;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

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

.p-pageSupport__btn {
  padding-right: 40px;
  padding-left: 40px;
  max-width: 1280px;
  margin-top: 80px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  display: grid;
  place-items: center;
}

.p-supportDonation {
  position: relative;
  padding: 80px 100px;
  background-color: #FFF7DF;
}

.p-supportDonation__inner {
  max-width: 800px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.p-supportDonation__text {
  margin-top: 30px;
  line-height: 2;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}

.p-supportDonation__box {
  margin-top: 30px;
  max-width: 700px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  border-radius: 50px;
  background-color: #fff;
  padding: 40px;
}

.p-supportDonation__note {
  margin-top: 30px;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.p-supportDonation__kouza {
  font-weight: bold;
  font-size: 1.8rem;
}

.p-supportTable {
  margin-top: 20px;
  width: 100%;
  line-height: 1.5;
}

.p-supportTable th {
  padding: 8px 10px 8px 0;
  font-weight: bold;
  border-bottom: 1px solid #FEE4BD;
}

.p-supportTable td {
  padding: 8px 0;
  border-bottom: 1px solid #FEE4BD
}

@media screen and (max-width: 1279px) {
  .p-supportDonation {
    padding: 80px;
  }
}

@media screen and (max-width: 767px) {
  .p-pageSupport__btn {
    padding-right: 10px;
    padding-left: 10px;
    margin-top: 100px;
  }
  
  .p-supportDonation {
    position: relative;
    padding: 60px 20px;
  }

  .p-supportDonation__text {
    font-size: 1.5rem;
  }

  .p-supportDonation__note {
    font-size: 1.4rem;
  }

  .p-supportDonation__box {
    border-radius: 20px;
    padding: 20px 15px;
  }

  .p-supportTable th {
    min-width: 90px;
  }
}

.p-supporter {
  position: relative;
  padding: 80px 100px;
}

.p-supporter__inner {
  max-width: 800px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .p-supporter {
    position: relative;
    padding: 60px 20px;
  }
}

.p-supportInfo {
  padding: 80px 100px 0;
  width: 100%;
  background-color: #FEE4BD;
  z-index: -1;
}

.p-supportInfo__inner {
  background-color: #fff;
  max-width: 1360px;
  margin-right: auto;
  margin-left: auto;
  padding: 70px 0 60px;
  border-radius: 80px;
}

.p-supportInfo__contents {
  max-width: 1280px;
  margin-top: 30px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 40px;
  padding-left: 40px;
}

.p-supportInfo__btn {
  margin-top: 30px;
  display: grid;
  place-items: center;
}

@media screen and (max-width: 1279px) {
  .p-supportInfo {
    padding: 80px 80px 0;
  }

  .p-supportInfo__inner {
    border-radius: 60px;
    padding: 60px 0;
  }
}

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

  .p-supportInfo__inner {
    padding: 40px 0;
    border-radius: 30px;
  }

  .p-supportInfo__contents {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.p-pageIllust {
  position: relative;
  margin-top: 80px;
}

.p-pageIllust__wave {
  width: 100%;
}

.p-pageIllust__deco01 {
  position: absolute;
  max-width: 88px;
  width: 6.11111111%;
  left: 120px;
  bottom: -55%;
  z-index: 10;
}

.p-pageIllust__deco02 {
  position: absolute;
  max-width: 100px;
  width: 6.94444444%;
  left: 320px;
  bottom: -20%;
  z-index: 10;
}

.p-pageIllust__deco03 {
  position: absolute;
  max-width: 156px;
  width: 10.833333%;
  left: 120px;
  bottom: -60%;
  z-index: 10;
}

.p-pageIllust__deco04 {
  position: absolute;
  max-width: 40px;
  width: 2.77777777%;
  right: 300px;
  bottom: -48%;
  z-index: 10;
}

.p-pageIllust__deco05 {
  position: absolute;
  max-width: 132px;
  width: 9.166666666%;
  left: 260px;
  bottom: 0;
  z-index: 10;
}

@media screen and (max-width: 1439px) {
  .p-pageIllust__deco01 {
    left: 8.3333333%;
    width: 6.11111111%;
  }
  
  .p-pageIllust__deco02 {
    left: 22.222222%;
    width: 6.94444444%;
  }
  
  .p-pageIllust__deco03 {
    left: 8.3333333%;
    width: 10.833333%;
  }
  
  .p-pageIllust__deco04 {
    right: 20.8333333%;
    width: 2.77777777%;
  }
  
  .p-pageIllust__deco05 {
    left: 18.0555555%;
    width: 9.166666666%;
  }
}

@media screen and (max-width: 767px) {
  .p-pageIllust__deco01 {
    width: 11.7333333%;
    left: 23px;
    max-width: 44px;
  }

  .p-pageIllust__deco02 {
    width: 13.3333333%;
    max-width: 50px;
    left: 132px;
  }
  
  .p-pageIllust__deco03 {
    width: 20.8%;
    max-width: 78px;
    left: 23px;
  }
  
  .p-pageIllust__deco04 {
    max-width: 20px;
    width: 5.3333333%;
    right: 94px;
  }
  
  .p-pageIllust__deco05 {
    max-width: 66px;
    width: 17.6%;
    left: 80px;
  }
}

@media screen and (max-width: 374px) {
  .p-pageIllust__deco01 {
    left: 6%;
  }
  
  .p-pageIllust__deco02 {
    left: 35.2%;
  }
  
  .p-pageIllust__deco03 {
    left: 6%;
  }
  
  .p-pageIllust__deco04 {
    right: 25%;
  }
  
  .p-pageIllust__deco05 {
    right: 6%;
  }
}

.p-pageBtn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.p-pageBtn__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 180px;
  height: 50px;
  padding-right: 40px;
  padding-left: 20px;
  padding-bottom: 3px;
  background-color: #fff;
  border: 2px solid #F26782;
  border-radius: 100vh;
  color: #F26782;
  font-size: 2rem;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  transition: .25s;
}

.p-pageBtn__link::after {
  content: "";
  position: absolute;
  display: inline-block;
  background-image: url(../images/page_about_arrow.svg);
  background-repeat: no-repeat;
  background-size: 11px 12px;
  width: 11px;
  height: 12px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.p-pageBtn__link:hover::after {
  background-image: url(../images/page_arrow_hover.svg);
}

.p-pageBtn__link:hover {
  background-color: #F26782;
  color: #fff;
}

.p-pageBtn.-services .p-pageBtn__link {
  border: 2px solid #73C388;
  color: #73C388;
}

.p-pageBtn.-services .p-pageBtn__link::after {
  background-image: url(../images/page_services_arrow.svg);
}


.p-pageBtn.-services .p-pageBtn__link:hover::after {
  background-image: url(../images/page_arrow_hover.svg);
}

.p-pageBtn.-services .p-pageBtn__link:hover {
  background-color: #73C388;
  color: #fff;
}

.p-pageBtn.-support .p-pageBtn__link {
  border: 2px solid #FFA701;
  color: #FFA701;
}

.p-pageBtn.-support .p-pageBtn__link::after {
  background-image: url(../images/page_support_arrow.svg);
}

.p-pageBtn.-support .p-pageBtn__link:hover::after {
  background-image: url(../images/page_arrow_hover.svg);
}

.p-pageBtn.-support .p-pageBtn__link:hover {
  background-color: #FFA701;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .p-pageBtn {
    gap: 10px;
  }

  .p-pageBtn__link {
    min-width: 120px;
    height: 38px;
    padding-right: 30px;
    padding-left: 15px;
    padding-bottom: 2px;
    font-size: 1.6rem;
  }

  .p-pageBtn__link::after {
    right: 12px;
  }
}

.p-privacy {
  padding-right: 100px;
  padding-left: 100px;
  max-width: 1200px;
  margin-top: 80px;
  margin-right: auto;
  margin-left: auto;
  line-height: 1.75;
  font-size: 1.5rem;
}

.p-privacy__heading {
  font-size: 1.8rem;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
}

.p-privacy__text,
.p-privacy__list {
  margin-top: 0.5em;
}

.p-privacy__list + .p-privacy__heading,
.p-privacy__text + .p-privacy__heading {
  margin-top: 2em;
}

@media screen and (max-width: 1279px) {
  .p-privacy {
    padding-right: 80px;
    padding-left: 80px;
  }
}

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

  .p-privacy__heading {
    font-size: 1.8rem;
  }

  .p-privacy__text,
  .p-privacy__list {
    font-size: 1.5rem;
  }
}

.p-pageContact {
  margin-top: 80px;
  padding-right: 100px;
  padding-left: 100px;
}

.p-pageContact__inner {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.p-pageContact__lead {
  margin-top: 20px;
  line-height: 1.75;
  text-align: center;
}

.p-form {
  margin-top: 60px;
  text-align: center;
  font-size: 2.8rem;
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 1279px) {
  .p-pageContact {
    padding-right: 80px;
    padding-left: 80px;
  }
}

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

@media screen and (max-width: 479px) {
  .p-pageContact__lead {
    font-size: 1.5rem;
    text-align: left;
  }
}

.p-pageArchive {
  margin-top: 60px;
  padding-right: 100px;
  padding-left: 100px;
}

.p-pageArchive__inner {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}


.p-newsBtn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin-bottom: 60px;
}

.p-newsBtn__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  height: 40px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 2px;
  background-color: #fff;
  border: 2px solid #EBEBEB;
  border-radius: 100vh;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  transition: .25s;
}

.p-newsBtn__link.-active,
.p-newsBtn__link:hover {
  background-color: #EBEBEB;
}

@media screen and (max-width: 1279px) {
  .p-pageArchive {
    padding-right: 80px;
    padding-left: 80px;
  }
}

@media screen and (max-width: 959px) {
  .p-newsBtn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 40px;
  }
  
  .p-newsBtn__link {
    min-width: 80px;
    height: 36px;
    padding-right: 15px;
    padding-left: 15px;
    background-color: #fff;
    font-size: 1.5rem;
  }  
}

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

/* ====================
single
==================== */
.p-article {
  padding-right: 100px;
  padding-left: 100px;
  width: 100%;
  margin-top: 100px;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.p-article__header {
  
}

.p-article__title {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 2px solid #EBEBEB;
  font-size: 2.2rem;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
  line-height: 1.6;
}

.p-article__info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-bottom: 15px;
}

.p-article__date {
  position: relative;
  display: inline-block;
  color: #EA617C;
}

.p-article__catList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.p-article__cat {
  display: inline-block;
  padding: 5px 10px;
  font-size: 1.3rem;
  border: 2px solid #EBEBEB;
  border-radius: 100vh;
  transition: .25s;
}

.p-article__cat:hover {
  background-color: #EBEBEB;
}

.p-article__date {

}

.p-article__body {
  margin-top: 60px;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.p-article__body a {
  word-break: break-all;
  text-decoration: underline;
  transition: .25s;
}

.p-article__body a:hover {
  opacity: .6;
}

.p-article__body h1, 
.p-article__body h2, 
.p-article__body h3, 
.p-article__body h4, 
.p-article__body h5, 
.p-article__body h6 {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 0.1em;
}

.p-article__body * + h1, 
.p-article__body * + h2, 
.p-article__body * + h3, 
.p-article__body * + h4, 
.p-article__body * + h5, 
.p-article__body * + h6,
.p-article__body * + img {
  margin-top: 2em;
}

.p-article__body * + p,
.p-article__body * + .wp-block-image {
  margin-top: 2em;
}

.p-article__body img,
.p-article__body * + .wp-block-image {
  width: auto;
  max-width: 100%;
}

.p-article__body a {
  text-decoration: underline;
}

.p-article__link {
  margin-top: 100px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}

.p-article__next {
  border-right: 1px solid #707070;
}

.p-article__prev a {
  text-align: right;
}

.p-article__prev,
.p-article__next {
  display: flex;
  align-items: stretch;
  width: 50%;
  position: relative;
}

.p-article__prev a,
.p-article__next a {
  display: flex;
  align-items: center;
  flex: 1 0 25%;
  padding: 10px;
  min-height: 70px;
  line-height: 1.5;
  width: 100%;
  position: relative;
  font-size: 1.5rem;
}

.p-article__next a {
  padding-left: 35px;
}

.p-article__prev a {
  padding-right: 35px;
  justify-content: flex-end;
}

.p-article__prev a:hover,
.p-article__next a:hover {
  background-color: #F6F6F6;
  transition: 0.25s;
  opacity: 1;
}

.p-article__prev a::after,
.p-article__next a::after {
  content: "";
  position: absolute;
  display: inline-block;
  background: url(../images/single_arrow.svg) no-repeat;
  background-size: 13px 14px;
  width: 13px;
  height: 14px;
  top: 50%;
  transform: translateY(-50%);
}

.p-article__next a::after {
  left: 5px;
  transform: translateY(-50%) scale(-1, 1);
}

.p-article__prev a::after {
  right: 5px;
}

.p-article__nextNone {
  width: 50%;
  border-right: 1px solid #707070;
}

.p-article__prevLink:hover,
.p-article__nextLink:hover {
  opacity: 0.75;
}

.p-article__nextNone {
  width: 50%;
}

.p-article__btn{
  margin-top: 50px;
  display: grid;
  place-items: center;
}

.p-article__btnLink {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 176px;
  height: 44px;
  background-color: #fff;
  border: 1px solid #F26782;
  border-radius: 100vh;
  color: #F26782;
  font-size: 1.5rem;
  transition: 0.25s;
}

/*矢印と下線の形状*/
.p-article__btnLink::before{
  content: '';
  /*絶対配置で下線の位置を決める*/
  position: absolute;
  top: 50%;
  right: -16px;
  /*下線の形状*/
  width: 35px;
  height: 1px;
  background:#F26782;
  /*アニメーションの指定*/
  transition: all .2s;
}

.p-article__btnLink::after {
  content: '';
  /*絶対配置で矢印の位置を決める*/
  position: absolute;
  top: 50%;
  right: -16px;
  /*矢印の形状*/    
  width: 8px;
  height: 1px;
  background:#F26782;
  transform: translateY(-2px) rotate(35deg);
  /*アニメーションの指定*/
  transition: all .2s;
}

/*hoverした際の移動*/
.p-article__btnLink:hover::before{
  right: -24px;
}

.p-article__btnLink:hover::after{
  right: -24px;
}

@media screen and (max-width: 1279px) {
  .p-article {
    padding-right: 80px;
    padding-left: 80px;
  }
}

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

  .p-article__body {
    margin-top: 40px;
  }

  .p-article__title {
    font-size: 1.8rem;
  }

  .p-article__link {
    flex-direction: column;
    margin-top: 50px;
    font-size: 1.3rem;
  }

  .p-article__prev a,
  .p-article__next a {
    font-size: 1.3rem;
  }

  .p-article__linkSingle {
    border-bottom: none;
  }

  .p-article__next {
    border-right: none;
  }

  .p-article__link li:not(:last-child) {
    border-bottom: 1px solid #707070;
  }

  .p-article__link li:last-child {
    border-bottom: none;
  }

  .p-article__link li.p-article__nextNone {
    width: 100%;
    border-bottom: none;
  }

  .p-article__prev,
  .p-article__next {
    width: 100%;
  }

  .p-article__btn {
    margin-top: 30px;
  }

  .p-article__btnLink {
    padding: 10px 15px;
    font-size: 1.6rem;
  }
}

.breadcrumbs {
  max-width: 1400px;
  padding: 20px 100px 0 240px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: 0 auto;
  font-size: 1.3rem;
}

.breadcrumbs > span:not(:last-child) {
  position: relative;
  margin-right: 20px;
}

.breadcrumbs > span:not(:last-child)::after {
  position: absolute;
  content: '';
  display: inline-block;
  right: -14px;
  top: 1px;
  width: 7px;
  height: 12px;
  background-image: url('../images/bc_arrow.svg');
  background-size: 7px 12px;
  background-repeat: no-repeat;

}

@media screen and (max-width: 1279px) {
  .breadcrumbs {
    padding: 20px 80px 0 240px;
  }
}

@media screen and (max-width: 767px) {
  .breadcrumbs {
    display: none;
  }
}

.pager {
  margin-top: 40px;
}

/*wp-pagenavi base*/
.wp-pagenavi {
	clear: both;
	text-align:center;
}

.wp-pagenavi a, .wp-pagenavi span {
  width: 36px;
  height: 36px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
	margin: 2px;
	white-space: nowrap;
  border-radius: 3px;
	transition: .2s ease-in-out;
	text-align: center;
  font-size: 1.8rem;
  border: 1px solid #EBEBEB;
  font-family: "Zen Maru Gothic", system-ui;
  font-weight: 700;
  font-style: normal;
}

.wp-pagenavi a:hover{
  background-color:#EBEBEB; 
  border-color:#EBEBEB;
}

.wp-pagenavi span.current{
	color: #FFF;
	background-color: #FFA701;
	border-color: #FFA701;
}

.u-sp {
  display: none;
}

.u-pc {
  display: block;
}

.u-mb {
  display: none;
}

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

  .u-pc {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .u-mb {
    display: block;
  }
}

.u-textBold {
  font-weight: bold;
}

.u-kintou {
  text-align: justify;
  text-align-last: justify;
  text-justify: inter-ideograph;
}

.u-underline {
  text-decoration: underline;
}

.u-textLink {
  text-decoration: underline;
}

.u-textLink:hover {
  text-decoration: none;
}

.u-textRed {
  color: #F26782;
}

.u-textSmall {
  font-size: 1.4rem;
}

/*==================================================
ふわっ
===================================*/

/* fadeUp */

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(80px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media screen and (max-width: 767px) {
  @keyframes fadeUpAnime {
    from {
      opacity: 0;
      transform: translateY(50px);
    }
  
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定 */
.fadeUpTrigger {
  opacity: 0;
}

.swiper-slide {
  text-align: center;
}

.swiper-container-pc .swiper-slide img {
  width: 100%;
  border-bottom-left-radius: 105px ;
  margin-right: auto;
  margin-left: auto;
  min-height: 480px;
}

.swiper-slide .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: #C2C2C2;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: #707070;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 6px;
}

.swiper-container {
  padding-bottom: 0;
}

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  text-align: right;
  bottom: 20px;
  padding-right: 100px;
}

.swiper-container-sp {
  display: none;
}

.swiper-container-plan.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  text-align: center;
  bottom: 0;
  padding-right: 0;
}

.swiper-container-plan {
  padding-bottom: 28px;
}

.swiper-container-plan .swiper-pagination-bullet {
  display: none;
}

@media screen and (max-width: 959px) {
  .swiper-container-plan .swiper-pagination-bullet {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .swiper-container-pc .swiper-slide img,
  .swiper-container-sp .swiper-slide img {
    border-bottom-left-radius: 40px;
  }

  .swiper-container-sp .swiper-pagination-bullet {
    display: none;
  }

  .swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 6px;
  }
}

@media screen and (max-width: 479px) {
  .swiper-container-pc {
    display: none;
  }

  .swiper-container-sp {
    display: block;
  }

  .swiper-slide img {
    min-height: auto;
  }
}

.fadeInTrigger {
  opacity: 0;
}

/* その場で */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.yureAnim {
  transform-origin: center bottom;
  animation: 2s linear yurayura infinite;
}

@keyframes yurayura {
0% , 100%{
    transform: rotate(1deg);
}
50%{
    transform: rotate(-1deg);
}
}

.hanaAnim01 {
transform-origin: center bottom;
animation: 2.5s linear hanayurayura01 infinite;
}

.hanaAnim02 {
transform-origin: center bottom;
animation: 2.5s linear hanayurayura02 infinite;
}

.hanaAnim03 {
transform-origin: center bottom;
animation: 2.5s linear hanayurayura02 infinite;
}

@keyframes hanayurayura01 {
0% , 100%{
    transform: rotate(2deg);
}
50%{
    transform: rotate(0);
}
}

@keyframes hanayurayura02 {
0% , 100%{
    transform: rotate(1.5deg);
}
50%{
    transform: rotate(0);
}
}

/*テキストが跳ねるアニメーションの記述*/
.bounce {
animation: bounce 2s infinite ease-in-out;/*slideinが3秒かけてアニメーション、無限ループ*/
font-size: 30px;
}

@keyframes bounce {
/*テキストが跳ねる変化を記述*/
0% {
  transform: translateY(0);
}

10% {
  transform: translateY(-40px);
}

20% {
  transform: translateY(0);
}

25% {
  transform: translateY(-5px);
}

30% {
  transform: translateY(0);
}

100% {
  transform: translateY(0);
}
}

@media screen and (max-width: 767px) {
@keyframes bounce {
  /*テキストが跳ねる変化を記述*/
  0% {
    transform: translateY(0);
  }

  10% {
    transform: translateY(-20px);
  }

  20% {
    transform: translateY(0);
  }

  25% {
    transform: translateY(-5px);
  }

  30% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(0);
  }
}
}


/*========= 流れるテキスト ===============*/

/*全共通*/
.slide-in {
  overflow: hidden;
  display: inline-block;
}

.slide-in_inner {
  display: inline-block;
}

/*左右のアニメーション*/
.leftAnime,
.hLeftAnime {
  opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity: 0;
}

.hSlideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:2s;
  animation-fill-mode:forwards;
  transition-timing-function: ease-in;
  opacity: 0;
}

.hSlideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:0.6s;
  animation-fill-mode:forwards;
  transition-timing-function: ease-in;
  opacity: 0;
}

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
   transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.zoom-in {
overflow: hidden;
display: block;
opacity: 0;
}

/* 拡大 */
.zoomInAnime {
transform-origin: center bottom;
animation-name:zoomInAnime;
animation-duration: 0.4s;
animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
from {
  transform-origin: center bottom;
  transform: scale(0.8);
  opacity: 0;
}

to {
  transform-origin: center bottom;
  transform: scale(1);
  opacity: 1;
}
}

.mv-fade-in {
overflow: hidden;
opacity: 0;
}

.mvFadeInAnime {
animation-name: mvFadeInAnime;
animation-duration: 0.4s;
animation-fill-mode:forwards;
}

@keyframes mvFadeInAnime {
from {
  opacity: 0;
}

to {
  opacity: 1;
}
}

.house-fade-in {
overflow: hidden;
opacity: 0;
}

.houseFadeInAnime {
animation-name: houseFadeInAnime;
animation-duration: 1s;
animation-fill-mode:forwards;
transition-timing-function: ease-in;
}

@keyframes houseFadeInAnime {
from {
  opacity: 0;
}

to {
  opacity: 1;
}
}
