/* 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{
  border: 0;
  margin: 0;
  padding: 0;
}

html, body, div, span, iframe,article,figure,
p, a, img, small, dl, dt, dd, ol, ul, li{
  font-size:14px;
  letter-spacing: 0.02em;
  color: #151515;
  font-family: noto-sans, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}

input[type="text"],
input[type="submit"],
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}


select::-ms-expand {
  display: none;
}


h1, h2{
  font-family: noto-sans,sans-serif;
  font-weight: 700;
  font-style: normal;  
}

h3,h4, h5,h6{
  font-family: noto-sans,sans-serif;
  font-weight: 500;
  font-style: normal;
}
h3{
  letter-spacing:0.1em;
}


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

img{
  width: 100%;
  height: auto;
  vertical-align: top;
}

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

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


/*■■■■■■■■　common　■■■■■■■■*/



body{
  width: 100%;
}

header{
  width: 100%;
  height: 0;
  padding-bottom:93.6%;
  background: url(../images/mv_bg_sp.jpg) no-repeat center;
  background-size: cover;
  position: relative;
}

header .wrap{
  width:280px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  text-align: center;
}
header .wrap h3{
  width:215px;
  margin: 0 auto 20px;
}
header .wrap h1{
  margin: 0 auto 20px;
}
header .wrap p{
  font-size: 14px;
  letter-spacing: 0.2em;
  line-height: 28px;
  font-weight:700;
}


nav{
  background: #F4F4F4;
}


nav ul{
  width:90%;
  margin: 0 auto;
  font-size: 0;
  padding:30px 0;
}

nav ul li{
  width: 100%;
  display: inline-block;
  background: #FFF;
  vertical-align: top;
  margin-bottom:14px;
  padding:0 15px 6px;
  box-sizing: border-box;
  position: relative;
}
nav ul li:last-child{
  margin-bottom: 0;
}

nav ul li a{
  padding: 15px 0;
  display: block;
}



nav ul li dl dt{
  width: 100%;
  text-align: center;
}
nav ul li dl dt span{
  width: 90%;
  display: block;
  vertical-align:middle;
}

nav ul li:before{
  content: "";
  display: block;
  width: 100%;
  height: 6px;
  position: absolute;
  bottom: 0;
  left: 0;
}
nav ul li:nth-child(1):before{
  background:linear-gradient(90deg,#CBC2FA,#FA8D8D);
}
nav ul li:nth-child(2):before{
  background:linear-gradient(90deg,#FFCBD9,#FFC389);
}
nav ul li:nth-child(3):before{
  background:linear-gradient(90deg,#59F4F4,#1591FC);
}
nav ul li:nth-child(4):before{
  background:linear-gradient(90deg,#82DEFA,#E6E051);
}
nav ul li dl dd{
  display: none;
}
nav ul li figure{
  width:15px;
  position: absolute;
  top:50%;
  right:10px;
  transform: translateY(-50%);
}

.program_area{
  width: 100%;
  background: #F4F4F4;
  padding-bottom:20px;
}
.program_area .head{
  width: 100%;
  height: 0;
  padding-bottom:22%;
  background: url(../images/main_uchinaa.jpg) no-repeat center;
  background-size: cover;
  position: relative;
}

.program_area .head{
  width: 100%;
  height: 0;
  padding-bottom:45.8%;
  background-size: cover;
  position: relative;
}


#ryukyubuyo .head{
  background: url(../images/main_ryukyubuyo.jpg) no-repeat center;
  background-size: cover;
}
#uchinaa .head{
  background: url(../images/main_uchinaa.jpg) no-repeat center;
  background-size: cover;
}
#minyo .head{
  background: url(../images/main_minyo.jpg) no-repeat center;
  background-size: cover;
}
#eisaa .head{
  background: url(../images/main_eisaa.jpg) no-repeat center;
  background-size: cover;
}


.program_area .head h2{
  width: 70%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: #FFF;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
}

#ryukyubuyo .head h2{
  background:linear-gradient(90deg,#CBC2FA,#FA8D8D);
}
#uchinaa .head h2{
  background:linear-gradient(90deg,#FFCBD9,#FFC389);
}
#minyo .head h2{
  background:linear-gradient(90deg,#59F4F4,#1591FC);
}
#eisaa .head h2{
  background:linear-gradient(90deg,#82DEFA,#E6E051);
}



#ryukyubuyo .descript{
  background:linear-gradient(90deg,#CBC2FA,#FA8D8D);
}
#uchinaa .descript{
  background:linear-gradient(90deg,#FFCBD9,#FFC389);
}
#minyo .descript{
  background:linear-gradient(90deg,#59F4F4,#1591FC);
}
#eisaa .descript{
  background:linear-gradient(90deg,#82DEFA,#E6E051);
}

#ryukyubuyo .descript p,
#uchinaa .descript p,
#minyo .descript p,
#eisaa .descript p{
  font-size: 14px;
  line-height: 28px;
  padding:20px 25px;
  color: #FFF;
  font-weight: 700;
}


.program_area .wrap{
  position: relative;
  z-index: 10;
  width: 80%;
  margin: 0 auto;
  padding-top: 40px;
}

.program_area .wrap .program_head{
  font-size: 0;
}

.program_area .wrap .program_head .left{
  width: 100%;
  margin: 0 auto;
  vertical-align: top;
}
.program_area .wrap .program_head .right{
  width:100%;
  margin: 0 auto;
  vertical-align: top;
}
.program_area .wrap .program_head .left h3{
  font-size: 24px;
  line-height: 36px;
  font-weight: 700;
  padding-bottom:20px;
  text-align: center;
}
.program_area .wrap .program_head .left p{
  font-size: 14px;
  line-height: 26px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: justify;
  margin-bottom: 40px;
}
.program_area .wrap .program_head .left p br{
  display: none;
}
.program_area .wrap .program_head .left ul{
  font-size: 0;
  text-align: center;
  margin-bottom: 30px;
}
.program_area .wrap .program_head .left ul li{
  display: inline-block;
  margin-right: 1%;
}
.program_area .wrap .program_head .left ul li.middle{
  width: 36%;
}
.program_area .wrap .program_head .left ul li.short{
  width:26%;
}
.program_area .wrap .program_head .left ul li.long{
  width:65%;
}
.program_area .wrap .program_head .right figure{
  width: 120px;
  margin: 0 auto;
  border-radius: 50%;
  margin-bottom: 15px;
}
.program_area .wrap .program_head .left ul li:last-child{
  margin-right: 0;
}

#ryukyubuyo .wrap .program_head .right figure{
  background:linear-gradient(90deg,#CBC2FA,#FA8D8D);
}
#uchinaa .wrap .program_head .right figure{
  background:linear-gradient(90deg,#FFCBD9,#FFC389);
}
#minyo .wrap .program_head .right figure{
  background:linear-gradient(90deg,#59F4F4,#1591FC);
}
#eisaa .wrap .program_head .right figure{
  background:linear-gradient(90deg,#82DEFA,#E6E051);
}


.program_area .wrap .program_head .right figure img{
  width: 110px;
  border-radius: 50%;
  overflow: hidden;
  padding:5px;
}
.program_area .wrap .program_head .right dl dt{
  font-size: 14px;
  text-align: center;
  margin-bottom: 8px;
}
.program_area .wrap .program_head .right dl dd{
  font-size: 20px;
  line-height: 32px;
  text-align: center;
  font-weight: 700;
}
.program_area .wrap .program_head .right dl dd span{
  font-size: 14px;
  vertical-align: bottom;
  font-weight: 700;
  margin-left: 8px;
}
.program_area .wrap .program_head .right h5{
  font-size: 14px;
  line-height: 24px;
  padding: 10px 0 15px;
  text-align: center;
  font-weight: 500;
}
.program_area .wrap .program_head .right p{
  width:80%;
  margin: 0 auto;
  font-size: 12px;
  line-height: 24px;
  font-weight: 500;
}
.program_area .wrap .program_head .right p br{
  display: none;
}
.program_area .wrap .program_head .right p br.sp_br{
  display: block;
}
.program_area .wrap .program_head .right p a{
  display: block;
  font-weight: 500;
} 
.program_bottom{
  margin-top:30px;
  background: #FFF;
  margin-bottom:30px;
}

.program_bottom h4{
  font-size:20px;
  line-height:60px;
  color: #FFF;
  text-align: center;
}
#ryukyubuyo .wrap .program_bottom h4{
  background:linear-gradient(90deg,#CBC2FA,#FA8D8D);
}
#uchinaa .wrap .program_bottom h4{
  background:linear-gradient(90deg,#FFCBD9,#FFC389);
}
#minyo .wrap .program_bottom h4{
  background:linear-gradient(90deg,#59F4F4,#1591FC);
}
#eisaa .wrap .program_bottom h4{
  background:linear-gradient(90deg,#82DEFA,#E6E051);
}







.program_bottom .box{
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
}
.program_bottom .box ul,
.program_bottom .box ul li dl{
  font-size: 0;
}
.program_bottom .box ul{
  margin-bottom:30px;
}

.program_bottom .box ul li{
  width:100%;
  display: inline-block;
  margin-bottom:15px;
}
.program_bottom .box ul li:last-child{
  margin-bottom:0;
}

.program_bottom .box ul li dl dt{
  width:90px;
  background:#F4F4F4;
  text-align: center;
  font-size:12px;
  line-height:50px;
  border-radius:32.5px;
  display: inline-block;
  margin-right: 20px;
  vertical-align: middle;
}
.program_bottom .box ul li dl dd{
  width:calc(100% - 110px);
  font-size:13px;
  line-height:20px;
  display: inline-block;
  vertical-align: middle;
}
.program_bottom .box ul li dl dd span{
  display: block;
  font-size: 12px;
}
.program_bottom .box h5{
  font-size:13px;
  line-height:22px;
  border-top: 1px solid #A0A0A0;
  border-bottom: 1px solid #A0A0A0;
  padding:20px 0;
  text-align: center;
  margin-bottom: 40px;
}
.program_bottom .box .contact_box{
  background: #F4F4F4;
  padding: 0 25px 30px;
  font-size: 0;
  box-sizing: border-box;
}
.program_bottom .box .contact_box .title,
.program_bottom .box .contact_box .copy,
.program_bottom .box .contact_box .btn_area{
  vertical-align: middle;
}

.program_bottom .box .contact_box .title{
  font-size: 20px;
  font-weight: 700;
  border-bottom: 1px solid #A0A0A0;
  padding: 25px 0 20px;
  margin-bottom: 20px;
  text-align: center;
  box-sizing: border-box;
}
.program_bottom .box .contact_box .copy{
  font-size: 14px;
  line-height: 24px;
  text-align: center;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}
.program_bottom .box .contact_box .btn{
  width: 100%;
  border-radius: 32px;
  background: #FFF;
  text-align:left;
  transition: all 0.2s ease;
  cursor: pointer;
}


.program_bottom .box .contact_box .btn.bottom{
  margin-bottom: 15px;
}
.program_bottom .box .contact_box .btn:hover{
  background:#DFDFDF;
  transform: translateY(1px);
}
.program_bottom .box .contact_box .btn{
  vertical-align: middle;

}
.program_bottom .box .contact_box .btn a{
  font-size: 18px;
  font-weight:700;
  line-height: 18px;
  padding: 10px;
  letter-spacing: 0.05em;
  text-align: center;
  display: block;
}
.program_bottom .box .contact_box .btn a span.cap{
  font-size: 12px;
  display: block;
}
.program_bottom .box .contact_box .btn a span.telicon{
  padding-right:15px;
  display: inline-block;
  vertical-align: middle;
}
.program_bottom .box .contact_box .btn a span.mailicon{
  padding-right:15px;
  display: inline-block;
  vertical-align: middle;
}
.program_bottom .box .contact_box .btn a span.telicon img,
.program_bottom .box .contact_box .btn a span.mailicon img{
  width: 30px;
  height: 30px;
  vertical-align: middle !important;
}
.program_bottom .box .contact_box .btn_area p{
  font-size: 12px;
  padding-top: 10px;
  text-align: center;
  line-height: 24px;
}



