/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "yu-go-r";
  src: url("../fonts/YuGothic-Regular.ttf");
}
@font-face {
  font-family: "yu-go-m";
  src: url("../fonts/YuGothic-Medium.ttf");
}
@font-face {
  font-family: "yu-go-b";
  src: url("../fonts/YuGothic-Bold.ttf");
}
@font-face {
  font-family: "tsukushi";
  src: url("../fonts/TsukushiAMaruGothic_2.otf");
}
@font-face {
  font-family: "kiwi";
  src: url("../fonts/KiwiMaru-Light.ttf");
}
/*	layout
------------------------------------ */
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "yu-go-r";
  src: url("../fonts/YuGothic-Regular.ttf");
}
@font-face {
  font-family: "yu-go-m";
  src: url("../fonts/YuGothic-Medium.ttf");
}
@font-face {
  font-family: "yu-go-b";
  src: url("../fonts/YuGothic-Bold.ttf");
}
@font-face {
  font-family: "tsukushi";
  src: url("../fonts/TsukushiAMaruGothic_2.otf");
}
@font-face {
  font-family: "kiwi";
  src: url("../fonts/KiwiMaru-Light.ttf");
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/************************************************

  SP layout

************************************************/
/* =========================================
  main  SP
========================================= */
/*	cmn parts  SP
------------------------------------ */
.com-inner {
  padding: 50px 15px;
}

.no-sb {
  margin: 30px auto 0;
}

.mb10 {
  margin-bottom: 10px;
}
.mb20 {
  margin-bottom: 20px;
}

.anchor-mp {
  margin: -75px auto 0;
  padding-top: 75px;
}

.com-txt-box p:nth-of-type(n+2) {
  margin-top: 15px;
}

.com-tiktok {
  width: 80px;
  height: 40px;
  line-height: 38px;
}

.news-post {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.news-post-item:nth-of-type(n+2) {
  margin: 30px auto 0;
}

.com-cats {
  margin: 20px auto 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.com-cats-item {
  padding: 15px 15px 30px;
}
.com-cats-item:nth-of-type(n+2) {
  margin-top: 30px;
}
.com-cats-table th, .com-cats-table td {
  display: block;
  padding: 10px 0;
}
.com-cats-table th {
  padding-bottom: 0;
}
.com-cats-table td {
  padding-top: 0;
  white-space: pre-line;
}

.com-bg::before {
  width: 90%;
  height: 80%;
  border-radius: 20px 0 0 20px;
  right: 0;
  bottom: 0;
}

/*	top-news  SP
------------------------------------ */
#top-news .com-head01 {
  white-space: nowrap;
}
#top-news .news-bg {
  padding: 50px 15px;
}
#top-news .news-bg::before {
  width: 70%;
  height: 30%;
  right: 0;
}
#top-news .news-inner {
  padding: 30px 15px;
}
#top-news .news-post {
  margin: 20px auto 0;
}

/*	top-about  SP
------------------------------------ */
#top-about .about-bg::before {
  width: 70%;
  height: 30%;
  right: 0;
}
#top-about .about-img {
  width: 100%;
  margin: auto;
  position: static;
}
#top-about .about-head {
  font-size: 20px;
  font-size: 2rem;
}
#top-about .about-head-lg {
  margin-top: 5px;
  font-size: 25px;
  font-size: 2.5rem;
}
#top-about .about-head-sm {
  text-align: left;
}
#top-about .com-txt-box {
  max-width: 100%;
  margin: 20px 0 0;
}
#top-about .com-btn {
  margin-top: 30px;
}

/*	top-cats  SP
------------------------------------ */
#top-cats .cats-bg {
  background-position: right bottom;
  background-size: contain;
  background-color: #f5efeb;
}
#top-cats .cats-wave-t img {
  vertical-align: bottom;
}
#top-cats .cats-wave-b {
  display: none;
}
#top-cats .cats-wave-b img {
  vertical-align: top;
}

/*	top-bnr  SP
------------------------------------ */
#top-bnr .bnr-bg {
  padding-bottom: 15px;
}
#top-bnr .bnr-bg::before {
  width: 59px;
  height: 51px;
  bottom: 0;
}
#top-bnr .bnr-inner {
  width: 100%;
  padding: 50px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#top-bnr .bnr-inner a:nth-of-type(n+2) {
  margin: 30px auto 0;
}
#top-bnr .bnr-link {
  width: 100%;
  height: 0;
  padding-top: 80%;
  border-radius: 10px;
}
#top-bnr .bnr-ttl {
  width: 45px;
  height: 200px;
  padding-top: 15px;
  top: 35px;
  left: 10px;
}
#top-bnr .bnr-ttl02 {
  left: auto;
  right: 10px;
}

.sub #top-bnr .bnr-bg {
  padding: 0;
}
.sub #top-bnr .bnr-inner {
  padding-top: 0;
}

/*	top-trial  SP
------------------------------------ */
#top-trial .trial-box {
  padding: 20px 15px;
  border-radius: 15px;
}
#top-trial .trial-box::before {
  width: 238px;
  height: 218px;
  left: -15px;
  bottom: auto;
  top: -20px;
}
#top-trial .trial-txt {
  margin-top: 15px;
  padding-left: 5px;
}
#top-trial .trial-img {
  margin: 15px auto 0;
  border-radius: 20px;
  overflow: hidden;
  position: static;
}
#top-trial .trial-btn {
  margin-top: 25px;
  margin-left: 5px;
}
#top-trial .trial-head {
  display: block;
  padding-bottom: 10px;
  text-align: center;
  font-size: 22px;
  font-size: 2.2rem;
}
#top-trial .trial-head-lg {
  font-size: 27px;
  font-size: 2.7rem;
}

.sub #top-trial .trial-box {
  padding: 20px 15px 20px 19px;
  background-position: calc(100% - 15px) center;
  background-size: 20px;
}
.sub #top-trial .trial-box::before {
  width: 143px;
  height: 125px;
  top: -50px;
  left: -15px;
}
.sub #top-trial .trial-head {
  padding-bottom: 0;
  font-size: 20px;
  font-size: 2rem;
}
.sub #top-trial .trial-head-lg {
  font-size: 25px;
  font-size: 2.5rem;
}

/*	com-contact  SP
------------------------------------ */
.com-contact-head-ja-lg {
  display: block;
}
.com-contact-box {
  padding: 20px 15px;
  text-align: left;
}

/*	top-information  SP
------------------------------------ */
#top-information .info-bg {
  background: url(../img/top/information-ico.png) no-repeat 15px 10px/50px, url(../img/top/infor-bg.png) no-repeat 0 top/90% 50%;
}
#top-information .info-inner {
  padding: 50px 15px;
}
#top-information .info-flex {
  margin-top: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#top-information .info-box {
  padding: 20px 10px;
}
#top-information .ggmap {
  margin: 20px auto 0;
}

/* =========================================

  sub layout  SP

========================================= */
/*	reason  SP
------------------------------------ */
#reason .reason-bg {
  padding: 50px 15px;
}
#reason .reason-list {
  margin-top: 20px;
}
#reason .reason-list-item {
  height: auto;
  padding-bottom: 25px;
}
#reason .reason-list-item::before {
  width: 100%;
  height: 85%;
  border-radius: 0 0 0 20px;
  right: -15px;
}
#reason .reason-list-item:nth-of-type(2n)::before {
  border-radius: 0 0 20px 0;
  left: -15px;
}
#reason .reason-list-img {
  position: relative;
  top: auto;
  left: -15px;
}
#reason .reason-list-img-r {
  right: -15px;
  left: auto;
}
#reason .reason-list-inner {
  margin: 20px auto 0;
  padding: 0;
}
#reason .reason-list-head-txt {
  margin-left: 10px;
  padding-left: 14px;
  font-size: 21px;
  font-size: 2.1rem;
}
#reason .reason-list-txt {
  margin-top: 20px;
}
#reason .reason-list-btn {
  margin-top: 25px;
}

/*	cats  SP
------------------------------------ */
#cats .detail-box {
  padding: 20px 15px;
}
#cats .detail .com-cats-table {
  margin-top: 5px;
}
#cats .movie-img {
  position: relative;
  left: -15px;
  top: auto;
}
#cats .movie-inner {
  padding: 15px 15px 50px;
}
#cats .movie-con-txt {
  margin-top: 15px;
}
#cats .movie-btn-wrap {
  margin-top: 30px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/*	guide  SP
------------------------------------ */
#guide .guide-bg {
  padding: 50px 15px;
}
#guide .guide-inner {
  padding: 15px 0 0;
}
#guide .guide-img {
  position: relative;
  left: -15px;
  top: auto;
}
#guide .guide .com-txt-box {
  margin-top: 20px;
}
#guide .about-box {
  padding: 30px 15px;
  background-size: 50px, 100px;
  background-position: 15px 15px, right bottom;
}
#guide .about-txt {
  margin: 15px auto 0;
  text-align: left;
}
#guide .reco-list {
  margin-top: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#guide .reco-list-item {
  padding: 20px 12px 30px;
}
#guide .reco-list-item:nth-of-type(n+2) {
  margin: 30px auto 0;
}
#guide .reco-list-head {
  padding-bottom: 13px;
}
#guide .reco-list-head-ja {
  margin-top: 5px;
}
#guide .reco-list-img {
  margin-top: 15px;
}
#guide .reco-list-txt {
  margin-top: 10px;
}
#guide .reco-wave-t img {
  vertical-align: bottom;
}
#guide .reco-wave-b img {
  vertical-align: top;
}
#guide .feature-inner {
  padding-bottom: 80px;
}
#guide .feature-inner::before {
  width: 89px;
  height: 69px;
  right: 15px;
  bottom: 0;
}
#guide .feature-txt {
  margin-top: 15px;
  text-align: left;
}
#guide .feature-list {
  margin-top: 40px;
}
#guide .feature-list-item:nth-of-type(n+2) {
  margin-top: 25px;
}
#guide .feature-list-box {
  padding: 20px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#guide .feature-list-table {
  margin: 15px auto 0;
}
#guide #top-trial .trial-box {
  padding: 20px 15px 20px 19px;
  background-position: calc(100% - 15px) center;
  background-size: 20px;
}
#guide #top-trial .trial-box::before {
  width: 143px;
  height: 125px;
  top: -50px;
  left: -15px;
}
#guide #top-trial .trial-head {
  padding-bottom: 9px;
  font-size: 20px;
  font-size: 2rem;
}
#guide #top-trial .trial-head-lg {
  font-size: 25px;
  font-size: 2.5rem;
}
#guide #top-trial .trial-price {
  margin-top: 20px;
  padding: 15px;
  z-index: 1;
}
#guide #top-trial .trial-price::before {
  z-index: -1;
}
#guide #top-trial .trial-price-ttl {
  padding-right: 10px;
}
#guide #top-trial .trial-price-txt {
  padding-left: 10px;
}
#guide .sug-box {
  padding: 25px 15px;
}
#guide .sug-list {
  margin-top: 20px;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
#guide .sug-list-item {
  width: 49%;
}
#guide .sug-list-item:nth-of-type(n+2) {
  margin-left: 0;
}
#guide .sug-list-item:nth-of-type(2n) {
  margin-left: 2%;
}
#guide .sug-list-item:nth-of-type(n+3) {
  margin-top: 15px;
}
#guide .sug-list-head {
  margin-top: 10px;
  font-size: 18px;
  font-size: 1.8rem;
}
#guide .how-inner {
  padding-top: 0;
}
#guide .how-txt {
  margin-top: 15px;
  text-align: left;
}
#guide .flow-box {
  margin-top: 20px;
  padding: 20px 15px;
  border-radius: 20px;
}
#guide .flow-box-head {
  font-size: 20px;
  font-size: 2rem;
}
#guide .flow-box-head::before, #guide .flow-box-head::after {
  width: 30px;
}
#guide .flow-box-head::before {
  margin-right: 15px;
}
#guide .flow-box-head::after {
  margin-left: 15px;
}
#guide .flow-box-txt {
  margin-top: 15px;
  text-align: left;
}
#guide .flow-list {
  margin-top: 20px;
}
#guide .flow-list-item {
  padding: 25px 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#guide .flow-list-con {
  margin: 15px auto 0;
}
#guide .flow-list-head-step {
  text-align: center;
}
#guide .flow-list-head-ttl {
  margin-left: 10px;
  padding: 5px 0 5px 10px;
}
#guide .note-box {
  margin-top: 20px;
  padding: 20px 15px;
}
#guide .note-head {
  padding-bottom: 8px;
}
#guide .note-head::before, #guide .note-head::after {
  width: 21px;
}
#guide .price-inner {
  padding-top: 0;
}
#guide .price-list-item {
  padding: 30px 15px;
}
#guide .price-list-item:nth-of-type(n+2) {
  margin-top: 30px;
}
#guide .price-list-note {
  margin-top: 15px;
  text-align: left;
}
#guide .price-list-table {
  margin-top: 20px;
}
#guide .price-list-price-table tr {
  background-position: left 50%;
}
#guide .price-list-price-table tr:nth-of-type(n+2) th, #guide .price-list-price-table tr:nth-of-type(n+2) td {
  padding-top: 0;
}
#guide .price-list-price-table th {
  padding-right: 10px;
}
#guide .price-list-price-table td {
  padding-left: 10px;
}
#guide .price-list-txt {
  margin-top: 20px;
}
#guide .anicom-con {
  margin-top: 15px;
}
#guide .anicom-img {
  position: relative;
  left: -15px;
  top: auto;
}
#guide .anicom-head-sm {
  display: inline-block;
  font-size: 18px;
  font-size: 1.8rem;
}
#guide .anicom-txt {
  margin-top: 20px;
  max-width: 100%;
}
#guide .anicom-btn {
  margin-top: 25px;
}
#guide #top-bnr .bnr-bg {
  padding-top: 50px;
}

.com-price:not(.price-list-price-table) tr, .com-price:not(.price-list-price-table) th, .com-price:not(.price-list-price-table) td {
  display: block;
}
.com-price:not(.price-list-price-table) tr {
  background-position: left bottom;
}
.com-price:not(.price-list-price-table) tr:nth-of-type(n+2) td {
  padding-top: 0;
}
.com-price:not(.price-list-price-table) th, .com-price:not(.price-list-price-table) td {
  background: none;
}
.com-price:not(.price-list-price-table) td {
  padding-bottom: 5px;
}

/*	voice  SP
------------------------------------ */
#voice .voice-post-item {
  padding: 20px 15px 35px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#voice .voice-post-flex {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#voice .voice-post-head {
  margin-bottom: 10px;
}
#voice .voice-post-txt {
  margin-top: 10px;
}
#voice .detail-box {
  padding: 20px 15px;
}
#voice .detail-box-img {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#voice .detail-box-img-item {
  width: 100%;
}
#voice .detail-box-img-item:nth-of-type(n+2) {
  margin: 15px auto 0;
}
#voice .detail-con {
  margin-top: 15px;
  padding: 0;
}
#voice .detail-post-txt {
  margin-top: 15px;
}

/*	recruit  SP
------------------------------------ */
#recruit .recruit-bg {
  padding: 50px 15px;
}
#recruit .recruit-inner {
  padding: 15px 0 0;
}
#recruit .recruit-img {
  position: relative;
  left: -15px;
  top: auto;
}
#recruit .recruit-head {
  text-align: center;
}
#recruit .recruit-txt {
  margin-top: 15px;
}
#recruit .point-box {
  padding: 30px 15px;
  border-radius: 15px;
}
#recruit .point-list {
  margin-top: 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#recruit .point-list-img {
  width: 150px;
  margin: auto;
}
#recruit .point-list-item {
  margin: 20px auto 0;
}
#recruit .flow-inner {
  padding-top: 0;
}
#recruit .flow-inner::before {
  width: 68px;
  height: 58px;
}
#recruit .flow-list {
  margin-top: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#recruit .flow-list-item:nth-of-type(n+2) {
  margin: 40px auto 0;
}
#recruit .flow-list-item:nth-of-type(n+2)::before {
  width: 17px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  top: -30px;
  left: 0;
  right: 0;
  bottom: auto;
}
#recruit .flow-list-head {
  padding-bottom: 12px;
}
#recruit .flow-list-txt {
  margin-top: 10px;
  padding: 0;
}
#recruit .flow-box {
  padding: 30px 15px;
}
#recruit .flow-head::before, #recruit .flow-head::after {
  width: 30px;
}
#recruit #top-trial .trial-box {
  padding: 25px 15px;
}
#recruit #top-trial .trial-head {
  padding-bottom: 15px;
}
#recruit #top-trial .trial-contact {
  max-width: 200px;
  height: 50px;
}
#recruit #top-trial .trial-line {
  margin-left: 25px;
}

/*	information  SP
------------------------------------ */
#information .information-box {
  margin-top: 20px;
  padding: 20px 15px;
}

/*	contact  SP
------------------------------------ */
#contact .contact-list {
  margin-top: 30px;
}
#contact .contact-list-item {
  padding: 25px 15px;
}
#contact .contact-list-item:nth-of-type(n+2) {
  margin-top: 35px;
}
#contact .contact-list-flex {
  margin-top: 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
#contact .contact-list-txt {
  margin: 5px auto 0;
  text-align: center;
}
#contact .contact .com-head02 {
  padding-bottom: 10px;
}
#contact .contact-btn {
  height: 60px;
  margin-top: 20px;
  line-height: 60px;
}

.com-tel-num {
  font-size: 27px;
  font-size: 2.7rem;
}

/*	privacy  SP
------------------------------------ */
#privacy .com-head03 {
  font-size: 20px;
  font-size: 2rem;
}