/* --------------------------------------------------------

max-width:959px

-------------------------------------------------------- */

@media (max-width:959px) {

/* ---------------------------
common-style
--------------------------- */

.tb-content {
display: block;
}

.tb-none {
display: none;
}


/* ---------------------------
work
--------------------------- */

.work-img-building {
bottom: -15vw;
left: -7vw;
max-width: 37%;
}

.slider-area {
max-width: 380px;
}

#modal06 .modal-flex {
display: block;
}

#modal06 .modal-left,
#modal06 .modal-right {
width: 100%;
}

#modal06 .modal-right figure {
margin: 0 auto;
}

/* ---------------------------
data
--------------------------- */

.data-header {
display: block;
text-align: center;
padding: 40px 35px 60px;
}

.data-header span.border {
display: none;
}


/* ---------------------------
talk
--------------------------- */

.talk-content {
padding-bottom: 100px;
background-size: 30vw;
}


/* ---------------------------
recruit
--------------------------- */

.recruit-content {
align-items: center;
}

.recruit-left img {
width: 25vw;
height: auto;
}

}


/* --------------------------------------------------------

max-width:767px

-------------------------------------------------------- */

@media (max-width:767px) {

/* ---------------------------
movie
--------------------------- */

.movie-item {
padding: 5vw  6vw 6.5vw;
border: 3px solid #000;
}

.movie-item::before {
top: -11.3vw;
width: 25vw;
height: 13vw;
}

/* ---------------------------
data
--------------------------- */

.data-wrap {
padding-top: 80px;
padding-bottom: 150px;
}

.data-wrap::before {
content: url(../images/sp-data-bgtop.png);
top: -14px;
}


/* ---------------------------
talk
--------------------------- */

.talk-header-heading::after {
bottom: 120px;
left: -10vw;
}

.talk-column {
display: block;
padding: 20px 25px 30px;
}

.talk-column-right {
margin: 20px auto 0;
}


/* ---------------------------
recruit
--------------------------- */

.recruit-wrap::before {
top: -99px;
height: 100px;
background: url(../images/sp-recruit-bg.png);
background-size: 100vw 100px;
}

.recruit-content {
flex-direction: column-reverse;
justify-content: center;
margin: 0 auto;
}

.recruit-left img {
width: 25vw;
height: auto;
}


.recruit-right {
text-align: center;
}


/* --------------------------
inner - 
-------------------------- */

.inner-recruit-wrap {
padding-bottom: 100px;
background-size: 30vw;
}

.inner-recruit-lead {
padding: 0 3%;
}

.inner-recruit-content {
padding: 4% 3% 8%;
}

.inner-recruit-table th {
display: block;
width: 100%;
}

.inner-recruit-table td {
display: block;
}

.inner-recruit-entry {
flex-direction: column;
align-items: center;
}

.inner-recruit-entrybtn {
width: 90%;
}

/* ---------------------------
footer
--------------------------- */

.footer::before {
height: 100px;
background: url(../images/sp-recruit-bg.png);
background-size: 100vw 100px;
}

.footer.footer--inner {
padding-top: 7em;
}

}


/* --------------------------------------------------------

max-width:519px

-------------------------------------------------------- */


@media (max-width:519px) {

/* ---------------------------
common-style
--------------------------- */

body {
font-size: 14px;
}

.sp-content {
display: block;
}

.sp-none {
display: none;
}


/* ---------------------------
navigartion
--------------------------- */

#g-nav {
width: 100%;
min-width: unset;
border-radius: 0;
}

#g-nav.panelactive #g-nav-list {
width: 100%;
min-width: unset;
}

#g-nav ul {
top: 120px;
}

.openbtn {
width: 55px;
height: 70px;
border: 3px solid #672F8D;
}

.openbtn span:nth-of-type(1) {
top: 12px;	
}

.openbtn span:nth-of-type(2) {
top: 24px;
}

.openbtn p {
top: 44px;
letter-spacing: 0.1em;
}

.openbtn span {
height: 2px;
}

.openbtn.active span:nth-of-type(1) {
left: 20%;
transform: translateY(6px) rotate(-45deg);
}

.openbtn.active span:nth-of-type(2){
transform: translateY(-17px) rotate(45deg);
}


/* ---------------------------
navigartion
--------------------------- */

.top-wrap {
height: 147.6923076vw;
}

.site-title {
max-width: 240px;
margin-top: 10vw;
}

.is-animation {
max-width: 200px;
}


/* ---------------------------
work
--------------------------- */

.work-wrap {
padding-top: 100px;
padding-bottom: 150px;
}

.work-text {
min-width: unset;
margin-bottom: 100px;
}

.work-text h2 {
font-size: 28px;
}

.work-text p:nth-of-type(1){
margin-top: 3em;
}

.work-text p:nth-of-type(2){
margin-top: 2em;
}

.work-slider {
padding: 26px 10px 56px;
}

.slider-area {
max-width: 280px;
padding: 0 10px;
}

.slick-current img {
border: #672F8D 3px solid;
}

.slick-arrow {
width: 15px;
height: 15px;
}

.slick-next {
right: -14px;
}

.slick-prev {
left: -14px;
}

.modal-title {
font-size: 16px;
}

.modal-title img {
width: 70px;
height: auto;
bottom: 0;
}

.modal-sample {
display: block;
}

.modal-sample figcaption {
margin-top: 0;
margin-bottom: 2em;
}


/* ---------------------------
data
--------------------------- */

.data-header {
width: 90%;
max-width: 380px;
}

.data-header h2 {
font-size: 28px;
}

.data-content {
display: block;
}

.data-item {
width: 95%;
max-width: 300px;
margin: 0 auto 45px;
padding: 35px 20px 25px;
}


/* ---------------------------
talk
--------------------------- */

.talk-header-heading {
width: 90%;
padding: 20px 25px;
}

.talk-header-heading::after {
display: none;
}

.talk-header-heading .h2-before {
margin-bottom: 0.5rem;
padding: 3px 20px;
font-size: 14px;
}

.talk-header-heading h2 {
font-size: 54px;
}

.talk-header-heading h2 span {
font-size: 21px;
}

.accordion-area {
width: 90%;
}

.talk-thema h3 {
font-size: 18px;
}

.talk-thema span {
font-size: 28px;
padding: 1rem 1rem;
margin-right: 1.2rem;
}

.accordion-area .talk-item {
margin-bottom: 80px;
}

.talk-answer {
margin: 145px 0 0;
}

.talk-answer .img-text-answer {
width: 200px;
}

.talk-answer .pickup-human {
width: auto;
height: 150px;
}

.talk-answer .pickup-comment {
right: 1em;
font-size: 15px;
line-height: 35px;
}

.talk-answer .pickup-comment span {
padding: 5px 0;
}

.talk-answer::before,
.talk-answer::after {
width: 28px;
}

.talk-box dt img {
width: 40px;
}

.talk-box dl {
align-items: flex-start;
}

.talk-box dd {
padding: 0 5px 0 15px;
}


/* ---------------------------
recruit
--------------------------- */

.recruit-wrap::before {
top: -59px;
height: 60px;
background-size: 100vw 60px;
}

.recruit-title {
padding-top: 30px;
margin-bottom: 40px;
}

.recruit-title span {
font-size: 28px;
}

.recruit-lead {
font-size: 16px;
line-height: 2em;
}

.recruit-btn {
margin: 40px 0;
padding: 1.5em 2vw;
font-size: 28px;
}

.recruit-btn svg {
margin-left: 20px;
}

.inner-recruit-entry .mynavi,
.inner-recruit-entry .rikunabi {
width: 70%;
max-width: 100%;
}
/* ---------------------------
footer
--------------------------- */

.footer > .common-container {
padding: 0 4% 80px;
}

.footer-logo {
margin: 0 auto;
padding: 0 50px;
}

.footer-nav {
display: none;
}

.footer::before {
height: 60px;
background-size: 100vw 60px;
}

.copyright {
font-size: 10px;
}

#topback {
width: 60px;
height: 60px;
}

}
