/* --------------------------------------------------
    WIN5 共通
-------------------------------------------------- */
img {
    object-fit: contain;
    vertical-align: top;
}


/* - コンテンツヘッダーエリア
-------------------------------------------------- */
.head_area {
    position: relative;
    /*margin-bottom: 50px;*/
}

.head_area .heading-simple.h2 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    margin-top: clamp(16px, 3vw, 24px);
    font-size: 2rem;
    font-size: clamp(1.8rem, 0.0266rem + 2.3121vw, 2.2rem);
}

.head_area .heading-simple.h2 .icon {
    height: 1.2em;
}


.head_area > .nav-local-group {
    margin-top: clamp(16px, 3vw, 24px);
}

.shadow_wrap {
    position: relative;
    overflow: hidden;
    /* 擬似要素のの高さの半分 */
    /*padding-bottom: 4vw;*/
	padding-bottom: clamp(15px,4vw,50px);
    width: 100%;
}

.shadow_wrap .head_area {
    position: relative;
    padding-bottom: 20px;
}

.shadow_wrap .head_area::before {
    content: "";
    width: 160vw;
    /*height: 8vw;*/
    height: clamp(30px,8vw,100px);
    border-radius: 50%;
    position: absolute;
    display: block;
    left: 50%;
    top: 100%;
    bottom: 0;
    transform: translateX(-50%);
    box-shadow: inset 0px 0 2vw rgba(0, 120, 83, 0.2);
    box-shadow: inset 0px 0 clamp(1.5rem, 4vw, 2rem) rgb(from var(--main-color) r g b / 20%);
}

.shadow_wrap.bg_gray .head_area::before {
	background-color: var(--color-bg-gray);
}


/* - レイアウト
---------------------------------------------------------------------- */
/* ----- WIN5ヘッダー ----- */
.win5_header {
    background-color: #3b4f89;
    border-radius: 4px;
    padding: 10px;
    margin-top: 20px;
}

.win5_header > .inner { display: table; }

.win5_header > .inner > .cell {
    display: table-cell;
    vertical-align: middle;
}

.win5_header > .inner > .cell.img {
    background-color: #fff;
    border-radius: 2px;
    padding: 2px 4px;
}

.win5_header > .inner > .cell.img img { vertical-align: top; }

.win5_header > .inner > .cell.txt {
    color: #fff;
    padding-left: 20px;
}

.win5_header > .inner > .cell.txt h2 {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.3;
}

.win5_header > .inner > .cell.txt h2 > span {
    font-size: 1.4rem;
    display: block;
    line-height: 1.2;
}

/* ----- コンテンツ ----- */
.unit_area .unit { margin-top: 50px; }

.unit_area .unit > .grid {
    display: table;
    width: 100%;
    margin-top: 20px;
}

.unit_area .unit > .grid > .cell {
    display: table-cell;
    vertical-align: top;
}

.unit_area .unit > .content { margin-top: 20px; }


/* - ボトムリンク
---------------------------------------------------------------------- */
.bottom_link {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px dashed #ddd;
    text-align: right;
}

.bottom_link > a.btn-def.btn-sm { padding: 8px; }

.bottom_link > a > .inner { display: table; }

.bottom_link > a > .inner > span {
    display: table-cell;
    vertical-align: middle;
}

.bottom_link > a > .inner > span.txt {
    padding-left: 8px;
    font-size: 1.2rem;
}

.bottom_link > a > .inner > span.icon > span.step {
    background-color: #268300;
    color: #fff;
    padding: 3px 6px;
    border-radius: 3px;
    font-size: 1.1rem;
    display: inline-block;
    vertical-align: middle;
}



/* - 投票メニュー
-------------------------------------------------------------------------------- */
#pat_area {
    margin-top: 50px;
}

/* --- リンクグループ --- */
#pat_area .link-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    /*gap: clamp(10px, 2vw, 20px);*/
    font-size: 1.4rem;
}

/* ----- ネット馬券購入 ----- */
#pat_area .login_unit {
    max-width: 670px;
    margin-inline: auto;
    margin-top: 30px;
}

#pat_area .login_unit > * + * {
    margin-top: 16px;
}

#pat_area .login_unit .btn_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}


#pat_area .login_unit .btn_list .unit {
    width: calc((100% - 16px) / 3);
}

#pat_area .login_unit .btn_list .unit a {
    display: block;
    text-decoration: none;
    text-align: center;
    color: var(--color-white);

}

#pat_area .login_unit .btn_list .unit a .logo {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    aspect-ratio: 220 / 34;
    line-height: 1;
}

#pat_area .login_unit .btn_list .unit a .logo img{
    height: 100%;
}

#pat_area .login_unit .btn_wrap {
    display: inline-block;
    margin-top: 8px;
}

#pat_area .login_unit .btn-round {
    padding: 0.6em 1.6em;
    font-size: 1.3rem;
    font-size: clamp(1.2rem, -0.5734rem + 2.3121vw, 1.6rem);
    font-weight: 500;
}

#pat_area .login_unit .btn-round span {
    display: inline-block;
}

#pat_area .login_unit .unit.soku a .btn-round {
    background-color: #1D2186;
}

#pat_area .login_unit .unit.direct a .btn-round {
    background-color: #163C2B;
}

#pat_area .login_unit .unit.nar a .btn-round {
    background-color: #581800;
}

#pat_area .login_unit .btn_group a img {
    max-width: 28px;
    height: 16px;
    width: auto;
    object-fit: contain;
}


/* ----- UMACA投票 ----- */
#pat_area .block-group {
    display: flex;
	justify-content: center;
	/*gap: 30px;*/
    gap: clamp(24px, 4vw, 60px) clamp(8px, 4vw, 60px);
}

#pat_area .block-group .link_unit {
    text-align: center;
}

#pat_area .block-group .link_unit > a {
    justify-self: center;
    max-width: 392px;
    text-decoration: none;
    color: #333;
    position: relative;
    display: block;

    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.1);
}

#pat_area .block-group .link_unit > a > .img {
    max-height: 100%;
    border: 1px solid #ddd;
}

#pat_area .block-group .link_unit > a > .img + .title {
    margin-top: 15px;
}

#pat_area .block-grou .link_unit > a > .title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 1.4rem;
    font-size: clamp(1.2rem, 0.8480rem + 0.8000vw, 1.6rem);
    font-weight: bold;
}

#pat_area .block-group .link_unit .bottom_link {
    text-align: center;
}




/* ------------------------------------------------------------
	959px以下
------------------------------------------------------------ */
@media screen and ( max-width : 959px ) {
	
}

/* ------------------------------------------------------------
	767px以下
------------------------------------------------------------ */
@media screen and ( max-width : 767px ) {

    .head_area {
        /*margin-bottom: 30px;*/
    }

    .shadow_wrap {
        margin-bottom: 20px;
    }
    
    /* ----- レイアウト ----- */
    .unit_area .unit > .grid { display: block; }
    .unit_area .unit > .grid > .cell { display: block; }
    .unit_area .unit > .grid > .cell.img {
        width: auto;
        text-align: center;
        padding-left: 0;
        margin-top: 30px;
    }
    
}

/* ------------------------------------------------------------

	639px以下

------------------------------------------------------------ */
@media screen and ( max-width : 639px ) {
    
    /* - ボトムリンク
    ---------------------------------------------------------------------- */
    .bottom_link { text-align: center; }
    .bottom_link > a.btn-def.btn-sm { padding: 6px; }
    .bottom_link > a > .inner > span.icon > span.step { font-size: 1rem; }
    .bottom_link > a > .inner > span.txt { font-size: 1.1rem; }
    
}

/* ------------------------------------------------------------
	479px以下
------------------------------------------------------------ */
@media screen and ( max-width : 479px ) {

    /* ----- 投票メニュー ----- */
    #pat_area .block-group {
        display: block;
    }

    #pat_area .block-group > .link_unit + .link_unit {
        margin-top: 20px;
    }

    #pat_area .block-group .link_unit > a {
        max-width: 100%;
        padding: 10px;
    }

    #pat_area .block-group .link_unit > a > .img + .title {
        margin-top: 10px;
    }
    
}

/* ------------------------------------------------------------
	359px以下
------------------------------------------------------------ */
@media screen and ( max-width : 359px ) {
    
}