@charset "UTF-8";
/* CSS Document */
/* ----------------------------------------------
 Reset
---------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

li {
  list-style: none;
}

body {
  font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
  line-height: 1.6;
  background: transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 16px;
}

html.noscroll {
  overflow: hidden;
}

body {
  color: #30312d;
  font-family: "Sawarabi Mincho",游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  vertical-align: middle;
}

main {
  width: 100%;
}

.logo-area {
  float: left;
  width: 18%;
  padding: 0.5rem 0;
}

.logo-area a {
  display: block;
  background: url("../img/logo.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 3rem;
    margin-left:0.5rem;
}

/*SPメニュー*/
#nav-drawer {
  position: relative;
}

.nav-unshown {
  display: none;
}

#nav-open {
  width: 5em;
  height: 3em;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}

#nav-close {
  display: none;
  position: absolute;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

#nav-content {
  overflow: auto;
  position: fixed;
  top: 5rem;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 0px;
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
}

#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  height: 100%;
}

/*SPメニュー2*/
#nav {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  right: -100%;
  z-index: 77;
  text-align: left;
  padding: 3.5625rem 1rem 0;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: ease 0.5s;
  transition: ease 0.5s;
}

#nav ul {
  width: 100%;
  height: 100%;
  padding-top: 50px;
  list-style: none;
  overflow-y: scroll;
}

#nav ul.moving {
  padding-top: 0;
}

#nav li {
  border-bottom: 1px solid #4a148c;
  font-size: 1rem;
  font-weight: 600;
}

#nav li:nth-child(1) {
  border-top: 1px solid #4a148c;
}

#nav li.close-btn {
  border-bottom: 0;
  text-align: center;
}

#nav p {
  font-size: 0.75rem;
  line-height: 1;
  display: inline;
  padding: 0 1rem;
}

#nav a {
  width: 100%;
  display: block;
  color: #4a148c;
  padding: 0.8rem 0;
  font-weight: 600;
}

#nav a small {
  font-size: 80%;
  padding-left: 0.5rem;
}

.open #nav {
  right: 0;
}

.open #nav-toggle span:nth-child(1) {
  top: 0.75rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}

.open #nav-toggle span:nth-child(3) {
  top: 0.75rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.close-btn {
  padding: 0.5rem 0;
  color: #4a148c;
  font-weight: 600;
}

.close-btn.space {
  display: block;
  height: 100%;
}

#nav-toggle {
  display: none;
  position: absolute;
  top: 1.125rem;
  right: 1rem;
  width: 2rem;
  height: 1.5rem;
  cursor: pointer;
  z-index: 100;
}

#nav-toggle > div {
  position: relative;
}

#nav-toggle span {
  width: 100%;
  height: 3px;
  left: 0;
  display: block;
  background: #30312d;
  border-radius: 10px;
  position: absolute;
  -webkit-transition: ease-in-out 0.35s;
  transition: ease-in-out 0.35s;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 0.75rem;
}

#nav-toggle span:nth-child(3) {
  top: 1.5rem;
}

.container {
  display: block;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0.1px;
  position: relative;
}

.container.ssize {
  max-width: 1024px;
}

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

h1 {
  background: #4a148c;
  color: #fff;
  font-size: 0.8rem;
  font-weight: normal;
  text-align: center;
  padding: 0.6rem;
}

header:after {
  content: "";
  display: block;
  clear: both;
}

header .global-nav {
  background: rgba(255, 255, 255, 0.95);
  position: fixed;
  top: 39px;
  width: 100%;
  z-index: 99;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}

header .global-nav:after {
  content: "";
  display: block;
  clear: both;
}

header.header-bg .global-nav {
  top: 0;
}

#pc-nav {
  float: right;
  padding: 0.5rem 0;
}

#pc-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#pc-nav li a {
  color: #30312d;
  font-size: 1rem;
  display: block;
  padding: 0.5rem 1rem;
  text-align: center;
}

#pc-nav li a small {
  font-size: 80%;
  display: block;
}

#pc-nav li a.btn-entry {
  background: #4a148c;
  color: #fff;
  margin-left: 1rem;
}

.smp {
  display: none;
}

.section {
  display: block;
}

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

.section-body .text-area .border, .section-body .half-box .border {
  background: #d6d6d6;
  width: 100%;
  height: 0.2rem;
  margin-top: 1rem;
}

.bg-border-dashed a {
  background: #fff;
  color: #30312d;
  font-size: 1.2rem;
  display: block;
  padding: 0.5rem;
  text-align: center;
  border: #4a148c 2px dashed;
  border-radius: 2rem;
}

.half-box {
  width: 50%;
  padding: 0 6rem;
}

.require {
  position: relative;
  display: inline-block;
}

.require:after {
  content: "必須";
  background: #4a148c;
  color: #fff;
  font-size: 0.8rem;
  display: block;
  padding: 0.1rem;
  width: 3rem;
  border-radius: 0.3rem;
  text-align: center;
  position: absolute;
  top: 0.2rem;
  right: -3.5rem;
}

.d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

footer {
  background: #4a148c;
  color: #fff;
  padding: 1rem 0 5rem;
  text-align: center;
}

footer nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

footer nav ul li {
  width: 16.666666%;
  border-right: 1px solid #fff;
}

footer nav ul li:last-child {
  border: none;
}

footer a {
  color: #fff;
}

footer .bottom-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5rem;
}

footer .foot-logo {
  width: 60%;
  padding-left: 3rem;
}
footer .foot-logo img {
  width: 100%;
}

footer .foot-desc {
  width: 40%;
  line-height: 2;
}

footer .foot-desc ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

footer .foot-desc ul li {
  padding: 0 0.8rem;
}

footer .foot-desc ul li a {
  font-size: 3rem;
  line-height: 1.4;
}

.mainvisual {
  width: 100%;
  height: 100vh;
  background: linear-gradient(to top, rgba(255,255,255,0.5)0%,rgba(255,255,255,0.5)100%),url("../img/mainvisual.jpg");
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.main-upper {
  display: flex;
  align-items:center;
  justify-content:space-around;
  padding-bottom: 4%;
  padding: 0 1rem;
}

.main-upper .banner-area {
  width: 41%;
}

.banner-area img{
    width:100%;
}
.main-upper .logo-area {
  background: url("../img/logo.png");
  background-size: 100%;
  background-position: center right;
  background-repeat: no-repeat;
  padding: 10%;
  width: 35%;
  filter: drop-shadow(3px 3px 1px white)
}

.btn-fix-contact {
  width: 100%;
  position: fixed;
  bottom: 2.5rem;
  z-index: 55;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}

.btn-fix-contact ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.btn-fix-contact ul li {
  width: 32.8%;
    border: 2px solid #fff;
}

.btn-fix-contact ul li a {
  color: #fff;
  font-size: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.btn-fix-contact ul li a .btn-icon {
  width: 20%;
  height: 6rem;
  padding: 1.4rem;
}

.btn-fix-contact ul li a .btn-list {
  width: 60%;
}

.btn-fix-contact ul li a .btn-angle {
  background: url("../img/ico-angle.svg") center no-repeat;
  width: 20%;
  padding: 1.2rem;
}

.btn-fix-contact ul li:nth-child(1) {
  background: #d43555;
}

.btn-fix-contact ul li:nth-child(1) .btn-icon {
  background: #f43d69;
}

.btn-fix-contact ul li:nth-child(2) {
  background: #a0a0ef;
}

.btn-fix-contact ul li:nth-child(3) {
  background: #5db44e;
}

.section-title {
  background: #4a148c;
  color: #fff;
  font-size: 1.4rem;
  font-weight: normal;
  text-align: center;
  padding: 2rem;
}

.section-title.pattern, .section-title.faq {
  font-size: 2rem;
}

.section-title.pattern span, .section-title.faq span {
  background: #ef9aae;
  color: #fff;
  font-size: 0.8rem;
  display: block;
  width: 9rem;
  text-align: center;
  margin: 0 auto;
  padding: 0.5rem 0;
  -webkit-box-shadow: #d6d6d6 3px 3px;
          box-shadow: #d6d6d6 3px 3px;
}

.section-body {
  padding: 3rem ;
}

.section-body h3 {
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
}

.section-body h3 ~ .beddge {
  background: #4a148c;
  color: #fff;
  font-size: 0.8rem;
  display: block;
  width: 9rem;
  text-align: center;
  margin: 0 auto;
  padding: 0.5rem 0;
  -webkit-box-shadow: #d6d6d6 3px 3px;
          box-shadow: #d6d6d6 3px 3px;
}

.section-body .desc {
  font-size: 1.2rem;
  padding: 3rem 0;
    line-height: 1.6;

}

.section-body.program {
  background: url(../img/bg-intro.jpg) no-repeat;
  background-size: 47%;
  background-position: right top -5rem;
}

.section-body.works, .section-body.salary {
  background: #f3e5f5;
  height: 46rem;
}

.section-body.works .img-area, .section-body.salary .img-area {
  background: #fff;
  width: 49rem;
  height: 37.5rem;
  padding: 0.5rem;
  position: absolute;
  right: 0;
  -webkit-box-shadow: #d6d6d6 3px 3px 3px;
          box-shadow: #d6d6d6 3px 3px 3px;
}

.section-body.works .img-area .bg-image, .section-body.salary .img-area .bg-image {
  background: url(../img/img-works.jpg) center no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
}

.section-body.salary .img-area .bg-image.works {
  background-image: url(../img/img-works.jpg);
}
.section-body.salary .img-area .bg-image.environ {
  background-image: url(../img/img-environment.jpg);
}

.section-body.works .text-area, .section-body.salary .text-area {
  background: #fff;
  width: 57rem;
  height: 35.5rem;
  position: absolute;
  top: 5rem;
  padding: 5rem;
}

.section-body.works .desc, .section-body.salary .desc {
  padding: 2rem 4rem;
  line-height: 1.8;
}

.section-body.salary .desc {
  padding: 2rem 0 3rem;
}

.section-body.beginner, .section-body.pattern {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, #f3e5f5), color-stop(50%, #fff8e6));
    background: linear-gradient(90deg, #f3e5f5 50%, #fff8e6 50%);
}

.section-body.beginner .container, .section-body.pattern .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.section-body.beginner h3 ~ .beddge, .section-body.pattern h3 ~ .beddge {
  background: #4a148c;
}

.section-body.beginner h3 ~ .beddge.yellow, .section-body.pattern h3 ~ .beddge.yellow {
  background: #f6ae2c;
}

.section-body.beginner .img-area, .section-body.pattern .img-area {
  width: 100%;
  height: 29rem;
  margin-top: 2rem;
}

.section-body.beginner .img-area .bg-image, .section-body.pattern .img-area .bg-image {
  background: url(../img/img-beginner.jpg) center no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}

.section-body.beginner .img-area .bg-image.flow {
  background-image: url(../img/img-flow.jpg);
}
.section-body.beginner .img-area .bg-image.working {
  background-image: url(../img/img-working.jpg);
}

.section-body.beginner .desc, .section-body.pattern .desc {
  line-height: 1.8;
  padding: 1rem 0 3rem;
}

.section-body.pattern {
  padding: 5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.section-body.pattern .half-box {
  padding: 0;
  margin: 0 auto;
  width: 45%;
}

.section-body.pattern .half-box .case-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.section-body.pattern .half-box .case-box .img-area {
  width: 30%;
  height: 18rem;
  margin: 0;
}

.section-body.pattern .half-box .case-box .img-area .bg-image {
  background: url(../img/img-case01.jpg) center no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
}

.section-body.pattern .half-box .case-box .img-area .bg-image.case01 {
  background-image: url(../img/img-case01.jpg);
}
.section-body.pattern .half-box .case-box .img-area .bg-image.case02 {
  background-image: url(../img/img-case02.jpg);
}

.section-body.pattern .half-box .case-box .text-area {
  width: 65%;
}

.section-body.pattern .half-box .case-box .text-area h3 {
  font-size: 1.6rem;
}

.section-body.pattern .cnt-pattern {
  color: #30312d;
  text-align: center;
}

.section-body.pattern .cnt-pattern ~ h3 {
  text-align: center;
  margin-bottom: 0.6rem;
}

.section-body.pattern .cnt-pattern ~ h3:after {
  content: "";
  background: #e6deab;
  display: block;
  height: 1.5rem;
  margin-top: -1.75rem;
}

.section-body.pattern .cnt-pattern ~ h3 ~ p {
  font-size: 1rem;
  padding: 0 1.9rem 1rem;
}

.section-body.faq {
  background: url(../img/bg-faqline.png) no-repeat #f8ffee;
  background-size: 65%;
  background-position: top 85% right -10%;
  min-height: 100vh;
}

.section-body.faq .container:nth-child(1) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.section-body.faq .container.ssize p {
  font-size: 1.2rem;
  margin: 3rem auto 4rem;
}

.section-body.faq .container.ssize .bg-border-dashed a {
  width: 70%;
  margin: 0 auto;
}

.section-body.faq .half-box {
  padding: 0 0 0 10rem;
}

.section-body.faq .img-area {
  height: 37rem;
}

.section-body.faq .img-area .bg-image {
  background: url(../img/img-faqline.png) center no-repeat;
  background-size: contain;
  width: 100%;
  min-height: 100%;
}

.section-body.bottom {
  background: #f5f5f5;
}

.section-body.bottom .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.section-body.bottom .container .half-box {
  padding: 0;
}

.section-body.bottom .container .half-box:nth-child(1) {
  padding-right: 5rem;
}

.section-body.bottom .container .half-box:nth-child(2) {
  padding-left: 5rem;
}

.section-body.bottom .container.ssize .half-box {
  padding: 0;
  width: 100%;
}

.section-body.bottom .container.ssize .half-box:nth-child(1) {
  padding-right: 0;
}

.section-body.bottom h2 {
  color: #4a148c;
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
}

.section-body.bottom h2 ~ .beddge {
  background: #4a148c;
  color: #fff;
  font-size: 0.8rem;
  display: block;
  width: 9rem;
  margin: 0 auto;
  padding: 0.5rem;
  text-align: center;
  -webkit-box-shadow: #d6d6d6 3px 3px;
          box-shadow: #d6d6d6 3px 3px;
}

.section-body.bottom dl {
    border: #4a148c 2px solid;
    display: flex;
    flex-wrap: wrap;
    margin-top: 2rem;
}

.section-body.bottom dt {
    background: #4a148c;
    color: #fff;
    font-size: 1rem;
    border-right: #4a148c 2px solid;
    border-bottom: #4a148c 2px solid;
    width: 30%;
    padding: 1.44rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.section-body.bottom dd {
    border-bottom: #4a148c 2px solid;
    width: 70%;
    padding: 1.6rem 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.section-body.bottom dd:nth-child(2), .section-body.bottom dd:nth-child(4), .section-body.bottom dd:nth-child(10) {
  padding: 0.8rem 1rem;
}

.section-body.bottom dd:last-child {
  border: none;
}

.section-body.bottom dd a {
  color: #30312d;
  text-decoration: underline;
}

.section-body.bottom #contact-form {
  margin-top: 2rem;
}

.section-body.bottom .form-parts {
  display: block;
  margin-bottom: 1rem;
}

.section-body.bottom .form-parts:after {
  content: "";
  display: block;
  clear: both;
}

.section-body.bottom .form-parts .form-content {
  font-size: 1.2rem;
  padding-left: 0.25rem;
  border-left: #4a148c 0.5rem solid;
}

.section-body.bottom .form-parts .form-content ~ small {
  font-size: 80%;
  display: block;
}

.section-body.bottom .form-parts input, .section-body.bottom .form-parts textarea {
  font-size: 1.4rem;
  width: 100%;
  margin: 0.5rem 0;
  padding: 0.3rem;
  border: 2px solid #4a148c;
  border-radius: 0.3rem;
}

.section-body.bottom .form-parts textarea {
  height: 6rem;
}

.section-body.bottom .form-parts button {
  background: #4a148c;
  color: #fff;
  font-size: 1.2rem;
  width: 12rem;
  display: block;
  padding: 0.5rem 0 0.4rem;
  margin: 0 auto;
  text-align: center;
  border: 1px solid #4a148c;
  border-radius: 2rem;
}

.section-body.bottom .conf-area .d-flex .form-parts {
  width: 40%;
  margin-bottom: 2rem;
}

.section-body.bottom .conf-area .d-flex .form-parts ~ p {
  width: 60%;
}

.section-body.bottom .conf-area .d-flex.btn-area {
  padding-top: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.section-body.bottom .conf-area .d-flex.btn-area .form-parts .back {
  background: #fff;
  color: #4a148c;
  border: 1px solid #4a148c;
}

.section-body.bottom #contact-area {
  margin: -5rem auto 0;
  padding-top: 5rem;
  max-width: 50rem;
}

.section {
  padding-top: 5.2rem;
}

.section .section-title {
  font-size: 1.6rem;
}

.section .section-title span {
  background: #7b1fa2;
  font-size: 0.8rem;
  display: block;
  width: 9rem;
  margin: 0 auto;
  padding: 0.5rem;
  -webkit-box-shadow: #d6d6d6 3px 3px;
          box-shadow: #d6d6d6 3px 3px;
}

.section.top {
  padding-top: 0;
}

.section.vide .section-body .vide-box .image-area, .section.about .section-body .vide-box .image-area {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.section.vide .section-body.other, .section.about .section-body.other {
  background-color: #fff8e6;
}

.section.about .section-body:nth-child(2) .vide-box .image-area {
  background-image: url(../img/img-works.jpg);
}
.section.vide .section-body:nth-child(2) .vide-box .image-area {
  background-image: url(../img/img-environment.jpg);
}

.section.vide .section-body:nth-child(3), .section.about .section-body:nth-child(3) {
  background: #f3e5f5;
}

.section.vide .section-body:nth-child(3) .vide-box .image-area, .section.about .section-body:nth-child(3) .vide-box .image-area {
  background-image: url(../img/img-vide02.jpg);
}

.section.vide .section-body:nth-child(4) .vide-box .image-area, .section.about .section-body:nth-child(4) .vide-box .image-area {
  background-image: url(../img/img-vide03.jpg);
}

.section.vide .section-body:nth-child(5), .section.about .section-body:nth-child(5) {
  background: #f3e5f5;
}

.section.vide .section-body:nth-child(5) .vide-box .image-area, .section.about .section-body:nth-child(5) .vide-box .image-area {
  background-image: url(../img/img-vide04.jpg);
}

.section.vide .section-body:nth-child(6) .vide-box .image-area, .section.about .section-body:nth-child(6) .vide-box .image-area {
  background-image: url(../img/img-vide05.jpg);
}

.section.vide .section-body:nth-child(7), .section.about .section-body:nth-child(7) {
  background: #f3e5f5;
}

.section.vide .section-body:nth-child(7) .vide-box .image-area, .section.about .section-body:nth-child(7) .vide-box .image-area {
  background-image: url(../img/img-vide06.jpg);
}

.section.vide .section-body:nth-child(8) .vide-box .image-area, .section.about .section-body:nth-child(8) .vide-box .image-area {
  background-image: url(../img/img-vide07.jpg);
}

.section.vide .section-body:nth-child(9), .section.about .section-body:nth-child(9) {
  background: #fcf0fa;
}

.section.vide .section-body:nth-child(9) .vide-box .image-area, .section.about .section-body:nth-child(9) .vide-box .image-area {
  background-image: url(../img/img-vide08.jpg);
}

.section.about .section-body {
  padding: 5rem 0;
}

.section.about .section-body:nth-child(3) .vide-box .image-area {
  background-image: url(../img/img-about01.jpg);
}

.section.about .section-body:nth-child(4) .vide-box .image-area {
  background-image: url(../img/img-about02.jpg);
}

.section.about .section-body:nth-child(5) .vide-box .image-area {
  background-image: url(../img/img-about03.jpg);
}

.section.about .section-body:nth-child(6) .vide-box .image-area {
  background-image: url(../img/img-about04.jpg);
}

.section.about .section-body:nth-child(7) .vide-box .image-area {
  background-image: url(../img/img-about05.jpg);
}

.section.work .section-body, .section.flow .section-body {
  background: url(../img/bg-intro.jpg) no-repeat;
  background-position: center right 10%;
  background-size: 100%;
  padding: 5% 0 10%;
}

.section.work .section-body p, .section.flow .section-body p {
  font-size: 1.2rem;
  width: 80%;
}

.section.salary .section-body {
  background: url(../img/bg-intro.jpg) no-repeat;
  background-position: center right 10%;
  background-size: contain;
}

.section.salary .section-body h3 {
  font-weight: bold;
  text-align: left;
}

.section.salary-pattern {
  padding-top: 0;
}

.section.salary-pattern .section-body {
  padding: 2rem 0 0;
}

.section.salary-pattern .pattern-upper {
  background: url(../img/pattern-upper.png) center no-repeat;
  background-size: contain;
  margin-bottom: 2rem;
}

.section.salary-pattern .pattern-upper p {
  font-size: 2rem;
  padding: 2.25rem 0 3.25rem;
  text-align: center;
}

.section.salary-pattern .pattern-upper p strong {
  font-size: 2.5rem;
}

.section.salary-pattern .pattern-upper p strong:after {
  content: "";
  display: block;
  background: #fff;
  height: 2rem;
  width: 98%;
  margin: -2rem auto -3.5rem;
}

.section.salary-pattern .box-set .staff-box {
  background: #f3e5f5;
}

.section.salary-pattern .box-set:nth-child(3) .staff-box {
  background: #f3e5f5;
}

.section.bottom {
  padding-top: 0;
}

.vide-box {
  font-size: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1270px;
  margin: 0 auto;
}

.vide-box p {
  font-size: 1.2rem;
  width: 45%;
}

.vide-box .image-area {
  width: 45%;
  height: 26rem;
}

.vide-box.other {
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}

.vide-box.other h3, .vide-box.other ul, .vide-box.other p {
  width: 75%;
}

.vide-box.other ul {
  margin: 1rem 0 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.vide-box.other ul li {
  background: #ebf5f7;
  width: 24%;
  text-align: center;
  padding: 0.5rem;
}

.vide-box-child {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.vide-box-child h3 ~ span {
  background: #4a148c;
  color: #fff;
  font-size: 0.8rem;
  display: block;
  width: 9rem;
  padding: 0.5rem;
  margin: 0.5rem auto 0;
  text-align: center;
  -webkit-box-shadow: #d6d6d6 3px 3px;
          box-shadow: #d6d6d6 3px 3px;
}

.vide-box-child > p {
  width: 100%;
  margin: 1.5rem 0;
  line-height: 1.4;
}

.vide-box-child a {
  color: #4a148c;
  font-size: 1.3rem;
  text-align: center;
  text-decoration: underline;
}

.section-work {
  background: #f3e5f5;
  padding: 3rem 0 4rem;
}

.section-work .vwork-box {
  max-width: 1024px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.section-work .vwork-box .work-box-child {
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: top center;
  width: 50%;
  padding-top: 7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.section-work .vwork-box .work-box-child h3 {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 1rem;
}

.section-work .vwork-box .work-box-child p {
  font-size: 1.2rem;
}

.section-work .vwork-box .work-box-child a {
  color: #4a148c;
  font-size: 1.3rem;
  margin-top: 1rem;
  text-align: center;
  text-decoration: underline;
}

.section-work .vwork-box .image-area {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 40%;
  height: 26rem;
}

.section-work .vwork-box:nth-child(1) .work-box-child {
  background-image: url(../img/ttl-work-01.svg);
}

.section-work .vwork-box:nth-child(1) .image-area {
  background-image: url(../img/img-work01.png);
}

.section-work .vwork-box:nth-child(3) .work-box-child {
  background-image: url(../img/ttl-work-02.svg);
}

.section-work .vwork-box:nth-child(3) .image-area {
  background-image: url(../img/img-work02.png);
}

.section-work .vwork-box:nth-child(5) .work-box-child {
  background-image: url(../img/ttl-work-03.svg);
}

.section-work .vwork-box:nth-child(5) .image-area {
  background-image: url(../img/img-work03.png);
}

.section-work .vwork-box:nth-child(7) .work-box-child {
  background-image: url(../img/ttl-work-04.svg);
}

.section-work .vwork-box:nth-child(7) .image-area {
  background-image: url(../img/img-work04.png);
}

.section-work .vwork-box:nth-child(9) .work-box-child {
  background-image: url(../img/ttl-work-05.svg);
}

.section-work .vwork-box:nth-child(9) .image-area {
  background-image: url(../img/img-work05.png);
}

.section-work.other {
  background: #f3e5f5;
}

.section-work.other .vwork-box:nth-child(1) .work-box-child {
  background-image: url(../img/ttl-work-01.svg);
}

.section-work.other .vwork-box:nth-child(1) .image-area {
  background-image: url(../img/img-flow01.png);
}

.section-work.other .vwork-box:nth-child(3) .work-box-child {
  background-image: url(../img/ttl-work-02.svg);
}

.section-work.other .vwork-box:nth-child(3) .image-area {
  background-image: url(../img/img-flow02.png);
}

.section-work.other .vwork-box:nth-child(5) .work-box-child {
  background-image: url(../img/ttl-work-03.svg);
}

.section-work.other .vwork-box:nth-child(5) .image-area {
  background-image: url(../img/img-flow03.png);
}

.section-work.other .vwork-box:nth-child(7) .work-box-child {
  background-image: url(../img/ttl-work-04.svg);
}

.section-work.other .vwork-box:nth-child(7) .image-area {
  background-image: url(../img/img-flow04.png);
}

.section-work.other .vwork-box:nth-child(9) .work-box-child {
  background-image: url(../img/ttl-work-05.svg);
}

.section-work.other .vwork-box:nth-child(9) .image-area {
  background-image: url(../img/img-flow05.png);
}

.arw-angle {
  display: block;
  width: 100%;
  position: relative;
  padding: 1rem 0;
  margin: 2rem 0;
}

.arw-angle:after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 2rem);
  border: 2rem solid transparent;
  border-top: 2rem solid #4a148c;
}

.staff-box, .pattern-box {
  padding: 4rem 0;
}

.staff-box ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.staff-box ul li {
  width: 25%;
}

.staff-box ul li.text-area {
  width: 70%;
}

.staff-box h3 {
  color: #30312d;
  font-size: 1rem;
}

.staff-box strong {
  font-size: 1.6rem;
  font-weight: normal;
  display: block;
  text-align: center;
  margin-bottom: 1rem;
}

.staff-box strong:after {
  content: "";
  background: #e6deab;
  display: block;
  height: 2rem;
  margin-top: -1.5rem;
}

.staff-box .staff-img-area {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  height: 21rem;
}

.staff-box .staff-img-area ~ figcaption {
  text-align: center;
}

.pattern-box {
  text-align: center;
}

.pattern-box .d-flex {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.pattern-box .res-title {
  background: #4a148c;
  color: #fff;
  font-size: 1.2rem;
  padding: 0.5rem;
  margin: 2rem 0 1rem;
  position: relative;
}

.pattern-box .res-title:after {
  content: "";
  position: absolute;
  top: 100%;
  left: calc(50% - 0.4rem);
  border: 0.8rem solid transparent;
  border-top: 0.6rem solid #4a148c;
}

.pattern-box .res-month {
  font-size: 1.6rem;
}

.pattern-box .res-month > strong {
  color: #4a148c;
  font-size: 3rem;
  margin-left: 0.5rem;
}

.pattern-child {
  width: 49%;
}

.pattern-child h4 {
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 1rem;
}

.pattern-child h4:after {
  content: "";
  background: #ebf5f7;
  display: block;
  height: 1.5rem;
  margin-top: -1rem;
}

.pattern-child .result {
  font-size: 1.6rem;
}

.pattern-child .result strong {
  color: #4a148c;
  font-size: 3rem;
}

.section-faq {
  font-size: 1.2rem;
  padding: 4rem 0;
}

.section-faq > p {
  max-width: 46%;
  margin: 0 auto 4rem;
}

.section-faq .ssize {
  z-index: 0;
}

.section-faq:after {
  content: "";
  display: block;
  clear: both;
}

.bg-girl {
  background: url(../img/bg-faq-left.png) left bottom no-repeat;
  background-size: contain;
  display: block;
  width: 38rem;
  height: 38rem;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.bg-object {
background: url(../img/bg-faq-right.png) no-repeat;
  background-size: cover;
  display: block;
  width: 100%;
  height: 42rem;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.faq-bubble .ico-buble {
  width: 4rem;
  height: 4rem;
}
.faq-bubble .ico-buble img {
  width: 100%;
}

.faq-bubble .buble-box {
  padding: 0.5rem 0 0 1rem;
  position: relative;
}

.faq-bubble .buble-box p {
  background: #e4e8eb;
  display: inline-block;
  border-radius: 0.5rem;
  max-width: 30rem;
  padding: 1rem;
  z-index: 3;
}

.faq-bubble .buble-box p:before {
  content: "";
  background: url(../img/bub-guest.svg) center no-repeat;
  background-size: contain;
  width: 8rem;
  height: 4.5rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.faq-bubble.guest {
  float: left;
  margin-bottom: 7rem;
}

.faq-bubble.guest:nth-child(8) {
  margin-bottom: 10rem;
}

.faq-bubble.host {
  margin-top: 4rem;
  float: right;
}

.faq-bubble.host .ico-buble {
  margin-left: auto;
}

.faq-bubble.host .buble-box {
  padding: 0.5rem 1rem 0 0;
}

.faq-bubble.host .buble-box p {
  background-color: #bef18c;
}

.faq-bubble.host .buble-box p :before {
  content: "";
  background: url(../img/bub-host.svg) center no-repeat;
  background-size: contain;
}

.faq-bubble.host .buble-box p:before {
  content: "";
  background-image: url(../img/bub-host.svg);
  left: unset;
  right: 0;
}

#vide01, #vide02, #vide03, #vide04, #vide05, #vide06, #vide07 {
  margin-top: -5rem;
  padding-top: 5rem;
}

@media screen and (max-width: 1599px) {
  .container {
    padding: 0 1rem;
  }
  .logo-area a {
    height: 3rem;
  }
  .section.salary .section-body, .section.work .section-body, .section.flow .section-body {
    background-position: bottom right;
  }
  .section.salary-pattern .pattern-upper p {
    font-size: 1.6rem;
  }
  .section.salary-pattern .pattern-upper p strong {
    font-size: 2rem;
  }
  .section.salary-pattern .pattern-upper p strong:after {
    width: 85%;
    height: 1.5rem;
    margin: -1.75rem auto -3rem;
  }
  .section-body h3 {
    font-size: 1.6rem;
  }
  .section-body.works .img-area, .section-body.salary .img-area {
    right: 1rem;
  }
  .section-body.beginner .img-area, .section-body.pattern .img-area {
    height: 19rem;
  }
  .section-body.pattern h3 {
    font-size: 1.8rem;
  }
  .section-body.pattern .half-box {
    width: 48%;
  }
  .section-body.faq {
    min-height: 67vh;
  }
  .section-body.faq .img-area {
    height: 30rem;
  }
  .section-body.faq .img-area .bg-image {
    background-position: center right;
  }
  .section-body.bottom .container .half-box:nth-child(1) {
    padding-right: 2rem;
  }
  .section-body.bottom .container .half-box:nth-child(2) {
    padding-left: 2rem;
  }
  .vide-box p {
    font-size: 1rem;
  }
  .vide-box .image-area {
    height: 21rem;
  }
  .vide-box.other {
    display: block;
  }
  .section-work {
    padding: 3rem 1rem 4rem;
  }
  .section-work .vwork-box .work-box-child h3 {
    font-size: 1.6rem;
  }
  .section-faq > p {
    max-width: 70%;
  }
}

@media screen and (max-width: 1199px) {
  #pc-nav {
    display: none;
  }
  #nav-toggle {
    display: block;
  }
  .logo-area a {
    width: 8rem;
    height: 3rem;
  }
  .mainvisual {
    padding-bottom: 10%;
      height:100vh;
      padding-bottom: 16%;
  }

  .section-body .desc {
    font-size: 1.1rem;
  }
  .section-body.works .text-area, .section-body.salary .text-area {
    width: 47rem;
  }
  .section-body.works .img-area, .section-body.salary .img-area {
    width: 39rem;
  }
  .section-body.program {
    background-size: 66%;
  }
  .section-body.program .desc {
    padding-right: 20%;
  }
  .section-body.beginner .img-area, .section-body.pattern .img-area {
    height: 14rem;
  }
  .section-body.pattern {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #f7e2e9), color-stop(50%, #fff8e6));
    background: linear-gradient(180deg, #f7e2e9 50%, #fff8e6 50%);
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .section-body.pattern .half-box {
    width: 95%;
    padding: 2rem 0;
  }
  .section-body.pattern .half-box .case-box .img-area {
    width: 22%;
  }
  .section-body.pattern .half-box .case-box .text-area {
    width: 72%;
  }
  .section-body.pattern .cnt-pattern ~ h3 {
    font-size: 1.5rem;
  }
  .section-body.pattern .cnt-pattern ~ h3 ~ p {
    font-size: 1rem;
  }
  .section-body.pattern .cnt-pattern ~ h3:after {
    height: 1.2rem;
    margin-top: -1.2rem;
  }
  .section-body.faq {
    background-size: 80%;
    background-position: top 85% right -40%;
  }
  .section-body.faq .half-box {
    padding: 0 5rem;
  }
  .section-body.bottom .container .half-box:nth-child(1) {
    padding-right: 1rem;
  }
  .section-body.bottom .container .half-box:nth-child(2) {
    padding-left: 1rem;
  }
  .section-body.bottom dt {
    font-size: 1.1rem;
    padding: 1.48rem;
  }
  .section-body.bottom dd {
    font-size: 0.9rem;
  }
  .btn-fix-contact ul li a {
    font-size: 1.8rem;
  }
  .btn-fix-contact ul li a .btn-icon {
    padding: 1.4rem 0.5rem 0;
  }
  footer .bottom-container {
    padding: 3rem 5rem;
  }
  .section-faq > p {
    max-width: 75%;
  }
  .bg-girl {
    left: -5rem;
    width: 21rem;
  }
  .bg-object {
    right: -8rem;
    width: 55rem;
  }
}
@media screen and (max-width: 375px) and (max-height: 668px) {
  .bg-girl {
    left: -3rem;
    width: 16rem;
  }
}


@media screen and (max-width: 1199px) and (min-height: 769px) {
/*
  .mainvisual .main-upper {
    display: block;
    padding: 0 3rem;
  }
*/
  .mainvisual .main-upper .logo-area.smp {
    background: url("../img/logo.png") center no-repeat;
    background-size: contain;
    display: block;
    width: 100%;
    margin-bottom: 1rem;

  }
  .mainvisual .main-upper .logo-area.pc {
    display: none;
  }
  .mainvisual .main-upper .banner-area {
    width: 100%;
    padding: 1rem;
  }
  .section-body.faq {
    min-height: 50vh;
  }
  .section-body.faq .half-box {
    padding: 0 5rem;
  }
}

@media screen and (max-width: 1023px) {
  .pc {
    display: none;
  }
  .smp {
    display: block;
  }
  .global-nav > .container {
    position: relative;
  }
  .mainvisual .main-upper .logo-area.smp {
    padding: 10%;
  }
  .btn-fix-contact {
    bottom: 1rem;
  }
  .btn-fix-contact ul li {
    width: 31%;
    border-radius: 0.6rem;
    overflow: hidden;
  }
  .btn-fix-contact ul li a {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .btn-fix-contact ul li a .btn-icon {
    width: 100%;
    padding: 0.5rem 0 0;
  }
  .btn-fix-contact ul li a .btn-icon img {
    height: 100%;
  }
  .btn-fix-contact ul li a .btn-list {
    width: 100%;
  }
  .btn-fix-contact ul li a .btn-angle {
    display: none;
  }
  .btn-fix-contact ul li:nth-child(1) .btn-icon {
    background-color: #d43555;
  }
  .btn-fix-contact ul li:nth-child(2) .btn-icon {
    background-color: #a0a0ef;
  }
  .btn-fix-contact ul li:nth-child(3) .btn-icon {
    background-color: #5db44e;
  }
  .section .section-title {
    font-size: 1rem;
  }
  .section.work .section-body p, .section.flow .section-body p {
    width: 100%;
  }
  .section.salary-pattern .pattern-upper p {
    font-size: 1.25rem;
    padding: 1rem 0 2rem;
  }
  .section.salary-pattern .pattern-upper p strong {
    font-size: 1.6rem;
  }
  .section.salary-pattern .pattern-upper p strong:after {
    width: 90%;
    height: 1rem;
    margin: -1rem auto -2.5rem;
  }
  .section.salary-pattern .box-set:nth-child(4) .pattern-box {
    padding-bottom: 2rem;
  }
  .half-box {
    width: 100%;
    padding: 1rem 0 2rem;
  }
  .section-title.pattern span, .section-title.faq span {
    font-size: 1rem;
    width: 10rem;
  }
  .section-body {
    padding: 1rem 0;
  }
  .section-body h3 ~ .beddge {
    font-size: 1rem;
    width: 10rem;
  }
  .section-body.program {
    background-size: 95%;
    background-position: center right -10rem;
  }
  .section-body.program .desc {
    font-size: 1.3rem;
  }
  .section-body.works, .section-body.salary {
    background: #fff;
    height: auto;
  }
  .section-body.works .img-area, .section-body.salary .img-area {
    width: 100%;
    height: 34.6rem;
    position: unset;
    margin-bottom: 1rem;
    -webkit-box-shadow: #d6d6d6 8px 8px 8px;
            box-shadow: #d6d6d6 8px 8px 8px;
  }
  .section-body.works .text-area, .section-body.salary .text-area {
    width: 100%;
    height: auto;
    position: unset;
    padding: 1rem 0;
  }
  .section-body.works .text-area .border, .section-body.salary .text-area .border {
    margin-top: 2rem;
  }
  .section-body.works .desc, .section-body.salary .desc {
    font-size: 1.4rem;
    padding: 1rem 2rem;
  }
  .section-body.works .bg-border-dashed, .section-body.salary .bg-border-dashed {
    padding: 1rem 0;
  }
  .section-body.beginner, .section-body.pattern {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #f3e5f5), color-stop(50%, #fff8e6));
    background: linear-gradient(180deg, #f3e5f5 50%, #fff8e6 50%);
  }
  .section-body.beginner .container, .section-body.pattern .container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .section-body.beginner .img-area, .section-body.pattern .img-area {
    margin: 0;
    height: 34rem;
    margin-bottom: 1rem;
  }
  .section-body.beginner h3 ~ .beddge, .section-body.pattern h3 ~ .beddge {
    background: #4a148c;
  }
  .section-body.beginner h3 ~ .beddge.yellow, .section-body.pattern h3 ~ .beddge.yellow {
    background: #f6ae2c;
  }
  .section-body.beginner .desc, .section-body.pattern .desc {
    font-size: 1.3rem;
  }
  .section-body.pattern {
    padding: 0;
  }
  .section-body.pattern .half-box .case-box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .section-body.pattern .half-box .case-box .img-area {
    width: 29%;
    margin: 0;
  }
  .section-body.pattern .half-box .case-box .text-area {
    width: 69%;
  }
  .section-body.pattern .half-box .case-box .bg-border-dashed.smp {
    width: 100%;
    padding-top: 1.5rem;
  }
  .section-body.pattern .cnt-pattern {
    font-size: 1.5rem;
  }
  .section-body.pattern .cnt-pattern ~ h3 {
    font-size: 2.3rem;
  }
  .section-body.pattern .cnt-pattern ~ h3:after {
    height: 1.6rem;
    margin-top: -1.6rem;
  }
  .section-body.pattern .cnt-pattern ~ h3 ~ p {
    font-size: 1.4rem;
    line-height: 1.4;
  }
  .section-body.faq {
    min-height: auto;
    background: none;
  }
  .section-body.faq .container:nth-child(1) {
    display: block;
  }
  .section-body.faq .container .half-box ~ .half-box {
    display: none;
  }
  .section-body.faq .container.ssize p {
    font-size: 1.6rem;
  }
  .section-body.faq .container.ssize .bg-border-dashed a {
    width: 100%;
  }
  .section-body.faq .img-area {
    height: 43rem;
  }
  .section-body.bottom .container {
    display: block;
  }
  .section-body.bottom .container .half-box:nth-child(1), .section-body.bottom .container .half-box:nth-child(2) {
    padding: 0;
    padding-bottom: 2rem;
  }
  .section-body.bottom dt {
    font-size: 1.8rem;
    padding: 1.6rem;
  }
  .section-body.bottom dd {
    font-size: 1.4rem;
    padding: 1.9rem 1rem;
  }
  footer {
    padding-bottom: 8rem;
  }
  footer .bottom-container {
    display: block;
  }
  footer .foot-logo {
    padding: 0;
    margin: 0 auto 2rem;
  }
  footer .foot-desc {
    width: 100%;
    font-size: 1.125rem;
  }
  footer .foot-desc ul li {
    padding: 0 1.2rem;
  }
  footer .foot-desc ul li a {
    font-size: 2.5rem;
  }
  .vide-box {
    display: block;
  }
  .vide-box .image-area {
    width: 100%;
  }
  .vide-box p {
    width: 100%;
    padding-top: 1rem;
  }
  .vide-box.other h3, .vide-box.other p {
    width: 100%;
  }
  .vide-box.other ul {
    display: none;
  }
  .vide-box-child {
    width: 100%;
  }
  .vide-box-child h3 {
    padding: 1rem 0;
  }
  .vide-box-child > p {
    padding: 0;
  }
  .section-work .vwork-box {
    display: block;
  }
  .section-work .vwork-box .image-area {
    width: 100%;
  }
  .section-work .vwork-box .work-box-child {
    width: 100%;
    padding-top: 9rem;
  }
  .staff-box ul {
    display: block;
  }
  .staff-box ul li:nth-child(1), .staff-box ul li:nth-child(2) {
    width: 100%;
  }
  .staff-box ul li:nth-child(1) {
    width: 100%;
  }
  .pattern-box .d-flex {
    display: block;
  }
  .pattern-child {
    width: 100%;
    padding-bottom: 1rem;
  }
  .section-faq {
    background: none;
  }
  .section-faq .ssize {
    padding: 2rem 1rem;
  }
  .faq-bubble .ico-buble {
    width: 3.5rem;
    height: 3.5rem;
  }
  .faq-bubble.guest {
    margin-bottom: 1rem;
  }
  .faq-bubble.guest:nth-child(8) {
    margin-bottom: 1rem;
  }
  .faq-bubble.host {
    margin-top: 0;
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 768px) and (min-height: 811px) {
  .mainvisual {
    height:74vh;
    padding-top:42%;
  }
}

@media screen and (max-width: 767px) {
  .mainvisual {
    height: auto;
    background-size: cover;
    background-position: top right 14%;
    padding-top: calc(4/3*100%);
    position: relative;
  }
  .mainvisual .container {
    position: static;
  }
  .mainvisual .main-upper .logo-area.smp {
    background: url("../img/logo.png") center no-repeat;
    background-size: contain;
    display: block;
    width: 100%;
    margin-bottom: 1rem;
  }
  .main-upper {
    display: block;
    width: 100%;
    margin-bottom: 0;
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%,-60%);
  }
  .main-upper .banner-area {
    width: 100%;
  }
  .btn-fix-contact ul li a {
    font-size: 1rem;
  }
  .btn-fix-contact ul li a .btn-icon {
    height: 3rem;
  }
  .btn-fix-contact ul li:nth-child(1) .btn-icon {
    background-size: 4rem;
  }
  .btn-fix-contact ul li:nth-child(2) .btn-icon {
    background-size: 4rem;
  }
  .btn-fix-contact ul li:nth-child(3) .btn-icon {
    background-size: 3.5rem;
  }
  .section.work .section-body p, .section.flow .section-body p {
    font-size: 1rem;
  }
  .section.salary .section-body, .section.work .section-body, .section.flow .section-body {
    background-size: 130%;
    background-position: top -5rem right -10rem;
    padding: 10% 0;
  }
  .section.salary-pattern {
    padding-top: 0;
  }
  .section.salary-pattern .section-body {
    padding-top: 1rem;
  }
  .section.salary-pattern .pattern-upper {
    background-image: url(../img/pattern-upper-s.png);
    margin-bottom: 1rem;
  }
  .section.salary-pattern .pattern-upper p {
    font-size: 1rem;
    text-align: left;
    padding: 2rem 1.8rem;
  }
  .section.salary-pattern .pattern-upper p strong {
    font-size: 1.4rem;
  }
  .section.salary-pattern .pattern-upper p strong:before {
    content: "";
    display: block;
    background: #fff;
    height: 1.2rem;
    width: 100%;
    margin: 1rem auto -2.2rem;
  }
  .section.salary-pattern .pattern-upper p strong:after {
    width: 100%;
    height: 1.2rem;
    margin: -1rem auto -3rem;
  }
  .section.salary-pattern .box-set .staff-box {
    background: #f3e5f5;
  }
  .section.salary-pattern .box-set:nth-child(3) .staff-box {
    background: #f3e5f5;
  }
  .section.salary-pattern .box-set:nth-child(4) .staff-box {
    background: #f3e5f5;
  }
  .section-body h3 {
    font-size: 1.2rem;
  }
  .section-body.program {
    background-size: 130%;
  }
  .section-body.program .desc {
    font-size: 1rem;
    padding: 1rem 0 2rem;
  }
  .section-body.works .img-area, .section-body.salary .img-area {
    height: 18.2rem;
  }
  .section-body.works .desc, .section-body.salary .desc {
    font-size: 1rem;
    padding: 1rem 0;
  }
  .section-body.beginner .img-area, .section-body.pattern .img-area {
    height: 18rem;
  }
  .section-body.beginner .desc, .section-body.pattern .desc {
    font-size: 1rem;
    padding-bottom: 2rem;
  }
  .section-body.pattern .cnt-pattern {
    font-size: 1rem;
  }
  .section-body.pattern .cnt-pattern ~ h3 {
    font-size: 1rem;
  }
  .section-body.pattern .cnt-pattern ~ h3:after {
    height: 1rem;
    margin-top: -1rem;
  }
  .section-body.pattern .cnt-pattern ~ h3 ~ p {
    font-size: 0.8rem;
    padding: 0 0.5rem;
  }
  .section-body.pattern .half-box .case-box .img-area {
    height: 10rem;
  }
  .section-body.pattern .half-box .case-box .text-area h3 {
    font-size: 1rem;
  }
  .section-body.faq .container .half-box {
    padding: 0;
  }
  .section-body.faq .container.ssize p {
    font-size: 1rem;
  }
  .section-body.faq .img-area {
    height: 29rem;
  }
  .section-body.bottom dt {
    font-size: 1rem;
    padding: 1.2rem 0;
  }
  .section-body.bottom dd {
    font-size: 0.7rem;
    padding: 1.4rem 1rem;
  }
  .section-body.bottom .form-parts textarea {
    height: 8rem;
  }
  footer {
    padding-bottom: 3rem;
  }
  footer .bottom-container {
    padding: 3rem 0;
  }
  footer .foot-logo {
    width: 60%;
  }
  .vide-box .image-area {
    height: 18rem;
  }
  .vide-box-child a {
    font-size: 1.1rem;
  }
  .section-work .vwork-box .image-area {
    width: 90%;
    height: 22rem;
    margin: 0 auto;
  }
  .section-work .vwork-box .work-box-child {
    background-size: contain;
    padding-top: 7rem;
  }
  .section-work .vwork-box .work-box-child h3 {
    font-size: 1.2rem;
  }
  .section-work .vwork-box .work-box-child p {
    font-size: 1rem;
  }
  .staff-box ul li:nth-child(1) {
    margin-bottom: 1rem;
  }
  .staff-box strong {
    font-size: 1.4rem;
  }
  .staff-box strong:after {
    height: 1.5rem;
    margin-top: -1rem;
  }
  .pattern-box {
    padding-bottom: 1rem;
  }
  .section-faq {
    padding: 2rem 0;
  }
  .section-faq > p {
    max-width: 90%;
    margin-bottom: 2rem;
  }
  .faq-bubble {
    max-width: 100%;
  }
  .faq-bubble .buble-box p {
    font-size: 0.9rem;
  }
  .faq-bubble .buble-box p:before {
    width: 4rem;
    height: 2.5rem;
  }
}

@media screen and (max-width: 767px) and (max-height: 415px) {
  .mainvisual {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .mainvisual .main-upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 2%;
    padding-bottom: 0;
  }
  .mainvisual .main-upper .banner-area {
    width: 100%;
    text-align: center;
  }
  .mainvisual .main-upper .banner-area img {
    width: 100%;
  }
  .mainvisual .main-upper .logo-area.smp {
    display: none;
  }
  .mainvisual .main-upper .logo-area.pc {
    display: block;
    height: 100%;
  }
  .mainvisual .main-upper:after {
    content: "";
    display: block;
    clear: both;
  }
}

@media screen and (max-width: 413px) {
  h1 {
    font-size: 0.75rem;
    padding-top: 0.3rem;
  }
  header .global-nav {
    top: 33px;
  }
  #nav-toggle {
    top: 1.25rem;
  }
  .logo-area {
    width: 60%;
  }
  .logo-area a {
    width: auto;
    height: 3rem;
    background-position: left center;
  }
  .mainvisual {
    background-size: cover;
    background-position: top right 14%;
  }
  .mainvisual .main-upper .logo-area.smp {
    padding: 14%;
    margin-bottom: 2rem;
  }
  .mainvisual .main-upper .banner-area {
    padding: 0;
  }
    .banner-area img {
    width: 100%;

}
  .btn-fix-contact ul li:nth-child(1) .btn-icon img {
    height: 90%;
  }
  .btn-fix-contact ul li:nth-child(2) .btn-icon img {
    height: 84%;
  }
  .btn-fix-contact ul li:nth-child(3) .btn-icon img {
    height: 94%;
  }
  .btn-fix-contact ul li a {
    font-size: 14px;
    padding-bottom: 0.3rem;
  }
  .btn-fix-contact ul li a .btn-icon {
    height: 2.6rem;
  }
  .bg-border-dashed a {
    font-size: 1rem;
    padding: 0.2rem;
  }
  .section .section-title {
    font-size: 1rem;
      font-weight:bold;
      padding:1rem;
  }
  .section .section-title.pattern, .section .section-title.faq {
    font-size: 1.6rem;
  }
  .section .section-title.pattern span, .section .section-title.faq span {
    padding: 0.2rem 0;
  }
  .section.salary .section-title {
    font-size: 1.4rem;
  }
  .section.salary .section-body h3 {
    font-size: 1.2rem;
  }
  .section.salary-pattern .section-title {
    font-size: 1.4rem;
  }
  .section.salary-pattern .box-set :nth-child(4) .pattern-box {
    padding-bottom: 1rem;
  }
  .section.vide .section-title {
    font-size: 1.4rem;
  }
  .section-body h3 {
    font-size: 1.6rem;
  }
  .section-body h3 ~ .beddge {
    padding: 0.3rem 0;
  }
  .section-body.program {
    background-size: 187%;
    background-position: center right -8rem;
  }
  .section-body.works .text-area .border, .section-body.salary .text-area .border {
    margin-top: 1.5rem;
  }
  .section-body.works .bg-border-dashed, .section-body.salary .bg-border-dashed {
    padding: 0;
  }
  .section-body.works .desc, .section-body.salary .desc {
    font-size: 1rem;
  }
  .section-body.beginner, .section-body.pattern {
    padding: 0;
  }
  .section-body.beginner .img-area, .section-body.pattern .img-area {
    height: 16rem;
  }
  .section-body.beginner .desc, .section-body.pattern .desc {
    font-size: 1rem;
    padding: 1rem 0 2rem;
  }
  .section-body.pattern .half-box {
    width: 99%;
    padding: 1rem 0;
  }
  .section-body.pattern .half-box .case-box .bg-border-dashed.smp {
    padding: 0.5rem 0;
  }
  .section-body.pattern .cnt-pattern ~ h3 {
    font-size: 1rem;
  }
  .section-body.pattern .cnt-pattern ~ h3 ~ p {
    font-size: 0.7rem;
  }
  .section-body.faq .img-area {
    height: 26rem;
  }
  .section-body.faq .container.ssize p {
    font-size: 0.9rem;
  }
  .section-body.bottom dd {
    padding: 1.4rem 0.3rem;
  }
  .section-body.bottom dd:nth-child(2), .section-body.bottom dd:nth-child(4), .section-body.bottom dd:nth-child(10) {
    padding: 0.7rem 0.3rem;
  }
  footer .foot-desc ul li a {
    font-size: 4rem;
  }
  .vide-box-child h3 {
    font-size: 1.1rem;
  }
  .staff-box h3 {
    font-size: 1.2rem;
  }
  .staff-box strong {
    font-size: 1.3rem;
  }
  .pattern-box .res-title {
    margin-top: 0;
  }
  .faq-bubble .buble-box p {
    font-size: 1rem;
  }
}

@media screen and (max-width: 413px) and (min-height: 668px) {
/*
  .mainvisual .main-upper {
    padding-top: 45%;
  }
*/
  .mainvisual .main-upper .logo-area.smp {
    margin-bottom: 1rem;
  }
  .btn-fix-contact ul li:nth-child(1) .btn-icon {
    background-size: 3.5rem;
  }
  .btn-fix-contact ul li:nth-child(2) .btn-icon {
    background-size: 3.5rem;
  }
  .btn-fix-contact ul li:nth-child(3) .btn-icon {
    background-size: 3rem;
  }
  .section-body.faq .half-box .img-area {
    height: 26rem;
  }
}

@media screen and (max-width: 374px) {
  h1 {
    font-size: 12px;
  }
  header .global-nav {
    top: 29px;
  }
  .logo-area a {
    width: 8rem;
    height: 3rem;
  }
  #nav-toggle {
    top: 0.5rem;
    right: 0.5rem;
    width: 2.8rem;
    height: 2.8rem;
  }
  #nav-toggle span:nth-child(2) {
    top: 1rem;
  }
  #nav-toggle span:nth-child(3) {
    top: 2rem;
  }
  .btn-fix-contact ul li a {
    font-size: 0.8rem;
  }
  .section {
    padding-top: 3.2rem;
  }
  .section.work .section-body p, .section.flow .section-body p {
    font-size: 0.9rem;
  }
  .section.salary .section-body h3 {
    font-size: 1rem;
  }
  .section.salary-pattern .pattern-upper p {
    padding: 1.8rem;
    font-size: 0.9rem;
  }
  .section.salary-pattern .pattern-upper p strong {
    font-size: 1.1rem;
  }
  .section-title {
    font-size: 1rem;
    padding: 2rem 1rem;
  }
  .section-body.program .desc {
    font-size: 0.9rem;
  }
  .section-body.beginner .img-area, .section-body.pattern .img-area {
    height: 13.6rem;
  }
  .section-body.beginner .desc, .section-body.pattern .desc {
    font-size: 0.9rem;
  }
  .section-body.pattern .cnt-pattern ~ h3 {
    font-size: 0.8rem;
    margin-bottom: 0.4rem;
  }
  .section-body.pattern .cnt-pattern ~ h3:after {
    height: 0.5rem;
    margin-top: -0.5rem;
  }
  .section-body.faq .half-box .img-area {
    height: 22rem;
  }
  .section-body.bottom dt {
    padding: 1.8rem 0;
  }
  .section-body.bottom dd {
    padding: 2rem 1rem;
  }
  .section-body.bottom dd:nth-child(2), .section-body.bottom dd:nth-child(4) {
    padding: 0.9rem 1rem;
  }
  .section-body.bottom dd:nth-child(6) {
    padding: 1.5rem 1rem;
  }
  .section-body.bottom dd:nth-child(10) {
    padding: 0.3rem 1rem;
  }
  .vide-box .image-area {
    height: 14rem;
  }
  .vide-box p {
    font-size: 0.9rem;
  }
  .vide-box-child h3 {
    font-size: 1rem;
  }
  .vide-box-child a {
    font-size: 1rem;
  }
  .section-work {
    padding: 2rem 1rem;
  }
  .section-work .vwork-box .image-area {
    height: 17rem;
  }
  .section-work .vwork-box .work-box-child {
    padding-top: 6rem;
  }
  .section-work .vwork-box .work-box-child h3 {
    font-size: 1.1rem;
  }
  .section-work .vwork-box .work-box-child p {
    font-size: 0.9rem;
  }
  .section-work .vwork-box .work-box-child a {
    font-size: 1rem;
  }
  .arw-angle {
    padding: 0.5rem 0;
    margin: 1rem 0;
  }
  .arw-angle:after {
    left: calc(50% - 1rem);
    border: 1rem solid transparent;
    border-top: 1rem solid #4a148c;
  }
  .staff-box strong {
    font-size: 1.1rem;
  }
  .staff-box p {
    font-size: 0.9rem;
  }
  .section-faq > p {
    font-size: 0.9rem;
  }
  .faq-bubble .buble-box p {
    font-size: 0.9rem;
  }
}
