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

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

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

/*---- page navigation ----*/
.pageNation{
  padding-top: min(8rem, 8vw);
}

.wp-pagenavi{
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

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

.wp-pagenavi span.currensinglet{
  background: var(--color-navy);
  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(--kaisei-green);
  border: solid 1px var(--kaisei-green);
  border-radius: 50%;
  transition: var(--transition);
}

.wp-pagenavi span.current{
  background: var(--kaisei-green);
  color: var(--color-white);
  font-weight: 500;
}

a.nextpostslink,a.previouspostslink{
  color: var(--kaisei-green);
}

/*---- title ----*/
.p-mainTitle{
  margin: min(16rem, 34vw) auto min(4rem, 5vw);
}


/*--------------
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(1rem, 8vw);
}
.form-items:last-of-type{
  margin-bottom: 0;
}

.form-items dt p{
  font-size: min(1.2rem);
  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(1rem, 4vw) min(.5rem, 2vw);
  background: #2e31920a;
}

.wpcf7-textbox{
  border-radius: 9999px;
}

/*-- button style --*/
input[type=checkbox], input[type=radio] {
  display: none;
}

.wpcf7-list-item{
  margin: 0;
}

.wpcf7-list-item-label:before{
  content: "";
  background: var(--c-white);
  border-radius: 50%;
  border: none;
  display: inline-block;
  margin-right: 0.5em;
  cursor: pointer;
  top: 10%;
  left: 0;
  box-shadow: inset 0 0 0 1px var(--c-blue);
  width: min(2rem, 4vw);
  height: min(2rem, 4vw);
  position: relative;
}

input[type=checkbox]:checked+.wpcf7-list-item-label:before, input[type=radio]:checked+.wpcf7-list-item-label:before {
  background-color: var(--c-orange);
  -webkit-box-shadow: inset 0 0 0 3px var(--c-white);
  box-shadow: inset 0 0 0 3px var(--c-white);
}

.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;
}

body .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(1rem, 3vw) min(1.4rem, 2vw);
  margin: 0 auto;
  display: block;
  cursor: pointer;
  transition: var(--transition);
  border: none;
}

.wpcf7 .wpcf7-submit:disabled{
  background: var(--c-gray);
}

/*----- confirm -----*/
.wpcf7-confirm .form-items dd{
  background: var(--c-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;
  color: var(--c-blue);
}
.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);
  color: var(--c-blue);
}

.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;
  }

}