

@media only screen and (min-width: 640px) and (max-width: 1250px) {

#pageTitleCommon {
	height: 120px;
	border-bottom: solid 4px var(--base-color);
	width: 100%;
	margin: 80px 0 0 0;
	background-image: url(../../images/common/pageTitleCommonSp_bg.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	padding: 0;
}
	
.linkBtnStyle01 {width:90%;}

#pageTitleCommon{width:100%;}

.entryTitle {text-align: left;}

.shinki::after {top:17px;}

/*wrap系 start=======================================================*/
.site-width {width:90%;}

.scroll-top {width:90%;}
.scroll-top a {
    right: -28px;
}

}

@media only screen and (min-width: 800px) and (max-width: 1250px) {

#pageTitleCommon {
        background-image: unset;
        position: relative;
        overflow: hidden;
}
#pageTitleCommon h2 {
        z-index: 1;
        position: relative;
}
#pageTitleCommon > .pageTitleBackImage {
        background-image: url("../../images/common/pageTitleCommon2_bg.png");
        position: absolute;
        bottom: 0;
        z-index: 0;
        right: 0;
        object-fit: cover;
        height: 120px;
}

#pageTitleCommon h2 {
        font-size: 160%;
	height: 120px;
	line-height: 120px;
        padding-top: 0;
        padding: 0;
        line-height: 32px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
        width: 1280px;
        max-width: 90%;
        margin: 0 auto;
}

.seminarYearArea img.pagetitle-common2 {
    width: 270px;
    opacity: 0.3;
    right: -10px;
    top: -15px;
    transform: unset;
}

}

@media only screen and (min-width: 640px) and (max-width: 1025px) {
    #pageTitleCommon > .pageTitleBackImage {
        right: unset;
        left: 30%;
    }
}
@media only screen and (min-width: 640px) and (max-width: 800px) {
    #pageTitleCommon > .pageTitleBackImage {
        display: none;
    }
}

/*------------------------------------------------------------------------------------------*/
/*トップページ用ここから*/

@media only screen and (max-width: 1350px) {

.contactTel {display: block; padding: 30px;}
.contactTel dl { width: 100%; padding: 20px; justify-content: center;}
.contactTel dl div {width: 350px;}
.contactTel-in{width: 100%; margin: 0 auto; border-right: 0; border-bottom: solid 2px #999; display: flex; align-items: center; justify-content: center; padding-right: 0; padding-bottom: 10px;}
.contactTel-in2{width: 100%; margin: 0 auto; display: flex; align-items: center; justify-content: center; padding-left: 0; padding-top: 10px;}
		
}

@media only screen and (min-width: 856px) and (max-width: 1350px) {

html.active {
	overflow: hidden !important;
	height: 100%;
}
	
body.active {
	overflow: hidden !important;
	height: 100%;
}
	
/* ハンバーガーボタンのデザイン調整 */
.header__trigger {
position: fixed;
right:0; top:0;
background-color:transparent;
width: 80px;
height: 80px;
border: none;
z-index: 9; /* メニューを開いている時もクリックできるよう設定 */
}
/* ハンバーガーボタン内の線、デザイン調整 */
.header__trigger > span {
background-color:#fff;
position: absolute;
left: 0;
width: 30px;
height: 2px;
/* transform: translateX(-50%); */
transition: transform 0.3s ease;
}
/* ハンバーガーボタン内の線、位置調整 */
.header__trigger > span:first-child {top: 28px; left: 25px;}
.header__trigger > span:nth-child(2) {top: 50%; left: 25px;}
.header__trigger > span:last-child {bottom: 26px; left: 25px;}
.header__trigger p {display: block; position: absolute; bottom:-11px; font-weight: 600; color:#fff; font-size:110%;}
.header__trigger.active > span {background-color: #fff;}
.header__trigger.active > span:first-child {transform: translate(-15%, 12px) rotate(-45deg); transition: transform 0.3s ease; left: 30px;}
.header__trigger.active > span:nth-child(2) {transform: translate(-15%, 0) rotate(45deg); transition: transform 0.3s ease; left: 30px;}
.header__trigger.active > span:last-child {opacity: 0;transition: opacity 0.3s ease; left: 30px;}

/* ハンバーガーボタンnew start */
.header-btn-trigger {
	position: fixed;
	right:15px;
	top:18px;
	z-index: 9;
	width: 50px;
	height: 44px;
	cursor: pointer;
}
.header-btn-trigger {
        right: 15px;
        top: 25px;
        width: 35px;
        height: 30px;
}
.header-btn-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  /*background-color: #ddf2d1;*/
  border-radius: 4px;
}
.header-btn-trigger, .header-btn-trigger span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.header-btn-trigger.ani-off span {
	animation: none !important;
}
.header-btn-trigger span:nth-of-type(1) {
  top: 0;
}
.header-btn-trigger span:nth-of-type(2) {
  top: 20px;
}
.header-btn-trigger span:nth-of-type(2) {
  top: 13px;
}
.header-btn-trigger span:nth-of-type(3) {
  bottom: 0;
}

#btn-type-new span:nth-of-type(1) {
  -webkit-animation: btn-type-new-bar01 .75s forwards;
  animation: btn-type-new-bar01 .75s forwards;
}
@-webkit-keyframes btn-type-new-bar01 {
  0% {
    -webkit-transform: translateY(13px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(13px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn-type-new-bar01 {
  0% {
    transform: translateY(13px) rotate(45deg);
  }
  50% {
    transform: translateY(13px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
#btn-type-new span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
#btn-type-new span:nth-of-type(3) {
  -webkit-animation: btn-type-new-bar03 .75s forwards;
  animation: btn-type-new-bar03 .75s forwards;
}
@-webkit-keyframes btn-type-new-bar03 {
  0% {
    -webkit-transform: translateY(-13px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-13px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn-type-new-bar03 {
  0% {
    transform: translateY(-13px) rotate(-45deg);
  }
  50% {
    transform: translateY(-13px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
#btn-type-new.active span:nth-of-type(1) {
  -webkit-animation: active-btn-type-new-bar01 .75s forwards;
  animation: active-btn-type-new-bar01 .75s forwards;
}
@-webkit-keyframes active-btn-type-new-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(13px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(13px) rotate(45deg);
  }
}
@keyframes active-btn-type-new-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(13px) rotate(0);
  }
  100% {
    transform: translateY(13px) rotate(45deg);
  }
}
#btn-type-new.active span:nth-of-type(2) {
  opacity: 0;
}
#btn-type-new.active span:nth-of-type(3) {
  -webkit-animation: active-btn-type-new-bar03 .75s forwards;
  animation: active-btn-type-new-bar03 .75s forwards;
}
@-webkit-keyframes active-btn-type-new-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-13px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-13px) rotate(-45deg);
  }
}
@keyframes active-btn-type-new-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-13px) rotate(0);
  }
  100% {
    transform: translateY(-13px) rotate(-45deg);
  }
}
/* ハンバーガーボタンnew end */

.globalNavSP {position: fixed; top: 80px; right: -100%; width: 420px; height: calc(100vh - 80px); background-color: #fff; padding: 3.5rem 1rem 2rem 1rem; transition: all 0.9s ease; overflow: auto; display: block; z-index: 7;}

.globalNavSP ul {width:100%; margin:0 auto;}
.globalNavSP ul li {width:80%; margin:0 auto;}
.globalNavSP ul li a {display: block; padding:15px 10px; width:100%; margin:0 auto; pointer-events:none; border-bottom:solid 1px #ccc; position: relative;}
.globalNavSP ul li:first-child a {border-top:solid 1px #ccc;}
.globalNavSP ul li i {margin:0 10px 0 0; color:var(--base-color);}

.globalNavSP li.parent {padding:15px 10px; border-bottom:solid 1px #ccc;}

.globalNavSP li ul {padding:10px 0 0 0;}
.globalNavSP li ul li {width:100%; padding: 0; list-style: none; margin: 0 0 0 15px;}
.globalNavSP li ul li a {border-bottom-style:none; padding: 5px 0;}
.globalNavSP li ul li:first-child a {border-top-style:none;}

.NavBtn{display: flex; width: 80%; justify-content: space-between; margin: 20px auto;}
.globalNavSP a.typeLogin {display: block; width: 50%; margin:0 5px 0 0; background-color:var(--base-color); border-radius: 5px; color:#fff; padding:2px 5px; border-bottom-style:none; text-align: center; height: auto; padding-top: 1px;}
.globalNavSP a.typeLogin i {color:var(--white);}
.globalNavSP a.typeTop {display: block; width: 50%; margin:0 0 0 5px; color:var(--base-color); border-radius: 5px; border: solid 1px var(--base-color); padding:2px 5px; text-align: center; font-size: 17px; padding-top: 4px; padding-left: 4px;}
.globalNavSP a.typeTop i {
        color: var(--base-color);
        margin-right: 10px;
        font-size: 90%;
        position: relative;
        top: -1px;
}
	
.NavAd{width: 85%; margin: 40px auto; margin-bottom:calc(80px + env(safe-area-inset-bottom)); border: solid 2px var(--base-color); background-color: #fbffee; padding: 20px;}
.NavAd .name{font-size: 80%; line-height: 1.2;}
.NavAd h2{font-size: 120%; font-weight: 700; line-height: 1.2;}
.NavAd .ad{font-size: 85%; line-height: 1.2; padding: 5px 0;}
.NavAd .tel{line-height: 1.2; padding: 5px 0 0; display: flex; align-items: center;}
.NavAd .tel span{font-size: 85%; font-weight: 400;}
.NavAd .tel i{font-size: 15px; display: block; margin-top: 2px;}

.globalNavSP.active {right: 0; transition: all 0.6s ease;}
/*
.globalNavSP {
	right: 0;
	pointer-events: none;
	opacity: 0;
	transform-origin: center;
	transform: scale(.5);
	transition: all .3s ease;
}
.globalNavSP.active {
	pointer-events: auto;
	opacity: 1;
	transform: scale(1.0);
}
*/
.globalNavSP.active  ul li a {pointer-events:auto;}
#mask{display: none;}
.active #mask {display: block; position: fixed; top: 80px; left: 0; width: 100%; height: 100%; z-index: 2; cursor: pointer; background-color: rgba(0, 0, 0, 0.75);}
	
.headerNavArea {background-color:#2a89cb; position: fixed; top: 0; width:100%; padding:10px 0 0 0;}

nav.globalNav {right: 90px;}
.globalNav ul {display: none;}
	
header a.typeLogin{margin-right: 90px;}
	
#HeadMenuBtn{display: block;}
	
footer .footerAddressArea {margin:0 auto 0 0;}
footer .footerAddressArea h2 {margin:0 auto 10px;}
footer nav.umnList {margin:0 0 0 auto; padding:0}

footer nav.umnList ul {display: block;}
footer nav.umnList ul li {margin: 0 auto; padding: 10px 20px; border-bottom: dotted 1px #999; width: 100%;}
footer nav.umnList ul li:last-child{border-bottom: none;}	
footer nav.umnList ul li a {color:var(--white); text-indent: -0.5em; padding-left: 0.5em; margin-left: 0.5em;}
footer nav.umnList ul li a i {margin-right: 5px;}
footer nav.umnList p a {display: block; width:110px; text-align:center; margin:0 0 0 auto; padding:0 10px; border:solid 1px var(--white); color:var(--white); font-size:80%;}
footer nav.umnList p a.typeLogin {margin:10px auto 0 auto;}
footer nav.umnList p a.typeTop {margin:10px auto 0 auto;}

footer address {margin:20px auto 0 auto; font-size: 14px; letter-spacing: 2px;}

.FlexNav {display: block; width: 100%;}
	
.guide-li{display: block; margin-left: 20px; border-bottom: dotted 1px #999 !important;}
.guide{display: flex; margin-left: 15px;}
.guide a{display: block; padding: 5px 0; font-size: 80%; font-weight: 400 !important; margin-right: 20px;}
.guide a i{margin-right: 5px;}
	
.entryBtnArea {width: 80px !important;}

}

@media only screen and (min-width: 856px) and (max-width: 1200px) {

.padL5_pc2 {padding-left: 2px !important;}
	
}

@media only screen and (min-width: 856px) and (max-width: 1320px) {

.seminarCourseInner > .FlexBoxB {flex-wrap: wrap !important;}
/*.seminarCourseInner table {width:100% !important;}*/
/*.seminarList .seminarCourse table th {width: 43px !important;}*/
/*.seminarList .seminarCourse table td {width: calc(100% - 43px) !important;}*/
	
}

@media only screen and (min-width: 856px) and (max-width: 940px) {

	.seminarList .seminarCourse {

	}

	.seminarList .seminarCourseInner:first-child { width:73%;}
	.seminarList .seminarCourseInner:last-child {
	    width:27%;
	    padding-left: 0px;
	    min-width: 140px;
	    min-width: 165px;
	}

	.seminarList .seminarCourse table.table-first {
		min-width: unset;
	}
	.seminarList .seminarCourse table td.kaijou-value {
		min-width: unset;
	}

}

@media only screen and (min-width: 1181px) {
	
.pcOnly-2{display: block !important;}
.tbOnly{display: none !important;}
	
}

@media only screen and (min-width: 713px) and (max-width: 1250px) {

footer {background-color: #444; color: var(--white); margin: 50px 0 0 0; font-size: 18px;}	
.footerInner {width: 83%;}	
	
footer .footerAddressArea {width: 320px;}
footer .footerAddressArea h2 {flex-direction: column; align-items: flex-start; margin:0 0 10px 0;}	
footer .footerAddressArea h2 span {margin: 10px 0 0 0; padding: 2px 7px 2px 8px; display: block; border: solid 1px var(--white); width: 135px; font-size: 80%; text-align: center;}
footer .footerAddressArea h2 img {width: 310px; align-content: center;}
.footerAddressArea p {font-size: 90%;}

footer nav.umnList {width: calc(100% - 350px); max-width: 400px;}
footer nav.umnList ul {width: 100%;}
footer nav.umnList ul li {margin: 0 auto; padding: 10px 20px; border-bottom: dotted 1px #999; width: 100%;}
footer nav.umnList ul li:last-child{border-bottom: none;}	
footer nav.umnList ul li a {color:var(--white); text-indent: -0.5em; padding-left: 0.5em; margin-left: 0.5em;}
footer nav.umnList ul li a i {margin-right: 5px;}

.guide-li{display: block; margin-left: 20px; border-bottom: dotted 1px #999 !important;}
.guide{display: block; margin-left: 15px;}
.guide a{display: block; padding: 5px 0; font-size: 80%; font-weight: 400 !important; margin-right: 0 !important;}
	
.FlexNav {display: block; width: 100%;}

footer address {margin: 20px auto 0 auto; font-size: 14px; letter-spacing: 2px;}

.footer-pad{padding-bottom: 60px; border-bottom:solid 1px #666; display: flex; justify-content: space-between;}

.pcOnly-2{display: none !important;}
.tbOnly{display: block !important;}
	
}

@media only screen and (max-width: 712px) {
	
.pcOnly-2{display: none !important;}
.tbOnly{display: block !important;}
	
}

@media only screen and (min-width: 856px) and (max-width: 1200px) {

.couseFlex {display: block;}
.courseBox table {width: 100%;}	
	
}

@media only screen and (min-width: 856px) and (max-width: 1000px) {
	
.venueList li {margin:0 0 20px 0 !important; width: 100%;}
.venueList li:last-child {margin:0 !important; width: 100%;}
.venueList li:first-child {margin:0 0 20px 0 !important; width: 100%;}
	
}

@media only screen and (min-width: 856px) and (max-width: 1150px) {

.entryConfirmationBox {width:100%; margin-bottom:20px;}
.entryBlockWeb .entryConfirmationBox {width:100%; background-size:250px; padding: 20px 15px; background-position: right 5px bottom 12px;}
.entryLoginBox {width:100%;}
.entryApplyBox {width:100%;}	

.applyBox dt span {background: none;}
.entryLoginBox .wei600{background: none;}
	
.entryBlockWeb .entryConfirmationBox a.sizeL {width: 60%; max-width: 300px;}

.entryBlockWeb .FlexBoxPcB {flex-wrap: wrap !important;}	
}

@media only screen and (min-width: 856px) and (max-width: 965px) {

.pc-br4 {display: inherit !important;}
.pc-br5 {display: inherit !important;}
	
.sessionBlock {background-color:var(--bg-color); padding:20px; margin:0 auto 40px auto;}
.sessionBlock .payBlock {overflow: auto; width:100%; -webkit-overflow-scrolling: touch; margin:0 0 20px 0;}
.sessionBlock .payList {border-top:solid 1px #ccc; border-left:solid 1px #ccc; background-color:#fff; white-space: nowrap; width: 100%;}
.sessionBlock .payList thead th {background-color:#85b63b; color:#fff; text-align: center; position: sticky; position: -webkit-sticky; left:0; top: 0;}
.sessionBlock .payList thead th:first-child {z-index:10;}
.sessionBlock .payList tbody th {background-color:#eefbd3; text-align: center; position: sticky; position: -webkit-sticky; left:0; top: 0; border-left: solid 1px #ccc;z-index:10;}
.sessionBlock .payList th , .sessionBlock .payList td {border-bottom:solid 1px #ccc; border-right:solid 1px #ccc; padding:10px;}
.sessionBlock .payList td {text-align: center;}
.sessionBlock .payList .tax {display: block; font-size:80%;}
	
}

@media only screen and (max-width: 1250px) {

.pc-br7 {display: none !important;}
		
}

@media only screen and (max-width: 1190px){

.pc-br3 {display: inherit !important;}
	
}

@media only screen and (max-width: 965px){

.pc-br {display: inherit !important;}
	
.FlexName{flex-direction: column;}
.btn-alien{margin-left: 0 !important; margin-bottom: 3px;}
	
}

@media only screen and (max-width: 860px){

.pc-br2 {display: inherit !important;}
	
}

@media only screen and (max-width: 712px) {

footer{background-color:#444; color:#fff; padding:10px 0 0 0; margin-top: 70px;}
.footer-pad {display: block}

.footer-inner {width:90%; margin:0 auto;}
.footerAddressArea {width: 100%; margin:0 auto;}
.footerAddressArea h2 {margin:0 0 10px 0; width:70%;}
footer .footerAddressArea h2 img {width:60%; min-width: 280px; align-content: center;}
.footerAddressArea h2 span {display: block; margin:10px 0 0 0; border: solid 1px var(--white); width: 135px; font-size: 90%; text-align: center;}
.footerAddressArea h3 {font-weight: 600;}
.footerAddressArea p {font-size: 90%;}

footer nav.umnList {margin:20px auto 0 auto;}
footer nav.umnList ul {display: block; margin:0 auto;  width:100%;}
footer nav.umnList ul li {width:100%; border-bottom:dotted 1px #999; padding:8px 10px;}
footer nav.umnList ul li:last-child{border-bottom: none;}
footer nav.umnList ul li a {display: block; color:var(--white); padding: 5px 0.5em 5px 0; text-indent: -0.5em; margin-left: 0.5em;}
footer nav.umnList ul li a i {margin-right: 5px;}
.guide-li{border-bottom: dotted 1px #999 !important;}
.guide{padding: 5px 5px 0 10px;}
.guide a{font-size: 90%; font-weight: 400 !important; padding: 5px !important;}

footer .typeLogin {width:125px; padding:3.5px 8px; margin-right: 5px; font-size: 14px; height: 30px;}
footer .typeTop {width:125px; padding:3px 15px 2px 14px; margin-left: 5px; font-size: 14px; height: 30px;}

footer address {font-style:normal; margin:30px 0 0 0; font-size: 12px;}

}

@media only screen and (max-width: 520px) {

header h1 {flex-direction: column; top: 12px !important;}
header h1 img {width:200px !important;}
/*header h1 span {margin: 5px 0 0 !important; width: 113px; font-size: 75% !important;}*/

}
	
@media only screen and (max-width: 600px) {

.entryInput .seminarType li {flex-direction: column;}
.entryInput .seminarType li span.numCapacity {width:calc(100% - 1.6em - 5px) !important; margin-left: 1.6em !important;}
.entryInput .seminarType li span.numCapacity.typePossible {background-color:var(--white); color:var(--possible-color); border: solid 1px var(--possible-color);}
.entryInput .seminarType li span.numCapacity.typeCancel {background-color:var(--white); color: var(--cancel-color); border: solid 1px  var(--cancel-color)}
	
label.typeRadioSeminar .switch::before {transform: translateX(-45%) translateY(50%) !important;}
label.typeRadioSeminar input:checked + .switch::before {transform: translateX(-45%) translateY(50%) !important;}

}

@media only screen and (max-width: 500px) {
	
.mypageTag {border-bottom:none; display: block;} 	
.mypageTag ul{border-bottom:solid 2px var(--base-color);}
	
}

@media only screen and (max-width: 440px) {

.pc-br6 {display: inherit !important;}
		
}

@media only screen and (max-width: 420px) {

.pc-br5 {display: inherit !important;}
		
}

@media only screen and (max-width: 400px) {
	
    /* error */
    .error-ttl{font-size: 115%;}	

    .entryBlockWeb .entryConfirmationBox {background-image: none !important;}
	
    .entryBlockWeb .entryConfirmationBox {background-size:100px !important;}
    .entryBlockWeb .entryConfirmationBox a.sizeL {width: 100% !important;}

    header h1 span {
        position: absolute;
        top: -6px;
        left: 172px;
        font-size: 11px !important;
        padding-left: 1px;
        padding-right: 0px;
        width: 90px;
        padding-top: 1px;
        padding-bottom: 2px;
        border: 0;
    }
    header h1 img {
        width: 180px !important;
        position: relative;
        top: 2px;
    }
	
}

@media only screen and (min-width: 385px) {

.sp-br4 {display: none !important;}
	
}

@media only screen and (max-width: 385px) {

.entryInput .seminarKubun li {width: 100% !important;}
.FlexEntry{display: block;}
	
.NavAd .tel span{padding-left: 12px !important;}
.sp-br4 {display: inherit !important;}	

}

@media only screen and (min-width: 380px) {

.sp-br3 {display: none !important;}
	
}

@media only screen and (max-width: 380px) {

.sp-br3 {display: inherit !important;}
.pc-br4 {display: inherit !important;}
		
}

@media only screen and (max-width: 375px) {
	
.bl-sp{display: block; text-indent: 1.3em; line-height: 1.2; padding-bottom: 5px;}
.br-sm{display: none;}
	
}

@media only screen and (max-width: 370px){

.sp-br2 {display: inherit !important;}
.pc-br3 {display: none !important;}

}

@media only screen and (max-width: 360px)
{
	header h1
	{
	    left: 10px;
	    top: 13px !important;
	}
	header h1 img
	{
		width: 160px !important;
		position: relative;
		top: 2px;
	}
	header h1 span
	{
	        left: 143px;
	        top: -7px;
	        font-size: 9px !important;
	}
	.header-btn-trigger
	{
		right: 10px;
		top: 17px;
	}
}
