@charset "UTF-8";

/*===========================================
reset
Shitaji.CSS v5.0.0 CC0-1.0 by Qrac
===========================================*/
*,
::before,
::after {
  margin: 0;
  background-repeat: no-repeat;
  box-sizing: border-box;
  font-size: 1em;
  font-family: inherit;
  font-weight: inherit;
}

::before,
::after {
  vertical-align: inherit;
  text-decoration: inherit;
}

html {
  font-family: sans-serif;
  /* word-break: break-word; */
  overflow-y: scroll;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

header,
footer,
main,
section,
article,
aside,
nav,
details,
menu,
figure,
figcaption {
  display: block;
}

a {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  -webkit-text-decoration-skip: objects;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

ol,
ul {
  padding: 0;
  list-style: none;
}

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

canvas,
audio,
video {
  display: inline-block;
}

img,
svg,
iframe,
canvas,
audio,
video {
  vertical-align: middle;
}

img {
  border-style: none;
  max-width: 100%;
}

svg:not([fill]) {
  fill: currentColor;
}

svg:not(:root) {
  overflow: hidden;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

input {
  border-radius: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

[type="checkbox"],
[type="radio"] {
  padding: 0;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

:-moz-focusring {
  outline: 1px dotted ButtonText;
}

address {
  font-style: normal;
}

textarea {
  overflow: auto;
  resize: vertical;
}

legend {
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

summary {
  display: list-item;
}

table {
  border-collapse: collapse;
}

hr {
  height: 0;
  overflow: visible;
}

template {
  display: none;
}

a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

[hidden] {
  display: none;
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled="true"],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute;
}

/*===========================================
Utility
===========================================*/
/*******************************
images
*******************************/
.img{
  text-align: center;
}
/*******************************
ttl
*******************************/
.ttl-wrap{
  margin-bottom: 4.5rem;
}
/*******************************
text-align
*******************************/
.al-c{
  text-align: center;
}
.al-r{
  text-align: right;
}
.al-l{
  text-align: left;
}

/*******************************
margin padding
*******************************/
/*-------- margin-top --------*/
.mt-60 {margin-top: 60px !important;}
.mt-55 {margin-top: 55px !important;}
.mt-50 {margin-top: 50px !important;}
.mt-45 {margin-top: 45px !important;}
.mt-40 {margin-top: 40px !important;}
.mt-35 {margin-top: 35px !important;}
.mt-30 {margin-top: 30px !important;}
.mt-25 {margin-top: 25px !important;}
.mt-20 {margin-top: 20px !important;}
.mt-15 {margin-top: 15px !important;}
.mt-10 {margin-top: 10px !important;}
.mt-5 {margin-top: 5px !important;}
.mt-0 {margin-top: 0px !important;}

/*-------- margin-bottom --------*/
.mb-60 {margin-bottom: 60px !important;}
.mb-55 {margin-bottom: 55px !important;}
.mb-50 {margin-bottom: 50px !important;}
.mb-45 {margin-bottom: 45px !important;}
.mb-40 {margin-bottom: 40px !important;}
.mb-35 {margin-bottom: 35px !important;}
.mb-30 {margin-bottom: 30px !important;}
.mb-25 {margin-bottom: 25px !important;}
.mb-20 {margin-bottom: 20px !important;}
.mb-15 {margin-bottom: 15px !important;}
.mb-10 {margin-bottom: 10px !important;}
.mb-5 {margin-bottom: 5px !important;}
.mb-0 {margin-bottom: 0px !important;}

/*-------- margin-right --------*/
.mr-60 {margin-right: 60px !important;}
.mr-55 {margin-right: 55px !important;}
.mr-50 {margin-right: 50px !important;}
.mr-45 {margin-right: 45px !important;}
.mr-40 {margin-right: 40px !important;}
.mr-35 {margin-right: 35px !important;}
.mr-30 {margin-right: 30px !important;}
.mr-25 {margin-right: 25px !important;}
.mr-20 {margin-right: 20px !important;}
.mr-15 {margin-right: 15px !important;}
.mr-10 {margin-right: 10px !important;}
.mr-5 {margin-right: 5px !important;}
.mr-0 {margin-right: 0px !important;}

/*-------- margin-left --------*/
.ml-60 {margin-left: 60px !important;}
.ml-55 {margin-left: 55px !important;}
.ml-50 {margin-left: 50px !important;}
.ml-45 {margin-left: 45px !important;}
.ml-40 {margin-left: 40px !important;}
.ml-35 {margin-left: 35px !important;}
.ml-30 {margin-left: 30px !important;}
.ml-25 {margin-left: 25px !important;}
.ml-20 {margin-left: 20px !important;}
.ml-15 {margin-left: 15px !important;}
.ml-10 {margin-left: 10px !important;}
.ml-5 {margin-left: 5px !important;}
.ml-0 {margin-left: 0px !important;}

/*-------- padding-top --------*/
.pt-60 {padding-top: 60px !important;}
.pt-55 {padding-top: 55px !important;}
.pt-50 {padding-top: 50px !important;}
.pt-45 {padding-top: 45px !important;}
.pt-40 {padding-top: 40px !important;}
.pt-35 {padding-top: 35px !important;}
.pt-30 {padding-top: 30px !important;}
.pt-25 {padding-top: 25px !important;}
.pt-20 {padding-top: 20px !important;}
.pt-15 {padding-top: 15px !important;}
.pt-10 {padding-top: 10px !important;}
.pt-5 {padding-top: 5px !important;}
.pt-0 {padding-top: 0px !important;}

/*-------- padding-bottom --------*/
.pb-60 {padding-bottom: 60px !important;}
.pb-55 {padding-bottom: 55px !important;}
.pb-50 {padding-bottom: 50px !important;}
.pb-45 {padding-bottom: 45px !important;}
.pb-40 {padding-bottom: 40px !important;}
.pb-35 {padding-bottom: 35px !important;}
.pb-30 {padding-bottom: 30px !important;}
.pb-25 {padding-bottom: 25px !important;}
.pb-20 {padding-bottom: 20px !important;}
.pb-15 {padding-bottom: 15px !important;}
.pb-10 {padding-bottom: 10px !important;}
.pb-5 {padding-bottom: 5px !important;}
.pb-0 {padding-bottom: 0px !important;}

/*-------- padding-right --------*/
.pr-60 {padding-right: 60px !important;}
.pr-55 {padding-right: 55px !important;}
.pr-50 {padding-right: 50px !important;}
.pr-45 {padding-right: 45px !important;}
.pr-40 {padding-right: 40px !important;}
.pr-35 {padding-right: 35px !important;}
.pr-30 {padding-right: 30px !important;}
.pr-25 {padding-right: 25px !important;}
.pr-20 {padding-right: 20px !important;}
.pr-15 {padding-right: 15px !important;}
.pr-10 {padding-right: 10px !important;}
.pr-5 {padding-right: 5px !important;}
.pr-0 {padding-right: 0px !important;}

/*-------- padding-left --------*/
.pl-60 {padding-left: 60px !important;}
.pl-55 {padding-left: 55px !important;}
.pl-50 {padding-left: 50px !important;}
.pl-45 {padding-left: 45px !important;}
.pl-40 {padding-left: 40px !important;}
.pl-35 {padding-left: 35px !important;}
.pl-30 {padding-left: 30px !important;}
.pl-25 {padding-left: 25px !important;}
.pl-20 {padding-left: 20px !important;}
.pl-15 {padding-left: 15px !important;}
.pl-10 {padding-left: 10px !important;}
.pl-5 {padding-left: 5px !important;}
.pl-0 {padding-left: 0px !important;}

/*******************************
grid
*******************************/
.grid {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.grid.is-middle {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.grid.is-bottom {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.grid.is-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.grid.is-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.grid.is-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.grid.is-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  .grid {
    display: block;
  }
  .grid-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
/*************************************
grid col
**************************************/
.grid.col-2>.box {
  width: calc((100% - 15px) / 2);
}

.grid.col-3>.box {
  width: calc((100% - 50px) / 3);
}

@supports (-ms-ime-align: auto) {
  .grid.col-3>.box {
    width: calc(-16.6px + 33.3%);
  }
}

.grid.col-4>.box {
  width: calc((100% - 75px) / 4);
}

.grid.col-2>.box:nth-child(2n+1),
.grid.col-3>.box:not(:nth-child(3n)),
.grid.col-4>.box:not(:nth-child(4n)) {
  margin-right: 15px;
}

.grid.col-2>.box:not(:nth-child(-n+2)),
.grid.col-3>.box:not(:nth-child(-n+3)),
.grid.col-4>.box:not(:nth-child(-n+4)) {
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .grid.col-2:not(.grid-sp)>.box,
  .grid.col-3:not(.grid-sp)>.box,
  .grid.col-4:not(.grid-sp)>.box {
    width: 100%;
  }
  .grid.col-2:not(.grid-sp)>.box:nth-child(2n+1),
  .grid.col-3:not(.grid-sp)>.box:not(:nth-child(3n)),
  .grid.col-4:not(.grid-sp)>.box:not(:nth-child(4n)) {
    margin-right: 0;
  }
  .grid.col-2:not(.grid-sp)>.box+.box,
  .grid.col-3:not(.grid-sp)>.box+.box,
  .grid.col-4:not(.grid-sp)>.box+.box {
    margin-top: 20px;
  }

  .grid-sp.col-2>.box {
    width: calc((100% - 20px) / 2);
  }
  .grid-sp.col-3>.box {
    width: calc((100% - 40px) / 3);
  }
  .grid-sp.col-2>.box:nth-child(2n+1),
  .grid-sp.col-3>.box:not(:nth-child(3n)) {
    margin-right: 20px;
  }
  .grid-sp.col-2>.box:not(:nth-child(-n+2)),
  .grid-sp.col-3>.box:not(:nth-child(-n+3)) {
    margin-top: 20px;
  }
}