@charset "utf-8";

html {
	height: 100%;
	overflow-y: scroll;
}

body {
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}

blockquote,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
pre,
ul {
	margin: 0;
	padding: 0;
}

fieldset {
	display: inline;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
}

body table {
	font-size: 16px;
	line-height: 1.5;
}

q:after,
q:before {
	content: "";
}

embed,
object {
	vertical-align: top;
}

hr,
legend {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
}

abbr,
acronym,
fieldset,
img,
figure {
	border: 0;
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

/* ------------------------------------------------------------------------ */
/* Responsive Style
--------------------------------------------------------------------------- */

.pc_style {
	display: block;
}
.pc_style.inline {
	display: block;
	display: inline
}

.sp_style,
.sp_style.inline,
.sp_style_767,
.sp_style_480,
.sp_style_320,
.sp_style_375,
.sp_style_414 {
	display: none;
}

@media screen and (max-width: 768px) {
	.sp_style {
		display: block;
	}
	.sp_style.inline {
		display: inline;
	}
	.pc_style,.pc_style.inline {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.sp_style_767 {
		display: block;
	}
}

@media screen and (max-width: 480px) {
	.sp_style_480 {
		display: block;
	}
}

@media screen and (max-width: 414px) {
	.sp_style_414 {
		display: block;
	}
}

@media screen and (max-width: 375px) {
	.sp_style_375 {
		display: block;
	}
}

@media screen and (max-width: 320px) {
	.sp_style_320 {
		display: block;
	}
}

/* ------------------------------------------------------------------------ */
/*  Basic Style
/* ------------------------------------------------------------------------ */

html {
	font-size: 62.5%;
}

body {
	color: #000;
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, Osaka,
		"MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	text-align: left;
	vertical-align: middle;
	-webkit-text-size-adjust: 100%;
}

body * {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body :after,
body :before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body img {
	max-width: 100%;
}

#wrap {
	height: 100%;
	margin: 181px auto 0;
	position: relative;
	overflow: hidden;
}

.js-scroll_start_pc #wrap {
	margin-top: 0;
}

@media screen and (max-width: 1024px) {
	#wrap{
		margin: 80px auto 0;
	}
	
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	#wrap {
		margin-top: 80px;
	}
}

/* Link
--------------------------------------------------------------------------- */

a {
	color: #333;
	text-decoration: none;
}

a::after,
a::before {
	color: #333;
}

a.disabled{
	pointer-events:none;
}

.opacity {
	transition: 0.2s ease;
}

.opacity:hover {
	opacity: 0.7;
}

.underline,.underline02 {
	text-decoration: underline;
}

.underline:hover {
	text-decoration: none;
}

.n_num {
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	.n_num {
		pointer-events: visible;
	}
}

/* ------------------------------------------------------------------------ */
/* Other
/* ------------------------------------------------------------------------ */

.inner {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

@media screen and (max-width: 768px) {
	.inner {
		padding: 0 15px;
	}
}

/* ------------------------------------------------------------------------ */
/* Animation
/* ------------------------------------------------------------------------ */

/* ------------------------------------------------------------------------ */
/* Hedaer
/* ------------------------------------------------------------------------ */

header {
	width: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 30;
	transition: 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
}

header * {
	transition: 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

header > .inner{
	max-width: none;
}

#hTopLine {
	display: flex;
	height: 5px;
}

#hTopLine li {
	width: calc(100% / 4);
	height: 100%;
}

#hTopLine li:nth-of-type(1) {
	background: #7dc1db;
}

#hTopLine li:nth-of-type(2) {
	background: #dbab5c;
}

#hTopLine li:nth-of-type(3) {
	background: #7dc1db;
}

#hTopLine li:nth-of-type(4) {
	background: #a0bd71;
}

#h_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 20px auto 23px;
	max-width: 1640px;
	width: 100%;
	padding: 0 20px
}

header #logo {
	width: 283px;
	transition: 0.35s cubic-bezier(0.39, 0.575, 0.565, 1);
}

#h_inner .rightNav{
	width: 70%;
}

#h_inner .rightNav .link_area{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

#h_inner .rightNav .link_area01{
	margin-bottom: 13px;
}
	#h_inner .rightNav .link_area01 > li{
		margin-right: 33px;
	}
	#h_inner .rightNav .link_area01 > li:last-child{
		margin-right: 0;
	}
		#h_inner .rightNav .link_area01 > li a{
			position: relative;
			font-weight: bold;
			font-size: 1.4rem;
		}
		#h_inner .rightNav .link_area01 > li a:hover{
			text-decoration: underline;
		}
		#h_inner .rightNav .link_area01 > li a::after{
			content: "";
			display: inline-block;
			width: 8px;
			height: 8px;
			border-top: solid 2px #333;
			border-right: solid 2px #333;
			transform: rotate(45deg) translateY(-2px);
			margin-left: 5px;
		}
		#h_inner .rightNav .link_area01 > li:last-child a::after{
			content: none;
		}

header #searchArea .txtarea {
	width: 220px;
	font-size: 1.4rem;
	margin-left: 30px;
	padding: 6px 10px !important;
	border-radius: 20px !important;
	background-image: none !important;
	border: 1px solid #ccc !important;
}

header #searchArea .txtarea::placeholder,
header #searchArea .txtarea::placeholder {
	opacity: 0;
}

/* Chrome_Safari */
header #searchArea .txtarea::-webkit-input-placeholder,
header #searchArea .txtarea::-webkit-input-placeholder {
	opacity: 0;
}

/* Firefox */
header #searchArea .txtarea:-moz-placeholder,
header #searchArea .txtarea:-moz-placeholder {
	opacity: 0;
}

/* ie */
header #searchArea .txtarea::-moz-placeholder,
header #searchArea .txtarea::-moz-placeholder {
	opacity: 0;
}

#searchArea .txtarea:-ms-input-placeholder {
	opacity: 1;
}

#h_inner .btn_area {
	width: 100%;
	max-width: 160px;
}
#h_inner .btn_area.appli_link_pc{
	margin-right: 10px;
	max-width: 200px;
}
#h_inner .btn_area.appli_link_pc .btn.btn01{
	max-width: 200px;
}
#h_inner .btn_area.appli_link_pc:hover .ico_blank02.ico_col_blue{
	background: url("/assets/common/img/ico/ico_blank_wh.svg") no-repeat center center / contain;
}
#h_inner .btn_area .sp_style {
	display: none;
}
header #h_inner .appli_link_sp,
header #h_inner .qa_link_sp,
header #searchArea .sp-search-box{
	display: none;
}

.gnav_bg{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	display: none;
}
.gnav_bg.open{
	display: block;
}

.js-scroll_start_pc header {
	background: #fff;
}

.js-scroll_start_pc header #logo {
	width: 180px;
}
.js-scroll_start_pc #h_inner{
	margin: 10px auto;
}

.js-scroll_start_pc #h_inner .rightNav{
}
.js-scroll_start_pc #h_inner .rightNav .link_area01{
	margin-bottom: 10px;
}

@media screen and (min-width: 1025px) {
	header #search-box{
		display: block !important;
	}
}
@media screen and (max-width: 1024px) {
	header {
		padding-bottom: 0;
		height: 85px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-direction: column;
	}
	header > .inner #h_inner{
		padding: 12px 10px 0;
	}
	#h_inner .rightNav{
		width: auto;
	}

	#hTopLine {
		height: 3px;
		width: 100%;
	}

	#h_inner {
		align-items: center;
		margin: 0 auto;
		padding: 12px 20px 6px;
	}
	.js-scroll_start_pc #h_inner {
		margin: auto;
	}

	header #logo,
	.js-scroll_start_pc header #logo{
		width: 223px;
	}

	#menuBtn {
		width: 40px;
		height: 50px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		cursor: pointer;
		margin-left: 30px;
		position: relative;
	}

	#menuBtn span {
		display: block;
		width: 100%;
		height: 2px;
		background: #0099d6;
		transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);
		cursor: pointer;
	}

	_:-ms-input-placeholder,
	:root #menuBtn span {
		transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	}

	#menuBtn span:nth-of-type(1) {
		transform: matrix(1, 0, 0, 1, 0, 0);
	}

	#menuBtn span:nth-of-type(2) {
		transform: scale(1);
		opacity: 1;
	}

	#menuBtn span:nth-of-type(3) {
		transform: matrix(1, 0, 0, 1, 0, 0);
	}

	#h_inner .btn_area {
		width: 25px;
	}

	#h_inner .btn_area .pc_style {
		display: none;
	}

	#h_inner .btn_area .sp_style {
		display: block;
	}
	
	.js-nav_open #menuBtn span{
		width: 100%;
	}

	.js-nav_open #menuBtn span:nth-of-type(1) {
		transform: matrix(0.8, -0.8, 0.8, 0.8, 0, 17);
	}

	.js-nav_open #menuBtn span:nth-of-type(2) {
		transform: scale(0);
		opacity: 0;
	}

	.js-nav_open #menuBtn span:nth-of-type(3) {
		transform: matrix(0.8, 0.8, -0.8, 0.8, 0, -7);
	}
	
	#menuBtn span.text{
		width: 130%;
		height: auto;
		background: none;
		font-size: 1.2rem;
		color: #0099d6;
		transform: translate(-5px,2px);
		line-height: 1.3;
	}
	
	#h_inner .rightNav .link_area01{
		display: none;
	}
	header #h_inner .appli_link_sp,
	header #h_inner .qa_link_sp,
	header #searchArea .sp-search-box{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	header #searchArea{
		margin-left: 20px;
		cursor: pointer;
	}
	header #search-box{
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background: #fff;
		text-align: center;
		padding: 20px 10px;
		transition: none !important;
	}
	header #searchArea .txtarea{
		margin-left: 0;
		font-size: 1.6rem;
		height: 40px;
		max-width: 300px;
		width: 100%;
	}
	header #searchArea .sp-search-box figure img{
		width: 33px;
		height: 32px;
		margin-bottom: 4px;
	}
	header #h_inner .appli_link_pc,
	header #h_inner .qa_link_pc,
	header #h_inner .appli_link_sp .text br,
	header #h_inner .qa_link_sp .text br{
		display: none;
	}
	header #h_inner .appli_link_sp figure,
	header #h_inner .qa_link_sp figure{
		margin-bottom: 3px;
	}
	header #h_inner .appli_link_sp{
		margin-right: 20px;
	}
	header #h_inner .appli_link_sp figure img{
		width: 26px;
		height: 30px;
	}
	header #h_inner .qa_link_sp figure img{
		width: 38px;
		height: 30px;
	}
	header #h_inner .appli_link_sp span.text,
	header #searchArea .sp-search-box span.text,
	header #h_inner .qa_link_sp span.text{
		font-size: 1.2rem;
		color: #0099d6;
		display: inline-block;
		line-height: 1.2;
	}
	
}

@media screen and (max-width: 768px) {
	header > .inner{
		padding: 0;
	}
	.js-nav_open #menuBtn span:nth-of-type(1) {
		transform: matrix(0.8, -0.8, 0.8, 0.8, 0, 15);
	}
}
@media screen and (max-width: 600px) {
	header #logo,
	.js-scroll_start_pc header #logo {
		width: 160px;
	}
	header #h_inner .appli_link_sp .text br,
	header #h_inner .qa_link_sp .text br{
		display: inline-block;
	}
	header #h_inner .appli_link_sp .text span{
		display: none;
	}

}

@media screen and (max-width: 500px) {
	#h_inner{
		padding: 15px 10px 6px;
	}
	header #logo{
		width: 140px;
	}
	header #h_inner .appli_link_sp{
		margin-right: 10px;
	}
	#menuBtn{
		margin-left: 20px;
		height: 45px;
		width: 30px;
	}
	#menuBtn span.text{
		width: 134%;
		transform: translateX(-5px);
		font-size: 1rem;
	}
	header #h_inner .appli_link_sp span.text,
	header #searchArea .sp-search-box span.text,
	header #h_inner .qa_link_sp span.text{
		font-size: 1rem;
	}
	header #searchArea {
		margin-left: 15px;
	}
	header #h_inner .appli_link_sp{
		margin-right: 10px;
	}
	header #searchArea .sp-search-box figure img{
		width: 31px;
		height: 30px;
	}
	header #h_inner .qa_link_sp figure img {
		width: 38px;
		height: 30px;
	}
	header #searchArea,
	#menuBtn{
		margin-left: 10px;
	}
}
@media screen and (max-width: 350px) {
	header #logo {
		width: 120px;
	}
}
@media screen and (max-width: 374px) {
	header #logo {
		width: 100px;
	}
}

/* ------------------------------------------------------------------------ */
/* Navigation
/* ------------------------------------------------------------------------ */

nav {
	width: 100%;
	border-top: dotted 2px #e0e0e0;
	position: relative;
}

nav #navWrapper{
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
}

#gNav {
	display: flex;
	align-content: flex-start;
	justify-content: space-between;
	width: 100%;
}

#gNav > li {
	transition: 0.2s ease;
	text-align: center;
}

#gNav > li a:hover {
	opacity: 0.6;
}
#gNav > li > a:hover{
	opacity: 1;
}

#gNav > li > a {
	display: block;
	height: 100%;
	font-size: 1.8rem;
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	padding: 13px 61px;
	transition: 0.1s;
	position: relative;
	z-index: 1;
}
.js-scroll_start_pc #gNav > li > a{
	font-size: 1.6rem;
	padding: 10px 50px;
}

#gNav > li > a::after{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #0099d6;
	position: absolute;
	bottom: 0;
	left: 0;
	transform: scaleX(0);
	transition: all 0.3s;
}
#gNav > li:hover > a::after,
#gNav > li.open > a::after{
	transform: scaleX(1);
}
@media screen and (min-width: 1025px){
	#gNav > li.open > a::before{
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 7px 8px 0 8px;
		border-color: #0099d6 transparent transparent transparent;
		position: absolute;
		bottom: -7px;
		left: 50%;
		transform: translateX(-50%);
	}
}

#gNav li a .text {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 34px;
	font-weight: bold;
	color: #0099d6;
}

#gNav li a .text::after{
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: solid 2px #0099d6;
	border-bottom: solid 2px #0099d6;
	transform: rotate(45deg) translateY(-3px);
	margin-left: 10px;
}

#gNav > li .in_menu{
	/*position: absolute;
	top: 120%;
	left: 0;
	width: 100%;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: 0.3s all;*/
	position: absolute;
	left: 0;
	width: 100%;
	display: none;
	transition: none;
	text-align: left;
	background: #d9f0f9;
}
	#gNav > li:hover .in_menu{
		/*visibility: visible;
		opacity: 1;
		top: 100%;
		pointer-events: inherit;*/
	}

#gNav > li .in_menu .in_menu_inner{
	padding: 70px 20px 57px;
}

#gNav > li .in_menu > .in_menu_inner ul{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	max-width: 1130px;
	margin: 0 auto;
}
	#gNav > li .in_menu > .in_menu_inner ul li{
		width: calc(88%/4);
		margin-bottom: 2.8%;
		margin-right: 4%;
		position: relative;
	}
	#gNav > li .in_menu > .in_menu_inner ul li.wid100{
		width: 100%;
		margin-right: 0;
	}
	#gNav > li .in_menu > .in_menu_inner ul li.wid50{
		width: 48%;
	}
	#gNav > li .in_menu > .in_menu_inner ul li.wid30{
		width: 30.66%;
	}
		#gNav > li .in_menu > .in_menu_inner ul li::after{
			content: "\f138";
			display: inline-block;
			font-family: "FontAwesome";
			font-weight: 600;
			color: #0099d6;
			font-size: 100%;
			position: absolute;
			right: 20px;
			top: 50%;
			transform: translateY(-50%);
		}
		#gNav > li .in_menu > .in_menu_inner ul li.top_link::after{
			color: #ffa600;
		}
		#gNav > li .in_menu > .in_menu_inner ul li:hover::after{
			color: #fff;
		}
		#gNav > li .in_menu > .in_menu_inner ul li a{
			display: flex;
			justify-content: center;
			align-items: center;
			background: #fff;
			border: solid 1px #0099d6;
			border-radius: 4px;
			min-height: 80px;
			height: 100%;
			font-weight: bold;
			font-size: 1.8rem;
			color: #0099d6;
			position: relative;
			padding: 5px 2em 5px 10px;
			text-align: center;
		}
		#gNav > li .in_menu > .in_menu_inner ul li.top_link a{
			border: solid 1px #ffa600;
			color: #ffa600;
		}


#gnav_spLinkNav{
	display: none;
}
@media screen and (min-width: 1025px) {
	/*#gNav > li .in_menu{
		display: block !important;
	}*/
	#gNav > li .in_menu > .in_menu_inner ul li:hover a{
		background: #0099d6;
		color: #fff;
		opacity: 1;
	}
	#gNav > li .in_menu > .in_menu_inner ul li.top_link:hover a{
		background: #ffa600;
	}
	#gNav > li .in_menu > .in_menu_inner ul li:hover .ico_blank02{
		background: url("/assets/common/img/ico/ico_blank_wh.svg") no-repeat center center / contain;
	}
	#gNav > li .in_menu > .in_menu_inner ul li:hover .ico_movie{
		background: url("/assets/common/img/ico/ico_video_wh.svg") no-repeat center center / contain;
	}
}
@media screen and (max-width: 1640px) {
	#gNav{
		padding: 0 20px;
	}
	#gNav > li > a{
		padding: 13px 15px;
	}
	.js-scroll_start_pc #gNav > li > a{
		padding: 10px 15px;
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 1440px) {
	#gNav > li .in_menu .in_menu_inner{
		padding: 50px 20px 20px;
	}
	#gNav > li .in_menu > .in_menu_inner ul li{
		width: calc(94%/4);
		margin-bottom: 2%;
		margin-right: 2%;
	}
	#gNav > li .in_menu > .in_menu_inner ul li.wid50{
		width: 49%;
	}
	#gNav > li .in_menu > .in_menu_inner ul li.wid30{
		width: 32%;
	}
}
@media screen and (max-width: 1220px) {
	#gNav > li > a{
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 1024px) {
	nav {
		margin: auto;
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translate(-50%, -150%);
		background: rgba(255,255,255,0.95);
		border-top: none;
		width: 100%;
		height: calc(100vh - 80px);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	#navWrapper {
		overflow-y: auto;
		height: 100%;
		padding: 0 0 100px;
	}

	#gNav {
		display: block;
		padding: 0;
		margin-bottom: 40px;
		background: #0099d6;
	}

	#gNav > li {
		position: relative;
		transition: none !important;
		border-bottom: solid 2px #fff;
	}
	
	#gNav li .dli-plus{
		display: block;
		position: absolute;
		width: 20px;
		height: 20px;
		text-align: center;
		top: 24px;
		right: 20px;
	}
	#gNav li .dli-plus::before,
	#gNav li .dli-plus::after {
		content: "";
		display: inline-block;
		height: 2px;
		width: 20px;
		background: #fff;
		position: absolute;
		top: 4px;
		right: 0;
		transition: transform 0.3s ease;
	}
		#gNav li .dli-plus::before{
			transform: rotate(90deg);
		}
		#gNav li.open .dli-plus::before{
			transform: rotate(0);
		}
		#gNav li.open .dli-plus::after{
			transform: rotate(180deg);
		}

	#gNav li a {
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		text-align: left;
	}
	
	#gNav > li a,
	.js-scroll_start_pc #gNav > li > a{
		padding: 20px;
	}
	#gNav > li:hover > a::before{
		content: none;
	}

	#gNav li a .text {
		display: block;
		color: #fff;
		height: auto;
	}
	#gNav > li .in_menu{
		display: none;
		transition: inherit;
		visibility: inherit;
		opacity: 1;
		position: inherit;
		top: auto;
		left: auto;
		width: 100%;
		transform: none;
		pointer-events: inherit;
		min-height: inherit;
	}

	.other_nav_area {
		margin-top: 20px;
	}

	.other_nav_area li + li {
		margin-top: 5px;
	}

	.other_nav_area li a {
		color: #fff;
	}

	.other_nav_area li a::before {
		content: "";
		display: inline-block;
		width: 4px;
		height: 8px;
		background: url(/assets/common/img/ico/ico_arrow_white.png) no-repeat left center /
			cover;
		margin: 5px 5px 0 0;
	}

	#menuClose {
		max-width: 215px;
		background: #fff;
		border-radius: 15px;
		font-weight: bold;
		text-align: center;
		color: #0099d6;
		line-height: 35px;
		margin: 20px auto 0;
	}

	.js-nav_open nav {
		animation: nav_ani 1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
	}

	_:-ms-input-placeholder,
	:root .js-nav_open nav {
		animation-duration: 0.8s;
	}
	
	#gNav > li .in_menu .in_menu_inner{
		padding: 0;
	}
	#gNav > li .in_menu > .in_menu_inner ul{
		display: block;
	}
	#gNav > li .in_menu > .in_menu_inner ul li,
	#gNav > li .in_menu > .in_menu_inner ul li.wid100,
	#gNav > li .in_menu > .in_menu_inner ul li.wid50,
	#gNav > li .in_menu > .in_menu_inner ul li.wid30{
		width: 100%;
		margin: 0;
	}
	#gNav > li .in_menu > .in_menu_inner ul li a{
		border: none;
		border-bottom: solid 2px #0099d6;
		border-radius: 0;
		background: none;
		color: inherit;
		padding: 20px;
		padding-right: 40px;
		justify-content: flex-start;
		font-size: inherit;
		min-height: inherit;
		text-align: left;
	}
	#gNav > li .in_menu > .in_menu_inner ul li.top_link a{
		border: none;
		border-bottom: solid 2px #0099d6;
		background: #f9f6d9;
		color: #000;
	}
	#gNav > li .in_menu > .in_menu_inner ul li::after{
		content: "";
		width: 10px;
		height: 10px;
		border-top: solid 2px #333;
		border-right: solid 2px #333;
		right: 25px;
		transform: translateY(-50%) rotate(45deg);
	}
	#gNav > li .in_menu > .in_menu_inner ul li a br{
		display: none;
	}
	
	#gnav_spLinkNav{
		display: block;
	}
	
	#gnav_spLinkNav ul{
		display: flex;
		flex-wrap: wrap;
		border-bottom: solid 1px #0099d6;
		margin-bottom: 40px;
	}
	#gnav_spLinkNav ul li{
		width: calc(100%/2);
		border-top: solid 1px #0099d6;
	}
	#gnav_spLinkNav ul li:nth-child(odd){
		border-right: solid 1px #0099d6;
	}
	#gnav_spLinkNav ul li:last-child{
		width: 100%;
		border-right: none;
		text-align: center;
	}
	#gnav_spLinkNav ul li a{
		padding: 20px;
		padding-right: 10px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 1.2;
	}
	#gnav_spLinkNav ul li:last-child a{
		display: inline-block;
	}
	#gnav_spLinkNav ul li a::before{
		content: "";
		display: inline-block;
		width: 6px;
		height: 6px;
		border-top: solid 2px #0099d6;
		border-right: solid 2px #0099d6;
		right: 25px;
		transform: translateY(0) rotate(45deg);
		margin-right: 10px;
	}
	#gnav_spLinkNav ul li:last-child a::before{
		content: none;
	}
	
	#gnav_spLinkNav #js-closeBtn a{
		display: block;
		padding: 20px;
		color: #fff;
		background: #0099d6;
		text-align: center;
		font-weight: bold;
		font-size: 1.6rem;
		line-height: 1.2;
		position: relative;
	}
	#gnav_spLinkNav #js-closeBtn a .icon_close{
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		top: 29px;
		right: 20px;
	}
	#gnav_spLinkNav #js-closeBtn a .icon_close::before,
	#gnav_spLinkNav #js-closeBtn a .icon_close::after{
		content: "";
		display: block;
		background: #fff;
		height: 2px;
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}
	#gnav_spLinkNav #js-closeBtn a .icon_close::before{
		transform: rotate(45deg);
	}
	#gnav_spLinkNav #js-closeBtn a .icon_close::after{
		transform: rotate(-45deg);
	}
}

@media screen and (max-width: 374px){
	#gnav_spLinkNav ul li a{
		padding: 20px 15px;
	}
	#gNav li .dli-plus{
		right: 10px;
	}
	#gNav > li .in_menu > .in_menu_inner ul li a{
		padding: 15px;
		padding-right: 25px;
	}
	#gNav > li .in_menu > .in_menu_inner ul li::after{
		right: 15px;
	}
}

@keyframes nav_ani {
	0% {
		opacity: 0;
		transform: translate(-50%, -4%);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, 0);
	}
}

/* ------------------------------------------------------------------------ */
/* Contents
/* ------------------------------------------------------------------------ */

.lead_text {
	line-height: 2;
}

#ttlArea {
	position: relative;
	background: #0099d6;
}

.under01 .ttl {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
}
.under01 .ttl span {
	display: block;
	font-size: 50%;
}

.under01 > .inner {
	height: 100%;
}

#ttlArea.under01 {
	height: 165px;
	padding-top: 6px;
}

#ttlArea.under02 {
	background: transparent no-repeat center center / cover;
	height: 726px;
}

#subTtlArea.under01 {
	background: #50bbe6;
	padding: 40px 0;
}

#subTtlArea.under01 .ttl {
	position: unset;
	transform: none;
	text-align: center;
}

@media all and (-ms-high-contrast: none){
	#subTtlArea.under01 .ttl {
		position: static;
	}
}

#subTtlArea.under01 .faq_list_box,#subTtlArea.under01 .flow_list_box,#subTtlArea.under01 .life_list_box {
	margin-top: 40px;
}

@media screen and (max-width: 768px) {
	#ttlArea.under01 {
		height: 100px;
	}
	#ttlArea.under02 {
		height: 344px;
	}

	#subTtlArea.under01 {
		background: #50bbe6;
		padding: 30px 0 40px;
	}
	#subTtlArea.under01 .faq_list_box {
		margin-top: 30px;
	}
}

/* gizagiza */

.tria_box {
	position: relative;
	padding-top: 6px;
}

.tria_box.blue {
	background: #0099d6;
}

.tria_box.lightblue {
	background: #50bbe6;
}

.tria_box.whiteblue {
	background: #def4fc;
}

.tria_box.whiteblue02 {
	background: #c7efff;
}

.tria_box.green {
	background: #e0edcc;
}

.tria_box.green02 {
	background: #d0f7e7;
}

.tria_box.yellow {
	background: #fff8e5;
}

.tria_box.white {
	background: #fff;
}

.tria_box::before,
.tria_box::after {
	display: inline-block;
	background: repeat-x left center;
	width: 100%;
	height: 6px;
	position: absolute;
	z-index: 1;
	left: 0;
}

.tria_box.top::before {
	content: "";
	top: -6px;
	transform: rotate(-180deg);
}

_:-ms-input-placeholder,
:root .tria_box.top::before {
	top: -5px;
}

.tria_box.bottom::after {
	content: "";
	bottom: -6px;
}

.tria_box.blue.top::before,
.tria_box.blue.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_blue.png);
}

.tria_box.lightblue.top::before,
.tria_box.lightblue.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_lightblue.png);
}

.tria_box.whiteblue.top::before,
.tria_box.whiteblue.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_whiteblue.png);
}

.tria_box.whiteblue02.top::before,
.tria_box.whiteblue02.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_whiteblue02.png);
}

.tria_box.green.top::before,
.tria_box.green.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_green.png);
}

/*.tria_box.green02.top::before,
.tria_box.green02.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_green02.png);
}*/

.tria_box.yellow.top::before,
.tria_box.yellow.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_yellow.png);
}

.tria_box.white.top::before,
.tria_box.white.bottom::after {
	background-image: url(/assets/common/img/contents/img_tria_white.png);
}

@media screen and (max-width: 768px) {
	.tria_box {
		padding-top: 0;
	}
}

#contentsBlock {
	padding-bottom: 70px;
}

.sec:not(.inner) {
	padding: 75px 0;
}

@media screen and (max-width: 768px) {
	.sec:not(.inner) {
		padding: 70px 0;
	}
}

#conAnckerArea {
	padding: 30px 0;
}

#conAnckerArea .con_ancker_box {
	display: flex;
	justify-content: space-between;
}

#conAnckerArea .con_ancker_box li {
	width: calc((100% - 40px) / 3);
}

@media screen and (max-width: 480px) {
	#conAnckerArea {
		padding: 20px 0;
	}

	#conAnckerArea .con_ancker_box {
		display: block;
	}

	#conAnckerArea .con_ancker_box li {
		width: 100%;
	}

	#conAnckerArea .con_ancker_box li + li {
		margin-top: 15px;
	}
}

#conBnrArea {
	padding: 30px 0;
}

#conBnrArea .con_bnr_area {
	display: flex;
	justify-content: space-between;
}

#conBnrArea .con_bnr_area li {
	width: calc((100% - 20px) / 2);
	transition: 0.2s ease;
	display: none;
}

#conBnrArea .con_bnr_area li:hover {
	opacity: 0.7;
}

/* 30th */
.b_anniversary #conBnrArea .bnr_contact,
.b_anniversary #conBnrArea .bnr_faq {
	display: block;
}

/* about */
.b_about #conBnrArea .bnr_contact,
.b_about #conBnrArea .bnr_faq {
	display: block;
}

/* kanyusha */
.b_kanyusha #conBnrArea .bnr_payment,
.b_kanyusha #conBnrArea .bnr_pamphlet02,
.b_kanyusha #conBnrArea .bnr_faq02 {
	display: block;
}

.b_7points #conBnrArea .bnr_pamphlet,
.b_7points #conBnrArea .bnr_faq {
	display: block;
}

@media screen and (max-width: 768px) {
	#conBnrArea {
		padding: 20px 0;
	}

	#conBnrArea .con_bnr_area {
		display: block;
	}

	#conBnrArea .con_bnr_area li {
		width: 100%;
		text-align: center;
	}

	#conBnrArea .con_bnr_area li + li {
		margin-top: 15px;
	}
}


/* NEWS */

#newsArea dl.news_box{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom: dotted 2px #e0e0e0;
	padding: 17px 40px 18px;
	position: relative;
	z-index: 10;
}
#newsArea dl.news_box:first-child{
	border-top: dotted 2px #e0e0e0;
}
#newsArea dl.news_box dt,
#newsArea dl.news_box dd{
}
#newsArea dl.news_box dt{
	flex-shrink: 0;
	margin-right: 10px;
	width: 250px;
}
#newsArea dl.news_box span{
	display: inline-block;
}
#newsArea dl.news_box span.date{
	font-weight: bold;
	font-size: 1.8rem;
}
#newsArea dl.news_box span.label{
	min-width: 100px;
	font-size: 1.4rem;
	text-align: center;
	border-radius: 5px;
	color: #fff;
	line-height: 1.6;
	margin-left: 25px;
}
#newsArea dl.news_box span.label.lebel_col01{
	background: #7dc1db;
}
#newsArea dl.news_box span.label.lebel_col02{
	background: #dbab5c;
}
#newsArea dl.news_box span.label.lebel_col03{
	background: #c6d7aa;
}
#newsArea dl.news_box span.label.lebel_col04{
	background: #e7a6c9;
}

#newsArea dl.news_box dd a:hover{
	text-decoration: underline;
}
#pagerArea{
	margin-top: 40px;
}
#pagerArea ul{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
}
#pagerArea ul li{
	margin: 10px 10px 0;
}

#pagerArea ul li a{
	color: #0099d6;
	font-weight: bold;
	font-size: 1.8rem;
	width: 40px;
	line-height: 39px;
	display: block;
	text-align: center;
	border: solid 1px #0099d6;
}
#pagerArea ul li.page a{
	color: #fff;
	background: #0099d6;
}
#pagerArea ul li a:hover{
	color: #0099d6;
	background: #fff;
}

#pagerArea ul li.current a{
	color: #0099d6;
	background: #fff;
}

#pagerArea ul li.arrow a{
	border: none;
}

@media screen and (max-width: 768px) {
	#newsArea dl.news_box{
		flex-direction: column;
		align-items: flex-start;
		padding: 15px 0;
	}
	#newsArea dl.news_box dt{
		margin: 0 0 6px;
	}
	#newsArea dl.news_box span.date{
		font-size: 1.5rem;
	}
	#newsArea dl.news_box span.label{
		font-size: 1.2rem;
		line-height: 1;
		min-width: 80px;
		margin-left: 20px;
		padding: 6px 0 4px;
	}
}

@media screen and (max-width: 550px) {
	#pagerArea ul li {
		margin: 10px 5px 0;
	}
	#pagerArea ul li.prev{
		margin-left: 0;
	}
	#pagerArea ul li.next{
		margin-right: 0;
	}
	#pagerArea ul li a{
		font-size: 1.6rem;
		line-height: 32px;
		width: 32px;
	}
}
@media screen and (max-width: 480px) {
	#newsArea dl.news_box{
		border-bottom: dotted 1px #e0e0e0;
		padding: 10px 0;
	}
	#newsArea dl.news_box:first-child{
		border-top: dotted 1px #e0e0e0;
	}
	#newsArea dl.news_box span.date{
		font-size: 1.4rem;
	}
	#newsArea dl.news_box span.label{
		padding: 4px 0 2px;
		border-radius: 2px;
	}
}

/* ------------------------------------------------------------------------ */
/* Footer
/* ------------------------------------------------------------------------ */

footer {
	width: 100%;
	border-top: 1px solid #ccc;
}

footer.bb_none {
	border-top: none;
}
#pageTopPc {
	position: fixed;
	bottom: 44px;
	right: 20px;
	z-index: 20;
	transition: ease 0.2s;
}

#pageTopPc:hover {
	bottom: 54px;
}

#pageTopSp {
	display: none;
}

footer #fSitemapArea {
	display: flex;
	padding: 34px 15px 74px;
	max-width: 1030px;
}

footer .f_sitemap {
	width: calc(100% / 3);
}

footer .f_sitemap + .f_sitemap {
	margin-left: 35px;
}

footer .f_sitemap dt,
footer .f_sitemap dd {
	width: 100%;
}

footer .f_sitemap .mainttl {
	font-size: 1.6rem;
	font-weight: bold;
	position: relative;
	display: flex;
	line-height: 1.8;
}

footer .f_sitemap .mainttl a:hover {
	text-decoration: underline;
}

footer .f_sitemap dt.mainttl {
	border-bottom: 2px solid #0099d6;
	padding-bottom: 5px;
	margin: 24px 0 20px;
}

footer .f_sitemap .detail .mainttl {
	font-size: 1.4rem;
	margin: 20px 0 15px;
}

footer .f_sitemap .detail .mainttl:nth-of-type(1) {
	margin-top: 0;
}

footer .f_sitemap .mainttl::before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(/assets/common/img/ico/ico_arrow_radius_pc.png) no-repeat left center /
		cover;
	margin: 4px 4px 0 0;
}

_:-ms-input-placeholder,
:root footer .f_sitemap .mainttl::before {
	margin-top: 4.5px !important;
}

_:-ms-input-placeholder,
:root .f_sitemap .detail .mainttl::before {
	margin-top: 2.5px !important;
}

footer .f_sitemap dt.mainttl:before {
	margin-top: 6px;
}

footer .f_sitemap .detail .subttl {
	font-size: 1.2rem;
	margin: 18px 0 10px;
	font-weight: bold;
}

footer .f_sitemap .detail .mainttl + .subttl {
	margin: -3px 0 10px;
}

footer .detail > .f_sitemap_list {
	width: 100%;
	margin: 15px 0 26px;
}

footer .detail .subttl + .f_sitemap_list {
	margin: 0;
}

footer .f_sitemap_list li {
	width: 100%;
	font-size: 1.3rem;
	margin-bottom: 7px;
	position: relative;
	display: flex;
	line-height: 1.8;
}

.sitemap_list .nest > .sitemap_list li:last-child {
    margin-bottom: 0;
}

.sitemap_list.haihun li {
	line-height: 1.4 !important;
}

footer .f_sitemap_list.haihun li {
	margin-left: 2em;
}

footer .f_sitemap_list .sitemap_list.haihun li::before {
	content: "-";
	margin: 0 5px 0 2rem;
	color: #0c9dd7;
}

footer .f_sitemap_list .sitemap_list.dots .nest{
	margin-bottom: 0;
}

footer .f_sitemap_list li::before {
	content: "";
	display: inline-block;
}

footer .f_sitemap_list.arrow > li::before {
	width: 4px;
	height: 8px;
	background: url(/assets/common/img/ico/img_arrow_pc.png) no-repeat left center / cover;
	margin: 7px 8px 0 5px;
}

footer .f_sitemap_list.dots > li::before {
	content: "?E";
	color: #22a7db;
	margin: -5px 3px 0 0;
	font-size: 2rem;
}

footer .f_sitemap_list.haihun > li::before {
	content: "-";
	margin: -7px 3px 0 0;
	font-size: 2rem;
}

footer .f_sitemap_list li.nest::before {
	content: none;
}

footer .f_sitemap_list li a:hover {
	text-decoration: underline;
}

footer .f_sitemap_list .nest > .f_sitemap_list li:last-child {
	margin-bottom: 0;
}

footer #fContactArea {
	background: #d4f6fc;
	font-size: 1.2rem;
	padding: 20px;
	/*margin-top: 28px;*/
}

footer #fContactArea .ttl {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 13px;
}

footer .f_contact_box {
	margin-top: 15px;
}

footer .f_contact_box .name {
	position: relative;
	font-weight: bold;
	margin-bottom: 8px;
	display: flex;
}

footer .f_contact_box .name::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 2px solid #0099d6;
	margin: 4px 3px 0 0;
}

  footer .f_number{
    text-align: left;
    margin: 10px 0 0 35px;
  }
  footer .f_number p{
    text-align: left;
    display: inline-block;
    font-size: 1.2rem;
  }
  
_:-ms-input-placeholder,
:root footer .f_contact_box .name::before {
	margin-top: 2px;
}

footer .f_contact_box .disc {
	padding-left: 1.25em;
}

footer .f_contact_box .disc .tel {
	font-size: 1.4rem;
	font-weight: bold;
}

footer .f_contact_box .disc .num {
	font-size: 2.2rem;
}

footer #fBottomArea {
	background: #0099d6;
	padding: 30px 0 15px;
}

footer #fBottomArea .f_bottom_list {
	display: flex;
	align-items: center;
	justify-content: center;
}

footer #fBottomArea .f_bottom_list li {
	font-size: 1.2rem;
	display: flex;
}

footer #fBottomArea .f_bottom_list li::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 8px;
	background: url(/assets/common/img/ico/ico_arrow_white.png) no-repeat left center / cover;
	margin: 5px 5px 0 0;
}

_:-ms-input-placeholder,
:root footer #fBottomArea .f_bottom_list li::before {
	margin-top: 3px;
}

footer #fBottomArea .f_bottom_list li + li {
	margin-left: 25px;
}

footer #fBottomArea .f_bottom_list li a {
	color: #fff;
}

footer #fBottomArea .f_bottom_list li a:hover {
	text-decoration: underline;
  -webkit-text-decoration-skip: none;
}

footer #fBottomArea #copyright {
	font-size: 1.2rem;
	color: #fff;
	text-align: center;
	margin-top: 23px;
}

@media screen and (max-width: 768px) {
	#pageTopPc {
		display: none;
	}

	footer #fSitemapArea {
		display: none;
	}

	footer #fSitemapAreaSp .link_area {
		margin: 40px 0;
		padding: 0 7px;
	}

	footer #fSitemapAreaSp .link_area li + li {
		margin-top: 15px;
	}

	footer #fSitemapAreaSp #fContactArea {
		padding: 40px 15px 72px;
		font-size: 1.4rem;
	}

	footer .f_contact_box .name::before {
		margin-top: 7px;
	}

	footer .f_contact_box .disc .num.btn {
		display: block;
		width: 100%;
		max-width: inherit;
		line-height: 60px;
		border-radius: 30px;
		margin-top: 10px;
	}
  
	footer #fBottomArea {
		background: #0099d6;
		padding: 0 0 18px;
		position: relative;
	}

	footer #fBottomArea #pageTopSp {
		display: block;
		position: absolute;
		left: 50%;
		top: -50px;
		transform: translateX(-50%);
		width: 106px;
	}

	footer #fBottomArea .f_bottom_list {
		display: block;
		padding-top: 83px;
	}

	footer #fBottomArea .f_bottom_list li {
		font-size: 1.4rem;
	}

	footer #fBottomArea .f_bottom_list li::before {
		content: "";
		display: inline-block;
		width: 4px;
		height: 8px;
		margin: 9px 8px 0 0;
	}

	footer #fBottomArea .f_bottom_list li + li {
		margin-left: 0;
		margin-top: 15px;
	}

	footer #fBottomArea .f_bottom_list li a {
		color: #fff;
	}

	footer #fBottomArea #copyright {
		font-size: 0.8rem !important;
		margin-top: 49px;
	}
	
	.sitemap_list.haihun > li::before {
		margin: -2px 3px 0 20px !important;
		color: #0c9dd7;
	}
}
