@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 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: #605a90;
}
a:hover {
	color: #333;
}
:where([id], :focus) {
    scroll-margin-top: var(--size-header-height);
}

/*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;
    font-size: 1.1rem;
}
#container a[target="_blank"].noExternal::after { display: none; }

/* ボタン用 */
.buttonLink1, .buttonLink2 {
	overflow: hidden;
	margin: 0 auto 25px;
	padding: 0;
	border-radius:6px;
	text-align:center;
}
.buttonLink1 a, .buttonLink2 a {
	display: block;
	position: relative;
	color: #fff;
	text-decoration: none;
	padding: 10px 30px 10px 5px;
}
.buttonLink1 a {background: var(--color-main);}
.buttonLink2 a {background: var(--color-main2);}
.buttonLink1 a:hover {background: var(--color-main-light);}
.buttonLink2 a:hover {background: var(--color-main2-light);}
.buttonLink1 a::before, .buttonLink2 a::before {
	font-family: var(--fa);
	font-weight: 900;
	content: "\f138";
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -17px;
	color: #fff;
	font-size: 2.0rem;
}

/*もっとみる*/
.linkMore1 {
	text-align: center;
    margin-bottom: 25px;
}
.linkMore1 a {
	display: inline-block;
	border: 1px solid #ccc;
	padding: 10px 50px 10px 25px;
	position: relative;
	text-decoration: none;
	border-radius: 10px;
    background: rgba(255,255,255,0.3);
    transition: all 0.3s ease;
}
.linkMore1 a:hover {background: rgba(255,255,255,0.8);}
.linkMore1 a::before {
	font-family: var(--fa);
	font-weight: 900;
	content: "\f101";
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

/*アンカーリンク用*/
.anchor::before {
   content:"";
   display:block;
   height:130px;
   margin:-130px 0 0;
}
@media only screen and (max-width:999px) {
	.anchor::before {
	   content:"";
	   display:block;
       height:80px;
       margin:-80px 0 0;
	}
}

/*ページ内リンクリスト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: #f5f5f5;
    text-align: center;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #000;
}
.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;
}
.tagBox .pageLinkList1 li a:hover {
    background: var(--color-main-thin);
}
@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: #f5f5f5;
    text-align: center;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #000;
}
.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;
}
.tagBox .pageLinkList2 li a:hover {
    background: var(--color-main-thin);
}
@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: #ffefcf;
}
.box3 {
	background: #eef6ed;
}
@media only screen and (max-width:999px) {
    .box1, .box2, .box3 {
        padding: 20px;
    }
}

/*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 左右50%*/
/*flexBox2 左260px*/
/*flexBox3 右260px*/
/*flexBox4 均等3つ並び*/
/*flexBox5 左355px*/
/*flexBox6 右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;
    }
}

/* 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: 1000px;
	margin: var(--size-header-height) 0 0 0;
	overflow: hidden;
}
@media only screen and (max-width:999px) {
	.topContents {
		min-width: 100px;
	}
}

/* pagetitle navi ----------------------------------------------*/
.pageTitle {
	background: #f5f5f5;
	padding: 25px 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.5rem;
}
.breadcrumbs {
	font-size: 1.3rem;
	max-width: var(--size-content-max-width);
    min-width: var(--size-content-min-width);
	margin: 0 auto 15px;
}
.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;
    }
}

/* ------------------------------------------------------- */
/* 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,
ul.d-circle,
.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) ") ";
}

/* dubble circle */
ul.d-circle li {
    list-style-type: none;
	margin: 0 0 10px 0;
}
ul.d-circle li::before {
	content: "◎";
    margin-right: 5px;
}

/* 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";
        }
    }
}


/*リストの飾り不要時*/
.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: #f5f5f5;
    vertical-align: middle;
}
.tdw {background: #fff;}
.td1 {background: #dcf5fd;}
.td2 {background: #eef6ed;}
.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;}
.tagBox h2 {
    border-bottom: 4px solid #f0f0f0;
    padding-bottom: 10px;
	font-size: 3rem;
    font-weight: bold;
    position: relative;
    &::after {
        content: "";
        background: var(--color-main-deep);
        width: 150px;
        height: 4px;
        position: absolute;
        left: 0;
        bottom: -3px;
        display: block;
    }
}
.tagBox h3 {
    background: #f1f8ff;
    border-left: solid 60px var(--color-main);
    padding: 7px 17px 7px 20px;
	font-size: 2.4rem;
    position: relative;
}
.tagBox h3:before {
    font-family: var(--fa);
    content: "\f0d1";
    position: absolute;
    padding: 0em;
    color: #fff;;
    font-weight: 900;
    left: -43px;
    top: 50%;
    transform: translateY(-50%);
}

.tagBox h4 {
    background: #f1f1f1;
    border-left: 4px solid var(--color-main-light);
    padding: 7px 15px;
	font-size: 2rem;
    font-weight: bold;
}
.tagBox h5 {
    border-bottom: 2px dotted #000;
    padding-bottom: 10px;
	font-size: 1.8rem;
    font-weight: bold;
}
.tagBox h6 {
	font-size: 1.6rem;
    font-weight: bold;
}

@media only screen and (max-width:999px) {
	.tagBox h2 {
		font-size: 2.1rem;
	}
    .tagBox h3 {
		font-size: 1.8rem;
	}
    .tagBox h4 {
		font-size: 1.7rem;
	}
}

/*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;
	}
}

/* ------------------------------------------------------- */
/* 共通リストお知らせ用（テキスト） ---------------------- */
/* ------------------------------------------------------- */
.newsList1 {
	margin-bottom:30px;
}
/*ul版*/
.newsList1 li{
    border-bottom:1px dotted #ccc;
	margin-bottom:10px;
	padding-bottom:10px;
    display: flex;
    &:last-child {
        border-bottom: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }
}
.newsList1Date {
    width: 140px;
    color: #666;
}
.newsList1Date::before {
    font-family: var(--fa);
    font-weight: 400;
    content: "\f073";
    margin-right: 5px;
    color: #999;
}
.newsList1Title {
    width: calc(100% - 140px);
}
@media only screen and (max-width:999px) {
    .newsList1 li{
        margin-bottom:10px;
        padding-bottom:10px;
        flex-wrap: wrap;
    }
    .newsList1Date {
        width: 50%;
        font-size: 1.3rem;
        margin-bottom: 5px;
    }
    .newsList1Title {
        width: 100%;
        padding-left: 0;
    }
}

/* ------------------------------------------------------- */
/* 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%;
}*/