/* ------------------------------------------------
   util
*/

.red {
  color: var(--red);
  font-weight: bold;
}
.red02 {
  color: var(--main-color);
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

/* ------------------------
   btn/anchor
*/
a.btn:hover,
.btn a:hover,
.like-a:hover {
  opacity: .7;
}
.like-a {
  cursor: pointer;
}
a.-block {
  display: block;
}
.btn,
.btn a,
a.-block {
  color: inherit;
  text-decoration: none;
}

.link-style {
  color: #333333;
  text-decoration: underline;
}
.link-style02 {
  color: #0A82FF;
  text-decoration: underline;
}

.btn {
  display: inline-block;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
}
.btn.-primary,
.btn.-round,
.btn.-border,
.btn.-sub {
  padding: .75em 1.5em;
  font-weight: bold;
  min-width: 140px;
  border-radius: 1.5em;
}
.btn.-primary {
  color: #FFF;
  background: #F27376;
}
.btn.-round {
  color: #FFF;
  background: #000;
}
.btn.-border {
  border: 2px solid #000;
}
.btn.-sub {
  background: #EEEEEE;
}

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

.text-style01 {
  border-bottom: solid 2px #EB1428;
  font-size: 18px;
}
.text-style02 {
  border-bottom: solid 2px #26346E;
  font-size: 18px;
}
.text-style03 {
  border-bottom: solid 2px #00b900;
  font-size: 18px;
}
.text-style04 {
  border-bottom: solid 2px #e8699e;
  font-size: 18px;
}

/* ------------------------
   clearfix
*/
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  .sp-clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
  }
}

/* ------------------------
   reset
*/
.reset,
.reset * {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.reset {
  font-size: 100%;
  line-height: 0;
}
.reset * {
  font-size: inherit;
  line-height: inherit;
}

/* color
.txt-black { color: #000; } .bg-black { background-color: #000; }
.txt-yblack { color: #150303; } .bg-yblack { background-color: #150303; }
.txt-lblack { color: #212121; } .bg-lblack { background-color: #212121; }
.txt-gray { color: #676767; } .bg-gray { background-color: #676767; }
.txt-ddwhite { color: #EEE; } .bg-ddwhite { background-color: #EEE; }
.txt-dwhite { color: #FAFAFA; } .bg-dwhite { background-color: #FAFAFA; }
.txt-white { color: #FFF; } .bg-white { background-color: #FFF; }
.txt-pickup { color: #D13B41; } .bg-pickup { background-color: #D13B41; }

.txt-twitter { color: #55acee; } .bg-twitter { background-color: #55acee; }
.txt-facebook { color: #3B5998; } .bg-facebook { background-color: #3B5998; }
.txt-instagram { color: #d93177; } .bg-instagram { background-color: #d93177; }
.txt-line { color: #00b900; } .bg-line { background-color: #00b900; }
.txt-youtube { color: #cd201f; } .bg-youtube { background-color: #cd201f; }
 */
.txt-left {text-align: left;}
.txt-center {text-align: center;}
.txt-right {text-align: right;}

@media screen and (min-width: 1024px) {
  .pctb-txt-left {text-align: left;}
  .pctb-txt-center {text-align: center;}
  .pctb-txt-right {text-align: right;}
}

/* ------------------------
   box 
*/
.box {
  padding: 15px;
}
.box.-border {
  border: 1px solid #CCC;
  border-radius: 3px;
}
.box.-bg {
  background: #F5F5F5;
  border-radius: 3px;
}

/* ------------------------
   flex
*/
.flex {
  display: flex;
}
.flex.-between {
  justify-content: space-between;
}
.flex.-wrap {
  flex-wrap: wrap;
}

/* ------------------------
   device
*/
@media screen and (min-width: 1024px) {
  .sptb-only,
  .tb-only,
  .sp-only {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .pc-only,
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc-only,
  .tb-only,
  .pctb-only {
    display: none !important;
  }
}

/* ------------------------------------------------
 */
@media screen and (min-width: 768px) {
  .figcnt,
  .pctb-figcnt {
    display: flex;
    justify-content: space-between;
  }
  .figcnt > *,
  .pctb-figcnt > * {
    flex: 0 0 48%;
  }
  .figcnt > .-fig,
  .pctb-figcnt > .-fig {    
    line-height: 0;
    flex: 0 0 37.5%;
  }
  .figcnt > .-cnt,
  .pctb-figcnt > .-cnt {
    flex: 0 0 57.5%;
  }
  .figcnt.-overlap .-fig,
  .pctb-figcnt.-overlap .-fig{
    flex: 0 0 65%;
  }
  .figcnt.-overlap > :last-child,
  .pctb-figcnt.-overlap > :last-child {
    margin-left: -17%;
  }
  .figcnt.-overlap .-cnt,
  .pctb-figcnt.-overlap .-cnt {
    margin-top: 30px;
    z-index: 2;
  }
  .figcnt.-fig-right .-fig,
  .pctb-figcnt.-fig-right .-fig {
    order: 2;
  }
  .figcnt.-fig-left .-fig,
  .pctb-figcnt.-fig-left .-fig {
    order: -1;
  }
  .sp-figcnt > :first-child {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .figcnt,
  .sp-figcnt {
    display: flex;
    justify-content: space-between;
  }
  .figcnt > *,
  .sp-figcnt > * {
    flex: 0 0 48%;
  }
  .figcnt > .-fig,
  .sp-figcnt > .-fig {
    line-height: 0;
  }
  .figcnt.-overlap .-fig,
  .sp-figcnt.-overlap .-fig{
    flex: 0 0 65%;
    margin-left: -17%;
  }
  .figcnt.-overlap .-cnt,
  .sp-figcnt.-overlap .-cnt {
    z-index: 2;
  }
  .figcnt.-fig-right .-fig,
  .sp-figcnt.-fig-right .-fig {
    order: 2;
  }
  .pctb-figcnt > :first-child {
    margin-bottom: 20px;
  }
}

/* ------------------------------------------------
   list
 */
.img-list,
.card-list,
.border-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}
.img-list > *,
.card-list > *,
.border-list > * {
  margin: 0;
}
.card-list .-fig {
  line-height: 0;
}
.card-list .-cnt {
  line-height: 1.8;
}  
.card-list dt {
  font-weight: bold;
  margin-top: 0;
}
.card-list dd {
  margin-bottom: 0;
}
.card-list.-vertical .-cnt {
  margin-top: 10px;
}
.card-list.-horizontal {
  display: flex;
}

.img-list.-a a,
.card-list.-a a {
  color: inherit;
  text-decoration: none;
  display: block;
}
.img-list.-a a,
.img-list:not(.-a) > * {
  background-size: cover;
  background-repeat:  no-repeat;
  text-align: center;
}

@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/* ------------------------------------------------
   tile
*/
.tile-4 {
  display: flex;
  flex-wrap: wrap;
}
.tile-4 > * {
  flex: 0 0 23%;
  max-width: 23%;
  margin-bottom: 2.6%;
}
.tile-4 > *:not(:nth-child(4n)) {
  margin-right: 2.6%;
}
@media screen and (min-width: 768px) {
  .pctb-tile-2,
  .pctb-tile-3,
  .pctb-tile-4,
  .pctb-tile-6 {
    display: flex;
    flex-wrap: wrap;
  }
  .pctb-tile-2 > * {
    flex: 0 0 49%;
    max-width: 49%;
    margin-bottom: 2%;
  }
  .pctb-tile-2 > :not(:nth-child(2n)) {
    margin-right: 2%;
  }
  .pctb-tile-2.-full > * {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .pctb-tile-2.-full > * {
    margin-right: 0 !important;
  }
  .pctb-tile-3 > * {
    flex: 0 0 32%;
    max-width: 32%;
    margin-bottom: 2%;
  }
  .pctb-tile-3 > *:not(:nth-child(3n)) {
    margin-right: 2%;
  }
  .pctb-tile-4 > * {
    flex: 0 0 24%;
    max-width: 24%;
    margin-bottom: 2.6%;
  }
  .pctb-tile-4 > *:not(:nth-child(4n)) {
    margin-right: 1.33%;
    /* margin-right: 16px; */
  }
  .pctb-tile-6 > * {
    flex: 0 0 16%;
    max-width: 16%;
    margin-bottom: .8%;
  }
  .pctb-tile-6 > *:not(:nth-child(6n)) {
    margin-right: .8%;
  }
}
@media screen and (max-width: 767px) {
  .sp-tile-2,
  .sp-tile-3 {
    display: flex;
    flex-wrap: wrap;    
  }
  .sp-tile-2 > * {
    flex: 0 0 49%;
    max-width: 49%;
    margin-bottom: 2%;
  }
  .sp-tile-2 > *:not(:nth-child(2n)) {
    margin-right: 2%;
  }
  .sp-tile-3 > * {
    flex: 0 0 32%;
    max-width: 32%;
    margin-bottom: 2%;
  }
  .sp-tile-3 > *:not(:nth-child(3n)) {
    margin-right: 2%;
  }
}

/* ------------------------------------------------
 */
.sub-label {
  font-weight: bold;
  font-family: "Helvetica Neue", sans-serif;
  letter-spacing: .1em;
}
.list-line::before {
  border-top: 1px solid #333;
  content: "";
  width: 1em;
  margin-right: 1em;
  display: inline-block;
  vertical-align: middle;
}

/* ------------------------------------------------
   Youtube Wrapper
 */
.yt-wrapper {
  position: relative;
  width: 100%;
}
.yt-wrapper:before {
  content:"";
  display: block;
  padding-top: 56.25%;
}
.yt-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.youtube iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

.stripe-border::after {
  position: absolute;
  top: -10px;
  bottom: -10px;
  left: -10px;
  right: -10px;
  background: repeating-linear-gradient(-45deg, #533C37, #533C37 3px, white 3px, white 5px);
  background-color: black;
  content: '';
  z-index: -1;
}
/* ------------------------------------------------
 */
.banner-link {
  background: #F27376;
  padding: 4px;
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 1px 1px 2px 2px rgba(0,0,0,.2);
}
.banner-link a {
  width: 100%;
  color: #FFF;
  text-decoration: none;
  display: inline-block;
  /*border: 2px dashed #FFF;*/
  padding: 1em;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .banner-link a {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .banner-link a {
    font-size: 16px;
  }
  .banner-link a small {
    font-size: 100%;
  }
}

/* ------------------------------------------------
 */
@media screen and (max-width: 1199px) {
  .scroll-parent {
    overflow-x: scroll;
  }
  .scroll-parent > * {
    width: 1080px;
  }
}

/* ------------------------------------------------
 */
.slider .pic-slider {
  position: relative;
}

.slider .slick-dots {
  position: absolute;
  z-index: 3;
  text-align: right;
  left: 50%;
  transform: translateX(-50%);
  bottom: -7%;
}

.slider .slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slider .slick-dots button {
  color: transparent;
  outline: none;
  width: 10px;
  height: 10px;
  display: block;
  border-radius: 50%;
  background: #fff;
}

.slider .slick-dots .slick-active button {
  background: gray;
  /*ドットボタンの現在地表示の色*/
}

.slider .slick-dots button {
  border: solid 1px gray;
}
