@charset "UTF-8";
:root{
    --theme_color:rgb(194,123,176);
    --theme_color1:rgb(203,114,171);
    --theme_color2:rgb(132,131,172);
    --theme_color3:rgb(245,163,87);
    --theme_color_thin:rgb(197,173,210);
    --theme_color_thin3:rgb(254,242,229);
}
div,a,button,p,img{
    background-size:cover;
    background-position:50% 50%;
    background-repeat:no-repeat;
}

div,p,a,button,table,tr,td,input,textarea{
	-webkit-box-sizing: border-box;
  	-moz-box-sizing: border-box;
  	box-sizing: border-box;
}
button{display:block;margin:0;padding:0;border:0;background-color:#fff;}
div{margin:0;padding:0;text-align:left;}
h1,h2,h3,h4,h5{font-weight:normal;margin:0;}
p{margin:0;padding:0;text-align:left;color:rgb(102,102,102);}
img{display:block;width:100%;vertical-align:bottom;object-fit:contain;}
table{width:100%;border-collapse:collapse;border:1px solid #cccccc;}
td{border:1px solid #cccccc; }
a:link,a:visited {color:#aaaaaa;text-decoration:none;}
a:hover,a:active {opacity:0.7;}
button,a,input{outline:none;}
.clearfix:after{content: "";clear: both;display: block;}
.dotTx{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}

/*共通*/
.hid{overflow:hidden}
.esc_opacity0{opacity:0}
.esc_dispNone{display:none}
.esc_jsLoading{opacity:0}
.esc_hidden{overflow:hidden;}
@media screen and (min-width: 769px) {
	.onlyMb{display:none;}
}
@media screen and (max-width: 768px) {
	.onlyPc{display:none;}
}
/*設定*/
body{
    margin:0;
	padding:0;
/*	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
    line-height:1.4;
}
body,div,p,a,button,h1,h2,h3,h4,h5,td,li,span{
	color:#000000;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    /*"游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
    font-weight:500;
	font-size:16px;
}
li,span{color:inherit;font-size:inherit;font-weight:inherit;}
@media screen and (max-width: 768px) {
    body,div,p,a,button,h1,h2,h3,h4,h5,td,li,span{
        font-size:3vw;
    }
}
/*
input::-webkit-input-placeholder {color:rgba(102,102,102,1);}
input:-ms-input-placeholder {color:rgba(102,102,102,1);}
input::-moz-placeholder {color:rgba(102,102,102,1);}
*/
/*スクロールバー*/

::-webkit-scrollbar{
	width: 10px;
    height:10px;
}
::-webkit-scrollbar-track{
	background: rgba(240,240,240,0.5);
	border: none;
    border-radius: 10px;
    box-shadow:0 0 0 0; 
}
::-webkit-scrollbar-thumb{
	background: rgba(194,123,176,0.7);
	border-radius: 10px;
	box-shadow: none;
}
ul,ol{
    margin:0;
    padding:0;
}
li{
    position:relative;
    list-style-type: none;
}
li:before{
    position:absolute;
    content:"";
}
a{cursor:pointer}

.flex{
    display:flex;
    align-items:stretch;
    align-content:stretch;/* 折り返し時の配置指定 */
    justify-content: space-between;
/*    justify-content: flex-start;*/
    flex-direction:row;
    flex-wrap: wrap;/* 折り返し指定 */
}
.flex2{
    display:flex;
    align-items:stretch;
    align-content:stretch;/* 折り返し時の配置指定 */
    justify-content: center;/*space-between;*/
/*    justify-content: flex-start;*/
    flex-direction:row;
    flex-wrap: wrap;/* 折り返し指定 */
}
.midCenter{
	 display: -webkit-flex;
	 display: flex;
	 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	 align-items: center; /* 縦方向中央揃え */
	 -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}
@media screen and (max-width: 768px) {
    .noFlex_mb{
        display:block;
    }   
    .mb_flex{
        display:flex;
        align-items:stretch;
        align-content:stretch;/* 折り返し時の配置指定 */
        justify-content: space-between;
    /*    justify-content: flex-start;*/
        flex-direction:row;
        flex-wrap: wrap;/* 折り返し指定 */
    }  
}

/*
@media screen and (max-width: 1099px) {
    #bt_naviW{display:block;}
    #navMenu-pc,#bt_navLast{display:none;}
}
@media screen and (min-width: 1100px) {
    #bt_naviW{display:none;}
    #navMenu-pc,#bt_navLast{display:block;}
}
*/

/*alternate PCのみ*/
@media screen and (min-width: 769px) {
    .alterArea>div:nth-child(2n)>img, .alterArea>div:nth-child(2n)>div{
        float:right;
    }
    .alterArea>div:nth-child(2n) h3,.alterArea>div:nth-child(2n) p{
        text-align:right;
    }
}
/*wordpress*/
.content {
    font-size:18px;
}
@media screen and (max-width: 768px) {
    .content {
        font-size:3vw;
    }
}
.alignnone{padding:4px;margin:0;}	
.aligncenter{display:block;margin:0.5em auto;}	
.alignright{float:right;display:inline;margin:0 0 1em 1em;}	
.alignleft{float:left;display:inline;margin:0 1em 1em 0;}	
.clear {clear: both;}
@media screen and (max-width: 768px) {
    .alignright,.alignleft{width:48vw;}
}
#textArea .content [id^=gallery-] img{border-width:1px;}
@media screen and (max-width: 768px) {
#textArea .content [id^=gallery-] img{border-width:0px;height:auto;}
}

@media screen and (max-width: 768px) {
    .ggmap {
		position: relative;padding-bottom: 56.25%;padding-top: 30px;height: 0;overflow: hidden;
    }
    .ggmap iframe, .ggmap object, .ggmap embed {
		position: absolute;top: 0;	left: 0;width: 100%; height: 100%;
    }
}

.panel-zoom .screen-div{
    cursor:pointer;
}
.panel-zoom .img-div{
    transition-duration:0.3s;
}
.panel-zoom:hover .img-div{
    width:103%;
    height:103%;
}

.interview .thumb{
    transition-duration:0.3s;
}
.interview .thumb img{
    transition-duration:0.3s;
}
.interview .thumb:hover{
    opacity:0.9;
}
.interview .thumb:hover .thumb-img{
    width:103%;
    height:103%;
}
.interview .thumb:hover .thumb-icon{
    width:27%;
    height:auto;
    right:-10%;
    bottom:-10%;
}

.wide-scroll{
    position:relative;
    overflow-x:scroll;
}
/*
.wide-scroll:before{
    content:"";
    position:absolute;
    width:25vw;
    height:100%;
    top:0;
    left:75vw;
    background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%);
}
.wide-scroll:after{
    content:"Scroll➡";
    position:absolute;
    top:50%;
    left:82vw;
    padding:0 1vw;
    border:1px solid rgb(100,100,100);
    border-radius:3vw;
    background-color:#fff;
    color:rgb(100,100,100);
    font-size:2vw;
    line-height:1.2;
    transition-duration:0.2s;
    transform:translateY(-50%);
}
.wide-scroll.before-none:before,.wide-scroll.before-none:after{
    opacity:0
}
*/

/*カリキュラム　ライトボックス表示　Sticky-Table*/
[id^="curriculum-image"]{
    width:100%;
    display:block;
    margin:0 auto;
    max-width:1000px;
}
.fadein-bound {
  transform: translate(0, 20px) scale(0.9);
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  opacity: 0;
}
.fadein-bound-absCenter {
  position:absolute;
  top:calc(50% - 5vh);left:50%;
  transform: translate(-50%, -48%) scale(0.8);
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  opacity: 0;
}
.fadein-bound.is-visible {
  transform: translate(0, 0) scale(1);
  opacity: 1 !important;
}
.fadein-bound-absCenter.is-visible {
  transform: translate(-50%,-50%) scale(1);
  opacity: 1 !important;
}
#mv_screen{
    display:block;
    position:fixed;
    width:100%;
    height:110vh;
    top:0;
    left:0;
    background-color:rgba(0,0,0,0.5);
    z-index: 999999;
    opacity:0;
}

#sticky-base{
    display:none;
	width:90%;
    height:80%;
	max-width:1200px;
    max-height:750px;
    padding:40px;
    background-color:#fff;
    border:2px solid #000;
    border-radius:20px;
    box-sizing: border-box;
}
#bt_screenClose{
    display:block;
    padding:2px 20px;
    margin:10px auto 0;
    background-color:#fff;
    border:1px solid #000;
    border-radius:5px;
    font-size:16px;
    letter-spacing:0.1em;
}
#sticky-area{
    width:100%;
    height:95%;
    overflow-x:hidden;
    overflow-y:auto;
}
th{
    background-position:center center;
    background-repeat:no-repeat;
}
.curriculum{
    width:100%;
}
.curriculum th,.curriculum td{
    background-color:#fff;
    border:0;
    padding:0;
}
.curriculum th:before {
	content:"";
    position:absolute;
    top:-1px;
    left:-1px;
    width:100%;
    height:100%;
    border:1px solid #fff;
}
.curriculum tr:first-child th{
    position:sticky;
    top:0;
    z-index:1;
}
.curriculum th:first-child{
    position:sticky;
    left:0;
    z-index:1;
}
.curriculum tr:first-child th:first-child{
    z-index:2;
}
.curriculum .table-corner{
    width:10%;
    max-width:initial;
    height:auto;
    background-size:auto 90%;
    background-position:5% center;
    background-repeat:no-repeat;
}
.curriculum .table-head{
    width:90%;
    max-width:initial;
    height:auto;
}
.curriculum .table-corner img{
    display:none;
}
.curriculum .table-head img{
	display:block;
    width:calc( 100% - 2px );
	margin:2px 0 2px 1px;
}
.curriculum .table-column {
	vertical-align: top;
}
.curriculum .table-main {
	vertical-align: top;
}
.curriculum .table-column img{
	display:block;
}
.curriculum .table-main img{
	display:block;
}
.curriculum .curriculum-note{
	text-align:right;
}

@media screen and (max-width: 767px) {
    
    /*カリキュラム　ライトボックス表示　Sticky-Table*/
    [id^="curriculum-image"]{
        width:90vw;
    }
    #sticky-base{
		width:96%;
        padding:5vw 2vw;
        border-radius:2vw;
        height:auto;
        max-height:90%;
        background-color:#fff;
        border:2px solid #000;
    }
    #bt_screenClose{
        display:block;
        padding:1vw 4vw;
        margin:2vw auto 0;
        background-color:#fff;
        border:1px solid #000;
        border-radius:2vw;
        font-size:3vw;
        letter-spacing:0.2em;
    }
    #sticky-area{
        width:100%;
        max-height:75vh;
        overflow-x:auto;
        overflow-y:auto;
    }
    #sticky-area.scroll2{
        width:100%;
        overflow-x:auto;
        overflow-y:auto;
    }
    #sticky-area.scroll2_wide{
        width:100%;
        overflow-x:auto;
        overflow-y:hidden;
    }
    #sticky-area.scroll2_no{
        width:100%;
        overflow-x:hidden;
        overflow-y:hidden;
    }
	.curriculum .curriculum-note{
		font-size:2.6vw;
	}
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
    #sticky-base{
        padding:2vw 1vw;
        border-radius:2vw;
        background-color:#fff;
        border:2px solid #000;
    }
    #bt_screenClose{
        display:block;
        padding:0.1vw 2vw;
        margin:0.5vw auto 0;
        background-color:#fff;
        border:1px solid #000;
        border-radius:0.5vw;
        font-size:1.5vw;
        letter-spacing:0.1em;
    }
    #sticky-area{
        width:100%;
        height:75vh;
        overflow-x:hidden;
        overflow-y:auto;
    }
    #sticky-area .curriculum{
        width:100%;
    }
}

/*==4年間の学び=================*/
[id^=learning-image]{
	width:100%;
    margin:0 auto;
}
[id^=learning-table]{
	width:100%;
    margin-bottom:2px;
}
[id^=learning-table] img{
	display:block;
	width:100%;
}
[id^=learning-table] tr{
    border:0;
}
[id^=learning-table] td{
	position:relative;
}
[id^=learning-table] td img.cover{
	position:absolute;
	width:100%;
	left:0;
	bottom:0;
}
img.bottom-cover{
	position:absolute;
	width:100%;
	left:0;
	bottom:0;
}
[id^=learning-table] th,[id^=learning-table] td{
/*    background-color:#fff;*/
    border:0;
    padding:0;
}
[id^=learning-table] th:before {
	content:"";
    position:absolute;
    top:-1px;
    left:-1px;
    width:100%;
    height:100%;
/*    border:1px solid #fff; /*線が発生するのでけす*/
}
[id^=learning-table] tr:first-child th{
    position:sticky;
    top:0;
    margin:0;
    padding:0;
    border-collapse:collapse;
    z-index:1;
}
[id^=learning-table] th:first-child{
    position:sticky;
    left:0;
    margin:0;
    padding:0;
    border-collapse:collapse;
    z-index:1;
}
[id^=learning-table] tr:first-child th:first-child{
    z-index:2;
}
@media screen and (max-width: 767px) {
	
    /*カリキュラム　ライトボックス表示　Sticky-Table*/
    [id^=learning-image]{
        width:99.7%;
    }
}