@charset "utf-8";

@import url(icon.css);
/* ==========================================================================
   RESET
========================================================================== */
body,div,p,ul,ol,dl,form,table,fieldset,img,h1,h2,h3,h4,h5,h6 {
    margin  : 0;
    border  : 0;
    padding : 0;
}

a           {outline        : 0         ;}
em,address  {font-style     : normal    ;}
li          {list-style     : none      ;}
table       {border-collapse: collapse  ;}
img         {vertical-align : bottom    ;}
a img:hover {opacity        : 0.7       ;}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

/* ==========================================================================
   Base Styles
========================================================================== */
body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #505050;
    font-size: 17px;
    line-height: 1.5;
}

.noto-serif {
    font-family: 'Noto Serif JP', serif;
}

a {
    color: #505050;
    text-decoration: none;
}

a:hover {
    color: #888;
    text-decoration: underline;
}

/*--    文字装飾    --*/
.white  {color : #fff   ;}
.black {color : #505050   ;}
.pink   {color : #dd0059    ;}

/*--    背景装飾    --*/
.bg-pink {
    background: #dd0059;
}
.bg-gray {
    background: #f1f1f1;
}

/* ==========================================================================
   Media Queries     デフォルト：980px以上用（PC用）の記述（PCファースト）
========================================================================== */
/* ======================
   Common
====================== */
.pc-area {
    display: block;
}
.sp-area {
    display: none;
}
.new-line {
    display: inline;
}
a[href^="tel:"] {
    pointer-events: none;
}
.wrapper {
    width: 100%;
    margin: 0;
}
.inner {
    max-width: 1425px;
    margin: 0 auto;
    position: relative;
}

/* ======================
   Header
====================== */
.header-container {
    position: fixed;
    top: 0;
    left: 0;
    padding: 0;
    width: 100%;
    z-index: 10;
    transition: .5s;
}
.header-container header {
    width: auto;
    padding: 20px 10px;
    background: rgba(255,255,255,.8);
    transition: .5s;
}
.header-container .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-container .area:nth-child(2) {
    display: flex;
    justify-content: center;
    align-items: center;
}
.header-container .title {
    text-align: center;
}
.header-container .title a {
    display: inline-block;
}
.header-container .title img {
    max-width: 256px;
    margin: 0 auto;
}
.header-container .btn-menu {
    margin-right: 2.5rem;
    margin-top: 20px;
}
.header-container .btn-menu ul {
    display: flex;
    justify-content: center;
    align-items: center;
}
.header-container .btn-menu li {
    margin: 0 0.5rem;
}
.header-container .btn-menu li a {
    color: #fff;
    padding: 5px 26px;
    border-radius: 20px;
    font-size: 0.764rem;
}
.header-container .btn-menu li:nth-child(1) a {
    background: #f2ab00;
}
.header-container .btn-menu li:nth-child(2) a {
    background: #66c328;
}
.header-container .btn-menu li:nth-child(3) a {
    background: #dd0059;
}
.header-container .btn-menu li a:hover {
    text-decoration: none;
    opacity: 0.8;
}
.drawer-inner {
    cursor: pointer;
    z-index: 100;
    margin-top: 20px;
}
.nav-toggle {
    display: block;
}
.nav-toggle span {
    display: block;
    position: relative;
    width: 42px;
    border-bottom: solid 3px #dd0059;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
.nav-toggle span:nth-child(1) {
    top: -10px;
}
.nav-toggle span:nth-child(2) {
    top: 0px;
}
.nav-toggle span:nth-child(3) {
    top: 10px;
}
.nav-toggle span:nth-child(4) {
    border: none;
    color: #dd0059;
    font-size: 14px;
    font-weight: bold;
    top: 15px;
}
.nav-toggle.active span:nth-child(1) {
    top: 3px;
    left: 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.nav-toggle.active span:nth-child(2) {
    display: none;
}
.nav-toggle.active span:nth-child(3) {
    top: 0;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
nav.global-menu {
    position: fixed;
    z-index: 20;
    top: 102px;
    right: 0;
    background: rgba(255,255,255,.9);
    color: #000;
    text-align: center;
    transform: translateY(-120%);
    transition: all 0.5s;
    float: none;
    width: 46%;
    padding: 36px 0;
    height: 82vh;
    overflow-y: auto;
}

nav.global-menu ul {
    margin: 0 auto;
    padding: 0 5%;
    width: auto;
    display: block;
    text-align: left;
    float: none;
    height: auto;
}
nav.global-menu ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    text-align: center;
    border-bottom: solid 1px #ddd;
}
nav.global-menu ul li:last-child {
    border-bottom: none;
}
nav.global-menu ul li a {
    display: block;
    font-size: 1.125rem;
    padding: 0.75rem 1rem;
    letter-spacing: 0.1rem;
    text-align: left;
    color: #dd0059;
    position: relative;
}
nav.global-menu ul li a:hover {
    background: #dd0059;
    color: #fff;
    text-decoration: none;
}
nav.global-menu ul li a::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    /*content: "\e313";*/
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(-50%,-50%);
}
nav.global-menu.active {
    transform: translateY(0%);
}
/*.scroll-prevent {
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
}*/

/* ======================
   Main
====================== */
.main-visual {
    position: relative;
    margin-top: 102px;
}
.main-visual .wrapper {
    width: 100%;
    margin: 0 auto;
}
.main-visual .slider li {
    position: relative;
}
.main-visual .slider li::before {
    content: "";
    display: inline-block;
    background: url(../images/201907/txt_main.png) left center/contain no-repeat;
    width: 420px;
    height: 98px;
    position: absolute;
    top: 50%;
    right: -5%;
    transform: translate(-50%,-50%);
}
.main-visual.up_txt .slider li::before {
    background: transparent;
}
.main-visual .slider img {
    width: 100%;
}
.banner {
    background: url(../images/bg_slide.png) center/cover no-repeat;
    width: 100%;
    padding: 40px 0;
    margin-bottom: 1rem;
}
.banner .inner {
    max-width: 1278px;
    margin: 0 auto;
    position: relative;
}
.banner .bnr {
    display: flex;
    justify-content: center;
}
.banner .bnr li {
    margin: 0 20px;
}
.banner .bnr li a {
}
.banner .bnr li img {
    width: 100%;
}
#collection {
    background: url(../images/bg_collection.png) top center/100% no-repeat;
}
#collection .content_wrap {
    padding: 8vh 0 0;
}
#collection h1 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.235rem;
    text-align: center;
    color: #dd0059;
    letter-spacing: 0.3rem;
    margin: 12vh 0 2rem;
}
#collection h1 span {
    font-size: 1.176rem;
    display: block;
    letter-spacing: 0.2rem;
}
#collection .box {
    background: rgba(255,255,255,.85);
    padding: 3rem 0;
}
#collection .inner {
    max-width: 1262px;
    margin: 0 auto;
    text-align: center;
}
#collection .area {
}
#collection .category {
    margin-bottom: 2rem;
}
#collection .category .search {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}
#collection .category li {
    margin: 0px 9px;
    position: relative;
    transition: 0.5s;
    flex-basis: 23%;
}
#collection .category li::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(-50%,-50%);
    color: #dd0059;
    pointer-events: none;
}
#collection .category li:hover::after {
    color: #fff;
}
#collection .category li a,
#collection .category li span {
    display: block;
    color: #dd0059;
    padding: 0.75rem 1rem;
    border: solid 1px #dd0059;
    box-sizing: border-box;
    position: relative;
    transition: 0.5s;
}
#collection .category li a:hover,
#collection .category li span:hover,
#collection .category .is-active,
#collection .category .is-active span,
#collection .category .is-active::after {
    text-decoration: none;
    box-sizing: border-box;
    background: #dd0059;
    color: #fff;
}
#collection .post {
}
#collection .post ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
#collection .post li {
    margin: 0 9px 1rem;
    position: relative;
    transition: 0.5s;
    flex-basis: 23.2%;
}
#collection .post li img {
    width: 100%;
}
#collection .search_item {
    cursor: pointer;
}
#collection .search_item.is-active {
    color: #fff!important;
    background: #dd0059;
}
#collection .is-hide {
    display: none!important;
}
.btn-more {
    margin: 0 auto;
    width: 48vw;
    display: block;
    background: transparent;
    border: none;
    outline: none;
}
.btn-more._official {
    margin: 40px auto 0;
}
.btn-more a {
    padding: 0.75rem 1rem;
    border: solid 1px #dd0059;
    box-sizing: border-box;
    color: #dd0059;
    text-align: center;
    display: block;
    position: relative;
    font-size: 0.941rem;
}
.btn-more a:hover {
    text-decoration: none;
    border: solid 1px #dd0059;
    box-sizing: border-box;
    background: #dd0059;
    color: #fff;
}
.btn-more a::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(-50%,-50%);
    color: #dd0059;
    pointer-events: none;
}
.btn-more a:hover::after {
    color: #fff;
}
.page-collection {
    margin-top: 102px;
}
.main .content {
    margin-bottom: 5rem;
    padding-top: 102px;
    margin-top: -102px;
}
.main .content h2 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.235rem;
    text-align: center;
    color: #dd0059;
    letter-spacing: 0.3rem;
    margin-bottom: 4rem;
}
.main .content h2 span {
    font-size: 1.176rem;
    display: block;
    letter-spacing: 0.2rem;
}
.main .content h3 {
    font-family: 'Noto Serif JP', serif;
    font-size: 2.235rem;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.1rem;
    margin-bottom: 2rem;
}
.main .content h4 {
    font-size: 1.411rem;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.1rem;
    margin-bottom: 1rem;
}
#plan {
    margin-bottom: 10rem;
}
#plan .box {
}
#plan .area {
    margin-bottom: 3rem;
}
#plan .lank_area {
    margin-bottom: 5rem;
}
#plan .img_area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#plan .img_area .unit {
    width: 49%;
}
#plan .img_area:nth-child(1) .unit {
    width: auto;
}
#plan .img_area .unit img {
    width: 100%;
}
#plan .aside {
    border-radius: 3px;
    text-align: center;
    box-sizing: border-box;
}
#plan .aside01 {
    border: solid 2px #dd0059;
}
#plan .aside02 {
    border: solid 2px #ddd000;
    margin-top: 2rem;
}
#plan .aside03 {
    border: solid 2px #00cbdd;
    margin-top: 2rem;
}
#plan .aside p {
    position: relative;
    /*height: 108px;*/
    padding: 0 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#plan .aside p span {
    /*display: inline-block;
    transform: translate(0,-7px);*/
}
#plan .aside img {
    margin-left: 1rem;
    position: relative;
    top: -25px;
    width: 100%;
    max-width: 317px;
}
#plan .aside02 p,
#plan .aside03 p {
    padding: 1rem;
    /*height: 120px;*/
}
#plan .aside02 p span,
#plan .aside03 p span {
    /*transform: translate(0,0);*/
}
#plan .aside02 img,
#plan .aside03 img {
    top: -35px;
    max-width: 265px;
}
#plan .area ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: solid 1px #6e6e6e;
    box-sizing: border-box;
}
#plan .area ul li {
    width: 11.1%;
    border-right: solid 1px #000;
    text-align: center;
}
#plan .area ul li:last-child {
    border-right: none;
}
#plan .area ul li p {
    padding: 0.5rem;
    font-size: 0.941rem;
}
#plan .area ul li p:nth-child(1) {
    background: #ff84a1;
    color: #fff;
    border-bottom: solid 1px #000;
    box-sizing: border-box;
}
#benefit {
    background: url(../images/bg_benefit.png) center/cover no-repeat;
}
#benefit .inner {
    max-width: 1262px;
}
#benefit h2 img {
    max-width: 689px;
    width: 100%;
}
#benefit .content_wrap {
    padding: 8vh 0 4vh;
}
#benefit .box {
}
#benefit .box .area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}
#benefit .box .area .unit {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}
#benefit .box .area .box01 {
    max-width: 609px;
    width: 49%;
}
#benefit .box .area .box02 {
    max-width: 408px;
    width: 33%;
}
#benefit .box .area .box03 {
    max-width: 374px;
}
#benefit .box .area .box04 {
    max-width: 397px;
    width: 32%;
}
#benefit .box .area .box05 {
    max-width: 283px;
    width: 23%;
}
#benefit .box .area .b05 {
    margin-bottom: 38px;
}
#benefit .box .area .unit img {
    width: 100%;
}

#benefit .box .area .unit::before {
    display: block;
    background: #dd0059;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.058rem;
    color: #fff;
    text-align: center;
    width: 140px;
    padding: 1px 1rem;
    position: absolute;
    left: -10px;
    top: 15px;
    line-height: 32px;
    letter-spacing: 0.2rem;
}
#benefit .box .area .b01::before {
    content: "特典１";
}
#benefit .box .area .b02::before {
    content: "特典2";
}
#benefit .box .area .b03::before {
    content: "特典3";
}
#benefit .box .area .b04::before {
    content: "特典4";
}
#benefit .box .area .b05::before {
    content: "特典5";
}
#benefit .box .area .b06::before {
    content: "特典6";
}
#benefit .box .area .b07::before {
    content: "特典7";
}
#benefit .box .area .b08::before {
    content: "特典8";
}
#benefit .box .area .b09::before {
    content: "特典9";
}
#benefit .box .area .b10::before {
    content: "特典10";
}
#benefit .box .area .b11::before {
    content: "特典11";
}
#benefit .box .area .b12::before {
    content: "特典１2";
}
#benefit .box .area .b13::before {
    content: "特典１3";
}
#step {
}
#step .inner {
    max-width: 1348px;
}
#step .box {
}
#step .box .area {
    margin-bottom: 5rem;
}
#step .box h3 {
    background: #dd0059;
    font-size: 1.176rem;
    color: #fff;
    text-align: left;
    padding: 0.5rem 1rem;
    letter-spacing: 0.1rem;
}
#step .box .area .flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#step .box .area h4 {
    font-size: 1.176rem;
    color: #dd0059;
    text-align: left;
    letter-spacing: 0.1rem;
    margin-bottom: 1.5rem;
}
#step .box .area h4 span {
    font-family: 'Noto Serif JP', serif;
    font-size: 2rem;
}
#step .box .area h4::before {
    content: "";
    display: inline-block;
    background: #dd0059;
    width: 21px;
    height: 24px;
    margin-right: 15px;
}
#step .box .area .unit {
    padding: 0 2rem;
    margin-bottom: 1.5rem;
}
#step .box .area .unit .unit_inner {
    width: 48%;
}
#step .box .area .unit .head {
    margin-bottom: 2rem;
    align-items: center;
}
#step .box .area .unit .bottom {
    justify-content: center;
}
#step .box .area .unit .unit_inner:nth-child(1) a {
    max-width: 348px;
    width: 75%;
    margin: 0 auto;
}
#step .box .area .unit .unit_inner:nth-child(2) a {
    width: 48%;
    margin: 0 1rem;
}
#step .box .area .unit .unit_inner h5 {
    font-size: 1.529rem;
    letter-spacing: 0.1rem;
    margin-bottom: 0.5rem;
    font-weight: normal;
    text-indent: -1em;
    padding-left: 1rem;
}
#step .box .area .unit .unit_inner h5::before {
    content: "";
    display: inline-block;
    background: #dd0059;
    width: 12px;
    height: 12px;
    margin-right: 10px;
    transform: rotate(45deg);
}
#step .box .area .unit .unit_inner .txt {
    margin-right: 1rem;
}
#step .box .area .unit .unit_inner .img {
    width: 100%;
    max-width: 113px;
}
#step .box .area .unit .txt {
    width: 70%;
    margin-right: 1rem;
}
#step .box .area .unit .txt p {
    padding: 0 2rem;
}
#step .box .area .unit .txt a {
    max-width: 482px;
    width: 50%;
    margin: 2rem 0 0 2.5rem;
}
#step .box .area .unit .img {
    width: 30%;
    max-width: 366px;
}
#step .box .area .unit .head .txt p {
    padding: 0 1.5rem;
}
#step .box .area .unit  img {
    width: 100%;
}
#step .box .area .unit a {
    padding: 0.75rem 1rem;
    border: solid 1px #dd0059;
    box-sizing: border-box;
    color: #dd0059;
    text-align: center;
    display: block;
    position: relative;
}
#step .box .area .unit a::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0,-50%);
}
#step .box .area .unit a:hover {
    text-decoration: none;
    border: solid 1px #dd0059;
    box-sizing: border-box;
    background: #dd0059;
    color: #fff;
}
#reason {
    margin-bottom: 10rem;
}
#reason .bg {
    background: #a4e5ed url(../images/bg_reason.png) center/cover no-repeat;
    padding: 5vh 0 0;
    margin-bottom: 5rem;
}
#reason .inner {
}
#reason .box {
    max-width: 878px;
    float: right;
}
#reason .box .area {
}
#reason .box .area .unit {
    display: inline-block;
    width: 31%;
    vertical-align: top;
    margin: 0 10px 2rem 10px;
}
#reason .box .area .unit:nth-child(3n) {
    margin-right: 0;
}
#reason .box .area .unit h3 {
    background: #fff;
    margin-bottom: 2rem;
    padding: 1rem;
    font-size: 1.117rem;
    letter-spacing: 0.1rem;
    position: relative;
    text-align: left;
}
#reason .box .area .unit h3::after {
    content: "";
    position: absolute;
    margin: 0;
    bottom: -20px;
    left: 35%;
    width: 0;
    height: 0;
    border-top: 30px solid #fff;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    transform: rotate(30deg);
}
#reason .box .area .unit img {
    width: 100%;
    margin-bottom: 1rem;
}
#reason .box .area .unit p {
    text-align: left;
}
#reason h4 {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.352rem;
    margin-bottom: 2rem;
}
#reason .img_area {
    text-align: center;
    display: flex;
    justify-content: center;
}
#reason .img_area p:nth-child(1) {
    margin-right: 12px;
}
#reason .img_area img {
    width: 100%;
}
#movie {
    margin-bottom: 10rem;
}
#movie .bg {
    background: url(../images/bg_movie.png) center/cover no-repeat;
    padding: 15vh 0 10vh;
}
#movie .box {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
#movie .box .unit {
    max-width: 365px;
    width: 30%;
    color: #fff;
    text-align: center;
}
#movie .box .unit .movie {
    margin-bottom: 1.5rem;
    position:relative;
    width:100%;
    height:0;
    padding-top:56.25%;
}
#movie .box .unit .movie iframe {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
#movie .box .unit .category {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.117rem;
    padding: 0.25rem 1.5rem;
    border: solid 1px #fff;
    display: inline-block;
    margin-bottom: 1rem;
}
#movie .box .unit .title {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.352rem;
}
#qa {
    margin-bottom: 10rem;
}
#qa .inner {
    max-width: 1238px;
    margin: 0 auto;
}
#qa .box {
}
/*ラベルホバー時*/
#qa .box dt {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.235rem;
    display: block;
    margin-bottom: 0.5rem;
    padding : 1rem 2rem;
    color :#fff;
    background :#dd0059;
    cursor :pointer;
    position: relative;
}
#qa .box dt::after {
    content: '\e313';
    display: inline-block;
    font-family: 'icomoon';
    font-size: 2rem;
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translate(0,-50%);
}
#qa .box dt span::before {
    content: "Q.";
    display: inline-block;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.764rem;
    margin-right: 20px;
}
#qa .box dt.active::after {
    content: '\e316';
}
#qa .box dt:hover {
    background :#dd0059;
    opacity: 0.7;
    cursor: pointer;
}
#qa .box dd {
    background: #fff;
    margin: 2rem 1rem;
    padding-left: 68px;
    position: relative;
}
#qa .box dd::before {
    content: "A.";
    display: inline-block;
    font-family: 'Noto Serif JP', serif;
    font-size: 1.764rem;
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translate(0,-50%);
}
#qa .box dd ul {
    margin: 0.5rem 0;
    padding-left: 1rem;
}
#qa .box dd li {
}
#blog {
    margin-bottom: 10rem;
}
#blog .inner {
    max-width: 1250px;
}
#blog .box {
    text-align: center;
}
#blog .box .unit {
    display: inline-block;
    width: 31%;
    margin: 0 10px 2rem;
    border: solid 1px #505050;
    box-sizing: border-box;
    padding: 1rem;
    vertical-align: top;
}
#blog .box .unit .img {
    margin-bottom: 1rem;
}
#blog .box .unit .img img {
    width: 100%;
}
#blog .box .unit > p {
    margin-bottom: 1rem;
    text-align: left;
}
#blog .box .unit .info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    text-align: left;
}
#blog .box .unit .category {
}
#blog .box .unit .category li {
    display: inline-block;
}
#blog .box .unit .category li.date {
    color: #dd0059;
}
#blog .box .unit .category li span {
    font-size: 0.764rem;
    padding: 1px 5px;
    background: #dd0059;
    color: #fff;
    border-radius: 3px;
    margin-right: 5px;
}
#blog .box .unit h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    text-align: left;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: solid 1px #505050;
}
#blog .box .unit .more_link {
    margin-bottom: 0;
    text-align: right;
}
#blog .box .unit .more_link a {
    text-decoration: none;
    color: #dd0059;
}
#blog .box .unit .more_link a:hover {
    text-decoration: underline;
}
#blog .btn-more {
    margin: 5rem auto;
    width: 50%;
}
#blog .btn-more a::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(-50%,-50%);
}
#recommend {
    background: url(../images/bg_recommend.png) center/cover no-repeat;
    margin-bottom: 10rem;
}
#recommend .content_wrap {
    padding: 15vh 0;
}
#recommend .inner {
    max-width: 964px;
}
#recommend h2 {
    margin-bottom: 1.5rem;
}
#recommend .inner > p {
    text-align: center;
}
#recommend .box {
    margin-top: 3rem;
}
#recommend .box .area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3rem;
}
#recommend .box .area .unit {
}
#recommend .box .area:nth-child(1) .unit {
    width: 43%;
    background:
    linear-gradient(45deg, transparent 15px, #fff 15px),
    linear-gradient(135deg, transparent 0px, #fff 0px),
    linear-gradient(225deg, transparent 15px, #fff 15px),
    linear-gradient(315deg, transparent 0px, #fff 0px);
    background-position: bottom left, bottom right, top right, top left;
    background-size: 51% 51%;
    background-repeat: no-repeat;
    padding: 1.5rem 1rem;
}
#recommend .box .area:nth-child(2) {
    background: #fff;
    justify-content: space-evenly;
    margin-bottom: 0;
    padding: 3rem 0;
}
#recommend .box .area .unit h3 {
    font-size: 2.176rem;
    color: #dd0059;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: solid 1px #dd0059;
}
#recommend .box .area .unit p {
    text-align: center;
    margin-bottom: 1rem;
}
#recommend .box .area .unit p:nth-child(2) {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 50px;
}
#recommend .box .area .unit .tag {
    background: #dd0059;
    padding: 0.5rem 1rem;
    color: #fff;
    width: 90%;
    height: auto;
    margin: 0 auto;
}
#recommend .box .area .row {
}
#recommend .box .area .row ul {
    display: flex;
}
#recommend .box .area .row li {
    margin: 0 0.5rem;
    background: #505050;
    color: #fff;
    padding: 0.25rem 3rem;
}
#recommend .box .area .row p {
    font-size: 1.529rem;
    font-weight: bold;
}
#recommend .box .area .row p span {
    font-size: 1.117rem;
    display: block;
}
#shop {
    margin-bottom: 10rem;
}
#shop .inner {
    max-width: 1184px;
}
#shop .logo {
    text-align: center;
    margin-bottom: 5rem;
}
#shop .logo img {
    max-width: 230px;
}
#shop .box {
    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
}
#shop .box .unit {
    max-width: 370px;
    width: 30%;
}
#shop .box .unit .img {
    margin-bottom: 1rem;
}
#shop .box .unit .img img {
    width: 100%
}
#shop .box .unit .info {
    padding: 1rem;
    border-left: solid 1px #505050;
    border-right: solid 1px #505050;
}
#shop .box .unit .info h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.294rem;
    position: relative
}
#shop .box .unit .info h3::after {
    content: "";
    display: block;
    width: 108px;
    height: 1px;
    margin: 0 auto;
    margin-top: 1rem;
    border-top: solid 1px;
}
#shop .box .unit .info address {
    text-align: center;
}
#shop .box .unit .info address p {
    font-size: 0.941rem;
    margin-bottom: 1rem;
}
#shop .box .unit .info address p span {
    font-size: 1.588rem;
    display: block;
}
#shop .box .unit .info address p:last-child {
    font-size: 0.823rem;
}
#shop .box .unit .info .btn-more {
    width: 75%;
    margin: 0 auto;
}
#shop .box .unit .info .btn-more a::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0,-50%);
}

/* ======================
   Footer
====================== */
.pagetop_btn {
    z-index: 900;
    position: fixed;
    right: 20px;
    bottom: 20px;
}
.pagetop {
    border-radius: 100%;
    background-color: rgba(0,0,0,.5);
    display: block;
    height: 60px;
    width: 60px;
    filter: alpha(opacity=70)!important;
    opacity: .7!important;
    transition: all .3s cubic-bezier(.455,.03,.515,.955);
    position: relative;
}
.pagetop:hover {
    text-decoration: none;
    color: #fff;
    background-color: rgba(0,0,0,7);
}
.icon-arrow_up:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 12px;
    border-color: transparent transparent #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    transition: all .3s cubic-bezier(.455,.03,.515,.955);
}
.prev_btn {
    z-index: 900;
    position: fixed;
    right: 20px;
    bottom: 90px;
}
.prev_btn .prev {
    border-radius: 100%;
    background-color: rgba(0,0,0,.5);
    display: block;
    height: 60px;
    width: 60px;
    filter: alpha(opacity=70)!important;
    opacity: .7!important;
    transition: all .3s cubic-bezier(.455,.03,.515,.955);
    position: relative;
}
.prev:hover {
    text-decoration: none;
    color: #fff;
    background-color: rgba(0,0,0,7);
}
.prev:after {
    content: "戻る";
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 0.882rem;
}
#recommend ._fea {
	margin: auto;
}

#recommend ._fea th {
    padding: 14px;
    vertical-align: text-top;
}
#recommend ._fea th p {
    background: #505050;
    color: #fff;
    padding: 0.25rem 3rem;
    display: inline-block;
}
#recommend ._fea td {
    padding: 14px;
    font-size: 1.529rem;
    vertical-align: text-top;
    line-height: 1.5em;
    font-weight: 600;
}
#recommend ._fea td ._s {
    font-size: 1rem;
    line-height: 1.5em;
}

._sns_li {
	margin: auto;
	width: 76%;
}
._sns_li img {
	width: 100%;
}
._sns_li li {
	margin: 20px auto;
}


/* 追加 */
.credit {
	position: absolute;
	left: 4%;
	bottom: 6%;
	width: 30%;
	display: flex;
}
.credit img {
	border-radius: 4px;
	margin-right: 7px;
	display: block;
	width: 44%;
	max-width: 156px;
}
.main-visual .slider li::before {
    right: -8%;
    transform: translate(-50%,-50%);
}

.credit_copy {
	position: absolute;
    left: 2%;
    bottom: 2%;
    width: 50%;
    max-width: 569px;
}
.credit_copy.up202311 {
	position: absolute;
    left: 1%;
    bottom: 3%;
    width: 50%;
    max-width: 416px;
}
.credit_copy img {
	width: 100%;
}
._credit {
	display: flex;
}
._credit img {
	border-radius: 4px;
	margin-right: 7px;
	display: block;
	width: 44%;
	max-width: 156px;
	padding: 7px;
    background: rgba(255, 255, 255, 0.3);
}
.credit_copy .copy img {
    width: 100%;
    padding: 7px;
    background: rgba(255, 255, 255, 0.3);
    margin-top: 7px;
    border-radius: 4px;
    min-width: 442px;
}
._main-visual .slider li::before {
    right: -8%;
    transform: translate(-50%,-50%);
}
.main-visual .slider img {
    width: 100%;
    height: 516px;
    object-fit: cover;
}


/* ==========================================================================
   Media Queries     979px以下用（タブレット用）の記述
========================================================================== */
@media screen and (max-width: 979px) {
    /* ======================
       Common
    ====================== */
    .inner {
        width: 98%;
    }

    /* ======================
       Header
    ====================== */


    /* ======================
       Main
    ====================== */
    .main-visual .slider li::before {
        background: url(../images/201907/txt_main.png) left center/75% no-repeat;
        right: -30%;
    }
    .main-visual.up_txt .slider li::before {
    	background: transparent;
	}
    .banner {
        padding: 25px 0;
    }
    .banner .slide_bnr li {
        margin: 0 10px;
    }
    .main .content {
        margin-bottom: 1rem;
    }
    .main .content h2 {
        margin-bottom: 2rem;
    }
    .main .content h3 {
        margin-bottom: 1rem;
        font-size: 1.764rem;
    }
    #collection {
        margin-top: -80px;
    }
    #collection .category {
        margin-bottom: 1rem;
    }
    #collection .category li {
        margin: 0px 7px;
        flex-basis: 23%;
    }
    #collection .post ul {
        margin-bottom: 1rem;
        padding: 0;
    }
    #collection .post li {
        margin: 0px 7px 1rem;
        flex-basis: 23%;
    }
    #plan .area {
        margin-bottom: 2rem;
    }
    #plan .area ul li p {
        font-size: 0.647rem;
    }
    #plan .aside02 p,
    #plan .aside03 p {
        padding: 0.5rem;
        display: block;
    }
    #plan .aside02 p span,
    #plan .aside03 p span {
        display: block;
    }
    #plan .aside02 img,
    #plan .aside03 img {
        top: 0;
        margin-top: 0.5rem;
        margin-left: 0;
    }

    #plan .lank_area {
        margin-bottom: 2rem;
    }
    #benefit .content_wrap {
        padding: 0 0 1rem 0;
    }
    #benefit h2 img {
        width: 60%;
    }
    #benefit .box .area {
        margin-bottom: 1rem;
    }
    #benefit .box .area .b05 {
        margin-bottom: 1vh;
    }
    #benefit .box .area .unit img {
        width: 95%;
    }
    #benefit .box .area .unit::before {
        font-size: 0.764rem;
        padding: 0px 0.5rem;
        line-height: 22px;
        width: 80px;
        top: 10px;
        left: -5px;
    }
    #step .box .area {
        margin-bottom: 2.5rem;
    }
    #step .box .area .unit {
        padding: 0 1rem;
        margin-bottom: 1rem;
    }
    #step .box .area .unit .head {
        margin-bottom: 1rem;
    }
    #step .box .area .unit .unit_inner h5 {
        font-size: 1.294rem;
    }
    #step .box .area .unit .head .txt p {
        padding: 0 1.25rem;
    }
    #step .box .area .unit .unit_inner:nth-child(2) a {
        margin: 0 0.5rem;
    }
    #step .box .area .unit a {
        font-size: 0.764rem;
    }
    #step .box .area .unit a::after {
        right: 5px;
    }
    #reason {
        margin-bottom: 3rem;
    }
    #reason .bg {
        margin-bottom: 2.5rem;
    }
    #reason .box .area .unit {
        margin: 0 9px 2rem 9px;
    }
    #reason .box .area .unit h3 {
        font-size: 1rem;
    }
    #reason .box .area .unit img {
        margin-bottom: 0.5rem;
    }
    #movie {
        margin-bottom: 2.5rem;
    }
    #qa {
        margin-bottom: 3rem;
    }
    #qa .box dt {
        font-size: 1.117rem;
        padding: 1rem 3rem 1rem 3.5rem;
        position: relative;
    }
    #qa .box dt span::before {
        margin-right: 0;
        position: absolute;
        top: 50%;
        left: 2%;
        transform: translate(0,-50%);
    }
    #qa .box dd::before {
        left: 0;
    }
    #qa .box dd {
        padding-left: 2.5rem;
    }
    #blog {
        margin-bottom: 3rem;
    }
    #blog .box .unit {
        margin: 0px 7px 2rem;
        padding: 0.5rem;
    }
    #blog .box .unit .info {
        display: block;
        margin-bottom: 1rem;
    }
    #blog .box .unit .category {
        justify-content: flex-start;
    }
    #blog .box .unit .category li:nth-child(1) a {
        margin-left: 0;
    }
    #blog .box .unit .more_link a {
        text-decoration: none;
        color: #dd0059;
        font-size: 0.823rem;
    }
    #blog .btn-more {
        margin: 1rem auto;
    }
    #recommend {
        margin-bottom: 3rem;
    }
    #recommend .content_wrap {
        padding: 5vh 0;
    }
    #recommend .box .area {
        margin-bottom: 1.5rem;
    }
    #recommend .box .area:nth-child(1) .unit {
        width: 44%;
    }
    #recommend .box .area:nth-child(2) {
        padding: 1rem 0;
    }
    #recommend .box .area .row li {
        padding: 0.25rem 1rem;
    }
    #shop .box .unit .info h3 {
        font-size: 1.176rem;
        letter-spacing: 0;
    }
    #shop .box .unit .info address p span {
        font-size: 1.294rem;
    }
    .btn-more a {
        padding: 0.75rem 0.5rem;
        font-size: 0.823rem;
    }
    #shop .box .unit .info .btn-more a::after {
        right: 5px;
    }

    /* ======================
       Footer
    ====================== */

._credit {
	display: flex;
}
._credit img {
	border-radius: 4px;
	margin-right: 7px;
	display: block;
	width: 44%;
	max-width: 156px;
}
.credit_copy .copy img {
    width: 100%;
    padding: 7px;
    background: #fff;
    margin-top: 7px;
    border-radius: 4px;
    min-width: 442px;
}
._main-visual .slider li::before {
    right: -8%;
    transform: translate(-50%,-50%);
}

}

/* ==========================================================================
   Media Queries     767px以下用（タブレット／スマートフォン用）の記述
========================================================================== */
@media screen and (max-width: 767px) {
    /* ======================
       Common
    ====================== */
    .pc-area {
        display: none;
    }
    .sp-area {
        display: block;
    }
    .new-line {
        display: block;
    }
    a[href^="tel:"] {
        pointer-events: initial;
    }

    /* ======================
       Header
    ====================== */
    .header-container header {
        padding: 10px;
    }
    .header-container header .title img {
        width: 160px;
        transition: all 0.5s;
    }
    .header-container header.is-animation {
        padding: 5px 10px;
        background: rgba(255,255,255,.8);
        transition: .5s;
    }
    .header-container header.is-animation .title img {
        width: 130px;
        transition: all 0.5s;
    }
    .drawer-inner {
        margin-top: 5px;
    }
    .nav-toggle span {
        width: 35px;
    }
    .nav-toggle span:nth-child(1) {
        top: -6px;
    }
    .nav-toggle span:nth-child(3) {
        top: 6px;
    }
    .nav-toggle span:nth-child(4) {
        font-size: 12px;
        top: 6px;
    }
    .nav-toggle.active span:nth-child(4) {
        display: none;
    }
    nav.global-menu {
        width: 100%;
        top: 61px;
        padding: 10px 0;
    }
    nav.global-menu ul li a {
        font-size: 0.823rem;
    }
    .sp-btn-menu {
        display: block;
    }

    /* ======================
       Main
    ====================== */
    .inner {
        max-width: initial;
        width: 96%;
    }
    .main-visual {
        margin-top: 44px;
    }
    .page-collection {
    margin-top: 44px;
}
    .main-visual .slider li::before {
        background: url(../images/201907/txt_main.png) left center/60% no-repeat;
		right: 0;
		left: 88%;
		width: 548px;
    }
    .main-visual.up_txt .slider li::before {
    	background: transparent;
	}
    .banner {
        padding: 25px 0 50px;
        margin-bottom: 3rem;
    }
    .banner .inner {
        max-width: initial;
        margin: 0 auto;
        position: relative;
        padding: 0 4rem;
        width: auto;
    }
    .banner .slide_bnr.sp-area {
        display: block;
    }
    .banner .slide_bnr li {
        margin: 0;
    }
    .banner .slide_bnr li img {
    }
    .main .content {
        padding-top: 61px;
        margin-top: -61px;
    }
    #collection {
        background: url(../images/bg_collection.png) top center/200% no-repeat;
    }
    #collection .box {
        padding: 3rem 0 1rem;
    }
    #collection h1 {
        font-size: 1.764rem;
        margin: 0 0 1rem;
    }
    #collection .category li {
        flex-basis: 48%;
        margin: 3px 4px;
    }
    #collection .post ul {
        padding: 0 ;
    }
    #collection .post li {
        margin: 0 4px 0.5rem;
        flex-basis: 48%;
    }
    #collection .post .btn-more {
        width: 75%;
    }
    .main .content h4 {
        font-size: 1.176rem;
    }
    .main .content h3 {
        font-size: 1.411rem;
    }
    #plan {
        margin-bottom: 4rem;
    }
    #plan .img_area {
        flex-direction: column;
    }
    #plan .img_area .unit {
        width: 100%;
        margin: 0 auto 1rem;
    }
    #plan .aside01 p {
        padding: 0.5rem;
        display: block;
    }
    #plan .aside01 p span {
        display: block;
    }
    #plan .aside01 img {
        top: 0;
        margin-top: 0.5rem;
        margin-left: 0;
    }
    #plan .aside02 img,
    #plan .aside03 img {
        max-width: 317px;
    }
    #plan .lank_area {
        margin: 0 auto 1.5rem auto;
        text-align: center;
    }
    #plan .area ul {
        display: inline-block;
        border: none;
        box-sizing: border-box;
        text-align: center;
    }
    #plan .area ul li {
        width: 33.33333%;
        border-right: solid 1px #000;
        border-left: none;
        box-sizing: border-box;
        display: inline-block;
        margin: 0;
        float: left;
    }
    #plan .area ul li:nth-child(1) {
        border-left: solid 1px #000;
    }
    #plan .area ul li:nth-child(4) {
        border-left: solid 1px #000;
    }
    #plan .area ul li:nth-child(7) {
        border-left: solid 1px #000;
        border-bottom: solid 1px #000;
    }
    #plan .area ul li:nth-child(8) {
        border-bottom: solid 1px #000;
    }
    #plan .area ul li:nth-child(9) {
        border-bottom: solid 1px #000;
    }
    #plan .area ul li p {
        font-size: 0.823rem;
        border-bottom: none;
    }
    #plan .area ul li p:nth-child(1) {
        border-top: solid 1px #000;
    }
    #plan .area ul li:last-child {
        border-right: solid 1px #000;
    }
    #benefit {
        padding-bottom: 1rem;
    }
    #benefit h2 img {
        width: 75%;
    }
    #benefit .box {
        padding: 0 1rem;
    }
    #benefit .box .area {
        display: block;
        margin-bottom: 0;
    }
    #benefit .box .area .unit {
        margin-bottom: 1rem;
    }
    #benefit .box .area .box01,
    #benefit .box .area .box02,
    #benefit .box .area .box03,
    #benefit .box .area .box04,
    #benefit .box .area .box05 {
        width: 100%;
        padding: 0;
    }
    #benefit .box .area .b01,
    #benefit .box .area .b02,
    #benefit .box .area .b03,
    #benefit .box .area .b04,
    #benefit .box .area .b05,
    #benefit .box .area .b06,
    #benefit .box .area .b07,
    #benefit .box .area .b08,
    #benefit .box .area .b09,
    #benefit .box .area .b10,
    #benefit .box .area .b11,
    #benefit .box .area .b12,
    #benefit .box .area .b13 {
        max-width: initial;
        width: auto;
    }
    #benefit .box .area .b06 {
        margin-bottom: 0;
    }
    #benefit .box .area {
        margin-bottom: 1rem;
    }
    #benefit .box .area .unit::before {
        font-size: 0.941rem;
        padding: 0px 0.5rem;
        line-height: 28px;
        width: 130px;
        top: 15px;
        left: -10px;
    }
    #benefit .box .area .unit img {
        width: 100%;
    }
    #benefit .box .area .unit::before {
        font-size: 0.823rem;
        padding: 0px 0.5rem;
        line-height: 24px;
        width: 100px;
        top: 10px;
        left: -5px;
    }
    #step .box .area {
        margin-bottom: 0;
    }
    #step .box .area .flex {
        flex-direction: column;
    }
    #step .box .area .unit {
        margin-bottom: 2rem;
    }
    #step .box .area .unit .unit_inner {
        width: auto;
        margin-bottom: 2rem;
    }
    #step .box .area .unit .head {
        flex-direction: initial;
        align-items: flex-start;
    }
    #step .box .area .unit .unit_inner:nth-child(2) a {
        width: 75%;
        display: block;
        margin: 0 auto 1rem;
    }
    #step .box .area .unit .txt {
        width: auto;
        margin-right: 0;
    }
    #step .box .area h4 {
        font-size: 1rem;
        margin-bottom: 1rem;
    }
    #step .box .area h4 span {
        font-size: 1.5rem;
    }
    #step .box .area .unit img {
        width: 100%;
        margin-bottom: 1rem;
    }
    #step .box .area .unit .txt p {
        padding: 0;
    }
    #step .box .area .unit .txt a {
        max-width: initial;
        width: 75%;
        margin: 1rem auto 0;
    }
    #reason {
        margin-bottom: 2rem;
    }
    #reason .bg {
        background-color: #a4e5ed;
        background-image: none;
    }
    #reason .box .area {
        text-align: center;
    }
    #reason .box .area .unit {
        width: 45%;
        margin: 0 10px 2rem 10px;
    }
    #reason .box .area .unit h3 {
        font-size: 0.882rem;
        margin-bottom: 1.5rem;
        padding: 0.5rem;
    }
    #reason h4 {
        font-size: 1.058rem;
        margin-bottom: 1rem;
    }
    #reason .img_area {
        flex-direction: column;
        padding: 2%;
    }
    #reason .img_area p:nth-child(1) {
        margin-right: 0;
        margin-bottom: 0.5rem;
    }
    #movie {
        margin-bottom: 2rem;
    }
    #movie .box {
        flex-direction: column;
    }
    #movie .box .unit {
        max-width: initial;
        width: 80%;
        margin: 0 auto 2rem;
    }
    #qa .box dt span::before {
        left: 3.5%;
    }
    #blog .box .unit {
        width: 80%;
        margin: 0px auto 1rem;
        padding: 1rem;
    }
    #blog .box .unit .info {
        display: flex;
    }
    #blog .btn-more {
        margin: 5rem auto;
        width: 75%;
    }
    #recommend .box .area {
        flex-direction: column;
        margin: 0 auto;
    }
    #recommend .box .area:nth-child(1) .unit {
        width: 90%;
        margin-bottom: 2rem;
        padding: 0.5rem 1rem 1.5rem;
    }
    #recommend .box .area:nth-child(2) {
        padding: 1rem 0;
        width: 90%;
    }
    #recommend .box .area .row:nth-child(1) {
        margin-bottom: 1rem;
    }
    #recommend .box .area .row li {
        padding: 0.25rem 1.5rem;
    }
    #shop {
        margin-bottom: 5rem;
    }
    #shop .logo {
        margin-bottom: 3rem;
    }
    #shop .box {
        flex-direction: column;
    }
    #shop .box .unit {
        max-width: initial;
        width: auto;
        margin: 0 auto 2rem;
    }

    /* ======================
       Footer
    ====================== */
    .pagetop_btn {
        right: 2%;
        bottom: 8%;
    }
    .pagetop {
        height: 40px;
        width: 40px;
    }
    .icon-arrow_up:before {
        border-width: 0 6px 9px;
    }
    .sp-btn-menu {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        padding: 0;
    }
    .sp-btn-menu ul {
        display: table;
        table-layout: fixed;
        width: 100%;
    }
    .sp-btn-menu li {
        margin: 0;
        display: table-cell;
        vertical-align: middle;
    }
    .sp-btn-menu li:nth-child(1) a {
        background: #f2ab00;
    }
    .sp-btn-menu li:nth-child(2) a {
        background: #66c328;
    }
    .sp-btn-menu li:nth-child(3) a {
        background: #dd0059;
    }
    .sp-btn-menu li a:hover {
        text-decoration: none;
        opacity: 0.8;
    }
    .sp-btn-menu li a {
        padding: 1rem 0;
        border-radius: 0;
        writing-mode: initial;
        height: auto;
        font-size: 0.705rem;
        width: 100%;
        display: block;
        text-decoration: none;
        cursor: pointer;
        outline: 0;
        text-align: center;
        color: #fff;
    }
    
    #recommend ._fea th {
	    display: block;
    }
    #recommend ._fea td {
	    display: block;
	    font-size: 1.3rem;
	    text-align: center;
	    padding-top: 0;
	    padding-bottom: 24px;
    }
    
.btn-more._official {
    margin: 0px auto 0;
    width: 90%;
}

.btn-more._official a::after {
    display: none;
}


._credit {
	display: flex;
}
._credit img {
	border-radius: 4px;
	margin-right: 7px;
	display: block;
	width: 44%;
	max-width: 156px;
}
.credit_copy .copy img {
    width: 100%;
    padding: 7px;
    background: #fff;
    margin-top: 7px;
    border-radius: 4px;
    min-width: 442px;
}
._main-visual .slider li::before {
    right: -8%;
    transform: translate(-50%,-50%);
}


}

/* ==========================================================================
   Media Queries     479px以下用（スマートフォン用）の記述
========================================================================== */
@media screen and (max-width: 479px) {
    /* ======================
       Common
    ====================== */


    /* ======================
       Header
    ====================== */


    /* ======================
       Main
    ====================== */
    .main-visual .slider li::before {
        background: url(../images/201907/txt_main.png) left center/50% no-repeat;
		left: 94%;
		width: 510px;
    }
    .main-visual.up_txt .slider li::before {
    	background: transparent;
	}
    .banner .inner {
        padding: 0 2rem;
    }
    #collection .box {
        padding: 2rem 0 1rem;
    }
    #collection .category {
        margin-bottom: 1rem;
    }
    #collection .category li {
        margin: 2px 3px;
    }
    #collection .post li {
        margin: 0 3.1px 0.5rem;
    }
    .main .content h2 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }
    .main .content h2 span {
        font-size: 0.941rem;
    }
    .main .content h3 {
        font-size: 1.176rem;
    }
    .main .content h4 {
        font-size: 1rem;
    }
    #plan {
        margin-bottom: 1rem;
    }
    #plan .area {
        margin-bottom: 1rem;
    }
    #plan .lank_area {
        margin-bottom: 1.5rem;
    }
    #benefit .box {
    }
    #benefit .box .area .unit {
        margin-bottom: 1rem;
    }
    #benefit .box .area .box01,
    #benefit .box .area .box02,
    #benefit .box .area .box03,
    #benefit .box .area .box04,
    #benefit .box .area .box05 {
        width: 100%;
        padding: 0;
    }
    #benefit .box .area .b01,
    #benefit .box .area .b02,
    #benefit .box .area .b03,
    #benefit .box .area .b04,
    #benefit .box .area .b05,
    #benefit .box .area .b06,
    #benefit .box .area .b07,
    #benefit .box .area .b08,
    #benefit .box .area .b09,
    #benefit .box .area .b10,
    #benefit .box .area .b11,
    #benefit .box .area .b12,
    #benefit .box .area .b13 {
        max-width: initial;
        width: auto;
    }
    #benefit .box .area .b06 {
        margin-bottom: 0;
    }
    #benefit .box .area {
        margin-bottom: 1rem;
    }
    #benefit .box .area .unit::before {
        font-size: 0.941rem;
        padding: 0px 0.5rem;
        line-height: 28px;
        width: 130px;
        top: 15px;
        left: -10px;
    }
    #benefit .box .area .unit::before {
        font-size: 0.823rem;
        padding: 0px 0.5rem;
        line-height: 24px;
        width: 75px;
        top: 10px;
        left: -10px;
    }
    #step .box h3 {
        font-size: 1rem;
    }
    #step .box .area .unit {
        padding: 0 0.5rem;
        margin-bottom: 1rem;
    }
    #step .box .area h4 {
        font-size: 0.941rem;
    }
    #step .box .area h4 span {
        font-size: 1.25rem;
    }
    #step .box .area h4::before {
        width: 18px;
        height: 20px;
        margin-right: 10px;
        margin-bottom: -2px;
    }
    #step .box .area .unit .unit_inner .txt {
        margin-right: 0.5rem;
    }
    #step .box .area .unit .unit_inner h5 {
        font-size: 1rem;
    }
    #step .box .area .unit .head .txt p {
        padding: 0 1.25rem;
        font-size: 0.941rem;
    }
    #step .box .area .unit .txt p {
        padding: 0;
        font-size: 0.941rem;
    }
    #reason .box .area .unit {
        margin: 0 7px 2rem 7px;
    }
    #reason .box .area .unit p {
        font-size: 0.823rem;
    }
    #movie .bg {
        padding: 10vh 0 5vh;
    }
    #movie .box .unit {
        width: 85%;
    }
    #qa .box dt {
        font-size: 1rem;
    }
    #qa .box dd {
        font-size: 0.941rem;
    }
    #qa .box dd::before {
        left: -2px;
    }
    #blog {
        margin-bottom: 1rem;
    }
    #blog .box .unit {
        width: 95%;
    }
    #blog .box .unit > p {
        font-size: 0.941rem;
    }
    #blog .btn-more {
        margin: 1rem auto;
    }
    #recommend {
        margin-bottom: 2rem;
    }
    #recommend .content_wrap {
        padding: 10vh 0 5vh;
    }
    #recommend h2 {
        margin-bottom: 1rem;
        font-size: 1.529rem;
    }
    #recommend .box {
        margin-top: 1.5rem;
    }
    #recommend .box .area:nth-child(1) .unit {
        width: 80%;
        margin-bottom: 1rem;
    }
    #recommend .box .area .unit h3 {
        font-size: 1.764rem;
        padding-bottom: 0.5rem;
        margin-bottom: 0.5rem;
    }
    #recommend .box .area .unit p {
        margin-bottom: 0.5rem;
        font-size: 0.941rem;
    }
    #recommend .box .area .row li {
        padding: 0.25rem 1.25rem;
        font-size: 0.882rem;
    }
    #recommend .box .area .row p {
        font-size: 1.176rem;
    }
    #shop {
        margin-bottom: 2rem;
    }
    #shop .logo {
        margin-bottom: 2rem;
    }
    #shop .box .unit {
        width: 90%;
    }

    /* ======================
       Footer
    ====================== */
    
.credit {
    position: absolute;
    left: unset;
    right: 0%;
    bottom: 6%;
    width: 48%;
    display: flex;
}
.main-visual .slider li::before {
    background: url(../images/201907/txt_main.png) left center/50% no-repeat;
    left: 98%;
    width: 510px;
    top: 46%;
}
.main-visual.up_txt .slider li::before {
	background: transparent;
}

._credit {
	display: flex;
}
._credit img {
	border-radius: 4px;
	margin-right: 7px;
	display: block;
	width: 44%;
	max-width: 156px;
}
.credit_copy .copy img {
    width: 100%;
    padding: 7px;
    background: rgba(255, 255, 255, 0.3);
    margin-top: 7px;
    border-radius: 4px;
    min-width: 80%;
}
._main-visual .slider li::before {
    right: -8%;
    transform: translate(-50%,-50%);
}
.main-visual .slider img {
    width: 100%;
    height: 316px;
    object-fit: cover;
}
.credit_copy {
    position: absolute;
    left: 4%;
    bottom: 3%;
    width: 45%;
}
.credit_copy .copy {
    width: 150%;
    margin-left: -49%;
}
.credit_copy {
    position: absolute;
    left: 4%;
    /* right: 8%; */
    bottom: 3%;
    width: 89%;
    text-align: right;
}
.credit_copy.up202311 {
    position: absolute;
    left: 1%;
    bottom: 3%;
    width: 70%;
    max-width: 416px;
}
.main-visual .sp-area.up202311 .slider li::before {
    left: 98%;
    width: 480px;
    top: 42%;
}
}

/* ==========================================================================
   Media Queries     320px以下用（スマートフォン用）の記述
========================================================================== */
@media screen and (max-width: 320px) {
    .main-visual .slider li::before {
        background: url(../images/201907/txt_main.png) left center/40% no-repeat;
        left: 117%;
        width: 555px;
    }
    .main-visual.up_txt .slider li::before {
    	background: transparent;
	}
    #collection .post li {
        margin: 0 3px 0.5rem;
    }
    #benefit .box .area .unit::before {
        font-size: 0.764rem;
        line-height: 22px;
        width: 60px;
    }
    #benefit .box .area .b01 .unit_inner {
        padding: 18px 0 15px;
    }
    #benefit .box .area .b02 .unit_inner {
        padding: 20px 0 15px;
    }
    #benefit .box .area .b03 .unit_inner {
        padding: 18px 0 10px;
    }
    #benefit .box .area .b04 .unit_inner {
        padding: 10px 0 9px;
    }
    #benefit .box .area .b05 .unit_inner {
        padding: 66px 0 50px;
    }
    #benefit .box .area .b06 .unit_inner {
        padding: 66px 0 50px;
    }
    #benefit .box .area .b07 .unit_inner {
        padding: 60px 0 40px;
    }
    #benefit .box .area .b08 .unit_inner {
        padding: 40px 0 26px;
    }
    #benefit .box .area .b09 .unit_inner {
        padding: 55px 0 30px;
    }
    #benefit .box .area .b10 .unit_inner,
    #benefit .box .area .b11 .unit_inner,
    #benefit .box .area .b12 .unit_inner {
        padding: 47px 0 25px;
    }
    #benefit .box .area .b13 .unit_inner {
        padding: 54px 0 25px;
    }
    #reason .box .area .unit {
        margin: 0 6px 2rem 6px;
    }
    #blog .box .unit {
        width: 100%;
    }
}

/* ==========================================================================
   Helper classes
========================================================================== */
.clear      {clear          : both      ;}
.block      {display        : block     ;}
.inline     {display        : inline    ;}

.clearfix:after {
    content: "";
    display: block;
    visibility: hidden;
    clear: both;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.left   {float: left;}
.right  {float: right;}

/*--    段落行揃え   --*/
.align-right  {text-align: right;}
.align-left   {text-align: left;}
.align-center {text-align: center;}

.box-read {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


a._btn001 {
    padding: 0.75rem 1rem;
    border: solid 1px #dd0059;
    box-sizing: border-box;
    color: #dd0059;
    text-align: center;
    display: block;
    position: relative;
    font-size: 0.941rem;
    margin: 10px 4px;
}
a._btn001::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translate(-50%,-50%);
    color: #dd0059;
    pointer-events: none;
}
a._btn001:hover {
    text-decoration: none;
    border: solid 1px #dd0059;
    box-sizing: border-box;
    background: #dd0059;
    color: #fff;
}
a._btn001:hover::after {
    color: #fff;
}

._bottom_ul {
	font-size: 0.6em;
	line-height: 1.5em;
	width: 90%;
	max-width: 1184px;
	margin: 60px auto 0;
}
._bottom_ul li {
	margin-top: 4px;
}

.banner .bnr li a p {
	color: #fff;
	margin-top: 10px;
	font-size: 0.9em;
	line-height: 1.5em;
	text-align: center;
}
.banner .bnr li a:hover {
	text-decoration: none;
}
.collection_txt {
	background: rgba(255, 255, 255, .85);
	text-align: center;
}
.main .content h3.ch_txt {
    font-size: 1.1rem;
    display: inline-block;
    margin: auto;
    width: 90%;
    padding-top: 34px;
    line-height: 1.8em;
}
.menu_txt {
	text-align: center;
}
.menu_txt h5 {
	font-weight: 400;
	display: inline-block;
	margin: 0 auto 100px;
	text-align: left;
	line-height: 1.8em;
}
.area.img_area .menu_txt h5 {
	margin: 14px auto 0px;
}
#blog .box {
    text-align: left;
}
._bottom_ul {
    margin: 30px auto 0;
}
.tiktok {
	margin-top: 60px;
	text-align: center;
}

.credit_copy.up202511 {
    position: absolute;
    left: 2%;
    bottom : unset;
    top: 50%;
    transform: translateY(-50%);
    width: 46%;
    max-width: 513px;
}
.main-visual.up202511 .slider img {
	height: 634px;
	object-position: 28% 50%;
}

@media screen and (max-width: 1048px) {
.main-visual.up202511 .pc-area {
	display: none;
}
.main-visual.up202511 .sp-area {
	display: block;
}
}
@media screen and (max-width: 767px) {
	._bottom_ul {
		margin: 30px auto 80px;
	}
}
@media screen and (max-width: 648px) {
.sp-area .bx-wrapper {
	background: transparent;
}
.banner .slide_bnr li a p {
	margin-top: 0;
	color: #fff;
	font-size: 0.8em;
	line-height: 1.5em;
	text-align: center;
	padding: 10px 0 0;
}
.main .content h3.ch_txt {
    font-size: 0.9rem;
}
.menu_txt h5 {
    font-weight: 400;
    display: inline-block;
    margin: 0 auto 50px;
    text-align: justify;
    line-height: 1.8em;
    width: 94%;
    font-size: 0.8em;
}
.area.img_area .menu_txt h5 {
	margin: 14px auto 20px;
}
.main .content {
    padding-top: 61px;
    margin-top: 0;
}
#blog .box .unit {
    display: block;
}
.main-visual.up202511 .slider img {
	height: 316px;
}
}
