@charset "utf-8";

/*--------------------*/
/*フォント*/
/*--------------------*/

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300&family=Zen+Old+Mincho:wght@400;700&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");

.material-symbols-outlined {
    font-variation-settings:
    'FILL' 1,
    'wght' 100,
    'GRAD' 0,
    'opsz' 20
}

/*--------------------*/
/*色*/
/*--------------------*/

:root {
    --color__main: #F9F9F9;
    --color__sabu: #ededed;
    --color__sabu2: #6b6b6b;
    --color__text: #333333;
    --color__accent: #daf1f9;
    --color__accent2: #499292;
    --color__accent3: #3C5A68;
}

/*--------------------*/
/*ベタ打ち*/
/*--------------------*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    line-height: 1.75em;
}

html {
    font-size: 18px;
    font-family: 'Zen Old Mincho', serif;
    color: var(--color__text);
}

body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    top: 0;
    left: 0;
    font-size: 1rem;
    background-color: var(--color__main);
}

main, footer {
    width: 40rem;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Kiwi Maru', serif;
    line-height: 1em;
    margin: 0 0 0.5em;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.2rem;
}

h3 {
    font-size: 1.7rem;
}

h4 {
    font-size: 1.4rem;
}

h5 {
    font-size: 1.2rem;
}

h6 {
    font-size: 1rem;
}

small {
    font-size: 0.8rem;
}

a {
    color: var(--color__accent3);

    &:visited {
        color: var(--color__accent2);
    }

    &:hover {
        color: var(--color__text);
    }

}

img {
    vertical-align: middle;
}

ul, ol {
    list-style-position: inside;
    padding-left: 1em;
    text-indent: -1em;
}

audio {
    margin: 1rem 0;
}

strong {
    color: var(--color__main);
    line-height: 1.75rem;
    border: none;
    border-radius: 0.25rem;
    background-color: var(--color__accent3);
}

input[type=text] {
    border: solid 1px var(--color__sabu2);
    border-radius: 0.2rem;
    font-family: 'Zen Old Mincho', serif;
}

input[type=button], input[type=submit] {
    padding: 0.2rem 0.5rem;
    font-size: 0.6rem;
    color: var(--color__sabu2);
    border: solid 1px var(--color__sabu2);
    border-radius: 0.2rem;
    background-color: transparent;

    &:hover {
        background-color: transparent;
        color: var(--color__text);
        border: solid 1px var(--color__text);
        cursor: pointer;
    }
}

input[type="file"] {
    padding: 0.2rem 0.5rem;
    font-size: 0.6rem;
    color: var(--color__sabu2);
    border-radius: 0.2rem;
    background-color: transparent;

    &:hover {
        background-color: transparent;
        color: var(--color__text);
        border: solid 1px var(--color__text);
        cursor: pointer;
    }
}

hr {
    height: 0;
    padding: 0;
    border: 0;
    margin: 1rem 0;
    border-top: dashed 1px var(--color__sabu2);
    background-color: transparent;
}


/*--------------------*/
/*ヘッダー*/
/*--------------------*/

header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 1rem;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    font-family: 'Kiwi Maru', serif;
    text-align: center;
    background-color: var(--color__main);
    border-bottom: solid 1px var(--color__sabu);
    filter: drop-shadow(0 4px 8px var(--color__sabu));

    & * {
        line-height: 1em;
        margin: 0.2rem;
    }

    & h1 {
        margin: 0.5rem;
        font-size: 1.3rem;
        font-weight: normal;
    }

    & a {
        color: var(--color__text);
        text-decoration: none;

        &:visited {
            color: var(--color__text);
        }
    
        &:hover {
            color: var(--color__text);
            text-decoration: underline;
        }
    }

    & p {
        font-size: 0.8rem;

        &::before, &::after {
            content: "-";
        }
    }

}

/*--------------------*/
/*メイン*/
/*--------------------*/

/*簡易投稿エリア*/

.postarea form {
    position: relative;
    margin: 1rem 0;
    padding: 1rem;
    background-color: var(--color__sabu);
    border: solid 1px var(--color__sabu);
    border-radius: 0.5rem;
    
}

.tegalogpost {
    width: 100%;
    min-height: 5rem!important;
    padding: 0.5rem;
    font-family: 'Zen Old Mincho', serif;
    font-size: 1rem;
    color: var(--color__text);
    border: solid 1px var(--color__accent2);
    border-radius: 0.25rem;
    background-color: var(--color__main);

}

.line-control {
    margin-top: 0.5rem;
    color: var(--color__sabu2);
}

.line-control span {
    margin-right: 0.2rem;
}

input[type=submit].postbutton {
    padding: 0.4rem 1rem;
    font-size: 0.8rem;
    color: var(--color__accent2);
    border: solid 1px var(--color__accent2);
    border-radius: 1.2rem;
    background-color: transparent;

    &:hover {
        background-color: transparent;
        color: var(--color__text);
        border: solid 1px var(--color__text);
        cursor: pointer;
    }
}

.hashtagEasyInput {
    margin-right: 0.2rem;
}

.changelink {
    display: none;
}

.decoBtns input[type=button] {
    margin-right: 0.2rem;
}

.catChecks label {
    margin-right: 5px;
    font-size: 90%;
}

/*データセパレータ*/

.dateseparator {
    display: none;
}

/*記事*/

article.post  {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;
    position: relative;
    margin: 1rem 0;
    padding: 1rem;
    background-color: var(--color__main);
    border: solid 1px var(--color__sabu);
    border-top: solid 1px white;
    border-left: solid 1px white;
    border-radius: 0.5rem;
    
    &::after {
        content: " ";
        display: block;
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /*影設定*/
        background-color: var(--color__sabu);
        filter: blur(5px);
        transform: translateX(2px) translateY(4px) scale(1.01) rotate(-0.2deg);
        mix-blend-mode: multiply;
    }

    .header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-family: 'Kiwi Maru', serif;

        .userarea {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .usericon{
            width: 1.5rem;
            height: 1.5rem;
            border-radius: 50%;
            overflow: hidden;
        }

        .username {
            font-size: 0.8rem;
        }

        .fixed {
            display: none;
            align-items: center;
            font-size: 0.8rem;
            color: var(--color__sabu2);
        }

        .fixed span {
            display: block;
        }
    }

    .footer {
        display: flex;
        justify-content: right;
        align-items: center;
        gap: 0.5rem;
        font-family: 'Kiwi Maru', serif;

        .postdate {
            font-size: 0.8rem;
            color: var(--color__sabu2);
        }

        .categories {
            display: flex;
            align-items: center;
        }

        .categories .categorylink {
            display: block;
            margin-left: 0.5rem;
            text-decoration: none;
        }

        .categories .categorylink span {
            display: block;
            padding: 0.05rem 0.5rem;
            font-size: 0.6rem;
            color: var(--color__sabu2);
            border-radius: 1rem;
            border: 1px solid var(--color__sabu2);
        }
        
        .categories .categorylink span:hover {
            color: var(--color__text);
            border: 1px solid var(--color__text);
        }

        .catseparator {
            display: none;
        }

    }

}

/*固定投稿*/

article.logstatus-fixed  {

    .header {
        .fixed {
            display: flex;
        }

    }

}

/*鍵付き投稿*/

.passkeybox {
    display: flex;
    align-items: center;
    gap: 0.5rem;

    .passkeyguide, .passkeyinput, .submitcover {
        display: block;
        line-height: 0;
    }

    .passkeyinput {
        font-size: 1rem;
        max-width: 100%;
    }
}

/*タグ*/

.taglink {
    text-decoration: none;

    &:hover {
        text-decoration: underline;
    }
}

/*ページリスト*/

.pagenavi {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 1rem 1rem;
}

a.pagenumlink {
    width: 1.6rem;
    height: 1.6rem;
    text-align: center;
    font-size: 0.8rem;
    color: var(--color__sabu2);
    text-decoration: none;
    border: solid 1px var(--color__sabu2);
    border-radius: 0.2rem;

    &:hover {
        border: solid 1px var(--color__text);
    }
}

a.pagenumhere {
    color: var(--color__main);
    background-color: var(--color__sabu2);

    &:hover {
        color: var(--color__main);
        background-color: var(--color__text);
    }
}

/*検索*/

.search {

    & span.searchinputs {
        display: grid;
        grid-template: 1fr/3fr 1fr;
        gap: 1rem;
    }

    & input.queryinput {
        padding: 0.2rem 0.5rem;
    }

    & span.submitcover {
        position: relative;
    }

    & input.submitbutton {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

/*複合検索*/

.complexsearch {
    
    & details.searchbox {
        margin-top: 1rem;
    }

    & p.searchbox {
        display: grid;
        grid-template: 1fr/3fr 1fr;
        gap: 1rem;
        margin: 1rem 0;
    }

    & input.queryinput {
        padding: 0.2rem 0.5rem;
    }

    & input.submitbutton {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    & ul {
        list-style: none;
        font-size: 0.8rem;

        & li {
            display: flex;
            margin: 0.5rem 0;
        }

        .solabel {
            display: block;
            width: 5rem;
        }
    
        & select {
            display: block;
        }
    }

}

/*個別投稿ページ*/

.utilitylinks {
    padding: 1rem;
    background-color: var(--color__accent);
    border-radius: 0.5rem;

    & ul {
        list-style: none;
    }
}

/*--------------------*/
/*ナビゲーション*/
/*--------------------*/

nav {
    column-count: 2;

    & >div {
        margin-bottom: 1rem;
        padding: 1rem;
        break-inside: avoid;
        font-size: 0.8rem;
        background-color: var(--color__sabu);
        border-radius: 0.5rem;
    }

    & h2 {
        font-size: 1.3rem;
        font-weight: normal;
    }

    & ul {
        list-style: none;

        .num {
            display: none;
        }
    }
}

/*カレンダー*/

div.calendar {
    font-family: 'Kiwi Maru', serif;

    & table.calendar {
        margin: 0 auto;
        text-align: center;
    }

    & tbody {
        font-family: 'Zen Old Mincho', serif;
    }
}

div.calendar {
    & table.calendar {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 80%;
        text-align: center;
    }

    & table.calendar > * {
        width: 100%;
    }

    & caption {

        display: flex;
        justify-content: center;
        align-items: center;

        & span {
            display: block;
        }

    }

    & tbody, thead {
        & tr {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            width: 100%;
        }

        & th {
            display: block;
        }
    }
}

/*新着画像*/

.imagelist {

    .list {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .imagelistitem {
        display: block;
        width: calc((100% - 1rem)/3);
        height: auto;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        border-radius: 0.25rem;

        & a {
            display: block;
            width: 100%;
            height: 100%;
        }

        & img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
}

/*ハッシュタグ*/
.hashtag {

    & ul.hashtaglist {
        display: flex;
        flex-wrap: wrap;
        column-gap: 0.5em;
        padding-left: 0;
        text-indent: 0;

        & li {
            display: block;
        }

    }

    .taglink {

        &::before {
            content: "#";
        }

    }
}

/*最近の投稿*/

.latestpostlist {

    padding-left: 0;
    text-indent: 0;

    & li {
        margin: 0.5rem 0;
    }

    & span {
        display: none;
    }
}

/*--------------------*/
/*フッター*/
/*--------------------*/

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    padding: 0 0 1rem;
    font-size: 0.8rem;
    font-family: 'Kiwi Maru', serif;

    & span {
        display: block;
    }

    .material-symbols-outlined {
        font-size: 1rem;

    }

    & a {
        text-decoration: none;
    }
}


/*--------------------*/
/*ページトップ遷移ボタン*/
/*--------------------*/

a.pagetop {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3rem;
    height: 3rem;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    text-decoration: none;
    border: 1px solid var(--color__sabu);
    border-radius: 50%;
    background-color: var(--color__main);
    box-shadow: 0px 0px 4px var(--color__accent);
    filter: drop-shadow(0 4px 8px var(--color__sabu));

    & span {
        display: block;
    }
}


/*--------------------*/
/*汎用装飾*/
/*--------------------*/

/* B:太字(Bold) */
.decorationB {
    font-weight: bold;
}

/* D:削除(Delete) */
.decorationD {
    color: var(--color__sabu2);
    text-decoration: line-through var(--color__sabu2);
}

/* E:強調(Emphasis) */
.decorationE {
    background:linear-gradient(transparent 60%, var(--color__accent) 40%);
}

/* I:斜体(Italic) */
.decorationI {
    font-style: italic;
}

/* Q:引用(Quote) */
.decorationQ {
    margin: 1rem 0;
    padding: 1rem;
    border-left: solid 2px var(--color__sabu2);
}

.decorationQ::before,
.decorationQ::after {
    content: '';
}

.decorationQ + br {
    display: none;
}

/* S:小文字(Small) */
.decorationS {
    font-size: 0.8em;
}

/* T:極小文字(Tiny) */
.decorationT {
    font-size: 0.6em;
}

/* U:下線(Underline) */
.decorationU {
    text-decoration: underline var(--color__text);
}

/*続きを読む*/
.readmorebutton {
    display: block;
    width: 100%;
    margin: 1rem 0;
    padding: 0.2rem;
    border-radius: 1rem;
    text-align: center;
    font-size: 0.8rem;
    font-family: 'Kiwi Maru', serif;
    color: var(--color__sabu2);
    border: 1px solid var(--color__sabu2);
    text-decoration: none;
}

.readmoreclose {
    margin: 1rem 0 0;
}

/*リスト*/

.decorationL {
    & + br {
        display: none;
    }
}

dl.decorationL {
    & dd {
        padding-left: 2rem;
    }
}

/*--------------------*/
/* 埋め込み画像 */
/*--------------------*/

figure.nsfw {
    overflow: hidden; /* ぼかし領域がfigureのボックスからはみ出ないようにする */
}

.imagelink.nsfw {
    overflow: hidden; /* ぼかし領域がfigureのボックスからはみ出ないようにする */
}

img.nsfw {
    filter: blur(9px); /* ぼかす */
}

.imagelink {
    display: block;
    max-width: calc(80% - 1rem);
    height: auto;
    margin: 0.5rem 0;
    border-radius: 0.25rem;
    overflow: hidden;

    & img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    & +br {
        display: none;
    }
}

.embeddedpictbox {
    margin: 0.5rem 0;
    max-width: calc(50% - 1rem);
    height: auto;

    .imagelink  {
        max-width: 100%;
        margin: 0;
    }
    
    & figcaption{
        font-size: 0.8rem;
        color: var(--color__sabu2);
    }

    & +br {
        display: none;
    }
}

/*--------------------*/
/*レスポンシブ*/
/*--------------------*/

@media screen and (max-width: 40rem) {
    header, main, footer {
        width: 100vw;
    }
    
    main {
        padding: 0 1rem;
    }

    .imagelink {
        max-height: calc(100vw - 2rem);
    }

    .passkeybox {
        flex-wrap: wrap;
        row-gap: 1rem;
    }

    nav {
        column-count: 1;
    }
}

/*--------------------*/
/*自由装飾（画像複数カラム化）*/
/*--------------------*/

/*画像の二カラム化*/

.deco-2column {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 0.5rem;
    margin-top: 0.5rem;

    & .imagelink {
        max-width: calc((100% - 0.5rem)/2);
        margin: 0;
        height: fit-content;
    }

    & .embeddedpictbox {
        max-width: calc((100% - 0.5rem)/2);
        margin: 0;
        height: fit-content;
        
        & .imagelink {
            max-width: 100%;
        }
    }
}

/*画像の三カラム化*/

.deco-3column {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 0.5rem;
    margin-top: 0.5rem;

    & .imagelink {
        max-width: calc((100% - 1rem)/3);
        margin: 0;
        height: fit-content;
    }

    & .embeddedpictbox {
        max-width: calc((100% - 1rem)/3);
        margin: 0;
        height: fit-content;

        & .imagelink {
            max-width: 100%;
        }
    }
    
}

/*二カラムmasonry版（敷き詰めるようなデザイン）*/
/*異なる画像幅の画像を並べるときはこちらを推奨*/

.deco-2column_m {
    display: block;
    column-count: 2;
    margin-top: 0.5rem;

    & .imagelink {
        max-width: 100%;
        break-inside: avoid;
        margin: 0 0 0.5rem;
    }

    & .embeddedpictbox {
        max-width: 100%;
        break-inside: avoid;
        margin: 0 0 0.5rem;

        .imagelink  {
            margin: 0;
        }
    }
}

/*三カラムmasonry版*/

.deco-3column_m {
    display: block;
    column-count: 3;
    margin-top: 0.5rem;

    & .imagelink {
        max-width: 100%;
        break-inside: avoid;
        margin: 0 0 0.5rem;
    }

    & .embeddedpictbox {
        max-width: 100%;
        break-inside: avoid;
        margin: 0 0 0.5rem;

        .imagelink  {
            margin: 0;
        }
    }
}

/*--------------------*/
/*その他*/
/*--------------------*/

.url {
    /*ＵＲＬがボックスから食み出ないように設定。*/
    /*ＵＲＬがボックスから食み出ると、レスポンシブデザインが崩れることがある。*/
    word-break: break-all;
}

.embeddedmovie{
    /*動画がボックスから食み出ないように設定。*/
    /*動画がボックスから食み出ると、レスポンシブデザインが崩れることがある。*/
    display: block;
    max-width:100%;
}

.embeddedmovie iframe{
    /*埋め込みコンテンツ（動画）がボックスから食み出ないように設定。*/
    /*埋め込みコンテンツ（動画）がボックスから食み出ると、レスポンシブデザインが崩れることがある。*/
    display: block;
    max-width:100%;
}

iframe.instagram-media {
    /*埋め込みコンテンツ（インスタ）がボックスから食み出ないように設定*/
    /*埋め込みコンテンツ（インスタ）がボックスから食み出ると、レスポンシブデザインが崩れることがある。*/
    max-width: 100% !important;
    min-width: initial !important;
}

.embeddedmusic iframe {
    /*埋め込みコンテンツ（音声）がボックスから食み出ないように設定。*/
    /*埋め込みコンテンツ（音声）がボックスから食み出ると、レスポンシブデザインが崩れることがある。*/
    max-width: 100% !important;
    min-width: initial !important;
}
/* ================================================================ */
/* てがろぐVer 4.5.5β以降で使える、カード型リンク用CSSの抜粋です。 */
/* お使いのスキンのCSSに追記するなどしてご活用下さい。              */
/* ================================================================ */

	/* ---------------------- */
	/* ▼カード型リンクの装飾 */
	/* ---------------------- */
	.cardlink {
		display: inline-block;
		width: 100%;
		max-width: 500px;               /* 最大幅 (※横幅を制限したくない場合はこれを削除して下さい) */
		padding: 0 0.25em 0.5em 0;      /* 内側の余白量 */
		font-size: 0.9rem;              /* 文字サイズ */
		text-decoration: none;          /* リンク文字の下線を消す */
		vertical-align: middle;         /* 行内の上下方向では中央配置 */
	}

		/* ------------------------------------- */
		/* リンクカードの装飾(サイズS/L共通部分) */		/* ※後述の「サイズS用の追記」や「サイズL用の追記」と合わせて、1つのカードデザインになります。 */
		/* ------------------------------------- */
		/* カード外枠 */
		.cardlinkbox {
			border: 1px solid #ccc;    /* 枠線 */
			border-radius: 7px;        /* 角丸 */
			background-color: white;   /* 背景色 */
			display: flex;             /* 内部レイアウトのFlexbox化 */
		}
		/* (マウスが載ったとき) */
		.cardlinkbox:hover {
			background-color: #f5fff5; /* 背景色 */
			border-color: #8c8;        /* 枠線色 */
		}
			/* ▽リンクカード内の画像枠 (※読み込まれたog:imageは、この枠に《背景画像として》描画されます) */
			.cardlinkimage {
				background-image: linear-gradient(-30deg, #8a8, #e0f0e0);  /* プレースホルダ的な背景グラデーション(※og:imageの画像指定が読み込まれたら、この値は上書きされます) */
				background-size: cover;             /* 背景画像で枠を埋める */
				background-position: center center; /* 背景画像を中央に寄せる */
				background-repeat: no-repeat;       /* 背景画像を繰り返さない */
			}
			/* ▽リンクカード内のテキスト枠 */
			.cardlinktextbox {
				display: flex;          /* Flexbox化 */
				flex-direction: column; /* 子要素を縦方向に並べる */
				padding: 0.5em 1em;     /* 内側の余白量 */
			}
				/* ▽リンクカードのテキスト枠内の3要素共通 */
				.cardlinktitle,
				.cardlinkdescription,
				.cardlinkurl {
					/* ↓表示行数を制限するための準備 (※システム側では文字数は制限せずに「記述されている全文字」をHTMLに出力しますので、表示分量を制限したい場合はCSSで制御する必要があります。) */
					display: -webkit-box;          /* -webkit-line-clampを使うために必要な記述1 ※A */
					-webkit-box-orient: vertical;  /* -webkit-line-clampを使うために必要な記述2 ※A */
					overflow: hidden;              /* 表示量を制限する場合に必須の記述 */
					/* ↓制限の仕様 */
					line-clamp: 1;                 /* 1行だけ見せる (将来的にはこれだけで実現可能かも) */
					-webkit-line-clamp: 1;         /* 1行だけ見せる (今のブラウザにはこちらが必要で、そのためには上記「※A」も必要) */
					text-overflow: ellipsis;       /* 省略記号(三点リーダー) */
				}
				/* リンクタイトル */
				.cardlinktitle {
					padding-bottom: 0.25em;        /* 内側下端の余白量 */
				}
				/* リンク概要文 */
				.cardlinkdescription {
					line-height:1.3;               /* 行の高さ */
					color:#555;                    /* 文字色 */
					line-clamp: 2;                 /* (既存指定の上書き) 最大2行まで見せる */
					-webkit-line-clamp: 2;         /* (既存指定の上書き) 最大2行まで見せる */
				}
				/* リンクドメイン */
				.cardlinkurl {
					color: #999;                   /* 文字色 */
				}

		/* ----------------------------------- */
		/* リンクカードの装飾(サイズS用の追記) */		/* 前述の「サイズS/L共通部分」と合わせて、1つのカードデザインになります。 */
		/* ----------------------------------- */
		.cardsize-S {
			flex-direction: row;                /* 画像とテキストは横に並べる(Flexbox) */
		}
			/* ▽リンクカード内の画像枠 */
			.cardsize-S .cardlinkimage {
				min-width: 100px;           /* 最小の横幅 */
				min-height: 100px;          /* 最小の高さ */
				border-radius: 6px 0 0 6px; /* 左側だけ角丸 */
				flex-shrink: 0;             /* 枠サイズを自動縮小させない */
			}
			/* ▽リンクカード内のテキスト枠 */
			.cardsize-S .cardlinktextbox {
				border-left: 1px solid #ccc; /* 左側の枠線 */
				justify-content:center;      /* Flexboxの上下方向での中央寄せ */
			}
				/* ▽リンクカードのテキスト枠内の3要素 */
				.cardsize-S .cardlinktitle { order: 2; }        /* タイトルは、2番目に表示 */
				.cardsize-S .cardlinkdescription { order: 3; }  /* 概要文　は、3番目に表示 */
				.cardsize-S .cardlinkurl { order: 1; }          /* ドメインは、1番上に表示 */

		/* ----------------------------------- */
		/* リンクカードの装飾(サイズL用の追記) */		/* 前述の「サイズS/L共通部分」と合わせて、1つのカードデザインになります。 */
		/* ----------------------------------- */
		.cardsize-L {
			flex-direction: column;             /* 画像とテキストは縦に並べる(Flexbox) */
		}
			/* ▽リンクカード内の画像枠 */
			.cardsize-L .cardlinkimage {
				aspect-ratio: 1.91 / 1;     /* 画像枠の縦横比を指定= (横)1.91：(縦)1 */
				width: 100%;                /* 横幅は枠最大に拡げる */
				height: auto;               /* 高さは自動計算 */
				border-radius: 6px 6px 0 0; /* 上側だけ角丸 */
			}
			/* ▽リンクカード内のテキスト枠 */
			.cardsize-L .cardlinktextbox {
				border-top: 1px solid #ccc; /* 上側の枠線 */
			}
				/* ▽リンクカードのテキスト枠内の3要素 */
				.cardsize-L .cardlinktitle { font-weight: bold; }        /* 太字 */
				.cardsize-L .cardlinkdescription { min-height: 2.5em; }  /* 内容量が少ない場合でも一定の高さを確保 */
				.cardsize-L .cardlinkurl {
					border-top: 1px solid #ddd;  /* 上側の枠線 */
					margin-top:0.5em;            /* 上側の枠線より上の余白量 */
					padding-top:0.5em;           /* 上側の枠線より下の余白量 */
					font-size:0.75rem;           /* 文字サイズ(小さめ) */
				}
