body, h1, p {
    margin: 0;
    padding: 0;
    font-family: "Kosugi", sans-serif;
    color: #474f67;
}

.home-img img {
    width: 100%;
    height: auto;
    display: block;
}

.main {
  background: #fff;
  height: 100vh;
  padding: auto;
  text-align: center;
}

.class {
  padding-bottom: 100px;
  overflow: hidden;
}
.class hr {
  height: 6px;
  width: 60%;
	border-width: 0;
	background-image: -webkit-linear-gradient(135deg,
	#AEC1BA 0px,#AEC1BA 2px, transparent 2px, transparent 4px,
	#AEC1BA 4px, #AEC1BA 6px, transparent 6px, transparent);
	background-image:         linear-gradient(-45deg,
	#AEC1BA 0px,#AEC1BA 2px, transparent 2px, transparent 4px,
	#AEC1BA 4px, #AEC1BA 6px, transparent 6px, transparent);
	background-size: 6px 6px;
}
.fuchidori {
  font-family: "Josefin Sans", sans-serif;
  font-weight: bold;
  font-size: 70px;
  color: rgba(0, 0, 0, 0);
  text-shadow: 3px 3px 0 #aec1ba;
  -webkit-text-stroke: 1px #474f67;
}
.class-explain {
  padding-left: 20%;
  padding-right: 20%;
}
@media only screen and (max-width: 576px) {
  .class-explain {
    padding-left: 10%;
    padding-right: 10%;
  }
}
.sub-img-1 {
  max-width: 100%;
  border-radius: 15px;
}
.class-img {
  padding-top: 20px;
  padding-bottom: 20px;
}

.text {
  margin: 2em auto;
  padding: 1em 2em 2em;
  background-color: #d2e9d9; /* 背景色 */
  border-radius: 10px; /* ボックス角の丸み */
  box-shadow: 0px 15px 15px rgba(0,0,0,0.15); /* ボックス影 */
  width: 100%; /* 幅を指定 */
  max-width: 1000px; /* 最大幅を指定 */
}

.box-title {
	color: #FFBD59; /* タイトル文字色 */
	font-size: 18px;/*タイトル文字の大きさ*/
	font-weight: bold;
  margin-bottom: 10px;
}

.question-btn{
  padding-bottom: 70px;
  padding-top: 50px;
}

a.btn {
  background-color: rgb(232, 246, 241); 
	display: block;
	text-align: center;
	text-decoration: none;
  font-size: large;
	width: 350px;
	margin: auto;
	padding: 1.8rem 3rem;
	font-weight: bold;
	border: 2px solid #AEC1BA;
	color: #f1896c;
	cursor: pointer;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
}
a.btn::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgb(174, 193, 186);
	transform: translateX(-100%);
	transition: all .3s;
	z-index: -1;
}
a.btn:hover::before {
	transform: translateX(0);
}
a.btn:hover {
	color: #474f67;
}

.housin{
  margin-top: 50px;
}

.main-text{
  line-height: 40px
}

.picture {
  margin-bottom: 50px;
}
.picture h3 {
  padding-top: 10%;
  color: #F3C05E;
}
.picture p {
  padding-top: 30%;
}
@media only screen and (max-width: 992px) {
  .picture h3 {
    padding-top: 5%;
  }
  .picture p {
    padding-top: 3%;
    padding-bottom: 3%;
  }
}
.picture img {
  max-width: 100%;
}

.trophy{
  margin-bottom: 40px;
}
@media only screen and (max-width: 992px) {
  .trophy {
    margin-bottom: 0px;
  }
}

.owner{
  font-family: "Zen Maru Gothic", serif;
  font-weight: bold;
}

.owner{
  padding-bottom: 70px;
  background-color: #E3E0D0;
}

.owner-title{
  font-family: "Zen Maru Gothic", serif;
  color: #EBAA92;
  font-size: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight:bold;
  text-align: center;
}
.owner-title::before,
.owner-title::after {
  content: '';
  width: 3px;
  height: 40px;
  background-color: #AEC1BA;
}
.owner-title::before {
  margin-right: 30px;
  transform: rotate(-35deg)
}
.owner-title::after {
  margin-left: 30px;
  transform: rotate(35deg)
}
.owner-main {
  align-items: stretch;
}
.owner img {
  max-width: 100%;
}
.owner-text {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.5);
  color: #474F67;
  font-size: 15px;
  font-weight: normal;
}

.owner-text p {
  background-color: transparent; /* pタグの背景色をクリア */
}
