@charset "utf-8";
/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
 
/*行の高さをフォントサイズと同じにしています*/
body {
  line-height:1;
}
 
/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}
 
/*nav要素内ulのマーカー（行頭記号）を表示しないようにしています*/
ol, ul {
  list-style:none;
}
 
/*引用符の表示が出ないようにしています*/
blockquote, q {
  quotes:none;
}
 
/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}
 
/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
 
/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}
 
/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}
 
/*テキストに打ち消し線が付くようにしています*/
del {
  text-decoration: line-through;
}
 
/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}
 
/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
  border-collapse:collapse;
  border-spacing:0;
}
 
/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}
 
/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
  vertical-align:middle;
}

img {
  vertical-align: top;
  font-size:0;
  line-height: 0;
}

/* 余白設定・クリアフィックス */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
* html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/* レイアウト */
html {
    font-size: 100px; /* 1rem = 100pxと定義 */
    overflow: auto;
}
body {
    min-width: 11.4rem;
    line-height: 1.6em;
    color: #454545;
    font-family: "Noto Sans JP", sans-serif;
    font-size: .16rem;
    font-optical-sizing: auto;
    font-weight: 400;
    text-align: justify;
    word-break: break-all;
    text-justify: inter-character;
    font-style: normal;
    overflow: hidden;
}
img { max-width: 100%; }
a,
a:visited {
    color: #454545;
    text-decoration: none;
}
a:hover,
a:hover * {
    opacity: .8;
    transition: .6s;
}
p {
    line-height: 2.125em;
}
.mb40 {
    margin-bottom: .4rem;
}

/* グローバルCSS変数 */
:root {
    --color-blue: #37a5d5;
    --color-blue_light: #bfe3f1;
    --color-gray: #454545;
    --color-gray_light: #efefef;
    --color-border: #b6b6b6;
    --color-orange: #e5a549;
}

/* 共通設定 */
.sp-only,.sptab-only {
    display: none !important;
}
.pc-only {
    display: inherit;
}
a.totop {
    width: .48rem;
    height: .48rem;
    background: var(--color-gray);
    border-radius: .1rem;
    color: #fff;
    font-size: 1em;
    line-height: .48rem;
    text-align: center;
    display: block;
    position: fixed;
    bottom: .36rem;
    right: .3rem;
    z-index: 9999;
}

/* ヘッダー */
header.sitehdr {
    width: 100%;
    height: .8rem;
    padding: .2rem .34rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    z-index: 999;
}
header.scroll,
header.sitehdr:hover {
    background: rgba(255,255,255,.4);
    backdrop-filter: blur(.2rem);
    transition: .6s;
}
header.sitehdr .sitelogo {
    width: 3.35rem;
}
header.sitehdr .sitelogo a {
    width: 100%;
    height: .8rem;
    background: url("images/sitelogo.png") left center no-repeat;
    background-size: 100% auto;
    text-indent: -9999px;
    display: block;
}
#global-sp {
    display: none;
}
#global ul#primary-menu>li {
    height: .2rem;
    margin-right: .15rem;
    display: inline-block;
    position: relative;
    z-index: 999;
}
#global ul#primary-menu>li:hover {
    cursor: pointer;
}
/*
#global ul#primary-menu>li::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: -.2rem;
}
*/
#global ul#primary-menu>li.search:hover::after {
    left: -.6rem;
}
#global ul#primary-menu>li>a {
    font-size: .875em;
    line-height: .4rem;
}
#global ul#primary-menu>li:hover>a,
#global ul#primary-menu>li>a.current {
    color: var(--color-blue);
    opacity: 1;
}
#global ul#primary-menu>li:last-child {
    margin-right: 0;
}
#global ul#primary-menu>li:last-child>a {
    width: .4rem;
    height: .4rem;
    background: url("images/icon-search.png") center center no-repeat, var(--color-gray);
    border-radius: 100vh;
    text-indent: -9999px;
    display: block;
}
#global ul#primary-menu>li>ul.sub-menu {
    width: 100vw;
    height: 2.4rem;
    padding: .46rem .6rem .16rem calc(40% + .6rem);
    transition: .6s;
    display: none;
    flex-wrap: wrap;
    position: fixed;
    left: 0;
    right: 0;
    top: .5rem;
    z-index: 999;
}
#global ul#primary-menu>li:hover>ul.sub-menu {
    /* display: flex; */
    column-count: 2;
    column-gap: .16rem;
    /*display: block;*/
}
#global ul#primary-menu>li:hover>ul.sub-menu.active {
    display: block;
}
#global ul#primary-menu>li>ul.sub-menu::before {
    font-family: "Roboto", serif;
    font-weight: 700;
    font-size: 2.5em;
    line-height: 1em;
    color: #C2D6DF;
    position: absolute;
    top: calc(50% + .3rem);
    transform: translateY(-50%) rotate(-90deg);
    z-index: 9999;
}
#global ul#primary-menu>li:nth-child(1)>ul.sub-menu::before {
    content: 'Information';
    left: -.6rem;
}
#global ul#primary-menu>li:nth-child(2)>ul.sub-menu::before {
    content: 'Activities';
    left: -.4rem;
}
#global ul#primary-menu>li:nth-child(3)>ul.sub-menu::before {
    content: 'Support';
    left: -.24rem;
}
#global ul#primary-menu>li:nth-child(4)>ul.sub-menu::before {
    content: 'Local Work';
}
#global ul#primary-menu>li:nth-child(5)>ul.sub-menu::before {
    content: 'About Us';
    left: -.3rem;
}
#global ul#primary-menu>li>ul.sub-menu::after {
    padding-right: 1rem;
    border-right: .02rem dotted var(--color-border);
    font-weight: 500;
    font-size: 2.5em;
    line-height: 1.8rem;
    text-align: right;
    color: var(--color-blue);
    position: absolute;
    top:  calc(50% + .3rem);
    right: 60%;
    transform: translateY(-50%);
    z-index: 9999;
}
#global ul#primary-menu>li:nth-child(1)>ul.sub-menu::after {
    content: 'インフォメーション';
}
#global ul#primary-menu>li:nth-child(2)>ul.sub-menu::after {
    content: '主な活動・事業';
}
#global ul#primary-menu>li:nth-child(3)>ul.sub-menu::after {
    content: 'くらしのサポート';
}
#global ul#primary-menu>li:nth-child(4)>ul.sub-menu::after {
    content: '地方の取り組み';
}
#global ul#primary-menu>li:nth-child(5)>ul.sub-menu::after {
    content: '中央労福協';
}
#global ul#primary-menu>li>ul.sub-menu>li {
    /* width: calc(100% / 2); */
    padding-left: .16rem;
    margin-bottom: .2rem;
    background: url("images/icon-list.png") 0 .12rem no-repeat;
    break-inside: avoid;
}
#global ul#primary-menu>li>ul.sub-menu>li:hover>a,
#global ul#primary-menu>li>ul.sub-menu>li:hover>a.current,
#global ul#primary-menu>li>ul.sub-menu>li>ul.sub-menu>li:hover a,
#global ul#primary-menu>li>ul.sub-menu>li>ul.sub-menu>li:hover a.current {
    color: var(--color-blue);
}
#global ul#primary-menu>li>ul.sub-menu>li>ul.sub-menu {
    display: block;
}
#global ul#primary-menu>li>ul.sub-menu>li>ul.sub-menu>li {
    font-size: .875em;
    display: inline;
}
#global ul#primary-menu>li>ul.sub-menu>li>ul.sub-menu>li::after {
    content: '／';
}
#global ul#primary-menu>li>ul.sub-menu>li>ul.sub-menu>li:last-child::after {
    content: '';
}
#global ul#primary-menu>li.search>div.sub-menu {
    width: 6.4rem;
    height: 1.4rem;
    padding: 0;
    position: absolute;
    top: 100%;
    left: -6rem;
    display: none;
}
#global ul#primary-menu>li.search:hover>div.sub-menu {
    display: block;
}
#global ul#primary-menu>li.search>div.sub-menu form {
    padding-top: .6rem;
}
#global ul#primary-menu>li.search>div.sub-menu input[type="submit"] {
    width: .8rem;
    height: .48rem;
    background: var(--color-gray);
    border: none;
    color: #fff;
    text-align: center;
    font-size: 1em;
    line-height: .48rem;
    cursor: pointer;
}
#global ul#primary-menu>li.search>div.sub-menu input[type="text"],
#global ul#primary-menu>li.search>div.sub-menu input[type="text"]:focus,
#global ul#primary-menu>li.search>div.sub-menu input[type="text"]:focus-visible {
    width: calc(100% - .88rem);
    background: none;
    border: none;
    outline: none;
    border-bottom: 1px solid #454545;
    line-height: .48rem;
    font-size: 1em;
    color: var(--color-gray);
}
#global ul#primary-menu>li.search>div.sub-menu input[type="text"]:autofill {
    left: 0 !important;
    bottom: 0 !important;
    top: inherit;
}


/* 本文共通 */
body {
    background: #f9f8f3;    
}
main {
    padding-bottom: .01rem;
}
body:not(.home) main {
    margin-top: .8rem;
    margin-bottom: 1rem;
    background: url("images/top/bg-undermain.png") center top no-repeat;    
}
.wrapper {
    width: 11.4rem;
    margin-left: auto;
    margin-right: auto;
}
body:not(.home) .wrapperS,
.wrapperL-bg .innerBox {
    width: 11.4rem;
    margin-left: auto;
    margin-right: auto;
    padding: .6rem;
    background: #fff;
    border-radius: .1rem;
    box-shadow: 0 0 .34rem 0 rgba(0,0,0,.05);
    position: relative;
}
.wrapperL-bg .innerBox {
    margin: .5rem auto;
}
.wrapperL-bgNone .innerBox {
    width: 11.4rem;
    margin-left: auto;
    margin-right: auto;
}
[class^="wrapperL"] {
    width: 100%;
}
.wrapperL-bgNone {
    background: none;
    position: relative;
}
.wrapperL-bg {
    padding: .8rem 0;
    background: radial-gradient(at top left, rgba(160,212,190,.6), transparent), radial-gradient(at top right, rgba(177,210,239,.6), transparent), radial-gradient(at bottom left, rgba(141,161,193,.6), transparent), radial-gradient(at bottom right, rgba(116,195,159,.6), transparent);
    position: relative;
}
body:not(.home) main section {
    margin-top: 1rem;
    margin-bottom: 1rem;
}
body:not(.home) main section:first-of-type {
    margin-top: 0;
}
body:not(.home) main section:last-of-type {
    margin-bottom: 0;
}
body:not(.home) main h1.pagetitle {
    width: 11.4rem;
    padding-top: .4rem;
    margin: 0 auto .8rem;
    font-size: 3em;
    text-align: center;
    font-weight: 400;
    line-height: 1.2em;
}
body:not(.home) main h1.pagetitle>span {
    margin-bottom: .2rem;
    font-size: .3333em;
    line-height: 1em;
    color: var(--color-blue);
    display: block;
}
/*body:not(.home) main h2.h2-01 {
    padding-left: .1rem;
    margin-bottom: .3rem;
    border-left: var(--color-blue) .02rem solid;
    font-size: 2em;
    line-height: 1.4em;
    font-weight: 400;
    letter-spacing: -.05em;
}*/
body:not(.home) main h2 {
    margin: .4rem 0;
    font-size: 2em;
    font-weight: 400;
    line-height: 1.4em;
    text-align: left;
    position: relative;
}
body:not(.home) main h2.pagesubtitle::before,
body:not(.home) main h2.pagesubtitle::after,
body:not(.home) main h2.h2-01::before,
body:not(.home) main h2.h2-01::after {
    content: '';
    height: .04rem;
    display: block;
    position: absolute;
    left: 0;
    bottom: -.12rem;
}
body:not(.home) main h2.pagesubtitle::before,
body:not(.home) main h2.h2-01::before {
    width: 100%;
    background: var(--color-gray_light);
}
body:not(.home) main h2.pagesubtitle::after,
body:not(.home) main h2.h2-01::after {
    width: .8rem;
    background: var(--color-blue_light);
}
body:not(.home) main h2.h2-02 {
    margin: 0 auto .55rem;
    font-weight: 500;
    text-align: center;
}
body:not(.home) main h2.h2-02 span {
    font-size: .75em;
    display: block;
}
body:not(.home):not(.single) main h3 {
    margin: .48rem 0 .32rem;
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1.2em;
    text-align: left;
}
body:not(.home) main h3.h3-01 {
    padding-left: .32rem;
    position: relative;
}
body:not(.home) main h3.h3-01::before,
body:not(.home) main h3.h3-01::after {
    content: '';
    width: .16rem;
    height: .16rem;
    display: block;
    position: absolute;
}
body:not(.home) main h3.h3-01::before {
    background: rgba(230,120,112,.5);
    border-radius: 100vh;
    left: .07rem;
    top: .12rem;
}
body:not(.home) main h3.h3-01::after {
    background: rgba(55,165,213,.5);
    left: 0;
    top: .04rem;
}
body:not(.home) main h4 {
    margin: .48rem 0 .32rem;
    font-size: 1.375em;
    font-weight: 500;
    line-height: 1.2em;
    text-align: left;
    position: relative;
}
body:not(.home) main h5 {
    margin: .48rem 0 .32rem;
    font-size: 1.25em;
    font-weight: 500;
}
/* 本文中の画像 */
figure.img1col {
    margin: .6rem auto;
    text-align: center;
}
figure.img1col>img {
    width: auto;
    max-width: 100%;
    height: auto;
}
/* 左／右に画像のブロック */
.imageblock {
    display: flex;
    justify-content: space-between;
}
.imageblock .textblock {
    width: 4.8rem;
}
.imageblock figure {
    width: 4.6rem;
    border-radius: .2rem;
}
.imageblock figure img {
    object-fit: cover;
}
.imageblock.img-r .textblock {
    order: 1;
}
.imageblock.img-r figure {
    order: 2;
}
.imageblock.img-l .textblock {
    order: 2;
}
.imageblock.img-l figure {
    order: 1;
}
/* 画像付き一覧 */
.list-archive {
    margin: .4rem auto;
    display: flex;
    flex-wrap: wrap;
    gap: .24rem;
}
.list-archive article {
    width: 2.67rem;
}
.list-archive article figure {
    width: 100%;
    height: 1.8rem;
    border-radius: .1rem;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.list-archive article.newsletter figure {
    align-items: flex-start;
}
.list-archive article figure img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.list-archive article .date {
    font-size: .875em;
    font-weight: 700;
    line-height: .26rem;
}
.list-archive article .categorylist {
    text-align: left;
}
.list-archive article .categorylist [class^=category] {
    width: auto;
    padding: .02rem .08rem .03rem;
    margin-right: .04rem;
    font-size: .75em;
    white-space: nowrap;
}
.list-archive article .categorylist .category01 {
    background: #bcdeea;
}
.list-archive article .categorylist .category02 {
    background: #efcf9e;
}
.list-archive article .categorylist .category03 {
    background: #cedbd7;
}
.list-archive article .categorylist .category04 {
    background: #e9c9c8;
}
.list-archive article h1 {
    margin-bottom: .12rem;
    font-weight: 400;
    line-height: 1.2em;
}
.list-archive>div {
    width: 100%;
}
/*画像付き一覧上部のタブ*/
.list-archive-tab .categoryselect {
    width: 100%;
    height: .64rem;
    padding: .12rem;
    margin: .4rem auto;
    background: #fff;
    border-radius: 100vh;
    display: flex;
    gap: .08rem;
    justify-content: space-between;
}
.list-archive-tab .categoryselect li {
    width: auto;
    min-width: calc(100% / 5 - .08rem);
}
.list-archive-tab .categoryselect li a {
    height: .4rem;
    background: var(--color-gray_light);
    border-radius: 100vh;
    line-height: .4rem;
    text-align: center;
    display: block;
}
.list-archive-tab .categoryselect li a.current {
    background: var(--color-blue);
    color: #fff;
    font-weight: 700;
}
.list-archive-tab .newslist {
    display: none;
}
.list-archive-tab .newslist.show {
    display: flex;
}
/* 関連ページリンク */
.link-relatepages {
    margin: 1rem auto;
}
.link-relatepages ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: .2rem;
}
.link-relatepages ul li {
    width: calc(11rem / 3);
    height: 1rem;
    background: #fff;
    box-shadow: 0 0 .2rem 0 rgba(0,0,0,.05);
    display: flex;
    align-items: center;
}
.link-relatepages ul li a {
    width: 100%;
    height: 100%;
    padding: 0 .6rem 0 .32rem;
    font-weight: 700;
    font-size: 1.125em;
    line-height: 1.2em;
    display: flex;
    align-items: center;
    position: relative;
}
.link-relatepages ul li a::after {
    content: '\f061';
    font-family:  'Font Awesome 6 Free';
    font-weight: 900;
    color: var(--color-blue);
    position: absolute;
    top: 50%;
    right: .32rem;
    transform: translateY(-50%);
}
/* ボタン類 */
[class^="btn-"] {
    width: 2.52rem;
    height: .48rem;
    padding-right: .2rem;
    background: #fff;
    border: solid 1px var(--color-blue);
    border-radius: 100vh;
    font-size: 1em;
    font-weight: 700;
    line-height: .48rem;
    text-align: center;
    display: block;
    position: relative;
}
[class^="btn-"]::after {
    position: absolute;
    right: .2rem;
    color: var(--color-blue);
}
.btn-more::after {
    content: '\f061';
    font-family:  'Font Awesome 6 Free';
    font-weight: 900;
}
.btn-more02::after {
    content: '\f063';
    font-family:  'Font Awesome 6 Free';
    font-weight: 900;
}
.btn-more03 {
    width: .8rem;
    height: auto;
    padding: 0;
    margin: .6rem auto 0;
    background: none;
    border: none;
    text-align: center;
    font-weight: 400;
    display: block;
}
.btn-more03::after {
    content: '\f063';
    width: .4rem;
    height: .4rem;
    background: #fff;
    border-radius: 100vh;
    color: inherit;
    font-family:  'Font Awesome 6 Free';
    font-weight: 900;
    line-height: .4rem;
    position: absolute;
    top: -.4rem;
    left: 50%;
    transform: translateX(-50%);
}
.btn-dl::after {
    content: '';
    width: .2rem;
    height: .38rem;
    background: url("images/icon-dl.png") center center no-repeat;
    background-size: .2rem .2rem;
    top: 50%;
    transform: translateY(-50%);
}
.btn-close::after {
    content: '\f062';
    font-family:  'Font Awesome 6 Free';
    font-weight: 900;
}
/* ファイルリンク */
.linkarea a[href$=".pdf"],
.linkarea a[href$=".doc"],
.linkarea a[href$=".docx"],
.linkarea a[href$=".xls"],
.linkarea a[href$=".xlsx"] {
    height: auto;
    min-height: .3rem;
    padding: .02rem 0 0 .45rem;
    margin: .2rem 0;
    display: block;
}
.linkarea a[href$=".pdf"] {
    background: url("images/icon-pdf.png") left top no-repeat;
}
.linkarea a[href$=".doc"],
.linkarea a[href$=".docx"] {
    background: url("images/icon-word.png") left top no-repeat;
}
.linkarea a[href$=".xls"],
.linkarea a[href$=".xlsx"] {
    background: url("images/icon-excel.png") left top no-repeat;
}
/* 埋め込み */
[class^="embed-"] {
    margin: 1rem auto;
    display: block;
}
[class^="embed-"] iframe {
    width: 100% !important;
    height: 6.42rem !important;
}
.embed-movie {
    width: 9.8rem;
}
.embed-map {
    width: 100%;
    height: 6.42rem;
    margin: 0 auto .2rem;
}

/* ぱんくず */
#breadcrumb,
.breandrunbs {
    margin: 0 .4rem .4rem;
}
#breadcrumb ul {
    display: flex;
    flex-wrap: nowrap;
}
#breadcrumb ul li::after {
    content: '／';
}
#breadcrumb ul li:last-child::after {
    content: '';
}
#breadcrumb ul li {
    font-size: .875em;
    line-height: 1em;
}
#breadcrumb ul li:last-child {
    font-weight: 700;
}

/* ページャー */
.site-main nav.navigation {
    width: 11.4rem;
    margin: .8rem auto 0;
}
.site-main nav.pagination {
    text-align: center;
}
.site-main nav.pagination li {
    margin: 0 -.02rem;
    display: inline-block;
    position: relative;
    z-index: 2;
}
.site-main nav.pagination li:first-of-type {
    position: relative;
    z-index: 2;
}
.site-main nav.pagination li:nth-child(2) {
    position: relative;
    z-index: 1;
}
.site-main nav.pagination li a,
.site-main nav.pagination li span {
    width: .4rem;
    height: .4rem;
    margin: 0;
    background: #fff;
    line-height: .4rem;
    text-align: center;
    position: relative;
    display: block;
    z-index: auto;
}
.site-main nav.pagination li .current {
    background: var(--color-blue);
    color: #fff;
}
.site-main nav.pagination li .prev,
.site-main nav.pagination li .next {
    border-radius: 100vh;
}
.site-main nav.pagination li .prev {
    margin-right: .4rem;
}
.site-main nav.pagination li .next {
    margin-left: .4rem;
}
.site-main nav.pagination li:first-of-type span.current::before,
.site-main nav.pagination li:nth-child(2) a::before,
.site-main nav.pagination li:nth-last-child(2) a::after,
.site-main nav.pagination li:last-child span.current::after {
    content: '';
    width: .4rem;
    height: .4rem;
    background: #fff;
    border-radius: 100vh;
    top: 0;
    display: block;
    z-index: -1;
    position: absolute;    
}
.site-main nav.pagination li:first-of-type span.current::before,
.site-main nav.pagination li:nth-child(2) a::before {
    left: -.2rem;
}
.site-main nav.pagination li:nth-last-child(2) a::after,
.site-main nav.pagination li:last-child span.current::after {
    right: -.2rem;
}
.site-main nav.post-navigation,
.site-main nav.posts-navigation {
    text-align: center;
    position: relative;
}
.site-main nav.post-navigation .nav-previous,
.site-main nav.post-navigation .nav-next,
.site-main nav.posts-navigation .nav-previous,
.site-main nav.posts-navigation .nav-next {
    line-height: .4rem;
    display: inline-block;
}
.site-main nav.post-navigation .nav-previous,
.site-main nav.posts-navigation .nav-previous {
    margin-right: .75rem;
}
.site-main nav.post-navigation .nav-next,
.site-main nav.posts-navigation .nav-next {
    margin-left: .75rem;
    text-align: right;
}
.site-main nav.post-navigation .nav-previous::before,
.site-main nav.post-navigation .nav-next::after,
.site-main nav.posts-navigation .nav-previous::before,
.site-main nav.posts-navigation .nav-next::after {
    width: .4rem;
    height: .4rem;
    background: #fff;
    border-radius: 100vh;
    font-family:  'Font Awesome 6 Free';
    font-weight: 900;
    text-align: center;
    display: inline-block;
}
.site-main nav.post-navigation .nav-previous::before,
.site-main nav.posts-navigation .nav-previous::before {
    content: '\f060';
    margin-right: 1em;
}
.site-main nav.post-navigation .nav-next::after,
.site-main nav.posts-navigation .nav-next::after {
    content: '\f061';
    margin-left: 1em;
}

/* フッター */
aside.snsarea {
    padding: .5rem 0;
    display: flex;
    justify-content: space-between;
}
aside.snsarea .sns p.check {
    padding-bottom: .1rem;
    margin-bottom: .2rem;
    border-bottom: solid 1px #454545;
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2em;
    text-align: center;
    position: relative;
}
aside.snsarea .sns p.check::after {
    content: '';
    margin-left: -.16rem;
    border-left: solid .16rem transparent;
    border-right: solid .16rem transparent;
    border-top: solid .16rem #454545;
    position: absolute;
    bottom: -.16rem;
    left: 50%;
}
aside.snsarea .sns p.check span {
    font-size: .67em;
}
aside.snsarea .sns ul.snslist {
    display: flex;
    justify-content: space-between;
    gap: .32rem;
}
aside.snsarea .sns ul.snslist li {
    width: 1.2rem;
    text-align: center;
}
aside.snsarea .sns ul.snslist li span {
    font-size: 1.25em;
    font-weight: 700;
}
aside.snsarea .sns ul.snslist li img {
    width: 100%;
    height: auto;
    margin: .1rem 0;
}
footer {
    padding-top: .01rem;
    background: var(--color-gray_light);
}
footer .wrapper {
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
footer>ul.ftr-nav {
    margin: .4rem auto;
    display: flex;
    justify-content: space-between;
}
footer>ul.ftr-nav>li {
    font-weight: 700;
    color: #000;
}
footer>ul.ftr-nav>li ul {
    margin-top: .12rem;
}
footer>ul.ftr-nav>li li {
    padding-left: 1em;
    font-size: .875em;
    letter-spacing: -.035em;
}
footer>ul.ftr-nav>li li::before {
    content: '●';
    margin: 0 1em 0 -1em;
    color: var(--color-blue);
    font-size: .5em;
    vertical-align: middle;
}
footer .ftr-subnav {
    padding: .2rem;
    background: var(--color-gray);
}
footer .ftr-subnav ul {
    display: flex;
    justify-content: center;
}
footer .ftr-subnav ul li {
    margin: 0 1em 1em;
}
footer .ftr-subnav ul li a {
    color: #fff;
    font-size: .875em;
    line-height: 1em;
}
footer p.copy {
    color: #fff;
    font-size: .75em;
    text-align: center;
    line-height: .1em;
}
footer p.copy>a {
    color: #fff;
}

@media screen and (max-width:1050px) { /* スマホの場合 */
    html {
        /*font-size: 50px;  1rem = 100pxと定義 */
    }
    /* 表示切替 */
    .sp-only {
        display: inherit !important;
    }
    .pc-only {
        display: none !important;
    }
    body{
        min-width: 3.2rem;
    }
    /* ヘッダー */
    header.sitehdr {
        width: calc(100vw - .32rem);
        height: auto;
        min-height: .56rem !important;
        padding: .1rem .2rem !important;
        background: rgba(255,255,255,.4);
        backdrop-filter: blur(.2rem);
        border-radius: .3rem;;
        flex-wrap: wrap;
        position: fixed;
        top: .16rem;
        left: .16rem;
        right: .16rem;
        z-index: 999;
        overflow: hidden;
    }
    header.sitehdr.open {
        padding-bottom: 0 !important;
        background: #fff;
    }
    body.open::before {
        content: '';
        background: #ddd;
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        z-index: 99;
    }
    header.sitehdr .sitelogo {
        width: 2.4rem;
        justify-self: flex-start;
    }
    header.sitehdr .sitelogo a {
        height: .42rem;
        background-size: auto 100%;
    }
    a.spmenu {
        height: .24rem;
        justify-self: flex-end;
    }
    .btn-trigger {
        position: relative;
        width: .24rem;
        height: .24rem;
        background: none;
        border: none !important;
        cursor: pointer;
    }
    .btn-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: .04rem;
        background-color: #666;
        border-radius: .04rem;
    }
    .btn-trigger,
    .btn-trigger span {
        display: inline-block;
        transition: all .5s;
        box-sizing: border-box;
    }
    .btn-trigger span:nth-of-type(1) {
        top: 0;
    }
    .btn-trigger span:nth-of-type(2) {
        top: .11rem;
    }
    .btn-trigger span:nth-of-type(3) {
        bottom: 0;
    }
    #btn-menu span:nth-of-type(1) {
        -webkit-animation: btn-bar01 .75s forwards;
        animation: btn-bar01 .75s forwards;
    }
    #btn-menu span:nth-of-type(2) {
        transition: all .25s .25s;
        opacity: 1;
    }
    #btn-menu span:nth-of-type(3) {
        -webkit-animation: btn-bar03 .75s forwards;
        animation: btn-bar03 .75s forwards;
    }
    #btn-menu.active span:nth-of-type(1) {
        -webkit-animation: active-btn-bar01 .75s forwards;
        animation: active-btn-bar01 .75s forwards;
        top: -.04rem;
    }
    #btn-menu.active span:nth-of-type(2) {
        opacity: 0;
    }
    #btn-menu.active span:nth-of-type(3) {
        -webkit-animation: active-btn-bar03 .75s forwards;
        animation: active-btn-bar03 .75s forwards;
        top: .36rem;
    }
    #global-sp {
        width: 100%;
        display: none;
    }
    #global-sp ul#primary-menu {
        width: calc(100% + .4rem);
        height: auto;
        max-height: calc(100vh - .82rem);
        margin: 0 -.2rem;
        overflow-y: scroll;
    }
    #global-sp ul#primary-menu>li {
        border-bottom: var(--color-border) .01rem solid;
    }
    #global-sp ul#primary-menu li:last-child {
        border-bottom: none;
    }
    #global-sp ul#primary-menu>li.search {
        padding: .2rem;
    }
    #global-sp ul#primary-menu>li.search a {
        display: none;
    }
    #global-sp ul#primary-menu>li.search form div {
        display: flex;
        justify-content: space-between;
    }
    #global-sp ul#primary-menu>li.search form div input {
        border: var(--color-border) .01rem solid;
    }
    #global-sp ul#primary-menu>li.search form div input[type='text'] {
        width: calc(100% - .4rem);
        height: .4rem;
        border-radius: .08rem 0 0 .08rem;
        line-height: .4rem;
    }
    #global-sp ul#primary-menu>li.search form div input[type='submit'] {
        width: .4rem;
        height: .4rem;
        border-radius: 0 .08rem .08rem 0;
        background: url(images/icon-search.png) center center no-repeat, var(--color-gray);
        background-size: .2rem .2rem;
        text-indent: -9999px;
    }
    #global-sp ul#primary-menu>li>a {
        padding: .1rem .2rem;
        background: #efefef;
        line-height: .64rem;
        font-weight: 700;
        display: block;
        position: relative;
    }
    #global-sp ul#primary-menu>li>a::after {
        content: '＋';
        color: var(--color-blue);
        position: absolute;
        right: .2rem;
        top: 50%;
        transform: translateY(-50%);
    }
    #global-sp ul#primary-menu>li:nth-child(5)>a::after {
        content: '＞';
    }
    #global-sp ul#primary-menu>li>a.current {
        background: rgba(92,192,234,.1);
    }
    #global-sp ul#primary-menu>li>a.current::after {
        content: '－';
    }
    #global-sp ul#primary-menu>li ul.sub-menu {
        display: none;
    }
    #global-sp ul#primary-menu>li ul.sub-menu>li {
        background: #fff;
    }
    #global-sp ul#primary-menu>li ul.sub-menu>li>a {
        padding: .1rem 0 .1rem .2rem;
        line-height: .48rem;
        font-size: .875em;
        border-bottom: var(--color-border) .01rem solid;
        display: block;
    }
    #global-sp ul#primary-menu>li ul.sub-menu>li>a::before {
        content: '・';
        width: .2rem;
        font-weight: 700;
        color: #b6b6b6;
    }
} 
 
@media screen and (max-width:768px) { /* スマホの場合 */
    /* 本文共通 */
    button, input, select, optgroup, textarea {
        font-size: 1em;
    }
    main {
        padding-bottom: .01rem;
    }
    body:not(.home) main {
        margin-bottom: .5rem;
        background-size: 110% auto;
    }
    .wrapper {
        width: calc(100vw - .32rem);
    }
    body:not(.home) .wrapperS,
    .wrapperL-bg .innerBox {
        width: calc(100vw - .32rem);
        padding: .3rem;
    }
    .wrapperL-bg .innerBox {
        margin: .5rem auto;
    }
    .wrapperL-bgNone .innerBox {
        width: calc(100vw - .32rem);
        margin-left: auto;
        margin-right: auto;
    }
    [class^="wrapperL"] {
        width: 100%;
    }
    .wrapperL-bgNone {
        background: none;
    }
    .wrapperL-bg {
        padding: .8rem 0;
        background: radial-gradient(at top left, rgba(160,212,190,.6), transparent), radial-gradient(at top right, rgba(177,210,239,.6), transparent), radial-gradient(at bottom left, rgba(141,161,193,.6), transparent), radial-gradient(at bottom right, rgba(116,195,159,.6), transparent);
    }
    body:not(.home) main section {
        margin-top: .64rem;
        margin-bottom: .64rem;
    }
    body:not(.home) main h1.pagetitle {
        width: 100%;
        padding: .4rem .16rem 0;
        margin-bottom: .4rem;
        font-size: 2em;
    }
    body:not(.home) main h1.pagetitle>span {
        font-size: .4em;
    }
    /*body:not(.home) main h2.h2-01 {
        font-size: 1.8em;
        line-height: 1.3em;
        letter-spacing: -.055em;
    }*/
    body:not(.home) main h2.pagesubtitle,
    body:not(.home) main h2.h2-01 {
        font-size: 1.5em;
    }
    body:not(.home) main h2.h2-02 {
        margin: 0 auto .32rem;
        font-size: 1.8em;
        line-height: 1.3em;
    }
    body:not(.home):not(.single) main h3 {
        margin: .4rem 0 .24rem;
        font-size: 1.375em;
    }
    body:not(.home) main h4,
    body:not(.home) main h5 {
        margin: .4rem 0 .24rem;
    }
    body:not(.home) main h4 {
        font-size: 1.25em;
    }
    body:not(.home) main h5 {
        font-size: 1.125em;
    }
    .page .entry-content p,
    .single .entry-content p {
        line-height: 1.75em;
    }
    .imageblock {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .imageblock .textblock {
        width: 100%;
        margin-bottom: .32rem;
    }
    .imageblock figure {
        width: 100%;
    }
    .imageblock.img-l .textblock {
        order: 1;
    }
    .imageblock.img-l figure {
        order: 2;
    }
    /* 画像つき一覧 */
    .list-archive {
        gap: .24rem .22rem;
    }
    .list-archive article {
        width: calc(50% - .12rem);
        /*width: 1.6rem;*/
    }
    .list-archive article figure {
        height: 0;
        padding-top: 75%;
        position: relative;
        /*height: 1.2rem;*/
    }
    .list-archive article figure img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        /*margin-top: -75%;*/
    }
    /*画像付き一覧上部のタブ*/
    .list-archive-tab .categoryselect {
        width: auto;
        height: .6rem;
        padding: .1rem .06rem;
        margin: .2rem -.16rem;
        background: #fff;
        border-radius: 0;
        justify-content: flex-start;
        overflow-y: scroll;
    }
    .list-archive-tab .categoryselect li {
        width: auto;
        margin: 0 .02rem;
    }
    .list-archive-tab .categoryselect li a {
        height: .32rem;
        padding: 0 .14rem;
        font-size: .75em;
        line-height: .32rem;
        letter-spacing: -.03em;
        white-space: nowrap;
    }
    .list-archive-tab .categoryselect li a.current {
        background: var(--color-blue);
        color: #fff;
        font-weight: 700;
    }
    /* 関連ページリンク */
    .link-relatepages {
        margin: .6rem auto;
    }
    .link-relatepages ul {
        gap: .12rem;
    }
    .link-relatepages ul li {
        width: 100%;
    }
    /* ファイルリンク */
    .linkarea a[href$=".pdf"],
    .linkarea a[href$=".doc"],
    .linkarea a[href$=".docx"],
    .linkarea a[href$=".xls"],
    .linkarea a[href$=".xlsx"] {
        min-height: .38rem;
        background-position: left .08rem !important;
    }
    /* 埋め込み */
    [class^="embed-"] {
        margin: .6rem auto;
    }
    [class^="embed-"] iframe {
        height: 3rem !important;
    }
    .embed-movie {
        width: 100%;
    }
    .embed-map {
        width: 100%;
        height: 3rem;
        margin: 0 auto .2rem;
    }
    
    /* ページャー */
    .site-main nav.navigation {
        width: 100%;
        margin: .6rem auto 0;
    }
    .site-main nav.post-navigation .nav-previous,
    .site-main nav.posts-navigation .nav-previous {
        margin-right: .3rem;
    }
    .site-main nav.post-navigation .nav-next,
    .site-main nav.posts-navigation .nav-next {
        margin-left: .3rem;
    }
    
    /* ぱんくず */
    #breadcrumb,
    .breandrunbs {
        width: 100%;
        padding: 0 .2rem .2rem;
        margin: 0;
    }
    #breadcrumb ul {
        display: block;
    }
    #breadcrumb ul li {
        display: inline;
    }
    #breadcrumb ul li::after {
        content: '／';
    }
    #breadcrumb ul li:last-child::after {
        content: '';
    }
    #breadcrumb ul li a {
        font-size: .875em;
        line-height: 1em;
    }
    
    /* フッター */
    aside.snsarea {
        padding: .3rem 0;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    aside.snsarea .sns {
        width: 100%;
    }
    aside.snsarea .sns p.check {
        padding-bottom: .1rem;
        margin: .2rem 0 .4rem;
        font-size: 1.125em;
    }
    aside.snsarea .sns p.check::after {
        content: '';
        margin-left: -.16rem;
        border-left: solid .16rem transparent;
        border-right: solid .16rem transparent;
        border-top: solid .16rem #454545;
        position: absolute;
        bottom: -.16rem;
        left: 50%;
    }
    aside.snsarea .sns p.check span {
        display: none;
    }
    aside.snsarea .sns ul.snslist {
        flex-wrap: nowrap;
        gap: .08rem;
    }
    aside.snsarea .sns ul.snslist li {
        width: auto;
        font-size: .6875em;
    }
    aside.snsarea .sns ul.snslist i {
        font-size: 3em;
        display: block;
    }
    footer>ul.ftr-nav {
        margin: .4rem auto;
        display: block;
    }
    footer>ul.ftr-nav>li {
        margin-bottom: .12rem;
    }
    footer>ul.ftr-nav>li ul {
        margin-top: 0;
    }
    footer .ftr-subnav ul li {
        margin: 0 .75em 1em;
    }
    footer .ftr-subnav ul li a {
        font-size: .75em;
        letter-spacing: -.05em;
    }
}
@-webkit-keyframes btn-bar01 {
  0% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn-bar01 {
  0% {
    transform: translateY(20px) rotate(45deg);
  }
  50% {
    transform: translateY(20px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes btn-bar03 {
  0% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn-bar03 {
  0% {
    transform: translateY(-20px) rotate(-45deg);
  }
  50% {
    transform: translateY(-20px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes active-btn-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }
}
@keyframes active-btn-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(20px) rotate(0);
  }
  100% {
    transform: translateY(20px) rotate(45deg);
  }
}
@-webkit-keyframes active-btn-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
}
@keyframes active-btn-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-20px) rotate(0);
  }
  100% {
    transform: translateY(-20px) rotate(-45deg);
  }
}

/* --- Breakpoint: 1050px --- */
@media (min-width: 769px) and (max-width: 1050px) {
 .wrapper,
 .wrapperL-bgNone .innerBox {
  width: 100%;
  padding: 0 10px;
 }
 article.lead p {
  width: 100%;
 }
 .snsarea {
  gap : 20px
 }
 .snsarea a:first-child{
  width: 50%;
 }
 .snsarea .sns{
  width: 50%;
 }
 .snsarea img.pc-only {
  display: block !important;
 }
}
/* --- Breakpoint: 1200px --- */
@media (min-width: 1051px) and (max-width: 1200px) {
 #global ul#primary-menu>li>ul.sub-menu::after{
  font-size: 2em;
  padding-right: 0.4rem;
 }
 #global ul#primary-menu>li>ul.sub-menu {
  height: auto;
  padding: .46rem .6rem .16rem calc(37% + .6rem);
 }
}
