body {
  width: 100%;
  background: #f1f1f1;
}
img {
  display: block;
}

.divbox01_PP .PP_box {
  margin-top: 10px;
}
.divbox01_PP {
  border-bottom: 2px #527c4f solid;
}
.wrap_topview {
  margin-top: 70px;
}

.divbox01_PP {
  opacity: 1;
  background: #222;
}

.mm,
.mm-1280 {
  display: none;
}

.footer {
  background: #000;
  position: relative;
  bottom: 0;
  margin-top: 0;
}

#slider {
  clear: both;
  padding: 0;
  margin: 0 auto;
  z-index: 0;
  display: block;
  height: 50vw;
}
#top #slider .show {
  padding: 0;
  top: 0;
  left: 0;
  display: block;
}
.clearfix {
  overflow: auto;
  zoom: 1;
}

.title {
  width: 100%;
  position: absolute;
  top: 2vw;
}
.title .flag {
  height: 8vw;
  width: auto;
  margin-left: calc(50% - 29.5vw);
  float: left;
  margin-top: 20px;
  position: absolute;
}
.title .logo {
  height: 19vw;
    width: auto;
    margin-left: calc(50% - 29vw);
    margin-top: 8.5vw;
  position: absolute;
}
.message {
  position: absolute;
  margin-left: calc(50% - 26vw);
  margin-top: 22.5vw;
  width: 51vw;
}

.title2 {
  position: relative;
}

.tittext {
  width: 100%;
  display: block;
  bottom: 0;
  clear: both;
  float: left;
  position: absolute;
  padding: 10px 0 0;
}
.tittext p {
  color: #333;
  font-size: 1.1em;
  max-width: 1000px;
  margin: 6px auto;
  text-align: center;
  padding: 0 5px;
  line-height: 1.8em;
}
.tittext p.titext-p {
  color: #333;
  font-size: 1.4em;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  padding: 0;
  line-height: 1.5em;
  font-weight: 600;
}
.tittext h1 {
  color: #fff6a9;
  font-size: 1.4em;
  text-align: center;
  margin-top: 8px;
}
.moblie {
  display: block;
}
/*.intro{width: 100%;max-width: 1200px; display: flex;margin: 0 auto;}
.intro img{max-width: 400px;display: flex;}
*/

.picgroup {
  background: #d3eddf;
  margin: 0 auto;
  width: 1200px;
  padding: 10px;
  position: relative;
}
.mouseover {
  position: relative;
  width: 576px;
  float: left;
  margin: 7px;
}

.picbtn {
  width: 576px;
  background-color: #ff641e;
  text-align: center;
  font-size: 1.1rem;
  padding: 10px 0;
  color: #FFFFFF;
}
.picbtn span {
  color: #fcff00;
}

.picbtn span.line-through {
  text-decoration: line-through;
  color: #FFFFFF;
}

.price {
  font-size: 1.4rem;
  padding: 0 0.3rem;
}

.content {
  background-color: #a7d4ab;
  color: #fff;
}
.policy {
  padding: 30px 0 40px;
  max-width: 1140px;
  margin: 0 auto;
  color: #2d4132;
}

.policy h3 {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 20px;
  font-weight: bold;
}

.mb-4 {
  margin-bottom: 1rem;
}

.policy p .sub-title {
  font-size: 1.2rem;
  margin-bottom: 0;
  font-weight: bold;
}
.policy p {
  line-height: 1.8;
  font-size: 1.2rem;
}
.policy ul li {
  list-style-type: disc;
  padding: 0 10px;
}
.policy ul li {
  line-height: 1.6em;
  margin-top: 1vh;
  font-size: 1.1rem;
  margin-left: 1.5rem;
}
.policy ul ul.list li {
  list-style: decimal;
  margin-left: 2rem;
}
.divbox01_PP a.gomaji_home {
  background-size: auto;
  background-position: bottom left;
}

/*div.overtext {
    color:white;
    text-align: left;
    width: 100%;
    height: 330px;
    position: absolute;
    background-color: black;
    opacity: 0; 
    transition: opacity 1s;
    -webkit-transition: opacity 1s; /* Chrome & safari 
    -moz-transition: background-color 1s; /* firefox 
}
div.overtext p {
    display: block;
    width: 100%;
    text-align: left;
    position: absolute;
    bottom: 30px;
    line-height: 1.5em;
    padding:0 20px;
}
div.overtext:hover {
    opacity: 0.8;
}*/

/*@media only screen and (max-width: 1920px) and (min-width: 1501px) {
    .title .flag {height: 10vw;width: auto;margin-left: calc(50% - 28vw);float: left;margin-top: 25px;position: absolute;}
    .title .logo {height: 14vw;width: auto;margin-left: calc(50% - 10.5vw);margin-top: 9vw;}
    .message {margin-left: calc(50% - 25vw);margin-top: 22vw;}
}*/

@media screen and (max-width: 1920px) {
  .title .flag {
    margin-left: calc(50% - 31vw);
  }
  #slider {
    height: 52vw;
  }
  .title .flag {
    margin-top: 25px;
  }
}

@media screen and (max-width: 1600px) {
  #slider {
    height: 57vw;
  }
  .title .flag {
    margin-left: calc(50% - 37vw);
    margin-top: 30px;
  }
}

@media screen and (max-width: 1366px) {
  .title .flag {
    margin-left: calc(50% - 43vw);
    margin-top: 35px;
  }
  #slider {
    height: 65vw;
  }
  .mm-1280 {
    display: block;
    margin-top: 70px;
  }
  .pc,
  .title {
    display: none;
  }
}
@media screen and (max-width: 1280px) {
  .mm-1280 {
    display: block;
  }
  .pc,
  .title {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .mm-1280 {
    display: block;
    margin-top: 60px;
  }
  .divbox01_PP .PP_box {
    margin-top: 6px;
  }
  #slider {
    height: 43vw;
  }
  #top #slider .show img {
    height: 50vw;
  }
  .title .flag {
    height: 12vw;
    width: auto;
    margin-left: calc(50% - 48vw);
  }
  .wrap_topview {
    margin-top: 100px;
  }
  .footer {
    position: relative;
    bottom: 0;
  }
  .policy {
    padding: 30px 0 40px;
    max-width: 90%;
  }
  .tittext {
    bottom: -62%;
  }
  .tittext p {
    font-size: 1.2rem; /*margin-bottom: 11%;*/
    line-height: 1.5em;
  }
  .message {
    margin-left: calc(50% - 33vw);
    margin-top: 26vw;
    width: 65vw;
  }
  .title .logo {
    margin-top: 17vw;
    height: 15vw;
    margin-left: calc(50% - 30vw);
  }

  .picgroup {
    width: 100%;
    margin-top: 25%;
  }
  .mouseover {
    width: 48.5%;
  }
  .picbtn {
    width: 100%;
  }
  .point {
    padding: 30px 30px 40px;
  }
}

@media screen and (max-width: 992px) {
  .mm {
    display: block;
  }
  .pc,
  .mm-1280,
  .title {
    display: none;
  }
  #slider {
    height: 100vw;
  }
  #top #slider .show img {
    height: 50vw;
  }
  .tittext {
    bottom: -25%;
  }
  .title .logo {
    margin-top: 12vw;
  }
  .message {
    margin-left: calc(50% - 35vw);
    margin-top: 23vw;
    width: 70vw;
  }
  .divbox01_PP {
    display: none;
  }
  .picgroup {
    width: 100vw;
  }
  .picgroup .p03 {
    width: 760px;
  }
  .picgroup {
    padding-bottom: 0vw;
  }
  .title .flag {
    height: 15vw;
    margin-top: -2.5vw;
  }
  .mouseover {
    width: 48%;
  }
}

@media screen and (max-width: 768px) {
  .app-espwarp h1 {
    font-size: 24px;
  }
  .top_box {
    margin-top: 0;
  }
  .divbox01_PP {
    display: none;
  }

  .picgroup {
    padding: 6px;
    background: #fff;
    margin: 0 2vw;
    width: 96vw;
  }
  .mouseover {
    float: left;
    width: 100%;
    margin: 3px 0 15px;
  }
  .picbtn {
    width: 100%;
    font-size: 1rem;
    padding: 10px 5px;
  }
  .price {
    font-size: 1rem;
  }

  .title .flag {
    height: 20vw;
    margin-top: -2.5vw vw;
  }
  .intro {
    width: 100%;
    max-width: 1200px;
    display: flex;
    margin: 0 auto 30px;
    align-items: flex-start;
  }
  .intro img {
    max-width: 400px;
    display: flex;
    width: 35%;
  }
  .tittext {
    bottom: 2%;
  }
  .tittext p {
    font-size: 2.6vw;
    padding: 2vh 5vw 2vh;
    line-height: 1.4em;
  }
  .title .logo {
    height: 20vw;
    margin: 4vw calc(50% - 37vw);
    margin-top: 22vw;
  }
  .message {
    margin-left: calc(50% - 46vw);
    margin-top: 38vw;
    width: 94vw;
  }
  .footer {
    margin-top: 0;
  }
  .point {
    padding: 30px 20px 40px;
    padding-left: 40px;
  }
  .tittext p.titext-p {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 736px) {
  .title .flag {
    height: 20vw;
    margin-top: -2vw;
  }
  .title .logo {
    height: 20vw;
    margin: 4vw calc(50% - 40vw);
    margin-top: 30vw;
  }
  .title .flag {
    height: 20vw;
    margin-top: -2vw;
  }
  .tittext {
    padding: 3vw 1vw 0;
    bottom: -6%;
  }
.tittext {
    width: 100%;
    display: block;
    bottom: 0;
    clear: both;
    float: none;
    position: relative;
    padding: 0;
  }
  .title .flag {
    height: 20vw;
    margin-top: -2vw;
  }
  #top #slider {
    height: 95vw;
    width: 100vw;
    overflow: hidden;
  }
  #top #slider .show img {
    width: auto;
    height: 70vw;
    margin-left: calc(50% - 450px);
  }
  .message {
    position: absolute;
    margin-left: calc(50% - 46vw);
    margin-top: 45vw;
    width: 94vw;
  }
}

@media screen and (max-width: 576px) {
  .title .flag {
    height: 25vw;
    width: auto;
    margin-left: calc(50% - 47vw);
    margin-top: -3vw;
    float: left;
  }
  .title .logo {
    height: 22vw;
    margin: 4vw calc(50% - 42vw);
    margin-top: 30vw;
  }
  .message {
    margin-left: calc(50% - 46vw);
    margin-top: 46vw;
    width: 94vw;
  }
  #top #slider {
    height: auto;
    width: 100vw;
    overflow: hidden;
  }

  .tittext p {
    padding: 0vh 5vw 2vh;
    line-height: 1.4em;
    font-size: 1.1rem;
  }
  .picgroup {
    padding: 6px;
    background: #d3eddf;
    margin: -1rem 2vw 0;
    width: 96vw;
  }
  #top #slider .show img {
    height: 100vw;
    margin-left: calc(50% - 450px);
  }
  .tittext p.titext-p {
    font-size: 1.2rem;
  }
  .policy p {
    line-height: 1.8;
    font-size: 1rem;
  }
  .policy ul li {
    list-style-type: disc;
    padding: 0;
  }
}

@media screen and (max-width: 425px) {
}
@media screen and (max-width: 414px) {
}
@media screen and (max-width: 360px) {
}
@media screen and (max-width: 320px) {
  
}
