@charset "utf-8";
/* 基本色 */
:root{
	--main-color: #204495;
	--accent-color: #6495ed;
	--accent-color: #FFC93C;
	--accent-color: #5cc0ef;
}

/* 共通設定 */

html{
    font-size: 100%;
}
body{
    text-align: center;
	font-family: 'Hind','Sawarabi Gothic';
}
img{
    width: 100%;
    vertical-align: bottom;
}
a{
    text-decoration: none;
    color: #fff;
}

/* ---------------------- */
.btn_1 .entry img{
	width: 20%;
	position: absolute;
	bottom: 10%;
	right: 5%;
}
#top{
	padding-top: 60px;
}
.bg1{
	width: 28%;
	margin-top: 60px;
}
.bg2{
	width: 27%;
	margin-top: 20px;
	margin-bottom: 20px;
}



/* a */
#a{
	margin-top: 0;
	background-color: rgba(136, 200, 252, 0.2);
}
#a .title {
	width: 25%;
	color: #204495;
	font-size: 2.1rem;
	font-weight: bold;
	margin: 20px auto;
	padding-top: 40px;
	padding-bottom: 0;
	justify-content: center;
	border-bottom: solid 10px rgb(119, 195, 223);
}

/* cont1 */
#cont1{
	width: 100%;
	height: 450px;
	background-color: #204495;
	background-image: url(images/cont1_img.png);
	background-size: 50%;
	background-position: center;
	background-repeat: no-repeat;
	clip-path: polygon(0 10%, 100% 0, 100% 65%, 0 100%);
	margin-top: 0;
	padding-top: 20px;
	padding-bottom: 5px;
}

.arrow{
	width: 3.5%;
}
.btn_2 img{
	width: 20%;
}
.btn_2{
	margin-top: 0;
	margin-bottom: 30px;
}
#cont1 p{
	color: #fff;
	font-size: 1.4rem;
	margin: 80px auto 10px auto;
	padding: 30px;
	letter-spacing: 0.1rem;
}
#cont1 p .text{
	font-size: 2.5rem;
	color: #FFC93C;
}


/* ---------------------------------------- */
h3{
	width: 23%;
	color: #6495ED;
	background-color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	border-left: 2px solid #5CC0EF;
	border-bottom: 2px solid #5CC0EF;
	padding: 20px 0 10px 0; /* 内側の余白 */
	margin: 20px auto 50px auto;
	position: relative;
	box-shadow: 2px 0 5px 2px #6495ED;
	}

h3 span{
	font-size: 0.8rem;
	writing-mode: vertical-rl;
	padding-right: 10px;
	margin-bottom: -3px;
	border-left: 1px solid #6495ED ;
}
h4{
	color: #6495ED;
}

/* cont2 */
#cont2{
	padding-top: 70px;
	padding-bottom: 70px;
	background-color: #204495;
	clip-path: polygon(100% 90%, 0 100%,0 10%, 100% 0);
}
#cont2 p{
	color: #fff;
	font-size: 1.5rem;
	padding-top: 30px;
	margin: 10px;
}
#cont2 h3{
	margin-bottom: 50px;
}
.flipLeftTopTrigger{
	width: 40%;
	display: block;
	margin: 0 auto 0 200px;
}
.flipRightTopTrigger{
	width: 40%;
	display: block;
	margin: 0 200px 0 auto;
}
/* ---------------------------------------- */

/* cont3 */
section{
    display: grid;
    grid-template-columns: 1fr ;
}
section img{
	width: 50%;
}

.item{
    width: 80%;
    padding: 10px 1px;
    margin: 10px auto;
	display: flex;
	justify-content: center;
}
section h4{
	width: 40%;
    text-align: left;
	font-size: 1.2rem;
	padding: 0 15px;
	padding-top: 70px;
}
.animoGradientText{
	display:inline-block;
	background-color:#204495;
	background-image:-webkit-linear-gradient(left,#ff69b4 0,orange 50%,transparent 50%);
	background-position:100% 0;
	background-size:200% 200%;
	color:transparent;
	-webkit-transition:.1s .2s;
	transition:.1s .2s;
	-webkit-background-clip:text;
	background-clip:text;
	cursor:pointer
}
.animoGradientText:hover{
	background-position:0 0;
	color:transparent;
	transition:.4s 0
}
        
      

/* ---------------------------------------- */
/* cont4 */

#cont4{
	background-color: rgba(136, 200, 252,0.5);
	padding: 1px;
}
.h2-2{
	position: relative;
	display: inline-block;
	color: #6495ED;
	font-size: 2rem;
	padding: 20px 60px;
	margin: 20px auto 10px auto;
}
.h2-2::before,.h2-2::after{
	content: '';
	position: absolute;
	top: 45%;
	display: inline-block;
	width: 45px;
	height: 2px;
	background-color: #FFC93C;
  }
.h2-2::before{
	left:0;
}
.h2-2::after{
	right: 0;
}
#cont4 table{
	margin: 0 auto 20px auto;
	border-collapse: collapse;
	margin-bottom: 50px;
}
#cont4 th, td{
	border-bottom: dotted 2px #6495ED;
}
#cont4 th{
	font-size: 1.4rem;
	padding: 15px 30px 8px 0;
	color: #204495;
}
#cont4 td{
	font-size: 1.3rem;
	padding: 20px 30px 8px 0;
	color: #1e3466;
	text-align: left;
}
#cont4 p{
	width: 100%;
	height: 50px;
	position: relative;
	background-color: #204495;
	padding: 20px 0 40px 0;
	font-weight: bold;
	color: #fff;
	font-size: 1.6rem;
	margin-bottom: 50px;
}

.try{
	margin-top: -67px;
	font-size: 3rem;
	color: #204495;
	transform: scaleY(70%);
}
footer{
	color: #fff;
	font-size: 1.2rem;
	background-color: #204495;
	padding: 10px;
}
#pagetop{
	position: fixed;
	bottom: 30px;
	right: 30px;
}
#pagetop a{
	box-sizing: border-box;
	display: block;
	position: relative;
	width: 60px;
	height: 60px;
	border: solid 4px #6495ED;
	border-radius: 50%;
	box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
}
#pagetop a::after{
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	background-color: #6495ED;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0, 0);
	transition: transform ease 0.4s;
}
#pagetop a:hover::after{
	transform: translate(-50%, -50%) scale(1.1, 1.1);
}
#pagetop a::before{
	content: "";
	position: absolute;
	z-index: 10;
	top: 59%;
	left: 50%;
	width: 20px;
	height: 20px;
	border-style: solid;
	border-color: #6495ED;
	border-width: 5px 0 0 5px;
	transform: translate(-50%, -50%) rotate(45deg);
	transition: border-color ease 0.1s;
}
#pagetop a:hover::before{
	border-color: #fff;
}
/* PC表示 */
.pc{
    display: block;
}
.sp{
    display: none;
}
/* スマホ対応 */
@media (max-width:768px){
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }

	/* ヘッダー */
	.btn_1 .entry img{
		width: 70%;
		position: relative;
		padding-top: 10px;
		bottom: 10%;
		left: 2%;
	}
	.btn_2 img{
		width: 70%;
	}
	.arrow{
		width: 10%;
	}
	.bg1{
		width: 80%;
		margin-top: 30px;
	}
	.bg2{
		width: 80%;
		margin-top: 20px;
	}
/* ---------------------------------------------- */
/* a */
	#a{
		background-size: 180%;
		height: 80%;
	}
	#a .title {
		width: 60%;
		color: #204495;
		font-size: 2.1rem;
		font-weight: bold;
		margin: 20px auto;
		padding-top: 40px;
		padding-bottom: 0;
		justify-content: center;
		border-bottom: solid 10px rgb(119, 195, 223);
	}
	
/* cont1 */
#cont1{
	background-size: 100%;
	height: 280px;
	background-position: center;
}
#cont1 p{
	margin: 25px auto 10px auto;
	padding: 30px;
	letter-spacing: 0.1rem;
}
#cont1 p .text{
	font-size: 2.2rem;
}
/* ---------------------------------------------- */
	h3{
		width: 53%;
		margin: 20px auto 60px auto;
		font-size: 1.8rem;
		padding: 15px 0 10px 0
	}

/* cont2 */
#cont2 p{
	color: #fff;
	font-size: 1.2rem;
	padding-top: 30px;
	margin: 10px;
}
.flipLeftTopTrigger{
	width: 81%;
	margin: 0 auto 0 75px;
}
.flipRightTopTrigger{
	width: 81%;
	margin: 0 75px 0 auto;
}
/* ---------------------------------------------- */
/* cont3の設定 */
	section{
    	display: grid;
    	grid-template-columns: 1fr ;
	}
	section img{
		width: 53%;
	}
	section h4{
		width: 50%;
    	text-align: left;
		font-size: 0.9rem;
		padding-left: 8px;
		padding-top: 35px;
	}
	.item{
    	width: 100%;
    	padding: 10px 2px;
    	margin: 10px auto;
		display: flex;
		float: none;
		justify-content: center;
	}
	
/* ---------------------------------------------- */
	.h2-2{
		font-size: 1.8rem;
	}
	#cont4 th{
		font-size: 1.3rem;
	}
	#cont4 td{
		font-size: 1.2rem;
	}
	#cont4 p{
		font-size: 1.4rem;
	}
	.try{
		margin-top: -69px;
		font-size: 3rem;
		color: #204495;
		transform: scaleY(50%);
		z-index: -1;
	}
}


/* *{border: 1px solid #000;} */