/*==================================================================*/
/* style css */
/*==================================================================*/
:root{
	--color_main:#1b32a8;
	--color_point:#ff0078;
	--color_over:#1dcacc;
	}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */
/* 768 *//* ------- */@media print, screen and (min-width:768px){}/* ------- *//* 768 */
/* 980 *//* ------- */@media print, screen and (min-width:980px){}/* ------- *//* 980 */

/* -------------------------------------------------------------- */
/* mainvisual */
/* -------------------------------------------------------------- */
#mainvisual *{margin:0;padding:0;}
#mainvisual{
	margin:0 !important;
	padding:0;
	position:relative;
	background:url('./image/back.svg') #8be4f4 no-repeat 50% 110% / 120%;
	}
#mainvisual::after{
	content:"";
	position:absolute;
	top:-10px;
	left:-10px;
	width:100%;
	height:100%;
	background:url('./image/summer2026.svg') no-repeat 0 0 / 100%;
	opacity: .3;
	pointer-events:none;
	}

#mainvisual h1{
	margin:0;
	padding:0;
	border:none;
	position:relative;
	height:auto;
	z-index:2;
	}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */

/* 768 *//* ------- */@media print, screen and (min-width:768px){
#mainvisual{
	padding:76px 0 20px;
	background:url('./image/back.svg') #8be4f4 no-repeat 50% 260px / 120%;
	}
#mainvisual h1 img{width:100%;}
#mainvisual::after{width:80%;}
}/* ------- *//* 768 */

/* 980 *//* ------- */@media print, screen and (min-width:980px){
#mainvisual{
	padding:10px 0 90px;
	background-position:50% 400px;
	}
#mainvisual h1 img{width:auto;}
#mainvisual::after{width:60%;}

}/* ------- *//* 980 */


/* -------------------------------------------------------------- */
/* contents */
/* -------------------------------------------------------------- */
#contents{
	margin:0;
	padding:0;
	background:none;
	font-weight:900;
	}

/* -------------------------------------------------------------- */
/* lead */
/* -------------------------------------------------------------- */
#lead *{margin:0;padding:0;}
#lead{
	margin:0 auto 80px;
	width:var(--size_sp);
	}

#lead article:first-of-type{
	margin:0 0 40px;
	padding:0 0 240px;
	background:url('./image/photo01.png') no-repeat 50% 100% / 100%;
	}

#lead h2{
	margin:0 0 10px;
	color:var(--color_main);
	text-align:center;
	font-size:18px;
	letter-spacing:0;
	text-align:center;
	}
#lead h2 span{
	color:var(--color_point);
	font-size:25px;
	}

#lead dl{margin:0 0 40px;}
#lead dt{
	margin:0 0 10px;
	padding:0 0 0 120px;
	color:var(--color_point);
	font-size:18px;
	}
#lead dd{
	padding:0 0 0 120px;
	font-weight:500;
	}
#lead span{color:var(--color_point);}

#lead dl.robo{background:url('./image/photo03.png') no-repeat 0 50%/ 100px;}
#lead dl.report{background:url('./image/report.png') no-repeat 0 50%/ 100px;}

#lead p.photo img{
	margin:0 auto 10px;
	border-radius:6px;
	}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */
/* 768 *//* ------- */@media print, screen and (min-width:768px){
#lead{width:var(--size_tab);}
#lead article:first-of-type{
	padding:0;
	background-position:100% 100%;
	background-size:240px;
	}
#lead h2{
	margin-bottom:30px;
	font-size:24px;
	text-align:left;
	}
#lead h2 span{font-size:38px;}
#lead article:first-of-type p{padding:10px 260px 0 0;}

#lead dl{
	padding:55px 0;
	}
#lead dt{
	padding:0 0 0 260px;
	font-size:24px;
	}
#lead dd{padding:0 0 0 260px;}
#lead dl.robo{background-size:240px;}
#lead dl.report{background-size:240px;}

#lead p.photo{
	display:flex;
	justify-content:centar;
	width:640px;
	}
#lead p.photo img{width:300px;}
#lead article:last-of-type .photo{text-align:center;}

}/* ------- *//* 768 */
/* 980 *//* ------- */@media print, screen and (min-width:980px){
#lead{width:calc( var(--size_pc) - 120px );}
#lead article:first-of-type{
	padding:0;
	background-position:100% 0;
	background-size:300px;
	}
#lead h2{text-align:left;}
#lead article:first-of-type p{padding:10px 320px 0 0;}

#lead dl{
	margin:0;
	padding:70px 0;
	}
#lead dt{
	padding:0 0 0 330px;
	font-size:30px;
	}
#lead dd{padding:0 0 0 330px;}
#lead dl.robo{background-size:280px;}
#lead dl.report{background-size:280px;}

#lead p.photo{margin:0 auto;}

}/* ------- *//* 980 */

/* -------------------------------------------------------------- */
/* entry */
/* -------------------------------------------------------------- */
.entry *{margin:0;padding:0;}
.entry{
	margin:0 auto 40px;
	padding:40px 0 30px;
	text-align:center;
	background:url('./image/back1.svg') #caf2fa no-repeat 50% 100% / 140%;
	}

.entry p{
	margin:0 auto;
	width:var(--size_sp);
	}
.entry p a{
	margin:0 0 10px;
	border-radius:6px;
	display:block;
	line-height:60px;
	color:#fff;
	background:var(--color_point);
	text-align:center;
	font-weight:700;
	}
.entry span{
	font-weight:500;
	}
.entry span em{
	color:var(--color_point);
	font-style:normal;
	}

@media (hover:hover){
.entry p a{
	background-image:linear-gradient(90deg, var(--color_sub) 50%, transparent 50%);
	background-position:100%;
	background-size:250%;
}
.entry p a:hover{
	color:#fff;
	background-position:0;
	transform:scale(1, 1);
	}
}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */
/* 768 *//* ------- */@media print, screen and (min-width:768px){.entry{margin-bottom:80px;}}/* ------- *//* 768 */
/* 980 *//* ------- */@media print, screen and (min-width:980px){
.entry{
	padding:60px 0 20px;
	background:url('./image/back1.svg') #caf2fa no-repeat 50% 50px / 120%;
	}

}/* ------- *//* 980 */

/* -------------------------------------------------------------- */
/* about */
/* -------------------------------------------------------------- */
#about *{margin:0;padding:0;}
#about{
	margin:0 auto 60px;
	padding:90px 0 0;
	width:var(--size_sp);
	background:url('./image/kanto.svg') no-repeat 50% 0 / 70px;
	}

#about h2{
	margin:0 0 10px;
	color:var(--color_main);
	text-align:center;
	font-size:26px;
	letter-spacing:0.5em;
	}

#about .block{
	margin:0 auto 30px;
	position:relative;
	}

#about p.copy{
	position:absolute;
	top:16px;
	left:0;
	right:0;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	line-height:1.4;
	color:var(--color_point);
	text-align:center;
	font-size:23px;
	gap:10px;
	text-shadow:2px 2px 0 #fff, -2px -2px 0 #fff,
							-2px 2px 0 #fff, 2px -2px 0 #fff,
							0px 2px 0 #fff,  0-2px 0 #fff,
							-2px 0 0 #fff, 2px 0 0 #fff;
	}
#about p.copy::before,#about p.copy::after{
	display:block;
	content:"";
	width:48px;
	height:3px;
	box-sizing:border-box;
	background-color:var(--color_point);
	}
#about p.copy::before{transform:rotate(60deg);}
#about p.copy::after{transform:rotate(-60deg);}

#about p{
	color:var(--color_main);
	}

#about article{}
#about article p{}
#about article h3{
	margin:0 0 30px;
	line-height:1.4;
	color:var(--color_point);
	font-size:30px;
	}
#about dl{
	margin:0 0 20px;
	display:flex;
	justify-content:space-between;
	align-items: flex-start;
	font-weight:500;
	}
#about dt{
	border-radius:6px;
	width:80px;
	color:#fff;
	background:var(--color_main);
	text-align:center;
	}
#about dd{
	width:240px;
	}
#about dd a{color:#6eb92b;}
#about dd a:hover{color:#f5a435;}

#about span{
	font-weight:normal;
	font-size:14px;
	}
#about .sp1{display:none;}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */
/* 768 *//* ------- */@media print, screen and (min-width:768px){
#about{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	width:var(--size_tab);
	}
#about h2{width:100%;}
#about p.copy{font-size:20px;}
#about p.copy::before,#about p.copy::after{width:40px;}
#about .block{width:300px;}
#about .block img{width:300px;}
#about article{padding-top:50px;width:var(--size_sp);}
#about article h3{font-size:24px;}
#about dd{letter-spacing:0;}

}/* ------- *//* 768 */
/* 980 *//* ------- */@media print, screen and (min-width:980px){
#about{width:var(--size_pc);}
#about h2{font-size:30px;}

#about .block{
	margin:0;
	width:450px;
	}
#about .block img{width:auto;}
#about p.copy{font-size:24px;}
#about p.copy::before,#about p.copy::after{width:48px;}

#about article{
	padding-top:50px;
	width:460px;
	}
#about article h3{font-size:30px;}
#about dd{width:360px;letter-spacing:1px;}
#about dd br.sp{display:none;}
#about .sp1{display:block;}

}/* ------- *//* 980 */


/* -------------------------------------------------------------- */
/* flowchart */
/* -------------------------------------------------------------- */
#flowchart *{margin:0;padding:0;}
#flowchart{
	margin:0 auto 60px;
	width:var(--size_sp);
	}
#flowchart h2{
	margin:0 0 30px;
	color:var(--color_main);
	text-align:center;
	font-size:26px;
	letter-spacing:0.5em;
	}

#flowchart div{
	display:flex;
	justify-content:space-between;
	}
#flowchart dl{
	border-radius:6px;
	position:relative;
	width:110px;
	color:var(--color_main);
	text-align:center;
	}

#flowchart dl:first-of-type{background:url('./image/ic_kumitate.png') #f8ea5d no-repeat 50% 28px / 20px;}
#flowchart dl{background:url('./image/ic_kaizou.png') #f8ea5d no-repeat 50% 30px / 25px;}
#flowchart dl:last-of-type{background:url('./image/ic_battle.png') #f8ea5d no-repeat 50% 34px / 24px;}

#flowchart dl::after{
	margin:auto;
	content:"";
	position:absolute;
	right:-8px;
	top:0;
	bottom:0;
	display:inline-block;
	width:10px;
	height:20px;
	background:var(--color_point);
	clip-path:polygon(0 0, 0 100%, 100% 50%);
	z-index:5;
	}
#flowchart dl:last-of-type::after{display:none;}

#flowchart dt{
	margin:0 auto;
	border-radius:50%;
	position:absolute;
	top:-25px;
	right:0;
	left:0;
	width:50px;
	line-height:50px;
	background:#fff;
	}
#flowchart dd{
	padding:60px 5px 15px;
	letter-spacing:0;
	}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */
/* 768 *//* ------- */@media print, screen and (min-width:768px){
#flowchart{width:var(--size_tab);}
#flowchart dl{width:210px;}
#flowchart dl::after{
	right:-30px;
	width:20px;
	height:30px;
	}
}/* ------- *//* 768 */
/* 980 *//* ------- */@media print, screen and (min-width:980px){
#flowchart{
	margin-bottom:100px;
	width:var(--size_pc);
	}
#flowchart h2{font-size:30px;}
#flowchart dl{
	width:300px;
	font-size:20px;
	}
#flowchart dl:first-of-type{background-position:24px 50%;background-size:40px;}
#flowchart dl{background-position:24px 50%;background-size:46px;}
#flowchart dl:last-of-type{background-position:24px 50%;background-size:46px;}
#flowchart dd{padding-top:30px;}
}/* ------- *//* 980 */


/* -------------------------------------------------------------- */
/* point */
/* -------------------------------------------------------------- */
#point *{margin:0;padding:0;}
#point{
	margin:0 auto 60px;
	width:var(--size_sp);
	}
#point h2{
	margin:0 0 10px;
	position:relative;
	color:var(--color_main);
	text-align:center;
	font-size:20px;
	}
#point h2::before, #point  h2::after{
	content:"";
	position:absolute;
	top:-20px;
	display:block;
	width:20px;
	height:30px;
	background:url('./image/effect.svg') no-repeat 50% 50% / 100%;
	}
#point h2::before{left:0;}
#point h2::after{right:0;transform: scaleX(-1);}

#point h2 span:first-of-type{color:var(--color_point);}
#point h2 span:nth-of-type(2n){color:#73c091;}
#point h2 span:last-of-type{color:#eac642;}

#point h3{
	margin:0 0 20px;
	font-size:16px;
	letter-spacing:0;
	}
#point h3 span{
	color:var(--color_point);
	}
#point h3 em{
	font-size:22px;
	font-style:normal;
	}

#point ul{
	margin:0 30px;
	display:flex;
	justify-content:space-between;
	}
#point li{
	width:80px;
	list-style:none;
	}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */
/* 768 *//* ------- */@media print, screen and (min-width:768px){
#point{margin-bottom:80px;width:var(--size_tab);}
#point h2{font-size:30px;}

#point h2::before, #point  h2::after{
	width:30px;
	height:40px;
	}
#point h2::before{left:calc(50% - 280px);}
#point h2::after{right:calc(50% - 280px);transform: scaleX(-1);}

#point h3{
	margin-bottom:50px;
	font-size:24px;
	text-align:center;
	}
#point ul{margin:0 70px;}
#point li{width:160px;}
#point li img{width:100%;}

}/* ------- *//* 768 */
/* 980 *//* ------- */@media print, screen and (min-width:980px){
#point{margin-bottom:100px;width:var(--size_pc);}
#point h2{font-size:40px;}
#point ul{margin:0 120px;}
#point li{width:200px;}
}/* ------- *//* 980 */


/* -------------------------------------------------------------- */
/* kanto */
/* -------------------------------------------------------------- */
.kanto *{margin:0;padding:0;}
.kanto{
	margin:0 auto 40px;
	text-align:center;
	}

.kanto p{
	margin:0 auto 10px;
	position:relative;
	width:var(--size_sp);
	}
.kanto p a{
	margin:0;
	border-radius:6px;
	display:block;
	line-height:60px;
	color:var(--color_main);
	background:no-repeat;
	background-image:linear-gradient(90deg, var(--color_main) 50%, transparent 50%), url("./image/back.svg");
	background-color:#8be4f4;
	background-position:100% , 50% 26px;
	background-size:250% , cover;
	text-align:center;
	font-weight:700;
	transition:all .3s;
	}
@media (hover:hover){
.kanto p a:hover{
	color:#fff;
	background-position:0 , 50% 26px;
	transform:scale(1, 1);
	}
}

.kanto p em{
	position:relative;
	font-style:normal;
	z-index:2;
	}
	
.kanto p a::after{
	content:"";
	display:block;
	position:absolute;
	top:-20px;
	right:12px;
	width:70px;
	height:90px;
	background:url('./image/kanto.svg') no-repeat 50% 50% / 100%;
	}

.kanto span{
	font-weight:500;
	font-size:12px;
	}
.kanto span em{
	color:#ff0078;
	font-style:normal;
	}

/* 360 *//* ------- */@media print, screen and (max-width:360px){}/* ------- *//* 360 */
/* 400 *//* ------- */@media print, screen and (min-width:400px){}/* ------- *//* 400 */
/* 768 *//* ------- */@media print, screen and (min-width:768px){
.kanto p{
	margin:0 auto 10px;
	position:relative;
	width:640px;
	}
.kanto p a{line-height:100px;}
.kanto p a::after{
	top:-10px;
	width:100px;
	height:120px;
	}

.kanto span{font-size:14px;}
.kanto span br{display:none;}

}/* ------- *//* 768 */
/* 980 *//* ------- */@media print, screen and (min-width:980px){

.kanto p a{background-position:100% , 50% 50px;}
}/* ------- *//* 980 */


/* -------------------------------------------------------------- */
