@charset "UTF-8";
html {
  font-size: 62.5%;
  scroll-padding-top: 100px;
}

@keyframes bodyFadeIn {
  to {
    opacity: 1;
  }
}
body {
  font-family: "M PLUS 1p", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #333333;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.7;
  margin: 0px auto;
  padding: 0px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  background-color: #FFFFFF;
  text-align: justify;
  overflow-x: hidden;
  opacity: 0; /* 初期状態で非表示 */
  animation: bodyFadeIn 0.3s ease-in-out 0.3s forwards; /* 1秒遅らせてフェードイン */
}

body * {
  letter-spacing: 0.075em;
}

a {
  color: #333333;
  text-decoration: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: 0.3s;
}
a[href^=tel] {
  pointer-events: none;
}
a:not(.linkLogo):hover {
  opacity: 0.7;
}
* {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

sup {
  vertical-align: top;
  position: relative;
  font-size: 50%;
  top: 4px;
}

ul {
  margin-block-start: 0em;
  margin-block-end: 0em;
  padding-inline-start: 0px;
}

p, dd {
  line-height: 1.7;
}

address {
  font-style: normal;
  line-height: inherit;
}

em {
  font-style: normal;
}

mark {
  font-style: normal;
  font-weight: normal;
  background: none;
}

input:not([type=radio]):not([type=checkbox]),
button,
select,
textarea {
  appearance: none;
  background: transparent;
  border: none;
  font: inherit;
  overflow: hidden;
}

textarea {
  resize: vertical;
}

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

.pc {
  display: block;
}

.sp {
  display: none;
}

.aC {
  text-align: center;
}

.aL {
  text-align: left;
}

.aR {
  text-align: right;
}

.aJ {
  text-align: justify;
}

.pR {
  position: relative;
}

.pA {
  position: absolute;
}

.opa0 {
  opacity: 0;
}

.fL {
  float: left;
}

.fR {
  float: right;
}

.hdn {
  overflow: hidden;
}

.cf:after {
  content: "";
  display: block;
  clear: both;
}

.B {
  font-weight: bold;
}

.BB {
  font-weight: 900;
}

.N {
  font-weight: 500;
}

.fW400 {
  font-weight: 400;
}

.Red {
  color: #E50303;
}

.White {
  color: #FFFFFF;
}

.textArea {
  /*  h1, h2, h3, h4, h5, h6 {
      line-height: 1.2;
    }*/
}
.textArea dt, .textArea li {
  line-height: 1.7;
}
.textArea p:not(:last-of-type) {
  margin-bottom: min(2.34375vw, 30px);
}

.LH_1_2 {
  line-height: 1.2;
}

.LH_1_5 {
  line-height: 1.5;
}

.LH_1_7 {
  line-height: 1.7;
}

.LH_2 {
  line-height: 2;
}

.LS_0 {
  letter-spacing: 0;
}

.LS_0_25 {
  letter-spacing: 0.025em;
}

.LS_0_5 {
  letter-spacing: 0.05em;
}

.LS_0_75 {
  letter-spacing: 0.075em;
}

.LS_1 {
  letter-spacing: 0.1em;
}

.txt10 {
  font-size: 1rem;
}

.txt12 {
  font-size: 1.2rem;
}

.txt14 {
  font-size: 1.4rem;
}

.txt16 {
  font-size: 1.6rem;
}

.txt18 {
  font-size: 1.8rem;
}

.txt20 {
  font-size: 2rem;
}

.txt22 {
  font-size: 2.2rem;
}

.txt24 {
  font-size: 2.4rem;
}

.txt26 {
  font-size: 2.6rem;
}

.txt28 {
  font-size: 2.8rem;
}

.txt30 {
  font-size: 3rem;
}

.txt32 {
  font-size: 3.2rem;
}

.txt34 {
  font-size: 3.4rem;
}

.txt36 {
  font-size: 3.6rem;
}

.txt40 {
  font-size: 4rem;
}

.txt48 {
  font-size: 4.8rem;
}

.txt74 {
  font-size: 7.4rem;
}

.txt10v {
  font-size: min(0.78125vw, 10px);
}

.txt12v {
  font-size: min(0.9375vw, 12px);
}

.txt14v {
  font-size: min(1.09375vw, 14px);
}

.txt16v {
  font-size: min(1.25vw, 16px);
}

.txt18v {
  font-size: min(1.40625vw, 18px);
}

.txt20v {
  font-size: min(1.5625vw, 20px);
}

.txt22v {
  font-size: min(1.71875vw, 22px);
}

.txt24v {
  font-size: min(1.875vw, 24px);
}

.txt26v {
  font-size: min(2.03125vw, 26px);
}

.txt28v {
  font-size: min(2.1875vw, 28px);
}

.txt30v {
  font-size: min(2.34375vw, 30px);
}

.txt32v {
  font-size: min(2.5vw, 32px);
}

.txt34v {
  font-size: min(2.65625vw, 34px);
}

.txt36v {
  font-size: min(2.8125vw, 36px);
}

.txt40v {
  font-size: min(3.125vw, 40px);
}

.txt48v {
  font-size: min(3.75vw, 48px);
}

.txt74v {
  font-size: min(5.78125vw, 74px);
}

.mb0 {
  margin-bottom: 0;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb110 {
  margin-bottom: 110px;
}

.mb120 {
  margin-bottom: 120px;
}

.mb130 {
  margin-bottom: 130px;
}

.mb140 {
  margin-bottom: 140px;
}

.mb180 {
  margin-bottom: 180px;
}

.mt10 {
  margin-top: 10px;
}

.mt30 {
  margin-top: 30px;
}

.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt90 {
  padding-top: 90px;
}

.pt100 {
  padding-top: 100px;
}

.pt150 {
  padding-top: 150px;
}

.mb5v {
  margin-bottom: min(0.390625vw, 5px);
}

.mb10v {
  margin-bottom: min(0.78125vw, 10px);
}

.mb15v {
  margin-bottom: min(1.171875vw, 15px);
}

.mb20v {
  margin-bottom: min(1.5625vw, 20px);
}

.mb25v {
  margin-bottom: min(1.953125vw, 25px);
}

.mb30v {
  margin-bottom: min(2.34375vw, 30px);
}

.mb35v {
  margin-bottom: min(2.734375vw, 35px);
}

.mb40v {
  margin-bottom: min(3.125vw, 40px);
}

.mb45v {
  margin-bottom: min(3.515625vw, 45px);
}

.mb50v {
  margin-bottom: min(3.90625vw, 50px);
}

.mb55v {
  margin-bottom: min(4.296875vw, 55px);
}

.mb60v {
  margin-bottom: min(4.6875vw, 60px);
}

.mb70v {
  margin-bottom: min(5.46875vw, 70px);
}

.mb75v {
  margin-bottom: min(5.859375vw, 75px);
}

.mb80v {
  margin-bottom: min(6.25vw, 80px);
}

.mb85v {
  margin-bottom: min(6.640625vw, 85px);
}

.mb90v {
  margin-bottom: min(7.03125vw, 90px);
}

.mb100v {
  margin-bottom: min(7.8125vw, 100px);
}

.mb110v {
  margin-bottom: min(8.59375vw, 110px);
}

.mb120v {
  margin-bottom: min(9.375vw, 120px);
}

.mb130v {
  margin-bottom: min(10.15625vw, 130px);
}

.mb140v {
  margin-bottom: min(10.9375vw, 140px);
}

.mb180v {
  margin-bottom: min(14.0625vw, 180px);
}

.mt10v {
  margin-top: min(0.78125vw, 10px);
}

.mt30v {
  margin-top: min(2.34375vw, 30px);
}

.pt10v {
  padding-top: min(0.78125vw, 10px);
}

.pt20v {
  padding-top: min(1.5625vw, 20px);
}

.pt30v {
  padding-top: min(2.34375vw, 30px);
}

.pt40v {
  padding-top: min(3.125vw, 40px);
}

.pt50v {
  padding-top: min(3.90625vw, 50px);
}

.pt60v {
  padding-top: min(4.6875vw, 60px);
}

.pt70v {
  padding-top: min(5.46875vw, 70px);
}

.pt80v {
  padding-top: min(6.25vw, 80px);
}

.pt90v {
  padding-top: min(7.03125vw, 90px);
}

.pt100v {
  padding-top: min(7.8125vw, 100px);
}

.pt150v {
  padding-top: min(11.71875vw, 150px);
}

.nowrap {
  white-space: pre;
}

.bg_thinGray {
  background-color: #EEEEEE;
}

.bg_white {
  background-color: #FFFFFF;
}

.w100 {
  width: 100%;
}

br.brpc {
  display: block;
}
br.brsp {
  display: none;
}
/* flex
-----------------------------------------------------------------------------*/
.row {
  display: flex;
}

.arrayBetween {
  justify-content: space-between;
}

.flxWrap {
  flex-wrap: wrap;
}

.col2 {
  width: 50%;
}

.col3-1 {
  width: 33.3333333333%;
}

/* overflow scroll (1000px以下)
-----------------------------------------------------------------------------*/
/* web font
-----------------------------------------------------------------------------*/
.noto_ita {
  font-family: "Noto Sans", sans-serif;
}

_::-webkit-full-page-media, _:future {
  -webkit-font-smoothing: subpixel-antialiased;
}

:root .noto {
  -webkit-font-smoothing: subpixel-antialiased;
}

@media screen and (max-width: 1000px){
  .overflow-scroll-wrap {
    overflow-x: scroll !important;
    -webkit-overflow-scrolling: touch;
  }
  .overflow-scroll-inner {
    width: 1000px;
  }
}

@media screen and (max-width: 960px){
  html {
    scroll-padding-top: 70px;
  }
}

@media screen and (max-width: 780px){
  a[href^=tel] {
    pointer-events: auto;
    display: inline;
  }
  .textArea p:not(:last-of-type) {
    margin-bottom: 3.8461538462vw;
  }
  br.brpc {
    display: none;
  }
  br.brsp {
    display: block;
  }
  .txt10v {
    font-size: 1.2820512821vw;
  }
  .txt12v {
    font-size: 1.5384615385vw;
  }
  .txt14v {
    font-size: 1.7948717949vw;
  }
  .txt16v {
    font-size: 2.0512820513vw;
  }
  .txt18v {
    font-size: 2.3076923077vw;
  }
  .txt20v {
    font-size: 2.5641025641vw;
  }
  .txt22v {
    font-size: 2.8205128205vw;
  }
  .txt24v {
    font-size: 3.0769230769vw;
  }
  .txt26v {
    font-size: 3.3333333333vw;
  }
  .txt28v {
    font-size: 3.5897435897vw;
  }
  .txt30v {
    font-size: 3.8461538462vw;
  }
  .txt32v {
    font-size: 4.1025641026vw;
  }
  .txt34v {
    font-size: 4.358974359vw;
  }
  .txt36v {
    font-size: 4.6153846154vw;
  }
  .txt40v {
    font-size: 5.1282051282vw;
  }
  .txt48v {
    font-size: 6.1538461538vw;
  }
  .txt74v {
    font-size: 9.4871794872vw;
  }
  .mb5v {
    margin-bottom: 0.641025641vw;
  }
  .mb10v {
    margin-bottom: 1.2820512821vw;
  }
  .mb15v {
    margin-bottom: 1.9230769231vw;
  }
  .mb20v {
    margin-bottom: 2.5641025641vw;
  }
  .mb25v {
    margin-bottom: 3.2051282051vw;
  }
  .mb30v {
    margin-bottom: 3.8461538462vw;
  }
  .mb35v {
    margin-bottom: 4.4871794872vw;
  }
  .mb40v {
    margin-bottom: 5.1282051282vw;
  }
  .mb45v {
    margin-bottom: 5.7692307692vw;
  }
  .mb50v {
    margin-bottom: 6.4102564103vw;
  }
  .mb55v {
    margin-bottom: 7.0512820513vw;
  }
  .mb60v {
    margin-bottom: 7.6923076923vw;
  }
  .mb70v {
    margin-bottom: 8.9743589744vw;
  }
  .mb75v {
    margin-bottom: 9.6153846154vw;
  }
  .mb80v {
    margin-bottom: 10.2564102564vw;
  }
  .mb85v {
    margin-bottom: 10.8974358974vw;
  }
  .mb90v {
    margin-bottom: 11.5384615385vw;
  }
  .mb100v {
    margin-bottom: 12.8205128205vw;
  }
  .mb110v {
    margin-bottom: 14.1025641026vw;
  }
  .mb120v {
    margin-bottom: 15.3846153846vw;
  }
  .mb130v {
    margin-bottom: 16.6666666667vw;
  }
  .mb140v {
    margin-bottom: 17.9487179487vw;
  }
  .mb180v {
    margin-bottom: 23.0769230769vw;
  }
  .mt10v {
    margin-top: 1.2820512821vw;
  }
  .mt30v {
    margin-top: 3.8461538462vw;
  }
  .pt10v {
    padding-top: 1.2820512821vw;
  }
  .pt20v {
    padding-top: 2.5641025641vw;
  }
  .pt30v {
    padding-top: 3.8461538462vw;
  }
  .pt40v {
    padding-top: 5.1282051282vw;
  }
  .pt50v {
    padding-top: 6.4102564103vw;
  }
  .pt60v {
    padding-top: 7.6923076923vw;
  }
  .pt70v {
    padding-top: 8.9743589744vw;
  }
  .pt80v {
    padding-top: 10.2564102564vw;
  }
  .pt90v {
    padding-top: 11.5384615385vw;
  }
  .pt100v {
    padding-top: 12.8205128205vw;
  }
  .pt150v {
    padding-top: 19.2307692308vw;
  }
}

@media screen and (max-width: 480px){
  body {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 425px){
  .pc {
    display: none;
  }
  .sp {
    display: flex;
  }
}
/*# sourceMappingURL=base.css.map */