@charset "utf-8";
/* CSS Document */
/**************************************
	base
**************************************/
/* ----------------------------------------------------------------------
 汎用デザイン
---------------------------------------------------------------------- */
/* タイトル
-------------------------*/
.title_primary {
    font-size: 2.4rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

.title_secondary {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1rem;
}

/* ボタン
-------------------------*/
.primary_btn {
    color: #fff;
    font-size: 1.4rem;
    border-radius: 5px;
    background: #3b3b3c;
    cursor: pointer;
    padding: 1rem 3rem;
    border: none;
}

.primary_btn:hover {
    opacity: 0.7;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

/* リスト
-------------------------*/
.btn_list {
    display: flex;
}

.btn_list_center {
    justify-content: center;
}

.btn_list_right {
    justify-content: right;
}

.btn_item + .btn_item {
    margin-left: 3rem;
}

/* input
-------------------------*/
.input_primary {
    width: 100%;
}

.input_design01 {
    width: 100%;
    height: auto;
    background: #efefef;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-shadow: none;
}

/* リンク
-------------------------*/
.link_underline {
    text-decoration: underline !important;
}

.link_underline:hover {
    text-decoration: none !important;
    cursor: pointer;
    opacity: 0.7;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.underline_parent a {
    text-decoration: underline;
}

.underline_parent a:hover {
    text-decoration: none;
}

/* ----------------------------------------------------------------------
 font-family
---------------------------------------------------------------------- */
.arial {
    font-family: Arial, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3",
        メイリオ, sans-serif;
}

/* ----------------------------------------------------------------------
 font-size
---------------------------------------------------------------------- */
.fz12 {
    font-size: 1.2rem !important;
}

.fz14 {
    font-size: 1.4rem !important;
}

/* ----------------------------------------------------------------------
 font-weight
---------------------------------------------------------------------- */
.bold {
    font-weight: bold !important;
}

/* ----------------------------------------------------------------------
 display
---------------------------------------------------------------------- */
.sp {
    display: none !important;
}

.block {
    display: block !important;
}

.inline_block {
    display: inline-block !important;
}

/* ----------------------------------------------------------------------
 text-align
---------------------------------------------------------------------- */
.center {
    text-align: center !important;
}

.left {
    text-align: left !important;
}

.right {
    text-align: right !important;
}

/* ----------------------------------------------------------------------
 display
---------------------------------------------------------------------- */
.bg_primary_color {
    background: #f6f6f6 !important;
}

/* ----------------------------------------------------------------------
 text-decoration
---------------------------------------------------------------------- */
.underline {
    text-decoration: underline !important;
}

/* ----------------------------------------------------------------------
 table
---------------------------------------------------------------------- */
.primary_table {
    width: 100%;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
}

.primary_table th,
.primary_table td {
    font-size: 1.4rem;
    line-height: 1.2;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
    padding: 0.5rem 0.8rem;
}

.primary_table th {
    color: #fff;
    font-weight: bold;
    background: #3b3b3c;
}

.table_side_scroll_wrap {
    overflow-x: auto;
}

.table_side_scroll {
    width: 970px;
    border-collapse: collapse;
    white-space: nowrap;
}

/* ----------------------------------------------------------------------
 margin-top
---------------------------------------------------------------------- */
.m_t5 {
    margin-top: 0.5rem !important;
}

.m_t10 {
    margin-top: 1rem !important;
}

.m_t15 {
    margin-top: 1.5rem !important;
}

.m_t20 {
    margin-top: 2rem !important;
}

.m_t25 {
    margin-top: 2.5rem !important;
}

.m_t30 {
    margin-top: 3rem !important;
}

.m_t35 {
    margin-top: 3.5rem !important;
}

.m_t40 {
    margin-top: 4rem !important;
}

.m_t45 {
    margin-top: 4.5rem !important;
}

.m_t50 {
    margin-top: 5rem !important;
}

.m_t60 {
    margin-top: 6rem !important;
}

.m_t70 {
    margin-top: 7rem !important;
}

.m_t80 {
    margin-top: 8rem !important;
}

/* ----------------------------------------------------------------------
 margin-bottom
---------------------------------------------------------------------- */
.m_b5 {
    margin-bottom: 0.5rem !important;
}

.m_b10 {
    margin-bottom: 1rem !important;
}

.m_b15 {
    margin-bottom: 1.5rem !important;
}

.m_b20 {
    margin-bottom: 2rem !important;
}

.m_b25 {
    margin-bottom: 2.5rem !important;
}

.m_b30 {
    margin-bottom: 3rem !important;
}

.m_b35 {
    margin-bottom: 3.5rem !important;
}

.m_b40 {
    margin-bottom: 4rem !important;
}

.m_b45 {
    margin-bottom: 4.5rem !important;
}

.m_b50 {
    margin-bottom: 5rem !important;
}

.m_b80 {
    margin-bottom: 8rem !important;
}
/* ----------------------------------------------------------------------
 margin-right
---------------------------------------------------------------------- */
.m_r5 {
    margin-right: 0.5rem !important;
}

.m_r10 {
    margin-right: 1rem !important;
}

.m_r15 {
    margin-right: 1.5rem !important;
}

.m_r20 {
    margin-right: 2rem !important;
}

.m_r25 {
    margin-right: 2.5rem !important;
}

.m_r30 {
    margin-right: 3rem !important;
}

.m_r35 {
    margin-right: 3.5rem !important;
}

.m_r40 {
    margin-right: 4rem !important;
}

.m_r45 {
    margin-right: 4.5rem !important;
}

.m_r50 {
    margin-right: 5rem !important;
}

/* ----------------------------------------------------------------------
 margin-left
---------------------------------------------------------------------- */
.m_l5 {
    margin-left: 0.5rem !important;
}

.m_l10 {
    margin-left: 1rem !important;
}

.m_l15 {
    margin-left: 1.5rem !important;
}

.m_l20 {
    margin-left: 2rem !important;
}

.m_l25 {
    margin-left: 2.5rem !important;
}

.m_l30 {
    margin-left: 3rem !important;
}

.m_l35 {
    margin-left: 3.5rem !important;
}

.m_l40 {
    margin-left: 4rem !important;
}

.m_l45 {
    margin-left: 4.5rem !important;
}

.m_l50 {
    margin-left: 5rem !important;
}

/* ----------------------------------------------------------------------
 padding-top
---------------------------------------------------------------------- */
.p_t5 {
    padding-top: 0.5rem !important;
}

.p_t10 {
    padding-top: 1rem !important;
}

.p_t15 {
    padding-top: 1rem !important;
}

.p_t20 {
    padding-top: 2rem !important;
}

.p_t25 {
    padding-top: 2rem !important;
}

.p_t30 {
    padding-top: 3rem !important;
}

.p_t35 {
    padding-top: 3rem !important;
}

.p_t40 {
    padding-top: 4rem !important;
}

.p_t45 {
    padding-top: 4rem !important;
}

.p_t50 {
    padding-top: 5rem !important;
}

/* ----------------------------------------------------------------------
 padding-bottom
---------------------------------------------------------------------- */
.p_b5 {
    padding-bottom: 0.5rem !important;
}

.p_b10 {
    padding-bottom: 1rem !important;
}

.p_b15 {
    padding-bottom: 1.5rem !important;
}

.p_b20 {
    padding-bottom: 2rem !important;
}

.p_b25 {
    padding-bottom: 2.5rem !important;
}

.p_b30 {
    padding-bottom: 3rem !important;
}

.p_b35 {
    padding-bottom: 3.5rem !important;
}

.p_b40 {
    padding-bottom: 4rem !important;
}

.p_b45 {
    padding-bottom: 4.5rem !important;
}

.p_b50 {
    padding-bottom: 5rem !important;
}

/* ----------------------------------------------------------------------
 padding-right
---------------------------------------------------------------------- */
.p_r5 {
    padding-right: 0.5rem !important;
}

.p_r10 {
    padding-right: 1rem !important;
}

.p_r15 {
    padding-right: 1.5rem !important;
}

.p_r20 {
    padding-right: 2rem !important;
}

.p_r25 {
    padding-right: 2.5rem !important;
}

.p_r30 {
    padding-right: 3rem !important;
}

.p_r35 {
    padding-right: 3.5rem !important;
}

.p_r40 {
    padding-right: 4rem !important;
}

.p_r45 {
    padding-right: 4.5rem !important;
}

.p_r50 {
    padding-right: 5rem !important;
}

/* ----------------------------------------------------------------------
 padding-left
---------------------------------------------------------------------- */
.p_l5 {
    padding-left: 0.5rem !important;
}

.p_l10 {
    padding-left: 1rem !important;
}

.p_l15 {
    padding-left: 1.5rem !important;
}

.p_l20 {
    padding-left: 2rem !important;
}

.p_l25 {
    padding-left: 2.5rem !important;
}

.p_l30 {
    padding-left: 3rem !important;
}

.p_l35 {
    padding-left: 3.5rem !important;
}

.p_l40 {
    padding-left: 4rem !important;
}

.p_l45 {
    padding-left: 4.5rem !important;
}

.p_l50 {
    padding-left: 5rem !important;
}

/* ----------------------------------------------------------------------
 flex-box
---------------------------------------------------------------------- */
.flex_box {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: row; /* Safari */
    flex-direction: row;
}
.flex_reverse {
    display: -webkit-flex; /* Safari */
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: row-reverse !important; /* Safari */
    flex-direction: row-reverse !important;
}
.flex_between {
    -webkit-justify-content: space-between !important; /* Safari */
    justify-content: space-between !important;
}
.flex_around {
    -webkit-justify-content: space-around !important; /* Safari */
    justify-content: space-around !important;
}
.flex_start {
    -webkit-justify-content: flex-start !important; /* Safari */
    justify-content: flex-start !important;
}
.flex_container {
    -webkit-justify-content: center; /* Safari */
    justify-content: center;
}
.flex_nowrap {
    -webkit-flex-wrap: nowrap; /* Safari */
    flex-wrap: nowrap;
}
.flex_wrap {
    -webkit-flex-wrap: wrap; /* Safari */
    flex-wrap: wrap;
}

/* ----------------------------------------------------------------------
 hover時ゆっくり変化させます
---------------------------------------------------------------------- */
a:hover {
    opacity: 0.7;
    text-decoration: none;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

a:hover img {
    opacity: 8;
    filter: alpha(opacity=70);
    -moz-opacity: 8;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
