@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;
}

/*blank用ポイント付*/
#container a[target="_blank"]::after,
.externalLink::after {
	font-family: var(--fa);
	content: "\f35d";
    font-size: 1.1rem;
	font-weight: 900;
    margin-left: 5px;
    margin-right: 5px;
    display: inline-block;
}
#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 5px;
}
.buttonLink1 a {background: var(--color-main);}
.buttonLink2 a {background: var(--color-blue);}
.buttonLink1 a:hover {background: var(--color-main-light);}
.buttonLink2 a:hover {background: var(--color-blue-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:145px;
   margin:-145px 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:hover {
    background: var(--color-main-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: #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:hover {
    background: var(--color-main-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 {
	border: 1px solid #ccc;
}
.box2 {
	background: var(--color-main-thin);
}
.box3 {
	background: #eef6ed;
}

@media only screen and (max-width:999px) {
    .box1, .box2, .box3 {
        padding: 10px;
    }
}

/*container 幅固定用box*/
/*
.contentsBox1：スマートフォンで幅100%＋左右余白なし
.contentsBox2：スマートフォンで幅100%＋左右余白あり
*/
.contentsBox1,
.contentsBox2 {
	max-width: 1115px;
	min-width: 1000px;
	margin:0 auto;
}
@media only screen and (max-width:999px) {
	.contentsBox1,
	.contentsBox2 {
		width:100%;
		min-width: 100px;
	}
	.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: var(--size-content-min-width);
	margin: var(--size-header-height) 0 0 0;
	overflow: hidden;
}

/* pagetitle navi ----------------------------------------------*/
.pageTitle {
	background: #f5f5f5;
	padding: 25px 0;
	margin-bottom: 15px;
}
.pageTitle h1 {
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto;
	font-size: 2.5rem;
}
.breadcrumbs {
	font-size: 1.3rem;
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto 15px;
}
.breadcrumbs br {display: none;}

@media only screen and (max-width:999px) {
	.pageTitle {
		padding:15px;
		margin-bottom: 5px;
	}
	.pageTitle h1 {
		width: 100%;
		min-width: 100px;
		margin: 0 auto;
		font-size: 2.3rem;
	}
	.breadcrumbs {
		width: 100%;
		min-width: 100px;
		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;
}
body.publication #pageTop {
    bottom: 60px;
}
#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 ----------------------------------------------*/
#main {
    ul.ul1, ol.ol1,
    ol.bracket1, ol.bracket2,
    ol.alphabet1, ol.alphabet2,
    ul.float2col1,
    ul.float3col1, ul.float3col2,
    ul.float4col1, ul.float4col2,
    ul.float5col1, ul.float5col2,
    ul.float6col2 {
        margin-bottom: 25px;
        overflow: hidden;
    }

    /*デフォルト*/
    ul, ol {
        margin-bottom: 25px;
        overflow: hidden;
    }
    ul li,
    ul.ul1 li {
        list-style-type: disc;
        margin: 0 0 10px 20px;
    }
    ol li,
    ol.ol1 li {
        list-style-type: decimal;
        margin: 0 0 10px 30px;
    }
    ul li ul {
        margin-bottom: 0;
    }
    ul 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.listNonStyle li {
        list-style-type: none;
        margin: 0 0 10px 0;
    }

    /* 2つ並びのリスト 999px以下で1列に */
    ul.float2col1 > li{
        list-style-type: none;
        width: calc((100% - 25px) / 2);
        float: left;
        margin: 0 24.9px 15px 0;
    }
    ul.float2col1 > li:nth-child(odd) {clear: left;}
    ul.float2col1 > li:nth-child(even) {margin-right: 0;}
    @media only screen and (max-width:999px) {
        ul.float2col1 > li{
            width: 100%;
            float: none;
            margin: 0 0 15px 0;
        }
    }

    /* 3つ並びのリスト 999px以下で1列に */
    ul.float3col1 > li{
        list-style-type: none;
        width: calc((100% - 50px) / 3);
        float: left;
        margin: 0 24.9px 15px 0;
    }
    ul.float3col1 > li:nth-child(3n) {margin-right: 0;}
    ul.float3col1 > li:nth-child(3n+1) {clear: left;}
    @media only screen and (max-width:999px) {
        ul.float3col1 > li{
            width: 100%;
            float: none;
            margin: 0 0 15px 0;
        }
    }

    /* 3つ並びのリスト 999px以下で1列に Flex版 */
    ul.float3col2 {
        display: flex;
        flex-wrap: wrap;
    }
    ul.float3col2 > li{
        list-style-type: none;
        width: calc((100% - 50px) / 3);
        margin: 0 24.9px 15px 0;
    }
    ul.float3col2 > li:nth-child(3n) {margin-right: 0;}

    @media only screen and (max-width:999px) {
        ul.float3col2 > li{
           width: calc((100% - 15px) / 2);
            float: none;
            margin: 0 0 15px 0;
        }
        ul.float3col2 li:nth-child(3n) {margin:0 0 15px 0;}

        ul.float3col2 li:nth-child(2n) {float: right; margin-left: 15px;}
        ul.float3col2 li:nth-child(2n+1) {float: left; clear: right;}
    }

    /* 4つ並びのリスト 999px以下で1列に */
    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) {margin: 0 0 15px 0;}
    ul.float4col1 > li:nth-child(4n+1) {clear: left;}
    @media only screen and (max-width:999px) {
        ul.float4col1 > li {
            width: 100%;
            float: none;
            margin: 0 0 15px 0;
        }
    }

    /* 4つ並びのリスト 999px以下で2列に */
    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) {margin: 0 0 15px 0;}
    ul.float4col2 > li:nth-child(4n+1) {clear: left;}
    @media only screen and (max-width:999px) {
        ul.float4col2 > li{
           width: calc((100% - 15px) / 2);
            float: none;
            margin: 0 0 15px 0;
        }
        ul.float4col2 > li:nth-child(4n) {margin:0 0 15px 0;}
        ul.float4col2 > li:nth-child(4n+1) {float: none;}

        ul.float4col2 > li:nth-child(2n) {float: right;}
        ul.float4col2 > li:nth-child(2n+1) {float: left; clear: right;}
    }

    /* 5つ並びのリスト 999px以下で1列に */
    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) { margin: 0 0 15px 0; }
    ul.float5col1 > li:nth-child(5n+1) { clear: left; }
    @media only screen and (max-width:999px) {
        ul.float5col1 > li{
            width: 100%;
            float: none;
            margin: 0 0 15px 0;
        }
    }

    /* 5つ並びのリスト 999px以下で2列に */
    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) { margin: 0 0 15px 0; }
    ul.float5col2 > li:nth-child(5n+1) { clear: left; }
    @media only screen and (max-width:999px) {
        ul.float5col2 > li {
           width: calc((100% - 15px) / 2);
            float: none;
            margin: 0 0 15px 0;
        }
        ul.float5col2 > li:nth-child(5n) { margin:0 0 15px 0; }
        ul.float5col2 > li:nth-child(5n+1) { float: none; clear: unset; }

        ul.float5col2 > li:nth-child(2n) { float: right; }
        ul.float5col2 > li:nth-child(2n+1) { float: left; clear: right; }
    }

    /* 6つ並びのリスト 999px以下で2列に */
    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) {margin: 0 0 15px 0;}
    ul.float6col2 > li:nth-child(6n+1) {clear: left;}
    @media only screen and (max-width:999px) {
        ul.float6col2 > li{
           width: calc((100% - 15px) / 2);
            float: none;
            margin: 0 0 15px 0;
        }
        ul.float6col2 > li:nth-child(2n) {margin:0 0 15px 0;}
        ul.float6col2 > li:nth-child(2n+1) {float: none;}
        ul.float6col2 > li:nth-child(2n) {float: right;}
        ul.float6col2 > li:nth-child(2n+1) {float: left; clear: right;}
    }

    /* 横並びリストの画像はPCでも自動で幅最大100%に設定 */
    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;
    }

    /*横に並ぶ背景色付きのリスト*/
    ul.boxList1,
    ul.boxList2 {
        display: flex;
        flex-wrap: wrap;
    }
    ul.boxList1 li,
    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;
    }
    ul.boxList1 li{width: calc((100% - 30px) / 4);}
    ul.boxList2 li{width: calc((100% - 30px) / 3);}
    ul.boxList1 li:nth-of-type(4n),
    ul.boxList2 li:nth-of-type(3n){margin-right: 0;}
    @media only screen and (max-width:999px) {
        ul.boxList1,
        ul.boxList2 {
            display: block;
        }
        ul.boxList1 li,
        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,
table, table td, table th{
	border: 1px solid #ccc;
	box-sizing: border-box;
}
table caption {
	margin-bottom: 10px;
}
.table1, table{
	border-collapse: collapse;
	margin-bottom: 25px;
}
.table1 th, .table1 td,
table th, table td {
	padding: 10px;
}
.table1 th,
table th {
	background-color: var(--color-orange-light);
    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{
		display: block;
		border: none;
		width: 100%;
	}
    .tableMw1 th {
        text-align: left;
    }
    .thw1 th {width: 150px;}
	.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タグ*/
:not(body.en) {
    .tagBox h2, .tagBox h3, .tagBox h4, .tagBox h5, .tagBox h6 {
        margin-bottom: 25px;
        font-weight: bold;
    }
    .tagBox h2 {
        margin-bottom: 35px;
        padding: 0 0 0 20px;
        font-size: 3rem;
        position: relative;
        color: var(--color-main-deep);
        &::before {
            content: "";
            display: block;
            width: 5px;
            height: 100%;
            background: var(--color-main-deep);
            position: absolute;
            left: 0;
            top: 3px;
        }
    }
    .tagBox h3 {
        border-bottom: 3px solid;
        border-image: linear-gradient(to right,var(--color-main),var(--color-orange)) 1;
        padding-bottom: 5px;
        font-size: 2.3rem;
        color: #333;
    }
    .tagBox h4 {
        background: var(--color-main-thin);
        padding: 8px 20px;
        font-size: 2rem;
        color: var(--color-main-deep);
        position: relative;
        overflow: hidden;
        &::before {
            background: var(--color-main);
            top: 0;
            left: 0;
            width: 5px;
            height: 100%;
            content: "";
            display: block;
            position: absolute;
        }
    }
    .tagBox h5 {
        border-bottom: 1px dotted #333;
        padding-bottom: 10px;
        font-size: 1.8rem;
    }
    .tagBox h6 {
        font-size: 1.7rem;
    }
}
@media only screen and (max-width:999px) {
}
body.en #main {
    h2, h3, h4, h5, h6 {
        margin-bottom: 25px;
        font-weight: bold;
    }
    h2 {
        margin-bottom: 25px;
        font-size: 3.2rem;
        font-weight: bold;
    }
    h3 {
        margin-bottom: 35px;
        padding: 0 0 0 20px;
        font-size: 3rem;
        position: relative;
        color: var(--color-main-deep);
        &::before {
            content: "";
            display: block;
            width: 5px;
            height: 100%;
            background: var(--color-main-deep);
            position: absolute;
            left: 0;
            top: 3px;
        }
    }
    h4 {
        border-bottom: 3px solid;
        border-image: linear-gradient(to right,var(--color-main),var(--color-orange)) 1;
        padding-bottom: 5px;
        font-size: 2.3rem;
        color: #333;
    }
    h5 {
        background: var(--color-main-thin);
        padding: 8px 20px;
        font-size: 2rem;
        color: var(--color-main-deep);
        position: relative;
        overflow: hidden;
        &::before {
            background: var(--color-main);
            top: 0;
            left: 0;
            width: 5px;
            height: 100%;
            content: "";
            display: block;
            position: absolute;
        }
    }
    h6 {
        border-bottom: 1px dotted #333;
        padding-bottom: 10px;
        font-size: 1.8rem;
    }
}

/*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: 0 0 10px 0!important;
	padding-bottom:10px;
    display: flex;
    gap: 20px;
    &:last-child {
        border-bottom: 0;
        margin-bottom: 0!important;
        padding-bottom: 0;
    }
}
.newsList1Thumb {
    width: 110px;
    img {
        vertical-align: bottom;
    }
}
.newsList1Content {
    width: calc(100% - 110px);
}
.newsList1Date {
    font-size: 1.3rem;
    color: #666;
    display: inline-block;
}
.newsList1Date::before {
    font-family: var(--fa);
    font-weight: 400;
    content: "\f073";
    margin-right: 5px;
    color: #999;
}
.newsList1Title {
    width: 100%;
    margin-top: 5px;
}
.newsList1Cate {
    display: inline-block;
    a {
        border-radius: 500px;
        display: block;
        background: #ccc;
        font-size: 1.2rem;
        text-decoration: none;
        color: #fff;
        margin-right: 10px;
        padding: 1px 20px 3px 20px;
        text-align: center;
        &.cat_info {
            background: var(--color-red);
            &:hover {
                background: var(--color-red-deep);
            }
        }
        &.cat_convention {
            background: var(--color-blue);
            &:hover {
                background: var(--color-blue-deep);
            }
        }
        &.cat_journal {
            background: var(--color-main);
            &:hover {
                background: var(--color-main-deep);
            }
        }
        /*&.cat_standards {
            background: var(--color-orange);
            &:hover {
                background: var(--color-orange-deep);
            }
        }*/
    }
}

@media only screen and (max-width:999px) {
    .newsList1 {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    .newsList1 li {
        width: calc((100% - 10px) / 2);
        margin-bottom:10px;
        padding-bottom:10px;
        display: block;
    }
    .newsList1Thumb {
        width: 100%;
        margin-bottom: 15px;
    }
    .newsList1Content {
        width: 100%;
    }
    .newsList1Date {
        margin-bottom: 5px;
    }
    .newsList1Cate {
        margin-bottom: 5px;
    }
    .newsList1Title {
        width: 100%;
        padding-left: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* ------------------------------------------------------- */
/* 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%;
}*/