@charset "UTF-8";

/*-----------------------section s_01-----------------------*/
body {
    font-size: 16px;
}
.s_01{
    width: 100%;
    background-size: 100% auto;
}

.spOnly{ display: none;}

p { margin-bottom: 1em; }

.mt0{ margin-top: 0px!important; }
.mt10{ margin-top: 10px!important; }
.mt20{ margin-top: 20px!important; }
.mt30{ margin-top: 30px!important; }
.mt40{ margin-top: 40px!important; }
.mt50{ margin-top: 50px!important; }

.mb0{ margin-bottom: 0px!important; }
.mb10{ margin-bottom: 10px!important; }
.mb20{ margin-bottom: 20px!important; }
.mb30{ margin-bottom: 30px!important; }
.mb40{ margin-bottom: 40px!important; }
.mb50{ margin-bottom: 50px!important; }

.ml1{ margin-left: 1em!important; }
.ml-1{ margin-left: -1em!important; }
.ilB { display: inline-block!important;}

.pr5 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr20 { padding-right: 20px !important; }
.pr30 { padding-right: 30px !important; }
.pr40 { padding-right: 40px !important; }
.pr50 { padding-right: 50px !important; }

.pl5 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl20 { padding-left: 20px !important; }
.pl30 { padding-left: 30px !important; }
.pl40 { padding-left: 40px !important; }
.pl50 { padding-left: 50px !important; }

a {
    color: #333;
}
a:hover{ opacity: 0.6;}

a.u-line {
    text-decoration: underline;
}
.u-line-red {
    text-decoration: underline;
    color:red;
}
.breadcrumbs-wrapper > .inner {
    width: 940px;
    margin: 9px auto 0;
    font-size: 90%;
}
.breadcrumbs-wrapper > .inner a{
   color: #000;
   text-decoration: underline;
}
.breadcrumbs{
    margin: 0 5px;
}
.c_gray {
    background: #eceded;
}
.c_yellow {
    background: #FAD737;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 5px;
}
.fw-b {
    font-weight: bold;
}
.fs-small {
    font-size: 90%;
}
.fs-ssmall {
    font-size: 80%;
}
.wob-bw {
    word-break: break-word;
}
.wob-ka {
    word-break: keep-all;
}
.vt-a {
vertical-align: top;
}
.clm_column_top .contetns_area, .clm_column .contetns_area{
    width: 940px;
    padding: 20px;
    margin: 40px auto;
}

/* コラム本文用CSS */
.s10list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
}
.s10list li {
    background: #fff;
    padding: 10px;
    display: inline-block;
    vertical-align: top;
    width: 32%;
    margin: 0 0 20px;
    position: relative;
}
.s10list:after {
    content: "";
    display: block;
    width: 32%;  /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}
.s10inner {
    padding: 10px 0 0px 0;
    line-height: 1.6;
    font-size: 84%;
}
.s10title {
    text-align: left;
    font-weight:bold;
    margin-bottom: 10px;
    margin-top: 15px;
}
.s10txt {
    text-align: left;
}
.s10list li.ex::after{
    content: "";
    display: block;
    position: absolute;
    background: url(../img/lp/ttg_lp_column_ex.png) no-repeat center bottom;
    width: 150px;
    height: 150px;
    left: 0px;
    top: 0px;
    background-size: 100%;
}
.main_pro {
    width: 940px;
    padding: 20px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.main_img {
    width: 900px;
    margin: 60px 0 0;
}
.txt_box {
    width: 48%;
}
.txt_box h1 {
}
.right_box {
    width: 48%;
}
.flex {
    display: flex;
    justify-content: center;
}
.flex img {
    margin-left: 30px;
}
@media screen and (max-width: 767px){
  .flex{
    display:block !important;
  }
    .flex img {
        width: 100%;
        margin: 0 auto;
    }
}

.clm_contents img {
    padding: 3px;
    height: 160px;
}
.clm_type {
    margin-bottom: 10px;
    margin-top: 15px;
    text-align: left;
}
.cate {
    text-align: left;
}
.cate p {
    border: none;
    padding: 1px 5px;
    display: inline-block;
    margin-bottom: 0;
}
.cate p.green {
    background: #a4eadf;
}
.cate p.pink {
    background: #f48b9c;
}
.cate p.yellow  {
    background: #f8d063;
}
.cate p.blue  {
    background: #66ccff;
}
.cate p.orange {
    background: #ff9555;
}
.notice {
    
}
.notice span {
    padding-left: 1em;
    
}
.clm_contents_col {
    padding: 20px;
}
.clm_column_top h1, .clm_column h1 {
    font-family: "Hiragino Kaku Gothic ProN", "Meiryo", "MS PGothic", sans-serif;
    font-size: 220%;
    line-height: 1.2;
    margin: 10px 0 30px;
}
.clm_column h1 {
    margin-bottom: 30px;
}
.clm_column h2 {
    font-size: 1.8em;
    font-weight: bold;
    line-height: 1.4;
    margin: 10px 10px 40px 0px;
    background: linear-gradient(transparent 70% , #FAD737 70%);
    display: inline;
}
.clm_column h3 {
    font-size: 1.4em;
    font-weight: bold;
    line-height: 1.2;
    margin: 40px 10px 20px 0px;
    padding: 0.25em 0.5em;/*上下 左右の余白*/
    border-left: solid 5px #64AFE1;/*左線*/
}
.clm_column h4 {
    font-size: 1.3em;
    font-weight: bold;
    line-height: 1.2;
    margin: 20px 0px 20px 0px;
    position: relative;
    padding-left: 30px;
}
.clm_column h4:before {
    display: block;
    width: 30px;
    height: 30px;
    left: 0px;
    content: "■";
    position: absolute;
    color: #333;
}
.clm_column p.point {
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.5;
    margin: 30px 10px 10px 0px;
    position: relative;
    
}
.point .point-bd {
 border: 2px solid #333;
    padding: 0 10px;
}
.point .point-num {
 background-color: #333;
 color: #fff;
     padding: 2px 6px;
     margin-right: 10px;
}

figure {
    display: flex;
    flex-flow: column;
    padding: 0;
    max-width: 660px;
    margin: 40px auto 40px;
}
figure img {
    max-width: 660px;
    box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.5);
    margin-bottom: 5px;
}
figure img.no-shadow {
    box-shadow: none;
}
figure.fig2 {
    width: 50%;
}
figure.fig3 {
    width: 33%;
}

figure.fig-max {
    max-width: 800px;
}
figure.fig-max img {
    max-width: 800px;
}
figure.imgsize1-3 {
    max-width: 500px;
}

figure.fig2 img, figure.fig3 img {
/*    max-width: 100%;*/
}
figure.img-r {
    margin: 0 0 0 40px;
}
figcaption {
    color: #000;
    padding: 3px;
    text-align: center;
    font-size: 1.5rem;
}
.box-shadow-n {
    box-shadow: none;
}
.caution {
    color: #cc0000;
    font-size: 14px;
}
.whiteBack{
    background: #fff;
    color: #000;
}
.blueBack{
    background: #0064b2;
    color: #fff;
}
.ib{
    display: inline-block;
}
.btn_next {
    font-weight: 700;
    border: 2px solid #000;
    margin: 5px;
    text-align: center;
    display: inline-block;
    position: absolute;
    left: 10%;
    bottom: 15px;
    border-radius: 20px;
}
.btn_next a {
    color: #333;
    padding: 5px 70px;
    display: block;
    border-radius: 20px;
}
.btn_next a::before {
    display: block;
    width: 30px;
    height: 30px;
    left: 45px;
    content: "\f054";
    position: absolute;
    top: calc(50% + 5px);
    transform: translateY(-50%);
    font-family: FontAwesome;
    color: #E61E1E;
}
.btn_next a:hover {
    background-color: #0064b2;
    color:#fff;
}
.btn_blue {
    font-weight: 700;
    padding : 0;
    margin: 0px;
    text-align: center;
    display: inline-block;
    border-radius: 30px;
    background-color: #0064d2;
    min-width: 300px;
}
.btn_blue a {
    padding: 10px 70px;
    display: block;
    position: relative;
    color: #fff;
    border-radius: 30px;
}
.btn_blue a::before {
    display: block;
    width: 30px;
    height: 30px;
    left: 60px;
    content: "\f054";
    position: absolute;
    top: calc(50% + 3px);
    transform: translateY(-50%);
    font-family: FontAwesome;
    color: #fff;
}
.btn_blue a:hover {
    background-color: #0064b2;
    color:#fff;
}
.clm_column table{
    margin: 20px auto 10px;
    width: 80%;
    border-collapse: collapse;
    border-spacing: 0;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    background-color: #ffffff;
    empty-cells: show;
    overflow: auto;
    font-size: 0.9em;
    border-color: #888;
    line-height: 1.4;
}
.clm_column table th{
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background-color: #f4f4f4;
    background-position: left top;
    padding: 0.3em 0.4em;
    text-align: center;
    vertical-align: middle;
    border-color: #888;
    background-color: #d4d4d4;
}
.clm_column table td{
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 0.3em 0.6em;
    word-wrap: break-word;
    word-break: break-all;
    border-color: #888;
}
.clm_column table.tbl2 {
    width: 100%;
}
.clm_column ul, .clm_column ol{
    margin:0 0 15px 2em;
}
.clm_column ul li{
    list-style:outside disc;
}
.clm_column ol li{
    list-style: decimal;
    margin-bottom: 1em;
}

.clm_column .none li{
    list-style: none;
}
.clm_column ul li span{
    display:block;
    font-weight:bold;
}
.clm_column table ul{
    margin:5px 5px 5px 2em;
}
.clm_contents_box {
    text-align: left;
    width: 70%;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(204, 204, 204);
    border-image: initial;
    margin: 0px auto;
}
.clm_contents_box p {
    padding-left: 10px;
    font-size: 1.4em;
    margin-bottom: 0px;
    border-bottom: 1px solid rgb(204, 204, 204);
}
.clm_contents_box ul {
    background-color: rgb(242, 242, 242);
    margin: 0;
}
.clm_contents_box ul li {
    padding-left: 40px;
    font-size: 1.2em;
    position: relative;
    color: rgb(51, 51, 51);
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid rgb(204, 204, 204);
    text-decoration: none;
}
.clm_contents_box ul li:last-child {
    border-bottom: none;
}
.clm_contents_box ul li::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top-style: initial;
    border-left-style: initial;
    border-top-color: initial;
    border-left-color: initial;
    position: absolute;
    top: 50%;
    left: 0px;
    margin-top: -6px;
    transform: rotate(45deg);
    margin-left: 20px;
    border-width: 0px 2px 2px 0px;
    border-image: initial;
    border-bottom: 2px solid rgb(51, 51, 51);
    border-right: 2px solid rgb(51, 51, 51);
}
.clm_contents_box ul li a {
    display: block;
}
.editor {
    margin-top: 50px;
    text-align: right;
    font-size: 0.9em;
}

@media screen and (max-width: 768px) {
    .pcOnly{ display: none;}
    .spOnly{
         display: inline-block;
     }
    .breadcrumbs-wrapper > .inner {
        width: 100%;
    }
    .s_01{
        width: 100%;
        background-size: 100%;
    }
    .clm_column_top .contetns_area {
        width: 100%;
        margin: 20px auto;
        padding: 20px 10px;
    }
    .clm_contents p {
        font-size: 0.8em;
    }
    .clm_column .contetns_area{
        width: 100%;
        margin: 20px auto;
    }
    .main_pro {
        width: 100%;
        flex-direction: column;
    }
    .txt_box {
        width: 100%;
    }
    .txt_box h1 {
        /*color: #e61e1e;*/
    }
    .right_box {
         width: 100%;
    }
    .clm_contents img {
    height: auto;
}
    
/* コラム本文用CSS */
    .clm_contents_box {
        width: 100%;
    }
    .clm_contents_box p {
        font-size:1.2em;
    }
    .clm_contents_box ul li {
        font-size: 1.1em;
        line-height: 1.2;
        padding: 10px 10px 10px 40px;
    }
    .clm_contents_box ul li::before {
        margin-left: 15px;
    }
    .clm_contents_col {
        padding: 0px;
    }
    .main_img {
        width: 100%;
        margin: 0;
    }
    figure {
        width: 100%;
    }
    figure img {
        width: 100%;
    }
    figure.fig2, figure.fig3 {
        width: 100%;
    }
    figure.fig2 img {
        width: 100%;
    }
    figure.img-r {
        margin: 0 auto;
    }
    figcaption {
        font-size: 0.8em;
    }
    .clm_column_top h1, .clm_column h1 {
        font-size: 160%;
        line-height: 1.2;
        margin: 10px 10px 10px 0px;
    }
    .clm_column h2 {
        margin: 10px 0px 40px;
        font-size: 1.5em;
    }
    .clm_banner {
      flex-direction: column;
    }
    .clm_banner a {
        width: 100%;
    }
    .btn_next {
        position: relative;
        left: auto;
        bottom: auto;
    }
    footer .container .p-tec-footer__copyright{
        color: #000!important;
    }
    .s10list li {
        width: 100%;
        margin: 0 10px 20px;
    }
    .s10inner {
        font-size: 120%;
        padding: 20px 0;
    }
    .clm_column table{
        width: 100%;
        /*white-space: nowrap;*/
    }
    .clm_column table.tbl2 {
        width: 100%;
    }
    .clm_column .table-wrap{
        overflow-x: scroll;
    }
    .clm_column table th.rm202007 {
        min-width: 125px;
    }
    .clm_column table td {
        padding: 0.3em 0.4em;
    }

}

/* posasyからの移植記事 */
.clm-box {
    display: flex;
    justify-content: space-between;
}
.clm-box_r {
    width: 35%;
    margin-left: 20px;
}
.clm-box_l  {
    width: 65%;
}
.h1_sub {
    font-size: 25px;
    text-align: center;
    font-weight: normal;
}

@media screen and (max-width: 768px) {
    .clm-box {
        width: 100%;
        flex-direction: column-reverse;
    }
    .clm-box_r {
        width: 100%;
            margin-left: 0px;
    }
    .clm-box_l  {
        width: 100%;
    }
    .h1_sub {
      font-size: 0.9em;
    }
}

a.imagePopup img{
    margin-bottom:5px;
    border:2px solid #999;
}
a.imagePopup:hover img{
    border:2px solid #fa0000;
}
/* ポップアップ */
#popup {
    display: none; /* label でコントロールするので input は非表示に */
  }
  .popup-open {
    cursor: pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
  }
  .popup-overlay {
    display: none; /* input にチェックが入るまでは非表示に */
  }
  #popup:checked ~ .popup-overlay {
    display: block;
    z-index: 99999;
    background-color: #00000070;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
  }
  .popup-window {
    width: 80%;
    padding: 20px;
    border-radius: 6px;
    position: fixed;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
  }
figure .popup-window img{
    max-width: 100%;
    width: 100%;
    border: 10px solid #fff;
}
  .popup-text {
    margin: 0;
  }
  .popup-text:not(:last-of-type) {
    margin-bottom: 1em
  }
  .popup-close {
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
    background: #fff;
    font-size: 130%;
    padding: 5px 15px;
  }
  
.clm_2col figure img {
    margin-left: 0;
}

.clm_2col figure:first-child {
    margin-right: 15px;
}

.clm_2col figure.fig2 {
    width: calc(50% - 15px);
}

@media screen and (max-width: 768px) { 
    .clm_2col figure:first-child {
        margin-right: 0;
    }
    .clm_2col figure.fig2 {
        width: 100%;
    }
}
.clm_contents_col .indent {
    margin-left: 10px;
    font-size: 80%;
}
.clm_contents_col .indent2 {
    margin-left: 10px;
    font-size: 80%;
}

.clm_contents_col .indent li, .clm_contents_col .indent2 li {
   position:relative;
   list-style: none;
   text-indent: -1em;
   margin-left: 1.5em;
}

.clm_contents_col .indent li span {
   display: inline-block;
   text-indent: 0;
   font-weight: normal;
}
.clm_contents_col .indent2 li span {
   display: inline-block;
   text-indent: 0;
   font-weight: normal;
}

.clm_contents_col .indent li:before, .clm_contents_col .indent2 li:before {
    content: '※' ;
    display:block;
    position: absolute;
    left: -1.1em;
    top: 0;
}
  
@media screen and (max-width: 768px) {
  .clm_contents_col .indent li span {
    display: inline;
  }
}

/*検索関連のCSS　ここから*/
/* カテゴリ絞り込みボタン */
.clm_search {
    padding: 30px 0 30px;
}
.clm-search_inner {
    display: inline-flex;
    justify-content: space-around;
    background-color: #fff;
    padding: 15px;
    border-radius: 30px;
    width: 100%;
}
.clm-search_inner span{
    width: 10%;
}
ul.cate_select {
    margin: 0 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start;
    text-align: center;

}
.cate_select li {
    margin: 0 4px 0px;
    /*background: #7f7f7f;
    color: #fff;
    vertical-align: top;
    margin: 0 6px 10px;
    border-radius: 20px;
    border: 2px solid #002060;
    width: 18%;*/
}

  /* 左寄せにしたい .cate_selectに指定したwidthと同じ幅を指定する */
  /* .cate_select:after {
    content: "";
    display: block;
    width: 19%;
    height: 0;
} */

/*.cate_select li a {
    color: #fff;
    padding: 0px 14px;
    display: block;
    border-radius: 20px;
    font-size: 1.1em;
} */

/*.cate_select li a:hover {
    background-color: #002060;
    color:#fff;
    opacity: 1;
} */

.cate_select li input {
    background: #7f7f7f;
    color: #fff;
    padding: 0px 20px;
    display: block;
    border-radius: 20px;
    font-size: 0.9em;
    border: 2px solid #002060;

}

.cate_select li {
    position: relative;
}

.cate_select li input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.cate_select li input + label {
    background: #969696;
    color: #fff;
    padding: 2px 12px;
    display: block;
    border-radius: 20px;
    font-size: 0.9em;
    cursor: pointer;
    margin-bottom: 0;
}
.cate_select li input:checked + label {
    background-color: #002060;
    color:#fff;
    opacity: 1;
}
.cate_select li label:hover {
    background-color: #3a5a9a;
    color:#fff;
    opacity: 1;
}

.target-list-02.is-checke-on > li {
    display: none;
}
.target-list-02.is-checke-on > .js_target-02.js_selected {
    display: block;
    opacity: 0;
    animation: slideU 0.7s ease forwards;
    animation-delay: .3s;
}
@keyframes slideU {
  0%{ transform: translateY(100px); opacity: 0;}
  100% { transform: translateY(0); opacity: 1;}
}

@media screen and (max-width: 768px) {
	ul.cate_select {
		margin: 0;
	    justify-content: space-around;
	}
	.clm-search_inner {
	    flex-direction: column;
	}
	.clm-search_inner span {
		text-align: center;
		margin-bottom: 10px;
		width: 100%;
	}
	.cate_select li {
		margin: 0 0 10px;
	}
	.cate_select li input + label {
	    padding: 4px 20px;
	    font-size: 0.8em;
	}
}

/*検索関連のCSS　ここまで*/


/* 資料ダウンロード */

.dl {
    padding: 10px 0 0;
    border-top: 2px solid #666;
    font-size: 1.6em;
}
.dl span {
    display: inline;
    color: #fff;
    padding: 5px;
    background-color: #000;

}
.contetns_area .mddownload {
    margin: 30px 0 5px;
    background: #eee;
    padding: 10px 10px;
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
    align-items: end;
}

.contetns_area .mddownload li {
    display: inline-table;
    text-align: center;
    font-weight: bold;
    font-size: 140%;
    margin: 0 1px;
    transition: 0.5s;
    width: 20%;
    height: 160px;
}
.contetns_area .mddownload li img {
  width: 126px;
}
.contetns_area .mddownload li a:hover {
  opacity: 0.4;
  transition: 0.5s;
}
.contetns_area .mddownload li p {
  line-height: 1.4;
  margin-bottom: 5px;
}
.contetns_area .mddownload.two-lines li {
  margin: 0 5px 10px;
  position: relative;
}
.contetns_area .mddownload.two-lines li a {
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
    .contetns_area .mddownload {
        width: 100%;
        flex-direction: column;
    }
    .contetns_area .mddownload li {
        width: 100%;
        margin-bottom: 20px;
    }
}

/*  */

.contetns_area .reten {
margin: 0;

}
.contetns_area .reten li {
    line-height: 1.2;
    margin: 5px 0px;
    position: relative;
    padding-left: 15px;
    list-style: none;
}
.contetns_area .reten li:before {
    display: block;
    left: 0px;
    position: absolute;
    color: #333;
    content: '';
    width: 10px;
    height: 5px;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(-45deg);
    top: 5px;
}
.flex.clm_3col {
    justify-content: space-between;
}
.flex.clm_3col .fig3 {
    width: 32%;
}
.flex.clm_3col .fig3 img{
    margin: 0;
}
@media screen and (max-width: 768px) {
	.flex.clm_3col .fig3 {
	    width: 100%;
	}
}

/* dl dt dd */
.mod-dl-horizontal {
    overflow: hidden;
    zoom: 1;
    margin-top: 15px;
}
.dt-size {
  margin-top: 15px;
}
.mod-dl:first-child {
  margin-top: 0;
}
.mod-dl > dt {
  
}
/* Horizontal */
.mod-dl-horizontal {
  overflow: hidden;
  zoom: 1;
  margin-top: 15px;
}
.mod-dl-horizontal:first-child {
  margin-top: 0;
}
.mod-dl-horizontal > dt {
  float: left;
  clear: left;
    font-weight: normal;
}
.mod-dl-horizontal > dd {
  overflow: hidden;
  zoom: 1;
}
/*dl.mod-dl-horizontal dd {
	position: relative;
}

dl.mod-dl-horizontal dd:before {
	content: '：';
	width: 14px;
	height: 14px;
	position: absolute;
	left: 0;
	top: 0px;
	background-repeat: no-repeat;
	background-position: center center;
	margin-right: 6px;
	display: inline-block;
}*/

.clm_contents_box ul.dual li::before { top: 17px; }
.clm_contents_box ul.dual li ul li { font-size: 1em; }
.clm_about {
  border: 1px solid #000;
  padding: 0.5em;
  margin-bottom: 1em;
  background-color: #cfe2f3;
}


.article__outline__item__text2 {
    font-size: 1.6rem;
    line-height: 2;
    display: block;
	margin-bottom: 0;
}
.article__outline__item__text2:before {
    content: "・";
    display: inline-block;
}
@media screen and (max-width: 768px) {
	.article__outline__item__text2 {
		font-size: 1.6rem;
        display: block;
	}

}