@charset "UTF-8";
/* ページの個別デザイン用CSS */

/* 全ての要素に box-sizing: border-box; を適用 */
* {
    box-sizing: border-box;
}

/* 他のスタイルの設定 */
body {
    margin: 0;
    padding: 0;
}



/* オレンジ線*{border:dotted 1px #ff6600;} */
div {
    margin: 0;
    padding: 0;
    margin-bottom: 5px;
}


/* <div id="boxinfo">*/
#boxinfo {
    margin-left: 10px;
}

#boxinfo ul {
    font-size: 100%;
}

/* <div id="boxplans">*/
#boxplans {
    width: 180px;
    position: absolute;
    top: 120px;
    right: 5px;
}

#boxplans ul {
    font-size: 100%;
}

/* <div id="boxinfo1">*/
#boxinfo1 {
    margin-left: 10px;
}

#boxinfo1 ul {
    font-size: 100%;
}

/* <div id="boxinfo2">*/
#boxinfo2 {
    margin-left: 10px;
}

#boxinfo2 ul {
    font-size: 100%;
}

/* <div id="boxinfo3">*/
#boxinfo3 {
    margin-left: 10px;
}

#boxinfo3 ul {
    font-size: 100%;
}

/* <div id="boxinfokaren">*/
#boxinfokare {
    margin-left: 10px;
}

#boxinfokaren ul {
    font-size: 1.4rem;
    margin-left: 20px;
    list-style: none;
}

/* header部分のアンダーライン*/
p.blueline {
    height: 20px;
    background: url(img2/line-blue.png) top left repeat-x;
    max-width: 100%;
    margin: auto;
}


/* midashiの線の種類設定*/
.midasi1 {
    border-left: 12px solid #ff0000;
    border-bottom: 2px solid #ff0000;
    margin-top: 10px;
}

.midasi2 {
    border-left: 7px solid #ff6633;
    margin: 15px 6px 6px 30px;
}

.midasi3 {
    border-left: 4px solid #9933ff;
    border-bottom: 2px solid #9933ff;
    margin: 3px 6px 6px 10px;
}

.alpha {
    list-style-type: upper-alpha;
}

.roman {
    list-style-type: upper-roman;
}


/* ナビ関係 */
/* ナビの設定 メイン部分上段 */

.navigation {
    list-style: none;
    background-color: #9fdef9; /* ← 修正ここ */
    width: 98%;
    left: 0px;
    border-bottom: 1px solid #00f;
    border-top: 1px solid #00f;
    min-height: 50px;
    position: relative;
}

.navigation > ul {
    letter-spacing: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.navigation > ul > li {
    position: relative;
    text-align: center;
    width: 20%;
    float: left;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 2;
    border-right: solid 1px #b3e5fc; /* ボーダー色も調整 */
}




/* サブメニューのスタイル */
.navigation li ul.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #eaf7ff; /* ← 修正ここ */
    border: 1px solid #9cf;
    margin: 0;
    padding: 0;
    z-index: 100;
    list-style: none;
}

.navigation li ul.submenu li {
    float: none;
    width: 100%;
    font-size: 1.2rem;
    border-right: none;
    border-bottom: 1px solid #c1e7ff; /* 境界線も薄く */
}

/* マウスオーバー時にサブメニューを表示 */
.navigation > ul > li:hover > ul.submenu {
    display: block;
}

.navigation li a {
    display: block;
    color: #000;
    text-decoration: none;
    padding: 8px 0;
}

.navigation li a:hover {
    background-color: #57bae7; /* ホバー色は中間色に */
}
/* clearfix（float解除）を navigation に適用 */
.navigation::after {
    content: "";
    display: block;
    clear: both;
}

/* サブリストの文字、縮小時の対応 */
@media screen and (max-width: 800px) {
    .navigation li ul.submenu li {
        font-size: 1rem; /* スマホでは少し小さく表示 */
        padding: 4px 0;
    }

    .navigation li ul.submenu {
        font-size: 1rem;
    }

    .navigation li ul.submenu li a {
        word-break: break-word; /* 長い語句でも折り返し */
    }
}


/* 折りたたみ　details 使用の場合 ▼がつく */
details {
    width: 100%;
}

details > summary {
    padding: 10px 0;
    margin: 0;
    background-color: #eee;
    border: none;
    font-size: 1.6rem;
    font-weight: 600;
}

details > p {
    border-radius: 0 0 10px 10px;
    background-color: #ffe;
    box-shadow: 2px 2px 3px black;
}

/* アコーディオン accordion_boxs使用の場合*/
.accordion_box {
    width: 750px;
}

.accordion_box label {
    border-bottom: solid 1px white;
    background-color: #eee;
    cursor: pointer;
    padding: 6px;
    font-weight: bold;
    display: block;
}

.accordion_box input {
    display: none;
}

.accordion_box .accordion_contents {
    display: none;
}

.accordion:checked + .accordion_contents {
    display: block;
    border: solid 1px #ccc;
    margin: 0px;
    padding: 10px;
}

/* 画像関係*/
p.kazari {
    height: 26px;
    background: url(img2/line5.png) top;
    background-repeat: space;
    width: 80%;
    margin: auto;
}

p.ha {
    height: 20px;
    background: url(img2/001.gif) top left;
    background-repeat: space;
    width: 30%;
    margin: auto;
}

#map h1 {
    text-align: left;
}

#map img {
    padding-left: 10px;
    width: 90vw;
}

#gaikan2 {
    width: 15vw;
    background-repeat: no-repeat;
}

#boxsyasin {
    float: right;
    max-width: 30vw;
}


/* 画面幅の40%の幅で画像を表示 */
.image-vw {
    width: 300px;
}



#boxhqbsample {
    float: right;
}

#boxchinaembassyQR {
    text-align: center;
    width: 30vw;
    margin: 20px 100px;
}

#boxQR {
    text-align: center;
    width: 20vw;
    margin: 20px 100px;
}

.pdfdl {
    text-align: center;
}

/*文字の先頭にアイコンを挿入　→HTMLに　<i class="icon"></i> タグを挿入*/
.icon {
    display: inline-block;
    width: 20px;
    height: 13px;
    background: url(img2/AB001.png) no-repeat;
}


/* 丸枠、四角枠の設定*/
.waku1 {
    border: dotted 1px #ff6600;
    background: #fff8dc;
}

.waku2 {
    border: dotted 1px #87cefa;
    background: #f7fffa;
}

.waku3 {
    border: dotted 1px #ff6600;
    background: #ffe4e1;
}

.wakumaru1 {
    margin: 1em;
    text-align: left;
    font-weight: normal;
    border: solid 2px #cd853f;
    border-radius: 15px;
}

.wakumaru2 {
    margin: 1em;
    text-align: left;
    font-weight: bold;
    border: solid 2px #87cefa;
    border-radius: 15px;
    width: 60%;
}

.jusyo {
    font-size: 1.3rem;
    line-height: 1.4;
    margin: 1em;
    text-align: left;
    font-weight: bold;
    border: solid 2px #87cefa;
    border-radius: 15px;
    max-width: 500px;
}


/* マーカー*/
/* うすいpink*/
.marker1 {
    display: inline-block;
    line-height: 1.0;
    background: linear-gradient(transparent 20%, #ffccd5 20%);
}

/* yellow*/
.marker2 {
    display: inline-block;
    line-height: 1.0;
    background: linear-gradient(transparent 20%, yellow 20%);
}

/* 濃い目のはっきりピンク*/
.marker3 {
    background: linear-gradient(transparent 20%, #ee82ee 20%);
    display: inline-block;
    line-height: 1.0;
}

/* 水色*/
.marker4 {
    background: linear-gradient(transparent 20%, #a8eaff 20%);
    display: inline-block;
    line-height: 1.0;
}

/* 黄緑*/
.marker5 {
    background: linear-gradient(transparent 20%, #8EFF66 20%);
    display: inline-block;
    line-height: 1.0;
}

/* 文字色の指定*/
.red {
    color: red;
}


.blue {
    color: blue;
}

.green {
    color: green;
}

.purple {
    color: purple;
}

.bold {
    font-weight: bold;
}


/* 表の設定*/
table {
    width: 98%;
    border-collapse: collapse;
    border: 1px solid #ccc;
    line-height: 1.5;
}

table th {
    font-size: 1.5rem;
    max-width: 20vw;
    padding: 5px 5px;
    border: 1px solid #ccc;
    line-height: 1.5;
}

table td {
    font-size: 1.4rem;
    padding: 5px 5px;
    border: 1px solid #ccc;
    line-height: 1.5;
}

table tr {}

caption {
    font-size: 1.5rem;
    font-weight: bold;
    width: 200px;
    text-align: left;
    margin: 0 0 0 0px;
    padding: 0 0 0 20px;
}


#pdfdownroad th {
    width: 170px;
    height: 30px;
    background-color: lightgoldenrodyellow;
}

#pdfdownroad td {
    min-width: 170px;
    height: 30px;
}

.kankatu td {
    vertical-align: middle;
}

#cnvisa table {
    font-size: 1.8em;
    line-height: 1.5;
    width: 870px;
}

#tel li {
    font-size: 1.5rem;
}

.bikou {
    width: 390px;
}

/* 順路*/
.jun {
    max-width: 950px;
    font-size: 1.5rem;
}

.jun th {
    width: 40%;
    background-color: orange;
}

.jun td {
    height: 40px;
    padding-left: 10px;
    padding-right: 10px;
}

/* 業務内容一覧*/
/* <div id="boxpic1">*/
.ichi {
    width: 100%;
    font-size: 1.5rem;
    line-height: 1.4;
}

.ichi th {
    background-color: orange;
}

.ichi td {
    font-size: 1.5rem;
    line-height: 2;
    padding-left: 5px;
    padding-right: 5px;
}

/* <div id="boxsoshiki">*/
.soshiki {
    border-collapse: separate;
    max-width: 500px;
    border-collapse: collapse;
    margin-left: 0;
}

.soshiki table {
    color: #333333;
    border-collapse: collapse;
    text-align: left;
}

.soshiki th {
    width: auto;
    font-size: 1.5rem;
    line-height: 1.5;
    padding: 4px 5px;
    text-align: left;
    background-color: #fff0f5;
}

.soshiki td {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 4px 5px;
    text-align: left;
    vertical-align: top;
}

#table2 {}

#table2 th {
    width: 250px;
}

#table2 td {}


.nagare {
    font-size: 1.5rem;
    margin-left: 50px;
    width: 200px;
}

.nagare li {
    line-height: 1.5;
    padding: 5px;
    text-align: left;
}

.nagare2 {}


/* リンクページの表の設定*/
table.single {
    font-size: 1.5rem;
    max-width: 600px;
}

table.double {
    font-size: 1.5rem;
    max-width: 900px;
}

table.double th {
    width: 250px;
}

table.double td {
    width: 600px;
}

table.triple {
    font-size: 1.5rem;
    width: 100%;
    max-width: 900px;
    border-collapse: collapse;
}

table.triple th,
table.triple td {
    padding: 0.5em;
    text-align: left;
}

/* 1列目（上寄せ） */
table.triple td:first-child,
table.triple th:first-child {
    vertical-align: top;
}

/* 2列目（中央寄せ） */
table.triple td:nth-child(2),
table.triple th:nth-child(2) {
    vertical-align: middle;
}

/* 3列目（上寄せ） */
table.triple td:nth-child(3),
table.triple th:nth-child(3) {
    vertical-align: top;
}



/* リストを横並びにする設定*/
.narabi li {
    display: inline-block;
}

/* 　説明などに使う　囲み記事をdtとddに分けて整理　カレン住所に使用　Q＆Aなどにも利用可能 */
dl {
    padding: 0;
}

dt {
    padding: 2px 20px;
}

dd {
    margin: 5px 30px;
}

/* ddの文字の大きさ*/
/* dtとddを横並びにする場合は、dt{float: left;}　dt::after{content: "："}　 */




/* menu ページ*/
.menu {
    max-width: 900px;
    margin: 0 auto;
}

.menu h3 {
    font-size: 1.5rem;
    line-height: 1.4;
    margin: 6px 0;
    background-color: lightgoldenrodyellow;
}

.menu ul {
    font-size: 1.3rem;
    line-height: 1.3;
    padding-left: 40px;
}

.menu li {
    margin: 10px 20px;
}

.menu a {}


/* 上に戻るボタン HTML5でなしに*/

/* 華僑報バーナーの大きさ*/
img.barner {
    width: 100px;
}


Resources

/* 余白を入れる */
.mgr-10 {
    margin-right: 10px;
}

.mgr-20 {
    margin-right: 20px;
}

.mgr-30 {
    margin-right: 30px;
}

.mgr-50 {
    margin-right: 40px;
}



/*　リンクジャンプするときに少し画面を上にする  <a id="" class="anchor">*/
.anchor {
    scroll-margin-top: 80px; /* ヘッダーの高さに合わせて調整 */
  }

/* コピーライト */
div#copy {
    color: #999;
    font-size: 0.8em;
    font-style: normal;
    text-align: left;
}




/* リンクのリスト */
.underline li {
    font-size: 1.8em;
    list-style-type: disc;
    line-height: 1.5;
    border-bottom: 1px solid #ccc;
    max-width: 600px;
}



/* 字の下にライン */

.underline1 {
    border-bottom: solid 3px #ff0000;
}

p.underline1 {
    border-bottom-style: solid;
}

p.underline2 {
    border-bottom-style: double;
}

p.underline3 {
    border-bottom-style: groove;
}

p.underline4 {
    border-bottom-style: ridge;
}

p.underline5 {
    border-bottom-style: outset;
}

p.underline6 {
    border-bottom-style: dashed;
}

p.underline7 {
    border-bottom-style: dotted;
}

p.iline1 {
    background-image: url(img2/grad-skyblue.png);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline2 {
    background-image: url(img2/bluebar.gif);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline3 {
    background-image: url(img2/bar-blue.png);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline4 {
    background-image: url(img2/bar-green.png);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline5 {
    background-image: url(img2/greenbar.gif);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline6 {
    background-image: url(img2/redbar.gif);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline7 {
    background-image: url(img2/yellowbar.gif);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline8 {
    background-image: url(img2/purplebar.gif);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline9 {
    background-image: url(img2/orange.png);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}

p.iline10 {
    background-image: url(img2/gray.png);
    background-repeat: repeat-x;
    background-position: 5px 0;
    text-align: center;
    background-color: #fff;
    width: 900px;
    padding-top: 10px;
    max-width: 100%;
    margin: 0 20px 10px 5px;
}


/* 写真を横並びに表示する*/
#cards {
    display: flex;
    flex-wrap: wrap; /* カードを折り返す */
    justify-content: flex-start;
    gap: 10px; /* カード間の隙間 */
    margin-top: 20px; /* 上下の余白を適宜調整 */
}

.card {
    width: calc(50% - 10px); /* 2列にするための幅 */
    border: 1px solid lightgray;
    box-sizing: border-box; /* パディングとボーダーを含めて幅を計算 */
    margin-bottom: 20px; /* 各カードの下に余白を追加 */
}

.picture {
    display: flex;
    justify-content: center; /* 横方向で画像を中央配置 */
    align-items: center; /* 高さ方向で画像を中央配置 */
    height: 200px; /* 画像の最大高さを設定 */
    overflow: hidden; /* 親要素からはみ出る部分を隠す */
}

.picture img {
    max-width: 100%;
    max-height: 100%; /* 親要素の高さに合わせて画像を縮小 */
    object-fit: contain; /* 縦横比を保持し、画像全体を表示 */
}

.description {
    width: 100%;
    height: auto; /* 内容に応じて高さを自動調整 */
    padding-right: 12px;
    padding-left: 12px;
    box-sizing: border-box;
}

.description p {
    font-size: 13px;
    color: dimgray;
}

/* ---------------------------
   ブログ記事コンテナのスタイル
--------------------------- */
.blog-container {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 1px solid #ced4da;
    border-radius: 12px;
    padding: 3px 10px;
    margin: 20px 0;
    max-width: 820px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* おしゃれなアクセント線 */
.blog-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(to bottom, #4facfe 0%, #00f1fe2e 100%);
}

/* ホバー時のエフェクト */
.blog-container:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}

/* 見出しスタイリング */
.blog-container h3 {
    color: #343a40;
    font-size: 1.4rem;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 1px solid #dee2e6;
}

/* ブログ記事リスト */
.blog-container #blog-entries {
    margin: 0;
}

.blog-container #blog-list {
    list-style-type: none;
    padding-left: 10px;
}

.blog-container #blog-list li {
    margin-bottom: 2px;
    padding-left: 5px;
    border-bottom: 1px dotted #eee;
}

.blog-container #blog-list li:last-child {
    border-bottom: none;
}

.blog-container #blog-list li:hover {
    background-color: #f0f0f0;
}

.blog-container #blog-list a {
    color: #0066cc;
    text-decoration: none;
    font-size: 16px !important;
    transition: color 0.3s;
}

.blog-container #blog-list a:hover {
    color: #ff6600;
    text-decoration: underline;
}

.blog-container p a {
    color: #666;
    font-size: 14px;
    text-decoration: none;
}

.blog-container p a:hover {
    text-decoration: underline;
}

/* ---------------------------
   スライダー関連
--------------------------- */

/* 横並び用の親コンテナ */
.blog-photo-container {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap; /* 画面が狭いとき縦並びにする */
}

/* 左側の文章部分 */
#blog-entries {
    flex: 1;
    min-width: 250px;
}


/* スライダー全体 */
.slider {
    position: relative;
    width: 300px;
    max-width: 500px;
    height: 300px;
    margin-top: 20px;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    background-color: #000;
  }
  
 /* スライドラッパー */
.slide-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    cursor: pointer;
  }
  
  /* 表示中スライド */
  .slide-wrapper.active {
    opacity: 1;
    z-index: 1;
  }
  