/*--------------
common
--------------*/
:root{
  --bg-bottom-margin:8rem;
  --font-18: min(1.8rem, 3.5vw);
  --flex-gap: min(8rem, 4vw);
}

.pageMain{
  position: relative;
}
.pageMain.-gradation{
  background: var(--gradation);
}
.pageMain.-single{
  padding-bottom: min(26rem,24vw);
}

.page-wrapper{
  z-index: 1;
  position: relative;
  background: var(--c-white);
  padding-bottom: min(8rem,8vw);
  animation: blur 1s cubic-bezier(.04,.435,.315,.9) 1.1s normal forwards;
  filter: blur(2rem);
  opacity: 0;
}

/*---- Coming soon ----*/
.p-comingSoon{
  text-align: center;
}

.p-comingSoon h4{
  color: var(--c-blue);
  font-size: var(--font-20);
  padding-bottom: min(1.24rem, 1.4vw);
  line-height: 1.5;
  font-weight: 500;
}

/*---- page navigation ----*/
.pageNation{
}

.wp-pagenavi{
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-blue);
  letter-spacing: 0;
}

.wp-pagenavi a,.wp-pagenavi span{
  border: none;
  margin: 4px;
  padding: 0;
}

.wp-pagenavi span.currensinglet{
  background: var(--c-blue);
  color: var(--color-white);
  font-weight:500;
}

.wp-pagenavi span.current,.wp-pagenavi a.page{
  width: min(3.4rem, 7vw);
  height: min(3.4rem, 7vw);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  color: var(--c-blue);
  border: solid 1px var(--c-blue);
  border-radius: 50%;
  transition: var(--transition);
}

.wp-pagenavi span.current{
  background: var(--c-blue);
  color: var(--c-white);
  font-weight: 600;
}

a.nextpostslink,a.previouspostslink{
  color: var(--c-blue);
}

/*---- title ----*/
.page-mainTitle{
  position: relative;
  z-index: 1;
  background: var(--gradation);
  padding: 25vw 0 18vw;
  overflow: hidden;
}
.page-mainTitle::before{
  position: absolute;
  content: "";
  background: url(img/cloud-bg1.webp) no-repeat center;
  background-size: 100%;
  width: 140%;
  height: 55vw;
  z-index: -1;
  bottom: -24vw;
  left: 50%;
  transform: translateX(-54%);
}

.page-mainTitle h2{
  color: var(--c-blue);
  text-align: center;
  text-transform: uppercase;
  font-size: min(3.4rem, 4.83vw);
  line-height: 1.5;
  animation: blur 1s cubic-bezier(.04,.435,.315,.9) 1.1s normal forwards;
  filter: blur(2rem);
  opacity: 0;
  z-index: 2;
  position: relative;
}

.page-mainTitle h2 .contents-title_inner svg,
.page-mainTitle h2 .contents-title_inner img{
  height: min(6rem, 8vw);
}

.page-mainTitle h2 span.page-contents-titleText{
  display: block;
  margin-top:min(2rem,4vw);
}

.page-mainTitle .-item-cloud1{
  top: 3vw;
  left: min(13rem, 5vw);
  width: min(20rem, 25vw);
  transform: translateY(0);
  transition: transform 0.2s ease-out;
}
.page-mainTitle .-item-cloud2{
  top: 6vw;
  right: -8vw;
  width: min(31rem, 40vw);
}
.page-mainTitle .-item-cloud3{
  top: min(11rem, 20vw);
  left: min(8rem, 2vw);
  width: min(21rem, 26vw);
  transform: translateY(0);
  transition: transform 0.2s ease-out;
}

.parallax-container {
  overflow: visible;
  position: relative;
}

.parallax-element{
  position: relative;
  will-change: transform;
}

@media screen and (min-width:768px) {
  .page-mainTitle{
    padding: 17vw 0 16vw;
  }
  .page-mainTitle::before{
    transform: translateX(-53%);
    height: 51vw;
    bottom: -24vw;
    width: 108%;
  }

  .page-mainTitle .-item-cloud2{
    top: 3vw;
  }
}

@media screen and (min-width: 1025px) {
  .page-mainTitle{
    padding: 10vw 0 15vw;
  }

  .page-mainTitle h2{
    font-size: min(3.83rem, 5.24vw);
  }
  .page-mainTitle h2 .contents-title_inner svg{
    height: min(7rem, 7vw);
  }

  .page-mainTitle .-item-cloud1{
    width: min(17rem, 25vw);
    top: 1vw;
  }

  .page-mainTitle .-item-cloud2{
    width: min(42rem, 33vw);
    top: 9%;
  }
  .page-mainTitle .-item-cloud3{
    top: 6rem;
    left: min(30rem);
    width: min(30rem, 28vw);
  }
}


/*--------------
contact
--------------*/
.p-contact_form{
  padding: min(7rem, 8vw) 0 0;
}

.p-contact_formNotes{
  width: min(100%, 90rem);
  margin: 0 auto calc(var(--section-margin) / 4);
  background: #ffd39c47;
  padding: var(--bg-padding);
  border-radius: calc(var(--border-radius) / 2);
}

.wpcf7-wrapper{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: min(3rem, 8vw);
  margin-bottom: min(4rem, 8vw);
}

.wpcf7-wrapper dl{
  width: min(100%,90rem);
  margin: 0 auto;
}

.form-items{
  display: flex;
  flex-direction: column;
  gap: min(.6rem, 1.4vw);
  margin-bottom: min(3.4rem, 8vw);
}
.form-items:last-of-type{
  margin-bottom: 0;
}

.form-items dt p{
  font-size: var(--title214);
  color: var(--c-blue);
  font-weight: 600;
}

p>span.required{
  color: #ff4e46;
  font-size: 64%;
}

.form-items dt p>span.required{
  padding-left: 4px;
}

.form-acceptance{
  text-align: center;
}

/*----- wpcf7 -----*/
.wpcf7-textbox, .wpcf7-textarea, .wpcf7-form-submit {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  border:solid 1px var(--c-blue);
  font-family: var(--font-jp);
  border-radius: .5em;
  padding: min(1.6rem, 4vw) min(1.2rem, 2vw);
  background: #2e31920a;
}

.wpcf7-textbox,.wpcf7-textarea{
  font-size: min(1.6rem,3.4vw);
}

/*-- button style --*/
input[type=checkbox], input[type=radio] {
  display: none;
}
input[type=checkbox]:checked+.wpcf7-list-item-label:before, input[type=radio]:checked+.wpcf7-list-item-label:before {
  background-color: var(--color-black);
  -webkit-box-shadow: inset 0 0 0 3px var(--color-white);
  box-shadow: inset 0 0 0 3px var(--color-white);
}

.wpcf7-list-item-label:before{
  content: "";
  background: var(--color-white);
  border-radius: 50%;
  border: none;
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  cursor: pointer;
  top: 0;
  left: 1em;
  bottom: 0;
  box-shadow: inset 0 0 0 1px var(--color-gray);
}

.wpcf7 input[type="file"] {
  cursor: pointer;
}

input[type="file" i]{
  appearance: none;
  -webkit-appearance: none;
  background-color: initial;
  cursor: default;
  align-items: baseline;
  color: inherit;
  text-overflow: ellipsis;
  text-align: start !important;
  padding: initial;
  border: initial;
  white-space: pre;
}

.wpcf7-form-control{
  display: flex;
  flex-wrap: wrap;
  gap: min(1rem, 2vw);
}

.add br{
  display: none;
}

.wpcf7-list-item{
  margin: 0;
  display: block;
  width: 100%;
}

.wpcf7-form-submit{
  background: var(--c-blue);
  color: var(--c-white);
  border-radius: 9999px;
  font-size: var(--title214);
  font-weight: 500;
  width: min(480px, 100%);
  padding: min(2rem, 3vw) min(1.4rem, 2vw);
  margin-top: min(1.4rem, 4vw);
  cursor: pointer;
  transition: var(--transition);
  border: none;
}

/*----- confirm -----*/
.wpcf7-confirm .form-items dd{
  background: var(--color-white);
  border-radius: .5em;
  padding:min(.8rem, 3vw) min(.8rem, 2vw);
}

/*----- thanks -----*/
.contactThanks{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: min(20vh, 38vw) 0 min(12rem, 14vw);
  position: relative;
}

.contactThanks-wrapper{
  padding: 0 6vw 0;
}
.contactThanks-wrapper h2{
  font-size: min(6.24rem, 10vw);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .02em;
  padding-bottom: min(6vw, 3rem);
  text-transform: uppercase;
}
.contactThanks-wrapper h2 span{
  display: block;
  font-size: 42%;
}

.contactThanks-wrapper>.contactThanks-image{
  width: min(22rem, 32vw);
  display: block;
  margin: 0 auto min(3rem, 6vw);
}

.contactThanks-contents{
    width: min(72rem, 100%);
    margin: 0 auto min(3rem,6vw);
}

.contactThanks-contents p{
  padding-bottom: min(1rem);
}

.contactThanks>.deco-item.-item-cloud1{
  width: min(32rem, 36vw);
  top: min(16rem, 22vw);
  left: min(19rem, 4vw);
  z-index: -1;
}
.contactThanks>.deco-item.-item-cloud2{
  width: min(23rem, 29vw);
  right: min(24rem, 3vw);
  top: min(17rem, 25vw);
  z-index: -1;
}

.contactThanks-links{
  text-align: center;
}
.contactThanks-links a{
  margin: 0 auto;
}

@media screen and (min-width:768px) {
  .p-contact_formNotes{
    margin: 0 auto calc(var(--section-margin) / 2);
    padding: calc(var(--bg-padding) / 2);
  }
  .wpcf7-wrapper dl:nth-of-type(2){
    width: calc((100% - min(3rem, 7vw)) - 34%);
  }

  .wpcf7-list-item{
    width: calc((100% - min(1rem, 2vw)) / 2);
  }

  .wpcf7-form-submit:hover{
    box-shadow: 2px 2px 8px rgba(0, 0, 0, .25);
    background: #2e3192ba;
  }

}



/*--------------
NEWS
--------------*/
.page-singleTitle{
  color: var(--c-blue);
  padding: min(4rem, 6vw) 0 min(2rem, 4vw);
}

.page-singleTitle h2{
  font-size: min(3.4rem, 5vw);
  font-weight: 700;
  line-height: 1.5;
}

.s-titleArea_title{
  padding-top: min(1rem, 2vw);
  display: flex;
  align-items: center;
  gap: min(1rem, 2vw);
  flex-wrap: wrap;
  font-size: min(2rem, 3.83vw);
  line-height: 1.4;
}

.s-titleArea_title .cate-name{
  font-size: 74%;
}

.page-news .newsList{
  padding: min(5rem,10vw) 0;
}

.page-news ul.newsList li.newsList-item a{
  padding: min(2rem, 2.5vw) 0;
}

.single-links>a{
  margin: 0 auto;
}

.single-wrapper{
  padding-bottom: calc(var(--section-margin) / 4);
  margin-bottom: calc(var(--section-margin) / 4);
  border-bottom: solid 1px var(--c-gray);
}

.single-wrapper p{
  margin-top: min(2.4rem,3vw);
}

.single-wrapper h1{
  font-size: min(2.4rem, 4.6vw);
  color: var(--c-blue);
  font-weight: 700;
  margin-bottom: min(1.5rem, 4vw);
  margin-top: min(6rem, 6vw);
}

.single-wrapper h2{
  color: var(--c-blue);
  font-size:min(2rem, 4.24vw);
  font-weight: 700;
  margin-bottom: min(1.5rem, 2vw);
  margin-top: min(6rem, 6vw);
}

.single-wrapper h3{
  font-size: var(--font-18);
  margin-top: min(3rem, 3vw);
  font-weight: 700;
}

.single-wrapper p a{
  color: var(--c-blue);
  font-weight: 700;
  text-decoration: underline;
}

.single-wrapper strong{
  font-weight: 700;
}

.single-wrapper ul{
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: min(1rem, 2vw);
  margin-top: min(2.4rem, 4vw);
}
.single-wrapper ul li{
  position: relative;
  padding-left: min(1.4rem, 3vw);
}
.single-wrapper ul li::before{
  position: absolute;
  content: "";
  background: var(--c-black);
  width: min(.6rem, 2vw);
  height: min(.6rem, 2vw);
  border-radius: 50%;
  left: 0;
  top: min(.6rem, 2.4vw);
}

.single-wrapper blockquote{
  background: #2e31920a;
  padding: min(3rem, 5vw);
  border-radius: calc(var(--border-radius) / 2);
  margin: min(3.24rem, 8vw) 0 0;
}

.single-wrapper blockquote p:nth-of-type(1){
  margin-top: 0;
}

.single-wrapper blockquote ul{
  padding-bottom: 0;
}

/*-------------
TOPICS
--------------*/
ul.page-topics_list{
  display: grid;
  gap:min(5rem, 5vw);
  grid-template-columns: repeat(1, 1fr);
  margin: min(5rem,10vw) 0;
}

@media screen and (min-width: 769px) {
  /*-------------
  TOPICS
  --------------*/
  ul.page-topics_list{
    grid-template-columns: repeat(2, 1fr);
  }
}


@media screen and (min-width: 1025px) {
  .page-news .contents{
    width: 92rem;
  }

  .single-wrapper{
    padding-bottom: calc(var(--section-margin) / 3);
    margin-bottom: calc(var(--section-margin) / 3);
  }

  .single-wrapper p a:hover{
    opacity: .6;
  }

  /*-------------
  TOPICS
  --------------*/
  ul.page-topics_list{
    grid-template-columns: repeat(3, 1fr);
  }
}