@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700&display=swap');

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 100%;
	vertical-align: baseline;
	font-family: "Noto Sans JP","メイリオ","ms pgothic", sans-serif;
	color: #222;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
    overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse;
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

body{
	line-height: 150%;
	overflow: hidden;
	-webkit-text-size-adjust: 100%;
	background: #fff;
}

a{
	text-decoration: none;
}

img{
	max-width: 100%;
}

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

.svg img{
	width: 100%;
}

.serif{
	font-family: "Noto Serif JP";
}

.zen-maru{
    font-family: "Zen Maru Gothic";
}

p,
a,
li{
	font-size: 3.5vw;
	line-height: 166%;
}

p a,
li a{
	font-size: inherit;
	font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
a{
	letter-spacing: 0.1em;
}

h1,
h2,
h3,
h4,
h5,
h6,
h7,
h7{
	line-height: 150%;
}

.pc{
	display: none;
}

.photo{
	line-height: 0;
}

.red_text{
    color: #D90000 !important;
    font-family: inherit;
}

.brown_text{
    color: #DBC9A5 !important;
    font-family: inherit;
}

.yellow_text{
    color: #FFFFBF !important;
    font-family: inherit;
}

.yellow_text02{
    color: #EDE400 !important;
    font-family: inherit;
}

.orange_text{
    color: #E67E22 !important;
    font-family: inherit;
}

.under_l{
    text-decoration: underline;
}

.link_text{
    color: #2980B9;
}

.link_text:hover{
    text-decoration: underline;
}

.link_border{
    color: inherit;
    text-decoration: underline;
}

.link_border:hover{
    text-decoration: none;
}

#wrap{
    padding: 0 0 0;
	position: relative;
}

#wrap #bg_cover{
	transition: all ease-in .3s;
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
	font-size: 0;
}

#wrap.open #bg_cover{
	content: "";
	width: 100%;
	background: rgba(0,0,0,0.8);
}


/* inner
   ================================================================== */
.inner{
    position: relative;
    z-index: 1;
	box-sizing: border-box;
}

.inner.pa30{
	padding-left: 3vw;
	padding-right: 3vw;
}

.inner.pa35{
	padding-left: 3.5vw;
	padding-right: 3.5vw;
}

.inner.pa45{
	padding-left: 4vw;
	padding-right: 4vw;
}


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

.pc_split .pc_left{
	display: none;
}


/* header
   ================================================================== */
header{
    position: relative;
}

header .header_bg{
    height: 110px;
	background: #0C7831;
}

.home_page header .header_front{
    display: none;
}

header .top_logo{
	width: 100px;
    height: 110px;
}

header .top_logo a{
	width: 100%;
    height: 100%;
	display: flex;
    justify-content: center;
    align-items: center;
    background: #103626;
}

header .top_logo a img{
	width: 66%;
}


/* fix_btn
   ================================================================== */
.fix_btn{
    padding: 5px;
    position: fixed;
    top: 10px;
    z-index: 500;
    width: 90px;
    height: 90px;
    box-sizing: border-box;
    border-radius: 100%;
    background: rgba(16,54,38,.2);
	transition: ease-out 0.3s;
}

.home_page .login_btn.fix_btn{
    right: 5px;
}

/* .login_page .ham_btn.fix_btn, */
.home_page .ham_btn.fix_btn{
    display: none;
}

.fix_btn .fix_btn_bg{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-content: center;
    background: #103626;
    z-index: 500;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
    border-radius: 100%;
}


/* login_btn
   ================================================================== */
.login_btn{
    right: 10px;
}

.login_btn a,
.login_btn span{
    transition: .3s;
}

.login_btn a{
    display: flex;
    justify-content: center;
    align-items: center;
}

.login_btn a span{
    margin: auto;
    width: 100%;
    display: block;
    line-height: 1;
}

.login_btn a .icon{
    width: 50%;
}

.login_btn.logout a .icon{
    margin-top: 5px;
    width: 40%;
}

.login_btn a .icon img{
    width: 100%;
}

.login_btn a .txt{
    margin: 5px 0 0;
    font-size: 10px;
    line-height: 130%;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
}

.login_btn.logout{
    display: none;
}


/* ログイン前
   ================================================================== */
/* _ログイン前 header */
.header_fix_wrap .header_user_box,
.header_fix_wrap .icon_nav,
.header_fix_wrap .header_point{
    display: none;
}

/* ナビ */
/* ログイン前 */
.header_fix_wrap .icon_nav li a.login_after,
.slide_menu .icon_nav li a.login_after{
    display: none;
}

/* ログイン後 */
.logging_in .header_fix_wrap .icon_nav li a.login_before,
.logging_in .slide_menu .icon_nav li a.login_before{
    display: none;
}

.logging_in .slide_menu .icon_nav li a.login_after{
    display: flex;
}

.logging_in .header_fix_wrap .icon_nav li a.login_after{
    display: block;
}


/* ==================================================================
   ログイン中_CSS
================================================================== */
/* _ログイン中 header */
.logging_in .header_fix_wrap{
    position: fixed;
    z-index: 10;
    width: 100%;
}

.logging_in .header_fix_wrap .header_front{
    display: flex;
    align-items: center;
}

/* _ログイン中 header_user_box */
.logging_in .header_fix_wrap .header_user_box{
    padding: 10px 0 10px 10px;
    width: calc(100% - 100px - 193px);
    display: block;
}

.logging_in .header_fix_wrap .header_user_box h3{
    font-size: 12px;
    color: #fff;
}

.logging_in .header_fix_wrap .header_user_box p{
    font-size: 14px;
    color: #EDE400;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
    word-break: break-all;
}


/* _ログイン中 header_point */
.logging_in .header_fix_wrap .header_point{
    padding: 0 2vw;
    height: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #009432;
}

.logging_in .header_fix_wrap .header_point p{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.logging_in .header_fix_wrap .header_point p .txt{
    width: 30vw;
    font-size: 3.6vw;
    color: #fff;
    text-align: right;
}

.logging_in .header_fix_wrap .header_point p .value,
.logging_in .header_fix_wrap .header_point p .pt{
    font-size: 4vw;
    color: #EDE400;
}

.logging_in .header_fix_wrap .header_point p .value{
    /*max-width: calc(100% - 30vw - 7vw);*/
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
    overflow: hidden;
    word-break: break-all;
    text-align: left;
}

.logging_in .header_fix_wrap .header_point p .pt{
    width: 7vw;
}


/* _ログイン中 header_fix_wrap_icon_nav */
.logging_in .header_fix_wrap .icon_nav{
    background: #009432;
    display: block;
}

.logging_in .header_fix_wrap .icon_nav ul{
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #fff;
}

.logging_in .header_fix_wrap .icon_nav li{
    width: calc(100% / 7);
    border-left: 1px solid #fff;
}

.logging_in .header_fix_wrap .icon_nav li:first-child{
    border-left: none;
}

.logging_in .header_fix_wrap .icon_nav li a{
    padding: 2vw 0;
    height: 20vw;
    display: block;
    text-align: center;
    transition: all ease-out 0.3s;
    box-sizing: border-box;
    background: #103626;
}

.logging_in .header_fix_wrap .icon_nav li a span{
    display: block;
}

.logging_in .header_fix_wrap .icon_nav li a .icon{
    margin: 0 auto;
    width: 58%;
    height: 9vw;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.logging_in .header_fix_wrap .icon_nav li a .icon img{
    width: 80%;
}

.logging_in .header_fix_wrap .icon_nav li a .icon.siz37 img{
    width: 50%;
}

.logging_in .header_fix_wrap .icon_nav li a .icon.siz66 img{
    width: 85%;
}

.logging_in .header_fix_wrap .icon_nav li a .icon.siz71 img{
    width: 90%;
}

.logging_in .header_fix_wrap .icon_nav li a .txt{
    height: 8vw;
    font-size: 2.2vw;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #fff;
    line-height: 150%;
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
}


/* _ログイン中 login_btn */
.logging_in .login_btn.loin{
    display: none;
}

.logging_in .login_btn.logout{
    display: block;
}


/* CVなしページ */
.contact_page .cv_line,
.contact_page .cv_mail,
.login_page .cv_line,
.login_page .cv_mail,
.logging_in .cv_line,
.logging_in .cv_mail{
    display: none !important;
}


/* _ログイン中 contents_wrap */
.logging_in .contents_wrap{
    padding-top: calc(110px + 30vw);
    background-image: url("../../images/refrain/webp/diagonal_line_bg.webp");
    background-position: center center;
    background-repeat: repeat;
    background-size: 100vw;
}


/* ham_btn
   ================================================================== */
.ham_position{
    position: relative;
    z-index: 500;
}

.ham_btn{
    position: fixed;
    right: 5px;
    cursor: pointer;
	transition: ease-out 0.3s;
}

.ham_btn .fix_btn_bg{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.ham_btn .inner{
    padding: 0 0 0;
    width: 40%;
    height: 23px;
    display: block;
    position: relative;
    transition: ease-out 0.8s;
    box-sizing: border-box;
}


.ham_btn .inner .bar,
.ham_btn .inner .bar:before,
.ham_btn .inner .bar:after{
    transition: ease-out 0.3s;
    text-indent: -9999px;
    height: 2px;
    width: 100%;
    background: #DBC9A5;
    display: block;
}

.ham_btn .inner .bar:before{
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
}

.ham_btn .inner .bar:after{
    content: "";
    position: absolute;
    bottom: 4px;
    left: 0;
}

.ham_btn.open{
    transform: rotate(0deg);
}

.ham_btn .bar{
    background: transparent !important;
}

.ham_btn.open .bar:before{
    transform: rotate(45deg);
    top: 11px;
}

.ham_btn.open .bar:after{
    transform: rotate(-45deg);
    bottom: 10px;
}

body.open{
    position: fixed;
    width: 100%;
}


/* slide_menu
   ================================================================== */
.slide_menu{
    padding-bottom: 10vw;
    position: fixed;
    top: 0;
    right: -100vw;
    width: 100vw;
    height: 100%;
    background: rgba(255,255,255,1);
    padding: 0;
    box-sizing: border-box;
    z-index: 100;
    transition: all cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
    overflow: auto;
}

.slide_menu.open{
    right: 0;
}

.slide_menu .inbox{
    padding: 0 0 0;
}

/* icon_nav */
.slide_menu .icon_nav{
    margin: 0 auto 0;
    font-size: 0;
}

.slide_menu .icon_nav li{
    margin-top: 1px;
    width: 50%;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
}

.slide_menu .icon_nav li:nth-child(2n+2){
    border-left: 1px solid #fff;
}

.slide_menu .icon_nav li a{
    padding: 0 3vw;
    height: 20vw;
    display: flex;
    align-items: center;
    transition: all ease-out 0.3s;
    box-sizing: border-box;
    background: #103626;
}

.slide_menu .icon_nav li a span{
    display: block;
}

.slide_menu .icon_nav li a .icon{
    width: 10vw;
    line-height: 0;
    text-align: center;
}

.slide_menu .icon_nav li a .icon img{
    width: 80%;
}

.slide_menu .icon_nav li a .icon.siz37 img{
    width: 50%;
}

.slide_menu .icon_nav li a .icon.siz71 img{
    width: 90%;
}

.slide_menu .icon_nav li a .txt{
    padding: 0 0 0 2vw;
    width: calc(100% - 10vw);
    font-size: 4.0vw;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #fff;
    line-height: 120%;
    z-index: 2;
    box-sizing: border-box;
}

/* btn_nav */
.slide_menu .btn_nav{
    margin: 4vw 4vw 0;
    font-size: 0;
}

.slide_menu .btn_nav li{
    margin-top: 2vw;
    width: 48%;
    display: inline-block;
    vertical-align: top;
}

.slide_menu .btn_nav li:nth-child(2n+2){
    margin-left: 4%;
}

.slide_menu .btn_nav li a{
    padding: 0;
    height: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.0vw;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #fff;
    line-height: 120%;
    transition: all ease-out 0.3s;
    box-sizing: border-box;
    background: #009432;
    border: 1px solid #009432;
    border-radius: 50px;
}

/* text_box */
.slide_menu .text_box{
    margin: 4vw 4vw 0;
    padding: 4vw;
    background: #F1EBE0;
}

.slide_menu .text_box p{
    font-size: 3.6vw;
}


/* footer
   ================================================================== */
footer{
    position: relative;
    z-index: 1;
}

footer .color_bg{
	padding: 8vw 0;
    background: #0C7831;
}

footer .footer_logo{
	margin: 0 auto;
    width: 30vw;
    line-height: 0;
}

footer .footer_logo a{
	display: block;
    line-height: 0;
}

/* footer_btn_nav */
footer .btn_nav{
    margin: 4vw 4vw 0;
    font-size: 0;
}

footer .btn_nav li{
    margin-top: 3vw;
    width: 48%;
    display: inline-block;
    vertical-align: top;
}

footer .btn_nav li:nth-child(2n+2){
    margin-left: 4%;
}

footer .btn_nav li a{
    padding: 0;
    height: 10vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.0vw;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #222;
    line-height: 120%;
    transition: all ease-out 0.3s;
    box-sizing: border-box;
    background: #fff;
    border-radius: 50px;
}

footer .text_box{
    margin: 7vw 4vw 0;
}

footer .text_box p{
    font-size: 3.4vw;
    color: #fff;
}

footer .bottom_box{
	padding: 2vw 3vw;
    background: #103626;
}

footer address{
	font-size: 3vw;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
}


/* TOPへ戻るボタン
   ================================================================== */
#page-top {
	position: fixed;
	bottom: 3vw;
	right: 3vw;
	width: 12vw;
    z-index: 4;
	line-height: 0;
	display: none;
}

#page-top a{
	display: block;
	height: auto;
	transition: ease-in 0.3s;
	line-height: 0;
}

#page-top img{
	width: 100%;
}


/* cv_line
   ================================================================== */
.cv_line{
    padding: 6vw 3vw 10vw;
    position: relative;
    z-index: 1;
    background: #103626;
}

.cv_line .flex{
    display: flex;
}

.cv_line .flex .site_logo{
    padding: 4vw 0 0;
    width: 22vw;
    line-height: 0;
    box-sizing: border-box;
}

.cv_line .flex .right_box{
    padding: 0 0 0 3vw;
    width: calc(100% - 22vw);
    box-sizing: border-box;
}

.cv_line .flex .right_box .title{
    line-height: 0;
}

.cv_line .flex .right_box .present_title{
    margin: 3vw 0 0;
    line-height: 0;
}

.cv_line .btn_area{
    margin: -2vw 0 0;
}

.cv_line .btn_area .line_title{
    margin: 0 auto;
    width: 44vw;
    line-height: 0;
}

.cv_line .btn_area .btn_box{
    display: block;
    line-height: 0;
    position: relative;
}

.cv_line .btn_area .btn_box span{
    display: block;
    line-height: 0;
}

.cv_line .btn_area .btn_box .line_logo{
    width: 20vw;
    position: absolute;
    top: -8vw;
    right: -1vw;
    z-index: 1;
}

.cv_line .btn_area .btn_box .line_btn{
    margin: 0 auto 0;
    width: 95%;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    filter: drop-shadow(0 11px 12px rgba(0,0,0,.64));

}

.cv_line .btn_area .btn_box .line_btn::before{
    content: "";
    height: 100%;
    width: 30px;
    position: absolute;
    top: -180px;
    left: 150%;
    background-color: #fff;
    opacity: 0;
    transform: rotate(45deg);
    animation: reflection 2s ease-in-out infinite;
}

@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(70) rotate(45deg); opacity: 0; }
}


/* cv_mail
   ================================================================== */
.cv_mail .top_bg{
    padding: 6vw 3vw 10vw;
    position: relative;
    z-index: 1;
    background: #009432;
}

.cv_mail .flex{
    margin: 0 -1.5vw;
    display: flex;
}

.cv_mail .flex .item{
    padding: 0 0 0;
    width: 18vw;
    line-height: 0;
    box-sizing: border-box;
}

.cv_mail .flex .right_box{
    padding: 0 0 0 3vw;
    width: calc(100% - 18vw);
    box-sizing: border-box;
}

.cv_mail .flex .right_box .title{
    margin: 0;
}

.cv_mail .flex .right_box .title span{
    padding: 1vw 3vw;
    display: inline-block;
    font-size: 3.7vw;
    color: #222;
    font-family: "Zen Maru Gothic";
    line-height: 150%;
    background: #EDE400;
    border-radius: 50px;
}

.cv_mail .flex .right_box .title + p{
    margin: 3vw 0 0;
    font-size: 3.1vw;
    color: #fff;
}

.cv_mail .cv_mail_form{
    margin: 2vw 0 0;
}

.cv_mail .cv_mail_form input{
    padding: 15px;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
}

.cv_mail .cv_mail_form input::-webkit-input-placeholder{
    color: #ccc;
}

.cv_mail .cv_mail_form input::-moz-placeholder{
    color: #ccc; opacity: 1;
}

.cv_mail .cv_mail_form input:-ms-input-placeholder{
    color: #ccc;
}

.cv_mail .cv_mail_form .push_btn{
    margin: 3vw auto 0;
}

/* bottom_bg */
.cv_mail .bottom_bg{
    padding: 6vw 0 0;
    position: relative;
    z-index: 1;
    background: #103626;
}

.cv_mail .bottom_bg.pt-0 {
    padding-top: 0;
}

.cv_mail .bottom_bg p{
    padding: 0 3vw;
    font-size: 3.5vw;
    color: #fff;
}

.loophorse{
    margin: 6vw 0 0;
	padding: 0 0 0;
    visibility: hidden;
    display: flex;
    opacity: 0;
}

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

.loophorse li{
	width: 150vw;
    line-height: 0;
}


/* push_btn
   ================================================================== */
.push_btn{
    padding: 0;
    line-height: 0;
    font-size: 0;
    background: none;
    border: none;
    filter: drop-shadow(0 6px 0 rgba(0,0,0,.42));
    cursor: pointer;
    display: block;
}


/* alternate
   ================================================================== */
.alternate{
    position: relative;
    overflow: hidden;
    line-height: 0;
}

.alternate img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.alternate .fade_photo{
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
	animation: fade_photo 10s linear infinite;
}

.alternate.delay1 .fade_photo{
    animation-delay: .5s;
    animation-direction: 8s;
}

.alternate.delay2 .fade_photo{
    animation-delay: 2s;
    animation-direction: 12s;
}

.alternate.delay3 .fade_photo{
    animation-delay: 3.5s;
    animation-direction: 7s;
}

@keyframes fade_photo {
    0% {opacity: 0;}
    40%{opacity: 0;}
    50%{opacity: 1;}
    90%{opacity: 1;}
    100%{opacity: 0;}
}


/* contents_wrap
   ================================================================== */
.contents_wrap{
    margin: 0;
    padding: 0;
}


/* page_title
   ================================================================== */
.page_title{
    padding: 4vw 2vw;
    font-size: 6vw;
    font-weight: 700;
    color: #fff;
    background: #009432;
    text-align: center;
}


/* rich_title_bg_title
   ================================================================== */
.rich_title_bg_title{
    text-align: center;
    position: relative;
    z-index: 1;
}

.rich_title_bg_title .rich_title_bg{
    padding: 0 0 2vw;
    width: 90%;
    height: 15vw;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-image: url("../../images/refrain/webp/rich_title_bg.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    box-sizing: border-box;
    position: relative;
}

.rich_title_bg_title .txt{
    font-size: 6vw;
    font-weight: 700;
    color: #fff;
    line-height: 150%;
    letter-spacing: 0.1em;
    font-family: "Zen Maru Gothic";
    text-align: center;
    filter: drop-shadow(0 4px 0 rgba(0,0,0,.66));
    display: block;
}

.rich_title_bg_title .txt.siz50{
    font-size: 5.4vw;
}

.rich_title_bg_title .txt.siz80{
    padding: 0 0 2vw;
    font-size: 9vw;
    line-height: 1;
}

.rich_title_bg_title .txt.lr_minus{
    margin: 0 -2vw;
}

.rich_title_bg_title .txt.r_minus{
    margin-right: -1vw;
}

.rich_title_bg_title .txt.letter50{
    letter-spacing: 0.05em;
}

.rich_title_bg_title .cup{
    width: 13vw;
    top: -3vw;
    left: 2vw;
    position: absolute;
}


/* title_bottom_box
   ================================================================== */
.title_bottom_box{
    margin: -8vw 0 18vw;
    padding: 10vw 0 4vw;
    background: #443625;
    position: relative;
}

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

.title_bottom_box.green{
    background: #0C7831;
}

.title_bottom_box.dark_green{
    background: #103626;
}

.title_bottom_box.arrow::before{
    content: "";
    background: #443625;
    height: calc(tan(60deg) * 23px / 2);
    width: 20px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    top: 99%;
    left: 0;
    right: 0;
    margin: auto;
}

.title_bottom_box.shadow{
    filter: drop-shadow(0 8px 6px rgba(0,0,0,.35));
}

.title_bottom_box > p{
    font-size: 4.2vw;
    font-weight: 500;
    color: #fff;
    font-family: "Zen Maru Gothic";
    text-align: center;
}


/* arrow_btn
   ================================================================== */
.arrow_btn{
	text-align: center;
	line-height: 0;
}

.arrow_btn button,
.arrow_btn a{
    width: 70vw;
    height: 18vw;
    max-width: 100%;
	display: inline-flex;
    justify-content: center;
    align-items: center;
	position: relative;
    text-align: center;
    cursor: pointer;
    border: 1px solid #009432;
    background: #009432;
	box-sizing: border-box;
    border-radius: 100px;
}

.arrow_btn button > span,
.arrow_btn a > span{
    margin-left: 8vw;
	display: inline-block;
	font-size: 4.5vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    font-family: "Zen Maru Gothic";
    line-height: 150%;
	color: #fff;
    position: relative;
}

.arrow_btn button > span::before,
.arrow_btn a > span::before{
    content: "";
    background-image: url("../../images/refrain/icon_arrow_btn.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% + 2vw);
}

.arrow_btn.buy_points_btn button > span::before,
.arrow_btn.buy_points_btn a > span::before{
    background-image: url(../images/common/icon_plan_black.svg);
    width: 6vw;
    height: 14vw;
    background-size: 100%;
    right: calc(100% + 4vw);
}

/* 完売 */
.arrow_btn.sold_out button,
.arrow_btn.sold_out a{
    background: #222;
    border-color: #222;
    pointer-events: none;
}

.arrow_btn.sold_out button > span::before,
.arrow_btn.sold_out a > span::before{
    background-image: url("../../images/refrain/icon_plan_white.svg");
    width: 6vw;
    height: 14vw;
    background-size: 100%;
    right: calc(100% + 4vw);
}

/* 買い目を見る */
.arrow_btn.look_buy button,
.arrow_btn.look_buy a{
    background: #F39C12;
    border-color: #F39C12;
}

.arrow_btn.look_buy button > span,
.arrow_btn.look_buy a > span{
    color: #222;
}

.arrow_btn.look_buy button > span::before,
.arrow_btn.look_buy a > span::before{
    margin: -1vw 0 0;
    background-image: url("../../images/refrain/icon_record_black.svg");
    width: 8vw;
    height: 8vw;
    background-size: 100%;
    right: calc(100% + 1vw);
}

.arrow_btn.red button,
.arrow_btn.red a{
	background: #D90000;
    border-color: #D90000;
}

.arrow_btn.blue button,
.arrow_btn.blue a{
	background: #2980B9;
    border-color: #2980B9;
}

.arrow_btn.buy_points_btn button,
.arrow_btn.buy_points_btn a{
	background: #EDE400;
    border-color: #EDE400;
}

.arrow_btn.buy_points_btn button > span,
.arrow_btn.buy_points_btn a > span{
	color: #222;
}

.arrow_btn.wid700 button,
.arrow_btn.wid700 a{
    width: 90vw;
}

.arrow_btn.wid710 button,
.arrow_btn.wid710 a{
    width: 92vw;
}


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

.pagination{
	font-size: 0;
    text-align: center;
}

.pagination > li{
	margin: 1vw 1vw 0 0;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
}

.pagination > li:last-child{
	margin-right: 0;
}

.pagination .pagination_box{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 12vw;
    height: 12vw;
    font-size: 4vw;
    background: #fff;
    transition: .3s;
}

.pagination .pagination_box.current,
.pagination .pagination_box:hover{
    background: #8FC31F;
    color: #fff;
}

.pagination .pagination_box img{
    width: 15%;
}

/* Alert */
.alert p,
.alert {
    text-align: center;
    letter-spacing: 0;
}

.alert-danger p,
.alert-danger {
    color: #D90000;
}

.alert-success p,
.alert-success {
    color: #009432;
}

@media screen and (min-width : 500px){
    .alert p,
    .alert {
        font-size: 28px;
        line-height: 50px;
    }

    a.over{
    	transition: all ease-out 0.3s;
    }

    a.over:hover{
    	opacity: 0.6;
    }

    /* login_btn
       ================================================================== */
    .login_btn a:hover{
        background: #009432 !important;
    }

    .login_btn a:hover .txt{
        color: #103626;
    }


    /* ham_btn
       ================================================================== */
    .ham_btn:hover .inner .bar{
        width: 20px;
    }

    .ham_btn:hover .inner .bar:after{
        width: 10px;
    }

    .ham_btn.open .bar:before,
    .ham_btn.open .bar:after{
        width: 100% !important;
    }

    .ham_btn.open:hover .bar:before,
    .ham_btn.open:hover .bar:after{
        background: #009432 !important;
    }


    /* slide_menu
       ================================================================== */
    .slide_menu{
        padding-bottom: 5vw;
    }

    /* icon_nav */
    .slide_menu .icon_nav{
        margin: 0 auto 0;
    }

    .slide_menu .icon_nav li a{
        padding: 0 2.5vw;
        height: 12.0vw;
        transition: .3s;
    }

    .slide_menu .icon_nav li a .icon{
        width: 7.1vw;
    }

    .slide_menu .icon_nav li a .icon img{
        width: 6.0vw;
    }

    .slide_menu .icon_nav li a .icon.siz37 img{
        width: 3.7vw;
    }

    .slide_menu .icon_nav li a .icon.siz71 img{
        width: 7.1vw;
    }

    .slide_menu .icon_nav li a .txt{
        padding: 0 0 0 2.4vw;
        width: calc(100% - 7.1vw);
        font-size: 3.5vw;
    }

    .icon_nav li a,
    .icon_nav li a .txt{
        transition: .3s;
    }

    .icon_nav li a:hover{
        background: #009432 !important;
    }

    .icon_nav li a:hover .txt{
        color: #103626 !important;
    }

    /* btn_nav */
    .slide_menu .btn_nav{
        margin: 2.2vw 4.0vw 0;
    }

    .slide_menu .btn_nav li{
        margin-top: 2.0vw;
    }

    .slide_menu .btn_nav li a{
        height: 6.0vw;
        font-size: 2.8vw;
        transition: .3s;
    }

    .slide_menu .btn_nav li a:hover{
        background: #fff;
        color: #009432;
    }

    /* text_box */
    .slide_menu .text_box{
        margin: 3.5vw 4.0vw 0;
        padding: 3.0vw 4.0vw;
    }

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


    /* footer
       ================================================================== */
    footer .color_bg{
        padding: 6.0vw 0 9.5vw;
    }

    footer .footer_logo{
        width: 18.4vw;
    }

    /* footer_btn_nav */
    footer .btn_nav{
        margin: 3.4vw 4.0vw 0;
    }

    footer .btn_nav li{
        margin-top: 2.0vw;
    }

    footer .btn_nav li a{
        height: 8.0vw;
        font-size: 2.8vw;
        transition: .3s;
    }

    footer .btn_nav li a:hover{
        background: #103626;
        color: #fff;
    }

    footer .text_box{
        margin: 7.0vw 4.0vw 0;
    }

    footer .text_box p{
        font-size: 2.6vw;
        line-height: 4.0vw;
    }

    footer .bottom_box{
        padding: 1.3vw 1.0vw;
    }

    footer address{
        font-size: 2.0vw;
    }


    /* TOPへ戻るボタン
       ================================================================== */
    #page-top {
    	bottom: 4.0vw;
    	right: 4.0vw;
        width: 9.0vw;
    }


    /* ==================================================================
       ログイン中_CSS
    ================================================================== */
    /* _ログイン中 header_point */
    .logging_in .header_fix_wrap .header_point{
        padding: 0 1.5vw;
        height: 9.0vw;
    }

    .logging_in .header_fix_wrap .header_point p .txt{
        width: 28.0vw;
        font-size: 3.6vw;
    }

    .logging_in .header_fix_wrap .header_point p .value,
    .logging_in .header_fix_wrap .header_point p .pt{
        font-size: 4.0vw;
    }

    .logging_in .header_fix_wrap .header_point p .value{
        /*max-width: calc(100% - 28.0vw - 5.0vw);*/
    }

    .logging_in .header_fix_wrap .header_point p .pt{
        width: 5.0vw;
    }


    /* _ログイン中 header_fix_wrap_icon_nav */
    .logging_in .header_fix_wrap .icon_nav li a{
        padding: 1.7vw 0;
        height: 17.0vw;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon{
        width: 7.1vw;
        height: 7.1vw;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon img{
        width: 6.0vw;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon.siz37 img{
        width: 3.7vw;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon.siz66 img{
        width: 6.6vw;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon.siz71 img{
        width: 7.1vw;
    }

    .logging_in .header_fix_wrap .icon_nav li a .txt{
        margin: .8vw 0 0;
        height: 6.0vw;
        font-size: 2.0vw;
        line-height: 3.0vw;
    }


    /* _ログイン中 contents_wrap */
    .logging_in .contents_wrap{
        padding-top: calc(110px + 26vw);
        background-size: 100%;
    }


    /* cv_line
       ================================================================== */
    .cv_line{
        padding: 3.7vw 3.5vw 6.0vw;
    }

    .cv_line .flex .site_logo{
        padding: 3.2vw 0 0;
        width: 18.4vw;
    }

    .cv_line .flex .right_box{
        padding: 0 4.3vw 0 6.1vw;
        width: calc(100% - 18.4vw);
    }

    .cv_line .flex .right_box .present_title{
        margin: 2.0vw 0 0;
    }

    .cv_line .btn_area{
        margin: 1vw 0 0;
    }

    .cv_line .btn_area .line_title{
        width: 38.0vw;
    }

    .cv_line .btn_area .btn_box .line_logo{
        width: 18.2vw;
        top: -7.5vw;
        right: -1.7vw;
    }

    .cv_line .btn_area .btn_box .line_btn{
        margin: 0 auto 0;
        width: 87vw;
        transition: .3s;

    }

    .cv_line .btn_area .btn_box:hover .line_btn{
        opacity: .6;
    }


    /* cv_mail
       ================================================================== */
    .cv_mail .top_bg{
        padding: 5.0vw 5.0vw 6.0vw;
    }

    .cv_mail .flex{
        margin: 0 -3.5vw;
    }

    .cv_mail .flex .item{
        padding: 0 0 0;
        width: 16.8vw;
    }

    .cv_mail .flex .right_box{
        padding: 0 0 0 3.0vw;
        width: calc(100% - 16.8vw);
    }

    .cv_mail .flex .right_box .title{
        margin: 0;
    }

    .cv_mail .flex .right_box .title span{
        padding: .5vw 3.3vw;
        font-size: 3.5vw;
    }

    .cv_mail .flex .right_box .title + p{
        margin: 1.8vw 0 0 -2.0vw;
        font-size: 3.2vw;
    }

    .cv_mail .cv_mail_form{
        margin: 2.7vw 0 0;
    }

    .cv_mail .cv_mail_form input{
        padding: 2.6vw 3.5vw;
        font-size: 3.2vw;
    }

    .cv_mail .cv_mail_form .push_btn{
        margin: 3.0vw auto 0;
    }

    /* bottom_bg */
    .cv_mail .bottom_bg{
        padding: 4.0vw 0 0;
    }

    .cv_mail .bottom_bg p{
        padding: 0 5.0vw;
        font-size: 2.8vw;
        line-height: 4.5vw;
    }

    .loophorse{
        margin: 3.0vw 0 0;
    }

    .loophorse li{
        width: 124.5vw;
    }


    /* push_btn
       ================================================================== */
    .push_btn{
        transition: .3s;
        filter: drop-shadow(0 10px 0 rgba(0,0,0,.42));
    }

    .push_btn:hover{
        transform: translate(0,10px);
        filter: drop-shadow(0 0 0 rgba(0,0,0,.42));
    }

    .push_btn_item_in > *:hover .push_btn{
        transform: translate(0,10px);
        filter: drop-shadow(0 0 0 rgba(0,0,0,.42));
    }


    /* contents_wrap
       ================================================================== */
    .contents_wrap{
        padding: 0;
    }


    /* page_title
       ================================================================== */
    .page_title{
        padding: 3.2vw 2.0vw;
        font-size: 4.4vw;
    }


    /* rich_title_bg_title
       ================================================================== */
    .rich_title_bg_title .rich_title_bg{
        padding: 0 0 1.0vw;
        width: 76.0vw;
        height: 12.0vw;
    }

    .rich_title_bg_title .txt{
        font-size: 5.4vw;
        filter: drop-shadow(0 4px 0 rgba(0,0,0,.66));
    }

    .rich_title_bg_title .txt.siz50{
        font-size: 5.0vw;
    }

    .rich_title_bg_title .txt.siz80{
        padding: 0 0 2.0vw;
        font-size: 8.0vw;
    }

    .rich_title_bg_title .txt.lr_minus{
        margin: 0 -3.0vw;
    }

    .rich_title_bg_title .txt.r_minus{
        margin-right: -1.2vw;
    }

    .rich_title_bg_title .cup{
        width: 10.0vw;
        top: -2.0vw;
        left: .9vw;
    }


    /* title_bottom_box
       ================================================================== */
    .title_bottom_box{
        margin: -6.3vw 0 17.4vw;
        padding: 7.0vw 0 2.0vw;
    }

    .title_bottom_box::before{
        height: calc(tan(60deg) * 43px / 2);
        width: 50px;
    }

    .title_bottom_box > p{
        font-size: 3.4vw;
    }


    /* arrow_btn
       ================================================================== */
    .arrow_btn button,
    .arrow_btn a{
        width: 50.0vw;
        height: 14.0vw;
        transition: .3s;
    }

    .arrow_btn button > span,
    .arrow_btn a > span{
        margin-left: 5.8vw;
        font-size: 3.8vw;
    }

    .arrow_btn button > span::before,
    .arrow_btn a > span::before{
        width: 4.0vw;
        height: 4.0vw;
        right: calc(100% + 1.8vw);
    }

    .arrow_btn.buy_points_btn button > span::before,
    .arrow_btn.buy_points_btn a > span::before{
        width: 4.3vw;
        height: 8.2vw;
        right: calc(100% + 3.8vw);
    }

    /* 完売 */
    .arrow_btn.sold_out button > span::before,
    .arrow_btn.sold_out a > span::before{
        width: 4.3vw;
        height: 8.2vw;
        right: calc(100% + 3.8vw);
    }

    /* 買い目を見る */
    .arrow_btn.look_buy button > span::before,
    .arrow_btn.look_buy a > span::before{
        margin: -.5vw 0 0;
        width: 7.1vw;
        height: 7.1vw;
        right: calc(100% + .8vw);
    }

    .arrow_btn.wid700 button,
    .arrow_btn.wid700 a{
        width: 70.0vw;
    }

    .arrow_btn.wid710 button,
    .arrow_btn.wid710 a{
        width: 71.0vw;
    }

    .plan_btn_area .arrow_btn button,
    .plan_btn_area .arrow_btn a{
        height: 14.5vw;
    }

    .arrow_btn button:hover,
    .arrow_btn a:hover{
        opacity: .6;
    }


    /* pagination_block
       ================================================================== */
    .pagination_block{
        margin: 9.0vw 0 0;
    }

    .pagination > li{
        margin: 1.0vw 1.0vw 0 0;
    }

    .pagination .pagination_box{
        width: 10.0vw;
        height: 10.0vw;
        font-size: 3.5vw;
    }


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

	p,
	a,
	li{
		font-size: 30px;
        line-height: 50px;
	}

	.sp{
		display: none;
	}

	.pc{
		display: inherit;
	}

    #wrap{
        padding: 0 0 0;
    	position: relative;
    }


    /* inner
       ================================================================== */
    .inner{
        box-sizing: border-box;
    }

    .inner.pa30{
        padding-left: 30px;
        padding-right: 30px;
    }

    .inner.pa35{
        padding-left: 35px;
        padding-right: 35px;
    }

    .inner.pa45{
        padding-left: 45px;
        padding-right: 45px;
    }


    /* pc_split
       ================================================================== */
    .pc_split{
        margin: auto;
        max-width: 1980px;
        display: flex;
    }

    .pc_split .pc_left{
        display: flex;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        width: calc(100% - 860px);
        height: 100vh;
    }

    .pc_split .pc_left h1{
        width: 250px;
        line-height: 0;
    }

    .pc_split .pc_right{
        margin: 0 0 0 auto;
        max-width: 860px;
        height: auto;
    }


    /* header
       ================================================================== */
    header{
        position: relative;
    }

    header .header_bg{
        height: 230px;
    }

    header .top_logo{
        width: 179px;
        height: 230px;
    }

    header .top_logo a img{
        width: 132px;
    }


    /* fix_btn
       ================================================================== */
    .home_page .login_btn.fix_btn,
    .fix_btn{
        padding: 10px;
        top: 10px;
        width: 170px;
        height: 170px;
    }

    .fix_btn .fix_btn_bg{
        box-sizing: border-box;
    }


    /* login_btn
       ================================================================== */
    .login_btn{
        /* right: 210px; */
        right: 30px;
    }

    .login_btn a .icon{
        width: 72px;
    }

    .login_btn.logout a .icon{
        margin-top: 5px;
        width: 58px;
    }

    .login_btn a .txt{
        margin: 9px 0 0;
        font-size: 20px;
    }


    /* ==================================================================
       ログイン中_CSS
    ================================================================== */
    /* _ログイン中 header_user_box */
    .logging_in .header_fix_wrap{
        width: 860px;
    }

    .logging_in .header_fix_wrap .header_user_box{
        padding: 17px 0 17px 29px;
        width: calc(100% - 179px - 400px);
    }

    .logging_in .header_fix_wrap .header_user_box h3{
        font-size: 32px;
    }

    .logging_in .header_fix_wrap .header_user_box p{
        font-size: 34px;
    }


    /* _ログイン中 header_point */
    .logging_in .header_fix_wrap .header_point{
        padding: 0 15px;
        height: 90px;
    }

    .logging_in .header_fix_wrap .header_point p .txt{
        width: 280px;
        font-size: 36px;
    }

    .logging_in .header_fix_wrap .header_point p .value,
    .logging_in .header_fix_wrap .header_point p .pt{
        font-size: 40px;
    }

    .logging_in .header_fix_wrap .header_point p .value{
        /*max-width: calc(100% - 280px - 50px);*/
    }

    .logging_in .header_fix_wrap .header_point p .pt{
        width: 50px;
    }


    /* _ログイン中 header_fix_wrap_icon_nav */
    .logging_in .header_fix_wrap .icon_nav li a{
        padding: 17px 0;
        height: 170px;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon{
        width: 71px;
        height: 71px;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon img{
        width: 60px;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon.siz37 img{
        width: 37px;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon.siz66 img{
        width: 66px;
    }

    .logging_in .header_fix_wrap .icon_nav li a .icon.siz71 img{
        width: 71px;
    }

    .logging_in .header_fix_wrap .icon_nav li a .txt{
        margin: 8px 0 0;
        height: 60px;
        font-size: 20px;
        line-height: 30px;
    }


    /* _ログイン中 contents_wrap */
    .logging_in .contents_wrap{
        padding-top: 491px;
    }


    /* ham_btn
       ================================================================== */
    .ham_btn{
        right: 30px;
    }

    .ham_btn .inner{
        padding: 0 0 0;
        width: 40%;
        height: 23px;
    }

    .ham_btn .inner .bar,
    .ham_btn .inner .bar:before,
    .ham_btn .inner .bar:after{
        height: 2px;
    }

    .ham_btn .inner .bar:before{
        content: "";
        position: absolute;
        top: 0;
    }

    .ham_btn.open .inner .bar:before {
        top: 11px;
    }

    .ham_btn .inner .bar:after{
        bottom: 2px;
    }

    .ham_btn.open .inner .bar:after{
        bottom: 10px;
    }


    /* slide_menu
       ================================================================== */
    .slide_menu{
        padding-bottom: 50px;
        right: -860px;
        width: 860px;
        height: 100%;
    }

    /* icon_nav */
    .slide_menu .icon_nav{
        margin: 0 auto 0;
    }

    .slide_menu .icon_nav li a{
        padding: 0 25px;
        height: 70px;
    }

    .slide_menu .icon_nav li a .icon{
        width: 51px;
    }

    .slide_menu .icon_nav li a .icon img{
        width: 40px;
    }

    .slide_menu .icon_nav li a .icon.siz37 img{
        width: 25px;
    }

    .slide_menu .icon_nav li a .icon.siz71 img{
        width: 51px;
    }

    .slide_menu .icon_nav li a .txt{
        padding: 0 0 0 14px;
        width: calc(100% - 51px);
        font-size: 25px;
    }

    /* btn_nav */
    .slide_menu .btn_nav{
        margin: 15px 20px 0;
    }

    .slide_menu .btn_nav li{
        margin-top: 10px;
        width: 48%;
    }

    .slide_menu .btn_nav li:nth-child(2n+2){
        margin-left: 4%;
    }

    .slide_menu .btn_nav li a{
        height: 40px;
        font-size: 18px;
    }

    /* text_box */
    .slide_menu .text_box{
        margin: 25px 20px 0;
        padding: 20px 25px;
    }

    .slide_menu .text_box p{
        font-size: 18px;
        line-height: 30px;
    }


    /* footer
       ================================================================== */
    footer .color_bg{
        padding: 60px 0 95px;
    }

    footer .footer_logo{
        width: 184px;
    }

    /* footer_btn_nav */
    footer .btn_nav{
        margin: 34px 40px 0;
    }

    footer .btn_nav li{
        margin-top: 20px;
    }

    footer .btn_nav li a{
        height: 80px;
        font-size: 28px;
        transition: .3s;
    }

    footer .btn_nav li a:hover{
        background: #103626;
        color: #fff;
    }

    footer .text_box{
        margin: 70px 40px 0;
    }

    footer .text_box p{
        font-size: 26px;
        line-height: 40px;
    }

    footer .bottom_box{
        padding: 13px 10px;
    }

    footer address{
        font-size: 20px;
    }


    /* TOPへ戻るボタン
       ================================================================== */
    #page-top {
    	bottom: 40px;
    	right: 40px;
        width: 90px;
    }


    /* cv_line
       ================================================================== */
    .cv_line{
        padding: 37px 35px 60px;
    }

    .cv_line .flex .site_logo{
        padding: 32px 0 0;
        width: 184px;
    }

    .cv_line .flex .right_box{
        padding: 0 11px 0 31px;
        width: calc(100% - 184px);
    }

    .cv_line .flex .right_box .present_title{
        margin: 20px 0 0;
    }

    .cv_line .btn_area{
        margin: -25px 0 0;
    }

    .cv_line .btn_area .line_title{
        width: 380px;
    }

    .cv_line .btn_area .btn_box .line_logo{
        width: 182px;
        top: -75px;
        right: -15px;
    }

    .cv_line .btn_area .btn_box .line_btn{
        margin: 0 auto 0;
        width: 760px;
    }


    /* cv_mail
       ================================================================== */
    .cv_mail .top_bg{
        padding: 50px 50px 60px;
    }

    .cv_mail .flex{
        margin: 0 -35px;
    }

    .cv_mail .flex .item{
        padding: 0 0 0;
        width: 168px;
    }

    .cv_mail .flex .right_box{
        padding: 0 0 0 30px;
        width: calc(100% - 168px);
    }

    .cv_mail .flex .right_box .title{
        margin: 0;
    }

    .cv_mail .flex .right_box .title span{
        padding: 5px 33px;
        font-size: 32px;
    }

    .cv_mail .flex .right_box .title + p{
        margin: 18px 0 0 -20px;
        font-size: 28px;
    }

    .cv_mail .cv_mail_form{
        margin: 27px 0 0;
    }

    .cv_mail .cv_mail_form input{
        padding: 26px 35px;
        font-size: 32px;
    }

    .cv_mail .cv_mail_form .push_btn{
        margin: 30px auto 0;
    }

    /* bottom_bg */
    .cv_mail .bottom_bg{
        padding: 40px 0 0;
    }

    .cv_mail .bottom_bg p{
        padding: 0 50px;
        font-size: 28px;
        line-height: 45px;
    }

    .loophorse{
        margin: 30px 0 0;
    }

    .loophorse li{
        width: 1245px;
    }


    /* push_btn
       ================================================================== */
    .push_btn{
        filter: drop-shadow(0 10px 0 rgba(0,0,0,.42));
    }


    /* contents_wrap
       ================================================================== */
    .contents_wrap{
        padding: 0;
    }


    /* page_title
       ================================================================== */
    .page_title{
        padding: 32px 20px;
        font-size: 44px;
    }


    /* rich_title_bg_title
       ================================================================== */
    .rich_title_bg_title .rich_title_bg{
        padding: 0 0 10px;
        width: 760px;
        height: 120px;
    }

    .rich_title_bg_title .txt{
        font-size: 54px;
    }

    .rich_title_bg_title .txt.siz50{
        font-size: 50px;
    }

    .rich_title_bg_title .txt.siz80{
        padding: 0 0 20px;
        font-size: 80px;
    }

    .rich_title_bg_title .txt.lr_minus{
        margin: 0 -30px;
    }

    .rich_title_bg_title .txt.r_minus{
        margin-right: -12px;
    }

    .rich_title_bg_title .cup{
        width: 100px;
        top: -20px;
        left: 9px;
    }


    /* title_bottom_box
       ================================================================== */
    .title_bottom_box{
        margin: -63px 0 174px;
        padding: 70px 0 20px;
    }

    .title_bottom_box.arrow::before{
        height: calc(tan(60deg) * 43px / 2);
        width: 50px;
    }

    .title_bottom_box > p{
        font-size: 34px;
    }


    /* arrow_btn
       ================================================================== */
    .arrow_btn button,
    .arrow_btn a{
        width: 500px;
        height: 140px;
    }

    .arrow_btn button > span,
    .arrow_btn a > span{
        margin-left: 58px;
        font-size: 38px;
    }

    .arrow_btn button > span::before,
    .arrow_btn a > span::before{
        width: 40px;
        height: 40px;
        right: calc(100% + 18px);
    }

    .arrow_btn.buy_points_btn button > span::before,
    .arrow_btn.buy_points_btn a > span::before{
        width: 43px;
        height: 82px;
        right: calc(100% + 38px);
    }

    /* 完売 */
    .arrow_btn.sold_out button > span::before,
    .arrow_btn.sold_out a > span::before{
        width: 43px;
        height: 82px;
        right: calc(100% + 38px);
    }

    /* 買い目を見る */
    .arrow_btn.look_buy button > span::before,
    .arrow_btn.look_buy a > span::before{
        margin: -5px 0 0;
        width: 71px;
        height: 71px;
        right: calc(100% + 8px);
    }

    .arrow_btn.wid700 button,
    .arrow_btn.wid700 a{
        width: 700px;
    }

    .arrow_btn.wid710 button,
    .arrow_btn.wid710 a{
        width: 710px;
    }

    .plan_btn_area .arrow_btn button,
    .plan_btn_area .arrow_btn a{
        height: 145px;
    }


    /* pagination_block
       ================================================================== */
    .pagination_block{
        margin: 90px 0 0;
    }

    .pagination > li{
        margin: 10px 10px 0 0;
    }

    .pagination .pagination_box{
        width: 100px;
        height: 100px;
        font-size: 35px;
    }


}
