@charset "utf-8";

.jp{font-family: 'Noto Sans JP', serif;}

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

/*=====================================================================
#main-visual
======================================================================= */
#main-visual {
  width: 100%;
    min-width: 1100px;
  height: 100%;
    min-height: 642px;
  position: relative;
  overflow: hidden;
    background-color: #FFF;
}
.iphone.portrait #main-visual,
.ipad.portrait #main-visual,
.android.portrait #main-visual {
  height: 32.68%;
}
/*
.formbtn{
    position: absolute;
    height: 35%;
    right: 0;
    bottom: 0;
    z-index: 100;
}

.formbtn a{
	position: relative;
      writing-mode: vertical-rl;
	z-index: 1;
	display: inline-block;
    height: 100%;
    text-align: center;
	line-height: 70px;
	color: #FFF;
    font-size: 18px;
    font-weight: bold;
	text-decoration: none;
}

.formbtn a::after{
	position: absolute;
	content: "";
	width: 0;
	height: 100%;
	top: 0;
	right: 0;
	z-index: -1;
	background-color: #D0D0D0;
	transition: all 0.45s cubic-bezier(0.215, 0.61, 0.325, 1) 0s;
}

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

.formbtn a:hover:after {
	left: 0%;
	right: auto;
	width: 100%;
}

.formbtn.btn01 a{background-color: #00AFEC;}
.formbtn.btn02 a{background-color: #B081B7;}
*/

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

#main-visual .bosyu_badge{
    position: absolute;
    bottom: 46px;
    right:140px;
    z-index: 100;
}
#main-visual .bosyu_badge img{width: 150px;}

#main-visual .logo_txt{width: 290px; position: absolute; top: 35%; left: 80px; z-index: 100;}
#main-visual .logo_txt img{width: 100%; height: auto;}

#main-visual .obj01{width:42px; position: absolute; top: 60px; right: 58px; z-index: 100;}
#main-visual .obj01 img{width: 100%; height: auto;}

#main-visual .obj02{width: 54px; position: absolute; bottom:50px; right: 50px; z-index: 100;}
#main-visual .obj02 img{width: 100%; height: auto;}


#main-visual .sidebar{    
    position:absolute; 
    top: 50px; 
    left: 50px;
}
#main-visual .sideinner{position: relative; width:100%; height: 100%;}

#main-visual .sidebar .logo2{width: 120px;}
#main-visual .sidebar .logo2 img{width: 100%; height: auto;}




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

#main-visual .bg-img {
  width: 100%;
  height: 100%;
    display: inherit;
	overflow: hidden;
}

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

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



/*=====================================================================
slider
======================================================================= */


.slides {
  position: relative;
}
.slides>li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slides>li.wipeCurrentSlide {
  animation-duration: 2.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>li>.img {
  width: 100%;
}

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

@keyframes scaleAnim {
  0% {
    transform: scale(1.00) rotate(0.1deg);
  }
  100% {
    transform: scale(1.00) rotate(0.1deg);
  }
}


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


#contents{width: 100%; padding: 80px 0 0 0; background-color: #82c1ea; color: #231815;}

.leadcopy{
    width: 880px;
    box-sizing: border-box;
    margin: 0 auto 0 auto; 
    background-color: #b8dff4;
    position: relative;
}

.leadcopy .lead_bg{position: relative;}
.leadcopy .lead_bg img{
    width: 100%;
}
.leadcopy .lead_bg .lead_img01{
    position: absolute;
    left: 50px;
    bottom: -84px;
}
.leadcopy .lead_bg .lead_img01 img{width: 74px;}

.leadcopy .lead_img02{
    position: absolute;
    right: -26px;
    bottom: -26px;
    
}
.leadcopy .lead_img02 img{
    width: 120px;
}

.leadcopy .lead_txt{
    font-size: 15px;
    text-align: center;
    line-height: 280%;
    color: #231815;
    padding:50px 30px 80px 30px;
    position: relative;
}

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



.top.entrybtnarea{
    width: 880px;
    margin: 60px auto 100px auto;
}



.mainttl{width: 880px; margin: 0 auto 0 auto; display: flex; position: relative;}
.mainttl .logo{width: 240px; position: absolute; left: 50%; transform: translateX(-50%); top: 0; padding: 0 20px;}
.mainttl .logo img{width: 100%; }
.mainttl .left{width: 50%; padding-top: 30px; }
.mainttl .left img{width: 84px;}
.mainttl .right{width: 50%; text-align: right;  padding-top: 24px; }
.mainttl .right img{width: 98px;}


.detai_body{width: 880px; margin: 60px auto 100px auto; }
.detai_body .ttl01{
    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-bottom: 40px; 
}

.detai_body .body01{font-size: 14px; line-height: 220%; margin-bottom: 40px;}

.detai_body .process{display: flex;}
.detai_body .process .left{width: 22%;}
.detai_body .process .left img{width: 140px;}
.detai_body .process .right{width: calc(78% - 48px); background-color: #FFF; border-radius: 12px; padding: 24px; font-size: 14px; line-height: 210%; position: relative;}

.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: right;}

.balloon1-left {
  position: absolute;
    top: 15%;
    right: 30px;
  display: inline-block;
  margin: 1.5em 0 1.5em 15px;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #fff9b1;
}
.balloon1-left::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 8px 15px 8px 0;
  border-color: transparent #fff9b1 transparent transparent;
  translate: -100% -50%;
}
.balloon1-left p {
    font-size: 15px;
    color: #00a0e9;
    font-weight: bold;
    line-height: 140%;
  margin: 6px 6px;
  padding: 0;
}

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

.border_pink{width: 180px; text-align: center; display: inline-block; border: 1px solid #045da5; color: #045da5; background-color: #FFF; font-weight: bold; margin-bottom: 17px;} 
.border_gray{width: 180px; text-align: center; display: inline-block; border: 1px solid #666666; color: #666666; background-color: #FFF; font-weight: bold; margin-bottom: 17px;} 


.detai_body .ttl02{
    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:80px 0 40px; 
}

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

.schedule .left{width:100%; margin-top: 20px;}


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

.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:60px 0 0 0; text-align: left;}
.schedule .body dl{width: 100%; font-size: 14px;}
.schedule .body dt{width: 15%; float: left; padding: 24px 0 26px; margin: 0; font-weight: bold;}
.schedule .body dd{width: 80%; float: left; padding: 24px 0 26px; margin: 0 0 0 5%; border-top: 3px solid #FFF; }

.schedule .left .body dt{border-top: 3px solid #11325c ; color:#11325c; }


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

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


.schedule .body_02 {margin: 40px 0 0 0; text-align: left;}
.schedule .body_02 dl{width: 100%; font-size: 14px; color:#045da5;}
.schedule .body_02 dt{width: 20%; height: 20px; float: left; padding: 20px 0; margin: 0; font-weight: bold; color: #FFF; text-align: center; 
    border-bottom: 1px solid #dae4ea;}
.schedule .body_02 dd{width: 75%; height: 20px; float: left; padding: 20px 0 20px 5%; margin: 0; background-color: #FFF; border-bottom: 1px solid #dae4ea;}

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

.schedule .left .body_02 dt{background-color:#045da5;}


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

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



.detai_body .program dl{width: 100%; padding: 0; margin: 20px 0 0 0; font-size: 14px; line-height: 220%;}
.detai_body .program dt{padding: 24px 0 26px; margin: 0 0 0 0; width: 15%; float: left;  border-top: 3px #11325c solid; font-weight: bold; line-height: 200%; color: #11325c;}
.detai_body .program dd{padding: 24px 0 26px; margin: 0 0 0 5%; width: 80%; float: left; border-top: 3px #FFF solid; }

.detai_body .program dl a{color: #11325c; font-weight: bold;}

.detai_body .program .green{color: #11325c; font-weight: bold;}


.detai_body .profilettl{position: relative; margin-bottom: 60px;}
.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:60px 0 20px; 
}
.detai_body .profilettl .subttl{font-size: 17px; text-align: center; }


.detai_body .profile{margin: 30px 0 0 0; }
.detai_body .profile .block01{width: 47.5%; margin-right: 5%; float: left; margin-bottom: 50px;}
.detai_body .profile .block02{width: 47.5%; float: left; margin-bottom: 50px;}

.block01.last01{margin-bottom: 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: 10px; text-align: right; margin-top: 20px;}

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

.detai_body .profile .prof{width: 100%;}
.detai_body .profile .prof .left{width: 30%; margin-right: 8%; float: left;  line-height: 0;}
.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: 15px; font-weight: bold; margin-bottom: 10px;}
.detai_body .profile .prof .cap{font-size:10px; line-height: 180%; margin-bottom: 10px;}
.detai_body .profile .prof .right .outline{font-size: 13px; line-height: 180%;}

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



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

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

.entrybtn a::after{
	position: absolute;
	content: "";
	width: 0;
	height: 100%;
	top: 0;
	right: 0;
	z-index: -1;
	background-color: #045da5;
	transition: all 0.45s cubic-bezier(0.215, 0.61, 0.325, 1) 0s;
}

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

.entrybtn a:hover:after {
	left: 0%;
	right: auto;
	width: 100%;
}


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

.shopopen .outline{width: 880px; margin: 0 auto; background-color: #EFEFEF; color: #231815; border-radius: 12px; position: relative;}
.shopopen .outline .spop_logo{position: absolute; width: 180px; top: -25px; left: -90px;}
.shopopen .outline .spop_logo img{width: 100%;}

.shopopen .outline .spop_ttl {width: 22%; float: left; margin-left: 13%; padding: 30px 0; font-size: 16px; line-height: 180%; color: #DA4C8F; text-decoration: underline; font-weight: bold;}
.shopopen .outline .spop_body {width: calc(65% - 30px); float: left;font-size: 13px; padding: 30px 0 30px 0; line-height: 180%;}
.shopopen .outline .spop_body a{color: #DA4C8F;}


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

.footer{width: 100%; text-align: center; padding:100px 0 100px 0; background-color: #EFEFEF; color: #231815;}
.footer a{color:#231815;}


.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{margin-bottom: 30px;}

.footer .kyosan .ttl{font-size: 13px; line-height: 140%; font-weight:bold;}
.footer .kyosan .ttl span{font-size:10px; font-weight: normal;}
.footer .kyosan p{line-height:200%; font-size: 11px; margin-top:20px;}

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



/* 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;}

