@charset "utf-8";

/*
Theme Name: ㈱エイジェック
Description: エイジェックロボットスクール特設サイトのテーマです。
Author: エイジェック広報部
License: Copyright AGEKKE GROUP All Rights Reserved.
*/
/* ======================================================
/*               ++ DEFAULT ++
/* ======================================================
/*============================
Reset CSS
============================*/
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, address, del, em, img,
small, strong, sub, i,
dl, dt, dd, ol, ul, li, form, label, 
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figcaption, figure, 
footer, header, menu, nav, section, time, mark, audio, video {
	background: transparent;
	border: 0;
	font-size: 100%;
	letter-spacing: 0.5px;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
	word-break: break-all;
}

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

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

nav,
ul {
	list-style: none;
}

a {
	color: #333;
	background: transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	text-decoration: none;
	transition: .3s;
}

del {
	text-decoration: line-through;
} 

table {
	width: 100%;
	border-collapse:collapse;
	border-spacing:0;
}

hr {
	border: 0;   
	border-top: 1px solid #cccccc;
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

ul { 
	letter-spacing: -0.5em;
	list-style-type: none;
}

li { 
	letter-spacing: normal;
	list-style-type: none;
}
h1, 
h2, 
h3, 
h4, 
h5, 
h6 {
	font-weight: normal; 
}

figure {
	margin: 0!important;
}

img {
	height: auto;
	max-width: 100%;
	max-height: 100%;
	vertical-align: bottom;
}
a:hover {
    text-decoration: none;
    color: #878787
}

body {
    font-family: "Noto Sans JP", ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 100%;
    line-height: 1.5;
    text-align: justify;
    text-justify: inter-ideograph;
    width: 100%;
    height: 100%;
    letter-spacing: .05em;
    color: #052E53;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border: none;
    margin: 0;
    padding: 0;
    image-rendering: -webkit-optimize-contrast; /*chrome対応*/
}

h1,
h2,
h3,
h4 {
    margin-bottom: 0;
    margin-top: 0;
}

.line-h2 {
    line-height: 2em
}

/*content*/
.content {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto
}

.content-h {
    padding: 5% 0
}

.content-h2 {
    padding: 10% 0
}

.content-b {
    padding-bottom: 7%
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .content {
        width: 95%
    }
}

/*i-phone横用処理*/
@media screen and (max-width:700px) {
    body {
        -webkit-text-size-adjust: 100%;
    }

    .content {
        max-width: 95%
    }
}

/*float*/
.fro {
    float: left;
}

.fro-r {
    float: right;
}

.over-f {
    overflow: hidden;
}

.top-1 {
    margin-top: 1%
}

.top-3 {
    margin-top: 3%
}

.top-5 {
    margin-top: 5%
}

.top-10 {
    margin-top: 10%
}

.btm-1 {
    margin-bottom: 1%
}

.btm-2 {
    margin-bottom: 2%
}

.btm-3 {
    margin-bottom: 3%
}

.btm-4 {
    margin-bottom: 4%
}

.btm-5 {
    margin-bottom: 5%
}

.btmp-5 {
    padding-bottom: 5%
}

.btm-7 {
    margin-bottom: 7%
}

.btm-8 {
    margin-bottom: 8%
}

.btm-10 {
    margin-bottom: 10%
}

.btm-13 {
    margin-bottom: 13%
}

.btm-20 {
    margin-bottom: 20%
}

.mar-r1 {
    margin-right: 1%
}

.mar-r4 {
    margin-right: 4%
}

.mar-r5 {
    margin-right: 5%
}

.wid-4 {
    width: 4%
}

.wid-7 {
    width: 7%
}

.wid-10 {
    width: 10%
}

.wid-20 {
    width: 20%
}

.wid-25 {
    width: 25%
}

.wid-15 {
    width: 15%
}

.wid-30 {
    width: 30%
}

.wid-35 {
    width: 35%
}

.wid-40 {
    width: 40%
}

.wid-45 {
    width: 45%
}

.wid-48 {
    width: 48%
}

.wid-50 {
    width: 50%
}

.wid-60 {
    width: 60%
}

.wid-70 {
    width: 70%
}

.wid-75 {
    width: 75%
}

.wid-80 {
    width: 80%
}

.wid-100 {
    width: 100%
}

/*text*/
.font-w {
    color: white
}

.font-r {
    color: red
}

.font-g {
    color: #d3d3d3
}

.font-aq {
    color: #0ea8da
}

.font-ora {
    color: #efa647
}

.font-eme {
    color: #009999 !important
}

.font-bl {
    color: black
}

.font-b {
    font-weight: bold
}

.font-deco {
    text-decoration: underline
}

.font-07 {
    font-size: 0.7em
}

.font-10 {
    font-size: 10px
}

.font-13 {
    font-size: 13px
}

.font-14 {
    font-size: 14px
}

.font-20 {
    font-size: 20px
}

.font-17 {
    font-size: 17px
}

.text-l {
    text-align: left
}

.text-c {
    text-align: center
}

.text-r {
    text-align: right
}

.page .text-l {
    margin-top: 0;
    text-align: left
}

/*字間*/
.letter-s {
    letter-spacing: 0.2em
}

.letter-ss {
    letter-spacing: 0.1em
}

/*ポジション*/
.p-abso {
    position: absolute
}

.p-rela {
    position: relative
}

/*only-pc only-nav*/
@media screen and (min-width:641px) {
    .only-mov {
        display: none
    }
}

@media screen and (max-width:640px) {
    .only-pc {
        display: none
    }

    .only-mov {
        display: block
    }
}

/*インデント*/
.indent-1 {
    padding-left: 1em;
    text-indent: -1em;
}

/*ページ内リンク*/
span.anchorlink {
    position: relative;
    top: -200px;
    display: block;
}

.mar-l05 {
    margin-left: 0.5%;
}

@media screen and (max-width:640px) {
    span.anchorlink {
        top: -100px
    }
}

/*背景色*/
.back-white {
    background-color: white
}

.back-gray {
    background-color: #b3a9a0
}

.back-blue {
    background-color: #0071bc
}

/*文字*/
.font-b {
    font-weight: bold
}

.font-blue {
    color: #0071bc
}

.font-red {
    color: red
}

.font-aquablue {
    color: #f1f1f1
}

/*文字サイズ*/
.font-s08 {
    font-size: 0.8em
}

.font-s15 {
    font-size: 1.5em
}

.font-s2 {
    font-size: 2em
}

.font-s3 {
    font-size: 3em
}

/*ぱんくず*/
.pankuzu {
    font-size: 0.8em;
    color: #4d542c;
    margin-top: 1%;
    overflow: hidden;
}

.pankuzu li {
    float: left;
    margin-right: 1%;
}

.pankuzu a {
    font-size: 1em;
    color: #4d542c;
    text-decoration: underline
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .pankuzu {
        font-size: 1em;
        text-align: center
    }

    .pankuzu a {
        font-size: 1em;
    }

    .pankuzu {
        font-size: 0.7em;
        text-align: center;
    }
}

/* ======================================================
/*               ++ HEADER ++
/* ======================================================*/

header {
    background-color: #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 999;
}
.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 40px 3px;
}
.header-logo {
    width: 250px;
}
.header-logo img {
    display: block;
}

.header-btn {
    display: flex;
    gap: 20px;
}
.header-btn li {
    text-align: center;
    width: 180px;
}
.header-btn a {
    border: 1px solid #fff;
    border-radius: 30px;
    display: block;
    padding: 5px 30px;
}
a.btn-pamphlet {
    background-color: #FD8C2A;
    border-color: #FD8C2A;
    color: #fff;
}
a.btn-info {
    background-color: #025BAC;
    border-color: #025BAC;
    color: #fff;
}
a.btn-course {
    background-color: #fff;
    border-color: #052E53;
    color: #052E53;
}
.header-btn a.btn-pamphlet:hover {
    background-color: #fff;
    color: #FD8C2A;
}
.header-btn a.btn-info:hover {
    background-color: #fff;
    color: #025BAC;
}
.header-btn a.btn-course:hover {
    background-color: #052E53;
    color: #fff;
}

/* グローバルナビ */
.header-nav {
    text-align: center;
}
.global-nav {
    display: flex;
    justify-content: center;
    gap: 60px;
}
.global-nav li a {
    display: inline-block;
    position: relative;
    padding-bottom: 12px;
}
.global-nav li a.is-current {
    color: #025BAC;
}
.global-nav li a:hover {
    color: #025BAC;
}
.global-nav li a:hover::after,
.global-nav li a.is-current::after {
    background-color: #025BAC;
    content: "";
    display: inline-block;
    width: 20px;
    height: 2px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.global-nav li.nav-school {
    display: none;
}
.global-nav li.nav-school a {
    display: flex;
    justify-content: center;
    align-items: center;
}
.global-nav li.nav-school a::before {
    background: url(img/for-school.png) no-repeat left center / contain;
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
}

.sp-menu {
    display: none;
    cursor: pointer;
    position: absolute;
    top: 30px;
    right: 30px;
}
.sp-menu span {
    width: 18px;
    height: 2px;
    background-color: #025BAC;
    margin: 2px 0;
}

@media screen and (max-width: 1024px) {
    .header-inner {
        padding: 15px;
    }
    .header-btn {
        display: none;
    }
    .global-nav {
        background-color: #F9F9E4;
        flex-direction: column;
        display: none;
    }
    .global-nav li.nav-school {
        display: block;
    }
    .global-nav li a {
        display: block;
        padding: 20px;
    }
    .global-nav li a:hover {
        background-color: #fff;
    }
    .global-nav li a:hover::after,
    .global-nav li a.is-current::after {
        display: none;
    }

    .sp-menu {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (max-width: 640px) {
    .header-logo {
        width: 190px;
    }
    .sp-menu {
        top: 22px;
        right: 20px;
    }
}


/* ======================================================
/*               ++ footer ++
/* ======================================================*/
.fotter-back ul {
    text-align: center
}

.fotter-back ul li {
    display: inline-block;
    overflow: hidden;
    text-align: center;
    border-right: 1px solid white;
    text-align: center;
    padding: 0 2%;
}

.fotter-back ul a {
    color: white
}

.fotter-back ul li:last-chid {
    border-right: none
}

/*SIerバナー×3枚・グループロゴ×3コ*/
.fotter-back .footer-rogo {
    text-align: center;
    padding: 1% 0 2%
}

.fotter-back .footer-rogo li {
    display: inline-block;
    width: 23%;
    border-right: none;
    padding: 0;
    margin-right: 1%;
}

.fotter-back .footer-rogo li p {
    color: white;
    font-size: 0.8em;
    text-align: left;
    margin-top: 1%
}

.fotter-back .footer-rogo li:last-child {
    margin-right: 0
}

.fotter-back .footer-rogo {
    padding: 0;
}

.fotter-back .footer-rogo a {
    width: 32%;
}

/*認定職業訓練校バナー(緑)*/
.btm-banar {
    width: 100%;
}

.btm-banar img {
    width: 70%;
}

@media screen and (max-width:641px) {
    .fotter-back ul li {
        display: block;
        padding-bottom: 3%;
        border-right: none;
    }

    .fotter-back ul a {
        font-size: 1em;
    }

    .fotter-back .footer-rogo li {
        width: 75%;
        float: none;
        margin-bottom: 1%;
        margin: 0 auto 1%;
    }

    .fotter-back .footer-rogo li:last-child {
        margin-bottom: 5%
    }

    .fotter-back .footer-rogo li p {
        display: none
    }

    .btm-banar img {
        width: 95%;
    }
}

/*コピーライト*/
.fotter-copy {
    background-color: #00385d;
    padding: 1% 0
}

.fotter-copy p {
    font-size: 0.7em;
    color: #bad8ed
}

@media screen and (max-width:641px) {
    .fotter-copy {
        padding: 2% 0 10%;
        padding-top: 5%;
    }
}

/*ページトップ*/
.page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 4;
    color: white;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 25px;
    background-color: rgba(28, 28, 28, 0.7);
}

@media screen and (max-width:700px) {
    .page-top {
        -ms-filter: "alpha(opacity=80)";
        -moz-opacity: 0.8;
        -khtml-opacity: 0.8;
        opacity: 0.7;
    }
}

/* ======================================================
/*               ++ フォーム ++
/* ======================================================*/
/*フォーム罫線*/
.form-box hr {
    width: 93%
}

.form select {
    font-size: 20px;
    width: 100%;
}

/*例文表記*/
.form-box {
    margin-bottom: 20px;
}

.form-box-02 {
    width: 92%;
    margin: 0 auto 20px;
}

/*横に3列タイプ*/
.form-box-04 {
    width: 92%;
    margin: 30px auto 0;
}

.form-box-04 li {
    width: 31.5%;
    display: inline-block;
    vertical-align: top;
    margin: 0 2% 4% 0;
}

.form-box-04 li:last-child {
    margin-right: 0
}

.wpcf7-form-control.textarea {
    width: 100%;
    padding: 5px;
    font-size: 16px;
    border-radius: 5px;
    border: solid 1px #888;
}

label {
    border: 1px solid #888;
    border-radius: 5px;
    padding: 5px 10px 5px 5px;
    display: inline-block;
    cursor: pointer;
    background: #fff;
    margin-bottom: 5px;
}

.wpcf7-list-item-label,
label {
    vertical-align: middle;
}

.policy-link a {
    text-decoration: underline;
}

@media screen and (max-width: 1025px) {
    span.wpcf7-list-item {
        margin: 0 0 0 0.5em !important
    }
}

/*送信ボタン*/
.sendbtn {
    padding: 15px;
    margin: 0 auto;
    width: 70%;
    text-align: center;
}

.sendbtn input {
    width: 130px;
    height: 45px;
    outline: none;
    background-color: #386a29;
    border: none;
    color: #FFF;
    cursor: pointer;
    -webkit-appearance: none;
}

@media screen and (max-width: 767px) {
    .form-box-02 {
        width: 100%;
    }

    .form-box {
        margin-bottom: 0;
    }

    .form-box li {
        display: block;
        vertical-align: top;
        width: 100%;
        margin: 0 0 20px 0;
    }

    label {
        padding: 5px;
    }

    .wpcf7-form-control.textarea {
        width: 98%
    }
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .form-box-04 li {
        width: 31.3%;
    }

    .sendbtn {
        width: 20%;
    }
}

/*mobile横*/
@media screen and (max-width: 668px) {
    .form-box-04 li {
        width: 30%
    }
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .wpcf7-form-control.textarea {
        width: 96%
    }

    .form-box-04 li {
        width: 100%;
        display: block;
    }

    .sendbtn {
        width: 100%;
        text-align: center;
        padding: 15px 0
    }

    .sendbtn input {
        font-size: 15px
    }
}

/*例文表記*/
.form-box {
    margin-bottom: 30px;
}

.form-box-02 {
    width: 92%;
    margin: 0 auto 30px;
}

.form-box-02 hr {
    height: 1px;
    background-color: #d5c9a3;
    border: none;
    color: #d5c9a3;
    margin-bottom: 2%
}

/*フォーム共通*/
.form-box li {
    display: inline-block;
    vertical-align: top;
    width: 40%;
    margin: 1% 4%;
}

.form_item {
    margin-bottom: 5px;
    font-size: 1em;
    font-weight: normal;
}

span.ex:before {
    content: "\A　(";
    white-space: pre;
}

span.ex:after {
    content: ")";
}

/*必須アイコン*/
span.his {
    background: red;
    padding: 0 2px;
    color: #fff;
    border-radius: 3px;
    margin: 0 0 0 10px;
    font-size: 0.85em;
}

.form .button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    appearance: none;
    cursor: pointer;
    background: #0063a5;
    display: inline-block;
    width: 20%;
    text-decoration: none;
    outline: none;
    border-radius: 5px;
    color: #fff;
    font-size: 1.3em;
    border: none;
    padding: 1% 0;
    margin: 0 1%;
    font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold
}

.form .button:hover {
    background: #00385d
}

/*セレクトボックス*/
.form select {
    font-size: 20px;
    width: 100%
}

.wpcf7-form-control.textarea {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: solid 1px #515151;
    background-color: #f3f3f3;
}

label {
    border: 1px solid #888;
    border-radius: 5px;
    padding: 5px 10px 5px 5px;
    display: inline-block;
    cursor: pointer;
    background: #fff;
    margin-bottom: 5px;
}

.wpcf7-list-item-label,
label {
    vertical-align: middle;
}

.policy-link a {
    text-decoration: underline;
}

/*フォーム送信後文章色変更*/
.wpcf7 div.wpcf7-mail-sent-ok {
    border: 2px solid #663399;
}

.wpcf7 div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
    border: 2px solid red;
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .form .button {
        width: 100%;
    }

    .form-box-04 li {
        width: 31.3%;
    }

    .form-box-04 .sendbtn {
        width: 20%;
    }
}

@media screen and (max-width: 767px) {
    .form-box-02 {
        width: 100%;
    }

    .form-box {
        margin-bottom: 0;
        text-align: center
    }

    .form-box li {
        display: block;
        vertical-align: top;
        width: 100%;
        margin: 0 0 20px 0;
    }

    label {
        padding: 5px;
    }

    .wpcf7-form-control.textarea {
        width: 98%
    }

    .form .sendbtn input {
        padding: 3% 0;
        width: 100%;
    }
}

/*mobile横*/
@media screen and (max-width: 668px) {
    .form-box-04 li {
        width: 30%
    }
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .wpcf7-form-control.textarea {
        width: 93%
    }

    .form-box-04 li {
        width: 100%;
        display: block;
    }

    .sendbtn {
        width: 100%;
        text-align: center;
        padding: 15px 0
    }

    .sendbtn input {
        font-size: 15px;
        -webkit-appearance: none;
        width: 100%;
        padding: 3% 0;
    }
}

/*ニュース一覧*/
.news .waku {
    background-color: aliceblue;
    padding: 3%;
}

.news .waku li {
    list-style-type: none;
    border-bottom: 1px dashed #29abe2;
    padding-bottom: 2%;
    margin-top: 2%;
}

.news .waku li .day {
    float: left;
    width: 15%;
    margin-right: 5%;
}

.news .waku li .topix {
    float: left;
    width: 80%;
    font-weight: bold
}

.news .waku li .topix a {
    color: #0071bc;
    text-decoration: underline
}

.news .form-news a {
    font-weight: bold;
    text-align: center;
    background: #29abe2;
    margin: auto;
    line-height: auto;
    border-radius: 8px;
    color: #fff;
    transition: all 0.5s;
    border: none;
    padding: 1%;
    width: 100%;
}

@media screen and (max-width: 1025px) {
    .news .waku li .day {
        width: 20%;
    }

    .news .waku li .topix {
        width: 70%;
    }
}

@media screen and (max-width:640px) {
    .news .waku {
        margin-bottom: 5%;
    }

    .news .waku li {
        padding-bottom: 5%;
        margin-top: 5%;
    }

    .news .waku li .day {
        width: 100%;
    }

    .news .waku li .topix {
        width: 100%;
    }

    .news .form-news a {
        padding: 3%
    }
}

/* ======================================================
/*               ++ 固定ページ フォーム++
/* ======================================================*/
.page .top-img {
    z-index: -3;
    max-width: 100%;
    height: 100%;
    background-size: cover;
}

.page .kotei-title {
    top: 48%
}

.page .kotei-title h1 {
    color: #0071bc;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
    margin-bottom: 2%;
}

/*見出し*/
.kotei .title {
    color: #0071bc;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
    margin-bottom: 2%;
    font-size: 1.5em
}

/*テーブルtable*/
.kotei table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    /* table-layout:fixed*/
}

.kotei th {
    padding: 1%;
    border: 1px solid white;
    border-bottom: 1px solid #515151;
    border-top: 1px solid #515151;
    color: white;
    background-color: #515151
}

.kotei td {
    padding: 1%;
    border: 1px solid #515151;
}

/*IE10以降に適用されるCSSハック（一応）*/
@media all and (-ms-high-contrast:none) {
    .kotei td {
        padding: 0.5% 1%;
    }
}

.kotei .tate {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: white
}

.kotei table .wid-18 {
    width: 18%
}

.kotei table .wid-19 {
    width: 19%
}

.kotei table .wid-15 {
    width: 15%
}

.kotei table .wid-30 {
    width: 30%
}

.kotei table .wid-10 {
    width: 10%
}

.back-alice {
    background-color: aliceblue
}

.back-emerald {
    background-color: #effff9
}

.back-pink {
    background-color: #ffe5f9
}

.back-yellow {
    background-color: #fff3d3
}

.back-green-r {
    background-color: #e5ffe7
}

.back-green {
    background-color: #acd8b6
}

.back-purple {
    background-color: #e8dcf3
}

.kotei .other-course td.tate-blue {
    background-color: #0071bc;
    padding: 1% 0.1%;
    vertical-align: top;
}

.kotei .other-course td,
.kotei .other-course td p {
    /*line-height:1em;*/
    letter-spacing: auto
}

/*ボタン*/
.kotei .btn {
    color: white;
    padding: 1%;
    font-weight: bold;
}

.kotei .btn.ora {
    background-color: #ff8d00;
}

.kotei .btn.ora:hover {
    background-color: #f95c00;
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .pankuzu {
        margin-bottom: 3%;
        margin-top: 3%;
    }
}

/*フォームタイトル*/
.single .form.no1 {
    background-color: #fffde1;
}

.single .form-v {
    background-color: white;
    padding: 3%
}

.single .form-title {
    font-weight: bold;
    text-align: center;
    background: #0071bc;
    margin: auto;
    line-height: 50px;
    position: relative;
    display: block;
    height: 50px;
    border-radius: 8px;
    color: #fff;
    transition: all 0.5s;
    width: 50%;
    border: none;
    font-size: 1.3em;
    margin-bottom: 5%;
}

@media screen and (max-width:640px) {
    .single .form-title {
        width: 100%;
        background: transparent;
        color: #0063a5;
    }
}

/*送信ボタン中央寄せ*/
.transmission {
    text-align: center
}

/*フォームボックス社員用（ビジネス日本語eラーニング）*/
.form .form-no1 .textarea {
    background-color: white;
}

.form .form-no1 {
    background-color: #e6e6e6;
    padding: 1%;
    margin-bottom: 3%;
}

.form .form-no1 .form-box {
    margin-bottom: 10px;
}

@media screen and (max-width:640px) {
    .form .form-no1 {
        padding: 5%;
    }
}

/*よくあるご質問*/
.faq .mt-20 {
    margin-top: 20px;
}

.faq .q-p {
    color: #237CD6;
    font-weight: bold;
    margin-right: 0.5%;
}

.faq .a-p {
    color: red;
    font-weight: bold;
    margin-right: 0.5%;
}

/* ======================================================
/*               ++ ニュースページ++
/* ======================================================
/*個別記事ページ*/
.arcives-single .topix h3 {
    margin-bottom: 0.5%;
    color: #0071bc;
    letter-spacing: 0.05em;
    font-size: 1.5em;
    font-weight: bold;
}

.arcives-single .day {
    border-bottom-width: 1px;
    padding-bottom: 4%
}

.arcives-single .box {
    padding: 3%;
    background-color: white
}

.arcives-single .images img {
    margin-bottom: 3%
}

/*ニュース一覧ページ*/
.archive .waku {
    border-bottom: 1px dashed #29abe2;
    padding-bottom: 2%;
    margin-top: 2%;
}

.archive .waku .day {
    float: left;
    width: 15%;
    margin-right: 5%;
}

.archive .waku .topix {
    float: left;
    width: 80%;
    font-weight: bold;
}

.archive .waku .topix a {
    color: #0071bc;
    text-decoration: underline;
}

@media screen and (max-width:640px) {
    .archive .waku .day {
        float: none;
        width: 100%;
    }

    .archive .waku .topix {
        float: none;
        width: 100%;
    }

    .arcives-single .topix h3 {
        font-size: 1.2em;
    }
}

/*フォームに項目追加分0911*/
.single .wpcf7-list-item-label,
label {
    vertical-align: middle;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 2%;
    margin-bottom: 2%;
}

.single .survey {
    background-color: #e3f6ff;
    padding: 2% 0;
    margin-bottom: 3%;
}

.single .survey .top {
    text-align: center;
    font-weight: bold;
    margin-bottom: 2%;
}

.single .survey .textarea {
    background-color: white
}

.schooling0821 .survey label {
    border: 1px solid #fafdff;
    background-color: #fafdff
}

@media screen and (max-width:640px) {
    .single .survey {
        padding: 2%;
    }
}

/*コロナで中止となりましたアナウンス0226*/
.announce {
    width: 50%;
    margin: 0 auto 5%
}

.announce p {
    color: white;
    padding: 1%;
    font-weight: bold;
    background-color: red;
}

/*i-phone用処理*/
@media (max-width: 767px) {
    .announce {
        width: 100%;
    }
}

.schooling0821 .announce {
    width: 100%;
    margin: 0 auto 3%;
}

/*voice＆photoの追加修正0303*/
.voice .voice-back1,
.voice .voice-back2 {
    background-image: none;
    background-color: #f0f6e5;
}

.voice .voice-back1 .font-b,
.voice .voice-back2 .font-b {
    color: #00a99d;
    padding-bottom: 0;
    padding-top: 0;
}

.voice .voice-back3,
.voice .voice-back4 {
    background-image: none;
    background-color: #fff1db;
}

.voice .voice-back3 .font-b,
.voice .voice-back4 .font-b {
    color: #f15a24;
    padding-bottom: 0;
    padding-top: 0;
}

.voice .fa-caret-left {
    margin-right: 2%
}

.voice .fa-caret-right {
    margin-left: 2%
}

.voice td p {
    padding: 4% 6% 0
}

.voice td p.text-r {
    text-align: right
}

/* ======================================================
/*               ++ロボットコース カリキュラム　ページ++
/* ======================================================*/
.curriculum section {
    margin-bottom: 3%
}

.curriculum h3 {
    padding: 0.5%;
}

.curriculum h3.back-alice {
    border-left: 7px solid #0071bc
}

.curriculum h3.back-emerald {
    border-left: 7px solid #3dc191
}

.curriculum h3 span {
    font-size: 0.8em;
    margin-left: 1%;
}

.curriculum h3.back-alice span {
    color: #0071bc
}

.curriculum h3.back-emerald span {
    color: #3dc191
}

.curriculum section td,
.curriculum section th {
    padding: 0.5% 1%
}

.curriculum section th.right {
    border-left: 1px solid #515151;
    width: 11%
}

.curriculum section th.left {
    border-right: 1px solid #515151;
    width: 9%;
}

/* ======================================================
/*               ++トップページ++
/* ======================================================*/

/* パーツ */
.btn-more {
    margin-top: 3%
}
.btn-more a {
    padding: 1% 5%;
    border: 2px solid #0071bc;
    border-radius: 40px;
    color: #0071bc;
    font-weight: bold;
}

a[class^="btn-square"] {
    border: 1px solid #025BAC;
    border-radius: 5px;
    display: block;
    text-align: center;
    padding: 13px 20px;
    position: relative;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
}
a[class^="btn-square"]::after {
    content: "";
    display: inline-block;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    width: 5px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: 0.2s linear;
}

.btn-square_01 {
    background-color: #fff;
    color: #025BAC;
}
.btn-square_01:hover {
    background-color: #025BAC;
    color: #fff;
}
.btn-square_01::after {
    background-color: #025BAC;
}
.btn-square_01:hover::after {
    background-color: #fff;
}

.btn-square_02 {
    background-color: #025BAC;
    color: #fff;
}
.btn-square_02::after {
    background-color: #fff;
}
.btn-square_02:hover {
    background-color: #052E53;
    color: #fff;
}

[class^="btn-oval"] {
    border-radius: 50px;
    border: 1px solid transparent;
    color: #fff;
    display: block;
    font-weight: 500;
    padding: 28px 20px;
    position: relative;
    text-align: center;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
}
[class^="btn-oval"]::after {
    background-color: #fff;
    content: "";
    display: inline-block;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    width: 5px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    transition: 0.2s linear;
}

.btn-oval_01 {
    background: linear-gradient(to right, #052E53, #025BAC);
}
.btn-oval_01:hover {
    background: #fff;
    border-color: #025BAC;
    color: #025BAC;
}
.btn-oval_01:hover::after {
    background-color: #025BAC;
}

.btn-oval_02 {
    border-color: #fff;
}
.btn-oval_02:hover {
    background-color: #fff;
    color: #025BAC;
}
.btn-oval_02:hover::after {
    background-color: #025BAC;
}

/* 共通設定 */
.container {
    letter-spacing: .05em;
    overflow: hidden;
}

.sec-ttl-wrap {
    text-align: center;
}
.sec-ttl_en {
    color: #025BAC;
    font-family: "Overpass", sans-serif;
    font-size: 16px;
    padding-bottom: 12px;
    position: relative;
}
.sec-ttl_en::after {
    background-color: #FD8C2A;
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.sec-ttl {
    font-size: 28px;
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 60px;
}
.sec-desc {
text-align: center;
font: normal normal normal 16px/24px Noto Sans JP;
letter-spacing: 0.8px;
color: #052E53;
opacity: 1;
margin: 3%;
}
.sec-ttl_with-bg .sec-ttl_en,
.sec-ttl_with-bg .sec-ttl {
    color: #fff;
}
.sec-ttl_with-bg .sec-ttl_en::after {
    background-color: #fff;
}

/* slick setting */

.home .slick-list {
    margin-top: 0 !important;
}
.home .slick-track {
    display: flex;
}
.home .slick-slide {
    height: auto !important;
}
.home .prev-arrow,
.home .next-arrow {
    background: url(images/btn_arrow_01.png) no-repeat center center /contain;
    cursor: pointer;
    width: 28px;
    height: 70px;
    position: absolute;
    top: 50%;
    margin-top: -35px;
    z-index: 2;
}
.home .prev-arrow {
    left: -53px;
    transform: rotate(180deg);
}
.home .next-arrow {
    right: -53px;
}


@media screen and (max-width: 1024px) {
    .home .prev-arrow {
        left: -30px;
    }
    .home .next-arrow {
        right: -30px;
    }
}

@media screen and (max-width: 640px) {
    .sec-ttl {
        font-size: 24px;
        margin-bottom: 40px;
    }
    [class^="btn-oval"] {
        padding: 18px 20px;
    }

    .home .prev-arrow {
        left: 5%;
    }
    .home .next-arrow {
        right: 5%;
    }
    .home .slick-slide:not(.slick-current) {
        opacity: .4;
    }
}

/*------------------------------- mv */
.mv-wrap {
    background: url(images/bg_mv_01.png) repeat top left /cover;
    overflow: hidden;
    padding: 58px 5% 192px;
    position: relative;
}
.mv-wrap::before,
.mv-wrap::after {
    content: "";
    display: inline-block;
    height: auto;
    position: absolute;
}
.mv-wrap::before {
    background: url(images/bg_deco_01.png) no-repeat left top /contain;
    width: 19.53vw;
    aspect-ratio: 375 / 413;
    top: -5vw;
    left: -3.5vw;
}
.mv-wrap::after {
    background: url(images/bg_deco_02.png) no-repeat right bottom /contain;
    width: 49.11vw;
    aspect-ratio: 943 / 959;
    right: -3%;
    top: -8%;
}

.mv-inner {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 1;
}
.mv-txtBox {
    max-width: 620px;
    flex-shrink: 0;
}
.mv-img {
    max-width: 500px;
}

.mv-ttl_label {
    background-color: #052E53;
    color: #fff;
    display: inline-block;
    font-size: 22px;
    font-weight: bold;
    padding: 3px 20px;
    text-align: center;
}
.mv-ttl_txt {
    font-size: clamp(30px, 4.5vw, 44px);
    margin-top: 28px;
	font-weight: bold;
}
.mv-desc {
    margin-top: 20px;
}

.mv-btn {
    display: flex;
    gap: 20px;
    margin-top: 30px;
}
.mv-btn li {
    border-radius: 10px;
    text-align: center;
    width: 50%;
}
.mv-btn li a {
    border: 2px solid #fff;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    padding: 20px 10px;
    position: relative;
    width: 100%;
}
.mv-btn li a::before {
    content: "";
    display: inline-block;
    margin-right: 7px;
    width: 16px;
    height: 14px;
}
.mv-btn li a.btn-pamphlet::before {
    background: url(images/icon_download_01.png) no-repeat left center / contain;
}
.mv-btn li a.btn-info::before {
    background: url(images/icon_mail_01.png) no-repeat left center / contain;
}


@media screen and (max-width: 640px) {
    .mv-wrap {
        padding-bottom: 140px;
    }
    .mv-wrap::before {
        width: 80%;
        top: -10%;
        left: -10%;
    }
    .mv-wrap::after {
        width: 145%;
        right: -35%;
        top: -2%;
    }
    .mv-inner {
        flex-direction: column;
    }
    .mv-btn {
        flex-direction: column;
    }
    .mv-btn li {
        width: 90%;
        margin: 0 auto;
    }
}


/*------------------------------- solution */
.top-solution {
    background-color: #025BAC;
    padding: 211px 5% 120px;
    position: relative;
}
.top-solution::before,
.top-solution::after {
    background: url(images/bg_deco_03.png) no-repeat right bottom /cover;
    content: "";
    display: inline-block;
    width: 27.75vw; /*ベースの横幅が1200pxの時に333px*/
    max-width:  333px;
    height: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
}
.top-solution::before {
    top: -3%;
    left: -5%;
}
.top-solution::after {
    transform: rotate(180deg);
    bottom: -3%;
    right: -3%;
}
.solution-course-list {
    display: flex;
    justify-content: center;
    gap: 30px;
    padding: 0 5%;
    width: 100%;
    max-width: 1200px;
    position: absolute;
    top: -110px;
    left: 50%;
    transform: translateX(-50%);
}
.solution-course-list li {
    border-radius: 20px;
    box-shadow: 10px 10px 0 #E2E2E2;
}
.solution-box {
    border: 1px solid #fff;
    border-radius: 30px;
    color: #fff;
    max-width: 1400px;
    margin: 0 auto;
    padding: 70px 60px 60px;
    position: relative;
}
.solution-ttl {
    font-size: clamp(20px, 1.35vw, 26px);
    font-weight: bold;
    line-height: 1.61;
    letter-spacing: .05em;
    text-align: center;
}
.solution-ttl .txt_balloon {
    background-color: #fff;
    border-radius: 30px;
    color: #052E53;
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    padding: 7px 33px;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
}
.solution-ttl .txt_balloon::after {
    border-color: #ffffff transparent transparent;
    border-style: solid;
    border-width: 11px 6.5px 0 6.5px;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    translate: -50% 100%;
}
.solution-ttl .txt_strong {
    font-size: clamp(24px, 1.61vw, 31px);
}
.solution-ttl .txt_em {
    color: #FD8C2A;
}

.solution-content {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-top: 40px;
}
.solution-content .box-txt {
    width: 480px;
}
.solution-content .box-txt p + p {
    margin-top: 1em;
}
.solution-content .box-img {
    background-color: #fff;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 28px 30px;
}

.solution-content .btn-wrap {
    margin-top: 30px;
}
.solution-content .btn-wrap a {
    border: 1px solid #fff;
    border-radius: 5px;
    display: inline-block;
    padding: 13px 20px;
    width: 280px;
    text-align: center;
	color:white;
}
.solution-content .btn-wrap a:hover {
    background-color: #fff;
    color: #052E53;
}


@media screen and (max-width: 1200px) {
    .solution-content {
        flex-direction: column;
    }
    .solution-content .box-txt {
        order: 2;
        width: 100%;
    }
    .solution-content .box-txt .btn-wrap {
        text-align: center;
    }
    .solution-content .box-img {
        order: 1;
        width: 100%;
    }

}

@media screen and (max-width: 640px) {
    .top-solution {
        padding: 130px 5% 60px;
    }
    .top-solution::before,
    .top-solution::after {
        width: 140px;
    }

    .solution-course-list {
        padding: 0;
    }
    .solution-course-list li {
        margin: 0 10px 10px;
    }

    .solution-box {
        padding: 40px 20px 30px;
    }
    .solution-content {
        gap: 30px;
        margin-top: 30px;
    }
}


/*------------------------------- REASON */
.top-reason {
    padding: 117px 5% 120px;
    position: relative;
    overflow: hidden;
}
.top-reason::before,
.top-reason::after {
    background: url(images/bg_deco_04.png) no-repeat left top /contain;
    content: "";
    display: inline-block;
    width: 80.88vw;
    height: auto;
    aspect-ratio: 1553 / 814;
    position: absolute;
    z-index: -1;
}
.top-reason::before {
    top: -7vw;
    left: -29.5vw;
}
.top-reason::after {
    transform: rotate(180deg);
    right: -25vw;
    bottom: -18vw;
}

.reason-box {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 40px 80px;
    max-width: 940px;
    margin: 0 auto;
}
.reason-item-img {
    border-radius: 10px;
    box-shadow: 10px 10px 0 rgba(5, 46, 83, 0.1);
    margin-right: 10px;
}
.reason-item-ttl {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-top: 30px;
}
.reason-item-desc {
    margin-top: 20px;
}
.reason-box .btn-wrap {
    margin-top: 20px;
}

@media screen and (max-width: 1024px) {
    .reason-box {
        gap: 40px;
    }
    .reason-item-ttl {
        font-size: 18px;
    }
}

@media screen and (max-width: 640px) {
    .top-reason {
        padding: 60px 5%;
    }
    .reason-box {
        display: flex;
        flex-direction: column;
    }
    .top-reason::before,
    .top-reason::after {
        width: 800px;
    }
    .top-reason::before {
        top: -5%;
        left: -80%;
    }
    .top-reason::after {
        right: -75%;
        bottom: -8%;
    }
}


/*------------------------------- COURSE LIST */
.top-course {
    background: url(images/bg_top_01.webp) no-repeat top center /cover;
    padding: 122px 5% 83px;
}
.course-list {
    display: flex;
    justify-content: space-between;
    /*gap: 40px;*/
    max-width: 1154px;
    margin: 0 auto;
}
.course-item {
    background-color: #fff;
    border-radius: 20px;
    box-shadow: 10px 10px 0 rgba(255, 255, 255, 0.2);
    margin: 0 20px 10px 30px;
    width: 33.33%;
    display: flex !important;
    flex-direction: column;
}
.course-item-ttl {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 20px 30px;
}
.course-item-ttl .txt_small {
    display: block;
    font-size: 16px;
}
.course-item-desc {
    font-size: 16px;
    margin: 0 30px;
    flex-grow: 1;
}
.course-item .btn-wrap {
    margin:0 40px 30px;
}
.course-item .btn-wrap a {
    margin-top: 20px;
    max-width: 100%;
}

@media screen and (max-width: 640px) {
    .course-list {
        margin-left: -5%;
        margin-right: -5%;
    }
    .course-item {
        margin: 0 15px 10px;
    }
    .course-item-body {
        padding: 20px 20px 30px;
    }
    .course-item-ttl {
        font-size: 22px;
    }
    .course-item-desc {
        font-size: 14px;
    }
}


/*------------------------------- TEACHING MATERIALS */
.top-material {
    background: url(images/bg_top_02.png) repeat top left /cover;
    padding: 122px 5% 117px;
}

.material-list {
    display: flex;
    justify-content: space-between;
    max-width: 1111px;
    margin: 0 auto 46px;
    position: relative;
}
.material-item {
    background-color: #fff;
    border: 1px solid #E2E2E2;
    border-radius: 20px;
    box-shadow: 10px 10px 0 rgba(5, 46, 83, 0.1);
    margin: 0 20px 10px 30px;
    padding: 30px 30px 35px;
    width: 33.33%;
    display: flex !important;
    flex-direction: column;
}
.material-item-ttl {
    font-size: 20px;
    font-weight: bold;
    margin: 20px auto;
    text-align: center;
}
.material-item-desc {
    flex-grow: 1;
}
.material-item .btn-wrap {
    margin-top: 25px;
}


@media screen and (max-width: 640px) {
    .top-material {
        padding: 60px 5%;
    }
    .material-list {
        margin-left: -5%;
        margin-right: -5%;
    }
    .material-item {
        font-size: 14px;
        margin: 0 10px 10px;
        padding: 30px 20px;
    }
}

/*------------------------------- MOVIE */
.top-movie {
    background: url(images/bg_top_03.webp) no-repeat top center /cover;
    padding: 122px 5% 120px;
}
.movie-item-wrap {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    max-width: 1140px;
    margin: 0 auto 40px;
}
.movie-item {
    width: 50%;
}

.movie-item-ttl-wrap {
    text-align: center;
    margin-bottom: 20px;
}
.movie-item-ttl {
    color: #fff;
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    padding: 0.5em 2em;
    position: relative;
    text-align: center;
}
.movie-item-ttl::before,
.movie-item-ttl::after {
    position: absolute;
    top: 0;
    width: 10px;
    height: 100%;
    content: "";
    border-top: solid 1px;
    border-bottom: solid 1px;
}
.movie-item-ttl::before {
    border-left: solid 1px;
    left: 0;
}
.movie-item-ttl::after {
    border-right: solid 1px;
    right: 0;
}

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

@media screen and (max-width: 1024px) {
    .movie-item-wrap {
        gap: 30px;
    }
    .movie-item-ttl {
        padding-left: 1em;
        padding-right: 1em;
    }
}

@media screen and (max-width: 640px) {
    .top-movie {
        padding: 80px 5%;
    }
    .movie-item-wrap {
        flex-direction: column;
        gap: 60px;
    }
    .movie-item {
        width: 100%;
    }
    .movie-item-ttl {
        width: 100%;
    }
}

/*------------------------------- NEWS */
.top-news {
    background: url(images/bg_top_04.webp) no-repeat top center /cover;
    padding: 120px 5%;
}
.news-list {
    background-image: radial-gradient(circle, #052e53 0.5px, transparent 0.5px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 5px 1px;
    width: 100%;
    max-width: 941px;
    margin: 0 auto 40px;
}
.news-list-item {
    background-image: radial-gradient(circle, #052e53 0.5px, transparent 0.5px);
    background-position: left bottom;
    background-repeat: repeat-x;
    background-size: 5px 1px;
    padding: 20px 0;
}
.news-list-item a {
    display: flex;
    font-weight: normal;
}
.news-list-item .news-date {
    margin-right: 60px;
}

@media screen and (max-width: 640px) {
    .top-news {
        padding: 60px 5%;
    }
    .news-list-item a {
        flex-direction: column;
    }
    .news-list-item .news-ttl {
        margin-top: 5px;
        width: 100%;
    }
}


/*------------------------------- LOCATION LIST */
.top-location {
    padding: 122px 5% 120px;
    position: relative;
    overflow: hidden;
}
.top-location::after {
    background: url(images/bg_deco_04.png) no-repeat right bottom /contain;
    content: "";
    display: inline-block;
    width: 80.88vw;
    height: auto;
    aspect-ratio: 1553/814;
    transform: rotate(180deg);
    position: absolute;
    right: -25vw;
    bottom: -24vw;
    z-index: -1;
}

.top-location .sec-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 80px;
    max-width: 1200px;
    margin: 0 auto;
}
.top-location .sec-ttl-wrap {
    width: 260px;
}
.top-location .sec-ttl {
    margin-bottom: 30px;
}
.top-location .btn-oval_01 {
    padding: 18px 20px;
}

.location-list {
    display: grid;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 30px 20px;
}
.location-list-item {
    display: flex;
}
.location-item-img {
    flex-shrink: 0;
    margin-right: 20px;
    width: 160px;
}
.location-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.location-item-name {
    color: #025BAC;
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
}
.location-item-name::before {
    background-color: #025BAC;
    content: "";
    display: inline-block;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    width: 5px;
    height: 8px;
    margin-right: 10px;
}
.location-item-address {
    line-height: 1.5;
}

@media screen and (max-width: 1024px) {
    .top-location .sec-inner {
        flex-direction: column;
    }
    .top-location .sec-ttl-wrap {
        width: 100%;
    }
}

@media screen and (max-width: 640px) {
    .top-location {
        padding: 60px 5%;
    }
    .top-location::after {
        width: 30%;
    }
    .location-list {
        display: flex;
        flex-direction: column;
    }
    .location-list-item {
        height: 76px;
    }
    .location-item-img {
        width: 25%;
    }
    .location-item-name {
        font-size: 16px;
    }
    .location-item-address {
        font-size: 14px;
    }
}


/*------------------------------- OTHER COURSES */
.top-other {
    background-color: #025BAC;
    padding: 117px 5% 120px;
    position: relative;
}
.top-other::before,
.top-other::after {
    background: url(images/bg_deco_03.png) no-repeat right bottom /cover;
    content: "";
    display: inline-block;
    width: 27.75vw;
    max-width: 333px;
    height: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
}
.top-other::before {
    top: -7%;
    left: -6%;
}
.top-other::after {
    transform: rotate(180deg);
    bottom: -3%;
    right: -3%;
}
.top-other .sec-inner {
    position: relative;
    z-index: 1;
}

.top-other .sec-ttl_sub {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    margin-bottom: 5px;
}
.top-other .sec-ttl_sub::before,
.top-other .sec-ttl_sub::after {
    width: 1px;
    height: 14px;
    content: "";
    background-color: #fff;
}
.top-other .sec-ttl_sub::before {
    margin-right: 10px;
    transform: rotate(-30deg);
}
.top-other .sec-ttl_sub::after {
    margin-left: 10px;
    transform: rotate(30deg);
}
.top-other .sec-ttl {
    margin-bottom: 40px;
}

.other-content .bnr-wrap {
    margin: 0 auto;
    text-align: center;
}
.other-content .bnr-wrap a:hover {
    opacity: 0.8;
}

@media screen and (max-width: 1024px) {
    .other-content .bnr-wrap {
        width: 70%;
    }
}
@media screen and (max-width: 640px) {
    .top-other {
        padding: 60px 5%;
    }
    .top-other::before,
    .top-other::after {
        width: 120px;
    }
    .other-content .bnr-wrap {
        width: auto;
    }
}

/*------------------------------- FOOTER */
.footer-nav-wrap {
    background-color: #fff;
    padding: 40px 0;
    text-align: center;
}
.footer-nav {
    display: flex;
    justify-content: center;
}
.footer-nav li + li {
    border-left: 1px solid #E2E2E2;
}
.footer-nav li a {
    padding: 0 40px;
}
.footer-nav li a:hover {
    color: #025BAC;
}

.footer-bnr-area {
    background-color: #F7F7F7;
    padding: 60px 37px;
}
.footer-bnr-list,
.footer-logo-list {
    display: flex;
    justify-content: center;
    gap: 40px;
}
.footer-bnr-list li {
    width: 33.33%;
    max-width: 320px;
}
.footer-bnr-list li .bnr-txt {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 10px;
}

.footer-logo-list {
    margin-top: 40px;
}
.footer-logo-list li {
    background-color: #fff;
    border: 1px solid #E2E2E2;
    max-width: 282px;
}

.copyright {
    background-color: #F7F7F7;
    font-size: 14px;
    padding: 0 0 31px;
    text-align: center;
}

@media screen and (max-width: 1024px) {
    .footer-bnr-list,
    .footer-logo-list {
        gap: 15px;
    }
    .footer-bnr-list li,
    .footer-logo-list li {
        width: 23%;
    }
    .footer-bnr-list li .bnr-txt {
        font-size: 12px;
    }
}

@media screen and (max-width: 640px) {
    .footer-nav-wrap {
        padding: 20px 0;
    }
    .footer-nav li a {
        font-size: 12px;
        padding: 0 10px;
    }
    .footer-bnr-list,
    .footer-logo-list {
        flex-direction: column;
        align-items: center;
    }
    .footer-bnr-list li,
    .footer-logo-list li {
        width: 90%;
    }
    .footer-bnr-list li .bnr-txt {
        display: none;
    }
}

/* ======================================================
/*               ++ 訓練校各ページ  ++
/* ======================================================*/
.page .top-img .title-1 {
    top: 55%;
}

.page .top-img .title-1 h1 {
    color: white;
    font-weight: bold;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
    font-size: 1.6em;
}

.back-mos {
    /* background-color: #f4f8fb;
    /* background-color: #deedf9; */
    padding: 0 0 5%;
}

.single-maincourse .back-white {
    padding: 3%
}

.single-maincourse .photo {
    float: left;
    width: 25%;
    margin-right: 5%
}

.single-maincourse .top-comment {
    float: left;
    width: 100%;
}

.single-maincourse .top-comment h3 {
    padding: 1%;
    background-color: #0071bc;
    margin-bottom: 2%;
    font-weight: bold;
    font-size: 1.2em;
    padding-left: 6%;
    position: relative;
}

.single-maincourse .top-comment h3:before {
    border-bottom: solid 43px transparent;
    border-right: solid 43px #a7ba1e
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .single-maincourse .top-comment h3 {
        font-size: 1em
    }

    .single-maincourse .photo {
        float: none;
        width: 100%;
        margin-right: 0;
        text-align: center;
        margin-bottom: 3%
    }

    .single-maincourse .top-comment {
        float: none;
        width: 100%;
    }

    .single-maincourse .top-comment h3:before {
        border-bottom: solid 38px transparent;
        border-right: solid 38px #a7ba1e
    }
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .single-maincourse .top-comment h3 {
        padding-left: 0;
        text-align: center;
    }

    .single-maincourse .top-comment h3:before {
        display: none
    }
}

.single-maincourse .font-g {
    color: #0071bc
}

.single-maincourse .top-comment .curse-back {
    background-color: #e9f8ff;
    padding: 2%;
    margin-top: 5%
}

.single-maincourse .top-comment .curse-back .box-c {
    float: left;
    width: 20%;
    padding: 1% 2.5%;
    text-align: center
}

.single-maincourse .top-comment .curse-back .box-c img {
    width: 60%;
}

.single-maincourse .top-comment .curse-back .box-c .font-g {
    font-size: 0.9em;
    text-decoration: underline
}

.single-maincourse .top-comment .box-r {
    padding: 2% 0;
    border-bottom: solid 1px #e3e3e3;
}

.single-maincourse .top-comment .box-r .left {
    float: left;
    width: 25%;
    margin-right: 5%;
    color: #0b7c3d;
    font-weight: bold;
}

.single-maincourse .top-comment .box-r .right {
    float: left;
    width: 70%;
}

/*講師紹介*/
.koushi .box-2 {
    float: left;
    width: 12%;
    padding: 1%
}

.koushi .box-2 p {
    font-size: 0.85em;
}

/*下のエリア一覧*/
.page .page-corse-icon.bottom {
    padding: 0
}

.single-maincourse .top-comment h3:before {
    border-bottom: solid 43px transparent;
    border-right: solid 43px rgba(233, 245, 255, 0.8);
}


.single-maincourse .box-k {
    overflow: hidden;
    border-top: 1px dashed #bde5fb;
    padding-top: 3%;
    margin-bottom: 2%;
}

.single-maincourse .box-k .right2 {
    width: 78%;
    float: left
}

.single-maincourse .box-k .font-g {
    width: 20%;
    float: left
}

.single-maincourse .kaisai-kyoten .box-c a {
    color: #0071bc
}

.single-maincourse .top-comment .curse-back .box-c {
    width: 23%;
}

.page .page-corse-icon.bottom {
    padding: 0
}

.single-maincourse .top-comment .curse-back .kaisai-kyoten .box-c {
    width: auto;
    padding: 0;
    margin-right: 5%;
    padding-bottom: 2%;
}

.single-maincourse .top-comment .curse-back .kaisai-kyoten .box-c a {
    text-decoration: underline
}

/*カリキュラムtable*/
.single-maincourse .curriculum {
    padding: 0
}

.single-maincourse .curriculum table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    /* table-layout:fixed*/
}

.single-maincourse .curriculum th {
    padding: 1%;
    border: 1px solid white;
    border-bottom: 1px solid #515151;
    border-top: 1px solid #515151;
    color: white;
    background-color: #515151
}

.single-maincourse .curriculum td {
    padding: 1%;
    border: 1px solid #515151;
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .single-maincourse .top-comment h3:before {
        border-bottom: solid 38px transparent;
        border-right: solid 38px rgba(233, 245, 255, 0.8);
    }
}

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

    .single-maincourse .curriculum td,
    .single-maincourse .curriculum th {
        font-size: 0.8em
    }
}

/*認定マーク*/
.kaisai-nintei {
    overflow: hidden;
    text-align: right
}

.kaisai-nintei .box-c {
    display: inline-block;
    width: 7%;
    padding: 0.5%
}

@media screen and (max-width: 767px) {
    .kaisai-nintei .box-c {
        width: 15%;
    }

    .single-maincourse .box-k .font-g {
        width: 100%;
        float: none;
    }
}

.single-maincourse .calendar {
    display: none;
}

.postid-1166 .single-maincourse .calendar.course1 {
    display: block;
}

.postid-1168 .single-maincourse .calendar.course2 {
    display: block;
}

.postid-1169 .single-maincourse .calendar.course3 {
    display: block;
}

/*④法定教示検査ライトコース(学科のみ)　予定が無いのでカレンダー非表示*/
.postid-1170 .single-maincourse .calendar.course4 {
    display: block;
    text-align: center
}

.postid-1170 .single-maincourse .calendar.course4 .mozi {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 1%;
}

.postid-1170 .single-maincourse .calendar.course4 .tel {
    color: #0071bc;
    font-size: 2em;
    font-weight: bold;
}

.postid-1170 .single-maincourse .calendar.course4 .tel a {
    color: #0071bc;
    font-size: 0.8em;
    font-weight: bold;
}

.postid-1170 .kibou,
.postid-1170 .yoyaku {
    display: none
}

.postid-1171 .single-maincourse .calendar.course5 {
    display: block;
}

.postid-1172 .single-maincourse .calendar.course6 {
    display: block;
}

.postid-1173 .single-maincourse .calendar.course7 {
    display: block;
}

/* ======================================================
/*               ++ コース一覧ページ  ++
/* ======================================================*/
.page h3.genre-title {
    padding: 1%;
    background-color: #0071bc;
    margin-bottom: 2%;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
    padding-left: 4%;
    position: relative;
}

.page .box-m {
    padding: 2%;
    margin-bottom: 2%;
    overflow: hidden;
    list-style-type: none;
}

.box-m-wrap:nth-child(odd) {
  background: #F7F7F7;
  max-width: 1920px;
}

.page .box-m .photo {
    width: 30%;
    margin-right: 2%;
}

.page .box-m .summary-box {
    width: 65%;
	margin-left: 25px;
}

.page .box-m .summary-box a {
    font-size: 1.2em;
    color: #0071bc;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
}

.page .box-m .summary-box .box-t {
    padding: 1%;
    margin-top: 2%;
}

.page .box-m .summary-box .box-t .font-b {
    color: #3cadec
}

.page .box-m .summary-box .box-t span {
    float: left
}

.page .box-m .photo {
  position: relative;
}

.photo {
  position: relative;
}
.photo img {
  position: relative;
  z-index: 1;
	box-shadow: 0 6px 16px rgba(0,0,0,0.15); /* ドロップシャドウ */
}
/* 「所要時間」ラベル */
.time-label {
    display: inline-block;
    background-color: #025BAC;
    color: #fff;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: bold;
    margin-right: 6px; /* 後ろの文字と少し間をあける */
}

/* 「コース詳細・申し込む」ボタン */
.course-btn {
    display: inline-block;
    padding: 10px 20px;
    border: 2px solid #025BAC;
    border-radius: 5px;
    background-color: #fff;   /* 白塗りつぶし */
    color: #025BAC;
    font-weight: bold;
    text-align: center;
    transition: all 0.3s ease;
    text-decoration: none; /* リンク時の下線を消す */
}

.course-btn:hover {
    background-color: #fff;
    color: #025BAC;
    border-color: #025BAC;
    box-shadow: 0 0 6px rgba(2,91,172,0.4); /* ふわっと強調 */
}



.box-m {
  position: relative;
  padding: 40px 20px;
  margin-bottom: 40px;
}

.box-m .number {
  font-size: 3rem;        /* 数字を大きく */
  font-weight: bold;
	color: #025BAC;
　font-family: "Overpass";
  top: 10px;
  left: 10px;
  z-index: 0;
  pointer-events: none;
}

/* ----------------------------
   コース一覧：背景を交互に全幅にする
   ----------------------------*/

/* ラッパー（li 相当）を基準にする想定です */
ul.box-m {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* .box-m-wrap を full-bleed 背景にする（疑似要素で100vwを敷く） */
ul.box-m > .box-m-wrap {
  position: relative; /* ::before の基準 */
  z-index: 0;
  overflow: visible;
}

/* 偶奇で背景色を切り替える（::before が横いっぱい） */
ul.box-m > .box-m-wrap:nth-of-type(odd)::before,
ul.box-m > .box-m-wrap:nth-of-type(even)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%); /* 左右中央に展開 */
  z-index: -1;
}

/* 奇数（1,3,5…）をグレーに */
ul.box-m > .box-m-wrap:nth-of-type(odd)::before {
  background: #F7F7F7;
}

/* 偶数は白に（白はデフォルトなので指定は任意） */
ul.box-m > .box-m-wrap:nth-of-type(even)::before {
  background: #ffffff;
}

/* 内部の実コンテナ（中身は中央幅に制限） */
ul.box-m > .box-m-wrap > .box-m {
  position: relative;
  max-width: 1100px; /* サイトの中央コンテンツ幅に合わせて調整 */
  margin: 0 auto;
  padding: 40px 20px; /* 上下の余白はここでコントロール */
  box-sizing: border-box;
  z-index: 1; /* ::before より前面 */
  background: transparent; /* 中身は白／透明のまま */
  border-radius: 0; /* 必要なら調整 */
}

/* ---------- 中身の横並び（画像 + summary） ---------- */

/* .box-m を flex にして float を廃止 */
ul.box-m > .box-m-wrap > .box-m.over-f {
  display: flex;
  align-items: flex-start; /* 上寄せ。中央寄せなら center */
  gap: 2%;
  flex-wrap: wrap; /* モバイルでは折り返す */
}

/* 画像エリア */
ul.box-m > .box-m-wrap > .box-m .photo {
  flex: 0 0 30%;
  margin: 0;
}

/* サムネのスタイル（画像自体の影は不要なら削除） */
ul.box-m > .box-m-wrap > .box-m .photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  box-shadow: none; /* 写真の影をなくしたい場合は none */
}

/* summary（テキスト）エリア */
ul.box-m > .box-m-wrap > .box-m .summary-box {
  width: 68%;
  flex: 1 1 68%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 番号が summary の上に出る想定 */
ul.box-m > .box-m-wrap > .box-m .summary-box .number {
  font-size: 3rem;
  font-weight: bold;
  color: #025BAC;
  margin-bottom: 8px;
  display: block;
}

/* 所要時間ラベル等は既存ルールを継続（必要ならここで上書き） */
/* ボタンも既存の .course-btn を使う */

/* 親：横並び配置 */
ul.box-m > .box-m-wrap > .box-m.over-f {
  display: flex;
  align-items: center; /* ✅ 中央寄せのポイント！ */
  gap: 2%;
  flex-wrap: wrap;
}

/* 左：画像部分 */
ul.box-m > .box-m-wrap > .box-m .photo {
  width: 30%;
  flex: 0 0 30%;
  position: relative;
  display: flex;
  justify-content: center; /* 横中央（必要なら） */
  align-items: center;     /* ✅ 高さ方向中央寄せ */
}

/* 画像は元のサイズを維持 */
ul.box-m > .box-m-wrap > .box-m .photo img {
  width: auto;
  height: auto;
  max-width: 100%; /* はみ出し防止 */
  display: block;
  box-shadow: 0 6px 16px rgba(0,0,0,0.15); /* 既存のドロップシャドウ */
}

/* 右：テキスト部分 */
ul.box-m > .box-m-wrap > .box-m .summary-box {
  width: 65%;
  flex: 1 1 65%;
  margin-left: 15px;
  box-sizing: border-box;
}


/*カレンダー表記*/
.monthly-calendar td {
    width: 13%;
}

a.calendar-daylink {
    display: block;
    font-size: 16px;
}

/*新宿*/
.single-maincourse .calendar-box td.sinnzyuku {
    background-color: aliceblue
}

.single-maincourse .calendar-box td.sinnzyuku a {
    color: #0071bc;
    font-weight: bold;
}

.sinnzyuku .calendar-daylink:before {
    content: "新宿会場";
}

/*上田*/
.single-maincourse .calendar-box td.ueda {
    background-color: #eff7b4
}

.single-maincourse .calendar-box td.ueda a {
    color: #7d8832;
    font-weight: bold;
}

.ueda .calendar-daylink:before {
    content: "上田会場";
}

/*愛知*/
.single-maincourse .calendar-box td.aichi {
    background-color: #ffdcdc
}

.single-maincourse .calendar-box td.aichi a {
    color: #ce5391;
    font-weight: bold;
}

.aichi .calendar-daylink:before {
    content: "愛知会場";
}

/*仙台*/
.single-maincourse .calendar-box td.sendai {
    background-color: #fff8d4
}

.single-maincourse .calendar-box td.sendai a {
    color: #ea660a;
    font-weight: bold;
}

.sendai .calendar-daylink:before {
    content: "仙台会場";
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .page h3:before {
        border-bottom: solid 40px transparent;
        border-right: solid 40px #badbf2;
    }
}

@media screen and (max-width: 640px) {
    .page h3:before {
        display: none
    }

    .page h3.genre-title:before {
        display: none
    }

    .page .box-m {
        margin-bottom: 3%
    }

    .page .box-m:last-child {
        margin-bottom: 3%
    }

    .page .box-m .summary-box a {
        font-size: 1.2em
    }
}
/* ----------------------------
   バナー部分
  ----------------------------*/
.other-course-section {
  background: #025BAC;
  padding: 60px 20px;
  text-align: center;
}

.other-course-ttl-en,
.other-course-sub,
.other-course-ttl {
  color: #fff; /* 白文字 */
}

.other-course-ttl-en {
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.other-course-sub {
  font-size: 18px;
  margin-bottom: 4px;
}

.other-course-ttl {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}

.other-course-section a img {
  width: 40%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.other-course-content img:hover {
  transform: scale(1.03);
}
/* ---------- レスポンシブ（タブレット大） ---------- */
@media screen and (max-width: 1024px) {
  ul.box-m > .box-m-wrap > .box-m {
    padding: 30px 18px;
  }

  /* 画像：summary の比率を少し変える（読みやすさ向上） */
  ul.box-m > .box-m-wrap > .box-m .photo {
    flex: 0 0 34%;
    width: 34%;
  }
  ul.box-m > .box-m-wrap > .box-m .summary-box {
    flex: 1 1 62%;
    width: 62%;
  }

  /* 番号をやや縮小 */
  ul.box-m > .box-m-wrap > .box-m .summary-box .number {
    font-size: 2.4rem;
  }
}

/* ---------- レスポンシブ（900px 以下：縦積みに切り替え） ---------- */
@media screen and (max-width: 900px) {
  /* 親を縦並びにする（画像上、テキスト下） */
  ul.box-m > .box-m-wrap > .box-m.over-f {
    flex-direction: column;
    align-items: stretch;
  }

  /* 画像は上幅いっぱい、画像の縦位置は上寄せ */
  ul.box-m > .box-m-wrap > .box-m .photo {
    width: 100%;
    flex: 0 0 100%;
    margin-bottom: 12px;
    display: block;
  }
  ul.box-m > .box-m-wrap > .box-m .photo img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* summary は全幅 */
  ul.box-m > .box-m-wrap > .box-m .summary-box {
    width: 100%;
    flex: 0 0 100%;
    margin-left: 0;
  }

  /* 番号をやや縮小 */
  ul.box-m > .box-m-wrap > .box-m .summary-box .number {
    font-size: 2rem;
  }

  /* ボタンをフル幅に近づける */
  .course-btn a,
  .course-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}

/* ---------- レスポンシブ（640px 以下：スマホ最適化） ---------- */
@media screen and (max-width: 640px) {

  /* 内側コンテナの左右パディングを小さく */
  ul.box-m > .box-m-wrap > .box-m {
    padding: 20px 12px;
  }

  /* 番号縮小 */
  ul.box-m > .box-m-wrap > .box-m .summary-box .number {
    font-size: 1.6rem;
  }

  /* 所要時間ラベルのサイズ調整 */
  .time-label {
    padding: 3px 8px;
    font-size: 0.85rem;
  }

  /* 説明文等の文字サイズを少し落とす */
  ul.box-m > .box-m-wrap > .box-m .summary-box p,
  ul.box-m > .box-m-wrap > .box-m .summary-box .box-t p {
    font-size: 0.95rem;
    line-height: 1.6;
  }
	/* バナーサイズ */
  .other-course-section a img {
    width: 100%;
    height: auto; /* 高さは自動で調整 */
    display: block; /* 余白のズレを防ぐ場合 */
  }
}

/* ---------- レスポンシブ（480px 以下：極小端末） ---------- */
@media screen and (max-width: 480px) {
  ul.box-m > .box-m-wrap > .box-m {
    padding: 16px 10px;
  }
  .course-btn a,
  .course-btn {
    font-size: 0.95rem;
  }
  .summary-box .number { font-size: 1.4rem; }
  .time-label { font-size: 0.8rem; padding: 3px 6px; }
}

/* ======================================================
/*               ++ 会社概要 ページ ++
/* ======================================================*/
.company section h3 {
    padding: 1%;
    background-color: #0071bc;
    margin-bottom: 2%;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
    padding-left: 6%;
    position: relative;
}

.company section .box {
    border-bottom: 1px solid gray;
    padding: 2% 0 4%;
}

.company section .box:last-child {
    border-bottom: none;
    margin-bottom: 7%
}

.company section .box .left {
    float: left;
    width: 20%;
    margin-right: 5%;
    color: #0071bc;
    font-weight: bold;
}

.company section .box .right {
    float: left;
    width: 75%;
}

@media screen and (max-width: 640px) {
    .company section h3 {
        padding-left: 1%;
    }

    .company section .box {
        overflow: hidden
    }

    .company section .box .left {
        float: none;
        width: 100%;
        margin-bottom: 0.5%;
    }

    .company section .box .right {
        float: none;
        width: 100%;
    }
}

/* ======================================================
/*               ++ニュース一覧 ++
/* ======================================================*/
.archive.news-n {
    background-color: white;
}

.archive.news-n .waku {
    padding-top: 2%;
    margin-top: 0;
    padding: 2%
}

/* ======================================================
/*               ++eventorganizerkar　カレンダーにてhoverで出るボックスを非表示++
/* ======================================================*/
.qtip-eo .qtip-titlebar {
    display: none !important;
}

.qtip-titlebar+.qtip-content {
    display: none !important;
}

.fc-event[href] {
    cursor: pointer;
}

/* ======================================================
/*               ++トップページのロボット7コース　全表示++
/* ======================================================*/
.top-course7all .box-toukou {
    float: left;
    width: 24%;
    background-color: #e8e8e8;
    margin: 0 0.5%;
    margin-bottom: 1%;
}

.top-course7all .box-toukou.top {
    background-color: #0071bc
}

.top-course7all .box-toukou.top .over-f {
    padding: 0 4%;
}

.top-course7all .box-toukou.top .over-f .box-m {
    display: inline-block;
    width: 67%;
    margin-right: 4%;
    vertical-align: middle;
}

.top-course7all .box-toukou.top .over-f .box-m p {
    color: #0071bc;
    background-color: #fff1cc;
    font-size: 1.1em;
    line-height: 1.4em;
    font-weight: bold;
    border-radius: 50%;
    padding: 16% 7%;
    margin-top: 4%;
}

.top-course7all .box-toukou.top .over-f .box-m:last-child {
    margin-right: 0;
    width: 25%;
}

.top-course7all .box-toukou .top-none {
    display: none
}

.top-course7all .box-toukou .mozi p {
    color: #1f1f1f;
    margin-top: 2%;
    font-size: 0.9em
}

.top-course7all .box-toukou .heightLine {
    padding: 4%;
}

.top-course7all .box-toukou .heightLine h3 {
    font-size: 0.98em
}

.top-course7all .box-toukou .heightLine .btn {
    background-color: #0071bc;
    color: white;
    width: 70%;
    display: block;
    text-align: center;
    margin: 3% auto 0;
    border-radius: 20px;
    padding: 1% 0.5%;
    font-size: 0.98em;
}

.top-course7all .box-toukou .heightLine .btn:hover {
    background-color: #549ccc
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .top-course7all .box-toukou {
        width: 32.2%;
    }
}

@media screen and (max-width: 640px) {
    .top-course7all .box-toukou {
        width: 99%;
        margin: 0 auto 3%;
    }
}


/* ======================================================
/*               ++トップページのプロローグ+
/* ======================================================*/
.prologue .content {
    overflow: hidden;
    max-width: 950px;
}

.prologue h2 {
    border-bottom: 3px solid #0071bc;
    padding-bottom: 1%;
    margin: 0 auto 3%;
}

.prologue .box-m {
    display: inline-block;
    width: 70%;
    margin-right: 5%;
    vertical-align: middle;
}

.prologue .box-m:last-child {
    width: 24%;
    margin-right: 0;
    text-align: center;
    position: relative
}

.prologue .box-m:last-child .bigginer {
    position: absolute;
    width: 30%;
    left: 0;
}

.prologue .box-m:last-child p {
    font-size: 1.3em;
    color: #007a4e;
    background-color: #e4f2cf;
    border-radius: 50%;
    padding: 25% 2%;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    background: repeating-linear-gradient(45deg, #e3eed3, #e3eed3 6px, #d7ecb9 0, #d7ecb9 12px);
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
}

.prologue .box-m .btn {
    background: #f4930c;
    background: -moz-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: -webkit-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4930c', endColorstr='#fcd600', GradientType=1);
    color: white;
    width: 55%;
    display: block;
    text-align: center;
    border-radius: 0;
    padding: 1% 0.5%;
    font-size: 0.98em;
font-weight:bold;
}

.prologue .box-m .btn .fas {
    margin-left: 1.5%
}

@media screen and (max-width: 1380px) {
    .prologue .content {
        width: 95%;
    }
}

/* ======================================================
/*               ++トップページの３つのポイント+
/* ======================================================*/
.point {
    background-color: #025BAC
}

.point h2 {
    display: inline-block;
    vertical-align: middle;
}

.point .point-icon {
    display: inline-block;
    line-height: 1.4em;
    text-align: center;
    vertical-align: middle;
    margin-left: 1%;
    border-radius: 50%;
    background-color: #fff1cc;
    padding: 1.2% 0.5%;
    color: #dd3907;
    font-weight: bold;
    position: relative;
    letter-spacing: 0;
    width: 14%;
}

.point .point-icon span {
    position: absolute;
    right: 0;
    top: 0;
}

.point .box-m {
    display: inline-block;
    width: 30%;
    margin-right: 4%;
}

.point .box-m:last-child {
    margin-right: 0;
}

.point .box-m h3 {
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

.point .box-m h3 span {
    font-size: 2em;
    color: #0071bc;
    margin-right: 1.5%
}

.point .box-m h3 span.r0 {
    margin-right: 0
}

.point .box-m .btn {
    background-color: #0071bc;
    color: white;
    display: block;
    text-align: center;
    border-radius: 0;
    padding: 1.8% 0.5%;
    font-size: 0.98em;
}

.point .box-m .btn .fas {
    margin-left: 1.5%
}

/* ======================================================
/*               ++トップページの動画+
/* ======================================================*/
.movie {
    background-image: url(img/about-movie.jpg);
    background-size: cover;
    vertical-align: middle;
}

.movie h2 span {
    background-color: #f1f1f1;
    color: #2c709d;
    margin-left: 1.5%;
    padding: 0.25% 2%;
    font-size: 0.9em;
}

.movie .box-m {
    display: inline-block;
    width: 47%;
    margin-right: 4%;
    vertical-align: middle;
    text-align: center;
}

.movie .box-m:last-child {
    margin-right: 0;
    text-align: center;
}

.movie .iframe-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}

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

/* ======================================================
/*               ++トップページのお知らせ+
/* ======================================================*/
.infor {
    background-image: url(img/about-news.jpg);
    background-size: cover;
    vertical-align: middle;
}

.infor .box-m {
    display: inline-block;
    width: 47%;
    margin-right: 4%;
    vertical-align: middle;
    text-align: center;
}

.infor .box-m:last-child {
    margin-right: 0;
    text-align: center;
}

.infor .box-m .waku {
    background-color: white;
    padding: 3%;
    padding-bottom: 0
}

.infor .box-m .waku li {
    margin-bottom: 2.5%;
    border-bottom: 1px solid #7eccf3;
    padding-bottom: 2.5%;
}

.infor .box-m .waku li:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.infor .box-m .waku .day p {
    color: #0071bc
}

.infor .box-m .waku .img {
    display: inline-block;
    width: 20%;
    margin-right: 2%;
    vertical-align: middle;
}

.infor .box-m .waku .name {
    display: inline-block;
    width: 20%;
    margin-right: 2%;
    vertical-align: middle;
    text-align: center;
}

.infor .box-m .waku .address {
    display: inline-block;
    width: 50%;
    vertical-align: middle;
}

.infor .box-m .waku .address a {
    background-color: rgb(233, 245, 255);
    color: #0063a5;
    font-size: 0.9em;
    margin-left: 2%;
    padding: 0.5% 1%;
}

.infor .box-m .btn a {
    color: white;
    width: 40%;
    display: block;
    text-align: center;
    margin: 5% auto 0;
    border-radius: 20px;
    padding: 1% 0.5%;
    font-size: 0.98em;
    border: 2px solid white;
}

.infor .box-m .btn a:hover {
    background-color: #549ccc
}

/* ======================================================
/*               ++フォームのお問い合わせ電話++
/* ======================================================*/
.mozi.form-anno {
    margin-top: 3%;
    font-weight: bold
}

.arcives-single .box .only-pc.tel,
.arcives-single .box .only-mov.tel {
    font-size: 1.2em;
    color: #0071bc;
    font-weight: bold;
    margin-top: 1%
}

.arcives-single .box .about-cannsel {
    margin-top: 2%
}

.arcives-single .box .about-cannsel p {
    font-weight: bold
}

.arcives-single .box .about-cannsel li {
    list-style-type: above
}

@media screen and (max-width: 640px) {
    .mozi.form-anno {
        text-align: center
    }

    .arcives-single .box .only-mov.tel a {
        color: #0071bc;
        font-size: 1.5em;
        text-align: center
    }

    .arcives-single .box .only-mov.tel {
        text-align: center
    }
}
/* ======================================================
/*               ++ 拠点一覧ページ ++
/* ======================================================*/
.about-school_box {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.about-school_box .box {
  background-color: #fff;
  padding: 1.5%;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  text-align: center;
}

.about-school .photo img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    margin-bottom: 1em;
    box-shadow: none;
}

.about-school .box h4 {
    color: #000;
    font-weight: bold;
    font-size: 1.3em;
    margin-bottom: 0.5em;
}

.about-school .box .about {
    margin-bottom: 1em;
    font-size: 0.95em;
    line-height: 1.6;
    color: #000;
}

.about-school .box .tel {
    padding: 0.6em 0.8em;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    gap: 0.4em;
    margin-bottom: 1em;
}

.about-school .acbox-under {
    display: block !important;
}

.about-school .gmap iframe {
    width: 100%;
    height: 200px;
    border-radius: 6px;
    margin-top: 0.8em;
}

.about-school section .box .tel {
    display: flex;
    gap: 1.5em;         /* TEL と FAX の間のスペース */
    flex-wrap: wrap;     /* 狭い画面では折り返す */
}

.about-school section .box .tel .tel-item {
    display: flex;
    align-items: center; /* ラベルと番号を縦中央揃え */
    gap: 0.3em;          /* ラベルと番号の間のスペース */
    white-space: nowrap;  /* TEL/FAX と番号を一行に */
}

.about-school section .box .tel span.t {
    background-color: #E2E2E2 !important; /* 背景色そのまま */
    color: #0063a5;
    font-size: 0.8em;
    font-weight: bold;
    margin-right: 0;     /* tel-item の gap に任せる */
    padding: 0.2em 0.5em;
    border-radius: 4px;
}

.about-school section .box .tel span.only-pc,
.about-school section .box .tel span.only-mov a {
    white-space: nowrap;
}


.school-list-wrapper {
	max-width: 1920px;
	height: 240px;
	background: #025BAC 0% 0% no-repeat padding-box;
	display: flex;
    justify-content: center; /* 横方向中央 */
    align-items: center;     /* 縦方向中央 */
}

.school-list-btn a {
    display: block;
    max-width: 400px;
    margin: 0 auto;
    border: 1px solid #fff;
    border-radius: 50px;
    color: #fff;
	padding: 20px 40px;
}

/* スマホ対応 */
@media screen and (max-width: 1024px) {
    .about-school .box {
        width: 48%;
    }
}

@media screen and (max-width: 768px) {
    .about-school .box {
        width: 100%;
    }
}


/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .about-school section .box .tel {
        font-size: 0.8em
    }

    .about-school section .box .tel a {
        font-size: 1em
    }
}

@media screen and (max-width: 640px) {
    .about-school section .box .tel {
        font-size: 1em
    }

    .about-school section h3 {
        padding-left: 1%;
    }

    .about-school section .box h4 {
        font-size: 1.2em;
    }

    .about-school section .box .left {
        float: none;
        width: 100%;
        margin-right: 0;
    }

    .about-school section .box .right {
        float: none;
        width: 85%;
        margin: 3% auto 0;
    }

    .about-school section .box .tel .only-mov {
        display: inline-block;
    }

    .about-school section .box .left .photo {
        text-align: center;
    }

    .about-school section .btn-more {
        margin-top: 5%
    }
}

.acbox {
    width: auto;
    font-size: 0px;
    /* ラベルと開く部分を分離する時は数値を入れる */
    margin: 0 10px;
    /* ボックス全体の位置調整 */
    margin-left: 0;
}

.acbox label {
    width: auto;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    background: #0071bc;
    position: relative;
    display: block;
    padding: 4px;
    border-radius: 4px;
    cursor: pointer;
    color: #fff;
    border: none;
    margin-bottom: 0;
}

.acbox label:hover {
    background: #0071bc
        /* ラベルにマウスを乗せた時の背景色 */
}

.acbox input {
    display: none;
}

.acbox label:after {
    color: #fff;
    content: "▼";
    /* ラベルのアイコン */
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -14px;
}

.acbox input:checked~label::after {
    content: "▲";
    /* ラベルをクリックした後のアイコン */
}

.acbox div {
    height: 0px;
    overflow: hidden;
    opacity: 0;
    transition: 0.15s;
    /* 開閉スピードの設定 */
}

.acbox input:checked~div {
    height: auto;
    padding: 2%;
    border-radius: 0px;
    background: #F3F4F5;
    /* 開いた部分の背景色 */
    opacity: 1;
}

.acbox input:checked~label {
    background: #0071bc
        /* クリック後のラベルの背景色 */
}

.acbox-under {
    font-size: 15px;
    /* 開いた部分の文字サイズ */
    color: #555555;
    /* 開いた部分の文字色 */
}

/*map*/
.gmap iframe {
    height: 300px;
    margin-bottom: -1%
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .about-school section .box .tel {
        font-size: 0.8em
    }

    .about-school section .box .tel a {
        font-size: 1em
    }
}

@media screen and (max-width: 640px) {
    .about-school section .box .tel {
        font-size: 1em
    }

    .about-school section h3 {
        padding-left: 1%;
    }

    .about-school section .box h4 {
        font-size: 1.2em;
    }

    .about-school section .box .left {
        float: none;
        width: 100%;
        margin-right: 0;
    }

    .about-school section .box .right {
        float: none;
        width: 95%;
        margin: 5% auto 0;
    }

    .about-school section .box .tel .only-mov {
        display: inline-block;
    }

    .about-school section .box .left .photo {
        text-align: center;
    }

.about-school section .box {
        padding: 3% 2%;
        margin-bottom: 4%;
    }
}

/* ======================================================
/*               ++ スクールについて ページ ++
/* ======================================================*/
.about-school section h3 {
    padding: 1%;
    background-color: #0071bc;
    margin-bottom: 2%;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
    padding-left: 6%;
    position: relative;
}

.about-school section .box {
    padding: 2%;
    border: 2px solid #9ac4e0;
    margin-bottom: 2%
}

.about-school section .box.last {
    margin-right: 0
}

.about-school section .box .left {
    float: left;
    width: 40%;
    margin-right: 5%
}

.about-school section .box .right {
    float: left;
    width: 55%;
}

.about-school section .box .left .photo {
    text-align: center;
    margin-bottom: 2%;
}

.about-school section .box h4 {
    color: #0071bc;
    font-weight: bold;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
    font-size: 1.3em;
}

/* タイトルと住所だけ左揃え */
.about-school section .box h4,
.about-school section .box .about {
	text-align: left;
	margin-left: 20px;
}


/* ======================================================
/*               ++カレンダー仕様変更++
/* ======================================================*/
.eo-fullcalendar .fc-event {
    font-size: 1em;
}

.eo-fullcalendar .fc-event:hover {
    opacity: 0.8;
}

.eo-fullcalendar-reset .fc-view-container th.fc-sat {
    background-color: #c4edff;
    color: #005994
}

.eo-fullcalendar-reset .fc-view-container th.fc-sun {
    background-color: #ffc8c8;
    color: #c13535
}

/* ======================================================
/*       ++新型コロナウイルス感染症対策のニュース記事++
/* ======================================================*/
/* コロナのお知らせトップページアイコン*/
.banar1 {
    /* border: 2px solid #0071bc; */
    padding: 0.5%;
    width: 28.5%;
    float: left;
    background-color: #c0eac0;
}

.banar1 a {
    color: #333;
}

.banar1 a:hover {
    text-decoration: underline
}

.banar1 .box {
    width: 75%;
    display: inline-block;
    margin-right: 2%;
    vertical-align: middle;
}

.banar1 .box:last-child {
    width: 20%;
    display: inline-block;
    margin-right: 0
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .banar1 .box:last-child {
        display: none;
    }

    .banar1 {
        width: 40%;
        text-align: center;
    }
}

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

    .banar1 .box {
        width: 100%;
        display: inline-block;
        margin-right: 0;
        text-align: center;
    }
}

/* コロナのお知らせ記事*/
.news-imgbox {
    margin-bottom: 3%
}

.news-img {
    width: 49%;
    float: left;
    margin-right: 2%
}

.news-img:last-child {
    margin-right: 0
}

@media screen and (max-width: 640px) {
    .news-img {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 2%
    }
}

/* ======================================================
/*               ++教材販売 一覧ページ++
/* ======================================================*/
.goods-list .title {
    font-size: 1.1em;
    margin-bottom: 2%;
    color: #0071bc;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
}
/* 親リストをグリッドにして横並び */
.over-f.heightLine-t {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
  justify-content: center;
  padding: 0;
  list-style: none;
  margin: 0;
}

/* 商品ボックス */
.goods-list {
  list-style: none;
}

/* 内部白背景ボックス */
.goods-box {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  height: 100%; /* 行内の高さを揃える */
  text-align: center;
}

/* 写真 */
.goods-box .photo a img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 15px;
	box-shadow: none;
}

/* タイトル */
.goods-box .title-wrap .title {
  display: block;
  font-weight: bold;
  font-size: 18px;
  color: #000;
  margin-bottom: 15px;
  text-decoration: none;
}

/* ボタンを下に揃える */
.btn-wrap {
  margin-top: auto;
}

.goods-btn {
  display: inline-block;
  background: #fff;           /* 背景白 */
  color: #0072bc;             /* 文字青 */
  border: 2px solid #0072bc;  /* 線も青 */
  border-radius: 8px;         /* 角丸 */
  padding: 12px 75px;         /* 横幅調整 */
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  transition: 0.3s;
}

.goods-btn:hover {
  background: #0072bc;        /* ホバーで青背景 */
  color: #fff;                /* ホバーで文字白 */
  transform: translateY(-1px);
}

/* =========================
   レスポンシブ対応
========================= */

/* タブレット：2列表示 */
@media screen and (max-width: 1024px) {
  .over-f.heightLine-t {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}

/* スマホ：1列表示 */
@media screen and (max-width: 768px) {
  .over-f.heightLine-t {
    grid-template-columns: 1fr;
  }

  .goods-btn {
    width: 100%; /* ボタン横幅いっぱい */
  }
}


/* ======================================================
/*       ++販売教材　各個別ページ++
/* ======================================================*/
/* タイトル */
.single-materials .top-comment h3 {
  background-color: #f0f0f0; /* 表の横幅と同じグレー */
  padding: 10px 20px;
  font-size: 1.4em;
  font-weight: bold;
  position: relative;
  margin-bottom: 30px;
}

.single-materials .top-comment h3 .orange-bar {
  display: inline-block;
  width: 6px;
  height: 1.3em;
  background-color: orange;
  margin-right: 10px;
  vertical-align: middle;
}

/* アイキャッチ画像 */
.single-materials .postImg {
  display: block;
  margin: 0 auto 40px;
  width: auto;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}

/* 商品情報表 */
.single-materials .product-table {
  width: 1200px;
  margin: 0 auto 20px;
  border-collapse: collapse;
	border-top: 1px solid #ccc; /* ← 上の線追加 */
}

.single-materials .product-table .row {
  display: flex;
  border-bottom: 1px solid #ccc;
}

.single-materials .product-table .label {
  width: 25%;
  background-color: #f0f0f0;
  font-weight: bold;
  color: #052E53;
  padding: 12px 15px;
  border-right: 1px solid #ccc;
}

.single-materials .product-table .value {
  width: 75%;
  padding: 25px 20px;
  color: #052E53;
  background-color: #fff;
}

/* 購入ボタン */
.robot-apply-btn-2 {
  display: block;
  max-width: 420px;
  margin: 50px auto 0;
  padding: 14px 28px;
  text-align: center;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-radius: 40px;
  background: #052E53;
  box-shadow: 0 6px 18px rgba(5, 46, 83, 0.18);
  transition: 0.3s;
}

.robot-apply-btn-2:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(5, 46, 83, 0.25);
}

/*Atomについて詳細(Atomのページのみ詳細表示)*/
.single-materials .about-atom {
    display: none
}

.postid-1447 .about-atom {
    display: block
}

.about-atom {
    margin-top: 5%
}

.about-atom section {
    margin-bottom: 2%
}

/*①Atomこんなことが学べます*/
.about-atom section.no1 .box {
    width: 50%;
    display: inline-block;
    margin-right: 2%;
    vertical-align: middle;
}

.about-atom section.no1 .box:last-child {
    width: 47%;
    margin-right: 0
}

.about-atom section.no1 .box .box-m1 {
    overflow: hidden;
    margin-bottom: 3%;
}

.about-atom section.no1 .box .box-m1:last-child {
    margin-bottom: 0
}

.about-atom section.no1 .box .box-m1 p {
    display: inline-block;
    width: 37%;
    vertical-align: top;
    background-color: antiquewhite;
    text-align: center;
    padding: 0.5% 0;
}

.about-atom section.no1 .box .box-m1 ul {
    display: inline-block;
    width: 60%
}

.about-atom section.no1 .op {
    margin-top: 3%
}

/*②オプション品のご案内*/
.about-atom section.no2 .box-m2 {
    display: inline-block;
    width: 47%;
    margin-right: 3%;
    text-align: center;
}

.about-atom section.no2 .title.font-b {
    font-size: 1.1em;
    margin-bottom: 2%;
    text-align: center;
}

.about-atom section.no2 .box {
    border: 2px solid #0071bc;
    padding: 2%;
    margin-bottom: 2%;
}

.about-atom section.no2:last-child {
    margin-bottom: 0
}

.about-atom section.no2 .box-m2 .goods-title {
    color: #0071bc;
    font-size: 1.1em;
    font-weight: bold;
}

.about-atom section.no2 .box-m2 img {
    width: 75%;
    margin: 2% auto;
}

.about-atom section.no2 .box-m2.last {
    margin-right: 0
}

.about-atom section.no2 .op {
    margin-top: 1%;
}

/*③制御盤内のレイアウト*/
.about-atom section.no3 .box { width: 30%; display: inline-block; margin-right: 2%; vertical-align: middle; }
/* 表全体 */
.about-atom section.no3 .table-m3 {
    margin-top: 2%;
    border-collapse: collapse;
    width: 100%;
    table-layout: auto; /* 横幅に応じてセル幅を自動調整 */
}

/* th と td 共通 */
.about-atom section.no3 .table-m3 th,
.about-atom section.no3 .table-m3 td {
    border: 1px solid black;
    padding: 8px 10px;       /* 少し余裕を持たせる */
    white-space: nowrap;     /* ここで改行させず横に並べる */
    text-align: center;      /* ヘッダーは中央揃え */
    vertical-align: middle;
}

/* 偶数行の背景色 */
.about-atom section.no3 .table-m3 tr:nth-child(even) {
    background-color: #e7f6ff;
}

/* 長い名称がはみ出す場合は折り返す */
.about-atom section.no3 .table-m3 td.name-cell {
    white-space: normal;
    word-break: break-word;
    text-align: left; /* 読みやすく左寄せ */
}

/* 必要に応じてヘッダーを横幅固定に */
.about-atom section.no3 .table-m3 th.no-col {
    width: 50px; /* No列の幅を固定 */
}


/*④AToM (アトム) 構成部品*/
.about-atom section.no4 .table-m4 {
    margin-top: 2%;
    border-collapse: collapse;
    width: 100%
}

.about-atom section.no4 .table-m4 tr {
    border-bottom: 1px solid black
}

.about-atom section.no4 .table-m4 td {
    padding: 1% 0.5%;
}

.about-atom section.no4 .table-m4 td.ver1 {
    width: 17%;
    font-weight: bold;
    vertical-align: top;
}

.about-atom section.no4 .table-m4 td.ver2,
.about-atom section.no4 .table-m4 td.ver3 {
    width: 35%;
    vertical-align: top;
}

.about-atom section.no4 .table-m4 td.ver2.line ul {
    margin-bottom: 3%
}

.about-atom section.no4 .table-m4 td.ver2.line ul:last-child {
    margin-bottom: 0
}

.about-atom section.no4 .table-m4 td.ver3 {
    vertical-align: middle;
}

.about-atom section.no4 .table-m4 td.ver3 .img {
    text-align: center
}
/*双腕型ロボット「NEXTAGE」 */
.btn-left-wrap {
    text-align: left; /* 親で左寄せ */
    margin: 2% 0 3%;  /* 上下余白 */
}

.goods-btn-left {
    display: inline-block;
    background: #fff;
    color: #0072bc;
    border: 2px solid #0072bc;
    border-radius: 8px;
    padding: 12px 75px;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    transition: 0.3s;
}

.goods-btn-left:hover {
    background: #0072bc;
    color: #fff;
    transform: translateY(-1px);
}
/* 投稿ID 1823 のみ適用 */
.postid-1823 .single-materials .product-table .value {
    width: 90%;
}

.postid-1823 .single-materials .product-table .label {
    width: 10%;
}
/* =============================
   教材詳細ページ（single-materials）レスポンシブ
   ============================= */

/* 投稿ページID 1823 だけに適用する場合は先頭に .postid-1823 を追加 */
.single-materials,
.postid-1823 .single-materials {

    /* 画像 */
.postImg {
        width: 100%;       /* スマホでも横幅いっぱい */
        height: auto;      /* 高さ自動 */
        max-width: 500px;  /* 最大幅はPC向け */
        margin: 2% auto;
        display: block;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }

    /* 表全体 */
    .product-table {
        width: 100%; /* 幅いっぱい */
        overflow-x: auto; /* 横スクロール対応 */
        display: block;
    }

    /* 左右カラム比率 */
    .product-table .label {
        width: 30%; /* スマホで少し広めに */
        display: inline-block;
    }

    .product-table .value {
        width: 65%; /* 残り */
        display: inline-block;
    }

    /* ボタン */
    .goods-btn {
        padding: 12px 30px; /* 横幅狭め */
        font-size: 14px;    /* 小さめに */
    }
}

/* タブレット */
@media screen and (max-width: 1024px) {
    .single-materials .postImg {
        max-width: 600px;
    }

    .single-materials .product-table .label {
        width: 35%;
    }

    .single-materials .product-table .value {
        width: 60%;
    }

    .single-materials .goods-btn {
        padding: 12px 40px;
    }
}

/* スマホ */
@media screen and (max-width: 768px) {
    .single-materials .postImg {
        max-width: 100%;
    }

    .single-materials .product-table .label,
    .single-materials .product-table .value {
        width: 100%;
        display: block;
        box-sizing: border-box;
        padding: 4px 10px;
    }

    .single-materials .goods-btn {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 15px 0;
        padding: 12px 0;
        text-align: center;
    }
}
/* タブレット */
@media screen and (max-width: 1024px) {
    .postid-1823 .single-materials .product-table {
        max-width: 100%;
    }

    .postid-1823 .single-materials .product-table .label {
        width: 30%;
        text-align: left;
        padding-left: 10px;
    }

    .postid-1823 .single-materials .product-table .value {
        width: 65%;
    }
}

/* スマホ */
@media screen and (max-width: 768px) {
    .postid-1823 .single-materials .product-table,
    .postid-1823 .single-materials .product-table tr,
    .postid-1823 .single-materials .product-table th,
    .postid-1823 .single-materials .product-table td {
        display: block;      /* 縦並びに */
        width: 100%;         /* 幅いっぱい */
    }

    .postid-1823 .single-materials .product-table th {
        display: none;       /* ヘッダーは非表示 */
    }
    .postid-1823 .single-materials .product-table .value {
        padding: 6px 10px 12px 10px;
        margin-bottom: 5px;
        background-color: #f9f9f9;
        border: 1px solid #ccc;
        border-top: none;
    }
}
/* =============================
   AtoMページレスポンシブ対応
   ============================= */
@media screen and (max-width: 768px) {

    /* 画像を幅100%にして折り返す */
    .single-materials .about-atom .over-f .box img,
    .single-materials .about-atom .over-f .box-m2 img,
    .single-materials .about-atom .over-f .box-m1 img {
        width: 100%;
        height: auto;
    }

    /* ボックス内のテキスト折り返し */
    .single-materials .about-atom .over-f .box-m1 p,
    .single-materials .about-atom .over-f .box-m1 ul,
    .single-materials .about-atom .over-f .box-m2 p,
    .single-materials .about-atom .over-f .box-m2 ul {
        word-break: break-word;
    }

    /* 表全体の横スクロール対応 */
    .single-materials .about-atom table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        width: 100%;
    }

    /* 表セルの折り返し調整 */
    .single-materials .about-atom table th,
    .single-materials .about-atom table td {
        padding: 6px 8px;
        font-size: 14px;
    }

    /* タイトルや見出しの文字サイズ調整 */
    .single-materials .about-atom .top-comment h3 {
        font-size: 18px;
        line-height: 1.3;
    }

    /* ボタンの調整 */
    .single-materials .about-atom .robot-apply-btn-2 {
        display: block;
        width: 90%;
        max-width: 400px;
        margin: 0 auto;
        text-align: center;
        font-size: 16px;
        padding: 12px 0;
    }

    /* 「op」クラスの段落改行 */
    .single-materials .about-atom p.op {
        font-size: 14px;
        line-height: 1.5;
    }

    /* over-fクラスのボックスを縦並びに */
    .single-materials .about-atom .over-f {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    .single-materials .about-atom .over-f .box,
    .single-materials .about-atom .over-f .box-m1,
    .single-materials .about-atom .over-f .box-m2 {
        width: 100%;
    }
	.single-materials .about-atom .table-m3 {
        display: block;          /* 横スクロール可能にする */
        width: 100%;             /* 幅を100%に */
        overflow-x: auto;        /* 横スクロール */
        -webkit-overflow-scrolling: touch; /* スムーズスクロール */
        border-collapse: collapse;
    }

    .single-materials .about-atom .table-m3 th,
    .single-materials .about-atom .table-m3 td {
        white-space: nowrap;     /* 改行せずに横に並べる */
        padding: 6px 8px;
        font-size: 14px;         /* モバイル向けに少し小さく */
        border: 1px solid black;
    }

    .single-materials .about-atom .table-m3 tr:nth-child(even) {
        background-color: #e7f6ff; /* 既存の色は維持 */
    }

    .single-materials .about-atom .table-m3 th {
        text-align: center;      /* タイトル中央揃え */
        background-color: #a0d6ec; /* ヘッダ色はそのまま */
    }
	/* 保全技能～のボックスをモバイルで横幅100%に */
    .about-atom section.no1 .over-f > .box {
        width: 100% !important;
        display: block;
        margin-bottom: 16px; /* 下の余白調整 */
    }

    .about-atom section.no1 .box-m1 {
        width: 100% !important;
        margin-bottom: 12px;
    }
}

/* ======================================================
/*        ++スクールについてページ++
/* ======================================================*/
.about .midashi {
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
    margin-bottom: 2%;
    font-size: 2.5em;
    color: #0071bc
}

.about .merit {
    margin: 5% 0;
    padding: 2% 0;
    background-image: none
}

.about .merit li {
    margin-bottom: 1%;
    font-size: 1.1em;
}

.about .merit li .far {
    font-size: 1.1em;
    margin-right: 0.5%
}

.about .merit .midashi {
    font-size: 1.5em;
    margin-bottom: 1%;
    color: #515151;
}

.about .top .left,
.about .top .right {
    width: 25%;
    display: inline-block;
    vertical-align: middle;
}

.about .top .middle {
    display: inline-block;
    width: 45%;
    vertical-align: middle;
}

.about .top .middle .midashi {
    margin-bottom: 0
}

.about .text-c.zu {
    width: 50%;
    margin: 3% auto 0;
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .about .midashi {
        font-size: 1.8em;
    }
}

@media screen and (max-width: 640px) {
    .about .midashi {
        font-size: 1.3em;
    }

    .about .top .left,
    .about .top .right {
        width: 60%;
        display: block;
        margin: 0 auto;
    }

    .about .top .middle {
        display: block;
        width: 100%;
        vertical-align: middle;
        margin: 5% 0;
        margin-top: 0
    }

    .about .top .left {
        display: none
    }

    .about .top .right {
        width: 80%;
        display: block;
        margin: 0 auto 2%;
    }

    .about .merit {
        padding: 2%;
    }

    .about .merit .midashi {
        font-size: 1.3em;
    }

    .about .merit li {
        text-align: left;
        font-size: 1em;
    }

    .about .text-c.zu {
        width: 80%
    }
}

/*----------------- トップページ改修　------------------*/
.top-course7all .box-toukou .charge {
    overflow: hidden
}

.top-course7all .box-toukou .charge p {
    color: #de2525;
    font-weight: bold;
    float: left
}

.top-course7all .box-toukou .charge span {
    float: left;
    margin-right: 2%;
    background-color: #193b52;
    color: white;
    padding: 0.5% 1.5%;
    font-size: 0.8em;
}

.top-course7all .box-toukou {
    width: 24.5%;
    margin: 0;
    margin-right: 0.5%;
    margin-bottom: 0.5%;
}

.top-course7all .box-toukou:nth-child(4) {
    margin-right: 0
}


/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .top-course7all .box-toukou {
        width: 32.5%;
        margin-right: 1%;
        margin-bottom: 1%;
    }

    .top-course7all .box-toukou:nth-child(4) {
        margin-right: 1%;
    }

    .top-course7all .box-toukou:nth-child(3),
    top-course7all .box-toukou:nth-child(6) {
        margin-right: 0
    }
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .top-course7all .box-toukou {
        width: 100%;
        margin-right: 0;
        margin-bottom: 2.5%;
    }
}

/*コミュニケーション科ヒューマンスキルコースを新設1218*/
.commyu-annno {
    width: 70%;
    margin: 0 auto
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .commyu-annno {
        width: 100%;
    }
}

/*コース一覧・申し込みボタン*/
.page .box-m .summary-box .btn-on a {
    background: #f4930c;
    background: -moz-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: -webkit-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4930c', endColorstr='#fcd600', GradientType=1);
    color: white;
    padding: 0.5% 1%;
    font-size: 0.95em;
    display: block;
    margin-top: 2%;
    width: 30%;
    text-align: center;
    font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .page .box-m .summary-box .btn-on a {
        width: 60%
    }
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .page .box-m .summary-box .btn-on a {
        width: 100%
    }
}

/* ======================================================
/*        ++トップページカルーセル++
/* ======================================================*/
slick-slide {
    margin: 0 5px;
}

.slick-slide img {
    width: 100%;
    height: auto;
}

.slick-prev,
.slick-next {
    z-index: 1;
}

.slick-prev:before,
.slick-next:before {
    color: #000;
}

.slick-slide {
    transition: all ease-in-out .3s;
    opacity: .6;
}

.slick-active {
    opacity: 1;
}

.slick-current {
    opacity: 1;
}

.thumb {
    margin: 20px 0 0;
}

.thumb .slick-slide {
    cursor: pointer;
}

.thumb .slick-slide:hover {
    opacity: .7;
}

/*1枚目*/
.img1 .font-25 {
    font-size: 40px;
    font-weight: bold;
    color: white;
    letter-spacing: 0.05em;
    margin-top: 0;
    line-height: 1.7;
}

.headline {
    font-size: 1.5em;
    line-height: 2;
}

.img1 .font-25 span.font-blue {
    color: #b9eafc;
    letter-spacing: 0.07em
}

/*2枚目*/
.img2 .font-25 {
    font-size: 4em;
    font-weight: bold;
    color: #f0ffec;
    letter-spacing: 0.05em;
    margin-top: 2%;
}

.img2 .font-25 span {
    color: #ffffa9
}

.img2 .font-15 {
    font-size: 1.5em;
    color: white;
}

.img2 hr {
    width: 40%;
    float: left;
    color: white;
    margin-top: 0;
}

.img2 .font-no1 {
    position: absolute;
    bottom: 5%;
    left: 20%;
    font-size: 1.1em;
    background-color: #9fc520;
    padding: 0.7%;
    line-height: 1.5em;
    color: white;
}

.img2 .font-no2 {
    position: absolute;
    top: 40%;
    right: 2%;
    font-size: 1.1em;
    background-color: #0071bc;
    padding: 0.7%;
    line-height: 1.5em;
    color: white;
}

.img2 .font-no3 {
    position: absolute;
    bottom: 20%;
    right: 10%;
    font-size: 1.1em;
    background-color: #14a97e;
    padding: 0.7%;
    line-height: 1.5em;
    color: white;
}

/*3枚目*/
.img3 .photo-no1 {
    position: absolute;
    top: 0;
}

.img3 .photo-no1 .box {
    float: left;
    width: 25%
}

.img3 .photo-no1 .box p {
    font-size: 1.2em;
    font-weight: bold;
    color: #2f2f2f;
    margin-top: 1%
}

.img3 .line-no1 {
    position: absolute;
    bottom: 0;
    overflow: hidden;
    text-align: center;
    left: 0;
    width: 100%;
    background-color: #FFA222
}

.img3 .line-no1 p {
    display: inline-block;
    font-size: 2em;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
    margin-right: 2%
}

.img3 .line-no1 p span.min {
    font-size: 0.6em
}

.img3 .line-no1 p.font-blue {
    background-color: #FFC303;
    padding: 1%
}

.img3 .content-no1 p {
    font-size: 4em;
}

.img3 .content-no1 h2 {
    font-size: 4em;
    color: white
}

.img3 .content-no1 h2 span.seven {
    font-size: 2.5em;
    line-height: 0;
    font-family: 'ヒラギノ角ゴ Std W8', 'Hiragino Kaku Gothic Std';
}

.img3 .content-no1 p {
    background-color: #FFF1CC;
    display: inline-block;
    font-size: 2.5em;
    padding: 0 0 0 1%;
    color: #009966;
}

.img3 .content-no1 p img {
    width: 17%;
    display: inline-block;
}

.img3 .content-no1 {
    position: absolute;
    bottom: 18%;
    overflow: hidden;
    text-align: left;
    left: 10%;
    width: 90%;
}

.img3 .img-no1 {
    position: absolute;
    bottom: 18%;
    right: 10%;
    width: 18%;
}

.other {
    display: none;
}

/*i-pad用処理*/
@media screen and (max-width: 1600px) {
    .img2 .font-15 {
        font-size: 1.3em;
    }

    .img3 .photo-no1 .box p {
        font-size: 1.1em;
    }
}

/*i-pad用処理*/
@media screen and (max-width: 1560px) {
    .img2 .font-25 {
        font-size: 3.5em;
    }
}

/*i-pad用処理*/
@media screen and (max-width: 1535px) {
    .img1 .font-25 {
        font-size: 30px;
    }

    .headline {
        font-size: 1.8em;
    }

    .img3 .img-no1 {
        right: 5%;
        width: 15%;
    }

    .img2 .font-15 {
        font-size: 1.2em;
    }
}

/*i-pad用処理*/
@media screen and (max-width: 1460px) {

    .img2 .font-no1,
    .img2 .font-no2,
    .img2 .font-no3 {
        font-size: 1em;
    }

    .img3 .img-no1 {
        width: 10%;
    }
}

/*i-pad用処理*/
@media screen and (max-width: 1450px) {
    .img3 .content-no1 h2 span.seven {
        font-size: 2em;
    }

    .img2 .font-15 {
        font-size: 1.1em;
    }
}

/*i-pad用処理*/
@media screen and (max-width: 1430px) {
    .img1 .font-25 {
        font-size: 25px;
    }

    .headline {
        font-size: 1.7em;
    }

    .img3 .photo-no1 .box p {
        font-size: 1em;
    }

    .img2 .font-25 {
        font-size: 3em;
    }

    .img3 .content-no1 p {
        font-size: 2em;
    }

    .img3 .img-no1 {
        display: none
    }
}

/*i-pad用処理*/
@media screen and (max-width: 1400px) {
    .img3 .img-no1 {
        font-size: 3.5em;
    }
}

@media screen and (max-width: 1300px) {
    .img3 .content-no1 p {
        font-size: 1.5em;
    }

    .img3 .content-no1 p img {
        width: 14%;
    }

    .img3 .line-no1 p {
        font-size: 1.4em;
        line-height: 1.5em;
    }

    .img3 .photo-no1 .box p {
        font-size: 0.9em;
    }
}

@media screen and (max-width: 1290px) {
    .img2 .font-15 {
        font-size: 1em;
    }

    .img2 .font-no1,
    .img2 .font-no2,
    .img2 .font-no3 {
        font-size: 0.9em;
    }

    .img3 .content-no1 h2 {
        font-size: 3.5em;
    }
}

@media screen and (max-width: 1250px) {
    .img1 .font-25 {
        font-size: 23px;
    }

    .headline {
        font-size: 1.7em;
    }

    .img2 .font-25 {
        font-size: 2.5em;
    }

    .img3 .photo-no1 .box p {
        display: none
    }

    .img3 .content-no1 {
        top: 23%;
    }

    .img3 .line-no1 {
        padding-bottom: 5%
    }

    .img3 .img-no1 {
        display: block;
        top: 40%;
        width: 25%;
    }
}

@media screen and (max-width: 1200px) {
    .sample-slide a div.icon-p .font-black {
        font-size: 1em;
    }

    .sample-slide a div.icon-p p {
        font-size: 1em;
    }

    .img2 .font-15 {
        font-size: 0.9em;
    }
}

@media screen and (max-width: 1170px) {
    .img3 .content-no1 h2 {
        font-size: 3em;
    }

    .img1 .font-25 {
        font-size: 19px;
    }

    .headline {
        font-size: 1.8em;
    }
}

@media screen and (max-width: 1150px) {
    .home .slick-dotted.slick-slider {
        margin-top: 7%;
    }

    .img3 .photo-no1 .box p {
        font-size: 0.8em;
    }

    .img2 .font-15 {
        font-size: 0.8em;
    }

    .img2 .font-no1,
    .img2 .font-no2,
    .img2 .font-no3 {
        font-size: 0.8em;
    }
}

@media screen and (max-width: 1100px) {
    .img1 .font-25 {
        font-size: 19px;
    }

    .headline {
        font-size: 1.6em;
    }

    .img2 .font-25 {
        font-size: 2.2em;
        line-height: 1.9em;
    }

    .img3 .content-no1 h2 {
        line-height: 2em;
        font-size: 2.2em;
    }

    .img3 .content-no1 p {
        font-size: 1.2em;
        margin-bottom: 3%;
        text-align: center;
        padding-right: 0;
    }
}

@media screen and (max-width: 1050px) {
    .sample-slide a div.icon-p .font-black {
        font-size: 0.8em;
    }

    .sample-slide a div.icon-p p {
        font-size: 0.8em;
    }

    .img2 .font-15 {
        font-size: 1em;
        line-height: 1.9em;
    }

    .img2 .font-no1,
    .img2 .font-no2,
    .img2 .font-no3 {
        font-size: 0.7em;
    }

    .img2 .font-no1 {
        left: 5%;
    }
}


@media screen and (max-width: 1024px) {
    .img1 .font-25 {
        font-size: 22px;
        margin-top: 5%;
    }

    .headline {
        font-size: 2em;
        line-height: 1.5;
    }

    .other {
        display: block;
    }
}

@media screen and (max-width: 894px) {
    .img1 .font-25 {
        font-size: 18px;
    }

    .headline {
        font-size: 1.8em;
    }
}

@media screen and (max-width: 765px) {
    .img1 .font-25 {
        font-size: 18px;
        line-height: 1.9em;
    }

    .headline {
        font-size: 1.8em;
    }
}

/*i-phone用処理*/
@media screen and (max-width:641px) {
    .img3 .line-no1 p.font-blue {
        display: block;
        margin: 0;
    }
}

/*画像切り替え*/
@media screen and (min-width:1025px) {
    .only-ipadtop {
        display: none
    }
}

@media screen and (max-width:1024px) {
    .only-pctop {
        display: none
    }

    .only-ipadtop {
        display: block
    }
}

/* ======================================================
/*        ++受講者の声ページ++
/* ======================================================*/
.voice .over-f .img p {
    text-align: left;
    margin-top: 1%
}

.voice .over-f .img:last-child {
    margin-right: 0
}

.voice .font-b.font-blue {
    font-size: 1.2em;
    margin: 3% 0 2%
}

.voice .over-f .box:nth-child(even) {
    margin-right: 0
}

.voice .over-f .box:nth-child(5),
.voice .over-f .box:nth-child(6) {
    margin-bottom: 0
}

.voice .btn {
    background: #f4930c;
    background: -moz-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: -webkit-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4930c', endColorstr='#fcd600', GradientType=1);
    color: white;
    width: 30%;
    display: block;
    text-align: center;
    border-radius: 0;
    padding: 1% 0.5%;
    /* font-size: 0.98em; */
    margin: 0 auto;
}
body.page-id-1723 .content-h {
    padding-bottom: 0 !important; /* 下だけ0にする */
}
/* ======================================================
/*               ++ 実績紹介 ページ ++
/* ======================================================*/
.results section h3 {
    padding: 1%;
    background-color: #0071bc;
    margin-bottom: 2%;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
    padding-left: 6%;
    position: relative;
}

.results table {
    width: 100%;
    border-collapse: collapse;
    background-color: white
}

.results th {
    width: 33%;
    padding: 0.5% 1%;
    text-align: left;
}

.results tr:nth-child(even) {
    background-color: #fffce8
}

.results td {
    padding: 0.5% 1%;
}

.results .btn {
    background: #f4930c;
    background: -moz-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: -webkit-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4930c', endColorstr='#fcd600', GradientType=1);
    color: white;
    width: 30%;
    display: block;
    text-align: center;
    border-radius: 0;
    padding: 1% 0.5%;
    /* font-size: 0.98em; */
    margin: 3% auto 0
}

.results .fa-caret-right {
    margin-left: 2%;
}

/*i-pad用処理*/
@media screen and (max-width: 1025px) {
    .results .btn {
        width: 40%
    }
}

@media screen and (max-width: 640px) {
    .results section h3 {
        padding-left: 1%;
    }

    .results .btn {
        width: 97%;
        padding: 2% 0;
    }
}

/* ======================================================
/*               ++ トップ画像1枚目 未経験者歓迎++
/* ======================================================*/
.beginnerOK {
    overflow: hidden;
    font-size: 1.4em;
    font-weight: bold;
    background: repeating-linear-gradient(45deg, #e3eed3, #e3eed3 6px, #d7ecb9 0, #d7ecb9 12px);
    width: 22%;
    padding: 0.5%;
    color: #007a4e;
    margin-top: 1%;
}

.slick-slide .beginnerOK img {
    width: 15%;
    display: inline-block;
    vertical-align: middle;
    margin-right: 1%;
}

.slick-slide .beginnerOK span {
    vertical-align: middle;
    display: inline-block;
    width: 85%;
    font-size: 1.2em;
}

/* ======================================================
/*               ++ コロナの為定期開催見合わせ++
/* ======================================================*/
.calendar .anno {
    margin: 2% 0;
    border: 2px solid #0071bc;
    padding: 0.5% 0.5% 0.5% 1%;
}

.calendar .anno .box-t {
    display: inline-block;
    vertical-align: middle;
    width: 64%;
}

.calendar .anno .box-t:last-child {
    width: 35.4%;
    background-color: #0071bc;
    color: white;
    text-align: center;
}

.calendar .anno .box-t .font-r {
    font-size: 1.2em;
}

.calendar .anno .box-t:last-child a,
.calendar .anno .box-t:last-child p {
    color: white;
}

.calendar .anno .box-t:last-child .tel {
    font-size: 1.3em
}

.calendar .anno .box-t .text-u {
    text-decoration: underline
}

.mar-r05 {
    margin-right: 0.5%
}

.single-materials .btn-more2 {
    margin: 3% 0;
}

.single-materials .btn-more2 a {
    background: #f4930c;
    background: -moz-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: -webkit-linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    background: linear-gradient(45deg, #f4930c 7%, #fcd600 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f4930c', endColorstr='#fcd600', GradientType=1);
    color: white;
    width: 55%;
    display: block;
    text-align: center;
    border-radius: 0;
    padding: 1% 0.5%;
    font-size: 0.98em;
    margin: 0 auto;
}

@media screen and (max-width: 1025px) {
    .calendar .anno {
        padding: 1%
    }

    .calendar .anno .box-t {
        display: block;
        width: 100%;
        text-align: center;
        padding: 2% 2% 10%;
    }

    .calendar .anno .box-t:last-child {
        width: 100%;
        margin-top: 1%;
    }
}

@media screen and (max-width: 640px) {
    .calendar .anno {
        margin-bottom: 0
    }

    .calendar .anno .box-t:last-child {
        display: none
    }

    .calendar .box-tm {
        background-color: #0071bc;
        padding: 1% 1% 2%;
        margin-bottom: 4%;
    }

    .calendar .box-tm a,
    .calendar .box-tm p {
        color: white;
    }

    .calendar .box-tm .tel {
        font-size: 1.3em
    }
}

.h_logo {
    max-width: 250px;
}

.link-school img {
    max-width: 28px;
}

.link-school span {
    color: #515151;
    font-weight: bold;
}

.fc-toolbar .fc-left h2 {
    color: #0071bc !important;
}

.btm-banar img {
    width: 70%;
}

.single-maincourse .font-g.yoyaku {
    padding: 0.5% 1%;
    background-color: #0071bc;
    margin-bottom: 2%;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
}

@media screen and (max-width: 1250px) {
    .prologue h2 span {
        display: block;
    }

    .prologue .box-m {
        width: 65%;
    }

    .prologue .box-m:last-child {
        width: 28%;
    }

    .point .point-icon {
        width: 25%;
    }

    .point .box-m h3 {
        font-size: 1em;
    }

    .point .box-m h3 span {
        font-size: 1.5em;
    }

    .about .midashi {
        font-size: 1.2em;
        font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        font-weight: bold;
    }
}

@media screen and (max-width:640px) {
    .sample-slide a div.icon-p {
        padding: 2.5% 6%
    }

    .h_logo {
        max-width: 190px;
    }

    .home .slick-dotted.slick-slider {
        margin-top: 10%;
    }

    .top-course7all .box-toukou.top .font-w {
        display: block;
        width: 100%;
        font-size: 1.2em;
        vertical-align: middle;
        text-align: center;
        margin-bottom: 0;
    }

    .top-course7all .box-toukou.top .over-f .box-m:last-child {
        display: none;
    }

    .top-course7all .box-toukou.top .over-f .box-m p {
        background-color: white;
        border-radius: 0;
        padding: 2%;
    }

    .top-course7all .box-toukou.top {
        background-color: #181818;
    }

    .top-course7all .box-toukou.top .over-f .box-m {
        width: 98%;
        margin-right: 0;
    }

    .top-course7all .box-toukou.top .heightLine {
        padding: 0;
        height: 138px !important;
    }

    .prologue h2 {
        font-size: 1.2em;
    }

    .prologue .box-m:last-child p {
        border-radius: 0;
        padding: 2%;
        font-size: 1.2em;
        font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        line-height: 1.5em;
    }

    .prologue .box-m {
        width: 100%;
        display: block;
        margin-bottom: 5%;
    }

    .prologue .box-m .btn {
        width: 100%;
        padding: 2% 0;
    }

    .prologue .box-m:last-child {
        width: 100%;
    }

    .prologue .box-m:last-child .bigginer {
        left: 0;
        top: 10%;
        width: 23%;
    }

    .point .point-icon {
        width: 100%;
        background-color: transparent;
        margin: 0;
        padding: 0;
    }

    .point .point-icon img {
        display: none;
    }

    .point .box-m {
        display: block;
        width: 100%;
        margin-right: 0;
        background-color: white;
        margin-bottom: 4%;
    }

    .point .box-m .box {
        padding: 3%;
    }

    .movie .box-m h2 {
        font-size: 1.2em;
    }

    .movie .box-m {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-bottom: 7%;
    }

    .movie .content {
        padding: 10% 5%;
        width: 90%;
    }

    .calendar h2 {
        font-size: 1.2em;
        text-align: center;
        margin-bottom: 4%;
    }

    .infor {
        background-size: contain;
    }

    .infor .box-m h2 {
        font-size: 1.2em;
    }

    .infor .box-m {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-bottom: 9%;
    }

    .infor .box-m .btn a {
        color: white;
        width: 90%;
        padding: 2% 0;
        font-size: 0.9em;
        border: 1px solid white;
    }

    p {
        line-height: 1.9em;
    }

    .infor .box-m .waku .img {
        display: none;
    }

    .infor .box-m .waku .address {
        width: 75%;
    }

    .single-materials .btn-more2 a {
        width: 100%;
        padding: 3% 0;
        margin-bottom: 5%;
        display: block;
    }
}

@media screen and (max-width: 1025px) {
    .top-course7all .box-toukou.top .over-f .box-m:last-child {
        display: none;
    }

    .top-course7all .box-toukou.top .over-f .box-m p {
        padding: 7%;
        margin-bottom: 5%;
    }

    .top-course7all .box-toukou.top .over-f .box-m {
        width: 100%;
        margin-right: 0;
    }

    .top-course7all .box-toukou:nth-child(6) {
        margin-right: 0;
    }
    /* .page .top-img {
        margin-top: 80px;
    } */
    .page .top-img .title-1 {
        top: 30%;
    }

    .page .top-img .title-1 h1 {
        font-size: 1.25em;
        font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        font-weight: bold;
    }

    .pankuzu {
        margin-bottom: 3%;
        margin-top: 3%;
    }
}

@media screen and (max-width: 641px) {
    .page .box-m .summary-box a {
        font-size: 1.1em;
        font-family: ヒラギノ角ゴシック, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }

    .page .box-m .summary-box .box-t {
        font-size: 0.9em;
    }

    .page .box-m .summary-box .btn-on a {
        width: 100%;
        padding: 3% 0;
        margin-top: 5%;
    }

    .page .box-m .photo {
        width: 27%;
        margin-right: 5%;
    }

    .btm-banar img {
        width: 95%;
    }

    .top-course7all .box-toukou.top .over-f .box-m p {
        color: #0071bc;
        background-color: white;
        font-size: 1.1em;
        border-radius: 0;
        padding: 2%;
    }
}

/* @media screen and (max-width: 641px) {
		.page .top-img {
    margin-top: 54px;
}
} */

@media screen and (max-width: 767px) {
    .single-maincourse .box-k .right2 {
        width: 100%;
        float: none;
    }
	.single-materials .top-img .title-1 {
        font-size: 10px;        /* モバイル用に文字サイズ調整 */
        line-height: 1.4;       /* 行間を少し広めに */
        word-break: break-word;  /* 長い単語も折り返す */
        white-space: normal;     /* 折り返し有効化 */
    }
}

#sitemap_list {
    background: #fff;
    margin: 0;
    padding: 0;
}

#sitemap_list li.home-item {
    margin-left: 0px;
}

#sitemap_list li {
    background: url(https://www.agekke.co.jp/training-robot/wp/wp-content/plugins/ps-auto-sitemap/images/business/line_dotted_brown.png) repeat-x 0 1.8em;
    font-size: medium;
    text-indent: 0;
    padding: 0 0 12px 0px;
    margin: 12px 0;
    list-style-type: none;
}

#sitemap_list li a {
    color: #666;
    background: url(https://www.agekke.co.jp/training-robot/wp/wp-content/plugins/ps-auto-sitemap/images/business/ico_lv1.png) no-repeat left center;
    text-decoration: none;
    display: inline-block;
    padding-left: 25px;
    line-height: 32px;
}

#sitemap_list li li {
    font-size: small;
    background: none;
    margin: 7px 0 0 0;
    padding: 1px 0 0 27px;
}


#sitemap_list li li a {
    background: url(https://www.agekke.co.jp/training-robot/wp/wp-content/plugins/ps-auto-sitemap/images/business/ico_lv2.png) no-repeat left center;
    padding-left: 15px;
    line-height: normal;
}

#sitemap_list li li li {
    padding-left: 15px;
}

#sitemap_list li li li a {
    background: url(https://www.agekke.co.jp/training-robot/wp/wp-content/plugins/ps-auto-sitemap/images/business/ico_lv1.png) no-repeat left center;
}

#sitemap_list ul {
    padding: 0;
    margin: 0;
}

#sitemap_list .posts_in_category {
    position: absolute;
    padding-left: 10px;
    padding-top: 3px;
}

#sitemap_list li li .posts_in_category {
    padding-top: 0;
}

#sitemap_list li .posts_in_category a {
    background: #fff url(https://www.agekke.co.jp/training-robot/wp/wp-content/plugins/ps-auto-sitemap/images/business/ico_post_list.png) no-repeat center;
    text-indent: -9999px;
    display: block;
    width: 1.2em;
    height: 1.2em;
    border: solid 1px #ccc;
    padding: 0;
}

/*追加ＣＳＳ*/
#sitemap_list li a {
    color: black;
}

.mannaka{
	height: 27px !important;
	text-align:center;
}
/*トップページカレンダー非表示250210*/
#calendar{
display:none;
}
/*代わりにお知らせの背景に差し替え*/
.infor {
    background-image: none;
    -webkit-background-size: 10px 10px;
    -moz-background-size: 10px 10px;
    background-size: 10px 10px;
    background-color: white;
    background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, #f1f1f1), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, #f1f1f1), color-stop(.75, #f1f1f1), color-stop(.75, transparent), to(transparent));
    background-image: -webkit-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent 50%, #f1f1f1 50%, #f1f1f1 75%, transparent 75%, transparent);
    background-image: -moz-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent 50%, #f1f1f1 50%, #f1f1f1 75%, transparent 75%, transparent);
    background-image: -ms-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent 50%, #f1f1f1 50%, #f1f1f1 75%, transparent 75%, transparent);
    background-image: -o-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent 50%, #f1f1f1 50%, #f1f1f1 75%, transparent 75%, transparent);
    background-image: linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent 50%, #f1f1f1 50%, #f1f1f1 75%, transparent 75%, transparent);
}
.infor .font-aquablue{
color:#0071bc;
}
.infor .box-m .btn a {
    color:#167ac6;
    border: 2px solid #167ac6;
}
.infor .box-m .btn a:hover{
color:white;
}
/*movieの下にボタン追加*/
.movie .btn_info{
background: #f4930c;
    color: white;
    width: 55%;
    display: block;
    text-align: center;
    border-radius: 0;
    padding: 1% 0.5%;
    font-size: 0.98em;
    font-weight: bold;
    margin:50px auto 0;
}
.movie .btn_info .fas {
    margin-left: 1%;
}
.movie .btn_info:hover{
background:#fcd600;
}
@media screen and (max-width: 645px) {
.movie .btn_info{
    width: 90%;
        padding: 2% 0;
}
}
/*各ページカレンダー非表示250210*/
.anno .btn_info{
background: #f4930c;
    color: white;
    width: 55%;
    display: block;
    text-align: center;
    border-radius: 0;
    padding: 1% 0.5%;
    font-size: 0.98em;
font-weight:bold;
margin: 35px auto;
}
.anno .btn_info:hover{
background:#fcd600;
}
.anno .btn_info .fas{
    margin-left: 1%;
}
@media screen and (max-width: 645px) {
.anno .btn_info{
    width: 90%;
        padding: 2% 0;
}
}
/* ボタン中央寄せラッパー */
.contact-btn-wrap {
    text-align: center;
    margin: 40px 0;
}

/* ボタンベース */
.btn-contact {
    display: inline-block;
    padding: 20px 30px;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    background-color: #FD8C2A; /* ベースオレンジでも青に上書き可能 */
    border: 2px solid #FD8C2A;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(0,0,0,0.16);
    transition: all 0.3s ease;
    position: relative;
}

/* ホバー時 */
.btn-contact:hover {
    background-color: #e67c25; /* 少し暗めのオレンジ */
    border-color: #e67c25;
    color: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

/* メール用青ボタン + アイコン */
.btn-contact-mail {
    background-color: #025BAC;
    border-color: #025BAC;
    color: #fff;
}

/* ホバー時（青ボタン用） */
.btn-contact-mail:hover {
    background-color: #0371D5;
    border-color: #0371D5;
    color: #fff;
}

/* 左アイコン ::before */
.btn-contact-mail::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 16px;
    height: 14px;
    margin-right: 8px;
    background: url("images/icon_mail_01.png") no-repeat left center / contain;
}

.bnr-school {
    max-width: 1100px;
    height: auto;   /* 縦横比維持 */
    display: block;
    margin: 0 auto; /* 中央寄せ */
}
/* タブレット対応（iPadなど） */
@media screen and (max-width: 1024px) {
    .bnr-school {
        max-width: 100%; /* 画面幅に応じて少し余白を残す */
    }
}