@charset "UTF-8";
/* 共通変数・プレースホルダー */
.home__shopinfo__list__shop:after {
  content: "";
  clear: both;
  display: block;
}

.header__mainblock__logo .sitename a, .header__mainblock__information__row1 .tagline strong, .footer__mainblock .sitename a, .footer__mainblock .snsblock .tagline strong, .design__contentsheader__title, .design__title > *, .recruit__mainimage, .student__mainimage, .student__price__title > *, .student__pay h2, .introduction__headtitle, .introduction__femalehead, .pricemenu__head h1, .norikae__head .mainimage, .kids__header .headtitle, .kids__pricehead {
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.contentsheader__title {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* ==========================================================================
	 Author's custom styles
	 ========================================================================== */
/* タグ基本スタイル定義 */
* {
  box-sizing: border-box;
  max-height: 999999px;
}

a {
  transition: all .3s ease-out;
}

a:link {
  color: #00468C;
  text-decoration: underline;
}

a:visited {
  color: #001A8B;
  text-decoration: underline;
}

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

a:active {
  color: #444;
  text-decoration: underline;
}

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

em {
  font-style: normal;
  font-weight: normal;
}

strong {
  font-style: normal;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 15px 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.5;
}

p {
  margin-top: 0;
  line-height: 1.75;
}

p + h2, div + h2, ul + h2, table + h2,
p + h3, div + h3, ul + h3, table + h3,
p + h4, div + h4, ul + h4, table + h4,
p + h5, div + h5, ul + h5, table + h5,
p + h6, div + h5, ul + h6, table + h6 {
  margin-top: 20px;
}

h2 {
  font-size: 1.8rem;
}

h3 {
  font-size: 1.6rem;
}

li {
  line-height: 1.75;
}

figure {
  margin: 0;
  padding: 0;
}

figcaption {
  margin: 0;
  padding: 10px 0 0 0;
}

form {
  margin: 25px 0;
}

select {
  font-size: 1.8rem;
  border: 1px solid #999;
  min-height: 40px;
}

textarea {
  width: 100%;
  min-height: 200px;
}

input[type=text], input[type=email], input[type=tel], input[type=password] {
  box-sizing: border-box;
  margin: 0;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #fff;
  min-height: 50px;
  font-size: 100%;
}

address {
  font-style: normal;
}

table {
  border: none;
  border-collapse: separate;
  border-spacing: 0;
}

/* レイアウト：サイト基本構造  */
html {
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  color: #000;
  font-size: 1.6rem;
  font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.allwrapper {
  position: relative;
}

.header {
  padding: 25px 0 0 0;
  margin: 0;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #e95504;
}

.header .contentswidth {
  max-width: 1000px;
}

.header__mainblock {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 15px;
  margin: 0;
}

.header__mainblock__logo {
  flex: 0 0 187px;
}

.header__mainblock__logo .sitename {
  margin: 0;
  padding: 0;
  width: 177px;
}

.header__mainblock__logo .sitename a {
  display: block;
  padding: 49.5% 0 0;
  margin: 0;
  height: 0;
  background: url("../img/logo-bk.png") center top/100% auto no-repeat;
}

.header__mainblock__information {
  flex: 1 1 auto;
}

.header__mainblock__information__row1 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0;
  padding: 0 0 15px;
}

.header__mainblock__information__row1 > * {
  margin: 0;
  padding: 0;
}

.header__mainblock__information__row1 .tagline {
  flex: 0 0 136px;
}

.header__mainblock__information__row1 .tagline strong {
  display: block;
  padding: 35% 0 0;
  margin: 0;
  width: 100%;
  height: 0;
  background: url("../img/header-tagline-bk.png") center top/100% auto no-repeat;
}

.header__mainblock__information__row1 .free-dial {
  flex: 0 1 auto;
  font-size: 1.2rem;
  line-height: 1;
  color: #e95504;
}

.header__mainblock__information__row1 .free-dial .telto {
  display: block;
  padding: 5px 0 0;
}

.header__mainblock__information__row1 .free-dial .telto img {
  width: auto;
  max-width: 237px;
}

.header__mainblock__information__row1 .btnblock {
  flex: 0 1 310px;
  font-size: 0;
}

.header__mainblock__information__row1 .btnblock .head-btn {
  display: inline-block;
  margin: 0;
  padding: 5px 5px 5px 23px;
  width: 148px;
  background: url("../img/icon-triangle.png") 5px center/13px auto no-repeat #fff;
  border: 2px solid #e95504;
  border-radius: 4px;
  font-size: 1.1rem;
  line-height: 1.4;
  text-decoration: none;
  color: #231815;
}

.header__mainblock__information__row1 .btnblock .head-btn:first-child {
  margin: 0 10px 0 0;
}

.header__mainblock__information__row1 .btnblock .head-btn:hover {
  color: #fff;
  background: url("../img/icon-triangle-white.png") 5px center/13px auto no-repeat #e95504;
}

.header__mainblock__information__row2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  font-size: 0;
  line-height: 1;
}

.header__mainblock__information__row2 .region {
  flex: 0 0 2em;
  padding: 4px 0;
  margin: 0;
  border: 1px solid #fff;
  text-align: center;
  font-size: 1rem;
}

.header__mainblock__information__row2 .region span {
  display: inline-block;
  width: 1em;
}

.header__mainblock__information__row2 .shop {
  flex: 1 1 auto;
  padding: 0 0 0 5px;
}

.header__mainblock__information__row2 .shop > * {
  display: inline-block;
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
}

.header__mainblock__information__row2 .shop > *:hover {
  color: #e95504;
}

.header__mainblock__information__row2 .shop > *::after {
  display: inline-block;
  padding: 0 4px;
  content: "/";
  color: #fff;
}

.header__mainblock__information__row2 .shop > *::after:hover {
  color: #fff;
}

.header__mainblock__information__row2 .shop > *:last-child::after {
  display: none;
  content: "";
}

.menuiconblock {
  display: none;
}

.headermenu {
  padding: 0;
  margin: 0;
  background-color: #f2f2f2;
}

.headermainmenu {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 1000px;
  list-style: none;
}

.headermainmenu .menulink {
  flex: 0 1 130px;
  padding: 10px 0;
  position: relative;
  line-height: 1.2;
}

.headermainmenu .menulink--vio {
  flex: 0 0 160px;
}

.headermainmenu .menulink--sp {
  display: none;
}

.headermainmenu .menulink--arrow > div {
  background-image: url("../img/arrow-under-black.png");
  background-position: 96% center;
  background-size: 9px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

.headermainmenu .menulink > a,
.headermainmenu .menulink > div {
  display: block;
  border-right: 1px solid #000;
  text-align: center;
  font-size: 1.5rem;
  color: #000;
  text-decoration: none;
}

.headermainmenu .menulink > a:hover,
.headermainmenu .menulink > div:hover {
  color: #e95504;
}

.headermainmenu .menulink:first-child > a,
.headermainmenu .menulink:first-child > div {
  border-left: 1px solid #000;
}

.headermainmenu .menulink__pulldown {
  display: none;
  padding: 0 0;
  margin: 0;
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 250px;
  background-color: rgba(255, 255, 255, 0.75);
  z-index: 999;
}

.headermainmenu .menulink__pulldown li {
  margin: 0;
  padding: 0 5px;
  width: 100%;
  font-size: 1.5rem;
  font-weight: normal;
}

.headermainmenu .menulink__pulldown li a {
  display: block;
  padding: 10px 0;
  width: 100%;
  border-bottom: 1px dashed #000;
  text-decoration: none;
  color: #000;
}

.headermainmenu .menulink__pulldown li a:hover {
  color: #e95504;
  border-bottom-color: #e95504;
}

.headermainmenu .menulink__pulldown li:last-child a {
  border-bottom: none;
}

.headermainmenu .menulink.is-current > a,
.headermainmenu .menulink.is-current > div {
  color: #e95504;
}

.contentsheader {
  margin: 0;
  padding: 0;
  background-color: #fff;
}

.contentsheader__youtube {
  padding: 56.25% 0 0;
  margin: 0;
  width: 100%;
  height: 0;
  position: relative;
}

.contentsheader__youtube > iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.contentsheader__youtube__container {
  padding: 0;
  margin: 0 auto;
  max-width: 1920px;
}

.contentsheader__bg {
  margin: 0 auto;
  padding: 35px 0;
  width: 100%;
  max-width: 960px;
  background-position: center center;
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.contentsheader__bg--company {
  background-image: url("../img/contentsheader/company.jpg?2212");
}

.contentsheader__bg--about {
  background-image: url("../img/contentsheader/face.jpg?2212");
}

.contentsheader__bg--body {
  background-image: url("../img/contentsheader/body.jpg?2212");
}

.contentsheader__bg--vio {
  background-image: url("../img/contentsheader/vio.jpg?2212");
}

.contentsheader__bg--shop {
  background-image: url("../img/contentsheader/shop.jpg?2212");
}

.contentsheader__title {
  display: flex;
  align-items: center;
  padding: 0 0 0 1em;
  margin: 0;
  height: 200px;
  font-size: 3.4rem;
  font-weight: bold;
}

.contentsheader__title > * {
  display: block;
  flex: 0 1 100%;
  font-weight: bold;
  line-height: 1.4;
  color: #e95504;
}

.contentsheader__title .textbig {
  font-size: 4.2rem;
}

.posmenu {
  padding: 20px 0 15px;
  margin: 0 auto;
  max-width: 960px;
  list-style: none;
  font-size: 0;
}

.posmenu li {
  display: inline-block;
  margin: 0 0 5px;
  font-size: 1.2rem;
  color: #000;
  line-height: 1.2;
}

.posmenu li::after {
  display: inline-block;
  content: ">";
  padding: 0 .5em;
  font-size: 1.2rem;
}

.posmenu li:last-child:after {
  display: none;
}

.posmenu li a {
  color: #e95504;
  text-decoration: none;
}

.posmenu li a:hover {
  text-decoration: underline;
}

.contents {
  clear: both;
  padding: 0;
}

.footer {
  clear: both;
  margin: 0;
  padding: 50px 0 35px 0;
  width: 100%;
  background: #4d4d4d;
  color: #fff;
}

.footer__mainblock {
  display: flex;
  justify-content: space-between;
  padding: 0;
  margin: 0 0 50px;
}

.footer__mainblock .sitename {
  flex: 0 0 215px;
}

.footer__mainblock .sitename a {
  display: block;
  padding: 49.5% 0 0;
  margin: 0;
  height: 0;
  width: 198px;
  background: url("../img/logo.png") center top/100% auto no-repeat;
}

.footer__mainblock .snsblock {
  flex: 1 1 auto;
  padding: 0 10px 0 0;
}

.footer__mainblock .snsblock .tagline {
  display: block;
  width: 136px;
  margin: 0 0 15px;
  font-size: 0;
}

.footer__mainblock .snsblock .tagline strong {
  display: block;
  padding: 35% 0 0;
  margin: 0;
  width: 100%;
  height: 0;
  background: url("../img/header-tagline.png") center top/100% auto no-repeat;
}

.footer__mainblock .snsblock .snsicon {
  display: inline-block;
  width: 30px;
}

.footer__mainblock .snsblock .snsicon:nth-of-type(1) {
  margin: 0 15px 0 0;
}

.footer__mainblock .snsblock .snsicon:hover {
  opacity: .8;
}

.footer__mainblock .footermainmenu {
  flex: 0 0 400px;
}

.footer__mainblock .footermainmenu ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__mainblock .footermainmenu ul li {
  flex: 0 1 192px;
  margin: 0 0 15px;
  line-height: 1.4;
}

.footer__mainblock .footermainmenu ul li:nth-last-child(1), .footer__mainblock .footermainmenu ul li:nth-last-child(2) {
  margin: 0 0 0;
}

.footer__mainblock .footermainmenu ul li a {
  display: block;
  padding: 5px 5px 5px 34px;
  background: url("../img/arrow-theme.png") 20px center/auto 12px no-repeat transparent;
  border: 2px solid #fff;
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
}

.footer__mainblock .footermainmenu ul li a:hover {
  color: #e95504;
}

.footer__subblock {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

.footer__subblock__contents {
  flex: 0 0 215px;
  margin: 0;
  padding: 70px 0 0;
  position: relative;
}

.footer__subblock__contents .contents--title {
  display: block;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-size: 1.8rem;
}

.footer__subblock__contents .contents--list {
  padding: 15px 0 0;
  margin: 0;
  list-style: none;
  border-top: 2px solid #fff;
}

.footer__subblock__contents .contents--list li {
  margin: 0 0 12px;
  line-height: 1.4;
}

.footer__subblock__contents .contents--list li a {
  display: block;
  font-size: 1.4rem;
  text-decoration: none;
  color: #fff;
}

.footer__subblock__contents .contents--list li a:hover {
  color: #e95504;
}

.footer__copyright {
  padding: 15px 0 0;
}

.pagetop {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 100;
  width: 50px;
  height: 50px;
}

.pagetop > a {
  overflow: hidden;
  display: block;
  width: 50px;
  height: 50px;
  background: url(../img/pagetop-bg.png) left center no-repeat rgba(0, 0, 0, 0.75);
  background-size: 50px 50px;
  white-space: nowrap;
  text-indent: 100%;
}

/* コンポーネント：サイト内で共通の部品 */
.slick-slide {
  height: auto;
}

.slick-arrow {
  overflow: hidden;
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  border: none;
  background: url(../img/slick-arrow-bg.png) transparent;
  background-size: 50px 100px;
  white-space: nowrap;
  text-indent: 100%;
  color: transparent;
}

.slick-arrow:hover {
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 5px #fff;
}

.slick-prev {
  left: 0px;
  background-position: 0 -50px;
  opacity: .9;
}

.slick-next {
  right: 0px;
  opacity: .9;
}

.slick-dots {
  position: absolute;
  bottom: -40px;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
  padding: 0;
  width: 16px;
  height: 16px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  border: 1px solid #808080;
  color: transparent;
  overflow: hidden;
}

@media screen and (min-width: 767px) {
  .slick-dots li:hover {
    background-color: #808080;
    box-shadow: 0 0 5px #fff;
  }
}

.slick-dots li button {
  background-color: transparent;
  border: none;
  color: transparent;
  width: 100%;
  height: 100%;
}

.slick-dots .slick-active {
  background: #e95504;
  border-color: #e95504;
}

.contentsbody {
  padding: 60px 0;
}

.contentswidth {
  margin: 0 auto;
  width: auto;
  max-width: 920px;
}

.contentswidth--wide {
  max-width: 960px;
}

.contentswidth--narrow {
  max-width: 680px;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.contentsh1 {
  clear: both;
  margin: 0 0 60px;
  padding: 0;
  font-size: 3.2rem;
  line-height: 1.75;
  text-align: center;
  color: #000;
}

.contentsh1 > * {
  display: inline-block;
  padding: 10px;
  margin: 0;
  background-image: url("../img/bracket-start-theme.png"), url("../img/bracket-end-theme.png");
  background-position: left top,right bottom;
  background-size: 60px auto;
  background-repeat: no-repeat;
  text-align: center;
}

.contentsh2 {
  clear: both;
  margin: 0 0 35px;
  padding: 10px 5px 10px 15px;
  background-color: #000;
  line-height: 1.4;
  font-size: 2rem;
  font-weight: normal;
  color: #fff;
}

.contentsh2--theme {
  background-color: #e95504;
}

.contentsh3 {
  clear: both;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  padding: 0 0 10px;
  margin: 0 0 25px;
  border-bottom: 1px solid #e9e9e9;
  font-size: 1.8rem;
  font-weight: normal;
  color: #000;
}

.contentsh3::before {
  content: "";
  display: block;
  flex: 0 0 3px;
  margin: 0 12px 0 0;
  background: linear-gradient(0deg, #e95504 0%, #e95504 50%, #000 50%, #000 100%);
}

.contentsh3 > * {
  display: block;
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  line-height: 1.75;
}

.contentsh4 {
  clear: both;
  padding: 0;
  margin: 0 0 25px;
  line-height: 1.6;
  font-size: 2rem;
  color: #e95504;
}

.buttonbox {
  margin: 35px 0;
  text-align: center;
}

.buttonbox--tal {
  text-align: left;
}

.buttonbox--tar {
  text-align: right;
}

.button {
  display: inline-block;
  margin: 0;
  padding: 12px 20px 12px 40px;
  height: auto;
  background-image: url("../img/arrow-black.png");
  background-position: 20px center;
  background-size: auto 13px;
  background-repeat: no-repeat;
  background-color: #e95504;
  border: none;
  line-height: 1.2;
  text-align: left;
  color: #fff;
  cursor: pointer;
}

.button:link, .button:visited, .button:active {
  color: #fff;
  text-decoration: none;
}

.button:hover {
  transition-duration: .25s;
  background-color: #ba4403;
}

.button--read {
  border: 2px solid #e95504;
  background-color: #fff;
  background-image: url("../img/arrow-theme.png");
  color: #000;
}

.button--read:hover {
  background-color: #fff;
  color: #e95504;
}

.button.is-disabled {
  background-color: #aaa;
}

.button.w-155px {
  width: 155px;
}

.button.w-200px {
  width: 200px;
}

.button.w-250px {
  width: 250px;
}

.button.w-300px {
  width: 300px;
}

.button.w-350px {
  width: 350px;
}

.button-wide {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 5px;
  margin: 0 auto;
  width: 100%;
  min-height: 95px;
  background-color: #e95504;
}

.button-wide > * {
  display: inline-block;
  flex: 0 0 auto;
  padding: 0 0 0 20px;
  background: url("../img/arrow-black.png") left center/auto 13px no-repeat;
  line-height: 1.2;
  font-size: 2.2rem;
}

.button-wide:link, .button-wide:visited, .button-wide:active {
  color: #fff;
  text-decoration: none;
}

.button-wide:hover {
  opacity: .75;
}

.dashedbox {
  display: block;
  padding: 20px;
  margin: 15px 0;
  border: 1px dashed #000;
  list-style: none;
}

.dashedbox li {
  padding: 0 0 0 20px;
  margin: 0 0 7px;
  background: url("../img/list-type-square.png") left center/14px auto no-repeat;
  line-height: 1.2;
  font-size: 1.8rem;
  color: #e95504;
}

.dashedbox li:last-child {
  margin: 0 0 0;
}

.dashedbox li a {
  color: #e95504;
  text-decoration: none;
}

.dashedbox li a:hover {
  text-decoration: underline;
}

.dashedbox--black li {
  background: url("../img/list-type-square-black.png") left center/14px auto no-repeat;
  color: #000;
}

.videobox {
  display: block;
  padding: 56.25% 0 0;
  margin: 0 auto;
  width: 100%;
  position: relative;
}

.videobox > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.form__table {
  width: 100%;
  margin: 0 0 50px;
}

.form__table th {
  padding: 25px 5px 25px 0;
  width: 200px;
  border-bottom: 1px solid #b3b3b3;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: left;
}

.form__table td {
  width: 75%;
  width: calc(100% - 200px);
  padding: 25px 0 25px 5px;
  border-bottom: 1px solid #b3b3b3;
}

.form__label {
  display: inline-block;
  padding: .2em 1em .2em .2em;
  line-height: 1;
  border-radius: 10px;
}

.form__label:hover {
  background-color: rgba(233, 85, 4, 0.2);
}

.form__error {
  display: inline-block;
  margin: 4px 0;
  padding: 5px;
  background-color: rgba(233, 0, 7, 0.1);
  border-radius: 3px;
  color: #E61934;
  line-height: 1.2;
}

.form__privacypolicycheck {
  margin: 30px 0;
  font-size: 1.8rem;
  text-align: center;
}

.form__btnblock {
  margin: 50px 0 0;
  text-align: center;
}

.form__submit {
  display: inline-block;
  margin: 0;
  padding: 20px 5px 20px 5px;
  width: 270px;
  background-color: #e95504;
  border-radius: 3px;
  border: none;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  cursor: pointer;
  transition: all .3s ease-in-out;
}

.form__submit:hover {
  transition: all .3s ease-in-out;
  background-color: #ba4403;
}

.form__submit.is-disabled {
  background-color: #ccc;
  cursor: default;
}

input[type=checkbox], input[type=radio] {
  -webkit-appearance: none;
  -o-appearance: none;
  appearance: none;
  position: relative;
  right: 0;
  bottom: 0;
  left: 0;
  height: 20px;
  width: 20px;
  vertical-align: -0.8rem;
  transition: all .15s ease-out 0s;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  margin: .4rem;
  outline: none;
  border-radius: 10%;
}

/* Checkbox */
input[type=checkbox]:before, input[type=checkbox]:after {
  position: absolute;
  content: "";
  background: #fff;
  transition: all .2s ease-in-out;
}

input[type=checkbox]:before {
  left: 2px;
  top: 6px;
  width: 0;
  height: 2px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}

input[type=checkbox]:after {
  right: 9px;
  bottom: 3px;
  width: 2px;
  height: 0;
  transform: rotate(40deg);
  -webkit-transform: rotate(40deg);
  -moz-transform: rotate(40deg);
  -ms-transform: rotate(40deg);
  -o-transform: rotate(40deg);
  transition-delay: .2s;
}

input[type=checkbox]:checked:before {
  left: 1px;
  top: 10px;
  width: 6px;
  height: 2px;
}

input[type=checkbox]:checked:after {
  right: 5px;
  bottom: 1px;
  width: 2px;
  height: 14px;
}

input[type=checkbox]:indeterminate:before, input[type=checkbox]:indeterminate:after {
  width: 7px;
  height: 2px;
  transform: rotate(0);
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0);
}

input[type=checkbox]:indeterminate:before {
  left: 1px;
  top: 7px;
}

input[type=checkbox]:indeterminate:after {
  right: 1px;
  bottom: 7px;
}

/* Radio */
input[type=radio] {
  border-radius: 25%;
}

input[type=radio]:checked:before {
  transform: scale(1);
}

input[type=radio]:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin: 3px;
  transform: scale(0);
  transition: all ease-out 250ms;
}

input[type=checkbox], input[type=radio] {
  border: 2px solid #ccc;
}

input[type=radio]:checked {
  border-color: #e95504;
}

input[type=checkbox]:checked, input[type=checkbox]:indeterminate, input[type=radio]:checked:before {
  background: #e95504;
}

input[type=checkbox]:checked, input[type=checkbox]:indeterminate {
  border-color: #e95504;
}

.must {
  display: inline-block;
  margin: 0 0 0 5px;
  padding: 3px 10px 1px;
  background: #E61934;
  border-radius: 5px;
  color: #fff;
}

.full {
  width: 100%;
}

.half {
  width: 50%;
}

.quarter {
  width: 25%;
}

.flexcontainer {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.flexcontainer > * {
  padding: 0;
  list-style: none;
}

.flexcontainer--two {
  margin: 0 -1.25%;
}

.flexcontainer--two > * {
  width: 47.5%;
  margin: 0 1.25% 20px;
}

.flexcontainer--three {
  margin: 0 -1.1666%;
}

.flexcontainer--three > * {
  width: 31%;
  margin: 0 1.1666% 20px;
}

.flexcontainer--three .flexcontainer__two {
  width: 64.33%;
}

.flexcontainer--four {
  margin: 0 -1.25%;
}

.flexcontainer--four > * {
  width: 22.5%;
  margin: 0 1.25% 20px;
}

.flexcontainer--four .flexcontainer__two {
  width: 47%;
}

.flexcontainer--four .flexcontainer__three {
  width: 72%;
}

.flexcontainer--reverse {
  flex-direction: column-reverse;
}

.flexcontainer--alignitemscenter {
  align-items: center;
}

.flexcontainer--alignitemsend {
  align-items: flex-end;
}

.flexcontainer--center {
  justify-content: center;
}

table.w-100px {
  width: 100;
}

table.w-200px {
  width: 200;
}

table.w-300px {
  width: 300;
}

table.w-400px {
  width: 400;
}

table.w-500px {
  width: 500;
}

table.w-600px {
  width: 600;
}

table.w-700px {
  width: 700;
}

table.w-10per {
  width: 10%;
}

table.w-15per {
  width: 15%;
}

table.w-20per {
  width: 20%;
}

table.w-25per {
  width: 25%;
}

table.w-30per {
  width: 30%;
}

table.w-35per {
  width: 35%;
}

table.w-40per {
  width: 40%;
}

table.w-45per {
  width: 45%;
}

table.w-50per {
  width: 50%;
}

table.w-auto {
  width: auto;
}

table.table-tal th, table.table-tal td {
  text-align: left;
}

table.table-tac th, table.table-tac td {
  text-align: center;
}

table.table-tar th, table.table-tar td {
  text-align: right;
}

table.table-vat th, table.table-vat td {
  vertical-align: top;
}

table.table-nowrap th {
  white-space: nowrap;
}

table.table-fixed th {
  width: 20%;
}

table.table-valiable th, table.table-valiable td {
  width: auto;
}

table th.w-55px, table td.w-55px {
  width: 55;
}

table th.w-155px, table td.w-155px {
  width: 155;
}

table th.w-255px, table td.w-255px {
  width: 255;
}

table th.w-355px, table td.w-355px {
  width: 355;
}

table th.w-455px, table td.w-455px {
  width: 455;
}

table th.w-555px, table td.w-555px {
  width: 555;
}

table th.w-655px, table td.w-655px {
  width: 655;
}

table th.w-10per, table td.w-10per {
  width: 10%;
}

table th.w-15per, table td.w-15per {
  width: 15%;
}

table th.w-20per, table td.w-20per {
  width: 20%;
}

table th.w-25per, table td.w-25per {
  width: 25%;
}

table th.w-30per, table td.w-30per {
  width: 30%;
}

table th.w-35per, table td.w-35per {
  width: 35%;
}

table th.w-40per, table td.w-40per {
  width: 40%;
}

table th.w-45per, table td.w-45per {
  width: 45%;
}

table th.w-50per, table td.w-50per {
  width: 50%;
}

table th.cell__tal, table td.cell__tal {
  text-align: left;
}

table th.cell__tac, table td.cell__tac {
  text-align: center;
}

table th.cell__tar, table td.cell__tar {
  text-align: right;
}

table th.cell__vat, table td.cell__vat {
  vertical-align: top;
}

table th.cell__vam, table td.cell__vam {
  vertical-align: middle;
}

table th.cell__nowrap, table td.cell__nowrap {
  white-space: nowrap;
}

table th.cell__valiable, table td.cell__valiable {
  width: auto;
}

.datatable1 {
  width: 100%;
  margin: 25px 0;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background-color: #fff;
}

.datatable1 th {
  padding: 20px 5px 20px 15px;
  background-color: rgba(233, 85, 4, 0.08);
  border-bottom: 1px solid #e95504;
  min-width: 150px;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
}

.datatable1 th:first-of-type {
  border-top: 1px solid #e95504;
}

.datatable1 td {
  padding: 20px 5px 20px 15px;
  border-bottom: 1px solid #b3b3b3;
  line-height: 1.4;
}

.datatable1 td:first-of-type {
  border-top: 1px solid #b3b3b3;
}

.datatable1 td a {
  text-decoration: none;
  color: #e95504;
}

.datatable1 td a:hover {
  text-decoration: underline;
}

.datatable2 {
  width: 100%;
  margin: 25px 0;
  padding: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background-color: #fff;
  border: 1px solid #e95504;
}

.datatable2 thead th {
  padding: 20px 0;
  background-color: rgba(233, 85, 4, 0.16);
  font-weight: normal;
  text-align: center;
}

.datatable2 tbody th {
  padding: 20px 5px 20px 10px;
  background-color: rgba(233, 85, 4, 0.08);
  min-width: 150px;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  line-height: 1.4;
}

.datatable2 tbody td {
  padding: 20px 5px 20px 15px;
  line-height: 1.4;
}

.datatable2 tbody td ul {
  margin: 0;
  padding: 0 0 0 .8em;
}

.datatable2 tbody td ul li {
  margin: 0 0 2px;
}

.datatable2 tbody td a {
  text-decoration: none;
  color: #e95504;
}

.datatable2 tbody td a:hover {
  text-decoration: underline;
}

.datatable2 tbody tr:nth-child(even) {
  background-color: rgba(233, 85, 4, 0.08);
}

.datatable2 tbody tr:nth-child(even) td {
  background-color: #e9e9e9;
}

.table-notice {
  margin-top: -20px;
}

body .wp-pagenavi {
  margin: 50px 0;
  text-align: center;
}

body .wp-pagenavi > a,
body .wp-pagenavi span {
  display: inline-block;
  margin: 0 5px 10px;
  padding: 5px 10px;
  border: 1px solid #e95504;
  font-size: 1.6rem;
}

body .wp-pagenavi .current {
  background-color: #e95504;
  color: #fff;
}

.margintop {
  display: block;
  margin-top: 25px !important;
}

.margintopwide {
  display: block;
  margin-top: 45px !important;
}

.marginbottom {
  display: block;
  margin-bottom: 25px !important;
}

.marginbottomwide {
  display: block;
  margin-bottom: 45px !important;
}

.paddingtop {
  padding-top: 25px !important;
}

.paddingtopwide {
  padding-top: 45px !important;
}

.paddingbottom {
  padding-bottom: 25px !important;
}

.paddingbottomwide {
  padding-bottom: 45px !important;
}

.imagetext {
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.pcnone {
  display: none !important;
}

.spnone {
  display: inline-block !important;
}

.pc-tac {
  text-align: center !important;
}

.pc-tar {
  text-align: right !important;
}

.image-float-right {
  display: block;
  float: right;
  width: 100%;
  max-width: 300px;
  margin: 0 0 20px 20px;
  padding: 0;
  text-align: center;
}

.image-float-left {
  display: block;
  float: left;
  width: 100%;
  max-width: 300px;
  margin: 0 20px 0 20px 0;
  padding: 0;
  text-align: center;
}

.textred {
  color: #E61934 !important;
}

.textyellow {
  color: #ff0 !important;
}

.textlightblue {
  color: #0cf !important;
}

.textthemecolor {
  color: #e95504 !important;
}

.textwhite {
  color: #fff !important;
}

.textblack {
  color: #000 !important;
}

.sign {
  font-family: Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

.numbertext {
  font-family: 'Oswald', sans-serif;
}

/* エフェクト */
@keyframes displayFadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes flash {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.ef.fadein, .ef.fadein2, .ef.fadein3 {
  opacity: 0;
}

.ef-v.fadein {
  animation: fadeIn 1s ease forwards;
}

.ef-v.fadein2 {
  animation: fadeIn 1s ease forwards;
  animation-delay: .25s;
}

.ef-v.fadein3 {
  animation: fadeIn 1s ease forwards;
  animation-delay: .5s;
}

.ef-v.displayfadein {
  animation: displayFadeIn 5s ease forwards;
  animation-delay: .25s;
}

.common__template {
  padding: 0 0 60px;
  margin: 0 auto;
  max-width: 960px;
}

.common__template__2column {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0;
  padding: 40px 20px;
  width: 100%;
  background-color: #fff;
}

.common__template__mainblock {
  flex: 0 1 780px;
  padding: 0 20px 0 0;
}

.common__template__sideblock {
  flex: 0 0 180px;
}

.common__template__sideblock .stickycontainer {
  position: sticky;
  top: 0;
}

.common__sidebanner {
  padding: 0;
  margin: 0 0 20px;
  list-style: none;
  width: 100%;
}

.common__sidebanner__list {
  margin: 0 0 20px;
}

.common__sidebanner__list:last-child {
  margin: 0;
}

.common__bannerlist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.common__bannerlist__item {
  flex: 0 1 48.913%;
  margin: 0 0 20px;
  text-align: center;
}

/* プロジェクト：ページ固有の部品 */
.bgcolor-black {
  background-color: #000;
}

.bgcolor-white {
  background-color: #fff;
  color: #000;
}

.home__mainimage {
  text-align: center;
  /*position: relative;
        padding: 35% 0 0;
        margin: 0 auto;
        height: 0;
        max-width: 1920px;
        background: url("../../img/mainimage-bg.jpg") top center/100% auto no-repeat transparent;
        .contentswidth {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%,-50%);
            width: 100%;
            max-width: 920px;
        }
        &__read {
            margin: 0 auto;
            padding: 0;
            width: 69%;
            max-width: 637px;
            height: auto;
            strong {
                display: block;
                padding: 51.1% 0 0;
                width: 100%;
                height: 0;
                background: url("../../img/mainimage-read.png") center center/100% auto no-repeat transparent;
                @include imagetext;
            }
        }*/
}

.home__campaign {
  padding: 45px 0 60px;
  margin: 0;
}

.home__campaign__title {
  padding: 0;
  margin: 0 0 35px;
  height: 23px;
  background: url("../../img/title-campaign-black.png") center top/auto 100% no-repeat transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.home__campaign__flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 0 40px;
  border-bottom: 2px solid #000;
}

.home__campaign__flex__banner {
  flex: 0 0 48%;
  margin: 0 0 40px;
  text-align: center;
}

.home__campaign__flex__widebanner {
  flex: 0 0 100%;
  margin: 0 0 0;
  text-align: center;
}

.home__menu {
  padding: 0;
  margin: 0;
}

.home__menu__title {
  padding: 0;
  margin: 0 0 15px;
  height: 23px;
  background: url("../../img/title-startupmenu-black.png") center top/auto 100% no-repeat transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.home__menu__service {
  width: 100%;
  max-width: 1920px;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-color: transparent;
  color: #fff;
}

.home__menu__service--face {
  margin: 0 auto;
  padding: 7% 0 7%;
  background-image: url("../../img/face-bgimage-pc.jpg?2211");
}

.home__menu__service--body {
  margin: -7% auto 0;
  padding: 7% 0 7%;
  background-image: url("../../img/body-bgimage-pc.png?221202");
}

.home__menu__service--vio {
  margin: -7% auto 0;
  padding: 7% 0 7%;
  background-image: url("../../img/vio-bgimage-pc.png");
}

.home__menu__service--refund {
  margin: -7% auto 0;
  padding: 7% 0 70px;
  background-image: url("../../img/refund-bgimage-pc.png?221201");
  color: #000;
}

.home__menu__service--refund .noticetxt {
  display: block;
  margin: 0 auto;
  padding: 12px 0 0;
  max-width: 600px;
  line-height: 1.2;
}

.home__menu__service__flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  margin: 0;
}

.home__menu__service__flex--reverse {
  flex-direction: row-reverse;
}

.home__menu__service__flex__contents {
  flex: 0 1 388px;
}

.home__menu__service__flex__contents .service-name {
  padding: 0;
  margin: 0 0 25px;
  max-width: 388px;
}

.home__menu__service__flex__contents .service-name strong {
  display: block;
  padding: 30.9% 0 0;
  width: 100%;
  height: 0;
  background-position: left top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.home__menu__service__flex__contents .service-name strong.face {
  background-image: url("../../img/contents-title-face-pc.png");
}

.home__menu__service__flex__contents .service-name strong.body {
  background-image: url("../../img/contents-title-body-pc.png?221201");
}

.home__menu__service__flex__contents .service-name strong.vio {
  background-image: url("../../img/contents-title-vio-pc.png");
}

.home__menu__service__flex__contents .service-read {
  margin: 0;
  padding: 0 2em 0 0;
}

.home__menu__service__flex__contents .service-read-body {
  margin: 0;
  padding: 0 0 0 2em;
}

.home__menu__service__flex__links {
  flex: 0 1 415px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home__menu__service__flex__links li {
  line-height: 2.5;
  margin: 0 0 15px;
}

.home__menu__service__flex__links li:last-child {
  margin: 0;
}

.home__menu__service__flex__links li.lh-normal {
  line-height: 1.4;
}

.home__menu__service__flex__links li a {
  display: block;
  padding: 10px 5px 10px 40px;
  background-position: 20px center;
  background-size: auto 13px;
  background-repeat: no-repeat;
  background-color: transparent;
  border: 2px solid #fff;
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
}

.home__menu__service__flex__links li a:hover {
  background-color: rgba(0, 0, 0, 0.3);
  color: #e95504;
}

.home__menu__service__flex__links.arrow-black li a {
  background-image: url("../img/arrow-black.png");
}

.home__menu__service__flex__links.arrow-theme li a {
  background-image: url("../img/arrow-theme.png");
  color: #e95504;
  border: 2px solid #e95504;
}

.home__menu__service__flex__links.arrow-theme li a:hover {
  color: #fff;
}

.home__menu__service__refund {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0;
  padding: 0;
}

.home__menu__service__refund h3 {
  flex: 0 1 396px;
  margin: 0;
  padding: 0;
}

.home__menu__service__refund h3 span {
  display: block;
  padding: 44.7% 0 0;
  width: 100%;
  height: 0;
  background: url("../../img/contents-title-refund-pc.png?221201") center top/100% auto no-repeat transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.home__menu__service__refund p {
  flex: 0 1 300px;
  margin: 0;
  padding: 0 0 0 15px;
  font-size: 2.2rem;
}

.home__menu__service .refund__detail {
  display: block;
  margin: 35px auto 0;
  padding: 0;
  max-width: 800px;
}

.home__menu__service .refund__detail dt {
  margin: 0;
  padding: 25px 15px 15px;
  background-color: #666;
  line-height: 1;
  font-size: 2.8rem;
  text-align: center;
  color: #fff;
  cursor: pointer;
}

.home__menu__service .refund__detail dt::after {
  content: "";
  display: block;
  margin: 15px 0 0;
  width: 100%;
  height: 15px;
  background: url("../img/arrow-under-white.png") center center/contain no-repeat transparent;
}

.home__menu__service .refund__detail dt.js-accordion-open::after {
  transform: rotateX(180deg);
}

.home__menu__service .refund__detail dd {
  margin: 0 auto;
  padding: 35px 35px 0;
  background-color: rgba(255, 255, 255, 0.75);
}

.home__menu__service .refund__detail dd ul {
  margin: 0;
  padding: 0 0 0 1.2em;
}

.home__menu__service .refund__detail dd ul li {
  list-style-type: square;
  font-size: 1.8rem;
}

.home__news__covid {
  padding: 0;
  margin: 0 auto 60px;
  max-width: 525px;
  text-align: center;
}

.home__news__title {
  padding: 0;
  margin: 0 0 15px;
  height: 25px;
  background: url("../../img/title-news-black.png") center top/auto 100% no-repeat transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.home__news__btnbox {
  padding: 0;
  margin: 0 0 35px;
  text-align: center;
}

.home__news__container {
  padding: 0;
  margin: 0;
  position: relative;
  background-color: #f2f2f2;
  border-top: 1px solid #000;
  height: auto;
  overflow: hidden;
  color: #000;
}

.home__news__container--hide::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60px;
  background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.6) 35%, white);
  z-index: 1;
}

.home__news__container dl {
  margin: 0;
  padding: 25px 0;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
}

.home__news__container dl:last-child {
  border-bottom: none;
}

.home__news__container dl dt {
  margin: 0 0 15px;
  font-weight: bold;
  color: #e95504;
  line-height: 1;
}

.home__news__container dl dd {
  margin: 0;
}

.home__news__container dl dd a {
  text-decoration: none;
  color: #e95504;
}

.home__news__container dl dd p {
  margin: 0 0 10px;
  line-height: 1.4;
}

.home__news__container dl dd p:last-child {
  margin: 0;
}

.home__news__container dl dd ul {
  margin: 0 0 10px;
  padding: 0 0 0 1.1em;
}

.home__inquiry__title {
  padding: 0;
  margin: 0 0 10px;
  font-size: 2.6rem;
  text-align: center;
  line-height: 1.4;
  color: #000;
}

.home__inquiry__freedial {
  padding: 0;
  margin: 0 auto;
  max-width: 560px;
  text-align: center;
}

.home__inquiry__freedial__text {
  margin: 0 0 35px;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.2;
  color: #e95504;
}

.home__inquiry__freedial__text .small {
  font-size: 2.4rem;
}

.home__inquiry__freedial a:hover {
  opacity: .75;
}

.home__shopinfo__title {
  padding: 0;
  margin: 0 0 30px;
  font-size: 2.6rem;
  text-align: center;
  line-height: 1.4;
  color: #000;
}

.home__shopinfo__pref {
  margin: 0 auto 15px;
  padding: 0 0 7px 0;
  width: 100%;
  max-width: 860px;
  border-bottom: solid 1px #333;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1;
  color: #000;
}

.home__shopinfo__list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0 auto 10px;
  max-width: 860px;
}

.home__shopinfo__list:last-of-type {
  margin: 0 auto 0;
}

.home__shopinfo__list__shop {
  flex: 0 0 400px;
  margin: 0;
  padding: 0 0 15px;
  font-size: 0;
}

.home__shopinfo__list__shop dt, .home__shopinfo__list__shop dd {
  display: inline-block;
  margin: 0;
  white-space: nowrap;
}

.home__shopinfo__list__shop dt {
  float: left;
  padding: 0 5px 0 0;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.4;
  color: #000;
}

.home__shopinfo__list__shop dd {
  float: right;
  padding: 0 0 0 25px;
  background: url("../img/icon-tel.png") left center/auto 16px no-repeat;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  color: #e95504;
}

.home__shopinfo__list__shop dd .telto a {
  text-decoration: none;
  color: #e95504;
}

.home__consent .contentswidth {
  padding: 60px 2.5%;
  background-color: #f2f2f2;
}

.home__consent .contentswidth .contentsh1 {
  margin: 0 0 25px;
}

.home__consent .contentswidth h3 {
  margin: 0 0 15px;
  font-size: 2.2rem;
  line-height: 1.4;
  text-align: center;
}

.home__consent .contentswidth p {
  text-align: center;
  font-size: 1.4rem;
}

.home__consent .contentswidth .buttonbox {
  margin: 25px auto 20px;
  max-width: 525px;
}

.home__consent__read {
  margin: 0 0 25px;
  font-size: 1.6rem;
}

.home__consent__notice {
  margin: -10px 0 60px 0;
  font-size: 1.3rem;
  text-align: center;
}

.home__app {
  background-color: #fee8a9;
}

.home__app .contentswidth {
  max-width: 1000px;
}

.home__app .apphead {
  margin: 0 auto 30px;
  padding: 20px 10px;
  width: 100%;
  max-width: 450px;
  border: 2px solid #e95504;
  border-radius: 22px;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
}

.home__app .appread {
  margin: 0 0 40px;
  text-align: center;
}

.home__app .appflexbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  margin: 0 0 50px;
}

.home__app .appflexbox__left {
  flex: 0 1 440px;
  padding: 0 5px 0 0;
  margin: 0;
}

.home__app .appflexbox__right {
  flex: 0 1 545px;
  padding: 0 0 0 5px;
  margin: 0;
}

.home__app .applinkbtn {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto;
  width: 600px;
}

.home__app .applinkbtn > * {
  flex: 0 0 45%;
  margin: 0;
  text-align: center;
}

.home__doctor {
  background-color: #f2f2f2;
}

.home__doctor__head {
  margin: 0 0 35px;
  padding: 15px;
  position: relative;
  background-color: #aaa;
  font-weight: bold;
  font-size: 3.8rem;
  line-height: 1.25;
  text-align: center;
  color: #fff;
  z-index: 1;
}

.home__doctor__head .txtsmall {
  font-size: 3rem;
}

.home__doctor__head::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 40px;
  background: linear-gradient(107deg, #737373 0%, #737373 50%, transparent 50%, transparent 100%);
  z-index: -1;
}

.home__doctor__head::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 40px;
  background: linear-gradient(107deg, transparent 0%, transparent 50%, #737373 50%, #737373 100%);
  z-index: -1;
}

.home__doctor__video {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0 auto;
}

.home__doctor__video .flexelem {
  flex: 0 0 48.5%;
}

.home__doctor__video .videotitle {
  margin: 0;
  padding: 15px 0 0 0;
  font-size: 2rem;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
}

.serviceheader .contentswidth {
  margin: 0 auto 80px;
  max-width: 620px;
  color: #000;
  opacity: 0;
}

.serviceheader__bg {
  position: relative;
  padding: 60px 0 9%;
  margin: 0 auto;
  max-width: 1920px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.serviceheader__bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding: 9% 0 0;
  margin: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  background: linear-gradient(-5deg, #e95504, #e95504 50%, transparent calc(50% + 1px), transparent 100%);
  z-index: 1;
}

.serviceheader__bg--face {
  background-image: url("../../about/img/mainimage-bg.jpg?202212");
}

.serviceheader__bg--body {
  background-image: url("../../body/img/mainimage-bg.jpg?202212");
  background-position: center top;
  background-size: 100% auto;
  background-color: #fff;
}

.serviceheader__bg--vio {
  background-image: url("../../vio/img/mainimage-bg.jpg?202212");
}

.serviceheader__bg .webcampaign-title {
  padding: 0;
  margin: 0 auto 35px;
  max-width: 776px;
}

.serviceheader__bg .webcampaign-title span {
  display: block;
  padding: 7.69% 0 0;
  margin: 0;
  width: 100%;
  height: 0;
  background: url("../img/title-web-campaign-pc-theme.png") center top/100% auto no-repeat transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.serviceheader__title {
  margin: 0 auto 25px;
}

.serviceheader__title span {
  display: block;
  width: 100%;
  height: 0;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-color: transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.serviceheader__title--face {
  width: 235px;
}

.serviceheader__title--face span {
  padding: 47.2% 0 0;
  background-image: url("../../about/img/main-title.png?202212");
}

.serviceheader__title--body {
  width: 235px;
}

.serviceheader__title--body span {
  padding: 47.2% 0 0;
  background-image: url("../../body/img/main-title.png?202212");
}

.serviceheader__title--vio {
  width: 420px;
}

.serviceheader__title--vio span {
  padding: 23% 0 0;
  background-image: url("../../vio/img/main-title.png?202212");
}

.serviceheader__read {
  margin: 0;
  padding: 0;
  text-align: center;
}

.face__webcampaign {
  padding: 0 0 35px;
}

.face__webcampaign__flex {
  display: flex;
  justify-content: space-around;
  margin: 0;
  padding: 0;
}

.face__webcampaign__flex__photo {
  flex: 0 1 515px;
  text-align: center;
}

.face__webcampaign__flex__price {
  flex: 0 1 276px;
}

.face__webcampaign__flex__price strong {
  display: block;
  padding: 129.4% 0 0;
  width: 100%;
  max-width: 276px;
  height: 0;
  background: url("../../about/img/web-campaign-price.png?202212") center top/100% auto no-repeat transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.body__webcampaign {
  padding: 0 0 35px;
}

.body__webcampaign__flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.body__webcampaign__flex__photo {
  flex: 0 1 510px;
  text-align: center;
}

.body__webcampaign__flex__photo.foot {
  margin: 0 0 15px;
  order: 3;
}

.body__webcampaign__flex__photo.chest {
  margin: 0;
  order: 2;
}

.body__webcampaign__flex__price {
  flex: 0 1 300px;
}

.body__webcampaign__flex__price strong {
  display: block;
  padding: 56.857% 0 0;
  width: 100%;
  max-width: 290px;
  height: 0;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.body__webcampaign__flex__price.foot {
  padding: 0 10px 0 0;
  margin: 0 0 15px;
  order: 1;
}

.body__webcampaign__flex__price.foot strong {
  background-image: url("../../body/img/web-campaign-price-foot.png?202212");
}

.body__webcampaign__flex__price.chest {
  padding: 0 0 0 10px;
  margin: 0;
  order: 4;
}

.body__webcampaign__flex__price.chest strong {
  background-image: url("../../body/img/web-campaign-price-chest.png?202212");
}

.bodyprice-wrapper {
  position: absolute;
  bottom: 30px;
  width: 100%;
}

.vio__webcampaign {
  padding: 0 0 35px;
}

.vio__webcampaign__flex {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.vio__webcampaign__flex__photo {
  flex: 0 1 364px;
  padding: 0 10px 0 0;
  text-align: center;
}

.vio__webcampaign__flex__price {
  flex: 0 1 245px;
}

.vio__webcampaign__flex__price strong {
  display: block;
  padding: 190% 0 0;
  width: 100%;
  max-width: 245px;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-color: transparent;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.vio__webcampaign__flex__price.vio-campaign {
  padding: 0 5px 0 0;
}

.vio__webcampaign__flex__price.vio-campaign strong {
  background-image: url("../../vio/img/web-campaign-price-vio.png?202212");
}

.vio__webcampaign__flex__price.hip-campaign {
  position: relative;
  padding: 0 0 0 5px;
}

.vio__webcampaign__flex__price.hip-campaign strong {
  background-image: url("../../vio/img/web-campaign-price-hip.png?202212");
}

.vio__webcampaign__textblock {
  position: absolute;
  bottom: 15px;
  width: 100%;
  padding: 0;
  margin: 0 0 0 auto;
  max-width: 520px;
}

.vio__webcampaign__textblock p {
  margin: 0 0 0;
  line-height: 1.5;
}

.vioprice1-wrapper {
  position: absolute;
  bottom: 22%;
  width: 100%;
}

.vioprice2-wrapper {
  position: absolute;
  bottom: 30px;
  width: 100%;
}

.service__container {
  position: relative;
  padding: 4.5% 0;
  margin: 0;
}

.service__container::before, .service__container::after {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding: 4.5% 0 0;
  margin: 0;
  position: absolute;
  left: 0;
  background-size: 50% 100%;
  background-repeat: no-repeat;
  background-color: transparent;
  z-index: 1;
}

.service__container::before {
  top: 0;
  background-position: left top,right top;
}

.service__container::after {
  bottom: 0;
  background-position: right bottom,left bottom;
}

.service__container--1 {
  padding: 0 0 4.5%;
  background-color: #e95504;
}

.service__container--1::before {
  display: none;
}

.service__container--1::after {
  background-image: linear-gradient(-5.1deg, #fff, #fff 50%, transparent calc(50% + 1px), transparent 100%), linear-gradient(5.1deg, #f08850, #f08850 50%, transparent calc(50% + 1px), transparent 100%);
}

.service__container--2, .service__container--4 {
  background-color: #cecece;
}

.service__container--2::before, .service__container--4::before {
  background-image: linear-gradient(354.9deg, transparent, transparent 50%, #f08850 calc(50% + 1px), #f08850 100%), linear-gradient(-354.9deg, transparent, transparent 50%, #fff calc(50% + 1px), #fff 100%);
}

.service__container--2::after, .service__container--4::after {
  background-image: linear-gradient(-5.1deg, #f08850, #f08850 50%, transparent calc(50% + 1px), transparent 100%), linear-gradient(5.1deg, #fff, #fff 50%, transparent calc(50% + 1px), transparent 100%);
}

.service__container--3 {
  background-color: #e95504;
}

.service__container--3::before {
  background-image: linear-gradient(354.9deg, transparent, transparent 50%, #fff calc(50% + 1px), #fff 100%), linear-gradient(-354.9deg, transparent, transparent 50%, #f08850 calc(50% + 1px), #f08850 100%);
}

.service__container--3::after {
  background-image: linear-gradient(-5.1deg, #fff, #fff 50%, transparent calc(50% + 1px), transparent 100%), linear-gradient(5.1deg, #f08850, #f08850 50%, transparent calc(50% + 1px), transparent 100%);
}

.service__container--vio2 {
  background-color: #cecece;
}

.service__container--vio2::before {
  background-image: linear-gradient(354.9deg, transparent, transparent 50%, #f08850 calc(50% + 1px), #f08850 100%), linear-gradient(-354.9deg, transparent, transparent 50%, #fff calc(50% + 1px), #fff 100%);
}

.service__container--vio2::after {
  background-image: linear-gradient(2.5deg, #fff, #fff 50%, transparent calc(50% + 1px), transparent 100%);
  background-position: left bottom;
  background-size: 100% 100%;
}

.service__container--merit {
  background-color: #e95504;
  /*&::after {
                background-image: linear-gradient(-2.5deg, #000, #000 50%, transparent calc(50% + 1px), transparent 100%);
                background-position: left bottom;
                background-size: 100% 100%;
            }*/
}

.service__container--merit::before {
  background-image: linear-gradient(354.9deg, transparent, transparent 50%, #fff calc(50% + 1px), #fff 100%), linear-gradient(-354.9deg, transparent, transparent 50%, #f08850 calc(50% + 1px), #f08850 100%);
}

.service__container .body-notice {
  margin: 15px 0 0;
  font-size: 1.3rem;
  line-height: 1.2;
  color: #fff;
}

.service__flexcontents {
  display: flex;
  justify-content: space-between;
  color: #fff;
}

.service__flexcontents--reverse .service__flexcontents__row:nth-of-type(2) {
  order: 1;
}

.service__flexcontents--reverse .service__flexcontents__row:nth-of-type(1) {
  order: 2;
}

.service__flexcontents .point-title {
  margin: 0 0 15px;
  font-size: 4.2rem;
  font-weight: bold;
}

.service__flexcontents .point-subtitle {
  margin: 0 0 10px;
  font-size: 2.4rem;
}

.service__flexcontents .point-read {
  margin: 0 0 10px;
}

.service__flexcontents .point-read:last-child {
  margin: 0;
}

.service__flexcontents .simulation-price {
  padding: 0 0 0 10px;
  text-align: right;
}

.service__flexcontents .simulation-price img {
  outline: 1px solid #000;
  outline-offset: -1px;
  max-width: 390px;
}

.service__flexcontents .photo-square {
  max-width: 310px;
  margin: 0 auto;
}

.service__flexcontents .vio-illust {
  margin: 0 auto 20px;
  max-width: 350px;
}

.service__flexcontents .vio-illust:last-child {
  margin: 0 auto;
}

.service__flexcontents__num {
  flex: 0 0 85px;
  background-position: left 10px;
  background-size: 75px auto;
  background-repeat: no-repeat;
}

.service__flexcontents__num--1 {
  background-image: url("../img/img-num-1.png");
}

.service__flexcontents__num--2 {
  background-image: url("../img/img-num-2-bk.png");
}

.service__flexcontents__num--3 {
  background-image: url("../img/img-num-3.png");
}

.service__flexcontents__num--4 {
  background-image: url("../img/img-num-4-bk.png");
}

.service__flexcontents__row {
  flex: 0 1 415px;
  padding: 0 0 0 10px;
}

.service__flexcontents__row.top-padding {
  padding-top: 80px;
}

.service__flexcontents__wide {
  flex: 1 1 830px;
  padding: 20px 0 0 10px;
}

.service__flexcontents__none {
  display: none;
}

.service__flexmerit {
  display: flex;
  justify-content: space-between;
  padding: 0 0 0 85px;
}

.service__flexmerit__text {
  flex: 0 1 430px;
  padding: 0 10px 0 0;
}

.service__flexmerit__text .merit__title {
  margin: 0 0 20px;
  font-weight: bold;
  font-size: 3.4rem;
  letter-spacing: -0.05em;
}

.service__flexmerit__text .merit__subtitle {
  margin: 0 0 10px;
  font-size: 2.2rem;
  font-weight: normal;
  color: #fff;
}

.service__flexmerit__text p {
  margin: 0 0 15px;
}

.service__flexmerit__photo {
  flex: 0 1 400px;
  text-align: left;
}

.service__flexmerit__photo img {
  max-width: 315px;
}

.epilation-ba {
  padding: 60px 0 0;
  color: #000;
  background: url("../img/title-before-after-black.png") center top/322px auto no-repeat;
}

.epilation-ba__title {
  padding: 0;
  margin: 0 0 20px;
  text-align: center;
  font-size: 4rem;
  line-height: 1.2;
}

.epilation-ba__read {
  margin: 0 0 40px;
  font-size: 1.4rem;
  text-align: center;
}

.epilation-ba__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 40px;
}

.epilation-ba__flex:last-child {
  margin: 0;
}

.epilation-ba__flex__photo {
  flex: 0 1 418px;
}

.epilation-ba__flex__photo figcaption {
  display: block;
  padding: 20px 0 0 0;
  line-height: 1.2;
}

.epilation-ba__flex__arrow {
  display: block;
  flex: 0 0 25px;
  text-align: center;
}

.epilation-ba__flex__arrow img {
  width: 15px;
}

.epilation-about {
  padding: 80px 0 0;
  background: url("../img/title-about-black.png") center top/133px auto no-repeat;
}

.epilation-about__head {
  padding: 0;
  margin: 0 0 30px;
  height: 145px;
  width: 100%;
  background-position: center center;
  background-size: auto 88px;
  background-repeat: no-repeat;
  background-color: #e95504;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.epilation-about__head--checkseat {
  background-image: url("../img/sub-tilte-checkseat-white.png");
}

.epilation-about__head--report {
  background-image: url("../img/sub-tilte-report.png");
}

.epilation-about__head--qa {
  background-image: url("../img/sub-tilte-qanda-white.png");
}

.epilation-about__head--list {
  background-image: url("../img/sub-tilte-list-white.png");
}

.epilation-about__head--private {
  background-image: url("../img/sub-tilte-privateparts-white.png");
}

.epilation-about__title {
  padding: 0;
  margin: 0 0 25px;
  text-align: center;
  font-weight: bold;
  font-size: 3rem;
}

.epilation-about__flexbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 50px;
}

.epilation-about__flexbox .epilation-about__head {
  height: 135px;
}

.epilation-about__flexbox .epilation-about__title {
  font-size: 2.8rem;
}

.epilation-about__flexbox > * {
  flex: 0 0 435px;
  padding: 0 0 65px;
  background-color: #f2f2f2;
  position: relative;
}

.epilation-about__flexbox > * .textwrap {
  padding: 0 6% 0;
  width: 100%;
}

.epilation-about__flexbox > * .btnbox {
  display: block;
  padding: 0 25px 0 0;
  position: absolute;
  left: 0;
  bottom: 20px;
  width: 100%;
  text-align: right;
}

.epilation-about__flexbox__checkseat .dashedbox .readmore {
  font-size: 1.2rem;
  color: #000;
}

.epilation-about__flexbox__report .report__user {
  padding: 15px 0;
  margin: 15px auto;
  border-top: 1px dashed #000;
  border-bottom: 1px dashed #000;
  text-align: center;
}

.epilation-about__container {
  margin: 0 0 50px;
  background-color: #f2f2f2;
}

.epilation-about__container:last-child {
  margin: 0;
}

.epilation-about__container .contentswrap {
  padding: 0 4% 30px;
  width: 100%;
}

.epilation-about__container .contentswrap .qa__flexbox {
  display: flex;
  justify-content: space-between;
}

.epilation-about__container .contentswrap .qa__flexbox__list {
  flex: 0 1 50%;
}

.epilation-about__container .contentswrap .qa__flexbox__list--padding {
  padding: 20px 0;
}

.epilation-about__container .contentswrap .qa__flexbox__list .dashedbox {
  margin: 0;
}

.epilation-about__container .contentswrap .qa__flexbox__textblock {
  flex: 0 1 50%;
  padding: 0 0 45px 30px;
  position: relative;
}

.epilation-about__container .contentswrap .qa__flexbox__textblock .btnbox {
  padding: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}

.epilation-about__container .contentswrap .qa__flexbox__pp-illust {
  flex: 0 1 50%;
  padding: 0;
  background: url("../../vio/img/private-parts-illust.png") right center/contain no-repeat;
}

.epilation-about__container .contentswrap .list__flexbox {
  display: flex;
  justify-content: space-between;
}

.epilation-about__container .contentswrap .list__flexbox__illust {
  flex: 0 1 510px;
  padding: 0 10px 0 0;
  text-align: center;
}

.epilation-about__container .contentswrap .list__flexbox__textblock {
  flex: 0 0 312px;
  padding: 0 0 45px 0;
  position: relative;
}

.epilation-about__container .contentswrap .list__flexbox__textblock .dashedbox {
  margin: 25px 0 0;
}

.epilation-about__container .contentswrap .list__flexbox__textblock .dashedbox li {
  font-size: 1.6rem;
}

.epilation-about__container .contentswrap .list__flexbox__textblock .dashedbox h4 {
  margin: 0 0 15px;
  font-size: 2.2rem;
  text-align: center;
  color: #e95504;
}

.epilation-about__container .contentswrap .list__flexbox__textblock .btnbox {
  padding: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}

.epilation-about__container .contentswrap .vio__flexbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
}

.epilation-about__container .contentswrap .vio__flexbox__design {
  flex: 0 1 415px;
  padding: 0 5px;
  margin: 0 0 30px;
}

.epilation-about__container .contentswrap .vio__flexbox__design:nth-last-child(1), .epilation-about__container .contentswrap .vio__flexbox__design:nth-last-child(2) {
  margin: 0;
}

.epilation-about__container .contentswrap .vio__flexbox__design .design__name {
  margin: 0 0 20px;
  padding: 7px 5px;
  border: 1px dashed #000;
  font-size: 2.2rem;
  color: #e95504;
  line-height: 1.4;
  text-align: center;
}

.epilation-about__container .contentswrap .vio__flexbox__design .design__flex {
  display: flex;
  justify-content: space-between;
}

.epilation-about__container .contentswrap .vio__flexbox__design .design__flex__illust {
  flex: 0 0 127px;
  text-align: center;
}

.epilation-about__container .contentswrap .vio__flexbox__design .design__flex__illust figcaption {
  display: block;
  padding: 10px 2px;
  margin: 15px 0 0;
  background-color: #e95504;
  text-align: center;
  font-size: 1.4rem;
  color: #fff;
}

.epilation-about__container .contentswrap .vio__flexbox__design .design__flex__text {
  flex: 1 1 auto;
  padding: 0 0 0 10px;
}

.epilation-about__container .contentswrap .vio__flexbox__design .design__flex__text p {
  margin: 0 0 10px;
}

.epilation-about__container .contentswrap .vio__flexbox__design .design__flex__text p:last-child {
  margin: 0;
}

.epilation-menu {
  padding: 60px 0 0;
  color: #000;
  background: url("../img/title-menu-black.png") center top/110px auto no-repeat;
}

.epilation-menu__title {
  padding: 0;
  margin: 0 0 20px;
  text-align: center;
  font-size: 4rem;
  line-height: 1.2;
}

.epilation-menu__read {
  margin: 0 0 40px;
  font-size: 1.4rem;
  text-align: center;
}

.epilation-menu .buttonbox {
  max-width: 525px;
  margin: 0 auto;
}

.company .datatable1 {
  margin: 0;
}

.design__contentsheader {
  padding: 0;
  margin: 0 auto;
  background: url("../../about/img/design/contentsheader-bg.png") left top repeat;
}

.design__contentsheader .contentswidth {
  max-width: 653px;
}

.design__contentsheader__center {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  height: 240px;
}

.design__contentsheader__title {
  flex: 0 0 100%;
  margin: 0;
  padding: 23.4% 0 0;
  height: 2px;
  background: url("../../about/img/design/contentsheader-title.png") center top/100% auto no-repeat;
}

.design__mainread {
  margin: 0;
  padding: 30px 20px 0;
  background-color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 1.6rem;
}

.design__title-bg {
  padding: 0;
  margin: 0 0 30px;
  background-image: url("../../about/img/design/title-bg-side.png"), url("../../about/img/design/title-bg-color.png");
  background-position: right top, left top;
  background-size: auto 100%, auto 100%;
  background-repeat: no-repeat, repeat-x;
}

.design__title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 43px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.design__title > * {
  display: block;
  margin: 0;
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-color: transparent;
  height: 2px;
}

.design__title--simple {
  max-width: 327px;
}

.design__title--simple > * {
  flex: 0 1 327px;
  padding: 6.7% 0 0;
  background-image: url("../../about/img/design/title-text-simple.png");
}

.design__title--wild {
  max-width: 299px;
}

.design__title--wild > * {
  flex: 0 1 299px;
  padding: 7.35% 0 0;
  background-image: url("../../about/img/design/title-text-wild.png");
}

.design__title--unique {
  max-width: 333px;
}

.design__title--unique > * {
  flex: 0 1 333px;
  padding: 7.2% 0 0;
  background-image: url("../../about/img/design/title-text-unique.png");
}

.design__flexbox {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}

.design__flexbox__contents {
  flex: 0 0 48.5%;
  margin: 0 0 20px;
}

.design__itemflex {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  padding: 0;
  margin: 0;
}

.design__itemflex__photo {
  flex: 0 0 49%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.design__itemflex__text {
  flex: 0 0 49.5%;
  border-bottom: 2px solid #e95504;
}

.design__itemflex__text h3 {
  margin: 0 0 7px;
  padding: 0 0 0 14px;
  font-weight: normal;
}

.design__itemflex__text h3 span {
  display: block;
  padding: 0 0;
  height: 28px;
  background-color: #231815;
  position: relative;
  font-size: 1.4rem;
  text-align: center;
  line-height: 28px;
  white-space: nowrap;
  color: #fff;
}

.design__itemflex__text h3 span.fssmall {
  font-size: 1.1rem;
  letter-spacing: -0.1em;
}

.design__itemflex__text h3 span::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
  border-top: 14px solid transparent;
  border-left: 0px solid transparent;
  border-bottom: 14px solid transparent;
  border-right: 14px solid #231815;
}

.design__itemflex__text p {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.5;
}

.face-check .dashedbox li a {
  display: block;
  padding: 7px 0;
  width: 100%;
  color: #000;
}

.face-check .dashedbox li a:hover {
  color: #e95504;
  background-color: rgba(233, 85, 4, 0.1);
  text-decoration: none;
}

.face-check .datatable2 tbody {
  font-size: 1.4rem;
}

.face-check__title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  margin: 0 0 25px;
  background-color: #eee;
}

.face-check__title > * {
  display: block;
}

.face-check__title--num {
  flex: 0 0 110px;
  padding: 0 10px;
  font-size: 1.4rem;
  font-weight: bold;
  font-style: italic;
  color: #e95504;
}

.face-check__title--num span {
  display: inline-block;
  padding: 0 0 0 4px;
  font-size: 2.6rem;
}

.face-check__title--text {
  flex: 1 1 auto;
  line-height: 1.4;
  font-size: 1.8rem;
  color: #000;
}

.face-report__navi {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 20px;
  margin: 0;
  background-color: #eee;
}

.face-report__navi__btn {
  flex: 0 1 30%;
  margin: 0 0 15px;
}

.face-report__navi__btn .button {
  width: 100%;
  white-space: nowrap;
}

.face-report__contents__dt {
  padding: 15px 0;
  margin: 0 0 25px;
  background-color: #e95504;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  line-height: 1;
  color: #fff;
}

.face-report__contents__dd {
  margin: 0;
  padding: 0;
}

.face-report__contents__photo {
  margin: 30px 0;
  text-align: center;
}

.faq__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq__list li {
  padding: 0 0 0 25px;
  margin: 0;
  background: url("../img/icon-question.png") left center/auto 20px no-repeat;
}

.faq__list li a {
  display: block;
  padding: 7px 0;
  width: 100%;
  color: #000;
  text-decoration: none;
}

.faq__list li a:hover {
  color: #e95504;
  background-color: rgba(233, 85, 4, 0.1);
}

.faq__dlcontents dt {
  padding: 5px 0 5px 45px;
  margin: 0 0 7px;
  width: 100%;
  background: url("../img/icon-question.png") left center/auto 35px no-repeat;
  font-size: 2rem;
  line-height: 1.5;
}

.faq__dlcontents dd {
  margin: 0;
  padding: 15px 0 0 45px;
  width: 100%;
  background: url(../img/icon-answer.png) left 10px/35px auto no-repeat;
  border-top: 1px dotted rgba(233, 85, 4, 0.5);
}

.faq__dlcontents dd a {
  text-decoration: none;
  color: #e95504;
}

.faq__dlcontents dd p {
  font-size: 1.4rem;
}

.faq__dlcontents__text {
  margin: 0 0 25px;
  line-height: 1.5;
  font-size: 1.8rem;
  color: #e95504;
}

.faq__dlcontents__text .text-small {
  font-size: 1.2rem;
}

.student-wrapper {
  position: relative;
}

.student-wrapper__studentb {
  width: 300px;
  margin: 0 auto;
}

.hige-wrapper {
  position: absolute;
  bottom: 30px;
  width: 100%;
}

.epilation-list .contentsh2 {
  text-align: center;
  background-color: #e95504;
}

.epilation-list__list {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.epilation-list__list li {
  flex: 0 0 32%;
  padding: 0;
  margin: 0 0 7px;
  border-bottom: 1px dotted #d3d3d3;
  font-size: 1.4rem;
  line-height: 1.2;
}

.epilation-list__list li a {
  display: block;
  padding: 10px 0 10px 20px;
  background: url("../img/arrow-theme.png") left center/7px auto no-repeat;
  color: #e95504;
  text-decoration: none;
}

.epilation-list__list li a span {
  display: inline-block;
}

.epilation-list__list li a:hover {
  background-image: url("../img/arrow-black.png");
  background-color: rgba(233, 85, 4, 0.1);
  color: #000;
}

.epilation-list__part {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.epilation-list__part__illust {
  flex: 0 1 300px;
  text-align: center;
}

.epilation-list__part__text {
  flex: 0 1 330px;
  padding: 0 10px 0 0;
}

.epilation-list__part__text .contentsh3 {
  margin: 0 0 20px;
}

.epilation-list__part__text p {
  font-size: 1.4rem;
}

.vio-trivia__flex {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin: 0;
  padding: 0;
}

.vio-trivia__flex__photo {
  flex: 0 1 300px;
  text-align: center;
}

.vio-trivia__flex__text {
  flex: 0 1 350px;
  padding: 0 10px 0 0;
}

.vio-trivia__flex__text p {
  font-size: 1.4rem;
}

.flow__reservation {
  margin: 35px auto;
  max-width: 550px;
  text-align: center;
}

.flow__reservation a:hover {
  opacity: .75;
}

.flow__inquiry {
  margin: 0 auto;
  max-width: 400px;
  text-align: center;
}

.flow__videohead {
  margin: 0 0 10px;
  line-height: 1.5;
  font-weight: bold;
  font-size: 2.6rem;
  text-align: center;
  color: #333;
}

.flow__videohead > img {
  width: 180px;
}

.flow__flex {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.flow__flex__illust {
  flex: 0 0 49%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.flow__flex__text {
  flex: 0 0 49%;
  margin: 0;
}

.flow__flex__text .dashedbox h4 {
  margin: 0 0 15px;
  line-height: 1;
  text-align: center;
  color: #e95504;
}

.flow__flex__text .dashedbox li {
  font-size: 1.2rem;
}

.flow__flex__text > * {
  margin: 0 0 15px;
}

.flow__flex__text > *:last-child {
  margin: 0;
}

.shop__areanavi {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 1.6rem;
}

.shop__areanavi li {
  flex: 0 0 auto;
  margin: 0 0 10px;
  padding: 0;
  border-right: 1px solid #ccc;
  line-height: 1.2;
}

.shop__areanavi li.blstyle {
  border-left: 1px solid #ccc;
}

.shop__areanavi li > a {
  display: block;
  padding: 5px 10px;
  margin: 0;
  white-space: nowrap;
  color: #000;
  text-decoration: none;
}

.shop__areanavi li > a:hover {
  color: #e95504;
  text-decoration: underline;
}

.shop__areanavi__container {
  display: block;
  padding: 0 0;
  margin: 0 0 30px;
  max-width: 320px;
}

.shop__list {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 -15px 0 0;
  list-style: none;
  background-color: #fff;
}

.shop__list__contents {
  flex: 0 0 230px;
  padding: 0 0 55px;
  margin: 0 15px 25px 0;
  position: relative;
  background-color: #f2f2f2;
}

.shop__list__contents:nth-child(even) {
  background-color: rgba(233, 85, 4, 0.1);
}

.shop__list__contents .photo {
  margin: 0 0 15px;
  text-align: center;
  position: relative;
}

.shop__list__contents .photo .notice-img {
  padding: 0;
  margin: 0;
  position: absolute;
  right: 0;
  top: 100%;
  max-width: 100px;
}

.shop__list__contents .textwrap {
  padding: 0 5px;
}

.shop__list__contents .name {
  margin: 0 0 12px;
  font-size: 1.4rem;
  line-height: 1.2;
}

.shop__list__contents .address {
  margin: 0 0 6px;
  font-size: 1.2rem;
  line-height: 1.2;
}

.shop__list__contents .tel {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1;
}

.shop__list__contents .tel .telto a {
  text-decoration: none;
  color: #e95504;
}

.shop__list__contents .btn-block {
  display: inline-block;
  margin: 0;
  position: absolute;
  right: 5px;
  bottom: 5px;
}

.shop__list__contents .btn-block .button {
  font-size: 1.4rem;
}

.shop__icon {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin: 0 0 10px;
}

.shop__icon > * {
  display: block;
  text-align: center;
  margin: 0 0 0 15px;
}

.shop__icon > *:first-child {
  margin: 0;
}

.shop__icon__epilation {
  flex: 0 0 50px;
}

.shop__icon__sns {
  flex: 0 0 38px;
}

.shop__icon__vio {
  flex: 0 0 100px;
}

.shop__map {
  margin: 35px 0;
  padding: 56.25% 0 0;
  height: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.shop__map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.shop__voice {
  display: flex;
  justify-content: space-between;
  padding: 20px;
  margin: 0;
  background-color: #eee;
}

.shop__voice__staff {
  flex: 0 0 150px;
  text-align: center;
}

.shop__voice__text {
  flex: 0 1 500px;
  padding: 0 0 0 10px;
}

.shop__voice__text h3 {
  margin: 0 0 15px;
}

.shop__voice__text p {
  font-size: 1.4rem;
}

.shop__voice__text p:last-of-type {
  margin: 0;
}

.recruit .contentsh2 {
  font-size: 2.8rem;
  background-color: #e95504;
  font-weight: bold;
}

.recruit .contentsh3 {
  font-size: 2.4rem;
  font-weight: bold;
}

.recruit__video {
  display: block;
  margin: 0;
  padding: 0;
  position: relative;
  padding: 56.25% 0 0;
  height: 0;
  width: 100%;
  overflow: hidden;
}

.recruit__video__item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 0;
}

.recruit__video__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
  max-width: 400px;
  z-index: 2;
  opacity: 0;
}

.recruit__video__logo img {
  opacity: .5;
}

.recruit__video__text {
  position: absolute;
  top: 70%;
  left: 0;
  width: 100%;
  z-index: 2;
  text-align: center;
  font-size: 3.2rem;
  color: #fff;
  font-weight: bold;
  opacity: 0;
}

.recruit__video::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../img/bg-mask.png") left top/40px auto repeat rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.recruit__topimageblock {
  padding: 0 0 15px;
}

.recruit__topimageblock .contentswidth {
  background-color: #38a1db;
}

.recruit__mainimage {
  display: block;
  padding: 76.25% 0 0;
  margin: 0;
  width: 100%;
  background: url("../../company/img/recruit-mainimage.png") center top/100% auto no-repeat #38a1db;
}

.recruit__pagenavi {
  display: flex;
  justify-content: space-between;
  padding: 15px 15px 25px;
  margin: 0;
  list-style: none;
}

.recruit__pagenavi > li {
  flex: 0 1 290px;
  margin: 0 10px 0 0;
  background-color: #fff;
}

.recruit__pagenavi > li:last-child {
  margin: 0 0 0;
}

.recruit__pagenavi > li a:hover img {
  opacity: .75;
}

.recruit__topread {
  font-size: 2rem;
  text-align: center;
  margin: 0 0 30px;
}

.recruit-h {
  margin: 0 0 25px;
  text-align: center;
  color: #666;
  font-size: 2.4rem;
  font-weight: bold;
}

.recruit-h div {
  margin-bottom: 5px;
}

.recruit-specialist__box {
  display: flex;
  justify-content: space-between;
  margin: 0;
}

.recruit-specialist__box > * {
  flex: 0 0 450px;
}

.recruit-style__box {
  padding: 25px 0;
  background-color: #FCF1E7;
  text-align: center;
}

.recruit-entry__h {
  margin-bottom: 50px;
  background: url(../../company/img/recruit-entry-bg.jpg?202105) center center/cover no-repeat;
  text-align: center;
}

.recruit-entry__h a {
  display: block;
  padding: 150px 0;
}

.recruit-entry__youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.recruit-entry__youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.recruit-application__header {
  height: 0;
  padding-top: 7.2%;
  background: center center/100% auto #e95504;
  white-space: nowrap;
  text-indent: 120%;
  overflow: hidden;
  font-size: 0.9rem;
  font-weight: 100;
  line-height: 1;
  letter-spacing: -0.1em;
}

.recruit-application__header--point {
  background-image: url(../../company/img/recruit-point-h-pc.png);
}

.recruit-application__header--charm {
  background-image: url(../../company/img/recruit-charm-h-pc.png);
}

.recruit-application__header--work {
  background-image: url("../../company/img/recruit-work-h-pc.png");
}

.recruit-application__header--application {
  background-image: url(../../company/img/recruit-application-h-pc.png);
}

.recruit-point {
  padding: 150px 0 50px;
  background: url(../../company/img/recruit-header-bg.png) top 50px left calc(50% - 500px) no-repeat;
}

.recruit-essential {
  padding: 150px 0 50px;
  background: url(../../company/img/recruit-header-bg.png) top 50px left calc(50% - 500px) no-repeat;
}

.recruit-selection {
  padding: 150px 0 50px;
  background: url(../../company/img/recruit-header-bg.png) top 50px left calc(50% - 500px) no-repeat;
}

.recruit__training {
  margin: 0 0 80px;
}

.recruit__training dt {
  margin: 0 0 15px;
  padding: 10px 5px 10px 15px;
  background-color: #e9e9e9;
  font-size: 2.2rem;
  line-height: 1.4;
  color: #e95504;
  font-weight: bold;
}

.recruit__training dd {
  padding: 0 0 60px 15px;
  margin: 0 0 25px;
  background: url("../img/under-arrow.png") center bottom/auto 40px no-repeat;
}

.recruit__training dd:last-of-type {
  padding: 0 0 0 15px;
  background-image: none;
}

.recruit .datatable1 th {
  font-size: 1.8rem;
  font-weight: bold;
}

.recruit .datatable1 td {
  font-size: 1.4rem;
}

.recruit .datatable1 td ul {
  margin: 10px 0;
  padding: 0 0 0 .8em;
  list-style-type: square;
}

.recruit .datatable1 td ul li {
  margin: 0 0 2px;
}

.recruit .datatable1 td dl {
  margin: 0;
}

.recruit .datatable1 td dl dt {
  font-weight: normal;
}

.recruit .datatable1 td dl dd {
  margin: 0;
  padding: 0 0 0 1em;
}

.recruit .datatable1 td h4 {
  font-size: 1.8rem;
  font-weight: bold;
}

.contact .datatable1 {
  font-size: 1.4rem;
}

.contact .datatable1 th {
  width: 200px;
}

.contact__error {
  padding: 20px 15px;
  margin: 10px 0;
  border: 2px solid #E61934;
  background-color: rgba(233, 0, 7, 0.1);
  font-weight: bold;
  color: #E61934;
  font-size: 1.8rem;
  line-height: 1.75;
}

.contact__privacypolicy {
  margin: 45px auto;
  padding: 20px 15px;
  height: 350px;
  width: 100%;
  border: 1px solid #eee;
  overflow-y: scroll;
}

.contact__privacypolicy__title {
  margin: 0 0 35px;
  font-size: 2.2rem;
  line-height: 1;
}

.contact__privacypolicy .contentsh3 {
  margin: 0 0 15px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
}

.contact__privacypolicy p {
  padding: 0 0 0 1em;
  font-size: 1.4rem;
  line-height: 1.5;
}

.student {
  background-image: url("../../student/img/wrapper-bg-cloud.png"), url("../../student/img/wrapper-bg.png");
  background-position: right bottom,top left;
  background-size: 40% auto, 34px auto;
  background-repeat: no-repeat, repeat;
  background-color: #fff;
}

.student__space {
  padding: 35px 0;
}

.student__mainimage {
  margin: 0 0 30px;
  padding: 105% 0 0;
  background: url("../../student/img/mainimage.png") center top/100% auto no-repeat transparent;
  text-indent: 200%;
}

.student__flexcontents {
  display: flex;
  justify-content: space-between;
  margin: 0 0 30px;
}

.student__flexcontents__read {
  flex: 0 0 64%;
  margin: 0;
  text-align: center;
}

.student__flexcontents__ranking {
  flex: 0 0 35%;
  margin: 0;
  text-align: center;
}

.student__price {
  margin: 0 0 30px;
  padding: 5.5% 0 0;
  position: relative;
}

.student__price__title {
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 36%;
  max-width: 300px;
}

.student__price__title > * {
  display: block;
  padding: 23.5% 0 0;
  margin: 0;
  width: 100%;
  background: url("../../student/img/price-title.png") center top/100% auto no-repeat transparent;
  text-indent: 200%;
}

.student__price__flex {
  display: flex;
  justify-content: space-between;
  margin: 0 0 30px;
  padding: 0;
}

.student__price__flex > * {
  flex: 0 0 48%;
  margin: 0;
  padding: 0;
  text-align: center;
}

.student__pay {
  margin: 0 auto;
  max-width: 500px;
}

.student__pay h2 {
  display: block;
  padding: 10% 0 0;
  margin: 0;
  width: 100%;
  background: url("../../student/img/pay-imagetext.png") center top/100% auto no-repeat transparent;
}

.cm__contentsheader {
  padding: 45px 0;
  margin: 0;
  background: url("../../cm/img/headercontents-bg.jpg") left top/cover no-repeat #555;
}

.cm__contentsheader .contentswidth {
  max-width: 600px;
}

.cm__contentsheader__title {
  padding: 25px 0;
  margin: 0;
  width: 100%;
  border: 3px solid #fff;
  background-color: #000;
}

.cm__contentsheader__title > * {
  display: block;
  padding: 0 15px;
  margin: 0;
  font-size: 3.4rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.25em;
  white-space: nowrap;
  line-height: 1;
  color: #fff;
}

.cm__contentsheader__lead {
  margin: 25px 0 0;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  text-shadow: 0 0 5px #000;
}

.cm__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

.cm__list__item {
  flex: 0 0 350px;
  margin: 0 0 25px;
}

.cm__list__item .youtube {
  padding: 56.25% 0 0;
  margin: 0 0 5px;
  width: 100%;
  position: relative;
}

.cm__list__item .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cm__list__item .video-title {
  margin: 0;
  padding: 10px 0 10px 25px;
  position: relative;
  background-color: #ddd;
  line-height: 1;
  font-weight: normal;
}

.cm__list__item .video-title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 25px;
  height: 100%;
  background-image: linear-gradient(303deg, transparent, transparent 50%, #e95504 calc(50% + 1px), #e95504 100%);
  background-color: #b5b5b5;
}

.cm__list__item .video-title span {
  display: block;
  padding: 0 0 0 1em;
  font-size: 1.8rem;
}

.introduction__bgcolor {
  background-color: #fff;
}

.introduction__container {
  padding: 30px 0;
}

.introduction__bgimage1 {
  padding: 50px 15px 50px;
  background: url("../../lp005/img/bgimage-1.png?2302") top left/100% auto no-repeat;
}

.introduction__bgimage2 {
  padding: 20px 15px 50px;
  background: url("../../lp005/img/bgimage-2.png?2302") top left/100% auto no-repeat;
}

.introduction__head {
  margin: 0;
  padding: 0;
  /*padding: 0 0 6px 0;
		background: rgb(249,246,194);
		background: linear-gradient(15deg, rgba(249,246,194,1) 0%, rgba(232,162,53,1) 18%, rgba(249,246,194,1) 44%, rgba(201,123,35,1) 50%, rgba(237,192,98,1) 66%, rgba(203,132,44,1) 79%, rgba(246,238,182,1) 100%);*/
}

.introduction__headwidth {
  padding: 30px 0 0;
  margin: 0 auto;
  width: 100%;
  max-width: 960px;
  opacity: 0;
}

.introduction__headtitle {
  display: block;
  padding: 27% 0 0;
  margin: 0;
  width: 100%;
  background: url("../../lp005/img/pagehead-title.png?2302") center top/100% auto no-repeat transparent;
}

.introduction__width {
  display: block;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  max-width: 775px;
}

.introduction__width .introduction__roundbox:last-of-type {
  margin-bottom: 0;
}

.introduction__roundbox {
  display: block;
  padding: 0;
  margin: 0 0 50px;
  width: 100%;
  overflow: hidden;
  background-color: #e84709;
  border-radius: 28px;
  box-shadow: 14px 14px 2px rgba(132, 35, 6, 0.95);
}

.introduction__femalehead {
  display: block;
  padding: 23% 0 0;
  margin: 0;
  width: 100%;
  background: url("../../lp005/img/female-head.png?2302") center top/100% auto no-repeat transparent;
}

.introduction__banner {
  margin: 45px auto;
  text-align: center;
}

.pricemenu .contentsh2--theme {
  text-align: center;
  letter-spacing: .75em;
  font-weight: bold;
}

.pricemenu__btn {
  display: inline-block;
  padding: 5px 1em;
  margin: 0;
  background-color: #fff;
  white-space: nowrap;
  text-decoration: none;
  line-height: 1;
  border-radius: 12px;
  border: 2px solid #000;
  font-weight: bold;
}

.pricemenu__btn--blue {
  border-color: #1d2087;
  color: #1d2087;
}

.pricemenu__btn--blue:link, .pricemenu__btn--blue:visited, .pricemenu__btn--blue:active {
  color: #1d2087;
  text-decoration: none;
}

.pricemenu__btn--blue:hover {
  transition-duration: .25s;
  background-color: #1d2087;
  color: #fff;
}

.pricemenu__btn--red {
  border-color: #E61934;
  color: #E61934;
  /*&:hover {
				transition-duration: .25s;
				background-color: $red;
				color: #fff;
			}*/
}

.pricemenu__btn--red:link, .pricemenu__btn--red:visited, .pricemenu__btn--red:active {
  color: #E61934;
  text-decoration: none;
}

.pricemenu__student {
  margin: 0 auto;
  padding: 0;
  max-width: 300px;
}

.pricemenu__head {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 15px;
  padding: 0 15px;
  height: 120px;
  background: url("../../menu/img/contentsheader-bg.jpg") center center/100% auto no-repeat #fff;
}

.pricemenu__head h1 {
  flex: 0 1 240px;
  height: 60px;
  margin: 0;
  padding: 0;
  background: url("../../menu/img/pagetitle.png") center center/contain no-repeat;
}

.pricemenu__illustface {
  margin: 0 0 20px;
  text-align: center;
}

.pricemenu__illustvio {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 auto 20px;
  padding: 0;
}

.pricemenu__illustvio .photoblock {
  flex: 1 1 auto;
  padding: 0 20px 0 0;
  margin: 0;
}

.pricemenu__illustvio .noticeblock {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
}

.pricemenu__illustfaceblock {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  margin: 0 auto 20px;
  padding: 0;
}

.pricemenu__illustfaceblock .photoblock {
  flex: 0 0 330px;
  padding: 0;
  margin: 0;
}

.pricemenu__illustfaceblock .btnblock {
  flex: 0 0 auto;
  padding: 0 0 0 15px;
  margin: 0;
  text-align: center;
  line-height: 1.5;
  white-space: nowrap;
}

.norikae__head {
  margin: 0 auto 30px;
  padding: 0;
  width: 100%;
  max-width: 600px;
}

.norikae__head .mainimage {
  display: block;
  margin: 0;
  padding: 83% 0 0;
  width: 100%;
  background: url("../../norikae/img/mainimage.png") center top/100% auto no-repeat #fff;
}

.norikae__contents {
  margin: 0 auto 30px;
  padding: 0 15px 30px;
  background: linear-gradient(180deg, #fff 0%, #fff 15%, #e95504 15%, #e95504 100%);
}

.norikae__course {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  margin: 0 auto 15px;
  padding: 0;
}

.norikae__course .detail {
  flex: 0 0 48%;
}

.norikae__coursetext {
  margin: 0;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.25;
  color: #fff;
}

.norikae__terms {
  display: block;
  margin: 0 auto;
  padding: 0;
  max-width: 520px;
  border: 1px solid #221714;
  background-color: #fff;
  font-size: 1.4rem;
}

.norikae__terms dt {
  padding: 0;
  margin: 0 0 0;
  text-align: left;
  border-bottom: 1px solid #221714;
}

.norikae__terms dd {
  margin: 0;
  padding: 20px 5px 20px 15px;
  color: #221714;
}

.norikae__terms dd .termslist {
  padding: 0;
  margin: 0 0 0 1.5em;
}

.norikae__terms dd .termslist li {
  margin: 0 0 10px;
  line-height: 1.25;
}

.kids {
  background-color: #dff2fc;
}

.kids__fsm {
  font-size: 1.8rem;
}

.kids__fsl {
  font-size: 2rem;
}

.kids__fsxl {
  font-size: 2.2rem;
}

.kids__header {
  margin: 0 auto;
  padding: 30px 25px;
  width: 100%;
  max-width: 780px;
  background-color: #fff;
}

.kids__header .headtitle {
  display: block;
  margin: 0;
  padding: 52.4% 0 0;
  width: 100%;
  background: url("../../kids_junior/img/mainimage.png") center top/100% auto no-repeat #fff;
}

.kids__pagenavi {
  display: block;
  padding: 25px 20px 5px 20px;
  background-color: #00a0e9;
}

.kids__pagenavi__list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.kids__pagenavi__list li {
  flex: 0 0 48.5%;
  margin: 0 0 20px;
  padding: 0;
  border: 4px solid #7ecef4;
  background-color: #fff;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.5);
  font-size: 1.8rem;
  line-height: 1.25;
}

.kids__pagenavi__list li a {
  display: block;
  padding: 15px 0;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  color: #000;
}

.kids__pagenavi__list li:hover {
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.5);
}

.kids__pagenavi__list li:hover a {
  color: #00a0e9;
}

.kids__contentsh1 {
  padding: 20px 0 0;
  margin: 0 0 15px;
  background-color: #ff4400;
  font-weight: bold;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: .5em;
  text-align: center;
  color: #fff;
}

.kids__contentsh1::after {
  content: "";
  display: block;
  padding: 12.93% 0 0;
  margin: -10px 0 0;
  width: 100%;
  height: 0;
  background: url("../../kids_junior/img/head-decoration.png") center top/100% auto no-repeat #fff;
}

.kids__contentsh2 {
  margin: 0 0 10px;
  padding: 10px 5px 0px;
  border: 5px solid #e95504;
  border-bottom: none;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
  text-align: center;
}

.kids__contentsh3 {
  margin: 0 0 10px;
  padding: 0;
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.25;
  color: #e95504;
}

.kids__contentsh4 {
  margin: 0 0 15px;
  padding: 15px 10px;
  background-color: #e95504;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.25;
  color: #fff;
}

.kids__contentsh4 .bigtext {
  font-size: 2.6rem;
}

.kids__aboutbox {
  display: block;
  padding: 25px 15px;
  margin: 0 auto 15px;
  max-width: 500px;
  background-color: #fff799;
  border-radius: 28px;
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.5);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}

.kids__aboutbox .headtxt {
  margin: 0;
  padding: 0;
  font-size: 2.4rem;
  font-weight: bold;
}

.kids__aboutbox .headtxt span {
  font-size: 3.4rem;
}

.kids__aboutbox .nametxt {
  margin: 0 0 10px;
  font-size: 2.2rem;
}

.kids__aboutbox .readtxt {
  font-size: 2.6rem;
  font-weight: bold;
  color: #0081cc;
}

.kids__flexrelief {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 25px auto;
}

.kids__flexrelief .readtxt {
  flex: 0 1 500px;
  margin: 0;
  font-weight: bold;
  font-size: 3.2rem;
  line-height: 1.5;
}

.kids__flexrelief .illust {
  flex: 0 1 200px;
  margin: 0;
  text-align: center;
}

.kids__qalist {
  display: block;
  margin: 0 auto;
  padding: 0;
}

.kids__qalist .question {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
  border: 5px solid #717071;
  position: relative;
  cursor: pointer;
}

.kids__qalist .question:not(:first-of-type) {
  margin: 25px 0 0;
}

.kids__qalist .question .icon {
  flex: 0 0 105px;
  margin: 0;
}

.kids__qalist .question .q-text {
  flex: 1 1 auto;
  padding-bottom: 10px;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
}

.kids__qalist .question::after {
  content: "";
  display: block;
  width: 100%;
  height: 15px;
  position: absolute;
  left: 0;
  bottom: 5px;
  background: url("../img/arrow-under-black.png") center center/contain no-repeat transparent;
  z-index: 1;
}

.kids__qalist .question.js-accordion-open::after {
  transform: rotateX(180deg);
}

.kids__qalist dd {
  margin: 0;
  padding: 25px 0;
  background-color: #fff9b1;
  border: 5px solid #717071;
  border-top: none;
}

.kids__qalist dd .answer {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.kids__qalist dd .answer .icon {
  flex: 0 0 105px;
  margin: 0;
}

.kids__qalist dd .answer .a-text {
  flex: 1 1 auto;
  padding: 0 25px 0 0;
}

.kids__qalist dd .answer-photo {
  padding: 25px 25px 0;
  margin: 0;
  text-align: center;
}

.kids__effectbox {
  display: block;
  padding: 0;
  margin: 0 auto 30px;
  border: 1px solid #000;
}

.kids__effectbox .effect-dt {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0;
  padding: 0;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
}

.kids__effectbox .effect-dt .numbertext {
  flex: 0 0 1.6em;
  padding: 0;
  margin: 0;
  position: relative;
  background-color: #717171;
  font-size: 4.4rem;
}

.kids__effectbox .effect-dt .numbertext span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.kids__effectbox .effect-dt .headtext {
  flex: 1 1 auto;
  margin: 0;
  padding: 25px 5px 25px 30px;
  background-color: #e95504;
  font-size: 2rem;
  position: relative;
  overflow: hidden;
}

.kids__effectbox .effect-dt .headtext::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 110%;
  width: 15px;
  background: linear-gradient(100deg, #717171 0%, #717171 50%, transparent 50%, transparent 100%);
  z-index: 1;
}

.kids__effectbox .effect-dd {
  padding: 15px;
  margin: 0;
}

.kids__effectbox .effect-dd .catchflex {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  margin: 0;
  padding: 0;
}

.kids__effectbox .effect-dd .catchflex .catchtxt {
  display: block;
  flex: 0 0 48%;
  margin: 0 0 15px;
  padding: 12px 5px;
  background-color: #fff9b1;
  border: 1px solid #000;
  border-radius: 20px;
  text-align: center;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.25;
}

.kids__contactbox {
  margin: 0 auto;
  padding: 0;
  background-color: #fff;
  border: 5px solid #fff;
  border-radius: 30px;
  overflow: hidden;
  text-align: center;
}

.kids__contactbox .upelem {
  margin: 0;
  padding: 20px 10px;
  background-color: #e95504;
  color: #fff;
  font-size: 1.8rem;
}

.kids__contactbox .upelem .txtbig {
  display: block;
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1;
}

.kids__contactbox .downelem {
  padding: 15px 10px;
  font-weight: bold;
  font-size: 2.2rem;
}

.kids__flowlist {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kids__flowlist__flexbox {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin: 0 0 25px;
  padding: 0;
  border: 1px solid #717171;
}

.kids__flowlist__flexbox .stepnum {
  flex: 0 0 auto;
  padding: 20px 0 10px 10px;
  margin: 0;
  background-color: #717171;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  color: #fff;
}

.kids__flowlist__flexbox .stepnum .step {
  display: block;
  font-size: 2.6rem;
}

.kids__flowlist__flexbox .flowelem {
  flex: 1 1 auto;
  margin: 0;
  padding: 15px 10px 10px 40px;
  position: relative;
  overflow: hidden;
  line-height: 1.4;
  min-height: 180px;
}

.kids__flowlist__flexbox .flowelem::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 110%;
  width: 30px;
  background: linear-gradient(99deg, #717171 0%, #717171 50%, transparent 50%, transparent 100%);
  z-index: 1;
}

.kids__noticelist {
  display: block;
  margin: 0 auto;
  padding: 0;
}

.kids__noticelist dt {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
  border: 5px solid #717071;
  position: relative;
  cursor: pointer;
}

.kids__noticelist dt:not(:first-of-type) {
  margin: 25px 0 0;
}

.kids__noticelist dt .icon {
  flex: 0 0 105px;
  margin: 0;
}

.kids__noticelist dt .headtext {
  flex: 1 1 auto;
  padding-bottom: 10px;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
}

.kids__noticelist dt::after {
  content: "";
  display: block;
  width: 100%;
  height: 15px;
  position: absolute;
  left: 0;
  bottom: 5px;
  background: url("../img/arrow-under-black.png") center center/contain no-repeat transparent;
  z-index: 1;
}

.kids__noticelist dt.js-accordion-open::after {
  transform: rotateX(180deg);
}

.kids__noticelist dd {
  margin: 0;
  padding: 20px;
  background-color: #fff9b1;
  border: 5px solid #717071;
  border-top: none;
}

.kids__pricehead {
  display: block;
  margin: 0 0 20px;
  padding: 13.5% 0 0;
  width: 100%;
  background: url("../../kids_junior/img/price-head.png") center top/100% auto no-repeat #fff;
}
