@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

/* ハンバーガーメニュー搭載 */
/*ナビメニューのスタイルを指定*/
nav.NavMenu{
	position: fixed; /*表示位置を固定*/
	z-index: 2; /*重ね順を変更*/
	top: 0; /*表示位置を指定*/
	left: 0; /*表示位置を指定*/
	background: #fff;/*背景を白にする*/
	color: #000; /*文字色を黒にする*/
	text-align: center; /*テキストを中央揃え*/
	width: 100%; /*全幅表示*/
	transform: translateX(-100%); /*ナビを上に隠す上から出したい場合は、transform: translateYを使う。*/
	transition: all 0.6s; /*アニメーションの時間を指定*/
}

nav.NavMenu ul{
	background: #ccc; /*背景をグレーにする*/
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

nav.NavMenu ul li{
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #333;
}

nav.NavMenu ul li:last-child{
	padding-bottom: 0;
	border-bottom: none; /*最後のメニュー項目のみ下線を消す*/
}

nav.NavMenu ul li a{
	display: block; /*クリックできる領域を広げる*/
	color: #000;
	padding: 1em 0;
}


/*トグルボタンが押されたときに付与するクラス*/
nav.NavMenu.active{
	transform: translateX(0%);/*上から出したい場合は、transform: translateYを使う。*/
}


/*トグルボタンのスタイルを指定*/
.Toggle {
	position: fixed;    /* bodyに対しての絶対位置指定 */
	right: 13px;
	top: 12px;
	width: 42px;
	height: 42px;
	cursor: pointer;/*divだけどカーソルが変わるようにしている*/
	z-index: 3;/* ボタンを一番上にしている(押せなくなるから) */
}

.Toggle span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 3px #000;
	transition: .35s ease-in-out;			/*変化の速度を指定*/
	left: 6px;
}

.Toggle span:nth-child(1) {
	top: 9px;
}
.Toggle span:nth-child(2) {
	top: 18px;
}

.Toggle span:nth-child(3) {
	top: 27px;
}

/* 最初のspanをマイナス45度に */
.Toggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
	top: 18px;
	transform: rotate(45deg);
}

/* -------全体への指示------------ */
html {
    scroll-behavior: smooth;
}
section {
    width: 80%;
    margin-top: auto;
    margin-left: auto;
}

ul li a {
    text-decoration: none;
}
h2 {
    font-size: 4vw;
    margin-top: 3vw;
    margin-bottom: 2vw;
    text-align: center;
    font-family: "M PLUS 1 Code", monospace;
    color: blue;
}
/* ------------------------------ */
header {
    display: flex;
    width: 80%;
    height: 40vh;
    padding-top: 1vw;
    margin-left: auto;
    margin-right: auto;
    align-items: baseline;
    background-image: url(../images/hana300-195.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: bottom;
}

h1 {
    width: 30%;
    margin-left: 10%;
    font-size: 4vw;
    color: orangered;
    font-family: "M PLUS 1 Code", monospace;
    transition: 1s;
}
header:hover h1 {
    transform: translate(1vw,14vw) scale(1.8,5);
    transition: 1s;
}
/* -------ナビ----------------- */
nav {
    width: 60%;
}
.main-ul {
    display: flex; 
}
.main-li {
    width: 20%;
    line-height: 3;
    list-style-type: none;
    background-color: YellowGreen;
}
.main-li:hover {
    background-color: orange;
}
.main-li a {
    display: block;
    text-align: center;
    color: yellow;
}
.main-li a:hover {
    color: #fff;
}
.main-a {
    display: block;
    list-style: 3;
    text-align: center;
    text-decoration: none;
    font-size: 2.0vw;
    color: #202020;
}   

/* ------サブメニュー---------------- */
.sub-ul {
    position: absolute;
    width: 100%;
    list-style-type: none;
    opacity: 0;
    transition: 0.5s;
}
.sub-ul .sub-li {
   
}
.sub-ul .sub-li a {
    display: block;
    line-height: 2;
    text-align: center;
    text-decoration: none;
    color: #008899;
    font-size: 1.7vw;
    border-bottom: 1px solid #909090;
    background-color: rgb(203, 247, 115);
}
.sub-ul .sub-li a:hover {
    background-color: orange;
    color: #fff;
}
/*  プルダウンメニュー */
.pull {
    position: relative;
    overflow: hidden;   
}
.pull:hover {
    overflow: visible;  
}
.pull:hover .sub-ul {
    opacity: 1;
    transition: 0.5s;   
} 
/* ---------- 戻るボタン -------------- */
.top-button {
    display: flex;
    position: relative;
    position: fixed;
    width: 7%;
    z-index: 2;
}
.top-button a {
    text-decoration: none;
}
.top-button img {
    display: block;
    position: absolute;
  
    width: 100%;
    top: 60vw;
    left: 90vw;
    transform: ccalc(1,1);
    transition: 1s;
}
.top-button img:hover {
    transform: scale(1.2,1.2);
    transition: 1s;
}

/* ----セクション⓵　STUDYページ-------------- */
h2 {
    font-size: 4vw;
}
section:nth-of-type(1) {
    height: 50vh;   
}
h3 {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2vw;
    font-size: 3vw;
    color: #909090;
}   
span:nth-of-type(1) {
    color: #812499;
}
span:nth-of-type(2) {
    color: #71A13E;
}

.calendar {
}
.calendar iframe {
}
.calendar-pc {
    display: none;
}
.calendar-tablet {
    display: none;
}
.calendar-smart {
    display: block;
    width: 100%;
}
/* ------------------------------------------ */
/* <!--セクション➁　CONTACTページ------------  --> */
section:nth-of-type(2) {
    width: 100%;
    height: 15vh;
    background-color: YellowGreen;
}
section:nth-of-type(2)h2 {
    padding-top: 4vw;
}
section:nth-of-type(2) p {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2vw;
    padding-bottom: 2vw;
    font-size: 2vw;
    color: #fff;
    text-align: center;
    border: 1px dotted #fff;
} 
section:nth-of-type(2) p:hover {
    color: YellowGreen;
    background-color: #fff;
}
section:nth-of-type(2) a {
    display: block;
    text-decoration: none;
}
/* ----------ここからfooter-------- */  
footer {
    background-color: YellowGreen;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 5vw;
    
}
footer p {
    width: 20%;
    margin-left: 30%;
    font-size: 2vw;
    color: #fff;
    padding: 2vw 0;
    text-align: center;
}
.sns  {
    width: 20%;
    margin-right: 30%;
    display: block;
    text-align: center;
    font-size: 4vw;
    color: #fff;
}
.sns a {
    text-decoration: none;
    color: #fff;
}