@charset "UTF-8";
/* media query 部 */
@media only screen and (max-width: 768px) {
  /* 共通変数・プレースホルダー */
  /* レイアウト：サイト基本構造  */
  html {
    overflow-x: hidden;
  }
  body {
    font-size: 1.4rem;
  }
  select {
    font-size: 1.6rem;
  }
  .allwrapper {
    width: 100%;
  }
  .scroll {
    width: 100%;
  }
  .scrollwrapper {
    width: 100%;
  }
  .header {
    position: fixed;
    padding: 0 0 0 0;
    margin: 0;
    width: 100%;
    background-color: #fff;
    transition: all .5s ease;
    z-index: 9999;
  }
  .header .contentswidth {
    padding: 0 0 0 0;
  }
  .header__mainblock {
    display: flex;
    padding: 0 0 0 10px;
    margin: 0;
    height: 70px;
    width: 100%;
  }
  .header__mainblock__logo {
    flex: 0 0 120px;
  }
  .header__mainblock__logo .sitename {
    margin: 0;
    padding: 0;
    width: 110px;
  }
  .header__mainblock__logo .sitename a {
    background-position: left top;
  }
  .header__mainblock__information {
    flex: 0 1 auto;
    height: auto;
  }
  .header__mainblock__information__row1 {
    display: block;
    padding: 0 0 0;
  }
  .header__mainblock__information__row1 .tagline strong {
    display: block;
    padding: 0 0 2px;
    margin: 0;
    width: 100%;
    height: auto;
    background-image: none;
    white-space: normal;
    text-indent: 0;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1;
    color: #000;
  }
  .header__mainblock__information__row1 .free-dial {
    display: block;
    font-size: 1rem;
    line-height: 1;
  }
  .header__mainblock__information__row1 .free-dial .telto {
    display: block;
    padding: 2px 5px 0 0;
    max-width: 300px;
    overflow: hidden;
  }
  .header__mainblock__information__row1 .free-dial .telto img {
    max-width: 100%;
  }
  .header__mainblock__information__row1 .btnblock {
    display: none;
  }
  .header__mainblock__information__row2 {
    display: none;
  }
  .header--hide {
    transform: translateY(-100%);
  }
  .menuiconblock {
    flex: 0 0 60px;
    display: block;
    height: 70px;
    padding: 25px 0 0;
    text-align: center;
  }
  .menuiconblock .icon {
    display: inline-block;
    position: relative;
    width: 30px;
    height: 20px;
    font-style: normal;
  }
  .menuiconblock .icon span {
    position: absolute;
    transition: all .3s ease;
  }
  .menuiconblock .icon .top, .menuiconblock .icon .middle, .menuiconblock .icon .bottom {
    background-color: #e95504;
    height: 3px;
    width: 30px;
  }
  .menuiconblock .icon .top {
    left: 0;
    top: 0;
  }
  .menuiconblock .icon .middle {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .menuiconblock .icon .bottom {
    left: 0;
    bottom: 0;
  }
  .menuiconblock.is-open {
    background-color: #e95504;
  }
  .menuiconblock.is-open .icon .top, .menuiconblock.is-open .icon .middle, .menuiconblock.is-open .icon .bottom {
    background-color: #fff;
  }
  .menuiconblock.is-open .icon .top {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .menuiconblock.is-open .icon .middle {
    display: none;
  }
  .menuiconblock.is-open .icon .bottom {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .headermenu {
    display: block;
    position: relative;
    padding: 0;
    margin: 0;
    background-color: #e95504;
  }
  .headermenuwrapper {
    display: none;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 10px;
  }
  .headermainmenu {
    display: block;
    padding: 0 10px 2px 10px;
    max-width: initial;
  }
  .headermainmenu .menulink {
    display: block;
    width: 100%;
    padding: 0;
    position: static;
  }
  .headermainmenu .menulink--arrow > div {
    background-image: url("../img/arrow-under-white.png");
    background-position: 95% center;
    background-size: 12px auto;
  }
  .headermainmenu .menulink > a,
  .headermainmenu .menulink > div {
    padding: 15px 0 15px 5px;
    border-right: none;
    text-align: left;
    font-size: 1.8rem;
    border-bottom: 1px solid #fff;
    color: #fff;
  }
  .headermainmenu .menulink > a:hover,
  .headermainmenu .menulink > div:hover {
    color: #fff;
  }
  .headermainmenu .menulink:first-child > a,
  .headermainmenu .menulink:first-child > div {
    border-left: none;
  }
  .headermainmenu .menulink:last-child > a,
  .headermainmenu .menulink:last-child > div {
    border-bottom: none;
  }
  .headermainmenu .menulink--sp {
    display: block;
  }
  .headermainmenu .menulink--sp a {
    font-size: 1.7rem;
    position: relative;
  }
  .headermainmenu .menulink--sp a::after {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: bold;
    font-size: 1.3rem;
    z-index: 1;
  }
  .headermainmenu .menulink__pulldown {
    display: none;
    padding: 0 0;
    margin: 0;
    position: static;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.2);
  }
  .headermainmenu .menulink__pulldown li {
    margin: 0;
    padding: 0 0;
    width: 100%;
    font-size: 1.6rem;
  }
  .headermainmenu .menulink__pulldown li a {
    padding: 7px 0 7px 5px;
    border-bottom: 1px dashed #fff;
    color: #fff;
  }
  .headermainmenu .menulink__pulldown li a:hover {
    color: #fff;
    border-bottom-color: #fff;
  }
  .headermainmenu .menulink__pulldown li:last-child a {
    border-bottom: 1px solid #fff;
  }
  .contentsheader {
    margin: 0;
    padding: 0;
    background-color: #fff;
  }
  .contentsheader__bg {
    padding: 0;
    background-size: cover;
  }
  .contentsheader__bg--company {
    background-image: url("../img/contentsheader/company-sp.jpg?2212");
  }
  .contentsheader__bg--about {
    background-image: url("../img/contentsheader/face-sp.jpg?2212");
  }
  .contentsheader__bg--body {
    background-image: url("../img/contentsheader/body-sp.jpg?2212");
  }
  .contentsheader__bg--vio {
    background-image: url("../img/contentsheader/vio-sp.jpg?2212");
  }
  .contentsheader__bg--shop {
    background-image: url("../img/contentsheader/shop-sp.jpg?2212");
  }
  .contentsheader__title {
    padding: 0 0 0 .7em;
    height: auto;
    min-height: 150px;
    font-size: 2.6rem;
  }
  .contentsheader__title .textbig {
    font-size: 3rem;
  }
  .posmenu {
    clear: both;
    display: none;
  }
  .contents {
    position: relative;
    padding-top: 70px;
  }
  .footer {
    padding: 25px 0 25px 0;
    margin: 0;
  }
  .footer__mainblock {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0;
    margin: 0 0 30px;
  }
  .footer__mainblock .sitename {
    flex: 0 0 50%;
    margin: 0;
    text-align: center;
  }
  .footer__mainblock .sitename a {
    display: inline-block;
    width: 140px;
    background: url("../img/logo.png") center top/100% auto no-repeat;
  }
  .footer__mainblock .snsblock {
    flex: 0 0 50%;
    padding: 0;
    text-align: center;
  }
  .footer__mainblock .snsblock .tagline {
    width: 140px;
    margin: 0 auto 7px;
  }
  .footer__mainblock .snsblock .snsicon {
    display: inline-block;
    width: 30px;
  }
  .footer__mainblock .snsblock .snsicon:nth-of-type(1) {
    margin: 0 25px 0 0;
  }
  .footer__mainblock .snsblock .snsicon:hover {
    opacity: 1;
  }
  .footer__mainblock .footermainmenu {
    flex: 0 0 100%;
    padding: 10px 10px 0;
  }
  .footer__mainblock .footermainmenu ul {
    display: flex;
    justify-content: space-around;
  }
  .footer__mainblock .footermainmenu ul li {
    flex: 0 0 47%;
    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: 10px 5px 10px 25px;
    background: url("../img/arrow-theme.png") 10px center/auto 12px no-repeat transparent;
    border: 1px solid #fff;
    font-size: 1.4rem;
  }
  .footer__mainblock .footermainmenu ul li a:hover {
    color: #fff;
  }
  .footer__subblock {
    display: block;
    padding: 0 15px;
  }
  .footer__subblock__contents {
    width: 100%;
    max-width: 450px;
    margin: 0 auto 30px;
    padding: 0 0 0;
    position: static;
  }
  .footer__subblock__contents .contents--title {
    display: block;
    margin: 0;
    position: static;
  }
  .footer__subblock__contents .contents--list {
    padding: 15px 0 0;
  }
  .footer__subblock__contents .contents--list li {
    margin: 0 0 15px;
  }
  .footer__subblock__contents .contents--list li a {
    font-size: 1.4rem;
  }
  .footer__subblock__contents .contents--list li a:hover {
    color: #fff;
  }
  .maincontents {
    width: 100%;
    float: none;
  }
  .subcontents {
    width: 100%;
    float: none;
  }
  .sidemenu {
    margin: 0;
    padding: 0;
    border-top: 1px solid #ccc;
  }
  .sidemenu li {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .sidemenu a {
    display: block;
    padding: 10px;
    border-bottom: 1px solid #ccc;
  }
  .pagetop {
    bottom: 0;
    right: 0;
  }
  /* コンポーネント：サイト内で共通の部品 */
  .slick-arrow {
    width: 40px;
    height: 40px;
    background-size: 40px auto;
  }
  .slick-prev {
    left: -8px;
    background-position: 0 -40px;
    opacity: .6;
  }
  .slick-next {
    right: -8px;
    opacity: .6;
  }
  .slick-dots {
    bottom: -35px;
  }
  .contentsbody {
    padding: 30px 15px;
  }
  .contentswidth {
    width: 100%;
    max-width: initial;
  }
  .contentsh1 {
    margin: 0 0 40px;
    font-size: 2.6rem;
  }
  .contentsh1 > * {
    background-size: 40px auto;
  }
  .contentsh2 {
    margin: 0 0 25px;
    padding: 10px 5px 10px 10px;
    font-size: 1.7rem;
  }
  .contentsh3 {
    padding: 0 0 7px;
    margin: 0 0 20px;
    font-size: 1.6rem;
  }
  .contentsh3::before {
    margin: 0 10px 0 0;
  }
  .contentsh3 > * {
    line-height: 1.5;
  }
  .contentsh4 {
    margin: 0 0 20px;
    font-size: 1.8rem;
  }
  .buttonbox {
    margin: 20px 0 20px;
  }
  .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.is-disabled {
    background-color: #ccc;
  }
  .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 {
    padding: 0 5px;
    min-height: 70px;
  }
  .button-wide > * {
    flex: 0 0 auto;
    font-size: 1.8rem;
  }
  .button-wide:hover {
    opacity: 1;
  }
  .dashedbox {
    padding: 12px;
  }
  .dashedbox li {
    padding: 0 0 0 14px;
    background: url("../img/list-type-square.png") left center/10px auto no-repeat;
    font-size: 1.6rem;
  }
  .dashedbox--black li {
    background: url("../img/list-type-square-black.png") left center/10px auto no-repeat;
  }
  .form__table {
    display: block;
    width: 100%;
    margin: 0 0 35px;
  }
  .form__table tbody, .form__table tr, .form__table th, .form__table td {
    display: block;
    width: 100%;
  }
  .form__table th {
    padding: 20px 0 7px 0;
    border-bottom: none;
    font-size: 1.4rem;
  }
  .form__table td {
    padding: 0 0 20px 0;
  }
  .form__label {
    display: block;
    width: 100%;
    margin: 0 0 7px;
    padding: .5em .2em .5em .5em;
    border: 1px solid #e95504;
    border-radius: 7px;
  }
  .form__label:hover {
    background-color: transparent;
  }
  .form__privacypolicycheck {
    margin: 25px 0;
    font-size: 1.6rem;
    line-height: 1;
  }
  .form__btnblock {
    margin: 35px 0 0;
  }
  .form__submit {
    width: 270px;
    font-size: 1.8rem;
  }
  .flexcontainer {
    display: block;
    margin: 0;
    padding: 0;
  }
  .flexcontainer--two {
    margin: 0 auto;
  }
  .flexcontainer--two > * {
    margin: 0 0 20px;
    width: 100%;
  }
  .flexcontainer--three {
    margin: 0 auto;
  }
  .flexcontainer--three > * {
    margin: 0 0 20px;
    width: 100%;
  }
  .flexcontainer--three .flexcontainer__two {
    width: 100%;
  }
  .flexcontainer--four {
    margin: 0 auto;
  }
  .flexcontainer--four > * {
    margin: 0 0 20px;
    width: 100%;
  }
  .flexcontainer--four .flexcontainer__two {
    width: 100%;
  }
  .flexcontainer--four .flexcontainer__three {
    width: 100%;
  }
  table.w-100px {
    width: 100%;
  }
  table.w-200px {
    width: 100%;
  }
  table.w-300px {
    width: 100%;
  }
  table.w-400px {
    width: 100%;
  }
  table.w-500px {
    width: 100%;
  }
  table.w-600px {
    width: 100%;
  }
  table.w-700px {
    width: 100%;
  }
  table.w-10per {
    width: 100%;
  }
  table.w-15per {
    width: 100%;
  }
  table.w-20per {
    width: 100%;
  }
  table.w-25per {
    width: 100%;
  }
  table.w-30per {
    width: 100%;
  }
  table.w-35per {
    width: 100%;
  }
  table.w-40per {
    width: 100%;
  }
  table.w-45per {
    width: 100%;
  }
  table.w-50per {
    width: 100%;
  }
  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: 100%;
  }
  table th.w-155px, table td.w-155px {
    width: 100%;
  }
  table th.w-255px, table td.w-255px {
    width: 100%;
  }
  table th.w-355px, table td.w-355px {
    width: 100%;
  }
  table th.w-455px, table td.w-455px {
    width: 100%;
  }
  table th.w-555px, table td.w-555px {
    width: 100%;
  }
  table th.w-655px, table td.w-655px {
    width: 100%;
  }
  table th.w-10per, table td.w-10per {
    width: 100%;
  }
  table th.w-15per, table td.w-15per {
    width: 100%;
  }
  table th.w-20per, table td.w-20per {
    width: 100%;
  }
  table th.w-25per, table td.w-25per {
    width: 100%;
  }
  table th.w-30per, table td.w-30per {
    width: 100%;
  }
  table th.w-35per, table td.w-35per {
    width: 100%;
  }
  table th.w-40per, table td.w-40per {
    width: 100%;
  }
  table th.w-45per, table td.w-45per {
    width: 100%;
  }
  table th.w-50per, table td.w-50per {
    width: 100%;
  }
  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__nowrap, table td.cell__nowrap {
    white-space: nowrap;
  }
  table th.cell__valiable, table td.cell__valiable {
    width: auto;
  }
  .scroll-table {
    overflow: auto;
    white-space: nowrap;
    display: block;
    margin: 0;
    padding: 5px 0;
    -webkit-overflow-scrolling: touch;
  }
  .scroll-table table {
    margin: 0;
  }
  .datatable1 {
    display: block;
    width: 100%;
    margin: 25px 0;
    padding: 0;
  }
  .datatable1 tbody, .datatable1 tr, .datatable1 th, .datatable1 td {
    display: block;
  }
  .datatable1 th {
    padding: 15px 0 15px 5px;
    min-width: initial;
    width: 100%;
    font-size: 1.6rem;
  }
  .datatable1 th:first-of-type {
    border-top: none;
  }
  .datatable1 td {
    padding: 15px 0 15px 5px;
    border-bottom: none;
    background-color: #f2f2f2;
  }
  .datatable1 td:first-of-type {
    border-top: none;
  }
  .datatable2 thead th {
    padding: 15px 0;
  }
  .datatable2 tbody th {
    padding: 15px 5px 15px 5px;
    min-width: initial;
  }
  .datatable2 tbody td {
    padding: 15px 5px 15px 5px;
  }
  .datatable2 tbody td ul {
    padding: 0 0 0 1em;
  }
  .datatable2 tbody td a:hover {
    text-decoration: none;
  }
  .marginbottom {
    margin-bottom: 15px;
  }
  .marginbottomwide {
    margin-bottom: 30px;
  }
  .margintop {
    margin-top: 15px;
  }
  .margintopwide {
    margin-top: 30px;
  }
  .paddingtop {
    padding-top: 15px !important;
  }
  .paddingtopwide {
    padding-top: 30px !important;
  }
  .paddingbottom {
    padding-bottom: 15px !important;
  }
  .paddingbottomwide {
    padding-bottom: 30px !important;
  }
  .pcnone {
    display: inline-block !important;
  }
  .spnone {
    display: none !important;
  }
  .pc-tac {
    text-align: left !important;
  }
  .pc-tar {
    text-align: left !important;
  }
  .image-float-right {
    float: none;
    max-width: initial;
    margin: 0 0 20px 0;
  }
  .image-float-left {
    float: none;
    max-width: initial;
    margin: 0 0 20px 0;
  }
  .common__template {
    padding: 0;
  }
  .common__template__2column {
    display: block;
    margin: 0;
    padding: 30px 10px 0;
  }
  .common__template__mainblock {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
  }
  .common__template__sideblock {
    display: block;
    width: 100%;
    padding: 30px 15px;
  }
  .common__template__sideblock .stickycontainer {
    position: static;
  }
  .common__sidebanner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
  }
  .common__sidebanner__list {
    flex: 0 1 48.913%;
    margin: 0 0 15px;
    text-align: center;
  }
  /* プロジェクト：ページ固有の部品 */
  .home__mainimage {
    /*padding: 62.5% 0 0;
			background: url("../../img/mainimage-bg-sp.jpg") top center/100% auto no-repeat transparent;*/
  }
  .home__campaign {
    padding: 25px 15px 35px;
  }
  .home__campaign__title {
    margin: 0 0 25px;
  }
  .home__campaign__flex {
    display: block;
    padding: 0 0 30px;
    border-bottom-width: 1px;
  }
  .home__campaign__flex__banner {
    display: block;
    width: 100%;
    margin: 0 0 20px;
  }
  .home__campaign__flex__widebanner {
    display: block;
    width: 100%;
  }
  .home__menu {
    padding: 0 0;
  }
  .home__menu__title {
    margin: 0 0 30px;
  }
  .home__menu__service {
    background-position: center top;
    background-size: cover;
  }
  .home__menu__service--face {
    margin: 0 auto;
    padding: 20px 15px 20px;
    background-image: url("../../img/face-bgimage-sp.jpg?2211");
  }
  .home__menu__service--body {
    margin: 0 auto 0;
    padding: 20px 15px 20px;
    background-image: url("../../img/body-bgimage-sp.jpg?221201");
  }
  .home__menu__service--vio {
    margin: 0 auto 0;
    padding: 20px 15px 20px;
    background-position: center bottom;
    background-image: url("../../img/vio-bgimage-sp.jpg");
  }
  .home__menu__service--refund {
    margin: 0 auto 0;
    padding: 20px 15px 20px;
    background-image: url("../../img/refund-bgimage-sp.jpg?221201");
  }
  .home__menu__service__flex {
    display: block;
    padding: 0;
    margin: 0;
  }
  .home__menu__service__flex__contents {
    display: block;
    width: 100%;
    margin: 0 0 25px;
  }
  .home__menu__service__flex__contents .service-name {
    margin: 0 auto 15px;
    max-width: 400px;
  }
  .home__menu__service__flex__contents .service-name strong {
    padding: 45.5% 0 0;
  }
  .home__menu__service__flex__contents .service-name strong.face {
    background-image: url("../../img/contents-title-face-sp.png");
  }
  .home__menu__service__flex__contents .service-name strong.body {
    background-image: url("../../img/contents-title-body-sp.png?221201");
  }
  .home__menu__service__flex__contents .service-name strong.vio {
    background-image: url("../../img/contents-title-vio-sp.png");
  }
  .home__menu__service__flex__contents .service-read {
    padding: 0 0 0 0;
  }
  .home__menu__service__flex__contents .service-read-body {
    margin: 0;
    padding: 0 0 0 0;
  }
  .home__menu__service__flex__links {
    display: block;
    width: 100%;
  }
  .home__menu__service__flex__links.arrow-black li {
    background-color: rgba(0, 0, 0, 0.2);
  }
  .home__menu__service__flex__links.arrow-theme li {
    background-color: rgba(233, 85, 4, 0.2);
  }
  .home__menu__service__flex__links.arrow-theme li a {
    color: #fff;
  }
  .home__menu__service__refund {
    display: block;
  }
  .home__menu__service__refund h3 {
    display: block;
    margin: 0 auto 25px;
    max-width: 396px;
  }
  .home__menu__service__refund p {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
    font-size: 2rem;
  }
  .home__menu__service .refund__detail {
    margin: 25px auto 0;
  }
  .home__menu__service .refund__detail dt {
    padding: 15px 10px 10px;
    font-size: 2.2rem;
  }
  .home__menu__service .refund__detail dt::after {
    margin: 10px 0 0;
    height: 12px;
  }
  .home__menu__service .refund__detail dd {
    padding: 25px 10px 0;
  }
  .home__menu__service .refund__detail dd ul li {
    font-size: 1.4rem;
  }
  .home__news__covid {
    margin: 0 auto 35px;
  }
  .home__news__btnbox {
    margin: 0 0 25px;
  }
  .home__news__container {
    padding: 0;
    margin: 0;
  }
  .home__news__container dl {
    margin: 0;
    padding: 20px 0;
  }
  .home__news__container dl dt {
    margin: 0 0 12px;
  }
  .home__news__container dl dd p {
    margin: 0 0 8px;
    line-height: 1.4;
  }
  .home__news__container dl dd ul {
    margin: 0 0 8px;
    padding: 0 0 0 1em;
  }
  .home__inquiry__title {
    margin: 0 0 20px;
    font-size: 2rem;
  }
  .home__inquiry__freedial__text {
    margin: 0 0 30px;
    font-size: 3.2rem;
  }
  .home__inquiry__freedial__text .small {
    display: inline-block;
    font-size: 2.2rem;
  }
  .home__shopinfo__title {
    margin: 0 0 25px;
    font-size: 2.4rem;
  }
  .home__shopinfo__list {
    display: block;
  }
  .home__shopinfo__list__shop {
    margin: 0;
    padding: 0 0 10px;
  }
  .home__shopinfo__list__shop dt {
    float: left;
    padding: 0 0 0 0;
  }
  .home__shopinfo__list__shop dd {
    padding: 0 0 0 22px;
    background: url("../img/icon-tel.png") left center/auto 14px no-repeat;
    font-size: 2.2rem;
  }
  .home__consent .contentswidth {
    padding: 30px 2.5%;
  }
  .home__consent .contentswidth h3 {
    font-size: 1.8rem;
    text-align: left;
  }
  .home__consent .contentswidth p {
    text-align: left;
  }
  .home__consent .contentswidth .buttonbox {
    margin: 20px auto 15px;
  }
  .home__consent .contentswidth .buttonbox:last-child {
    margin: 20px auto 0;
  }
  .home__consent__read {
    margin: 0 0 20px;
  }
  .home__consent__notice {
    margin: -5px 0 35px 0;
    font-size: 1.2rem;
    text-align: left;
  }
  .home__app .apphead {
    margin: 0 auto 20px;
    padding: 15px 10px;
    max-width: 400px;
    border-radius: 18px;
    font-size: 2.2rem;
  }
  .home__app .appread {
    margin: 0 0 25px;
    text-align: left;
  }
  .home__app .appflexbox {
    display: block;
    margin: 0 0 35px;
  }
  .home__app .appflexbox__left {
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
    text-align: center;
  }
  .home__app .appflexbox__right {
    width: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
  }
  .home__app .applinkbtn {
    display: block;
    max-width: 450px;
    width: 100%;
    margin: 0 auto;
  }
  .home__app .applinkbtn > * {
    display: block;
    width: 100%;
    margin: 0 0 25px;
  }
  .home__app .applinkbtn > *:last-of-type {
    margin: 0;
  }
  .home__doctor__head {
    margin: 0 0 20px;
    padding: 10px 5px;
    font-size: 2rem;
  }
  .home__doctor__head .txtsmall {
    font-size: 1.6rem;
  }
  .home__doctor__head::before {
    width: 30px;
    background: linear-gradient(110deg, #737373 0%, #737373 50%, transparent 50%, transparent 100%);
    z-index: -1;
  }
  .home__doctor__head::after {
    width: 30px;
    background: linear-gradient(110deg, transparent 0%, transparent 50%, #737373 50%, #737373 100%);
    z-index: -1;
  }
  .home__doctor__video {
    display: block;
  }
  .home__doctor__video .flexelem {
    width: 100%;
    margin: 0 0 20px;
  }
  .home__doctor__video .videotitle {
    padding: 10px 0 0 0;
    font-size: 1.6rem;
  }
  .serviceheader {
    padding: 35px 15px 35px;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100% auto;
  }
  .serviceheader--sp-face {
    background-image: url("../../about/img/mainimage-bg-sp.jpg?202212");
  }
  .serviceheader--sp-body {
    background-image: url("../../body/img/mainimage-bg-sp.jpg?202212");
    background-position: center bottom;
  }
  .serviceheader--sp-vio {
    background-image: url("../../vio/img/mainimage-bg-sp.jpg?202212");
    background-position: center bottom;
  }
  .serviceheader .contentswidth {
    margin: 0 auto;
  }
  .serviceheader__bg {
    padding: 0 0 9%;
  }
  .serviceheader__bg--face {
    background-image: none;
  }
  .serviceheader__bg--body {
    background-image: none;
  }
  .serviceheader__bg--vio {
    background-image: none;
  }
  .serviceheader__bg .webcampaign-title {
    margin: 0 auto 25px;
  }
  .serviceheader__title {
    margin: 0 auto 30px;
  }
  .serviceheader__title--vio {
    width: 100%;
    max-width: 394px;
  }
  .face__webcampaign {
    padding: 20px 15px 20px;
  }
  .face__webcampaign__flex {
    display: block;
  }
  .face__webcampaign__flex__photo {
    display: block;
    width: 100%;
    margin: 0 0 20px;
  }
  .face__webcampaign__flex__price {
    display: block;
    width: 100%;
    margin: 0;
  }
  .face__webcampaign__flex__price strong {
    max-width: 550px;
    margin: 0 auto;
  }
  .body__webcampaign {
    padding: 20px 15px 20px;
  }
  .body__webcampaign__flex {
    display: block;
  }
  .body__webcampaign__flex__photo {
    display: block;
    width: 100%;
  }
  .body__webcampaign__flex__photo.foot {
    margin: 0 0 15px;
  }
  .body__webcampaign__flex__photo.chest {
    margin: 0 0 15px;
  }
  .body__webcampaign__flex__price {
    display: block;
    width: 100%;
  }
  .body__webcampaign__flex__price strong {
    max-width: 550px;
    margin: 0 auto;
  }
  .body__webcampaign__flex__price.foot {
    padding: 0 0 0 0;
    margin: 0 0 25px;
  }
  .body__webcampaign__flex__price.chest {
    padding: 0 0 0 0;
  }
  .bodyprice-wrapper {
    bottom: 20px;
  }
  .vio__webcampaign {
    padding: 10px 15px 20px;
  }
  .vio__webcampaign__flex {
    display: block;
  }
  .vio__webcampaign__flex__photo {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
    margin: 0 0 20px;
  }
  .vio__webcampaign__flex__price {
    display: block;
    width: 100%;
    margin: 0;
  }
  .vio__webcampaign__flex__price strong {
    max-width: 550px;
    margin: 0 auto;
  }
  .vio__webcampaign__flex__price.vio-campaign {
    padding: 0 0 0 0;
    margin: 0 0 20px;
  }
  .vio__webcampaign__flex__price.hip-campaign {
    padding: 0 0 0 0;
    margin: 0 0 10px;
  }
  .vio__webcampaign__flex__price.hip-campaign strong {
    padding-top: 120%;
  }
  .vio__webcampaign__textblock {
    position: static;
    margin: 0 0 0 0;
    max-width: 550px;
  }
  .vio__webcampaign__textblock p {
    margin: 0 0 7px;
    font-size: 1.2rem;
  }
  .vioprice2-wrapper {
    bottom: 20px;
  }
  .service__container--1 .point-title {
    background-image: url("../img/img-num-1.png");
  }
  .service__container--2 .point-title {
    background-image: url("../img/img-num-2-bk.png");
  }
  .service__container--3 .point-title {
    background-image: url("../img/img-num-3.png");
  }
  .service__container--4 .point-title {
    background-image: url("../img/img-num-4-bk.png");
  }
  .service__container--vio2 .point-title {
    background-image: url("../img/img-num-2-bk.png");
  }
  .service__container .contentswidth {
    padding: 30px 15px;
  }
  .service__container .body-notice {
    margin: 10px 0 0;
    font-size: 1.2rem;
  }
  .service__flexcontents {
    display: block;
    padding: 0;
  }
  .service__flexcontents .point-title {
    margin: 0 0 5px;
    padding: 10px 0 10px 34px;
    background-position: left 5px;
    background-size: auto 34px;
    background-repeat: no-repeat;
    font-size: 2.6rem;
    line-height: 1.1;
  }
  .service__flexcontents .point-subtitle {
    margin: 0 0 7px;
    font-size: 1.8rem;
  }
  .service__flexcontents .point-read {
    margin: 0 0 15px;
    padding: 0 0 0 30px;
  }
  .service__flexcontents .point-read:last-child {
    margin: 0 0 15px;
  }
  .service__flexcontents .simulation-price {
    padding: 0 0 0 0;
    text-align: center;
    max-width: 400px;
    margin: 0 auto;
  }
  .service__flexcontents .simulation-price img {
    max-width: 100%;
  }
  .service__flexcontents .vio-illust {
    margin: 0 auto 15px;
  }
  .service__flexcontents__num {
    display: none;
  }
  .service__flexcontents__row {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
  }
  .service__flexcontents__row.top-padding {
    padding-top: 0;
  }
  .service__flexcontents__wide {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
  }
  .service__flexmerit {
    display: block;
    padding: 0 0 0 0;
  }
  .service__flexmerit__text {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
  }
  .service__flexmerit__text .merit__title {
    margin: 0 0 15px;
    font-size: 2.4rem;
  }
  .service__flexmerit__text .merit__subtitle {
    font-size: 1.8rem;
  }
  .service__flexmerit__photo {
    display: block;
    width: 100%;
    text-align: center;
  }
  .epilation-ba {
    padding: 45px 0 0;
  }
  .epilation-ba__title {
    font-size: 2.6rem;
  }
  .epilation-ba__read {
    margin: 0 0 30px;
  }
  .epilation-ba__flex {
    align-items: stretch;
    margin: 0 0 25px;
  }
  .epilation-ba__flex__photo figcaption {
    padding: 10px 0 0 0;
    font-size: 1.2rem;
  }
  .epilation-ba__flex__arrow {
    flex: 0 0 15px;
    background: url("../img/arrow-white.png") center 40%/10px auto no-repeat;
  }
  .epilation-ba__flex__arrow img {
    display: none;
  }
  .epilation-about {
    padding: 55px 0 0;
  }
  .epilation-about__head {
    margin: 0 0 20px;
    height: 125px;
  }
  .epilation-about__head--qa {
    background-size: auto 80px;
  }
  .epilation-about__title {
    margin: 0 0 20px;
    text-align: left;
    font-size: 2rem;
  }
  .epilation-about__flexbox {
    display: block;
    width: 100%;
    margin: 0 0 35px;
  }
  .epilation-about__flexbox .epilation-about__head {
    height: 125px;
  }
  .epilation-about__flexbox .epilation-about__title {
    font-size: 2rem;
  }
  .epilation-about__flexbox > * {
    display: block;
    width: 100%;
    padding: 0 0 55px;
  }
  .epilation-about__flexbox > * .textwrap {
    padding: 0 4% 0;
  }
  .epilation-about__flexbox > * .btnbox {
    padding: 0 4% 0 0;
    bottom: 15px;
  }
  .epilation-about__flexbox__checkseat {
    margin: 0 0 25px;
  }
  .epilation-about__flexbox__checkseat .dashedbox .readmore {
    font-size: 1.1rem;
  }
  .epilation-about__container {
    margin: 0 0 35px;
  }
  .epilation-about__container .contentswrap {
    padding: 0 4% 20px;
  }
  .epilation-about__container .contentswrap .qa__flexbox {
    display: block;
    width: 100%;
  }
  .epilation-about__container .contentswrap .qa__flexbox__list {
    display: block;
    width: 100%;
    margin: 0 0 20px;
  }
  .epilation-about__container .contentswrap .qa__flexbox__list--padding {
    padding: 0;
    margin: 0 0 0;
  }
  .epilation-about__container .contentswrap .qa__flexbox__list .dashedbox {
    margin: 0;
  }
  .epilation-about__container .contentswrap .qa__flexbox__textblock {
    display: block;
    width: 100%;
    padding: 0 0 40px 0;
  }
  .epilation-about__container .contentswrap .qa__flexbox__pp-illust {
    display: none;
    background-image: none;
  }
  .epilation-about__container .contentswrap .list__flexbox {
    display: block;
    width: 100%;
  }
  .epilation-about__container .contentswrap .list__flexbox__illust {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
    margin: 0 0 15px;
  }
  .epilation-about__container .contentswrap .list__flexbox__textblock {
    display: block;
    width: 100%;
    padding: 0 0 50px 0;
  }
  .epilation-about__container .contentswrap .list__flexbox__textblock .dashedbox {
    margin: 0 0 0;
  }
  .epilation-about__container .contentswrap .list__flexbox__textblock .dashedbox h4 {
    margin: 0 0 10px;
    font-size: 2rem;
  }
  .epilation-about__container .contentswrap .vio__flexbox {
    display: block;
    width: 100%;
    margin: 0;
  }
  .epilation-about__container .contentswrap .vio__flexbox__design {
    display: block;
    width: 100%;
    padding: 0 0;
    margin: 0 0 25px;
  }
  .epilation-about__container .contentswrap .vio__flexbox__design:nth-last-child(2) {
    margin: 0 0 25px;
  }
  .epilation-about__container .contentswrap .vio__flexbox__design .design__name {
    margin: 0 0 18px;
    font-size: 2rem;
  }
  .epilation-about__container .contentswrap .vio__flexbox__design .design__flex__illust {
    flex: 0 0 125px;
  }
  .epilation-about__container .contentswrap .vio__flexbox__design .design__flex__illust figcaption {
    padding: 10px 2px;
    margin: 10px 0 0;
    font-size: 1.2rem;
  }
  .epilation-about__container .contentswrap .vio__flexbox__design .design__flex__text {
    flex: 1 1 auto;
  }
  .epilation-menu {
    padding: 45px 0 0;
  }
  .epilation-menu__title {
    font-size: 3rem;
  }
  .epilation-menu__read {
    margin: 0 0 30px;
    font-size: 1.2rem;
    text-align: left;
  }
  .design__contentsheader {
    padding: 35px 15px;
  }
  .design__contentsheader__center {
    height: auto;
  }
  .design__mainread {
    margin: 0;
    padding-bottom: 20px;
    text-align: left;
  }
  .design__title-bg {
    padding: 0 10px;
    margin: 0 0 25px;
  }
  .design__flexbox {
    display: block;
    padding: 0;
    margin: 0;
  }
  .design__flexbox__contents {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px;
  }
  .design__itemflex__photo {
    flex: 0 0 48.5%;
  }
  .design__itemflex__text {
    flex: 0 0 48.5%;
  }
  .design__itemflex__text h3 {
    margin: 0 0 10px;
    padding: 0 0 0 15px;
  }
  .design__itemflex__text h3 span {
    height: 30px;
    font-size: 1.6rem;
    line-height: 30px;
  }
  .design__itemflex__text h3 span.fssmall {
    font-size: 1.2rem;
  }
  .design__itemflex__text h3 span::after {
    left: -15px;
    border-top: 15px solid transparent;
    border-left: 0px solid transparent;
    border-bottom: 15px solid transparent;
    border-right: 15px solid #231815;
  }
  .design__itemflex__text p {
    font-size: 1.4rem;
  }
  .face-check .dashedbox li a:hover {
    color: #000;
    background-color: transparent;
  }
  .face-check .datatable2 tbody {
    font-size: 1.4rem;
  }
  .face-check__title {
    padding: 7px 0;
    margin: 0 0 20px;
  }
  .face-check__title--num {
    flex: 0 0 98px;
    padding: 0 0 0 7px;
    font-size: 1.2rem;
  }
  .face-check__title--num span {
    padding: 0 0 0 3px;
    font-size: 2.4rem;
  }
  .face-check__title--text {
    padding: 0 5px 0 0;
    font-size: 1.5rem;
  }
  .face-report__navi {
    padding: 20px 10px;
  }
  .face-report__navi__btn {
    flex: 0 1 32.5%;
  }
  .faq__list li {
    padding: 0 0 0 20px;
    background: url("../img/icon-question.png") left center/auto 16px no-repeat;
  }
  .faq__list li a {
    padding: 5px 0;
    width: 100%;
  }
  .faq__list li a:hover {
    color: #000;
    background-color: transparent;
  }
  .faq__dlcontents dt {
    padding: 5px 0 5px 37px;
    margin: 0 0 7px;
    background: url("../img/icon-question.png") left center/auto 30px no-repeat;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .faq__dlcontents dd {
    padding: 12px 0 0 37px;
    background: url(../img/icon-answer.png) left 10px/30px auto no-repeat;
  }
  .faq__dlcontents dd p {
    font-size: 1.3rem;
  }
  .faq__dlcontents__text {
    margin: 0 0 20px;
    line-height: 1.4;
    font-size: 1.6rem;
  }
  .faq__dlcontents__text .text-small {
    font-size: 1.1rem;
  }
  .student-wrapper__studentb {
    width: 50%;
  }
  .hige-wrapper {
    bottom: 20px;
  }
  .epilation-list__list li {
    flex: 0 0 49%;
    margin: 0 0 10px;
    font-size: 1.3rem;
  }
  .epilation-list__list li a {
    display: block;
    padding: 10px 0 10px 15px;
    background: url("../img/arrow-theme.png") left center/5px auto no-repeat;
  }
  .epilation-list__list li a span {
    font-size: 1.2rem;
  }
  .epilation-list__list li a:hover {
    background-image: url("../img/arrow-theme.png");
    background-color: transparent;
    color: #e95504;
  }
  .epilation-list__part {
    display: block;
    width: 100%;
  }
  .epilation-list__part__illust {
    display: block;
    width: 100%;
    margin: 0 0 25px;
  }
  .epilation-list__part__text {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
  }
  .vio-trivia__flex {
    display: block;
    width: 100%;
  }
  .vio-trivia__flex__photo {
    display: block;
    width: 100%;
    margin: 0 0 20px;
  }
  .vio-trivia__flex__text {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
  }
  .flow__reservation {
    margin: 25px auto;
  }
  .flow__videohead {
    font-size: 1.8rem;
  }
  .flow__flex {
    display: block;
  }
  .flow__flex__illust {
    display: block;
    width: 100%;
    margin: 0 0 20px;
  }
  .flow__flex__text {
    display: block;
    width: 100%;
  }
  .flow__flex__text .dashedbox h4 {
    font-size: 1.6rem;
  }
  .flow__flex__text .dashedbox li {
    font-size: 1.4rem;
  }
  .shop__areanavi__container {
    margin: 0 0 20px;
  }
  .shop__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
    margin: 0 0 0 0;
  }
  .shop__list__contents {
    flex: 0 0 48.5%;
    margin: 0 0 20px 0;
  }
  .shop__list__contents .photo {
    margin: 0 0 15px;
    padding: 10px 5px 0;
  }
  .shop__list__contents .photo .notice-img {
    right: 5px;
    top: auto;
    bottom: 0;
    max-width: 120px;
  }
  .shop__list__contents .textwrap {
    padding: 0 5px;
  }
  .shop__list__contents .name {
    margin: 0 0 12px;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  .shop__list__contents .address {
    margin: 0 0 10px;
    font-size: 1.4rem;
  }
  .shop__list__contents .tel {
    font-size: 1.6rem;
  }
  .shop__icon {
    margin: -15px 0 7px;
  }
  .shop__map {
    margin: 30px 0;
    padding: 65% 0 0;
  }
  .shop__voice {
    display: block;
    padding: 15px;
  }
  .shop__voice__staff {
    display: block;
    width: 100%;
    margin: 0 0 10px;
    text-align: left;
  }
  .shop__voice__text {
    display: block;
    width: 100%;
    padding: 0 0 0 0;
  }
  .shop__voice__text h3 {
    margin: 0 0 10px;
  }
  .recruit .contentsh2 {
    font-size: 2.4rem;
  }
  .recruit .contentsh3 {
    font-size: 1.8rem;
  }
  .recruit__video__logo {
    position: absolute;
    top: 40%;
  }
  .recruit__video__text {
    font-size: 2.2rem;
  }
  .recruit__topread {
    font-size: 1.6rem;
    margin: 0 0 20px;
  }
  .recruit-h {
    font-size: 1.8rem;
  }
  .recruit-specialist__box {
    display: block;
    margin: 0;
  }
  .recruit-specialist__box > * {
    margin-bottom: 10px;
    text-align: center;
  }
  .recruit-style__box {
    margin: 0 -15px;
    padding: 15px;
  }
  .recruit-entry__h a {
    padding: 100px 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 {
    padding-top: 13.8%;
    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-sp.png);
  }
  .recruit-application__header--charm {
    background-image: url(../../company/img/recruit-charm-h-sp.png);
  }
  .recruit-application__header--work {
    background-image: url("../../company/img/recruit-work-h-sp.png");
  }
  .recruit-application__header--application {
    background-image: url(../../company/img/recruit-application-h-sp.png);
  }
  .recruit-point {
    background: none;
  }
  .recruit-essential {
    background: none;
  }
  .recruit-selection {
    background: none;
  }
  .recruit__training {
    margin: 0 0 30px;
  }
  .recruit__training dt {
    font-size: 1.6rem;
  }
  .recruit__training dd {
    padding: 0 0 50px 12px;
    margin: 0 0 20px;
    background: url("../img/under-arrow.png") center bottom/auto 30px no-repeat;
  }
  .recruit .datatable1 td ul {
    padding: 0 0 0 1.2em;
  }
  .student__space {
    padding: 30px 15px;
  }
  .student__mainimage {
    margin: 0 0 20px;
  }
  .student__flexcontents {
    display: block;
    margin: 0 0 35px;
  }
  .student__flexcontents__read {
    width: 100%;
  }
  .student__flexcontents__ranking {
    width: 100%;
  }
  .student__price {
    padding: 0 0 0;
    position: static;
  }
  .student__price__title {
    margin: 0 auto 10px;
    position: static;
    transform: translateX(0);
    width: 80%;
  }
  .student__price__flex {
    display: block;
  }
  .student__price__flex > * {
    width: 100%;
    margin: 0 0 20px;
  }
  .student__price__flex > *:last-child {
    margin: 0 0 0;
  }
  .student__pay {
    max-width: 450px;
  }
  .cm__contentsheader {
    padding: 35px 15px;
  }
  .cm__contentsheader__title {
    padding: 20px 5px;
    border: 2px solid #fff;
  }
  .cm__contentsheader__title > * {
    font-size: 3rem;
  }
  .cm__list {
    display: block;
  }
  .cm__list__item {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 30px;
  }
  .cm__list__item:last-child {
    margin: 0 auto;
  }
  .introduction__container {
    padding: 35px 15px;
  }
  .introduction__bgimage1 {
    padding: 35px 15px;
  }
  .introduction__bgimage2 {
    padding: 35px 0px;
  }
  .introduction__headwidth {
    padding: 15px 15px 0;
  }
  .introduction__roundbox {
    margin: 0 0 35px;
    border-radius: 26px;
    box-shadow: 10px 10px 2px rgba(132, 35, 6, 0.95);
  }
  .introduction__banner {
    margin: 30px auto;
  }
  .pricemenu .contentsh2--theme {
    letter-spacing: .5em;
  }
  .pricemenu__btn {
    padding: 4px .75em;
  }
  .pricemenu__head {
    margin: 0 auto 15px;
    padding: 0 20px;
    background-size: cover;
  }
  .pricemenu__illustface {
    margin: 0 0 15px;
  }
  .pricemenu__illustvio {
    display: block;
    max-width: 700px;
    margin: 0 auto 20px;
  }
  .pricemenu__illustvio .photoblock {
    width: 100%;
    padding: 0;
    margin: 0 0 10px;
  }
  .pricemenu__illustvio .noticeblock {
    width: 100%;
    text-align: right;
  }
  .pricemenu__illustfaceblock {
    display: block;
    width: 100%;
    max-width: 420px;
  }
  .pricemenu__illustfaceblock .photoblock {
    width: 100%;
    margin: 0 0 15px;
  }
  .pricemenu__illustfaceblock .btnblock {
    width: 100%;
    padding: 0;
    font-size: 1.6rem;
  }
  .norikae__head {
    margin: 0 auto 20px;
  }
  .norikae__contents {
    margin: 0 auto 20px;
  }
  .norikae__course {
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    padding: 0;
  }
  .norikae__course .detail {
    width: 100%;
    margin: 0 auto 20px;
    text-align: center;
  }
  .norikae__coursetext {
    text-align: left;
  }
  .norikae__terms dd {
    padding: 20px 10px 20px 10px;
  }
  .norikae__terms dd .termslist {
    margin: 0 0 0 1.5em;
  }
  .kids {
    background-color: #fff;
  }
  .kids__fsm {
    font-size: 1.4rem;
  }
  .kids__fsl {
    font-size: 1.6rem;
  }
  .kids__fsxl {
    font-size: 1.8rem;
  }
  .kids__header {
    padding: 25px 20px;
  }
  .kids__pagenavi {
    padding: 20px 10px 5px 10px;
  }
  .kids__pagenavi__list li {
    flex: 0 0 49%;
    margin: 0 0 15px;
    border: 2px solid #7ecef4;
    box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.5);
    font-size: 1.4rem;
  }
  .kids__pagenavi__list li a {
    padding: 12px 5px;
  }
  .kids__pagenavi__list li:hover {
    box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.5);
  }
  .kids__pagenavi__list li:hover a {
    color: #000;
  }
  .kids__contentsh1 {
    padding: 15px 0 0;
    font-size: 2.4rem;
    letter-spacing: .2em;
  }
  .kids__contentsh1::after {
    margin: 0 0 0;
  }
  .kids__contentsh2 {
    border-width: 3px;
    font-size: 1.8rem;
  }
  .kids__contentsh3 {
    font-size: 1.8rem;
  }
  .kids__contentsh4 {
    padding: 12px 8px;
    font-size: 1.6rem;
  }
  .kids__contentsh4 .bigtext {
    font-size: 1.8rem;
  }
  .kids__aboutbox {
    padding: 20px 10px;
    border-radius: 24px;
  }
  .kids__aboutbox .headtxt {
    font-size: 2rem;
  }
  .kids__aboutbox .headtxt span {
    font-size: 3rem;
  }
  .kids__aboutbox .nametxt {
    font-size: 1.8rem;
  }
  .kids__aboutbox .readtxt {
    font-size: 2rem;
  }
  .kids__flexrelief {
    display: block;
    margin: 15px auto;
  }
  .kids__flexrelief .readtxt {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 15px;
    font-size: 2.2rem;
  }
  .kids__flexrelief .illust {
    width: 100%;
    max-width: 200px;
    margin: 0 auto;
  }
  .kids__qalist .question {
    border: 3px solid #717071;
  }
  .kids__qalist .question:not(:first-of-type) {
    margin: 20px 0 0;
  }
  .kids__qalist .question .icon {
    flex: 0 0 70px;
  }
  .kids__qalist .question .q-text {
    font-size: 1.6rem;
    padding-bottom: 5px;
  }
  .kids__qalist .question::after {
    height: 10px;
    bottom: 3px;
  }
  .kids__qalist .question.js-accordion-open::after {
    transform: rotateX(180deg);
  }
  .kids__qalist dd {
    padding: 18px 0;
    border: 3px solid #717071;
    border-top: none;
  }
  .kids__qalist dd .answer .icon {
    flex: 0 0 70px;
  }
  .kids__qalist dd .answer .a-text {
    padding: 0 15px 0 0;
  }
  .kids__qalist dd .answer-photo {
    padding: 15px 15px 0;
  }
  .kids__effectbox {
    margin: 0 auto 20px;
  }
  .kids__effectbox .effect-dt .numbertext {
    font-size: 3rem;
  }
  .kids__effectbox .effect-dt .headtext {
    padding: 18px 5px 18px 20px;
    font-size: 1.6rem;
  }
  .kids__effectbox .effect-dd {
    padding: 15px 10px;
  }
  .kids__effectbox .effect-dd .catchflex {
    justify-content: space-between;
  }
  .kids__effectbox .effect-dd .catchflex .catchtxt {
    flex: 0 0 49.5%;
    font-size: 1.4rem;
    padding: 8px 5px;
    border-radius: 15px;
  }
  .kids__contactbox {
    background-color: #f2f2f2;
    border: 3px solid #f2f2f2;
    border-radius: 25px;
  }
  .kids__contactbox .upelem {
    padding: 15px 5px;
    font-size: 1.6rem;
    line-height: 1.4;
  }
  .kids__contactbox .upelem .txtbig {
    font-size: 1.8rem;
  }
  .kids__contactbox .downelem {
    padding: 10px 5px;
    font-size: 1.8rem;
  }
  .kids__flowlist__flexbox {
    margin: 0 0 20px;
  }
  .kids__flowlist__flexbox .stepnum {
    padding: 15px 10px 15px 10px;
    font-size: 4rem;
  }
  .kids__flowlist__flexbox .stepnum .step {
    font-size: 2rem;
  }
  .kids__flowlist__flexbox .flowelem {
    padding: 15px 10px 15px 10px;
    min-height: initial;
  }
  .kids__flowlist__flexbox .flowelem::before {
    display: none;
  }
  .kids__noticelist dt {
    border: 3px solid #717071;
  }
  .kids__noticelist dt:not(:first-of-type) {
    margin: 20px 0 0;
  }
  .kids__noticelist dt .icon {
    flex: 0 0 70px;
  }
  .kids__noticelist dt .headtext {
    padding-bottom: 5px;
    font-size: 1.6rem;
  }
  .kids__noticelist dt::after {
    height: 10px;
    bottom: 3px;
  }
  .kids__noticelist dt.js-accordion-open::after {
    transform: rotateX(180deg);
  }
  .kids__noticelist dd {
    padding: 18px 12px;
    border: 3px solid #717071;
    border-top: none;
  }
  .kids__pricehead {
    padding: 0 0 0;
    height: 97px;
    background-size: auto 97px;
  }
}

@media (max-width: 420px) {
  .common__bannerlist {
    display: block;
  }
  .common__bannerlist__item {
    display: block;
    width: 100%;
    margin: 0 0 15px;
  }
  .common__sidebanner {
    display: block;
  }
  .common__sidebanner__list {
    display: block;
    width: 100%;
    margin: 0 0 15px;
  }
  .shop__list {
    display: block;
    padding: 0;
    margin: 0 0 0 0;
  }
  .shop__list__contents {
    display: block;
    width: 100%;
  }
  .shop__list__contents .photo {
    padding: 10px 10px 0;
  }
  .shop__list__contents .photo img {
    max-width: initial;
    width: 100%;
  }
  .shop__list__contents .photo .notice-img {
    right: 10px;
    top: auto;
    bottom: 0;
    max-width: 150px;
  }
  .shop__list__contents .textwrap {
    padding: 0 10px;
  }
  .shop__list__contents .name {
    margin: 0 0 15px;
    font-size: 1.8rem;
  }
  .shop__list__contents .address {
    font-size: 1.6rem;
  }
  .shop__list__contents .tel {
    font-size: 1.8rem;
  }
  .contact .datatable1 th {
    width: 100%;
  }
  .contact__error {
    padding: 15px 10px;
    margin: 0 0 10px;
    font-size: 1.6rem;
    line-height: 1.6;
  }
  .contact__privacypolicy {
    margin: 35px auto;
    padding: 15px 10px;
    height: 300px;
  }
  .contact__privacypolicy__title {
    margin: 0 0 30px;
    font-size: 2rem;
  }
  .contact__privacypolicy .contentsh3 {
    margin: 0 0 12px;
    font-size: 1.4rem;
  }
  .contact__privacypolicy p {
    font-size: 1.2rem;
  }
  .recruit__pagenavi {
    display: block;
    padding: 5px 10px 20px;
  }
  .recruit__pagenavi > li {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0 0 10px;
  }
  .recruit__pagenavi > li:last-child {
    margin: 0 0 10px;
  }
}
