@charset "UTF-8";
/*
Theme Name: mube
*/
/*-------------------------------

common

-------------------------------*/
.c-a--underline {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 0.5px;
}

/*-------------------------------

hd

-------------------------------*/
.hd .logo {
  width: 120px;
  position: fixed;
  top: 41px;
  /* left: 67px; */
  left: 45px;
  z-index: 4;
}

/*-------------------------------

ft

-------------------------------*/
.ft {
  /* padding-bottom: 93px; */
  padding-bottom: 21px;
}

.ft .cr {
  text-align: right;
  font-size: 12px;
  letter-spacing: 0.1em;
}

/*-------------------------------

p-top

-------------------------------*/
.p-top {
  background: #bdaf8a;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.p-top .fv {
  animation: fadeIn 2s ease forwards;
  background: url(img/top/bg.jpg);
  height: 100vh;
  width: 100vw;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

.p-top .fv::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.1);
  z-index: 1;
  cursor: pointer;
}

.p-top .fv .img {
  position: fixed;
  inset: 0;
  margin: auto;
  width: 450px;
  aspect-ratio: 45/60;
}

.p-top .fv .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 5px;
}

.p-top .fv .heading {
  position: fixed;
  font-family: var(--times);
  font-size: 18px;
  letter-spacing: 0.1em;
  width: fit-content;
  height: fit-content;
  inset: 0;
  margin: auto;
  translate: -489px 0;
  translate: max(-489px, -32vw) 0;
}

.p-top .menu {
  position: fixed;
  background: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
  z-index: 10;
}

.p-top .menu.is-active {
  opacity: 1;
  pointer-events: auto;
}

.p-top .menu .txt-wrap {
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.1em;
  line-height: 2.2;
  position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  text-align: right;
  translate: 215px 0;
}

.p-top .menu .link {
  margin-top: 20px;
  margin-top: 88px;
}

.p-top .menu .link a:first-child{
	display: grid;
	margin-bottom: 1.6em;
}


/*-------------------------------

p-niwazukuri

-------------------------------*/
.p-niwazukuri .fv {
  /* padding-top: 260px; */
  height: 100vh;
  /* width: 100vw; */
  width: 100%;
  position: relative;
}

.p-niwazukuri .fv .img {
  margin: 0 auto;
  position: absolute;
  inset: 0;
  margin: auto;
  aspect-ratio: 27/38;
  /* width: 540px; */
  height: 65vh;
}

.p-niwazukuri .fv .img img {
  aspect-ratio: 27/38;
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 5px;
}

.p-niwazukuri .niwazukuri {
  padding-bottom: 231px;
}

.p-niwazukuri .niwazukuri .container {
  width: 640px;
}

.p-niwazukuri .niwazukuri .heading {
  font-size: 16px;
  letter-spacing: 0.2em;
  /* margin-top: 100px; */
  text-align: center;
}

.p-niwazukuri .niwazukuri .txt {
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 2.3;
  margin-top: 89px;
}

.p-niwazukuri .niwazukuri .sign {
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 2.8;
  margin-top: 92px;
}

.p-niwazukuri .niwazukuri .link {
  font-size: 16px;
  letter-spacing: 0.1em;
  text-underline-offset: 16px;
  margin-top: 107px;
}

/*-------------------------------

p-niwazukuriform

-------------------------------*/
.p-niwazukuriform {
  padding-bottom: 180px;
}

.p-niwazukuriform .container {
  width: 740px;
}

.p-niwazukuriform .fv {
  padding-top: 239px;
  /* width: 100vw;
  height: 100vh;
  position: relative; */
}

.p-niwazukuriform .fv .wrap {
  /* position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content; */
  max-width: 740px;
  /* max-width: 90%; */
}

.p-niwazukuriform .fv .heading {
  font-size: 16px;
  letter-spacing: 0.1em;
}

.p-niwazukuriform .fv .img {
  width: 100%;
  margin-top: 92px;
  aspect-ratio: 37/23;
}

.p-niwazukuriform .fv .img img {
  aspect-ratio: 37/23;
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 5px;
}

.p-niwazukuriform .lead {
  padding-bottom: 145px;
}

.p-niwazukuriform .lead .txt {
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 2.3;
  margin-top: 90px;
}

.p-niwazukuriform .form {
  border-top: 1px solid #aaa69c;
  border-bottom: 1px solid #aaa69c;
  padding-top: 145px;
  padding-bottom: 175px;
}

.p-niwazukuriform .form .heading {
  font-size: 16px;
  letter-spacing: 0.1em;
}

.p-niwazukuriform .form .txt {
  margin-top: 20px;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2.3;
}

.p-niwazukuriform .form .heading + .txt {
  margin-top: 20px;
}

.p-niwazukuriform .form .caution {
  font-size: 13px;
  letter-spacing: 0.1em;
  text-align: right;
  margin-top: 61px;
}

.p-niwazukuriform .form .item-wrap {
  margin-top: 29px;
  /* font-size: 16px; */
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2.3;
}

.p-niwazukuriform .form .item-wrap > * + * {
  margin-top: 49px;
}

.p-niwazukuriform .form .item__required {
  margin-left: 4px;
  font-size: 13px;
}

.p-niwazukuriform .form .item__ttl {
  line-height: 1;
}

.p-niwazukuriform .form .item__txt {
  margin-top: 5px;
}

.p-niwazukuriform .form .item--tel .item__txt {
  width: 386px;
}

.p-niwazukuriform
  .form
  .item__txt
  :is(
    input:is(
        [type="text"],
        [type="email"],
        [type="tel"],
        [type="number"],
        [type="url"],
        [type="search"],
        [type="password"]
      ),
    textarea
  ) {
  border-bottom: 1px solid #333;
}

.p-niwazukuriform .form .item__txt-wrap {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.p-niwazukuriform .form .item__txt--zip {
  width: 256px;
  position: relative;
}

.p-niwazukuriform .form .item__txt--zip input {
  padding-left: 21px;
}

.p-niwazukuriform .form .item__txt--zip::before {
  content: "〒";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.p-niwazukuriform .form .item__txt--address {
  width: calc(100% - 277px);
}

.p-niwazukuriform .form .item--num .item__txt {
  width: 73px;
  position: relative;
  text-align: right;
}

.p-niwazukuriform .form .item--num .item__txt::after {
  position: absolute;
  content: "口";
  right: -22px;
  top: 0;
  bottom: 0;
  margin: auto;
  height: fit-content;
}

.p-niwazukuriform .form .item--num input {
  text-align: right;
}

.p-niwazukuriform .form .wpcf7-radio {
  display: flex;
  flex-direction: row;
  gap: 51px;
}

.p-niwazukuriform .form input[type="radio"] {
  appearance: none;
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 100vmax;
  background: #fff;
}

.p-niwazukuriform .form input[type="radio"]:checked:before {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  inset: 0;
  margin: auto;
  border-radius: 100vmax;
  background: #000;
}

.p-niwazukuriform .form .wpcf7-list-item label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 19px;
}

.p-niwazukuriform .form .item__caution {
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 11px;
  /* position: relative;
  margin-left: 1.5em; */
}

/* .p-niwazukuriform .form .item__caution::before {
  content: "※";
  position: absolute;
  top: 0;
  left: -1.5em;
} */
.p-niwazukuriform .form .btn {
  width: 242px;
  height: 61px;
  background: #333;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1em;
  border: 1px solid #333;
}

.p-niwazukuriform .form .btn,
.p-niwazukuriform .form .btn-wrap {
  margin: 83px auto 0;
}

.p-niwazukuriform .form .btn--back {
  background: #fff;
  color: #333;
}

.p-niwazukuriform .form .btn-wrap {
  width: fit-content;
  gap: 20px;
}

.p-niwazukuriform .form .policy {
  text-align: center;
  margin-top: 29px;
  font-size: 13px;
  letter-spacing: 0.1em;
  /* color: #777; */
  /* text-decoration-thickness: 0.5px; */
}

.p-niwazukuriform .form .info {
  margin-top: 147px;
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.2em;
}

.p-niwazukuriform .form .js-cf7-confirm-wrap .item__txt--zip {
  padding-left: 21px;
  padding-left: 0;
}

.p-niwazukuriform .form .js-cf7-confirm-wrap .item {
  display: flex;
  flex-direction: row;
  gap: 50px;
}
.p-niwazukuriform .form .js-cf7-confirm-wrap .item__ttl {
  width: 270px;
  line-height: 2.3;
}
.p-niwazukuriform .form .js-cf7-confirm-wrap .item__txt,
.p-niwazukuriform .form .js-cf7-confirm-wrap .item__txt-wrap {
  width: calc(100% - 320px);
}
.p-niwazukuriform .form .js-cf7-confirm-wrap .item__txt-wrap .item__txt {
  width: auto;
}
.p-niwazukuriform .form .js-cf7-confirm-wrap .item--num .item__txt {
  width: auto;
}
.p-niwazukuriform .form .js-cf7-confirm-wrap .item--num .item__txt::after {
  position: static;
  margin-left: -4px;
}
.p-niwazukuriform
  .form
  .js-cf7-confirm-wrap
  .item--public
  :is(.item__ttl, .item__txt) {
  width: auto;
}
.p-niwazukuriform .form .js-cf7-confirm-wrap .item__txt-wrap {
  display: block;
}
.p-niwazukuriform .form .js-cf7-confirm-wrap .item__txt--zip::before {
  position: static;
}
.p-niwazukuriform
  .form
  .js-cf7-confirm-wrap
  :is(.item--tel, .item--email, .item--num)
  .item__txt {
  padding-left: 2px;
}
.js-cf7-confirm__your-zip {
  margin-left: -5px;
}

/*-------------------------------

p-policy

-------------------------------*/
.p-policy .policy {
  padding-top: 200px;
  padding-bottom: 159px;
}
.p-policy .policy .container {
  width: 1000px;
}
.p-policy .policy .heading {
  font-size: 16px;
}
.p-policy .policy .lead {
  margin-top: 51px;
  line-height: 2;
  font-size: 14px;
}
.p-policy .policy .item-wrap {
  margin-top: 50px;
  line-height: 2;
  font-size: 14px;
}
.p-policy .policy .item-wrap > * + * {
  margin-top: 43px;
}
.p-policy .policy .item__ttl {
  border-bottom: 1px solid #111;
}
.p-policy .policy .item__txt {
  margin-top: 18px;
}
.p-policy .policy ul {
  list-style: disc;
  list-style-position: inside;
  margin: 1em 0;
  padding-left: 2em;
}
.p-policy .policy ol {
  list-style: decimal;
  list-style-position: inside;
  margin: 1em 0;
  padding-left: 2em;
}
.p-policy .policy li {
  text-indent: -1em;
}


/*-------------------------------

page-closed

-------------------------------*/

.niwazukuri.closed{
	padding-top: 12em;
}

.niwazukuri.closed .link{
	display: table;
	padding-bottom: .5em;
	border-bottom: 1px solid #333;
	margin: 9em auto 0;
}

.niwazukuri.closed .link a{
	display: table;
	text-align: center;
	position: relative;
	padding: 0 1.5em 0 2.5em;
	margin: 0 auto;
}

.niwazukuri.closed .link a::before{
	content: "";
	display: block;
	width: .5em;
	height: .5em;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	position: absolute;
	top: 50%;
	left: .5em;
	transform: translateY(-50%) rotate(-45deg);
}

.niwazukuri.closed .link a::after{
	content: "";
	display: block;
	width: 1em;
	height: 1px;
	background: #333;
	position: absolute;
	top: 50%;
	left: .5em;
	transform: translateY(-50%);	
}


@media (max-width: 800px) {

.niwazukuri.closed{
	padding-top: 7em;
}

.p-top .menu .link a:first-child {
    margin-bottom: 1.2em;
}

}