@charset "utf-8";
/* CSS Document */
html { scroll-behavior: smooth;}
img{ max-width: 100%; vertical-align: top; }
ul{ list-style: none; }
a{ color: inherit; }
h2{text-align: center;}

.center{ text-align: center; }
.bold{ font-weight: bold; }


/* ポップアップ */
.popup-area {
  top:0;
  left:0;
  display: none;
  width:100vw;
  height: 100vh;
  background:#000000aa;
  position: fixed;
  z-index: 9999;
}
.popup-area > div{
  display: flex;
  width:100vw;
  height: 100vh;
  align-items: center;
  justify-content: center;
}

.fixed{
  position: fixed;
  top:0;
  right:0;
  z-index: 999;
}
.fixed a{
  display: inline-block;
  margin:20px 0 10px 0;
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}



body{
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size:16px;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
  background-color: #fff;
  max-width: 1920px;
  margin:0 auto;
}
section{ position: relative; }






@media screen and (min-width: 1201px) {
  .sp { display: none; }
  .pc { display: inline-block; }
  .wrap{
    width: 1200px;
    margin:0 auto;
  }


  header{
    background-image: url("../images/bg_01.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .header-btn{
    position: absolute;
    bottom:100px;
    left:50%;
    transform: translateX(-50%);
    display: inline-block;
    overflow: hidden;
  }

  h2{ padding:50px 0; text-align: center; }

  .box1{
    padding:40px 0 50px 0;
  }
  .box1-img{
    margin-left:-90px;
  }
  .box1-btn{
    margin-top:20px;
    display: inline-block;
    position:relative;
    overflow: hidden;
  }

  .box2{
    background-color: #3CBCC6;
    padding-top:20px;
  }

  .box3{
    padding:50px 0;
    background-image: url("../images/bg_03.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box4{
    background-color: #FF2E77;
    padding-bottom:20px;
  }
  .box4 h2{
    padding-top:80px;
  }

  .box4 h3{
   margin-top:30px;
}
  .box4-bg{
    width: 100%;
    position: absolute;
    overflow-x: hidden;
    top:0;
    left:0;
  }
  .box4-bg img{
    width: 100%;
    max-width: auto;
    min-width: 1923px;
  }


  .box4-img{
    position: relative;
    z-index: 10;
  }

  .box4-list li{
    margin:20px 0;
  }

  .box5{
    padding-top: 50px;
    padding-bottom:20px;
  }
  .box5-bg{
    width: 100%;
    position: absolute;
    overflow-x: hidden;
    text-align: center;
    top:0;
    left:0;
    z-index: 5;
  }

  .box5-bg img{
    width: 100%;
    max-width: auto;
    min-width: 1923px;
  }

  .box5-img{
    position: relative;
    z-index: 10;
  }

  .box5-img h3 + img{
    margin-top:-60px;
  }

  .box6{
    background-color: #3CBCC6;
    margin-top:-150px;
    padding:100px 0;
    margin-bottom:-170px;
  }
  .box6-btn-wrap{
    position: relative;
    z-index: 10;
  }
  .box6-btn{
    display: block;
    margin:0 auto;
    width: 891px;
    margin-top:-185px;
    position:relative;
    overflow: hidden;
  }

  .box7{
    padding:100px 0 150px 0;
    background-image: url("../images/bg_06.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box7-list li{
    margin:20px 0;
  }

  .box8{
    background-color: #000;
  }
  .box8-bg{
    padding-bottom:50px;
    background-image: url("../images/bg_10.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box8-bg h2 img{
    margin-top:-150px;
    margin-left:310px;
  }
  .box8-list img{
    vertical-align: bottom;
  }
  .box8-list li{
    justify-content: center;
    display: flex;
    margin-bottom:-1px;
  }

  .box8-list li:first-child{
    margin-bottom:60px;
  }

  .box9{
    padding:100px 0 0px 0;
    margin-bottom:-50px;
    background-image: url("../images/bg_07.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }
  .box9-img{
    position: relative;
    z-index: 10;
  }

  .box9-txt{
    width: 525px;
    text-align: left;
    position: absolute;
    bottom: 540px;
    left: 50%;
    margin-left: -440px;
    z-index: 11;
    font-size: 1.2em;
  }

  .box10{
    padding:60px 0 50px 0;
    background-image: url("../images/bg_11.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box11{
    padding:50px 0 100px 0;
    background-image: url("../images/bg_13.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box11-txt{
    text-align: left;
    font-size: 1.8em;
    width: 800px;
    margin:0 auto;
    margin-top:-200px;
  }

  .box12{
    padding:20px 0 50px 0;
  }
  .box12-txt{
    text-align: left;
    font-size: 1.1em;
    width: 800px;
    margin:0 auto;
    margin-top:-80px;
  }



  .box13{
    padding:360px 0 100px 0;
    background-image: url("../images/bg_08.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box13-img{
    margin-bottom:50px;
  }

  .box14{
    padding:50px 0 100px 0;
    background-image: url("../images/bg_09.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box14-img img:first-child{
    margin-bottom:50px;
  }

  .box15{
    background-color: #000;
    padding:0 0 50px 0;
  }
  .box15-bg{
    background-image: url("../images/bg_10.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box15-list{
    max-width: 1000px;
    margin:0 auto;
  }
  .box15-list > li{
    border:1px solid #fff;
    padding:20px;
    margin:20px 0;
  }

  .box15-list > li > h3{
    margin:20px 0;
  }

  .box15-access{
    max-width: 700px;
    margin:0 auto 50px auto;
    text-align: left;
  }
  .box15-access li{
    margin-bottom:10px;
    border:1px solid #fff;
  }
  .box15-access h3{
    position: relative;
    background-color: #E5E5E5;
    padding: 15px 20px;
    font-weight: bold;
    font-size:1.5em;
  }
  .box15-access h3:after{
    content: "▼";
    font-size:1.5em;
    position: absolute;
    right:20px;
    top:5px;
  }

  .box15-access h3.active{
    background-color: #000;
    color:#e5e5e5;
  }
  .box15-access h3.active:after{
    content: "▲";
  }

  .accordion{ 
    display: none;
    color:#fff;
    font-size:1.3em;
    line-height:1.7;
    background-color: #333333;
    margin:10px;
    padding:15px;
  }
  .accordion h4{
    font-size:1.2em;
    font-weight: bold;
    margin:10px 0 10px 0;
  }

  .accordion p{
    padding-left:12px;
    padding-bottom:20px;
  }
  .access-map{
    text-align: center;
  }

  .box16{
    padding: 50px 0 50px 0;
  }

  .box17{
    padding:100px 0 100px 0;
    background-image: url("../images/bg_11.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }

  .box17 .form-wrap{
    margin-top:30px;
  }
  .box18{
    padding:100px 0 150px 0;
    background-image: url("../images/bg_12.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
  }
  .box19{
    padding:100px 0 360px 0;
    background-image: url("../images/bg_14.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
    z-index: 10;
  }
  .box19-img{
    margin-top:-195px;
  }
  .box19-img img:first-child{
    margin-bottom:50px;
  }
  .box20{
    padding:300px 0 100px 0;
    background-image: url("../images/bg_11.png");
    background-size: cover;
    background-position: center;
    text-align: center;
    position: relative;
    margin-top:-250px;
  }

  .box20-list{
    width: 925px;
    margin:0 auto;
  }

  .box20-list li{
    text-align: left;
    font-size: 1.2em;
    padding: 40px 0;
    border-bottom: 2px solid #000;
  }
  .box20-list p{
    margin-top:20px;
  }

  .box21{
    background-color: #FF2E77;
    padding:50px 0 100px 0;
  }
  .box21-list li{
    margin-bottom:20px;
  }

  .box22{
    padding:50px 0 100px 0;
  }

  .box22 .form-wrap{
    margin-top:50px;
  }

  footer{
    background-color: #000;
    padding:50px 20px;
    text-align: center;
  }

  .form-btn{
    display: block;
    margin:-185px auto 0 auto;
    width: 891px;
    position:relative;
    overflow: hidden;
  }

  .form-btn:after,.box1-btn:after,.header-btn:after,.box6-btn:after {
    content:"";
    height:100%;
    width:30px;
    position:absolute;
    top:-180px;
    left:0;
    background-color: #fff;
    opacity:0;
    transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
  }
}

@keyframes reflection {
0% { transform: scale(0) rotate(45deg); opacity: 0; }
80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { transform: scale(4) rotate(45deg); opacity: 1; }
100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
