@charset "utf-8";

@import "reset.css";
@import "cmn-options.css";
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

html {
  scroll-behavior: smooth;
}

a:hover{cursor:pointer;}

.bar {
  width: 0px;
  height: 0px;
  margin-top: 5px;
  margin-right: 0.5em;
  border: 1px solid currentColor;
  animation: bar02 2.5s ease infinite;
}

@keyframes bar02{
  0% { height:0px;opacity: 0;}
  20% { height:0px;opacity: 1.0;}
  80% { height:80px;opacity: 1.0;}
  100% { height:80px;opacity: 0;}
}


#bodywrap {
  background-color: #2ac0a9;
  background-attachment:fixed;
  background-size: cover;
  }
  

#wrapper {
  width: 100%;
  height: auto;
  background-color: #fff;
  margin: 0 auto;
}


.noto300 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.noto500 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}


.noto700 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

  .jost {
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 1.5em;
    writing-mode: vertical-rl;
    position: absolute;
    right:5%;
    display: flex;
  }


  .scroll-area {
    border: solid;
    border-color: #000;
    width: 100%;
    text-align: left;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    height:130px;
}


p{
  font-size: 1.8em;
  line-height: 1.8;
}


/* ヘッダー */

#header{
  position:relative;
  background-size: 100% auto;
  }

#header p {
  font-size: 2em;
}

.movie {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  padding-top: 56.25%;
  background-color: #f2e8e8;
}


/*
.movie::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100svh;
  min-height: 700px;
  background-color: rgba(0,0,0,0.1);
  background-image: radial-gradient(#333 30%, transparent 31%), radial-gradient(#333 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
}
*/

.movie video{
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

h1{position: absolute;
  top: 35%;
  left: 50%;
  width: 30%;
  min-width: 350px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);z-index: 2;}
h2{font-size: 3em;}

.fv002{position: absolute;top:0%;right: 0%;width:20%;z-index: 1;}
.fv003{position: absolute;bottom:3%;left:50%;width:30%;min-width: 350px;z-index: 1;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);}
.fv004{position: absolute;bottom:0%;right: 0%;width:100%;height: auto;background-color:#2ac0a9 ;z-index: 1;padding: 0.5% 0;text-align: center;}


.pc_only{display: block;}
.sp_only{display: none;}

#section1{
background-color: #e6f8f5;
position: relative;
padding: 5% 5%;}


#section2{
  background-color: #fff;
  position: relative;
  padding: 5% 5%;}



#section3{
  background-color: #2ac0a9;
  position: relative;
  padding: 5% 5%;}


#section4{
    background-color: #ffffb8;
    position: relative;
    padding: 5% 5%;}


 #section5{
      background-color: #f5f5f5;
      position: relative;
      padding: 5% 5%;}


#section6{
        background-color: #2ac0a9;
        position: relative;
        padding: 5% 5%;}

        #section7{
          background-color:  #e6f8f5;
          position: relative;
          padding: 5% 5%;}        
  
          #section8{
            background-color: #ffffb8;
            position: relative;
            padding: 5% 5%;}


            #section9{
              background-color: #2ac0a9;
              position: relative;
              padding: 5% 5%;}

              #section10{
                background-color: #f5f5f5;
                position: relative;
                padding: 5% 5%;}

                #section11{
                  background-color: #ffffb8;
                  position: relative;
                  padding: 5% 5%;}

                 .div_width{width:100%;max-width: 1100px;margin: 0 auto;}

                 .div_width  a img{padding: 0 15%;}

.flow{width: 80%;margin: 0 auto;}

@media screen and (max-width: 640px) {

  h1{position: absolute;top:40%;left:50%;width:30%;z-index: 2;min-width: 300px;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);}

  #wrapper {
    width: 100%;
    height: auto;
    background-color: #fff;
    margin: 0 auto;
    filter: drop-shadow(0px 0px 5px #333);
  }


  .movie {
    position: relative;
    width: 100%;
    height: 100svh;
    overflow: hidden;
    padding-top: 56.25%;
    background-color: #f2e8e8;
  }

  .movie video{
    width: 175%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }

  .pc_only{display: none;}
  .sp_only{display: block;}

  .fv002{position: absolute;top:0%;right: 0%;width:50%;z-index: 1;}
  .fv003{position: absolute;bottom:2%;left:50%;width:30%;z-index: 1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);}
  
  .div_width  a img{padding: 0 8% 0 0;}

  .flow{width: 94%;margin: 0;}

  .jost {
    right:1%;
  }

}





.mark1 {
  position: absolute;
  top:40.5%;
	width:100%;
  left:0%;
  z-index:1;
}



.font4 {
  font-size: 1.4em;line-height: 1.6;
}


.font5 {
  font-size: 1.8em;line-height: 1.8;
}

.font8 {
  font-size: 2em;line-height: 1.8;color:#000;
}



.font10 {
  font-size: 2.3em;line-height: 1.8;
}


/* TOPボタン */
  .pagetop {
    display: none;
    position: fixed;
    bottom: 5px;
    right: 5px;
	z-index:999;
}
.pagetop a {
    display: block;
    text-align: center;
    font-size: 12px;
    text-decoration: none;
    padding: 5px 10px;
}
.pagetop a:hover {
    display: block;
    text-align: center;
    font-size: 12px;
    text-decoration: none;
    padding:5px 10px;
}


/* フッター
*******************************/
#footer {
  border-top: solid 1px #000;
  text-align: center;
  padding: 10px 0;
  width: 100%;
  margin-top: 5px;
}

#footer p {
  width: 100%;
  margin: 0 auto;
}

ul.example li {
background:#eeeeee;
text-align: center;	
width: 31%;
margin-left:0.5%;
margin-right:0.5%;
display: inline-block;
}

ul.example li a{
color: #333333;
display: block;
text-decoration:none;
padding:5% 4% 5% 4%;
}



.youtube-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0px;
  height: 0;
  overflow: hidden;
}
.youtube-container iframe {
  position: absolute;
  top: 0%;
  bottom:0%;
  left: 0%;
  width: 88%;
  height: 88%;
}


.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

.slider {
  margin: 40px auto 0;
  max-width: 500px;
  width: 70%;
}
.slick-img img {
  height: auto;
  width: 100%;
  border-radius: 10px;
}

.slick-arrow {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 20px;
  height: 38px;
  color: transparent;
  z-index: 1;
  transition: opacity 0.5s;
  z-index: 1;
}
.slick-arrow:hover {
  opacity: 0.7;
}

/* 共通設定 */

.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.slick-next::after,
.slick-prev::after {
  width: 26px;
  height: 26px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
}

/* next */

.slick-next {
  right: -30px;
}
.slick-next::after {
  right: 4px;
  transform: rotate(45deg);
}

/* prev */

.slick-prev {
  left: -30px;
}
.slick-prev::after {
  left: 4px;
  transform: rotate(-135deg);
}

.summer_img figure:first-child{position: absolute;top:-10%;right: 35%;width:50%;z-index: 1;}
.summer_img figure:nth-child(2){position: absolute;top:35%;right: 68%;width:50%;z-index: 1;}
.summer_img figure:nth-child(3){position: absolute;top:60%;right: 15%;width:40%;z-index: 1;}
.dsp_flex{display: flex;}
.dsp_flex li{width: 50%;position: relative;}

@media screen and (max-width: 1024px) {
.summer_img figure:first-child{position: absolute;top:15%;left: 2%;width:35%;z-index: 1;}
.summer_img figure:nth-child(2){position: absolute;top:5%;right: 20%;width:40%;z-index: 1;}
.summer_img figure:nth-child(3){position: absolute;top:45%;right: 10%;width:25%;z-index: 1;}
.dsp_flex{display: block;}
.dsp_flex li{width: 100%;}
.dsp_flex li:last-child{height: 250px;padding-bottom: auto;}
}