/**
Theme Name: JIN:R child
Template: jinr
Author: CROOVER Inc.
Author URI: https://croover.co.jp
Version: 1.00
*/

.form_any,
.form_required {
    color: #fff;
    font-size: 9pt;
    border-radius: 5px;
    padding: 4px 8px;
    text-align: center;
    margin-right: 5px;
    letter-spacing: normal;
    font-weight: 500;
}

.form_required {
    background-color: #c21f00;
}

.form_any {
    background-color: #7c7c7c;
}

.wpcf7-form input[type=submit] {
	border: 1px solid #0056b3!important;
	background-color: #0056b3!important;
	color: #ffffff!important;
}

/* 投稿 */
a:hover {
    opacity: .7;
}

.wp-block-quote cite {
    text-align: right;
    display: block;
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.tac {
    text-align: center;
}

.tal {
    text-align: left;
}

.tar {
    text-align: right;
}

th.width60,
td.width60 {
    width: 60px;
}

th.width90,
td.width90 {
    width: 90px;
}

th.width150,
td.width150 {
    width: 150px;
}

.pc_on {
    display: block !important;
}

.sp_on {
    display: none !important;
}

#postContent h5 {
    border-bottom: 4px double #e6b73e;
    font-size: 18px;
    font-weight: 500;
}

/* マーカー */
.marker-line {
    background: linear-gradient(transparent 75%, #ffdc00 75%);
    font-weight: 700;
}

.marker-red {
    color: #c71313;
    font-weight: 700;
}

.marker-green {
    color: #57840f;
    font-weight: 700;
}

.marker-bold {
    font-weight: 700;
}

/* ボタン */
#postContent p a,
#postContent li a,
#postContent table a,
.o--widget-area p a,
.o--widget-area li a,
.o--widget-area table a {
    text-decoration: none;
}

.btn01 {
    margin: 30px auto;
}

.btn01_top {
    font-size: 1.5rem;
    font-weight: bold;
    position: relative;
    margin-bottom: .2em;
    text-align: center;
}

.btn01_top:before {
    margin-right: 5px;
    content: '＼';
}

.btn01_top:after {
    margin-left: 5px;
    content: '／';
}

#postContent .btn01 p {
    margin: 0;
}

#postContent .btn01 p a {
    width: 50%;
    display: block;
    text-decoration: none;
    padding: 16px;
    background: #f1742c;
    color: #fff;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 4px 0 #d16323;
    margin: 0 auto;
    position: relative;
    transition: .3s;
    text-decoration: none;
}

.btn01 p a:before {
    content: '';
    display: block;
    height: 8px;
    width: 8px;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff;
    transform: translateY(-50%) rotate(-45deg);
    color: #fff;
    position: absolute;
    top: 50%;
    right: 20px;
    pointer-events: none;
}

.jinr-article .btn01 a:not([class]) {
    color: #fff;
}

#wrapper .btn01 a:not([class]):hover {
    color: #fff;
    opacity: .7;
}

.btn02 {
    display: block;
    justify-content: space-evenly;
    align-items: center;
    text-align: center;
    text-decoration: none;
    width: 60%;
    margin: auto;
    padding: 1rem 4rem 1rem 3rem;
    font-weight: bold;
    background: #eb732e;
    color: #fff;
    border-radius: 100vh;
    position: relative;
    transition: 0.5s;
}

.btn02::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    margin: 0 15px 0 0;
}

.btn02:hover {
    opacity: .7;
}

table .btn02 {
    width: 100%;
}

/* リンクデザイン */
a.text_link {
    border-bottom: 1px solid;
    color: #1a73e8;
}

a.yl_link01,
a.yl_link02,
a.yl_link03 {
    display: inline-block;
    font-weight: 500;
    text-decoration: none;
    color: #1a73e8;
}

a.yl_link01::before,
a.yl_link02::before,
a.yl_link03::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f101";
    margin: 0 5px 0 10px;
}

a.yl_link02::before {
    content: "\f35a";
}

a.yl_link03::before {
    content: "\f0da";
}

a.yr_link01 {
    display: inline-block;
    font-weight: 500;
    text-decoration: none;
}

a.yr_link01::after {
    margin: 0 0 0 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f101";
}

a.yt_link,
a.yr_link02 {
    display: block;
    padding: 10px;
    color: #FF8C00;
    font-weight: 500;
    display: block;
    text-align: right;
    text-decoration: none;
}

a.yr_link::after,
a.yt_link02::after,
a.yt_link::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f35a";
    margin: 0 0 0 10px;
}

a.yt_link::after {
    content: "\f35b";
}

/* 引用元 */
.QuoteTitle {
    font-size: 10px;
    color: gray;
}

.QuoteTitle-Img {
    font-size: 10px;
    text-align: center;
    color: gray;
    display: block;
}

.box01 {
    background: #e1e1e1;
    padding: 10px;
    font-size: 14px;
}

/* Tableのスタイル */
.TableStyle01 {
    width: 100%;
    table-layout: fixed;
    word-break: break-all;
    border-collapse: collapse;
    border: 1px solid #eeeeee;
    margin: 30px auto;
}

.TableStyle01 th,
.TableStyle01 td {
    text-align: center;
    font-weight: 500;
    border: 1px solid #333;
    padding: 8px 10px;
}

.TableStyle01 tbody th {
    background: #ffca39;
}

.scroll-table table {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.relation_link {
    margin: 30px 0
}

.relation_link a {
    color: #333;
    display: block;
    text-decoration: none;
    position: relative;
    transition: .5s;
    word-break: break-all;
    font-size: 1pc;
    padding-left: 30px;
    line-height: 0.95;
}

.relation_link a:before {
    top: calc(60% - 1px);
    left: 10px;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 10px
}

.relation_link a:after,
.relation_link a:before {
    content: '';
    position: absolute;
    height: 2px;
    background-color: #ff8011;
    transition: .3s
}

.relation_link a:after {
    top: 60%;
    left: 0;
    transform: translateY(-50%);
    width: 20px
}

.relation_link a span {
    border-bottom: 1px solid;
    font-weight: 500;
    color: #000
}

.relation_link a:hover {
    opacity: .7;
    text-decoration: none
}

.notice_box01 {
    background-color: #eee;
    padding: 10px;
    margin: 50px auto 10px;
    font-size: 13px;
}

.notice_box01 span {
    font-weight: 900;
    color: #db1717;
}

.notice_box01 span.notice_box01_i::before {
    content: "※";
    font-weight: 900;
    margin: 0 5px 0 0;
}

.notice_box01 ul li {
    line-height: 1.5em;
    margin: 0 0 10px;
}

@media screen and (max-width: 768px) {
    .pc_on {
        display: none !important;
    }

    .sp_on {
        display: block !important;
    }

    .scroll-table-sp table {
        display: block;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .scroll-table .TableStyle01 th,
    .scroll-table .TableStyle01 td {
        font-size: 14px !important;
    }

    #postContent .btn01 p a {
        width: 100%;
    }

    #postContent p,
    .o--widget-area p {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .btn02 {
        display: block;
        justify-content: space-evenly;
        align-items: center;
        text-align: center;
        text-decoration: none;
        width: 100%;
        margin: auto;
        padding: 1rem 4rem 1rem 3rem;
        font-weight: bold;
        background: #eb732e;
        color: #fff;
        border-radius: 100vh;
        position: relative;
        transition: 0.5s;
    }

    .relation_link a {
        color: #333;
        display: block;
        text-decoration: none;
        position: relative;
        transition: .5s;
        word-break: break-all;
        font-size: 1pc;
        padding-left: 30px;
        line-height: normal !important;
    }
}

h1.small_title {
    font-size: 16px;
    margin: 20px 0 10px;
    font-weight: normal;
    color: #A9A9A9;
}

/* Contact Form7 デザイン */

.wpcf7 {
background-color: #f0f0f0; /* ライトグレー */
padding: 20px;
border-radius: 10px;
max-width: 600px;
margin: auto;
}

.wpcf7-form .required {
background-color: #ff0000; /* レッド */
color: #ffffff;
padding: 2px 5px;
border-radius: 3px;
margin-left: 10px;
font-size: 10px;
}

.wpcf7-form input[type="submit"]:hover {
border-color: #354ed39a!important;
background-color: #354ed39a!important;
}

.wpcf7-form .memo{
font-size: 0.85em;
font-weight: normal;
}


/* 追加デザイン */

/* ボックス */
.original_box1{
  position: relative;
  background: linear-gradient(
    -45deg,
    #fff 25%, #54C73C 25%,
    #54C73C 50%, #fff 50%,
    #fff 75%, #54C73C 75%,
    #54C73C
  );
  background-size: 8px 8px;
  padding: 8px;
}
.original_box1 .box_inner{
  background: #FFF;
  padding: 5px;
}
.original_box1 .title{
  background: #54C73C;
  color: #FFF;
  margin: 0;
  display:inline-block;
  padding: 4px 12px;
  font-size:1.8rem
}

.original_box1 .text{
  padding: .5em;
}

.original_box1 .list{
  padding: 10px;
  list-style-type: disc;
  list-style-position: inside;   /* 折返し時に文字基準で揃う */
}

.original_box02{
  Width: 100%;
  margin: 2.5rem 10px;
}

.original_box02 .title {
  display: inline-block;
  background: #ced1d3;
  padding: 3px 10px;
  color: #2f2725;
}

.original_box02 .content {
  padding: 25px;
  border: 2px solid #ced1d3;
}


.addlist-1 {
  position: relative;
  padding: 1.5em 1em 1em 2.5em;
  margin: 40px 0px;
  border: 2px solid #0b9e32;
}

.addlist-1 > div {
  position: absolute;
  top: -1em;
  left: 1em;
  padding: 0 .5em;
  background-color: #fff;
  color: #0b9e32;
  font-size: 2rem;
  font-weight: bold;
}

.addlist-1 ul {
  list-style-type: disc;
  margin: 0;
  padding: 0;
}

.addlist-1 li {
  padding: .3em .3em .3em 0;
  list-style-type: disc;
  list-style-position: inside;   /* 折返し時に文字基準で揃う */
}

.addlist-1 li::marker {
  color: #0b9e32;
  font-size: 1.1em;
}

.addlist-2 {
  position: relative;
  padding: 1.5em 1em 1em 2.5em;
  margin: 40px 0px;
  border: 2px solid #68a8ed;
}

.addlist-2 > div {
  position: absolute;
  top: -1em;
  left: 1em;
  padding: 0 .5em;
  background-color: #fff;
  color: #68a8ed;
  font-size: 2rem;
  font-weight: bold;
}

.addlist-2 ul {
  list-style-type: disc;
  margin: 0;
  padding: 0;
}

.addlist-2 li {
  padding: .3em .3em .3em 0;
  list-style-type: disc;
  list-style-position: inside;   /* 折返し時に文字基準で揃う */
}

.addlist-2 li::marker {
  color: #68a8ed;
  font-size: 1.1em;
}

.addlist-3 {
  position: relative;
  padding: 1.5em 1em 1em 2.5em;
  margin: 40px 0px;
  border: 2px solid #ff8c8c;
}

.addlist-3 > div {
  position: absolute;
  top: -1em;
  left: 1em;
  padding: 0 .5em;
  background-color: #fff;
  color: #ff8c8c;
  font-size: 2rem;
  font-weight: bold;
}

.addlist-3 ul {
  list-style-type: disc;
  margin: 0;
  padding: 0;
}

.addlist-3 li {
  padding: .3em .3em .3em 0;
  list-style-type: disc;
  list-style-position: inside;   /* 折返し時に文字基準で揃う */
}

.addlist-3 li::marker {
  color: #ff8c8c;
  font-size: 1.1em;
}


/* ボックス */

/* 横スクロール+折り返しは左揃えテーブル */
/* 横スクロール用ラッパー */
.table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
        margin-bottom: 30px;
}

/* テーブル本体（中央寄せ＆列幅固定） */
.c-table {
        border-collapse: collapse;
        margin: 0 auto;
        table-layout: fixed;
        width: max-content;
        min-width: 640px;
        background: #fff;
        font-size: 14px;
}

.c-table caption {
        text-align:left;
}

.c-table th,
.c-table td {
        border: 1px solid #ddd;
        padding: 10px 12px;
        text-align: center;    /* セルは中央寄せ */
        vertical-align: top;
}

.c-table p {
        text-align:left;
}

/* ヘッダー */
.c-table thead th {
        background: #ffca39;
        font-weight: 700;
}

/* 中身をセル中央にまとめ、文字は左揃え */
.center-chunk {
        display: inline-block;
        margin: 0 auto;
        text-align: left;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
  /* 必要に応じて行長調整 */
  /* width: 38ch; */
}

/* テーブル内のリスト（ul:黒丸 / ol:数字、折返し文字基準） */
.c-table ul,
.c-table ol {
        margin-left: 8px;
        padding-left: 0;
        line-height: 2;
}

.c-table ul {
        list-style-type: disc;
        list-style-position: inside;   /* 折返し時に文字基準で揃う */
}

.c-table ol {
        list-style-type: decimal;
        list-style-position: inside;   /* 折返し時に文字基準で揃う */
}

.c-table li {
        margin-left: 1.4em;
        text-indent: -1.4em;
        margin-bottom: 10px;
}


.fixed-t01 {
  width: 100%;
  overflow-x: auto;
  margin: 15px 0px 15px 0px;
}

.fixed-t01 table {
  border-collapse: collapse;
  width: 600px;
  text-align: center;
  border: 2px solid #999;
}

.fixed-t01 td, .fixed-t01 th {
  border: 1px solid #999;
  padding: 8px;
  font-size: 12px;
  white-space: normal; /* 折り返しを有効にする */
  width: 200px;
  min-width: 200px; /* 小さくなるのを防ぐ */
}

/* ヘッダーの背景色 */
.fixed-t01 th {
  background: #ffca39;
}

/* データセルの背景色 */
.fixed-t01 td {
  background: #fff;
}

/* 固定左列のスタイル */
.fixed-t01 tr td:first-child,
.fixed-t01 tr th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  border-right: 2px solid #999;
  width: 100px; /* 固定列の幅をまとめて指定 */
  min-width: 100px;
}

/* 固定列のヘッダーの背景色とz-index */
.fixed-t01 tr th:first-child {
  background: #ffca39;
  z-index: 3;
}

/* 固定列のデータセルの背景色 */
.fixed-t01 tr td:first-child {
  background: #fff;
}