@charset "utf-8";

/*--- reset */

html {
	overflow-y: scroll; 
}

body,
html {  
    height: 100%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
figure{
	margin: 0;
	padding: 0;
}
	
address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size:100%;
}


caption {text-align: left;}

q:before,
q:after {
	content: '';}

object,
embed {vertical-align: top;}

h1,
h2,
h3,
h4,
h5,
h6 {font-size: 100%;}

img,
abbr,
acronym,
fieldset {border: 0;}

img{
	vertical-align: bottom;
	line-height: 0;
}

li {list-style-type: none;}
li img{vertical-align: bottom;}
p{
	text-align: justify;
	text-justify: inter-ideograph;
}

a {color: #0a337f; text-decoration:none;}
a:hover{opacity:0.7;}
.underline{text-decoration:underline;}

/* clearfix */
.clear:before,
.clear:after {
    content: " ";
    display: table;
}

.clear:after {
    clear: both;
}

/*hr reset*/
hr {
	border: 0;
	height: 0;
	margin: 0;
	padding: 0;
}

/*font*/
.noto100 {font-weight:100;}
.noto200 {font-weight:200;}
.noto300 {font-weight:300;}
.noto400 {font-weight:400;}
.noto500 {font-weight:500;}
.noto600 {font-weight:600;}
.noto700 {font-weight:700;}
.noto800 {font-weight:800;}
.noto900 {font-weight:900;}

.f-center{text-align:center;}

.fc-orange{ color:#fb7c00;}
.fc-yellow{ color:#fbdb00;}
.fc-navy{color:#293447;}
.fc-white{color:#fff;}
.fc-sky{color: #09adfa;}

.f-bold{font-weight:bold;}
.f-normal{font-weight: normal;}

.fs-14{font-size: 14px;}
.fs-16{font-size: 16px;}
.fs-18{font-size: 18px;}
.fs-20{font-size:20px;}
.fs-22{font-size:22px;}
.fs-24{font-size:24px;}
.fs-26{font-size:26px;}
.fs-30{font-size:30px;}

.f-letter{letter-spacing: -0.07em;}
/*
.sub{ 
	color:#7d3d00;
	font-family: 'Roboto', sans-serif;
}
*/
@font-face {
  font-family: 'd-din-pro';
  src: url('../fonts/D-DIN-PRO-700-Bold.otf') format('opentype');
}
/*margin*/
.mb10{margin:0 0 10px 0 !important;}
.mb20{margin:0 0 20px 0 !important;}
.mb1010{margin:10px 0 10px 0 !important;}
.mb40{margin:0 0 40px 0 !important;}
.mb80{margin:0 0 80px 0 !important;}
.mt120{margin:120px 0 0 0 !important;}

/*padding*/
.pd20{padding: 20px;}
.pd40{padding: 40px;}
.ptb40{	padding:40px 0;}
.ptb80{	padding:80px 0;}
.ptb120{ padding:120px 0;}
.prl40{	padding:0 40px;}
.prl80{	padding:0 80px;}

/*float*/
.left-img{
	float:left;
	margin:0 50px 50px 0;
}
/*flex*/
.flex-bt, .flex-center, .flex-stand{
	display: -webkit-flex;
    display: flex; 
	flex-wrap: wrap;
}
.flex-bt{
	-webkit-justify-content: space-between;
    justify-content: space-between;
}
.flex-center{
	-webkit-justify-content:center;
    justify-content:center;
}
.flex-stand{
	-webkit-justify-content:start;
    justify-content:start;
}
.flex-chuo{align-items: center;}
.flex-order1{order:1;}
.flex-order2{order:2;}

/*animation*/
.slide-bottom {
   opacity: 0;
   transform: translateY(20px);
   transition: all 1s 0s ease-out;
 }
 
@media screen and (max-width: 768px) {
	/*margin*/
	.mb10{margin:0 0 10px 0 !important;}
	.mb20{margin:0 0 10px 0 !important;}
	.mb1010{margin:10px 0 10px 0 !important;}
	.mb40{margin:0 0 20px 0 !important;}
	.mb80{margin:0 0 20px 0 !important;}
	.mt120{margin:40px 0 0 0 !important;}
	
	/*padding*/
	.pd20{padding: 10px;}
	.pd40{padding: 20px;}
	.ptb40{	padding:20px 0;}
	.ptb80{	padding:20px 0;}
	.ptb120{ padding:40px 0;}
	.prl40{	padding:0 20px;}
	.prl80{	padding:0 40px;}

	.sp-mb10{margin:0 0 10px 0 !important;}
	.sp-mb30{margin:0 0 30px 0 !important;}
	.fs-14{font-size:3vw;}
	.fs-20{font-size:5vw;}
	.fs-22{font-size:5.5vw;}
	.fs-24{font-size:6vw;}
	.fs-30{font-size:7vw;}
	.fs-26{font-size:6vw;}
	.sp-fs-14{font-size: 3.5vw;}
	
	.sp-f-left{text-align:left;}
	.sp-f-center{text-align: center;}
	
	/*flex*/
	.flex-bt, .flex-center, .flex-stand{
		display: block;
	}
}


/*====================================
 default 
====================================*/
body {
	background: #fff;
	color: #000;
	font-family: 'Noto Sans Japanese', sans-serif;
	font-weight: 200;
	height: 100%;
	line-height: 1.8;
	text-align: left;
}
p{
	font-size:20px;
}
#header{
	position: fixed;
}
#wrap{
	padding: 90px 0 0 0;
  	position:relative;
  	height:auto;
	overflow: hidden;
}
#wrap:before {
    content: "";
    display: block;
}
.inner{
	width:1000px;
	max-width: 100%;
	margin:0 auto;
	position:relative;
	box-sizing: border-box;
}
/*蛍光アンダーライン*/
.yellow_line {
	background:rgba(0, 0, 0, 0) linear-gradient(transparent 90%, #fff100 0%) repeat scroll 0 0;
}
.pst-res{position:relative;}



/*btn*/
.btn01{
	width:80%;
	margin:0 10%;
}
.btn01 a{
	font-size:36px;
	padding:20px 0 20px;
	font-weight:bold;
	position:relative;
	display:block;
	color:#fff;
	line-height: 1.2;
	text-align:center;
	background:#fb7c00;
	border-radius:10px;
	-webkit-box-shadow: #ad5700 0px 4px 0px;
	-moz-box-shadow: #ad5700 0px 4px 0px;
	box-shadow: #ad5700 0px 4px 0px;
}
.btn02 a{
	font-size:24px;
	padding:10px 0;
	font-weight:bold;
	position:relative;
	display:block;
	color:#fff;
	text-align:center;
	background:#fb7c00;
	border-radius:10px;
	-webkit-box-shadow: #ad5700 0px 4px 0px;
	-moz-box-shadow: #ad5700 0px 4px 0px;
	box-shadow: #ad5700 0px 4px 0px;
}
.btn01 a:after{
	width:30px;
	height:30px;
	margin:0 0 0 10px;
	background: url(../images/icon-arrow.png) no-repeat right center;
	content:"";
	display: inline-block;
	position:relative;
}
.btn02 a:after{
	width:20px;
	height:30px;
	margin:0 0 0 10px;
	background: url(../images/icon-arrow.png) no-repeat right 10px;
	content:"";
	display: inline-block;
	position:relative;
	background-size: 20px 20px;
}

.btn03 a{
	font-size:36px;
	padding:40px 0;
	font-weight:bold;
	position:relative;
	display:block;
	color:#fff;
	text-align:center;
	background:#80b40b;
	border-radius:10px;
	-webkit-box-shadow: #415615 0px 4px 0px;
	-moz-box-shadow: #415615 0px 4px 0px;
	box-shadow: #415615 0px 4px 0px;
}
.btn03 a{
	font-size:24px;
	padding:10px 0;
	text-decoration: none;
}
.btn03 a:after{
	width:20px;
	height:30px;
	margin:0 0 0 10px;
	background: url(../images/icon-arrow.png) no-repeat right 10px;
	content:"";
	display: inline-block;
	position:relative;
	background-size: 20px 20px;
}
.btn03 span{
    color: #1a416d;
    font-size: 18px;
    background: #feef35;
    border-radius: 50px;
    padding: 0 0.5rem;
    margin: 0 0.5rem 0 0;
}
.btn04 a{
	font-size:36px;
	padding:40px 0;
	font-weight:bold;
	position:relative;
	display:block;
	color:#fff;
	text-align:center;
	background:#1d9bf0;
	border-radius:10px;
	-webkit-box-shadow: #09588d 0px 4px 0px;
	-moz-box-shadow: #09588d 0px 4px 0px;
	box-shadow: #09588d 0px 4px 0px;
}
.btn04 a{
	font-size:24px;
	padding:10px 0;
	text-decoration: none;
}
.btn04 a:after{
	width:20px;
	height:30px;
	margin:0 0 0 10px;
	background: url(../images/icon-arrow.png) no-repeat right 10px;
	content:"";
	display: inline-block;
	position:relative;
	background-size: 20px 20px;
}

.bg-gray{background:url(../images/gray-bg.jpg) repeat;}
.bg-gray2{background: #f5f5f5;}
.bg-yellow{background: #fff9af;}
.bg-sky{ background: #d0f7fe;}
.bg-white{background: #fff;}
.bg-graph{background: url("../images/bg_graph.jpg") repeat;}

@media screen and (max-width: 768px) {
	#header{
		height: auto;
	}
	#wrap{
		padding: 18vw 0 0 0;
		font-size: 96%;
	}
	.inner{
		width:90%;
		margin:0 auto;
	}
	.img-auto{
		width:100%;
		height:auto;
	}
	p{
		font-size:5vw;
	}
	.sp-none{display:none;}
	
	/*btn*/
	.btn01{
		width:100%;
		margin:0;
	}
	.btn01 a{
		font-size:8vw;
		line-height:1.3;
		padding:10px 0;
	}
	.btn01 a:after, .btn02 a:after{
		width:20px;
		height:20px;
		left:50%;
		margin:0 0 0 -10px;
		background: url(../images/icon-arrow.png) no-repeat center top;
		background-size:20px 20px;
		content:"";
		display: block;
		position:relative;
	}
	.btn02 a{
		font-size:6vw;
		line-height: 1.3;
	}
	
	.btn03 a:after{
		width:20px;
		height:20px;
		left:50%;
		margin:0 0 0 -10px;
		background: url(../images/icon-arrow.png) no-repeat center top;
		background-size:20px 20px;
		content:"";
		display: block;
		position:relative;
	}
	.btn03 a{
		font-size:6vw;
		line-height: 1.3;
	}
	.btn03 span {
	  font-size: 4vw;
	}
	.btn04 a:after{
		width:20px;
		height:20px;
		left:50%;
		margin:0 0 0 -10px;
		background: url(../images/icon-arrow.png) no-repeat center top;
		background-size:20px 20px;
		content:"";
		display: block;
		position:relative;
	}
	.btn04 a{
		font-size:5vw;
		line-height: 1.3;
	}
	/*pagescroll*/
	#scrollUp {
		bottom: 80px;
		right: 10px;
	}
}

/*====================================
 contents
====================================*/
/*main　通常*/
.main{
	padding: 50px 0 62px;
	position: relative;
}
.main .bg{
	max-width: 1600px;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	translate: -50% 0;
	z-index: -1;
	overflow: hidden;
}
.main .bg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.main .inner{
	width: 1340px;
	max-width: calc(100% - 100px);
	display: flex;
	align-items: center;
	gap: 25px;
}
.main .txt{
	flex-shrink: 0;
}
.main .lead{
	font-size: 25px;
	line-height: 1;
	font-weight: 700;
	color: #001E5A;
	padding: 12px 18px;
	background-color: #FAEC0E;
	width: fit-content;
	margin-bottom: 10px;
}
.main .title{
	font-size: 60px;
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 0 10px #00193ED9;
	margin-bottom: 12px;
}
.main .catch{
	font-size: 28px;
	line-height: 1.29;
	font-weight: 700;
	color: #fff;
	margin-bottom: 35px;
}
.main .visual{
	width: 520px;
	position: absolute;
	top: 240px;
	right: 0;
	z-index: 4;
}
.main .situation{
	width: 790px;
	position: absolute;
	top: -50px;
	left: 682px;
}
.main .situation img{
	position: relative;
	z-index: 2;
}
.main .situation::before{
	content: "";
	width: calc(100% + 52px);
	height: 100%;
	background-color: #fff;
	clip-path: polygon(13% 0%, 100% 0, 100% 100%, 0% 100%);
	position: absolute;
	top: 42px;
	left: -50px;
}
@media screen and (max-width: 1023px) {
	.main .visual{
		left: 500px;
		right: unset;
	}
}
@media screen and (max-width: 768px) {
	.main{
		padding: 10vw 0 20vw;
		height: auto;
	}
	.main .bg{
		width: auto;
		height: 94%;
		aspect-ratio: 320 / 120;
		left: 0;
        translate: unset;
	}
	.main .bg img{
		width: auto;
		height: 100%;
	}
	.main .inner{
		width: 90%;
		max-width: unset;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10vw;
	}
	.main .lead{
		font-size: 4vw;
		padding: 1.5vw 2.5vw;
		margin: 0 auto 2vw;
	}
	.main .title{
		font-size: 10vw;
		text-align: center;
		margin-bottom: 2vw;
	}
	.main .catch{
		font-size: 4.6vw;
		text-align: center;
		margin-bottom: 5vw;
	}
	.main .visual{
		width: 84vw;
		position: absolute;
		top: unset;
		bottom: -20vw;
		left: 50%;
		right: unset;
		translate: -50% 0;
	}
	.main .situation{
		width: 100%;
		position: relative;
		top: unset;
		left: unset;
		right: -5vw;
	}
	.main .situation::before{
		content: "";
		width: calc(100% + 50px);
		height: 100%;
		background-color: #fff;
		clip-path: polygon(13% 0%, 100% 0, 100% 100%, 0% 100%);
		position: absolute;
		top: 42px;
		left: -50px;
	}
}


/*cta*/
.cta{
    position: relative;
	padding: 120px 0;
	background-image: url(../images/cta-bg2.png);
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
}
.cta .inner{
	display: flex;
	justify-content: space-between;
	width: 1200px;
	padding: 35px;
	border-radius: 16px;
	position: relative;
	z-index: 2;
}
.cta .inner::before,
.cta .inner::after{
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 16px;
	position: absolute;
	inset: 0;
}
.cta .inner::before{
	background-image: url(../images/cta-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	z-index: -2;
}
.cta .inner::after{
	background: #001E5A;
	background: linear-gradient(180deg, rgba(0, 30, 90, 1) 0%, rgba(0, 30, 90, 1) 25%, rgba(0, 30, 90, 0) 100%);
	z-index: -1;
}
.cta .label{
	font-size: 28px;
	line-height: 1.23;
	font-weight: 700;
	color: #001E5A;
	width: 125px;
	height: 125px;
	border-radius: 50%;
	background-color: #FAEC0E;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -18px;
	right: -36px;
	z-index: 2;
}
.cta .left{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
}
.cta .lead{
	font-size: 28px;
	line-height: 1.25;
	font-weight: 700;
	text-align: center;
	color: #fff;
	word-break: auto-phrase;
}
.cta .visual{
	width: 500px;
}
.cta .right{
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
}
.cta .catch{
	font-size: 30px;
	line-height: 1.32;
	font-weight: 700;
	text-align: center;
	color: #001E5A;
}
.cta .catch span{
	font-size: 40px;
}
.cta .txt{
	background-color: #fff;
	border-radius: 17px;
	padding: 30px 10px 10px;
}
.cta .price{
	line-height: 1.25;
	font-weight: 700;
	text-align: center;
	color: #001E5A;
}
.cta .price .jp{
	font-size: 36px;
}
.cta .price .num{
	font-family: 'd-din-pro';
	font-weight: 700;
	font-size: 90px;
	letter-spacing: 0.01em;
	color: #0076FF;
}
.cta .price .num span{
	font-family: "Bebas Neue", sans-serif;
	font-weight: 700;
}
.cta .price .tax{
	font-size: 24px;
}
@media screen and (max-width: 1240px) {
	.cta .inner{
		gap: 10px;
	}
	.cta .visual{
		width: 450px;
	}
}
@media screen and (max-width: 1023px) {
	.cta .inner{
		flex-direction: column;
		width: 700px;
	}
	.cta .right{
		width: 500px;
		margin: 0 auto;
	}
}
@media screen and (max-width: 768px) {
	.cta{
		padding: 12vw 0;
		background-size: 250vw 125vw;
	}
	.cta .inner{
		flex-direction: column;
		gap: 4vw;
		width: 90%;
		padding: 12vw 5vw 5vw;
		border-radius: 4vw;
	}
	.cta .label{
		font-size: 5vw;
		width: 24vw;
		height: 24vw;
		top: -12vw;
		right: -5vw;
	}
	.cta .left{
		gap: 3vw;
	}
	.cta .lead{
		font-size: 7.5vw;
	}
	.cta .visual{
		width: 100%;
	}
	.cta .right{
		width: 100%;
		gap: 3vw;
	}
	.cta .catch{
		font-size: 6vw;
	}
	.cta .catch span{
		font-size: 11vw;
	}
	.cta .txt{
		border-radius: 4vw;
		padding: 4vw 2vw 2vw;
	}
	.cta .price .jp{
		font-size: 5vw;
	}
	.cta .price .num{
		font-size: 18vw;
	}
	.cta .price .tax{
		font-size: 3vw;
	}
}

.gradation-bg{
	background: #0076FF;
	background: linear-gradient(164deg, rgba(0, 118, 255, 1) 0%, rgba(0, 30, 90, 1) 100%);
}

/*free*/
.free{
	padding: 80px 0 0;
}
.free h2{
	font-size: 45px;
	line-height: 1.25;
	font-weight: 700;
	text-align: center;
	color: #fff;
	margin-bottom: 30px;
}
.free h2 .num{
	font-size: 60px;
	color: #FAEC0E;
}
.free .catch{
	font-size: 32px;
	line-height: 1.25;
	font-weight: 700;
	text-align: center;
	color: #001E5A;
	padding: 5px 0;
	background-color: #FAEC0E;
	margin-bottom: 50px;
}
.free .desc{
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
	color: #fff;
	margin-bottom: 38px;
}
.free-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.free-list li{
	width: 31%;
	color: #1a416d;
	text-align: center;
}
.free-list li img{
	width: 150px;
}
.free-list p{
	text-align: center;
}
.free-list .point{
	margin: 0 auto 25px;
}
.free-list .fuki{
	font-size: 20px;
	padding: 0.3em 0;
	margin: 0 0 30px 0;
	font-weight: bold;
	color: #001E5A;
	top: 0;
}
.free-list h3{
	font-size: 22px;
	margin: 10px 0;
	line-height: 1.5;
	color: #fff;
	white-space: nowrap;
}
.free-list .btn a{
	margin: 0 auto;
}
.free-list .btn a .pointer{
	rotate: 90deg;
}
@media screen and (max-width: 768px) {
	.free{
		padding: 12vw 0 0;
	}
	.free h2{
		font-size: 9vw;
		line-height: 1.1;
		margin-bottom: 6vw;
	}
	.free h2 .num{
		font-size: 12vw;
	}
	.free .catch{
		font-size: 5vw;
		padding: 1vw 0;
		margin-bottom: 10vw;
	}
	.free .desc{
		font-size: 4.5vw;
		margin-bottom: 4vw;
	}
	.free-list li{
		width: 100%;
		margin: 0 0 12vw 0;
	}
	.free-list li img{
		width: 32vw;
	}
	.free-list p{
		font-size: 4.5vw;
	}
	.free-list .point{
		font-size: 5vw;
		margin-bottom: 3vw;
	}
	.free-list .fuki{
		font-size: 5vw;
		margin: 0 0 20px 0;
		top: 5px;
	}
	.free-list h3{
		font-size: 6vw;
		margin: 0.25em 0;
	}
	.free-list .btn02 a{
		font-size: 5vw;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
	}
	.free-list .btn02 a::after{
		left: unset;
		margin: 0;
	}
}

/*feature*/
.feature-1{
	padding: 100px 0 0;
}
.feature-2{
	padding: 100px 0 0;
	position: relative;
}
.feature-3{
	padding: 100px 0;
}
.feature .point{
	font-size: 28px;
	width: 220px;
	height: 65px;
	margin: 0 auto 30px;
}
.feature h2{
	font-size: 44px;
	line-height: 1.2;
	font-weight: 700;
	text-align: center;
	color: #fff;
	word-break: auto-phrase;
	margin-bottom: 30px;
}
.feature .catch{
	font-size: 32px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	color: #001E5A;
	padding: 5px 0;
	background-color: #FAEC0E;
	margin-bottom: 30px;
}
.feature .lead{
	font-size: 24px;
	line-height: 1.54;
	font-weight: 700;
	text-align: center;
	color: #fff;
	margin-bottom: 75px;
}
.feature-2_bg{
	width: 100%;
	position: absolute;
	top: 80px;
	left: 0;
}
.feature-2 .images{
	display: flex;
	justify-content: center;
	gap: 16px;
}
.feature-2 .images li{
	width: 392px;
	height: auto;
	aspect-ratio: 392 / 220;
	flex-shrink: 0;
}
.feature-2 .images li img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.feature-2 .images-1{
	margin-left: -80px;
}
.feature-2 .images-2{
	margin-top: 32px;
	margin-right: -80px;
}
@media screen and (max-width: 768px) {
	.feature-1{
		padding: 12vw 0 0;
	}
	.feature-2{
		padding: 12vw 0 0;
	}
	.feature-3{
		padding: 12vw 0;
	}
	
	.feature .point{
		font-size: 6vw;
		width: 48vw;
        height: 14.5vw;
		margin-bottom: 6vw;
	}
	.feature h2{
		font-size: 9vw;
		margin-bottom: 6vw;
	}
	.feature .catch{
		font-size: 5vw;
        padding: 1vw 0;
        margin-bottom: 6vw;
	}
	.feature .lead{
		font-size: 5.5vw;
		font-weight: 500;
		margin-bottom: 8vw;
	}
	.feature-2_bg{
		top: 8vw;
	}
	.feature-2 .images{
		flex-wrap: wrap;
		gap: 2vw;
	}
	.feature-2 .images li{
		width: calc((100% - 4vw) / 2);
	}
	.feature-2 .images-1{
		margin-left: 0;
	}
	.feature-2 .images-2{
		margin-top: 2vw;
		margin-right: 0;
	}
}

/*program*/
.program {
	position: relative;
}
.program .inner{
	width: 840px;
	position: relative;
	z-index: 2;
}
.program .lead{
	margin-bottom: 42px;
}
.program .btn a{
	margin: 0 auto;
}
.program-block{
	min-height: 400px;
	padding: 20px;
	background-color: #fff;
	border-radius: 24px;
}
/*JSON動画設置*/
.program-block .vod-box{
    margin: 0 auto 20px;
    width: 100%;
	/*↓以下クラスはJSON動画設置時に削除してください*/
    /*height: 310px;
    background: #ccc;*/	
}
.program .images{
	position: absolute;
	top: 270px;
}
.program .images li{
	width: 250px;
}
.program .images-1{
	left: 0;
}
.program .images-2{
	right: 0;
}
@media screen and (max-width: 1023px) {
	.program-block{
		max-width: 700px;
		margin: 0 auto;
	}
	.program .images{
		position: static;
		top: unset;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}
	.program .images li{
		width: calc(100% / 3);
	}
	.program .images-1{
		margin-top: 40px;
	}
}
@media screen and (max-width: 768px) {
	.program {
		
	}
	.program .inner{
		width: 90%;
	}
	.program .lead{
		margin-bottom: 8vw;
	}
	.program-block{
		min-height: 40vw;
		padding: 4vw;
		border-radius: 4vw;
	}
	.program-block .vod-box{
		width: 100%;
		margin-bottom: 4vw;
	}
	.program .images{
		position: static;
		top: unset;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.program .images li{
		width: calc(100% / 3);
	}
	.program .images-1{
		left: unset;
		margin-top: 6vw;
	}
	.program .images-2{
		right: unset;
	}
}

/*case*/
.case-type{
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background: #09adfa;
}
.case-tab{
	font-size: 28px;
	padding: 0.2em 1em;
	color: #fff;
	font-weight: bold;
	
	display: inline-block;
}
.case01 .case-tab{background: #0c58b0;}
.case02 .case-tab{background: #d45e03;}
.case03 .case-tab{background: #709e0b;}
.case-box{
	padding: 40px;
	background: #fff;
}
.case-ttl dl{
	width: 730px;
	font-size: 16px;
}
.case-ttl dt{
	font-size: 24px;
	padding: 0 0 0.5em 0;
	margin: 0 0 0.5em 0;
	line-height: 1.5;
	font-weight: bold;
	border-bottom: 1px solid #000;
}
.case01 .case-ttl dt{color: #0c58b0;}
.case02 .case-ttl dt{color: #d45e03;}
.case03 .case-ttl dt{color: #709e0b;}
.case-ttl dt .cate{
	font-size: 15px;
	padding: 0.2em 0.5em;
}
.case01 .case-ttl dt .cate{background: #e6eef7;}
.case02 .case-ttl dt .cate{background: #fbefe5;}
.case03 .case-ttl dt .cate{background: #f0f5e6;}
.case-graph{
    width: 40%;
}
.case01 .case-graph img{border:2px solid #0c58b0;}
.case02 .case-graph img{border:2px solid #d45e03;}
.case03 .case-graph img{border:2px solid #709e0b;}
.case-graph p{
	padding: 0.5em 0;
	font-weight: bold;
	text-align: center;
	color: #fff;
    line-height: 1;
    font-size: 15px;
}
.case01 .case-graph p{background: #0c58b0;}
.case02 .case-graph p{background: #d45e03;}
.case03 .case-graph p{background: #709e0b;}
.case-graph img{
	width: 100%;
}
.case-remark{
    width: calc(62% - 40px);
	padding: 20px;
	background: #f5f5f5;
}
.case-remark dt{
    font-size: 16px;
	padding: 0.2em 0.5em;
	margin: 0 0 20px 0;
	background: #fff;
}
.case01 .case-remark dt{color: #0c58b0;}
.case02 .case-remark dt{color: #d45e03;}
.case03 .case-remark dt{color: #709e0b;}
.case-remark dd{
    font-size: 15px;
}
.case02, .case03{
    padding: 40px 0 0 0;
    border-top: 1px #ddd solid;
}
@media screen and (max-width: 768px) {
	.case-type {
	  font-size: 5.5vw;
	}
	.case-tab{
		font-size: 6vw;
		padding: 0.2em 0.5em;
	}
	.case-box{
		padding:20px;
	}
	.case-ttl figure{
		text-align: center;
		margin: 0 0 20px 0;
	}
	.case-ttl figure img{
		width: 40%;
	}
	.case-ttl dl{
		width: 100%;
		font-size: 4vw;
	}
	.case-ttl dt{
		font-size:5vw;
	}
	.case-ttl dt .cate{
		font-size: 3.5vw;
	}
	.case-graph{
		margin: 20px 0;
		width: 100%;
	}
	.case-graph p{
		padding: 0.25rem 0;
		font-size: 4vw
	}
	.case-remark{
		width: 100%;
		padding: 10px 5%;
		font-size: 4vw;
	}
	.case-remark dt{
		font-size: 4vw;
		margin: 0 0 10px 0;
	}
}

/*top-list*/
.top-list dl{
	width: 48%;
	text-align: center;
	font-weight: bold;
}
.top-list dt{
	font-size: 20px;
	line-height: 1.2;
	padding: 0.5em;
	margin: 0 0 20px 0;
	color: #fff;
	background: #09adfa;
}
.top-list dd{
	font-size: 18px;
	color: #1a416d;
}
@media screen and (max-width: 768px) {
	.top-list dl{
		width: 100%;
		margin: 0 0 20px 0;
	}
	.top-list dt{
		font-size: 5vw;
		margin: 0 0 10px 0;
	}
	.top-list dd{
		font-size: 4.5vw;
	}

}


.q-icon, .a-icon{
	width:5%;
	height:40px;
	margin:0 2% 0 0;
	float:left;
	text-align:center;
	font-weight:bold;
	display: inline-block;
	background:#1a416d;
	color:#fff;
}
.a-icon{
	background:#fb7c00;
}
.q-ttl, .a-txt{
	font-size:24px;
	width:93%;
	font-weight:bold;
	float:left;
}
.a-txt{
	font-size:20px;
	font-weight:normal;
}
@media screen and (max-width: 768px) {
	.q-icon, .a-icon{
		width:10%;
		height:30px;
		margin:0 2% 0 0;
	}
	.q-ttl, .a-txt{
		font-size:6vw;
		width:88%;
	}
	.a-txt{
		font-size:5vw;
	}
}


/*pagescroll*/
#scrollUp {
    bottom: 25px;
    right: 25px;
    padding: 10px 20px;
    background:#000;
    color: #fff;
	font-size:14px;
	font-weight:700;
	opacity:0.8;
}
.fixed-btn{
	display:none;
}
/*====================================
 見出し
====================================*/
/*h2*/
.h-style01{
	font-size:40px;
	line-height:1.5;
	text-align:center;
}
.h-style01 .sub{
	font-size:24px;
	margin:10px 0 0 0;
	display:block;
	font-weight:600;
	color:#1a416d;
}
.h-style02{
	font-size:28px;
	padding:0 0 0.5em 0;
	margin:0 0 0.5em 0;
	color:#293447;
}
.h-style03{
	font-size:40px;
	line-height:1.3;
	text-align:center;
	color:#fff;
}
.h-style04{
	font-size:24px;
	padding: 0.25em 0.5em;
	line-height: 1.4;
	text-align: center;
	color:#fff;
	background: #1a416d;
}
.h-style05{
	font-size:40px;
	padding: 0.2em 0.5em;
	text-align: center;
	color:#fff;
	background: #1a416d;
}
.h-style-en{
	font-size: 30px;
	padding: 0 0.5em;
	color: #fff;
	background: #1a416d;
	border-radius: 100px;
}
@media screen and (max-width: 768px) {
	/*h2*/
	.h-style01{
		font-size:8vw;
		line-height:1.3;
	}
	.h-style01 .sub{
		font-size:5vw;
	}
	.h-style02, .h-style-en{
		font-size:7vw;
	}
	.h-style03, .h-style04{
		font-size:6.5vw;
	}
	.h-style04{
		padding: 0.25em ;
	}
	.h-style05{
		font-size:6.5vw;
	}
}

/*campaign*/
.campaign {
	padding: 120px 0 0;
}
.campaign .inner{
	width: 840px;
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 768px) {
	.campaign {
		padding: 12vw 0 0;
	}	
	.campaign .inner{
		width: 90%;
	}
}

