@charset "utf-8";
/* CSS Document */
html{
  scroll-behavior: smooth;
}

body{
	background-color:#FFF;
	font-family: 'font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif';
	color:#333;
}

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

a:link { 
	color: inherit;
}
 
a:visited {
	color:inherit;
}

a:hover { 
	color:#F51357;
	text-decoration:none;
}

a:active {
	color:#F51357;
}

.font-normal{
    font-weight: normal
}

.text-big{font-size: 1.4rem; font-weight: bold;}
.text-blue{color:#2C48BD;}

.bg-blue{
    width:100%;
	background-color:#7D95F7;
}
.bg-lightblue{
	width:100%;
	background-color:#7D95F7;
}

@media (min-width: 1030px) {
  .container-box {
    width: 1030px;
    margin: 0 auto;
  }
    .inner-box{
    width: 800px;
    margin: 0 auto;
    min-height: 800px;
    }
}
@media (max-width: 1029px) {
  .container-box {
    width: 95%;
    margin: 0 auto;
  }
}

@media (max-width: 799px) {
    .inner-box{width: 100%;}
}

/*********** header *****************/
.headerbox_tel{
    width: 260px;
    margin-right: 0;
    padding: 10px 5px 0px 5px;
    text-align: center;
    background-color: #7D95F7;
    border-radius: 0 0 10px 10px;
    color: #FFF;
    line-height: 1}

.headerbox01{
    margin-top: -30px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 20px;
}
@media (max-width: 576px){
.headerbox01{
    width: 100%;
    margin-top: 20px;
    display: block;
}
}
.g-menu-box{
    font-weight: 600;
    font-size: 0.9rem;
    text-align: right;
    padding-right: 0px;
}

.g-menu-box a{
    margin: 0 13px;
    color:#333;
}
@media (max-width: 768px){
    .g-menu-box a{margin: 10px 3px;}
}

.breadcrumb-item+.breadcrumb-item::before {
    display: inline-block;
    padding-right: .5rem;
    color: #999;
    content: ">";
}

.breadcrumb{
	background-color:#FFF;
}

.breadcrumb-item.active {
    color: #1B41E2;
}
/*************humbarger*************/
.burger-btn{
  display: block;      
  width: 50px;      
  height: 50px;      
  position: relative;      
  z-index: 3;
  border:1px solid #999; 
    border-radius: 10px;
    margin-right: 10px;
    margin-left: auto;
}    
.bar{      
  width: 20px;      
  height: 1px;        
  display: block;      
  position: absolute;      
  left: 50%;      
  transform: translateX(-50%);      
  background-color: #999;    
}    
.bar_top{   
  top: 15px;
}
.bar_mid{    
  top: 50%;
  transform: translate(-50%,-50%);
}
.bar_bottom{
  bottom: 15px;
}
.burger-btn.close .bar_top{      
  transform: translate(-50%,10px) rotate(45deg);      
  transition: transform .3s;    
}    
.burger-btn.close .bar_mid{      
  opacity: 0;       
  transition: opacity .3s;    
}    
.burger-btn.close .bar_bottom{      
transform: translate(-50%,-8px) rotate(-45deg);      
transition: transform .3s;    
}
.nav-wrapper{
  display: none;  
  width: 100vw;      
  position: fixed;      
  left: 0; 
margin-top: 50px;
  z-index: 2;     
}     
.header-nav{        
  width: 100%;        
  height: 100%;        
  background-color:#B4C2FA;        
  z-index: 2;  
opacity: 0.9;
}     
.header-nav .nav-list{        
  display: block;        
}      
.header-nav .nav-item{        
  margin-right: 0;        
  padding: 25px;  
border-bottom: 1px solid #FFF;
}
/*********** footer *****************/
.footer-menu {
    min-height: 20px;
    color: #FFF
}

.footer-menu li a:hover{
    color:inherit;
}

/*********** top *****************/
.top-mv{
    width: 100%;
    position: relative;
}

.top-mv-tex{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #777;
    font-size: 2rem;
    font-weight: bold;
    line-height: 2;
    backdrop-filter: blur(10px);
    position: absolute;
    top:10%;
    left: 10%;
    padding: 10px;
    border-radius: 20px;
    text-align: center;
}

.top-img-tex{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #777;
    position: absolute;
    top:10%;
    right: 3%;
}

@media (max-width: 768px){
    .top-mv-tex{
        font-size: 1.1rem;
     line-height: 1.5;
    position: static;
}
    .top-img-tex{font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    position: static;
    }  
}
/*********** title *****************/

.title01 {
    display: flex;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
	font-size:1.25em;
	font-weight:bold;
	margin-top:50px;
	margin-bottom:20px;
	color:#0935EC;
	font-family:Georgia, 'Hiragino Mincho ProN', 'Yu Mincho', serif;
	}

.title01:before,
.title01:after {
    border-top: 2px solid #B4C2FA;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}

.title01:before {
    margin-right: 0.5em;
}

.title01:after {
    margin-left: 0.5em;
}

.title02::first-letter {
  font-size: 2em;
  color: #1B41E2;
}

.title02{color: #889DF0;}

.title03{
    font-size:  1.3rem; 
    font-weight:  bold;
    padding-top: 15px;
    padding-bottom: 10px;
    text-align: center;
}

.title03 span {
    font-size:  0.8rem; 
    padding-top: 5px;
    display: block;
}

/*********** box *****************/
.box-darkblue{
    border: 1px solid #302988;
}

.box_border{
    padding: 10px;
    border: 1px solid #7972D3;}
    
.balloon-top {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  background: #FFF;
  border: solid 3px #ccc;
  box-sizing: border-box;
}

.balloon-top:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #FFF;
  z-index: 2;
}

.balloon-top:after {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #ccc;
  z-index: 1;
}

.balloon-top p {
  margin: 0;
  padding: 0;
}

.balloon {
  position: relative;
  margin: 0 0 2em 40px;
  padding: 25px;
  background: rgba( 218 , 228 , 255 ,0.3 );
  border-radius: 30px;
}

.balloon:before {  
  content: "";
  position: absolute;
  left: -38px;
  width: 13px;
  height: 12px;
  bottom: 0;
  background: rgba( 218 , 228 , 255 ,1 );
  border-radius: 50%;
}

.balloon:after {
  content: "";
  position: absolute;
  left: -24px;
  width: 20px;
  height: 18px;
  bottom: 3px;
  background: rgba( 218 , 228 , 255 ,0.7 );
  border-radius: 50%;
}

.balloon-r {
  position: relative;
  margin: 0 0 2em 0;
  padding: 25px;
  background: rgba( 218 , 228 , 255 ,0.3 );
  border-radius: 30px;
}

.balloon-r:before {  
  content: "";
  position: absolute;
  right: -38px;
  width: 13px;
  height: 12px;
  bottom: 0;
  background: rgba( 218 , 228 , 255 ,1 );
  border-radius: 50%;
}

.balloon-r:after {
  content: "";
  position: absolute;
  right: -24px;
  width: 20px;
  height: 18px;
  bottom: 3px;
  background: rgba( 218 , 228 , 255 ,0.7 );
  border-radius: 50%;
}


/*********** table *****************/

/*下線のみ*/
.table01{
	display:table;
	width: 95%;
    margin-bottom: 1rem;
	margin-left:auto;
	margin-right:auto;
    background-color: transparent;
	border-collapse: collapse;
}

.table01 th, .table01 td {
    padding: .75rem;
    vertical-align: top;
    border-bottom: 1px solid #999;
}
/*枠あり*/
.table02{
	display:table;
	width: 95%;
    margin-bottom: 1rem;
	margin-left:auto;
	margin-right:auto;
    background-color: transparent;
	border-collapse: collapse;
}

.table02 th, .table02 td{
	padding: .5rem;
	border:1px solid #DDD;
}

.table04{
	display:table;
	width: 95%;
    margin-bottom: 1rem;
	margin-left:auto;
	margin-right:auto;
    background-color: transparent;
	border-collapse: collapse;
}
.table04 td{
    padding: .5rem;
    text-align:center;
	border:1px solid #302988;
    width:50%;
	}

.table-striped>tbody>tr:nth-child(odd)>td, 
.table-striped>tbody>tr:nth-child(odd)>th {
   background-color: #B4C2FA; 
 }	

@media screen and (min-width: 768px) {
	.table01 th, .table01 td, .table02 th, .table02 td, .table-striped th, .table-striped td {
		display:table-cell;
	}
	.table01 th {
		width:25%;
	}
	.table02 th, .table-striped th{
		width:30%;
	}
}

@media screen and (max-width: 767px) {
	.table01 th, .table01 td, .table02 th, .table02 td, .table-striped th, .table-striped td {
		display:block;
		width:100%;
	}
	.table02 th{
		border-bottom:1px solid #DDD;
	}
}

/*枠なしテーブル*/
.table03{
	border:none;
    width:100%;
    margin:auto;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
}

.table03 td{
	border:none;
    width: 50%;
}

/*********** button *****************/
.btn-top-radius {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 8px 10px 5px 10px;
  text-decoration: none;
 color: #91614E;
  background: #FFFDE9;
  border-bottom: solid 4px #FBB03B;
  border-radius: 15px 15px 0 0;
  transition: .4s;
}

.btn-top-radius:hover {
  background: #FBB03B;
  color: #FFF;
}

.contact_btn {
    width: 200px;
    margin: 20px auto;
    text-align: center;
    padding: 0.5rem;
    text-decoration: none;
    color: #FFF;
    border-radius: 3px;
    transition: .4s;
	background-color:#302988;
	font-weight:bold;
}
.contact_btn:hover {
	background-color:#7972D3;
    border: none;
}

.contact_btn:focus {
    outline: none;
}

/*********** list *****************/
.dl-news{
    width: 550px;
    margin: 30px auto;
}
@media (min-width: 768px){
.dl-news dt {
    float: left;
    width: 20%;
    clear: left;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-left: 3rem;
    font-weight: normal;
}
.dl-row dt {
    float: left;
    width: 20%;
    clear: left;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-left: 1rem;
}
}

@media screen and (max-width: 767px) {
.dl-news{
    width: 100%;
}
.dl-news dd:before,
.dl-news dd:after{
   content: " ";
  display: table;
}
.footer-menu li{
		line-height: 2;	}
}

.faq_list dt dl{margin-left: 2rem}
dl.faq_list dt::before {color: #D58BFD; font-size: 2rem; margin-right: 0.5rem; content: "Q"; }
dl.faq_list dd::before {color: #91E5FC; font-size: 2rem; margin-right: 0.5rem; content: "A";}


/*********** voice *****************/
.voice {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
}
.voice-blue{
    border: solid 3px #62c1ce;
}
.voice-pink{
    border: solid 3px #ff7d6e;
}
.voice-yellow{
    border: solid 3px #ffc06e;
}
.voice .voice-box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.voice-title-blue{
    background: #62c1ce;
}
.voice-title-pink{
    background: #ff7d6e;
}
.voice-title-yellow{
    background: #ffc06e;
}

.voice  p {
    margin: 0; 
    padding: 10px;
    line-height: 1.8;
}
/*********** youtube *****************/

.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
  /*background-color:rgba(58,56,56,0.5)*/
	aspect-ratio: 16 / 9;
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

/*********** popup *****************/

.modal-middle {	
	margin: 5% auto;
}

@media (min-width: 768px){
  .modal-middle {	
	margin: 5% ;
} 
}

