@charset "UTF-8";

/*
VARIABLES
================================================ */
:root {
  --light-green: #d5edeb;
  --green: #63dbd0;
  --brown: #403632;
  --light-grey: #eee;
  --white: #fff;
  --main-color: #1d1e2e;
  --sub-color: #b2a296;
  --sub-color02: #a3d7d9;
  --oswald-font: 'Oswald', sans-serif;
  color-scheme: light;
}

/*
GENERAL STYLING
================================================ */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
  text-decoration: none;
}

html,
body {
  background-color: #ffffff;
  color: #333;
  color: #000;
}
html {
  /* font-size: 62.5%; */
  /*基本フォントサイズが16pxなのでこれで1rem=10pxになる*/
  color-scheme: light;
}

/* A-OTF Ryumin Pr6N L-KL */
{
font-family: "a-otf-ryumin-pr6n", serif;
font-weight: 300;
font-style: normal;
}
body {
  font-style: normal;
  font-family: "a-otf-ryumin-pr6n", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 300;
  font-feature-settings: 'palt';
  text-size-adjust: 100%;
  font-size: 16px;
  line-height: 1.875;
  overflow: visible !important;
}

/*
COMMON
================================================ */
a {
  color: #333;
  color: #000;
  text-decoration: none;
  transition: 0.5s; /* マウスカーソルを外すとき */
}

a:hover,
button:hover {
  color: #333;
  opacity: 0.5;
  transition: 0.5s; /* マウスカーソルを載せるとき */
}

a:active {
  color: #333;
  color: #000;
}
img {
  max-width: 100%;
  width: 100%;
  vertical-align: bottom;
}
.radius {
  border-radius: 8px;
}
li {
  list-style: none;
}

@media (max-width: 767px) {
}

.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
.relative {
  position: relative;
}
.cap_wrap {
  max-width: 960px;
  margin: 0px auto 0;
  position: relative;
  z-index: 2;
  background-color: #fff;
  padding-top: 30px;
}
.cap {
  font-size: 0.875rem;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  letter-spacing: 0;
  word-break: break-all;
}
.img_cap {
  position: absolute;
  color: #fff;
  right: 0;
  bottom: 0;
  background-color: rgba(55, 55, 55, 0.6);
  font-size: 10px;
  padding: 5px;
}

.grecaptcha-badge {
  visibility: hidden;
}
@media (max-width: 1024px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .cap_wrap .cap{
  width: calc(100% - 20px);
  margin: 0 auto;
}
}

@media (max-width: 1020px) and (min-width: 768px) {
  /*狭いブラウザとタブレット向け*/
}
@media (max-width: 767px) {
  /*スマホ向け*/
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease, transform 1s ease;
}

.fadein.show {
  opacity: 1;
  transform: translateY(0);
}
