@charset "utf-8";
/* CSS Document */


/* kv
   ================================================================== */
@keyframes zoomUp {
    0% {
        transform: scale(1.25);
        filter: blur(10px);
    }
    50%{
        filter: blur(0);
    }
    100% {
        transform: scale(1.0);
    }
}

.kv_fade .swiper-slide-active .slide-img,
.kv_fade .swiper-slide-duplicate-active .slide-img,
.kv_fade .swiper-slide-prev .slide-img{
  animation: zoomUp 9s cubic-bezier(0.165, 0.84, 0.44, 1) 0s 1 normal both;
}

.kv_fade .swiper-slide .slide-img{
    min-width: 100%;
}

.kv_fade .swiper-slide .slide-img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	image-rendering: -webkit-optimize-contrast;
}

.kv .kv_fade{
    opacity: 0;
    transition: .3s;
}

.kv .kv_fade.swiper-container-fade{
    opacity: 1;
}

.kv{
	margin: 0 0 0;
	position: relative;
}

.kv .inner{
	position: relative;
    z-index: 2;
    box-sizing: border-box;
	display: flex;
    justify-content: center;
}

.kv .swiper-container{
	position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}

.kv .slide-img{
	height: 100%;
}

.kv .inbox{
    padding: 8vw 0 10vw;
}

.kv h1{
    margin: 0 auto;
    width: 32vw;
    line-height: 0;
}

.kv h1 img{
    width: 100%;
}

.kv .catch{
    margin: 4vw auto 0;
    width: 65vw;
    line-height: 0;
}

.kv .check_list{
    margin: 20vw auto 0;
    width: 85vw;
}

.kv .check_list li{
    margin: 2vw 0 0;
    height: 8vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(230,126,34,.85);
    border-radius: 50px;
}

.kv .check_list li:nth-child(2){
    background: rgba(221730,0,0,.85);
}

.kv .check_list li:nth-child(3){
    background: rgba(0,148,50,.85);
}

.kv .check_list li span{
    font-size: 4.2vw;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    color: #fff;
    display: block;
    position: relative;
}

.kv .check_list li span::before{
    content: "";
    background-image: url("../../images/refrain/icon_check01.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 5vw;
    height: 5vw;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: calc(100% + 3vw);
}


/* index_pickup
   ================================================================== */
.index_pickup{
    background-image: url("../../images/refrain/webp/grass_bg.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.index_pickup::before{
    content: "";
    background: rgba(0,0,0,.15);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.index_pickup .inner{
    padding: 10vw 0;
}

.index_pickup h2{
    font-size: 5.2vw;
    font-weight: 500;
    color: #fff;
    font-family: "Zen Maru Gothic";
    text-align: center;
}

.index_pickup h2 span{
    font-size: 4.7vw;
    color: inherit;
    font-family: inherit;
}

.index_pickup .fade_box{
    margin: 8vw auto 0;
    width: 90vw;
    line-height: 0;
}

.index_pickup .card_slider{
    margin: 8vw auto 0;
    padding: 0 0 15vw;
    width: 80vw;
    line-height: 0;
    overflow: inherit;
}

.card_slider .swiper-pagination-bullet{
    margin: 0 6px !important;
    width: 15px;
    height: 15px;
    background: #fff;
    opacity: 1;
}

.card_slider .swiper-pagination-bullet-active{
    background: #D5AB67;
}


/* index_about
   ================================================================== */
.index_about{
    position: relative;
}

.index_about .top_block{
    padding: 7vw 0 8vw;
    background-image: url("../../images/refrain/webp/about_bg.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.index_about .horse_box{
    margin: 0 auto;
    width: 64vw;
    height: 66vw;
    position: relative;
}

.index_about .horse_box .circle{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
}

.index_about .horse_box .horse{
    position: absolute;
    bottom: 1vw;
    right: 8vw;
    z-index: 2;
    width: 110%;
    opacity: 0;
}

.index_about .horse_box.on .horse{
    animation: jumpOut 1.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0s 1 normal;
    animation-fill-mode: forwards;
    opacity: 1;
}

@keyframes jumpOut {
    0% {
        transform: scale(.80) translate(65px,25px);
        filter: blur(10px);
        opacity: 0;
    }
    50% {
        transform: scale(.80) translate(65px,25px);
        filter: blur(10px);
        opacity: 0;
    }
    75%{
        filter: blur(0);
        opacity: 1;
    }
    100% {
        transform: scale(1.0) translate(0,0);
    }
}

.index_about .horse_box .cover{
    z-index: 3;
}

.index_about .top_block .text_box{
    margin: -25vw 4vw 0;
    padding: 26vw 4vw 5vw;
    background: #fff;
    border: 3px solid #B4946E;
    border-radius: 20px;
}

/* bottom_block */
.index_about .bottom_block{
    padding: 9vw 0 0;
    background: #103626;
    position: relative;
}

.index_about .bottom_block .logo_box{
    padding: 0 6vw;
    position: relative;
}

.index_about .bottom_block .logo_box::before{
    content: "";
    background-image: url("../../images/refrain/webp/about_footprints.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
}

.index_about .bottom_block .logo_box h1{
    width: 23vw;
    line-height: 0;
}

.index_about .bottom_block p{
    margin: 5vw 4vw 0;
    font-size: 4.4vw;
    font-weight: 500;
    font-family: "Zen Maru Gothic";
    color: #fff;
}


/* record_block
   ================================================================== */
.record_block{
    background-image: url("../../images/refrain/webp/diagonal_line_bg.webp");
    background-position: center center;
    background-repeat: repeat;
    background-size: 100vw;
    position: relative;
    overflow: hidden;
}

.record_block .inner{
    padding: 10vw 0;
}

.record_block .rich_title_bg_title{
    position: relative;
    z-index: 1;
}

.record_block .record_slider{
    margin: 0 auto;
    width: 80vw;
    overflow: inherit;
}

.record_slider .record_box_wrap{
    width: 95%;
}


/* record_box_wrap
   ================================================================== */
.record_box_wrap{
    margin: 0 auto;
    padding: 0 3% 3%;
    width: 90%;
    max-width: 100%;
    position: relative;
    box-sizing: border-box;
}

.record_box_wrap::before{
    content: "";
    background: #0C7831;
    width: 100%;
    height: 30%;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 0 0 20px 20px;
    filter: drop-shadow(0 10px 10px rgba(0,0,0,.16));
}

.record_slider .record_box_wrap::before{
    background: #103626;
}

.record_box_wrap .record_box_inner{
    background: #fff;
    border: 3px solid #DBC9A5;
    border-radius: 20px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.record_box_wrap .record_icon{
    margin: auto;
    width: 35vw;
    top: -9vw;
    position: absolute;
    left: 0;
    right: 0;
    line-height: 0;
    z-index: 2;
}

.record_box_wrap .record_banner{
    line-height: 0;
}

.record_box_wrap .record_banner img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1720 / 740;
}

.record_box_wrap .acquisition{
    padding: 1vw 3vw;
    display: flex;
    align-items: center;
}

.record_box_wrap .acquisition .acquisition_txt{
    padding: 1.5vw .2vw 0 0;
    width: 4vw;
    height: 10vw;
    font-size: 2.6vw;
    letter-spacing: 0.5em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    display: flex;
    background: #D90000;
    color: #fff;
    border-radius: 20px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
}

.record_box_wrap .acquisition .acquisition_pay{
    padding: 2vw 0 0 3vw;
    width: calc(100% - 4vw);
    font-size: 9vw;
    line-height: 120%;
    letter-spacing: 0;
    font-family: "Noto Serif JP";
    font-weight: 700;
    display: flex;
    align-items: baseline;
    color: #D90000;
    box-sizing: border-box;
}

.record_box_wrap .acquisition .acquisition_pay span{
    margin: 0 0 0 1vw;
    font-size: .5em;
    letter-spacing: 0;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    display: inline-block;
}

.record_box_wrap .race_info{
    padding: 3vw 3vw 3vw;
    background: rgba(241,237,231,.3);
}

.record_box_wrap .race_info p{
    font-size: 3.4vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    line-height: 150%;
}

.record_box_wrap .race_info p + p{
    margin-top: .5vw;
}

.record_box_wrap .race_info_date span{
    margin-left: .3vw;
    font-size: .8em;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
}

.record_box_wrap .race_name{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.record_slider .record_box_wrap .race_name{
    height: 10vw;
}

.record_box_wrap .denomination{
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}


/* index_lineup
   ================================================================== */
.index_lineup{
    background-image: url("../../images/refrain/webp/diagonal_line_bg.webp");
    background-position: center center;
    background-repeat: repeat;
    background-size: 100vw;
    position: relative;
    overflow: hidden;
}

.index_lineup .inner{
    padding: 10vw 0 20vw;
}

.loop_photo{
    margin: 0 0 0;
	padding: 0 0 0;
    visibility: hidden;
    display: flex;
    opacity: 0;
}

.infiniteslide_wrap .loop_photo{
    visibility: visible;
    opacity: 1;
}

.loop_photo li{
	width: 200vw;
    line-height: 0;
}

.index_lineup .list{
    margin: 0 4vw;
    font-size: 0;
}

.index_lineup .list > li{
    margin: 0 0 3vw;
    width: 48%;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    line-height: 0;
}

.index_lineup .list > li:nth-child(2n+2){
    margin-left: 4%;
}

.index_lineup .list + p{
    margin: 1vw 7vw 0;
    font-size: 3.6vw;
}

.index_lineup .support{
    margin: 7vw 0 0;
}

.index_lineup .support .flex{
    margin: 0 8vw;
    height: 36vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.index_lineup .support .flex .photo{
    width: 65vw;
}

.index_lineup .support .flex .txt{
    width: calc(100% - 65vw);
    height: 100%;
    position: relative;
}

.index_lineup .support .flex h3{
    font-size: 7vw;
    display: flex;
    align-items: end;
    color: rgba(91,79,63,.35);
    font-family: "Zen Maru Gothic";
    font-weight: 700;
    letter-spacing: 0.05em;
    transform: rotate(90deg);
    position: absolute;
    top: 1vw;
    left: 70%;
    transform-origin: top left;
}

.index_lineup .support .text_box{
    margin: -13vw 0 0 3vw;
    padding: 16vw 3vw 5vw 5vw;
    background: #F1EBE0;
    border-radius: 20px 0 0 20px;
}


/* principle
   ================================================================== */
.principle{
    margin-top: -10vw;
}

.principle .grass_bg{
    background-image: url("../../images/refrain/webp/grass_bg.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: -1;
}

.principle .grass_bg::before{
    content: "";
    background: rgba(0,0,0,.15);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.principle .title_bottom_box{
   margin-bottom: 0;
}

.principle .grass_bg .inner{
    padding: 10vw 0;
    position: relative;
}

.principle .grass_bg .mask{
    position: absolute;
    top: 7vw;
    right: 13vw;
    width: 23vw;
}

.principle .grass_bg .list{
    margin: 0;
}

.principle .grass_bg .list > li{
    margin: 0 0 0 auto;
    width: 97vw;
    line-height: 0;
}

.principle .grass_bg .list > li:nth-child(2n+2){
    margin: 0 auto 0 0;
}

.principle .grass_bg .list > li + li{
    margin-top: -10vw !important;
}

/* bottom_block */
.principle .bottom_block .logo_ttl{
    height: 56vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: url("../../images/refrain/webp/principle_logo_ttl_bg.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.principle .bottom_block .logo_ttl::before{
    content: "";
    background: rgba(0,0,0,.30);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.principle .bottom_block .logo_ttl .mask{
    width: 28vw;
    position: relative;
    z-index: 1;
}

.principle .bottom_block .blue_bg{
    padding: 5vw 3vw;
    background: #0C4678;
}

.principle .bottom_block .blue_bg p{
    font-size: 4.1vw;
    color: #fff;
}

/* アニメーション */
#clipMask01 .st1,
#clipMask02 .st1{
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-miterlimit: 10;
}

#clipMask01 .st1,
#clipMask02 .st1{
    stroke-width: 5px;
}


/* rule_list
   ================================================================== */
.rule_list{
    margin: 0;
}

.rule_list > li{
    margin: 8vw 0 0;
}

.rule_list > li:first-child{
    margin-top: 0;
}

.rule_list .ttl{
    font-size: 4.5vw;
    font-weight: 700;
}

.rule_list .ttl + p{
    margin-top: 3vw;
}


/* rule_block
   ================================================================== */
.rule_block .inner{
	padding-top: 8vw;
	padding-bottom: 15vw;
}


/* privacy_block
   ================================================================== */
.privacy_block .inner{
	padding-top: 8vw;
	padding-bottom: 15vw;
}


/* tradelaw_block
   ================================================================== */
.tradelaw_block .inner{
	padding-top: 8vw;
	padding-bottom: 15vw;
}


/* faq_block
   ================================================================== */
.faq_block .inner{
	padding-top: 8vw;
	padding-bottom: 15vw;
}


/* common_table
   ================================================================== */
.common_table{
	margin: 0 auto;
    width: 100%;
}

.common_table th,
.common_table td{
	padding: 3vw 4vw;
    font-size: 3.5vw;
    line-height: 173%;
    letter-spacing: 0.1em;
    width: 100%;
    display: block;
    box-sizing: border-box;
}

.common_table th{
    border-top: 1px solid #ddd;
	background: #F7F7F7;
    font-weight: 500;
}

.common_table td{
	background: #fff;
    overflow: hidden;
}

.common_table td a{
	display: inline-block;
    font-size: inherit;
    line-height: inherit;
}


/* faq_list
   ================================================================== */
.faq_list{
	margin: 0 0 0;
}

.faq_list > li{
	margin: 3vw 0 0;
}

.faq_list > li:first-child{
	margin-top: 0;
}

.faq_list .ttl{
	padding: 3vw 3vw;
    font-size: 4.2vw;
    font-weight: 700;
    color: #fff;
    background: #0C7831;
}

.oc_list{
	margin: 3vw 0 0;
}

.oc_list > dl{
	margin: 3vw 0 0;
    border: 1px solid #ddd;
}

.oc_list > dl:first-child{
	margin: 0 0 0;
}

.oc_list > dl dt{
	padding: 4.5vw 11vw 4.5vw 13vw;
	font-size: 3.5vw;
	line-height: 150%;
	letter-spacing: 0.10em;
	font-weight: 700;
	position: relative;
    cursor: pointer;
}

.oc_list > dl dt::after{
	content: "";
    background-image: url("../../images/refrain/icon_plus.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	right: 3vw;
	top: 4.7vw;
}

.oc_list > dl dt.active::after{
	background-image: url("../../images/refrain/icon_minus.svg");
}

.oc_list > dl dd{
	padding: 2.5vw 11vw 4vw 13vw;
	font-size: 3.5vw;
	line-height: 150%;
	letter-spacing: 0.10em;
	display: none;
    position: relative;
}

.oc_list > dl dd a{
	font-size: inherit;
}

.oc_list > dl dt::before,
.oc_list > dl dd::before{
    padding: 0 0 1.2vw;
    width: 8vw;
    height: 8vw;
    border-radius: 100px;
	font-size: 5vw;
	font-weight: 700;
    line-height: 1;
    color: #fff;
	position: absolute;
	top: 3vw;
	left: 2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.oc_list > dl dt::before{
	content: "Q";
    background: #103626;
}

.oc_list > dl dd::before{
	content: "A";
    background: #009432;
    top: 1vw;
}


/* form_block
   ================================================================== */
.form_block{
	margin: 0 0 0;
    background: #103626;
}

.form_block .inner{
	padding-top: 8vw;
	padding-bottom: 15vw;
}

.form_block .top_text_box{
	margin: 0 0 5vw;
}

.form_block .top_text_box p{
	color: #fff;
}

.form_block .bottom_text_box{
	margin: 5vw 0 0;
}

.form_block .bottom_text_box p{
    font-size: 3.3vw;
	color: #fff;
}

.form_block .bottom_text_box p + p{
	margin-top: 3vw;
}

.form_bg{
	padding: 5vw 3vw 9vw;
    background: #fff;
    border-radius: 10px;
}

.login_block .form_bg{
	padding-bottom: 5vw;
}

.form_block .list{
    margin: 0 0 0;
}

.form_block .list > li{
    margin: 3vw 0 0;
}

.form_block .list > li:first-child{
    margin-top: 0;
}

.form_block .list .ttl{
    font-size: 3.6vw;
    font-weight: 500;
}

.form_block .list .box{
    margin: 2vw 0 0;
}

.form_block select,
.form_block input,
.form_block textarea{
    padding: 15px;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
}

.form_block textarea{
    height: 70vw;
}

.form_block select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("../../images/refrain/select_down_arrow.svg");
    background-color: #F8F8F8;
	background-repeat: no-repeat;
	background-size: 20px 10px;
    border: 1px solid #ccc;
	background-position: right 16px center;
}

/* button */
.form_block .form_bg .push_btn{
    margin-top: 4vw;
}

.form_block .box_btn{
    margin: 8vw auto 0;
    width: 70vw;
    height: 16vw;
    font-size: 4vw;
    letter-spacing: 0.1em;
    color: #fff;
    background: #009432;
    border: 1px solid #009432;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

/* line_login */
.line_login{
    margin: 15vw 0 0;
}

.line_login .line_login_btn{
    background: none;
    border: none;
    position: relative;
}

.line_login .line_login_btn .line_logo{
    width: 22vw;
    top: -7vw;
    right: 8vw;
    position: absolute;
    z-index: 1;
}


/* banner_slider
   ================================================================== */
.banner_slider{
	max-width: 100%;
}

.banner_slider .swiper-slide img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1720 / 740;
    display: block;
}

.banner_slider.wid800 .swiper-slide img{
    margin: auto;
 	width: 97%;
}

.banner_slider .swiper-button-prev,
.banner_slider .swiper-button-next{
    width: 7vw;
    height: 7vw;
    background-position: center center;
    background-size: 100%;
}

.banner_slider .swiper-button-next{
    right: 3vw;
    background-image: url("../../images/refrain/icon_slider_next.svg");
}

.banner_slider .swiper-button-prev{
    left: 3vw;
    background-image: url("../../images/refrain/icon_slider_prev.svg");
}

.banner_slider.wid800 .swiper-button-next{
    right: 0;
}

.banner_slider.wid800 .swiper-button-prev{
    left: 0;
}


/* login_pickup
   ================================================================== */
.login_pickup{
	margin: 8vw 0 0;
}

.login_pickup .title_bottom_box{
	padding: 11vw 1vw 6vw;
}


/* tab_wrap
   ================================================================== */
.tab_wrap .tab_content_box{
	display: none;
	height: 0;
	visibility: hidden;
}

.tab_wrap .tab_content_box.select{
	display: block;
	height: auto;
	visibility: visible;
}


/* plan_list_block
   ================================================================== */
.plan_list_block{
	margin: 8vw 0 0;
}

.plan_list_tab .tab_nav{
    margin: 0 3vw;
	display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.plan_list_tab .tab_nav > li{
    width: 49%;
    height: 12vw;
    font-size: 4.5vw;
    font-family: "Zen Maru Gothic";
    font-weight: 700;
    color: #fff;
	display: flex;
    justify-content: center;
    align-items: center;
    background: #0C7831;
    border-radius: 20px 20px 0 0;
    transition: .3s;
    cursor: pointer;
}

.plan_list_tab .tab_nav > li.select{
    background: #103626;
}

.plan_list_tab .bg{
    padding: 5vw 3vw 8vw;
    background: #103626;
}


/* plan_card_list
   ================================================================== */
.plan_card_list{
    margin: 4vw 0 0;
}

.plan_purchased_block .plan_card_list{
    margin: 8vw 3vw 0;
}

.plan_purchased_block .plan_card_list > .plan_card{
    margin-top: 8vw;
}

.plan_card_list > .plan_card{
    margin: 6vw auto 0;
}

.plan_card_list > .plan_card:first-child{
    margin-top: 0;
}

.plan_card{
    margin: 0 auto;
    padding: 0 3% 3%;
    width: 100%;
    max-width: 100%;
    position: relative;
    box-sizing: border-box;
}

.plan_card::before{
    content: "";
    background: #A4B144;
    width: 100%;
    height: 30%;
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 0 0 20px 20px;
    filter: drop-shadow(0 10px 0 rgba(0,0,0,.16));
}

.plan_card .plan_card_inner{
    background: #fff;
    border: 3px solid #fff;
    position: relative;
    z-index: 1;
    border-radius: 20px;
}

.plan_card .plan_banner{
    border-radius: 16px 16px 0 0;
    overflow: hidden;
    line-height: 0;
}

.plan_purchased_block .plan_card .plan_banner{
    border-radius: 16px;
}

.plan_card .plan_banner img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1720 / 740;
}

.plan_card .target{
    padding: 3vw 3vw 1vw;
    display: flex;
    align-items: center;
}

.plan_card .target_ttl{
    padding: .2vw 0 0;
    width: 24vw;
    height: 7vw;
    font-size: 3.8vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    display: flex;
    background: #D90000;
    color: #fff;
    border-radius: 20px;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.plan_card .target_pay{
    padding: 0 0 0 3vw;
    width: calc(100% - 24vw);
    font-size: 14vw;
    line-height: 100%;
    letter-spacing: 0;
    font-family: "Noto Serif JP";
    font-weight: 700;
    display: flex;
    align-items: baseline;
    color: #D90000;
    box-sizing: border-box;
}

.plan_card .target_pay span{
    margin: 0 0 0 1vw;
    font-size: .45em;
    letter-spacing: 0;
    font-family: inherit;
    font-weight: inherit;
    color: inherit;
    display: inline-block;
}

.plan_card .offer{
    padding: 4vw 3vw;
    background: #F1EDE7;
}

.plan_card .offer_ttl{
    margin: 0 0 3vw -3vw;
    padding: 0 0 0;
    width: 24vw;
    height: 7vw;
    font-size: 3.8vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    display: flex;
    background: #222;
    color: #fff;
    border-radius: 0 20px 20px 0;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

.plan_card .offer_txt{
    font-size: 4.4vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    line-height: 150%;
}

.plan_card .participation_fee{
    padding: 4vw 3vw;
    background: #D90000;
}

.plan_card .participation_fee_txt{
    font-size: 4.0vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    line-height: 158%;
    color: #fff;
}

.plan_card .plan_btn_area{
    border-radius: 0 0 16px 16px;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
}

.plan_card .plan_btn_area .arrow_btn{
    width: 50%;
}

.plan_card .plan_btn_area .arrow_btn a,button
.plan_card .plan_btn_area .arrow_btn a{
    border-radius: 0;
}


/* free_content_block
   ================================================================== */
.free_content_block{
	margin: calc(-110px - 30vw) 0 0;
    padding-top: calc(8vw + (110px + 30vw));
}

.free_content_block .title_bottom_box{
	padding: 8vw 3vw 8vw;
}


/* free_content_list
   ================================================================== */
.free_content_list{
    margin: 4vw 0 0;
}

.free_content_list > .free_content_card{
    margin: 6vw auto 0;
}

.free_content_list > .free_content_card:first-child{
    margin-top: 0;
}

.free_content_card{
    margin: 0 auto;
    padding: 0 3%;
    width: 100%;
    max-width: 100%;
    position: relative;
    box-sizing: border-box;
}

.free_content_card .free_content_card_inner{
    background: #fff;
    border: 3px solid #fff;
    border-radius: 20px;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.free_content_card .free_banner{
    line-height: 0;
}

.free_content_card .free_banner img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1720 / 740;
}

.free_content_card .free_text_box{
    padding: 3vw 3vw 4vw;
}

.free_content_card .explanation{
    display: flex;
    align-items: center;
}

.free_content_card .explanation_txt{
    font-size: 3.8vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
}

.free_content_card .free_mid{
    margin: 3vw 0 0;
}

.free_content_card .free_mid .board > div,
.free_content_card .free_mid .prediction > div{
    display: flex;
    justify-content: center;
    align-items: center;
}

.free_content_card .free_mid *{
    font-size: 3.8vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    color: #fff;
}

.free_content_card .free_mid .board > div{
    padding: 2vw 2vw;
    width: 100%;
    background: #E67E22;
    box-sizing: border-box;
    text-align: center;
}

.free_content_card .free_mid .prediction table{
    margin: 0 auto 0;
    width: 100%;
    box-sizing: border-box;
}

.free_content_card .free_mid .prediction th,
.free_content_card .free_mid .prediction td{
    padding: 2vw;
    box-sizing: border-box;
}

.free_content_card .free_mid .prediction th{
    width: 25vw;
    vertical-align: middle;
    text-align: center;
    background: #F39C12;
}

.free_content_card .free_mid .prediction td{
    padding-left: 4vw;
    width: calc(100% - 25vw);
    vertical-align: middle;
    background: #E67E22;
}

.free_content_card .free_btn_area{
    margin: 4vw 0 0;
}

.free_content_card.board .prediction,
.free_content_card.prediction .board{
    display: none !important;
}


/* after_login record_block
   ================================================================== */
.record_block.after_login{
    background: none;
}

.record_block.after_login .inner{
    padding-bottom: 20vw;
}

.record_block.after_login .arrow_btn{
    margin-top: 10vw;
}


/* record_list_block
   ================================================================== */
.record_list_block{
	margin: 8vw 0 0;
}

.record_list_block .title_bottom_box{
	padding: 7vw 0 20vw;
}

.record_list > li{
    margin: 14vw auto 0;
}

.record_list > li:first-child{
    margin-top: 14vw;
}


/* mail_list_block
   ================================================================== */
.mail_list_block{
	margin: 8vw 0 0;
}

.mail_list_block .title_bottom_box{
	padding: 7vw 0 20vw;
}

.mail_list{
    margin: 8vw 3vw 0;
}

.mail_list > li{
    margin: 2vw auto 0;
}

.mail_list > li:first-child{
    margin-top: 0;
}

.mail_list .mail_list_box{
    padding: 3vw 3vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.mail_list .mail_list_box > span{
    display: block;
    box-sizing: border-box;
}

.mail_list .mail_list_box .mail_list_icon{
    width: 8%;
    line-height: 0;
}

.mail_list .mail_list_box .mail_list_icon img{
    width: 100%;
}

.mail_list .mail_list_box .mail_list_ttl{
    padding: 0 3vw;
    width: 72%;
    font-size: 3.5vw;
    font-weight: 500;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.mail_list .mail_list_box .mail_list_date{
    width: 20%;
    font-size: 3.2vw;
	color: #BBBBBB;
    text-align: center;
}


/* common_detail_section
   ================================================================== */
.common_detail_section{
	margin: 8vw 0 0;
}

.common_detail_section .title_bottom_box{
	padding: 7vw 0 20vw;
}


/* common_detail_body
   ================================================================== */
.common_detail_body{
    margin: 8vw 5vw 12vw;
    padding: 5vw 5vw;
    background: #fff;
    border-radius: 20px;
}

.common_detail_body.in_banner{
    padding: 0;
    border: 3px solid #fff;
    border-radius: 20px;
    overflow: hidden;
}

.common_detail_body.in_banner .text_box{
    padding: 5vw 5vw;
}

.common_detail_body p{
    font-size: 4.0vw;
}

.common_detail_body * + p{
    margin: 3vw 0 0;
}

.common_detail_body .banner_photo{
    line-height: 0;
}

.common_detail_body .banner_photo img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1720 / 740;
}


/* mail_detail_block
   ================================================================== */
.mail_detail_body{
    padding-bottom: 20vw;
}

.mail_detail_body .date{
    margin: 0 0 3vw;
    font-size: 3.2vw;
	color: #BBBBBB;
}

.mail_detail_body h1{
    margin: 3vw 0 0;
    font-size: 4.4vw;
}


/* plan_detail_body
   ================================================================== */
.plan_detail_body{
    padding: 8vw 3vw 0;
}

.plan_detail_body .plan_card::before{
    display: none;
}

.plan_detail_body .plan_card .offer_list{
    background: #F1EDE7;
}

.offer_list{
    padding: 0 2vw 4vw;
}

.offer_list > li{
    padding: 3vw 2vw 3vw 0;
    border-bottom: 1px dashed #92908B;
    box-sizing: border-box;
    position: relative;
    display: flex;
}

.offer_list_ttl{
    margin: 0 0 0 -8vw;
    padding: 0 0 0;
    width: 27vw;
    height: 7vw;
    font-size: 3.8vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    display: flex;
    background: #009432;
    color: #fff;
    border-radius: 0 20px 20px 0;
    justify-content: center;
    white-space: nowrap;
    align-items: center;
    box-sizing: border-box;
    position: relative;
}

.offer_list_ttl::before{
    content: "";
    background: #009432;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
}

.offer_list_txt{
    padding: .5vw 0 0 3vw;
    width: calc(100% - calc(27vw - 8vw));
    font-size: 4.0vw;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    box-sizing: border-box;
}

.plan_detail_body  .plan_detail_text_box{
    padding: 4vw 3vw;
}

.plan_detail_body  .plan_detail_text_box p{
    font-size: 4.0vw;
}

.plan_detail_body  .arrow_btn{
    margin-top: 12vw;
}


/* list_of_hit_results_block */
.list_of_hit_results_block{
    margin: 8vw 0 0;
}

.list_of_hit_results_block .list{
    margin: 6vw 0 0;
}

.list_of_hit_results_block .list table{
    margin: 2px auto 0;
    width: 100%;
    box-sizing: border-box;
    border-collapse: separate;
    border-spacing: 1px;
}

.list_of_hit_results_block th,
.list_of_hit_results_block td{
    padding: 1vw;
    font-size: 3.6vw;
    line-height: 150%;
    font-weight: 400;
    letter-spacing: 0.05em;
    background: #fff;
    vertical-align: middle;
    text-align: center;
    box-sizing: border-box;
}

.list_of_hit_results_block .date,
.list_of_hit_results_block .race_name{
    width: 17%;
}

.list_of_hit_results_block .pay{
    width: 50%;
    font-size: 6vw;
    font-weight: 700;
    color: #D90000;
}

.list_of_hit_results_block .pay .yen{
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

.list_of_hit_results_block .pay .siz_s{
    font-size: .75em;
    font-weight: inherit;
    color: inherit;
    display: inline-block;
}

.list_of_hit_results_block .acquisition{
    width: 20%;
}

.list_of_hit_results_block .acquisition{
    margin: 0 0 0 2vw;
    width: 14vw;
    height: 8vw;
    font-size: 4.5vw;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #fff;
    background: #D90000;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-family: "Zen Maru Gothic";
    border-radius: 50px;
}


/* offer_details_block */
.offer_details_block{
    padding: 8vw 3vw 0;
}

.offer_details_block .bg_box{
    margin: 3vw auto 0;
    padding: 3vw 0 0;
    background: #fff;
    border-radius: 20px 20px 0 0;
}

.offer_details_block .offer_list > li:first-child .offer_list_ttl,
.offer_details_block .offer_list > li:first-child .offer_list_ttl::before{
    background-color: #D90000;
}

.offer_details_block .offer_list > li:first-child .offer_list_txt{
    color: #D90000;
    font-weight: 700;
}

.offer_details_block .participate_point_box{
    margin: 2vw 0 0;
    padding: 0 0 .5vw;
    height: 18vw;
    background: #EDE400;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-sizing: border-box;
}

.offer_details_block .participate_point_box *{
    font-family: "Zen Maru Gothic";
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
}

.offer_details_block .participate_point_box .participate_point_box_inbox{
    display: flex;
    justify-content: center;
    align-items: baseline;
}

.offer_details_block .participate_point_box .participate_point_ttl{
    margin: 0 3vw 0 0;
    font-size: 5vw;
}

.offer_details_block .participate_point_box .participate_point{
    font-size: 8vw;
}

.offer_details_block .participate_point_box .participate_point_siz_s{
    font-size: 5vw;
}

.participate_list{
    margin: 2vw 0 0;
}

.participate_list > li{
    margin: 2vw 0 0;
}

.participate_list a{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #fff;
}

.participate_list a span{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.participate_list a > span{
    height: 19vw;
}

.participate_list .date{
    width: 57%;
    font-size: 4vw;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.participate_list .participate{
    width: 43%;
    background: #D90000;
}

.participate_list .participate .icon_plan{
    width: 4.5vw;
    line-height: 0;
}

.participate_list .participate .txt{
    margin: 0 2vw;
    font-size: 4.5vw;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.05em;
}

.participate_list .participate .icon_arrow_btn{
    width: 3.5vw;
    line-height: 0;
}


/* point_buy_block
   ================================================================== */
.point_buy_block{
    padding: 8vw 0 0;
}

.point_buy_block .buy_top_text{
    margin: 0 4vw 8vw;
    padding: 4vw 3vw;
    border: 3px solid #D90000;
    background: #fff;
    border-radius: 20px;
}

.point_buy_block .buy_top_text p{
    font-size: 3.8vw;
}

.point_buy_block .buy_top_text p + p{
    margin-top: 3vw;
}

.point_buy_block .title_bottom_box{
    padding-bottom: 15vw;
}

.point_buy_block .form_block{
    padding: 3vw 4vw 0;
}

.point_buy_block .buy_flow{
    margin: 0 0 0;
}

.point_buy_block .buy_flow > li{
    margin: 5vw 0 0;
}

.point_buy_block .buy_flow > li:first-child{
    margin-top: 0;
}

.point_buy_block .buy_flow .ttl{
    padding: 3vw 3vw;
    text-align: center;
    font-size: 4.2vw;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    background: #009432;
}

.point_buy_block .buy_flow .ttl label{
    font-size: inherit;
    color: inherit;
    letter-spacing: inherit;
    font-family: inherit;
}

.point_buy_block .buy_flow > li:nth-child(2) .ttl{
    background: #E67E22;
}

.point_buy_block .buy_flow .bg_box{
    padding: 3vw;
    background: #fff;
}

.creditcard_list{
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 0;
}

.creditcard_list > li{
    width: calc((100% - 20px) / 5);
    line-height: 0;
}

.point_buy_block .buy_flow .btn_area{
    padding: 5vw 0;
}

.point_buy_block .buy_flow .btn_area + .btn_area{
    padding-bottom: 2vw;
    border-top: 1px dashed #92908B;
}

.point_buy_block .buy_border_box{
    margin: 8vw 0 0;
    padding: 4vw 4vw;
    border: 1px dashed #fff;
}

.point_buy_block .buy_border_box .ttl{
    margin: 0 0 3vw;
    font-size: 3.8vw;
    font-weight: 500;
    color: #EDE400;
}

.point_buy_block .buy_border_box p{
    font-size: 3.2vw;
    color: #fff;
}

.point_buy_block .buy_border_box p + p{
    margin: 3vw 0 0;
}


@media screen and (min-width : 500px){


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
    }

    .kv .inner{
        position: relative;
    }

    .kv .inbox{
        padding: 3.4vw 0 6.5vw;
    }

    .kv h1{
        width: 32.9vw;
    }

    .kv .catch{
        margin: 2.9vw auto 0;
        width: 56.5vw;
    }

    .kv .check_list{
        margin: 19.6vw auto 0;
        width: 73.0vw;
    }

    .kv .check_list li{
        margin: 2.0vw 0 0;
        height: 8.0vw;
    }

    .kv .check_list li span{
        font-size: 4.0vw;
    }

    .kv .check_list li span::before{
        width: 5.0vw;
        height: 5.0vw;
        right: calc(100% + 2.2vw);
    }


    /* index_pickup
       ================================================================== */
    .index_pickup{
        position: relative;
        overflow: hidden;
    }

    .index_pickup .inner{
        padding: 9.5vw 0 9.0vw;
    }

    .index_pickup h2{
        font-size: 4.5vw;
        line-height: 6.5vw;
    }

    .index_pickup h2 span{
        font-size: 4.1vw;
    }

    .index_pickup .fade_box{
        margin: 7.0vw auto 0;
        width: 70.0vw;
    }

    .index_pickup .card_slider{
        margin: 8.0vw auto 0;
        padding: 0 0 12.0vw;
        width: 63.0vw;
    }

    .card_slider .swiper-pagination-bullet{
        margin: 0 10px !important;
        width: 30px;
        height: 30px;
    }


    /* index_about
       ================================================================== */
    .index_about{
        position: relative;
    }

    .index_about .top_block{
        padding: 5.0vw 0 5.5vw;
    }

    .index_about .horse_box{
        width: 51.0vw;
        height: 52.4vw;
    }

    .index_about .horse_box .horse{
        bottom: 1.0vw;
        right: 5.5vw;
        width: 110%;
    }

    .index_about .top_block .text_box{
        margin: -22.0vw 4.0vw 0;
        padding: 23.5vw 2.5vw 5.0vw;
        border-width: 5px;
    }

    .index_about .top_block .text_box p{
        font-size: 3.2vw;
        line-height: 5.5vw;
    }

    /* bottom_block */
    .index_about .bottom_block{
        padding: 7.0vw 0 0;
    }

    .index_about .bottom_block .logo_box{
        padding: 0 6.3vw;
    }

    .index_about .bottom_block .logo_box h1{
        width: 18.4vw;
    }

    .index_about .bottom_block p{
        margin: 4.0vw 4.5vw 0;
        font-size: 3.8vw;
        line-height: 6.1vw;
    }


    /* record_block
       ================================================================== */
    .record_block{
        background-size: 100%;
    }

    .record_block .inner{
        padding: 8.5vw 0 10.5vw;
    }

    .record_block .record_slider{
        width: 63.0vw;
    }


    /* record_box_wrap
       ================================================================== */
    .record_box_wrap{
        padding: 0 3% 3%;
        width: 80.0vw;
        max-width: 100%;
    }

    .record_box_wrap::before{
        height: 18.0vw;
    }

    .record_box_wrap .record_box_inner{
        border-width: 5px;
    }

    .record_box_wrap .record_icon{
        width: 35.0vw;
        top: -9.1vw;
    }

    .record_box_wrap .acquisition{
        padding: .7vw 2.5vw;
    }

    .record_box_wrap .acquisition .acquisition_txt{
        padding: 1.5vw 0 0;
        width: 4.0vw;
        height: 10.0vw;
        font-size: 2.8vw;
        letter-spacing: 0.5em;
    }

    .record_box_wrap .acquisition .acquisition_pay{
        padding: 1.5vw 0 0 3.7vw;
        width: calc(100% - 4.0vw);
        font-size: 9.0vw;
    }

    .record_box_wrap .acquisition .acquisition_pay span{
        margin: 0 0 0 1.2vw;
    }

    .record_box_wrap .race_info{
        padding: 3.2vw 3.0vw 4.5vw;
    }

    .record_box_wrap .race_info p{
        font-size: 3.5vw;
    }

    .record_box_wrap .race_info p + p{
        margin-top: .3vw;
    }

    .record_box_wrap .race_info_date span{
        margin-left: .2vw;
    }

    .record_slider .record_box_wrap .race_name{
        height: 10.5vw;
    }


    /* index_lineup
       ================================================================== */
    .index_lineup{
        background-size: 100%;
    }

    .index_lineup .inner{
        padding: 9.0vw 0 16.6vw;
    }

    .loop_photo li{
        width: 167.1vw;
    }

    .index_lineup .list{
        margin: 0 4.0vw;
    }

    .index_lineup .list > li{
        margin: 0 0 3.0vw;
        width: calc((100% / 2) - 1.0vw);
    }

    .index_lineup .list > li:nth-child(2n+2){
        margin-left: 2.0vw;
    }

    .index_lineup .list + p{
        margin: 1.8vw 7.5vw 0;
        font-size: 3.0vw;
        line-height: 5.0vw;
    }

    .index_lineup .support{
        margin: 6.7vw 0 0;
    }

    .index_lineup .support .flex{
        margin: 0 7.5vw;
        height: 32.0vw;
    }

    .index_lineup .support .flex .photo{
        width: 58.0vw;
    }

    .index_lineup .support .flex .txt{
        width: calc(100% - 58.0vw);
    }

    .index_lineup .support .flex h3{
        font-size: 6.3vw;
        top: 1.0vw;
        left: 50%;
    }

    .index_lineup .support .text_box{
        margin: -12.0vw 0 0 3.0vw;
        padding: 15.0vw 4.0vw 5.0vw 4.0vw;
    }

    .index_lineup .support .text_box p{
        font-size: 3.0vw;
        line-height: 5.0vw;
    }


    /* principle
       ================================================================== */
    .principle{
        margin-top: -6.0vw;
    }

    .principle .grass_bg{
        position: relative;
    }

    .principle .grass_bg .inner{
        padding: 5.0vw 0 7.0vw;
    }

    .principle .grass_bg .mask{
        top: 5.4vw;
        right: 12.4vw;
        width: 19.2vw;
    }

    .principle .grass_bg .list > li{
        width: 94%;
    }

    .principle .grass_bg .list > li + li{
        margin-top: -9.0vw !important;
    }

    /* bottom_block */
    .principle .bottom_block .logo_ttl{
        height: 48.3vw;
    }

    .principle .bottom_block .logo_ttl .mask{
        width: 22.8vw;
    }

    .principle .bottom_block .blue_bg{
        padding: 5.0vw 4.0vw;
    }

    .principle .bottom_block .blue_bg p{
        font-size: 3.4vw;
        line-height: 5.5vw;
    }


    /* rule_list
       ================================================================== */
    .rule_list{
        margin: 0;
    }

    .rule_list > li{
        margin: 6.0vw 0 0;
    }

    .rule_list .ttl{
        font-size: 4.0vw;
    }

    .rule_list .ttl + p{
        margin-top: 3.0vw;
    }


    /* rule_block
       ================================================================== */
    .rule_block .inner{
        padding-top: 6.0vw;
        padding-bottom: 20.0vw;
    }


    /* privacy_block
       ================================================================== */
    .privacy_block .inner{
        padding-top: 6.0vw;
        padding-bottom: 20.0vw;
    }


    /* tradelaw_block
       ================================================================== */
    .tradelaw_block .inner{
        padding-top: 6.0vw;
        padding-bottom: 20.0vw;
    }


    /* faq_block
       ================================================================== */
    .faq_block .inner{
        padding-top: 7.0vw;
        padding-bottom: 17.5vw;
    }


    /* common_table
       ================================================================== */
    .common_table th,
    .common_table td{
        padding: 1.9vw 4.0vw;
        font-size: 3.0vw;
    }


    /* faq_list
       ================================================================== */
    .faq_list{
        margin: 0 0 0;
    }

    .faq_list > li{
        margin: 3.0vw 0 0;
    }

    .faq_list .ttl{
        padding: 2.6vw 4.0vw;
        font-size: 3.2vw;
    }

    .oc_list{
        margin: 3.0vw 0 0;
    }

    .oc_list > dl{
        margin: 3.0vw 0 0;
    }

    .oc_list > dl:first-child{
        margin: 0 0 0;
    }

    .oc_list > dl dt{
        padding: 2.8vw 8.0vw 2.7vw 10.0vw;
        font-size: 3.0vw;
        transition: .3s;
    }

    .oc_list > dl dt:hover{
        color: #009432;
    }

    .oc_list > dl dt::after{
        width: 4.0vw;
        height: 4.0vw;
        right: 3.0vw;
        top: 3.0vw;
    }

    .oc_list > dl dd{
        padding: 1.5vw 8.0vw 2.2vw 10.0vw;
        font-size: 3.0vw;
    }

    .oc_list > dl dt::before,
    .oc_list > dl dd::before{
        padding: 0 0 .5vw;
        width: 6.0vw;
        height: 6.0vw;
        font-size: 3.5vw;
        top: 2.0vw;
        left: 1.5vw;
    }

    .oc_list > dl dd::before{
        top: 1.0vw;
    }


    /* form_block
       ================================================================== */
    .form_block .inner{
        padding-top: 6.0vw;
        padding-bottom: 12.0vw;
    }

    .form_block.login_block .inner{
        padding-bottom: 15.7vw;
    }

    .form_block .top_text_box{
        margin: 0 0 6.0vw;
    }

    .form_block .top_text_box p{
        font-size: 3.2vw;
        line-height: 5.5vw;
    }

    .form_block .bottom_text_box{
        margin: 5.2vw 0 0;
    }

    .form_block .bottom_text_box p{
        font-size: 2.8vw;
        line-height: 4.5vw;
    }

    .form_block .bottom_text_box p + p{
        margin-top: 3.0vw;
    }

    .form_bg{
        padding: 3.5vw 3.0vw 7.0vw;
        border-radius: 2.0vw;
    }

    .login_block .form_bg{
        padding-bottom: 5.0vw;
    }

    .form_block .list{
        margin: 0 0 0;
    }

    .form_block .list > li{
        margin: 3.0vw 0 0;
    }

    .form_block .list .ttl{
        font-size: 3.5vw;
    }

    .form_block .list .box{
        margin: 2.5vw 0 0;
    }

    .form_block select,
    .form_block input,
    .form_block textarea{
        padding: 25px;
        font-size: 16px;
    }

    .form_block textarea{
        height: 65.0vw;
    }

    .form_block select{
        background-size: 31px 17px;
        background-position: right 32px center;
    }

    /* button */
    .form_block .form_bg .push_btn{
        margin-top: 4.0vw;
    }

    .form_block .box_btn{
        margin: 6.0vw auto 0;
        width: 56.0vw;
        height: 12.0vw;
        font-size: 3.2vw;
        transition: .3s;
    }

    .form_block .box_btn:hover{
        opacity: .6;
    }

    /* line_login */
    .line_login{
        margin: 14.3vw 0 0;
    }

    .line_login .line_login_btn .line_logo{
        width: 18.2vw;
        top: -8.3vw;
        right: 6.4vw;
    }


    /* banner_slider
       ================================================================== */
    .banner_slider .swiper-button-prev,
    .banner_slider .swiper-button-next{
        width: 6.0vw;
        height: 6.0vw;
    }

    .banner_slider .swiper-button-next{
        right: 4.0vw;
    }

    .banner_slider .swiper-button-prev{
        left: 4.0vw;
    }


    /* login_pickup
       ================================================================== */
    .login_pickup{
        margin: 6.0vw 0 0;
    }

    .login_pickup .title_bottom_box{
        padding: 9.0vw 2.0vw 5.2vw;
    }


    /* plan_list_block
       ================================================================== */
    .plan_list_block{
        margin: 6.0vw 0 0;
    }

    .plan_list_tab .tab_nav{
        margin: 0 3.5vw;
    }

    .plan_list_tab .tab_nav > li{
        height: 13.0vw;
        font-size: 5.0vw;
    }

    .plan_list_tab .bg{
        padding: 5.0vw 3.0vw 8.5vw;
    }


    /* plan_card_list
       ================================================================== */
    .plan_card_list{
        margin: 4.0vw 0 0;
    }

    .plan_purchased_block .plan_card_list{
        margin: 6.5vw 3.0vw 0;
    }

    .plan_purchased_block .plan_card_list > .plan_card{
        margin-top: 6.5vw;
    }

    .plan_card_list > .plan_card{
        margin: 6.0vw auto 0;
    }

    .plan_card{
        width: 100%;
    }

    .plan_card::before{
        height: 23.0vw;
    }

    .plan_card .plan_card_inner{
        border-width: 5px;
    }

    .plan_card .target{
        padding: 2.0vw 3.5vw;
    }

    .plan_card .target_ttl{
        padding: 0 0 0;
        width: 19.0vw;
        height: 6.0vw;
        font-size: 3.2vw;
        border-radius: 100px;
    }

    .plan_card .target_pay{
        padding: 0 0 0 1.5vw;
        width: calc(100% - 19.0vw);
        font-size: 12.0vw;
    }

    .plan_card .target_pay span{
        margin: 0 0 0 .9vw;
    }

    .plan_card .offer{
        padding: 3.5vw 4.0vw;
    }

    .plan_card .offer_ttl{
        margin: 0 0 2.2vw -4.0vw;
        padding: 0 0 0;
        width: 20.5vw;
        height: 6.0vw;
        font-size: 3.2vw;
        border-radius: 0 100px 100px 0;
    }

    .plan_card .offer_txt{
        font-size: 4.0vw;
        line-height: 7.0vw;
    }

    .plan_card .participation_fee{
        padding: 2.5vw 4.0vw;
    }

    .plan_card .participation_fee_txt{
        font-size: 3.8vw;
        line-height: 6.0vw;
    }


    /* free_content_block
       ================================================================== */
    .free_content_block{
        margin: calc(-110px - 26vw) 0 0;
        padding-top: calc(80px + (110px + 26vw));
    }

    .free_content_block .title_bottom_box{
        padding: 10.4vw 3.0vw 8.5vw;
    }


    /* free_content_list
       ================================================================== */
    .free_content_list{
        margin: 0 0 0;
    }

    .free_content_list > .free_content_card{
        margin: 5.0vw auto 0;
    }

    .free_content_card .free_content_card_inner{
        border-width: 5px;
    }

    .free_content_card .free_text_box{
        padding: 3.6vw 3.0vw 4.5vw;
    }

    .free_content_card .explanation_txt{
        font-size: 3.2vw;
        line-height: 5.4vw;
    }

    .free_content_card .free_mid{
        margin: 3.6vw 0 0;
    }

    .free_content_card .free_mid *{
        font-size: 3.2vw;
        line-height: 5.0vw;
    }

    .free_content_card .free_mid .board > div{
        padding: .5vw 1.0vw;
    }

    .free_content_card .free_mid .prediction th,
    .free_content_card .free_mid .prediction td{
        padding: 1.3vw 1.0vw;
    }

    .free_content_card .free_mid .prediction th{
        width: 20.0vw;
    }

    .free_content_card .free_mid .prediction td{
        padding-left: 3.6vw;
        width: calc(100% - 20.0vw);
    }

    .free_content_card .free_btn_area{
        margin: 4.0vw 0 0;
    }


    /* after_login record_block
       ================================================================== */
    .record_block.after_login .inner{
        padding-bottom: 17.6vw;
    }

    .record_block.after_login .arrow_btn{
        margin-top: 8.0vw;
    }


    /* record_list_block
       ================================================================== */
    .record_list_block{
        margin: 7.0vw 0 0;
    }

    .record_list_block .title_bottom_box{
        padding: 6.2vw 0 20.0vw;
    }

    .record_list > li{
        margin: 13.0vw auto 0;
    }

    .record_list > li:first-child{
        margin-top: 14.5vw;
    }


    /* mail_list_block
       ================================================================== */
    .mail_list_block{
        margin: 7.0vw 0 0;
    }

    .mail_list_block .title_bottom_box{
        padding: 6.2vw 0 20.0vw;
    }

    .mail_list{
        margin: 6.5vw 4.0vw 0;
    }

    .mail_list > li{
        margin: 2.0vw auto 0;
    }

    .mail_list .mail_list_box{
        padding: 2.5vw 2.5vw;
    }

    .mail_list .mail_list_box .mail_list_icon{
        width: 8%;
    }

    .mail_list .mail_list_box .mail_list_ttl{
        padding: 0 2.0vw 0 3.0vw;
        width: 72%;
        font-size: 3.0vw;
        line-height: 5.0vw;
        transition: .3s;
    }

    .mail_list .mail_list_box .mail_list_date{
        width: 20%;
        font-size: 2.6vw;
        line-height: 4.0vw;
    }

    .mail_list a:hover .mail_list_ttl{
        color: #8FC31F;
    }


    /* common_detail_section
       ================================================================== */
    .common_detail_section{
        margin: 7.0vw 0 0;
    }

    .common_detail_section .title_bottom_box{
        padding: 6.2vw 0 13.6vw;
    }


    /* common_detail_body
       ================================================================== */
    .common_detail_body{
        margin: 7.0vw 5.5vw 10.0vw;
        padding: 4.0vw 3.5vw;
    }

    .common_detail_body.in_banner{
        border-width: 5px;
    }

    .common_detail_body.in_banner .text_box{
        padding: 4.0vw 3.5vw;
    }

    .common_detail_body p{
        font-size: 3.0vw;
        line-height: 5.0vw;
    }

    .common_detail_body * + p{
        margin: 3.5vw 0 0;
    }


    /* mail_detail_block
       ================================================================== */
    .mail_detail_body{
        padding-bottom: 25.0vw;
    }

    .mail_detail_body .date{
        margin: 0 0 3.0vw;
        font-size: 2.6vw;
        line-height: 4.0vw;
    }

    .mail_detail_body h1{
        margin: 3.0vw 0 0;
        font-size: 3.5vw;
        line-height: 5.0vw;
    }


    /* plan_detail_body
       ================================================================== */
    .plan_detail_body{
        padding: 6.5vw 3.1vw 0;
        overflow: hidden;
    }

    .offer_list{
        padding: 0 2.0vw 3.5vw;
    }

    .offer_list > li{
        padding: 3.0vw 0 3.0vw 0;
    }

    .offer_list_ttl{
        margin: 0 0 0 -8.0vw;
        padding: 0 0 0;
        width: 25.0vw;
        height: 6.0vw;
        font-size: 3.0vw;
        border-radius: 0 100px 100px 0;
    }

    .offer_list_txt{
        padding: .3vw 0 0 2.5vw;
        width: calc(100% - calc(25.0vw - 8.0vw));
        font-size: 3.4vw;
        line-height: 6.0vw;
    }

    .plan_detail_body  .plan_detail_text_box{
        padding: 5.0vw 3.5vw 5.0vw;
    }

    .plan_detail_body  .plan_detail_text_box p{
        font-size: 3.0vw;
        line-height: 5.0vw;
    }

    .plan_detail_body  .arrow_btn{
        margin-top: 8.0vw;
    }


    /* list_of_hit_results_block */
    .list_of_hit_results_block{
        margin: 8.0vw 0 0;
    }

    .list_of_hit_results_block .list{
        margin: 5.0vw 2.4vw 0;
    }

    .list_of_hit_results_block .list table{
        margin: .4vw auto 0;
    }

    .list_of_hit_results_block th,
    .list_of_hit_results_block td{
        padding: 1.2vw 1.0vw;
        font-size: 3.0vw;
        line-height: 4.0vw;
    }

    .list_of_hit_results_block .date,
    .list_of_hit_results_block .race_name{
        width: 17%;
    }

    .list_of_hit_results_block .pay{
        width: 37%;
        font-size: 4.0vw;
    }

    .list_of_hit_results_block .acquisition{
        width: 20%;
    }

    .list_of_hit_results_block .acquisition{
        margin: 0 0 0 2.0vw;
        width: 11.0vw;
        height: 6.0vw;
        font-size: 3.2vw;
    }


    /* offer_details_block */
    .offer_details_block{
        padding: 6.0vw 2.4vw 0;
    }

    .offer_details_block .bg_box{
        margin: 2.3vw auto 0;
        padding: 2.0vw 0 0;
    }

    .offer_details_block .participate_point_box{
        margin: 2.0vw 0 0;
        padding: 0 0 1.0vw;
        height: 13.0vw;
    }

    .offer_details_block .participate_point_box .participate_point_ttl{
        margin: 0 2.6vw 0 0;
        font-size: 4.0vw;
    }

    .offer_details_block .participate_point_box .participate_point{
        font-size: 6.0vw;
    }

    .offer_details_block .participate_point_box .participate_point_siz_s{
        font-size: 4.0vw;
    }

    .participate_list{
        margin: 20.vw 0 0;
    }

    .participate_list > li{
        margin: 2.0vw 0 0;
    }

    .participate_list a > span{
        height: 14.5vw;
    }

    .participate_list .date{
        width: 61%;
        font-size: 4.0vw;
    }

    .participate_list .participate{
        width: 39%;
    }

    .participate_list .participate .icon_plan{
        width: 3.7vw;
    }

    .participate_list .participate .txt{
        margin: 0 1.5vw 0 2.0vw;
        font-size: 3.5vw;
    }

    .participate_list .participate .icon_arrow_btn{
        width: 2.3vw;
    }


    /* point_buy_block
       ================================================================== */
    .point_buy_block{
        padding: 7.0vw 0 0;
    }

    .point_buy_block .buy_top_text{
        margin: 0 5.5vw 7.0vw;
        padding: 4.0vw 3.5vw;
        border-width: 5px;
        border-radius: 30px;
    }

    .point_buy_block .buy_top_text p{
        font-size: 3.0vw;
        line-height: 5.0vw
    }

    .point_buy_block .buy_top_text p + p{
        margin-top: 2.0vw;
    }

    .point_buy_block .title_bottom_box{
        padding-bottom: 14.1vw;
    }

    .point_buy_block .form_block{
        padding: 7.0vw 5.5vw 0;
    }

    .point_buy_block .buy_flow{
        margin: 0 0 0;
    }

    .point_buy_block .buy_flow > li{
        margin: 4.0vw 0 0;
    }

    .point_buy_block .buy_flow .ttl{
        padding: 2.4vw 2.0vw;
        font-size: 3.5vw;
    }

    .point_buy_block .buy_flow .bg_box{
        padding: 2.5vw 2.5vw 3.4vw;
    }

    .creditcard_list > li{
        width: calc((100% - 4.0vw) / 5);
    }

    .point_buy_block .buy_flow .btn_area{
        padding: 3.3vw 0 4.0vw;
    }

    .point_buy_block .buy_flow .btn_area + .btn_area{
        padding-bottom: .5vw;
    }

    .point_buy_block .buy_border_box{
        margin: 6.0vw 0 0;
        padding: 4.0vw 3.5vw;
    }

    .point_buy_block .buy_border_box .ttl{
        margin: 0 0 3.5vw;
        font-size: 3.2vw;
        line-height: 4.5vw;
    }

    .point_buy_block .buy_border_box p{
        font-size: 2.6vw;
        line-height: 4.5vw;
    }

    .point_buy_block .buy_border_box p + p{
        margin: 3.0vw 0 0;
    }

}
@media screen and (min-width : 1200px){


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
    }

    .kv .inner{
        position: relative;
    }

    .kv .inbox{
        padding: 34px 0 65px;
    }

    .kv h1{
        width: 329px;
    }

    .kv .catch{
        margin: 29px auto 0;
        width: 565px;
    }

    .kv .check_list{
        margin: 196px auto 0;
        width: 730px;
    }

    .kv .check_list li{
        margin: 20px 0 0;
        height: 80px;
    }

    .kv .check_list li span{
        font-size: 40px;
    }

    .kv .check_list li span::before{
        width: 50px;
        height: 50px;
        right: calc(100% + 22px);
    }


    /* index_pickup
       ================================================================== */
    .index_pickup{
        position: relative;
        overflow: hidden;
    }

    .index_pickup .inner{
        padding: 95px 0 90px;
    }

    .index_pickup h2{
        font-size: 45px;
        line-height: 65px;
    }

    .index_pickup h2 span{
        font-size: 41px;
    }

    .index_pickup .fade_box{
        margin: 70px auto 0;
        width: 700px;
    }

    .index_pickup .card_slider{
        margin: 80px auto 0;
        padding: 0 0 120px;
        width: 630px;
    }

    .card_slider .swiper-pagination-bullet{
        margin: 0 10px !important;
        width: 30px;
        height: 30px;
    }


    /* index_about
       ================================================================== */
    .index_about{
        position: relative;
    }

    .index_about .top_block{
        padding: 50px 0 55px;
    }

    .index_about .horse_box{
        width: 510px;
        height: 524px;
    }

    .index_about .horse_box .horse{
        bottom: 10px;
        right: 55px;
        width: 110%;
    }

    .index_about .top_block .text_box{
        margin: -220px 40px 0;
        padding: 235px 25px 50px;
        border-width: 5px;
    }

    .index_about .top_block .text_box p{
        font-size: 32px;
        line-height: 55px;
    }

    /* bottom_block */
    .index_about .bottom_block{
        padding: 70px 0 0;
    }

    .index_about .bottom_block .logo_box{
        padding: 0 63px;
    }

    .index_about .bottom_block .logo_box h1{
        width: 184px;
    }

    .index_about .bottom_block p{
        margin: 40px 45px 0;
        font-size: 38px;
        line-height: 61px;
    }


    /* record_block
       ================================================================== */
    .record_block{
        background-size: 100%;
    }

    .record_block .inner{
        padding: 85px 0 105px;
    }

    .record_block .record_slider{
        width: 630px;
    }


    /* record_box_wrap
       ================================================================== */
    .record_box_wrap{
        padding: 0 3% 3%;
        width: 800px;
        max-width: 100%;
    }

    .record_box_wrap::before{
        height: 180px;
    }

    .record_box_wrap .record_box_inner{
        border-width: 5px;
    }

    .record_box_wrap .record_icon{
        width: 350px;
        top: -91px;
    }

    .record_box_wrap .acquisition{
        padding: 7px 25px;
    }

    .record_box_wrap .acquisition .acquisition_txt{
        padding: 15px 0 0;
        width: 40px;
        height: 100px;
        font-size: 28px;
        letter-spacing: 0.5em;
    }

    .record_box_wrap .acquisition .acquisition_pay{
        padding: 15px 0 0 37px;
        width: calc(100% - 40px);
        font-size: 90px;
    }

    .record_box_wrap .acquisition .acquisition_pay span{
        margin: 0 0 0 12px;
    }

    .record_box_wrap .race_info{
        padding: 32px 30px 45px;
    }

    .record_box_wrap .race_info p{
        font-size: 35px;
    }

    .record_box_wrap .race_info p + p{
        margin-top: 3px;
    }

    .record_box_wrap .race_info_date span{
        margin-left: 2px;
    }

    .record_slider .record_box_wrap .race_name{
        height: 105px;
    }


    /* index_lineup
       ================================================================== */
    .index_lineup{
        background-size: 100%;
    }

    .index_lineup .inner{
        padding: 90px 0 166px;
    }

    .loop_photo li{
        width: 1671px;
    }

    .index_lineup .list{
        margin: 0 40px;
    }

    .index_lineup .list > li{
        margin: 0 0 30px;
        width: calc((100% / 2) - 10px);
    }

    .index_lineup .list > li:nth-child(2n+2){
        margin-left: 20px;
    }

    .index_lineup .list + p{
        margin: 18px 75px 0;
        font-size: 32px;
        line-height: 55px;
    }

    .index_lineup .support{
        margin: 67px 0 0;
    }

    .index_lineup .support .flex{
        margin: 0 75px;
        height: 320px;
    }

    .index_lineup .support .flex .photo{
        width: 580px;
    }

    .index_lineup .support .flex .txt{
        width: calc(100% - 580px);
    }

    .index_lineup .support .flex h3{
        font-size: 63px;
        top: 10px;
        left: 100%;
    }

    .index_lineup .support .text_box{
        margin: -120px 0 0 30px;
        padding: 150px 40px 50px 40px;
    }

    .index_lineup .support .text_box p{
        font-size: 32px;
        line-height: 55px;
    }


    /* principle
       ================================================================== */
    .principle{
        margin-top: -60px;
    }

    .principle .grass_bg{
        position: relative;
    }

    .principle .grass_bg .inner{
        padding: 50px 0 70px;
    }

    .principle .grass_bg .mask{
        top: 54px;
        right: 124px;
        width: 162px;
    }

    .principle .grass_bg .list > li{
        width: 94%;
    }

    .principle .grass_bg .list > li + li{
        margin-top: -90px !important;
    }

    /* bottom_block */
    .principle .bottom_block .logo_ttl{
        height: 483px;
    }

    .principle .bottom_block .logo_ttl .mask{
        width: 228px;
    }

    .principle .bottom_block .blue_bg{
        padding: 50px 40px;
    }

    .principle .bottom_block .blue_bg p{
        font-size: 34px;
        line-height: 55px;
    }


    /* rule_list
       ================================================================== */
    .rule_list{
        margin: 0 ;
    }

    .rule_list > li{
        margin: 60px 0 0;
    }

    .rule_list .ttl{
        font-size: 40px;
    }

    .rule_list .ttl + p{
        margin-top: 30px;
    }


    /* rule_block
       ================================================================== */
    .rule_block .inner{
        padding-top: 60px;
        padding-bottom: 200px;
    }


    /* privacy_block
       ================================================================== */
    .privacy_block .inner{
        padding-top: 60px;
        padding-bottom: 200px;
    }


    /* tradelaw_block
       ================================================================== */
    .tradelaw_block .inner{
        padding-top: 60px;
        padding-bottom: 200px;
    }


    /* faq_block
       ================================================================== */
    .faq_block .inner{
        padding-top: 70px;
        padding-bottom: 175px;
    }


    /* common_table
       ================================================================== */
    .common_table th,
    .common_table td{
        padding: 19px 40px;
        font-size: 30px;
    }


    /* faq_list
       ================================================================== */
    .faq_list{
        margin: 0 0 0;
    }

    .faq_list > li{
        margin: 30px 0 0;
    }

    .faq_list .ttl{
        padding: 26px 40px;
        font-size: 32px;
    }

    .oc_list{
        margin: 30px 0 0;
    }

    .oc_list > dl{
        margin: 30px 0 0;
    }

    .oc_list > dl:first-child{
        margin: 0 0 0;
    }

    .oc_list > dl dt{
        padding: 28px 80px 27px 100px;
        font-size: 30px;
    }

    .oc_list > dl dt::after{
        width: 40px;
        height: 40px;
        right: 30px;
        top: 30px;
    }

    .oc_list > dl dd{
        padding: 15px 80px 22px 100px;
        font-size: 30px;
    }

    .oc_list > dl dt::before,
    .oc_list > dl dd::before{
        padding: 0 0 9px;
        width: 60px;
        height: 60px;
        font-size: 35px;
        top: 20px;
        left: 15px;
    }

    .oc_list > dl dd::before{
        top: 10px;
    }


    /* form_block
       ================================================================== */
    .form_block .inner{
        padding-top: 60px;
        padding-bottom: 120px;
    }

    .form_block.login_block .inner{
        padding-bottom: 157px;
    }

    .form_block .top_text_box{
        margin: 0 0 60px;
    }

    .form_block .top_text_box p{
        font-size: 32px;
        line-height: 55px;
    }

    .form_block .bottom_text_box{
        margin: 52px 0 0;
    }

    .form_block .bottom_text_box p{
        font-size: 28px;
        line-height: 45px;
    }

    .form_block .bottom_text_box p + p{
        margin-top: 30px;
    }

    .form_bg{
        padding: 35px 30px 70px;
        border-radius: 20px;
    }

    .login_block .form_bg{
        padding-bottom: 50px;
    }

    .form_block .list{
        margin: 0 0 0;
    }

    .form_block .list > li{
        margin: 30px 0 0;
    }

    .form_block .list .ttl{
        font-size: 35px;
    }

    .form_block .list .box{
        margin: 25px 0 0;
    }

    .form_block input,
    .form_block textarea{
        padding: 34px;
        font-size: 35px;
    }

    .form_block textarea{
        height: 650px;
    }

    .form_block select{
        padding: 28px 34px;
        font-size: 30px;
    }

    /* button */
    .form_block .form_bg .push_btn{
        margin-top: 40px;
    }

    .form_block .box_btn{
        margin: 60px auto 0;
        width: 560px;
        height: 120px;
        font-size: 32px;
    }

    /* line_login */
    .line_login{
        margin: 143px 0 0;
    }

    .line_login .line_login_btn .line_logo{
        width: 182px;
        top: -83px;
        right: 64px;
    }


    /* banner_slider
       ================================================================== */
    .banner_slider .swiper-button-prev,
    .banner_slider .swiper-button-next{
        width: 60px;
        height: 60px;
    }

    .banner_slider .swiper-button-next{
        right: 40px;
    }

    .banner_slider .swiper-button-prev{
        left: 40px;
    }


    /* login_pickup
       ================================================================== */
    .login_pickup{
        margin: 60px 0 0;
    }

    .login_pickup .title_bottom_box{
        padding: 90px 20px 52px;
    }


    /* plan_list_block
       ================================================================== */
    .plan_list_block{
        margin: 60px 0 0;
    }

    .plan_list_tab .tab_nav{
        margin: 0 35px;
    }

    .plan_list_tab .tab_nav > li{
        height: 130px;
        font-size: 50px;
    }

    .plan_list_tab .bg{
        padding: 50px 30px 85px;
    }


    /* plan_card_list
       ================================================================== */
    .plan_card_list{
        margin: 40px 0 0;
    }

    .plan_purchased_block .plan_card_list{
        margin: 65px 30px 0;
    }

    .plan_purchased_block .plan_card_list > .plan_card{
        margin-top: 65px;
    }

    .plan_card_list > .plan_card{
        margin: 60px auto 0;
    }

    .plan_card{
        width: 100%;
    }

    .plan_card::before{
        height: 230px;
    }

    .plan_card .plan_card_inner{
        border-width: 5px;
    }

    .plan_card .target{
        padding: 20px 35px;
    }

    .plan_card .target_ttl{
        padding: 0 0 0;
        width: 190px;
        height: 60px;
        font-size: 32px;
        border-radius: 100px;
    }

    .plan_card .target_pay{
        padding: 0 0 0 15px;
        width: calc(100% - 190px);
        font-size: 120px;
    }

    .plan_card .target_pay span{
        margin: 0 0 0 9px;
    }

    .plan_card .offer{
        padding: 35px 40px;
    }

    .plan_card .offer_ttl{
        margin: 0 0 22px -40px;
        padding: 0 0 0;
        width: 205px;
        height: 60px;
        font-size: 32px;
        border-radius: 0 100px 100px 0;
    }

    .plan_card .offer_txt{
        font-size: 40px;
        line-height: 70px;
    }

    .plan_card .participation_fee{
        padding: 25px 40px;
    }

    .plan_card .participation_fee_txt{
        font-size: 38px;
        line-height: 60px;
    }


    /* free_content_block
       ================================================================== */
    .free_content_block{
        margin: -491px 0 0;
        padding-top: calc(80px + (491px));
    }

    .free_content_block .title_bottom_box{
        padding: 104px 30px 85px;
    }


    /* free_content_list
       ================================================================== */
    .free_content_list{
        margin: 0 0 0;
    }

    .free_content_list > .free_content_card{
        margin: 50px auto 0;
    }

    .free_content_card .free_content_card_inner{
        border-width: 5px;
    }

    .free_content_card .free_text_box{
        padding: 36px 30px 45px;
    }

    .free_content_card .explanation_txt{
        font-size: 32px;
        line-height: 54px;
    }

    .free_content_card .free_mid{
        margin: 36px 0 0;
    }

    .free_content_card .free_mid *{
        font-size: 32px;
        line-height: 50px;
    }

    .free_content_card .free_mid .board > div{
        padding: 5px 10px;
    }

    .free_content_card .free_mid .prediction th,
    .free_content_card .free_mid .prediction td{
        padding: 13px 10px;
    }

    .free_content_card .free_mid .prediction th{
        width: 200px;
    }

    .free_content_card .free_mid .prediction td{
        padding-left: 36px;
        width: calc(100% - 200px);
    }

    .free_content_card .free_btn_area{
        margin: 40px 0 0;
    }


    /* after_login record_block
       ================================================================== */
    .record_block.after_login .inner{
        padding-bottom: 176px;
    }

    .record_block.after_login .arrow_btn{
        margin-top: 80px;
    }


    /* record_list_block
       ================================================================== */
    .record_list_block{
        margin: 70px 0 0;
    }

    .record_list_block .title_bottom_box{
        padding: 62px 0 200px;
    }

    .record_list > li{
        margin: 130px auto 0;
    }

    .record_list > li:first-child{
        margin-top: 145px;
    }


    /* mail_list_block
       ================================================================== */
    .mail_list_block{
        margin: 70px 0 0;
    }

    .mail_list_block .title_bottom_box{
        padding: 62px 0 200px;
    }

    .mail_list{
        margin: 65px 40px 0;
    }

    .mail_list > li{
        margin: 20px auto 0;
    }

    .mail_list .mail_list_box{
        padding: 25px 25px;
    }

    .mail_list .mail_list_box .mail_list_icon{
        width: 8%;
    }

    .mail_list .mail_list_box .mail_list_ttl{
        padding: 0 20px 0 30px;
        width: 72%;
        font-size: 30px;
        line-height: 50px;
    }

    .mail_list .mail_list_box .mail_list_date{
        width: 20%;
        font-size: 26px;
        line-height: 40px;
    }


    /* common_detail_section
       ================================================================== */
    .common_detail_section{
        margin: 70px 0 0;
    }

    .common_detail_section .title_bottom_box{
        padding: 62px 0 136px;
    }


    /* common_detail_body
       ================================================================== */
    .common_detail_body{
        margin: 70px 55px 100px;
        padding: 40px 35px;
    }

    .common_detail_body.in_banner .text_box{
        padding: 40px 35px;
    }

    .common_detail_body p{
        font-size: 30px;
        line-height: 50px;
    }

    .common_detail_body * + p{
        margin: 35px 0 0;
    }


    /* mail_detail_block
       ================================================================== */
    .mail_detail_body{
        padding-bottom: 250px;
    }

    .mail_detail_body .date{
        margin: 0 0 30px;
        font-size: 26px;
        line-height: 40px;
    }

    .mail_detail_body h1{
        margin: 30px 0 0;
        font-size: 35px;
        line-height: 50px;
    }


    /* plan_detail_body
       ================================================================== */
    .plan_detail_body{
        padding: 65px 31px 0;
        overflow: hidden;
    }

    .offer_list{
        padding: 0 20px 35px;
    }

    .offer_list > li{
        padding: 30px 0 30px 0;
    }

    .offer_list_ttl{
        margin: 0 0 0 -80px;
        padding: 0 0 0;
        width: 250px;
        height: 60px;
        font-size: 30px;
        border-radius: 0 100px 100px 0;
    }

    .offer_list_txt{
        padding: 3px 0 0 25px;
        width: calc(100% - calc(250px - 80px));
        font-size: 34px;
        line-height: 60px;
    }

    .plan_detail_body  .plan_detail_text_box{
        padding: 50px 35px 50px;
    }

    .plan_detail_body  .plan_detail_text_box p{
        font-size: 30px;
        line-height: 50px;
    }

    .plan_detail_body  .arrow_btn{
        margin-top: 80px;
    }


    /* list_of_hit_results_block */
    .list_of_hit_results_block{
        margin: 80px 0 0;
    }

    .list_of_hit_results_block .list{
        margin: 50px 24px 0;
    }

    .list_of_hit_results_block .list table{
        margin: 4px auto 0;
    }

    .list_of_hit_results_block th,
    .list_of_hit_results_block td{
        padding: 12px 10px;
        font-size: 30px;
        line-height: 40px;
    }

    .list_of_hit_results_block .date,
    .list_of_hit_results_block .race_name{
        width: 17%;
    }

    .list_of_hit_results_block .pay{
        width: 37%;
        font-size: 40px;
    }

    .list_of_hit_results_block .acquisition{
        width: 20%;
    }

    .list_of_hit_results_block .acquisition{
        margin: 0 0 0 20px;
        width: 110px;
        height: 60px;
        font-size: 32px;
    }


    /* offer_details_block */
    .offer_details_block{
        padding: 60px 24px 0;
    }

    .offer_details_block .bg_box{
        margin: 23px auto 0;
        padding: 20px 0 0;
    }

    .offer_details_block .participate_point_box{
        margin: 20px 0 0;
        padding: 0 0 10px;
        height: 130px;
    }

    .offer_details_block .participate_point_box .participate_point_ttl{
        margin: 0 26px 0 0;
        font-size: 40px;
    }

    .offer_details_block .participate_point_box .participate_point{
        font-size: 60px;
    }

    .offer_details_block .participate_point_box .participate_point_siz_s{
        font-size: 40px;
    }

    .participate_list{
        margin: 20px 0 0;
    }

    .participate_list > li{
        margin: 20px 0 0;
    }

    .participate_list a > span{
        height: 145px;
    }

    .participate_list .date{
        width: 61%;
        font-size: 40px;
    }

    .participate_list .participate{
        width: 39%;
    }

    .participate_list .participate .icon_plan{
        width: 37px;
    }

    .participate_list .participate .txt{
        margin: 0 15px 0 20px;
        font-size: 35px;
    }

    .participate_list .participate .icon_arrow_btn{
        width: 23px;
    }


    /* point_buy_block
       ================================================================== */
    .point_buy_block{
        padding: 70px 0 0;
    }

    .point_buy_block .buy_top_text{
        margin: 0 55px 70px;
        padding: 40px 35px;
        border-width: 5px;
        border-radius: 30px;
    }

    .point_buy_block .buy_top_text p{
        font-size: 30px;
        line-height: 50px
    }

    .point_buy_block .buy_top_text p + p{
        margin-top: 20px;
    }

    .point_buy_block .title_bottom_box{
        padding-bottom: 141px;
    }

    .point_buy_block .form_block{
        padding: 70px 55px 0;
    }

    .point_buy_block .buy_flow{
        margin: 0 0 0;
    }

    .point_buy_block .buy_flow > li{
        margin: 40px 0 0;
    }

    .point_buy_block .buy_flow .ttl{
        padding: 24px 20px;
        font-size: 35px;
    }

    .point_buy_block .buy_flow .bg_box{
        padding: 25px 25px 34px;
    }

    .creditcard_list > li{
        width: calc((100% - 40px) / 5);
    }

    .point_buy_block .buy_flow .btn_area{
        padding: 33px 0 40px;
    }

    .point_buy_block .buy_flow .btn_area + .btn_area{
        padding-bottom: 5px;
    }

    .point_buy_block .buy_border_box{
        margin: 60px 0 0;
        padding: 40px 35px;
    }

    .point_buy_block .buy_border_box .ttl{
        margin: 0 0 35px;
        font-size: 32px;
        line-height: 45px;
    }

    .point_buy_block .buy_border_box p{
        font-size: 26px;
        line-height: 45px;
    }

    .point_buy_block .buy_border_box p + p{
        margin: 30px 0 0;
    }


}
