@charset "utf-8";

@media only screen and (min-width: 0px) and (max-width: 1300px) {

/* ────────────────────── *
 *                                              *
 * メインビジュアル                             *
 *                                              *
 * ────────────────────── */
/*
#mainvisual h2 {
    width: 74.61538461538461%;
}
*/
/* ────────────────────── *
 *                                              *
 * ポイント                                     *
 *                                              *
 * ────────────────────── */
/*
.contents .point {
    min-height: 100vw;
}
.contents .point#point-01 .image {
    top: 0;
}
.contents .point .inner .txt {
    top: 25%;
}
.contents .point#point-02 .inner .txt {
    top: 20%;
}
.contents .point#point-03 .inner .txt {
    top: 30%;
}
*/
}

@media only screen and (min-width: 0px) and (max-width: 750px) {

/* ────────────────────── *
 *                                              *
 * メインビジュアル                             *
 *                                              *
 * ────────────────────── */

#mainvisual .swiper-container .swiper-wrapper .swiper-slide {
    min-height: 80.0rem;
}
#mainvisual .swiper-container .swiper-wrapper img {
    width: 100%;
    height: 80.0rem;
    min-height: 0;
    object-fit: cover;
}
#mainvisual h2 {
    width: 57.4rem;
    top: 35%;
}
#mainvisual svg.bg.sp {
    height: 15.2rem;
}

/* ────────────────────── *
 *                                              *
 * アンカーリンク                               *
 *                                              *
 * ────────────────────── */

ul.anchor {
    width: 65.0rem;
    padding: 0;
    margin: -24.0rem auto 7.0rem;
    display: block;
}
ul.anchor li {
    width: 100%;
    height: 15.0rem;
    margin-bottom: 2.0rem;
    box-shadow: 0.5rem 0.5rem 1.0rem rgba(0,0,0,0.15);
}
ul.anchor li:last-child {
    margin-bottom: 0;
}
ul.anchor li a {
    padding: 0 2.5rem;
    box-sizing: border-box;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}
ul.anchor li a:after {
    width: 2.0rem;
    height: 1.2rem;
    bottom: auto;
    top: 50%;
    left: auto;
    right: 4.5rem;
    transform: translateY(-50%);
}
ul.anchor li a dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
ul.anchor li a dl dt {
    font-size: 2.0rem;
    line-height: 1.2;
    text-align: center;
    width: 9.6rem;
    height: 9.6rem;
    padding: 0;
    margin-bottom: 0;
    border: 0.2rem solid #fff;
}
ul.anchor li a dl dt span.en {
    font-size: 3.4rem;
    display: inline-block;
    width: 200%;
    transform: scale(0.5);
    transform-origin: left;
    white-space: nowrap;
}
ul.anchor li a dl dt span.ja {
    font-size: 2.8rem;
    display: inline-block;
    width: 200%;
    position: relative;
    top: -2.5rem;
    transform: scale(0.5);
    transform-origin: left;
    white-space: nowrap;
}
ul.anchor li a dl dd {
    font-size: 2.8rem;
    width: 45.0rem;
}

/* ────────────────────── *
 *                                              *
 * コンテンツ                                   *
 *                                              *
 * ────────────────────── */

.contents .inner {
    width: 65.0rem;
    padding: 0;
}
.contents .inner h2.bigtitle {
    font-size: 5.6rem;
    margin-bottom: 3.0rem;
}
.contents .inner p.intro {
    font-size: 2.7rem;
}

/* ────────────────────── *
 *                                              *
 * ポイント                                     *
 *                                              *
 * ────────────────────── */

.contents .point {
    height: 120.0rem;
}
.contents .point#point-02 {
    margin-top: -13.0rem;
}
.contents .point#point-03 {
    height: 110.0rem;
    margin-top: -13.0rem;
}
.contents .point#point-01 .image {
    width: 52.0rem;
    top: 0;
}
.contents .point#point-02 .image {
    width: 52.0rem;
    top: -3.0rem;
}
.contents .point#point-03 .image {
    width: 52.0rem;
    top: -3.0rem;
}
.contents .point .inner {
    width: 65.0rem;
}
.contents .point .inner .txt {
    top: 38%;
}
.contents .point#point-02 .inner .txt {
    width: 69.0rem;
    top: 28%;
    left: -2.0rem;
    right: auto;
    box-sizing: border-box;
}
.contents .point#point-03 .inner .txt {
    top: 38%;
}
.contents .point .inner .txt p.point-num {
    margin-bottom: 4.0rem;
}
.contents .point .inner .txt p.point-num img {
    width: 7.6rem;
}
.contents .point .inner .txt p.point-num:after {
    width: 25.0rem;
    left: 8.5rem;
    top: 0.9rem;
}
.contents .point .inner .txt h3 {
    font-size: 3.2rem;
    margin-bottom: 3.0rem;
}
.contents .point .inner .txt p.body {
    font-size: 2.4rem;
}

/* ────────────────────── *
 *                                              *
 * 概要                                         *
 *                                              *
 * ────────────────────── */

.contents .outline {
    padding: 12.0rem 0 23.0rem;
}
.contents .outline .inner {
    width: 65.0rem;
}
.contents .outline .inner .detail-outer {
    margin: 0 auto 18.0rem;
}
.contents .outline .inner .detail-outer:last-of-type {
    margin: 0 auto 18.0rem;
}
.contents .outline .inner .detail-outer#detail-01:before {
    width: 45.2rem;
    height: 48.4rem;
    left: -3.0rem;
    top: -10.0rem;
}
.contents .outline .inner .detail {
    padding: 10.0rem 6.0rem 16.0rem;
    box-shadow: 0.5rem 0.5rem 1.0rem rgba(0,0,0,0.15);
}
.contents .outline .inner .detail h4 {
    font-size: 6.0rem;
    margin-bottom: 1.5rem;
}
.contents .outline .inner .detail p.target {
    font-size: 2.7rem;
    margin-bottom: 3.0rem;
}
.contents .outline .inner .detail p.body {
    font-size: 2.2rem;
    margin-bottom: 5.0rem;
}
.contents .outline .inner .detail dl {
    display: block;
}
.contents .outline .inner .detail dl dt {
    font-size: 2.4rem;
    text-align: center;
    width: 100%;
    padding: 3.0rem;
    border-bottom: 0.2rem solid #008dd7;
    box-sizing: border-box;
    display: block;
}
.contents .outline .inner .detail dl dd {
    font-size: 2.2rem;
    text-align: center;
    width: 100%;
    padding: 3.0rem;
}
.contents .outline .inner .detail p.btn-mypage {
    width: 59.0rem;
    bottom: -10.0rem;
}
.contents .outline .inner .detail p.btn-mypage a {
    font-size: 4.0rem;
    line-height: 1.4;
    width: 59.0rem;
    height: 20.0rem;
    border-radius: 10.0rem;
}
.contents .outline .inner .detail p.btn-mypage a:after {
    height: 20.0rem;
}
.contents .outline .inner .detail p.btn-mypage a span:after {
    width: 2.4rem;
    height: 2.4rem;
    left: calc(100% - 5.0rem);
    top: 0;
}
.contents .outline .inner p#other {
    font-size: 2.4rem;
}

/* ────────────────────── *
 *                                              *
 * メッセージ                                   *
 *                                              *
 * ────────────────────── */

.contents .message {
    padding: 10.0rem 0 12.0rem;
}
.contents .message .inner {
    width: 60.0rem;
}
.contents .message .inner:before {
    width: 41.4rem;
    height: 25.0rem;
    top: -28.0rem;
    left: -18.0rem;
}
.contents .message .inner:after {
    width: 16.6rem;
    height: 24.0rem;
    top: calc(100% - 12.0rem);
    right: -3.0rem;
}
.contents .message .inner h3 {
    font-size: 6.0rem;
    line-height: 1.2;
    margin-bottom: 5.0rem;
}
.contents .message .inner .slick-container {
    border-radius: 0.8rem;
    box-shadow: 0.5rem 0.5rem 1.0rem rgba(0,0,0,0.15);
}
.contents .message .inner .slick-slide {
    font-size: 2.2rem;
    width: 60.0rem;
    min-height: 0;
    padding: 6.0rem 6.0rem 35.0rem 6.0rem;
}
.contents .message .inner .slick-slide.message-01 {
    background: url("../../image/internship/bg-message-01-sp.png") no-repeat center bottom / contain;
}
.contents .message .inner .slick-slide.message-02 {
    background: url("../../image/internship/bg-message-02-sp.png") no-repeat center bottom / contain;
}
.contents .message .inner .slick-slide.message-03 {
    background: url("../../image/internship/bg-message-03-sp.png") no-repeat center bottom / contain;
}
.contents .message .inner .slick-slide p.body {
    margin-bottom: 3.0rem;
}
.contents .message .inner button.slick-arrow {
    width: 9.2rem;
    height: 9.2rem;
}
.contents .message .inner button.slick-arrow.slick-prev {
    left: -4.6rem;
}
.contents .message .inner button.slick-arrow.slick-next {
    right: -4.6rem;
}

/* ────────────────────── *
 *                                              *
 * エントリー                                   *
 *                                              *
 * ────────────────────── */

.contents .last-entry {
    height: 68.0rem;
}
.contents .last-entry p {
    font-size: 3.2rem;
    width: 54.0rem;
    height: 11.0rem;
    margin: 0 auto 5.0rem;
}
.contents .last-entry p a {
    width: 54.0rem;
    height: 11.0rem;
    border: 0.2rem solid #008dd7;
    border-radius: 11.0rem;
}
.contents .last-entry p a span:after {
    width: 1.8rem;
    height: 1.8rem;
    left: calc(100% + 1.0rem);
    top: -0.5rem;
}
.contents .last-entry ul {
    width: 54.0rem;
    margin: 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}
.contents .last-entry ul li {
    margin: 0;
}
.contents .last-entry ul li:first-child {
    margin-bottom: 3.0rem;
}
.contents .last-entry ul li a {
    font-size: 3.2rem;
    width: 54.0rem;
    padding: 3.0rem 2.0rem;
    border: 0.2rem solid #fff;
}
.contents .last-entry ul li a span:after {
    width: 1.8rem;
    height: 1.8rem;
    left: calc(100% + 1.0rem);
    top: -0.5rem;
}

}
