@charset "utf-8";
/* ------------------------------------------------------- */
/* Share ------------------------------------------------- */
/* ------------------------------------------------------- */

pre { white-space: pre-wrap; }

/* display */
.dispinline {display: inline;}
.dispb {display: block!important;}
.dispinlineb {display: inline-block;}
.dispnone {display: none;}
.nonePc {display: none;}
.oHidden {overflow: hidden;}

@media only screen and (max-width:999px) {
    .nonePc {display: inline-block;}
    .noneSp {display:none;}
}

/* margin */
.mauto {margin-left: auto;margin-right: auto;}
.mb0 {margin-bottom: 0px!important;}
.mb1 {margin-bottom: 1px!important;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb15 {margin-bottom: 15px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb25 {margin-bottom: 25px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb35 {margin-bottom: 35px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb45 {margin-bottom: 45px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb55 {margin-bottom: 55px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb65 {margin-bottom: 65px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb75 {margin-bottom: 75px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb85 {margin-bottom: 85px!important;}
.mb90 {margin-bottom: 90px!important;}
.mb95 {margin-bottom: 95px!important;}
.mb100 {margin-bottom: 100px!important;}

/* width */
.w100 {width: 100%;}
.w50, .w50sp100 {width: 50%;}
@media only screen and (max-width:999px) {
    .w50sp100 {width: 100%;}
}

/* vertical align */
.vaTop {vertical-align: top;}
.vaBottom {vertical-align: bottom;}
.vaMiddle {vertical-align: middle;}
.aiCenter {align-items: center;}

/* indent */
.indent {text-indent: 1.6rem;}
.indent1 {
	margin-left: 1.6rem;
	text-indent: -1.6rem;
}

/* 改ページ */
.bpa {page-break-before: always;}

/* font ---------------------------------------------------*/

/* font style */
strong, .bold {font-weight: bold;}
.nbold {font-weight: normal;}
.underLine {text-decoration: underline;}
.font-line-through {
	text-decoration: line-through;
}

/* font size */
.small1 {font-size: 1.4rem;}
.small2 {font-size: 1.2rem;}
.big1 {font-size: 1.8rem;}
.big2 {font-size: 2.0rem;}

/* text align */
.txtRight {text-align: right;}
.txtLeft {text-align: left;}
.txtCenter, .txtCenter2 {text-align: center;}
@media only screen and (max-width:999px) {
    .txtCenter2{text-align: left;}
}

/* font color */
.fcRed {color: #FF0004;}
.fcBlue {color: #06C;}
.fcWhite {color: #fff;}

/* font family */
.fontFamily1 {
	font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

/* image -------------------------------------------------*/
/*イメージのはみ出し防止*/
img {
	max-width: 100%;
	height: auto;
}
/* image align */
img.imgCenter {
	margin-left: auto;
	margin-right: auto;
	display: block;
}
img.imgLeft {
	padding: 0px 25px 25px 0px;
	float: left;
}
img.imgRight {
	padding: 0px 0px 25px 25px;
	float: right;
}
/* image align スマートフォンでフロート解除 */
img.imgLeftN1 {
	padding: 0 25px 25px 0;
	float: left;
}
img.imgRightN1 {
	padding: 0 0 25px 25px;
	float: right;
}
@media only screen and (max-width:999px) {
    img.imgLeftN1, img.imgRightN1 {
        padding: 0;
        float: none;
        display: block;
        margin: 0 auto 15px;
    }
}
/* link ---------------------------------------------------*/
a {
	text-decoration: underline;
	color: var(--color-link);
}
a:hover {
	color: var(--color-link_hover);
}

/*リンクを無効にする*/
.noLink {
    text-decoration: none;
    pointer-events: none;
    cursor: default;
	color: #000;
}

/*blank用ポイント付*/
#container a[target="_blank"]::after,
.externalLink::after {
	font-family: var(--fa);
	content: "\f35d";
	font-weight: 900;
    margin-left: 5px;
    margin-right: 5px;
    display: inline-block;
}
#container a[target="_blank"].noExternal::after { display: none; }

/* ボタン用 */
.buttonLink1, .buttonLink2 {
	margin: 0 auto 25px;
}
.buttonLink1 a, .buttonLink2 a {
	display: block;
	position: relative;
	border-radius:5px;
	color: #000;
	text-decoration: none;
	padding: 15px 30px 15px 10px;
	box-shadow: 5px 5px 0 0 rgba(150,150,150,0.1);
}
.buttonLink1 a {
	background: var(--color-main-thin);
	border: 1px solid var(--color-main-light);	
}
.buttonLink2 a {
	background: var(--color-main);
	color: #fff;
}
.buttonLink1 a:hover {
	border: 1px solid var(--color-main);
}
.buttonLink2 a:hover {
}
.buttonLink1 a::before, .buttonLink2 a::before {
	font-family: var(--fa);
	font-weight: 900;
	content: "\f054";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	color: var(--color-main);	
}
.buttonLink2 a::before {
	color: #fff;
}

/*もっとみる*/
.linkMore1 {
	text-align: center;
    margin-bottom: 25px;
}
.linkMore1 a {
	display: inline-block;
	position: relative;
	border-radius:5px;	
	background: var(--color-main-thin);
	color: #000;
	text-decoration: none;
	padding: 15px 30px 15px 10px;
	border: 1px solid var(--color-main-light);
	box-shadow: 5px 5px 0 0 rgba(150,150,150,0.1);
}
.linkMore1 a:hover { 
	border: 1px solid var(--color-main);
}
.linkMore1 a::before {
	font-family: var(--fa);
	font-weight: 900;
	content: "\f054";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	color: var(--color-main);
}

/*アンカーリンク用*/
:where([id], :focus) {
    scroll-margin-top: 110px;
}
.anchor::before {
   content:"";
   display:block;
   height:0;
   margin:0;
}
@media only screen and (max-width:999px) {
	:where([id], :focus) {
		scroll-margin-top: 0;
	}
	.anchor::before {
	   content:"";
	   display:block;
       height:0px;
       margin:0;
	}
}

/* 電話番号 */
.noPhoneLink {
    text-decoration: none;
    pointer-events: none;
    cursor: default;
	color: #000;
    @media (width <= 999px) {
        text-decoration: underline;
        pointer-events: initial;
        cursor: pointer;
		color: var(--color-link);		
    }
}
/*a[href^="tel:"] {
    text-decoration: none;
    pointer-events: none;
    cursor: default;
    @media (width <= 999px) {
        text-decoration: underline;
        pointer-events: initial;
        cursor: pointer;
    }
}*/

/*ページ内リンクリスト1*/
.tagBox .pageLinkList1 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox .pageLinkList1 li {
    width: calc((100% - 10px) / 3);
    list-style-type: none;
	margin: 0 4.9px 5px 0;
}
.tagBox .pageLinkList1 li:nth-of-type(3n) { margin-right: 0; }
.tagBox .pageLinkList1 li a {
    padding: 10px 20px 10px 10px;
    border-radius: 5px;
    background: #fff;
    text-align: center;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
	border: 1px solid var(--color-sub-light);
}
.tagBox .pageLinkList1 li a::before {
    font-family: var(--fa);
    font-weight: 900;
    content: "\f0da";
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    width: 20px;
    height: 100%;
    justify-content: center;
    align-items: center;
}
@media only screen and (max-width:999px) {
    .tagBox .pageLinkList1 {
        display: block;
    }
    .tagBox .pageLinkList1 li {
        width: 100%;
        margin: 0 0 5px 0;
    }
}

/*ページ内リンクリスト2*/
.tagBox .pageLinkList2 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox .pageLinkList2 li {
    width: calc((100% - 5px) / 2);
    list-style-type: none;
	margin: 0 4.9px 5px 0;
}
.tagBox .pageLinkList2 li:nth-of-type(2n) { margin-right: 0; }
.tagBox .pageLinkList2 li a {
    padding: 10px 20px 10px 10px;
    border-radius: 5px;
    background: #fff;
    text-align: center;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
	border: 1px solid var(--color-sub-light);
}
.tagBox .pageLinkList2 li a::before {
    font-family: var(--fa);
    font-weight: 900;
    content: "\f0da";
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    width: 20px;
    height: 100%;
    justify-content: center;
    align-items: center;
}
@media only screen and (max-width:999px) {
    .tagBox .pageLinkList2 {
        display: block;
    }
    .tagBox .pageLinkList2 li {
        width: 100%;
        margin: 0 0 5px 0;
    }
}

/* file type icon - text */
/*a[href$=".pdf"],
a[href$=".docx"], a[href$=".doc"],
a[href$=".xlsx"], a[href$=".xls"],
a[href$=".pptx"], a[href$=".ppt"],
a[href$=".zip"] {
    position: relative;
    text-decoration: none;
    color: #000;
}
a[href$=".pdf"]:hover,
a[href$=".docx"]:hover, a[href$=".doc"]:hover,
a[href$=".xlsx"]:hover, a[href$=".xls"]:hover,
a[href$=".pptx"]:hover, a[href$=".ppt"]:hover,
a[href$=".zip"]:hover {
    color: #658dc8;
}
a[href$=".pdf"]::before,
a[href$=".docx"]::before, a[href$=".doc"]::before,
a[href$=".xlsx"]::before, a[href$=".xls"]::before,
a[href$=".pptx"]::before, a[href$=".ppt"]::before,
a[href$=".zip"]::before {
    font-family: "UDデジタル教科書体 R JIS2004", UDDigiKyokasho R JIS2004;
    padding: 3px 6px;
    border-radius: 3px;
    position: relative;
    top: -2px;
    font-size: 1.1rem!important;
    margin-right: 5px;
}
a[href$=".pdf"]::before {
    content: "PDF"!important;
    background: #f00;
	color: #fff;
}
a[href$=".docx"]::before, a[href$=".doc"]::before {
    content: "Word"!important;
    background: #295394;
	color: #fff;
}
a[href$=".xlsx"]::before, a[href$=".xls"]::before {
    content: "Excel"!important;
    background: #007c00;
	color: #fff;
}
a[href$=".pptx"]::before, a[href$=".ppt"]::before {
    content: "PPT"!important;
    background: #ca4223;
	color: #fff;
}
a[href$=".zip"]::before {
    content: "zip"!important;
    background: #e2860f;
	color: #fff;
}*/

/* float ----------------------------------------------*/
.floatLeft {float: left;}
.floatRight {float: right;}

/* 2つ並びのボックス スマートフォンで解除 */
.floatLeft2col1,
.floatRight2col1 {
	width: calc((100% - 25px) / 2);
	margin-bottom: 10px;
}
.floatLeft2col1 {
	float: left;
	clear: left;
}
.floatRight2col1 {float:right;}
@media only screen and (max-width:999px) {
    .floatLeft2col1,
    .floatRight2col1 {
        width: 100%;
        float: none;
    }
}

/* box -----------------------------------------------*/
.box1, .box2, .box3 {
/* 	padding: 25px;*/
	margin-bottom: 25px;
}
.box1 {
    background: var(--color-main-thin);
}
.box2 {
	background: #fff;
	border: 1px solid var(--color-sub-light);
}
.box3 {
	background: #fff;
	border: 1px solid var(--color-main-light);
}

@media only screen and (max-width:999px) {
    .box1, .box2, .box3 {
        padding: 15px;
    }
}

/*container 幅固定用box*/
/*
.contentsBox1：スマートフォンで幅100%＋左右余白なし
.contentsBox2：スマートフォンで幅100%＋左右余白あり
*/
.contentsBox1,
.contentsBox2 {
	max-width: var(--size-content-max-width);
	min-width: var(--size-content-min-width);
	margin: 0 auto;
}
@media only screen and (max-width:999px) {
	.contentsBox2{
		padding: 0 15px;
	}
}

/* flexBox1, gridBox1 左右50% */
/* flexBox2, gridBox2 左260px */
/* flexBox3, gridBox3 右260px */
/* flexBox4, gridBox4 均等3つ並び */
/* flexBox5, gridBox5 左355px */
/* flexBox6, gridBox6 右355px */
.flexBox1,
.flexBox2,
.flexBox3,
.flexBox4,
.flexBox5,
.flexBox6 {
    display: flex;
    margin-bottom: 25px;
}
.flexBox1 > div:nth-of-type(1),
.flexBox2 > div:nth-of-type(1),
.flexBox3 > div:nth-of-type(1),
.flexBox5 > div:nth-of-type(1),
.flexBox6 > div:nth-of-type(1) {
    margin-right: 25px;
}
.flexBox1 > div { width: calc((100% - 25px) / 2); }
.flexBox2 > div:nth-of-type(1),
.flexBox3 > div:nth-of-type(2) {
    width: 260px;
}
.flexBox5 > div:nth-of-type(1),
.flexBox6 > div:nth-of-type(2) {
    width: 355px;
}
.flexBox2 > div:nth-of-type(2),
.flexBox3 > div:nth-of-type(1) {
    width: calc(100% - 285px);
}
.flexBox5 > div:nth-of-type(2),
.flexBox6 > div:nth-of-type(1) {
    width: calc(100% - 380px);
}
.flexBox4 > div {
    width: calc((100% - 50px) / 3);
    margin-right: 24.9px;
}
.flexBox4 > div:nth-of-type(3) { margin-right: 0; }
@media only screen and (max-width:999px) {
    .flexBox1,
    .flexBox2,
    .flexBox3,
    .flexBox4,
	.flexBox5,
	.flexBox6 {
        display: block;
    }
    .flexBox1 > div:nth-of-type(1),
    .flexBox2 > div:nth-of-type(1),
    .flexBox3 > div:nth-of-type(1),
    .flexBox4 > div,
	.flexBox5 > div:nth-of-type(1),
	.flexBox6 > div:nth-of-type(1) {
        width: 100%;
        margin: 0 0 15px 0;
    }
    .flexBox1 > div:nth-of-type(2),
    .flexBox2 > div:nth-of-type(2),
    .flexBox3 > div:nth-of-type(2),
    .flexBox4 > div:nth-of-type(3),
	.flexBox5 > div:nth-of-type(2),
    .flexBox6 > div:nth-of-type(2) {
        width: 100%;
        margin-bottom: 0;
    }
}

:is(.gridBox1, .gridBox2, .gridBox3, .gridBox4, .gridBox5, .gridBox6, .gridBoxCustom) {
    display: grid;
    gap: 25px;
    
    /* gridBox1 左右50% */
    &.gridBox1 {
        grid-template-columns: repeat(2, 1fr);
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox2 左260px */
    &.gridBox2 {
        grid-template-columns: 260px 1fr;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox3 右260px */
    &.gridBox3 {
        grid-template-columns: 1fr 260px;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox4 均等3つ並び */
    &.gridBox4 {
        grid-template-columns: repeat(3, 1fr);
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox5 左355px */
    &.gridBox5 {
        grid-template-columns: 355px 1fr;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox6 右355px */
    &.gridBox6 {
        grid-template-columns: 1fr 355px;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBoxCustom */
    /* 例：<div class="gridBoxCustom" style="--columns: 100px 1fr"> */
    /* 例：<div class="gridBoxCustom" style="--columns: repeat(2, 1fr)"> */
    &.gridBoxCustom {
        --columns: repeat(1, 1fr);
        grid-template-columns: var(--columns);
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
}

/* dl ----------------------------------------------*/
dl.dl1 {
	margin-bottom: 25px;
}
.dl1 dt,
.dl1 dd {
	border-left:5px solid #4b8345;
	padding: 10px;
}
.dl1 dt {
	font-weight: bold;
	background: #f5f5f5;
}
.dl1 dd {
	margin-bottom: 15px;
}
.dl1 dd:last-child {
	margin-bottom: 0;
}

/* ------------------------------------------------------- */
/* contents ---------------------------------------------- */
/* ------------------------------------------------------- */
#main p {
    margin-bottom: 25px;
}
.topContents {
	width: 100%;
	min-width: var(--size-content-min-width);
	margin: var(--size-header-height) 0 0 0;
}
@media only screen and (max-width:999px) {
	.topContents {
		margin: 0;
	}
}

/* pagetitle navi ----------------------------------------------*/
.pageTitle {
	background: var(--color-main-thin);
	padding: 10px 0;
	margin-bottom: 15px;
}
.pageTitle h1 {
	max-width: var(--size-content-max-width);
	min-width: var(--size-content-min-width);
	margin: 0 auto;
	font-size: 2.2rem;
}
.breadcrumbs {
	font-size: 1.3rem;
	max-width: var(--size-content-max-width);
	min-width: var(--size-content-min-width);
	margin: 0 auto 50px;
}
.breadcrumbs br { display: none;}

@media only screen and (max-width:999px) {
	.pageTitle {
		padding: 15px;
		margin-bottom: 5px;
	}
	.pageTitle h1 {
		margin: 0 auto;
		font-size: 2.3rem;
	}
	.breadcrumbs {
		margin: 0 auto 15px;
		overflow-x: scroll;
		white-space: nowrap;
		padding: 5px 15px;
	}
	.breadcrumbs::-webkit-scrollbar {
		height: 5px;
	}
	.breadcrumbs::-webkit-scrollbar-track {
	}
	.breadcrumbs::-webkit-scrollbar-thumb {
		background-color: rgba( 100, 100, 100, 0.2);
	}
}

/* ------------------------------------------------------- */
/* Move Top ---------------------------------------------- */
/* ------------------------------------------------------- */
/* ページ上部に戻る スクロールで自動表示 */
#pageTop {
    width: 45px;
    height: 45px;
    display: none;
    position: fixed;
	right: 15px;
	bottom: 15px;
    z-index: 5;
}
#pageTop div {
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.8);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    border-radius: 50%;
}
#pageTop div span { display: none; }
#pageTop div:hover { background: rgba(0,0,0,0.5); }
#movePageTop {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
}
#movePageTop::before {
    font-family: var(--fa);
    font-weight: 900;
    content: "\f062";
    color: #fff;
    font-size: 3.0rem;
}
@media only screen and (max-width:999px) {
    #pageTop {
		right: 10px;
		bottom:10px;
    }
}

/* ------------------------------------------------------- */
/* LINE固定ボタン ------------------------------------------ */
/* ------------------------------------------------------- */
#LINEfixBtn {
    width: 80px;
    display: none;
    position: fixed;
	right: 0;
	bottom: 80px;
    z-index: 5;
	
	@media (width <= 999px) {
		width: 70px;
	}
	
	a {
		display: flex;
		align-items: center;
		justify-content: center;
		background: var(--color-LINE);
		width: 100%;
		height: 130px;
		text-align: center;
		font-weight: bold;
		text-decoration: none;
		color: #fff;
		font-size: 1.5rem;
		
		@media (width <= 999px) {
			height: 100px;
			font-size: 1.3rem;
		}
		
		i {
			display: block;
			width: 100%;
			margin-bottom: 10px;
			font-size: 3.0rem;
			
			@media (width <= 999px) {
				margin-bottom: 5px;
				font-size: 2.0rem;
			}
		}
	}
}

/* ------------------------------------------------------- */
/* iframe ----------------------------------------------- */
/* ------------------------------------------------------- */
iframe.googlemap {
	width: 100%;
	height: 400px;
}
@media only screen and (max-width:999px) {
	iframe.googlemap {
		height: 300px;
	}
}

/* ------------------------------------------------------- */
/* デフォルトのHTMLタグでスタイルを適用させる------------- */
/* ------------------------------------------------------- */
.tagBox {
}

/*改行する*/
.tagBox {
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.wordBreakTable {
	width: 100%;
	table-layout: fixed;
}
.wordBreakTable td {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/*デフォルトスタイル復帰*/
.tagBox em{font-style:italic;}

/*wpスタイル復帰*/
img.aligncenter {
    display: block;
    margin: 0 auto;
}

/* list ----------------------------------------------*/
.tagBox ul.ul1, .tagBox ol.ol1,
ol.bracket1, ol.bracket2,
ol.alphabet1, ol.alphabet2,
ol.circle_number,
.tagBox ul.float2col1,
.tagBox ul.float3col1, .tagBox ul.float3col2,
.tagBox ul.float4col1, .tagBox ul.float4col2,
.tagBox ul.float5col1, .tagBox ul.float5col2,
.tagBox ul.float6col2,
ul.ul1, ol.ol1, 
ul.float2col1,
ul.float3col1, ul.float3col2,
ul.float4col1, ul.float4col2,
ul.float5col1, ul.float5col2,
ul.float6col2 {
	margin-bottom: 25px;
    overflow: hidden;
}

/*デフォルト*/
.tagBox ul, .tagBox ol {
	margin-bottom: 25px;
	overflow: hidden;
}
.tagBox ul li,
ul.ul1 li {
	list-style-type: disc;
	margin: 0 0 10px 20px;
}
.tagBox ol li,
ol.ol1 li {
	list-style-type: decimal;
	margin: 0 0 10px 30px;
}
.tagBox ul li ul, .tagBox ol li ul {
	margin-bottom: 0;
}
.tagBox ul li ul li, .tagBox ol li ul li,
ul.ul1 li ul li, ol.ol1 li ul li {
	list-style-type: circle;
}

/* 装飾ありリスト */

/* bracket1 （1） */
/* bracket2 1） */
ol.bracket1 li, ol.bracket2 li {
    list-style-type: none;
	margin: 0 0 10px 0;
    counter-increment: cnt;
    position: relative;
}
ol.bracket1 li {
    padding-left: 30px;
}
ol.bracket2 li {
    padding-left: 25px;
}
ol.bracket1 li::before, ol.bracket2 li::before {
    position: absolute;
    left: 0;
}
ol.bracket1 li::before {
	content: "(" counter(cnt) ") ";
}
ol.bracket2 li::before {
	content: counter(cnt) ") ";
}

/* alphabet1 a. */
/* alphabet2 A. */
ol.alphabet1 li {
    list-style-type: lower-alpha;
}
ol.alphabet2 li {
    list-style-type: upper-alpha;
}

/* ①～⑨ */
ol.circle_number {
    li {
        list-style: none;
        margin: 0 0 10px 0;
        padding-left: 25px;
        position: relative;
        &::before {
            top: 0;
            left: 0;
            margin-right: 5px;
            position: absolute;
        }
        &:nth-child(1)::before { content: "\2460"; }
        &:nth-child(2)::before { content: "\2461"; }
        &:nth-child(3)::before { content: "\2462"; }
        &:nth-child(4)::before { content: "\2463"; }
        &:nth-child(5)::before { content: "\2464"; }
        &:nth-child(6)::before { content: "\2465"; }
        &:nth-child(7)::before { content: "\2466"; }
        &:nth-child(8)::before { content: "\2467"; }
        &:nth-child(9)::before { content: "\2468"; }
        &:nth-child(10)::before { content: "\02469"; }
        &:nth-child(11)::before { content: "\0246A"; }
        &:nth-child(12)::before { content: "\0246B"; }
        &:nth-child(13)::before { content: "\0246C"; }
        &:nth-child(14)::before { content: "\0246D"; }
        &:nth-child(15)::before { content: "\0246E"; }
        &:nth-child(16)::before { content: "\0246F"; }
        &:nth-child(17)::before { content: "\02470"; }
        &:nth-child(18)::before { content: "\02471"; }
        &:nth-child(19)::before { content: "\02472"; }
        &:nth-child(20)::before { content: "\02473"; }
    }
}

/*リストの飾り不要時*/
.tagBox ul.listNonStyle li,
.tagBox ol.listNonStyle li {
    list-style-type: none;
	margin: 0 0 10px 0;
}

/* 2つ並びのリスト 999px以下で1列に */
.tagBox ul.float2col1 > li,
ul.float2col1 > li{
    list-style-type: none;
	width: calc((100% - 25px) / 2);
	float: left;
    margin: 0 24.9px 15px 0;
}
.tagBox ul.float2col1 > li:nth-child(odd), ul.float2col1 > li:nth-child(odd) { clear: left; }
.tagBox ul.float2col1 > li:nth-child(even), ul.float2col1 > li:nth-child(even) { margin-right: 0; }
@media only screen and (max-width:999px) {
    .tagBox ul.float2col1 > li,
    ul.float2col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 3つ並びのリスト 999px以下で1列に */
.tagBox ul.float3col1 > li,
ul.float3col1 > li {
    list-style-type: none;
	width: calc((100% - 50px) / 3);
	float: left;
	margin: 0 24.9px 15px 0;
}
.tagBox ul.float3col1 > li:nth-child(3n), ul.float3col1 > li:nth-child(3n) { margin-right: 0; }
.tagBox ul.float3col1 > li:nth-child(3n+1), ul.float3col1 > li:nth-child(3n+1) { clear: left; }
@media only screen and (max-width:999px) {
	.tagBox ul.float3col1 > li,
    ul.float3col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
	}
}

/* 3つ並びのリスト 999px以下で1列に Flex版 */
.tagBox ul.float3col2,
ul.float3col2 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox ul.float3col2 > li,
ul.float3col2 > li {
    list-style-type: none;
	width: calc((100% - 50px) / 3);
	margin: 0 24.9px 15px 0;
}
.tagBox ul.float3col2 > li:nth-child(3n), ul.float3col2 > li:nth-child(3n) { margin-right: 0; }

@media only screen and (max-width:999px) {
    ul.float3col2 > li,
    .tagBox ul.float3col2 > li {
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float3col2 li:nth-child(3n), .tagBox ul.float3col2 li:nth-child(3n) { margin:0 0 15px 0; }
    
	ul.float3col2 li:nth-child(2n), .tagBox ul.float3col2 li:nth-child(2n) { float: right; margin-left: 15px; }
	ul.float3col2 li:nth-child(2n+1), .tagBox ul.float3col2 li:nth-child(2n+1) { float: left; clear: right; }
}

/* 4つ並びのリスト 999px以下で1列に */
ul.float4col1 > li,
.tagBox > ul.float4col1 li {
    list-style-type: none;
	width: calc((100% - 75px) / 4);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float4col1 > li:nth-child(4n), .tagBox ul.float4col1 > li:nth-child(4n) {margin: 0 0 15px 0;}
ul.float4col1 > li:nth-child(4n+1), .tagBox ul.float4col1 > li:nth-child(4n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float4col1 > li,
    .tagBox ul.float4col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 4つ並びのリスト 999px以下で2列に */
ul.float4col2 > li,
.tagBox ul.float4col2 > li{
    list-style-type: none;
	width: calc((100% - 75px) / 4);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float4col2 > li:nth-child(4n), .tagBox ul.float4col2 > li:nth-child(4n) {margin: 0 0 15px 0;}
ul.float4col2 > li:nth-child(4n+1), .tagBox ul.float4col2 > li:nth-child(4n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float4col2 > li,
    .tagBox ul.float4col2 > li{
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float4col2 > li:nth-child(4n), .tagBox ul.float4col2 > li:nth-child(4n) {margin:0 0 15px 0;}
    ul.float4col2 > li:nth-child(4n+1), .tagBox ul.float4col2 > li:nth-child(4n+1) {float: none;}
    
	ul.float4col2 > li:nth-child(2n), .tagBox ul.float4col2 > li:nth-child(2n) {float: right;}
	ul.float4col2 > li:nth-child(2n+1), .tagBox ul.float4col2 > li:nth-child(2n+1) {float: left; clear: right;}
}

/* 5つ並びのリスト 999px以下で1列に */
ul.float5col1 > li,
.tagBox ul.float5col1 > li {
    list-style-type: none;
	width: calc((100% - 100px) / 5);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float5col1 > li:nth-child(5n), .tagBox ul.float5col1 > li:nth-child(5n) { margin: 0 0 15px 0; }
ul.float5col1 > li:nth-child(5n+1), .tagBox ul.float5col1 > li:nth-child(5n+1) { clear: left; }
@media only screen and (max-width:999px) {
    ul.float5col1 > li,
    .tagBox ul.float5col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 5つ並びのリスト 999px以下で2列に */
ul.float5col2 > li,
.tagBox ul.float5col2 > li {
    list-style-type: none;
	width: calc((100% - 100px) / 5);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float5col2 > li:nth-child(5n), .tagBox ul.float5col2 > li:nth-child(5n) { margin: 0 0 15px 0; }
ul.float5col2 > li:nth-child(5n+1), .tagBox ul.float5col2 > li:nth-child(5n+1) { clear: left; }
@media only screen and (max-width:999px) {
    ul.float5col2 > li,
    .tagBox ul.float5col2 > li {
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float5col2 > li:nth-child(5n), .tagBox ul.float5col2 > li:nth-child(5n) { margin:0 0 15px 0; }
    ul.float5col2 > li:nth-child(5n+1), .tagBox ul.float5col2 > li:nth-child(5n+1) { float: none; clear: unset; }
    
	ul.float5col2 > li:nth-child(2n), .tagBox ul.float5col2 > li:nth-child(2n) { float: right; }
	ul.float5col2 > li:nth-child(2n+1), .tagBox ul.float5col2 > li:nth-child(2n+1) { float: left; clear: right; }
}

/* 6つ並びのリスト 999px以下で2列に */
ul.float6col2 > li,
.tagBox ul.float6col2 > li{
    list-style-type: none;
	width: calc((100% - 100px) / 6);
	float: left;
	margin: 0 20px 15px 0;
}
ul.float6col2 > li:nth-child(6n), .tagBox ul.float6col2 > li:nth-child(6n) {margin: 0 0 15px 0;}
ul.float6col2 > li:nth-child(6n+1), .tagBox ul.float6col2 > li:nth-child(6n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float6col2 > li,
    .tagBox ul.float6col2 > li{
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float6col2 > li:nth-child(6n), .tagBox ul.float6col2 > li:nth-child(2n) {margin:0 0 15px 0;}
    ul.float6col2 > li:nth-child(6n+1), .tagBox ul.float6col2 > li:nth-child(2n+1) {float: none;}
    
	ul.float6col2 > li:nth-child(2n), .tagBox ul.float6col2 > li:nth-child(2n) {float: right;}
	ul.float6col2 > li:nth-child(2n+1), .tagBox ul.float6col2 > li:nth-child(2n+1) {float: left; clear: right;}
}

/* 横並びリストの画像はPCでも自動で幅最大100%に設定 */
.tagBox ul.float2col1 img,
.tagBox ul.float3col1 img, .tagBox ul.float3col2 img,
.tagBox ul.float4col1 img, .tagBox ul.float4col2 img,
.tagBox ul.float5col1 img, .tagBox ul.float5col2 img,
.tagBox ul.float6col2 img,
ul.float2col1 img,
ul.float3col1 img, ul.float3col2 img,
ul.float4col1 img, ul.float4col2 img,
ul.float5col1 img, ul.float5col2 img,
ul.float6col2 img {
	max-width: 100%;
	height: auto;
}

/*横に並ぶ背景色付きのリスト*/
.tagBox ul.boxList1,
.tagBox ul.boxList2 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox ul.boxList1 li,
.tagBox ul.boxList2 li{
    list-style: none;
    margin: 0 10px 10px 0;  
    display: flex;
    align-items: center;
    background: #f5f5f5;
    padding: 15px 5px;
    border-radius: 5px;
    text-align: center;
    justify-content: center;
}
.tagBox ul.boxList1 li{width: calc((100% - 30px) / 4);}
.tagBox ul.boxList2 li{width: calc((100% - 30px) / 3);}
.tagBox ul.boxList1 li:nth-of-type(4n),
.tagBox ul.boxList2 li:nth-of-type(3n){margin-right: 0;}
@media only screen and (max-width:999px) {
    .tagBox ul.boxList1,
    .tagBox ul.boxList2 {
        display: block;
    }
    .tagBox ul.boxList1 li,
    .tagBox ul.boxList2 li{
        display: block;
        width: 100%;
        margin: 0 0 5px 0;
        padding: 10px 5px;
        background: none;
        border-bottom: 1px dotted #ccc;
    }
}

/* table ----------------------------------------------*/
.table1, .table1 td, .table1 th,
.tagBox table, .tagBox table td, .tagBox table th{
	border: 1px solid #ccc;
	box-sizing: border-box;
}
table caption {
	margin-bottom: 10px;
}
.table1,
.tagBox table{
	border-collapse: collapse;
	margin-bottom: 25px;
}
.table1 th, .table1 td,
.tagBox table th, .tagBox table td {
	padding: 10px;
}
.table1 th,
.tagBox table th {
	background-color: var(--color-sub-thin);
    vertical-align: middle;
}
.tdw {background: #fff;}
.td1 {background: var(--color-main-thin);}
.thw1 th {width: 180px;}

@media only screen and (max-width:999px) {
	/*639px以下で段組み解除*/
	.tableMw1 th, .tableMw1 td,
	.tagBox .tableMw1 th, .tagBox .tableMw1 td{
		display: block;
		border: none;
		width: 100%;
	}
    .thw1 th {width: 150px;}
	.tableMw1.thw1 th,
	.tagBox .tableMw1.thw1 th {width: 100%;}
}

/*テーブルスクロール*/
@media screen and (max-width: 999px) {
    /*ブレイクポイントは各自指定*/
	.scroll table {
		overflow: auto;
		white-space:normal;
		display:block;
		width:auto;
	}
	.scroll table tbody {
		width: 1000px;
		display:table;
	}
	/*スクロールバーを追加するCSS*/
	.scroll table::-webkit-scrollbar {height: 4px;}
	.scroll table::-webkit-scrollbar-track {background: #F1F1F1;}
	.scroll table::-webkit-scrollbar-thumb {background: #BCBCBC;}
	.scroll td,.scroll th{width:auto;}
}

/*見出しHタグ*/
.tagBox h2, .tagBox h3, .tagBox h4, .tagBox h5, .tagBox h6 {
	margin-bottom: 25px;
	font-weight: bold;
}
.tagBox h2 {
	font-weight: bold;
	font-size: 3.0rem;
	/*text-align: center;*/
	line-height: 1.5;
	margin-bottom: 15px;
	
	@media (width <= 999px) {
		font-size: 2.4rem;
	}
}
.tagBox h3 {
	font-weight: bold;
	font-size: 2.4rem;
	color: var(--color-main);
	margin-bottom: 15px;
	line-height: 1.5;
	
	@media (width <= 999px) {
		font-size: 2.0rem;
	}
}
.tagBox h4 {
	font-weight: bold;
	font-size: 2.0rem;
	color: #fff;
	background: var(--color-main);
	padding: 5px;
	line-height: 1.5;
	margin-bottom: 25px;
	
	@media (width <= 999px) {
		font-size: 1.8rem;
	}
}
.tagBox h5 {
	font-size: 1.8rem;
	position: relative;
	padding-left: 15px;
	
	&::before {
		content: "";
		display: block;
		width: 4px;
		height: 100%;
		border-radius: 2px;
		background: var(--color-main);
		position: absolute;
		top: 0;
		left: 0;
	}
}
.tagBox h6 {
	font-size: 1.7rem;
	color: var(--color-sub);
	padding-left: 20px;
	position: relative;
	
	&::before {
		font-family: var(--fa);
		font-weight: 900;
		content: "\f111";
		position: absolute;
		top: 2px;
		left: 0;
		font-size: 1.3rem;		
	}
}

@media only screen and (max-width:999px) {
	.tagBox h2 {
		font-size: 2.1rem;
	}
}

/*blockquote 引用専用*/
.tagBox blockquote {
	border: 1px solid #eee;
	margin-bottom: 25px;
	padding: 45px;
	position: relative;
	border-radius: 15px;
}
.tagBox blockquote::before,
.tagBox blockquote::after {
	font-family: var(--fa);
	font-weight: 900;
	position: absolute;
	color: #999;
	font-size: 2.8rem;
}
.tagBox blockquote::before {
	content: "\f10d";
	top: 5px;
	left: 10px;
}
.tagBox blockquote::after {
	content: "\f10e";
	right: 10px;
	bottom: 5px;
}
@media only screen and (max-width:999px) {
	.tagBox blockquote::before,
	.tagBox blockquote::after {
		font-size: 2.4rem;
	}
}

/* ------------------------
投稿出力一覧 
------------------------*/
.postList {
	margin-bottom: 50px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 50px 25px;
	
	@media (width <= 999px) {
		grid-template-columns: repeat(2, 1fr);
	}
	@media (width <= 767px) {
		display: block;
	}
	
	> li {
		@media (width <= 767px) {
			margin-bottom: 25px;
		}
		> section {
			display: grid;
			padding-bottom: 0;
			
			.postList-title {
				order: 2;
				
				h2, h3 {
					font-size: 1.6rem;
					margin-bottom: 15px;
					font-weight: bold;
					
					.newmark {
						color: var(--color-main);
						font-size: 1.4rem;
						display: inline-block;
						margin-left: 5px;
					}
				}
			}
			.postList-img {
				aspect-ratio: 16 / 9;
				overflow: hidden;
				order: 1;
				margin-bottom: 15px;

				img {
					display: block;
					object-fit: cover;
					width: 100%;
					height: 100%;
					transition: transform .6s ease;
				}
			}
			.postList-cat {
				order: 3;
				margin-bottom: 10px;
				font-size: 0;
				
				span {
					display: inline-block;
					font-size: 0;
					margin: 0 5px 5px 0;
					
					a {
						display: inline-block;
						font-size: 1.3rem;
						color: #fff;
						text-decoration: none;
						padding: 2px 5px;
					}
				}
				.postList-catLink {
					background: var(--color-main);
				}
				.postList-tagLink {
					background: var(--color-sub);
				}
			}
			.postList-excerpt {
				order: 4;
				font-size: 1.4rem;
			}
		}
	}
}

/* ------------------------------------------------------- */
/* page-nate --------------------------------------------- */
/* ------------------------------------------------------- */

div.pagenate {
	margin-top: 15px;
}
.pagenate span, .pagenate a {
	padding: 2px 5px;
}
.pagenate span {
	border: 1px solid #DDD;
}
div.wp-pagenavi {
	margin-top: 30px;
	padding: 15px 0;
	text-align: center;
}
.wp-pagenavi span, .wp-pagenavi a {
	background: #fff;
	border: 1px solid #ccc;
	margin: 2px 2px 2px 0;
	padding: 6px 9px 5px 9px;
	text-decoration: none;
	color: #000;
}
.wp-pagenavi span {
    background: #DDD;
}
.wp-pagenavi a:hover{
	background: #999;
	color: #fff;
}
@media only screen and (max-width:999px) {
	div.wp-pagenavi {
		padding: 0;
		font-size: 1.2rem;
		line-height: 300%;
	}
	.wp-pagenavi span, .wp-pagenavi a {
		padding: 6px 6px 5px 6px;
	}
}

/* ------------------------------------------------------- */
/* カレンダー -------------------------------------------- */
/* ------------------------------------------------------- */

#wp-calendar {
	border-collapse: collapse;
	border-top-width: 1px;
	border-right-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-top-color: #999;
	border-right-color: #999;
	width: 100%;
	margin-bottom: 15px;
	font-size: 1.2rem;
}
#wp-calendar thead tr th {
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-bottom-style: solid;
	border-left-style: solid;
	border-bottom-color: #999;
	border-left-color: #999;
}
#wp-calendar th {
	height: 20px;
	text-align: center;
}
#wp-calendar td {
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-bottom-style: solid;
	border-left-style: solid;
	border-bottom-color: #999;
	border-left-color: #999;
	height:20px;
	padding-top: 5px;
	text-align: center;
}
#wp-calendar #calendar-caption {
	font-weight: bold;
	text-align: center;
}
#calendar_wrap a {
	text-decoration: none;
	color: #CCC;
}
#wp-calendar #today {
	background-color: #CCC;
}
#wp-calendar #today a {
	color:#fff;
}
#calendar_wrap {
	position: relative;
}

#wp-calendar-pn {
	top: 5px;
	left: 0;
	width: 250px;
	margin-left: 35px;
	position: absolute;
}
#prev{
	margin-left: 20px;
	float: left;
}
#next{
	margin-right: 20px;
	float: right;
}
#wp-calendar .pad {
	color: #FFCCFF;
}

/* ------------------------------------------------------- */
/* 検索ボックス ------------------------------------------ */
/* ------------------------------------------------------- */
.searchform{
	position: relative;
}
form input.searchfield { 
	padding: 12px;
	width: 100%;
	border-radius: 24px;
	border: 1px solid #ccc;
	margin-bottom: 30px;
}
form input.searchsubmit { 
	width: 35px;
	height: 35px;
	padding: 0;
	font-family: var(--fa);
	font-weight: 900;
	font-size: 20px; 
	border: none;
	background: transparent;
	cursor: pointer;
	position: absolute;
	top: 3px;
	right: 3px;
	color: #635d49;
}

/* ------------------------------------------------------- */
/* YouTube ----------------------------------------------- */
/* ------------------------------------------------------- */
/* <div class="youtube"> で埋め込みコードを囲む */

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 20px;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
/*.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 20px;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}*/