body{
	background-color:#fff;
	line-height:30px;
	text-align:center;
}

img{
	border:0;
	vertical-align:bottom;
}

a{
	color:#00c;
	text-decoration:none;
}
a:hover{
	color:#99f;
	text-decoration:underline;
}

.hover_opa:hover{
	opacity:0.7;
}



nav{
	margin:2vw 0;
}
.g_navi a {
	color:#4a4a4a;
	font-size:1.4vw;
}
.g_navi a.current {
	color:#960000;
	pointer-events: none;
}
.g_navi a:hover {
	opacity:0.5;
	text-decoration:none;
}


header.top,
header.top div,
header.top iframe{
	width:100vw;
	overflow:hidden;
}
header.top .sound_swich {
	position:absolute;
	top:0.5vw;
	left:1vw;
	width:8vw;
}
header.top .sound_swich img {
	width:100%;
	cursor:pointer;
}
header.top .sound_swich #sound_off{
	display:none;
}


header {
	position:relative;
}
header .logo {
	width:26%;
	margin:0 auto;
	padding: 1vw 0;
}
header .side {
	width:18%;
	position:absolute;
	top:5vw;
	right:2vw;
}


.wrap{
	text-align:center;
}

.bgc {
	background-color:#ffefef;
}

.kei {
	width:28%;
	margin:1vw auto;
}
h2{
	margin:0 auto;
	padding:4vw 0 0;
}
.block2 h2{
	width:35%;
}
.block3 h2{
	width:52%;
}
.block4 h2{
	width:34%;
}
.block5 h2{
	width:28%;
}
h3 {
	font-size:1.4vw;
	font-weight:normal;
	margin-top:1vw;
}

.lead {
	margin:4vw 0 3vw;
	font-size:2vw;
	line-height:3vw;
}
.lead .lg {
	color:#960000;
	font-size:2.6vw;
}

.ph_box {
	padding-right:2vw;
}
.ph_txt {
	padding-left:1vw;
	line-height:2.7vw;
	font-size:1.4vw;
}

.block3 .chart {
	padding-bottom:5vw;
}

.link {
	padding:3vw 0 5vw;
}
.link a {
	display:inline-block;
	background-color:#ba0025;
	color:#fff;
	font-size:1.6vw;
	line-height:2vw;
	padding:0.5vw 3vw 0.6vw;
	border-radius:1vw;
}
.link a .sub {
	font-size:1.3vw;
}
.link a:hover {
	opacity:0.7;
	text-decoration:none;
}

.com_box {
	width:90%;
	background-color:#fff;
	border:4px solid #ba0025;
	border-radius:2vw;
	margin:0 auto;
	padding:2vw 1.5vw;
	/*height:100%;*/
}
.com_box .com {
	font-size:2vw;
	color:#960000;
	font-weight:bold;
	padding-bottom:2vw;
}
.com_box .com.ipn {
	width:130%;
	margin-left:-15%;
	transform: scaleX(0.75);
}
.com_box p {
	text-align:left;
	font-size:1.3vw;
	line-height:2.2vw;
}
.com_box .link {
	padding:1vw 0 0;
}

footer {
	width:100vw;
	overflow:hidden;
	background-color:#ffd3e7;
}
.footer_inner {
	padding:1.5vw 0 1vw;
	font-size:1.2vw;
	line-height:2vw;
}
footer .com {
	font-size:1.4vw;
	line-height:2.4vw;
}
footer .copy {
	margin-top:1.4vw;
	font-size:1vw;
}
footer .foot_nav a{
	color:#4a4a4a;
}
footer .foot_nav a:hover{
	opacity:0.5;
	text-decoration:none;
}


.greeting h2{
	width:19%;
}
.greeting .ph_box{
	padding-right:5vw;
}
.greeting .ph_txt{
	line-height:2.4vw;
}
.greeting.counselor .ph_txt{
	padding-bottom:5vw;name
}
.greeting .name_txt{
	font-size:1.4vw;
	text-align:right;
	padding-bottom:5vw;
}
.greeting .name_box{
	padding:1vw 0 2vw;
}
.name_box .name_div{
	font-size:1.8vw;
}
.name_box .name_div .posit{
	font-size:1vw;
	line-height:1.6vw;
}

.profile h2{
	width:15%;
}
.profile .wrap {
	padding-bottom:5vw;
}
.profile .list {
	background-color:#fff;
	margin-top:4vw;
	padding:3vw 5vw;
	border-radius:3vw;
}
.profile dl {
	margin-bottom:0;
	text-align:left;
	display:flex;
	flex-wrap:wrap;
	width:100%;
	font-size:1.4vw;
}
.profile dt {
	width:12%;
	font-weight:normal;
}
.profile dd {
	width:88%;
}


.transaction h2 {
	width:73%;
}
.transaction .note {
	width:42%;
	font-size:1.4vw;
	line-height:3.4vw;
	text-align:left;
	margin:0 auto;
	padding:4vw 0 5vw;
}


.privacy h2 {
	width:32%;
}
.privacy .note {
	width:90%;
	font-size:1.4vw;
	line-height:2.4vw;
	text-align:left;
	margin:0 auto;
	padding:4vw 0 5vw;
}
.privacy .note h4{
	background-color:#ffd3e7;
	font-size:1.4vw;
	padding:0.5vw 1vw;
}


.inquiry h2 {
	width:16%;
}
.inquiry .note .txt {
	font-size:1.6vw;
	line-height:2.8vw;
	padding:5vw 0;
}
.inquiry .note .mail_img {
	width:13%;
	margin:0 auto;
}
.inquiry .note .mail_link {
	font-size:2.6vw;
	padding-bottom:5vw;
}
.inquiry .note .mail {
	color:#000;
	padding-top:1vw;
}
.inquiry .note a:hover {
	opacity:0.7;
	text-decoration:none;
}


#page_top{
	position: fixed;
	left: 0;
	bottom: 2vw;
	width: 100%;
	height:60px;
	pointer-events:none;
}
#page_top div{
	position:relative;
	width:100%;
	margin:0 auto;
}
#page_top a{
	display:block;
	position:absolute;
	top:0;
	right:1vw;
	width: 60px;
	height: 60px;
	opacity:0.4;
	background:url(../img/pagetop.png) no-repeat;
	pointer-events:auto;
}
#page_top a:hover{
	opacity:0.3;
}




@media screen and (min-width:768px) {
	.sp_only{
		display:none !important;
	}

	.g_navi a{
		display:inline-block;
		padding:0 2vw;
		border-right:1px solid #4a4a4a;
	}
	.g_navi a:last-child{
		border-right:0;
	}

	.wrap {
		width:80%;
		margin:0 auto;
	}


}


@media screen and (max-width: 767px) {
	.pc_only{
		display:none !important;
	}
	
	body{
		width:100vw;
		font-size:4vw;
		line-height:6vw;
		padding:0;
		margin:0;
	}
	
	section {
		width:100vw;
		margin-right:0;
		margin-left:0;
		padding-right:0;
		padding-left:0;
		overflow:hidden;
	}

	.g_navi {
		position:fixed;
		top:0;
		left:0;
		width:100vw;
		height:0;
		background-color:#ffefef;
		z-index:10;
		overflow:hidden;
		transition-duration:0.5s;
	}
	.g_navi .navi_close,
	.g_navi a {
		display:block;
		font-size:5vw;
		border-bottom:1px solid #ccc;
		padding:3vw 0;
	}
	.g_navi .navi_close {
		text-align:right;
		font-size:8vw;
		padding:2vw;
	}
	
	.nav_open{
		position:fixed;
		width:10vw;
		height:12vw;
		top:0;
		right:0;
		/*background-color:#ccf;*/
		cursor:pointer;
		z-index:3;
	}
	.nav_open span,
	.nav_open span::before,
	.nav_open span::after{
		position:absolute;
		display:block;
		height:4px;
		width:8vw;
		border-radius:3px;
		background:#960000;
		content:'';
	}
	.nav_open span{
		top:3vw;
	}
	.nav_open span::before{
		top:3vw;
	}
	.nav_open span::after{
		top:6vw;
	}

	header.top .sound_swich {
		top:0.5vw;
		left:1.5vw;
		width:20vw;
	}

	header .logo {
		padding: 2vw 0;
	}
	header .side {
		width:24%;
		top:5vw;
		right:0;
		left:4vw;
	}

	.kei {
		width:42%;
		margin:0 auto;
	}
	.block2 h2{
		width:61%;
	}
	.block3 h2{
		width:90%;
	}
	.block4 h2{
		width:59%;
	}
	.block5 h2{
		width:48%;
	}
	
	h3 {
		font-size:3.5vw;
		margin-top:2vw;
	}

	.lead {
		margin:8vw 0 6vw;
		font-size:5.6vw;
		line-height:6.6vw;
	}
	.lead .lg {
		font-size:6.2vw;
	}

	.ph_box {
		padding-right:0;
	}
	.ph_txt {
		padding-left:0;
		padding-top:3vw;
		line-height:6vw;
		font-size:4.2vw;
	}

	.link a {
		font-size:4vw;
		line-height:5vw;
		padding:1vw 5vw;
		border-radius:2.5vw;
	}
	.link a .sub {
		font-size:3vw;
	}

	.com_box {
		padding:4vw 2vw;
		margin-bottom:2vw;
	}
	.com_box .com {
		font-size:5.4vw;
	}
	.com_box p {
		font-size:4vw;
		line-height:5.5vw;
		padding:0 2vw;
	}

	.footer_inner {
		padding:5vw 0 4vw;
		font-size:4vw;
		line-height:6vw;
	}
	footer .com {
		font-size:5vw;
		line-height:6vw;
		padding-top:6vw;
	}
	footer .copy {
		margin-top:4vw;
		font-size:3vw;
	}
	footer .addr {
		font-size:3.6vw;
	}

	.greeting h2{
		width:33%;
	}
	.greeting .ph_box{
		padding-left:5vw;
	}
	.greeting .ph_txt{
		line-height:6vw;
	}
	.greeting .name_txt{
		font-size:4.2vw;
		padding-bottom:10vw;
	}
	.greeting .name_box{
		padding:4vw 0;
	}
	.name_box .name_div{
		font-size:4.5vw;
	}
	.name_box .name_div .posit{
		font-size:3.5vw;
		line-height:5vw;
	}


	.profile h2{
		width:26%;
	}
	.profile .wrap {
		padding-bottom:10vw;
	}
	.profile .list {
		margin-top:6vw;
	}
	.profile dl {
		font-size:4vw;
	}
	.profile dt {
		width:24%;
	}
	.profile dd {
		width:76%;
	}

	.transaction h2 {
		width:90%;
	}
	.transaction .note {
		width:80%;
		font-size:4vw;
		line-height:8vw;
		padding:4vw 0 10vw;
	}

	.privacy h2 {
		width:50%;
	}
	.privacy .note {
		width:100%;
		font-size:4vw;
		line-height:6vw;
		padding:4vw 0 10vw;
	}
	.privacy .note h4{
		font-size:4vw;
		padding:1vw 2vw;
	}

	.inquiry h2 {
		width:27%;
	}
	.inquiry .note .txt {
		font-size:4vw;
		line-height:6vw;
		padding:10vw 0;
	}
	.inquiry .note .mail_img {
		width:20%;
	}
	.inquiry .note .mail_link {
		font-size:5vw;
		padding-bottom:10vw;
	}

	#page_top{
		bottom:0.5vw;
	}
	#page_top a{
		right:3vw;
		width: 10vw;
		height: 10vw;
		background-size:cover;
	}

}

