/* CSS Document */
/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */
/* ■■■■■■■■■■■■■■■■   　デフォルト   　■■■■■■■■■■■■■■■■■ */
/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */

html, body, div, span, iframe,article,figure,
p, a, img, small, dl, dt, dd, ol, ul, li,
h1, h2, h3, h4, h5,h6,header,footer{
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: top;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing:0.04em;
  line-height:26px;
  font-style: normal;
  font-feature-settings: "palt";
  color: #FFF;
}
html {
    scroll-behavior: smooth;
}


::selection {
  background:#FFF;
  color:#3c5935;
}

::-moz-selection {
  background:#FFF;
  color:#3c5935;
}


html,body {
  line-height:0;
  width: 100%;
  height: 100%;
  position: relative;
}
ol, ul {
  list-style: none;
}
a{
  outline:none;
  text-decoration:none;
  cursor: pointer;
  display: block;
  }
a img {
  border: none;
  border-style:none;
}

img{
  width: 100%;
  height: auto;
}

li{
  list-style:none;
}
.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: '';
  display: table;
  clear: both;
}

.br_sp,
.sp_block{
  display: none;
}

@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}

body{
  background: url(../images/bg.jpg) repeat;
  background-size: 600px;
}


.mv{
  width: 100%;
  height:500px;
  background: url(../images/mv_bg.jpg) no-repeat center;
  background-size: cover;
  position: relative;
}
.mv h1{
  width:296px;
  position: absolute;
  bottom:100px;
  left: 50%;
  transform: translateX(-50%);
}
.mv h2{
  width:140px;
  position: absolute;
  top:10px;
  left:10px;
}

.sec01{
  padding-top: 50px;
  position: relative;
}
.sec01 .icon{
  width: 108px;
  position: absolute;
  top: -52px;
  left:50%;
  transform: translateX(-50%);
}
.sec01 h2{
  width:95%;
  margin: 0 auto;
}

.sec01 .wrap{
  width:87%;
  margin: 0 auto;
}
.sec01 .wrap .left{
  width: 100%;
  padding-top:40px;
}
.sec01 .wrap .left p{
  text-align: justify;
  padding-bottom:20px;
}
.sec01 .wrap .right{
  width:100%;
}
.sec01 .wrap .right img{
}
.sec02{
  padding-top:80px;
}
.sec02 .inner{
  width:87%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

.sec02 .inner .left{
  width:100%;
  display: block;
  position: relative;
}
.sec02 .inner .right{
  width:100%;
}
.sec02 .inner .right dl.komorebi{
  display:flex;
  flex-wrap: wrap;
}
.sec02 .inner .right dl.komorebi dt{

}
.sec02 .inner .right dl.komorebi dt h3{
  width:220px;
  margin-bottom: 20px;
}
.sec02 .inner .right dl.komorebi dt p{
  font-size: 14px;
  line-height:26px;
  text-align: justify;
}
.sec02 .inner .right dl.komorebi dd{
  width:100%;
  padding-top: 30px;
}
.sec02 .inner .right .explanation{
  width:100%;
  padding-top:65px;
  padding-bottom:25px;
  border-bottom: 2px solid #FFF;
}
.sec02 .inner .right .explanation dl dt{
  padding-bottom:25px;
}
.sec02 .inner .right .explanation dl dd{

}
.sec02 .inner .right .explanation dl dd figure{
  width:100%;
  margin: 0 auto 20px;
}
.sec02 .inner .right .explanation dl dd p{
  width:100%;
  font-size: 14px;
  line-height:26px;
  text-align: justify;
}

.sec03{
  width:87%;
  margin:50px auto 50px;
  background: rgba(255, 255, 255, 0.2);
  border-radius:33px;
  padding:30px 35px;
  box-sizing: border-box;
}
.sec03 .wrap{
  width: 100%;
  margin: 0 auto;
}
.sec03 .wrap h3{
  width:100%;
  font-size:14px;
  line-height:26px;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}
.sec03 .wrap h3 br{
  display: none;
}
.sec03 .wrap .tokyo_newspaper a dl dt{
  width:130px;
  margin: 0 auto 15px;
}
.sec03 .wrap .okinawa_times a dl dt{
  width:255px;
  margin: 0 auto 15px;
}

.sec03 .wrap .newspaper a{
  display: block;
  background: url(../images/zoom_icon.png) no-repeat right 20px bottom 5px;
  background-size:38px;
}

.sec03 .wrap .newspaper a dl dd{
  width: 80%;
  margin: 0 auto 15px;
  font-size: 12px;
  line-height:20px;
  text-align: center;
}

.sec04 .wrap{
  width: 87%;
  margin: 0 auto 80px;
}

.sec04 .wrap h3{
  width:117px;
  margin: 0 auto 10px;
} 

.sec04 .wrap p{
  text-align: center;
  margin-bottom:20px;
}

.sec04 .wrap .youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.sec04 .wrap .youtube iframe {
  width: 100%;
  height: 100%;
}



.sec05 .wrap{
  width:87%;
  margin: 0 auto 80px;
}

.sec05 .wrap h3{
  width: 100%;
  margin: 0 auto 20px;
}
.sec05 .wrap ul li{
  margin-bottom:50px;
}

.sec05 .wrap ul li h4{
  font-size:14px;
  text-align: center;
  line-height:26px;
  margin-bottom:20px;
}
.sec05 .wrap ul li dl dt{
  width: 90%;
  margin:0 auto 20px;
  position: relative;
}
.sec05 .wrap ul li dl dd{
  width: 90%;
  margin: 0 auto;
  font-size: 12px;
  line-height: 20px;
  text-align:justify;
}

.sec05 .wrap ul li dl dt span{
  width:80px;
  display: block;
  position: absolute;
  top:-20px;
  right:-40px;
}



.sec06 .wrap{
  width:100%;
  margin: 0 auto 80px;
}

.sec06 .wrap h3{
  width:80px;
  margin: 0 auto 20px;
}

.sec06 .wrap .map {
  width: 100%;
  height:400px;
  overflow: hidden;
}
.sec06 .wrap .map iframe {
  width: 100%;
  height: 100%;
}




.sec07{
  width:100%;
  padding-top:260px;
  background: url(../images/sec08_bg.jpg) no-repeat top right;
  background-size:650px;
  position: relative;
}

.sec07 .wrap{
  width:100%;

}

.sec07 .wrap h3{
  font-size: 14px;
  line-height: 26px;
  text-align: center;
  margin-bottom: 15px;
}
.sec07 .wrap p{
  font-size: 14px;
  line-height: 26px;
  text-align: center;
  margin-bottom: 20px;
}
.sec07 .wrap .btn a{
  width: 240px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 40px;
  display: block;
  background: #FFF;
  color: #47653F;
  text-align: center;
  border-radius:40px;
}


footer{
  width: 250px;
  margin:0 auto;
  padding-top:80px;
  padding-bottom: 25px;
}






