@charset "UTF-8";

/*******汎用クラス*******/

.fwb{font-weight: bold;}
.min-mt5{margin-top: -5px;}
.pd0{padding: 0;}
.m10{margin: 10px;}

/* txt */
.txt{
    font-size: 14px;
    margin: 1em 0.75em;
    line-height: 1.2em;
    word-break: break-all;
}
.txt.indent{text-indent: 1em;}
.txt_center{text-align: center;}
.txt_left{text-align: left;}
.txt_right{text-align: right;}
.txt_size_min{
    font-size: 12px;
    line-height: 1.2em;
}
/* txt内リンク */
.text_link{
    padding: 0.25em;
    line-height: 2em;
}
.text_link.indent{
    padding-left: 0;
}

.underline {
    text-decoration: underline; 
}

/* clearfix */
.clearfix {
    zoom:1;
}
.clearfix:after{
    content: "";
    display: block;
    clear: both;
}
/* １行丸め込み */
/* ブロック要素に使うこと */
.rdstr{
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* float */
.box_left{
    float:left;
}
.box_right{
    float:right;
}
/* tab */
.tab4 > *{
    width: 25%
}
/* ボックスレイアウト */
.box_list{
    display: -webkit-box;
    display: -moz-box;
    display: -o-box;
    -webkit-box-align: center;
    -moz-box-align: center;
    -o-box-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    width: 100%;
    /* IE対応 */
    display:-ms-flexbox;
    -ms-flex-pack:center;
    -ms-flex-align:center;
    -ms-box-sizing: border-box;
}
.align_start{
    -webkit-box-align: start;
    -moz-box-align: start;
    -o-box-align: start;
}
.align_end{
    -webkit-box-align: end;
    -moz-box-align: end;
    -o-box-align: end;
}
.box_list_main {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -o-box-flex: 1;
    /* IE対応 */
    -ms-flex:1;
    flex-grow: 2;
    flex-basis: 100%;
}
.box_horizon {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    width: 100%;
    /* IE対応 */
    display:-ms-flexbox;
}
.box_horizon > * {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    box-flex: 1;
    /* IE対応 */
    -ms-flex:1;
}
/* 非表示 */
.hide{
    display: none;
}
.block{
    display: block;
}
.hidden{
    opacity: 0;
}
/* arrow */
.arrow {
    display: inline-block;
    height: 7px;
    width: 7px;
    border-top: solid 2px;
    border-right: solid 2px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    color: #000000;
    margin: 0 2px;
}
.arrow.left{
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform : rotate(-135deg);
}
/* ヘッダー、プロフィール編集 */
.accordion_btn .arrow {
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform : rotate(135deg);
}
/* 下線なし */
.list_no_btm li:last-child{
    border-bottom: none;
}
.list_no_top li:first-child{
    border-top: none;
}
.btm_line {
    border-bottom: 1px solid #cfcfcf;
}
.btm_dot{
    border-bottom: 1px dotted;
}
.no_deco{
    text-decoration:none;
}
/* マージン調整 */
.over, 
.half_vertical_margin, 
.vertical_margin, 
.double_vertical_margin{
    overflow: hidden;
}
.no_margin{
    margin: 0!important;
}
.half_margin{
    margin: 0.5em!important;
}
.margin{
    margin: 1em!important;
}
.double_margin{
    margin: 2em!important;
}
.half_vertical_margin{
    margin-top: 0.5em!important;
    margin-bottom: 0.5em!important;
}
.vertical_margin{
    margin-top: 1em!important;
    margin-bottom: 1em!important;
}
.base.vertical_margin{
    margin-top: 0!important;
    margin-bottom: 0!important;
}
.double_vertical_margin{
    margin-top: 2em!important;
    margin-bottom: 2em!important;
}
.half_horizon_margin_px{
    margin-left: 10px!important;
    margin-right: 10px!important;
}
.half_horizon_margin{
    margin-left: 0.5em!important;
    margin-right: 0.5em!important;
}
.horizon_margin{
    margin-left: 1em!important;
    margin-right: 1em!important;
}
.double_horizon_margin{
    margin-left: 2em!important;
    margin-right: 2em!important;
}
.top_margin{
    margin-top: 1em!important;
}
.half_top_margin{
    margin-top: 0.5em!important;
}
.bottom_margin{
    margin-bottom: 1em!important;
}
.half_bottom_margin{
    margin-bottom: 0.5em!important;
}
.double_bottom_margin{
    margin-bottom: 2em!important;
}
.triple_bottom_margin{
    margin-bottom: 40em!important;
}
.half_left_margin{
    margin-left: 0.5em!important;
}
.left_margin{
    margin-left: 1em!important;
}
.half_right_margin{
    margin-right: 0.5em!important;
}
.right_margin{
    margin-right: 1em!important;
}
/* padding調整 */
.no_padding{
    padding: 0!important;
}
.half_padding{
    padding: 0.5em!important;
}
.padding{
    padding: 1em!important;
}
.double_padding{
    padding: 2em!important;
}
.half_vertical_padding{
    padding-top: 0.5em!important;
    padding-bottom: 0.5em!important;
}
.vertical_padding{
    padding-top: 1em!important;
    padding-bottom: 1em!important;
}
.double_vertical_padding{
    padding-top: 2em!important;
    padding-bottom: 2em!important;
}
.half_horizon_padding{
    padding-left: 0.5em!important;
    padding-right: 0.5em!important;
}
.half_horizon_padding_px{
    padding-left: 10px!important;
    padding-right: 10px!important;
}
.horizon_padding{
    padding-left: 1em!important;
    padding-right: 1em!important;
}
.double_horizon_padding{
    padding-left: 2em!important;
    padding-right: 2em!important;
}
.top_padding{
    padding-top: 1em!important;
}
.half_top_padding{
    padding-top: 0.5em!important;
}
.bottom_padding{
    padding-bottom: 1em!important;
}
.half_bottom_padding{
    padding-bottom: 0.5em!important;
}
.left_padding{
    padding-left: 1em!important;
}
.right_padding{
    padding-right: 1em!important;
}
/* 文字色調整 */
.txt_color {color :#000000;}
.link_color {color: #000000;}
.txt_attention{color: #ff9999;}
.txt_strong{font-weight:bold;}
.female_color{color: #ff9999;}
.title_color {
    color: #808080;
    font-weight: bold;
    font-size: 13px;
}
/* ボックスの寄せ*/
.box_align_rignt{
    -webkit-box-pack: end;
    -moz-box-pack: end;
    -o-box-pack: end;
}
.box_align_center{
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -o-box-pack: center;
}
.box_align_left{
    -webkit-box-pack: start;
    -moz-box-pack: start;
    -o-box-pack: start;
}
/* 文字半角折り返し */
.word_break {word-break: break-all;}
.pa {position: absolute;}
.pr {position: relative;}
/* display */
.dn {display:none;}
.db {display:block;}
.dib{display:inline-block;}
.di {display: inline;}
/* クラスが長くて使いにくい */
.mt40 { margin-top: 40px; }
section.base{
    margin-bottom:0;
}