@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: #611f0b;
    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: 1424px;
    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: #e9d49b;
}
.header-container .btn-menu li:nth-child(2) a {
    background: #b2d09d;
}
.header-container .btn-menu li:nth-child(3) a {
    background: #e8b4cb;
}
.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 #606060;
    -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: #606060;
    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-container {
	position: relative;
	z-index: 1;
}

/* ======================
   Main
====================== */
.main-visual {
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    z-index: 2;
}
.top_banner {
    position: absolute;
    bottom: -3%;
    right: 14%;
    z-index: 2;
}
.txt_main {
    position: absolute;
    bottom: 29%;
    right: 10%;
    z-index: 2;
}

.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/txt_main.png) left center/contain no-repeat;
    width: 390px;
    height: 68px;
    position: absolute;
    top: 50%;
    left: 25%;
    transform: translate(-50%,-50%);
}
.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 #da8a00;
    box-sizing: border-box;
    color: #da8a00;
    text-align: center;
    display: block;
    position: relative;
    font-size: 0.941rem;
}
.btn-more a:hover {
    text-decoration: none;
    border: solid 1px #da8a00;
    box-sizing: border-box;
    background: #da8a00;
    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: #da8a00;
    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: 282px;
    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 {
	width: 96%;
    margin: auto;
}
#step .box .area {
    margin-bottom: 0rem;
}
#step .box h3 {
    background: url(../images/up/img_step_obi.jpg);
    background-repeat: no-repeat;
    font-size: 1.176rem;
    color: #fff;
    text-align: left;
    padding: 0.5rem 1rem;
    letter-spacing: 0.1rem;
    margin-bottom: 0rem;
}
#step .box .area .flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#step .box .area h4 {
    font-size: 1.529rem;
    text-align: left;
    letter-spacing: 0.1rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
}
#step .box .area h4 span {
    font-family: 'Noto Serif JP', serif;
    font-size: 2rem;
    color: #fbc5c6;
    display: inline-block;
    margin-right: 20px;
}
#step .box .area h4::before {
    content: "";
    display: inline-block;
    background: url(../images/up/step_icon.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    width: 63px;
    height: 60px;
    margin-right: 15px;
}
#step .box .area .unit {
    padding: 3rem 2rem;
/*     margin-bottom: 1.5rem; */
    border-bottom: 1px solid #ff5252;
}
#step .box .area .unit .unit_inner {
    width: 48%;
    margin: 0 3rem;
}
#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: 500;
    text-indent: -1em;
    padding-left: 1rem;
}
#step .box .area .unit .unit_inner h5::before {
    content: "";
    display: inline-block;
    background: #fbc5c6;
    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 #ff5252;
    box-sizing: border-box;
    color: #ff5252;
    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 #ff5252;
    box-sizing: border-box;
    background: #ff5252;
    color: #fff;
}
#reason {
    margin-bottom: 10rem;
}
#reason .bg {
    background: #ebe9ea url(../images/up/bg_reason.jpg) center/cover no-repeat;
    padding: 5vh 0 0;
    margin-bottom: 5rem;
}
#reason .inner {
}
#reason .box {
    max-width: 878px;
    float: left;
    padding: 3rem 0;
}
#reason .box .area {
}
.main #reason.content h2 {
	font-family: 'Noto Sans JP', sans-serif;
	color: #7f5c01;
	font-size: 1.576rem;
	letter-spacing: 0.2rem;
	font-weight: 500;
}
.main #reason.content h2 span {
    display: block;
}
#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: center;
    min-height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#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/up/bg_movie.jpg) 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;
    background: rgba(255, 255, 255, 0.89);
    display: inline-block;
    margin-bottom: 1rem;
    color: #99886a;
}
#movie .box .unit .title {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.352rem;
    color: #99886a;
}
#qa {
    margin-bottom: 10rem;
}
#qa .inner {
    max-width: 1424px;
}
#qa .box {
    max-width: 1238px;
    margin: 0 auto;
}
/*ラベルホバー時*/
#qa .box dt {
    font-size: 1.235rem;
    display: block;
    margin-bottom: 0.5rem;
    padding : 0.2rem 2rem 0.75rem;
    color :#99886a;
    background : url(../images/up/qa_obi.jpg);
    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-size: 2rem;
    margin-right: 20px;
}
#qa .box dt.active::after {
    content: '\e316';
}
#qa .box dt:hover {
    opacity: 0.7;
    cursor: pointer;
}
#qa .box dd {
    background: #fff;
    margin: 2rem 1rem;
    padding-left: 68px;
    position: relative;
    color: #505050;
}
#qa .box dd::before {
    content: "A.";
    display: inline-block;
    font-size: 2rem;
    position: absolute;
    left: 18px;
    top: 0.85rem;
    transform: translate(0,-50%);
}
#qa .box dd ul {
    margin: 1.5rem 0 0.5rem;
    padding-left: 1rem;
}
#qa .box dd li {
	text-indent: -4em;
	margin-left: 4em;
}
#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;
    color: #505050;
}
#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: #fabdc0;
    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 .date {
    color: #fabdc0;
}
#blog .box .unit .more_link a {
    text-decoration: none;
    color: #fabdc0;
}
#blog .box .unit .more_link a:hover {
    text-decoration: underline;
}
#blog .btn-more {
    margin: 3rem 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;
    color: #505050;
}
#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%);
}

.main .content h2._title01 {
	position: relative;
	background: url(../images/up/line01.png);
	background-repeat: no-repeat;
	background-position: center center;
	
}
.main .content h2._title01 ._t {
	position: relative;
	z-index: 1;
}
/*
.main .content h2._title01::after {
	content: '';
	width: 100%;
	height: 2px;
	background: #b5a486;
	position: absolute;
	left: 0;
	top: 50%;
}
*/
.main .content h2._title02 {
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    color: #99886a;
    letter-spacing: 0.3rem;
    margin-bottom: 3rem;
    font-weight: 500;
    position: relative;
    background: url(../images/up/line01.png);
    background-repeat: no-repeat;
    background-position: center center;
}
.main .content h2._title02 span {
	position: relative;
	font-size: 2.235rem;
	z-index: 1;
	display: inline-block;
	background: #fff;
	padding: 0 2rem;
}
/*
.main .content h2._title02::after {
	content: '';
	width: 100%;
	height: 2px;
	background: #b5a486;
	position: absolute;
	left: 0;
	top: 50%;
}
*/


#photo_gallery .img_area {
    text-align: center;
    display: flex;
    justify-content: center;
}
#photo_gallery .img_area p:nth-child(1) {
    margin-right: 12px;
}
#photo_gallery .img_area img {
    width: 100%;
}

#photo_gallery .btn-more {
    margin: 40px auto;
}
#photo_gallery .btn-more a {
    width: 75%;
    margin: 0 auto;
    color: #99886a;
    border: solid 4px #99886a;
    font-size: 1.2rem;
    padding: 0.75rem 0.75rem;
}
#photo_gallery .btn-more a::after {
    font-family: "icomoon";
    font-size: 1.5rem;
    content: "\e313";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0,-50%);
    color: #99886a;
}
#photo_gallery .btn-more a:hover {
    text-decoration: none;
    box-sizing: border-box;
    background: #99886a;
    color: #fff;
}
#photo_gallery .btn-more a:hover::after {
	color: #fff;
}

.main .content h2._title03 {
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    color: #7b5d09;
    letter-spacing: 0rem;
    margin-bottom: 3rem;
    font-weight: 500;
    position: relative;
    font-size: 1.5rem;
    display: inline-block;
    margin: 1.5rem auto;
}
.main .content h2._title03 ._l {
    position: absolute;
    left: -405px;
    top: -10%;
}
.main .content h2._title03 ._r {
    position: absolute;
    right: -404px;
    top: -10%;
}

#hairstyle .inner {
    max-width: 1264px;
    margin: 0 auto;
    position: relative;
    text-align: center;
}
#hairstyle .hairstyle_li {
	text-align: left;
	margin: 40px auto;
	display: inline-block;
}
#hairstyle .inner li {
	width: 22.6%;
	margin: 1%;
	display: inline-block;
}
#hairstyle .inner li img {
	width: 100%;
}
#hairstyle .banner753 {
	margin: 40px auto 120px;
	text-align: center;
}


#odekake_plan .img_area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#odekake_plan ._plan {
	background: none;
	width: 100%;
	padding: 18px 0;
}
#odekake_plan ._plan ._in {
	margin: 0 18px;
	padding: 32px 40px 22px;
	background: #fff;
}
#odekake_plan ._plan ._in ._title._2c span {
	width: 54%;
	max-width: 447px;
	display: inline-block;
}
#odekake_plan ._plan ._in ._title._2c span:nth-child(2) {
	width: 45%;
	max-width: 365px;
	display: inline-block;
	padding: 10px 0;
	line-height: 2rem;
	float: right;
}
#odekake_plan ._plan ._in ._title._2c span img {
	width: 100%;
}

#odekake_plan ._plan ._in ._txt._2c span {
	width: 36%;
	max-width: 277px;
	display: inline-block;
}
#odekake_plan ._plan ._in ._txt._2c span:nth-child(2) {
	width: 64%;
	max-width: 483px;
	display: inline-block;
	float: right;
	padding: 14px 0;
	line-height: 2rem;
}
#odekake_plan ._plan ._in ._txt._2c span img {
	width: 100%;
}

.table01 {
	width: 100%;
	font-size: 1.25rem;
}
.table01 th {
	padding: 7px 14px;
	text-align: center;
	vertical-align: middle;
	border-top: 4px solid #fff;
	border-left: 4px solid #fff;
	font-weight: 500;
}
.table01 td {
	padding: 7px 14px;
	text-align: center;
	vertical-align: middle;
	border-top: 4px solid #fff;
	border-left: 4px solid #fff;
	font-weight: 500;
}

#odekake_plan .table01 th {
	background: #b8d18b;
	color: #fff;
}
#odekake_plan .table01 tr:first-of-type th:first-of-type {
	background: none;
	color: #fff;
}
#odekake_plan .table01 td {
	background: #e1ecd0;
	min-width: 100px;
}
#odekake_plan .table {
	margin: 15px auto 20px;
}


#stylebook ._r {
	max-width: 593px;
	width: 47%;
	text-align: center;
	float: right;
	position: relative;
	margin-right: 40px;
}
#stylebook ._l {
	max-width: 645px;
	width: 55%;
	position: absolute;
	top: -5%;
	left: 3%;
}
#stylebook .i01 {
	position: absolute;
	top: -4%;
	right: -3%;
}
#stylebook .i02 {
	position: absolute;
	bottom: -9.4%;
    left: -4%;
}
#stylebook img {
	width: 100%;
}
.main #stylebook.content h2 {
    margin-bottom: 2rem;
}
.main #stylebook.content h3 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.1rem;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.1rem;
    margin-bottom: 2rem;
}
.main #stylebook.content p {
    font-size: 1rem;
    margin: 14px auto;
}
.main #stylebook.content ._c {
    color: #ff3535;
}
.main #stylebook.content .box {
    background: url(../images/up/img_data_bk.jpg);
    position: relative;
    padding: 60px 80px 60px 60px;
}


#stylebook .btn-more a {
    width: auto;
    margin: 0 auto;
    color: #fff;
    border: none;
    background: #e73f3f;
    font-size: 1rem;
    padding: 1rem 0.75rem;
}
#stylebook .btn-more a::after {
    font-family: "icomoon";
    font-size: 1rem;
    content: "\e315";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translate(0,-50%);
    color: #fff;
}
#stylebook .btn-more a:hover {
    text-decoration: none;
    box-sizing: border-box;
    background: rgba(232, 63, 63, 0.79);
    color: #fff;
}
#stylebook .btn-more {
    margin: 40px auto 0;
    display: block;
    width: 65%;
}

.main #stylebook.content {
    margin-bottom: 5rem;
    padding-top: 0px;
    margin-top: 0px;
    padding: 40px 0 100px;
}



#data_plan .img_area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#data_plan .img_area  img {
	width: 100%;
}
#data_plan ._plan {
	background: none;
	width: 100%;
	padding: 18px 0;
}
#data_plan ._plan ._in {
	margin: 0 18px;
	padding: 32px 20px 40px;
	background: #fff;
}
#data_plan ._plan ._in ._title._2c span {
	width: 46%;
	max-width: 399px;
	display: inline-block;
}
#data_plan ._plan ._in ._title._2c span:nth-child(2) {
	width: 54%;
	max-width: 460px;
	display: inline-block;
	padding: 10px 0;
	line-height: 2rem;
	float: right;
}
#data_plan ._plan ._in ._title._2c span img {
	width: 100%;
}
#data_plan ._plan ._in p.center {
	text-align: center;
}

#data_plan ._data .table {
	width: 74%;
	float: left;
	margin: 15px auto 20px;
}
#data_plan ._data .ph {
	float: right;
}
#data_plan ._data .table01 th {
	background: #81bede;
	color: #fff;
}
#data_plan ._data .table01 td {
	background: #d9ecf5;
	min-width: 100px;
}
#data_plan ._data {
	padding: 10px 0px;
}

.main .content ._title04 {
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.25rem;
    font-weight: normal;
    text-align: center;
    padding: 14px 0;
    margin: 20px auto;
    border: 3px solid #611f0b;
    width: 90%;
    max-width: 762px;
}
.op_set {
	margin-top: 60px;
}
.op_set_li {
	max-width: 1312px;
	display: flex;
	margin: 60px auto;
}
.op_set_li li {
	width: 33%;
	display: inline-block;
}
.op_set_li li img {
	width: 100%;
}

#standard .img_area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#standard .img_area  img {
	width: 100%;
}
#standard ._plan {
	background: none;
	width: 100%;
	padding: 18px 0;
}
#standard ._plan ._in {
	margin: 0 18px;
	padding: 32px 20px 9px;
	background: #fff;
}

#standard ._plan ._in ._title._2c span {
	width: 46%;
	max-width: 399px;
	display: inline-block;
}
#standard ._plan ._in ._title._2c span:nth-child(2) {
	width: 54%;
	max-width: 460px;
	display: inline-block;
	padding: 10px 0;
	line-height: 2rem;
	float: right;
}
#standard ._plan ._in ._title._2c span img {
	width: 100%;
}



#photo .inner {
	max-width: 1424px;
    margin: 0 auto;
    position: relative;
	background: url(../images/up/bk_hyoushi_op.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}
#photo .op_set {
	max-width: 1120px;
	margin: auto;
	margin-top: 60px;
}
#photo .op_set_li {
	margin: 20px auto;
}
#photo .op_set_li li {
	width: 16%;
    display: inline-block;
    margin: 4.3%;
}
#photo .op_set_li li img {
	width: 100%;
}

#photo .img_area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#photo .img_area  img {
	width: 100%;
}
#photo ._plan {
	background: none;
	width: 100%;
	padding: 18px 0;
}
#photo ._plan ._in {
	margin: 0 18px;
	padding: 32px 20px 9px;
	background: #fff;
}

#photo ._plan ._in ._title._2c span {
	width: 46%;
	max-width: 399px;
	display: inline-block;
}
#photo ._plan ._in ._title._2c span:nth-child(2) {
	width: 54%;
	max-width: 460px;
	display: inline-block;
	padding: 10px 0;
	line-height: 2rem;
	float: right;
}
#photo ._plan ._in ._title._2c span img {
	width: 100%;
}
#photo .table .table01 {
	width: 100%;
	margin: 0px auto 10px;
}
#photo .table .table01 th {
	background: #dcca74;
	color: #fff;
	padding: 5px 5px;
	font-size: 0.9rem;
}
#photo .table .table01 td {
	background: #f5f0dc;
	min-width: 100px;
	padding: 5px 5px;
	font-size: 1.2rem;
}
#photo .table .table01 td._sw {
	min-width: 60px;
}
#photo ._r {
	text-align: right;
	margin-bottom: 20px;
}

.osusume_set {
	margin-top: 60px;
}
.osusume_set_li {
	max-width: 1308px;
	display: flex;
	margin: 40px auto 30px;
}
.osusume_set_li li {
	width: 33%;
	max-width: 409px;
	display: inline-block;
	margin: 1%;
}
.osusume_set_li li img {
	width: 100%;
}
#osusume .center {
	text-align: center;
	max-width: 835px;
    width: 97%;
    margin: auto;
}
#osusume .center img {
	width: 100%;
}
.main #osusume.content {
    margin-bottom: 3rem;
    padding-top: 102px;
    margin-top: -102px;
}

#odekake_plan .img_area img {
    width: 100%;
}

._bk_nami {
	background: url(../images/up/bk_nami.png);
	background-repeat: repeat-x;
	background-position: bottom;
	position: relative;
	z-index: 1;
}
.main_slide {
	margin-bottom: -20px;
}
#campaign {
	background-color: #f9dfdf;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
#campaign:after {
	content: '';
    max-width: 393px;
    width: 23%;
    height: 100%;
    background: url(../images/up/kazari03.png);
    background-repeat: no-repeat;
    background-position: left top;
    position: absolute;
    top: -20px;
    left: -4%;
}
#campaign:before {
	content: '';
    max-width: 393px;
    width: 23%;
    height: 100%;
    background: url(../images/up/kazari04.png);
    background-repeat: no-repeat;
    background-position: left top;
    position: absolute;
    top: -20px;
    right: -4%;
}
#campaign ._content_wrap {
	max-width: 1044px;
	margin: auto;
	width: 94%;
	position: relative;
	z-index: 2;
}
#campaign .content_wrap {
	max-width: 1044px;
	border-radius: 0;
	background: url(../images/up/bk_waku02.png);
	background-size: contain;
	background-repeat: repeat-y;
	position: relative;
	margin: auto;
	width: 100%;
}

#campaign .content_wrap .inner {
	padding: 0 46px 20px 46px;
	position: relative;
	width: auto;
	max-width: 862px;
}
#campaign ._banner {
	margin-bottom: 40px;
}

#campaign .list_c2 li {
	float: left;
	width: 49%;
	max-width: 426px;
	margin-top: 1.1%;
	margin-left: 1.5%;
}
#campaign .list_c2 li:first-of-type {
	margin-left: 0%;
}
#campaign .list_c3 li {
	float: left;
    width: 32.6%;
	margin-top: 1.1%;
    margin-left: 1.1%;
    max-width: 280px;
}
#campaign .list_c3 li:first-of-type {
	margin-left: 0%;
}
#campaign .list_c3 li:nth-of-type(3n+1) {
	margin-left: 0%;
}
.main #campaign.content {
    margin-bottom: 5rem;
    padding: 60px 0;
    margin-top: 0;
}
.main #campaign.content h2 {
    font-size: 1rem;
    text-align: center;
    top: 0px;
    position: relative;
    margin: auto;
    margin-right: -5%;
    margin-bottom: 10px;
    max-width: 793px;
    width: 92%;
}
#campaign img {
	width: 100%;
}
.kazari01 {
	position: absolute;
	z-index: 2;
	top: -8%;
    left: -11%;
}
.kazari02 {
	position: absolute;
	z-index: 2;
	bottom: -9.2%;
    right: -11.8%;
}
.tgl {
	font-size: 1.435rem;
    display: block;
    margin-bottom: 0.5rem;
    padding: 1.4rem;
    color: #fff;
    background: #e73f3f;
    cursor: pointer;
    position: relative;
    max-width: 940px;
    margin: auto;
    text-align: center;
    border-bottom: 4px solid #b21b1b;
    border-right: 4px solid #b21b1b;
    margin-bottom: 100px;
}
.tgl:hover {
    opacity: 0.7;
    cursor: pointer;
}
.tgl::after {
    content: '\e313';
    display: inline-block;
    font-family: 'icomoon';
    font-size: 2rem;
    position: absolute;
    right: 3%;
    top: 50%;
    transform: translate(0,-50%);
}
.tgl.active::after {
    content: '\e316';
}

/* ======================
   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;
}

._sp-area {
	display: none;
}


.bk_gallery {
	background-color: #f9dfdf;
	background-image: url(../images/up/bk_gallery.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	width: 100%;
}
.main .content h2._title01 {
    position: relative;
    background: url(../images/up/line01.png);
    background-repeat: no-repeat;
    background-position: center center;
}
.main .o_gallery .content {
    margin-bottom: 0;
    padding-top: 102px;
    margin-top: 0;
}
.main .o_gallery .content h2._title03 {
	    font-family: 'Noto Serif JP', serif;
}
#hairstyle .hairstyle_li {
    text-align: left;
    margin: 40px auto 240px;
    display: inline-block;
}
.center {
	text-align: center;
}
.banner753 {
	margin: -174px auto 100px;
}

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

.photo_goods_plus {
	text-align: center;
}
.photo_goods {
    padding: 30px 40px 25px;
    border: 10px solid #fbe1dc;
    width: calc(100% - 100px);
    max-width: 1080px;
    margin: 40px auto 0;
}
.photo_goods img {
	width: 100%;
}
.photo_goods h3 {
	width: 90% !important;
	max-width: 380px !important;
	margin: auto !important;
	margin-bottom: 10px !important;
}
.photo_goods ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
    padding: 0;
}
.photo_goods ul li {
    width: calc( 20% - 30px );
    margin: 14px 0;
    margin-left: 37px;
}
.photo_goods ul li:first-of-type {
	margin-left: 0;
}
.op_set_li {
    margin: 60px auto 20px;
}


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

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


    /* ======================
       Main
    ====================== */
    .main-visual .slider li::before {
        background: url(../images/txt_main.png) left center/75% no-repeat;
        left: 30%;
    }
    .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 0rem;
        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
    ====================== */
    
    #shop .box .unit .info {
	    padding: 1rem 0.5rem;
	    border-le1rem ft: solid 1px #505050;
	    border-ri1rem ght: solid 1px #505050;
	}
	.main .content h3 {
	    font-size: 1.411rem;
	    max-width: 100%;
		width: auto;
	    margin: auto;
		margin-bottom: 10px;
	}
	.main .content h3 img {
	   width: 100%;
	}

	.main .content3h2._title03 {
	    margin: 1.3rem auto;
	}
	
	.btn-more {
	    width: 90%;
	}


    /* ======================
       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;
    }

    a[href^="tel:"] {
        pointer-events: initial;
    }
    
    .btn-menu {
	    display: none;
    }

.banner753 {
    margin: -118px auto 40px;
    width: 86%;
}
.banner753 img {
	width: 100%;
}
.main .content h2._title03 ._l {
    position: relative;
    left: 0;
    top: 0%;
    margin-bottom: 10px;
}
.main .content h2._title03 ._r {
    display: none;
}
._bk_nami {
    display: none;
}
.txt_main img, .top_banner img {
    width: 100%;
}
.top_banner {
    position: relative;
    bottom: 0;
    right: 0;
    z-index: 2;
    text-align: center;
    margin: 20px auto 20px;
    width: 55%;
}
.txt_main {
    position: relative;
    bottom: 0;
    right: 0;
    z-index: 2;
    text-align: center;
    margin: -80px auto 0;
    width: 60%;
}
.main-container {
    overflow: hidden;
}
.kazari01 {
    position: absolute;
    z-index: 2;
    top: -8%;
    left: -7%;
    width: 22%;
}
.kazari02 {
    position: absolute;
    z-index: 2;
    bottom: -8.8%;
    right: -6.8%;
    width: 22%;
}
.tgl {
    font-size: 1.435rem;
    display: block;
    margin-bottom: 0.5rem;
    padding: 1.4rem 0;
    color: #fff;
    background: #e73f3f;
    cursor: pointer;
    position: relative;
    max-width: 940px;
    width: 90%;
    margin: auto;
    text-align: center;
    border-bottom: 4px solid #b21b1b;
    border-right: 4px solid #b21b1b;
    margin-bottom: 50px;
}
    #stylebook ._l {
	    max-width: 645px;
	    width: 100%;
	    position: relative;
	    top: 0;
	    left: 0;
	}
	
#stylebook ._r {
    max-width: 630px;
    width: 100%;
    text-align: center;
    float: none;
    position: relative;
    margin: 0;
}
#stylebook .i01 {
    position: absolute;
    top: -1%;
    right: -3%;
    width: 22%;
}
#stylebook .i02 {
    position: absolute;
    bottom: -3.4%;
    left: -5.7%;
    width: 23%;
}
.main .o_gallery #hairstyle.content {
	padding-top: 0;
}
.main .o_gallery .content {
    padding-top: 52px;
}
#hairstyle .hairstyle_li {
    margin: 40px auto 180px;
}
#step .box .area .unit .unit_inner {
    width: 48%;
    margin: 0rem;
}
#step .box .area .unit {
    padding: 0 0rem;
    margin-bottom: 1rem;
    padding-bottom: 30px;
}
#step .box h3 {
     margin-bottom: 1rem;
}
#reason .bg {
	padding: 2vh 0 0;
    background: #ebe9ea url(../images/up/bg_reason.jpg) left/cover no-repeat;
}
.main #stylebook.content {
    padding: 40px 0 10px;
}
.main-visual {
    margin-top: 71px;
}
.main-visual .pc-area {
        display: none;
    }
.main-visual .sp-area {
        display: block;
    }
    
.main #campaign.content h2 {
    margin-right: -3%;
    width: 90%;
}   	
}


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

#osusume .center {
    max-width: 500px;
    width: 97%;
}
	.kazari01,
	.kazari02 {
    	display: none;
	}
	.scroll {
	    overflow: auto;
	    white-space: nowrap;
	    margin-bottom: 15px;
	}
	.scroll::-webkit-scrollbar {
	        height: 5px;
	}
	.scroll::-webkit-scrollbar-track {
	    background: #F1F1F1;
	}
	.scroll::-webkit-scrollbar-thumb {
	    background: #BCBCBC;
	}
	
	#campaign .content_wrap .inner {
	    padding: 0 46px 20px 46px;
	    position: relative;
	}
	
	#campaign .list_c3 li {
	    float: left;
	    width: 32.4%;
	    margin-top: 1.1%;
	    margin-left: 1.1%;
	    max-width: 281px;
	}
	.tgl {
	    font-size: 1.435rem;
	    display: block;
	    margin-bottom: 0.5rem;
	    padding: 1.4rem 0;
	    color: #fff;
	    background: #e73f3f;
	    cursor: pointer;
	    position: relative;
	    max-width: 940px;
	    width: 90%;
	    margin: auto;
	    text-align: center;
	    border-bottom: 4px solid #b21b1b;
	    border-right: 4px solid #b21b1b;
	    margin-bottom: 50px;
	}
	
	#data_plan .ph {
		max-width: 324px;
		margin: auto;
	}
	
	#data_plan ._plan ._in {
	    margin: 0 18px;
	    padding: 22px 20px 0px;
	    background: #fff;
	}
	#odekake_plan ._plan ._in ._txt._2c span {
	    width: 42%;
	    max-width: 277px;
	    display: inline-block;
	}
	
	.main .content {
	    margin-bottom: 4rem;
	}
	#hairstyle .inner li {
	    width: 22.2%;
	    margin: 1%;
	    display: inline-block;
	}
	
	#photo .op_set_li li {
	    width: 16%;
	    display: inline-block;
	    margin: 4.2%;
	}
	
    /* ======================
       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: 71px;
    }
    .main-visual .slider li::before {
        background: url(../images/txt_main.png) left center/60% no-repeat;
        left: 45%;
    }
    .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;
		padding-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-image: none;
        padding: 5vh 0 0;
    }
    #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: 2rem 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 0.5% 2rem;
    }
    
    
    #stylebook ._l {
	    max-width: 645px;
	    width: 100%;
	    position: relative;
	    top: 0;
	    left: 0;
	}
	
	#stylebook ._r {
	    max-width: 593px;
	    width: 100%;
	    text-align: center;
	    float: none;
	    position: relative;
	}
	
	#odekake_plan ._plan ._in ._title._2c span {
	    width: 58%;
	    max-width: 447px;
	    display: inline-block;
	}
	#odekake_plan ._plan ._in ._title._2c span:nth-child(2) {
	    width: 40%;
	    max-width: 365px;
	    display: inline-block;
	    padding: 0px 0;
	    line-height: 2rem;
	    float: right;
	}
	._in ._txt._2c span {
	    width: 40%;
	    max-width: 277px;
	    display: inline-block;
	    margin-top: 14px;
	}
	#odekake_plan ._plan ._in ._txt._2c span:nth-child(2) {
	    width: 53%;
	    max-width: 483px;
	    display: inline-block;
	    float: right;
	    padding: 0px 0;
	    line-height: 2rem;
	}
	
	#photo_gallery .btn-more a {
	    width: auto;
	    margin: 0 auto;
	    color: #99886a;
	    border: solid 4px #99886a;
	    font-size: 1.2rem;
	    padding: 0.75rem 0.75rem;
	}
	
	#hairstyle .banner753 img {
	    width: 100%;
	}
	
	#step .box h3 {
	    margin-bottom: 1.5rem;
	}

	#step .box .area .unit .unit_inner {
	    width: 90%;
	    margin: 0 3rem 2rem;
	}
	#reason .box {
	    max-width: 878px;
	    float: left;
	    padding: 0 0 1rem;
	}
	.main #stylebook.content {
	    margin-bottom: 5rem;
	    padding-top: 0px;
	    margin-top: 0px;
	    padding: 40px 0 0px;
	}




    /* ======================
       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;
        z-index: 100;
    }
    .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: #e9d49b;
    }
    .sp-btn-menu li:nth-child(2) a {
        background: #b2d09d;
    }
    .sp-btn-menu li:nth-child(3) a {
        background: #e8b4cb;
    }
    .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;
    }
    

._bk_nami {
    display: none;
}    
    
 .top_banner {
    position: relative;
    bottom: 0;
    right: 0;
    z-index: 2;
    text-align: center;
    margin: 30px auto 20px;
}

.txt_main {
    position: relative;
    bottom: 0;
    right: 0;
    z-index: 2;
    text-align: center;
    margin: -90px auto 0;
}
.txt_main h2 {
	display: inline-block;
	margin: auto;
}

.btn-more._official {
    margin: 0px auto 130px;
    width: 90%;
}

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

.photo_goods {
    padding: 20px 20px 15px;
    border: 10px solid #fbe1dc;
    width: calc(100% - 60px);
    max-width: 1080px;
    margin: 40px auto 0;
}
.photo_goods ul li {
    width: calc( 20% - 14px );
    margin: 14px 0;
    margin-left: 17px;
}
 
}


@media screen and (max-width: 640px) {
    ._pc-area {
        display: none;
    }
    ._sp-area {
        display: block;
    }
#campaign .content_wrap .inner {
    padding: 40px 26px 20px 26px;
    position: relative;
}
#campaign ._content_wrap img {
	vertical-align: text-bottom;
}
#campaign ._content_wrap img._b {
	vertical-align: text-top;
}
#step .box .area .unit .unit_inner {
    width: 96%;
    margin: 0 1rem 2rem;
}

.main-visual {
    margin-bottom: 0px;
}
.sp_bottom {
	position: relative;
	margin-top: -10px;
}
.sp_bottom img {
	width: 100%;
}
#campaign .list_c2 li {
    float: left;
    width: 100%;
    max-width: 426px;
    margin-top: 1.1%;
    margin-left: 0;
}
#campaign .list_c3 li {
    float: left;
    width: 49%;
    max-width: 426px;
    margin-top: 1.1%;
    margin-left: 1.5%;
}
#campaign .list_c3 li {
    float: left;
    width: 49.2%;
    max-width: 426px;
    margin-top: 1.5%;
    margin-left: 1.5%;
}
#campaign .list_c2 li {
    float: left;
    width: 100%;
    max-width: 426px;
    margin-top: 1.5%;
    margin-left: 0;
}
.osusume_set {
    margin-top: 30px;
}

.main .content h3 {
    font-size: 1.411rem;
    max-width: 627px;
    width: 94%;
    margin: auto;
    margin-bottom: 10px;
}
.osusume_set_li {
    max-width: 1308px;
    display: block;
    margin: 20px auto 20px;
    text-align: center;
}
.osusume_set_li li {
    width: 100%;
    max-width: 409px;
    display: inline-block;
    margin: 2% auto;
}
#photo ._plan {
    background: none;
    width: 100%;
    padding: 14px 0;
}
#photo ._plan ._in {
    margin: 0 14px;
    padding: 22px 14px 9px;
    background: #fff;
}
#photo ._plan ._in ._title._2c span {
    width: 100%;
    max-width: 399px;
    display: block;
}
#photo ._plan ._in ._title._2c span:nth-child(2) {
    width: 100%;
    max-width: 460px;
    display: inline-block;
    padding: 10px 0;
    line-height: 2rem;
    float: none;
}
#photo .op_set_li li {
    width: 42%;
    display: inline-block;
    margin: 3.1%;
}
#standard ._plan {
    background: none;
    width: 100%;
    padding: 14px 0;
}
#standard ._plan ._in {
    margin: 0 14px;
    padding: 22px 14px 9px;
    background: #fff;
}
#standard ._plan ._in ._title._2c span {
    width: 100%;
    max-width: 399px;
    display: inline-block;
}

#standard ._plan ._in ._title._2c span:nth-child(2) {
    width: 100%;
    max-width: 460px;
    display: inline-block;
    padding: 10px 0;
    line-height: 2rem;
    float: none;
}

.op_set {
    margin-top: 40px;
}
.op_set_li {
    max-width: 1312px;
    display: block;
    margin: 40px auto;
}
.op_set_li li {
    width: 100%;
    display: inline-block;
    margin: 2% auto;
    text-align: center;
}

#data_plan ._plan ._in {
    margin: 0 14px;
    padding: 0px 14px 0px;
    background: #fff;
}
#data_plan ._plan {
    background: none;
    width: 100%;
    padding: 14px 0;
}
#data_plan ._plan ._in ._title._2c span {
    width: 100%;
    max-width: 399px;
    display: inline-block;
}
#data_plan ._plan ._in ._title._2c span:nth-child(2) {
    width: 100%;
    max-width: 460px;
    display: inline-block;
    padding: 10px 0;
    line-height: 2rem;
    float: none;
}
#photo .inner {
     background: url(../images/up/bk_hyoushi_op_sp.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}
.main #stylebook.content .box {
    padding: 60px 20px 60px 20px;
    background-image: url(../images/up/img_data_bk_sp.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #f9dfde;
}
#stylebook .btn-more {
    width: 90%;
}
#odekake_plan ._plan ._in {
    margin: 0 14px;
    padding: 32px 14px 32px;
    background: #fff;
}
#odekake_plan ._plan {
    background: none;
    width: 100%;
    padding: 14px 0;
}
#odekake_plan ._plan ._in ._title._2c span {
    width: 100%;
    max-width: 447px;
    display: inline-block;
}
#odekake_plan ._plan ._in ._title._2c span:nth-child(2) {
    width: 100%;
    max-width: 365px;
    display: inline-block;
    padding: 20px 0 0;
    line-height: 2rem;
    float: none;
}
#odekake_plan ._plan ._in ._txt._2c span {
    width: 100%;
    max-width: 230px;
    display: block;
    margin: 20px auto 0;
}
#odekake_plan ._plan ._in ._txt._2c span:nth-child(2) {
    width: 100%;
    max-width: 483px;
    display: inline-block;
    float: right;
    padding: 0;
    line-height: 2rem;
}
#photo_gallery .img_area {
    text-align: center;
    display: block;
    justify-content: center;
}
#photo_gallery .img_area p:nth-child(1) {
    margin-right: 0;
}
.main .content h2._title03 {
    font-size: 1.25rem;
}
.main .content h2._title03 ._l {
    position: relative;
    left: 0;
    top: 0%;
    margin-bottom: 10px;
}
.main .content h2._title03 ._r {
    display: none;
}
#hairstyle p {
	font-size: 1rem;
	text-align: left;
	width: 94%;
	margin: auto;
}
#hairstyle .inner li {
    width: 30.2%;
    margin: 1%;
    display: inline-block;
}
#shop .box {
    flex-direction: column;
}
#shop .box .unit {
    width: 90%;
	margin: 0rem auto 2rem;
}

.main #campaign.content h2 {
    top: -20px;
    margin-bottom: 0px;
}
#campaign ._banner {
    margin-bottom: 20px;
}
.main .content h3 {
    font-size: 1.176rem;
    width: 100%;
}
.main #campaign.content {
    margin-bottom: 2rem;
    padding: 30px 0 30px;
    margin-top: 0;
}
.main .content h2._title01 ._t {
    position: relative;
    z-index: 1;
    width: 52%;
    margin: auto;
}
.main .content h2._title01 ._t img {
	width: 100%;
}
.osusume_set {
    margin-top: 10px;
}
.tgl {
    font-size: 1rem;
    margin-bottom: 30px;
}
.tgl::after {
    font-size: 1.4rem;
}
.main #osusume.content {
    margin-bottom: 2rem;
}
#photo .op_set {
    max-width: 1120px;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 20px;
}
#photo .op_set_li {
    margin: 0px auto;
}
.main .content ._title04 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.15rem;
    font-weight: normal;
    text-align: center;
    padding: 10px 0;
    margin: 20px auto;
    border: 3px solid #611f0b;
    width: 90%;
    max-width: 762px;
}

.main .content {
    margin-bottom: 2rem;
}
.main #stylebook.content {
    margin-bottom: 2rem;
    padding-top: 0px;
    margin-top: 0px;
    padding: 0;
}
.main #stylebook.content p {
    font-size: 0.9rem;
    margin: 14px auto;
}
.main #stylebook.content h3 {
    margin-bottom: 1rem;
}
#odekake_plan ._plan ._in ._txt._2c span:nth-child(2) {
    line-height: 1.8rem;
    font-size: 1rem;
}
#odekake_plan ._plan ._in ._title._2c span:nth-child(2) {
    line-height: 1.8rem;
    font-size: 1rem;
}
#photo_gallery .btn-more a {
    font-size: 1rem;
}
#hairstyle .banner753 {
    margin: 0px auto 50px;
    text-align: center;
}
#hairstyle ._title03 img,
#reason h2 img,
.banner753 img {
    width: 100%;
}
#reason .box .area .unit h3 {
    min-height: 4rem;
    width: auto;
}
#hairstyle {
	overflow: hidden;
}
.txt_main img,
.top_banner img {
	width: 100%;
}
.top_banner {
	width: 70%;
}
.txt_main {
    margin: -51px auto 0;
    width: 88%;
}

#stylebook .i01 {
    position: absolute;
    top: -1%;
    right: -4%;
    width: 30%;
}
#stylebook .i02 {
    position: absolute;
    bottom: -3.4%;
    left: -7%;
    width: 30%;
}
.top_banner {
    margin: 14px auto 20px;
}
.main .o_gallery .content {
    margin-bottom: 0;
    padding-top: 30px;
    margin-top: 0;
}
.main .o_gallery #hairstyle.content {
	margin-top: 0;
	padding-top: 0;
}
.main .content h2._title03 ._l {
    width: 60%;
    text-align: center;
    margin: 0 auto 20px;
}
#hairstyle .hairstyle_li {
    text-align: left;
    margin: 40px auto 120px;
    display: inline-block;
}
.banner753 {
    margin: -74px auto 40px;
    width: 86%;
}
.main .content h2._title01 ._t {
    position: relative;
    z-index: 1;
    width: 40%;
    margin: auto;
}
#movie .inner,
#odekake_plan .inner,
#data_plan .inner,
#standard .inner,
#photo .inner {
	width: 100%;
}
.main .content h3 {
    width: 94%;
    text-align: center;
}
.main-container {
    overflow: hidden;
}
.photo_goods ul li {
    width: calc( 50% - 14px );
    margin: 14px 0;
    margin-left: 28px;
}
.photo_goods ul li:nth-child(2n+1) {
    margin-left: 0;
}
.photo_goods {
    padding: 30px 30px 15px;
    border: 10px solid #fbe1dc;
    width: calc(100% - 80px);
    max-width: 1080px;
    margin: 40px auto 0;
}
.op_set_li {
    max-width: 1312px;
    display: block;
    margin: 40px auto 0;
}
.photo_goods h3 {
    width: 90% !important;
    max-width: 84% !important;
    margin: auto !important;
    margin-bottom: 10px !important;
}

.main #campaign.content h3 {
	width: 100%;
}
.main #campaign.content h2 {
    top: 0;
    margin-bottom: 5px;
    width: 100%;
    margin-right: 0;
}
#campaign .content_wrap .inner {
    padding: 10px 26px 20px 26px;
    position: relative;
}
}



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


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


    /* ======================
       Main
    ====================== */
    .main-visual .slider li::before {
        background: url(../images/txt_main.png) left center/50% no-repeat;
        left: 56%;
    }
    .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;
        width: auto;
    }

	#step .box .area .unit .unit_inner:nth-of-type(2) {
		margin-bottom: 0;
	}

    #step .box .area .unit {
        padding: 0 0.5rem 2rem;
        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: 35px;
		height: 33px;
        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
    ====================== */

}

/* ==========================================================================
   Media Queries     320px以下用（スマートフォン用）の記述
========================================================================== */
@media screen and (max-width: 320px) {
    .main-visual .slider li::before {
        background: url(../images/txt_main.png) left center/40% no-repeat;
        left: 65%;
    }
    #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;
}