@charset "utf-8";
/* CSS Document */

body{
	height: 100vh;
	margin: 0;
	padding: 0;
	position: relative;
}
 
:root {
	font-size:14px;
	font-family:"Crimson Text", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-feature-settings : "palt" 1;
	line-height:1.5;
}
*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	letter-spacing: 0.1em;
}
section{
	z-index: 0;
}

/* HEADER */

header{
	z-index: 101;
	width: 100%;
	padding-left:16px;
	padding-right: 16px;
	position: fixed;
	top: 0px;
	background-color: #C1C1C1;
	height: 0px;
}
header a#gp_logo{
	float: left;
	margin-top: 16px;
	display: block;
}
header a#to_pgmtop{
	float: right;
	color: rgba(255,255,255,1.00);
	font-size: 11px;
	padding-top: 6px;
	margin-top: 16px;
}
header img{
	margin-top: 16px;
	width:min(20vw,120px);
}

/* BUTTON */

.combtn{
	background-color: #000000;
	background-image: -webkit-linear-gradient(270deg,rgba(41,41,41,1.00) 0%,rgba(35,35,35,1.00) 47.67%,rgba(31,31,31,1.00) 51.29%,rgba(34,34,34,1.00) 100%);
	background-image: linear-gradient(180deg,rgba(41,41,41,1.00) 0%,rgba(35,35,35,1.00) 47.67%,rgba(31,31,31,1.00) 51.29%,rgba(34,34,34,1.00) 100%);
	color: rgba(255,255,255,1.00);
	display: inline-block;
	line-height: 1.4em;
	padding-top: 8px;
	padding-bottom: 8px;
}
.combtn:before{
	background-image: url(../img/arr_02.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	content: '';
	display: inline-block;
	height: 11px;
	margin-right: 8px;position:absolute;left:10px;top:calc(50% - 5.5px);
	width: 11px;
}

.gpgm_combtn_gd{
	background-color: #9D7515;
	background-image: -webkit-linear-gradient(270deg,rgba(206,153,27,1.00) 0%,rgba(171,127,23,1.00) 49.00%,rgba(158,118,21,1.00) 50.00%,rgba(148,110,20,1.00) 100%);
	background-image: linear-gradient(180deg,rgba(206,153,27,1.00) 0%,rgba(171,127,23,1.00) 46.11%,rgba(158,118,21,1.00) 53.37%,rgba(148,110,20,1.00) 100%);
	border-top: 1px solid #E2A81E!important;
	border-left: 1px solid #C89419!important;
	border-right: 1px solid #8B6712!important;
	border-bottom: 1px solid #7a590a!important;
	color: rgba(255,255,255,1.00);
	display: inline-block;
	line-height: 1.4em;
	margin-top: 20px;
	padding-top: 8px;
	padding-bottom: 8px;
	width: 300px;
	z-index: 102;
}
.gpgm_combtn_gd:before{
	background-image: url(../img/arr_02.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	content: '';
	display: inline-block;
	height: 11px;
	margin-right: 8px;
	width: 11px;
}


/* MAIN CONTENTS */

.gpgm_main{
	width: 100%;
	position: absolute;
	margin-right: auto;
	margin-left: auto;
	z-index: 100;
	height: auto;
	top: 0px;
	min-height: 100%;
	padding-bottom: 120px;
}
.gpgm_main .cont_box{
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	z-index: 101;
	padding-top:100px;
	text-align: center;
	height: 100%;
}

.gpgm_main .cont_box h1{
	aspect-ratio:1;
	display:block;
	margin:0 auto;
	width:min(15vw,180px);
}
.gpgm_main .cont_box h2{
	color: rgba(255,255,255,1.00);
	font-size: 38px;
	text-shadow: 1px 1px 0px rgba(0,0,0,1.00);
	padding:min(10vw,100px) 0 20px;
}
.gpgm_main .cont_box h2 br{
	display: none;
}

h3{
	align-items:center;
	color:#FFF;
	display:flex;
	font-size:max(min(3vw,30px),20px);
	padding:max(min(4.17vw,50px),30px) 0 30px;
}
h3:before,
h3:after{
	background-color:#FFF;
	content:'';
	flex-grow:1;
	height:1px;
	margin-right:20px;
}
h3:after{
	margin-left:20px;
	margin-right:inherit;
}
h3.pgm{
	padding:max(min(10vw,100px),30px) 0 30px;
}

/* COURSE LIST(PGM) */

ul#gpgm_clist{
	display:flex;
	flex-wrap:wrap;
	gap:20px 1%;
	justify-content: center;
	padding-top: 30px;
	text-align: center;
	width: 100%;
}
ul#gpgm_clist li{
	width:calc(95% / 6);
}
ul#gpgm_clist li a{
	display: block;
}
ul#gpgm_clist li a img{
	height: auto;
	width: 100%;
}
ul#gpgm_clist li a .cthm_box{
	height: 100%;
	position: relative;
	overflow: hidden;
	width: 100%;
}
ul#gpgm_clist li a .cthm_box strong{
	background-color: #B00002;
	font-weight: normal;
	color: #FFFFFF;
	line-height: 1em;
	font-size: 13px;
	padding-top: 2px;
	padding-bottom: 2px;
	position: absolute;
	text-align: center;
	width: 100%;
}

ul#gpgm_clist li .combtn{
	letter-spacing: -0.01em;
	display: block;
	position: relative;
	width: 100%;
	font-size: 95%;
    padding-left: 0.75em;
}
ul#gpgm_clist li .combtn:before{
	margin-right: 4px;
}



/* COURSE LIST(ACCORDIA) */

ul#ag_clist{
	display:flex;
	gap:20px 1%;
	padding-top:30px;
	text-align: center;
	width: 100%;
	max-width: 600px;
	flex-wrap:wrap;
	margin: auto;
}
ul#ag_clist li{
	width:calc(98% / 3);
}
ul#ag_clist li a{
	display: block;
}
ul#ag_clist li a img{
	height: auto;
	width: 100%;
}
ul#ag_clist li a .cthm_box{
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}
ul#ag_clist li a .cthm_box strong{
	background-color: #B00002;
	color: #FFFFFF;
	font-weight: normal;
	font-size: 13px;
	line-height: 1em;
	padding-top: 2px;
	padding-bottom: 2px;
	position: absolute;
	text-align: center;
	width: 100%;
}

ul#ag_clist li .combtn{
	display: block;
	letter-spacing: 0em;
	position: relative;
	width: 100%;
    padding-left: 0.75em;
}
ul#ag_clist li .combtn:before{
	margin-right: 4px;
}


/* BACKGROUND */

.topics_sl{
	height: 100%;
	left: 0px;
	min-width: 960px;
	overflow: hidden;
	position: absolute;
	right: 0px;
	top: 0px;
	width: 100%;
	z-index: -10;
}
.topics_sl *{ height: 100%;
}
.topics_sl li.slick-slide{
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	display: block;
	min-height: 100%;
	width: 100%;
}
.topics_sl li.slick-slide.bg_hananoki{ background-image: url(../img/bg_hananoki.jpg);}
.topics_sl li.slick-slide.bg_sohsei{ background-image: url(../img/bg_sohsei.jpg);}
.topics_sl li.slick-slide.bg_sunhills{ background-image: url(../img/bg_sunhills.jpg);}
.topics_sl li.slick-slide.bg_prestage{ background-image: url(../img/bg_prestage.jpg);}
.topics_sl li.slick-slide.bg_miho{ background-image: url(../img/bg_miho.jpg);}
.topics_sl li.slick-slide.bg_ryugasaki{ background-image: url(../img/bg_ryugasaki.jpg);}
.topics_sl li.slick-slide.bg_chiyoda{ background-image: url(../img/bg_chiyoda.jpg);}
.topics_sl li.slick-slide.bg_segovia{ background-image: url(../img/bg_segovia.jpg);}
.topics_sl li.slick-slide.bg_sohbu{ background-image: url(../img/bg_sohbu.jpg);}
.topics_sl li.slick-slide.bg_ibaraki{ background-image: url(../img/bg_ibaraki.jpg);}
.topics_sl li.slick-slide.bg_okinawa{ background-image: url(../img/bg_okinawa.jpg);}
.topics_sl li.slick-slide.bg_katsura{ background-image: url(../img/bg_katsura.jpg);}
.topics_sl li.slick-slide.bg_rifu{ background-image: url(../img/bg_rifu.jpg);}
.topics_sl li.slick-slide.bg_narashino{ background-image: url(../img/bg_narashino.jpg);}
.topics_sl li.slick-slide.bg_narita{ background-image: url(../img/bg_narita.jpg);}
.topics_sl li.slick-slide.bg_higashichiba{ background-image: url(../img/bg_higashichiba.jpg);}
.topics_sl li.slick-slide.bg_oakhills{ background-image: url(../img/bg_oakhills.jpg);}
.topics_sl li.slick-slide.bg_glenoaks{ background-image: url(../img/bg_glenoaks.jpg);}
.topics_sl li.slick-slide.bg_southernlinks{ background-image: url(../img/bg_southernlinks.jpg);}
.slick-slider{ position: absolute;}

/* FOOTER */

footer{
	background-color: rgba(17,17,17,1.00);
	bottom: 0px;
	overflow: hidden;
	padding:12px 16px;
	position: fixed;
	width: 100%;
	z-index: 122;
}
footer a{
	float: left;
}
footer .copyr{
	color:#FFF;
	float: right;
	font-size:max(min(1.2vw,12px),10px);
	transform:translateY(25%);
}

/* RESPONSIVE */

@media (max-width: 960px) {
	.gpgm_main .cont_box{
		width: 100%;
	}
	.topics_sl{
		min-width: 100%;
		height: 100%;
	}
	.topics_sl *{
		height: 100%;
	}
	.topics_sl li.slick-slide{
		height: 100%;
	}
	.gpgm_main .cont_box h1{
		width:22vw;
	}
	.gpgm_main .cont_box h2 br:nth-child(2){
		display: block;
	}
	ul#gpgm_clist li .combtn,
	ul#ag_clist li .combtn{
		letter-spacing: 0em;
		padding-left: 0;
		font-size: 100%;
	}
	ul#gpgm_clist li .combtn br{
		display: block;
	}
	ul#gpgm_clist li .combtn:before{
		background-size: 10px auto;
		background-position: 8px center;
		height: 100%;
		left: 0px;
		position: absolute;
		top: 0px;
		width: 100%;
	}

	ul#gpgm_clist,
	ul#ag_clist{
		flex-wrap:wrap;
		gap:10px 2%;
		margin:0 auto;
		width:96%;
		max-width: 960px;
	}
	ul#gpgm_clist li,
	ul#ag_clist li{
		width:calc(96% / 3);
	}
}

@media(min-width:671px){
	header img{
		display:none;
	}
}
@media (max-width: 670px){
	header{
		background-image: -webkit-linear-gradient(270deg,rgba(38,57,79,1.00) 0%,rgba(15,23,31,1.00) 100%);
		background-image: linear-gradient(180deg,rgba(38,57,79,1.00) 0%,rgba(15,23,31,1.00) 100%);
		background-color: rgba(23,36,49,1.00);
		height: auto;
		padding-bottom: 16px;
	}
	.gpgm_main .cont_box{
		padding-top: 100px;
	}
	.gpgm_main .cont_box h1{
		margin:min(10vw,50px) auto 0;
		width:20vw;
	}
	.gpgm_main .cont_box h2{
		padding-bottom: 20px;
	}
}

@media (max-width: 600px) {
	.gpgm_main .cont_box h1{
		width:20vw;
	}
	.gpgm_main .cont_box h2 span{
		display: none;
	}
	.gpgm_main .cont_box h2 br{
		display: block;
	}
	h3{
		font-size:max(min(3vw,30px),20px);
		padding:max(min(4.17vw,50px),30px) 0 0;
	}
	ul#gpgm_clist,
	ul#ag_clist{
		gap:10px 2%;
		padding-top:min(5vw,50px);
	}
	ul#gpgm_clist li,
	ul#ag_clist li{
		width:calc(98% / 2);
	}

	footer a{
		display: block;
		float: none;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		width: 50%;
	}
	footer .copyr{
		display: block;
		float: none;
		height: auto;
		padding-top: 5px;
		text-align:center;
	}
}

@media (max-width: 400px) {

	.gpgm_main .cont_box h1{
		width:30vw;
	}
	.gpgm_main .cont_box h2{
		font-size: 32px;
		line-height: 1.4em;
	}
	.topics_sl li.slick-slide{
		background-position: center bottom;
	}

	ul#gpgm_clist li .combtn,
	ul#ag_clist li .combtn{
		font-size: 13px;
		letter-spacing: -0.1em;
		line-height: 1.3em;
	}
	ul#gpgm_clist li,
	ul#ag_clist li{
		width: 100%;
	}
	ul#gpgm_clist li a,
	ul#ag_clist li a{
		display: table;
	}
	ul#gpgm_clist li a .cthm_box,
	ul#ag_clist li a .cthm_box{
		width: 50%;
		display: table-cell;
	}
	ul#gpgm_clist li a .combtn,
	ul#ag_clist li a .combtn{
		width: 50%;
		vertical-align: middle;
		display: table-cell;
	}
	
}

/* ------------------------------------------------------------------ */
/* IMAGE GALLERYのスタイル
/* ------------------------------------------------------------------ */

p.imgGallery img{
	width:100%;
}

/* ------------------------------------------------------------------ */
/* WOVN独自言語切替ウィジェットのスタイル（.wovn-languages）
/* ------------------------------------------------------------------ */

.wovn-languages{
	background:rgba(0,134,205,.6);
	border-radius:15px;
	color:#FFF;
	position:fixed;
	right:6em;
	text-align:center;
	top:15px;
	width:20em;
	z-index:101;
}
.wovn-languages span{
	cursor:pointer;
	font-size:max(min(1.4vw,14px),12px);
	display:inline-block;
	line-height:30px;
}
.wovn-languages span:hover{
	color:#FFFF00;
}
.wovn-languages span:before{
	aspect-ratio:150/100;
	background:url(../img/icon_JP.svg) no-repeat;
	content:'';
	display:inline-block;
	margin-right:5px;
	translate:0 0.15em;
	width:1.5em;
}
.wovn-languages span.en:before{
	background:url(../img/icon_EN.svg) no-repeat;
}
.wovn-languages span.kr:before{
	background:url(../img/icon_KR.svg) no-repeat;
}
.wovn-languages span.cn:before{
	background:url(../img/icon_CN.svg) no-repeat;
}
.wovn-languages span:after{
	color:#FFF;
	content:'｜';
	margin:0 5px;
}
.wovn-languages span:last-child:after{
	display:none;
}

/* ********** RESPONSIVE ********** */

@media (max-width:670px){
	header{
		padding-bottom:50px;
	}
	.wovn-languages{
		right:10px;
		top:55px;
		width:20em;
	}
	.wovn-languages span{
		font-size:max(min(2.8vw,14px),12px);
	}
}