/*
	.sectionColumn
-------------------------------------------------------*/

.sectionColumn{
    max-width: 806px;
    margin-left: auto;
    margin-right: auto;
    background-color: #fff;
}

.sectionColumn .modColumn .title {
    margin-bottom: 20px;
}

.sectionColumn .modColumn .strong {
    font-weight: bold;
}

.sectionColumn .modColumn .lead {
    font-size: 16px;
    font-weight: bold;
}

.columnLead span{
    background: linear-gradient(transparent 75%, rgba(255,214,101,0.45) 0%);
}

.sectionColumn .modColumn .image {
    width: 900px;
    margin: 50px auto;
}

.sectionColumn .modColumn .text .columnTxt .txt {
    font-size: 15px;
}

.sectionColumn .modColumn .text .columnTxt .txt>strong {
    color: #e30019;
    font-weight: bold;
}

.sectionColumn .modColumn .text .columnBox {
    border: 1px solid #e6e6e6;
    margin-top: 27px;
    padding: 20px 40px;
}

.sectionColumn .modColumn .text .columnBox .ttl {
    font-weight: bold;
}

.sectionColumn .modColumn .text .columnBox .txt {
    margin-top: 10px;
}

.wrpContents {
    color: #404040;
}

.wrpContents img {
    vertical-align: bottom;
}

.dib {
    display: inline-block;
}

.db {
    display: block;
}

body .wrpContents sup {
    font-size: 0.5em;
}

body .wrpContents sup.moreSmall {
    font-size: 0.3em;
    vertical-align: top;
}

body .wrpContents strong:not([class]) {
    font-size: 1.2em;
}

.wrpContents .modVideo {
    max-width: 100%;
}

.wrpContents .modVideo .video {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}

.wrpContents .modVideo .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

.bg_white {
    background-color: #fff;
}

.c_white {
    color: #fff;
}

.c_deepGray {
    color: #54565a;
}

.c_purple {
    color: #d29ade;
}

.lh_small::before,
.lh_small::after,
.lh_normal::before,
.lh_normal::after {
    content: '';
    display: block;
    width: 0;
    height: 0
}

.mincho {
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.c-vividPink {
    color: #DE0067;
}

.c-white {
    color: #fff;
}

.boder {
    border: 1px solid #DE0067;
}

.text_narrow {
    transform: scale(.75, .9);
    margin-left: -2.3em;
    margin-right: -2.3em;
    font-size: 1.3em;
}

.ls_0 {
    letter-spacing: 0;
}

.ls_0 * {
    letter-spacing: inherit;
}

.ls_narrow {
    letter-spacing: -.1em;
}

.ls_narrow * {
    letter-spacing: inherit;
}

.tips {
    border: 1px solid #54565a;
    padding: 0.2em;
    line-height: 1;
    letter-spacing: 0.2em;
    font-size: 0.8em;
}

.fukidashi {
    position: relative;
}

.fukidashi::before,
.fukidashi::after {
    content: '';
    position: absolute;
    width: 1px;
    height: 80%;
    top: 10%;
    background: #333d;
}

.fukidashi::before {
    transform: rotate(-40deg);
    left: -5%;
}

.fukidashi::after {
    transform: rotate(40deg);
    right: -5%;
}

.kakko_left {
    width: 0.4em;
    text-indent: -0.4em;
}

.kakko_right {
    width: 0.3em;
    text-indent: -0.2em;
}

.indent {
    text-indent: -1.8em;
    padding-left: 1.8em;
}

/*--------------------------------------
text
--------------------------------------*/
.text_left {
    text-align: left !important;
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important
}

.text_center {
    text-align: center
}

.text_right {
    text-align: right
}

.text_bold {
    font-weight: bold
}



/*--------------------------------------
displayFlex
--------------------------------------*/
.displayFlex {
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.displayFlex.justify_center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.displayFlex.justify_end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.displayFlex.justify_sb {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.displayFlex.justify_sa {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

.displayFlex.align_start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start
}

.displayFlex.align_center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.displayFlex.align_end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.displayFlex.stretch {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

.displayFlex.flow_rowRe {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse
}

.displayFlex.flow_col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column
}

.displayFlex.flow_colRe {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-flow: column-reverse;
    flex-flow: column-reverse
}

.displayFlex.flow_wrap {
    -ms-flex-flow: wrap;
    flex-flow: wrap
}

.displayFlex.inlineFlex {
    display: -ms-inline-flex;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.dfc {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

/*--------------------------------------
anm
--------------------------------------*/

.anm_tate {
    transition: transform .8s ease-out, opacity .8s ease-out;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}

.anm_tate.off {
    -webkit-transform: translateY(8%);
    transform: translateY(8%);
    opacity: 0;
}

.anm_opacity {
    opacity: 1;
    -webkit-transition: opacity .6s ease-out;
    transition: opacity .6s ease-out
}

.anm_opacity.off {
    opacity: 0
}

.anm_yoko {
    -webkit-transition: opacity 1.1s .4s, -webkit-transform 1.5s;
    transition: opacity 1.1s .4s, -webkit-transform 1.5s;
    transition: transform 1.5s, opacity 1.1s .4s;
    transition: transform 1.5s, opacity 1.1s .4s, -webkit-transform 1.5s;
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    position: relative;
    z-index: 1
}

.anm_yoko.off {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    transform: translateX(-50px)
}

.anm_yoko_re.off {
    opacity: 0;
    -webkit-transform: translateX(50px);
    transform: translateX(50px)
}

.anm_opacity.anm_delay_01 {
    transition-delay: .4s
}

.anm_opacity.anm_delay_02 {
    transition-delay: .6s
}

.anm_opacity.anm_delay_03 {
    transition-delay: .8s
}

.anm_opacity.anm_delay_04 {
    transition-delay: 1s
}

.anm_opacity.anm_delay_05 {
    transition-delay: 1.2s
}

.anm_opacity.anm_delay_06 {
    transition-delay: 1.4s
}

.anm_opacity.anm_delay_07 {
    transition-delay: 1.6s
}

.anm_opacity.anm_delay_08 {
    transition-delay: 1.8s
}

.anm_opacity.anm_delay_09 {
    transition-delay: 2s
}

.anm_opacity.anm_delay_10 {
    transition-delay: 2.2s
}

.anm_opacity.anm_delay_11 {
    transition-delay: 2.4s
}

.anm_opacity.anm_delay_12 {
    transition-delay: 2.6s
}

.anm_opacity.anm_delay_13 {
    transition-delay: 2.8s
}

.anm_opacity.anm_delay_14 {
    transition-delay: 3s
}

.anm_opacity.anm_delay_15 {
    transition-delay: 3.2s
}

.anm_opacity.anm_delay_16 {
    transition-delay: 3.4s
}

.anm_tate.anm_delay_01 {
    transition-delay: .4s, .4s;
}

.anm_tate.anm_delay_02 {
    transition-delay: .8s, .8s;
}


/*--------------------------------------
main
--------------------------------------*/
.main {
    position: relative;
}

.main_buy>* {
    width: 32%;
}

.main_img {
    position: relative;
    z-index: 0;
}

.main_anno02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/*--------------------------------------
sec01
--------------------------------------*/
.sec01 {
    background-repeat: no-repeat, no-repeat;
    background-size: 100% auto, 100% auto;
    background-position: left top, left bottom;
}

.sec01 h2,
.sec01_prod,
.sec01_name,
.sec01 p {
    position: relative;
}

.sec01 h2,
.sec01_name,
.sec01 p {
    z-index: 1;
}

.sec01_prod {
    z-index: 0;
}

/*--------------------------------------
tvcm
--------------------------------------*/
.tvcm h3 {
    position: relative;
}

.tvcm h3 span {
    position: relative;
    z-index: 1;
}

.tvcm div {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
}

/*--------------------------------------
secNav
--------------------------------------*/
.secNav{
    background-color: #fff;
}

/*--------------------------------------
sec02
--------------------------------------*/
.sec02 {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
}

.sec02_ttl {
    position: relative;
    z-index: 1;
}

.sec02_par01,
.sec02_par02 {
    position: absolute;
    z-index: 0;
}

.sec02_img {
    position: relative;
    z-index: 1;
}

.sec02_fukidashi01,
.sec02_fukidashi02,
.sec02_fukidashi03 {
    position: absolute;
}

.sec02 .bg_white {
    box-shadow: 1.118px 1.658px 2px 0px rgba(153, 146, 146, 0.16);
}


/*--------------------------------------
sec03
--------------------------------------*/
.sec03 h2 img {
    vertical-align: -.3em;
    margin-right: 0.2em;
}

/*--------------------------------------
sec04
--------------------------------------*/
.sec04 {
    background-repeat: no-repeat;
    background-size: cover;
}

.sec04 a {
    display: block;
}

.sec04>div{
    position: relative;
}
.sec04 .sec03 {
    position: static;
}

.sec04>div>* {
    position: relative;
    z-index: 1;
}

.sec04_prod {
    z-index: 0 !important;
}


/*--------------------------------------
sec05
--------------------------------------*/
.sec05>h2,
.sec05>h3+*,
.sec05_bottom>* {
    position: relative;
    z-index: 1;
}

.sec05>h3,
.sec05_bottom>*:first-child+* {
    z-index: 0;
}

.sec05>h3 {
    position: relative;
}

.sec05>h3 img {
    position: relative;
    z-index: 0;
}

.sec05>h3 span {
    position: relative;
    z-index: 1;
}

.sec05_point,
.sec05_point02 .dib {
    position: relative;
}

.sec05 h3 img {
    vertical-align: middle;
}

.sec05_point>div {
    position: absolute;
    line-height: 1.3;
}

.sec05_point>div span {
    display: block;
}

/*--------------------------------------
sec06
--------------------------------------*/
.sec06{
    background-color: #fff;
}



/*--------------------------------------
floating_btn
--------------------------------------*/
.floating_btn {
    position: fixed;
    z-index: 99;
}

.floating_btn>span {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
}

.floating_btn>span span {
    letter-spacing: 0.1em;
}

.show_hide {
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
}

.show_hide.show {
    opacity: 1;
    pointer-events: auto;
}


/*--------------------------------------
modal
--------------------------------------*/
.modal_wrap {
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.modal {
    width: 100%;
    box-shadow: 4.243px 4.243px 5.64px 0.36px rgba(206, 206, 206, 0.4);
    position: relative;
}

.modal_btn {
    margin-left: auto;
    margin-right: auto;
}

.modal_close {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
}


/*---
sub
--*/

.sec05_bottom sub {
    font-size: 1.1em;
    vertical-align: bottom;
    position: relative;
    top: 0.4em;
}

.sec05_bottom h4 span {
    white-space: nowrap;
}

.sec05_bottom h4 sub {
    font-size: 1em;
}

/*--------------------------------------
modEcModal
--------------------------------------*/
.modEcModal .title{
    border-bottom: 2px solid #DE0067;
}

.modEcModal a i[class^=icon]{
    color: #DE0067;
}

.modEcModal .close:hover i::before{
    color: #DE0067;
}