@charset "UTF-8";
h1 {
  font-family: "American Typewriter", sans-serif;
}

img {
  max-width: 100%;
}

body {
  font-family: "American Typewriter", sans-serif;
  font-size: 16px;
}

.inner {
  max-width: 1440px;
  padding: 0 15px;
  margin: 0 auto;
}

/*===============================
header
===============================*/
.header {
  background-color: lightcyan;
}

/*===============================
top
===============================*/
.top {
  background: url(../img/25067535_m.jpg) no-repeat center center/cover;
  height: 400px;
  position: relative;
}
.top::before {
  position: relative;
  background: #fff;
  height: 400px;
  top: 0;
}

.top-title {
  padding: 100px 0;
  font-size: 60px;
  font-family: American Typewriter;
  color: #FDD835;
}

/*===============================
about
===============================*/
.col-md-4 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.card-text {
  line-height: 25px;
}

/*===============================
portfolio
===============================*/
.portfolio-note {
  margin: 20px auto;
}

/*===============================
contact
===============================*/
input[type=text], input[type=mail], input [name=entry] {
  width: 400px;
  padding: 15px;
  font-size: 15px;
  margin: auto;
  display: block;
  border: 1px solid #111;
}

.btn {
  border: 1px solid #aaa;
  padding: 20px 20px;
  width: 300px;
  font-size: 20px;
  display: block;
  margin: auto;
}

.btn-register {
  background-color: #FDD835;
  color: white;
  font-size: 25px;
  -webkit-transition: 0.2s;
  transition: 0.2s; /* なめらか変化 */
  -webkit-box-shadow: 4px 4px 3px #666666;
  box-shadow: 4px 4px 3px #666666; /* 影の設定 */
  color: #364e96;
}

.btn:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #000066; /* 背景色     */
  background: #ffffff;
}

.form-group2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.box-item {
  border: 1px solid #ababab;
  padding-top: 10px;
}

.box-textarea {
  width: 100%;
  margin: 20px 0;
}

.forms {
  border: 1px solid #5f5c5c;
  padding: 40px;
  border-radius: 5px;
  border-bottom: solid 3px #5f5c5c;
}

.textarea-free-entry {
  width: 100%;
}

.nav-item:hover {
  opacity: 0.5;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.box-item {
  border-radius: 5px;
}

/*===============================
footer
===============================*/
footer {
  background-color: lightcyan;
  padding: 20px;
}

.name {
  float: right;
}

@media only screen and (max-width: 767px) {
  /*===============================
  top
  ===============================*/
  .top {
    height: 250px;
  }
  /*===============================
  contact
  ===============================*/
  input[type=email], input [type=text] {
    width: 100%;
  }
  .btn {
    padding: 15px;
    width: 200px;
    font-size: 18px;
  }
  .forms {
    border: 0;
    padding: 20px;
    border-radius: 0;
    border-bottom: 0;
  }
  /*===============================
  footer
  ===============================*/
  .footer-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 8px;
  }
  footer {
    padding: 5px;
  }
}
.end-message {
  display: none;
}

.false-message {
  display: none;
}

.card-img-top {
  max-height: 225px;
}

.flex-box {
  padding: 10px;
}

.form-group2 {
  text-align: center;
}

.flex-box-text {
  margin-top: 10px;
}

.textarea-free-entry {
  padding: 10px;
  font-size: 17px;
}

.textarea--box {
  margin-top: 10px;
}