@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:wght@500&family=EB+Garamond:wght@500&display=swap");
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Common
# Header
# Content
    ## Toppage
    ## Blog
# Footer
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Common
--------------------------------------------------------------*/
body {
  visibility: hidden;
  width: 100%;
  margin: 0 auto;
  font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: 4.84375vw;
  line-height: 1.6;
  color: #000000;
  letter-spacing: 1px;
}

@media (min-width: 768px) {
  body {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  body {
    font-size: 16px;
  }
}

ul, ol {
  list-style: none;
}

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

img {
  max-width: 100%;
  width: auto;
  height: auto;
}

.aligncenter {
  display: block;
  margin: 0 auto 1.0rem;
}

@media (min-width: 768px) {
  .alignleft {
    float: left;
    margin: 0 1.0rem 1.0rem 0;
  }
}

@media (min-width: 768px) {
  .alignright {
    float: right;
    margin: 0 0 1.0rem 1.0rem;
  }
}

.hidden-phone {
  display: none;
}

@media (min-width: 768px) {
  .hidden-phone {
    display: inherit;
  }
}

.visible-phone {
  display: inherit;
}

@media (min-width: 768px) {
  .visible-phone {
    display: none;
  }
}

.inner {
  width: 96%;
  max-width: 1100px;
  margin: 0 auto;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
header {
  padding: 0.7rem 0;
  position: relative;
}

@media (min-width: 768px) {
  header {
    padding-top: 3.0rem;
    padding-bottom: 3.0rem;
    border-bottom: #000000 1px solid;
  }
}

header #logo {
  text-align: center;
}

header #logo a {
  display: inline-block;
  padding: 0 1.0rem;
}

header #logo a img {
  width: 45.625vw;
  max-width: 292px;
  display: block;
  margin: 0 auto;
}

@media (max-width: 767px) {
  header #sp_menu {
    position: absolute;
    display: block;
    right: 0;
    cursor: pointer;
    top: 50%;
    width: 3.0rem;
    height: 3.0rem;
    padding: 1.0rem;
    transform: translateY(-50%);
  }
  header #sp_menu .inside {
    position: relative;
    overflow: visible;
  }
  header #sp_menu .inside span {
    display: block;
    background: #000000;
    height: 3px;
    width: 100%;
    position: absolute;
    top: 6px;
    left: 0;
    transition-duration: 200ms;
  }
  header #sp_menu .inside span:first-child {
    top: 0;
  }
  header #sp_menu .inside span:last-child {
    top: 12px;
  }
  header #sp_menu.active span:first-child {
    top: 6px;
    transform: rotate(45deg);
  }
  header #sp_menu.active span:nth-child(2) {
    opacity: 0;
  }
  header #sp_menu.active span:last-child {
    top: 6px;
    transform: rotate(-45deg);
  }
}

@media (max-width: 767px) {
  #main-navi {
    position: absolute;
    display: none;
    width: 100%;
    background: #ffffff;
    z-index: 9;
  }
  #main-navi.active {
    display: block;
  }
  #main-navi ul li {
    display: block;
    border-bottom: #c9c9c9 1px solid;
  }
  #main-navi ul li a {
    padding: 0.8rem;
    display: block;
    text-align: center;
    font-size: 4.375vw;
  }
  #main-navi ul li.menu-item-has-children ul li {
    border-bottom: none;
    border-top: #c9c9c9 1px dashed;
  }
  #main-navi ul li.menu-item-has-children ul li a {
    font-size: 80%;
  }
}

@media (min-width: 768px) {
  #main-navi ul {
    text-align: center;
  }
  #main-navi ul li {
    display: inline-block;
  }
  #main-navi ul li a {
    font-size: 1.5vw;
    display: block;
    padding: 1.8rem 0.5rem;
  }
}

@media (min-width: 768px) and (min-width: 1200px) {
  #main-navi ul li a {
    font-size: 17px;
  }
}

@media (min-width: 768px) {
  #main-navi ul li.menu-item-has-children {
    position: relative;
  }
  #main-navi ul li.menu-item-has-children ul {
    position: absolute;
    top: 0;
    left: 0;
    width: 175%;
    text-align: left;
    opacity: 0;
    z-index: -1;
    visibility: hidden;
  }
  #main-navi ul li.menu-item-has-children ul li {
    background-color: rgba(255, 255, 255, 0.8);
    display: block;
  }
  #main-navi ul li.menu-item-has-children ul li a {
    padding: 0.75rem;
  }
  #main-navi ul li.menu-item-has-children ul.show {
    visibility: visible;
    z-index: 100;
    opacity: 1;
    top: 100%;
    transition: all .5s ease;
  }
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.wp-pagenavi {
  text-align: center;
  margin: 2.0rem auto;
}

.wp-pagenavi > * {
  display: inline-block;
  line-height: 1.0;
  padding: 0.5rem;
  margin: 0 0.25rem;
  border-radius: 0.25rem;
  border: 1px solid #000000;
}

.wp-pagenavi .current {
  border-color: transparent;
}

#top #mv {
  max-width: 1100px;
  margin: 0 auto 1.5rem;
}

@media (min-width: 768px) {
  #top #mv {
    margin-bottom: 5.0rem;
  }
}

#top .policy {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .policy {
    margin-bottom: 4.0rem;
  }
}

#top .policy h2 {
  width: 69.6875%;
  margin: 0 auto 0.5rem;
}

@media (min-width: 768px) {
  #top .policy h2 {
    width: 446px;
  }
}

#top .policy p {
  color: #003f6e;
  width: 90%;
  margin: 0 auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-size: 5vw;
}

@media (min-width: 768px) {
  #top .policy p {
    font-size: 1.5vw;
    width: 400px;
  }
}

@media (min-width: 1200px) {
  #top .policy p {
    font-size: 18px;
  }
}

#top .brand {
  margin-bottom: 2.0rem;
}

#top .brand h2 {
  width: 69.6875%;
  margin: 0 auto 0.5rem;
}

@media (min-width: 768px) {
  #top .brand h2 {
    width: 446px;
  }
}

#top .brand ul.brand_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#top .brand ul.brand_list li {
  width: 100%;
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #top .brand ul.brand_list li {
    width: 48%;
  }
}

#top .salon {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .salon {
    margin-bottom: 4.0rem;
  }
}

#top .salon h2 {
  margin-bottom: 1.0rem;
}

#top .salon .salon_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

@media (min-width: 768px) {
  #top .salon .salon_list::after {
    content: '';
    width: 31%;
  }
  #top .salon .salon_list::before {
    content: '';
    width: 31%;
    order: 1;
  }
}

#top .salon .salon_list li {
  width: 90%;
  text-align: center;
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .salon .salon_list li {
    width: 31%;
  }
}

#top .salon .salon_list li h3 {
  font-weight: normal;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #000000;
}

#top .salon .salon_list li h4 {
  border: 3px ridge #000000;
  text-align: center;
  line-height: 2.4;
  font-weight: normal;
  margin-bottom: 0.5rem;
  font-size: 5vw;
}

@media (min-width: 768px) {
  #top .salon .salon_list li h4 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #top .salon .salon_list li h4 {
    font-size: 18px;
  }
}

#top .salon .salon_list li p {
  line-height: 2.0;
}

#top .salon .salon_list li p.tel {
  font-size: 1.2em;
}

#top .salon .salon_list li .link {
  text-align: center;
  margin-top: 0.5rem;
}

#top .salon .salon_list li .link a {
  display: inline-block;
  width: 46%;
  margin: 0 1%;
  text-align: center;
  line-height: 2.0;
  border: 2px ridge #777777;
}

#top .consultant {
  position: relative;
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .consultant {
    margin-bottom: 4.0rem;
  }
}

#top .consultant h2 {
  width: 85%;
  margin: 0 auto 1.0rem;
  text-align: center;
}

#top .consultant h3 {
  width: 85%;
  text-align: center;
  font-weight: normal;
  margin: 0 auto 2.0rem;
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #top .consultant h3 {
    font-size: 1.33333vw;
    margin-bottom: 4.0rem;
  }
}

@media (min-width: 1200px) {
  #top .consultant h3 {
    font-size: 16px;
  }
}

#top .consultant a.btn {
  display: block;
  width: 40%;
  margin: 3.0rem auto 3.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #top .consultant a.btn {
    margin: 0 auto;
  }
}

@media (min-width: 768px) {
  #top .consultant .bg {
    position: relative;
    display: block;
    margin: 0 auto;
  }
}

@media (min-width: 768px) {
  #top .consultant .inside {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
  }
}

#top .column {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .column {
    margin-bottom: 4.0rem;
  }
}

#top .column h2 {
  width: 61.875%;
  max-width: 396px;
  margin: 0 auto 1.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #top .column h2 {
    margin-bottom: 2.0rem;
  }
}

#top .column ul.column_list {
  width: 80%;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #top .column ul.column_list {
    display: flex;
  }
}

#top .column ul.column_list li {
  padding: 0 1.5rem 1.5rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  #top .column ul.column_list li {
    margin: 0;
    padding: 2.0rem;
    width: 33.333333%;
  }
}

@media (max-width: 767px) {
  #top .column ul.column_list li:not(:last-of-type) {
    border-bottom: 1px solid #000000;
  }
}

@media (min-width: 768px) {
  #top .column ul.column_list li:not(:last-of-type) {
    border-right: 1px solid #000000;
  }
}

#top .column ul.column_list li .date {
  display: block;
  text-align: center;
  margin-bottom: 0.5rem;
}

#top .column ul.column_list li h3 {
  font-weight: normal;
  font-size: 4.84375vw;
}

@media (min-width: 768px) {
  #top .column ul.column_list li h3 {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #top .column ul.column_list li h3 {
    font-size: 16px;
  }
}

#top .column a.btn {
  display: block;
  width: 40%;
  margin: 3.0rem auto 3.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #top .column a.btn {
    margin: 0 auto;
  }
}

#top .youtube, #top .style_movie {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .youtube, #top .style_movie {
    margin-bottom: 4.0rem;
  }
}

#top .youtube h2, #top .style_movie h2 {
  width: 69.6875%;
  max-width: 446px;
  margin: 0 auto 1.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #top .youtube h2, #top .style_movie h2 {
    margin-bottom: 2.0rem;
  }
}

@media (min-width: 768px) {
  #top .youtube ul#movie_list, #top .style_movie ul#movie_list {
    max-width: 1100px;
    margin: 0 auto 3.0rem;
    display: flex;
    justify-content: space-between;
  }
}

#top .youtube ul#movie_list li, #top .style_movie ul#movie_list li {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #top .youtube ul#movie_list li, #top .style_movie ul#movie_list li {
    width: 32%;
    padding-top: 18%;
    margin: 0;
  }
}

#top .youtube ul#movie_list li iframe, #top .style_movie ul#movie_list li iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  #top .youtube ul#style_movie_list, #top .style_movie ul#style_movie_list {
    max-width: 1100px;
    margin: 0 auto 3.0rem;
    display: flex;
    justify-content: space-between;
  }
}

#top .youtube ul#style_movie_list li, #top .style_movie ul#style_movie_list li {
  width: 100%;
}

@media (min-width: 768px) {
  #top .youtube ul#style_movie_list li, #top .style_movie ul#style_movie_list li {
    width: 32%;
    margin: 0;
  }
}

#top .youtube ul#style_movie_list li a figure, #top .style_movie ul#style_movie_list li a figure {
  width: 100%;
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: 56.25%;
  margin-bottom: 1.0rem;
}

#top .youtube ul#style_movie_list li a figure img, #top .style_movie ul#style_movie_list li a figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  max-height: 9999px;
  height: auto;
}

@media (min-width: 768px) {
  #top .youtube ul#style_movie_list li a figure img, #top .style_movie ul#style_movie_list li a figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    max-width: 9999px;
    height: 100%;
  }
}

#top .youtube a.btn, #top .style_movie a.btn {
  display: block;
  width: 40%;
  margin: 3.0rem auto 3.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #top .youtube a.btn, #top .style_movie a.btn {
    margin: 0 auto;
  }
}

#top .recruit {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .recruit {
    margin-bottom: 4.0rem;
  }
}

#top .recruit h2 {
  text-align: center;
}

#top .recruit a.btn {
  display: block;
  width: 40%;
  margin: 3.0rem auto 3.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #top .recruit a.btn {
    margin: 2.0rem auto;
  }
}

#top .about {
  background-color: #231815;
  color: #ffffff;
  padding: 2.0rem 0;
}

@media (min-width: 768px) {
  #top .about {
    padding: 4.0rem 0;
  }
}

@media (max-width: 767px) {
  #top .about .inner {
    width: 84.375%;
  }
}

@media (min-width: 768px) {
  #top .about .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

#top .about .inner figure {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #top .about .inner figure {
    width: 50%;
    margin: 0;
  }
}

@media (min-width: 768px) {
  #top .about .inner .text {
    width: 45%;
    margin: 0;
  }
}

#top .about .inner .item {
  margin-bottom: 2.0rem;
}

#top .about .inner .item:first-of-type {
  border-bottom: 1px dotted #ffffff;
}

#top .about .inner .item h2 {
  border-bottom: 2px solid #ffffff;
  margin-bottom: 1.0rem;
  font-size: 7.03125vw;
}

@media (min-width: 768px) {
  #top .about .inner .item h2 {
    font-size: 2.5vw;
  }
}

@media (min-width: 1200px) {
  #top .about .inner .item h2 {
    font-size: 30px;
  }
}

#top .about .inner .item h3 {
  margin-bottom: 0.5rem;
}

#top .about .inner .item p {
  margin-bottom: 1.5rem;
}

#top .about .inner .item p a {
  color: #ffffff;
}

#top .about .inner .item a.youtube {
  color: #ffffff;
  text-align: center;
  width: 100%;
  display: block;
  padding: 0.25em;
  margin: 0 auto 1.0rem;
  border-radius: 0.5em;
  background-color: #ff0000;
}

@media (min-width: 768px) {
  #top .about .inner .item a.youtube {
    width: 70%;
    margin-left: 0;
  }
}

#top .about .inner .item a.youtube img {
  height: 2.0em;
  vertical-align: middle;
}

#top .about .inner .item a.youtube span {
  vertical-align: middle;
}

#top .about .inner .item a.instagram {
  color: #ffffff;
  text-align: center;
  width: 100%;
  display: block;
  padding: 0.25em;
  margin: 0 auto 1.0rem;
  border-radius: 0.5em;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
}

@media (min-width: 768px) {
  #top .about .inner .item a.instagram {
    width: 70%;
    margin-left: 0;
  }
}

#top .about .inner .item a.instagram img {
  height: 1.1em;
  vertical-align: middle;
  margin-right: 0.25em;
}

#top .about .inner .item a.instagram span {
  vertical-align: middle;
}

.page h1 {
  text-align: center;
  margin-bottom: 2.0rem;
}

.page main {
  padding-top: 2.0rem;
  margin-bottom: 3.0rem;
}

@media (min-width: 768px) {
  .page main {
    margin-bottom: 6.0rem;
  }
}

@media (min-width: 768px) {
  #column .flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
}

#column .flex .contents {
  width: 100%;
  margin: 0 0 3.0rem;
}

@media (min-width: 768px) {
  #column .flex .contents {
    width: 65%;
  }
}

#column .flex .contents h2 {
  text-align: center;
  margin-bottom: 1.0rem;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #column .flex .contents h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex .contents h2 {
    font-size: 25px;
  }
}

#column .flex .contents #entries li {
  margin-bottom: 1.0rem;
}

#column .flex .contents #entries li a {
  display: flex;
  width: 100%;
  align-items: flex-start;
}

#column .flex .contents #entries li a figure {
  width: 40%;
  overflow: hidden;
  position: relative;
  height: 0;
  padding-bottom: 30%;
}

#column .flex .contents #entries li a figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 9999px;
  height: 100%;
}

#column .flex .contents #entries li a dl {
  width: 60%;
  padding: 0 1.0rem;
  text-align: left;
}

#column .flex #sidebar {
  width: 100%;
  margin: 0 0 3.0rem;
  padding: 1.0rem;
  border: 1px solid #000000;
}

@media (min-width: 768px) {
  #column .flex #sidebar {
    width: 30%;
  }
}

#column .flex #sidebar .pickup {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #column .flex #sidebar .pickup {
    margin-bottom: 3.0rem;
  }
}

#column .flex #sidebar .pickup h2 {
  text-align: center;
  margin-bottom: 1.0rem;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .pickup h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .pickup h2 {
    font-size: 25px;
  }
}

#column .flex #sidebar .pickup .control {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.0rem;
}

#column .flex #sidebar .pickup .control a {
  width: calc(50% - 0.5em);
  border: 1px solid #000000;
  color: #000000;
  line-height: 2.0;
  text-align: center;
  cursor: pointer;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .pickup .control a {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .pickup .control a {
    font-size: 14px;
  }
}

#column .flex #sidebar .pickup .control a.active {
  background-color: #000000;
  color: #ffffff;
}

#column .flex #sidebar .pickup #popular {
  display: none;
}

#column .flex #sidebar .pickup #popular.active {
  display: block;
}

#column .flex #sidebar .pickup #popular li {
  border-bottom: 1px solid #333333;
  padding-bottom: 1.0rem;
  margin-bottom: 1.0rem;
}

#column .flex #sidebar .pickup #popular li a {
  display: flex;
}

#column .flex #sidebar .pickup #popular li figure {
  width: 30%;
  margin-right: 3%;
  height: 0;
  padding-bottom: 30%;
  position: relative;
  overflow: hidden;
}

#column .flex #sidebar .pickup #popular li figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 9999px;
  height: 100%;
}

#column .flex #sidebar .pickup #popular li .cont {
  width: 67%;
}

#column .flex #sidebar .pickup #popular li .cont .meta {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .pickup #popular li .cont .meta {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .pickup #popular li .cont .meta {
    font-size: 13px;
  }
}

#column .flex #sidebar .pickup #popular li .cont p.title {
  margin-bottom: 0.5rem;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .pickup #popular li .cont p.title {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .pickup #popular li .cont p.title {
    font-size: 14px;
  }
}

#column .flex #sidebar .pickup #popular li .cont p.date {
  color: #c9c9c9;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .pickup #popular li .cont p.date {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .pickup #popular li .cont p.date {
    font-size: 13px;
  }
}

#column .flex #sidebar .pickup #archive {
  display: none;
}

#column .flex #sidebar .pickup #archive.active {
  display: block;
}

#column .flex #sidebar .category {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #column .flex #sidebar .category {
    margin-bottom: 3.0rem;
  }
}

#column .flex #sidebar .category h2 {
  text-align: left;
  margin-bottom: 1.0rem;
  border-bottom: 1px solid #333333;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .category h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .category h2 {
    font-size: 25px;
  }
}

#column .flex #sidebar .category ul.categories {
  margin-bottom: 1.5rem;
}

#column .flex #sidebar .category ul.categories li {
  margin-bottom: 0.5rem;
}

#column .flex #sidebar .category ul.children {
  margin-bottom: 0;
  margin-top: 0.5rem;
}

#column .flex #sidebar .category ul.children li {
  margin-bottom: 0.5rem;
}

#column .flex #sidebar .category .search h3 {
  border-left: 5px solid #777777;
  padding-left: 10px;
  line-height: 1.0;
  margin-bottom: 0.5rem;
  font-weight: normal;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .category .search h3 {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .category .search h3 {
    font-size: 13px;
  }
}

#column .flex #sidebar .category .search form {
  display: flex;
  align-items: center;
}

#column .flex #sidebar .category .search form input[type="text"] {
  border: 1px solid #c9c9c9;
  width: 84%;
  margin-right: 1%;
  height: 2.2em;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .category .search form input[type="text"] {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .category .search form input[type="text"] {
    font-size: 14px;
  }
}

#column .flex #sidebar .category .search form button {
  width: 15%;
}

#column .flex #sidebar .category .search form button img {
  display: block;
  margin: 0;
}

#column .flex #sidebar .keyword {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #column .flex #sidebar .keyword {
    margin-bottom: 3.0rem;
  }
}

#column .flex #sidebar .keyword h2 {
  text-align: left;
  margin-bottom: 1.0rem;
  border-bottom: 1px solid #333333;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .keyword h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .keyword h2 {
    font-size: 25px;
  }
}

#column .flex #sidebar .keyword ul.keywords li {
  display: inline-block;
  border: 1px solid #333333;
  padding: 0.5em;
  margin: 0 0.5em 0.5em 0;
  line-height: 1.0;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #column .flex #sidebar .keyword ul.keywords li {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #sidebar .keyword ul.keywords li {
    font-size: 13px;
  }
}

#column .flex #sidebar .keyword ul.keywords li a {
  color: #777777;
}

#column .flex #single h1 {
  font-weight: normal;
  margin-bottom: 0.5rem;
  font-size: 8.4375vw;
}

@media (min-width: 768px) {
  #column .flex #single h1 {
    font-size: 2.5vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #single h1 {
    font-size: 30px;
  }
}

#column .flex #single .meta {
  text-align: right;
  padding-bottom: 0.5rem;
  border-bottom: 1px dotted #000000;
  margin-bottom: 1.0rem;
}

#column .flex #single .meta .date {
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #column .flex #single .meta .date {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #single .meta .date {
    font-size: 13px;
  }
}

#column .flex #single .cont {
  width: 96%;
  margin: 0 auto;
}

#column .flex #single .cont p {
  margin-bottom: 1.5rem;
}

#column .flex #single .cont img.aligncenter {
  max-width: 80%;
  margin: 0 auto 1.0rem;
  float: none;
  display: block;
}

@media (min-width: 768px) {
  #column .flex #single .cont img.aligncenter {
    max-width: 60%;
  }
}

#column .flex #single .cont img.alignleft {
  max-width: 80%;
  margin: 0 auto 1.0rem;
  float: none;
  display: block;
}

@media (min-width: 768px) {
  #column .flex #single .cont img.alignleft {
    max-width: 35%;
    float: left;
    margin: 0 1.0rem 1.0rem 0;
  }
}

#column .flex #single .cont img.alignright {
  max-width: 80%;
  margin: 0 auto 1.0rem;
  float: none;
  display: block;
}

@media (min-width: 768px) {
  #column .flex #single .cont img.alignright {
    max-width: 35%;
    float: right;
    margin: 0 0 1.0rem 1.0rem;
  }
}

#column .flex #single .cont iframe {
  max-width: 80%;
  margin: 0 auto;
}

#column .flex #single .cont h2 {
  font-size: 4.6875vw;
  text-align: left;
  border-top: solid 1px #B0B0B0;
  border-bottom: solid 1px #B0B0B0;
  background: #F8F8F8;
  margin: 1.0em 0;
  padding: 0.5em;
}

@media (min-width: 768px) {
  #column .flex #single .cont h2 {
    font-size: 1.75vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #single .cont h2 {
    font-size: 21px;
  }
}

#column .flex #single .cont h3 {
  font-size: 4.375vw;
  margin: 1.0em 0.5em;
  padding: 0.5em 0;
  border-bottom: dashed 1px #B0B0B0;
}

@media (min-width: 768px) {
  #column .flex #single .cont h3 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #column .flex #single .cont h3 {
    font-size: 18px;
  }
}

#column .flex #single .cont h4 {
  font-weight: bold;
}

#column #recommend {
  width: 100%;
  border: 1px solid #000000;
  padding: 1.0rem;
}

@media (min-width: 768px) {
  #column #recommend {
    padding: 1.5rem 2.0rem;
  }
}

#column #recommend h2 {
  margin-bottom: 1.0rem;
  border-bottom: 1px solid #333333;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #column #recommend h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #column #recommend h2 {
    font-size: 25px;
  }
}

@media (min-width: 768px) {
  #column #recommend ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}

#column #recommend ul li {
  margin-bottom: 1.0rem;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #column #recommend ul li {
    width: 46%;
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #column #recommend ul li {
    font-size: 13px;
  }
}

#column #recommend ul li a {
  display: flex;
}

#column #recommend ul li figure {
  width: 30%;
  margin-right: 3%;
  position: relative;
  overflow: hidden;
  padding-bottom: 30%;
}

#column #recommend ul li figure img {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
}

#column #recommend ul li div {
  width: 67%;
}

#column #recommend ul li div h3 {
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #column #recommend ul li div h3 {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #column #recommend ul li div h3 {
    font-size: 13px;
  }
}

#column #recommend ul li div .salon {
  text-align: right;
  color: #c9c9c9;
}

#consultant .consultant-text {
  text-align: center;
  margin-bottom: 2.0rem;
  font-size: 5vw;
}

@media (min-width: 768px) {
  #consultant .consultant-text {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #consultant .consultant-text {
    font-size: 18px;
  }
}

#consultant ul.consultant-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

#consultant ul.consultant-menu:after {
  content: '';
  width: 22%;
  max-width: 224px;
}

#consultant ul.consultant-menu:before {
  content: '';
  width: 22%;
  order: 1;
  max-width: 224px;
}

#consultant ul.consultant-menu li {
  width: 46%;
  margin-bottom: 2.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #consultant ul.consultant-menu li {
    width: 22%;
    max-width: 224px;
  }
}

#consultant ul.consultant-menu li h3 {
  font-weight: normal;
  color: #777777;
  margin-bottom: 1.0rem;
  font-size: 5.3125vw;
}

@media (min-width: 768px) {
  #consultant ul.consultant-menu li h3 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #consultant ul.consultant-menu li h3 {
    font-size: 18px;
  }
}

#consultant ul.consultant-menu li p.more {
  display: inline-block;
  border-radius: 0.75rem;
  border: 1px solid #000000;
  padding: 0.4em 1.0em;
  letter-spacing: 0.2em;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #consultant ul.consultant-menu li p.more {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #consultant ul.consultant-menu li p.more {
    font-size: 14px;
  }
}

#philosophy h2 {
  padding-top: 1.0rem;
  width: 90%;
  max-width: 370px;
  margin: 0 auto 1.0rem;
}

#philosophy ul.philosophy_list {
  clear: both;
  padding: 1.0rem;
}

@media (min-width: 768px) {
  #philosophy ul.philosophy_list {
    padding: 1.5rem;
    width: 90%;
    margin: 0 auto;
  }
}

#philosophy ul.philosophy_list li {
  border-bottom: 1px solid #000000;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #philosophy ul.philosophy_list li {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #philosophy ul.philosophy_list li {
    font-size: 16px;
  }
}

#philosophy .contents2 {
  width: 90%;
  margin: 0 auto;
}

#philosophy .contents2 p {
  margin-bottom: 1.0rem;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #philosophy .contents2 p {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #philosophy .contents2 p {
    font-size: 18px;
  }
}

@media (min-width: 768px) {
  #philosophy .corporate, #philosophy .business {
    max-width: 800px;
    margin: 0 auto 3.0rem;
  }
}

#philosophy .corporate img.alignleft {
  width: 40%;
  margin-right: 10%;
}

#philosophy .business img.alignright {
  width: 40%;
  margin-left: 10%;
}

#hair-style h1 {
  font-size: 6.25vw;
}

@media (min-width: 768px) {
  #hair-style h1 {
    font-size: 2.66667vw;
  }
}

@media (min-width: 1200px) {
  #hair-style h1 {
    font-size: 32px;
  }
}

#hair-style section {
  width: 96%;
  margin: 0 auto 2.0rem;
}

#hair-style section h2 {
  text-align: center;
  margin-bottom: 1.0rem;
  font-size: 5.625vw;
}

@media (min-width: 768px) {
  #hair-style section h2 {
    font-size: 1.83333vw;
  }
}

@media (min-width: 1200px) {
  #hair-style section h2 {
    font-size: 22px;
  }
}

#hair-style section ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (min-width: 768px) {
  #hair-style section ul {
    justify-content: center;
  }
}

#hair-style section ul li {
  width: 46%;
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #hair-style section ul li {
    width: 30%;
    margin: 0 1% 1.0rem;
  }
}

#hair-style section ul li a figure {
  display: block;
  overflow: hidden;
  position: relative;
  padding-bottom: 133.333%;
}

#hair-style section ul li a figure img {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}

#hair-style section ul li a figure span {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  line-height: 2.5;
  background-color: #ffffff;
  text-align: center;
  width: 4.0em;
  font-size: 1.2em;
}

#hair-style section ul li:nth-of-type(1) a figure span {
  color: #ffd700;
}

#hair-style section ul li:nth-of-type(2) a figure span {
  color: #c0c0c0;
}

#hair-style section ul li:nth-of-type(3) a figure span {
  color: #ac6b25;
}

#hair-style section a.btn {
  display: block;
  width: 40%;
  margin: 0 auto 2.0rem;
  text-align: center;
}

@media (min-width: 768px) {
  #hair-style section a.btn {
    margin: 0 auto 3.0rem;
  }
}

#hair-style #movie section ul li {
  width: 100%;
}

@media (min-width: 768px) {
  #hair-style #movie section ul li {
    width: 30%;
    margin: 0 1% 1.0rem;
  }
}

#hair-style #movie section ul li a figure {
  padding-bottom: 56.25%;
}

#brand h1 img {
  width: 50%;
  max-width: 446px;
}

#brand .brand_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #brand .brand_list {
    margin-bottom: 4.0rem;
  }
}

#brand .brand_list li {
  width: 100%;
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #brand .brand_list li {
    width: 48%;
  }
}

#brand .contens1 {
  max-width: 760px;
  margin: 0 auto 4.0rem;
}

#brand .contens1 h2 {
  padding-top: 1.0rem;
  text-align: center;
}

#brand .contens1 h3 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  color: #003f6e;
  margin-bottom: 0.5em;
  padding: 0 1.0rem;
  font-size: 5.625vw;
}

@media (min-width: 768px) {
  #brand .contens1 h3 {
    font-size: 2.41667vw;
    text-align: center;
    padding: 0;
  }
}

@media (min-width: 1200px) {
  #brand .contens1 h3 {
    font-size: 29px;
  }
}

#brand .contens1 p {
  max-width: 640px;
  margin: 0 auto 1.0em;
  padding: 0 1.0rem;
  line-height: 2.0;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #brand .contens1 p {
    font-size: 1.5vw;
    padding: 0;
  }
}

@media (min-width: 1200px) {
  #brand .contens1 p {
    font-size: 18px;
  }
}

#brand .contens1 div.pic {
  margin-bottom: 1.0rem;
}

#brand .contens1 ul.brand_img {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#brand .contens1 ul.brand_img li {
  max-width: 281px;
  width: 44%;
  margin: 0 2% 1.0rem;
}

#brand .salon_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

#brand .salon_list li {
  width: 90%;
  text-align: center;
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #brand .salon_list li {
    width: 48%;
  }
}

#brand .salon_list li h3 {
  font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight: normal;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #000000;
  color: #000000;
  font-size: 4.84375vw;
}

@media (min-width: 768px) {
  #brand .salon_list li h3 {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #brand .salon_list li h3 {
    font-size: 16px;
  }
}

#brand .salon_list li h4 {
  border: 3px ridge #000000;
  text-align: center;
  line-height: 2.4;
  font-weight: normal;
  margin-bottom: 0.5rem;
  font-size: 5vw;
}

@media (min-width: 768px) {
  #brand .salon_list li h4 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #brand .salon_list li h4 {
    font-size: 18px;
  }
}

#brand .salon_list li p {
  line-height: 2.0;
}

#brand .salon_list li p.tel {
  font-size: 1.2em;
}

#brand .salon_list li .link {
  text-align: center;
  margin-top: 0.5rem;
}

#brand .salon_list li .link a {
  display: inline-block;
  width: 46%;
  margin: 0 1%;
  text-align: center;
  line-height: 2.0;
  border: 2px ridge #777777;
}

#recruit h2 {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #recruit h2 {
    margin-bottom: 3.0rem;
  }
}

#recruit section.cta {
  margin-bottom: 4.0rem;
  border-top: 5px solid #002845;
  border-bottom: 5px solid #002845;
  padding: 1.5rem 0;
  text-align: center;
}

@media (min-width: 768px) {
  #recruit section.cta {
    margin-bottom: 6.0rem;
    padding: 2.5rem 0 2.5rem;
  }
}

#recruit section.cta h3 {
  color: #002845;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #recruit section.cta h3 {
    font-size: 2vw;
  }
}

@media (min-width: 1200px) {
  #recruit section.cta h3 {
    font-size: 24px;
  }
}

#recruit section.cta p {
  color: #002845;
  margin-bottom: 1.0rem;
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #recruit section.cta p {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #recruit section.cta p {
    font-size: 14px;
  }
}

#recruit section.cta .buttons a {
  display: block;
  margin: 1.0em auto 0;
  padding: 0.75em 0;
  line-height: 1.0;
  text-align: center;
  width: 16.0em;
  border-radius: 1.25em;
  border: 1px solid #002845;
  color: #002845;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #recruit section.cta .buttons a {
    font-size: 1.16667vw;
    margin: 0 1.0em;
  }
}

@media (min-width: 1200px) {
  #recruit section.cta .buttons a {
    font-size: 14px;
    display: inline-block;
  }
}

#recruit section.cta .buttons a:last-of-type {
  background-color: #002845;
  color: #ffffff;
}

#recruit section.cta p.insta {
  text-align: center;
  margin: 2.0em 0;
}

#recruit .movie {
  width: 96%;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #recruit .movie {
    max-width: 900px;
    display: flex;
    justify-content: space-between;
  }
}

#recruit .movie .movie_wrap {
  width: 100%;
  margin: 0 0 1.0rem;
  overflow: hidden;
  height: 0;
  padding-bottom: 177.82805%;
  position: relative;
}

@media (min-width: 768px) {
  #recruit .movie .movie_wrap {
    width: 49.11111%;
    padding-bottom: 87.33333%;
    margin: 0;
  }
}

#recruit .movie .movie_wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#recruit .concept {
  text-align: center;
  margin-top: 4.0rem;
  margin-bottom: 4.0rem;
}

@media (min-width: 768px) {
  #recruit .concept {
    margin-top: 6.0rem;
    margin-bottom: 6.0rem;
  }
}

#recruit .concept h2 {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  #recruit .concept h2 {
    margin-bottom: 4.0rem;
  }
}

#recruit .concept h2 img {
  width: 97.96875vw;
}

@media (min-width: 768px) {
  #recruit .concept h2 img {
    width: 40.91667vw;
    max-width: 491px;
  }
}

#recruit .concept p {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  margin-bottom: 2.5rem;
  font-size: 6.25vw;
}

@media (min-width: 768px) {
  #recruit .concept p {
    font-size: 2.33333vw;
  }
}

@media (min-width: 1200px) {
  #recruit .concept p {
    font-size: 28px;
  }
}

#recruit .concept p strong {
  font-weight: 500;
  font-size: 6.40625vw;
}

@media (min-width: 768px) {
  #recruit .concept p strong {
    font-size: 2.66667vw;
  }
}

@media (min-width: 1200px) {
  #recruit .concept p strong {
    font-size: 32px;
  }
}

#recruit .concept figure {
  display: block;
  margin-bottom: 2.5rem;
}

#recruit .concept ul {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

#recruit .concept ul li {
  width: 31%;
  margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
  #recruit .concept ul li {
    width: 16%;
    margin-bottom: 0;
  }
}

#recruit .style {
  text-align: center;
  margin-bottom: 4.0rem;
}

@media (min-width: 768px) {
  #recruit .style {
    margin-bottom: 6.0rem;
  }
}

#recruit .style h2 {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  #recruit .style h2 {
    margin-bottom: 4.0rem;
  }
}

#recruit .style h2 img {
  width: 34.21875vw;
}

@media (min-width: 768px) {
  #recruit .style h2 img {
    width: 14.33333vw;
    max-width: 172px;
  }
}

#recruit .style #style_slide {
  width: 100%;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #recruit .style #style_slide {
    margin-bottom: 4.0rem;
  }
}

#recruit .style p {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #recruit .style p {
    margin-bottom: 3.0rem;
  }
}

#recruit .style a {
  display: block;
  margin: 0 auto;
  width: 18.0em;
  line-height: 1.0;
  padding: 0.5em 0;
  text-align: center;
  border: 1px solid #000000;
}

#recruit .feature {
  padding: 4.0rem 0 1.0rem;
  background-color: #f5f5f8;
}

@media (min-width: 768px) {
  #recruit .feature {
    padding: 6.0rem 0 1.0rem;
  }
}

#recruit .feature h2 {
  text-align: center;
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  #recruit .feature h2 {
    margin-bottom: 4.0rem;
  }
}

#recruit .feature h2 img {
  width: 59.375vw;
}

@media (min-width: 768px) {
  #recruit .feature h2 img {
    width: 24.83333vw;
    max-width: 298px;
  }
}

#recruit .feature hgroup {
  width: 100%;
  margin-bottom: 2.0rem;
  padding: 0 2% 1.0rem;
  border-bottom: 1px solid #777777;
  text-align: center;
}

@media (min-width: 768px) {
  #recruit .feature hgroup {
    margin-bottom: 3.0rem;
  }
}

#recruit .feature hgroup h4 {
  font-family: 'EB Garamond', serif;
  font-weight: 500;
  color: #7a5700;
  margin-bottom: 1.0rem;
  font-size: 5.625vw;
}

@media (min-width: 768px) {
  #recruit .feature hgroup h4 {
    font-size: 2vw;
  }
}

@media (min-width: 1200px) {
  #recruit .feature hgroup h4 {
    font-size: 24px;
  }
}

#recruit .feature hgroup h3 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  font-size: 6.25vw;
}

@media (min-width: 768px) {
  #recruit .feature hgroup h3 {
    font-size: 2.66667vw;
  }
}

@media (min-width: 1200px) {
  #recruit .feature hgroup h3 {
    font-size: 32px;
  }
}

#recruit .feature ul.feature_list li {
  max-width: 1100px;
  margin: 0 auto 3.0rem;
}

@media (min-width: 768px) {
  #recruit .feature ul.feature_list li .item {
    margin-bottom: 5.0rem;
    display: flex;
    justify-content: space-between;
  }
}

#recruit .feature ul.feature_list li .item p.cont {
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #recruit .feature ul.feature_list li .item p.cont {
    width: 62%;
  }
}

#recruit .feature ul.feature_list li .item img {
  display: block;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #recruit .feature ul.feature_list li .item img {
    width: 35%;
    margin: 0;
  }
}

#recruit .salary {
  text-align: center;
  margin-bottom: 4.0rem;
}

@media (min-width: 768px) {
  #recruit .salary {
    margin-bottom: 6.0rem;
  }
}

#recruit .salary h2 {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  #recruit .salary h2 {
    margin-bottom: 4.0rem;
  }
}

#recruit .salary h2 img {
  width: 101.71875vw;
}

@media (min-width: 768px) {
  #recruit .salary h2 img {
    width: 42.5vw;
    max-width: 510px;
  }
}

#recruit .salary ul {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media (min-width: 768px) {
  #recruit .salary ul {
    justify-content: center;
  }
}

#recruit .salary ul li {
  width: 49%;
  margin: 0 0 0.5rem;
}

@media (min-width: 768px) {
  #recruit .salary ul li {
    width: 31%;
    margin: 0 1% 1.0rem;
  }
}

#recruit .career {
  text-align: center;
  margin-bottom: 4.0rem;
}

@media (min-width: 768px) {
  #recruit .career {
    margin-bottom: 6.0rem;
  }
}

#recruit .career h2 {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  #recruit .career h2 {
    margin-bottom: 4.0rem;
  }
}

#recruit .career h2 img {
  width: 80.3125vw;
}

@media (min-width: 768px) {
  #recruit .career h2 img {
    width: 33.58333vw;
    max-width: 403px;
  }
}

#recruit .career picture {
  display: block;
  margin: 0 auto;
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

#recruit .message {
  text-align: center;
  padding: 4.0rem 0;
  background-color: #f5f5f8;
}

@media (min-width: 768px) {
  #recruit .message {
    padding: 6.0rem 0;
  }
}

#recruit .message h2 {
  width: 96%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  #recruit .message h2 {
    margin-bottom: 4.0rem;
  }
}

#recruit .message h2 img {
  width: 94.21875vw;
}

@media (min-width: 768px) {
  #recruit .message h2 img {
    width: 39.33333vw;
    max-width: 472px;
  }
}

#recruit .message ul li {
  border: 1px solid #c9c9c9;
  padding: 1.5rem;
  margin: 0 auto 1.5rem;
  width: 92%;
  max-width: 880px;
  background-color: #ffffff;
  text-align: left;
}

@media (min-width: 768px) {
  #recruit .message ul li {
    padding: 2.0rem;
  }
}

#recruit .message ul li .head {
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  #recruit .message ul li .head {
    display: table;
    width: 100%;
  }
}

#recruit .message ul li .head figure {
  width: 80%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #recruit .message ul li .head figure {
    display: table-cell;
    vertical-align: middle;
    width: 45%;
    margin: 0;
  }
}

@media (min-width: 768px) {
  #recruit .message ul li .head hgroup {
    width: 50%;
    display: table-cell;
    vertical-align: middle;
  }
}

#recruit .message ul li .head hgroup h4 {
  font-size: 4.6875vw;
}

@media (min-width: 768px) {
  #recruit .message ul li .head hgroup h4 {
    font-size: 1.83333vw;
  }
}

@media (min-width: 1200px) {
  #recruit .message ul li .head hgroup h4 {
    font-size: 22px;
  }
}

#recruit .message ul li .head hgroup p {
  padding-bottom: 0.5rem;
  margin-bottom: 1.0rem;
  border-bottom: 1px solid #b9ad64;
  font-size: 2.8125vw;
}

@media (min-width: 768px) {
  #recruit .message ul li .head hgroup p {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #recruit .message ul li .head hgroup p {
    font-size: 14px;
  }
}

#recruit .message ul li .head hgroup h3 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  font-size: 5.625vw;
}

@media (min-width: 768px) {
  #recruit .message ul li .head hgroup h3 {
    font-size: 2.16667vw;
  }
}

@media (min-width: 1200px) {
  #recruit .message ul li .head hgroup h3 {
    font-size: 26px;
  }
}

#recruit .message ul li .message_cont {
  font-size: 3.28125vw;
}

@media (min-width: 768px) {
  #recruit .message ul li .message_cont {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #recruit .message ul li .message_cont {
    font-size: 14px;
  }
}

#recruit .message ul li a.interview {
  display: block;
  margin: 2.0rem auto 0;
  text-align: center;
  padding: 0.75em 0;
  line-height: 1.0;
  border-radius: 1.25em;
  color: #ffffff;
  background-color: #002845;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #recruit .message ul li a.interview {
    width: 22.0em;
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #recruit .message ul li a.interview {
    font-size: 14px;
  }
}

#recruit .requirements h2 {
  text-align: center;
}

@media (min-width: 768px) {
  #recruit .requirements h2 {
    margin-bottom: 4.0rem;
  }
}

#recruit .requirements h2 img {
  width: 80.3125vw;
}

@media (min-width: 768px) {
  #recruit .requirements h2 img {
    width: 33.58333vw;
    max-width: 403px;
  }
}

#recruit .requirements table {
  width: 100%;
  margin: 0 auto 2.0rem;
  border-collapse: collapse;
  font-size: 3.4375vw;
}

@media (min-width: 768px) {
  #recruit .requirements table {
    width: 86%;
    max-width: 800px;
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #recruit .requirements table {
    font-size: 16px;
  }
}

#recruit .requirements table th, #recruit .requirements table td {
  display: block;
  border-top: 1px solid #000000;
  padding: 0.75rem 1.0rem;
  text-align: left;
}

@media (min-width: 768px) {
  #recruit .requirements table th, #recruit .requirements table td {
    display: table-cell;
    vertical-align: top;
  }
}

#recruit .requirements table tr:last-of-type th, #recruit .requirements table tr:last-of-type td {
  border-bottom: 1px solid #000000;
}

#recruit .requirements table th {
  font-weight: normal;
}

@media (min-width: 768px) {
  #recruit .requirements table th {
    width: 8.0em;
  }
}

#recruit .requirements table td dl dt {
  float: left;
}

#recruit .requirements table td dl dd {
  padding-left: 7.0em;
  margin-bottom: 1.0rem;
}

#recruit .requirements table td dl dd:after {
  content: '';
  visibility: hidden;
  clear: both;
  height: 0;
  display: block;
}

#recruit .requirements .buttons {
  text-align: center;
}

#recruit .requirements .buttons a {
  display: block;
  margin: 1.0em auto 0;
  padding: 0.75em 0;
  line-height: 1.0;
  text-align: center;
  width: 16.0em;
  border-radius: 1.25em;
  border: 1px solid #002845;
  color: #002845;
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #recruit .requirements .buttons a {
    font-size: 1.16667vw;
    margin: 0 1.0em;
  }
}

@media (min-width: 1200px) {
  #recruit .requirements .buttons a {
    font-size: 14px;
    display: inline-block;
  }
}

#recruit .requirements .buttons a:last-of-type {
  background-color: #002845;
  color: #ffffff;
}

#recruit .requirements p.insta {
  text-align: center;
  margin: 2.0em 0;
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #recruit .requirements p.insta {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #recruit .requirements p.insta {
    font-size: 14px;
  }
}

#entry-form h2, #contact-us h2 {
  font-weight: normal;
  margin-bottom: 1.0rem;
  text-align: center;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #entry-form h2, #contact-us h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #entry-form h2, #contact-us h2 {
    font-size: 25px;
  }
}

#entry-form h2 + p, #contact-us h2 + p {
  text-align: center;
  margin-bottom: 2.0rem;
}

#entry-form .mw_wp_form, #contact-us .mw_wp_form {
  width: 92%;
  max-width: 800px;
  margin: 0 auto 3.0rem;
}

@media (min-width: 768px) {
  #entry-form .mw_wp_form dl, #contact-us .mw_wp_form dl {
    display: flex;
    flex-wrap: wrap;
  }
}

#entry-form .mw_wp_form dl dt, #contact-us .mw_wp_form dl dt {
  margin-bottom: 0.5rem;
  position: relative;
  font-weight: bold;
}

#entry-form .mw_wp_form dl dt .required, #contact-us .mw_wp_form dl dt .required {
  margin-left: 1.0em;
  background-color: #cc0000;
  color: #ffffff;
  padding: 0 0.25em;
  font-size: 90%;
}

@media (min-width: 768px) {
  #entry-form .mw_wp_form dl dt, #contact-us .mw_wp_form dl dt {
    width: 30%;
  }
}

#entry-form .mw_wp_form dl dd, #contact-us .mw_wp_form dl dd {
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  #entry-form .mw_wp_form dl dd, #contact-us .mw_wp_form dl dd {
    width: 70%;
  }
}

#entry-form .mw_wp_form dl dd input[type="text"], #entry-form .mw_wp_form dl dd input[type="number"], #entry-form .mw_wp_form dl dd input[type="email"], #entry-form .mw_wp_form dl dd textarea, #contact-us .mw_wp_form dl dd input[type="text"], #contact-us .mw_wp_form dl dd input[type="number"], #contact-us .mw_wp_form dl dd input[type="email"], #contact-us .mw_wp_form dl dd textarea {
  width: 100%;
  border: 1px solid #c9c9c9;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #entry-form .mw_wp_form dl dd input[type="text"], #entry-form .mw_wp_form dl dd input[type="number"], #entry-form .mw_wp_form dl dd input[type="email"], #entry-form .mw_wp_form dl dd textarea, #contact-us .mw_wp_form dl dd input[type="text"], #contact-us .mw_wp_form dl dd input[type="number"], #contact-us .mw_wp_form dl dd input[type="email"], #contact-us .mw_wp_form dl dd textarea {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #entry-form .mw_wp_form dl dd input[type="text"], #entry-form .mw_wp_form dl dd input[type="number"], #entry-form .mw_wp_form dl dd input[type="email"], #entry-form .mw_wp_form dl dd textarea, #contact-us .mw_wp_form dl dd input[type="text"], #contact-us .mw_wp_form dl dd input[type="number"], #contact-us .mw_wp_form dl dd input[type="email"], #contact-us .mw_wp_form dl dd textarea {
    font-size: 14px;
  }
}

#entry-form .mw_wp_form dl dd input[type="text"].half, #entry-form .mw_wp_form dl dd input[type="number"].half, #entry-form .mw_wp_form dl dd input[type="email"].half, #entry-form .mw_wp_form dl dd textarea.half, #contact-us .mw_wp_form dl dd input[type="text"].half, #contact-us .mw_wp_form dl dd input[type="number"].half, #contact-us .mw_wp_form dl dd input[type="email"].half, #contact-us .mw_wp_form dl dd textarea.half {
  width: 48%;
}

#entry-form .mw_wp_form dl dd input#school, #entry-form .mw_wp_form dl dd input#department, #contact-us .mw_wp_form dl dd input#school, #contact-us .mw_wp_form dl dd input#department {
  width: 40%;
}

#entry-form .mw_wp_form dl dd input#age, #contact-us .mw_wp_form dl dd input#age {
  width: 4.0em;
}

#entry-form .mw_wp_form dl dd .mwform-tel-field input[type="text"], #contact-us .mw_wp_form dl dd .mwform-tel-field input[type="text"] {
  width: 27%;
}

#entry-form .mw_wp_form button, #contact-us .mw_wp_form button {
  background-color: #000000;
  color: #ffffff;
  text-align: center;
  width: 7.0em;
  padding: 0.25em 0;
  border-radius: 0.3em;
  margin: 1.5rem auto;
  display: block;
}

#contest .contents p.summary {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  color: #003f6e;
  font-weight: bold;
  margin-bottom: 1.5rem;
  text-align: center;
  font-size: 5.3125vw;
}

@media (min-width: 768px) {
  #contest .contents p.summary {
    font-size: 1.66667vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #contest .contents p.summary {
    font-size: 20px;
  }
}

#contest .contents article {
  width: 100%;
  background-color: #f5f5f5;
  padding: 1.5em 0.5em 0;
  border-top: 1px solid #bdac7f;
  border-bottom: 1px solid #bdac7f;
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #contest .contents article {
    font-size: 1.66667vw;
    width: 96%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 3.5em 5.5em 1.5rem;
    border-left: 1px solid #bdac7f;
    border-right: 1px solid #bdac7f;
  }
}

@media (min-width: 1200px) {
  #contest .contents article {
    font-size: 20px;
  }
}

#contest .contents article h2 {
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: bold;
  background-image: url("./images/h2-contest-sp.png");
  background-size: 100% auto;
  background-position: top center;
  padding: 1.3em 0 1.1em;
  margin-bottom: 1.0rem;
  line-height: 1;
  font-size: 5.9375vw;
}

@media (min-width: 768px) {
  #contest .contents article h2 {
    background-image: url("./images/h2-contest-pc.png");
    padding: 2.0em 0 1.5em;
    margin-bottom: 1.5rem;
    font-size: 2.66667vw;
  }
}

@media (min-width: 1200px) {
  #contest .contents article h2 {
    font-size: 32px;
  }
}

#contest .contents ol {
  width: 84.375vw;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #contest .contents ol {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 71.66667vw;
    max-width: 860px;
  }
}

#contest .contents ol li {
  width: 100%;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  #contest .contents ol li {
    width: 48%;
    margin-bottom: 2.0rem;
  }
}

#contest .contents ol li p.rank {
  color: #003f6e;
  border: 1px solid #003f6e;
  text-align: center;
  padding: 0.2em 0;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: bold;
  font-size: 3.90625vw;
}

@media (min-width: 768px) {
  #contest .contents ol li p.rank {
    font-size: 1.66667vw;
  }
}

@media (min-width: 1200px) {
  #contest .contents ol li p.rank {
    font-size: 20px;
  }
}

#contest .contents ol li p.rank strong {
  font-size: 5.9375vw;
}

@media (min-width: 768px) {
  #contest .contents ol li p.rank strong {
    font-size: 2.5vw;
  }
}

@media (min-width: 1200px) {
  #contest .contents ol li p.rank strong {
    font-size: 30px;
  }
}

#contest .contents ol li h3 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  text-align: center;
  font-weight: bold;
  margin-bottom: 0.5em;
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #contest .contents ol li h3 {
    font-size: 2vw;
  }
}

@media (min-width: 1200px) {
  #contest .contents ol li h3 {
    font-size: 24px;
  }
}

#contest .contents ol li .rank-body {
  width: 100%;
  margin: 1.0rem auto 0;
}

#contest .contents ol li .rank-body .movie_outer {
  margin: 0 auto 1.0rem;
}

#contest .contents ol li .rank-body .movie_outer .movie {
  height: 0;
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
}

#contest .contents ol li .rank-body .movie_outer .movie video, #contest .contents ol li .rank-body .movie_outer .movie iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#contest .contents ol li .rank-body figure {
  overflow: hidden;
  position: relative;
  margin-bottom: 1.0rem;
  padding-bottom: 100%;
  height: 0;
}

#contest .contents ol li .rank-body figure img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  height: 100%;
  max-width: 9999px;
}

#contest .contents ol li:first-of-type {
  width: 100%;
}

#contest .contents ol li:first-of-type .rank-body {
  width: 90%;
}

@media (min-width: 768px) {
  #contest .contents ol li:first-of-type .rank-body .movie_outer {
    width: 53.33333vw;
    height: 30vw;
  }
}

@media (min-width: 1200px) {
  #contest .contents ol li:first-of-type .rank-body .movie_outer {
    width: 640px;
    height: 360px;
  }
}

@media (max-width: 767px) {
  #eyebrow main,
  #mens-make main {
    padding-top: 0;
  }
}

#eyebrow main #special ul, #eyebrow main #coupon ul,
#mens-make main #special ul,
#mens-make main #coupon ul {
  width: 92.93333vw;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #eyebrow main #special ul, #eyebrow main #coupon ul,
  #mens-make main #special ul,
  #mens-make main #coupon ul {
    width: 83.16667vw;
    max-width: 998px;
  }
}

#eyebrow main #special ul li, #eyebrow main #coupon ul li,
#mens-make main #special ul li,
#mens-make main #coupon ul li {
  width: 100%;
  margin-bottom: 1.0rem;
  position: relative;
}

#eyebrow main #special ul li .buttons, #eyebrow main #coupon ul li .buttons,
#mens-make main #special ul li .buttons,
#mens-make main #coupon ul li .buttons {
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  #eyebrow main #special ul li .buttons, #eyebrow main #coupon ul li .buttons,
  #mens-make main #special ul li .buttons,
  #mens-make main #coupon ul li .buttons {
    left: initial;
    justify-content: flex-end;
    right: 0.5rem;
  }
}

#eyebrow main #special ul li .buttons a, #eyebrow main #coupon ul li .buttons a,
#mens-make main #special ul li .buttons a,
#mens-make main #coupon ul li .buttons a {
  width: 41.17647%;
  text-align: center;
  line-height: 1.0;
  padding: 0.5em 0;
  margin: 0 0.5rem;
  color: #ffffff;
  background-color: #998400;
  border-radius: 0.5rem;
  font-weight: bold;
  font-size: 4.53333vw;
}

@media (min-width: 768px) {
  #eyebrow main #special ul li .buttons a, #eyebrow main #coupon ul li .buttons a,
  #mens-make main #special ul li .buttons a,
  #mens-make main #coupon ul li .buttons a {
    font-size: 2.16667vw;
    width: 18.08333vw;
    max-width: 217px;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #special ul li .buttons a, #eyebrow main #coupon ul li .buttons a,
  #mens-make main #special ul li .buttons a,
  #mens-make main #coupon ul li .buttons a {
    font-size: 26px;
  }
}

#eyebrow main #special hgroup h3,
#mens-make main #special hgroup h3 {
  width: 5.5em;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  color: #ffffff;
  background-color: #142f80;
  line-height: 1.0;
  padding: 0.5em 0;
  margin: 0 auto 1.5rem;
  text-align: center;
  font-size: 6.93333vw;
}

@media (min-width: 768px) {
  #eyebrow main #special hgroup h3,
  #mens-make main #special hgroup h3 {
    margin-bottom: 2.5rem;
    font-size: 2.91667vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #special hgroup h3,
  #mens-make main #special hgroup h3 {
    font-size: 35px;
  }
}

#eyebrow main #special hgroup h2,
#mens-make main #special hgroup h2 {
  text-align: center;
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #special hgroup h2,
  #mens-make main #special hgroup h2 {
    margin-bottom: 3.0rem;
  }
}

#eyebrow main #special hgroup h2 img,
#mens-make main #special hgroup h2 img {
  width: 90vw;
}

@media (min-width: 768px) {
  #eyebrow main #special hgroup h2 img,
  #mens-make main #special hgroup h2 img {
    width: 71.58333vw;
    max-width: 859px;
  }
}

#eyebrow main #index,
#mens-make main #index {
  width: 91.73333vw;
  margin: 2.0rem auto 2.0rem;
  padding: 2.0rem 1.5rem;
  background-color: #ececea;
  border: #7d7d7d;
}

@media (min-width: 768px) {
  #eyebrow main #index,
  #mens-make main #index {
    width: 54.83333vw;
    max-width: 658px;
    padding: 2.5rem 7.0rem;
    margin: 4.0rem auto 6.0rem;
  }
}

#eyebrow main #index h2,
#mens-make main #index h2 {
  text-align: center;
  line-height: 1.0;
  padding: 0.5rem 0;
  margin-bottom: 1.5rem;
  border-top: 1px solid #7d7d7d;
  border-bottom: 1px solid #7d7d7d;
  font-weight: 500;
  font-size: 4.4vw;
}

@media (min-width: 768px) {
  #eyebrow main #index h2,
  #mens-make main #index h2 {
    font-size: 1.83333vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #index h2,
  #mens-make main #index h2 {
    font-size: 22px;
  }
}

#eyebrow main #index ol,
#mens-make main #index ol {
  list-style: decimal;
  list-style-position: inside;
  padding: 0 1.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #index ol,
  #mens-make main #index ol {
    padding: 0 2.5rem;
  }
}

#eyebrow main #index ol li,
#mens-make main #index ol li {
  text-indent: -1.2em;
  padding-left: 1.2em;
  margin-bottom: 1.5em;
  font-size: 3.6vw;
}

@media (min-width: 768px) {
  #eyebrow main #index ol li,
  #mens-make main #index ol li {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #index ol li,
  #mens-make main #index ol li {
    font-size: 18px;
  }
}

#eyebrow main #policy, #eyebrow main #tie_up, #eyebrow main #voice,
#mens-make main #policy,
#mens-make main #tie_up,
#mens-make main #voice {
  width: 91.46667vw;
  margin: 0 auto 4.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #policy, #eyebrow main #tie_up, #eyebrow main #voice,
  #mens-make main #policy,
  #mens-make main #tie_up,
  #mens-make main #voice {
    width: 133.33333vw;
    margin: 0 auto 6.0rem;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #policy, #eyebrow main #tie_up, #eyebrow main #voice,
  #mens-make main #policy,
  #mens-make main #tie_up,
  #mens-make main #voice {
    width: 1000px;
  }
}

#eyebrow main #policy h2, #eyebrow main #tie_up h2, #eyebrow main #voice h2,
#mens-make main #policy h2,
#mens-make main #tie_up h2,
#mens-make main #voice h2 {
  width: 98%;
  margin: 0 auto 2.0rem;
  display: flex;
  align-items: center;
}

#eyebrow main #policy h2 img, #eyebrow main #tie_up h2 img, #eyebrow main #voice h2 img,
#mens-make main #policy h2 img,
#mens-make main #tie_up h2 img,
#mens-make main #voice h2 img {
  margin-right: 1.5rem;
  width: 13.73333vw;
}

@media (min-width: 768px) {
  #eyebrow main #policy h2 img, #eyebrow main #tie_up h2 img, #eyebrow main #voice h2 img,
  #mens-make main #policy h2 img,
  #mens-make main #tie_up h2 img,
  #mens-make main #voice h2 img {
    width: 5.75vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #policy h2 img, #eyebrow main #tie_up h2 img, #eyebrow main #voice h2 img,
  #mens-make main #policy h2 img,
  #mens-make main #tie_up h2 img,
  #mens-make main #voice h2 img {
    width: 69px;
  }
}

#eyebrow main #policy h2 span, #eyebrow main #tie_up h2 span, #eyebrow main #voice h2 span,
#mens-make main #policy h2 span,
#mens-make main #tie_up h2 span,
#mens-make main #voice h2 span {
  color: #142f80;
  font-size: 7.33333vw;
}

@media (min-width: 768px) {
  #eyebrow main #policy h2 span, #eyebrow main #tie_up h2 span, #eyebrow main #voice h2 span,
  #mens-make main #policy h2 span,
  #mens-make main #tie_up h2 span,
  #mens-make main #voice h2 span {
    font-size: 3.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #policy h2 span, #eyebrow main #tie_up h2 span, #eyebrow main #voice h2 span,
  #mens-make main #policy h2 span,
  #mens-make main #tie_up h2 span,
  #mens-make main #voice h2 span {
    font-size: 42px;
  }
}

@media (min-width: 768px) {
  #eyebrow main #policy .wrap,
  #mens-make main #policy .wrap {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 767px) {
  #eyebrow main #policy .wrap figure,
  #mens-make main #policy .wrap figure {
    margin-bottom: 2.0rem;
  }
}

@media (min-width: 768px) {
  #eyebrow main #policy .wrap figure,
  #mens-make main #policy .wrap figure {
    width: 42%;
  }
}

@media (min-width: 768px) {
  #eyebrow main #policy .wrap picture,
  #mens-make main #policy .wrap picture {
    width: 55%;
  }
}

#eyebrow main #tie_up p.lead,
#mens-make main #tie_up p.lead {
  text-align: center;
  font-weight: bold;
  margin-bottom: 2.0rem;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  #eyebrow main #tie_up p.lead,
  #mens-make main #tie_up p.lead {
    font-size: 2.33333vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #tie_up p.lead,
  #mens-make main #tie_up p.lead {
    font-size: 28px;
  }
}

#eyebrow main #tie_up ul.gallery,
#mens-make main #tie_up ul.gallery {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#eyebrow main #tie_up ul.gallery li,
#mens-make main #tie_up ul.gallery li {
  width: calc( 50% - 0.5rem);
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #tie_up ul.gallery li,
  #mens-make main #tie_up ul.gallery li {
    width: calc( 25% - 0.5rem);
  }
}

#eyebrow main #tie_up ul.gallery li figure,
#mens-make main #tie_up ul.gallery li figure {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  position: relative;
  overflow: hidden;
}

#eyebrow main #tie_up ul.gallery li figure img,
#mens-make main #tie_up ul.gallery li figure img {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
}

#eyebrow main #tie_up a.button,
#mens-make main #tie_up a.button {
  display: block;
  margin: 2.0rem auto;
  padding: 1.0rem 0;
  line-height: 1.0;
  width: 12.0em;
  background-color: #142f80;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  font-size: 4vw;
}

@media (min-width: 768px) {
  #eyebrow main #tie_up a.button,
  #mens-make main #tie_up a.button {
    font-size: 1.66667vw;
    margin: 4.0rem auto;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #tie_up a.button,
  #mens-make main #tie_up a.button {
    font-size: 20px;
  }
}

#eyebrow main #tie_up p.last,
#mens-make main #tie_up p.last {
  text-align: center;
  font-weight: bold;
  font-size: 3.73333vw;
}

@media (min-width: 768px) {
  #eyebrow main #tie_up p.last,
  #mens-make main #tie_up p.last {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #tie_up p.last,
  #mens-make main #tie_up p.last {
    font-size: 18px;
  }
}

#eyebrow main #voice ul li,
#mens-make main #voice ul li {
  border: 2px solid #142f80;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li,
  #mens-make main #voice ul li {
    padding: 2.5rem 4.0rem;
    margin-bottom: 2.5rem;
  }
}

#eyebrow main #voice ul li .wrap,
#mens-make main #voice ul li .wrap {
  width: 92%;
  margin: 0 auto 1.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li .wrap,
  #mens-make main #voice ul li .wrap {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
}

#eyebrow main #voice ul li .wrap hgroup img,
#mens-make main #voice ul li .wrap hgroup img {
  display: block;
  margin-bottom: 2.5rem;
  width: 42.8vw;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li .wrap hgroup img,
  #mens-make main #voice ul li .wrap hgroup img {
    width: 17.75vw;
    max-width: 213px;
  }
}

#eyebrow main #voice ul li .wrap hgroup p,
#mens-make main #voice ul li .wrap hgroup p {
  margin-bottom: 0.5rem;
  font-size: 3.2vw;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li .wrap hgroup p,
  #mens-make main #voice ul li .wrap hgroup p {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #voice ul li .wrap hgroup p,
  #mens-make main #voice ul li .wrap hgroup p {
    font-size: 16px;
  }
}

#eyebrow main #voice ul li .wrap hgroup h3,
#mens-make main #voice ul li .wrap hgroup h3 {
  margin-bottom: 1.5rem;
  font-size: 6.13333vw;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li .wrap hgroup h3,
  #mens-make main #voice ul li .wrap hgroup h3 {
    font-size: 2.83333vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #voice ul li .wrap hgroup h3,
  #mens-make main #voice ul li .wrap hgroup h3 {
    font-size: 34px;
  }
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li .wrap figure,
  #mens-make main #voice ul li .wrap figure {
    width: 40%;
  }
}

#eyebrow main #voice ul li .content h4,
#mens-make main #voice ul li .content h4 {
  margin-top: 1.5rem;
  margin-bottom: 1.0rem;
  padding: 0.5rem 0.5rem;
  line-height: 1.2;
  background-color: #998400;
  color: #ffffff;
  font-size: 3.73333vw;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li .content h4,
  #mens-make main #voice ul li .content h4 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #voice ul li .content h4,
  #mens-make main #voice ul li .content h4 {
    font-size: 18px;
  }
}

#eyebrow main #voice ul li .content p,
#mens-make main #voice ul li .content p {
  padding: 0 0.5rem;
  font-size: 3.2vw;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li .content p,
  #mens-make main #voice ul li .content p {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #voice ul li .content p,
  #mens-make main #voice ul li .content p {
    font-size: 16px;
  }
}

#eyebrow main #coupon,
#mens-make main #coupon {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #coupon,
  #mens-make main #coupon {
    margin-bottom: 4.0rem;
  }
}

#eyebrow main #coupon h2,
#mens-make main #coupon h2 {
  text-align: center;
  margin-bottom: 2.0rem;
  color: #142f80;
  font-size: 8.4vw;
}

@media (min-width: 768px) {
  #eyebrow main #coupon h2,
  #mens-make main #coupon h2 {
    margin-bottom: 4.0rem;
    font-size: 3.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #coupon h2,
  #mens-make main #coupon h2 {
    font-size: 42px;
  }
}

#eyebrow main #salon,
#mens-make main #salon {
  width: 100%;
  background-color: #ececea;
  padding: 3.0rem 0;
  margin-bottom: 3.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #salon,
  #mens-make main #salon {
    padding: 5.0rem 0;
    margin-bottom: 6.0rem;
  }
}

#eyebrow main #salon h2,
#mens-make main #salon h2 {
  text-align: center;
  margin-bottom: 2.0rem;
  color: #142f80;
  font-size: 8.4vw;
}

@media (min-width: 768px) {
  #eyebrow main #salon h2,
  #mens-make main #salon h2 {
    margin-bottom: 4.0rem;
    font-size: 3.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #salon h2,
  #mens-make main #salon h2 {
    font-size: 42px;
  }
}

#eyebrow main #salon .wrap,
#mens-make main #salon .wrap {
  width: 71.46667vw;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #eyebrow main #salon .wrap,
  #mens-make main #salon .wrap {
    width: 62.5vw;
    max-width: 750px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}

@media (max-width: 767px) {
  #eyebrow main #salon .wrap figure,
  #mens-make main #salon .wrap figure {
    margin-bottom: 1.0rem;
  }
}

@media (min-width: 768px) {
  #eyebrow main #salon .wrap figure,
  #mens-make main #salon .wrap figure {
    width: 48%;
  }
}

#eyebrow main #salon .wrap .text,
#mens-make main #salon .wrap .text {
  text-align: center;
}

@media (min-width: 768px) {
  #eyebrow main #salon .wrap .text,
  #mens-make main #salon .wrap .text {
    width: 48%;
  }
}

#eyebrow main #salon .wrap .text p,
#mens-make main #salon .wrap .text p {
  font-size: 2.8vw;
}

@media (min-width: 768px) {
  #eyebrow main #salon .wrap .text p,
  #mens-make main #salon .wrap .text p {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #salon .wrap .text p,
  #mens-make main #salon .wrap .text p {
    font-size: 14px;
  }
}

#eyebrow main #salon .wrap .text p.name,
#mens-make main #salon .wrap .text p.name {
  margin-bottom: 1.5em;
  font-size: 3.6vw;
}

@media (min-width: 768px) {
  #eyebrow main #salon .wrap .text p.name,
  #mens-make main #salon .wrap .text p.name {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #salon .wrap .text p.name,
  #mens-make main #salon .wrap .text p.name {
    font-size: 18px;
  }
}

#eyebrow main #salon .wrap .text a.button,
#mens-make main #salon .wrap .text a.button {
  display: block;
  margin: 1.5rem 0;
  padding: 0.5em 0;
  width: 100%;
  line-height: 1.0;
  border: 1px solid #000000;
  font-size: 3.6vw;
}

@media (min-width: 768px) {
  #eyebrow main #salon .wrap .text a.button,
  #mens-make main #salon .wrap .text a.button {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #salon .wrap .text a.button,
  #mens-make main #salon .wrap .text a.button {
    font-size: 18px;
  }
}

#eyebrow main #flow h2,
#mens-make main #flow h2 {
  text-align: center;
  margin-bottom: 2.0rem;
  color: #142f80;
  font-size: 8.4vw;
}

@media (min-width: 768px) {
  #eyebrow main #flow h2,
  #mens-make main #flow h2 {
    margin-bottom: 4.0rem;
    font-size: 3.5vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #flow h2,
  #mens-make main #flow h2 {
    font-size: 42px;
  }
}

#eyebrow main #flow h2 span,
#mens-make main #flow h2 span {
  display: inline-block;
  background: linear-gradient(transparent 50%, #ececea 0%);
  line-height: 1.4;
}

#eyebrow main #flow ol,
#mens-make main #flow ol {
  margin: 0 auto;
  width: 90.66667vw;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol,
  #mens-make main #flow ol {
    width: 80vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #flow ol,
  #mens-make main #flow ol {
    width: 960px;
  }
}

#eyebrow main #flow ol li,
#mens-make main #flow ol li {
  background-color: #ececea;
  width: 100%;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li,
  #mens-make main #flow ol li {
    margin-bottom: 2.5rem;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li .text,
  #mens-make main #flow ol li .text {
    width: 56.25%;
  }
}

#eyebrow main #flow ol li .text h3,
#mens-make main #flow ol li .text h3 {
  display: flex;
  align-items: center;
}

#eyebrow main #flow ol li .text h3 span.label,
#mens-make main #flow ol li .text h3 span.label {
  margin-right: 1.0rem;
  line-height: 4.0rem;
  width: 4.0rem;
  height: 4.0rem;
  text-align: center;
  background-color: #142f80;
  color: #ffffff;
  font-size: 9.6vw;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li .text h3 span.label,
  #mens-make main #flow ol li .text h3 span.label {
    font-size: 4vw;
    line-height: 5.0rem;
    width: 5.0rem;
    height: 5.0rem;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #flow ol li .text h3 span.label,
  #mens-make main #flow ol li .text h3 span.label {
    font-size: 48px;
  }
}

#eyebrow main #flow ol li .text h3 span.text,
#mens-make main #flow ol li .text h3 span.text {
  color: #142f80;
  font-size: 6.4vw;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li .text h3 span.text,
  #mens-make main #flow ol li .text h3 span.text {
    font-size: 2.66667vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #flow ol li .text h3 span.text,
  #mens-make main #flow ol li .text h3 span.text {
    font-size: 32px;
  }
}

#eyebrow main #flow ol li .text p,
#mens-make main #flow ol li .text p {
  padding: 1.5rem 1.5rem 0;
  font-size: 3.2vw;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li .text p,
  #mens-make main #flow ol li .text p {
    font-size: 1.33333vw;
    padding: 1.5rem 1.5rem 1.5rem 6.0rem;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #flow ol li .text p,
  #mens-make main #flow ol li .text p {
    font-size: 16px;
  }
}

#eyebrow main #flow ol li figure,
#mens-make main #flow ol li figure {
  padding: 1.5rem 2.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li figure,
  #mens-make main #flow ol li figure {
    width: 39.58333%;
    padding: 2.5rem 1.5rem;
  }
}

#eyebrow main #faq,
#mens-make main #faq {
  margin: 0 auto;
  padding: 2.0rem 0;
  width: 90.66667vw;
  background-color: #d6d3bb;
}

@media (min-width: 768px) {
  #eyebrow main #faq,
  #mens-make main #faq {
    width: 80vw;
    padding: 4.0rem 0;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #faq,
  #mens-make main #faq {
    width: 960px;
  }
}

#eyebrow main #faq h2,
#mens-make main #faq h2 {
  text-align: center;
  margin-bottom: 2.0rem;
  font-size: 8vw;
}

@media (min-width: 768px) {
  #eyebrow main #faq h2,
  #mens-make main #faq h2 {
    margin-bottom: 4.0rem;
    font-size: 3.33333vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #faq h2,
  #mens-make main #faq h2 {
    font-size: 40px;
  }
}

#eyebrow main #faq dl,
#mens-make main #faq dl {
  width: 86%;
  margin: 0 auto 1.5rem;
  background-color: #ffffff;
  padding: 1.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #faq dl,
  #mens-make main #faq dl {
    padding: 2.0rem;
  }
}

#eyebrow main #faq dl dt,
#mens-make main #faq dl dt {
  font-weight: bold;
  border-bottom: 1px solid #000000;
  padding-bottom: 0.25em;
  margin-bottom: 1.0rem;
  font-size: 4.53333vw;
}

@media (min-width: 768px) {
  #eyebrow main #faq dl dt,
  #mens-make main #faq dl dt {
    font-size: 1.66667vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #faq dl dt,
  #mens-make main #faq dl dt {
    font-size: 20px;
  }
}

#eyebrow main #faq dl dd,
#mens-make main #faq dl dd {
  display: flex;
}

#eyebrow main #faq dl dd span,
#mens-make main #faq dl dd span {
  width: 0.75em;
  margin-right: 1.0rem;
  font-size: 4.53333vw;
}

@media (min-width: 768px) {
  #eyebrow main #faq dl dd span,
  #mens-make main #faq dl dd span {
    font-size: 1.66667vw;
    width: 1.0em;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #faq dl dd span,
  #mens-make main #faq dl dd span {
    font-size: 20px;
  }
}

#eyebrow main #faq dl dd p,
#mens-make main #faq dl dd p {
  padding-top: 0.5em;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #eyebrow main #faq dl dd p,
  #mens-make main #faq dl dd p {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #faq dl dd p,
  #mens-make main #faq dl dd p {
    font-size: 14px;
  }
}

#eyebrow main #policy ol {
  margin: 3.0rem 0.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #policy ol {
    margin: 5.0rem 4.0rem;
  }
}

#eyebrow main #policy ol li {
  position: relative;
  padding-left: 1.75em;
  padding-top: 0.25em;
  margin-bottom: 2.0em;
}

@media (min-width: 768px) {
  #eyebrow main #policy ol li {
    padding-top: 0.5em;
    padding-left: 2.5em;
    margin-bottom: 3.0em;
  }
}

#eyebrow main #policy ol li span {
  position: absolute;
  top: 0;
  left: 0;
}

#eyebrow main #policy ol li span img {
  width: auto;
  height: 2.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #policy ol li span img {
    height: 2.75rem;
  }
}

#eyebrow main #policy ol li h3 {
  letter-spacing: 0;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  font-size: 5.9375vw;
}

@media (min-width: 768px) {
  #eyebrow main #policy ol li h3 {
    font-size: 2.33333vw;
    margin-bottom: 1.0rem;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #policy ol li h3 {
    font-size: 28px;
  }
}

#eyebrow main #policy ol li h3 strong {
  color: #142f80;
}

#eyebrow main #before_after h2,
#eyebrow main #voice h2,
#eyebrow main #coupon h2,
#eyebrow main #flow h2 {
  display: block;
  text-align: center;
  color: #142f80;
  margin-bottom: 2.0rem;
  line-height: 1.4;
  font-size: 11.25vw;
}

@media (min-width: 768px) {
  #eyebrow main #before_after h2,
  #eyebrow main #voice h2,
  #eyebrow main #coupon h2,
  #eyebrow main #flow h2 {
    font-size: 4vw;
    margin-bottom: 4.0rem;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #before_after h2,
  #eyebrow main #voice h2,
  #eyebrow main #coupon h2,
  #eyebrow main #flow h2 {
    font-size: 48px;
  }
}

#eyebrow main #before_after h2 span,
#eyebrow main #voice h2 span,
#eyebrow main #coupon h2 span,
#eyebrow main #flow h2 span {
  background: linear-gradient(to bottom, transparent 60%, #d1ceb6 60%);
}

#eyebrow main #before_after {
  margin-bottom: 5.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #before_after {
    margin-bottom: 7.0rem;
  }
}

#eyebrow main #before_after ul li {
  background-color: #e5e5e3;
  margin-bottom: 1.5em;
  padding: 1.5em 2.0em;
  position: relative;
}

@media (min-width: 768px) {
  #eyebrow main #before_after ul li {
    padding: 2.0em 3.0em;
    margin-bottom: 2.5em;
    display: flex;
    justify-content: space-around;
  }
}

#eyebrow main #before_after ul li h3 {
  text-align: center;
  line-height: 1.0;
}

#eyebrow main #before_after ul li h3 img {
  width: auto;
  height: 1.0rem;
}

@media (min-width: 768px) {
  #eyebrow main #before_after ul li .before, #eyebrow main #before_after ul li .after {
    width: 40%;
  }
}

#eyebrow main #before_after ul li .before {
  margin-bottom: 3.0rem;
  position: relative;
}

@media (min-width: 768px) {
  #eyebrow main #before_after ul li .before {
    margin-bottom: 0;
    position: static;
  }
}

#eyebrow main #before_after ul li .before::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.73rem 1.0rem 0 1.0rem;
  border-color: #142f80 transparent transparent transparent;
  position: absolute;
  top: 105%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #eyebrow main #before_after ul li .before::after {
    top: 40%;
    bottom: auto;
    border-width: 1.0rem 0 1.0rem 1.73rem;
    border-color: transparent transparent transparent #142f80;
  }
}

#eyebrow main #voice ul {
  padding: 2.0rem;
  background-color: #e5e5e3;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 2.5rem 4.0rem;
  }
}

#eyebrow main #voice ul li {
  border: none;
  padding: 0;
}

@media (min-width: 768px) {
  #eyebrow main #voice ul li {
    width: 49%;
  }
}

#eyebrow main #flow h2 {
  margin-bottom: 1.0rem;
}

#eyebrow main #flow > h3 {
  text-align: center;
  color: #142f80;
  margin-bottom: 1.5rem;
  font-size: 5.9375vw;
}

@media (min-width: 768px) {
  #eyebrow main #flow > h3 {
    font-size: 2.33333vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #flow > h3 {
    font-size: 28px;
  }
}

#eyebrow main #flow ol li .text h3 {
  align-items: flex-start;
}

#eyebrow main #flow ol li .text h3 span.label {
  margin-right: 0.5rem;
  width: 3.5rem;
  height: 3.5rem;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li .text h3 span.label {
    margin-right: 1.0rem;
    width: 5.0rem;
    height: 5.0rem;
  }
}

#eyebrow main #flow ol li .text h3 span.text {
  width: auto;
  padding-top: 0.25em;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  #eyebrow main #flow ol li .text h3 span.text {
    font-size: 2.66667vw;
  }
}

@media (min-width: 1200px) {
  #eyebrow main #flow ol li .text h3 span.text {
    font-size: 32px;
  }
}

@media (max-width: 767px) {
  #shaving main {
    padding-top: 0;
  }
}

#shaving main #lead {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  line-height: 2.0;
  text-align: center;
  font-size: 3.73333vw;
}

@media (min-width: 768px) {
  #shaving main #lead {
    font-size: 1.66667vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #lead {
    font-size: 20px;
  }
}

#shaving main .coupon {
  width: 100%;
  margin: 2.0rem auto;
}

@media (min-width: 768px) {
  #shaving main .coupon {
    margin: 5.0rem auto;
    max-width: 851px;
  }
}

#shaving main #message {
  margin: 2.0rem auto;
}

@media (min-width: 768px) {
  #shaving main #message {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 96%;
    max-width: 860px;
    margin: 5.0rem auto;
  }
}

#shaving main #message figure {
  width: 100%;
}

@media (min-width: 768px) {
  #shaving main #message figure {
    width: 50%;
  }
}

#shaving main #message .text {
  padding: 1.5rem;
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  line-height: 2.0;
  font-weight: 500;
  font-size: 3.73333vw;
}

@media (min-width: 768px) {
  #shaving main #message .text {
    font-size: 1.33333vw;
    width: 50%;
    padding: 1.0rem 1.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #message .text {
    font-size: 16px;
  }
}

#shaving main #about {
  width: 100%;
  background-color: #f6f6f4;
  padding: 3.0rem 0 1.0rem;
}

@media (min-width: 768px) {
  #shaving main #about {
    padding: 4.5rem 0 1.5rem;
  }
}

#shaving main #about h2 {
  background-image: url("./images/h2-about-bg.png");
  background-position: center top;
  background-size: 32.66667vw auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  text-align: center;
  padding-top: 2.0em;
  margin-bottom: 2.0rem;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  #shaving main #about h2 {
    background-size: 24.66667vw auto;
    font-size: 2.5vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #about h2 {
    background-size: 185px auto;
    font-size: 30px;
  }
}

#shaving main #about section {
  width: 100%;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #shaving main #about section {
    max-width: 580px;
    margin: 0 auto 3.0rem;
  }
}

#shaving main #about section figure {
  width: 100%;
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #shaving main #about section figure {
    margin-bottom: 2.0rem;
  }
}

#shaving main #about section .text {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  width: 86%;
  margin: 0 auto;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #shaving main #about section .text {
    width: 100%;
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #about section .text {
    font-size: 18px;
  }
}

#shaving main #point {
  margin: 2.0rem auto;
}

@media (min-width: 768px) {
  #shaving main #point {
    margin: 5.0rem auto;
  }
}

#shaving main #point h2 {
  width: 100%;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #shaving main #point h2 {
    width: 67.16667vw;
    max-width: 806px;
    margin-bottom: 4.0rem;
  }
}

#shaving main #point dl {
  width: 92%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #shaving main #point dl {
    width: 67.16667vw;
    max-width: 806px;
  }
}

#shaving main #point dl dt {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  color: #cc0065;
  text-align: center;
  margin-bottom: 0.5rem;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  #shaving main #point dl dt {
    font-size: 2.5vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #point dl dt {
    font-size: 30px;
  }
}

#shaving main #point dl dd {
  margin-bottom: 2.0rem;
  text-align: center;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #shaving main #point dl dd {
    font-size: 1.5vw;
    margin-bottom: 4.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #point dl dd {
    font-size: 18px;
  }
}

#shaving main #bridal {
  width: 100%;
  background-color: #f6f6f4;
  padding: 3.0rem 0 1.0rem;
}

@media (min-width: 768px) {
  #shaving main #bridal {
    padding: 4.5rem 0 1.5rem;
  }
}

#shaving main #bridal h2 {
  background-image: url("./images/h2-about-bg.png");
  background-position: center top;
  background-size: 32.66667vw auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  text-align: center;
  padding-top: 2.0em;
  margin-bottom: 2.0rem;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  #shaving main #bridal h2 {
    background-size: 24.66667vw auto;
    font-size: 2.5vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #bridal h2 {
    background-size: 185px auto;
    font-size: 30px;
  }
}

#shaving main #bridal .lead {
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #shaving main #bridal .lead {
    max-width: 580px;
    margin-bottom: 4.0rem;
  }
}

#shaving main #bridal .lead figure {
  margin-bottom: 2.0rem;
}

#shaving main #bridal .lead p {
  line-height: 2.0;
  width: 84%;
  margin: 0 auto;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #shaving main #bridal .lead p {
    font-size: 1.58333vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #bridal .lead p {
    font-size: 19px;
  }
}

#shaving main #bridal .notice {
  width: 90.66667vw;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #shaving main #bridal .notice {
    width: 75vw;
    max-width: 900px;
    margin-bottom: 3.5rem;
  }
}

#shaving main #bridal .notice h3 {
  background-color: #bda555;
  color: #ffffff;
  text-align: center;
  line-height: 1.0;
  padding: 0.5em 0;
  margin-bottom: 1.0rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  position: relative;
  font-size: 3.73333vw;
}

@media (min-width: 768px) {
  #shaving main #bridal .notice h3 {
    font-size: 1.75vw;
    margin-bottom: 1.5rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #bridal .notice h3 {
    font-size: 21px;
  }
}

#shaving main #bridal .notice h3::before {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.0em 0 1.0em 0.75em;
  border-color: transparent transparent transparent #f6f6f4;
}

#shaving main #bridal .notice h3::after {
  content: '';
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.0em 0.75em 1.0em 0;
  border-color: transparent #f6f6f4 transparent transparent;
}

@media (min-width: 768px) {
  #shaving main #bridal .notice .wrap {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-bottom: 2.0rem;
  }
}

#shaving main #bridal .notice .wrap h4 {
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  color: #bda555;
  margin-bottom: 1.0rem;
  font-size: 4.53333vw;
}

@media (min-width: 768px) {
  #shaving main #bridal .notice .wrap h4 {
    font-size: 2.25vw;
    width: 58%;
    margin: 0;
  }
}

@media (min-width: 1200px) {
  #shaving main #bridal .notice .wrap h4 {
    font-size: 27px;
  }
}

#shaving main #bridal .notice .wrap figure {
  width: 65.33333vw;
  margin: 0 auto 1.0rem;
}

@media (min-width: 768px) {
  #shaving main #bridal .notice .wrap figure {
    width: 37%;
    margin: 0;
  }
}

#shaving main #bridal .notice p {
  line-height: 2.0;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #shaving main #bridal .notice p {
    font-size: 1.33333vw;
    width: 95%;
    margin: 0 auto;
  }
}

@media (min-width: 1200px) {
  #shaving main #bridal .notice p {
    font-size: 16px;
  }
}

#shaving main #voice {
  margin: 2.0rem auto;
}

@media (min-width: 768px) {
  #shaving main #voice {
    margin: 5.0rem auto;
  }
}

#shaving main #voice h2 {
  background-image: url("./images/h2-about-bg.png");
  background-position: center top;
  background-size: 32.66667vw auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  text-align: center;
  padding-top: 2.0em;
  margin-bottom: 2.0rem;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  #shaving main #voice h2 {
    background-size: 24.66667vw auto;
    font-size: 2.5vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #voice h2 {
    background-size: 185px auto;
    font-size: 30px;
  }
}

#shaving main #voice section {
  width: 85.33333vw;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #shaving main #voice section {
    width: 80vw;
    max-width: 960px;
    margin-bottom: 4.5rem;
    display: flex;
    justify-content: space-between;
  }
}

#shaving main #voice section figure {
  margin-bottom: 1.0rem;
}

@media (min-width: 768px) {
  #shaving main #voice section figure {
    margin-bottom: 0;
    width: 48%;
  }
}

@media (min-width: 768px) {
  #shaving main #voice section .text {
    width: 48%;
    padding-top: 1.5rem;
  }
}

#shaving main #voice section .text h3 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  color: #cc0065;
  margin-bottom: 0.5rem;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  #shaving main #voice section .text h3 {
    margin-bottom: 1.0rem;
    font-size: 2.25vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #voice section .text h3 {
    font-size: 27px;
  }
}

#shaving main #voice section .text p {
  line-height: 2.0;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #shaving main #voice section .text p {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #voice section .text p {
    font-size: 16px;
  }
}

#shaving main #flow {
  margin: 2.0rem auto;
}

@media (min-width: 768px) {
  #shaving main #flow {
    margin: 5.0rem auto;
  }
}

#shaving main #flow h2 {
  background-image: url("./images/h2-about-bg.png");
  background-position: center top;
  background-size: 32.66667vw auto;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  text-align: center;
  padding-top: 2.0em;
  margin-bottom: 2.0rem;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  #shaving main #flow h2 {
    background-size: 24.66667vw auto;
    font-size: 2.5vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #flow h2 {
    background-size: 185px auto;
    font-size: 30px;
  }
}

#shaving main #flow section {
  width: 88vw;
  margin: 0 auto 2.0rem;
}

@media (min-width: 768px) {
  #shaving main #flow section {
    width: 71.66667vw;
    max-width: 860px;
    margin-bottom: 3.0rem;
    display: flex;
    justify-content: space-between;
  }
}

@media (min-width: 768px) {
  #shaving main #flow section .text {
    width: 58%;
  }
}

#shaving main #flow section .text h3 {
  display: flex;
  align-items: center;
  background-color: #e480b0;
  color: #ffffff;
  line-height: 1.0;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  padding: 0.1em 0;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  #shaving main #flow section .text h3 {
    font-size: 2.25vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #flow section .text h3 {
    font-size: 27px;
  }
}

#shaving main #flow section .text h3 span:first-of-type {
  padding-left: 0.5rem;
  font-size: 3.73333vw;
}

@media (min-width: 768px) {
  #shaving main #flow section .text h3 span:first-of-type {
    font-size: 1.75vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #flow section .text h3 span:first-of-type {
    font-size: 21px;
  }
}

#shaving main #flow section .text h3 strong {
  font-family: "Bodoni Moda", serif;
  font-weight: 500;
  padding: 0.1em 1.0rem 0.1em 0.1em;
  font-size: 7.06667vw;
}

@media (min-width: 768px) {
  #shaving main #flow section .text h3 strong {
    font-size: 3.33333vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #flow section .text h3 strong {
    font-size: 40px;
  }
}

#shaving main #flow section .text p {
  line-height: 2.0;
  width: 90%;
  margin: 1.0em auto;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #shaving main #flow section .text p {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #flow section .text p {
    font-size: 16px;
  }
}

#shaving main #flow section figure {
  width: 54.93333vw;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #shaving main #flow section figure {
    margin: 0;
    width: 36%;
  }
}

#shaving main #faq {
  width: 100%;
  background-color: #f6f6f4;
  padding: 3.0rem 0 1.0rem;
}

@media (min-width: 768px) {
  #shaving main #faq {
    padding: 4.5rem 0 1.5rem;
  }
}

#shaving main #faq h2 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2.0rem;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  #shaving main #faq h2 {
    font-size: 2.5vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #faq h2 {
    font-size: 30px;
  }
}

#shaving main #faq dl {
  width: 92%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #shaving main #faq dl {
    width: 58.33333vw;
    max-width: 700px;
  }
}

#shaving main #faq dl dt {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  color: #cc0065;
  margin-bottom: 1.0rem;
  display: flex;
  align-items: center;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  #shaving main #faq dl dt {
    font-size: 1.83333vw;
    margin-bottom: 1.5rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #faq dl dt {
    font-size: 22px;
  }
}

#shaving main #faq dl dt strong {
  font-family: "Bodoni Moda", serif;
  margin-right: 0.5rem;
  font-size: 10.53333vw;
}

@media (min-width: 768px) {
  #shaving main #faq dl dt strong {
    font-size: 4vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #faq dl dt strong {
    font-size: 48px;
  }
}

#shaving main #faq dl dd {
  margin-bottom: 2.0rem;
  font-size: 3.46667vw;
}

@media (min-width: 768px) {
  #shaving main #faq dl dd {
    font-size: 1.16667vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #faq dl dd {
    font-size: 14px;
  }
}

#shaving main #salon {
  margin: 2.0rem auto;
}

@media (min-width: 768px) {
  #shaving main #salon {
    margin: 5.0rem auto;
  }
}

#shaving main #salon h2 {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2.0rem;
  font-size: 5.33333vw;
}

@media (min-width: 768px) {
  #shaving main #salon h2 {
    font-size: 2.5vw;
    margin-bottom: 3.0rem;
  }
}

@media (min-width: 1200px) {
  #shaving main #salon h2 {
    font-size: 30px;
  }
}

#shaving main #salon ul {
  width: 90.66667vw;
  margin: 0 auto;
}

@media (min-width: 768px) {
  #shaving main #salon ul {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0 0 5.0rem;
  }
}

#shaving main #salon ul li {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #shaving main #salon ul li {
    width: 27.5vw;
    max-width: 330px;
    margin: 0 1.0rem;
  }
}

#shaving main #salon ul li figure {
  width: 65.6vw;
  margin: 0 auto 1.0rem;
}

@media (min-width: 768px) {
  #shaving main #salon ul li figure {
    width: 80%;
  }
}

#shaving main #salon ul li h3 {
  font-weight: normal;
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #c9c9c9;
  text-align: center;
  font-size: 5.06667vw;
}

@media (min-width: 768px) {
  #shaving main #salon ul li h3 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #salon ul li h3 {
    font-size: 18px;
  }
}

#shaving main #salon ul li p {
  text-align: center;
  font-size: 4vw;
}

@media (min-width: 768px) {
  #shaving main #salon ul li p {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #salon ul li p {
    font-size: 14px;
  }
}

#shaving main #salon ul li h4 {
  margin: 1.0rem 0 0.5rem;
  text-align: center;
  font-weight: normal;
  border: 1px solid #000000;
  line-height: 1.0;
  padding: 0.5em 0;
  font-size: 4.8vw;
}

@media (min-width: 768px) {
  #shaving main #salon ul li h4 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #salon ul li h4 {
    font-size: 18px;
  }
}

#shaving main #salon ul li .buttons {
  margin: 1.5rem 0 0;
  display: flex;
  justify-content: space-between;
}

#shaving main #salon ul li .buttons a {
  border: 1px solid #777777;
  text-align: center;
  line-height: 1.0;
  padding: 0.5rem 0;
  width: 47%;
  font-size: 4vw;
}

@media (min-width: 768px) {
  #shaving main #salon ul li .buttons a {
    font-size: 1.25vw;
  }
}

@media (min-width: 1200px) {
  #shaving main #salon ul li .buttons a {
    font-size: 15px;
  }
}

#news main h1 {
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  margin-bottom: 0;
  font-size: 5.625vw;
}

@media (min-width: 768px) {
  #news main h1 {
    font-size: 2.83333vw;
  }
}

@media (min-width: 1200px) {
  #news main h1 {
    font-size: 34px;
  }
}

#news main h1 + p {
  text-align: center;
  font-size: 3.125vw;
}

@media (min-width: 768px) {
  #news main h1 + p {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #news main h1 + p {
    font-size: 14px;
  }
}

#news main .years {
  margin-bottom: 2.0rem;
  text-align: right;
}

#news main .years select {
  padding: 0.25em 1.5em;
  border: 1px solid #c9c9c9;
}

#news main .contents ul.entries {
  display: flex;
  flex-wrap: wrap;
}

@media (max-width: 767px) {
  #news main .contents ul.entries li {
    width: 100%;
    border-bottom: 1px solid #c9c9c9;
    padding: 1.0rem 0;
  }
  #news main .contents ul.entries li:first-of-type {
    border-top: 1px solid #c9c9c9;
  }
}

@media (min-width: 768px) {
  #news main .contents ul.entries li {
    width: 24%;
  }
}

@media (max-width: 767px) {
  #news main .contents ul.entries li a {
    display: flex;
    align-items: center;
  }
}

#news main .contents ul.entries li a figure {
  width: 30%;
  margin-right: 2%;
  height: 0;
  padding-bottom: 30%;
  overflow: hidden;
  position: relative;
}

@media (min-width: 768px) {
  #news main .contents ul.entries li a figure {
    width: 100%;
    margin-right: 0;
    padding-bottom: 100%;
  }
}

#news main .contents ul.entries li a figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 9999px;
  height: 100%;
}

#news main .contents ul.entries li a dl {
  width: 58%;
}

@media (min-width: 768px) {
  #news main .contents ul.entries li a dl {
    width: 100%;
  }
}

#news main .contents ul.entries li a dl dt {
  font-weight: bold;
  font-size: 3.125vw;
}

@media (min-width: 768px) {
  #news main .contents ul.entries li a dl dt {
    font-weight: normal;
    font-size: 1.08333vw;
    margin: 1.0rem 0 0.5rem;
  }
}

@media (min-width: 1200px) {
  #news main .contents ul.entries li a dl dt {
    font-size: 13px;
  }
}

#news main .contents ul.entries li a dl dd {
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #news main .contents ul.entries li a dl dd {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #news main .contents ul.entries li a dl dd {
    font-size: 14px;
  }
}

#news #single .flex {
  margin: 3.0rem auto;
}

@media (min-width: 768px) {
  #news #single .flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 5.0rem auto;
  }
}

#news #single .flex .contents {
  width: 100%;
  margin: 0 0 3.0rem;
}

@media (min-width: 768px) {
  #news #single .flex .contents {
    width: 65%;
  }
}

#news #single .flex .contents .meta {
  text-align: left;
  padding-bottom: 0.5rem;
  border-bottom: 1px dotted #000000;
  margin-bottom: 1.0rem;
}

#news #single .flex .contents .meta .date {
  font-size: 3.75vw;
}

@media (min-width: 768px) {
  #news #single .flex .contents .meta .date {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #news #single .flex .contents .meta .date {
    font-size: 13px;
  }
}

#news #single .flex .contents .meta h1 {
  font-weight: normal;
  margin-bottom: 0.5rem;
  text-align: left;
  font-size: 8.4375vw;
}

@media (min-width: 768px) {
  #news #single .flex .contents .meta h1 {
    font-size: 2.5vw;
  }
}

@media (min-width: 1200px) {
  #news #single .flex .contents .meta h1 {
    font-size: 30px;
  }
}

#news #single .flex .contents .cont {
  width: 96%;
  margin: 0 auto;
}

#news #single .flex .contents .cont p {
  margin-bottom: 1.5rem;
}

#news #single .flex .contents .cont img.aligncenter {
  max-width: 80%;
  margin: 0 auto 1.0rem;
  float: none;
  display: block;
}

@media (min-width: 768px) {
  #news #single .flex .contents .cont img.aligncenter {
    max-width: 60%;
  }
}

#news #single .flex .contents .cont img.alignleft {
  max-width: 80%;
  margin: 0 auto 1.0rem;
  float: none;
  display: block;
}

@media (min-width: 768px) {
  #news #single .flex .contents .cont img.alignleft {
    max-width: 35%;
    float: left;
    margin: 0 1.0rem 1.0rem 0;
  }
}

#news #single .flex .contents .cont img.alignright {
  max-width: 80%;
  margin: 0 auto 1.0rem;
  float: none;
  display: block;
}

@media (min-width: 768px) {
  #news #single .flex .contents .cont img.alignright {
    max-width: 35%;
    float: right;
    margin: 0 0 1.0rem 1.0rem;
  }
}

#news #single .flex .contents .cont iframe {
  max-width: 80%;
  margin: 0 auto;
}

#news #single .flex .contents .cont h2 {
  font-size: 4.6875vw;
  text-align: left;
  border-top: solid 1px #B0B0B0;
  border-bottom: solid 1px #B0B0B0;
  background: #F8F8F8;
  margin: 1.0em 0;
  padding: 0.5em;
}

@media (min-width: 768px) {
  #news #single .flex .contents .cont h2 {
    font-size: 1.75vw;
  }
}

@media (min-width: 1200px) {
  #news #single .flex .contents .cont h2 {
    font-size: 21px;
  }
}

#news #single .flex .contents .cont h3 {
  font-size: 4.375vw;
  margin: 1.0em 0.5em;
  padding: 0.5em 0;
  border-bottom: dashed 1px #B0B0B0;
}

@media (min-width: 768px) {
  #news #single .flex .contents .cont h3 {
    font-size: 1.5vw;
  }
}

@media (min-width: 1200px) {
  #news #single .flex .contents .cont h3 {
    font-size: 18px;
  }
}

#news #single .flex .contents .cont h4 {
  font-weight: bold;
}

#news #single .flex #sidebar {
  width: 100%;
  margin: 0 0 3.0rem;
  padding: 1.0rem;
}

@media (min-width: 768px) {
  #news #single .flex #sidebar {
    width: 30%;
  }
}

#news #single .flex #sidebar .pickup {
  margin-bottom: 2.0rem;
}

@media (min-width: 768px) {
  #news #single .flex #sidebar .pickup {
    margin-bottom: 3.0rem;
  }
}

#news #single .flex #sidebar .pickup h2 {
  text-align: left;
  margin-bottom: 1.0rem;
  padding-bottom: 0.5rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  border-bottom: 1px solid #000000;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #news #single .flex #sidebar .pickup h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #news #single .flex #sidebar .pickup h2 {
    font-size: 25px;
  }
}

#news #single .flex #sidebar .pickup ul li {
  padding: 2.0rem 0;
  border-bottom: 1px dotted #000000;
}

#news #single .flex #sidebar .pickup ul li .date {
  font-size: 90%;
  margin-bottom: 0.5rem;
}

#styling main h1 {
  text-align: center;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  margin-bottom: 0;
  font-size: 5.625vw;
}

@media (min-width: 768px) {
  #styling main h1 {
    font-size: 2.83333vw;
  }
}

@media (min-width: 1200px) {
  #styling main h1 {
    font-size: 34px;
  }
}

#styling main h1 + p {
  text-align: center;
  font-size: 3.125vw;
}

@media (min-width: 768px) {
  #styling main h1 + p {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #styling main h1 + p {
    font-size: 14px;
  }
}

#styling main .contents .flex {
  margin: 3.0rem auto;
}

@media (min-width: 768px) {
  #styling main .contents .flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin: 5.0rem auto;
  }
}

#styling main .contents .flex .entries {
  width: 100%;
  margin: 0 0 3.0rem;
}

@media (min-width: 768px) {
  #styling main .contents .flex .entries {
    width: 65%;
  }
}

#styling main .contents .flex .entries ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 3.0rem;
}

@media (min-width: 768px) {
  #styling main .contents .flex .entries ul {
    margin-bottom: 6.0rem;
  }
}

#styling main .contents .flex .entries ul li {
  width: 48%;
  margin: 0 0 1.5rem;
}

#styling main .contents .flex .entries ul li a figure {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  margin-bottom: 1.0rem;
  overflow: hidden;
  position: relative;
  border: 1px solid #f5f5f5;
}

#styling main .contents .flex .entries ul li a figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 9999px;
  height: 100%;
}

#styling main .contents .flex .entries ul li a dl dt {
  color: #777777;
  font-size: 3.4375vw;
}

@media (min-width: 768px) {
  #styling main .contents .flex .entries ul li a dl dt {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  #styling main .contents .flex .entries ul li a dl dt {
    font-size: 13px;
  }
}

#styling main .contents .flex .entries ul li a dl dd {
  font-size: 4.0625vw;
}

@media (min-width: 768px) {
  #styling main .contents .flex .entries ul li a dl dd {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #styling main .contents .flex .entries ul li a dl dd {
    font-size: 16px;
  }
}

#styling main .contents .flex article {
  width: 100%;
  margin: 0 0 3.0rem;
}

@media (min-width: 768px) {
  #styling main .contents .flex article {
    width: 65%;
  }
}

#styling main .contents .flex article .meta h1 {
  padding-bottom: 1.0rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #777777;
  text-align: left;
  font-size: 6.25vw;
}

@media (min-width: 768px) {
  #styling main .contents .flex article .meta h1 {
    font-size: 2.66667vw;
  }
}

@media (min-width: 1200px) {
  #styling main .contents .flex article .meta h1 {
    font-size: 32px;
  }
}

#styling main .contents .flex article .meta p {
  text-align: left;
  color: #7d7d7d;
  font-size: 4.84375vw;
}

@media (min-width: 768px) {
  #styling main .contents .flex article .meta p {
    font-size: 1.33333vw;
  }
}

@media (min-width: 1200px) {
  #styling main .contents .flex article .meta p {
    font-size: 16px;
  }
}

#styling main .contents .flex article .cont {
  margin: 3.0rem 0;
}

#styling main .contents .flex article .cont .movie_outer {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  margin-bottom: 1.5rem;
  position: relative;
  overflow: hidden;
}

#styling main .contents .flex article .cont iframe, #styling main .contents .flex article .cont video {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
}

#styling main .contents .flex #sidebar {
  width: 100%;
  margin: 0 0 3.0rem;
  padding: 1.0rem;
}

@media (min-width: 768px) {
  #styling main .contents .flex #sidebar {
    width: 30%;
  }
}

#styling main .contents .flex #sidebar h2 {
  text-align: left;
  margin-bottom: 1.0rem;
  padding-bottom: 0.5rem;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", Meiryo, serif;
  border-bottom: 1px solid #000000;
  font-size: 7.5vw;
}

@media (min-width: 768px) {
  #styling main .contents .flex #sidebar h2 {
    font-size: 2.08333vw;
  }
}

@media (min-width: 1200px) {
  #styling main .contents .flex #sidebar h2 {
    font-size: 25px;
  }
}

#styling main .contents .flex #sidebar ul {
  margin-bottom: 2.0rem;
}

#styling main .contents .flex #sidebar ul li {
  padding: 1.0rem 0;
  border-bottom: 1px dotted #000000;
}

#styling main .contents .flex #sidebar ul li .date {
  font-size: 90%;
  margin-bottom: 1.0rem;
}

#styling main .contents .flex #sidebar .search {
  margin-bottom: 2.0rem;
}

#styling main .contents .flex #sidebar .search form {
  display: flex;
  align-items: center;
}

#styling main .contents .flex #sidebar .search form input[type="text"] {
  border: 1px solid #c9c9c9;
  width: 84%;
  margin-right: 1%;
  height: 2.2em;
  font-size: 4.375vw;
}

@media (min-width: 768px) {
  #styling main .contents .flex #sidebar .search form input[type="text"] {
    font-size: 1.16667vw;
  }
}

@media (min-width: 1200px) {
  #styling main .contents .flex #sidebar .search form input[type="text"] {
    font-size: 14px;
  }
}

#styling main .contents .flex #sidebar .search form button {
  width: 15%;
}

#styling main .contents .flex #sidebar .search form button img {
  display: block;
  margin: 0;
}

#styling main .contents .flex #sidebar #latest li a {
  display: flex;
  justify-content: space-between;
}

#styling main .contents .flex #sidebar #latest li a figure {
  width: 30%;
  height: 0;
  padding-bottom: 30%;
  overflow: hidden;
  position: relative;
}

#styling main .contents .flex #sidebar #latest li a figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  max-width: 9999px;
  height: 100%;
}

#styling main .contents .flex #sidebar #latest li a dl {
  width: 67%;
}

#styling main .contents .flex #sidebar #latest li a dl dd {
  font-size: 85%;
  color: #7d7d7d;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
footer {
  padding: 1.8rem 0.7rem;
  background-color: #333333;
}

footer address {
  color: #ffffff;
  text-align: center;
  font-style: normal;
  font-size: 3.4375vw;
}

@media (min-width: 768px) {
  footer address {
    font-size: 1.08333vw;
  }
}

@media (min-width: 1200px) {
  footer address {
    font-size: 13px;
  }
}
