@charset "utf-8";

* {
	margin: 0px;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align: center;
	-webkit-text-size-adjust: 100%;
}
body p {
	padding-top: 5px;
	padding-bottom: 5px;
}
img {
	border-style: none;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
#menu_button {
	position: fixed;
	top: 0px;
	left: 0px;
	cursor: pointer;
	z-index: 4;
	display: inline-block;
	width: 45px;
	height: 45px;
}
#menu_button_line {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	margin: -1px 0px 0px -7px;
	background-color: #000000;
	transition-duration: 0.2s;
}
#menu_button_line:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	width: 16px;
	height: 2px;
	background-color: #000000;
	transition-duration: 0.3s;
	margin-top: -7px;
}
#menu_button_line:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0px;
	width: 16px;
	height: 2px;
	background-color: #000000;
	transition-duration: 0.3s;
	margin-top: 5px;
}
#menu_button .close {
	background-color: transparent;
}
#menu_button .close:before {
	margin-top: 0px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
#menu_button .close:after {
	margin-top: 0px;
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}
#overlay {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	background-color: rgba(255,255,255,0.8);
	z-index: 2;
}



header {
	display: none !important;
}
#nav_mo {
}
#nav_pc {
	display: none;
}
#site_title_mo {
	position: absolute;
	left: 0px;
	right: 0px;
}
#site_title_pc {
}



#nav_mo > nav {
	position: fixed;
	margin-top: -1000px;
	width: 100%;
	z-index: 3;
	background-color: #008dc7;
}
#nav_mo > nav > ul {
	padding-left: 0px;
}
#nav_mo > nav > ul > li {
	list-style-type: none;
	border-bottom: 1px solid #C0C0C0;
}
#nav_mo > nav > ul > li > a:link {
	color: #FFFFFF;
	text-decoration: none;
	display: block;
	padding-top: 15px; /* リンク幅 */
	padding-bottom: 15px;
}
#nav_mo > nav > ul > li > a:visited {
	color: #FFFFFF;
	text-decoration: none;
	display: block;
	padding-top: 15px; /* リンク幅 */
	padding-bottom: 15px;
}



/* slideshow */
#content_wrap_slide {
	padding-top: 70px;
	background-color: #FFFFFF;
}
#stage {
	background-color: #FDFDFD;
	position: relative;
	margin: 0px auto;
	-webkit-box-shadow: 2px 2px 2px 0px #C8C8C8;
	box-shadow: 2px 2px 2px 0px #C8C8C8;
}
#stage ul {
	padding: 0px;
	position:relative;
}
#stage ul li {
	width: 100%;
	list-style-type: none;
	position:absolute;
	opacity: 0;
}
#stage img {
	max-width: 100%;
	height: auto;
}
#slide_control {
	position: absolute;
}
[id^='photo_'] {
	cursor: pointer;
}
#prev_button {
	cursor: pointer;
}
#next_button {
	cursor: pointer;
}
#play_stop {
	cursor: pointer;	
}



h1 {
	font-size: 32px;
	padding-bottom: 10px;
}
h2 {
	font-size: 32px;
	margin-top: 50px;
	padding-top: 10px;
	padding-bottom: 10px;

}
article{
	margin-top: 30px; /* slide_control のスペース */
}
article a:link {
	color: #000000;
}
article a:visited {
	color: #8E8E8E;
}



#block2 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
}
#block3 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
	text-align: center;
}
#block4 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
}
#block5 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
}
#block6 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
}
#block7 {
	clear: both;
	background-color: #00bbd9;
/* 	border-bottom: 1px solid #CCCCCC; */
}/* footer に border が設定されているので footer 直前の #block の border はコメントアウト */
#block8 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
}
#block9 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
}
#block10 {
	clear: both;
	border-bottom: 1px solid #CCCCCC;
}



#content2 {
	padding-top: 40px; /* slide_control 下部 */
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content3 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content4 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content5 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content6 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content7 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content8 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content9 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}
#content10 {
	padding-top: 80px;
	padding-bottom: 80px;
	margin-right: 5px;
	margin-left: 5px;
}



/* parts START */
/* parts1 parts2 width 500px */
.parts1 {
	max-width: 500px;
	margin: 0px auto;
	justify-content: center; /* ← 中央揃え追加！ */
	text-align: center;
}
.parts1 .img1 {
	max-width: 500px;
	margin-bottom: 20px;
}
.parts1 .img2 {
	max-width: 500px;
	margin-bottom: 20px;
}
.parts1 .img3 {
	max-width: 500px;
	margin-bottom: 20px;
}
.parts1 .text1 {
	font-size: 90%;
	text-align: left;
}
.parts1 .text2 {
	font-size: 90%;
}
.parts1 .text3 {
	font-size: 22px;
	padding-top: 15px;
	padding-bottom: 5px;
}
.parts1 .text4 {
	font-size: 120%;
	color: #000000;
	text-align: center;
}
.parts1 .text5 {
	font-size: 90%;
	color: #A3A3A3;
}
.parts1 .text6 {
	font-size: 30px;
	padding-top: 15px;
	padding-bottom: 5px;
	color:#008dc7;
	text-align: center;
}
.parts2 {
}

/* parts3 parts4 width 500px */
.parts3 {
	height: auto;
	overflow: hidden;
	max-width: 500px;
	margin: 0px auto;
}
.parts3 h2 {
	padding-top: 20px;
}
.parts3 .img {
}
.parts3 .text {
	text-align: left;
}
.parts3 .text1 {
	font-size: 90%;
}
.parts3 .text2 {
	font-size: 90%;
	color: #A3A3A3;
}
.parts3 .text3 {
	font-size: 80%;
}
.parts3 .text4 {
	font-size: 120%;
	color: #A3A3A3;
}
.parts4 {
	margin-top: 40px;
}

/* parts5 */
.parts5 {
	max-width: 1000px;
	margin: 0px auto;
}
.parts5 .space10 {
	margin-top: 10px;
}
.parts5 .space20 {
	margin-top: 20px;
}
.parts5 .space30 {
	margin-top: 30px;
}
.parts5 .text1 {
	text-align: left;
}
.parts5 .indent {
	text-align: left;
	text-indent: 1em;
}
.parts5 .text2 {
	text-align: left;
	color: #A3A3A3;
}
.parts5 .text3 {
	text-align: left;
	font-size: 90%;
}
.parts5 .text4 {
	text-align: left;
	font-size: 120%;
	color: #A3A3A3;
}
.parts5 .text5 {
	text-align: left;
	font-size: 90%;
	text-indent: 1em;
}
/* parts END */



.supplement {
	font-size: 90%;
	color: #6C6C6C;
}
#back_top {
	display: none;
	position: fixed;
	right: 30px;
	bottom: 30px;
	cursor: pointer;
}



/* footer */
footer {
	clear: both;
	margin-top: 0px;
	padding-top: 50px;
	padding-bottom: 50px;
	background-color: #00bbd9; 
	color: #FFFFFF;
}
footer a:link {
	color: #FFFFFF;
	text-decoration: none;
}
footer a:visited {
	color: #FFFFFF;
	text-decoration: none;
}



@media only screen and (min-width: 1160px) { /* js ブレークポイント[1000] */
#menu_button {
	display: none;
	color: #D0D0D0;
}

/* slideshow */
#content_wrap_slide {
	background-color: #FDFDFD; 
}

#nav_mo {
	display: none;
}
#nav_pc {
	display: block;
}
#site_title_mo {
	display: none;
}

header {
	position: fixed;
	width: 100%;
	height: 70px;
}

#nav_pc > #site_title_pc {
    float: left;	
    width: 20%;
}
#nav_pc > #nav_left {
    float: left;
    width: 40%;
    text-align: right;
}
#nav_pc > #nav_right {
    float: left;	
    width: 40%;
	text-align: left;
}

#nav_pc > nav {
	position: static;
	margin-top: 0px;
	width: auto;
	font-size: 90%;
	background-color: #008dc7;
}
#nav_pc > nav > ul {
	padding-top: 40px;
	padding-left: 0px;
}
#nav_pc > nav > ul > li {
	border-bottom: 0px solid #FFFFFF;
	display: inline;
	padding-left: 15px; /* メニューの幅 */
	padding-right: 15px; /* メニューの幅 */
}
#nav_pc > nav > ul > li > a:link {
	color: #FFFFFF;
	text-decoration: none;
	
}
#nav_pc > nav > ul > li > a:visited {
	color: #FFFFFF;
	text-decoration: none;
}



/* parts START */
/* parts1 parts2 width 970px */
.parts1 {
	display: flex;
	max-width: 970px;
	height: auto;
	overflow: hidden;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.parts1 .img1 {
	float: left;
/*	max-width: 500px; */
	max-width: 320px;
	margin-bottom: 0px;
}
.parts1 .img2 {
	float: left;
	max-width: 320px;
	padding-left: 35px;
	padding-right: 35px;
	margin-bottom: 0px;
}
.parts1 .img3 {
	float: left;
	max-width: 320px;
	margin-bottom: 0px;
}
.parts2 {
	margin-top: 40px;
}

/* parts3 parts4 width 970px */
.parts3 {
	max-width: 970px;
}
.parts3 h2 {
	padding-top: 0px;
}
.parts3 .img {
	max-width: 300px;
	float: left;
}
.parts3 .text {
	max-width: 640px;
	padding-left: 30px;
	float: left;
}
/* parts END */
}

@media only screen and (min-width: 1220px) {
header {
}
#stage {
	max-width: 1200px;
}
#content2 {
	max-width: 1200px;
	margin: 0px auto;
}
#content3 {
	max-width: 1200px;
	margin: 0px auto;
}
#content4 {
	max-width: 1200px;
	margin: 0px auto;
}
#content5 {
	max-width: 1200px;
	margin: 0px auto;
}
#content6 {
	max-width: 1200px;
	margin: 0px auto;
}
#content7 {
	max-width: 1200px;
	margin: 0px auto;
}
#content8 {
	max-width: 1200px;
	margin: 0px auto;
}
#content9 {
	max-width: 1200px;
	margin: 0px auto;
}
#content10 {
	max-width: 1200px;
	margin: 0px auto;
}



#nav_pc > nav > ul > li {
/* 	padding-left: 20px; */ /* メニューの幅 */
/* 	padding-right: 20px; */ /* メニューの幅 */
}



/* parts START */
/* parts1 parts2 width 1200px */
.parts1 {
	display: flex;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.parts1 .img1 {
	max-width: 380px;
}
.parts1 .img2 {
	max-width: 380px;
	padding-left: 35px;
	padding-right: 35px;
}
.parts1 .img3 {
	max-width: 380px;
}
.parts2 {
	margin-top: 60px;
}

/* parts3 parts4 width 1200px */
.parts3 {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.parts3 .img {
	max-width: 500px;
/*	max-width: 400px; */
}
.parts3 .text {
	max-width: 760px;
	padding-left: 40px;
}
.parts4 {
	margin-top: 60px;
}
/* parts END */
}


@media only screen and (min-width: 1500px) {
header {
}
#stage {
	max-width: 1400px;
}
#content2 {
	max-width: 1400px;
}
#content3 {
	max-width: 1400px;
}
#content4 {
	max-width: 1400px;
}
#content5 {
	max-width: 1400px;
}
#content6 {
	max-width: 1400px;
}
#content7 {
	max-width: 1400px;
}
#content8 {
	max-width: 1400px;
}
#content9 {
	max-width: 1400px;
}
#content10 {
	max-width: 1400px;
}



#nav_pc > nav > ul > li {
 	padding-left: 20px; /* メニューの幅 */
 	padding-right: 20px; /* メニューの幅 */
}
#nav_pc > #nav_left > ul > li:last-child {
 	padding-right: 0px; /* メニューの幅（title.png の左側） */
}
#nav_pc > #nav_right > ul > li:first-child {
 	padding-left: 0px;  /* メニューの幅（title.png の右側） */
}



/* parts START */
/* parts1 parts2 width 1400px */
.parts1 {
	display: flex;
	max-width: 1400px;
	margin-left:  auto;
	margin-right: auto;
}
.parts1 .img1 {
	max-width: 420px;
}
.parts1 .img2 {
	max-width: 420px;
	padding-left: 35px;
	padding-right: 35px;
}
.parts1 .img3 {
	max-width: 420px;
}

/* parts3 parts4 width 1400px */
.parts3 {
	max-width: 1400px;
}
.parts3 .img {
	max-width: 420px;
}
.parts3 .text {
	max-width: 860px;
	padding-left: 40px;
}
/* parts END */
}

.head-border {
    position: relative;
    display: inline-block;
    padding: 0 55px;
}

.head-border:before,
.head-border:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 50px;
    height: 5px;
    background-color: #008dc7;
}

.head-border:before {
    left: 0;
}

.head-border:after {
    right: 0;
}
.box-highlight {
	background-color: #e0f7fa; /* 薄い水色 */
	border: 2px dotted #00acc1; /* 濃いめ水色の点線 */
	padding: 5px;
	border-radius: 10px;
	margin-top: 5px;
}
.class-info-box {
	background-color: #e0f7fa;
	border: 2px dotted #00acc1;
	padding: 15px;
	border-radius: 10px;
	margin-top: 10px;
	text-align: left;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.class-info-line {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.class-info-line img {
	width: 20px;
	height: 20px;
	margin-top: 3px;
}

.class-info-button {
	background-color: #00acc1;
	color: white;
	padding: 10px 20px;
	text-align: center;
	display: inline-block;
	border-radius: 5px;
	text-decoration: none;
	font-weight: bold;
	margin-top: 10px;
	align-self: flex-start;
	width: 100%;         /* ← 横幅100% */
	box-sizing: border-box; /* ← padding込みで幅制御 */
}

.class-info-button:hover {
	background-color: #008ea1;
}