@charset "utf-8";

body {
    font: normal 18px/1.7 "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
    /*text-align: left;*/
    text-align: justify;
    color: #000;
    height: 100%;
    /* #box01per-all / div end */
}

body .sp-item {
    display: none !important;
}

body .pc-item {
    display: block !important;
}

@media screen and (max-width: 767px) {
    body {
        font: normal 17px/1.7;
        min-width: inherit;
        height: 100%;
    }

    body .sp-item {
        display: block !important;
    }

    body .pc-item {
        display: none !important;
    }
}

img {
    display: block;
    margin: 0 auto;
    max-width: 100%
}

.sec10 img:nth-child(7) {
    margin: -20px auto 0;
}

@media screen and (max-width: 640px) {
    .sec10 img:nth-child(7) {
        margin: -40px auto 0;
    }
}

.box01 {
    width: 584px;
    text-align: justify;
    margin: 0 auto;
    /*padding-top: 1em;*/
    padding-top: 0.5em;
    padding-bottom: 1em;
}

.notice {
    padding-top: 1em;
    background-color: rgb(255, 241, 231);
}

.notice p {
    /* padding-bottom: 1em; */
    padding-bottom: 9px;
}


/* header */
.img-flex-3 {
    text-align: center;
    margin-bottom: 10px;
    margin-right: auto;
    margin-left: auto;
}

.img-part {
    display: inline-block;
    padding: 3px;
}

.movie {
    text-align: center;
    /*padding:30px 0 35px 0;*/
    padding: 10px 0 35px 0;
}

.movie_in {
    width: 780px;
    margin: 0 auto;
}

.movie-wrap {
    position: relative;
    /*padding-bottom: 25%; /*アスペクト比 16:9の場合の縦幅*/
    padding-bottom: 20%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
    /*background-color:#000;*/
}

#iframe-wrapper {
    position: relative;
    width: 640px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
    padding-top: 22rem;
    height: 0;
    text-align: center;
}

iframe[name="classtream"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 640px !important;
    height: 360px !important;
}

.movie_area {
    height: 50rem;

}

@media screen and (max-width: 640px) {
    #iframe-wrapper {
        width: 100%;
    }

    iframe[name="classtream"] {
        width: 100% !important;
    }
}

@media screen and (max-width: 500px) {
    #iframe-wrapper {
        padding-top: 13rem;
    }

    iframe[name="classtream"] {
        height: 14rem !important;
    }
}

/*.prehead {
    position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
  }*/

@media screen and (max-width: 640px) {

    /*header {
  padding:12px 0;
}*/
    .box01 {
        width: 91%;
    }

    .img-part {
        width: 14.2%;
        padding: 0;
    }

    .img-part img {
        width: 100%;
    }

    .img-part a {
        width: 100%;
    }

    .img-part a img {
        width: 100%;
    }

    .movie {
        background-color: #000;
        text-align: center;
        padding: 10px 0 10px 0;
    }

    .movie-wrap iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

@media screen and (min-width: 641px) {
    header {
        background: url(../images/main_bg.png) center top repeat-x;
    }

}

/* contents */

/*.present_img {
    margin-top: -26px;
}*/

img.schedule_ttl {
    padding-top: 20px;
}

.schedule table {
    width: 95%;
    max-width: 590px;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 auto;
    margin-top: 20px;
}

.schedule table th,
.schedule table td {
    font-size: 17px;
}

@media screen and (max-width: 640px) {

    .schedule table th,
    .schedule table td {
        font-size: 16px;
    }
}

.schedule th {
    color: #fff;
    text-align: center;
    vertical-align: middle;
    background: #727171;
    border: 1px solid #000;
    padding: 10px;
}

th.nittei {
    width: 22%;
}

th.kaijo {
    width: 12%;
}

th.jikan {
    width: 48%;
}

th.teiin {
    width: 18%;
}

.schedule td {
    text-align: center;
    padding: 16px 4px;
    border: 1px solid #000;
}

/*@media screen and (min-width: 641px) {
table br {display: none;}
}*/

@media screen and (max-width: 640px) {
    th.nittei {
        width: 28%;
    }

    th.kaijo {
        width: 17%;
    }

    th.jikan {
        width: 35%;
    }

    th.teiin {
        width: 20%;
    }

    .schedule td {
        padding: 8px 6px;
    }

    .schedule td.sp-tl {
        text-align: left;
    }
}

.wrap {
    width: 590px;
    margin: 0 auto;
    padding-top: 1.5em;
    /*padding-bottom: 1.5em;*/
    padding-bottom: 0px;
}

@media screen and (max-width: 640px) {
    .wrap {
        width: 92%;
    }
}

.caution {
    font-size: .9rem;
}

ul.caution {
    margin-left: 1em;
}

ul.caution li:before {
    content: "※";
    margin-left: -1em;
}

.btn-area {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    /* padding-bottom: 24px; */
}

.btn-area img {
    padding-bottom: 12px;
}

.btn-area a img:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}

.sec01 .box01 .sec01_fb img {
    padding-top: 0.5em;
}

@media screen and (min-width: 641px) {
    .sec01 h2 {
        background: url(../images/sec01_ttl_bg.png) center top repeat-x;
        background-size: contain;
    }

    .sec01_fb h2 {
        background: url(../images/sec01_ttl_bg_fb.png) center top repeat-x;
        background-size: contain;
    }
}

/* .sec01 .bg_gray {
    background: #d7d8d8;
} */
.font-big {
    font-size: 1.0rem;
}

@media screen and (min-width: 641px) {
    .voice h2 {
        background: url(../images/voice_ttl_bg.png) center top repeat-x;
    }

    .voice h3 {
        background: url(../images/voice_ttl2_bg.png) center top repeat-x;
    }

    .font-big {
        /*font-size: 27px;*/
        font-size: 30px;
    }
}

.v-box-1,
.v-box-3,
.v-box-5,
.v-box-7,
.v-box-9 {
    background: #fffff5;
}

.v-box-1 {
    margin-top: -20px;
    padding-top: 20px;
    padding-bottom: 36px;
}

.v-box-2,
.v-box-3,
.v-box-4,
.v-box-5,
.v-box-6,
.v-box-7,
.v-box-8,
.v-box-9 {
    padding-top: 34px;
    padding-bottom: 36px;
}

@media screen and (max-width: 640px) {

    .v-box-1,
    .v-box-2,
    .v-box-3,
    .v-box-4,
    .v-box-5,
    .v-box-6,
    .v-box-7,
    .v-box-8,
    .v-box-9 {
        padding-bottom: 0;
    }
}

.sec02 {
    background: url(../images/sec02_bg.png);
}

@media screen and (min-width: 641px) {
    .sec02 h2 {
        background: url(../images/sec02_ttl_bg.png) center top repeat-x;
    }

    .sec00 h2 {
        background: url(../images/sec02_ttl_bg.png) center top repeat-x;
    }
}

.sec02 ul {
    padding-top: 2em;
}

.sec02 ul li {
    font-size: 1.4rem;
    background: url(../images/sec02_li_mark_s.png) no-repeat left 5px;
    padding-left: 30px;
    margin-bottom: 1.4em;
}

.sec02 ul li .txt-s {
    font-size: 1.2rem;
}

@media screen and (max-width: 640px) {
    .sec02 ul li {
        font-size: 1.3rem;
        margin-bottom: 1.3em;
    }

    .sec02 ul li .txt-s {
        font-size: 1rem;
    }
}

@media screen and (min-width: 641px) {
    .sec03 h2 {
        background: url(../images/sec03_ttl_bg.png) center top repeat-x;
    }
}

.prof {
    background: #fff9f3;
    padding-top: 40px;
}

img.prof-img {
    padding-right: 14px;
    padding-bottom: 24px;
}

.company {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .company {
        text-align: center;
    }
}

.sec04 {
    /*padding-top: 40px;*/
    padding-top: 10px;
}

.sec04 .bg_gray {
    background: #eaeaea;
}

.sec05 h2,
.sec06 h2,
.sec07 h2,
.sec08 h2 {
    background: #00005a;
    padding-top: 20px;
    padding-bottom: 20px;
}

.sec05 .bg_beige {
    background: #ffffeb;
}

.sec08 ul {
    padding-top: 1em;
    padding-bottom: 1em;
}

.sec08 ul li {
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
    padding-left: 1em;
}

.sec08 ul li:before {
    width: .8em;
    height: .8em;
    display: block;
    position: absolute;
    left: 0;
    top: 0.4em;
    content: "";
    background: #00005a;
}

ul.merit5 li {
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
    padding-left: 1em;
}

ul.merit5 li:before {
    width: .8em;
    height: .8em;
    display: block;
    position: absolute;
    left: 0;
    top: 0.4em;
    content: "";
    background: #e10012;
}

.case {
    background: #ffffdc;
    /*padding-top: 40px;*/
    padding-top: 20px;
}

.case ul li {
    font-size: 1.4rem;
    font-weight: bold;
    background: url(../images/case_li_mark_s.png) no-repeat left 4px;
    padding-left: 30px;
    margin-bottom: 1.4em;
}

.strategy ul li {
    font-size: 1rem;
    /*font-weight: bold;*/
    background: url(../images/case_li_mark_s.png) no-repeat left 4px;
    padding-left: 30px;
    margin-bottom: 0.5em;
}

@media screen and (max-width: 640px) {
    .case ul li {
        font-size: 1.2rem;
        margin-bottom: 1.2em;
    }
}

@media screen and (max-width: 640px) {
    .strategy ul li {
        font-size: 1.2rem;
        margin-bottom: 1.2em;
    }
}

@media screen and (min-width: 641px) {
    .strategy h2 {
        background: url(../images/strategy_ttl_bg.png) center top repeat-x;
    }

    .strategy_fb h2 {
        background: url(../images/strategy_ttl_bg_fb.png) center top repeat-x;
    }
}

@media screen and (max-width: 640px) {

    .strategy,
    .strategy_fb .box01 {
        padding-top: 10px;
    }
}

.strategy,
.strategy_fb ul {
    list-style: disc outside;
    padding-left: 1em;
}


/*@media screen and (min-width: 641px) {*/
.present-2 h3 {
    background: url("../images/pre-cont_ttl_bg.png") center top;
    padding-top: 10px;
    height: 120px;

    /*}*/
}

.present-2 ul li {
    font-size: 1.4rem;
    font-weight: bold;
    background: url(../images/pre-cont_li_mark_s.png) no-repeat left 4px;
    padding-left: 30px;
    margin-bottom: .5em;
}

@media screen and (max-width: 640px) {
    .present-2 ul li {
        font-size: 1.2rem;
        margin-bottom: 1.2em;
    }
}

img.signature {
    /*float: right;*/
    padding-top: 20px;
    padding-bottom: 45px;
    text-align: right;
}

.signature {
    /*float: right;*/
    padding-top: 20px;
    padding-bottom: 45px;
    text-align: right;
}

@media screen and (max-width: 640px) {
    img.signature {
        width: 50%;
    }
}

/*footer*/

footer {
    background: #221715;
    color: #fff;
    padding: 15px 0;
}

footer .logo {
    float: left;
    margin-bottom: 8px;
}

footer .logo img {
    display: block;
}

footer .copy {
    font-size: 10px;
}

footer .link {
    float: right;
    font-size: 12px;
}

footer .link a {
    color: #fff;
    text-decoration: none;
}

.unlimi_f {
    font-size: 12px;
}

@media screen and (max-width: 640px) {
    footer {
        padding: 10px 0;
        text-align: center;
    }

    footer .logo {
        margin-bottom: 8px;
    }

    footer .copy {
        font-size: 10px;
    }

    footer .link {
        float: none;
        font-size: 12px;
        line-height: 2.4;
    }

    footer .link a {
        color: #fff;
        text-decoration: none;
    }

    .unlimi_f {
        font-size: 12px;
    }
}

.movie {
    text-align: center;
    /*padding:30px 0 35px 0;*/
    padding: 10px 0 35px 0;
}

.movie_in {
    width: 780px;
    margin: 0 auto;
}

.movie-wrap {
    position: relative;
    /*padding-bottom: 25%; /*アスペクト比 16:9の場合の縦幅*/
    padding-bottom: 20%;
    /*アスペクト比 16:9の場合の縦幅*/
    height: 0;
    overflow: hidden;
    background-color: #000;
}


@media screen and (max-width: 640px) {
    .movie-wrap {
        padding-bottom: 56.25%;
        /*アスペクト比 16:9の場合の縦幅*/
    }

    .movie {
        background-color: #000;
        text-align: center;
        padding: 10px 0 10px 0;
    }

    .movie-wrap iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

@media screen and (min-width: 641px) and (max-width: 1100px) {
    .movie-wrap {
        padding-bottom: 41.25%;
        /*アスペクト比 16:9の場合の縦幅*/
    }
}

@media screen and (min-width: 1101px) and (max-width: 1500px) {
    .movie-wrap {
        padding-bottom: 35.25%;
        /*アスペクト比 16:9の場合の縦幅*/
    }
}

@media screen and (max-width: 920px) {
    .movie-wrap {
        padding-bottom: 56.25%;
        /*アスペクト比 16:9の場合の縦幅*/
    }
}


/*--------------------------------------------------
固定ボタンPC：無し
-----------------------------------------------------*/
/*.fix_menu_smartphone{
  display: none;
}*/

/*--------------------------------------------------
固定ボタンSP
-----------------------------------------------------*/

@media screen and (max-width : 640px) {
    .fix_menu_smartphone {
        display: block;
        /*width: 89%;*/
        width: 100%;
        position: fixed;
        /*    bottom: 0.8%;*/
        bottom: -0.1%;

        /*left: 5.5%;*/
        z-index: 10000;
    }
}

@media screen and (min-width : 640px) {
    .fix_menu_smartphone {
        display: none;
    }
}



/* 2023年12月以降編集------------- */

.strategy,
.strategy_fb ul {
    padding-left: 0;
}

.present-2 h3 {
    height: auto;
    padding: 10px 0;
}

.u-text__margin-30 {
    margin-bottom: 10px;
}

.prof {
    padding-top: 0;
}

.sec03 h2 {
    background-image: url(../images/sec03_ttl_bg.png);
    background-repeat: repeat;
    background-size: contain;
    height: 150px;
}

.l-sec03__img-pc {
    margin-top: -200px;
}

.c-sp {
    display: none;
}

.movie {
    padding-bottom: 0;
}

.wrap {
    padding-top: 0;
}


@media screen and (max-width : 640px) {
    .l-cocorozashi__text {
        width: 100%;
    }

    .l-cocorozashi__text p {
        width: 90%;
        margin: 0 auto;
        margin-bottom: 15px;
    }

    .strategy,
    .strategy_fb .box01 {
        padding-top: 0;
    }

    .c-pc {
        display: none;
    }

    .c-sp {
        display: block;
    }


    .l-sec03__img-sp {
        margin-top: -55px;
    }

    .btn-area {
        padding-bottom: 0;
    }

    .footer {
        margin-bottom: 45px;
    }

    .sec10 img:nth-child(7) {
        margin: -20px auto 0;
    }

}

@media screen and (min-width : 685px) {
    .movie-wrap {
        width: 640px;
        height: 360px;
        background-color: #ffffff;
        padding-bottom: 0;
        margin: 0 auto;
    }

    .movie-wrap iframe {
        width: 100%;
    }
}

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