@charset "utf-8";
/*
ページごとの設定や、位置調整、テキスト装飾などで使用する汎用的なものとを記述します。
Anything used for general purpose such as setting for every page, position adjustment, and text decoration will be written.

接頭辞はUtilityの頭文字を取って【u_】とします。
Prefix will take the "Utility" first letter and use it as "u_".

clearfixのみ、例外的に接頭辞をつけてません。
This not apply to "clearfix".

フォントサイズはremで指定します。
"rem" will be used for font-size.
*/

.u_mat0 {
    margin-top: 0;
}
.u_mat5 {
    margin-top: 5px;
}
.u_mat10 {
    margin-top: 10px;
}
.u_mat20 {
    margin-top: 20px;
}
.u_mat30 {
    margin-top: 30px;
}
.u_mat40 {
    margin-top: 40px;
}
.u_mat50 {
    margin-top: 50px;
}
.u_mat60 {
    margin-top: 60px;
}

.u_mab0 {
    margin-bottom: 0;
}
.u_mab5 {
    margin-bottom: 5px;
}
.u_mab10 {
    margin-bottom: 10px;
}
.u_mab15 {
    margin-bottom: 15px;
}
.u_mab20 {
    margin-bottom: 20px;
}
.u_mab25 {
    margin-bottom: 25px;
}
.u_mab30 {
    margin-bottom: 30px;
}
.u_mab40 {
    margin-bottom: 40px;
}
.u_mab50 {
    margin-bottom: 50px;
}
.u_mab60 {
    margin-bottom: 60px;
}
.u_mab100 {
    margin-bottom: 100px;
}

.u_mar10 {
    margin-right: 10px;
}
.u_mar20 {
    margin-right: 20px;
}

.u_mal10 {
    margin-left: 10px;
}
.u_mal20 {
    margin-left: 20px;
}

.u_ALcenter {
    text-align: center !important;
}
.u_ALright {
    text-align: right !important;
}
.u_ALleft {
    text-align: left !important;
}
.u_ALtop {
    vertical-align: top;
}
.u_ALmiddle {
    vertical-align: middle;
}
.u_ALbottom {
    vertical-align: bottom;
}

.u_float_left {
    float: left;
}
.u_float_right {
    float: right;
}

.u_red {
    color: #f00;
}
.u_black {
    color: #333;
}
.u_white {
    color: #fff;
}
.u_yellow {
    color: #f8e187;
}

.u_bold {
    font-weight: bold;
}
.u_fw_normal {
    font-weight: normal;
}
.u_underline {
    text-decoration: underline;
}
.u_strike {
    text-decoration: line-through;
}

.u_img_floatL {
    float: left;
    margin-right: 20px;
}
.u_img_floatR {
    float: right;
    margin-left: 20px;
}

.u_fs11 {
    font-size: 1.1rem;
}
.u_fs12 {
    font-size: 1.2rem;
}
.u_fs13 {
    font-size: 1.3rem;
}
.u_fs14 {
    font-size: 1.4rem;
}
.u_fs15 {
    font-size: 1.5rem;
}
.u_fs16 {
    font-size: 1.6rem;
}
.u_fs17 {
    font-size: 1.7rem;
}
.u_fs18 {
    font-size: 1.8rem;
}
.u_fs19 {
    font-size: 1.9rem;
}
.u_fs20 {
    font-size: 2rem;
}
.u_fs21 {
    font-size: 2.1rem;
}
.u_fs22 {
    font-size: 2.2rem;
}
.u_fs23 {
    font-size: 2.3rem;
}
.u_fs24 {
    font-size: 2.4rem;
}

.u_inline {
    display: inline;
}
.u_inlineblock {
    display: inline-block;
}

.u_disable {
    pointer-events: none;
}

.u_hover:hover {
    opacity: 0.7;
}

.u_sp {
    display: none;
}

/*----------------------------------------------
	.u_indent
---------------------------------------------*/
.u_indent01 {
    text-indent: -1em;
    padding-left: 1em;
}
.u_indent02 {
    text-indent: -2em;
    padding-left: 2em;
}
.u_indent03 {
    text-indent: -3em;
    padding-left: 3em;
}

/*----------------------------------------------
	.u_flex
---------------------------------------------*/
.u_flex {
    display: flex;
}

.u_flex.is_jc_end {
    flex-wrap: wrap;
    justify-content: flex-end;
}
.u_flex.is_jc_center {
    flex-wrap: wrap;
    justify-content: center;
}
.u_flex.is_jc_spBetween {
    flex-wrap: wrap;
    justify-content: space-between;
}
.u_flex.is_jc_spAround {
    flex-wrap: wrap;
    justify-content: space-around;
}
.u_flex.is_jc_spEvenly {
    flex-wrap: wrap;
    justify-content: space-evenly;
}
.u_flex.is_jc_end.no_wrap,
.u_flex.is_jc_center.no_wrap,
.u_flex.is_jc_spBetween.no_wrap,
.u_flex.is_jc_spAround.no_wrap {
    flex-wrap: nowrap;
}

.u_flex.is_column {
    flex-wrap: wrap;
    flex-direction: column;
}
.u_flex.is_ai_end {
    align-items: flex-end;
}
.u_flex.is_ai_center {
    align-items: center;
}

.u_flex.is_gap20 {
    gap: 20px;
}
.u_flex.is_gap30 {
    gap: 30px;
}

.u_flex.is_flex1 > * {
    flex: 1;
}

/*----------------------------------------------
	.clearfix
---------------------------------------------*/
.clearfix:after {
    content: " ";
    display: block;
    clear: both;
}

/*----------------------------------------------
	.area_list
---------------------------------------------*/
.l_inner_contents .area_list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: #f3f3f3;
    padding: 20px;
    font-size: 13px;
    margin-bottom: 20px;
}

.area_ul {
    margin-bottom: 10px !important;
    border-bottom: dashed 1px #999;
    padding-bottom: 10px;
}

.area_ul li {
    display: inline-block;
}

.area_b {
    font-weight: bold;
    width: 100px;
}

.area_s {
    margin-left: 10px;
}

/*----------------------------------------------
	.cat_list
---------------------------------------------*/
.l_inner_contents .cat_head {
    margin-bottom: 20px;
}

.cat_list {
    margin: 0;
}

.cat_list .cat_item {
    margin: 0;
    padding: 30px;
}

.cat_list .cat_item .cat_thum {
    width: 280px;
    height: 210px;
    flex-shrink: 0;
    margin-right: 15px;
}

.cat_list .cat_item .cat_thum a {
    display: block;
}

.cat_list .cat_item .cat_thum a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cat_list .cat_item .meta_list {
    margin-bottom: 15px;
}

.cat_list .cat_item .meta_list li {
    font-size: 0.9rem;
    border: none;
    border-right: 1px solid #aaa;
    margin: 0 10px 10px 0;
    padding: 0 10px 0 0;
}

.cat_list .cat_item .meta_list li a {
    margin: 0px;
}

.cat_list .cat_item .cat_title {
    margin: 0 0 10px 0;
    font-size: 1.2rem;
}

.cat_list .cat_item .cat_title a {
    margin: 0;
    padding: 0;
}

.cat_list .cat_item .cat_excerpt {
    margin: 0;
    padding: 0;
    font-size: 0.8rem;
}

/*----------------------------------------------
	.pagination
---------------------------------------------*/
.pagination .page-numbers {
    display: inline-block;
    text-decoration: none;
    margin: 0 4px 4px 0;
    padding: 13px 15px;
    font-size: 0.8rem;
    line-height: 100%;
    color: #fff;
    background: #bbb;
    border-radius: 3px;
}

.pagination .page-numbers.current {
    background: #333;
}

/*----------------------------------------------
    .is_post_thumbnail
---------------------------------------------*/
.is_post_thumbnail {
    max-width: 100%;
    height: auto;
    object-fit: cover;
}

/*----------------------------------------------
    .pdf_link
---------------------------------------------*/
.pdf_link {
    width: 60px;
    height: auto;
    margin: 10px auto;
    display: block;
}

/*----------------------------------------------
    section.post
---------------------------------------------*/

section.post p {
    line-height: 2;
}

section.post  .wp-caption-text {
    text-align: center;
    font-size: 12px;
    font-style: italic;
    margin: 9px auto;
}

/* table */
.post table { 
    margin:0 0 24px 0; 
}
.post td, .post th { 
    border:1px solid #ccc; 
    padding:10px 15px 7px; 
    line-height:2; 
}
.post th { 
    background:#f2f2f2; 
    font-weight:normal; 
}

/* img */
section.post img { 
    height:auto; 
    max-width:100%; 
}
section.post img.centered,div.centered { 
    display:block; 
    margin:15px auto; 
}
section.post img.aligncenter,div.aligncenter { 
    display:block; 
    margin:15px auto; 
}
section.post img.alignright,div.alignright { 
    margin:10px 0 30px 30px; 
    display:inline; 
}
section.post img.alignleft,div.alignleft {
    margin:10px 30px 30px 0; 
    display:inline; 
}
section.post .wp-caption { 
    background:#fff; 
    border:1px solid #ccc; 
    max-width:96%; 
    padding:14px 3px 1px; 
    -webkit-border-radius:5px; 
    -moz-border-radius:5px; 
    border-radius:5px; 
}
section.post .wp-caption img { 
    display:block; 
    margin:0 auto; 
    max-width:100%; 
}
section.post .wp-caption .wp-caption-text { 
    padding:10px 0 0; 
}
