@charset "utf-8";

/******************************
// sitecore-style-リセット
******************************/
/*非表示*/
.l-globalHeader,
.l-globalNavigation-wrapper,
.l-extraNavigation-wrapper,
.l-breadcrumbs-wrapper,
.l-headerNavigation-utility,
.l-headerNavigation-action,
.l-headerNavigation-logo,
.l-headerNavigation-wrapper,
.l-siteNavigation-wrapper,
.l-globalFooter-wrapper,
.sticky-wrapper,
.l-followNavigation-action{
  display: none;
}

@media (max-width: 767.98px){
  .l-globalHeader,
  .l-globalNavigation-wrapper,
  .l-extraNavigation-wrapper,
  .l-breadcrumbs-wrapper,
  .l-headerNavigation-utility,
  .l-headerNavigation-action,
  .l-headerNavigation-logo,
  .l-headerNavigation-wrapper,
  .l-siteNavigation-wrapper,
  .l-globalFooter-wrapper,
  .sticky-wrapper,
  .l-followNavigation-action{
    display: none;
  }
}
@media (min-width: 768px){
  .l-followNavigation-action{
    display: none !important;
  }    
}
@media (max-width: 767.98px){
  body{
    padding-top: 0;
  }
}

/******************************
// 変数
******************************/
:root {
    --color_mainblue: #0e257a;
	--color_subblue: #426ed2;
    --color_roofblue: #00a8e1;
    --color_white: #FFFFFF;
    --color_orange: #ff5a2c;
    --color_shadowglay: #c5cfdf;
    --color_backglay: #dde9f5;
    --color_btnglay01: #eff2f6;
    --color_btnglay02: #d0d9e5;
	--color_brightblue: #b2ecff;
	--color_bg-gray: #e8ecf2;
}


h1, h2, h3, h4, h5, h6{
  margin-top: 0;
  margin-bottom: 0;
  font-weight: normal;
}
ol, ul, dl{
  list-style: none;
  margin-bottom: 0;
  padding-inline-start: 0px;
}

@media (min-width: 768px) {
  p{
    margin-bottom: 0;
  }
}
@media (max-width: 767.98px) {
  p{
    margin-bottom: 0;
  }
}
figure{
  margin: 0 0 0;
}
.image-col > figure{
  margin-bottom: 0;
}
label{
  margin-bottom: 0;
}
figure img{
  max-width: 100% ;
  width: auto;
  height: auto;
}
figure > img{
  box-shadow: none;
  background: none;
}
picture {
  text-align: center;
  margin-bottom: 20px;
}

@media (max-width: 767.98px) {
  picture > img {
    width: 100%;
  }
}
@media (min-width: 768px){
  .l-scrollToTop{
    bottom: 30px;
    display: none;
    position: fixed;
    right: 7px;
    z-index: 10;
  }
}

/******************************
// ベースフォントファミリー
******************************/
.l-article{
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 500;
  font-style: normal;
}
/******************************
// フォントカラー
******************************/
.ft_Color_White{
  color: var(--color_white);
}
.ft_Color_MainBlue{
  color: var(--color_mainblue);
}
.ft_Color_LiteBlue{
  color: var(--color_brightblue);
}

/******************************
//背景色
******************************/
.ly-bg.mainCL{
  background-color: var(--color_mainblue);
}

/******************************
// ライン
******************************/
.el_line{
  padding:0 2px;
  display:inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.hp_gradLiteBlue{
  background: radial-gradient(circle at calc(100% - 6px) calc(100% - 6px), var(--color_brightblue) 6px, transparent 6px) ,
            radial-gradient(circle at 6px calc(100% - 6px), var(--color_brightblue) 6px, transparent 6px) ,
            linear-gradient(to bottom, var(--color_white) calc(100% - 12px), transparent calc(100% - 12px)) ,
            linear-gradient(to right, transparent 6px, var(--color_brightblue) 6px, var(--color_brightblue) calc(100% - 6px), transparent calc(100% - 6px));  
}
.hp_gradLiteBlue_bg{
  background: radial-gradient(circle at calc(100% - 6px) calc(100% - 6px), var(--color_brightblue) 4px, transparent 6px) ,
            radial-gradient(circle at 6px calc(100% - 6px), var(--color_brightblue) 6px, transparent 6px) ,
            linear-gradient(to bottom, var(--color_bg-gray) calc(100% - 12px), transparent calc(100% - 12px)) ,
            linear-gradient(to right, transparent 6px, var(--color_brightblue) 6px, var(--color_brightblue) calc(100% - 6px), transparent calc(100% - 6px));  
}
.bl_swiper .bl_UserCom .hp_gradLiteBlue{
    background: radial-gradient(circle at calc(100% - 4px) calc(100% - 4px), var(--color_brightblue) 4px, transparent 4px) ,
              radial-gradient(circle at 4px calc(100% - 4px), var(--color_brightblue) 4px, transparent 4px) ,
              linear-gradient(to bottom, var(--color_white) calc(100% - 8px), transparent calc(100% - 8px)) ,
              linear-gradient(to right, transparent 4px, var(--color_brightblue) 4px, var(--color_brightblue) calc(100% - 4px), transparent calc(100% - 4px));  
}

@media (max-width: 767.98px) {
  .el_line{
    padding:0 0px;
    display:inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  } 
  .hp_gradLiteBlue{
    background: radial-gradient(circle at calc(100% - 4px) calc(100% - 4px), var(--color_brightblue) 4px, transparent 4px) ,
              radial-gradient(circle at 4px calc(100% - 4px), var(--color_brightblue) 4px, transparent 4px) ,
              linear-gradient(to bottom, var(--color_white) calc(100% - 8px), transparent calc(100% - 8px)) ,
              linear-gradient(to right, transparent 4px, var(--color_brightblue) 4px, var(--color_brightblue) calc(100% - 4px), transparent calc(100% - 4px));  
  }
  .hp_gradLiteBlue_bg{
    background: radial-gradient(circle at calc(100% - 4px) calc(100% - 4px), var(--color_brightblue) 4px, transparent 4px) ,
              radial-gradient(circle at 4px calc(100% - 4px), var(--color_brightblue) 4px, transparent 4px) ,
              linear-gradient(to bottom, var(--color_bg-gray) calc(100% - 8px), transparent calc(100% - 8px)) ,
              linear-gradient(to right, transparent 4px, var(--color_brightblue) 4px, var(--color_brightblue) calc(100% - 4px), transparent calc(100% - 4px));  
  } 
}

/******************************
// 余白
******************************/
.sp_pt40{
  padding: 40px 0 0;
}
.sp_mt25{
  margin: 25px 0 0;
}
.sp_mb25{
  margin: 0 0 25px;
}
.sp_mb40{
  margin: 0 0 40px;
}
.sp_mt80{
  margin: 80px 0 0;
}
.sp_mt40-mb40{
  margin: 40px 0 40px;
}
.sp_mt40-mb80{
  margin: 40px 0 80px;
}
.sp_mt80-mb40{
  margin: 80px 0 40px;
}
.sp_mt80-mb80{
  margin: 80px 0 80px;
}
@media (max-width: 767.98px) {
  .sp_pt40{
    padding: 20px 0 0;
  }
  .sp_mt25{
    margin: 15px 0 0;
  }
  .sp_mb25{
    margin: 0 0 15px;
  }
  .sp_mb40{
    margin: 0 0 20px;
  }
  .sp_mt80{
    margin: 40px 0 0;
  }
  .sp_mt40-mb40{
    margin: 20px 0 20px;
  }
  .sp_mt40-mb80{
    margin: 20px 0 40px;
  }
  .sp_mt80-mb40{
    margin: 40px 0 20px;
  }
  .sp_mt80-mb80{
    margin: 40px 0 40px;
  }
}
/******************************
// 備考
******************************/
.hp_Anno, 
.bl_AnnoList li{
  padding-left: 1rem;
  text-indent: -1rem;
  font-size: clamp(0.688rem, 0.507rem + 0.66vw, 1rem);
	
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  font-style: normal;	
}
.hp_Anno:before, 
.bl_AnnoList li:before{
  content: '※';
}
.bl_AnnoList{
  list-style: none;
  margin: 0;
  padding: 0;
}
.bl_AnnoList li{
  padding-left: 1rem;
  text-indent: -1rem;
}
.bl_AnnoList li:before{
  content: '※';
} 
.bl_AnnoList{
  margin: 1rem 0 0 0;
}
@media (max-width: 767.98px) {
.bl_AnnoList{
    margin: 0.5rem 0 0 0;
  }
}
/******************************
// 行
******************************/
.hp_aline_right{text-align: right;}
/******************************
// ラップ
******************************/
.ly_wrap{
  width: 960px;
  margin: 0 auto;
}
@media (max-width: 767.98px) {
  .ly_wrap{
    width: 100%;
    margin: 0 auto;
  }
}

/******************************
// Heassing
******************************/
.bl_head{
    text-align: center;
}
/******************************
// 余白
******************************/
.bl_head{
    text-align: center;
}
/*============================
#floating
============================*/
.bl_floating {
  background-color: rgba(204, 204, 204, 0.7);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  text-align: center;
  width: 100%;
  z-index: 10;
}
@media (min-width: 768px) {
  .bl_floating {
    padding: 5px 0 0;
  }
}
@media (max-width: 767.98px) {
  .bl_floating {
    padding: 8px 0;
  }
}

/*============================
#footer
============================*/
.ly_footer {
  font-family: YuGothic, "Yu Gothic", "Hiragino Sans", Meiryo, sans-serif;
}       
@media (min-width: 768px){
  .ly_footer {
    padding: 50px 0;
  }
}
@media (max-width: 767.98px){ 
  .ly_footer {
    padding: 30px 0;
  }
}
.bl_footerMenu{
  border-bottom: 1px solid #ccc;
  text-align: center;
}
.bl_footerMenu .bl_footerList{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 767.98px) { 
.bl_footerMenu .bl_footerList{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}	
  .bl_footerMenu .bl_footerList > li {
    width: 50%;
  }
  .bl_footerMenu .bl_footerList > li{
    border-top: 1px solid #ccc;
  }
  .bl_footerMenu .bl_footerList > li:nth-child(even) {
    border-left: 1px solid #ccc;
  }
  .bl_footerMenu .bl_footerList > li:nth-child(4){
    border-bottom: 1px solid #ccc;
  }		
  .bl_footerMenu .bl_footerList > li:last-child{
    border-right: 1px solid #ccc;
  }	
}
.bl_footerMenu a{
  color: #1346a3;
  font-size: 0.813rem;
  display: inline-block;
}
@media (min-width: 768px){
  .bl_footerMenu a {
    padding: 5px 50px;
  }
}
@media (max-width: 767.98px){ 
  .bl_footerMenu a {
    padding: 5px 0;
  }
}
.l_footerCopyright {
  margin-top: 16px;
  text-align: center;
}
@media (min-width: 768px){
  .l_footerCopyright{
    align-items: center;
    display: flex;
    justify-content: space-between;
    line-height: 0;
  }
}
.l_footerCopyright small{
  font-size: 0.875rem;
}
.l_footerCopyright .hp_image{
  width: 191px;
}
@media (max-width: 767.98px){        
  .is_block{
    display: block;
  } 
} 

