/* 共通 */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;

}

section {
    max-width: 1366px;
    margin: 0 auto;
}

.bgW {
    padding-bottom: 2.5rem;
    background-color: #fff;
}

.bgPink {
    padding-bottom: 2.5rem;
    background-color: #FFEDF4;
}

.font32B {
    font-size: 1.6rem;
    color: #505050;
}

.font32Pink {
    font-size: 1.6rem;
    color: #C61566;
    font-weight: bold;
    font-family: "Patrick Hand", serif;
}

.red {
    color: #C61518;
}

.Btn {
    color: #C61566;
    border: #C61566 2px solid;
    border-radius: 5px;
    background-color: #fff;
    font-weight: bold;
    text-align: center;
    margin: auto;
    font-size: 1.6rem;
}

.small {
    font-size: 1rem;
    width: 200px;
    padding: 0.75rem;
}

.medium {
    width: 30%;
    height: 90px;
    padding: 1.35rem;
}

.big {
    width: 40%;
    height: 150px;
    padding: 1rem;
}

.borderPink {
    border: #C61566 2px solid;
    background-color: #fff;
    border-radius: 5px;
}

.borderB {
    border: #505050 1px solid;
    max-width: 1000px;
    margin: 20px auto;
}

.content {
    padding-top: 100px;
}

.item {
    padding-top: 80px;
}

.text {
    padding-top: 30px;
    line-height: 35px;
}

.tab {
    padding-left: 100px;
}

.underlineB {
    content: "";
    width: 900px;
    top: 170px;
    left: 100px;
    border-bottom: #505050 1px solid;
}

.underlineR {
    content: "";
    width: 260px;
    top: 26px;
    left: 0;
    border-bottom: #C61518 1px solid;
}

html.no-scroll,
body.no-scroll {
    overflow-y: hidden;
}


/* ヘッダー */
header {
    width: 100%;
    height: 170px;
    justify-content: space-around;
    align-items: center;
    font-family: "Patrick Hand", serif;
    background-color: rgba(255, 237, 244);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
}

.logo {
    text-align: left;
    padding: 0 20px;
}

nav {
    width: 65%;
}

.m-list {
    width: 100%;
    height: 70px;
    justify-content: space-around;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.7);
}

.s-list {
    height: 100px;
    justify-content: space-around;
    align-items: center;
}

h2.headerTitleSp {
    width: fit-content;
    height: auto;
    line-height: normal;
    font-size: 1.5rem;
    font-weight: normal;
    text-align: start;
    letter-spacing: .2em;
    margin: .15rem auto 0 auto;
    background-color: transparent;
}

header nav ul {
    height: 100px;
    justify-content: space-around;
}

header nav ul>li {
    position: relative;
    padding: 0 0.3rem;
}

header nav ul>li::after {
    /*ナビメニューのホバーアクション*/
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 2px;
    height: 0%;
    background: #c61566;
    transition: all 0.1s ease-in;
}

header nav ul>li:hover::after {
    height: 100%;
}

header nav ul>li::before {
    /*ナビメニューのホバーアクション*/
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 2px;
    height: 0%;
    background: #c61566;
    transition: all 0.1s ease-in;
}

header nav ul>li:hover::before {
    height: 100%;
}


.headerTitleSpan {
    font-size: .8rem;
    letter-spacing: .1em;
}

.headerNavSp {
    width: 100vw;
    height: 24rem;
    display: none;
    position: absolute;
    left: 0;
    top: -24rem;
    background-color: #C61566;
    color: #FFF;
    transition: ease .4s;
}

.headerNavSp.active {
    top: 0;
    position: fixed;
    z-index: 999;
}

.headerNavListSp {
    display: grid;
    width: fit-content;
    margin: .4rem auto 0 auto;
    column-gap: 4em;
    grid-auto-flow: column;
    grid-template-rows: repeat(7, auto);
}

.headerNavListSp>li {
    margin: 10px 0;
}

.headerHamburger {
    width: 52px;
    height: 52px;
    display: none;
    background-color: #C61566;
    border-color: none;
    border-radius: 5px;
    z-index: 9999;
    position: fixed;
    top: 23px;
    right: 10px;
    transition: ease .4s;
}

.headerHamburger.active {
    background-color: #FFF;
}

.headerHamburger>span {
    width: 32px;
    height: 2px;
    background-color: #FFF;
    border-radius: 9999px;
    position: absolute;
    left: 10px;
    transition: ease .4s;
    display: block;
}

.headerHamburger>span:nth-child(1) {
    top: 16px;
}

.headerHamburger>span:nth-child(2) {
    top: 26px;
}

.headerHamburger>span:nth-child(3) {
    top: 36px;
}

.headerHamburger.active>span:nth-child(1) {
    top: 25px;
    transform: rotate(45deg);
    background-color: #c61566;
}

.headerHamburger.active>span:nth-child(2) {
    opacity: 0;
}

.headerHamburger.active>span:nth-child(3) {
    top: 25px;
    transform: rotate(-45deg);
    background-color: #c61566;
}
/* フッター */
footer {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-family: sans-serif;
}

.footerLogo>p {
    width: 100%;
    text-align: center;
    padding: 20px auto;
}

footer>nav {
    max-width: 1366px;
    text-align: center;
    margin: 0 auto;
}

footer>nav>ul {
    justify-content: space-around;
    margin: 43px auto;
}

.schoolFooter {
    flex-direction: column;
    margin: 0 auto;
}

.font48 {
    font-size: 2.4rem;
}

.copy {
    font-size: 13px;
    margin: 8px auto;
}

/* トップ */
.mainV {
    padding-top: 170px;
    z-index: 1;
}

.spTitle {
    display: none;
}

.spSubTitle {
    display: none;
}

.intro {
    margin-top: 100px;
}

.introContent {
    width: 100%;
    height: 1000px;
}

.introItem {
    padding: 1.6rem;
    width: 45%;
    height: 400px;
    position: absolute;
    z-index: 100;
}

.secondItem {
    padding: 1.6rem;
    width: 45%;
    position: absolute;
    z-index: 100;
    top: 500px;
}

.introItemHedaer {
    font-size: 1.6rem;
    color: #C61566;
    text-align: left;
    font-weight: bold;
    line-height: 50px;
    letter-spacing: 20px;
}

.introItem>p {
    text-align: center;
    padding: 40px 10px;
    line-height: 30px;
}

.introImg {
    width: 60%;
    top: 170px;
    right: 0;
    z-index: 1;
}

.youtube-video iframe{
    width: 100%;
    aspect-ratio: 16 / 9;
}

.flyer {
    margin-top: 100px;
    justify-content: space-around;
}

.flyer>a{
    width: 25%;
}

.summaryItem {
    width: 100%;
}

.summaryItem>img {
    width: 80%;
    height: 800px;
}

.summaryDtail {
    width: 60%;
    height: 400px;
    top: 170px;
    right: 0;
    padding: 2.5rem;
}

.summaryDtail>dl {
    margin-bottom: 20px;
}

.summaryDtail>dl>dt {
    font-weight: normal;
}

.summaryDtail>dl>dt>dd {
    padding-left: 50px;
}

.gallery {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 100px;
}

.gallery2 {
    grid-template-columns: 1fr 2fr 1fr;
    gap: 150px;
}

.lineAdd {
    display: block;
    width: 60%;
    margin: auto;
}

/*学院概要ページs-about.html*/
.aboutTxt>p {
    /*学院概要のトップテキストの幅をとる*/
    width: 43%;
    line-height: 2.5rem;
}

.aboutTxt>img {
    /*学長の画像の幅をとる*/
    width: 57%;
    padding: 0 100px 50px;
}

.educationAbout {
    /*教育理念、教育目標、卒業時の到達目標、学校の概要を幅を取りグリッド表示*/
    grid-template-columns: 47% 47%;
    gap: 3rem;
}

.educationAboutItem {
    /*グリッドの一つずつにパディングと高さ*/
    padding: 3.7rem;
    height: 650px;
    border-radius: 5px;
}

.educationAboutItem>p {
    /*教育理念のテキストに行間*/
    line-height: 2.5rem;
}

.educationAboutItem li {
    /*リストは数字を頭に付ける*/
    list-style: decimal;
}

.educationAboutItem li {
    /*リストの数字の頭を他と揃える*/
    margin-left: 20px;
}

.educationAboutItem:nth-child(2) li {
    /*教育目標のリストにマージン*/
    margin-bottom: 8px;
}

.educationAboutItem:nth-child(3) li {
    /*卒業時の到達目標のリストにマージン*/
    margin-bottom: 20px;
}

.educationAboutItem dl {
    /*学校の概要の項目を横並び*/
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

.educationAboutItem dt {
    width: 30%;
    font-weight: normal;
    margin-bottom: 20px;
}

.educationAboutItem dd {
    width: 70%;
    margin-bottom: 20px;
}

.teacherName {
    display: block;
    margin: 4rem 0 0 auto;
}

.lessonImg {
    display: block;
    width: 40rem;
    margin: 0 auto;
}

.schoolEvaluationText {
    margin-bottom: 80px;
    line-height: 2.5rem;
}

/*入試情報ページ*/
.vertical {
    /*テキストを縦書きにするクラス*/
    writing-mode: vertical-rl;
    text-orientation: upright;
}

.testDesc {
    /*ヘディングとその詳細を横並び*/
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.testDesc>dt {
    width: 15%;
}

.testDesc>dd {
    width: 85%;
}

.setTable {
    /*すべてのテーブルの幅と横位置*/
    width: 1300px;
    margin-left: 3%;
    empty-cells: hide;
    border-collapse: collapse;
    /* セルの境界線を統一 */
}

.setTable td {
    padding: 0.5rem 0;
    height: 100px;
    vertical-align: middle;
    border: 1px solid #505050;
    text-align: center;
}

.setTable td.txtR {
    text-align: right;
    padding-right: .5rem;
}

.setTable th {
    padding: 0.5rem 1rem;
    height: 100px;
    vertical-align: middle;
    border: 1px solid #505050;
}

.setTable thead th {
    text-align: center;
    font-weight: normal;
    padding: 0.5rem 0;
    border: 1px solid #505050;
}

.testDateNote {
    margin-left: 3rem;
    list-style-type: none;
    counter-reset: cnt;
}

.testDateNote li {
    counter-increment: cnt;
    margin-bottom: 0.4rem;
    text-indent: -2.5rem;
    padding-left: 2.5rem;
}

.testDateNote li::before {
    content: "(" counter(cnt)")";
    margin-right: 1rem
}

.testTable th:empty {
    border: none;
    /* 空の<th>に罫線を適用しない */
}

td>ul {
    display: block;
    margin: 0 auto;
    width: fit-content
}

.enrollDocument {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-left: 3rem;
}

.enrollDocument>dt {
    width:20%;
    font-weight: normal;
}

.enrollDocument>dd {
    width: 80%;
    margin-bottom: 0.4rem;
}


/*入試試験合格者resultページ*/
.resultErea {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: 0;
    text-align: center;
    width: 73%;
    margin: 100px auto;
}

.resultNo {
    border: 1px solid #505050;
    height: 100px;
    line-height: 100px;
    font-size: 3.2rem;
    font-weight: bold;
}


/* アナウンスページ */
.surveyItem {
    line-height: 30px;
}

.surveyItem>div {
    padding-top: 30px;
}

.Q>h5 {
    padding-right: 20px;
    color: #505050;
    font-weight: normal;
}

.answerItem {
    justify-content: space-around;
    align-items: center;
}

.arrow {
    width: 90px;
    object-fit: none;
}

.entranceItem>.medium {
    height: 125px;
    padding: 28px 0;
}

.tuitionItem>p>span {
    width: 200px;
}

.tuitionText {
    max-width: 1000px;
    margin-right: 80px;
    justify-content: space-between;
}

.insurance>img {
    width: 271px;
    margin: 0 auto;
}

.aboutParking {
    display: flex;
    flex-wrap: wrap;
}

.aboutParking>dt {
    width: 60%;
}

.aboutParking>dd {
    width: 40%;
}

.cautionAboutParking {
    width: fit-content;
}

.bankTab {
    width: 100%;
}

.bankTab dt {
    width: 20%;
}

.bankTab dd {
    width: 80%;
}
/* 技能連携教育teachingページ */
.teachingHeader {
    max-width: 975px;
    text-align: left;
    padding: 35px 100px;
    line-height: 50px;
    letter-spacing: 10px;
    position: relative;
    z-index: 100;
}

.teachingHeaderItem {
    max-width: 90%;
    top: 220px;
    left: 533px;
    padding: 100px 40px 75px;
    line-height: 40px;
}

.teaching {
    margin-bottom: 370px;
}

.recommendContent {
    width: 90%;
    margin: 0 auto;
    justify-content: space-around;
    padding: 50px;
    line-height: 80px;
}

.goodmark {
    position: relative;
    font-size: 1.6rem;
}

.goodmark::before {
    content: url(../s-images/icon_goodmark.png);
    display: inline-block;
    vertical-align: bottom;
    transform: scale(0.9);
    position: absolute;
    top: 5px;
    left: -40px;
}

.goodmark2 {
    position: relative;
    font-size: 1.6rem;
    line-height: 40px;
}

.goodmark2::before {
    content: url(../s-images/icon_goodmark.png);
    display: inline-block;
    vertical-align: bottom;
    transform: scale(0.9);
    position: absolute;
    top: 10px;
    left: -40px;
}

.flowItem {
    font-size: 1.6rem;
}

.flowItem>.borderPink {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 600px;
    height: 7rem;
    margin: 0 auto;
    padding-top: 18px;
    padding-bottom: 15px;
    border-radius: 0%;
}

.flowItem>img {
    width: 100px;
}

.font1rem {
    font-size: 1rem;
}

.flowContent {
    display: flex;
    justify-content: space-between;
}

.absFlow {
    position: absolute;
    bottom: 0;
    right: 0;
}

/*  授業・実習についてlessonページ　*/
.Session>div {
    grid-template-columns: 1fr 1fr;
    gap: 80px;
}

.practice>table {
    border-collapse: collapse;
    max-width: 1366px;
    margin: 50px auto;
}

.practice>table tr,
table td {
    border: solid #505050 1px;
    padding: 12px 70px;
    vertical-align: middle;
}

.practiceImg {
    max-width: 1068px;
    margin: 50px auto;
}


/* 開催情報eventページ */
.open>a>img {
    max-width: 613px;
}

.on1 {
    justify-content: space-around;
}

.on1>a>img {
    max-width: 613px;
}


/*学費等のご案内feeページ*/
.feeInTable thead th {
    padding: 1.5rem;
}

.feeTable,
.feeInTable tr td:first-child {
    /*学費ページのテーブルの1列目のフォントサイズ変更*/
    font-size: 1.2rem;
}

.cautionMark {
    /*注意書きの色変更*/
    color: #C61518;
    border-bottom: 1px solid red;
    width: fit-content;
    margin: 0 0 0 auto;
}

.caution {
    color: #C61518;
    width: 40%;
    display: block;
    margin-left: auto;
}

/* 学院お問い合わせs-contactページ,学院お問い合わせ（学校説明会)briefing*/
.Form {
    margin: 0 auto;
    width: 1366px;
}

.wpcf7 {
    margin: 0 auto;
    text-align: left;
    border-top: 1px solid #fff;
    padding-bottom: 24px;
    max-width: 1000px;
    width: 100%;
}

/* ラベルとinput/textareaを横並びに */
.form-row p{
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

/* ラベルの共通設定 */
.form-row label {
    font-size: 1.6rem;
    width: 30%;
    flex-shrink: 0;
    padding-top: 8px;
}

/* inputとtextareaの共通設定 */
.form-row input,
.form-row textarea {
    border: 1px solid #2C2500;
    background: #fff;
    font-size: 1.6rem;
    padding: 5px;
    flex: 1;
    width: 100%;
}

/* textarea専用 */
.form-row textarea {
    height: 300px;
    padding-left: 1em;
    padding-right: 1em;
}

.wpcf7-submit {
    text-align: center;
    border-radius: 5%;
    border: #C61566 3px solid;
    margin-top: 32px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
    padding-bottom: 20px;
    width: 30%;
    display: block;
    background: #fff;
    color: #C61566;
    font-weight: bold;
    font-size: 1.6rem;
}

/* ここから奨学金情報(scholarship.html) */
.scholarshipInfo {
    margin: 50px auto;
    width: fit-content;
}

.scholarshipHeading {
    margin-bottom: .5rem;
}

.scholarshipData>dt {
    font-weight: normal;
}

.scholarshipDataLink {
    margin-bottom: 2rem;
}

@media screen and (max-width: 1366px) {

    body,
    html {
        font-size: 18px;
    }

    .container {
        padding: 0 .5rem;
    }

    section {
        width: 100%;
    }

    footer {
        width: 100vw;
    }

    .tableWrapper {
        overflow-x: scroll;
        width: 100%;
    }


    .Form {
        width: 90%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 1281px) {
    /* メインメニュー始まり */

    body,
    html {
        font-size: 16px;
    }

    h1 {
        font-size: 2.1rem;
    }

    header nav ul li {
        font-size: 0.8rem;
    }
}

@media screen and (max-width: 1181px) {
}

@media screen and (max-width: 981px) {

    body,
    html {
        font-size: 14px;
    }

    section,
    article {
        margin-bottom: 3rem;
    }

    .Btn {
        font-size: 1.4rem;
        margin-bottom: 2.5rem;
    }

    .medium {
        width: 300px;
    }

    .big {
        width: 340px;
        height: 100px;
    }

    h2 {
        margin: 100px 0;
    }

    .header {
        display: none;
    }

    .headerNavSp {
        display: block;
    }

    .headerHamburger {
        display: block;
    }

    .mainV {
        padding-top: 100px;
    }

    .spTitle {
        display: block;
        font-size: 3rem;
        position: absolute;
        top: 30px;
        left: 10px;
        font-family: "Patrick Hand", serif;
    }
    .spSubTitle {
        display: block;
        font-size: 1rem;
        position: absolute;
        top: 10px;
        left: 10px;
        font-family: "Patrick Hand", serif;
    }

    .introItemHedaer {
        text-align: center;
    }

    .introContent {
        flex-direction: column;
        height: auto;
    }

    .introItem {
        width: 70%;
        height: auto;
        margin: 0 auto;
        display: block;
        position:static;
    }

    .secondItem {
        width: 70%;
        height: auto;
        margin: 50px auto;
        display: block;
        position:static;
    }

    .introImg {
        position: relative;
        top: 0;
        margin: 2.5rem auto;
    }

    .introBtn {
        flex-direction: column;
    }

    .summaryItem {
        flex-direction: column-reverse;
    }

    .summaryItem>img {
        width: 100%;
        height: auto;
    }

    .summaryDtail {
        width: 70%;
        margin: 2.5rem auto;
        top: 10rem;
        left: 0;
    }

    .summaryDtail {
        height: auto;
    }

    .item {
        flex-direction: column;
    }

    .aboutBtn {
        margin-bottom: 0;
    }

    .gallery {
        gap: 20px;
    }

    .gallery2 {
        grid-template-columns: 3fr;
    }

    .spNone {
        display: none;
    }

    footer nav {
        display: none;
    }

    .aboutTxt {
        width: 90%;
        margin: 0 auto;
        flex-direction: column-reverse;
    }

    .aboutTxt > img {
        width: 100%;
        padding: 0;
    }

    .aboutTxt > p {
        width: 100%;
    }

    .sAboutDownloadBtn {
        flex-direction: column;
    }

    .testDateNote {
        flex-direction: column;
        margin-left: 3%;
    }

    .testDateNote ol {
        margin-left: 3%;
    }

    .testDownloadBtn {
        flex-direction: column;
    }

    .enrollDocument {
        width: 100%;
        margin-left: 0%;
    }

    .tableDesc {
        margin: 0 0 0 3%;
    }

    .Session>div {
        grid-template-columns: 1fr;
    }

    .teaching {
        margin-bottom: 0;
    }

    .teachingHeader {
        width: 90%;
        margin: 0 auto;
        padding: 35px 20px;
    }

    .teachingHeaderItem {
        width: 100%;
        position: relative;
        top: 0;
        left: 0;
        padding: 2rem;
    }

    .flowContent {
        flex-direction: column;
    }

    .recommendContent {
        flex-direction: column;
        padding: 10px;
        line-height: 50px;
    }

    .recommendContent > ul {
        width: 70%;
        margin: 0 auto;
    }

    .flowItem>.borderPink {
        width: 769px;
    }

    .on1>a>img {
        display: block;
        margin: 0 auto;
    }

    .underlineB {
        width: 80vw;
        left: 0px;
    }

    .answerItem {
        flex-direction: column;
    }

    .answerItem .arrow {
        transform: rotate(90deg);
        display: block;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    h3 {
        letter-spacing: 0;
    }

    h3::after {
        width: 90%;
    }
    .spTitle {
        font-size: 2rem;
    }
    .introItem {
        width: 90%;
        padding: 1rem;
    }
    .introImg {
        top: -50px;
        margin: 2rem auto;
        width: 80%;
    }
    .secondItem {
        width: 90%;
        padding: 1rem;
    }

    .summaryDtail {
        width: 90%;
        padding: 1rem;
    }

    .educationAbout {
        grid-template-columns: 1fr;
        padding: 0 1rem;
    }

    .educationAboutItem {
        height: auto;
    }

    .lessonImg {
        width: 100%;
    }

    .testDesc dt {
        width: 25%;
    }

    .testDesc dd {
        width: 75%;
    }

    .flowItem>.borderPink {
        width: 375px;
        height: 10rem;
    }

    .flowItem {
        margin-bottom: 5rem;
    }

    .underlineB {
        width: 80vw;
    }

    .tab {
        padding-left: 0.5rem;
    }

    .headerNavListSp {
        grid-template-rows: repeat(7, auto);
    }

    .Form-Item-Textarea {
        width: 100%;
    }
}

@media screen and (max-width: 430px) {

    html,
    body {
        font-size: 13px;
    }

    .headerNavSp {
        height: 18rem;
        top: -18rem;
    }

    .headerNavListSp {
        margin: 10px auto 0 auto;
        column-gap: 4em;
    }

    .headerNavListSp>li {
        margin: 3px 0;
    }

    .headerHamburger {
        width: 26px;
        height: 26px;
        top: 32px;
        right: 10px;
    }

    .headerHamburger>span {
        width: 16px;
        left: 5px;
    }

    .headerHamburger>span:nth-child(1) {
        top: 8px;
    }

    .headerHamburger>span:nth-child(2) {
        top: 13px;
    }

    .headerHamburger>span:nth-child(3) {
        top: 18px;
    }

    .headerHamburger.active>span:nth-child(1) {
        top: 12px;
    }

    .headerHamburger.active>span:nth-child(3) {
        top: 12px;
    }

    .wpcf7-submit {
        width: 200px;
        height: 100px;
    }
}