@charset "utf-8";


a {
  text-decoration: none;
}

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

extension

--------------------*/
button { cursor: pointer;}

.lh-1 {
  line-height: 1;
}
.lh-125 {
  line-height: 1.25;
}
.lh-15 {
  line-height: 1.5;
}
.lh-175 {
  line-height: 1.75;
}
.lh-2 {
  line-height: 2;
}

.lh-25 {
  line-height: 2.5;
}

.fw_300 { font-weight: 300;}
.fw_400 { font-weight: 400;}
.fw_500 { font-weight: 500;}
.fw_600 { font-weight: 600;}
.fw_700 { font-weight: 700;}
.fw_800 { font-weight: 800;}
.fw_900 { font-weight: 900;}


.ls_50 { letter-spacing: 0.05em;}
.ls_100 { letter-spacing: 0.1em;}
.ls_200 { letter-spacing: 0.2em;}

.italic { font-style: italic;}

.big { font-size: 1.1em;}
.small { font-size: 0.9em;}

.pointer { cursor: pointer;}

.align-l { text-align: left;}
.align-c { text-align: center;}
.align-r { text-align: right;}


@media (min-width: 768px) { /* Tablet1 */
  .align-md-l { text-align: left;}
  .align-md-c { text-align: center;}
  .align-md-r { text-align: right;}
}

@media (min-width: 992px) { /* Tablet2 */
  .align-lg-l { text-align: left;}
  .align-lg-c { text-align: center;}
  .align-lg-r { text-align: right;}
}

@media (min-width: 1200px) { /* PC */
  .align-xl-l { text-align: left;}
  .align-xl-c { text-align: center;}
  .align-xl-r { text-align: right;}
}

.b_shadow { box-shadow: 0 3px 3px rgba(0,0,0,0.15);}
.t_shadow { text-shadow: 0 3px 3px rgba(69,69,147,0.15);}

.u_line { text-decoration: underline;}


/* flex設定 */
.flex {
  display: flex;
  justify-content: space-between;
}
.ai_center {
  align-items: center;
}
.ai_end {
  align-items: end;
}
.flex_start {
  display: flex;
  justify-content: flex-start;
}
.flex_end {
  display: flex;
  justify-content: flex-end;
}
.reverse {
  flex-direction: row-reverse;
}
.grid {
  flex-wrap: wrap;
}

.flex-col {
  flex-direction: column;
}
.flex-col-re {
  flex-direction: column-reverse;
}


@media (min-width: 768px) { /* Tablet1 */
  .flex-md-row {
    flex-direction: row;
  }
  .flex-md-row-re {
    flex-direction: row-reverse;
  }
}

@media (min-width: 992px) { /* Tablet2 */
  .flex-lg-row {
    flex-direction: row;
  }
  .flex-lg-row-re {
    flex-direction: row-reverse;
  }
}

@media (min-width: 1200px) { /* PC */
  .flex-xl-row {
    flex-direction: row;
  }
  .flex-lg-row-re {
    flex-direction: row-reverse;
  }
}



/* position設定 */
.po-r {
  position: relative;
}
.po-a {
  position: absolute;
}
.po-a-xy-50 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

/* width設定 */
.wd10 { width: 10%;}
.wd15 { width: 15%;}
.wd20 { width: 20%;}
.wd25 { width: 25%;}
.wd30 { width: 30%;}
.wd35 { width: 35%;}
.wd40 { width: 40%;}
.wd45 { width: 45%;}
.wd50 { width: 50%;}
.wd55 { width: 55%;}
.wd60 { width: 60%;}
.wd65 { width: 65%;}
.wd70 { width: 70%;}
.wd75 { width: 75%;}
.wd80 { width: 80%;}
.wd85 { width: 85%;}
.wd90 { width: 90%;}
.wd395 { width: 95%;}
.wd100 { width: 100%;}


.pb0 {padding-bottom: 0;}
.pb10 {padding-bottom: 10px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pb60 {padding-bottom: 60px;}
.pb70 {padding-bottom: 70px;}
.pb80 {padding-bottom: 80px;}
.pb90 {padding-bottom: 90px;}
.pb100 {padding-bottom: 100px;}

.pt0 {padding-top: 0px;}
.pt10 {padding-top: 10px;}
.pt15 {padding-top: 15px;}
.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;}


/* margin設定 */
.mb0 { margin-bottom: 0px;}
.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;}
.mb65 { margin-bottom: 65px;}
.mb70 { margin-bottom: 70px;}
.mb75 { margin-bottom: 75px;}
.mb80 { margin-bottom: 80px;}
.mb85 { margin-bottom: 85px;}
.mb90 { margin-bottom: 90px;}
.mb95 { margin-bottom: 95px;}
.mb100 { margin-bottom: 100px;}
.mb110 { margin-bottom: 110px;}
.mb120 { margin-bottom: 120px;}

@media (min-width: 768px) { /* Tablet1 */
  .mb-md-0 { margin-bottom: 0px;}
  .mb-md-5 { margin-bottom: 5px;}
  .mb-md-10 { margin-bottom: 10px;}
  .mb-md-15 { margin-bottom: 15px;}
  .mb-md-20 { margin-bottom: 20px;}
  .mb-md-25 { margin-bottom: 25px;}
  .mb-md-30 { margin-bottom: 30px;}
  .mb-md-35 { margin-bottom: 35px;}
  .mb-md-40 { margin-bottom: 40px;}
  .mb-md-45 { margin-bottom: 45px;}
  .mb-md-50 { margin-bottom: 50px;}
  .mb-md-55 { margin-bottom: 55px;}
  .mb-md-60 { margin-bottom: 60px;}
  .mb-md-65 { margin-bottom: 65px;}
  .mb-md-70 { margin-bottom: 70px;}
  .mb-md-75 { margin-bottom: 75px;}
  .mb-md-80 { margin-bottom: 80px;}
  .mb-md-85 { margin-bottom: 85px;}
  .mb-md-90 { margin-bottom: 90px;}
  .mb-md-95 { margin-bottom: 95px;}
  .mb-md-100 { margin-bottom: 100px;}
  .mb-md-110 { margin-bottom: 110px;}
  .mb-md-120 { margin-bottom: 120px;}

  .pb-md-0 {padding-bottom: 0;}
  .pb-md-10 {padding-bottom: 10px;}
  .pb-md-20 {padding-bottom: 20px;}
  .pb-md-30 {padding-bottom: 30px;}
  .pb-md-40 {padding-bottom: 40px;}
  .pb-md-50 {padding-bottom: 50px;}
  .pb-md-60 {padding-bottom: 60px;}
  .pb-md-70 {padding-bottom: 70px;}
  .pb-md-80 {padding-bottom: 80px;}
  .pb-md-90 {padding-bottom: 90px;}
  .pb-md-100 {padding-bottom: 100px;}

  .pt-md-0 {padding-top: 0px;}
  .pt-md-10 {padding-top: 10px;}
  .pt-md-20 {padding-top: 20px;}
  .pt-md-30 {padding-top: 30px;}
  .pt-md-40 {padding-top: 40px;}
  .pt-md-50 {padding-top: 50px;}
  .pt-md-60 {padding-top: 60px;}
  .pt-md-70 {padding-top: 70px;}
  .pt-md-80 {padding-top: 80px;}
  .pt-md-90 {padding-top: 90px;}
  .pt-md-100 {padding-top: 100px;}
}

@media (min-width: 992px) { /* Tablet2 */
  .mb-lg-0 { margin-bottom: 0px;}
  .mb-lg-5 { margin-bottom: 5px;}
  .mb-lg-10 { margin-bottom: 10px;}
  .mb-lg-15 { margin-bottom: 15px;}
  .mb-lg-20 { margin-bottom: 20px;}
  .mb-lg-25 { margin-bottom: 25px;}
  .mb-lg-30 { margin-bottom: 30px;}
  .mb-lg-35 { margin-bottom: 35px;}
  .mb-lg-40 { margin-bottom: 40px;}
  .mb-lg-45 { margin-bottom: 45px;}
  .mb-lg-50 { margin-bottom: 50px;}
  .mb-lg-55 { margin-bottom: 55px;}
  .mb-lg-60 { margin-bottom: 60px;}
  .mb-lg-65 { margin-bottom: 65px;}
  .mb-lg-70 { margin-bottom: 70px;}
  .mb-lg-75 { margin-bottom: 75px;}
  .mb-lg-80 { margin-bottom: 80px;}
  .mb-lg-85 { margin-bottom: 85px;}
  .mb-lg-90 { margin-bottom: 90px;}
  .mb-lg-95 { margin-bottom: 95px;}
  .mb-lg-100 { margin-bottom: 100px;}
  .mb-lg-110 { margin-bottom: 110px;}
  .mb-lg-120 { margin-bottom: 120px;}

  .pb-lg-0 {padding-bottom: 0;}
  .pb-lg-10 {padding-bottom: 10px;}
  .pb-lg-20 {padding-bottom: 20px;}
  .pb-lg-30 {padding-bottom: 30px;}
  .pb-lg-40 {padding-bottom: 40px;}
  .pb-lg-50 {padding-bottom: 50px;}
  .pb-lg-60 {padding-bottom: 60px;}
  .pb-lg-70 {padding-bottom: 70px;}
  .pb-lg-80 {padding-bottom: 80px;}
  .pb-lg-90 {padding-bottom: 90px;}
  .pb-lg-100 {padding-bottom: 100px;}

  .pt-lg-0 {padding-top: 0px;}
  .pt-lg-10 {padding-top: 10px;}
  .pt-lg-20 {padding-top: 20px;}
  .pt-lg-30 {padding-top: 30px;}
  .pt-lg-40 {padding-top: 40px;}
  .pt-lg-50 {padding-top: 50px;}
  .pt-lg-60 {padding-top: 60px;}
  .pt-lg-70 {padding-top: 70px;}
  .pt-lg-80 {padding-top: 80px;}
  .pt-lg-90 {padding-top: 90px;}
  .pt-lg-100 {padding-top: 100px;}
}

@media (min-width: 1200px) { /* PC */
  .mb-xl-0 { margin-bottom: 0px;}
  .mb-xl-5 { margin-bottom: 5px;}
  .mb-xl-10 { margin-bottom: 10px;}
  .mb-xl-15 { margin-bottom: 15px;}
  .mb-xl-20 { margin-bottom: 20px;}
  .mb-xl-25 { margin-bottom: 25px;}
  .mb-xl-30 { margin-bottom: 30px;}
  .mb-xl-35 { margin-bottom: 35px;}
  .mb-xl-40 { margin-bottom: 40px;}
  .mb-xl-45 { margin-bottom: 45px;}
  .mb-xl-50 { margin-bottom: 50px;}
  .mb-xl-55 { margin-bottom: 55px;}
  .mb-xl-60 { margin-bottom: 60px;}
  .mb-xl-65 { margin-bottom: 65px;}
  .mb-xl-70 { margin-bottom: 70px;}
  .mb-xl-75 { margin-bottom: 75px;}
  .mb-xl-80 { margin-bottom: 80px;}
  .mb-xl-85 { margin-bottom: 85px;}
  .mb-xl-90 { margin-bottom: 90px;}
  .mb-xl-95 { margin-bottom: 95px;}
  .mb-xl-100 { margin-bottom: 100px;}
  .mb-xl-110 { margin-bottom: 110px;}
  .mb-xl-120 { margin-bottom: 120px;}

  .pb-xl-0 {padding-bottom: 0;}
  .pb-xl-10 {padding-bottom: 10px;}
  .pb-xl-20 {padding-bottom: 20px;}
  .pb-xl-30 {padding-bottom: 30px;}
  .pb-xl-40 {padding-bottom: 40px;}
  .pb-xl-50 {padding-bottom: 50px;}
  .pb-xl-60 {padding-bottom: 60px;}
  .pb-xl-70 {padding-bottom: 70px;}
  .pb-xl-80 {padding-bottom: 80px;}
  .pb-xl-90 {padding-bottom: 90px;}
  .pb-xl-100 {padding-bottom: 100px;}

  .pt-xl-0 {padding-top: 0px;}
  .pt-xl-10 {padding-top: 10px;}
  .pt-xl-20 {padding-top: 20px;}
  .pt-xl-30 {padding-top: 30px;}
  .pt-xl-40 {padding-top: 40px;}
  .pt-xl-50 {padding-top: 50px;}
  .pt-xl-60 {padding-top: 60px;}
  .pt-xl-70 {padding-top: 70px;}
  .pt-xl-80 {padding-top: 80px;}
  .pt-xl-90 {padding-top: 90px;}
  .pt-xl-100 {padding-top: 100px;}
}


/* font-size設定 */
.fs-10 { font-size: 1rem;}
.fs-11 { font-size: 1.1rem;}
.fs-12 { font-size: 1.2rem;}
.fs-13 { font-size: 1.3rem;}
.fs-14 { font-size: 1.4rem;}
.fs-15 { font-size: 1.5rem;}
.fs-16 { font-size: 1.6rem;}
.fs-18 { font-size: 1.8rem;}
.fs-20 { font-size: 2.0rem;}
.fs-22 { font-size: 2.2rem;}
.fs-24 { font-size: 2.4rem;}
.fs-26 { font-size: 2.6rem;}
.fs-28 { font-size: 2.8rem;}
.fs-30 { font-size: 3.0rem;}
.fs-32 { font-size: 3.2rem;}
.fs-34 { font-size: 3.4rem;}
.fs-36 { font-size: 3.6rem;}
.fs-38 { font-size: 3.8rem;}
.fs-40 { font-size: 4.0rem;}
.fs-42 { font-size: 4.2rem;}
.fs-44 { font-size: 4.4rem;}
.fs-46 { font-size: 4.6rem;}
.fs-48 { font-size: 4.8rem;}
.fs-50 { font-size: 5.0rem;}
.fs-52 { font-size: 5.2rem;}
.fs-54 { font-size: 5.4rem;}
.fs-56 { font-size: 5.6rem;}
.fs-58 { font-size: 5.8rem;}
.fs-60 { font-size: 6.0rem;}
.fs-62 { font-size: 6.2rem;}
.fs-64 { font-size: 6.4rem;}
.fs-66 { font-size: 6.6rem;}
.fs-68 { font-size: 6.8rem;}
.fs-70 { font-size: 7.0rem;}

@media (min-width: 768px) { /* Tablet1 */
  .fs-md-10 { font-size: 1rem;}
  .fs-md-11 { font-size: 1.1rem;}
  .fs-md-12 { font-size: 1.2rem;}
  .fs-md-13 { font-size: 1.3rem;}
  .fs-md-14 { font-size: 1.4rem;}
  .fs-md-15 { font-size: 1.5rem;}
  .fs-md-16 { font-size: 1.6rem;}
  .fs-md-18 { font-size: 1.8rem;}
  .fs-md-20 { font-size: 2.0rem;}
  .fs-md-22 { font-size: 2.2rem;}
  .fs-md-24 { font-size: 2.4rem;}
  .fs-md-26 { font-size: 2.6rem;}
  .fs-md-28 { font-size: 2.8rem;}
  .fs-md-30 { font-size: 3.0rem;}
  .fs-md-32 { font-size: 3.2rem;}
  .fs-md-34 { font-size: 3.4rem;}
  .fs-md-36 { font-size: 3.6rem;}
  .fs-md-38 { font-size: 3.8rem;}
  .fs-md-40 { font-size: 4.0rem;}
  .fs-md-42 { font-size: 4.2rem;}
  .fs-md-44 { font-size: 4.4rem;}
  .fs-md-46 { font-size: 4.6rem;}
  .fs-md-48 { font-size: 4.8rem;}
  .fs-md-50 { font-size: 5.0rem;}
  .fs-md-52 { font-size: 5.2rem;}
  .fs-md-54 { font-size: 5.4rem;}
  .fs-md-56 { font-size: 5.6rem;}
  .fs-md-58 { font-size: 5.8rem;}
  .fs-md-60 { font-size: 6.0rem;}
  .fs-md-62 { font-size: 6.2rem;}
  .fs-md-64 { font-size: 6.4rem;}
  .fs-md-66 { font-size: 6.6rem;}
  .fs-md-68 { font-size: 6.8rem;}
  .fs-md-70 { font-size: 7.0rem;}
}

@media (min-width: 991px) { /* Tablet2 */
  .fs-lg-10 { font-size: 1rem;}
  .fs-lg-11 { font-size: 1.1rem;}
  .fs-lg-12 { font-size: 1.2rem;}
  .fs-lg-13 { font-size: 1.3rem;}
  .fs-lg-14 { font-size: 1.4rem;}
  .fs-lg-15 { font-size: 1.5rem;}
  .fs-lg-16 { font-size: 1.6rem;}
  .fs-lg-18 { font-size: 1.8rem;}
  .fs-lg-20 { font-size: 2.0rem;}
  .fs-lg-22 { font-size: 2.2rem;}
  .fs-lg-24 { font-size: 2.4rem;}
  .fs-lg-26 { font-size: 2.6rem;}
  .fs-lg-28 { font-size: 2.8rem;}
  .fs-lg-30 { font-size: 3.0rem;}
  .fs-lg-32 { font-size: 3.2rem;}
  .fs-lg-34 { font-size: 3.4rem;}
  .fs-lg-36 { font-size: 3.6rem;}
  .fs-lg-38 { font-size: 3.8rem;}
  .fs-lg-40 { font-size: 4.0rem;}
  .fs-lg-42 { font-size: 4.2rem;}
  .fs-lg-44 { font-size: 4.4rem;}
  .fs-lg-46 { font-size: 4.6rem;}
  .fs-lg-48 { font-size: 4.8rem;}
  .fs-lg-50 { font-size: 5.0rem;}
  .fs-lg-52 { font-size: 5.2rem;}
  .fs-lg-54 { font-size: 5.4rem;}
  .fs-lg-56 { font-size: 5.6rem;}
  .fs-lg-58 { font-size: 5.8rem;}
  .fs-lg-60 { font-size: 6.0rem;}
  .fs-lg-62 { font-size: 6.2rem;}
  .fs-lg-64 { font-size: 6.4rem;}
  .fs-lg-66 { font-size: 6.6rem;}
  .fs-lg-68 { font-size: 6.8rem;}
  .fs-lg-70 { font-size: 7.0rem;}
}

@media (min-width: 1199px) { /* Tablet1 */
  .fs-xl-10 { font-size: 1rem;}
  .fs-xl-11 { font-size: 1.1rem;}
  .fs-xl-12 { font-size: 1.2rem;}
  .fs-xl-13 { font-size: 1.3rem;}
  .fs-xl-14 { font-size: 1.4rem;}
  .fs-xl-15 { font-size: 1.5rem;}
  .fs-xl-16 { font-size: 1.6rem;}
  .fs-xl-18 { font-size: 1.8rem;}
  .fs-xl-20 { font-size: 2.0rem;}
  .fs-xl-22 { font-size: 2.2rem;}
  .fs-xl-24 { font-size: 2.4rem;}
  .fs-xl-26 { font-size: 2.6rem;}
  .fs-xl-28 { font-size: 2.8rem;}
  .fs-xl-30 { font-size: 3.0rem;}
  .fs-xl-32 { font-size: 3.2rem;}
  .fs-xl-34 { font-size: 3.4rem;}
  .fs-xl-36 { font-size: 3.6rem;}
  .fs-xl-38 { font-size: 3.8rem;}
  .fs-xl-40 { font-size: 4.0rem;}
  .fs-xl-42 { font-size: 4.2rem;}
  .fs-xl-44 { font-size: 4.4rem;}
  .fs-xl-46 { font-size: 4.6rem;}
  .fs-xl-48 { font-size: 4.8rem;}
  .fs-xl-50 { font-size: 5.0rem;}
  .fs-xl-52 { font-size: 5.2rem;}
  .fs-xl-54 { font-size: 5.4rem;}
  .fs-xl-56 { font-size: 5.6rem;}
  .fs-xl-58 { font-size: 5.8rem;}
  .fs-xl-60 { font-size: 6.0rem;}
  .fs-xl-62 { font-size: 6.2rem;}
  .fs-xl-64 { font-size: 6.4rem;}
  .fs-xl-66 { font-size: 6.6rem;}
  .fs-xl-68 { font-size: 6.8rem;}
  .fs-xl-70 { font-size: 7.0rem;}
}


