@charset "utf-8";

/*
メディアはメッセージ。
当サイトの太字は装飾でも構造でもなく、文章の意味内容の一部であり、分離できないものと考えております。
fontタグは新しいかたちの形容詞になり得ると未来を想った夢の涯。
*/

/* ちゆ用リセット */

html {
    font-size        : 62.5%;
}

h1, html, body, div, p, blockquote, ul, li, ol, table, th, td {
    margin           : 0;
    padding          : 0;
}

h1 {
    font-size        : 100%;
    font-weight      : 400;
}

ul {
    list-style       : none;
}

img {
    border           : none;
    vertical-align   : bottom;
}

b {
    font-weight      : 700;
}

/* ちゆ用基本 */

body {
    background-color : #E1F0F0;
    line-height      : 170%;
}

blockquote, .blocksub, .blockwindow, .blockicontalk {
    color            : #000000;
    background-color : #ffffff;
    border           : 1px solid #000000;
}

.blockdetail {
    color            : #666600;
    background-color : #fde9ac;
    border           : 1px solid #000000;
}

blockquote, .blockwindow {
    margin           : 1.5em;
    padding          : 0em 1em;
}

.blockicontalk {
    margin           : 1.5em;
    padding          : 1em;
}

.blocksupple {
    color            : #555555;
    background-color : #f0f7ff;
    border           : dashed 2px #5b8bd0;
}

.blocksub, .blockdetail, .blocksupple {
    margin           : 1.5em;
    padding          : 0px 1em;
    font-size        : 14px;
    font-size        : 1.4rem;
}

.blockkeitai {
    max-width        : 360px;
    color            : #232323;
    background-color : #D0D3C2;
    border           : 3px solid #000000;
    margin           : 1.5em;
    padding          : 0.5em 1em;
    border-radius    : 10px;
}

.news_body .blockkeitai P {
    text-indent      : 0em;
}

.news_list P {
    font-size        : 90%;
}

video {
    margin-left      : 1em;
}

.arrange_central {
    text-align       : center;
}

.arrange_space {
    margin-top       : 2em;
    margin-bottom    : 2em;
}

.arrange_central video {
    margin-left      : 0em;
}

.inner_title {
    color            : #000000;
    padding          : 0.5em 0em;
    margin-left      : 1.5em;
    margin-right     : 1.5em;
    background-color : #edfeda;
    /* border           : 1px solid #000000; */
}

hr {
    border           : 0;
    margin           : 1.5em 1em;
    border-top-style : dotted;
    border-top-color : #666666;
    border-top-width : 2px;
}

a {
    text-decoration  : none;
}

.invisible, #styleguide, #script_container {
    display          : none;
}

/* エントリのまとまりの見出し */

.pagetitle, .news_group_title {
    font-weight      : 700;
    text-align       : center;
}

.news_group_title {
    margin-top       : 20px;
}

.none_foot {
    margin-top       : 50px;
}

.pagetitle {
    margin-top       : 28px;
    font-size        : 20px;
    font-size        : 2.0rem;
}

/* エントリの見出し */

.style_body {
    font-size        : 14px;
    font-size        : 1.4rem;
    text-align       : right;
    padding-bottom   : 5px;
}

.style_body a:visited, .style_body a:link {
    color            : #0066ff;
}

.news_date, .news_title, .news_long_title {
    padding          : 15px;
}

.news_title {
    background-color : #edfeda;
}

.news_date, .news_long_title {
    background-color : #feefda;
}

/* エントリの本文 */

.news_body, .guide_body {
    background-color : #ffffee;
}

.news_body {
    margin-top       : 10px;
    padding          : 10px;
}

.news_top {
    margin-left       : 5em;
    margin-right      : 5em;
}

.guide_body {
    margin-top       : 20px;
    padding          : 8px 0px 8px 16px;
    font-size        : 14px;
    font-size        : 1.4rem;
}

.news_body p {
    margin           : 1em 0px 1em;
    text-indent      : 1em;
}

.news_body>UL>LI p {
    margin           : 0px;
    text-indent      : 0em;
}

.news_list {
    padding          : 1em 5px;
    line-height      : 140%;
}

.news_list p {
    margin           : 0em 0px 0em;
    padding          : 0em;
    text-indent      : 1em;
}

.news_list a:link, .news_list a:visited {
    color            : #0000EE;
}

.guide_body p {
    margin           : 0.1em 0px 0.1em;
}

.guide_part a {
    color: inherit;
    text-decoration  : underline !important;
}

.guide_part p {
    font-size        : 80%;
    color            : #505050;
    line-height      : 170%;
    margin           : 5px 0;
}

.blockquote p, .blockwindow p, .news_body, .blockicontalk p {
    text-indent      : 0px;
}

.blocksub p, .blockdetail p {
    margin           : 0.8em 0px;
    text-indent      : 0px;
}

.blockdetail li {
    list-style-type     : disc;
    list-style-position : outside;
    margin-left         : 1em;
    margin-top          : 0.8em;
}

blockquote ol>li {
    list-style-position : outside;
    margin              : 1em 0em 1em 2em;
}

.partition_txt {
    text-indent      : 0px;
    text-align       : center;
}

.img_caption {
    color            : #000000;
}

.implant {
    text-indent      : 1em;
}

.normal_introduction dt, .normal_introduction dl {
    margin           : 1em 0px 1em;
}

/* 文字色とか */

.caption_normal {
    color            : #000000;
}

.tri_bubble {
    color            : #000000;
    background-color : #e8ffe8;
}

.tiyu_date {
    color            : #000000;
    background-color : #fff5ec;
}

.tiyu_title {
    color            : #000000;
    background-color : #edfeda;
}

.normal_block {
    color            : #000000;
    background-color : #ffffff;
}

/* テーブルだったところ */

.news_body .blockicontalk {
    display          : flex;
    align-items      : center;
}

.small-image {
    width            : 100px; /* 画像の幅 */
    height           : auto;  /* アスペクト比を維持 */
    margin-right     : 30px;  /* 画像とテキストの間のスペース */
}

.middle-image {
    width            : 150px; /* 画像の幅 */
    height           : auto;  /* アスペクト比を維持 */
    margin-right     : 20px;  /* 画像とテキストの間のスペース */
}

.news_body .text-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列に分ける */
    gap: 10px; /* 列の間にスペースを追加 */
    width: 100%;
}

.text-row {
    display: contents; /* 行全体をグリッドに展開 */
}

.news_body .text-columns {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; /* テキスト列を均等に配置 */
    width: 100%; /* テキスト全体を幅100%に */
}

.news_body .text-column {
    flex: 1;
    padding: 0 10px;
}

.text-wrapper p {
    margin           : 0;
    line-height      : 230%; /* 行間 */
}

.text-row p {
    margin           : 0;
    line-height      : 200%; /* 行間 */
}

/* テーブル */

.table_paper, .table_skeleton, .table_normal {
    margin           : 1.5em auto;
    color            : #000000;
}

.table_skeleton {
    border-collapse  : collapse;
}

.table_border {
    border-collapse  : separate;
    border-spacing   : 4px;
}

.table_paper {
    border-collapse  : separate;
    border-spacing   : 2px;
    padding          : 0.5em;
    background-color : #ffffff;
    border           : 1px solid #000000;
}

.table_paper td {
    padding          : 0.1em;
}

.table_normal {
    border-collapse  : collapse;
}

.table_normal td {
    padding          : 0.5em 1em;
    background-color : #ffffff;
    border           : 1px solid #000000;
}

.side_margin {
    margin           : 0em 1.5em;
}

.table_skeleton td {
    text-align       : center;
}

.wside_obj {
    padding-right    : 4px;
    padding-left     : 4px;
}

td.back_standout {
    background-color : #edfeda;
}

td.back_change {
    background-color : #feefda;
}

/* bioの引用とか */

.twitter_bio {
    width            : 500px;
    line-height      : 24.9375px;
    margin           : 1em auto;
    padding          : 1em;
}

.twitter_bio P {
    margin           : 0px 0px 0px;
    text-indent      : 0em;
}

.twitter_bio a:visited, .twitter_bio a:link {
    color            : #43BAED;
}

.twitter_bio P.bio_user {
    margin-bottom    : 0.8em;
}

.bio_title {
    color            : rgb(20,23,26);
    font-size        : 19px;
    font-weight      : 800;
}

.bio_user {
    color            : rgb(101,119,134);
    font-size        : 15px;
    font-weight      : 400;
}

/* Wikiの引用とか */

.wiki_block {
    margin           : 1.5em;
    padding          : 1em 1.5em;
    border           : 1px solid #000000;
    color            : #252525;
    background-color : #ffffff;
    font-size        : 94.4%;
}

.wiki_block P {
    text-indent      : 0em;
}

.wiki_h2 {
    margin-bottom    : 0.25em;
    border-bottom    : 1px solid #aaa;
}

.wiki_cut {
    margin-top       : 2.5em;
}

.mw-headline {
    font-size        : 1.5em;
}

.mw-editsection {
    font-size        : 0.75em;
    margin-left      : 1em;
}

.wiki_editlink, .wiki_reference {
    color            : blue;
}

ol.references {
  list-style-type    : inherit;
  line-height        : 1.5em;
  margin             : .3em 0 0 3.2em;
  padding            : 0;
  list-style-image   : none;
}

/* 別サイトの引用とか */

.two_channel {
    margin           : 1.5em 1.5em 0.1em;
    padding          : 0em 0.5em;
    border           : 1px solid #000000;
    color            : #000000;
    background-color : #efefef;
}

.aa_box {
    text-align       : center;
    margin           : 1.5em 1.5em 0.1em;
    padding          : 0em 0.5em;
    border           : 1px solid #000000;
    color            : #000000;
    background-color : #efefef;
}

.for_aa {
    font-family      : "ＭＳ Ｐゴシック","MS PGothic","Mona","mona-gothic-jisx0208.1990-0",sans-serif;
    line-height      : 100%;
}

.quote_caption {
    margin           : 0.1em 1.5em 1.5em;
    padding-right    : 0.5em;
    text-align       : right;
    font-size        : 14px;
    font-size        : 1.4rem;
}

.quote_caption a:visited {
    color            : #993399;
}

.two_channel dt {
    margin-bottom    : 0.2em;
}

.two_channel dd {
    margin-bottom    : 1em;
}

.name_nomail, .name_trip {
    color            : #008800;
}

.name_nomail {
    font-weight      : 700;
}

/* エントリの本文内とかの画像 */

.img_border img, .table_border img, img.only_border {
    border           : solid 1px #000000;
}

p.img_noborder, p.img_border {
    margin           : 1.5em 0;
    text-indent      : 0px;
}

.img_noborder, .img_border {
    text-align       : center;
}

.img_container>.img_noborder, .img_container>.img_border {
    float            : left;
    margin           : 0px 0px 0px 5px;
}

.img_rev>.img_noborder, .img_rev>.img_border {
    float            : right;
    margin           : 0px 5px 0px 0px;
}

.img_top {
    vertical-align   : top;
}

.img_container>.img_noborder:first-child, .img_container>.img_border:first-child {
    margin           : 0;
}

.img_container {
    margin           : 1.5em auto;
    overflow         : hidden;
    text-align       : center;
    /* background-color:#edfeda; border:1px solid #000000; */
}

/* エントリの本文内の箇条書き */

.news_body>ul li, blockquote>ul li {
    list-style-type     : disc;
    list-style-position : outside;
    margin-left         : 2em;
    margin-top          : 1em;
    margin-bottom       : 1em;
}

/* エントリのフッタ */

.news_foot {
    margin-top       : 20px;
    text-align       : right;
}

/* 補足 */

.sub_txt {
    font-size           : 14px;
    font-size           : 1.4rem;
    color               : #444444;
    background-color    : #ffffff;
    padding             : 1em;
    margin-top          : 50px;
}

.sub_txt a:visited {
	color               : #993399;
}

.sub_txt a:hover {
    color               : #ff0000;
}

.sub_txt h1 {
    font-weight         : 700;
    margin-bottom       : 0.8em;
}

.sub_txt li {
    list-style-type     : circle;
    list-style-position : outside;
    margin-left         : 1em;
    margin-top          : 0.8em;
}

.sub_txt ul>li:first-child {
	margin-top          : 0px;
}

.top_partition {
    padding-top         : 1em;
    margin-top          : 1em;
    border-top-style    : dotted;
    border-top-color    : #999999;
    border-top-width    : 2px;
}

.indent_sub_line {
    margin-left         : 1em;
}

/* 補足内の画像（オーバーライド的に。ひどい書き方…） */

.sub_txt .img_noborder, .sub_txt .img_border {
    margin           : 0;
    text-align       : left;
}

.sub_txt .img_container>.img_noborder, .sub_txt .img_container>.img_border {
    float            : left;
    margin           : 0px 0px 0px 5px;
    text-align       : center;
}

.sub_txt .img_container>.img_noborder:first-child, .sub_txt .img_container>.img_border:first-child {
    margin           : 0;
}

.sub_txt .img_container {
    margin           : 0.5em auto 0.5em 0;
    overflow         : hidden;
    /* background-color:#999999; border:1px solid #000000; */
}

/* 基本デザイン（左メニューあり） */

body {
    font-size        : 16px; /* 自分用。一部のツールの関係で */
    font-size        : 1.6em;
    color            : #ff208f;
}

#sub_container {
    position         : fixed;
    _position        : absolute;
    top              : 0;
    left             : 0;
    width            : 200px;
}

#main_container {
    margin           : 15px 10px 25px 210px;
    _overflow        : auto;
    max-width        : 1000px;
}

.news_head {
    margin-top       : 50px;
    overflow         : hidden;
}

.top_sub {
    margin-top       : 20px;
}

.news_date {
    float            : left;
    width            : 230px;
}

.news_date a:visited, .news_date a:link, .news_long_title a:visited,  .news_long_title a:link {
    color            : #ff208f;
}

.news_date a:hover, .news_long_title a:hover {
    color            : #ff0000;
}

.news_title {
    margin-left      : 270px;
    min-width        : 160px;
}

.many_txt {
    color            : #660000;
}

.note .news_body, .note .guide_body {
    color            : #660000;
    background-color : #FFF4FB;
}

.note .news_long_title {
    color            : #660000;
    background-color : #FADAEE;
}

.news_head .long_warning {
    color            : #FFFFFF;
    background-color : #087800;
}

/* 画像サイズの微妙な調整用（特殊。超てけと） */

@media only screen and (max-width:921px)
{
    .short_change {
        max-width     : 270px;
        height        : auto;
    }
    
    .short_vanish {
        display       : none;
    }
}

/* 基本デザイン（左メニューなし。前項へのオーバーライド的に。てけと） */

@media only screen and (max-width:819px)
{
    body {
        font-size     : 1.4em;
        color         : #000000;
    }
    
    .news_top {
        margin-right  : 0em;
        margin-left   : 0em;
	}

    #sub_container, #greeting_container {
        display       : none;
    }

    #main_container {
        margin        : 5px;
    }

    .top_main {
        margin-top    : 0px;
    }

    .news_date {
        float         : none;
        width         : auto;
    }

    .news_date a:visited, .news_date a:link, .news_long_title a:visited, .news_long_title a:link {
        color         : #000000;
    }

    .news_title {
        margin-left   : 0px;
        margin-top    : 5px;
    }

    .news_body {
        margin-top    : 5px;
    }
    
    .guide_body {
        margin-top    : 20px;
    }

    .small_only_narrow {
        font-size    : 9px;
        font-size    : 0.9rem;
    }
}

/* 幅が狭い場合のみ（スマホなど想定。てけと。そしてひどい） */

.visible_only_narrow {
    display           : none;
}

@media only screen and (max-width:640px)
{
    .visible_only_narrow {
        display       : block;
    }

    .visible_only_wide {
        display       : none;
    }

    .img_container>.img_noborder, .img_container>.img_border {
        float         : none;
        margin        : 1.5em auto;
    }

    .img_container>.img_noborder:first-child, .img_container>.img_border:first-child {
        float         : none;
        margin        : 1.5em auto;
    }

    .img_container {
        margin        : 0;
        overflow      : hidden;
    }

    .sub_txt .img_container>.img_noborder, .sub_txt .img_container>.img_border {
        float         : none;
        margin        : 0.5em auto;
    }

    .sub_txt .img_container>.img_noborder:first-child, .sub_txt .img_container>.img_border:first-child {
        margin        : 0.5em auto;
    }

    .sub_txt .img_container {
        margin        : 0;
        overflow      : hidden;
    }

    img {
        max-width     : 510px;
        height        : auto;
    }

    .small-image, .middle-image {
        width         : 60px; /* 画像の幅 */
        margin-right  : 10px; /* 画像とテキストの間のスペース */
    }
}

@media only screen and (max-width:620px)
{
    img {
        max-width     : 480px;
        height        : auto;
    }
}

@media only screen and (max-width:520px)
{
    img {
        max-width     : 380px;
        height        : auto;
    }
}

@media only screen and (max-width:420px)
{
    img {
        max-width     : 280px;
        height        : auto;
    }
}

@media only screen and (max-width:320px)
{
    img {
        max-width     : 270px;
        height        : auto;
    }
}

/* スタイル切替用 */

.samurai_visible {
    display           : none;
}

.samurai_invisible {
    display           : block;
}

/* youtube用 */

.youtube {
    position    : relative;
    width       : 100%;
    padding-top : 56.25%;
}

.youtube iframe {
    position  : absolute;
    top       : 0;
    right     : 0;
    width     : 100%;
    height    : 100%;
}

/* ごあいさつ */

.comic_speaking {
    font-size          : 14px;
    font-size          : 1.4rem;
    padding            : 0.6em;
    margin             : 15px 5px 0px;
    background-color   : #ffffff;
    border             : 1px solid #000000;
    border-radius      : 10px;
    position           : relative;
}

.comic_speaking:after, .comic_speaking:before {
    right              : 100%;
    top                : 50%;
    border             : solid transparent;
    content            : " ";
    height             : 0;
    width              : 0;
    position           : absolute;
    pointer-events     : none;
}

.comic_speaking:after {
    border-color       : rgba(255, 255, 255, 0);
    border-right-color : #ffffff;
    border-width       : 10px;
    margin-top         : -10px;
}

.comic_speaking:before {
    border-color       : rgba(0, 0, 0, 0);
    border-right-color : #000000;
    border-width       : 11px;
    margin-top         : -11px;
}

/* メニューの小見出し */

.menu_title {
    margin             : 3px 0px 0px 2px;
    font-size          : 13px;
    font-size          : 1.3rem;
}

.menu_title a:visited, .menu_title a:link {
    color              : #333333;
}

.menu_title a:hover {
    color              : #ff0000;
}

/* メニューの本体部分 */

#menu_topic, #recently_box, #remake_box, #alternative_box {
    margin-left        : 5px;
    line-height        : 100%;
}

/* メニューのjs用 */

.open_list, .close_list {
    position           : relative;
}

.open_list {
    display            : block;
}

.close_list {
    display            : none;
}

/* メニュー内の階層 */

.category {
    font-size          : 11px;
    font-size          : 1.1rem;
    margin-top         : 2px;
}

.category_open>.category:first-child, .category_close>.category:first-child {
    margin-top         : 0px;
}

.category a:visited, .category a:link {
    color              : #666666;
}

.category a:hover {
    color              : #ff0000;
}

/* メニューの基本項目（ひどい書き方…） */

.open_list>ul {
    color              : #666666;
    font-size          : 12px;
    font-size          : 1.2rem;
    margin-left        : 20px;
}

.open_list>ul:first-child {
    margin-left        : 10px;
}

.open_list>ul a:visited, .open_list>ul a:link {
    color              : #0066ff;
}

.open_list>ul a:hover {
    color              : #ff0000;
}

.open_list>ul>li {
    margin-top         : 1px;
}

.open_list>ul>li:first-child {
    margin-top         : 0px;
}

/* 高さが狭い場合のみ */

@media only screen and (max-height:920px)
{
    #top_picture {
        width          : 200px;
        height         : 200px;
        overflow       : hidden;
    }

    #top_picture img {
        margin-top     : -52px;
    }
}

@media only screen and (max-height:810px)
{
    #top_picture {
        height         : 140px;
    }

    #top_picture img {
        margin-top     : -70px;
    }
}

.visible_only_high {
    display            : none;
}

@media only screen and (min-height:810px)
{
    .visible_only_high {
        display        : block;
    }
}
