@charset "utf-8";

/* responsive Start */
/*===================================================================== */


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

.spnone{display: none;}
.pcnone{display: inherit;}

/*=====================================================================
#main-visual
======================================================================= */
#main-visual {
  width: 100%;
    min-width: 100%;
  height: 100%;
    min-height: 100%;
  position: relative;
  overflow: hidden;
}
.iphone.portrait #main-visual,
.ipad.portrait #main-visual,
.android.portrait #main-visual {
  height: 32.68%;
}
    

/*

#main-visual .logo{
    width: 130px;
    position: fixed;
    top: 20px;
    left: 20px;
    z-index: 100;
}
    
.formbtn{
    position: absolute;
    width: 85%;
    left: 7.5%;
    bottom: 0;
}
    
.formbtn.btn01 a{line-height: 56px;}


.btn01 a{
    width:100%;
	padding: 0 0 0 0;
	line-height: 62px;
    font-size: 15px;
}
    
.btn01 a::after{content: none;}
.btn01 a:hover{color: #FFF;}

*/

    

/*.bg-img
------------------------------------------------------------------------ */
    
#main-visual .bg-img{display: none!important;}
    
#main-visual .bg-img_sp{display: inherit;}

#main-visual .bg-img_sp {
  width: 100%;
  height: 100%;
	overflow: visible;
}
    
#main-visual .bg-img_sp ul {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;/*font-weight: normal;*/
}

    
#main-visual .bg-img_sp ul {
  width: 100%;
  height: 100%;
}
#main-visual .bg-img_sp ul li {
  width: 100%;
  background-size: cover;
  background-position: center center;
}


#main-visual .bg-img_sp .cap{
    position: absolute;
    bottom: 25px;
    left:25px;
    z-index: 100;
    line-height: 120%;
}
#main-visual .bg-img_sp .cap span{
    font-size: 10px;
    line-height: 100%;
    letter-spacing: -.01em;
    background-color: #FFF;
}

    
#main-visual .bosyu_badge{
    position: absolute;
    bottom: 80px;
    left:20px;
    z-index: 100;
}
#main-visual .bosyu_badge img{width: 120px;}
    
    

#main-visual .bg-img_sp .sidebar{
    width: 29%;
    height: 40px;  /*bg-img_sp ul のmargin分*/
    position:absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    margin: 0 ;
    padding: 0;
}
#main-visual .bg-img_spl .sideinner{position: relative; width:100%; height: 40px;}

#main-visual .bg-img_sp .sidebar .logo2{width:75px; position: absolute; top: 11px; left: 20px; z-index: 100;}
#main-visual .bg-img_sp .sidebar .logo2 img{width: 100%; height: auto;}
    
#main-visual .bg-img_sp .sidebar .mv_name_01{width: 100%; height: 14px; position: absolute; top: 14px; left: 0; }
#main-visual .bg-img_sp .sidebar .mv_name_01 img{position: absolute; width: auto; height: 14px; right: 20px; }
    
#main-visual .bg-img_sp .sidebar .mv_name_02{width: 100%; height: 14px; position: absolute; top: 14px; left: 0;}
#main-visual .bg-img_sp .sidebar .mv_name_02 img{position: absolute; width: auto; height: 14px; right: 20px;}

#main-visual .bg-img_sp .main_ttl{width:18%; position: absolute; top:70px; right:30px; z-index: 100;}
#main-visual .bg-img_sp .main_ttl img{width:100%; height: auto;}

    
#main-visual .bg-img_sp .mv_ttl{
    width: 49%; 
    position: absolute; 
    bottom: 13.7vh;
  right: 0;
  left: 0;
  margin: 0 auto;

 z-index: 100;
    }
#main-visual .bg-img_sp .mv_ttl img{height:auto; width:100%;}
    
    
    
/*=====================================================================
slider
======================================================================= */

.slides_sp {
  position: relative;
}
.slides_sp>li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slides_sp>li.wipeCurrentSlide2 {
  animation-duration: 3.8s;
  animation-timing-function: linear;
  animation-fill-mode: both;
  animation-name: scaleAnim;
}
/*@media all and (-ms-high-contrast: none){
  .slides>li.wipeCurrentSlide {
    animation-name: none;
  }
}*/
.slides_sp>li>.img {
  width: 100%;
}

.img-change_sp .img {
  display: none;
}


    
    
/*contents
------------------------------------------------------------------------ */

#contents{width: 100%; padding: 6% 0 0 0; color: #231815;}


.leadcopy{
    width: 90%;
    box-sizing: border-box;
    margin: 0 auto 0 auto; 
    position: relative;
}

.leadcopy .lead_bg{position: relative;}
.leadcopy .lead_bg img{
    width: 100%;
}
.leadcopy .lead_bg .lead_img01{
    position: absolute;
    left: 25px;
    top: 30px;
}
.leadcopy .lead_bg .lead_img01 img{width: 54px;}

.leadcopy .lead_img02{
    position: absolute;
    right: -16px;
    bottom: -16px;
    
}
.leadcopy .lead_img02 img{
    width: 80px;
}

.leadcopy .lead_txt{
    font-size: 14px;
    text-align: left;
    line-height: 220%;
    color: #231815;
    padding:20px 25px 40px 25px;
    position: relative;
}

.leadcopy .lead_txt .v_txt{
    position: absolute;
    top: 78px;
    right: -77px;
    display: block;
    transform: rotate(90deg);
    line-height: 100%;
}
.leadcopy .lead_txt .v_txt span{font-size: 10px; display:block; transform: scale(0.6);}


.top.entrybtnarea{
    width: 90%;
    margin: 6% auto 0 auto;
}


.mainttl{width: 90%; margin: 60px auto 0 auto; display: flex; position: relative;}
.mainttl .logo{width: 34%; position: absolute; left: 50%; transform: translateX(-50%); top:0; padding: 0 18px;}
.mainttl .logo img{width: 100%;}
.mainttl .left{width: 50%; font-size: 10px; padding-top: 18px;}
.mainttl .left img{width: 70px;}
.mainttl .right{width: 50%; text-align: right;  font-size: 10px; padding-top: 13px;}
.mainttl .right img{width: 80px;}
    
.detai_body .process .right span{display: inline-block; font-size:12px; line-height: 180%; margin-top: 10px;}
.detai_body .process .right .ta_right{width: 100%; font-size:12px; line-height: 100%; margin-top: 10px; text-align: left;}

    
.balloon1-left {
  position: relative;
    top: inherit;
    right: inherit;
  display: inline-block;
    box-sizing: border-box;
  margin:22px 0 5px 0;
  padding: 7px 10px;
  min-width: 100%;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #fff9b1;
}
.balloon1-left::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 8px 15px 8px;
  border-color: transparent transparent #fff9b1;
  translate: -50% -100%;
    
}
.balloon1-left p {
    font-size: 14px;
    color: #00a0e9;
    font-weight: bold;
    line-height: 140%;
    text-align: center;
  margin:0;
  padding: 0;
}
    
    

.detai_body{width: 90%; margin: 20px auto 0 auto; }
    
.detai_body .ttl01{
    display: inline-block; 
    font-size: 19px; 
    border-bottom: 1px solid #FFF; 
    letter-spacing: .24em; 
    padding-bottom: 10px; 
    margin-bottom: 30px;
    }
    
.detai_body .body01{font-size: 15px; line-height: 200%; margin-bottom: 30px;}

.detai_body .process{display: flex; margin-top: 3%;}
.detai_body .process .left{width: 22%; margin-right: 5%;}
.detai_body .process .left img{width: 100%;}
.detai_body .process .right{width: calc(73% - 40px); background-color: #FFF; border-radius: 12px; padding: 20px 20px 16px 20px; font-size: 14px; line-height: 160%;}

.pr_arrow{width: 100%; text-align: center; margin:10px 0 10px 0;}
.pr_arrow img{width: 5px; height: auto;}

.border_pink{width: 100%;  margin-bottom: 5%;} 
.border_gray{width: 100%; margin-bottom: 5%;} 

    
.detai_body .ttl02{
    display: inline-block; 
    font-size: 19px; 
    border-bottom: 1px solid #FFF; 
    letter-spacing: .24em; 
    padding-bottom: 10px; 
    margin: 40px 0 30px 0;
    }

.schedule{width:100%; margin: 0 auto; display:inherit;}

.schedule .left{width:100%; margin-right: 0%;}

    
.schedule .left .pcnone{margin-top: 35px;}

.schedule .left .ttl{
    position: relative; 
    background-color: #FFF; 
    width: 100%; 
    padding: 18px 0 20px 0;
    font-weight: bold;
    text-align: center;
    font-size:18px;
}


.schedule .left .ttl:after {
    position: absolute;
    border: 1px solid #222;
    content: "";
    top: 6px;
    bottom: 6px;
    left: 6px;
    right: 6px;
}


.schedule .left .ttl .pl{
    width: 80px;
    padding: 6px 0 0 0; 
    position: absolute; 
    display: block; 
    top: -20px; 
    left: 0; 
    font-weight: normal; 
    color: #231815; 
    font-size: 10px;
    letter-spacing: .06em;
    background-color: #FFF;
}


.schedule .body {margin: 30px 0 0 0; text-align: left;}
.schedule .body dl{width: 100%; font-size: 13px;}
.schedule .body dt{width: 25%; float: left; padding: 20px 0; margin: 0 5% 0 0; font-weight: bold;}
.schedule .body dd{width: 70%; float: left; padding: 20px 0; margin: 0; border-top: 3px solid #FFF; }

.schedule .left .body dt{}


.detai_body .ttl03{display: inline-block; font-size: 17px; color: #222; border-bottom: 1px solid #222; letter-spacing: .12em; padding-bottom: 10px; margin:0 0 0 0;}
.detai_body .ttl04{display: inline-block; font-size: 17px; color: #222; border-bottom: 1px solid #222; letter-spacing: .12em; padding-bottom: 10px; margin:20px 0 0 0;}


.schedule .body_02 {margin: 30px 0 0 0; text-align: left;}
.schedule .body_02 dl{width: 100%; font-size: 13px;}
.schedule .body_02 dt{width: 25%; height: 20px; float: left; padding: 18px 0; margin: 0; font-weight: bold; color: #FFF; text-align: center; }
.schedule .body_02 dd{width: 70%; height: 20px; float: left; padding: 18px 0 18px 5%; margin: 0; background-color: #FFF; }

.schedule .body_02 dd span.date{font-size: 14px; font-weight: bold;}
.schedule .body_02 dd span.time{font-size: 12px; margin-left: 15px;}

.schedule .left .body_02 dt{}

.schedule_cap{margin: 20px 0 0 0; font-size: 13px; line-height: 180%;}

.sc_arrow{width: 100%; text-align: center; margin:10px 0 -20px 0;}
.sc_arrow img{width: 5px; height: auto;}



.detai_body .program dl{width: 100%; padding: 0; margin: 10px 0 0 0;  font-size: 13px; }
.detai_body .program dt{padding: 18px 0 18px 0; margin: 0 5% 0 0; width: 25%; float: left;  font-weight: bold; line-height: 200%;}
.detai_body .program dd{padding: 18px 0 18px 0; width: 70%; margin: 0; float: left; border-top: 3px #FFF solid; line-height: 200%;}

.detai_body .program dl a{font-weight: bold;}
    

    
.detai_body .profilettl{position: relative; margin:40px 0 30px;}
.detai_body .profilettl .ttl05{
    width: 100%;
    display: inline-block; 
    text-align: center;
    font-size: 20px;
    letter-spacing: .24em;
    color: #FFF;
    font-family:Arial, Helvetica, "sans-serif";
    font-weight: 400;

    border-bottom: 1px solid #FFF; 
    padding-bottom: 10px; 
    margin:0 0 20px; 
    }
.detai_body .profilettl .subttl{font-size: 16px; text-align: center; }

    
.detai_body .profile{margin:0 0 0 0;}
.detai_body .profile .block01{width: 100%; margin:0 0 0 0; float: none;}
.detai_body .profile .block02{width: 100%; float: none; margin: 30px 0 0 0;}

.block01.last01{margin:30px 0 0 0!important;}
.block02.last02{margin-bottom: 0!important;}
    
.detai_body .profile .block01 .img {line-height: 0;}
.detai_body .profile .block01 .img img{width: 100%;}
.detai_body .profile .block01 .dainagocap{font-size: 12px; text-align: right; margin-top: 0;}

.detai_body .profile .name{font-size: 16px; font-weight: bold; margin-bottom: 10px;}
.detai_body .profile .outline{font-size: 13px; line-height: 200%;}

.detai_body .profile .prof{width: 100%; margin-top: 0;}
.detai_body .profile .prof .left{width: 30%; margin-right: 8%; float: left;}
.detai_body .profile .prof .left img{width: 100%;}
.detai_body .profile .prof .right{width: 62%; float: left;}
.detai_body .profile .prof .right .name{font-size: 18px; font-weight: bold; margin-bottom: 10px;}
.detai_body .profile .prof .cap{font-size:12px; line-height: 180%; margin-bottom: 0;}
.detai_body .profile .prof .right .outline{font-size: 13px; line-height: 180%;}
.detai_body .profile .prof .spnone{display: none;}

.detai_body .profile .day{font-size: 20px; margin-bottom: 10px;}


    
    
.entrybtnarea{
    width: 100%;
    margin: 20px 0 40px 0;
}

.entrybtn a{
	position: relative;
	z-index: 1;
	display: block;
    width:100%;
	padding: 0;
	background-color: #013263;
	line-height: 72px;
    margin: 0 auto;
    text-align: center;
	color: #FFF;
    font-size: 17px;
	text-decoration: none;
}

.entrybtn a::after{
	content: none;
}

.entrybtn a:hover{color: #FFF;}



.shopopen{width: 100%; background-color: #FFF; padding: 10% 0; }

.shopopen .outline{width: 80%; padding: 5% 5%; margin: 0 auto; background-color: #EFEFEF; color: #231815; border-radius: 12px; position: relative;}
.shopopen .outline .spop_logo{position: relative; width: 50%; margin: 0 auto 5% auto; top: 0; left: 0;}
.shopopen .outline .spop_logo img{width: 100%;}

.shopopen .outline .spop_ttl {width: 100%; float: none; margin: 0 0 5% 0; padding: 0; font-size: 15px; line-height: 180%; color: #DA4C8F; text-decoration: underline; font-weight: bold;}
.shopopen .outline .spop_ttl br{display: none;}
    
.shopopen .outline .spop_body {width:100%; float: none;font-size: 14px; padding: 0 0 0 0; line-height: 180%;}
.shopopen .outline .spop_body a{color: #DA4C8F;}
    

/* Footer
------------------------------------------------------------------------ */

.footer{width: 100%; text-align: center; padding:40px 0 40px 0;
    background-size: auto 50px;
    }
.footer .kyosan{margin-bottom: 30px;}

.footer .kyosan .logo{width: 130px; margin: 0 auto 30px auto;}
.footer .kyosan .logo img{width:100%;}
.footer .kyosan .logo a{transition: all 0.3s ease;}
.footer .kyosan .logo a:hover{opacity: 0.7; transition: all 0.1s ease;}
    
.footer .kyosan .ttl{font-size: 13px; line-height: 140%; font-weight:500;}
.footer .kyosan .ttl span{font-size:10px; font-weight: normal;}
.footer .kyosan p{line-height:200%; font-size: 12px; margin-top:20px;}

.footer .copy{
    font-size: 12px;
}


    

/* 404
------------------------------------------------------------------------ */

.notfound_btn{width: 200px; margin: 0 auto  80px auto;}

.notfound_btn  a{
	 width: 200px; 
	height: 36px; 
    font-size: 14px;
	margin-right: 20px;
	border-radius: 18px; 
	background-color: #EFEFF6; 
	text-align: center; text-decoration: none;color: #35318F; 
	transition: all 0.3s ease;
/*　box要素縦中央 */
 display: -webkit-flex;
 display: flex;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */
 -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
 justify-content: center; /* 横方向中央揃え */

}

.notfound_btn  a:hover{background-color: #DCDCEA; transition: all 0.1s ease;}



/* responsive End */
/*===================================================================== */
}

