@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
		width: 100%;
		height: auto;
}
body {
		font-size: 15px;
		line-height: 1;
		-webkit-text-size-adjust: 100%;
		color: #000;
		background-repeat: repeat-x;
		background-position: 0 0;
		background-image: url("../images/back_bg1_pc.min.jpg")
}
.loading_base {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: #fff;
		z-index: 9999;
		display: flex;
		justify-content: center;
		align-items: center;
}
.loading_base .header_inner {
		opacity: 0;
		animation: fadeIn 0.3s linear forwards;
}
@keyframes fadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
.container {
		overflow: hidden
}
.snow {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: cover;
		background-image: url("../images/snow_pc.png")
}
@media(max-width: 767px) {
		.snow {
				display: none
		}
}
.kv_section {
		height: 667px;
}
header {
		background: #fff;
		top: 0;
		left: 0;
		width: 100%;
		height: 80px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
}
.header_inner {
		width: 440px;
		display: flex;
		justify-content: space-between;
		align-items: center;
}
.loading_base .header_inner {
		width: 400px;
}
.header_logo-1 {
		width: 158px;
}
.header_logo-2 {
		width: 215px;
}
.tagline {
		height: 70px;
		background: #DFC261;
		position: relative;
		z-index: 51;
		text-align: center;
}
.tagline_catch {
		width: 561px;
		margin: 0 auto;
		position: relative;
		top: -7.5px;
}
.catch {
		background: #003E94;
		height: 150px;
		position: relative;
		z-index: 100;
		display: flex;
		justify-content: center;
		align-items: center;
}
@media(min-width: 768px) {
		.catch {
				margin-bottom: -20px;
		}
}
.catch_in img {
		width: 100%;
		height: auto
}
@media(min-width: 768px) {
		.tagline_catch_wrap {
				display: none
		}
		.catch_in {
				width: 515px;
		}
}
@media(max-width: 767px) {
		.catch {
				height: auto;
				padding: 15px 0;
		}
}
@media(max-width: 767px) {
		header {
				height: 46px
		}
		.header_inner {
				width: 260px;
		}
		.loading_base .header_inner {
				width: 240px;
		}
		.header_logo-1 {
				width: 93px;
		}
		.header_logo-2 {
				width: 125px;
		}
		.tagline {
				height: 40px;
		}
		.tagline_catch.pcObj {
				display: none
		}
		.tagline_catch_wrap {
				position: absolute;
				top: 41px;
				left: 0;
				width: 100%;
				z-index: 100;
				pointer-events: none
		}
		.tagline_catch_wrap .tagline_catch.spObj {
				position: static;
				width: 325px;
				margin: 0 auto
		}
		.kv_section {
				height: 107vw;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/back_bg_sp.jpg");
		}
}
.kv_section {
		position: relative;
		z-index: 60
}
.kv_inner {
		position: relative;
		width: 620px;
		margin: 0 auto;
		top: -7px;
		z-index: 60
}
.kv_inner .kv-1 {
		position: relative;
		z-index: 1
}
.kv_inner .kv-2 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}
@media(max-width: 767px) {
		.kv_inner {
				width: 100%;
				top: -6px;
		}
}
/* ============== */
.section-1 {
		background: #F5E59C;
		background: linear-gradient(0deg, rgba(255, 255, 255, 0.4) 0%, rgba(245, 229, 156, 1) 2.5%, rgba(245, 229, 156, 1) 100%);
		padding: 0 0;
		margin: 0 auto;
}
.section-2 {
		background: #5ec5ef;
		background: linear-gradient(0deg, rgba(255, 255, 255, 0.4) 0%, rgba(94, 197, 239, 1) 3%, rgba(94, 197, 239, 1) 90%, rgba(255, 255, 255, 0.4) 100%);
		padding: 0 0;
		margin: 0 auto;
}
.section-3 {
		background: linear-gradient(0deg, rgba(245, 229, 156, 1) 3%, rgba(245, 229, 156, 1) 97%, rgba(255, 255, 255, 0.4) 100%);
		padding: 0 0;
		margin: 0 auto;
}
.inWrap {
		position: relative;
		z-index: 10;
		padding: 40px 0;
		background-repeat: repeat-y;
		background-position: center center;
		background-size: 3000px;
		top: 20px;
}
.inWrap.last {
		padding-bottom: 120px;
}
@media(min-width: 768px) {
		.bgGold {
				background-image: url("../images/bgGold.png")
		}
		.bgNavy {
				background-image: url("../images/bgNavy.png")
		}
}
@media(max-width: 767px) {
		.section-1 {
				background: #F5E59C;
		}
		.section-2 {
				background: #5ec5ef;
		}
		.section-3 {
				background: #F5E59C;
		}
		.inWrap {
				z-index: 10;
				padding: 0;
				top: 0;
		}
		.inWrap.last {
				padding-bottom: 0;
		}
		.section-1 {
				padding: 30px 0;
		}
		.section-2 {
				padding: 30px 20px;
		}
		.section-3 {
				padding: 30px 20px 60px;
		}
}
/* ============== */
.wrap {
		max-width: 560px;
		margin: 0 auto;
		border-radius: 20px;
		box-sizing: border-box;
		box-shadow: rgba(0, 0, 0, 0.1) 0px 7px 15px 0px;
		overflow: hidden;
		position: relative;
		z-index: 5
}
.cont_hd {
		background: #003E94;
		color: #fff;
		text-align: center;
		padding: 10px 0;
}
.cont_hd h2 {
		font-family: YakuHanRP, "M PLUS Rounded 1c", sans-serif;
		font-weight: 900;
		font-style: normal;
		font-size: 24px;
		line-height: 1.4;
}
.wrap_cont {
		background: #fff;
		padding: 15px;
}
/* ================ */
.prise_item {
		max-width: 620px;
		margin: 0 auto -30px;
		position: relative;
}
.prise_item.first {
		margin-bottom: 10px;
}
.prise_item.last {
		margin-bottom: -20px;
}
.prise_hr {
		height: 3px;
		border-radius: 60px;
		background: #1a94b0;
		margin: 25px 0 15px
}
@media(max-width: 767px) {
		.wrap {
				border-radius: 18px;
		}
		.wrap_cont {
				padding: 15px 12px;
		}
		.section-3 .wrap {
				margin-bottom: 0;
				position: relative;
		}
		.cont_hd {
				padding: 8px 0;
				border-radius: 14px 14px 0 0;
		}
		.cont_hd h2 {
				font-size: 20px;
		}
		.cont_hd h2.extra {
				font-size: 14px;
		}
		.prise_hr {
				height: 2px;
				margin: 14px 0 10px
		}
		.prise_item {
				margin: 0 auto -10px;
		}
		.prise_item.last {
				padding-bottom: 10px;
		}
}
@media(max-width: 400px) {
		.wrap_cont {
				padding: 15px 12px;
		}
}
/* ================ */
.brand_hd {
		max-width: 315px;
		margin: 0 auto 45px;
		padding: 20px 0 0
}
.barnd_flex {
		display: flex;
		justify-content: space-between;
		padding-bottom: 5px;
		max-width: 480px;
		margin: 0 auto 20px;
		position: relative;
}
.barnd_flex::before {
		content: '';
		display: block;
		position: absolute;
		top: 52px;
		left: 50%;
		width: 1px;
		height: calc(100% - 50px);
		background: #1a94b0;
}
.barnd_flex h4 {
		height: 32px;
		background: #003E94;
		color: #fff;
		border-radius: 8px;
		font-family: YakuHanRP, "M PLUS Rounded 1c", sans-serif;
		font-weight: 700;
		font-size: 18px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 20px;
}
.barnd_flex_left, .barnd_flex_right {
		width: 215px;
}
@media(max-width: 767px) {
		.brand_hd {
				margin: 0 auto 30px;
				padding: 10px 0 0
		}
		.barnd_flex {
				display: block;
				padding-bottom: 5px;
				max-width: 550px;
				margin: 0 auto 20px;
		}
		.barnd_flex::before {
				display: none
		}
		.spLine {
				margin: 0 0 35px;
				position: relative;
				height: 32px;
		}
		.spLine::before {
				content: '';
				display: block;
				position: absolute;
				top: 15px;
				left: 0;
				width: 100%;
				height: 2px;
				background: #003E94;
		}
		.barnd_flex h4 {
				height: 32px;
				font-size: 18px;
				margin: 0 auto;
				position: relative;
				z-index: 5;
				width: 230px;
				border-radius: 60px;
		}
		.barnd_flex h4 span {
				display: inline-block;
				transform: translateY(-1px)
		}
		.barnd_flex_left, .barnd_flex_right {
				width: 100%;
		}
		.barnd_flex_left {
				margin: 0 0 30px
		}
}
/* ================ */
.terms_inner {
		padding: 25px 35px;
		font-family: YakuHanJP, "Noto Sans JP", sans-serif;
		font-size: 16px;
}
.terms_inner p {
		line-height: 1.8;
		text-align: justify;
}
.terms_inner p.extra {
		text-align: left;
}
.terms_inner h4 {
		font-size: 16px;
		font-weight: 600;
		margin: 2em 0 10px;
}
.terms_inner h4:first-child {
		margin-top: 0;
}
.terms_inner h5 {
		font-size: 16px;
		font-weight: 600;
		margin: 1em 0 10px;
}
.terms_inner ul {
		margin: 1em 0 0 1em
}
.terms_inner ul.extra {
		margin-top: 0;
}
.terms_inner li {
		list-style: none;
		position: relative;
		line-height: 1.8;
		margin: 0 0 0.2em
}
.terms_inner ul li:last-child {
		margin-bottom: 0;
}
.terms_inner li span {
		display: block;
		position: absolute;
		top: 0;
		left: -1em
}
.terms_inner a {
		color: #000;
		text-decoration: underline;
}
@media (hover: hover) {
		.terms_inner a:hover {
				color: #1a94b0;
				text-decoration: none;
		}
}
@media(max-width: 767px) {
		.terms_inner {
				padding: 10px 5px;
				font-size: 15px;
		}
}
footer {
		background: #003E94;
		margin: 0 auto;
		height: 150px;
		position: relative;
		z-index: 10;
		box-sizing: border-box;
}
@media(min-width: 768px) {
		footer.spFooter {
				display: none
		}
}
@media(max-width: 767px) {
		footer {
				background: #003E94;
				padding: 20px 0;
				margin: 0 auto;
				height: 100px;
				position: relative;
				z-index: 10;
				box-sizing: border-box;
		}
}
.alignleft {
		text-align: left !important;
}
@media(min-width: 768px) {
		br.spbr {
				display: none
		}
}
@media(min-width: 401px) {
		br.mobilebr {
				display: none
		}
}
/* ================= */
.pagetop {
		position: fixed;
		z-index: 10;
		right: 40px;
		width: 80px;
		bottom: 40px;
		display: none
}
.pagetop a {
		color: #003E94;
		text-decoration: none;
}
.pagetop .icon_pagetop {
		background-color: #003E94;
		width: 60px;
		height: 60px;
		margin: 0 auto 5px;
		border-radius: 50%;
		position: relative;
}
.icon_pagetop::after {
		content: '';
		display: block;
		position: absolute;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 9px solid transparent;
		border-left: 9px solid transparent;
		border-bottom: 12px solid #fff;
		border-top: 0;
		left: 21px;
		top: 22px;
		pointer-events: none;
}
.pagetop_txt {
		font-family: YakuHanRP, "M PLUS Rounded 1c", sans-serif;
		font-size: 14px;
		font-weight: 700;
		text-align: center;
}
.pagetop.isWht .icon_pagetop {
		background-color: #fff;
}
.pagetop.isWht .icon_pagetop::after {
		border-bottom: 12px solid #003E94;
}
.pagetop.isWht a {
		color: #fff;
}
.pagetop.isWht.icon_pagetop {
		background-color: #fff;
}
@media(max-width: 767px) {
		.pagetop {
				right: 5px;
				width: 70px;
				bottom: 20px;
		}
		.pagetop .icon_pagetop {
				width: 40px;
				height: 40px;
				margin: 0 auto 8px;
		}
		.icon_pagetop::after {
				border-right: 6px solid transparent;
				border-left: 6px solid transparent;
				border-bottom: 8px solid #fff;
				border-top: 0;
				left: 15px;
				top: 15px;
		}
		.pagetop.isWht .icon_pagetop::after {
				border-bottom: 8px solid #003E94;
		}
		.pagetop_txt {
				font-size: 11px;
		}
}
.bnr {
		border: 4px solid #003E94;
		overflow: hidden;
		border-radius: 20px;
		margin: 0 0 35px;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.bnr:hover {
				transform: translateX(1.5px) translateY(1.5px)
		}
}
@media(max-width: 767px) {
		.bnr {
				border: 2px solid #003E94;
				border-radius: 16px;
		}
}