/* --- CSS リセット --- */
/* 1.より直感的なボックスサイズのモデルを使用 */
*, *::before, *::after { box-sizing: border-box; }
/* 2. デフォルトのマージンを削除 */
* { margin: 0; }
/* 3. 高さは%ベースを使用 */
html, body { height: 100%; }
/* タイポグラフィの微調整
   4. アクセシブルなline-heightを追加
   5. テキストのレンダリングを改善    */
body { line-height: 1.5;  -webkit-font-smoothing: antialiased; }
/* 6. メディア要素のデフォルトを改善 */
img, picture, video, canvas, svg {  display: block;  max-width: 100%; }
/* 7. フォームのfontに関するデフォルトを削除 */
input, button, textarea, select { font: inherit; }
/* 8. テキストのオーバーフローを回避 */
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
/* 9. ルートのスタックコンテキストを作成 */
#root, #__next { isolation: isolate; }

/* --- 定義 ---*/
:root {
  --mx-color-safe: rgb(243, 132, 28);
  --mx-color-secur: rgb(221, 38, 38);
  --mx-color-assist: rgb(100, 157, 80);
  --mx-color-commu: rgb(241, 194, 28);
  --mx-color-learn: rgb(74, 156, 232);
}

/* --- 共通 --- */
/* 綺麗にゴシックをMacヒラギノ,Winメイリオ > 明朝をMacヒラギノ,Win Yu とした > 標準sans-sefif,MSP
    削除>"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","ＭＳ Ｐゴシック", "MS PGothic", "ＭＳ 明朝", */
html {
  font-family: -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "游明朝", YuMincho, "Hiragino Mincho ProN W3", sans-serif;
  font-size: clamp(14px, 1.8vw, 22px);
}
body {
  letter-spacing: calc(1px - .0625em); /* フォントの文字間隔 相対値指定, 絶対値指定なら1.5px など */
  font-feature-settings: "palt" 1; /* OpenType フォントのプロポーショナルメトリクスの機能の有効化 */
  font-kerning: auto; /* OpenTypeフォントのメトリクスカーニング機能の有効化 auto:UAが判断 */
  line-height: 1.75; /* 単位は付けない */
  /* UIkit 標準
  font-size: 16px; 
  color: #666;  Headingは#333*/
}
/*@media (max-width: 500px){
  body { font-size: 14px; }
}*/

.mx-text-white { color: white; }
.mx-text-safe { color: #F3841C; }
.mx-text-secur { color: #DD2626; }
.mx-text-assist { color: #649D50; }
.mx-text-commu { color: #F1C21C; }
.mx-text-learn { color: #499BE7; }
.mx-text-small { font-size: clamp(12px, 1.4vw, 16px);}
.mx-text-default { font-size: clamp(18px, 1.8vw, 22px);}
.mx-text-large { font-size: clamp(20px, 2.0vw, 24px);}
.mx-text-larger { font-size: clamp(22px, 2.2vw, 26px);}
.mx-text-right { text-align: right;}
.mx-text-center { text-align: center; }
.mx-table {display: table; }
.mx-cell-m { display: table-cell; vertical-align: top; width: 7em; }
.mx-margin-top1 { margin-top: 1em !important; }

.mx-link { color: #222; } /* トップページの更新内容タイトルのリンク文字色 */
.mx-link .uk-icon-link { color: #F3841C; } /* リンクマーク */

/* ページトップへアイコン */
#page-top{
  display: block;
  width: 48px;
  height: 48px;
  box-sizing: border-box;
  background: rgba(255,255,255,0.1);
  border: 2px solid #F3841C;
  border-radius: 5px;
  /*右下に固定*/
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
  opacity: 0; /*はじめは非表示*/
  transform: translateY(100px);
}
#page-top::before{
  content: "";
  display: block;
  border-top: 3px solid #F3841C;
  border-right: 3px solid #F3841C;
  width: 25%;
  height: 25%;
  top: 45%;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  transform: rotate(-45deg);
}
#page-top:hover{
  background: rgba(243, 132, 28, 0.2);
  transition:all 0.5s; /* 0.5s掛けてbackground色を変更 */
}
  /* 上に上がる動き */
  #page-top.UpMove{ animation: UpAnime 0.5s forwards; }
    @keyframes UpAnime{
      from {
        opacity: 0;
        transform: translateY(100px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
  /* 下に下がる動き */
  #page-top.DownMove{ animation: DownAnime 0.5s forwards; }
    @keyframes DownAnime{
      from {
        opacity: 1;
        transform: translateY(0);
      }
      to {
        opacity: 1;
        transform: translateY(100px);
      }
    }


/* ページヘッダ画像部 */
.mx-head-img { padding-left: 0 !important; padding-right: 0 !important;}
.mx-tophead-box { /* トップページ */
  width: clamp(120px, 20%, 240px);
  aspect-ratio: 1/1;
  top: 45%;
  font-size: clamp(10px, 3.5vw, 30px);
  text-align: center;
  line-height: 1.8em;
  padding-left: 20px; /* ul-overlay 30px 上書き */
  padding-right: 20px; /* ul-overlay 30px 上書き */
  padding-top: clamp(34px, 4.4vw, 56px);
}
.mx-tophead-box-text {
  font-size: clamp(8px, 2.5vw, 28px);
  color: white;
}
@media (max-width: 750px){
  .mx-tophead-box {display: none;}
}

.mx-responsive-widthtop { width: 4.5vw ; } /* uk-responsive効かないため. clamp(40px, 10vw, 100%)すると画像右に空白 */
@media (max-width: 500px){ .mx-responsive-widthtop { width: 4vw;} }
@media (min-width: 1080px){ .mx-responsive-widthtop { width: 100%;} }
.mx-responsive-width { width: 9vw ; } /* uk-responsive効かないため. clamp(40px, 10vw, 100%)すると画像右に空白 */
@media (max-width: 500px){ .mx-responsive-width { width: 8vw;} }
@media (min-width: 820px){ .mx-responsive-width { width: 100%;} }

.mx-overlay { margin: 2%;} /* uk-overlay 30px広すぎ */
.mx-responsive { width:clamp(50px, 40vw, 300px);}

.mx-head-box { /* トップページ以外 */
  width: min(300px, 30%);
  aspect-ratio: 1/1;
  top: 45%;
  font-size: clamp(12px, 3.1vw, 32px);
  /*color: #fff;*/
  text-align: center;
  line-height: 6.8vw;
  padding-top: min(40px, 6vw); /* ul-overlay 30px 上書き */
  padding-left: 20px; /* ul-overlay 30px 上書き */
  padding-right: 20px; /* ul-overlay 30px 上書き */
}
.mx-head-box-ttl {
  font-size: clamp(10px, 2.4vw, 24px);
  text-align: center;
  line-height: 1.8em;
  width: min(250px, 26%);
  background-color: rgba(255, 255, 255, 0.8); /* #fff; */
}
h1.mx-head-box-ttl { margin-top: auto; margin-bottom: auto; }
/*@media (max-width: 750px){ h1.mx-head-box-ttl { margin-top: 3vw; }}
@media (max-width: 440px){ h1.mx-head-box-ttl { margin-top: 3vw; }}*/
@media (max-width: 750px){
  .mx-head-box {display: none;}
  .mx-head-box-ttl {display: none;}
}
/*.mx-overlay-default { background: rgba(45, 76, 123, 0.5); }*/
/*.mx-overlay-default { background: rgba(13, 63, 13, 0.5); }*/
/*.mx-overlay-default { background: rgba(242, 78, 30, 0.5); }*/
/*.mx-overlay-default { background: rgba(73, 199, 191, 0.5); }*/

footer { padding-left: 0 !important; padding-right: 0 !important; }
.mx-foot-copyright {
  padding-top: 10px;
  padding-bottom: 10px;
}
.mx-foot-copyright::after { content: "All Rights Reserved by Azabu YAMAMOTOCHOKAI"; }
.mx-foot-copyright-blue {  background-color: rgb(45, 76, 123); }
.mx-foot-copyright-orange {  background-color: rgb(139, 59, 34); }
.mx-foot-copyright-green {  background-color: rgb(13, 63, 13); }
.mx-foot-copyright-white {  background-color: rgb(85, 23, 40); }

.mx-container2 { position: relative; display: grid;} /* HTMLにuk-grid するとuk-contentが崩れ?左寄せになる */
.mx-scrollspy { position: absolute; right:20px; z-index:1; } /* Scrollspy 右寄せ */
.mx-scrollspy > .uk-nav > li > a { color: #888;}
.mx-scrollspy > .uk-nav > li.uk-active > a { position: relative; color: #333;} /* Scrollspy active左側に横線 */
.mx-scrollspy > .uk-nav > li.uk-active > a::before {
  content: "";
  position: absolute;
  top: 17px;
  left: -25px;
  width: 15px;
  border-top: 2px solid red;
}
.mx-scrollspy.fixed { position: fixed; top: 0;} /* スクロールでブラウザトップに固定. JSとペア */
@media (max-width: 900px){ /* 幅750px以下はScrollspy非表示、本文を100%幅 */
  .mx-container2 { display: block; }
  .mx-scrollspy { display: none; }
  main { width: 100% !important;}
}

.mx-bigtitle { /* 見出しタイトル背景処理あり */
  position: relative;
  margin-bottom: 20px;
  padding: 20px 20px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  line-height: 27px;
  font-size: 20px;
  color: #fff;
}
.mx-bigtitle-blue{ background-color: rgba(45, 76, 123, 0.9); }
.mx-bigtitle-orange{ background-color: rgba(139, 59, 34, 0.9); }
.mx-bigtitle-green{ background-color: rgba(13, 63, 13, 0.9); }
.mx-bigtitle-white{ background-color: rgba(85, 23, 40, 0.9); }
.mx-page-date { display: flex; justify-content: flex-end; font-size: 80%;}

.mx-text-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(12px, 1.8vw, 24px);
  letter-spacing: 0.26em;
  margin-top: clamp(20px, 4vw, 50px);
  margin-bottom: clamp(10px,4vw, 50px);
}
.mx-text-divider-s {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(12px, 1.2vw, 16px);
  letter-spacing: 0.26em;
  margin-top: 1vw;
  margin-bottom: 0.5vw;
}
@media (min-width: 501px) {
  .mx-text-divider-s {  padding-left: 7em;  padding-right: 7em; }
}
/*@media (max-width: 500px) {
  .mx-text-divider-s {  padding-left: none;  padding-right: none; }
}*/
.mx-text-divider::before, .mx-text-divider::after,
.mx-text-divider-s::before, .mx-text-divider-s::after { border-top: 1px solid #ccc; content: ""; flex-grow: 1; }
.mx-text-divider::before, .mx-text-divider-s::before { margin-right: 1em; } /* 文字の右隣 */
.mx-text-divider::after, .mx-text-divider-s::after { margin-left: 1em; } /* 文字の左隣 */
.mx-text-divider > span { display: inline-block; width: 12em; text-align: center; }
.mx-text-line-right {
  display: flex;
  align-items: center;
  letter-spacing: 0.26em;
}
.mx-text-line-right::after { border-top: 1px solid #ccc; content: ""; flex-grow: 1; margin-left: 1em;}

/* offcanvas-nav デフォルト背景の濃グレーを変更. 伴い設定 */
.uk-offcanvas-bar-light {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -270px;
  box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #f8f8f8;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.uk-offcanvas-bar-animation { transition: left 0.3s ease-out; }
@media (min-width: 960px) {
  .uk-offcanvas-bar-light {
    left: -350px;
    width: 350px;
    padding: 40px 40px;
  }
}
.uk-offcanvas-flip .uk-offcanvas-bar-light { left: auto;  right: -270px; }
.uk-offcanvas-flip .uk-offcanvas-bar-animation { transition-property: right; }
.uk-offcanvas-flip .uk-open > .uk-offcanvas-bar-light { left: auto; right: 0; }
@media (min-width: 960px) {
  .uk-offcanvas-flip .uk-offcanvas-bar-light { right: -350px; }
}
.uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar-light { left: auto; right: 0; }
.uk-offcanvas-reveal .uk-offcanvas-bar-light { left: 0; }
.uk-open > .uk-offcanvas-bar-light { left: 0; }

.mx-contact-box { width: 70%; line-height: 2em; font-size: 80%; background-color: rgba(241, 241, 241, 0.6); } /* メールアドレスなどと"送って"表示 */
.mx-contact-widthbox { width: 86%; line-height: 2em; padding: 1em; background-color: rgba(241, 241, 241, 0.6); } /* 問い合わせ先など表示 */

.mx-grid-row-xsmall > div { margin-top: 1px !important; }
.mx-grid-row-xsmall > div span { margin-bottom: 1px !important; }
.mx-grid-row-xsmall > div span.width10 { width: 10em; }
.mx-grid-row-xsmall > div span.width5 { width: 5em; }
.mx-grid-row-xsmall > div span.width3 { width: 3em; }

/*
 トップページ, 今年の目標で円と輪
 */
/* メニュー */
#ham-menu {
  display: block;
  margin: 20px;
}
#menu-bar {
  display: block;
  width: 50px;
  height: 50px;
  margin: 20px 0 0 0;
  position: fixed;  /*absolute; スクロールで流れていく*/
  top: 0px;
  background-color: #f3841c;
  border-radius: 10px;
  padding: 10px;
  z-index: 11;
}

#menu-bar span:after,
#menu-bar span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
}
#menu-bar span:after{ top: 24px; }
#menu-bar span { position: relative; display: block; }
#menu-bar span,
#menu-bar span:after,
#menu-bar span:before {
  width: 100%;
  height: 5px;
  background-color: white;
  transition: all 0.3s;
  backface-visibility: hidden;
  border-radius: 2px;
}
/* on activation */
#menu-bar.on span { background-color: transparent; }
#menu-bar.on span:before { transform: rotate(45deg) translate(0px, 0px); }
#menu-bar.on span:after { transform: rotate(-45deg) translate(7px, -8px); }
#menu-bar.on + #menu-content { opacity: 1; visibility: visible; }
/* menu appearance*/
#menu-content {
  /*position: relative;*/
  position: fixed;
  top: 100px;
  /*left: 20px;*/
  font-size: clamp(12px, 2.6vw, 18px); /*18px;*/
  color: #999;
  width: minmax(40vw, 260px); /*260px;*/
  padding: 10px;
  margin: auto;
  text-align: center;
  border-radius: 4px;
  background: #f3841c;
  box-shadow: 0 1px 8px rgba(0,0,0,0.05);
  /* just for this demo */
  opacity: 0;
  visibility: hidden;
  transition: opacity .6s;
  z-index: 11;
}
#menu-content:after {
  position: absolute;
  top: -20px;
  left: 10px;
  content: "";
  display: block;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 20px solid #f3841c;
}
#menu-content > ul,
#menu-content > ul li,
#menu-content > ul li a {
  list-style: none;
  display: block;
  margin: 0;
  padding: 0;
}
#menu-content > ul > li a {
  padding: minmax(0.2vw, 5px); /*5px;*/
  color: white;
  text-decoration: none;
  transition: all .2s;
}
#menu-content > ul > li a:hover,
#menu-content > ul >li a:focus { background: rgba(255, 255, 255, 0.8); color: #f3841c; }





.mx-pie { /* 円グラフ */
	display: flex;
	justify-content: center; /* 文字の横位置 */
	align-items: center; /* 文字の縦位置 */
	position: relative;
	margin: 10px auto;
	width: clamp(120px, 80%, 200px);
  aspect-ratio: 1/1; /* 幅と同じ高さ */
}
.mx-pie::before { /* 未達成部分 */
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	border: 13px solid #ccc;
	border-radius: 50%;
	z-index: -2;
}
.mx-pie::after { /* radial-gradient:内部背景色,conic-gradient:達成部分*/
  content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	background-image: radial-gradient(#fff 65%, transparent 66%), conic-gradient(var(--mx-color-secur) 0% 34%, transparent 34% 100%);
	border-radius: 50%;
	z-index: -1;
}
.mx-pie-text {
  transform: rotate(20deg);
  font-size: clamp(48px, 10vw ,100px);
  font-weight: 500;
}

.mx-circle-box { display: flex; padding: 1vw;} /* 輪 */
.mx-circle {
	display: flex;
	justify-content: center; /* 文字の横位置 */
	align-items: center; /*flex-end; fontサイズで縦位置変わる*/
	position: relative;
  width: clamp(50px, 20%, 100px);
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%; 
  margin-right: 10px;
}
.mx-circle-box .mx-circle-ttl { font-size: min(32px, 3vw); padding-top: 10px; }
.mx-circle-box img { width: min(8vw, 70px); }
img.yeargoalstep { margin-left: auto; margin-right: auto; }

.mx-circle-safe { border: 3px solid var(--mx-color-safe); }
.mx-circle-secur { border: 3px solid var(--mx-color-secur); }
.mx-circle-assist { border: 3px solid var(--mx-color-assist); }
.mx-circle-commu { border: 3px solid var(--mx-color-commu); }
.mx-circle-learn { border: 3px solid var(--mx-color-learn); }
.mx-circle-text-safe { transform: rotate(20deg); font-size: clamp(20px, 4vw ,50px); font-weight: 200; color: var(--mx-color-safe); }
.mx-circle-text-secur { transform: rotate(20deg); font-size: clamp(20px, 4vw ,50px); font-weight: 200; color: var(--mx-color-secur); }
.mx-circle-text-assist { transform: rotate(20deg); font-size: clamp(20px, 4vw ,50px); font-weight: 200; color: var(--mx-color-assist); }
.mx-circle-text-commu { transform: rotate(20deg); font-size: clamp(20px, 4vw ,50px); font-weight: 200; color: var(--mx-color-commu); }
.mx-circle-text-learn { transform: rotate(20deg); font-size: clamp(20px, 4vw ,50px); font-weight: 200; color: var(--mx-color-learn); }

.mx-card h3 { font-size: 22px; }  /* 一覧のカードの設定 */
.mx-card img { margin-right: auto; margin-left: auto; }
.mx-card .uk-card-body { text-align: center; }
.mx-card .ondate { font-size: 10pt; text-align: right; padding-right: 1em; }
.mx-content-side { display: block; }  /* ページ記事のカードの設定 */
@media (max-width: 900px){
  .mx-content-side { display: none; }
  .mx-content-main { width: 100%; }
}
.gmaps { padding-left: 1em; } /* 地図 */
.gmaps iframe {
  width: 80%;
  border: none;
  aspect-ratio: 2/1;
  margin-left: 10%;
}

/*
  お得情報
*/
.mx-product-box { width: 86%; line-height: 2em; padding: 1em; }
.mx-product-box .mx-product-ttl { font-size: clamp(14px, 2.4vw, 22px); }
.mx-product-box .mx-product-price { display: flex; }
.mx-product-box .mx-product-price div:first-child { margin-right:auto; padding-right:1em; }
.mx-product-box .mx-product-price div:last-child { margin-left:auto; font-size: clamp(16px, 2.4vw, 22px); background-color: rgb(238, 238, 238);}

/*
  住む
*/
img.size-5mark { min-width: 70px; max-width: 70px; }
td.tb-width8 { width: 8em; }
.mx-kai-box  { display: flex; }
.mx-kai-box div:first-child { width: 8em; }

/*
  お知らせ
*/
img.border { border: 1px solid lightgray; }

/*
  掲示板
*/
.interview-box{
  position: relative;
  margin: 2em 0;
  padding: 4em 2em; /*文字まわりの余白*/
  border: solid 1px #777777; /*線の種類、太さ、色*/
  border-radius: 30px;  /*ボックスの角のまるみ*/;
}
.interview-box:before, .interview-box:after{
  position: absolute;
  top: 0;
  content:'';
  width: 100%;
  height: 100%;
  border-radius: 30px;  /*ボックスの角のまるみ*/
}
.interview-box:before{
  left:0;
  border: solid 1px #b8a5a5;/*線の種類、太さ、色*/
  transform: rotate(-0.7deg);/*ボックスの角度*/
}
.interview-box:after{
  left:0;
  border: solid 1px #697883;/*線の種類、太さ、色*/
  transform: rotate(0.7deg);/*ボックスの角度*/
}
.interview-box p {
  margin: 0; 
  padding: 0;
}
.interview-signature {
  font-family: "YuMincho";  /* 変わらない? */
  font-size: clamp(12px, 5vw, 36px);
  /*margin-left: 0.5em;*/
}

/*
  歴史
*/
.mx-heading-first { font-size: 1.5em; line-height: 1.1; margin-right: 0.2em;}

/*
  防犯・防災
*/
.mk-guidebook-areasize {
  max-width: 800px !important; /* 520px */
  max-height: 1141px !important; /* 742px */
}
.mk-guidebook-areasize img { border: rgb(205, 204, 204) 1px solid; }

.mk-guidebook-slidenav {
  color: #2b2b2b !important;
}
.mk-guidebook-slidenav > svg {
  height: 4vh !important;
  width: 4vh !important;
  background-color: rgba(145, 143, 143, 0.221);
  padding: 4px;
  border-radius: 50%;
};


/*
  写真で見る活動風景 katsudou.html
   : JS magic-grid で左上から右に、上から下に年代順に表示する。
     すべての画像をロードしてからJSで配置するので表示に時間が掛かり、サイズ指定していないとズレる。
     1ページに表示する画像数が多すぎるのは避け、別ページにする。
*/
.container-magic-grid div {
  width: 120px;
  word-break: break-all;
  background-color: antiquewhite;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  padding: 0.5em 1em;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}
.container-magic-grid div img { border-radius: 10px; }
.container-magic-grid div img.movie { border-radius: 0px !important; } /*  動画再生マークを表示する */
.container-magic-grid div img.year { filter: drop-shadow(1px 1px 4px black); }

@media screen and (min-width: 1268px){
  .container-magic-grid div img, .container-magic-grid div video { max-width: 380px; }
  .container-magic-grid div video .yoko { height: 214px; }
  .container-magic-grid div video .tate { height: 676px !important; }
  .container-magic-grid div .tate { height: 676px !important; }
}
@media screen and (min-width: 1119px) and (max-width: 1267px){
  .container-magic-grid div img, .container-magic-grid div video { width: 500px; }
  .container-magic-grid div video .yoko { height: 282px; }
  .container-magic-grid div video .tate { height: 889px !important; }
  .container-magic-grid div .tate { height: 889px !important; }
}
@media screen and (min-width: 900px) and (max-width: 1118px){
  .container-magic-grid div img, .container-magic-grid div video { width: 400px; }
  .container-magic-grid div video .yoko { height: 225px; }
  .container-magic-grid div video .tate { height: 712 !important; }
  .container-magic-grid div .tate { height: 712 !important; }
}
@media screen and (min-width: 700px) and (max-width: 899px){
  .container-magic-grid div img, .container-magic-grid div video { width: 600px; }
  .container-magic-grid div video .yoko { height: 338px; }
  .container-magic-grid div video .tate { height: 1067px !important; }
  .container-magic-grid div .tate { height: 712 !important; }
}
@media screen and (min-width: 600px) and (max-width: 699px){
  .container-magic-grid div img, .container-magic-grid div video { width: 500px; }
  .container-magic-grid div video .yoko { height: 282px; }
  .container-magic-grid div video .tate { height: 889 !important; }
  .container-magic-grid div .tate { height: 889 !important; }
}
@media screen and (max-width: 599px){
  .container-magic-grid div img, .container-magic-grid div video { width: 400px; }
  .container-magic-grid div video .yoko { height: 225px; }
  .container-magic-grid div video .tate { height: 712 !important; }
  .container-magic-grid div .tate { height: 712 !important; }
}
.container-magic-grid .uk-label { position: absolute; right: 0; border-top-right-radius: 10px; }
.container-magic-grid .uk-label::after { content: "NEW"; }
.loading-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.loading-container {
  margin: 2%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 29%;
  min-width: 200px;
}
.loader {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 4px;
  border-color: #f3841c #00000010 #00000010;
  position: relative;
  animation-name: spin;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
/*
  写真で見る活動風景 katsudou2.html
   : CSSだけで画像を並べると左端の上から下に、続いて右の上から下に、縦列で順に並ぶので年代順には使えない
*/
@media screen and (max-width: 320px) {
  .mx-grid-instagram {
    column-count: 1;
    column-gap: 1rem;
  }
}
@media screen and (min-width: 321px) and (max-width: 768px) {
  .mx-grid-instagram {
    column-count: 2;
    column-gap: 1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .mx-grid-instagram {
    column-count: 3;
    column-gap: 1rem;
  }
}
@media screen and (min-width: 1025px) {
  .mx-grid-instagram {
    column-count: 4;
    column-gap: 1rem;
  }
}
  .mx-grid-insta-item {
    position: relative;
    height: 100%;
    width: 100%;
    margin-bottom: 1rem;
  }
  .mx-grid-instagram img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    border-radius: 10px;
  }
