@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
html, body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 62.5%;
    letter-spacing: 1px;
    display: flex;
    flex-direction: column;
    overflow: auto;
}
header {
  width: 100%;
  height: 130px;
  background-color: #a2050d;
  display: flex;
  justify-content:center;
  align-items: center;
}
header h1 {
  font-family: 'Sorts Mill Goudy', serif;
  color: #fff;
  text-align: center;
  font-size: 5rem;
  /*変更点*/
  font-weight:600;
  letter-spacing: 5px;
  font-style: italic;
}
.title {
  /*width: 970px;変更点*/
  margin: 30px auto;
  display: flex;
  flex-direction: column;
  /*変更点*/
  width:90%;
  max-width:970px;
}
.title-img {
  padding: 0 5%;
  max-width: 100%;
  margin-bottom: 20px;
  height: auto;
}
.title-text {
    color: #777;
    font-size: 2rem;
    line-height: 1.7;
    width: 90%;
    max-width: 770px;
    margin: 20px auto 20px;
    text-align: center;
}
.container {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width:90%;
  max-width:970px;

}
.ribbon {
  /* background-color: #fff; */
  margin: 0 15px 0 -15px;
  position: absolute;
  display: inline-block;
  /* box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2); */
  top: -15px;
  text-align: center;
}
.ribbon h4 {
  color: #fff;
  font-size: 2.7rem;
}
.display {
  display: inline;
}
.ribbon p {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 900;
}
.card {
  display: block;
  position: relative;
  width: 45%;
  background: #EAE9E9;
  box-shadow: 0 10px 20px #ccc;
  margin: 20px auto;
  padding-bottom: 20px;
}
.card-img {
  max-width: 100%;
  height: auto;
}
.card-content {
  padding: 5px 20px 5px;
}
.card-title {
  font-size: 20px;
  margin-bottom: 5px;
  text-align: center;
  color: #333;
}
.card-text {
  color: #333;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
}
/*.card-text br {
  display: none;
}*/
.card-link {
  text-align: center;
  padding: 20px;
}
.card-link a {
  text-decoration: none;
  margin: 0 10px;
  background-color: #fff;
  box-shadow: 0 3px 12px #ccc;
  color: #000;
  padding: 8px 19px;
  font-family: "游明朝", YuMincho, serif;
  font-weight: 600;
  line-height: 130%;
  font-size:1.2rem;
  text-shadow: 0px 0px .5px #000
}
.rv_btn {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    overflow: hidden;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color;
}
.rv_btn:hover {
    -webkit-animation-name: hvr-back-pulse;
    animation-name: hvr-back-pulse;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    background-color: #a2050d;
    color: white;
}
@media (max-width: 767px) {
   /* 横幅が767px以下の場合に適用するスタイル */
body {

}
header {
    height: 70px;
}
header img {
  width:50px;
}
header h1 {
    font-size: 3rem;
}
.title-text br {
    display: none;
}
.container {
  width: 100%;
  display: flex;
  flex-wrap: none;
  justify-content: center;
  flex-direction: column;
  padding: 0 5%;
}
.title {
  width: 95%;
  margin: 10px auto;
}
.title-text {
  font-size: 1.6rem;
  /* padding: 20px; */
  text-align: left;
}
.ribbon h4 {
  display: block;
}
.card {
  width: 100%;
  margin: 20px 2% 20px 0%;
}
.card-title {
  font-size: 1.7rem;
}
.card-link {
    padding: 10px;
}
}
@media (max-width: 375px) {
   /* 横幅が375px以下の場合に適用するスタイル */
.card-link {
  padding: 5px;
}
.card-link a {
    margin: 0px 5px;
    padding: 10px 10px;
}
.card-text br {
  display: block;
}
}
.commingsoon{
  font-family: 'Sorts Mill Goudy', serif;
  font-style: italic;
}
footer{
  height: 50px;
  background-color: #a2050d;
}

.droom-h3 {
  font-size: 6rem;
  text-align: center;
  line-height: 1.2;
}
@media screen and (max-width: 768px) { 
  .droom-h3 {
    font-size: 3rem;
    text-align: center;
    line-height: 1.2;
  }
}