﻿@charset "utf-8";
/* bootstrap icons */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

:root{
	--trans: transparent;
	--white: #FFFFFF;
	--white70: #FFFFFFB3;
	--dark: #222222;
	--base: #F8F9FA;
	--color1: #008DD4;
	--color2: #EDF1F4;
	--color3: #8FBCFF;
	--color4: #E2E7EC;
	--gray: #B3B7BC;
	--gray50: #B3B7BC80;
	--lightgray50: #E2E7EC80;
	--dark80: #222222CC;
	--red: #F45E5E;

	--head-w: 250px;
	--head-h: 60px;
	
	--font-jp: "Noto Sans JP", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "MS PGothic",  sans-serif;
}

.bg_base{background-color: var(--base);}

.grade-b{background:linear-gradient(to bottom,var(--color1), var(--color3));}
.grade-r{background:linear-gradient(to right,var(--color1), var(--color3));}

.hvr-shadow-txt_color1:hover{box-shadow: 0 0 10px var(--color1);}
.hvr-shadow-color3:hover{box-shadow: 0 0 10px var(--color3);}
.hvr-shadow-gray:hover{box-shadow: 0 0 10px var(--gray);}

/* page link */
html {
  scroll-padding-top: calc(var(--head-h) + 20px);
}

/* header */
header{
	height: var(--head-h);
}

/* main */
main{
	padding-top: var(--head-h);
}

/*-----------------------------------------
				ブログ
-----------------------------------------*/

.cate_index{
    position: sticky;
    top: var(--head-h);
}
.cate_index.active{
    right: 0;
}
.cate_index .nav_bg{
    pointer-events: none;
    opacity: 0;
    cursor: pointer;
    transition: opacity 0.2s;
}
.cate_index.active .nav_bg{
    pointer-events: auto;
    opacity: 0.8;
}
.detail_index{
    position: sticky;
    top: var(--head-h);
}

#side_nav li.aiDirection:first-of-type{display: none;}/*カテゴリ「はじめに」*/

#side_nav li a, .detail_index li a{
    display: block;
    padding-top: 5px;
    padding-bottom: 5px;
    border-bottom: solid 1px var(--color4);
    transition: color 0.2s;
}
.detail_index li a{
    padding-top: 10px;
    padding-bottom: 10px;
}
#side_nav li a:hover, .detail_index li a:hover{
    color: var(--color1);
}
.blogListPattern_item a, #side_nav li a, .detail_index li a{
    padding-right: 25px !important;
    position: relative;
}
.blogListPattern_item a::before, #side_nav li a::before, .detail_index li a::before{
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    border-top: solid 1px;
    border-right: solid 1px;
    opacity: 0.4;
    transform: rotate(45deg);
}
.blog_body .blogblock_Title:empty{
    display: none;
}
.blog_body .blogblock_Title::before{
    position: absolute;
    content: "";
    width: 3rem;
    background-color: inherit;
    height: 100%;
    top: 0;
    right: 100%;
}

/*-----------------------------------------
			media query
-----------------------------------------*/
@media screen and (max-width: 1399px){
}

/* xl */
@media screen and (max-width: 1199px){
	:root{
		--head-h: 50px
	}
}
/* lg */
@media screen and (max-width: 991px){
    .cate_index{
        position: fixed;
        right: 100%;
        top: 0;
        bottom: 0;
        z-index: 2;
        transition: right 0.2s;
    }
    .cate_index #side_nav{
        width: 300px;
        overflow-y: auto;
        background-color: var(--white);
    }
    .detail_index{
        position: static;
    }
    .detail_index_title{
        cursor: pointer;
    }
    .detail_index_title .detail_index_icon{
        width: 15px;
        aspect-ratio: 1;
    }
    .detail_index_title .detail_index_icon::before, .detail_index_title .detail_index_icon::after{
        position: absolute;
        content: "";
        width: 100%;
        height: 1px;
        background-color: var(--gray);
        top: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        transition: transform 0.2s;
    }
    .detail_index_title .detail_index_icon::after{
        transform: rotate(90deg);
    }
    .detail_index_title.active .detail_index_icon::after{
        transform: rotate(0deg);
    }
}
/* md */
@media screen and (max-width: 767px){
}
/* sm */
@media screen and (max-width: 575px){
}