/*------------------------------
theme name: SHIRETOKO SUSTAINABLE base
version: 2408
author: yamabatosha
author uri: https://yamabatosha.com
------------------------------*/
* {outline: none;}
html {overflow-x: hidden;}
.center {text-align: center!important;}
::selection {background: #121212; color: #fff;}
/*------------------------------
font
------------------------------*/
.normal {font-weight: 500;}
.bold {font-weight: 700;}
.ss {font-size: 0.5em;}
.sm {font-size: 0.8em;}
.lg {font-size: 1.4em;}
.xl {font-size: 1.8em;}
.border {border-bottom: 2px solid #121212;}
/*------------------------------
adjustment
------------------------------*/
.mt0 {margin-top: 0!important;}
.mt20 {margin-top: 20px!important;}
.mt40 {margin-top: 40px!important;}
.mt60 {margin-top: 60px!important;}
.mt80 {margin-top: 80px!important;}
/*------------------------------
grid
------------------------------*/
.col-center, .col-2, .col-3, .col-4, .col-info, .col-gmap, .col-event-upper, .col-event-lower, .col-single {
  display: grid;
  grid-template-columns: 100%;
  grid-gap: 20px;
  margin-top: 60px;
  align-items: start;
}
.col-4 {
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 40px 5px;
}
.col-3 {
  grid-gap: 40px 5px;
}
.col-center, .col-single {
  margin: 0;
}
.row-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.col-event-upper, .col-event-lower {grid-gap: 1px; margin-top: 1px;}
.gap-1 {grid-gap: 1px; margin-top: 60px;}
.gap-10 {grid-gap: 10px; margin-top: 60px;}
/*------------------------------*/
@media (min-width: 768px) {
  .col-center {
    grid-template-columns: 708px;
    justify-content: center;
  }
  .col-2 {grid-template-columns: repeat(2, 1fr); grid-gap: 40px;}
  .col-3, .col-info {grid-template-columns: repeat(3, 1fr);}
  .col-4 {grid-template-columns: repeat(4, 1fr);}
  .col-event-upper, .col-event-lower {grid-template-columns: repeat(3, 1fr);}
  .col-gmap {grid-template-columns: 1fr 1fr 2fr;}
  .col-single {grid-template-columns: 3fr 1fr; grid-gap: 0 80px;}
}
/*------------------------------*/
@media (min-width: 992px) {
  .col-center {
    grid-template-columns: 900px;
  }
  .col-3, .col-4 {grid-gap: 40px;}
  .gap-1 {grid-gap: 1px; margin-top: 60px;}
}