* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "M PLUS 1", sans-serif;
font-style: normal;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
color: #000;}

body {}

.header {
position: fixed;
top: 0;
left: 0;
width: 100%;
background-color: #fff;
z-index: 1000;
padding: 0 5%;
height: 90px;}

.navbar {
display: flex;
justify-content: space-between;
align-items: center;
height: 100%;
padding-top: 10px;}

.logo {width: 210px;}


/* ＰＣ用 グローバルメニュー */
/* ======================================= */
.menu {
display: flex;
align-items: center;
list-style: none;
gap: 30px;}

li.menu-item {
font-size: 13px;
font-weight: 700;
letter-spacing: 0.5px;}

.nav-link-menu {
display: inline-block;
text-align: center;
text-decoration: none;
outline: none;
color: #000;
border-bottom: 2px;}

a:hover.nav-link-menu{
color: #000;
opacity: 0.55;}

a.nav-link-menu {position: relative;}

a.nav-link-menu::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 2px;
background: #000;
bottom: -2.5px;
transform: scale(0, 1);
transition: transform 0.5s;
transform-origin: center top;}

a:hover.nav-link-menu::after {transform: scale(1, 1)}


/* Facebookアイコン */
/* ======================================= */
img.fb-black-icon {
width: 25px;
height: 25px;}

a:hover.fb-page-link {opacity: 0.55;}

li.menu-item.menu-item-5 {margin-left: 8px;}


/* 言語選択ボタン */
/* ======================================= */
li.menu-item.menu-item-7 {
width: 130px;
font-size: 12px;
letter-spacing: 0px;
margin-left: 8px;}

details.accordion-002 {
position: absolute;
transform-origin: top;
top: 30px;}

.accordion-002 {
max-width: 500px;
margin-bottom: 7px;
border: 2px solid #000000;
border-radius: 20px;
background-color: #fff;}

.accordion-002 summary {
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
padding: 8px 16px;
color: #000000;
font-weight: 700;
cursor: pointer;}

.accordion-002 summary::-webkit-details-marker {display: none;}

.accordion-002 summary::after {
transform: translateY(-25%) rotate(45deg);
width: 5px;
height: 5px;
border-bottom: 3px solid #000;
border-right: 3px solid #000;
content: '';
transition: transform .3s;
margin-left: 10px;}

.accordion-002[open] summary::after {transform: rotate(225deg);}

.accordion-002 p {
transform: translateY(-10px);
opacity: 0;
margin: 0;
padding: 0 2em 1.5em;
color: #000000;
transition: transform .5s, opacity .5s;}

.accordion-002[open] p {
transform: none;
opacity: 1;
text-align: center;}

.accordion-002[open] p.lang-list-jp {padding-top: 1em;}

a.lang-list {text-decoration: none;}

.accordion-002[open] p :hover {
letter-spacing: 0.15em;
color: #000;
opacity: 0.55;
font-weight: bolder;}


/* ハンバーガーメニュー */
/* ======================================= */
.hamburger {
display: none;
background: none;
border: none;
font-size: 24px;
cursor: pointer;
color: #000;
width: 30px;
height: 80px;}

.hidden-menu {display: none;}

.mobile-menu {
position: fixed;
top: 70px;
left: 0;
width: 100%;
height: 100%;
background-color: #fff;
display: none;
flex-direction: column;
padding: 80px 0 0 0;
z-index: 999;}

.mobile-menu-item {
list-style: none;
padding: 15px 5%;
border-bottom: 1px solid #fff;}

.mobile-menu-item:last-child {border-bottom: none;}

.mobile-menu-item a {
text-decoration: none;
color: #000;
font-weight: 700;
display: block;
transition: color 0.3s;
font-size: 15px;
letter-spacing: 0.125em;}

.mobile-menu-item a:hover {color: #000;}

/* コンテンツ */
/* ======================================= */

main.contents {
display: flex;
flex-direction: column;
width: 100%;}

div#main-wrapper {
width: 1000px;
margin: 0 auto 80px;}

/* トップ画像 ----------------------------------------------------------------- */

section.top-block {
margin-top: 90px;
width: 100%;
height: auto;
padding-top: 10px;
background-color: white;}

img.tablet-img {display: none;} /* タブレット用 トップ画像 非表示 */

img.sp-img {display: none;} /* スマホ用 トップ画像 非表示 */


/* //トップ画像 --------------------------------------------------------------- */

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

section.calendar {
display: flex;
margin-bottom: 105px;
margin-top: 100px;} /* カレンダー全体の枠 */

table.calendarAll {height: 280px;} /* カレンダーcell自体のheight */

tr.cal {height: 20px;} /* カレンダー 年と月を上に詰める */

.calendar-ttl {
display: flex;
justify-content: center;
align-items: center;} /* カレンダー 年と月 */

.calendar-ttlYear {
font-size: 12px;
align-self: anchor-center;} /* カレンダー 年 */

.calendar-ttlMonth1 {
font-size: 25px;
margin: 0px 18px;}  /* カレンダー 月(数字) */

.calendar-ttlMonth2 {
font-size: 12px;
align-self: anchor-center;}  /* カレンダー 月(英語) */

.monthly {
width: 33%;
height: 470px;} /* 今月のカレンダー */

.calendar-sup {
padding-top: 30px;
font-size: 14px;} /* カレンダーの説明 */

.calendar-sup p {line-height: 1;} /* カレンダーの説明 行間 */

.triangle-cell {
  --triangle-color: #ffc7c7;
  position: relative;
  background-color: #b2d6ed;
  color: black;
  text-align: center;
  overflow: hidden;
  z-index: 1;} /* イベントと教室がある日の三角形を配置するため */

.triangle-cell::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--triangle-color);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  z-index: -1 !important;} /* イベント日のピンクの三角形 */

.triangle-cell2 {
  --triangle-color: #ffc7c7;
  position: relative;
  background-color: #c2eb67;
  color: black;
  text-align: center;
  overflow: hidden;
  z-index: 1;} /* イベントとひろばがある日の三角形を配置するため */

.triangle-cell2::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--triangle-color);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  z-index: -1 !important;} /* イベント日のピンクの三角形 */

p.calendarSup1::before {
content: '■';
font-size: 30px;
margin: 0 6px 0 2px;
color: #b2d6ed;
vertical-align: middle;} /* カレンダーの説明 日本語教室 */

p.calendarSup2::before {
content: '■';
font-size: 30px;
margin: 0 6px 0 2px;
color: #c2eb67;
vertical-align: middle;} /* カレンダーの説明 ひろば */

p.calendarSup2 {padding: 8px 0;} /* カレンダーの説明 ひろば 行間 */

p.calendarSup3::before {
content: '■';
font-size: 30px;
margin: 0 6px 0 2px;
color: #ffc7c7;
vertical-align: middle;} /* カレンダーの説明 イベント */

p.calendarSup0 {padding-top: 12px;} /* カレンダーの説明 事前連絡 */

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

.cal-border {border-left: 1px solid #808080;} /* カレンダー間のborder */

/* 月間お知らせ --------------------------------------------------------------- */

.day-board {
width: 670px;
height: 470px;} /* 今月のデイリーお知らせ */

.calendarPost {
display: flex;
flex-direction: column;
justify-content: end;
width: 639.46px;
margin-left: 29.45px;} /* 月間お知らせの枠 */

.day-boardTtl {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
height: 60.49px;
font-size: 12px;
padding-right: 10px; /* スクロールバー表示の時だけ */} /* 月間お知らせの日付 */

.day-boardTtlDate {
font-size: 25px;
margin: 0px 18px;} /* 月間お知らせの日付(月日) */

.day-boardArea {
width: 100%;
height: 409.51px;
padding-top: 16px;
border-top: 1px solid #808080;
font-size: 15px;} /* 月間お知らせのテキストエリア */

.scroll-content {
height: 392.7px !important;
overflow-y: auto;} /* 月間お知らせが多くてスクロールバーが必要な時に自動的に表示 */

.scroll-content::-webkit-scrollbar {
background: rgba(128, 128, 128, 0.25);
width: 10px;
height: 10px;
border-radius: 20px;} /* 月間お知らせのテキストエリアのスクロールバー */

.scroll-content::-webkit-scrollbar-thumb {
background-color: #808080;
border-radius: 20px;} /* 月間お知らせのテキストエリアのスクロールバー */

.scroll-content::-webkit-scrollbar-thumb:hover {
background-color: #808080;} /* 月間お知らせのテキストエリアのスクロールバー */

/* //月間お知らせ ------------------------------------------------------------- */

/* News (お知らせ) ---------------------------------------------------------- */

section.news {margin-top: 80px;} /* ニュースの一覧 */

h2.news-ttl {
float: left;
line-height: 1;
font-size: 32px;
font-weight: 700;
letter-spacing: 0.06em;} /* ニュースの一覧 左側 */

ul.news-list {
float: right;
width: 75%;
border-bottom: 1px solid #808080;
list-style: none;} /* ニュース一覧 右側 */

ul.news-list li {
display: flex;
justify-content: flex-start;
align-items: center;
width: 100%;
border-top: 1px solid #808080;
flex-wrap: wrap;
flex-direction: row;} /* ニュース一覧 記事タイトル欄 */

p.news-title-list {width: calc(100% - 150px);} /* ニュース一覧 記事タイトル欄 */

ul.news-list li p {
font-size: 14.5px;
line-height: 1.75;
text-align: left;} /* ニュース一覧 記事タイトル欄 文字 */

p.news-single-time {
margin-right: 20px;
width: 130px;} /* ニュース一覧 記事タイトル欄 日付 */

ul.news-list li a {
padding: 20px 0 19px;
display: flex;
color: #000;
width: 100%;
text-decoration: none;} /* ニュース一覧 記事タイトル欄 タイトルリンク */

ul.news-list li a:hover {opacity: 0.55;} /* ニュース一覧 記事タイトル欄 タイトルリンク hover */

.news-yearList {margin: 35px 0 30px 0;} /* ニュースアーカイブ一覧 年の欄 */

/* //News (お知らせ) -------------------------------------------------------- */

/* Facebookの投稿風 写真欄 ------------------------------------------------ */

section.facebook-feed {
background: #ebeff1;
padding: 80px 60px 80px 60px;} /* Facebookの投稿一覧 */

section.facebook-feed .fbf-title {
display: flex;
align-items: baseline;
width: 100%;
max-width: 1480px;
margin: 0 auto;
margin-bottom: 44px;} /* タイトルやアカウント名の１行 */

h2.fbfTitleH2 {
display: inline-block;
font-size: 36px;
font-weight: 700;
margin-right: 20px;} /* Facebookのタイトル文字 */

section.facebook-feed .fbf-title a {
display: inline-block;
font-size: 15px;
font-weight: 700;
color: #3fa0ec;
margin-right: 20px;
text-decoration: none;} /* Facebookユーザー名 */

section.facebook-feed .fbf-title a:hover {opacity: 0.75;} /* Facebookユーザー名マウスホバー */

section.facebook-feed .fbf-title p {
font-size: 14px;
font-weight: 700;} /* フォローミーコメント */

.thum {
display: flex;
gap: 10px;} /* 投稿一覧の横並び */

.thum img {max-width: 100%;}  /* 投稿一覧の横並び */

img.fb-post-img:hover {opacity: 0.75;} /* マウスホバー */

/* //Facebookの投稿風 写真欄 ---------------------------------------------- */

/* グーグルマップ ------------------------------------------------------------- */

iframe.googlemap {
width: 100%;
height: 440px;} /* グーグルマップ */

section.location-map {line-height: 0;} /* グーグルマップとフッターの間の空白をなくす */

/* //グーグルマップ ---------------------------------------------------------- */


/* ニュース個別記事ページ */
/* ======================================= */

ul.breadCrumb {
display: flex;
margin-top: 90px;
padding: 20px 20px 55px;
list-style: none;
font-size: 14px;
font-weight: bold;} /* パンくずリスト */

ul.breadCrumb a {text-decoration: none;} /* パンくずリスト リンク */

ul.breadCrumb a:hover {opacity: 0.55;} /* パンくずリスト リンク hover */

li.bread-child1 ::before {
content: "/";
margin: 0 .6em;
color: #777;
font-weight: 700;} /* パンくずリスト 区切り */

li.bread-child2::before {
content: "/";
margin: 0 .6em;
color: #777;
font-weight: 700;} /* パンくずリスト 区切り */

h1.subPageTitle {
margin-bottom: 15px !important;
font-size: 30px;
font-weight: 800;
margin: 0 auto 30px !important;
width: 100%;
max-width: 1000px;
padding: 0 20px;
overflow: hidden;
box-sizing: border-box;
line-height: 53px;} /* 個別記事タイトル */

.subPageContents {
width: 100%;
padding: 0 20px;
margin: 0 auto;
box-sizing: border-box;
transition: 0.3s all;} /* 個別記事日付と本文 */

.news-postDate {
font-size: 18px;
margin-bottom: 20px;} /* 個別記事日付 */

img.news-image {
width: 100%;
margin-bottom: 50px;} /* 個別記事画像 */

.singleContainer {
margin-bottom: 50px;
font-size: 14.5px;} /* 個別記事本文の枠 */

.back-left {
display: flex;
justify-content: center;} /* 記事一覧へ戻る矢印 */

a.backBtn :hover {
opacity: 0.65;} /* 記事一覧へ戻る矢印 hover */

img.backBtn-img {
transform: rotate(180deg);
width: 100px;} /* 記事一覧へ戻る矢印 */


/* ニュースアーカイブのページ */
/* ======================================= */

/* 年のアコーディオンメニュー
----------------------------------------------------------------------------------*/

.ac2 {width: 320px;
position: absolute;
z-index: 10;} /* 幅 */

.ac2 dl, .ac2 dt, .ac2 dd {margin: 0; padding: 0;}

.ac2 dl+dl {margin-top: 1rem;}

.ac2 dt {padding: 10px;}

.ac2 dl {
position: relative;
overflow: hidden;
}

.ac2 dl>input {
display: none;
}

.ac2 dt {
position: relative;
z-index: 1;
padding: 13px 20px 11px;
cursor: pointer;
background: #fff;
border: solid 1px #000;
font-size: 14px;} /* 現在の年の欄 */

.ac2 dd {
position: absolute;
visibility: hidden;
transform: translateY(-100%);
transition: .4s;
background: #fff;
border: solid 1px #000;
border-top: none;} /* アーカイブ年の欄 */

.ac2 dl>input:checked+label+dd {
position: relative;
visibility: visible;
transform: translateY(0);}

.ac2 dt::before {
content: '';
position: absolute;
top: 50%;
right: 7%;
border-style: solid;
border-width: 10px 7px 0 7px;
border-color: #000 transparent transparent transparent;
transform: translateY(-50%);
transition: .4s;} /* アーカイブ年の欄 三角形 */

.ac2 dl>input:checked+label>dt::before {transform: translateY(-50%) rotate(180deg);}

p.archYear {border-top: 1px dotted #000;} /* アーカイブ年のborder-top */

.ac2 p a {
display: block;
width: 100%;
padding: 10px 20px;
box-sizing: border-box;
text-decoration: none;
font-size: 14px;} /* アーカイブ年のリンク */

.ac2 p a:hover {
opacity: 0.75;} /* アーカイブ年のリンク hover */

/* ニュースのアーカイブ一覧
----------------------------------------------------------------------------------*/

ul.newsArchivelList {
list-style: none;
border-top: 1px solid #808080;} /* ニュースアーカイブ一覧の枠 */

li.archivePost {
padding: 30px 0;
border-bottom: 1px solid #808080;
display: flex;
justify-content: flex-start;} /* ニュースアーカイブ一覧の１行 */

.archivePostDate {width: 20%;} /* ニュースアーカイブ一覧の日付 */

.archivePostTitle {width: 80%;} /* ニュースアーカイブ一覧のタイトル */

li.archivePost a {text-decoration: none;} /* ニュースアーカイブ一覧のリンク */

li.archivePost a:hover {opacity: 0.65;} /* ニュースアーカイブ一覧のリンク hover */


/* 個別ページ */
/* ======================================= */

/* 日本語教室
----------------------------------------------------------------------------------*/

.janLangCl-contents {
width: 100%;
margin-bottom: 45px;
transition: 0.3s all;} /* 上部の説明コンテナ 全体 */

img.janLangCl-img {
width: 100%;
margin-bottom: 27px;} /* 上部の説明コンテナ 画像 */

.janLangCl-leadContent p {
line-height: 165%;
font-size: 16px;
font-weight: 600;} /* 上部の説明コンテナ 文章 */

.janLangCl-list {
width: 100%;
height: auto;
border-top: 1px solid #dddddd;
border-left: 1px solid #dddddd;
border-right: 1px solid #dddddd;
font-size: 16px;} /* 下部の説明コンテナ 全体 */

.janLangCl-listLine {display: flex;} /* 下部の説明コンテナ １行 */

.janLangCl-listLine-L {
width: 25%;
padding: 14px 23px;
border-right: 1px solid #DDDDDD;
border-bottom: 1px solid #DDDDDD;
text-align: left;
line-height: 200%;
background: #EEEEEE;
font-weight: 600;} /* 下部の説明コンテナ 曜日の枠 */

.janLangCl-listLine-R {
width: 75%;
padding: 16px 23px;
border-bottom: 1px solid #DDDDDD;
overflow: hidden;
overflow-wrap: break-word;} /* 下部の説明コンテナ 時間などの枠 */

.janLangCl-listLine-R p {line-height: 200%;} /* 下部の説明コンテナ 時間などのテキスト */

span.janLangCl-listTime {padding-right: 65px; font-weight: 600;} /* 下部の説明コンテナ 時間の右側のPadding */

span.janLangCl-listCost {padding-right: 50px; font-weight: 600;} /* 下部の説明コンテナ 参加費の右側のPadding */

span.janLangCl-listVenue {padding-right: 65px; font-weight: 600;} /* 下部の説明コンテナ 会場の右側のPadding */


br.tablet-br-jlc {display: none;} /* リスト右側 右側 タブレット用改行 */


/* 交流イベント
----------------------------------------------------------------------------------*/

.blank-spaceEvent-upper {height: 45px;} /* 上部のmargin */

.ListType03 {
display: flex;
margin-bottom: 30px;
border: 1px solid #E3E3E3;
background: #F5F5F5;
width: 100%;} /* 表全体の枠 */

.type03-left {
display: table-cell;
width: 33.3%;
vertical-align: middle;
background: #ddd;} /* 画像 枠 */

img.type03-left-img {
width: 100%;
height: 100%;
object-fit: cover;} /* 画像 */

.type03-right {
display: table-cell;
width: 66.7%;
padding: 23px 34px 20px 32px;
vertical-align: top;} /* 左側の説明文 */

.type03-right h4 {
margin-bottom: 20px;
font-size: 17px;
line-height: 1.8;} /* 左側の説明文 イベント名 */

.type03-right p {
margin-bottom: 15px;
font-size: 14px;
line-height: 178%;} /* 左側の説明文 文章 */


/* 私たちについて
----------------------------------------------------------------------------------*/

.ListType02 {
display: flex;
border-top: 1px solid #808080;} /* 表全体の枠 */

.type02-left {
width: 21%;
margin-right: 4%;
font-size: 20px;
font-weight: 700;
letter-spacing: 1.75px;
line-height: 2;
margin-top: 90px;
margin-bottom: 40px;} /* 表の左側 */

.type02-right {
width: 75%;
margin-top: 90px;} /* 表の右側 */

.type02-table {border-top: 1px solid #808080;} /* 右側 テーブル全体 */

.type02-line {
display: flex;
border-bottom: 1px solid #808080;} /* テーブル １行 */

.type02-Lthings {
width: 20%;
font-size: 15px;
padding: 15px 0 11px 0;} /* 右側 年月 flex-direction: column;する */

.type02-Rthings {
width: 80%;
padding: 15px 0 11px 0;} /* 右側 ことがら flex-direction: column;する */

.type02-lineB {
display: flex;
border-bottom: 1px solid #808080;} /* テーブル １行 flex-direction: column;しない */

.type02-LthingsB {
width: 20%;
font-size: 15px;
padding: 20px 0 17px;
line-height: 1.8; } /* 右側 年月 flex-direction: column;しない */

.type02-RthingsB {
width: 80%;
line-height: 1.8;
padding: 20px 0 17px;} /* 右側 ことがら flex-direction: column;しない */


/* 活動内容
----------------------------------------------------------------------------------*/

.first-comment {
padding-top: 41.6px !important;
margin-bottom: 15px !important;
font-size: 14px;} /* 最初の説明文 */

.ListBox {border-top: 1px solid #808080;} /* リスト全体 */

dl.desc-list {
border-bottom: 1px solid #808080;
padding: 30px 0;
display: flex;} /* リスト１行 */

dt.desc-term {
width: 21%;
margin-right: 4%;
font-size: 18px;
font-weight: 700;
letter-spacing: 1.75px;
line-height: 2;} /* リスト左側 */

dd.desc-def {width: 75%;} /* リスト右側 */

dd.desc-def p {line-height: 1.8;} /* リスト右側 行間 */

br.tablet-br {display: none;} /* リスト右側 右側 タブレット用改行 */


/* 入会のご案内 */
/* ======================================= */

dl.desc-list-members {
border-bottom: 1px solid #808080;
padding: 30px 0;
display: flex;} /* 入会案内リスト１行 */

dt.desc-term-members {
width: 55%;
margin-right: 4%;
font-size: 17px;
font-weight: 700;
letter-spacing: 1.75px;
line-height: 2;} /* 入会案内リスト左側 */

dd.desc-def-members {width: 75%;} /* 入会案内リスト右側 */

.grayArea {
width: 100%;
padding: 30px 40px;
background-color: #F5F5F5;
border: 1px solid #E3E3E3;} /* 申込み問い合わせ先 枠 全体 */

.grayAreaTitle {
margin-bottom: 20px;
font-size: 18px;
font-weight: 700;
letter-spacing: 1.75px;
line-height: 2;} /* 申込み問い合わせ先 枠 見出し */


/* フッター */
/* ======================================= */

footer.footer-area {
background: #111;
padding: 60px 0 40px;}

div#footer_inner {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;}

img.footer_logo {
width: 210px;
padding-bottom: 20px;}

.dona {padding-bottom: 40px;}

a.donate-link {
font-size: 13px;
font-weight: 700;
color: #fff;
text-decoration: none;}

a:hover.donate-link {opacity: 0.7;}

ul.footer-sns {
list-style: none;
width: 25px;
padding-bottom: 40px;}

li.footer-fb-icon :hover {opacity: 0.8;}

ul.footer-link {
list-style: none;
display: flex;
font-size: 13px;
font-weight: 700;
gap: 20px;}

ul.footer-link a {
text-decoration: none;
color: #fff;}

ul.footer-link a:hover {opacity: 0.7;}

address.copy {
font-size: 10.5px;
font-weight: 700;
letter-spacing: 0.1em;
color: #fff;
margin-top: 65px;}


/* タブレット用スタイル */
/* ======================================= */
@media screen and (max-width: 1024px) {

.menu-item-1, .menu-item-2, .menu-item-3, .menu-item-4, .menu-item-5 {display: none;} /* グローバルナビにメニュー非表示 */

.hamburger {display: block;} /* ハンバーガーメニューを表示 */

.menu {gap: 15px;}

li.mobile-menu-item.menu-mobile-6 {display: none;} /* ハンバーガーメニューに非表示 */

li.mobile-menu-item.menu-mobile-7 {display: none;} /* ハンバーガーメニューに非表示 */

div#main-wrapper {width: 100%;
padding: 0 6% 0 6%;} /* メインコンテンツ全体の枠 */

img.tablet-img {display: block;} /* タブレット用 トップ画像 表示 */

img.pc-img {display: none;} /* PC用 トップ画像 非表示 */

img.sp-img {display: none;} /* スマホ用 トップ画像 非表示 */

section.calendar {
display: flex;
flex-direction: column-reverse;
margin-bottom: 105px;
margin-top: 60px;} /* カレンダー全体の枠 */

.day-board {
width: 100%;
height: auto;
margin-bottom: 30px;} /* 月間お知らせの枠 */

.day-boardArea {height: auto;} /* 月間おしらせのheight */

.calendarPost {
display: flex;
flex-direction: column;
justify-content: end;
width: 100%;
margin-left: 0px;} /* 月間お知らせの枠 */

.monthly {
display: flex;
width: 100%;
height: auto;
border-top: 1px solid #808080;
padding-top: 20px;} /* 今月のカレンダー */

.calendar-sup {
padding-top: 70px;
padding-left: 50px;} /* カレンダーの説明 */

section.news {
display: flex;
flex-direction: column;} /* ニュースのSectionを縦並びに */

h2.news-ttl {
font-size: 27px;
margin-bottom: 30px;} /* ニュースのタイトル文字 */

h2.fbfTitleH2 {font-size: 27px;} /* Facebook投稿欄 */

ul.news-list {width: 100%;} /* ニュース記事の一覧の幅 */

ul.news-list li {
flex-direction: column;
align-items: flex-start;} /* ニュース記事の一覧の各リンクの日付とタイトル */

p.news-single-time {padding: 15px 0 5px 0;} /* ニュース記事の一覧の各リンクの日付 Padding */

ul.news-list li a {padding: 10px 0 15px;} /* ニュース記事の一覧の各リンクの日付とタイトル Padding */

dt.desc-term {
width: 31%;
margin-right: 4%;} /* Navメニューリンク先 個別ページのリストタイトル 左側 */

dd.desc-def {width: 65%;} /* Navメニューリンク先 個別ページのリスト 右側 */

br.tablet-br {display: block;} /* Navメニューリンク先 個別ページのリスト 右側 タブレット用改行 */

.ListType02 {flex-direction: column;} /* Navメニューリンク先 個別ページのリストタイプ02 全体 */

.type02-line {flex-direction: column;} /* Navメニューリンク先 個別ページのリストタイプ02 縦並び */

.type02-left {
margin-top: 50px;
margin-bottom: 30px;
line-height: 1.75;
width: 100%;} /* Navメニューリンク先 個別ページのリストタイプ02 見出し */

.type02-right {
width: 100%;
margin-top: 0px;} /* Navメニューリンク先 個別ページのリストタイプ02 説明文 */

.type02-Lthings {
width: 100%;
padding-top: 18px;
padding-bottom: 0px;} /* Navメニューリンク先 個別ページのリストタイプ02 説明文の年月 */

.type02-Rthings {
width: 100%;
padding: 0px 0 20px;} /* Navメニューリンク先 個別ページのリストタイプ02 説明文の事柄 */

dl.desc-list-members {flex-direction: column;} /* 入会案内リスト 活動方法 項目 縦並び */

dd.desc-def-members {width: 100%;} /* 入会案内リスト 活動方法 説明文 横幅 */

img.type03-left-img {object-fit: contain;} /* 交流イベントページ 画像 */

.janLangCl-listLine-L {width: 40%;} /* 日本語教室ページ 曜日欄 */

.janLangCl-listLine-R {
width: 60%;
padding: 16px 32px;} /* 日本語教室ページ 詳細欄 */

br.tablet-br-jlc {display: block;} /* 日本語教室ページ 詳細欄 タブレット・スマホ用改行 */

ul.breadCrumb {visibility: hidden;} /* ニュース個別記事ページ パンくずリスト 非表示 */

h1.subPageTitle {padding: 0;} /* ニュース個別記事 タイトルの幅 */

.subPageContents {padding: 0;} /* ニュース個別記事 日付と本文の幅 */

li.archivePost {font-size: 13.5px;} /* ニュースアーカイブ一覧の文字サイズ */

.archivePostDate {width: 25%;} /* ニュースアーカイブ一覧の日付 */

.archivePostTitle {width: 75%;} /* ニュースアーカイブ一覧のタイトル */

iframe.googlemap {
width: 100%;
height: 400px;}  /* グーグルマップの設定*/

}


/* スマートフォン用スタイル */
/* ======================================= */
@media screen and (max-width: 767px) {

.menu-item {display: none;} /* グローバルナビにメニュー非表示 */
            
.hamburger {display: block;} /* ハンバーガーメニューを表示 */

li.mobile-menu-item.menu-mobile-1 {margin-top: 70px;} /* ハンバーガーメニューの上部余白 */

li.mobile-menu-item.menu-mobile-7 {display: block;} /* ハンバーガーメニューに言語選択ボタンを表示 */

details.accordion-002 {
font-size: 15px;
top: 100px;} /* ハンバーガーメニューの言語選択ボタンの設定 */

li.mobile-menu-item.menu-mobile-6 {
display: block;
margin-top: 25px;} /* ハンバーガーメニューにFacebookアイコンを表示 */

div#main-wrapper {
width: 100%;
margin: 0 auto 50px;} /* メインコンテンツ全体の枠 */

img.sp-img {display: block;} /* スマホ用 トップ画像 表示 */

img.pc-img {display: none;} /* PC用 トップ画像 非表示 */

img.tablet-img {display: none;} /* タブレット用 トップ画像 非表示 */

.day-boardArea {height: auto;} /* 月間おしらせのheight */

.day-board {margin-bottom: 30px;} /* 月間おしらせと今月のカレンダーの間隔 */

.monthly {display: block;
border-top: 1px solid #808080;
padding-top: 25px;} /* 今月のカレンダー */

.monthly table {
width: 100%;
margin: 0 auto;} /* 今月のカレンダー */

.calendar-sup {
padding-top: 30px;
padding-left: 0px;} /* 今月のカレンダーと説明の間隔 */

section.calendar {margin-bottom: 60px;} /* カレンダーの枠 */

h2.news-ttl {
font-size: 27px;
margin-bottom: 30px;} /* ニュースのタイトル文字 */

dl.desc-list {flex-direction: column;} /* Navメニューリンク先 個別ページのリスト */

dt.desc-term {
width: 100%;
margin-right: 0%;
margin-bottom: 10px;} /* Navメニューリンク先 個別ページのリスト 見出し */

dd.desc-def {width: 100%;} /* Navメニューリンク先 個別ページのリスト 説明文 */

br.tablet-br {display: none;} /* Navメニューリンク先 個別ページのリスト 説明文 スマホ用改行 */

dt.desc-term-members {
width: 100%;
margin-right: 0%;
margin-bottom: 10px;} /* 入会案内リスト 見出し */

.ListType03 {
flex-direction: column;
margin-bottom: 20px;
height: auto;} /* 交流イベントページ 表全体の枠 */

.type03-left {
width: 100%;
background: transparent;} /* 交流イベントページ 画像 */

.type03-right {
width: 100%;
padding: 12px 20px;} /* 交流イベントページ 説明文 */

img.janLangCl-img {margin-bottom: 25px;} /* 日本語教室ページ 画像 */

.janLangCl-leadContent p {font-size: 15px;} /* 日本語教室ページ 画像下テキスト */

.janLangCl-contents {margin-bottom: 33px;} /* 日本語教室ページ 画像下テキスト下部余白 */

.janLangCl-listLine {flex-direction: column;} /* 日本語教室ページ リスト 項目縦並び */

.janLangCl-listLine-L {
width: 100%;
padding: 12px 23px;
font-size: 14px;
line-height: 160%;} /* 日本語教室ページ リスト 曜日欄 */

.janLangCl-listLine-R {
width: 100%;
padding: 13px 21px;
font-size: 14px;} /* 日本語教室ページ リスト 詳細欄 */

p.news-single-time {width: 100% !important;} /* ニュース記事リスト 日付 */

p.news-title-list {width: 100% !important;} /* ニュース記事リスト タイトル */

h1.subPageTitle {
font-size: 24px;
margin: 0 auto 35px;
line-height: 1.4em;} /* ニュース個別記事 タイトル */

.news-postDate {font-size: 15px;} /* ニュース個別記事 日付 */

li.archivePost {flex-direction: column;} /* ニュースアーカイブ一覧の１行 縦並び */

.archivePostDate {
width: 35%;
margin-bottom: 10px;} /* ニュースアーカイブ一覧の日付 */

ul.news-list li a {padding: 5px 0 15px;} /* ニュース記事の一覧の各リンクの日付とタイトル Padding */

.archivePostTitle {width: 100%;} /* ニュースアーカイブ一覧のタイトル */

p.news-title-list {width: 100%;} /* ニュースのタイトル文字 横幅 */

img.news-image {margin-bottom: 25px;} /* 個別記事画像 */

.grayArea {padding: 20px 30px;} /* 申込み問い合わせ先 枠 全体 */

section.facebook-feed {padding: 40px 20px;}  /* Facebook投稿枠のPadding設定*/

section.facebook-feed .fbf-title {
margin-bottom: 0px;
flex-wrap: wrap;
row-gap: 0;
padding-bottom: 30px;} /* Facebook投稿欄のタイトルなど */

h2.fbfTitleH2 {
font-size: 27px;
margin-bottom: 10px;
margin-right: 10px;} /* Facebook投稿欄 */

section.facebook-feed .fbf-title a {
margin-bottom: 10px;
margin-right: 0;} /* Facebook投稿欄のユーザー名 */

section.facebook-feed .fbf-title p {
font-size: 12px;
line-height: 1.5;
margin-left: 10px;} /* Facebook投稿欄のフォローミーコメント */

.thum {
display: flex;
width: 100%;
height: auto;
flex-wrap: wrap;
justify-content: space-between;} /* 写真の並びの設定 */

.fb-photo {
width: calc(100% / 2);
height: auto;
display: flex;
flex-direction: column;
box-sizing: border-box;
flex-basis: calc(50% - 5px);
margin-bottom: 10px !important;} /* 写真の並びの設定 */

iframe.googlemap {width: 100% !important;} /* グーグルマップの設定*/

ul.footer-link {
flex-direction: column;
text-align: center;}  /* フッターのリンク集の設定 */

address.copy {
font-size: 10px;
letter-spacing: 0em;}  /* フッターのコピーライトの設定 */

}


/* モバイルメニュー表示時のスタイル */
/* ======================================= */
.show-mobile-menu {display: flex;}