@charset "utf-8";
/*
Template: gensen_tcd050
Theme Name: GENSEN子テーマ
Author: Soleil
Version: 1.7
*/

/* =========================================
   WordPress プリセット
========================================= */
#global_menu > ul > li > a {
    font-size: 14px!important;
}
/* alignment */
.post_content .alignright{float:right}
.post_content .alignleft{float:left}
.post_content .aligncenter{display:block;margin:0 auto 7px}
.post_content blockquote.alignleft,
.post_content img.alignleft{margin:7px 24px 7px 0}
.post_content .wp-caption.alignleft{margin:7px 14px 7px 0}
.post_content blockquote.alignright,
.post_content img.alignright{margin:7px 0 7px 24px}
.post_content .wp-caption.alignright{margin:7px 0 7px 14px}
.post_content blockquote.aligncenter,
.post_content img.aligncenter,
.post_content .wp-caption.aligncenter{margin:7px 0}

/* text */
.post_content p{line-height:2.4;margin:0 0 2.4em}
.post_content .fontS{font-size:small}
.post_content .fontL{font-size:large}
.post_content .fontXL{font-size:x-large}
.post_content .fontXXL{font-size:xx-large}
.post_content .red{color:#bb221a}
.post_content .green{color:#00B244}

/* headings */
.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6{
  clear:both;
  line-height:1.2;
  font-weight:bold;
  margin:1em 0 .5em;
  padding:10px 0 0;
}
.post_content h1{
  font-size:200%!important;
  position:relative;
  display:block;
  margin-bottom:1em!important;
  text-align:center;
}
.post_content h1:before{
  content:'';
  position:absolute;
  bottom:-15px;left:50%;
  width:60px;height:5px;
  transform:translateX(-50%);
  background:#bb221a;border-radius:2px;
}
.post_content h2{
  font-size:180%!important;
  padding:.5em!important;
  color:#000;background:#EFB3B0;border-left:5px solid #bb221a;
}
.post_content h2.job{
  font-size:220%!important;
  position:relative;
  padding:.2em 1.25em .5em!important;
  border-top:3px solid #BB221A;border-bottom:3px solid #BB221A;border-left:none;
  background:#fff;margin-top:.5em;
}
.post_content h2.job span{font-size:.5em}
.post_content h2.job:before,
.post_content h2.job:after{
  content:'';position:absolute;top:-7px;width:3px;height:calc(100% + 14px);background:#BB221A;
}
.post_content h2.job:before{left:7px}
.post_content h2.job:after{right:7px}
.post_content h3{
  font-size:150%!important;
  padding:.2em 0 .2em .8em!important;border-left:30px solid #BB221A;
}
.post_content h4{
  font-size:140%!important;
  padding:.25em .5em!important;color:#BB221A;background:transparent;border-left:5px solid #bb221a;
}
.post_content h5{
  font-size:120%!important;
  padding:.2em 0 .2em .8em!important;border-left:20px solid #BB221A;
}
.post_content h6{font-size:100%}

/* images */
.post_content img{height:auto;max-width:100%}

/* lists */
.post_content li,
.post_content dt,
.post_content dd{line-height:2.2}
.post_content ul,
.post_content ol,
.post_content dl{margin-bottom:24px}
.post_content ol{list-style:decimal outside;margin-left:1.5em}
.post_content ul{list-style:circle outside;margin-left:1.3em}
.post_content .single_share ul{list-style:none!important}
.post_content li>ul,
.post_content li>ol{margin-bottom:0}
.post_content dt{font-weight:bold}
.post_content dd{margin-bottom:1em}

/* tables */
.post_content table{margin:0 0 24px}
.post_content td,
.post_content th{border:1px solid #bbb;padding:10px 15px;line-height:2.2}
.post_content th{background:#ddd;font-weight:normal;vertical-align:middle}
.post_content td p{margin:0 0 .25em}
.post_content table.table_no_border th,
.post_content table.table_no_border td{border:none;padding-left:0}
.post_content table.table_border_horizontal th,
.post_content table.table_border_horizontal td{border-left:none;border-right:none;padding-left:0}

/* blockquote */
.post_content blockquote{
  margin:0 0 25px;padding:27px 30px 0;border:1px solid #ccc;box-shadow:0 4px 0 0 #f2f2f2;position:relative;
}
.post_content blockquote:before,
.post_content blockquote:after{
  content:'"';font-style:italic;font-size:30px;font-weight:normal;color:#5cbcd7;position:absolute;
}
.post_content blockquote:before{line-height:40px;width:30px;height:30px;top:5px;left:10px}
.post_content blockquote:after{line-height:60px;width:30px;height:30px;bottom:7px;right:-2px}
.post_content blockquote cite{border-top:1px dotted #aaa;display:block;padding:20px 0 0;font-style:italic;text-align:right;font-size:90%}

/* boxes */
.post_content .box_bubble{
  position:relative;padding:.5em .7em;margin:2em 0;background:#EFB3B0;color:#000;font-weight:bold;
}
.post_content .box_bubble:after{
  content:'';position:absolute;top:100%;left:30px;border:15px solid transparent;border-top-color:#EFB3B0;
}
.post_content .box_bubble p,
.post_content .box_point p{margin:0;padding:0}
.post_content .box_point{
  position:relative;margin:2em 0;padding:1.5em 2em;border:3px solid #BB221A;border-radius:8px;
}
.post_content .box_point .box-title{
  position:absolute;top:-13px;left:10px;display:inline-block;padding:0 9px;line-height:1;font-size:19px;background:#fff;color:#BB221A;font-weight:bold;
}
.post_content .box_caution{margin:2em 0;background:#EFB3B0}
.post_content .box_caution .box-title{
  font-size:1.2em;background:#BB221A;padding:4px;text-align:center;color:#fff;font-weight:bold;letter-spacing:.05em;
}
.post_content .box_caution p{padding:15px 20px;margin:0}

/* captions */
.post_content .wp-caption{
  margin-bottom:24px;background:#fff;border:1px solid #ccc;padding:5px;max-width:100%;border-radius:5px;box-sizing:border-box;
}
.post_content .wp-caption-text{text-align:center;font-size:12px;font-style:italic;line-height:1.5;margin:9px auto}
.post_content .wp-caption img[class*="wp-image-"]{display:block;margin:0 auto}

/* buttons */
.post_content a.button,
.post_content a.button2,
.post_content a.button3{
  position:relative;display:inline-block;border-radius:3px;color:#fff!important;line-height:100%;padding:1.5em 2em 1.5em 1.5em;text-decoration:none;font-size:large;
}
.post_content a.button{background:#C71414}
.post_content a.button2{background:#009419}
.post_content a.button3{background:#2D86DF}
.post_content a.button:hover,
.post_content a.button2:hover,
.post_content a.button3:hover{color:#fff!important;background:#C71414;text-decoration:none}
.post_content .button::before,
.post_content .button2::before,
.post_content .button3::before,
.post_content .button::after,
.post_content .button2::after,
.post_content .button3::after{
  position:absolute;top:50%;right:.5em;content:'';margin-top:-5px;border:7px solid transparent;border-top-width:5px;border-bottom-width:5px;border-left-color:#fff;
}
.post_content .button::after,
.post_content .button2::after,
.post_content .button3::after{opacity:0;right:1.5em}
.post_content .button:hover::before,
.post_content .button2:hover::before,
.post_content .button3:hover::before{animation:arrowbefore .5s}
.post_content .button:hover::after,
.post_content .button2:hover::after,
.post_content .button3:hover::after{animation:arrowafter .5s}
@keyframes arrowbefore{100%{right:-.4em;opacity:0}}
@keyframes arrowafter{99%{right:.2em;opacity:1}100%{opacity:0}}

/* input.button（レガシー表現は最小限に温存） */
input.button{
  width:100%;margin:1em 0;cursor:pointer;font-size:x-large;border-radius:6px;border:1px solid #d83526;padding:15px 18px;background-color:#fe1a00;color:#fff;display:inline-block;text-shadow:1px 1px 0 #b23e35;box-shadow:inset 1px 1px 0 0 #f29c93;
}
input.button:hover{background-color:#ce0100}
input.button:active{position:relative;top:1px}

/* gallery */
.gallery{margin-bottom:20px}
.gallery a img{border:0!important}
.gallery-item{float:left;margin:0 4px 4px 0;overflow:hidden;position:relative}
.gallery-columns-1 .gallery-item{max-width:100%}
.gallery-columns-2 .gallery-item{max-width:calc(50% - 4px)}
.gallery-columns-3 .gallery-item{max-width:calc(33.3% - 4px)}
.gallery-columns-4 .gallery-item{max-width:calc(25% - 4px)}
.gallery-columns-5 .gallery-item{max-width:calc(20% - 4px)}
.gallery-columns-6 .gallery-item{max-width:calc(16.7% - 4px)}
.gallery-columns-7 .gallery-item{max-width:calc(14.28% - 4px)}
.gallery-columns-8 .gallery-item{max-width:calc(12.5% - 4px)}
.gallery-columns-9 .gallery-item{max-width:calc(11.1% - 4px)}
.gallery-columns-10 .gallery-item{max-width:9.4%}
.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n),
.gallery-columns-10 .gallery-item:nth-of-type(10n){margin-right:0}
.gallery-caption{
  background:rgba(0,0,0,.7);box-sizing:border-box;color:#fff;font-size:12px;line-height:1.5;margin:0;max-height:50%;opacity:0;padding:6px 8px;position:absolute;bottom:0;left:0;text-align:left;width:100%;
}
.gallery-caption:before{content:"";position:absolute;inset:0 0 auto 0;height:100%;min-height:49px}
.gallery-item:hover .gallery-caption{opacity:1}
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption{display:none}

/* misc */
.post_content .wp-smiley{border:0;margin:0;padding:0}
.post_content address{margin:0 0 24px;line-height:2.2}
.post_content pre{
  border-left:5px solid #7fc120;font-size:12px;margin:0 0 27px;line-height:25px;background:url(img/common/pre.gif) repeat left top;padding:0 17px;overflow:auto;
}
.post_content .sticky{}
.post_content .mejs-container{margin:12px 0 25px}

/* パスワード保護 */
.c-pw__desc,.c-pw__desc p{line-height:2.5}
.c-pw__desc p{margin-bottom:16px}
.c-pw__btn{box-sizing:border-box;color:#fff;display:inline-block;padding:13px 20px;font-size:14px;text-align:center;line-height:1;background:#999}
.c-pw__btn:hover{background:#333;color:#fff}
.c-pw__btn--register{min-width:160px;margin-bottom:32px}
.c-pw__btn--submit{min-width:100px;border:0;cursor:pointer}
.c-pw .c-pw__btn:hover{text-decoration:none}
.c-pw__box{border:1px solid #ddd;background:#f5f5f5;padding:25px 36px;display:inline-block;margin-bottom:40px;box-sizing:border-box}
.c-pw__box .c-pw__box-desc{line-height:1.2;margin-bottom:20px}
.c-pw__box-label{margin-right:14px}
.c-pw__box-input{border:1px solid #ddd;box-shadow:none;height:40px;width:250px;margin-right:13px;flex:1;box-sizing:border-box;padding:0 10px}
.post_content .c-pw__btn,
.post_content .c-pw__btn:hover{color:#fff}
.u-center{text-align:center}
.sp{display:none}

/* 求人 */
.post_content .number{background:#D5D5D5;float:right;padding:.2em .5em}
.post_content .number span{font-weight:bold}

/* -----------------------------------------
   レスポンシブ
----------------------------------------- */
/* Smartphones (共通調整) */
@media only screen and (max-width:480px){
  .post_content h1{font-size:160%}
  .post_content h2,
  .post_content h2.job{font-size:150%}
  .post_content h3{font-size:140%}
  .post_content h4{font-size:130%}
  .post_content h5{font-size:120%}
  .post_content td,
  .post_content th{display:block;width:100%;box-sizing:border-box}
  .post_content th{margin-top:.5em}
  .post_content textarea,
  .post_content iframe{width:100%}
  .sp{display:inline}
}

/* Smartphones (～991px) */
@media only screen and (max-width:991px){
  #global_menu{background:#EFB3B0!important}
  #post_meta_top{margin:1em 0 0!important}
  ul.meta li.cat{font-size:10px}
  ul.meta li.cat a,
  ul.meta li.cat span{padding:0 4px!important;}
}

/* -----------------------------------------
   author
----------------------------------------- */
.archive_desc{font-size:16px;margin:2em 0 0;line-height:2}
@media screen and (max-width:480px){
  .authorBox{border:3px solid #BB221A;border-top:10px solid #BB221A;margin:2em 0 1em;padding:1.5em}
  .authorBox h5{border:none;font-family:YuMincho,"Yu Mincho","Hiragino Mincho ProN","serif";margin:0;padding:0;font-size:large}
  .authorBox p{margin:0!important;padding:0}
  .authorBox .author-label{margin:0;padding:0;color:#900001}
  .author-name{padding:0 0 1.5em;width:100%}
  .author-profile{border-top:1px solid #ccc;width:100%;padding:1.5em 0 0}
}
@media screen and (min-width:481px){
  .authorBox{border:3px solid #BB221A;border-top:10px solid #BB221A;margin:2em 0 1em;padding:1.5em;display:flex}
  .authorBox h5{border:none;font-family:YuMincho,"Yu Mincho","Hiragino Mincho ProN","serif";margin:.5em 0;padding:0;font-size:large}
  .authorBox p{margin:0;padding:0}
  .authorBox .author-label{margin:0;padding:0;color:#900001}
  .author-name{padding:0 1.5em 0 0;width:30%}
  .author-profile{border-left:1px solid #ccc;width:70%;padding:0 0 0 1.5em}
}

/* -----------------------------------------
   202510 全体アップデート
----------------------------------------- */
#cb_4{margin:0}
.rich_font{font-weight:500}
@media (min-width:1025px){#index_header_search{margin-bottom:80px}}
#post_meta_top{margin:1em 0 0;padding:0;width:100%}
.archive_header .inner{display:block;align-items:center}
.archive_header .headline{padding:0 30px .5em 0}
#post_list2 .article .meta{margin:16px 0;padding:0}

/* サイドウィジェット */
.side_headline{border-left:1px solid #bb221a;border-top:1px solid #bb221a;padding:.25em 1em 0;width:100%;box-sizing:border-box}
.side_widget li{margin:0;padding:0 0 0 1em!important;line-height:1.7;border-top:1px solid #FEFEFE;display:block;position:relative}
.widget_recent_entries li{border-bottom:1px solid #ddd;padding:0 0 15px 1em!important;margin-bottom:15px!important}
*.side_widget li a:before{
  content:'';position:absolute;top:1.2em;left:0;display:block;width:6px;height:6px;border-right:1px solid #bb221a;border-bottom:1px solid #bb221a;transform:rotate(-45deg);
}

/* ============ フローティングバナー（ラッパー制御版） ============ */
/* 基本位置（PC） */
#floating-area{
  position:fixed;
  right:0;
  bottom:86px;
  z-index:99999;
  max-width:calc(100vw - 32px);

  /* 初期は非表示 */
  opacity:0;
  visibility:hidden;
  transform:translateY(16px);
  transition:opacity .35s ease, transform .35s ease, visibility 0s linear .35s;
}
/* 表示時 */
#floating-area.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:opacity .35s ease, transform .35s ease, visibility 0s;

  /* 以前 .float_widget に付けていた見た目をラッパーへ移管 */
  padding:1em .5em 1em 1em;
  border-radius:.5em 0 0 .5em;
  border:1px solid #e0e0e0;
  background:rgba(255,255,255,.8);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
/* 管理バー考慮 */
body.admin-bar #floating-area{ bottom:96px; }

/* 内側ウィジェットの余白を抑える（任意） */
#floating-area .float_widget{ margin:0; }

/* ===== モバイル：左下・全幅 ===== */
@media (max-width:767px){
  #floating-area{
    left:0; right:auto;
    bottom:env(safe-area-inset-bottom);
    max-width:100vw;
  }
  #floating-area.is-visible{
    border-radius:0;
    line-height:1.5em;
    font-size:.8rem;
    top:auto; bottom:0; right:auto; left:0;
    z-index:900;
    width:100%;
    padding:5px 65px 5px 15px;
    border:none;
    background:rgba(0,0,0,.6);
    box-sizing:border-box;
  }
  #floating-area a.button2{
    position:relative;
    display:inline-block;
    border-radius:3px;
    color:#fff!important;
    box-sizing:border-box;
    padding:0;
    width:100%!important;
    text-decoration:none;
    font-size:small;
    text-align:center;
    margin:auto;
    line-height:40px;
  }
  #floating-area a img{ width:100%!important; }

  /* 管理バー（ログイン時） */
  body.admin-bar #floating-area{
    bottom:env(safe-area-inset-bottom);
  }
}
#floating-area .post_content{margin-top:0}
#floating-area .post_content p{line-height:1.6;margin:0 0 .5em}
/* 省モーション環境 */
@media (prefers-reduced-motion:reduce){
  #floating-area,
  #floating-area.is-visible{
    transition:none;
    transform:none;
  }
}
