@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@400;700;800;900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;500;700&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');


html {
   overflow-y:scroll;
}

body {
   margin:0;
   padding:0;
   height:100%;
   line-height:1.4em;
   font-family: "Noto Sans JP", sans-serif;
   color:#000;
   font-size:1.8vw;
   background:#fff;
}

img {
   border:0;
   width:100%;
}

a:hover {
	text-decoration:none;
}

#header {
	position:fixed;
	top:0;
	left:0;
	height:7.5vw;
	box-shadow:0 0 1vw #999;
	width:100%;
	background-color:rgba(255,255,255,0.9);
	z-index:10;
}

.toplogo {
	width:40vw;
}

.logo {
	margin-left:3vw;
	margin-top:1.6vw;
	width:25vw;
}

.headericon {
	margin-top:1.5vw;
	width:5vw;
	color:#000;
}

.headericon img {
	width:3.8vw;
}

.menu {
	font-size:0.8vw;
	font-weight:bold;
	color:rgb(137,137,137);
}


#top {
	position:relative;
	margin-top:7.5vw;
}

.btn01div {
	position:absolute;
	top:53.6vw;
	left:50%;
	margin-left:-20.8vw;
	width:41.6vw;
}

.btn01 {
	position:relative;
	width:41.6vw;
}

.btn01fukidashi {
	position:absolute;
	top:-2.2vw;
	left:50%;
	margin-left:-12.4vw;
	width:24.8vw;
}

.btn01fukidashi2 {
	position:absolute;
	top:-2.2vw;
	left:50%;
	margin-left:-16.2vw;
	width:32.4vw;
}

.btn01waku {
	padding-top:7.6vw;
	padding-bottom:2.5vw;
}


.headerimg02 {
	margin-top:12.5vw;
	margin-bottom:5vw;
}


.pointtitle {
	color:rgb(0,63,152);
	font-weight:bold;
	font-size:1.2em;
	margin-bottom:2.4vw;
}

.pointtext01 {
	position:absolute;
	top:14.2vw;
	left:50vw;
	width:32vw;
}

.pointtext02 {
	position:absolute;
	top:50.8vw;
	left:24vw;
	width:32vw;
}

.pointtext03 {
	position:absolute;
	top:89vw;
	left:54vw;
	width:32vw;
}


.btn02div {
	width:41vw;
}

.btn03div {
	width:41vw;
}

.btn02fukidashi {
	position:absolute;
	top:-3vw;
	left:50%;
	margin-left:-11.7vw;
	width:23.4vw;
}


.knowhowtitle {
	position:absolute;
	top:12vw;
	left:50%;
	margin-left:-26vw;
	width:52vw;
}

.knowhowsubtitle {
	position:absolute;
	top:24.5vw;
	left:50%;
	margin-left:-20.5vw;
	width:41vw;
}

.knowhowtitle2 {
	position:absolute;
	top:31vw;
	left:50%;
	margin-left:-28.9vw;
	width:57.8vw;
}

.knowhowtext {
	position:absolute;
	top:38.2vw;
	left:50%;
	margin-left:-29vw;
	line-height:1.8em;
	width:58vw;
}

.face01 {
	position:absolute;
	top:89vw;
	left:50%;
	margin-left:-10.3vw;
	width:20.6vw;
}

.kadomaru {
	border-radius:0.3em;
}

.katagaki {
	font-size:0.8em;
}

.name {
	font-family: "Noto Serif JP", sans-serif;
	font-weight:bold;
	letter-spacing:0.1em;
	font-size:1.1em;
}

.supervisortitle {
	position:absolute;
	top:15vw;
	left:50%;
	margin-left:-32vw;
	width:64vw;
}

.supervisortext {
	position:absolute;
	top:31.7vw;
	left:50%;
	margin-left:-29vw;
	line-height:1.8em;
	width:58vw;
}

.face02 {
	position:absolute;
	top:52vw;
	left:50%;
	margin-left:-10.3vw;
	width:20.6vw;
}

.servicebg {
	margin-top:3vw;
	width:100%;
	background:#fff url(images/service_bg.jpg) repeat-y;
	background-size:contain;
	padding-bottom:2.7vw;
}

.servicetitle {
	padding-top:4.1vw;
	margin:0 auto;
	width:26.6vw;
}

.servicegyoshu {
	margin:2.5vw auto;
	width:86vw;
	padding:1.2vw;
	line-height:1.8em;
	color:rgb(0,64,152);
	background-color:#fff;
	border-radius:0.2em;
}


.gyoshuwaku {
	margin:0 auto;
	width:86vw;
}

.gyoshucard {
	width:25vw;
	margin-bottom:2.5vw;
	border-radius:0.3vw;
	background-color:#fff;
	overflow:hidden;
}

.gyoshuimg_bottom {
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
}

.gyoshutitle {
	margin-top:0.3em;
	font-size:1.1em;
	color:rgb(0,64,152);
	font-weight:bold;
	text-align:center;
}

.gyoshutext {
	padding:1.6vw;
	font-size:0.8em;
	line-height:1.6em;
}

.gyoshutext2 {
	padding:1.6vw;
	font-size:0.7em;
	line-height:1.5em;
}


.curricylumbg {
	width:100%;
	background:#fff url(images/curricylumbg.jpg) top center no-repeat;
	background-size:contain;
	padding-top:4.3vw
}

.curricylumtitle {
	margin:0 auto;
	width:55.45vw;
}

.curricylumwaku {
	margin:0 auto;
	padding:9.4vw  8.5vw;
	background:url(images/curricylumwaku.png) top center no-repeat;
	background-size:contain;
	width:83.3vw;
	height:91vw;
}

.kouzaflex {
	display:flex;
	border-top:2px solid rgb(54,189,239);
	padding:1.5vw 8vw;
}

.kouzanum {
	width:10.5vw;
}

.kouzatext {
	font-size:1.1em;
	padding-left:3vw;
}

.kouzatitle {
	color:rgb(0,64,152);
	font-weight:bold;
	margin-bottom:0.3em;
}

.kouzaline {
	border-top:2px solid rgb(54,189,239);
}

.kouzaimg {
	margin:0 auto;
	width:67.5vw;
}

.campaignbg {
	background:url(images/campaignbg.jpg) top center no-repeat;
	background-size:cover;
	padding:6.7vw 0;
}

.campaignimg01 {
	margin:0 auto;
	width:53.6vw;
	padding-bottom:6vw;
}

.campaignwaku01 {
	position:relative;
	margin:0 auto;
	width:75.6vw;
}

.campaignwaku02 {
	position:relative;
	margin:0 auto;
	width:75.6vw;
}

.campaignwaku03 {
	position:relative;
	margin:0 auto;
	width:75.6vw;
}

.campaignplus {
	margin:0 auto;
	width:3.5vw;
}

.campaign01naiyou {
	position:absolute;
	top:4.2vw;
	left:50%;
	margin-left:-30.25vw;
	width:60.5vw;
}

.campaign01title {
	margin:0 auto;
	width:49vw;
}

.campaign01kouza {
	position:absolute;
	top:4.2vw;
	left:50%;
	margin-left:-24.5vw;
	width:49vw;
}

.kouzaflex2 {
	display:flex;
	align-items:center;
	border-top:2px solid rgb(54,189,239);
	padding:1vw 1vw;
}

.kouzanum2 {
	width:9.2vw;
}

.kouzatext2 {
	font-size:1em;
	padding-left:3vw;
}

.kouzaimg2 {
	margin:-3vw auto 0 auto;
	width:57.7vw;
}

.campaign03naiyou {
	position:absolute;
	top:5vw;
	left:50%;
	margin-left:-31.2vw;
	width:62.4vw;
	
}

.campaign03title {
	margin:0 auto;
	width:60vw;
}

.campaign03text {
	line-height:1.8em;
}

.campaign03text2 {
	width:37vw;
	font-size:0.9em;
	line-height:1.8em;
}

.campaign03subtitle {
	color:rgb(0,64,152);
	font-weight:bold;
	background-color:rgb(159,223,247);
}

.campaign03text2 ul {
	margin:0;
	padding:0;
	padding-left:1.5em;
}

.campaign03text2 ul li {
	line-height:1.8em;
}

.campaign03img {
	position:absolute;
	top:11vw;
	left: 38vw;
	width:23.9vw;
}


.flowbg {
	margin-top:3vw;
	width:100%;
	background:#fff url(images/service_bg.jpg) repeat-y;
	background-size:contain;
	padding-bottom:2.7vw;
}

.flowtitle {
	margin:0 auto;
	width:27.5vw;
	padding:2.2vw 0;
}

.flowflex {
	display:flex;
	justify-content:center;
	align-items:center;
}

.flowimg {
	width:25.4vw;
}

.flowright {
	margin-left:2vw;
}

.flowimg04 {
	margin:4.4vw 0;
}

.pricetitle {
	margin:1vw auto;
	width:13.4vw;
}

.priceflex {
	display:flex;
	justify-content:space-between;
	width:86.1vw;
	margin:5vw auto;
}

.priceimg {
	position:relative;
	width:40.5vw;
}

.priceimg02sarani {
	position:absolute;
	top:-2.8vw;
	left:-2.6vw;
	width:6.6vw;
}


.qatitle {
	padding-top:4vw;
	margin:0 auto;
	width:17.5vw;
}

.qawaku {
	margin:1.2em auto;
	width: 72vw;
	background-color:#fff;
	padding:1em;
	border-radius:0.3em;
	font-size:0.9em;
	cursor:pointer;
}

.qawaku-open {
	box-shadow:0 0 0.4vw #ccc;
}

.qawaku .q {
	display:flex;
	justify-content:space-between;
}

.qicon {
	padding:0 1.8vw 1vw 1.8vw;
	width:6.5vw;
}

.qtext {
	font-weight:bold;
	line-height:1.7em;
	flex:1;
}

.qatoggle {
	width:3.8vw;
	padding:1vw;
}

.a-none {
	display:none;
}

.qawaku .a {
	display:flex;
	justify-content:space-between;
	border-top:1px dotted rgb(220,221,221);
}

.aicon {
	padding:1vw 1.8vw;
	width:6.5vw;
}

.atext {
	padding-top:1vw;
	line-height:1.7em;
	flex:1;
}



.title02 {
	position:absolute;
	top:5.5vw;
	left:50%;
	margin-left:-31vw;
	width:62vw;
}


.contactbg {
	background-color:rgb(213,224,223);
	padding:2vw;
}

.contacttitle {
	text-align:center;
	font-weight:bold;
	font-size:1.1em;
}

.contacttext {
	line-height:1.7em;
}

.contactline {
	margin:0 auto;
	width:6vw;
	border:1px solid rgb(54,189,239);
}

.contactbtn {
	width:22.5vw;
}

.botaibg {
	width:100%;
	height:29vw;
	display:flex;
	justify-content:center;
	align-items:center;
	background:#fff url(images/gikenlogo.png) 50% 50% no-repeat;
	background-size:14.4vw;
}

.botaititle {
	font-size:1.1em;
	font-weight:bold;
	margin-bottom:0.8em;
}

.botaibg a {
	color:#000;
}

.footer {
	background-color:rgb(0,64,152);
	text-align:center;
	color:#fff;
	padding:0.5em;
	font-size:0.8em;
}

#privacy ,#torihiki ,#company ,#contact {
	padding-top: calc(7.5vw + 20px);
	font-size:16px;
	line-height:1.8em;
	width:900px;
	margin:0 auto;
}

#privacy h2
,#torihiki h2
,#company h2 {
	font-size:1.5em;
	text-align:center;
	font-weight:bold;
	color:#fff;
	letter-spacing:0.2em;
	padding:0.5em;
	background-color:rgb(54,189,239);
	border-radius:0.3em;
}

#torihiki dl {
	display:flex;
	margin:0;
	padding:0;
}

#torihiki dt {
	width:18em;
	text-align:right;
	margin:0;
	padding:0;
}

#torihiki dd {
	flex:1;
	margin:0;
	padding:0;
	padding-left:2em;
}

#torihiki ul {
	margin:0;
	padding:0;
	list-style:none;
}

#torihiki li {
	position:relative;
	margin:0;
	padding:0;
	padding-left:1em;
}

#torihiki li:before {
	content:"●";
	position:absolute;
	top:0.2em;
	left:0.2em;
	font-size:0.6em;
	color:#ddd;
}

#company dl {
	display:flex;
	margin:0;
	padding:0;
}

#company dt {
	width:18em;
	text-align:right;
	margin:0;
	padding:0;
}

#company dd {
	flex:1;
	margin:0;
	padding:0;
	padding-left:2em;
}

#company h3 {
	position:relative;
	font-size:1.3em;
	font-weight:bold;
	text-align:center;
	margin-bottom:20px;
}

#company h3:after {
	content:"";
	position:absolute;
	bottom:-15px;
	left:50%;
	margin-left:-30px;
	width:60px;
	border:1px solid rgb(54,189,239);
}

#company ul {
	margin:0;
	padding:0;
}

#company li {
	margin-left:1em;
}

.font-bold {
	font-weight:bold;
}

.bgwaku {
	color:#fff;
	background-color:#000;
	border-radius:0.2em;
	padding:0 0.4em 0.1em 0.4em;
}


/* --- パソコン ---------------------------------------------------------------------- */
@media screen and (min-width: 768px) {
	.sp {
		display:none;
	}
	
/*
	#menubar,
	#menubar_hdr {
		display:none;
	}
*/
	#menubar_hdr {
		right: 10px;
		top: 12px;
	}
}


/* --- スマホ ------------------------------------------------------------------------ */
@media screen and (max-width: 765px) {
	.pc {
		display:none;
	}
	
	body {
	   font-size:3vw;
	}
	
	#header {
		height:12.5vw;
	}
	
	.logo {
		width:46.5vw;
	}
	
	.menu {
		font-size:1.488vw;
	}
	
	.headericon {
		margin-top:1.5vw;
		width:9.3vw;
	}
	
	.headericon img {
		width:7.07vw;
	}
	
	#top {
		margin-top:12.5vw;
	}
	
	.btn01div {
		top:80vw;
		margin-left:-33.5vw;
		width:67vw;
	}
	
	.btn01 {
		position:relative;
		width:67.6vw;
	}
	
	.btn01fukidashi {
		top:-4.2vw;
		left:50%;
		margin-left:-20.4vw;
		width:40.8vw;
	}
	
	.btn01fukidashi2 {
		top:-5.2vw;
		left:50%;
		margin-left:-32.7vw;
		width:65.4vw;
	}
	
	.btn01waku {
		padding-top:9.6vw;
		padding-bottom:2.5vw;
	}
	
	.headerimg02 {
		margin-top:22.8vw;
		margin-bottom:5.6vw;
	}
	
	.pointtext01 {
		top:45.2vw;
		left:38.1vw;
		width:52vw;
	}
	
	.pointtext02 {
		top:123.6vw;
		left:16.75vw;
		width:53.4vw;
	}
	
	.pointtext03 {
		top:213vw;
		left:38.67vw;
		width:52.2vw;
	}
	
	.btn02div {
		width:66.2vw;
	}
	
	.btn03div {
		width:66.2vw;
	}
	
	.btn02fukidashi {
		top:-2.5vw;
		left:50%;
		margin-left:-19.05vw;
		width:38.1vw;
	}
	
	.knowhowtitle {
		top:23.7vw;
		left:50%;
		margin-left:-30.225vw;
		width:60.45vw;
	}
	
	.knowhowsubtitle {
		top:58.58vw;
		left:50%;
		margin-left:-29.125vw;
		width:58.25vw;
	}
	
	.knowhowtitle2 {
		top:81.1vw;
		left:50%;
		margin-left:-41.95vw;
		width:83.9vw;
	}
	
	.knowhowtext {
		top:104.8vw;
		left:50%;
		margin-left:-40vw;
		line-height:1.8em;
		width:80vw;
		font-size:1.2em;
	}
	
	.face01 {
		position:absolute;
		top:246.2vw;
		left:50%;
		margin-left:-19vw;
		width:38vw;
	}
	
	.name {
		font-family: "Noto Serif JP", sans-serif;
		font-weight:bold;
		letter-spacing:0.1em;
		font-size:1.3em;
	}
	
	.supervisortitle {
		position:absolute;
		top:34vw;
		left:50%;
		margin-left:-37.85vw;
		width:75.7vw;
	}
	
	.supervisortext {
		position:absolute;
		top:92.2vw;
		left:50%;
		margin-left:-40vw;
		line-height:1.9em;
		width:80vw;
		font-size:1.2em;
	}
	
	.face02 {
		position:absolute;
		top:158.8vw;
		left:50%;
		margin-left:-19vw;
		width:38vw;
	}
	
	.servicebg {
		margin-top:3vw;
		width:100%;
		background:#fff url(images/service_bg_sp.jpg) repeat-y;
		background-size:contain;
		padding-bottom:1vw;
	}
	
	.servicetitle {
		padding-top:7vw;
		margin:0 auto;
		width:62.9vw;
	}
	
	.servicegyoshu {
		margin:4.5vw auto;
		width:86vw;
		padding:4vw;
		border-radius:0.3em;
		font-size:1.15em;
	}
	
	.gyoshucard {
		width:42vw;
		margin-bottom:3vw;
		border-radius:0.3vw;
		background-color:#fff;
		overflow:hidden;
	}
	
	
	.curricylumbg {
		background:#fff url(images/curricylumbg_sp.jpg) top center no-repeat;
		background-size:contain;
		padding-top:4.3vw
	}
	
	.curricylumtitle {
		margin:0 auto;
		width:70vw;
	}
	
	.curricylumwaku {
		margin:0 auto;
		padding:15.4vw 8.5vw;
		background:url(images/curricylumwaku_sp.png) 50% -4vw no-repeat;
		background-size:contain;
		width:100%;
		height:328.5vw;
	}
	
	.kouzaflex {
		display:block;
		padding:2.5vw 8vw;
	}
	
	.kouzanum {
		margin:2.5vw auto;
		width:24.7vw;
	}
	
	.kouzatext {
		font-size:1.3em;
		padding:2vw 0;
		text-align:center;
	}
	
	.kouzatextsp {
		font-size:0.9em;
	}
	
	.kouzatitle {
		color:rgb(0,64,152);
		font-weight:bold;
		text-align:center;
		font-size:1.2em;
		margin-bottom:0.8em;
	}
	
	.kouzaimg {
		margin-top:-2vw;
		margin-left:-7vw;
		width:95vw;
	}
	
	.campaignbg {
		background:url(images/campaignbg_sp.jpg) top center no-repeat;
		background-size:cover;
		padding:6.7vw 0;
	}
	
	.campaignimg01 {
		margin:0 auto;
		width:93.2vw;
		padding-bottom:6vw;
	}
	
	.campaignwaku01 {
		width:95.3vw;
	}
	
	.campaignwaku02 {
		width:95.3vw;
	}
	
	.campaignwaku03 {
		width:95.3vw;
	}
	
	.campaignplus {
		margin:0 auto;
		width:6.5vw;
	}
	
	
	.campaign01naiyou {
		position:absolute;
		top:13.2vw;
		left:50%;
		margin-left:-35vw;
		width:70vw;
	}
	
	.campaign01title {
		margin:5vw auto;
		width:58.25vw;
	}
	
	.kouzaflex2 {
		display:block;
		margin:0 auto;
		border-top:1px solid rgb(54,189,239);
		padding:3vw 2vw;
	}
	
	.kouzanum2 {
		margin:0 auto;
		width:21.4vw;
	}
	
	.kouzatext2 {
		font-size:1.5em;
		padding:2vw 0;
		line-height:1.6em;
		text-align:center;
	}
	
	.kouzaimg2 {
		margin:-3vw 0 0 -10vw;
		width:90vw;
	}
	
	.campaign03naiyou {
		position:absolute;
		top:15.6vw;
		left:50%;
		margin-left:-35vw;
		width:70vw;
		
	}
	
	.campaign03title {
		margin:0 auto;
		width:70vw;
	}
	
	.campaign03text {
		padding:0 3vw;
		font-size:1.6em;
		line-height:1.8em;
	}
	
	.campaign03text2 {
		width:100%;
		font-size:1.1em;
		line-height:1.8em;
	}
	
	.campaign03subtitle {
		color:rgb(0,64,152);
		font-weight:bold;
		background-color:rgb(159,223,247);
	}
	
	.campaign03text2 ul {
		margin:0;
		padding:0;
		padding-left:1.5em;
	}
	
	.campaign03text2 ul li {
		line-height:1.8em;
	}
	
	.campaign03img {
		position:relative;
		top:0;
		left: 0;
		margin:2vw auto;
		width:100%;
	}
	
	.flowbg {
		margin-top:3vw;
		width:100%;
		background:#fff url(images/service_bg_sp.jpg) repeat-y;
		background-size:contain;
		padding-bottom:2.7vw;
	}
	
	.flowtitle {
		margin:0 auto;
		width:61.2vw;
		padding:8vw 0 2.2vw 0;
	}
	
	.flowflex {
		display:block;
	}
	
	.flowimg {
		margin: 0 auto;
		padding-right:5.3vw;
		width:68.7vw;
	}
	
	.flowright {
		margin:2vw auto 0 auto;
		width:3.2vw;
		transform: rotate(90deg);
	}
	
	.pricetitle {
		padding-top:8vw;
		margin:2vw auto;
		width:31.7vw;
	}
	
	.priceflex {
		display:block;
		width:86.1vw;
		margin:5vw auto;
	}
	
	.priceimg {
		position:relative;
		margin:10vw auto;
		width:86.5vw;
	}
	
	.priceimg02sarani {
		position:absolute;
		top:-5.8vw;
		left:-2.6vw;
		width:13.6vw;
	}
	
	
	.qatitle {
		padding-top:8vw;
		margin:0 auto;
		width:42.2vw;
	}
	
	.qawaku {
		width: 86vw;
		font-size:1.1em;
	}
	
	.qicon {
		padding:0 2.8vw 1vw 2.8vw;
		width:11.5vw;
	}
	
	.qatoggle {
		width:8.8vw;
		padding:2vw;
	}
	
	.aicon {
		padding:1vw 2.8vw;
		width:11.5vw;
	}
	
	
	.title02 {
		position:absolute;
		top:17.4vw;
		left:50%;
		margin-left:-41.9vw;
		width:83.8vw;
	}
	
	.contactline {
		margin:0 auto;
		width:12vw;
		border:1px solid rgb(54,189,239);
	}
	
	.botaibg {
		width:100%;
		height:52.6vw;
		display:flex;
		justify-content:center;
		align-items:center;
		background:#fff url(images/gikenlogo.png) 50% 50% no-repeat;
		background-size:35vw;
	}
	
	.contactbtn {
		width:28.5vw;
	}
	
	#privacy ,#torihiki ,#company {
		padding: calc(12.5vw + 10px) 10px 10px 10px;
		font-size:16px;
		width:100%;
	}
	
	#torihiki dl {
		display:block;
	}
	
	#torihiki dt {
		width:100%;
		text-align:left;
	}
	
	#torihiki dd {
		padding:0;
	}
	
	#company dl {
		display:block;
	}
	
	#company dt {
		width:100%;
		text-align:left;
	}
	
	#company dd {
		padding:0;
	}
	
	#company li {
		margin-left:1.5em;
	}
	
}
