@charset "utf-8";

* {
  margin:0;
  padding:0;
}
*, *:before, *:after {box-sizing: border-box;}

html {
  font-size: 62.5%;
  overflow: auto;
}
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(16px, 2vw, 2.2rem);
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "palt";
  color: #111;
}
/* @media screen and (max-width:1200px) {font-size: clamp(16px, 1.5vw, 1.9rem);} */
.zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.caveat {
  font-family: "Caveat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.fw500 {
  font-weight: 500;
}
.fw700 {
  font-weight: 700;
}

br {
  line-height:0;
}
img {
  border:none;
  line-height:0;
  vertical-align:middle;
  max-width:100%;
  height:auto;
}
a {
  cursor: pointer;
  text-decoration:none;
  color: #111;
}
a:hover {
  text-decoration:none;
}
ul,li {
  list-style: none;
}
.db, .pc {
  display:block;
}
.dn, .sp {
  display:none;
}
.tac {
  text-align:center;
}
.tar {
  text-align:right;
}
.tal {
  text-align:left;
}
.relative {
  position: relative;
}
iframe{
  border:0; vertical-align: bottom;
}
.wfit {
  width: fit-content;
}
.wmrl {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.block {
  display: block;
}
.iblock {
  display: inline-block;
}

/*----- column -----*/
.flex {
  display: flex;
}
.sec {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.rev {
  flex-direction: row-reverse;
}
.jcc {
  justify-content: center;
}
.jcs {
  justify-content: space-between;
}
.jce {
  justify-content: flex-end;
}
.aic {
  align-items: center;
}
.ais {
  align-items: flex-start;
}
.aie {
  align-items: flex-end;
}


/*---------- form -----------*/
input, textarea {
  font-family:inherit;
  font-size:100%;
}
input[type="button"] {
  -webkit-appearance:none;
  border: none;
  cursor: pointer;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-optical-sizing: auto;
  font-size: min(2.4vw, 3.6rem);
}
input[type="text"], input[type="tel"], input[type="email"], textarea {
  -webkit-user-select:auto;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: min(1.65vw, 3.0rem);
  padding: min(0.81vw, 1.5rem);
  background: #f5f5f5;
  border-radius: min(0.6vw, 1.2rem);
  border-radius: min(0.6vw, 1.2rem);
  width:100%;
  vertical-align: bottom;
  box-sizing: border-box;
  border: none;
}
input:focus, textarea:focus {
  outline: 0.1rem solid var(--blue);
}
input[type=checkbox] {
  display: none;
}
.check01 {
  cursor: pointer;
  display: inline-block;
  padding: 0 0 0 min(3vw, 5rem);
  position: relative;
  width: fit-content;
}
.check01::before {
  background: #f5f5f5;
  border-radius: 0.3rem;
  content: '';
  display: block;
  width: min(2.2vw, 4rem);
  height: min(2.2vw, 4rem);
  left: 0;
  position: absolute;
  top: calc(50% - min(1vw, 2rem));
}
.check01::after {
  content: '';
  display: block;
  width: min(0.64vw, 1.2rem);
  height: min(1.2vw, 2.2rem);
  border-right: min(0.22vw, 0.4rem) solid var(--blue);
  border-bottom: min(0.22vw, 0.4rem) solid var(--blue);
  position: absolute;
  top: calc(50% - min(0.64vw, 1.2rem));
  left: min(0.7vw, 1.3rem);
  transform: rotate(45deg) translate3d(0, 2px, 0) scale3d(.7, .7, 1);
  transition: transform .2s ease-in-out, opacity .2s ease-in-out;
  opacity: 0;
}
input[type=checkbox]:checked + .check01::after {
  transform: rotate(45deg) scale3d(1, 1, 1);
  opacity: 1;
}




/* --------------------------------------
iPad Air
--------------------------------------- */
@media screen and (max-width: 820px){

}


/* --------------------------------------
iPad Mini
--------------------------------------- */
@media screen and (max-width:768px) {

}

/* --------------------------------------
Smart Phone
--------------------------------------- */
@media screen and (max-width:480px) {
  body {
    font-size: 1.4rem;
  }
  img {
    user-select:none;
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
  }
  .sp {display:block;}
  .pc {display:none;}


  input[type="text"], input[type="tel"], input[type="email"], textarea {
    padding: 1.2rem 1.2rem;
    border-radius: 0.6rem;
    font-size: 1.8rem;
  }
  .check01 {
    padding: 0 0 0 3rem;
  }
  .check01::before {
    width: 2.4rem;
    height: 2.4rem;
    top: calc(50% - 1.2rem);
  }
  .check01::after {
    width: 0.8rem;
    height: 1.5rem;
    border-right: 0.2rem solid var(--blue);
    border-bottom: 0.2rem solid var(--blue);
    top: calc(50% - 0.8rem);
    left: 0.75rem;
  }
}


.tel {
    pointer-events: none;
}
@media screen and (max-width:768px) {
  .tel{
    pointer-events: inherit;
  }
}