@charset "UTF-8";


.inner {
  max-width: 1024px;
  margin: auto;
}
img { width: 100%;}
a:hover {
  opacity: .8;
  transition: .5s;
}

.sp { display: none;}

header {
  background: url(../images/back-01.jpg) no-repeat left center/cover;}
header .logo {
  background: #1D2087;
  padding: 10px 0;
  position: relative;
  z-index: 2;
}
header .logo p {
  text-align: center;}
header .logo p a {
  display: block;}
header .logo p img {
  width: 240px;}

header .inner {
  max-width: 100%;
}


footer {
  background: #1d2087;
  position: relative;
  z-index: 4;
}
footer .inner {
  max-width: 1024px;
  margin: auto;
  padding: 15px;
  overflow: hidden;
}
footer .inner ul {
  overflow: hidden;
  margin: 0 -20px;
}
footer .inner ul li {
  float: left;
  width: 30%;
  margin-top: 4%;
  padding: 0 20px;
  box-sizing: border-box;
}
footer .inner ul li:nth-child(2) {
  width: 40%;
  margin-top: 35px;
}
footer .inner ul li:last-child { margin-top: 10px;}
footer .inner ul li dl {
  margin-top: 10px;
  color: #fff;
  overflow: hidden;
  font-size: 13px;
}
footer .inner ul li dl dt {
  float: left;
  width: 15%;
  border: 1px solid #fff;
  padding: 10px;
  text-align: center;
}
footer .inner ul li dl dd {
  float: right;
  width: 75%;
  line-height: 1.35;
}
footer .inner ul li img { width: 100%;}
footer .inner li.logo a {
  color: #fff;
  text-decoration: none;
  display: block;
  text-align: center;
}
footer .inner li.logo a span {
  display: block;
  padding: 5px 0;
  border: 1px solid #fff;
}



#page-head {
  padding: 2em 0;
}
#page-head h3 {
  width: 50%;
  margin: auto;
}

#main-content {
  background: url(../images/back-02.jpg) no-repeat left center/cover;
  padding: 2em 0;
}
#main-content h3 {
  width: 90%;
  margin: auto;
}
#main-content .content {
  background: #fff;
  box-sizing: border-box;
  border-radius: 15px;
  margin: -2.2% auto 0;
  padding: 3%;
  position: relative;
  width: 90%;
}
#main-content .content h4.first {
  position: absolute;
  top: -2%;
  left: 0;
  right: 0;
  margin: auto;
  width: 85%;
}

#main-content .content ul {
  overflow: hidden;
  margin: 0 -.25em;
}
#main-content .content ul li {
  float: left;
  width: 33.3%;
  padding: 0 .25em;
  box-sizing: border-box;
}
#main-content p.arrow {
  width: 78px;
  margin: 1em auto;
}
#main-content .content h4 {
  width: 85%;
  margin: auto;
}
#main-content .content .illust {
  margin-top: 20px;
  overflow: hidden;
  padding-bottom: 40%;
  position: relative;
}
#main-content .content .coment01 {
  position: absolute;
  width: 60%;
  z-index: 3;
}
#main-content .content .coment02 {
  float: right;margin-right: 5%;
  width: 40%;
}

#main-content .red {
  background: #e50012;
  border-radius: 15px;
  box-sizing: border-box;
  margin-top: -18%;
  padding: 1.5em;
  position: relative;
}
#main-content .red::before {
  content: "";
  width: 100%;
  height: 300px;
  left: 0;
  right: 0;
  top: -26%;
  margin: auto;
  position: absolute;
  background: url(../images/red-before.png) no-repeat center center;
  z-index: 1;
}
#main-content .red h3 {
  width: 80%;
  margin: auto;
  position: relative;
  z-index: 5;
}
#main-content .red h4 {
  width: 90%;
  margin: -20% auto auto;
  position: relative;
  z-index: 5;
}
#main-content .red .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 3em 0 1.5em;
  position: relative;
}
#main-content .red .box .left {
  width: 70%;
}
#main-content .red .box .left ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -0.5em;
}
#main-content .red .box .left li {
  float: none;
  color: #fff;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.5;
  padding: 0 0.5em;
  width: 48%;
}
#main-content .red .box .left li:first-child {
  border-right: 1px dashed #fff;
  width: 52%;
}
#main-content .red .box .right {
  position: absolute;
  right: 0;
  bottom: -5%;
  width: 28%;
  z-index: 100;
}
#main-content .red .box .right img { width: 100%;}


#prezent {
  background: #ffe100;}
#prezent .inner {
  padding: 3em 0;
  width: 80%;
  max-width: 980px;
}


#contact {
  background-image: url(../images/back-03.png);
  background-color: #e50012;
  background-position: center;
  background-size: cover;
}
#contact .inner {
  padding: 3em 0;
  width: 65%;
  max-width: 980px;
}
#contact .inner a {
  display: block;
  margin: 1em auto;
  width: 90%;
}
#contact .inner p {
  margin: auto;
  width: 85%;
}


@media screen and ( max-width: 768px){
.pc { display: none;}
.sp { display: block;}

footer .inner ul li {
  margin-top: 20px;}
footer .inner ul li:nth-child(2) {
  margin-top: 10px;}
footer .inner ul li dl dt {
  width: 20%;}
footer .inner ul li dl dd {
  width: 65%;}


#page-head {
  padding: 1em 0;}
#page-head h3 {
  width: 80%;
}

#main-content .content {
  margin: 20% auto 0;
  padding: 20% 3% 3%;
}
#main-content .content h4.first {
  top: -3%;}
#main-content .content ul li {
  float: none;
  margin-bottom: 15px;
  width: 100%;
}
#main-content .content .illust {
  padding-bottom: 100%;
}
#main-content .content .coment01 {
  width: 100%;
  bottom: 0;
  left: 0;
}
#main-content .content .coment02 {
  float: none;
  margin-right: 0;
  width: 100%;
}

#main-content .red {
  padding: 1em;
}
#main-content .red::before {
  top: -32%;
  background-size: 100%;
}
#main-content .red h4 {
  margin: -25% auto auto -10%;
  width: 120%;
}
#main-content .red h3 {
  margin: auto auto auto -5%;
  width: 110%;
}
#main-content .red .box {
  display: block;
  padding: 1em 0 1.5em;
}
#main-content .red .box .left {
  width: 100%;}
#main-content .red .box .left ul {
  display: block;
  margin: auto;
}
#main-content .red .box .left li {
  padding: 0;
  width: 100%;
}
#main-content .red .box .left li:first-child {
  border-bottom: 1px dashed #fff;
  border-right: none;
  padding-bottom: .5em;
  width: 100%;
}
#main-content .red .box .left .coment {
  width: 45%;
}
#main-content .red .box .right {
  bottom: 2%;
  right: -5%;
  width: 55%;
}

#prezent .inner {
  padding: 1.5em 0;
  width: 90%;
}
#prezent h3 {
  margin-bottom: 20px;
}

#contact .inner {
  padding: 1.5em 0;
  width: 90%;
}
#contact .inner a {
  margin: .5em auto;
  width: 100%;
}
#contact .inner p {
  width: 65%;
}
}
@media screen and ( max-width: 640px){
footer .inner {
  width: 90%;
  margin: 0 auto;
  padding: 15px 0;
}
footer .inner ul {
  margin: 0;}
footer .inner ul li {
  width: 100%;
  float: none;
  margin-top: 0;
  padding: 0;
}
footer .inner ul li:nth-child(2) {
  width: 100%;
  float: none;
  padding: 0;
  margin-top: 0;
}
footer .inner ul li p.tel {
  margin-top: 15px;
  display: block;
}
footer .inner ul li dl {
  margin: 10px 0 20px;
  font-size: 16px;
}
footer .inner ul li dl dt {
  width: 25%;
  margin-right: 3%;
  padding: 15px 10px;
}
footer .inner ul li dl dd {
  width: 62%;
  line-height: 1.5;
}
footer .inner li.logo a {
  margin-bottom: 15px;}

}
