@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

html{
	font-size:62.5%;
}

img{
	width:100%;
	height:auto;
}

a{
	text-decoration: none;
	color:#000;
}

.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

.object-fit-img {
  		object-fit: cover;
		width:100%;
		height:100%;
  		font-family: 'object-fit: cover;'
}

.font-min{
	font-family: 'Noto Serif JP', serif;
}

sup{
	font-size:0.8em;
	position: relative;
	top:-0.3em;
}

body{
	padding:0;
	margin:0;
	background:#fff;
	position:relative;
	color:#1a1a1a;
	font-feature-settings: "palt";
	letter-spacing: .8px;	
	font-family: 'Noto Sans JP', sans-serif;
}

#pagetop{
		width:48px;
		position: fixed;
		bottom:0;
		right:20px;
		z-index:10;
		opacity: 0;
		visibility: hidden;
		cursor: pointer;
		line-height: 0;
		transition: opacity 0.2s;
	}
	
	#pagetop img{
		position: relative;
	}
	
	#pagetop.active{
		opacity: 1;
		visibility: visible;
	}
	
	#pagetop.sc{
		position: absolute;
		opacity: 1;
		visibility: visible;
	}


@media screen and (min-width:769px){
	
	.pc_none{display:none !important;}
	
	body{
		font-size:1.5rem;  /*15px*/;
		line-height: 3rem;
		min-width: 1370px;
		width:100%;
	}
	
	header{
		position: fixed;
		top:0;
		left:0;
		width:100%;
		padding:20px 50px 50px 85px;
		box-sizing: border-box;
		background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%);
		z-index:10;
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		min-width: 1370px;
		
	}
	
	header a{
		transition: all 0.2s;
	}
	
	header a:hover{
		opacity: 0.7;
	}
	
	header .logobtnbox{
		display: flex;
		align-items: center;
	}
	
	header .logobtnbox .cap{
		color:#192350;
		font-weight: 400;
	}
	
	header .logobtnbox a{
		margin:0 0 0 50px;
		color:#192350;
		font-weight: 400;
		display: inline-block;
		position: relative;
	}
	
	header .logobtnbox a:first-child{
		margin:0 0 0 0;
	}
	
	header .logobtnbox a::before{
		content: "";
		width:11px;
		height:20px;
		background:url("/images/nav_icon.svg") no-repeat;
		background-size:11px;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
		position: relative;
		top:-2px;
	}
	
	header .snsbtnbox{
		display: flex;
		align-items: center;
	}
	
	header .snsbtnbox .snsbtn{
		width:30px;
		line-height: 0;
		margin:0 0 0 10px;
	}
	
	header .snsbtnbox .linkbtn{
		margin:0 0 0 20px;
	}
	
	header .snsbtnbox .linkbtn a{
		display: inline-block;
		background:#192350;
		padding:13px 20px;
		border-radius: 50px;
		color:#fff;
		line-height: 1;
	}
	
	#maincontainer{
		position: relative;
		z-index:6;
	}
	
	.contentbox{
		padding:200px 0 0 0;
		background:#fff;
	}
	
	.contentbox.bgnone{
		padding:200px 0 0 0;
		background:none;
	}
	
	.contentbox.pb100{
		padding:200px 0 100px 0;
	}
	
	.contentbox.pt100{
		padding:100px 0 0 0;
	}
	
	footer{
		padding:100px 0 0 0;
		background:#fff;
	}
	
	footer .inbox{
		background:#4d51db;
		padding:35px;
	}
	
	footer .inbox .inner{
		width:1070px;
		margin:0 auto;
		display: flex;
	}
	
	footer .inbox .inner a{
		line-height: 1;
		color:#fff;
		padding:0 20px;
		border-left:1px solid #fff;
		transition: all 0.2s;
	}
	
	footer .inbox .inner a:hover{
		opacity: 0.7;
	}
	
	footer .inbox .inner a:last-child{
		border-right:1px solid #fff;
	}
}

@media screen and (max-width:768px){
	
	.sp_none{display:none !important;}
	
	body{
		font-size:1.3rem;  /*13px*/;
		line-height: 2.3rem;
		min-width: 100%;
	}

	.menu{
		display: inline-block;
		width:60px;
		height:60px;
		position: fixed;
		padding:9px 0 0 0;
		top:0;
		right:0;
		z-index:12;
		background:#4d51db;
		text-align: center;
		box-sizing: border-box;

	}
	
	.menu .text{
		font-size:1rem;
		color:#fff;
		text-align: center;
		line-height: 1;
		margin:3px 0 0 0;
	}

	.menu-trigger,
	.menu-trigger span {
  		display: inline-block;
  		transition: all .4s;
  		box-sizing: border-box;
		cursor: pointer;
	}
	.menu-trigger {
  		position: relative;
  		width: 28px;
  		height: 7px;
		z-index:5;
		margin:0 auto;
	}
	.menu-trigger span {
  		position: absolute;
  		left: 0;
  		width: 100%;
  		height: 1px;
  		background-color: #fff;
  		border-radius: 0px;
	}

	.menu-trigger span:nth-of-type(1) {
  		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
 		top:7px;
		width:85%;
		display: none;
	}
	.menu-trigger span:nth-of-type(3) {
  		bottom: 0;
		width:100% !important;
	}

	.menu-trigger.active span:nth-of-type(1) {
  		-webkit-transform: translateY(3.25px) rotate(30deg);
  		transform: translateY(3.25px) rotate(30deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
  		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
  		-webkit-transform: translateY(-3.25px) rotate(-30deg);
 		 transform: translateY(-3.25px) rotate(-30deg);
		width:100% !important;
	}
	
	header{
		position: fixed;
		top:0;
		left:0;
		width:100%;
		height:100%;
		padding:60px 5% 0;
		box-sizing: border-box;
		background:#4d51db;
		z-index:10;
		overflow: auto;
		display: none;
		
	}
	
	header a{
		transition: all 0.2s;
	}
	
	header a:hover{
		opacity: 0.7;
	}
	
	header .logobtnbox{
		
	}
	
	header .logobtnbox .cap{
		color:#192350;
		font-weight: 400;
	}
	
	header .logobtnbox a{
		margin:0 0 0 0;
		font-weight: 400;
		display:block;
		padding:20px 0;
		border-bottom:1px solid rgba(255,255,255,0.2);
		color:#fff;
		position: relative;
	}
	
	header .logobtnbox a::before{
		content: "";
		width:8px;
		height:16px;
		background:url("/images/w_icon.svg") no-repeat;
		background-size:8px;
		display: inline-block;
		margin:0 10px 0 0;
		vertical-align: middle;
		position: relative;
		top:-2px;
	}
	
	header .logobtnbox a::after{
		content: "";
		display: inline-block;
  		width: 10px;
  		height: 10px;
  		margin: 0 0;
  		border-bottom: 1px solid #fff;
  		border-right: 1px solid #fff;
  		transform: rotate(45deg);
		position: absolute;
		top:calc(50% - 10px);
		right:3px;
	}
	
	header .snsbtnbox{
		display: flex;
		align-items: center;
		justify-content: flex-end;
		padding:20px 0;
	}
	
	header .snsbtnbox .snsbtn{
		width:35px;
		line-height: 0;
		margin:0 0 0 20px;
	}
	
	.linkbtn{
		margin:0 0 0 0;
		position:fixed;
		z-index:9;
		bottom:20px;
		left:5%;
	}
	
	.linkbtn a{
		display: inline-block;
		background:#192350;
		padding:20px 20px;
		border-radius: 50px;
		color:#fff;
		line-height: 1;
	}
	
	.linkbtn.sc{
		position: absolute;
		opacity: 1;
		visibility: visible;
	}
	
	#maincontainer{
		position: relative;
		z-index:6;
	}
	
	.contentbox{
		padding:80px 0 0 0;
		background:#fff;
	}
	
	.contentbox.box2{
		padding:0 0 0 0;
		background:#fff;
	}
	
	/*.contentbox.bgnone{
		padding:80px 0 0 0;
		background:none;
	}
	
	.contentbox.pb100{
		padding:80px 0 40px 0;
	}
	
	.contentbox.pt100{
		padding:40px 0 0 0;
	}*/
	
	footer{
		padding:100px 0 0 0;
		background:#fff;
	}
	
	footer .inbox{
		background:#4d51db;
		padding:20px;
	}
	
	footer .inbox .inner{
		width:100%;
		margin:0 auto;
		display: flex;
		justify-content: center;
	}
	
	footer .inbox .inner a{
		line-height: 1;
		color:#fff;
		padding:0 20px;
		border-left:1px solid #fff;
		transition: all 0.2s;
	}
	
	footer .inbox .inner a:hover{
		opacity: 0.7;
	}
	
	footer .inbox .inner a:last-child{
		border-right:1px solid #fff;
	}
	
	#pagetop{
		width:48px;
		position: fixed;
		bottom:0;
		right:20px;
		z-index:10;
		opacity: 0;
		visibility: hidden;
		cursor: pointer;
		line-height: 0;
		transition: opacity 0.2s;
	}
	
}

