@charset "UTF-8";
/*-----------------------------------------
 FLOW（吹き出し付き）
*/
#flow_wrap .flow {
  position: relative;
  text-align: center;
  padding: 20px; }
  #flow_wrap .flow:last-child:after {
    display: none; }
  #flow_wrap .flow:after {
    content: "";
    display: block;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    width: 0;
    height: 0;
    border: 10px 20px;
    position: absolute;
    border-style: solid;
    border-width: 20px 15px 0;
    border-color: transparent;
    border-top-color: #fff; }
  #flow_wrap .flow .title {
    margin-bottom: 15px;
    color: #f485b2;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-size: 22px;
    font-size: 2.2rem; }
  #flow_wrap .flow .image {
    margin: 0 -10px 15px; }
  #flow_wrap .flow .notice {
    margin-top: 10px;
    font-size: 85%; }
  #flow_wrap .flow:nth-child(6n+1) {
    background-color: #f0c6d6;
    color: #fff; }
    #flow_wrap .flow:nth-child(6n+1):after {
      border-top-color: #f0c6d6; }
    #flow_wrap .flow:nth-child(6n+1) .title {
      color: #595959; }
  #flow_wrap .flow:nth-child(6n+3) {
    background-color: #d6c9f2; }
    #flow_wrap .flow:nth-child(6n+3):after {
      border-top-color: #d6c9f2; }
    #flow_wrap .flow:nth-child(6n+3) .title {
      color: #fff; }
  #flow_wrap .flow:nth-child(6n+5) {
    background-color: #c8c8c8; }
    #flow_wrap .flow:nth-child(6n+5):after {
      border-top-color: #c8c8c8; }
    #flow_wrap .flow:nth-child(6n+5) .title {
      color: #f485b2; }
#flow_wrap .flow + .flow {
  padding-top: 40px; }
#flow_wrap .flw_01 {
  z-index: 40; }
#flow_wrap .flw_02 {
  z-index: 39; }
#flow_wrap .flw_03 {
  z-index: 38; }
#flow_wrap .flw_04 {
  z-index: 37; }
#flow_wrap .flw_05 {
  z-index: 36; }
#flow_wrap .flw_06 {
  z-index: 35; }
#flow_wrap .flw_07 {
  z-index: 34; }
#flow_wrap .flw_08 {
  z-index: 33; }
#flow_wrap .flw_09 {
  z-index: 32; }

@media (max-width: 640px) {
  #flow_wrap .flow {
    padding: 15px 10px; }
    #flow_wrap .flow .title {
      margin-bottom: 15px;
      font-size: 18px;
      font-size: 1.8rem; }
    #flow_wrap .flow .image {
      margin: 0 -10px 15px; }
    #flow_wrap .flow .text {
      text-align: left; }
  #flow_wrap .flow + .flow {
    padding-top: 35px; } }
/*-----------------------------------------
 FLOW（数字付き）
*/
#number_flow_wrap .flow {
  overflow: hidden;
  text-align: center; }
#number_flow_wrap .inner {
  position: relative;
  padding: 20px 0 0; }
#number_flow_wrap .number {
  position: absolute;
  top: -0.15em;
  line-height: 1;
  font-family: "Times New Roman", Times, serif;
  font-size: 450px;
  font-size: 45rem;
  font-weight: bold;
  font-style: italic;
  letter-spacing: -0.1em;
  z-index: 1; }
#number_flow_wrap .title {
  position: relative;
  z-index: 2;
  margin-bottom: 15px;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold; }

#number_flow_wrap .text {
  position: relative;
  z-index: 2;
  margin-bottom: 20px; }

#number_flow_wrap .image {
  position: relative;
  z-index: 2;
  max-height: 100%;
  width: auto; }

#number_flow_wrap .flow:nth-child(odd) .number {
  left: 0; }

#number_flow_wrap .flow:nth-child(even) .number {
  right: 0; }

#number_flow_wrap .flow:nth-child(4n+1) {
  background-color: #f0c6d6; }

#number_flow_wrap .flow:nth-child(4n+2) {
  background-color: #fff; }

#number_flow_wrap .flow:nth-child(4n+3) {
  background-color: #c8c8c8; }

#number_flow_wrap .flow:nth-child(4n) {
  background-color: #d6c9f2; }

#number_flow_wrap .flow:nth-child(4n+1) .text {
  color: #fff; }

@media (max-width: 640px) {
  #number_flow_wrap .inner {
    padding: 32px 10px 0; }

  #number_flow_wrap .number {
    font-size: 250px;
    font-size: 25rem;
    letter-spacing: 0; }

  #number_flow_wrap .title {
    font-size: 18px;
    font-size: 1.8rem; } }
/*-----------------------------------------
 TOP
*/
#page_top h2 {
  color: #535353;
  text-align: center;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  background-position: center 6px;
  font-size: 38px;
  padding: 42px 0 36px;
  line-height: 1.1em; }
  #page_top h2 img.charm {
    position: relative;
    top: -10px;
    margin-left: 10px; }
  #page_top h2 small {
    font-size: 28px;
    padding-left: 25px; }
#page_top .button_01 {
  width: auto;
  line-height: 1;
  font-size: 18px;
  font-size: 1.8rem;
  border-radius: 10px;
  position: relative; }
  #page_top .button_01 img {
    height: 32px;
    position: absolute;
    top: 12px;
    left: 16px; }
  #page_top .button_01 a, #page_top .button_01 small {
    padding: 20px 0;
    font-size: 20px;
    font-weight: bold; }
    #page_top .button_01 a.add-area, #page_top .button_01 small.add-area {
      padding: 24px 0 16px; }
  #page_top .button_01 small.area {
    font-size: 11px;
    display: block;
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: -0.025em;
    padding: 0;
    font-weight: 500;
    white-space: nowrap; }
#page_top .buttons > div + div {
  margin-top: 7px; }

@media (max-width: 640px) {
  #page_top h2 {
    font-size: 25px;
    padding: 25px 0 20px; }
    #page_top h2 img.charm {
      position: relative;
      top: -8px;
      margin-left: 8px;
      height: 20px; }
    #page_top h2 small {
      font-size: 20px;
      padding-left: 25px; }
  #page_top .button_01 a {
    font-size: 17px; }
  #page_top .button_01 img {
    height: 30px;
    top: 17px;
    left: 16px; }
  #page_top .button_01 small.area {
    font-size: 10px;
    top: 8px;
    display: block !important; } }
@media (max-width: 360px) {
  #page_top h2 {
    font-size: 22px;
    padding: 25px 0 20px; }
    #page_top h2 img.charm {
      position: relative;
      top: -8px;
      margin-left: 8px;
      height: 20px; }
    #page_top h2 small {
      font-size: 18px;
      padding-left: 25px; }
  #page_top .button_01 a {
    font-size: 16px; } }
/* mainvisual ----------------------------------------------*/
#page_top .sec_mainvisual {
  text-align: center;
  display: block;
  width: 100%;
  height: 850px;
  position: relative; }
  #page_top .sec_mainvisual .inner {
    position: relative; }
  #page_top .sec_mainvisual h1 img {
    width: auto;
    padding-top: 20px; }
  #page_top .sec_mainvisual h1 span {
    color: rgba(0, 0, 0, 0); }
  #page_top .sec_mainvisual .top-contnts-box {
    position: relative;
    display: table;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
    width: 100%;
    padding: 30px;
    border-radius: 10px;
    position: absolute;
    top: 400px;
    width: 920px; }
    #page_top .sec_mainvisual .top-contnts-box .box-left, #page_top .sec_mainvisual .top-contnts-box .box-right {
      display: table-cell; }
    #page_top .sec_mainvisual .top-contnts-box .box-left {
      vertical-align: top;
      float: left;
      height: 194px;
      margin: 15px 0 25px; }
      #page_top .sec_mainvisual .top-contnts-box .box-left li {
        display: inline-block;
        margin: 10px 10px 30px; }
    #page_top .sec_mainvisual .top-contnts-box .box-right {
      float: right;
      width: 320px; }
    #page_top .sec_mainvisual .top-contnts-box .balloon-present {
      position: relative;
      width: 368px;
      margin: 15px auto -5px; }
    #page_top .sec_mainvisual .top-contnts-box .txt_comment {
      text-align: center;
      margin: 20px auto 0;
      width: 558px; }
  @media (max-width: 360px) {
    #page_top .sec_mainvisual .top-contnts-box {
      position: static; } }
  @media (max-width: 320px) {
    #page_top .sec_mainvisual .top-contnts-box {
      position: absolute; } }
  #page_top .sec_mainvisual .buttons .campaign {
    position: absolute;
    top: -44px; }
  @media (max-width: 640px) {
    #page_top .sec_mainvisual .buttons .campaign {
      position: static; } }
  #page_top .sec_mainvisual .buttons .button_01 img, #page_top .sec_mainvisual .buttons .button_01.pointer img {
    height: 32px;
    margin-right: 20px;
    position: relative;
    top: -7px;
    left: auto; }
  #page_top .sec_mainvisual .buttons .button_01.pink, #page_top .sec_mainvisual .buttons .button_01.pointer.pink {
    background-color: #f485b2; }
  #page_top .sec_mainvisual .buttons .button_01.purple, #page_top .sec_mainvisual .buttons .button_01.pointer.purple {
    background-color: #b5a1e3; }
  #page_top .sec_mainvisual .buttons .button_01.green, #page_top .sec_mainvisual .buttons .button_01.pointer.green {
    background-color: #4ecd00; }
  #page_top .sec_mainvisual .buttons .button_01.online_interview, #page_top .sec_mainvisual .buttons .button_01.pointer.online_interview {
    background: none;
    height: 146px; }
    #page_top .sec_mainvisual .buttons .button_01.online_interview img, #page_top .sec_mainvisual .buttons .button_01.pointer.online_interview img {
      width: 100%;
      height: auto;
      top: 0; }
    #page_top .sec_mainvisual .buttons .button_01.online_interview a, #page_top .sec_mainvisual .buttons .button_01.pointer.online_interview a {
      padding: 0; }
  #page_top .sec_mainvisual .buttons .button_01 a, #page_top .sec_mainvisual .buttons .button_01.pointer a {
    padding: 20px 0 8px 16px;
    font-size: 20px;
    text-align: left;
    position: relative; }
    #page_top .sec_mainvisual .buttons .button_01 a small.area, #page_top .sec_mainvisual .buttons .button_01.pointer a small.area {
      font-size: 11px;
      display: block;
      position: absolute;
      top: 7px;
      padding: 0; }
  #page_top .sec_mainvisual .buttons .button_01.pink a, #page_top .sec_mainvisual .buttons .button_01.purple a, #page_top .sec_mainvisual .buttons .button_01.pointer.pink a, #page_top .sec_mainvisual .buttons .button_01.pointer.purple a {
    padding: 23px 0 5px 16px; }
  #page_top .sec_mainvisual .buttons .button_01.pink a small.area, #page_top .sec_mainvisual .buttons .button_01.pointer.pink a small.area {
    left: 20%; }
  #page_top .sec_mainvisual .buttons .button_01.purple a small.area, #page_top .sec_mainvisual .buttons .button_01.pointer.purple a small.area {
    left: 30%; }

@media (max-width: 640px) {
  #page_top .sec_mainvisual {
    height: 1080px; }
    #page_top .sec_mainvisual h1 img {
      width: 90%;
      margin: 0 auto;
      padding-top: 15px; }
    #page_top .sec_mainvisual .top-contnts-box {
      display: block;
      width: 88%;
      margin: 0 6%;
      padding: 10px 20px 20px;
      top: 200px; }
      #page_top .sec_mainvisual .top-contnts-box .box-left, #page_top .sec_mainvisual .top-contnts-box .box-right {
        display: block; }
      #page_top .sec_mainvisual .top-contnts-box .box-left {
        float: none;
        overflow: hidden;
        height: auto;
        margin: 10px 0 20px; }
        #page_top .sec_mainvisual .top-contnts-box .box-left ul {
          display: inline-block;
          float: left; }
        #page_top .sec_mainvisual .top-contnts-box .box-left li {
          display: block;
          margin: 10px 0 -10px 0;
          text-align: left; }
          #page_top .sec_mainvisual .top-contnts-box .box-left li img {
            height: 35px; }
          #page_top .sec_mainvisual .top-contnts-box .box-left li:last-child {
            margin: 10px 0 0 0; }
        #page_top .sec_mainvisual .top-contnts-box .box-left img.no1 {
          width: 130px;
          display: inline-block;
          float: right;
          margin-top: 10px; }
      #page_top .sec_mainvisual .top-contnts-box .box-right {
        height: auto;
        float: none;
        width: 100%;
        display: block;
        margin: 15px 0 10px; }
      #page_top .sec_mainvisual .top-contnts-box .balloon-present {
        position: relative;
        width: 86%;
        margin: 20px 7% -5px;
        top: auto;
        right: auto; }
      #page_top .sec_mainvisual .top-contnts-box .txt_comment {
        margin: 20px auto 0;
        width: 82%; }
    #page_top .sec_mainvisual .buttons {
      padding: 0; }
      #page_top .sec_mainvisual .buttons .button_01, #page_top .sec_mainvisual .buttons .button_01.pointer {
        height: 60px; }
        #page_top .sec_mainvisual .buttons .button_01 img, #page_top .sec_mainvisual .buttons .button_01.pointer img {
          height: 30px;
          margin-right: 18px;
          top: -5px;
          display: inline-block;
          margin-bottom: 10px; }
        #page_top .sec_mainvisual .buttons .button_01 a small.area, #page_top .sec_mainvisual .buttons .button_01.pointer a small.area {
          font-size: 10px;
          top: 6px;
          left: 50% !important;
          transform: translateX(-50%); }
        #page_top .sec_mainvisual .buttons .button_01.pink a, #page_top .sec_mainvisual .buttons .button_01.purple a, #page_top .sec_mainvisual .buttons .button_01.pointer.pink a, #page_top .sec_mainvisual .buttons .button_01.pointer.purple a {
          padding: 26px 0 14px 0;
          text-align: center; }
        #page_top .sec_mainvisual .buttons .button_01.gold, #page_top .sec_mainvisual .buttons .button_01.pointer.gold {
          background-color: #d1b772;
          position: relative; }
          #page_top .sec_mainvisual .buttons .button_01.gold a, #page_top .sec_mainvisual .buttons .button_01.pointer.gold a {
            text-align: center;
            letter-spacing: 0.05em;
            font-size: 22px; }
            #page_top .sec_mainvisual .buttons .button_01.gold a small, #page_top .sec_mainvisual .buttons .button_01.pointer.gold a small {
              font-size: 10px;
              display: block;
              position: absolute;
              left: 22.5%;
              top: -21%;
              letter-spacing: 0; }
        #page_top .sec_mainvisual .buttons .button_01.online_interview, #page_top .sec_mainvisual .buttons .button_01.pointer.online_interview {
          height: auto; }
          #page_top .sec_mainvisual .buttons .button_01.online_interview img, #page_top .sec_mainvisual .buttons .button_01.pointer.online_interview img {
            width: 100%;
            height: auto;
            display: block;
            margin: 0; }
          #page_top .sec_mainvisual .buttons .button_01.online_interview a, #page_top .sec_mainvisual .buttons .button_01.pointer.online_interview a {
            padding: 0; }
        #page_top .sec_mainvisual .buttons .button_01 a, #page_top .sec_mainvisual .buttons .button_01.pointer a {
          padding: 18px 0 18px 0;
          margin-bottom: 10px;
          line-height: 1.1em;
          font-size: 18px;
          text-align: center; }
        #page_top .sec_mainvisual .buttons .button_01 .top-btn-icon--add, #page_top .sec_mainvisual .buttons .button_01.pointer .top-btn-icon--add {
          position: absolute;
          top: 17px;
          left: 16px; } }
@media (max-width: 360px) {
  #page_top .sec_mainvisual {
    height: 970px; }
    #page_top .sec_mainvisual .top-contnts-box {
      display: block;
      width: 92%;
      margin: 0 4%;
      padding: 10px 15px 20px;
      top: 210px; }
      #page_top .sec_mainvisual .top-contnts-box .box-left li img {
        height: 30px; }
      #page_top .sec_mainvisual .top-contnts-box .box-left img.no1 {
        width: 120px;
        display: inline-block;
        float: right;
        margin-top: 10px; }
      #page_top .sec_mainvisual .top-contnts-box .box-right {
        float: none;
        width: 100%;
        display: block; }
    #page_top .sec_mainvisual .buttons {
      padding: 0; }
      #page_top .sec_mainvisual .buttons .button_01, #page_top .sec_mainvisual .buttons .button_01.pointer {
        height: auto; }
        #page_top .sec_mainvisual .buttons .button_01 img, #page_top .sec_mainvisual .buttons .button_01.pointer img {
          height: 30px;
          margin-right: 18px;
          top: -8px;
          margin-bottom: 0; }
        #page_top .sec_mainvisual .buttons .button_01.gold a, #page_top .sec_mainvisual .buttons .button_01.pointer.gold a {
          letter-spacing: 0.05em;
          font-size: 18px; }
          #page_top .sec_mainvisual .buttons .button_01.gold a small, #page_top .sec_mainvisual .buttons .button_01.pointer.gold a small {
            font-size: 10px;
            top: -23%;
            left: 24%; } }
/* feature ----------------------------------------------*/
#page_top .sec_feature {
  background: #fff; }
  #page_top .sec_feature ul.feature {
    overflow: hidden; }
    #page_top .sec_feature ul.feature li {
      float: left;
      position: relative;
      width: 400px;
      margin-bottom: 20px;
      text-align: left; }
      #page_top .sec_feature ul.feature li:nth-child(odd) {
        margin-right: 20px; }
      #page_top .sec_feature ul.feature li:nth-child(1) {
        padding: 45px 0 0 80px;
        background: url(../img/feature-img01.jpg) #eeeeed no-repeat;
        background-position: right top;
        height: 135px; }
      #page_top .sec_feature ul.feature li:nth-child(2) {
        padding: 45px 0 0 80px;
        background: url(../img/feature-img02.jpg) #eeeeed no-repeat;
        background-position: right top;
        height: 135px; }
      #page_top .sec_feature ul.feature li:nth-child(3) {
        padding: 30px 0 0 80px;
        background: url(../img/feature-img03.jpg) #eaeae8 no-repeat;
        background-position: right top;
        height: 150px; }
      #page_top .sec_feature ul.feature li:nth-child(4) {
        padding: 30px 0 0 80px;
        background: url(../img/feature-img04.jpg) #eaeae8 no-repeat;
        background-position: right top;
        height: 150px; }
      #page_top .sec_feature ul.feature li:nth-child(5) {
        padding: 30px 0 0 80px;
        background: url("../img/feature-img05.jpg") #eaeae8 no-repeat;
        background-position: right top;
        height: 150px; }
      #page_top .sec_feature ul.feature li img.charm-number {
        position: absolute;
        top: 0;
        left: 0; }
      #page_top .sec_feature ul.feature li p {
        font-size: 30px;
        line-height: 1.15em;
        margin-bottom: 6px; }
      #page_top .sec_feature ul.feature li p.exposition {
        font-size: 16px;
        line-height: 1.4em; }
      #page_top .sec_feature ul.feature li .top__tokutyo-flex {
        display: flex;
        align-items: end;
        justify-content: space-between; }
        #page_top .sec_feature ul.feature li .top__tokutyo-flex .button_01 {
          height: 56px;
          margin: 0;
          line-height: 1.2;
          width: 255px;
          margin-right: 32px; }
          #page_top .sec_feature ul.feature li .top__tokutyo-flex .button_01 a {
            padding: 8px 0 !important;
            font-size: 17px; }

@media (max-width: 640px) {
  #page_top .sec_feature ul.feature {
    overflow: hidden; }
    #page_top .sec_feature ul.feature li {
      float: none;
      display: block;
      width: 100%;
      margin-bottom: 0;
      text-align: center;
      height: 370px !important;
      padding: 28px 0 0 0 !important; }
      #page_top .sec_feature ul.feature li:nth-child(odd) {
        margin-right: 0px; }
      #page_top .sec_feature ul.feature li:nth-child(1) {
        background: url(../img/feature-img01-sp.jpg) #eeeeed no-repeat;
        background-size: 100%;
        background-position: center bottom -16px; }
      #page_top .sec_feature ul.feature li:nth-child(2) {
        background: url(../img/feature-img02-sp.jpg) #eeeeed no-repeat;
        background-size: 100%;
        background-position: center bottom -16px; }
      #page_top .sec_feature ul.feature li:nth-child(3) {
        background: url(../img/feature-img03-sp.jpg) #eaeae8 no-repeat;
        background-size: 100%;
        background-position: center bottom -16px; }
      #page_top .sec_feature ul.feature li:nth-child(4) {
        background: url(../img/feature-img04-sp.jpg) #eaeae8 no-repeat;
        background-size: 100%;
        background-position: center bottom -16px; }
      #page_top .sec_feature ul.feature li:nth-child(5) {
        background: url("../img/feature-img05-sp.jpg") #eaeae8 no-repeat;
        background-size: 100%;
        background-position: center bottom -16px; }
      #page_top .sec_feature ul.feature li img.charm-number {
        width: 110px; }
      #page_top .sec_feature ul.feature li p {
        font-size: 22px;
        line-height: 1.1em;
        margin-bottom: 8px; }
      #page_top .sec_feature ul.feature li p.exposition {
        font-size: 15px;
        line-height: 1.5em;
        -webkit-text-shadow: 1px 1px 0px #eeeeed;
        text-shadow: 1px 1px 0px #eeeeed; }
      #page_top .sec_feature ul.feature li .top__tokutyo-flex {
        padding-bottom: 24px;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        height: 100%;
        margin: 0 6% 0; }
        #page_top .sec_feature ul.feature li .top__tokutyo-flex .button_01 {
          height: 72px;
          max-width: 375px;
          width: 100%;
          margin-right: 0; }
          #page_top .sec_feature ul.feature li .top__tokutyo-flex .button_01 a {
            padding: 16px 0 !important; } }
@media (max-width: 360px) {
  #page_top .sec_feature ul.feature li {
    height: 320px !important; }
    #page_top .sec_feature ul.feature li img.charm-number {
      width: 80px; }
    #page_top .sec_feature ul.feature li p {
      font-size: 20px;
      line-height: 1.1em;
      margin-bottom: 16px; } }
/* about ----------------------------------------------*/
#page_top .sec_about {
  background-color: #fff;
  padding-bottom: 75px;
  margin: 0 auto; }
  #page_top .sec_about .category-block {
    display: table; }
    #page_top .sec_about .category-block .category {
      display: table-cell;
      position: relative;
      width: 480px;
      height: 730px; }
      #page_top .sec_about .category-block .category:nth-child(1) {
        padding-right: 30px; }
      #page_top .sec_about .category-block .category img {
        width: 100%;
        height: auto; }
      #page_top .sec_about .category-block .category .txt-box {
        padding: 25px 20px; }
        #page_top .sec_about .category-block .category .txt-box p {
          line-height: 1.8em;
          margin-bottom: 15px;
          text-align: justify; }
          #page_top .sec_about .category-block .category .txt-box p.catch {
            margin-bottom: 20px;
            font-size: 20px;
            color: #f15194;
            line-height: 1.5em;
            font-weight: bold;
            height: 60px; }
  #page_top .sec_about .img {
    margin-bottom: 15px; }
  #page_top .sec_about .img + p {
    margin-bottom: 15px; }
  #page_top .sec_about .button_01 {
    position: absolute;
    bottom: 0;
    width: 440px;
    margin: auto;
    left: 20px; }

@media (max-width: 640px) {
  #page_top .sec_about {
    padding-bottom: 10px;
    padding-top: 10px; }
    #page_top .sec_about .category-block {
      display: block; }
      #page_top .sec_about .category-block .category {
        display: block;
        width: 100%;
        height: auto; }
        #page_top .sec_about .category-block .category:nth-child(1) {
          padding-right: 0; }
        #page_top .sec_about .category-block .category .txt-box {
          padding: 4% 6% 0; }
          #page_top .sec_about .category-block .category .txt-box p {
            line-height: 1.75em; }
            #page_top .sec_about .category-block .category .txt-box p.catch {
              margin-bottom: 25px;
              font-size: 17px;
              line-height: 1.5em;
              font-weight: bold;
              height: auto;
              text-align: left;
              margin-bottom: 10px; }
    #page_top .sec_about .button_01 {
      position: relative;
      bottom: 0;
      width: 88%;
      margin: 0 auto 30px;
      left: 0; } }
@media (max-width: 360px) {
  #page_top .sec_about {
    padding-bottom: 10px;
    padding-top: 5px; }
    #page_top .sec_about .category-block .category .txt-box {
      padding: 5% 4% 0; }
      #page_top .sec_about .category-block .category .txt-box p {
        line-height: 1.75em;
        margin-bottom: 20px;
        font-size: 15px; }
        #page_top .sec_about .category-block .category .txt-box p.catch {
          font-size: 17px;
          line-height: 1.4em;
          margin-bottom: 15px; }
    #page_top .sec_about .button_01 {
      width: 92%; } }
/* special bnr ----------------------------------------------*/
#page_top .bnr_special p {
  padding: 45px 0 40px; }
#page_top .bnr_special a {
  width: 800px;
  margin: 0 auto;
  display: block;
  text-align: center; }
  #page_top .bnr_special a img {
    width: 100%; }

@media (max-width: 640px) {
  #page_top .bnr_special p {
    padding: 30px 0; }
  #page_top .bnr_special a {
    width: 90%; } }
#page_top .sec_flow {
  padding-bottom: 30px;
  background-color: #fff6fa; }
  #page_top .sec_flow .head-box {
    display: block;
    padding: 0 90px;
    margin-bottom: 40px;
    position: relative;
    overflow: hidden; }
    #page_top .sec_flow .head-box img.office {
      width: 100%;
      margin-bottom: 15px; }
    #page_top .sec_flow .head-box p.intro {
      font-size: 18px;
      text-align: left;
      line-height: 2em;
      margin-bottom: 40px;
      text-align: justify; }
      #page_top .sec_flow .head-box p.intro a {
        color: #f485b2;
        display: inline-block;
        margin-left: 20px;
        border-bottom: 1px solid #f485b2;
        padding-left: 2px; }
        #page_top .sec_flow .head-box p.intro a:hover {
          text-decoration: none; }
    #page_top .sec_flow .head-box .contact_box {
      width: 100%; }
    #page_top .sec_flow .head-box .button_01 {
      margin-top: -8px;
      width: 375px;
      float: right; }
    @media (max-width: 640px) {
      #page_top .sec_flow .head-box .button_01 {
        width: 100% !important;
        float: left !important; } }
#page_top ul.step {
  text-align: center;
  overflow: hidden; }
  #page_top ul.step li {
    margin-right: 5px;
    display: inline-block;
    float: left;
    position: relative; }
    #page_top ul.step li span {
      font-size: 30px;
      position: absolute;
      color: #FFF;
      display: block;
      top: 11.5%;
      width: 100%;
      line-height: 1.2em; }
    #page_top ul.step li:last-child {
      margin-right: 0; }
      #page_top ul.step li:last-child span {
        top: 9%; }
#page_top .salon {
  margin: 40px auto 0;
  width: 100%;
  background-color: #fff;
  font-size: 14px; }
  #page_top .salon h3 {
    background-color: #c4a145;
    padding: 10px 0 12px;
    text-align: center;
    color: #FFF;
    font-size: 28px;
    font-weight: bold; }
  #page_top .salon .body {
    padding: 30px 80px;
    border: 2px solid #c4a145;
    border-top: 0;
    overflow: hidden; }
  #page_top .salon .box_01 {
    width: 100%; }
    #page_top .salon .box_01 h4 {
      margin-bottom: 5px;
      font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
      font-size: 22px;
      color: #535353;
      line-height: 1.7em; }
      #page_top .salon .box_01 h4 img {
        width: 175px;
        margin: 0 30px 0 15px;
        float: left; }
  #page_top .salon .box_02 {
    overflow: hidden;
    width: 100%;
    text-align: center; }
    #page_top .salon .box_02 img {
      display: block;
      margin: 40px auto 30px;
      width: 420px; }
    #page_top .salon .box_02 h5 {
      color: #f485b2;
      font-size: 26px;
      font-weight: bold;
      line-height: 2.5em; }
    #page_top .salon .box_02 p {
      font-size: 18px; }
    #page_top .salon .box_02 .box2__wrapper {
      margin: 40px auto 20px; }
    #page_top .salon .box_02 .box2__wrapper-list {
      font-size: 16px;
      text-align: left;
      line-height: 1.85em;
      vertical-align: top;
      display: inline-block; }
      #page_top .salon .box_02 .box2__wrapper-list li {
        text-indent: -1em;
        padding-left: 1em; }
      #page_top .salon .box_02 .box2__wrapper-list b {
        font-size: 20px;
        color: #f485b2; }
      #page_top .salon .box_02 .box2__wrapper-list:first-child {
        width: 320px;
        padding-left: 20px; }
  #page_top .salon .button_01 {
    max-width: 430px;
    margin-top: 30px; }
    #page_top .salon .button_01 img {
      height: 32px;
      position: absolute;
      top: 12px;
      left: 16px; }
    #page_top .salon .button_01 a small.area {
      left: 28.5%; }
#page_top .btn-more {
  text-align: center;
  margin: 25px 0 15px;
  overflow: hidden; }
  #page_top .btn-more a {
    color: #f485b2;
    padding: 15px 0 8px 4px;
    font-size: 18px;
    border-bottom: 1px solid #f485b2;
    display: inline-block; }
    #page_top .btn-more a:hover {
      text-decoration: none; }

@media (max-width: 640px) {
  #page_top .sec_flow {
    padding-bottom: 15px;
    padding-top: 15px; }
    #page_top .sec_flow .head-box {
      padding: 0;
      width: 88%;
      margin: 0 auto 30px; }
      #page_top .sec_flow .head-box p.intro {
        font-size: 15px;
        text-align: justify;
        line-height: 1.8em;
        margin-bottom: 20px;
        letter-spacing: 0.05em; }
        #page_top .sec_flow .head-box p.intro a {
          margin-left: 10px; }
      #page_top .sec_flow .head-box .contact_box {
        width: 100%; }
      #page_top .sec_flow .head-box .button_01, #page_top .sec_flow .head-box .button_01.call {
        width: 48%;
        float: none;
        display: inline-block;
        margin-top: 0; }
        #page_top .sec_flow .head-box .button_01 a, #page_top .sec_flow .head-box .button_01.call a {
          text-align: center;
          font-weight: bold; }
          #page_top .sec_flow .head-box .button_01 a small, #page_top .sec_flow .head-box .button_01.call a small {
            display: none; }
      #page_top .sec_flow .head-box .button_01.call {
        margin-bottom: 16px; }
    #page_top .sec_flow ul.step li {
      margin-right: 0;
      display: block;
      float: none; }
      #page_top .sec_flow ul.step li span {
        font-size: 22px;
        display: inline-block;
        top: 35%;
        width: 30%;
        line-height: 1.2em;
        left: 1%; }
      #page_top .sec_flow ul.step li:nth-child(2) span {
        top: 45%; }
      #page_top .sec_flow ul.step li:last-child span {
        top: 35%;
        left: 2%; }
    #page_top .sec_flow .salon {
      margin: 6% 6% 0;
      width: 88%;
      font-size: 13px; }
      #page_top .sec_flow .salon h3 {
        font-size: 18px; }
      #page_top .sec_flow .salon .body {
        padding: 4% 6% 6%;
        border: 1px solid #c4a145; }
      #page_top .sec_flow .salon .box_01 {
        width: 100%; }
        #page_top .sec_flow .salon .box_01 h4 {
          font-size: 15px;
          line-height: 1.55em; }
          #page_top .sec_flow .salon .box_01 h4 img {
            width: 120px;
            margin: 0 auto 10px;
            float: none;
            display: block; }
      #page_top .sec_flow .salon .box_02 img {
        margin: 20px auto 25px;
        width: 100%; }
      #page_top .sec_flow .salon .box_02 h5 {
        font-size: 17px;
        font-weight: bold;
        line-height: 1.8em; }
      #page_top .sec_flow .salon .box_02 p {
        font-size: 15px;
        margin-top: 10px; }
      #page_top .sec_flow .salon .box_02 .box2__wrapper {
        margin: 20px auto 10px; }
      #page_top .sec_flow .salon .box_02 .box2__wrapper-list {
        font-size: 15px;
        line-height: 1.85em;
        display: block;
        width: 100%; }
        #page_top .sec_flow .salon .box_02 .box2__wrapper-list b {
          font-size: 16px; }
        #page_top .sec_flow .salon .box_02 .box2__wrapper-list:first-child {
          width: 100%;
          padding-left: 0;
          margin-bottom: 15px; }
      #page_top .sec_flow .salon .button_01 {
        max-width: 430px;
        margin-top: 30px; }
        #page_top .sec_flow .salon .button_01 img {
          height: 30px; }
        #page_top .sec_flow .salon .button_01 a {
          padding: 25px 0 15px 0;
          font-size: 17px;
          font-size: 1.7rem; }
          #page_top .sec_flow .salon .button_01 a small.area {
            left: 23%; }
    #page_top .sec_flow .btn-more {
      margin: 15px 0; }
      #page_top .sec_flow .btn-more a {
        padding: 10px 0 5px 2px;
        font-size: 15px; } }
@media (max-width: 360px) {
  #page_top .sec_flow .head-box p.intro {
    font-size: 15px;
    line-height: 1.8em;
    margin-bottom: 20px; }
  #page_top .sec_flow ul.step li {
    margin-right: 0;
    display: block;
    float: none; }
    #page_top .sec_flow ul.step li span {
      top: 30%;
      width: 33%;
      left: 0%;
      letter-spacing: -0.05em; }
    #page_top .sec_flow ul.step li:nth-child(2) span {
      top: 40%; }
    #page_top .sec_flow ul.step li:last-child span {
      left: 1%; }
  #page_top .sec_flow .salon {
    margin: 6% 4% 0;
    width: 92%;
    font-size: 12px; }
    #page_top .sec_flow .salon h3 span {
      font-size: 18px; }
    #page_top .sec_flow .salon .body {
      padding: 4% 4% 6%; }
    #page_top .sec_flow .salon .box_01 .logo {
      margin: 0 18% 20px 14%;
      width: 68%; }
    #page_top .sec_flow .salon .box_01 h4 {
      margin-bottom: 6px;
      font-size: 15px; }
      #page_top .sec_flow .salon .box_01 h4 + p {
        line-height: 1.65em; } }
/* menu link ----------------------------------------------*/
#page_top .menu {
  padding: 12px 0 16px;
  background-color: #edeeea; }
  #page_top .menu .bnr {
    text-align: center;
    width: 980px;
    margin: 0 auto;
    padding: 40px 0 15px;
    overflow: hidden; }
    #page_top .menu .bnr.pc_only {
      display: block; }
    #page_top .menu .bnr.sp_only {
      display: none; }
    #page_top .menu .bnr li {
      display: inline-block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin-bottom: 20px;
      float: left;
      background: #FFF; }
      #page_top .menu .bnr li:nth-child(odd) {
        margin-right: 20px; }
  #page_top .menu .a8-bnr {
    position: relative;
    padding-top: 12.76%;
    width: 478px;
    background-color: transparent !important; }
  #page_top .menu .a8-bnr__fix {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
#page_top .a8-bnr__large {
  background-color: #FFF;
  padding: 30px 30px 20px;
  text-align: center; }
  #page_top .a8-bnr__large .a8-bnr__fix {
    display: inline-block; }

@media (max-width: 640px) {
  #page_top .menu {
    padding: 10px 0; }
    #page_top .menu .bnr {
      width: 100%;
      margin: 0 auto;
      padding: 0;
      overflow: hidden; }
      #page_top .menu .bnr.pc_only {
        display: none; }
      #page_top .menu .bnr.sp_only {
        display: block; }
      #page_top .menu .bnr li {
        display: inline-block;
        margin-bottom: 0;
        float: left;
        background: none;
        overflow: hidden; }
        #page_top .menu .bnr li img {
          padding-bottom: 2px; }
    #page_top .menu .a8-bnr {
      width: 100%;
      padding-top: 4.35%; } }
#page_top .middle-nav {
  background: #fff; }
  #page_top .middle-nav .txt {
    padding-top: 30px;
    letter-spacing: -0.4em; }
    #page_top .middle-nav .txt li {
      display: inline-block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 160px;
      text-align: center;
      letter-spacing: -0.05em;
      white-space: nowrap;
      margin-right: 4px; }
      #page_top .middle-nav .txt li + li {
        border-left: 0; }
      #page_top .middle-nav .txt li:last-child {
        margin-right: 0; }
      #page_top .middle-nav .txt li a {
        display: block;
        background-color: #b5a1e3;
        color: #fff;
        padding: 20px 0;
        font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
        text-decoration: none;
        border-radius: 10px;
        font-weight: bold; }
        #page_top .middle-nav .txt li a:before {
          background-image: url(../img/bg_pattern_01_white.png);
          opacity: 0.1;
          filter: alpha(opacity=1);
          -ms-filter: "alpha( opacity=5 )";
          -webkit-background-size: 80% auto;
          background-size: 80% auto; }

@media (max-width: 640px) {
  #page_top .middle-nav {
    padding: 0 6%; }
    #page_top .middle-nav .txt {
      padding-top: 15px;
      letter-spacing: -0.1em;
      width: 100%; }
      #page_top .middle-nav .txt li {
        display: inline-block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 48%;
        text-align: center;
        letter-spacing: 0;
        white-space: nowrap;
        margin-right: 2%;
        margin-bottom: 3%; }
        #page_top .middle-nav .txt li + li {
          border-left: 0; }
        #page_top .middle-nav .txt li:nth-child(even) {
          margin-right: 0; }
        #page_top .middle-nav .txt li a {
          padding: 15px 0; }
          #page_top .middle-nav .txt li a:after {
            content: "";
            position: absolute;
            top: 45%;
            right: 6%;
            width: 5px;
            height: 5px;
            border-top: 1.5px solid #FFF;
            border-right: 1.5px solid #FFF;
            -webkit-transform: rotate(45deg);
            transform: rotate(45deg); } }
@media (max-width: 360px) {
  #page_top .middle-nav {
    padding: 0 4%; }
    #page_top .middle-nav .txt li a {
      padding: 12px 6px 14px 0;
      font-size: 12px; } }
/* news ----------------------------------------------*/
#page_top .sec_news {
  padding: 30px 0 20px;
  background: #FFF;
  display: block;
  overflow: hidden; }
  #page_top .sec_news .news-info {
    width: 475px;
    margin-right: 28px;
    display: inline-block;
    float: left; }
    #page_top .sec_news .news-info h2 {
      color: #535353;
      font-size: 28px;
      line-height: 1;
      position: relative;
      text-align: left;
      padding-top: 32px;
      padding-bottom: 20px; }
      #page_top .sec_news .news-info h2 img {
        width: 302px; }
      #page_top .sec_news .news-info h2 .button_01.list-btn {
        position: absolute;
        right: 10px;
        bottom: 20%;
        width: 137px; }
        #page_top .sec_news .news-info h2 .button_01.list-btn a {
          font-size: 16px !important;
          padding: 10px 0; }
    #page_top .sec_news .news-info dl {
      margin: 10px 38px 0 0;
      max-height: 13em;
      overflow-y: scroll; }
      #page_top .sec_news .news-info dl dt {
        color: #f15194;
        margin-bottom: 4px;
        float: left;
        clear: left;
        width: 6.5em; }
      #page_top .sec_news .news-info dl dd {
        padding-left: 6.5em;
        margin-bottom: 1.2em; }
        #page_top .sec_news .news-info dl dd:last-child {
          margin-bottom: 0; }
    #page_top .sec_news .news-info .news_wrap {
      border-top: dotted 2px #F485B2; }
    #page_top .sec_news .news-info .unit {
      border-bottom: dotted 1px #C7C7C7; }
      #page_top .sec_news .news-info .unit:last-of-type {
        border: none; }
      #page_top .sec_news .news-info .unit_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 22px 0; }
        #page_top .sec_news .news-info .unit_link:hover {
          text-decoration: none; }
      #page_top .sec_news .news-info .unit_content {
        width: 350px;
        margin-left: auto; }
      #page_top .sec_news .news-info .unit_img {
        max-width: 100px; }
      #page_top .sec_news .news-info .unit_block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 5px; }
      #page_top .sec_news .news-info .unit_category {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        #page_top .sec_news .news-info .unit_category .category {
          display: inline-block;
          font-size: 14px;
          font-weight: bold;
          color: #fff;
          background: #F485B2;
          margin-right: 10px;
          padding: .1em 1em;
          border-radius: 100vh; }
          #page_top .sec_news .news-info .unit_category .category:last-of-type {
            margin-right: 0; }
          #page_top .sec_news .news-info .unit_category .category.new {
            background: #BDA5E8; }
      #page_top .sec_news .news-info .unit_day {
        color: #F485B2;
        font-weight: bold;
        margin-right: 15px; }
      #page_top .sec_news .news-info .unit_title {
        padding-left: 20px;
        position: relative; }
        #page_top .sec_news .news-info .unit_title::after {
          content: "";
          display: inline-block;
          width: 10px;
          height: 16px;
          margin-left: 5px;
          background-image: url("/lib/img/news/news_arrow.png");
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          transform: rotateZ(-90deg);
          position: absolute;
          top: .2em;
          left: 0; }
  #page_top .sec_news .sns-list {
    width: 475px;
    display: inline-block;
    float: left; }
    #page_top .sec_news .sns-list .twitter-timeline {
      padding-top: 32px !important;
      width: 475px; }

@media (max-width: 640px) {
  #page_top .sec_news {
    padding: 0 6% 30px; }
    #page_top .sec_news .news-info {
      width: 100%;
      display: block;
      float: none; }
      #page_top .sec_news .news-info h2 {
        color: #535353;
        font-size: 22px;
        text-align: center; }
        #page_top .sec_news .news-info h2 span {
          padding: 8px 30px 0;
          -webkit-background-size: 24px 26px;
          background-size: 24px 26px; }
      #page_top .sec_news .news-info dl {
        max-height: 12em;
        margin: 0; }
        #page_top .sec_news .news-info dl dt {
          float: none;
          width: auto; }
        #page_top .sec_news .news-info dl dd {
          padding-left: 0;
          margin-bottom: 1.2em; }
      #page_top .sec_news .news-info .button_01 {
        margin: 25px auto 0;
        width: 50%; }
      #page_top .sec_news .news-info .button_01 a {
        padding: 16px 0; }
    #page_top .sec_news .sns-list {
      width: 100%;
      display: block;
      float: none;
      margin-top: 20px; }
      #page_top .sec_news .sns-list .twitter-timeline {
        padding-top: 15px !important;
        width: 100%; }
    #page_top .sec_news .news-info .button_01 {
      width: 100%; }
    #page_top .sec_news .news_wrap .unit_link {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    #page_top .sec_news .news_wrap .unit_img {
      max-width: 60%;
      margin: 0 auto 15px; }
    #page_top .sec_news .news_wrap .unit_content {
      width: 100%; }
    #page_top .sec_news .news_wrap .unit_block {
      margin-bottom: 10px; }
    #page_top .sec_news .news_wrap .unit_day {
      margin-right: 10px; }
    #page_top .sec_news .news_wrap .unit .category {
      margin-right: 5px;
      padding: .03em .5em; } }
@media (max-width: 360px) {
  #page_top .sec_news {
    padding: 0 4% 30px; }
    #page_top .sec_news h2 span {
      font-size: 20px; }
    #page_top .sec_news dl {
      font-size: 15px; }
    #page_top .sec_news .inner > .button_01 {
      margin: 30px auto 0; }
    #page_top .sec_news .inner .button_01 a {
      padding: 14px 8px 13px 0; } }
/* area ----------------------------------------------*/
#page_top .sec_area {
  overflow: hidden;
  padding: 60px 0; }
  #page_top .sec_area h2 {
    background: #f485b2;
    padding: 19px 0 20px; }
    #page_top .sec_area h2 img {
      height: 37px;
      text-align: center;
      margin: 0 auto; }
  #page_top .sec_area .box_wrap {
    float: left; }
  #page_top .sec_area .area_box {
    width: 475px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1);
    padding: 30px 22px 30px 25px;
    background: #FFF;
    margin-top: 20px; }
    #page_top .sec_area .area_box.area_tokyo, #page_top .sec_area .area_box.area_kanagawa, #page_top .sec_area .area_box.area_saitama {
      margin-right: 30px; }
    #page_top .sec_area .area_box h3 {
      display: block;
      text-align: center;
      position: relative;
      padding: 0 0.5em 20px;
      letter-spacing: 0.025em;
      line-height: 1;
      font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
      font-size: 24px;
      color: #f485b2; }
    #page_top .sec_area .area_box ul li {
      display: inline;
      margin-right: 12px;
      font-size: 16px;
      color: #535353;
      line-height: 1.75em;
      letter-spacing: -0.03em; }
      #page_top .sec_area .area_box ul li:last-child {
        margin-right: 0; }
  #page_top .sec_area .btm_txt {
    clear: both;
    padding: 10px 0;
    text-align: center;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-size: 18px; }

@media (max-width: 640px) {
  #page_top .sec_area {
    overflow: hidden;
    padding: 30px 0;
    margin: 0 6%;
    width: 88%; }
    #page_top .sec_area h2 {
      padding: 13px 0; }
      #page_top .sec_area h2 img {
        height: 24px; }
    #page_top .sec_area .box_wrap {
      float: none; }
    #page_top .sec_area .area_box {
      width: 100%;
      padding: 20px 20px 25px;
      margin-top: 12px; }
      #page_top .sec_area .area_box.area_tokyo, #page_top .sec_area .area_box.area_kanagawa, #page_top .sec_area .area_box.area_saitama {
        margin-right: 0; }
      #page_top .sec_area .area_box h3 {
        font-weight: bold;
        position: relative;
        padding: 0 0.5em 10px;
        font-size: 18px; }
      #page_top .sec_area .area_box ul li {
        margin-right: 10px;
        font-size: 14px;
        line-height: 1.6em; }
    #page_top .sec_area .btm_txt {
      clear: both;
      padding: 10px 0;
      text-align: center;
      font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
      font-size: 18px; } }
@media (max-width: 360px) {
  #page_top .sec_area {
    margin: 0 4%;
    width: 92%; }
    #page_top .sec_area h2 {
      font-size: 15px;
      padding: 15px; }
    #page_top .sec_area .area_box {
      padding: 15px 15px 20px;
      margin-top: 10px; }
      #page_top .sec_area .area_box h3 {
        font-size: 15px; }
      #page_top .sec_area .area_box ul li {
        margin-right: 10px;
        line-height: 1.8em; } }
/* SP css -------------------------------------------------------*/
@media (max-width: 640px) {
  .sec_about,
  .sec_girls {
    width: 100%; }

  .sec_about_inner,
  .sec_girls_inner {
    padding-bottom: 0;
    float: none;
    width: 100%;
    max-width: none;
    height: auto; }

  .sec_about,
  .sec_girls,
  .sec_flow {
    position: relative;
    float: none;
    padding-top: 0;
    padding-bottom: 0;
    width: 100%;
    background-color: #fff; }
    .sec_about:before,
    .sec_girls:before,
    .sec_flow:before {
      display: none;
      background: none; }
    .sec_about .sec_body,
    .sec_girls .sec_body,
    .sec_flow .sec_body {
      padding: 0 6% 30px;
      display: none; }
    .sec_about .img,
    .sec_girls .img,
    .sec_flow .img {
      margin: -10px -10px 1em; }
    .sec_about .img + p,
    .sec_girls .img + p,
    .sec_flow .img + p {
      margin-bottom: 15px; }
    .sec_about .button_01,
    .sec_girls .button_01,
    .sec_flow .button_01 {
      position: relative;
      bottom: auto;
      left: auto;
      right: auto;
      width: auto; } }
@media (max-width: 360px) {
  .sec_body {
    padding: 0 4% 25px !important;
    display: none; } }
/*-----------------------------------------
 NEWS
*/
#page_news {
  background: rgba(244, 133, 178, 0.05); }
  #page_news #bottom_link_area {
    background: none; }
  #page_news .head {
    background-image: url("/lib/img/news/news_bg.png");
    background-repeat: repeat;
    padding: 36px 0 40px; }
    #page_news .head h2 {
      width: 406px;
      margin: 0 auto; }
  #page_news .article .selection {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin: 80px 0 60px; }
    #page_news .article .selection_btn {
      font-weight: bold;
      background: #fff;
      padding: 10px 40px;
      border-radius: 4px;
      margin-right: 25px; }
      #page_news .article .selection_btn:hover {
        text-decoration: none; }
    #page_news .article .selection select {
      font-weight: bold;
      border: none;
      outline: none;
      margin-right: 25px;
      padding: 10px 65px 10px 40px;
      border-radius: 4px;
      -webkit-appearance: none;
      appearance: none;
      background-image: url("/lib/img/news/news_arrow.png");
      background-color: #fff;
      background-position: right 35px center;
      background-repeat: no-repeat;
      background-size: 13px 9px;
      font-size: 16px;
      color: #535353;
      cursor: pointer; }
      #page_news .article .selection select:last-of-type {
        margin-right: 0; }
    #page_news .article .selection select::-ms-expand {
      display: none; }
  #page_news .article .unit {
    background: #fff;
    margin-bottom: 40px;
    padding: 40px; }
    #page_news .article .unit:last-of-type {
      margin-bottom: 0; }
    #page_news .article .unit_link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #page_news .article .unit_link:hover {
        text-decoration: none; }
    #page_news .article .unit_img {
      width: 36%;
      text-align: center; }
    #page_news .article .unit_content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column;
      width: 57%; }
    #page_news .article .unit_category {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 20px; }
      #page_news .article .unit_category .category {
        display: inline-block;
        font-size: 14px;
        font-weight: bold;
        color: #fff;
        background: #F485B2;
        margin-right: 10px;
        padding: .1em 1em;
        border-radius: 100vh; }
        #page_news .article .unit_category .category:last-of-type {
          margin-right: 0; }
        #page_news .article .unit_category .category.new {
          background: #BDA5E8; }
    #page_news .article .unit_day {
      font-size: 12px;
      color: #F485B2;
      margin-bottom: 5px; }
    #page_news .article .unit_title {
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 20px;
      padding-bottom: 10px;
      border-bottom: 1px dashed #535353; }
    #page_news .article .unit_txt {
      line-height: 1.75;
      margin-bottom: 20px; }
      #page_news .article .unit_txt-wrap {
        overflow: hidden;
        width: 100%; }
    #page_news .article .unit_more {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin-left: auto;
      font-size: 15px;
      font-weight: bold;
      color: #F485B2; }
      #page_news .article .unit_more::after {
        content: "";
        display: inline-block;
        width: 10px;
        height: 16px;
        margin-left: 5px;
        background-image: url("/lib/img/news/news_arrow.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        transform: rotateZ(-90deg); }
  #page_news .wp-pagenavi {
    margin-top: 80px;
    text-align: center; }
    #page_news .wp-pagenavi .previouspostslink, #page_news .wp-pagenavi .nextpostslink {
      font-size: 15px;
      color: #F485B2;
      font-weight: bold;
      position: relative; }
    #page_news .wp-pagenavi .previouspostslink {
      margin-right: 40px;
      padding-left: 20px; }
      #page_news .wp-pagenavi .previouspostslink::after {
        content: "";
        display: inline-block;
        width: 10px;
        height: 16px;
        background-image: url("/lib/img/news/news_arrow.png");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%) rotate(90deg); }
    #page_news .wp-pagenavi .nextpostslink {
      margin-left: 40px;
      padding-right: 20px; }
      #page_news .wp-pagenavi .nextpostslink::after {
        content: "";
        display: inline-block;
        width: 10px;
        height: 16px;
        background-image: url("/lib/img/news/news_arrow.png");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%) rotate(-90deg); }
    #page_news .wp-pagenavi .page {
      font-size: 20px;
      font-weight: bold;
      margin: 0 10px; }
    #page_news .wp-pagenavi .current {
      font-size: 20px;
      font-weight: bold;
      color: #fff;
      position: relative;
      margin: 0 20px; }
      #page_news .wp-pagenavi .current::after {
        content: "";
        display: inline-block;
        width: 40px;
        height: 40px;
        background: #F485B2;
        border-radius: 100vh;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: -1; }
    #page_news .wp-pagenavi .extend {
      font-weight: bold;
      position: relative;
      top: 5px; }
      #page_news .wp-pagenavi .extend:last-of-type {
        display: none; }
    #page_news .wp-pagenavi span {
      border: none; }
    #page_news .wp-pagenavi a {
      border: none; }
  #page_news .loader_wrapper {
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.5); }
  #page_news .loader,
  #page_news .loader:after {
    border-radius: 50%;
    width: 5em;
    height: 5em; }
  #page_news .loader {
    position: relative;
    top: calc(50% - 2.5em);
    left: calc(50% - 2.5em);
    border-top: 0.5em solid rgba(244, 133, 178, 0.2);
    border-right: 0.5em solid rgba(244, 133, 178, 0.2);
    border-bottom: 0.5em solid rgba(244, 133, 178, 0.2);
    border-left: .5em solid #fb5bb8;
    -webkit-animation: load .5s infinite linear;
    animation: load 1.1s infinite linear; }
@-webkit-keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }
@media (max-width: 640px) {
  #page_news .head h2 {
    width: 88%; }
  #page_news .article .selection {
    width: 88%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 40px auto 30px; }
    #page_news .article .selection_btn {
      margin-right: 0;
      margin-bottom: 10px; }
    #page_news .article .selection select {
      margin-right: 0;
      margin-bottom: 10px; }
      #page_news .article .selection select:last-of-type {
        margin-bottom: 0; }
  #page_news .article .unit {
    padding: 25px;
    margin-bottom: 20px; }
    #page_news .article .unit_link {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; }
    #page_news .article .unit_wrap {
      width: 85%;
      margin: 0 auto; }
    #page_news .article .unit_img {
      width: 100%;
      margin: 0 auto;
      margin-bottom: 20px; }
    #page_news .article .unit_content {
      width: 100%; }
    #page_news .article .unit_category {
      margin-bottom: 10px; }
      #page_news .article .unit_category .category {
        padding: .05em .8em; }
  #page_news .wp-pagenavi {
    margin-top: 9.375%; } }
#single_news {
  overflow: hidden; }
  #single_news #bottom_link_area {
    background: #FAF7FF; }
  #single_news .article {
    margin: 80px auto 100px; }
    #single_news .article .selection {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      margin: 80px 0 60px; }
      #single_news .article .selection_btn {
        background: #fff;
        padding: 10px 40px;
        border-radius: 4px;
        margin-right: 25px; }
        #single_news .article .selection_btn:hover {
          text-decoration: none; }
      #single_news .article .selection select {
        border: none;
        outline: none;
        margin-right: 25px;
        padding: 10px 65px 10px 40px;
        border-radius: 4px;
        -webkit-appearance: none;
        appearance: none;
        background-image: url("/lib/img/news/news_arrow.png");
        background-position: right 35px center;
        background-repeat: no-repeat;
        background-size: 13px 9px;
        cursor: pointer; }
        #single_news .article .selection select:last-of-type {
          margin-right: 0; }
      #single_news .article .selection select::-ms-expand {
        display: none; }
    #single_news .article .unit_content h1 {
      font-size: 18px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 40px;
      padding-left: 15px;
      border-left: solid 4px #F485B2; }
    #single_news .article .unit_content h2 {
      font-size: 18px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 30px;
      padding-left: 15px;
      border-left: solid 4px #F485B2; }
    #single_news .article .unit_content h3 {
      font-size: 18px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 30px; }
    #single_news .article .unit_content h4 {
      font-size: 16px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 25px; }
    #single_news .article .unit_content h5 {
      font-size: 16px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 25px; }
    #single_news .article .unit_content h6 {
      font-size: 16px;
      line-height: 1.5;
      font-weight: bold;
      margin-bottom: 25px; }
    #single_news .article .unit_content p {
      font-size: 16px;
      line-height: 1.75;
      margin-bottom: 25px; }
    #single_news .article .unit_content ul {
      margin-bottom: 25px; }
      #single_news .article .unit_content ul li {
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 5px; }
    #single_news .article .unit_content ol {
      margin-bottom: 25px; }
      #single_news .article .unit_content ol li {
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 5px;
        padding-left: .5em;
        position: relative; }
        #single_news .article .unit_content ol li::before {
          content: "";
          display: inline-block;
          width: 3px;
          height: 3px;
          background: #F485B2;
          border-radius: 100vh;
          position: absolute;
          top: 0.875em;
          left: 0; }
    #single_news .article .unit_content th {
      font-weight: bold; }
    #single_news .article .unit_content th, #single_news .article .unit_content td {
      font-size: 16px;
      line-height: 1.75; }
    #single_news .article .unit_content a {
      color: #f485b2;
      font-size: 16px;
      line-height: 1.75;
      margin-bottom: 25px; }
    #single_news .article .unit_content img {
      margin-bottom: 25px; }
    #single_news .article .unit_content figcaption {
      display: none;
      margin-bottom: 25px; }
    #single_news .article .unit_block {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      align-items: baseline; }
    #single_news .article .unit_category {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 20px; }
      #single_news .article .unit_category .category {
        display: inline-block;
        font-size: 14px;
        font-weight: bold;
        color: #fff;
        background: #F485B2;
        margin-right: 10px;
        padding: .1em 1em;
        border-radius: 100vh; }
        #single_news .article .unit_category .category:last-of-type {
          margin-right: 0; }
        #single_news .article .unit_category .category.new {
          background: #BDA5E8; }
    #single_news .article .unit_day {
      font-size: 16px;
      color: #F485B2;
      font-weight: bold;
      margin-right: 15px; }
    #single_news .article .unit_title {
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 40px;
      padding-bottom: 30px;
      border-bottom: 1px dashed #535353; }
    #single_news .article .unit_img {
      text-align: center;
      margin-bottom: 60px; }
    #single_news .article .unit_txt {
      line-height: 1.75;
      margin-bottom: 20px; }
      #single_news .article .unit_txt-wrap {
        overflow: hidden;
        width: 100%; }
    #single_news .article .unit_link {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      align-items: center;
      margin-left: auto;
      font-size: 15px;
      font-weight: bold;
      color: #F485B2; }
      #single_news .article .unit_link::after {
        content: "";
        display: inline-block;
        width: 10px;
        height: 16px;
        margin-left: 5px;
        background-image: url("/lib/img/news/news_arrow.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        transform: rotateZ(-90deg); }
  #single_news .connection {
    background: #FAF7FF;
    margin: 0 calc(50% - 50vw);
    padding-top: 80px;
    width: 100vw; }
    #single_news .connection_title {
      font-size: 22px;
      color: #F485B2;
      font-weight: bold;
      text-align: center;
      margin-bottom: 45px; }
    #single_news .connection_wrap {
      display: flex;
      justify-content: space-between;
      width: 900px;
      margin: 0 auto 100px; }
    #single_news .connection .post {
      width: 30%; }
      #single_news .connection .post_link:hover {
        text-decoration: none; }
      #single_news .connection .post_wrap {
        background: #fff;
        padding: 20px 15px;
        box-sizing: border-box; }
      #single_news .connection .post_day {
        font-size: 12px;
        color: #F485B2;
        margin-bottom: 5px; }
      #single_news .connection .post_title {
        font-style: 18px;
        font-weight: bold; }
  #single_news .button_01 {
    border-radius: 10px; }

@media (max-width: 640px) {
  #single_news .article {
    margin: 40px auto 50px; }
    #single_news .article .unit {
      width: 88%;
      margin: 0 auto; }
      #single_news .article .unit_title {
        line-height: 1.3;
        padding-bottom: 20px; }
      #single_news .article .unit_category {
        margin-bottom: 20px; }
        #single_news .article .unit_category .category {
          margin-bottom: 0;
          padding: .05em .8em; }
  #single_news .connection {
    padding-top: 45px; }
    #single_news .connection_wrap {
      width: 88%;
      margin-bottom: 9.375%;
      flex-direction: column; }
    #single_news .connection .post {
      width: 100%;
      margin-bottom: 30px; }
      #single_news .connection .post:last-of-type {
        margin-bottom: 0; }
      #single_news .connection .post_link {
        display: block; }
        #single_news .connection .post_link img {
          width: 100%; }
      #single_news .connection .post_day {
        font-size: 14px; }
    #single_news .connection .button_01 {
      width: 88%;
      margin: 0 auto; } }
/*-----------------------------------------
 CAST - index
*/
#page_cast .shop {
  position: relative;
  z-index: 40;
  padding: 30px 0 0;
  text-align: center;
  background-color: #fef3f7; }
  #page_cast .shop .title {
    line-height: 1.2;
    margin-bottom: 20px; }
  #page_cast .shop .shop_name {
    color: #ee5097;
    font-size: 22px;
    font-size: 2.2rem; }
  #page_cast .shop .image {
    text-align: center;
    margin-top: 20px; }

@media (max-width: 640px) {
  #page_cast .shop {
    padding-top: 20px;
    -webkit-background-size: 80%;
    background-size: 80%; }

  #page_cast .shop .title {
    margin-bottom: 15px; }

  #page_cast .shop .image {
    margin-top: 15px; }

  #page_cast .shop .image img {
    width: 50%; }

  #page_cast .shop .shop_name {
    font-size: 18px;
    font-size: 1.8rem; } }
/*-----------------------------------------
 CAST - merit
*/
#page_merit #number_flow_wrap .flow:nth-child(1) {
  background-color: #f0c6d6; }
  #page_merit #number_flow_wrap .flow:nth-child(1) .number {
    color: #e5d8ea; }
  #page_merit #number_flow_wrap .flow:nth-child(1) .title {
    color: #fff; }
  #page_merit #number_flow_wrap .flow:nth-child(1) .text {
    color: #535353; }
#page_merit #number_flow_wrap .flow:nth-child(2) .number {
  color: #e1edf0; }
#page_merit #number_flow_wrap .flow:nth-child(3) {
  background-color: #c8c8c8; }
  #page_merit #number_flow_wrap .flow:nth-child(3) .number {
    color: #e7d7db; }
  #page_merit #number_flow_wrap .flow:nth-child(3) .title {
    color: #fff; }
#page_merit #number_flow_wrap .flow:nth-child(4) {
  background-color: #d6c9f2; }
  #page_merit #number_flow_wrap .flow:nth-child(4) .number {
    color: #f0ccda; }
  #page_merit #number_flow_wrap .flow:nth-child(4) .title {
    color: #fff; }
#page_merit #number_flow_wrap .flow:nth-child(5) {
  background-color: #f0c6d6; }
  #page_merit #number_flow_wrap .flow:nth-child(5) .number {
    color: #e5d8ea; }
  #page_merit #number_flow_wrap .flow:nth-child(5) .title {
    color: #fff; }
  #page_merit #number_flow_wrap .flow:nth-child(5) .text {
    color: #535353; }
#page_merit #number_flow_wrap .flow:nth-child(6) .number {
  color: #e7f1f3; }
#page_merit #number_flow_wrap .flow:nth-child(6) .title {
  color: #f485b2; }

/*-----------------------------------------
 CAST - faq
*/
#page_faq .top_box {
  position: relative;
  display: table;
  width: 100%; }
  #page_faq .top_box p {
    height: 350px;
    vertical-align: middle;
    text-align: center;
    display: table-cell;
    margin: auto; }
  #page_faq .top_box .img_01 {
    position: absolute;
    bottom: 0;
    left: 18px; }
  #page_faq .top_box .img_02 {
    position: absolute;
    bottom: 0;
    right: 11px; }
#page_faq .title {
  padding: 20px 0 0;
  text-align: center;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold; }
#page_faq #touroku {
  padding-bottom: 1px;
  background-color: #f485b2; }
  #page_faq #touroku .title {
    color: #4f4f4f; }
  #page_faq #touroku:before {
    background-position: center top; }
#page_faq #syukkin {
  padding-bottom: 1px;
  background-color: #8b8b8b; }
  #page_faq #syukkin .title {
    color: #f597bd; }
  #page_faq #syukkin:before {
    background-position: center top; }
#page_faq .faq dt {
  cursor: pointer;
  padding: 10px 20px;
  color: #fff; }
#page_faq .faq dt:before {
  content: "Q."; }
#page_faq .faq dd {
  display: none;
  margin: 0 1px;
  padding: 10px 19px;
  background-color: #fff; }
#page_faq .faq dd:before {
  content: "A."; }

@media (max-width: 640px) {
  #page_faq .page_title_01 {
    position: relative;
    z-index: 10; }

  #page_faq .top_box {
    padding: 3.125% 0;
    margin: auto;
    display: block; }

  #page_faq .top_box p {
    display: block;
    height: auto;
    width: 65%;
    margin: auto;
    font-size: 15px;
    font-size: 1.5rem; }

  #page_faq .top_box .img_01 {
    max-width: 19%;
    max-height: 100%;
    bottom: 0;
    left: 5px; }

  #page_faq .top_box .img_02 {
    max-width: 21%;
    max-height: 100%;
    bottom: 0;
    right: 5px; }

  #page_faq .faq dt,
  #page_faq .faq dd {
    padding: 20px 10px; } }
/*-----------------------------------------
 CAST - glossary
*/
#page_glossary .bg_img {
  padding: 25px 0 0;
  background: url(../../cast/img/glossary/img_01.png) right bottom no-repeat;
  -webkit-background-size: auto 85%;
  background-size: auto 85%; }
  #page_glossary .bg_img .lead_text_01 {
    margin-bottom: 35px; }
#page_glossary #glss_tab {
  overflow: hidden;
  margin-bottom: 10px;
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 25px; }
  #page_glossary #glss_tab li {
    float: left;
    width: 50px;
    text-align: center;
    line-height: 50px; }
    #page_glossary #glss_tab li + li {
      margin-left: 10px; }
    #page_glossary #glss_tab li a {
      display: block;
      color: #fff;
      text-decoration: none;
      border-radius: 5px;
      background: #f293ba; }
      #page_glossary #glss_tab li a:before {
        -webkit-background-size: 50% auto;
        background-size: 150% auto; }
    #page_glossary #glss_tab li.active a {
      opacity: 1;
      background: #ffe6f0;
      color: #535353; }
      #page_glossary #glss_tab li.active a:before {
        opacity: 0.5; }
#page_glossary #glss_main .glss_box .glss_col {
  width: 445px; }
  #page_glossary #glss_main .glss_box .glss_col.left {
    float: left; }
  #page_glossary #glss_main .glss_box .glss_col.right {
    float: right; }
#page_glossary #glss_main .glss_box .temporary {
  display: none; }
#page_glossary #glss_main .glss_box dl {
  background: url(../img/bg_pattern_01_white.png) #f1edf9;
  -webkit-background-size: 50% auto;
  background-size: 50% auto; }
  #page_glossary #glss_main .glss_box dl + dl {
    margin-top: 10px; }
#page_glossary #glss_main .glss_box dt {
  position: relative;
  padding: 10px 45px 10px 15px;
  font-weight: bold;
  color: #fff;
  background-color: #c396ff;
  background-color: rgba(187, 159, 223, 0.6); }
  #page_glossary #glss_main .glss_box dt:after {
    content: "";
    position: absolute;
    right: 1em;
    top: 50%;
    display: inline-block;
    margin-top: -12px;
    width: 24px;
    height: 24px;
    background: url(../img/ico_arrow_04_b.png) no-repeat center center;
    -webkit-background-size: contain;
    background-size: contain; }
  #page_glossary #glss_main .glss_box dt.active:after {
    background-image: url(../img/ico_arrow_04_t.png); }
#page_glossary #glss_main .glss_box dd {
  padding: 15px;
  font-size: 80%; }

@media (max-width: 640px) {
  #page_glossary .bg_img {
    background: none;
    padding: 0; }
    #page_glossary .bg_img .lead_text_01 {
      margin: 0;
      padding: 20px 95px 20px 10px;
      background: url(../../cast/img/glossary/img_01.png) right bottom no-repeat;
      -webkit-background-size: 90px auto;
      background-size: 90px auto;
      letter-spacing: -0.025em; }
  #page_glossary #glss_tab {
    margin-bottom: 10px;
    font-size: 20px; }
    #page_glossary #glss_tab li {
      width: 20%;
      border: 1px solid #fff;
      line-height: 30px; }
      #page_glossary #glss_tab li + li {
        margin-left: 0; }
      #page_glossary #glss_tab li a:before {
        -webkit-background-size: 50% auto;
        background-size: 150% auto; }
  #page_glossary #glss_main .glss_box .glss_col {
    display: none; }
  #page_glossary #glss_main .glss_box .temporary {
    display: block; }
  #page_glossary #glss_main .glss_box dl {
    background: url(../img/bg_pattern_01_white.png) #f1edf9;
    -webkit-background-size: 50% auto;
    background-size: 50% auto; }
    #page_glossary #glss_main .glss_box dl + dl {
      margin-top: 1px; }
  #page_glossary #glss_main .glss_box dt {
    padding: 10px 30px 10px 10px;
    color: #fff; }
    #page_glossary #glss_main .glss_box dt:after {
      content: "";
      right: 10px;
      margin-top: -8px;
      width: 16px;
      height: 16px; }
  #page_glossary #glss_main .glss_box dd {
    padding: 10px;
    font-size: 100%; } }
@media (max-width: 360px) {
  #page_glossary .bg_img .lead_text_01 {
    letter-spacing: -0.05em; } }
@media (max-width: 359px) {
  #page_glossary .bg_img .lead_text_01 {
    letter-spacing: -0.075em;
    font-size: 15px;
    padding: 20px 10px 30px; } }
/*-----------------------------------------
 MEMBER - index
*/
#page_member .flw_01 .text {
  color: #535353; }

#page_member .flw_01 .button_01.pointer {
  margin-top: 30px; }

#page_member .txt_01 {
  color: #fff;
  font-weight: bold; }

#page_member .txt_02 span {
  color: #fff; }

#page_member .txt_02 {
  color: #f00; }

/*-----------------------------------------
 MEMBER - voice
*/
#page_voice .voice_box {
  padding-top: 20px;
  text-align: center; }
  #page_voice .voice_box.voice_01, #page_voice .voice_box.voice_05 {
    background-image: url(../../member/img/voice/bg_01.png); }
  #page_voice .voice_box.voice_02 {
    background-image: url(../../member/img/voice/bg_02.png); }
  #page_voice .voice_box.voice_03 {
    background-image: url(../../member/img/voice/bg_03.png); }
  #page_voice .voice_box.voice_04 {
    background-image: url(../../member/img/voice/bg_04.png); }

@media (max-width: 640px) {
  #page_voice .voice_box {
    padding-top: 3.6%; }
    #page_voice .voice_box .inner {
      overflow: hidden;
      padding-left: 0;
      padding-right: 0; }
      #page_voice .voice_box .inner p {
        overflow: hidden;
        margin: 0 -7.5%; } }
/*-----------------------------------------
 MEMBER - work
*/
#page_member_work .button_01 {
  margin: 5px auto 5px 0; }
  #page_member_work .button_01 th {
    font-size: 16px;
    font-size: 1.6rem; }
#page_member_work table p {
  margin-top: 1.5em; }

@media (max-width: 640px) {
  #page_member_work table {
    margin: 0 10px; } }
/*-----------------------------------------
 ABOUT
*/
/* bgcolor */
#page_about .flow {
  /* numcolor */
  /* titlecolor */
  /* txtcolor */
  /* image */ }
  #page_about .flow:nth-child(3) {
    background-color: #c8c8c8; }
  #page_about .flow:nth-child(7) {
    background-color: #dfdfdf; }
  #page_about .flow:nth-child(1) .number {
    color: #e5d8ea; }
  #page_about .flow:nth-child(2) .number {
    color: #edfbff; }
  #page_about .flow:nth-child(3) .number {
    color: #f8e4e4; }
  #page_about .flow:nth-child(4) .number {
    color: #f6cbdf; }
  #page_about .flow:nth-child(5) .number {
    color: #e8e0e0; }
  #page_about .flow:nth-child(6) .number {
    color: #e8faff; }
  #page_about .flow:nth-child(7) .number {
    color: #f8e4e4; }
  #page_about .flow:nth-child(8) .number {
    color: #dbdfe1; }
  #page_about .flow:nth-child(9) .number {
    color: #e6e2e8; }
  #page_about .flow:nth-child(10) .number {
    color: #e3daf6; }
  #page_about .flow .title {
    color: #f485b2; }
  #page_about .flow:nth-child(1) .title {
    color: #fff; }
  #page_about .flow:nth-child(3) .title {
    color: #fff; }
  #page_about .flow:nth-child(4) .title {
    color: #fff; }
  #page_about .flow:nth-child(5) .title {
    color: #484848; }
  #page_about .flow:nth-child(8) .title {
    color: #fff; }
  #page_about .flow:nth-child(9) .title {
    color: #484848; }
  #page_about .flow:nth-child(1) .text {
    color: #535353; }
  #page_about .flow:nth-child(1) .image {
    margin-left: 70px; }
  #page_about .flow:nth-child(2) .image {
    margin-left: -140px; }
  #page_about .flow:nth-child(3) .image {
    margin-left: 100px; }
  #page_about .flow:nth-child(4) .image {
    margin-left: -100px; }
  #page_about .flow:nth-child(5) .image {
    margin-left: 100px; }
  #page_about .flow:nth-child(6) .image {
    margin-left: -150px; }
  #page_about .flow:nth-child(7) .image {
    margin-left: -70px; }
  #page_about .flow:nth-child(8) .image {
    margin-left: -60px; }
  #page_about .flow:nth-child(9) .image {
    margin-left: 130px; }
  #page_about .flow:nth-child(10) .image {
    margin-left: 70px; }
#page_about .about-lounge__container {
  padding-top: 16px;
  padding-bottom: 48px;
  text-align: center; }
  #page_about .about-lounge__container img {
    max-width: 603px; }

@media (max-width: 640px) {
  #page_about .flow:nth-child(1) .image {
    width: 40.63%;
    margin-left: 10.94%; }
  #page_about .flow:nth-child(2) .image {
    width: 51.56%;
    margin-left: -21.88%; }
  #page_about .flow:nth-child(3) .image {
    width: 47.19%;
    margin-left: 15.63%; }
  #page_about .flow:nth-child(4) .image {
    width: 44.22%;
    margin-left: -15.63%; }
  #page_about .flow:nth-child(5) .image {
    width: 52.34%;
    margin-left: 15.63%; }
  #page_about .flow:nth-child(6) .image {
    width: 45.78%;
    margin-left: -23.44%; }
  #page_about .flow:nth-child(7) .image {
    width: 44.53%;
    margin-left: -10.94%; }
  #page_about .flow:nth-child(8) .image {
    width: 41.72%;
    margin-left: -9.38%; }
  #page_about .flow:nth-child(9) .image {
    width: 55.25%;
    margin-left: 20.31%; }
  #page_about .flow:nth-child(10) .image {
    width: 68.75%;
    margin-left: 10.94%; }
  #page_about .about-lounge__container {
    padding: 10px 10px 40px 10px; }
    #page_about .about-lounge__container img {
      max-width: 100%; } }
/*-----------------------------------------
 CLIENT
*/
#page_client .section {
  padding: 20px; }
  #page_client .section .title {
    margin-bottom: 15px;
    text-align: center;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: bold;
    text-shadow: 2px 3.464px 4px rgba(0, 0, 0, 0.2);
    color: #f05194; }
    #page_client .section .title .small {
      font-size: 80%; }
#page_client .sec_02,
#page_client .sec_04,
#page_client .sec_06 {
  background-color: #fff; }
#page_client .sec_01,
#page_client .sec_03,
#page_client .sec_05,
#page_client .sec_07 {
  background-color: #f7f7f7; }
#page_client .sec_03 {
  text-align: center; }
  #page_client .sec_03 dt {
    margin-bottom: 0.2em;
    font-weight: bold;
    font-size: 20px;
    font-size: 2rem;
    color: #ff85b7; }
  #page_client .sec_03 dd {
    margin-bottom: 1em; }
    #page_client .sec_03 dd:last-child {
      margin-bottom: 0; }
#page_client .sec_06 dt {
  margin-bottom: 0.2em;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
  color: #ec6da1; }
#page_client .sec_06 li + li {
  margin-top: 1em; }
#page_client .sec_06 .button {
  margin-top: 1em; }
#page_client .sec_07 .faq_list {
  padding-top: 10px; }
  #page_client .sec_07 .faq_list li {
    display: block;
    padding-bottom: 20px;
    padding-left: 2.5em;
    position: relative; }
  #page_client .sec_07 .faq_list .quession {
    color: #ec6da1;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 5px; }
  #page_client .sec_07 .faq_list li::before {
    counter-increment: count-number;
    content: "Q" counters(count-number,".");
    color: #ec6da1;
    font-weight: bold;
    font-size: 20px;
    font-size: 2.0rem;
    position: absolute;
    top: -0.2em;
    left: 0; }
  #page_client .sec_07 .faq_list .answer {
    color: #666666; }

@media (max-width: 640px) {
  #page_client .section {
    padding: 15px 10px; }
    #page_client .section .title {
      font-size: 1.7rem;
      font-size: 17px; }
  #page_client .sec_03 dt {
    font-size: 16px;
    font-size: 1.6rem; }
  #page_client .sec_06 dt {
    font-size: 16px;
    font-size: 1.6rem; } }
/*-----------------------------------------
 COMPANY
*/
#page_company #page_company #outline {
  margin-bottom: 35px; }
#page_company #outline .lead_text_02 {
  margin-top: 10px; }
#page_company #outline table {
  margin-top: 20px; }
#page_company #message .sub_title_01 {
  margin-top: 20px; }
#page_company #message .body {
  margin-top: 20px; }
#page_company #message .sign_01 {
  text-align: right;
  margin: 20px 0 20px auto;
  width: 180px;
  max-width: 35%; }
#page_company #message .sign_02 {
  text-align: right; }

/*-----------------------------------------
 FORM
*/
#page_form .lead_text_01 {
  margin: 20px 0 10px;
  line-height: 1.3em; }
#page_form .place_block {
  margin: 25px 0 40px; }
  #page_form .place_block p {
    margin-top: 15px; }
    #page_form .place_block p span {
      color: #f078aa; }
    #page_form .place_block p b {
      font-weight: bold; }
    #page_form .place_block p .sp_only {
      display: none; }
    #page_form .place_block p small {
      font-size: 13px;
      padding: 5px 0 4px;
      display: block; }
#page_form .campaign_bnr {
  margin-bottom: 40px;
  box-shadow: 6px 6px 10px rgba(0, 0, 0, 0.2);
  border: 2px solid #ff9900;
  position: relative; }
  #page_form .campaign_bnr:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 40px 0 0;
    border-color: #ff9900 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0; }
  #page_form .campaign_bnr .campaign_bnr_inner {
    display: table;
    padding: 24px 45px;
    width: 100%;
    box-sizing: border-box; }
  #page_form .campaign_bnr .campaign_bnr_txt,
  #page_form .campaign_bnr .campaign_bnr_img {
    display: table-cell;
    vertical-align: middle; }
  #page_form .campaign_bnr .campaign_bnr_txt h2 {
    font-weight: bold;
    font-size: 28px;
    line-height: 1.2em;
    margin-bottom: 12px; }
    #page_form .campaign_bnr .campaign_bnr_txt h2 .fwn {
      font-weight: normal;
      font-size: 22px; }
    #page_form .campaign_bnr .campaign_bnr_txt h2 .bnr_txt__s {
      font-size: 18px;
      font-weight: bold; }
    #page_form .campaign_bnr .campaign_bnr_txt h2 .icon-notes {
      position: relative;
      top: -0.4em;
      font-size: 16px !important;
      display: inline-block;
      margin-right: -0.2em; }
  #page_form .campaign_bnr .campaign_bnr_txt .notes {
    font-size: 14px; }
    #page_form .campaign_bnr .campaign_bnr_txt .notes .marker {
      background-color: #fbd49a;
      padding: 2px 0; }
  #page_form .campaign_bnr .campaign_bnr_img {
    text-align: right; }
#page_form .notice_box {
  margin: 0 -1em 20px;
  padding: 1em;
  background-color: #f078aa;
  color: #fff; }
  #page_form .notice_box p {
    margin-bottom: 10px;
    text-align: center; }
#page_form .color_pink {
  color: #f0669f; }
#page_form .form_bg {
  padding: 30px 0; }
#page_form small {
  font-size: 85%; }
#page_form #form {
  margin: 0 1em;
  /* IE */
  /* Edge */ }
  #page_form #form input,
  #page_form #form textarea {
    padding: 5px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1em;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    border: solid 1px #6f6f6f; }
    #page_form #form input:focus,
    #page_form #form textarea:focus {
      -webkit-box-shadow: 0px 0px 4px #f0669f;
      box-shadow: 0px 0px 4px #f0669f;
      outline: none; }
  #page_form #form input::placeholder {
    color: #a9a9a9; }
  #page_form #form input:-ms-input-placeholder {
    color: #a9a9a9; }
  #page_form #form input::-ms-input-placeholder {
    color: #a9a9a9; }
  #page_form #form textarea + small {
    display: block;
    padding-top: 5px; }
    #page_form #form textarea + small .em {
      text-decoration: underline; }
  #page_form #form .birth input,
  #page_form #form .birth textarea {
    width: auto; }
  #page_form #form #errmsg {
    margin: 1em 0; }
  #page_form #form table {
    margin-top: 1em;
    width: 100%; }
    #page_form #form table th {
      width: 12em;
      padding: 0 2em 1em 0;
      vertical-align: top;
      text-align: left; }
    #page_form #form table td {
      padding-bottom: 1em;
      vertical-align: top; }
  #page_form #form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #FFF;
    padding: 6px 40px 6px 10px;
    border: 1px solid #6f6f6f;
    border-radius: 0;
    font-size: 1em;
    margin-right: 4px;
    background-image: url(../img/ico_select_arrow.png);
    background-position: center right;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    cursor: pointer; }
    #page_form #form select:focus {
      -webkit-box-shadow: 0px 0px 4px #f0669f;
      box-shadow: 0px 0px 4px #f0669f;
      outline: none; }
  #page_form #form select::-ms-expand {
    display: none; }
  #page_form #form .radio-list {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #page_form #form .radio-list__item {
      width: 48%;
      position: relative; }
      #page_form #form .radio-list__item input {
        width: 100%;
        height: 60px;
        opacity: 0;
        box-sizing: border-box;
        margin: 0;
        cursor: pointer; }
      #page_form #form .radio-list__item label {
        position: absolute;
        top: 0;
        left: 0;
        color: #f0669f;
        width: 100%;
        height: 100%;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
        border: 2px solid #f0669f;
        box-sizing: border-box; }
      #page_form #form .radio-list__item input:checked + label {
        background: #f0669f;
        font-weight: 500;
        color: #fff; }
      #page_form #form .radio-list__item:last-child label {
        border-color: #ab72b5;
        color: #ab72b5; }
      #page_form #form .radio-list__item:last-child input:checked + label {
        background: #ab72b5; }
      #page_form #form .radio-list__item img {
        width: auto;
        height: 22px; }
      #page_form #form .radio-list__item:first-child input:checked + label {
        background-image: url("../../form/img/reg_area_label__shibuya_on@2x.png");
        background-position: center center;
        background-size: auto 22px;
        background-repeat: no-repeat; }
        #page_form #form .radio-list__item:first-child input:checked + label img {
          position: relative;
          z-index: -1; }
      #page_form #form .radio-list__item:last-child input:checked + label {
        background-image: url("../../form/img/reg_area_label__online_on@2x.png");
        background-position: center center;
        background-size: auto 22px;
        background-repeat: no-repeat; }
        #page_form #form .radio-list__item:last-child input:checked + label img {
          position: relative;
          z-index: -1; }
#page_form #privacy {
  text-align: center;
  margin: 20px 1em; }
  #page_form #privacy a {
    color: #f485b2;
    text-decoration: underline; }
#page_form .button_wrap {
  text-align: center; }
  #page_form .button_wrap .back {
    background-color: #888; }
#page_form.form_confirm #form p:first-child {
  margin-bottom: 30px; }
#page_form.form_confirm .button_wrap {
  text-align: center; }
  #page_form.form_confirm .button_wrap .button_01 {
    width: 40%;
    display: inline-block; }
    #page_form.form_confirm .button_wrap .button_01 + .button_01 {
      margin-left: 3%; }
#page_form.form_complete .thanks_message {
  text-align: center; }

@media (max-width: 640px) {
  #page_form .form_bg {
    padding: 0 0 3.1%; }
  #page_form .lead_text_01 {
    margin: 20px 0 10px;
    line-height: 1.5em; }
  #page_form .place_block {
    width: 94%;
    margin: 20px auto; }
    #page_form .place_block p .sp_only {
      display: block !important; }
    #page_form .place_block p small {
      font-size: 11px;
      padding: 0px 0 5px;
      line-height: 1.6em; }
  #page_form .campaign_bnr {
    margin: 0 20px 20px; }
    #page_form .campaign_bnr:before {
      border-width: 40px 40px 0 0; }
    #page_form .campaign_bnr .campaign_bnr_inner {
      display: block;
      padding: 30px 10%;
      width: 100%; }
    #page_form .campaign_bnr .campaign_bnr_txt,
    #page_form .campaign_bnr .campaign_bnr_img {
      display: inherit; }
    #page_form .campaign_bnr .campaign_bnr_txt {
      margin-bottom: 20px; }
      #page_form .campaign_bnr .campaign_bnr_txt h2 {
        font-weight: bold;
        font-size: 6.5vw;
        line-height: 1.3em; }
        #page_form .campaign_bnr .campaign_bnr_txt h2 .fwn {
          font-size: 5vw; }
        #page_form .campaign_bnr .campaign_bnr_txt h2 .bnr_txt__s {
          font-size: 3.5vw;
          font-weight: bold; }
      #page_form .campaign_bnr .campaign_bnr_txt .notes {
        font-size: 11px; }
    #page_form .campaign_bnr .campaign_bnr_img {
      text-align: center; }
  #page_form .notice_box {
    margin: 0 -10px 20px;
    padding: 10px; }
    #page_form .notice_box p {
      margin-bottom: 10px; }
  #page_form #form {
    margin: 0 10px; }
    #page_form #form input,
    #page_form #form textarea {
      width: 100%; }
    #page_form #form table,
    #page_form #form tbody,
    #page_form #form tr,
    #page_form #form th,
    #page_form #form td {
      display: block;
      width: 100%; }
    #page_form #form table th {
      padding: 0.5em 0;
      width: 100%;
      font-weight: bold; }
    #page_form #form table tr:first-child th {
      padding-top: 0; }
    #page_form #form select {
      border-radius: 6px; }
    #page_form #form .radio-list__item img {
      height: 18px; }
    #page_form #form .radio-list__item:first-child input:checked + label {
      background-size: auto 18px; }
    #page_form #form .radio-list__item:last-child input:checked + label {
      background-size: auto 18px; }
  #page_form #privacy {
    margin: 0 10px 4.6%; }
  #page_form .button_wrap {
    margin: 0 10px; }
  #page_form.form_confirm .form_bg {
    padding: 3.1% 0; }
  #page_form.form_confirm #form p:first-child {
    margin-bottom: 3.1%; }
  #page_form.form_complete .form_bg {
    padding: 3.1% 10px; } }
/*-----------------------------------------
 TALK
*/
#page_talk .page_title_01 {
  background-color: #f1a4c8;
  font-size: 35px;
  line-height: 80px; }
  #page_talk .page_title_01:before {
    background-image: url(../img/bg_pattern_01_white.png); }
  #page_talk .page_title_01 img {
    width: 90px;
    margin-right: 10px;
    vertical-align: middle; }
  #page_talk .page_title_01 h1 {
    padding-top: 10px;
    padding-bottom: 10px; }
    #page_talk .page_title_01 h1:before {
      width: 65px;
      height: 65px; }
#page_talk .sec_talk > div:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.5); }
#page_talk .sec_talk .member_01 b {
  color: #ff7c7a; }
#page_talk .sec_talk .member_02 b {
  color: #7ab4e9; }
#page_talk .sec_talk .member_03 b {
  color: #ef82b4; }
#page_talk .sec_talk .member_04 b {
  color: #32d5b1; }
#page_talk .sec_talk .member_all b {
  color: #ff7c7a; }
#page_talk .talk_member {
  padding: 30px 0;
  background-color: #fee6f1; }
  #page_talk .talk_member h2 {
    margin-bottom: 35px;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    color: #f485b2;
    text-align: center;
    font-size: 34px; }
  #page_talk .talk_member ul {
    overflow: hidden; }
    #page_talk .talk_member ul li {
      text-align: center;
      float: left;
      width: 21%;
      padding: 0 2%; }
      #page_talk .talk_member ul li p {
        margin-top: 0.5em; }
#page_talk .talk_01 {
  background-color: #f0f8ff; }
#page_talk .talk_02 {
  background-color: #ffefef; }
#page_talk .talk_03 {
  background-color: #fee6f1; }
#page_talk .talk_04 {
  background-color: #ddfdf6; }
#page_talk .talk_01 .talk_box_large,
#page_talk .talk_03 .talk_box_large {
  text-align: left; }
  #page_talk .talk_01 .talk_box_large b,
  #page_talk .talk_03 .talk_box_large b {
    float: left;
    margin-right: 15px; }
  #page_talk .talk_01 .talk_box_large p:after, #page_talk .talk_01 .talk_box_large p:before,
  #page_talk .talk_03 .talk_box_large p:after,
  #page_talk .talk_03 .talk_box_large p:before {
    right: 100%;
    border-top-color: transparent;
    border-bottom-color: transparent;
    border-left-color: transparent; }
  #page_talk .talk_01 .talk_box_large p:before,
  #page_talk .talk_03 .talk_box_large p:before {
    border-width: 8px 24px 8px 0; }
  #page_talk .talk_01 .talk_box_large p:after,
  #page_talk .talk_03 .talk_box_large p:after {
    border-right-color: #fff;
    border-width: 6px 18px 6px 0; }
#page_talk .talk_02 .talk_box_large,
#page_talk .talk_04 .talk_box_large {
  text-align: right; }
  #page_talk .talk_02 .talk_box_large b,
  #page_talk .talk_04 .talk_box_large b {
    float: right;
    margin-left: 15px; }
  #page_talk .talk_02 .talk_box_large p:after, #page_talk .talk_02 .talk_box_large p:before,
  #page_talk .talk_04 .talk_box_large p:after,
  #page_talk .talk_04 .talk_box_large p:before {
    left: 100%;
    border-top-color: transparent;
    border-bottom-color: transparent;
    border-right-color: transparent; }
  #page_talk .talk_02 .talk_box_large p:before,
  #page_talk .talk_04 .talk_box_large p:before {
    border-width: 8px 0 8px 24px; }
  #page_talk .talk_02 .talk_box_large p:after,
  #page_talk .talk_04 .talk_box_large p:after {
    border-left-color: #fff;
    border-width: 6px 0 6px 18px; }
#page_talk .mv_01 {
  text-align: center; }
#page_talk .mv_02 {
  text-align: center;
  margin-bottom: 30px; }
#page_talk .talk_box {
  padding: 20px 0; }
  #page_talk .talk_box b {
    display: inline-block;
    text-align: right;
    width: 4em;
    font-weight: bold;
    float: left; }
    #page_talk .talk_box b span {
      font-weight: normal !important;
      color: #535353 !important; }
  #page_talk .talk_box p {
    padding-left: 4em; }
#page_talk .talk_box_large {
  padding: 20px 0;
  min-height: 155px; }
  #page_talk .talk_box_large b {
    width: 135px;
    text-align: center;
    font-weight: bold; }
    #page_talk .talk_box_large b img {
      margin-bottom: 5px; }
  #page_talk .talk_box_large p {
    position: relative;
    display: inline-block;
    margin-top: 35px;
    padding: 1em;
    max-width: 680px;
    border: 2px solid;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background-color: #fff;
    text-align: left;
    font-weight: bold; }
    #page_talk .talk_box_large p:before, #page_talk .talk_box_large p:after {
      content: "";
      width: 0;
      height: 0;
      display: block;
      position: absolute;
      top: 50%;
      border-style: solid; }
    #page_talk .talk_box_large p:before {
      margin-top: -12px; }
    #page_talk .talk_box_large p:after {
      margin-top: -10px; }
  #page_talk .talk_box_large.member_01 p {
    color: #ff7c7a; }
  #page_talk .talk_box_large.member_02 p {
    color: #7ab4e9; }
  #page_talk .talk_box_large.member_03 p {
    color: #ef82b4; }
  #page_talk .talk_box_large.member_04 p {
    color: #32d5b1; }

@media (max-width: 640px) {
  #page_talk .page_title_01 {
    font-size: 22px;
    line-height: 40px; }
    #page_talk .page_title_01 img {
      width: 50px;
      margin-right: 5px; }
    #page_talk .page_title_01 h1 {
      padding-top: 5px;
      padding-bottom: 5px; }
      #page_talk .page_title_01 h1:before {
        width: 40px;
        height: 40px; }
  #page_talk .sec_talk .inner {
    padding: 0 10px; }
  #page_talk .talk_member {
    padding: 24px 0; }
    #page_talk .talk_member h2 {
      margin-bottom: 0;
      font-size: 20px; }
    #page_talk .talk_member ul li {
      width: 50%;
      padding: 7px; }
  #page_talk .talk_01 .talk_box_large b,
  #page_talk .talk_03 .talk_box_large b {
    margin-right: 0; }
  #page_talk .talk_01 .talk_box_large p,
  #page_talk .talk_03 .talk_box_large p {
    margin-left: 90px; }
    #page_talk .talk_01 .talk_box_large p:before,
    #page_talk .talk_03 .talk_box_large p:before {
      border-width: 8px 24px 8px 0; }
    #page_talk .talk_01 .talk_box_large p:after,
    #page_talk .talk_03 .talk_box_large p:after {
      border-width: 6px 18px 6px 0; }
  #page_talk .talk_02 .talk_box_large b,
  #page_talk .talk_04 .talk_box_large b {
    margin-left: 0; }
  #page_talk .talk_02 .talk_box_large p,
  #page_talk .talk_04 .talk_box_large p {
    margin-right: 90px; }
    #page_talk .talk_02 .talk_box_large p:before,
    #page_talk .talk_04 .talk_box_large p:before {
      border-width: 8px 0 8px 24px; }
    #page_talk .talk_02 .talk_box_large p:after,
    #page_talk .talk_04 .talk_box_large p:after {
      border-left-color: #fff;
      border-width: 6px 0 6px 18px; }
  #page_talk .talk_box {
    padding: 10px 0; }
  #page_talk .talk_box_large {
    overflow: hidden;
    padding: 10px 0;
    min-height: 0px; }
    #page_talk .talk_box_large b {
      width: 70px; }
      #page_talk .talk_box_large b img {
        margin-bottom: 5px; }
    #page_talk .talk_box_large p {
      display: block;
      margin-top: 0;
      padding: 0.5em 1em; }
      #page_talk .talk_box_large p:before {
        margin-top: -12px; }
      #page_talk .talk_box_large p:after {
        margin-top: -10px; }
  #page_talk .mv_02 {
    margin-bottom: 0; } }
/*-----------------------------------------
 MEDIA
*/
#page_media .bg {
  background-color: #fee6f1; }
#page_media .section {
  margin-bottom: -40px;
  padding-top: 30px;
  overflow: hidden; }
  #page_media .section:last-child {
    margin-bottom: 0; }
  #page_media .section .year {
    margin-bottom: 30px;
    padding: 3px 1em;
    background-color: #e892ba;
    font-size: 20px;
    font-weight: bold;
    color: #fff; }
  #page_media .section article {
    width: 50%;
    float: left;
    margin-bottom: 80px;
    text-align: center; }
    #page_media .section article .text {
      min-height: 5em; }
      #page_media .section article .text b {
        font-weight: bold; }
        #page_media .section article .text b.magazine {
          font-size: 17px;
          font-size: 1.7rem; }
        #page_media .section article .text b.article {
          color: #ec247c; }
    #page_media .section article .thumb {
      max-width: 50%;
      position: relative;
      display: inline-block;
      text-align: center; }
      #page_media .section article .thumb .icon {
        position: absolute;
        bottom: 0;
        left: 95%; }
    #page_media .section article.wide {
      width: 100%;
      margin-top: 20px; }
      #page_media .section article.wide .text {
        width: 45%;
        float: right;
        padding-top: 2em; }
      #page_media .section article.wide .thumb .icon {
        left: 98%; }
#page_media #coverage section {
  line-height: 1.8; }
  #page_media #coverage section .text_01 {
    margin-bottom: 30px; }
    #page_media #coverage section .text_01 a {
      color: #ff6699; }
  #page_media #coverage section dl {
    margin-bottom: 30px; }
    #page_media #coverage section dl:last-of-type {
      margin-bottom: 0; }
    #page_media #coverage section dl ul {
      margin-top: 10px;
      margin-left: 17px; }
      #page_media #coverage section dl ul li {
        font-weight: bold;
        list-style: disc; }
#page_media #btn_coverage {
  position: fixed;
  left: 0;
  top: 170px;
  width: 122px;
  height: 105px;
  z-index: 400; }
  #page_media #btn_coverage a {
    display: block;
    width: 100%;
    height: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url(../img/btn_coverage.png) top left no-repeat;
    -webkit-background-size: contain;
    background-size: contain; }

@media (max-width: 640px) {
  #page_media .section {
    margin-bottom: 0;
    padding: 10px; }
    #page_media .section + section {
      margin-top: 3.1%; }
    #page_media .section:last-child {
      margin-bottom: 0; }
    #page_media .section .year {
      margin-bottom: 20px;
      padding: 3px 10px;
      font-size: 18px; }
    #page_media .section article {
      width: auto;
      float: none;
      margin-bottom: 12%; }
      #page_media .section article:last-child {
        margin-bottom: 0; }
      #page_media .section article .text {
        min-height: 0px;
        margin-bottom: 3.1%; }
      #page_media .section article .thumb .icon {
        width: 60px;
        bottom: 0;
        left: 95%; }
      #page_media .section article.wide {
        width: 100%; }
        #page_media .section article.wide .text {
          width: 100%;
          padding-top: 0;
          float: none; }
        #page_media .section article.wide .thumb {
          max-width: 80%; }
          #page_media .section article.wide .thumb .icon {
            left: 90%; }
  #page_media #btn_coverage {
    width: 60px;
    height: 60px;
    top: auto;
    bottom: 10px;
    margin-bottom: 17.8%; } }
/*-----------------------------------------
 SITEMAP
*/
#page_sitemap .page_title_01 {
  margin-bottom: 30px; }
#page_sitemap .sitemap_link ul {
  margin-left: 1em;
  margin: 10px 0 10px 1em; }
#page_sitemap .sitemap_link li + li {
  margin-top: 5px; }
#page_sitemap .sitemap_link a {
  color: #535353;
  text-decoration: underline; }

@media (max-width: 640px) {
  #page_sitemap .page_title_01 {
    margin-bottom: 10px; }
  #page_sitemap .sitemap_link {
    margin: 10px; } }
/*-----------------------------------------
 STAFF
*/
#page_staff table p ~ p {
  margin-top: 1em; }
#page_staff table h3 {
  margin-top: 1.5em; }
  #page_staff table h3 + p {
    margin-top: 0.5em; }
#page_staff .company_info {
  margin-top: 30px; }
  #page_staff .company_info .page_title_01 {
    margin-bottom: 20px; }
#page_staff .contact_box {
  padding: 20px 0 30px;
  background-color: #eee;
  margin-top: 50px;
  text-align: center; }
  #page_staff .contact_box h3 {
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-size: 34px;
    font-weight: bold; }
    #page_staff .contact_box h3 + p {
      margin: 0 0 20px; }
  #page_staff .contact_box .mail,
  #page_staff .contact_box .tel {
    margin-top: 30px; }
    #page_staff .contact_box .mail p,
    #page_staff .contact_box .tel p {
      margin-top: 10px; }
  #page_staff .contact_box .button_01 {
    max-width: 100%; }

@media (max-width: 640px) {
  #page_staff .contact_box {
    margin-top: 20px;
    padding: 10px;
    background-color: #fff; }
    #page_staff .contact_box:before {
      display: none; }
    #page_staff .contact_box h3 {
      font-size: 20px; }
      #page_staff .contact_box h3 + p {
        margin: 5px 0 0; }
    #page_staff .contact_box .mail,
    #page_staff .contact_box .tel {
      margin-top: 4.6%; }
      #page_staff .contact_box .mail p,
      #page_staff .contact_box .tel p {
        margin-top: 5px; } }
/*-----------------------------------------
 ACCESS MAP
*/
#page_map .section_map .row_01 {
  margin: 25px 0;
  display: table;
  width: 100%;
  table-layout: fixed; }
  #page_map .section_map .row_01 address {
    display: table-cell;
    vertical-align: bottom; }
  #page_map .section_map .row_01 .link {
    display: table-cell;
    vertical-align: bottom;
    text-align: right; }
    #page_map .section_map .row_01 .link a {
      padding-right: 12px;
      background: url(../img/ico_arrow_05_r.png) right center no-repeat; }
#page_map .section_map .map {
  height: 500px; }
  #page_map .section_map .map iframe {
    width: 100%;
    height: 100%; }
#page_map .section_root_guide .root_box_wrap {
  margin: 50px auto;
  padding-left: 56px;
  font-size: 0; }
#page_map .section_root_guide .root_box {
  display: inline-block;
  width: 225px;
  padding: 19px;
  font-size: 14px; }
  #page_map .section_root_guide .root_box img {
    max-width: 100%; }
  #page_map .section_root_guide .root_box .txt {
    display: table;
    margin-top: 12px;
    width: 100%; }
  #page_map .section_root_guide .root_box .box_l {
    display: table-cell;
    width: 1em;
    vertical-align: top;
    line-height: 1em;
    font-size: 42px;
    font-family: 'Abel', sans-serif;
    font-weight: 300;
    letter-spacing: -0.05em;
    color: #f485b2; }
  #page_map .section_root_guide .root_box .box_r {
    display: table-cell;
    vertical-align: top;
    padding-left: 0.5em; }
#page_map .root_choice {
  background-color: #fef3f7;
  padding: 25px 0 0; }
  #page_map .root_choice h2 {
    margin-bottom: 15px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #f379aa; }
  #page_map .root_choice .btns {
    font-size: 0;
    text-align: center; }
    #page_map .root_choice .btns li {
      display: inline-block;
      font-size: 14px; }
      #page_map .root_choice .btns li + li {
        margin-left: 3px; }
#page_map #bottom_link_area {
  background-color: transparent; }
  #page_map #bottom_link_area > ul {
    padding: 40px 0;
    height: auto; }

@media (max-width: 640px) {
  #page_map .section_map {
    padding: 0 3.125% 4.2em;
    position: relative; }
    #page_map .section_map .row_01 {
      margin: 20px 0 15px;
      display: block; }
      #page_map .section_map .row_01 address {
        display: block; }
      #page_map .section_map .row_01 .link {
        display: block;
        text-align: center;
        position: absolute;
        bottom: 1.4em;
        left: 0;
        right: 0; }
        #page_map .section_map .row_01 .link a {
          padding-right: 12px;
          background: url(../img/ico_arrow_05_r.png) right center no-repeat; }
    #page_map .section_map .map {
      height: 300px; }
  #page_map .section_root_guide .root_box_wrap {
    margin: 20px auto;
    padding: 0; }
  #page_map .section_root_guide .root_box {
    display: block;
    width: auto;
    padding: 14px 3.125%;
    font-size: 12px; }
    #page_map .section_root_guide .root_box .image {
      text-align: center; }
    #page_map .section_root_guide .root_box .txt {
      margin-top: 10px; }
    #page_map .section_root_guide .root_box .box_l {
      line-height: 1em;
      font-size: 21px; }
    #page_map .section_root_guide .root_box .box_r {
      padding-left: 0.5em;
      font-size: 15px;
      font-size: 1.5rem; }
  #page_map .root_choice {
    padding: 25px 3.125% 0; }
    #page_map .root_choice h2 {
      margin-bottom: 10px;
      font-size: 15px; }
    #page_map .root_choice .btns {
      margin: 0 -3px; }
      #page_map .root_choice .btns li {
        width: 50%;
        padding: 3px; }
        #page_map .root_choice .btns li + li {
          margin-left: 0; }
        #page_map .root_choice .btns li img {
          width: 100%; }
  #page_map #bottom_link_area {
    padding: 2% 10px 9.375%; }
    #page_map #bottom_link_area > ul {
      padding: 0; } }
/*-----------------------------------------
 PRIVACY
*/
#page_privacy .privacy_text dt {
  font-weight: bold; }
#page_privacy .privacy_text a {
  color: #f485b2; }
#page_privacy .privacy_text + .privacy_text {
  margin-top: 30px; }

@media (max-width: 640px) {
  #page_privacy .privacy_text + .privacy_text {
    margin-top: 4.6%; }
  #page_privacy dl {
    margin-left: 10px;
    margin-right: 10px; } }
/*-----------------------------------------
 RESORT
*/
#page_resort .page_title_01 {
  background: #f2c71b; }
  #page_resort .page_title_01:before {
    background-image: url(../../special/okinawa_resort/img/index/bg_pattern_flower.png);
    opacity: 1;
    background-position: center; }
#page_resort .inner {
  max-width: 980px !important; }
#page_resort .mv {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 90px;
  background: url(../../special/okinawa_resort/img/index/mv.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  height: 420px; }
  #page_resort .mv h2 {
    margin: 0 auto;
    padding-top: 60px;
    display: block;
    width: 554px;
    text-align: center;
    position: relative; }
    #page_resort .mv h2 img {
      width: 100%; }
    #page_resort .mv h2 span {
      width: 175px;
      display: block;
      position: absolute;
      right: -200px;
      top: 140px; }
  #page_resort .mv img.point {
    margin: 30px auto 0;
    text-align: center;
    width: 580px; }
#page_resort .lead_text_01 {
  text-align: center;
  line-height: 1.8;
  margin-bottom: 60px; }
#page_resort .resort__comment {
  display: none; }
@media (max-width: 460px) {
  #page_resort .resort__comment {
    display: block; } }
@media (max-width: 640px) {
  #page_resort .lead_text_01 {
    margin-top: -40px; } }
#page_resort h3.title {
  margin: 0 auto;
  text-align: center; }
  #page_resort h3.title img.pc_only {
    display: inline; }
#page_resort .resort_contents_01, #page_resort .resort_contents_02, #page_resort .resort_contents_03 {
  padding-bottom: 70px; }
#page_resort .resort_contents_01 .button_01, #page_resort .resort_contents_03 .button_01 {
  width: 480px; }
  #page_resort .resort_contents_01 .button_01 a, #page_resort .resort_contents_03 .button_01 a {
    padding: 26px 20px 10px 0px; }
    #page_resort .resort_contents_01 .button_01 a img, #page_resort .resort_contents_03 .button_01 a img {
      height: 42px;
      margin-right: 20px;
      position: relative;
      top: -7px;
      left: auto; }
  #page_resort .resort_contents_01 .button_01.line, #page_resort .resort_contents_03 .button_01.line {
    background: #4ecd00; }
    #page_resort .resort_contents_01 .button_01.line a, #page_resort .resort_contents_03 .button_01.line a {
      padding: 36px 85px 0px 0px;
      position: relative; }
      #page_resort .resort_contents_01 .button_01.line a img, #page_resort .resort_contents_03 .button_01.line a img {
        margin-right: 70px;
        top: -18px; }
      #page_resort .resort_contents_01 .button_01.line a small, #page_resort .resort_contents_03 .button_01.line a small {
        font-size: 16px;
        position: absolute;
        top: 12px;
        left: 132px; }
#page_resort .resort_contents_01 .button_01 + .button_01, #page_resort .resort_contents_03 .button_01 + .button_01 {
  margin-top: 15px; }
#page_resort .resort_contents_01 {
  background: #f0c6d6; }
  #page_resort .resort_contents_01 h3.title img {
    width: 730px;
    position: relative;
    top: -50px;
    margin-bottom: -10px; }
  #page_resort .resort_contents_01 .store-list {
    padding-bottom: 60px; }
    #page_resort .resort_contents_01 .store-list div {
      width: 315px;
      background: #FFF;
      display: inline-block; }
      #page_resort .resort_contents_01 .store-list div:nth-child(2) {
        margin: 0 12px; }
      #page_resort .resort_contents_01 .store-list div img {
        width: 100%; }
      #page_resort .resort_contents_01 .store-list div p {
        padding: 25px 25px 20px;
        font-size: 16px; }
        #page_resort .resort_contents_01 .store-list div p span.lead {
          color: #ec3183;
          font-size: 20px;
          font-weight: 600;
          display: block;
          margin-bottom: 5px; }
        #page_resort .resort_contents_01 .store-list div p span.name {
          font-weight: 600;
          display: block;
          margin-bottom: 12px; }
          #page_resort .resort_contents_01 .store-list div p span.name b {
            font-size: 22px;
            font-weight: 600; }
        #page_resort .resort_contents_01 .store-list div p small {
          font-size: 16px;
          font-size: 500;
          display: block;
          margin-bottom: 5px; }
          #page_resort .resort_contents_01 .store-list div p small span {
            color: #ec3183;
            min-width: 70px;
            margin-right: 5px;
            display: inline-block; }
  #page_resort .resort_contents_01 p.lead_other {
    font-size: 24px;
    margin: 0 auto 30px;
    text-align: center; }
    #page_resort .resort_contents_01 p.lead_other span {
      color: #ec3183; }
      #page_resort .resort_contents_01 p.lead_other span.pc_only {
        display: inline-block; }
#page_resort .resort_contents_02 {
  background: rgba(248, 208, 47, 0.6);
  overflow: hidden; }
  #page_resort .resort_contents_02 h3.title {
    margin: 0 auto -85px;
    padding-top: 40px; }
    #page_resort .resort_contents_02 h3.title img {
      width: 765px; }
  #page_resort .resort_contents_02 div.img, #page_resort .resort_contents_02 div.text {
    display: inline-block;
    float: left; }
  #page_resort .resort_contents_02 div.img {
    width: 410px;
    margin-right: 20px; }
    #page_resort .resort_contents_02 div.img p {
      font-size: 16px; }
    #page_resort .resort_contents_02 div.img img {
      width: 100%;
      margin: 5px 0 0 0; }
  #page_resort .resort_contents_02 div.text {
    width: 550px;
    font-size: 20px;
    margin-top: 188px;
    line-height: 1.6; }
#page_resort .resort_contents_03 {
  overflow: hidden; }
  #page_resort .resort_contents_03 h3.title {
    margin: 70px auto 35px; }
    #page_resort .resort_contents_03 h3.title img {
      width: 780px; }
  #page_resort .resort_contents_03 div.img img {
    width: 480px; }
    #page_resort .resort_contents_03 div.img img:first-child {
      margin-right: 20px; }
  #page_resort .resort_contents_03 div.text {
    font-size: 20px;
    line-height: 1.6;
    margin: 35px auto 60px; }
#page_resort #bottom_link_area > ul li:nth-child(3) {
  margin-top: 40px; }

@media (max-width: 640px) {
  #page_resort .inner {
    max-width: unset !important;
    padding: 0 10px; }
  #page_resort .page_title_01 h1 {
    padding: 12px 10px 12px 10px; }
  #page_resort .mv {
    width: 100%;
    max-width: unset;
    margin: 0 auto;
    background-position: center bottom;
    height: 350px;
    background: url(../../special/okinawa_resort/img/index/mv-sp.jpg) no-repeat;
    background-size: 100% auto; }
    #page_resort .mv h2 {
      padding-top: 30px;
      width: 88%; }
      #page_resort .mv h2 span {
        width: 110px;
        display: block;
        position: absolute;
        right: 14%;
        top: 180px; }
    #page_resort .mv img.point {
      width: 94%; }
  #page_resort .points {
    transform: translateY(-50%); }
  #page_resort .lead_text_01 {
    margin-bottom: 40px; }
  #page_resort .resort_contents_01, #page_resort .resort_contents_02 {
    padding-bottom: 40px; }
  #page_resort .resort_contents_03 {
    padding-bottom: 0; }
  #page_resort .resort_contents_01 .button_01, #page_resort .resort_contents_03 .button_01 {
    width: 90%; }
    #page_resort .resort_contents_01 .button_01 a, #page_resort .resort_contents_03 .button_01 a {
      padding: 16px 0; }
      #page_resort .resort_contents_01 .button_01 a img, #page_resort .resort_contents_03 .button_01 a img {
        height: 30px;
        margin-right: 0;
        left: 4%;
        top: 50%;
        transform: translateY(-50%);
        position: absolute; }
    #page_resort .resort_contents_01 .button_01.line a, #page_resort .resort_contents_03 .button_01.line a {
      padding: 24px 0 8px;
      position: relative; }
      #page_resort .resort_contents_01 .button_01.line a img, #page_resort .resort_contents_03 .button_01.line a img {
        margin-right: 0;
        top: 50%;
        transform: translateY(-50%); }
      #page_resort .resort_contents_01 .button_01.line a small, #page_resort .resort_contents_03 .button_01.line a small {
        font-size: 10px;
        top: 6px;
        left: 28%; }
  #page_resort .resort_contents_01 .button_01 + .button_01, #page_resort .resort_contents_03 .button_01 + .button_01 {
    margin-top: 15px; }
  #page_resort h3.title img.sp_only {
    display: inline; }
  #page_resort .resort_contents_01 h3.title img {
    width: 90%;
    top: -10px;
    margin-bottom: 0; }
  #page_resort .resort_contents_01 .store-list {
    padding-bottom: 15px; }
    #page_resort .resort_contents_01 .store-list div {
      width: 84%;
      margin: 0 auto 25px;
      display: block; }
      #page_resort .resort_contents_01 .store-list div:nth-child(2) {
        margin: 0 auto 25px; }
      #page_resort .resort_contents_01 .store-list div p {
        padding: 12px 15px;
        font-size: 14px; }
        #page_resort .resort_contents_01 .store-list div p span.lead {
          font-size: 15px;
          margin-bottom: 4px; }
        #page_resort .resort_contents_01 .store-list div p span.name {
          font-size: 15px;
          font-size: 1.5rem;
          font-weight: 600;
          margin-bottom: 8px; }
          #page_resort .resort_contents_01 .store-list div p span.name b {
            font-size: 18px;
            font-weight: 600; }
        #page_resort .resort_contents_01 .store-list div p small {
          font-size: 15px;
          margin-bottom: 2px; }
          #page_resort .resort_contents_01 .store-list div p small span {
            min-width: 60px; }
  #page_resort .resort_contents_01 p.lead_other {
    font-size: 17px;
    margin: 0 auto 20px;
    line-height: 1.4; }
    #page_resort .resort_contents_01 p.lead_other span.sp_only {
      display: inline-block !important;
      margin-left: 5px; }
  #page_resort .resort_contents_02 h3.title {
    margin: 0 auto;
    padding-top: 30px; }
    #page_resort .resort_contents_02 h3.title img {
      width: 90%; }
  #page_resort .resort_contents_02 div.img, #page_resort .resort_contents_02 div.text {
    display: block;
    float: none; }
  #page_resort .resort_contents_02 div.img {
    width: 90%;
    margin: 0 auto 15px; }
    #page_resort .resort_contents_02 div.img p {
      font-size: 11px; }
    #page_resort .resort_contents_02 div.img img {
      margin: 2px 0 0 0; }
  #page_resort .resort_contents_02 div.text {
    width: 90%;
    font-size: 15px;
    margin: 0 auto;
    text-align: justify; }
  #page_resort .resort_contents_03 h3.title {
    margin: 30px auto 20px; }
    #page_resort .resort_contents_03 h3.title img {
      width: 90%; }
  #page_resort .resort_contents_03 div.img {
    margin: 0 auto;
    width: 90%; }
    #page_resort .resort_contents_03 div.img img {
      width: auto; }
      #page_resort .resort_contents_03 div.img img:first-child {
        margin-right: 0;
        margin-bottom: 15px !important; }
  #page_resort .resort_contents_03 div.text {
    font-size: 14px;
    margin: 15px auto 25px;
    width: 90%; }
  #page_resort #bottom_link_area {
    padding: 0 10px 9.375%; }
  #page_resort #bottom_link_area > ul li:nth-child(3) {
    margin-top: 6%; } }
@media (max-width: 400px) {
  #page_resort .mv {
    height: 330px; }
    #page_resort .mv h2 span {
      right: 13%;
      top: 165px; }
    #page_resort .mv img.point {
      margin-top: 115px; }
  #page_resort .resort_contents_01 .button_01 a, #page_resort .resort_contents_03 .button_01 a {
    font-size: 15px; } }
@media (max-width: 360px) {
  #page_resort .page_title_01 h1 {
    letter-spacing: -0.025em;
    font-size: 17px; }
  #page_resort .mv {
    height: 300px; }
    #page_resort .mv h2 {
      padding-top: 35px; }
      #page_resort .mv h2 span {
        width: 95px;
        right: 11%;
        top: 160px; }
  #page_resort .lead_text_01 {
    margin-top: 0px;
    margin-bottom: 60px; }
  #page_resort .sp360_only {
    display: none !important; }
  #page_resort .resort_contents_01, #page_resort .resort_contents_02, #page_resort .resort_contents_03 {
    padding-bottom: 30px; }
  #page_resort .resort_contents_01 .button_01 a, #page_resort .resort_contents_03 .button_01 a {
    letter-spacing: -0.025em; }
  #page_resort .resort_contents_01 .button_01.line a, #page_resort .resort_contents_03 .button_01.line a {
    padding: 20px 0 7px; }
    #page_resort .resort_contents_01 .button_01.line a img, #page_resort .resort_contents_03 .button_01.line a img {
      left: 4%; }
    #page_resort .resort_contents_01 .button_01.line a small, #page_resort .resort_contents_03 .button_01.line a small {
      top: 5px;
      left: 23%; } }
/*-----------------------------------------
 ONLINE interview
*/
#page_online_interview .inner {
  max-width: 980px !important;
  position: relative; }
#page_online_interview .mv {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 75px;
  background: url("../../online_interview/img/index/mv.jpg") no-repeat;
  background-position: center;
  background-size: cover;
  height: 470px;
  position: relative; }
  #page_online_interview .mv h2 {
    padding-top: 70px;
    display: block;
    width: 470px;
    position: relative;
    position: relative;
    float: right; }
    #page_online_interview .mv h2 img {
      width: 100%; }
#page_online_interview #online_interview_contents_wrap .online_contents_01 {
  position: relative; }
  #page_online_interview #online_interview_contents_wrap .online_contents_01 .lead_text_01 {
    text-align: left;
    line-height: 1.9;
    margin-bottom: 80px; }
  @media (max-width: 640px) {
    #page_online_interview #online_interview_contents_wrap .online_contents_01 .text__add {
      padding-top: 20%;
      margin-bottom: -3%; } }
  @media (max-width: 320px) {
    #page_online_interview #online_interview_contents_wrap .online_contents_01 .text__add {
      padding-top: 20%;
      margin-bottom: -3%;
      margin-top: 0; } }
  #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents {
    width: 350px;
    position: absolute;
    top: -250px;
    right: 0; }
    #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents img.icon {
      width: 100%; }
    #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .campagne_02 {
      width: 318px;
      margin: 0 18px 0 auto; }
    @media (max-width: 640px) {
      #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .campagne_02 {
        margin: 0 auto;
        max-width: 300px; } }
    #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .button_01.line {
      background: #4ecd00;
      margin-top: 20px;
      width: 300px;
      line-height: 2em; }
      #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .button_01.line a {
        padding-right: 65px; }
      #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .button_01.line img {
        height: 42px;
        margin-right: 40px;
        position: relative;
        top: 0px;
        left: auto; }
#page_online_interview #online_interview_contents_wrap .online_contents_02 .button_01 {
  width: 480px; }
  #page_online_interview #online_interview_contents_wrap .online_contents_02 .button_01 a {
    padding: 26px 20px 10px 0px; }
    #page_online_interview #online_interview_contents_wrap .online_contents_02 .button_01 a img {
      height: 42px;
      margin-right: 20px;
      position: relative;
      top: -7px;
      left: auto; }

@media (max-width: 640px) {
  #page_online_interview .inner {
    max-width: unset !important;
    padding: 0 10px; }
  #page_online_interview .mv {
    width: 100%;
    max-width: unset;
    margin: 0 auto 28%;
    background-position: center bottom;
    height: 420px;
    background: url("../../online_interview/img/index/mv-sp.jpg") no-repeat;
    background-size: 100% auto; }
    #page_online_interview .mv h2 {
      padding-top: 12%;
      width: 62%;
      margin-right: 2%; }
  #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents {
    width: 100%;
    position: absolute;
    top: -330px;
    right: 0;
    padding: 0 10px; }
    #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents img.icon {
      width: 44%;
      position: relative;
      margin-left: 50%; }
    #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .button_01.line {
      background: #4ecd00;
      margin: 20px auto 0;
      width: 90%;
      clear: left;
      line-height: 2em; }
      #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .button_01.line a {
        padding-right: 65px; }
      #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .button_01.line img {
        height: 30px;
        margin-right: 40px;
        position: relative;
        top: 0px;
        left: auto; }
  #page_online_interview #online_interview_contents_wrap .online_contents_02 .button_01 {
    width: 90%; }
    #page_online_interview #online_interview_contents_wrap .online_contents_02 .button_01 a {
      padding: 16px 0; }
      #page_online_interview #online_interview_contents_wrap .online_contents_02 .button_01 a img {
        height: 30px;
        transform: translateY(-50%);
        top: 50%;
        margin-right: 0;
        left: 4%;
        position: absolute; } }
@media (max-width: 550px) {
  #page_online_interview .mv {
    height: 350px;
    background-size: 100% auto; }
    #page_online_interview .mv h2 {
      padding-top: 9%; }
  #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents {
    top: -300px; } }
@media (max-width: 400px) {
  #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents img.icon {
    width: 50%;
    margin-left: 48%; } }
@media (max-width: 360px) {
  #page_online_interview .mv {
    margin: 0 auto 20%; } }
@media (max-width: 320px) {
  #page_online_interview .mv {
    margin: 0 auto 15%; }
  #page_online_interview #online_interview_contents_wrap .online_contents_01 .app_contents .button_01.line {
    margin: 30px auto 0; } }
.campagne_03 img {
  margin: 0 auto;
  display: block;
  max-width: 400px; }

@media (max-width: 640px) {
  .campagne_03 img {
    max-width: 350px;
    margin-bottom: 24px; } }
@media (max-width: 640px) {
  .campagne_03 img {
    max-width: 300px; } }
@media (min-width: 641px) {
  #page_top.top .sec_mainvisual .buttons .button_01.pink.pointer a small.area {
    left: 50% !important;
    transform: translate(-50%, 0); } }
@media (min-width: 641px) {
  #page_top.top .sec_mainvisual .buttons .button_01.purple.pointer a small.area {
    left: 50% !important;
    transform: translate(-50%, 0); } }
@media (min-width: 641px) {
  #page_top.top .sec_flow .head-box .button_01 a small.area {
    left: 50%;
    transform: translate(-50%, 0); } }
#page_top.top .sec_flow .salon .button_01 a small.area {
  left: 50%;
  transform: translate(-50%, 0); }

/*-----------------------------------------
Plusone Lounnge
*/
.top__lounge-link:hover {
  text-decoration: none;
  color: rgba(83, 83, 83, 0.5); }

#page_lounge .inner {
  max-width: 980px !important; }
#page_lounge .mv {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 82px;
  background: url("../../lounge/img/index/lounge_back.jpg") no-repeat;
  background-position: center;
  background-size: cover;
  height: 510px;
  position: relative; }
  #page_lounge .mv img {
    position: absolute;
    top: 45px;
    right: 31px; }
#page_lounge .button_01 {
  position: relative; }
  #page_lounge .button_01 img {
    height: 32px;
    position: absolute;
    top: 12px;
    left: 16px; }
#page_lounge .lead_text {
  text-align: center;
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 17px;
  position: relative;
  z-index: 2; }
#page_lounge .lounge-about__img-wrapper {
  text-align: center;
  margin-top: -65px;
  margin-bottom: 24px; }
#page_lounge .lounge__text--color {
  font-weight: bold;
  color: #f485b2; }
#page_lounge .lounge__time {
  margin-bottom: 80px; }
  #page_lounge .lounge__time .lounge__time-main {
    position: relative;
    max-width: 398px;
    text-align: center;
    margin: 0 auto 16px auto;
    padding: 38px 0 36px 0;
    border: 1px dotted #bda5e8;
    right: 4px; }
  #page_lounge .lounge__time .lounge__time-main:after {
    position: absolute;
    z-index: -10;
    top: 6px;
    left: 9px;
    content: "";
    height: 101%;
    width: 100.5%;
    background-color: #F485B2;
    opacity: 0.14; }
  #page_lounge .lounge__time .lounge__time-open {
    font-size: 29px;
    margin-bottom: 13px;
    position: relative;
    padding-left: 106px;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; }
    #page_lounge .lounge__time .lounge__time-open span {
      position: absolute;
      font-size: 17px;
      font-weight: bold;
      background-color: #f485b2;
      color: #fff;
      border-radius: 15px;
      left: 56px;
      top: 51%;
      transform: translateY(-50%);
      height: 25px;
      width: 93px;
      display: flex;
      justify-content: center;
      align-items: center; }
  #page_lounge .lounge__time .lounge__time-close {
    position: relative;
    padding-left: 33px; }
    #page_lounge .lounge__time .lounge__time-close span {
      font-size: 15px;
      font-weight: bold;
      background-color: #f485b2;
      border-radius: 50%;
      padding: 5px;
      color: #fff;
      width: 17px;
      height: 17px;
      position: absolute;
      left: 133px;
      top: -1px;
      display: flex;
      justify-content: center;
      align-items: center; }
#page_lounge .lounge__intro {
  margin-bottom: 77px; }
  #page_lounge .lounge__intro .lounge__intro-title {
    color: #fff;
    border-radius: 4px;
    font-size: 1.6rem;
    padding: 6px 0 6px 40px;
    font-weight: bold;
    background-color: #F485B2;
    position: relative; }
  #page_lounge .lounge__intro .lounge__intro-title:before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #fff; }
  #page_lounge .lounge__intro .lounge__intro-text {
    font-size: 1.6rem;
    line-height: 1.75em;
    text-align: justify; }
    #page_lounge .lounge__intro .lounge__intro-text span {
      background-color: rgba(244, 133, 178, 0.3); }
  #page_lounge .lounge__intro .lounge__intro-text:first-of-type {
    padding-top: 20px;
    padding-bottom: 16px; }
  #page_lounge .lounge__intro .lounge__intro-text:last-of-type {
    padding-bottom: 37px; }
#page_lounge .button_01 {
  position: relative;
  line-height: 1;
  border-radius: 10px;
  width: auto;
  max-width: 430px;
  margin-top: 38px; }
  #page_lounge .button_01 a {
    font-size: 20px;
    font-weight: bold;
    padding: 20px 0; }
  #page_lounge .button_01 img {
    height: 32px;
    position: absolute;
    top: 12px;
    left: 16px; }
#page_lounge .button_01:before {
  content: "";
  z-index: 0;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background-image: url(../img/bg_pattern_01_white.png);
  opacity: 0.1; }
#page_lounge .lounge__points-title {
  position: relative;
  color: #f485b2;
  font-size: 24px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 76px;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%); }
  #page_lounge .lounge__points-title .text-dot {
    position: relative; }
  #page_lounge .lounge__points-title .text-dot:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -9px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #BDA5E8; }
  #page_lounge .lounge__points-title img {
    position: absolute;
    left: -84px;
    top: -65px; }
#page_lounge .lounge__points__wrapper {
  background-color: #FAF7FF;
  padding-top: 63px;
  padding-bottom: 74px; }
#page_lounge .lounge__points__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
#page_lounge .lounge__points {
  position: relative;
  width: 32%;
  margin-bottom: 35px; }
#page_lounge .lounge-points__text {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background-color: #f485b2;
  padding: 5px 0; }
#page_lounge .lounge-points__text-detail {
  background-color: #fff;
  padding: 20px 20px 24px;
  height: 107px;
  font-size: 1.6rem;
  line-height: 1.75em;
  text-align: justify;
  background-image: url("../../lounge/img/index/heart.png");
  background-repeat: no-repeat;
  background-position: right 13px bottom 11px;
  background-size: 50px 73px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }
@media screen and (max-width: 990px) {
  #page_lounge .lounge-points__text-detail {
    height: 160px; } }
#page_lounge .fukidashi {
  position: absolute;
  left: -10px;
  top: -20px; }
#page_lounge #bottom_link_area {
  background-color: #FAF7FF;
  padding-bottom: 70px; }
  #page_lounge #bottom_link_area ul {
    height: auto; }
  #page_lounge #bottom_link_area .category-list__item {
    margin: 0; }

@media (max-width: 640px) {
  #page_lounge .inner {
    max-width: unset !important;
    padding: 0 10px; }
  #page_lounge .inner-wide {
    padding: 0 30px; }
  #page_lounge .button_01 {
    margin-top: 7px; }
  #page_lounge .mv {
    height: 250px;
    margin-bottom: 56px; }
    #page_lounge .mv img {
      top: 17px;
      right: 2px;
      width: 259px; }
  #page_lounge .lead_text {
    font-size: 15px;
    margin-bottom: 2px; }
  #page_lounge .lounge-about__img-wrapper {
    margin-top: -43px; }
  #page_lounge .lounge__time {
    margin-bottom: 39px; }
    #page_lounge .lounge__time .lounge__time-main {
      max-width: 273px;
      padding: 28px 0 18px 0; }
    #page_lounge .lounge__time .lounge__time-main:after {
      top: 4px;
      left: 6px; }
    #page_lounge .lounge__time .lounge__time-open {
      font-size: 20px;
      padding-left: 78px;
      margin-bottom: 3px; }
      #page_lounge .lounge__time .lounge__time-open span {
        font-size: 12px;
        height: 17px;
        width: 64px;
        left: 40px; }
    #page_lounge .lounge__time .lounge__time-close {
      font-size: 12px;
      padding-left: 30px; }
      #page_lounge .lounge__time .lounge__time-close span {
        font-size: 10px;
        padding: 5px;
        left: 94px;
        top: 3px; }
  #page_lounge .lounge__intro {
    padding: 0 21px;
    margin-bottom: 25px; }
    #page_lounge .lounge__intro .lounge__intro-title {
      font-size: 1.5rem;
      padding-top: 3px;
      padding-bottom: 3px; }
    #page_lounge .lounge__intro .lounge__intro-text {
      font-size: 1.5rem; }
    #page_lounge .lounge__intro .lounge__intro-text:first-of-type {
      padding-top: 17px;
      padding-bottom: 26px; }
  #page_lounge .lounge__points-title {
    font-size: 17px;
    margin-bottom: 45px;
    line-height: 1.5; }
    #page_lounge .lounge__points-title .text-dot:after {
      width: 4px;
      height: 4px;
      bottom: -5px; }
    #page_lounge .lounge__points-title .sp_only {
      display: inline-block; }
    #page_lounge .lounge__points-title img {
      left: -56px;
      top: -47px;
      width: 90px; }
  #page_lounge .lounge__points__wrapper {
    background-color: #FAF7FF;
    padding-top: 41px;
    padding-bottom: 70px; }
  #page_lounge .lounge__points__container {
    justify-content: center; }
  #page_lounge .lounge__points {
    width: 350px;
    max-width: 100%;
    margin-bottom: 40px; }
  #page_lounge .lounge-points__text {
    font-size: 17px; }
  #page_lounge .lounge-points__text-detail {
    font-size: 1.5rem;
    padding: 17px 18px 24px;
    height: auto; }
  #page_lounge .fukidashi:nth-of-type(even) {
    left: 78%; }
  #page_lounge .button_01 {
    max-width: 276px; }
    #page_lounge .button_01 a {
      font-size: 17px; }
  #page_lounge #bottom_link_area {
    background-color: #fff;
    padding: 26px 10px 32px; }
    #page_lounge #bottom_link_area .category-list__item {
      margin: 0; } }
#page_top .lounge-points .body {
  padding-top: 42px; }
#page_top .lounge-points .box_02 .pc_only {
  display: block !important; }
#page_top .lounge-points .box_02 .sp_only {
  display: none !important; }
#page_top .lounge-points .box_02 img {
  margin: 0 0 40px;
  width: 819px;
  max-width: 100%; }
#page_top .lounge-points .box_02 h5 {
  line-height: 2; }

@media (max-width: 640px) {
  #page_top .sec_flow .lounge-points .pc_only {
    display: none !important; }
  #page_top .sec_flow .lounge-points .sp_only {
    display: block !important; }
  #page_top .sec_flow .lounge-points .button_01 a {
    padding: 20px 0; } }
