@charset "UTF-8";

/*--------------------------------------------------

  = 目次

  1. Base
  2. Layout
  3. Block
  4. Element
  5. Helper
  6. Animation
  7. Unique
  8. Print
  
--------------------------------------------------*/
/*--------------------------------------------------

  = Base
  
--------------------------------------------------*/
html {
	line-height: 2;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	position: relative;
	width: 100%;
	color: #1b1b1b;
	letter-spacing: .06em;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-style: normal;
	font-weight: 500;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

a {
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	body {
		min-width: 1100px;
		line-height: 1.87;
		font-size: 1.6rem;
	}

	.sp {
		display: none;
	}

	a:hover {
		color: #005b81;
		text-decoration: underline;
		transition: all 0.2s;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	html {
		min-width: 300px;
		font-size: calc(100vw / 75);
	}

	body {
		line-height: 1.53;
		font-size: 2.6rem;
	}

	.pc {
		display: none;
	}
}

/*--------------------------------------------------

  =  Layout（ly_）
  
--------------------------------------------------*/
/*--------------------------------------------------
  = ly_header
--------------------------------------------------*/
.ly_header {
	position: absolute;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.ly_header {
		top: 2rem;
		left: 0;
		width: 100%;
	}

	.ly_header_inner {
		max-width: 1100px;
		margin: 0 auto;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.ly_header {
		top: 2.5rem;
		left: 4rem;
	}
}

/*--------------------------------------------------
  = ly_footer
--------------------------------------------------*/
.ly_footer {
	position: relative;
}

.ly_footer_body {
	background-color: #005b81;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.ly_footer_body {
		padding: 3.1rem 0;
	}

	.ly_footer_body .ly_cont {
		display: flex;
		align-items: center;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.ly_footer {
		padding-bottom: 11.6rem;
	}

	.ly_footer_body {
		padding: 5rem 0 4.5rem;
	}
}

/*--------------------------------------------------
  = その他
--------------------------------------------------*/
.ly_main {
	overflow: hidden;
}

.ly_cont {
	padding: 0 2rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.ly_cont {
		max-width: 1100px;
		margin: 0 auto;
		box-sizing: unset;
	}
}

/*--------------------------------------------------

  = Block（bl_）

--------------------------------------------------*/
/*--------------------------------------------------
  = bl_headerLogo
--------------------------------------------------*/
.bl_headerLogo_inner {
	display: block;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_headerLogo {
		width: 34rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_headerLogo {
		width: 40rem;
	}
}

/*--------------------------------------------------
  = bl_headerNav
--------------------------------------------------*/
.bl_headerNav_wrapper {
	position: fixed;
	z-index: 999;
}

.bl_headerNav {
	display: flex;
	align-items: flex-start;
}

.bl_headerNav_item {
	position: relative;
	width: calc(100% / 2);
	overflow: hidden;
}

.bl_headerNav_link {
	display: block;
	position: relative;
	font-weight: bold;
	letter-spacing: .02em;
	text-align: center;
}

.bl_headerNav_link::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.bl_headerNav_reserve .bl_headerNav_link {
	background-color: #fff107;
	color: #005b81;
}

.bl_headerNav_reserve .bl_headerNav_link::after {
	background: url(../img/shared/icon_arrow01.svg) no-repeat center/100%;
}

.bl_headerNav_official .bl_headerNav_link {
	background-color: #006e9c;
	color: #fff;
}

.bl_headerNav_official .bl_headerNav_link::after {
	background: url(../img/shared/icon_arrow02.svg) no-repeat center/100%;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_headerNav_wrapper {
		top: 0;
		right: 0;
	}

	.bl_headerNav {
		width: 48rem;
	}

	.bl_headerNav_link {
		padding: 2rem;
		padding-right: 4.8rem;
		line-height: 1.15;
		font-size: 1.8rem;
	}

	.bl_headerNav_link::after {
		width: 1.8rem;
		height: 1.8rem;
		margin-left: 1rem;
	}

	/* hover */
	.bl_headerNav_link:hover {
		text-decoration: none;
	}

	.bl_headerNav_reserve .bl_headerNav_link:hover {
		background-color: #fff45c;
	}

	.bl_headerNav_official .bl_headerNav_link:hover {
		background-color: #005b81;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_headerNav_wrapper {
		bottom: 0;
		left: 0;
		width: 100%;
	}

	.bl_headerNav_link {
		padding: 4.3rem 2rem;
		padding-right: 7rem;
		line-height: 1;
		font-size: 3rem;
	}

	.bl_headerNav_link::after {
		width: 3rem;
		height: 3rem;
		margin-left: 1.7rem;
	}
}

/*--------------------------------------------------
  = bl_footerLogo
--------------------------------------------------*/
/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_footerLogo {
		width: 38rem;
		margin-right: 2.5rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_footerLogo {
		width: 48rem;
		margin: 0 auto 3.5rem;
	}
}

/*--------------------------------------------------
  = bl_footerInfo
--------------------------------------------------*/
.bl_footerInfo {
	color: #fff;
	font-weight: normal;
	letter-spacing: 0.04em;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_footerInfo {
		margin-right: 4rem;
		line-height: 1.8;
		font-size: 1.4rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_footerInfo {
		margin-bottom: 3.5rem;
		line-height: 1.92;
		font-size: 2.4rem;
		text-align: center;
	}
}

/*--------------------------------------------------
  = bl_snsList
--------------------------------------------------*/
.bl_snsList {
	display: flex;
	align-items: center;
}

.bl_snsList_item a {
	display: block;
}

.bl_snsList_item img {
	width: 100%;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_snsList_item {
		width: 3.3rem;
		height: 3.3rem;
		margin: 0 1rem;
	}

	.bl_snsList__youtube {
		width: 3.7rem;
		height: 2.6rem;
	}

	.bl_snsList_item a:hover {
		opacity: 0.85;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_snsList {
		justify-content: center;
	}

	.bl_snsList_item {
		width: 5.8rem;
		margin: 0 2rem;
	}

	.bl_snsList__youtube {
		width: 6.5rem;
	}
}

/*--------------------------------------------------
  = bl_media
--------------------------------------------------*/
.bl_media_img {
	position: relative;
	border: 1rem solid #fff;
	border-radius: 0 2rem 2rem 0;
	overflow: hidden;
}

.bl_media_img img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.bl_media_imgWrapper::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	background: #e5eef2;
	border-radius: 0 2rem 2rem 0;
}

/* 反転レイアウト */

.bl_media__rev .bl_media_imgWrapper::before {
	border-radius: 2rem 0 0 2rem;
}

.bl_media__rev .bl_media_img {
	border-radius: 2rem 0 0 2rem;
}

/* --- */

.bl_media_txt {
	font-weight: bold;
}

.bl_media_cmt {
	color: #005b81;
	font-weight: bold;
	letter-spacing: .04em;
}

.bl_media_table {
	border-bottom: .3rem solid #e5e5e5;
	border-radius: 1.3rem;
}

.bl_media_table table {
	width: 100%;
	border-collapse: collapse;
	border-radius: 1rem;
	overflow: hidden;
}

.bl_media_table tr th,
.bl_media_table tr td {
	text-align: center;
}

.bl_media_table thead {
	border-bottom: 1px solid #fff;
	background-color: #5799b5;
	color: #fff;
}

.bl_media_table thead tr th:not(:first-child) {
	border-left: 1px solid #fff;
}

.bl_media_table tbody {
	border-right: 1px solid #e5e5e5;
}

.bl_media_table tbody tr th,
.bl_media_table tbody tr td {
	vertical-align: middle;
	font-weight: bold;
}

.bl_media_table tbody tr th {
	border-right: 1px solid #fff;
	color: #fff;
}

.bl_media_table tbody tr:nth-child(n+2) th {
	border-top: 1px solid #fff;
}

.bl_media_table tbody tr:nth-child(1) th {
	background-color: #2faeab;
}

.bl_media_table tbody tr:nth-child(2) th {
	background-color: #ea68a2;
}

.bl_media_table tbody tr:not(:last-child) td {
	border-bottom: 1px dashed #ccc;
}

.bl_media_table tbody tr td:not(:last-child) {
	border-right: 1px dashed #ccc;
}

.bl_media_imgWrapper.is-show {
	transition-delay: .7s;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_media {
		position: relative;
		display: flex;
		justify-content: center;
		min-height: 50rem;
		margin-top: 5.5rem;
	}

	.bl_media_imgWrapper {
		position: absolute;
		top: -1rem;
		left: -1rem;
		width: 45.4%;
	}

	.bl_media_img img {
		height: 47rem;
	}

	.bl_media_imgWrapper::before {
		top: 2rem;
		width: calc(100% + 1rem);
		height: calc(47rem + 1rem);
	}

	.bl_media_bodyWrapper {
		min-width: 1100px;
		margin: 0 auto;
	}

	.bl_media_body {
		width: 55rem;
		margin: 0 0 0 auto;
		padding: 0 1rem;
	}

	/* 反転レイアウト */

	.bl_media__rev .bl_media_imgWrapper {
		right: -1rem;
		left: auto;
	}

	.bl_media__rev .bl_media_imgWrapper::before {
		left: auto;
		right: 0;
	}

	.bl_media__rev .bl_media_body {
		margin: 0 auto 0 0;
	}

	/* --- */

	.bl_media_txt {
		margin-bottom: 3rem;
		line-height: 2;
		font-size: 2rem;
	}

	.bl_media_cmt {
		margin-bottom: 2rem;
		padding: 2.2rem 3rem 4.5rem;
		background: url(../img/shared/bl_media_cmt_bg_pc.png) no-repeat top/100%;
		line-height: 1.76;
		font-size: 1.7rem;
	}

	.bl_media_table table {
		font-size: 1.7rem;
	}

	.bl_media_table thead tr th {
		padding: .5rem 0;
	}

	.bl_media_table tbody tr th,
	.bl_media_table tbody tr td {
		padding: .5rem 0;
	}

	.bl_media_table tbody tr th {
		font-size: 2.6rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_media_imgWrapper {
		margin-left: -1rem;
	}

	.bl_media_imgWrapper::before {
		top: 2rem;
		width: calc(71rem + 1.2rem);
		height: calc(56rem + 1.2rem);
	}

	.bl_media_img {
		width: 71rem;
	}

	.bl_media_img img {
		height: 56rem;
	}

	.bl_media_body {
		padding: 4rem 4rem 0;
	}

	/* 反転レイアウト */

	.bl_media__rev .bl_media_imgWrapper::before {
		left: auto;
		right: 0;
	}

	/* --- */

	.bl_media_txt {
		margin-bottom: 3.5rem;
		line-height: 1.92;
	}

	.bl_media_cmt {
		margin-bottom: 3rem;
		padding: 2.5rem 3.4rem 5.5rem;
		background: url(../img/shared/bl_media_cmt_bg_sp.png) no-repeat top/100%;
		line-height: 1.92;
		font-size: 2.4rem;
	}

	.bl_media_table table {
		border-radius: 1.26rem;
	}

	.bl_media_table thead tr th {
		padding: .7rem 0;
		font-size: 2.4rem;
	}

	.bl_media_table tbody tr th,
	.bl_media_table tbody tr td {
		padding: 1.2rem 0;
	}

	.bl_media_table tbody tr th {
		font-size: 3.28rem;
	}
}

/*--------------------------------------------------
  = bl_list
--------------------------------------------------*/
.bl_list_item {
	display: flex;
	font-weight: bold;
}

.bl_list_ttl {
	background-color: #eef9fb;
	border-bottom: .2rem solid #74abc2;
	color: #005b81;
	text-align: center;
}

.bl_list_body {
	flex: 1;
	border-bottom: .2rem solid #74abc2;
}

.bl_list_dt {
	position: relative;
	color: #005b81;
}

.bl_list_dt::before {
	content: "";
	display: block;
	position: absolute;
	background-color: #e5e0dc;
	border-radius: 50%;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_list_item {
		line-height: 1.4;
		font-size: 1.8rem;
	}

	.bl_list_item+.bl_list_item {
		margin-top: 1.5rem;
	}

	.bl_list_ttl {
		width: 9rem;
		margin-right: .8rem;
		padding: 1rem;
	}

	.bl_list_body {
		padding: 1rem 2rem;
	}

	.bl_list_dt {
		margin-bottom: .5rem;
		padding-left: 2.3rem;
	}

	.bl_list_dt::before {
		top: .7rem;
		left: .2rem;
		width: 1.1rem;
		height: 1.1rem;
	}

	.bl_list_dd {
		margin: 0 0 1rem 2.3rem;
		font-size: 1.5rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_list_item {
		line-height: 1.4;
	}

	.bl_list_item+.bl_list_item {
		margin-top: 2rem;
	}

	.bl_list_ttl {
		width: 12rem;
		margin-right: 1.5rem;
		padding: 1.3rem;
	}

	.bl_list_body {
		padding: 1.3rem 1.5rem;
	}

	.bl_list_dt {
		margin-bottom: 1rem;
		padding-left: 2.5rem;
	}

	.bl_list_dt::before {
		top: 0.9rem;
		left: 0;
		width: 1.5rem;
		height: 1.5rem;
	}

	.bl_list_dd {
		margin: 0 0 2rem 2.5rem;
		font-size: 2.2rem;
	}
}

/*--------------------------------------------------
  = bl_frame
--------------------------------------------------*/
.bl_frame {
	position: relative;
	background-color: #fff;
}

.bl_frame_ttlWrapper {
	position: absolute;
	width: 100%;
}

.bl_frame_ttl {
	position: relative;
	background: url(../img/shared/bl_frame_parts01.png) no-repeat top/contain;
}

.bl_frame_stripe .bl_frame_ttl {
	background: url(../img/shared/bl_frame_parts02.png) no-repeat top/contain;
}

.bl_frame_ttl::before {
	left: 0;
}

.bl_frame_ttl::after {
	right: 0;
}

.bl_frame_ttl img {
	display: block;
	margin: 0 auto;
}

.bl_frame_stripe .bl_frame_box {
	background-size: auto auto;
	background-color: rgba(233, 245, 247, 1);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 1rem, rgba(224, 241, 244, 1) 1rem, rgba(224, 241, 244, 1) 2rem);
}

.bl_frame_txt {
	text-align: center;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_frame_ttlWrapper {
		top: -13rem;
	}

	.bl_frame_ttl {
		padding-top: 10rem;
		background-size: auto 13.5rem;
	}

	.bl_frame_stripe .bl_frame_ttl {
		background-size: auto 13.5rem;
	}

	.bl_frame_ttl::before,
	.bl_frame_ttl::after {
		content: "";
		display: block;
		position: absolute;
		background-position: top;
		top: 12.7rem;
		width: calc(50% - 16rem);
		height: 0.8rem;
		background-image: repeating-linear-gradient(0deg, #d4ccc4 0 .2rem, #fff .2rem .6rem, #aa998a .6rem .8rem);
		background-size: auto 0.8rem;
	}

	.bl_frame_box {
		margin-top: -1rem;
		padding-top: 4rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_frame_ttlWrapper {
		top: -18rem;
	}

	.bl_frame_ttl {
		padding-top: 13rem;
		background-size: auto 18.5rem;
	}

	.bl_frame_stripe .bl_frame_ttl {
		background-size: auto 18rem;
	}

	.bl_frame_box {
		padding-top: 6rem;
	}

	.bl_frame_txt {
		margin-bottom: 4rem;
	}

	.bl_media__rev .bl_media_imgWrapper {
		margin-left: 0;
		margin-right: -1rem;
	}

	.bl_media__rev .bl_media_img {
		margin: 0 0 0 auto;
	}
}

/*--------------------------------------------------
  = bl_box
--------------------------------------------------*/
.bl_box {
	position: relative;
}

.bl_box::before,
.bl_box::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
}

.bl_box::before {
	top: 0;
}

.bl_box::after {
	bottom: 0;
}

.bl_box_inner {
	letter-spacing: .04em;
}

.bl_box_ttl {
	color: #6a3906;
	font-weight: bold;
	letter-spacing: .04em;
}

.bl_box_list li {
	position: relative;
}

.bl_box_list li::before {
	content: "・";
	display: inline-block;
}

.bl_box_list li a {
	color: #005b81;
	text-decoration: underline;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.bl_box {
		padding: 2.25rem 0;
	}

	.bl_box+.bl_box {
		margin-top: 2rem;
	}

	.bl_box::before,
	.bl_box::after {
		height: 2.25rem;
	}

	.bl_box::before {
		background: url(../img/shared/bl_box_bgTop_pc.png) no-repeat center top / 100%;
	}

	.bl_box::after {
		background: url(../img/shared/bl_box_bgBottom_pc.png) no-repeat center bottom / 100%;
	}

	.bl_box_inner {
		padding: 0 3rem;
		background: url(../img/shared/bl_box_bgCenter_pc.png) repeat-y center / 100%;
	}

	.bl_box_ttl {
		font-size: 2rem;
	}

	.bl_box_list li {
		padding-left: 1em;
		text-indent: -.5em;
	}

	.bl_box_list li::before {
		content: "・";
		display: inline-block;
	}

	/* hover */
	.bl_box_list li a:hover {
		text-decoration: none;
	}

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.bl_box {
		padding: 2.25rem 0;
	}

	.bl_box+.bl_box {
		margin-top: 3rem;
	}

	.bl_box::before,
	.bl_box::after {
		height: 2.25rem;
	}

	.bl_box::before {
		background: url(../img/shared/bl_box_bgTop_sp.png) no-repeat center top / 100%;
	}

	.bl_box::after {
		background: url(../img/shared/bl_box_bgBottom_sp.png) no-repeat center bottom / 100%;
	}

	.bl_box_inner {
		padding: 1rem 4rem;
		background: url(../img/shared/bl_box_bgCenter_sp.png) repeat-y center / 100%;
	}

	.bl_box_ttl {
		margin-bottom: 1.5rem;
		font-size: 3rem;
	}

	.bl_box_list li {
		padding-left: 1em;
		line-height: 1.7;
		text-indent: -.5em;
	}

	.bl_box_list li+li {
		margin-top: 1.5rem;
	}
}

/*--------------------------------------------------

  = Element（el_）

--------------------------------------------------*/
/*--------------------------------------------------
  = el_copyright
--------------------------------------------------*/
.el_copyright {
	color: #7d7d7d;
	letter-spacing: 0.04em;
	text-align: center;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.el_copyright {
		padding: 1.8rem 0;
		font-size: 1.4rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.el_copyright {
		padding: 3.8rem 2rem;
		line-height: 1.66;
		font-size: 2.4rem;
	}
}

/*--------------------------------------------------
  = el_pagetop
--------------------------------------------------*/
.el_pagetop {
	position: fixed;
	border-radius: 50%;
	background-color: #308eb6;
	transition: all 0.2s;
	cursor: pointer;
	z-index: 999;
}

.el_pagetop::after {
	content: "";
	display: block;
	position: absolute;
	top: 48%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	border-style: solid;
	border-width: 0 1.1rem 1.9rem 1.1rem;
	border-color: transparent transparent #fff transparent;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.el_pagetop {
		right: 6rem;
		bottom: 3.5rem;
		width: 7rem;
		height: 7rem;
	}

	.el_pagetop:hover {
		background-color: #3a84a2;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.el_pagetop {
		right: 2rem;
		bottom: 23.5rem;
		width: 9rem;
		height: 9rem;
	}

	.el_pagetop::after {
		border-width: 0 1.35rem 2.3rem 1.35rem;
	}
}

/*--------------------------------------------------

  = Helper（hp_）

--------------------------------------------------*/
/*--------------------------------------------------
  = width
--------------------------------------------------*/
.hp_wid90 {
	width: 9rem;
}

.hp_wid206 {
	width: 20.6rem;
}

.hp_wid460 {
	width: 46rem;
}

.hp_wid530 {
	width: 53rem;
}

/*--------------------------------------------------
  = margin一括指定
--------------------------------------------------*/
.hp_m0auto {
	margin: 0 auto;
}

/*--------------------------------------------------
  = margin-top
--------------------------------------------------*/
.hp_mt5 {
	margin-top: .5rem;
}

.hp_mt10 {
	margin-top: 1rem;
}

.hp_mt15 {
	margin-top: 1.5rem;
}

.hp_mt20 {
	margin-top: 2rem;
}

.hp_mt25 {
	margin-top: 2.5rem;
}

.hp_mt30 {
	margin-top: 3rem;
}

.hp_mt35 {
	margin-top: 3.5rem;
}

.hp_mt40 {
	margin-top: 4rem;
}

.hp_mt45 {
	margin-top: 4.5rem;
}

.hp_mt50 {
	margin-top: 5rem;
}

.hp_mt55 {
	margin-top: 5.5rem;
}

.hp_mt60 {
	margin-top: 6rem;
}

.hp_mt65 {
	margin-top: 6.5rem;
}

.hp_mt70 {
	margin-top: 7rem;
}

.hp_mt80 {
	margin-top: 8rem;
}

.hp_mt90 {
	margin-top: 9rem;
}

.hp_mt100 {
	margin-top: 10rem;
}

/*--------------------------------------------------
  = margin-bottom
--------------------------------------------------*/
.hp_mb10 {
	margin-bottom: 1rem;
}

.hp_mb20 {
	margin-bottom: 2rem;
}

.hp_mb30 {
	margin-bottom: 3rem;
}

.hp_mb40 {
	margin-bottom: 4rem;
}

.hp_mb50 {
	margin-bottom: 5rem;
}

.hp_mb60 {
	margin-bottom: 6rem;
}

.hp_mb70 {
	margin-bottom: 7rem;
}

.hp_mb80 {
	margin-bottom: 8rem;
}

.hp_mb90 {
	margin-bottom: 9rem;
}

.hp_mb100 {
	margin-bottom: 10rem;
}

/*--------------------------------------------------
  = font_color
--------------------------------------------------*/
.hp_fcWhite {
	color: #fff;
}

.hp_fcBlack {
	color: #313131;
}

.hp_fcPink {
	color: #ea68a2;
}

/*--------------------------------------------------
  = marker
--------------------------------------------------*/
.hp_markerYellow {
	background: linear-gradient(transparent 50%, #fff100 50%);
}

/*--------------------------------------------------

  = Animation（_an）

--------------------------------------------------*/
/*--------------------------------------------------
  = an_fadeIn
--------------------------------------------------*/
.an_fadeInUp {
	opacity: 0;
	transform: translateY(30%);
	transition: all .5s;
}

.an_fadeInRight {
	opacity: 0;
	transform: translateX(90%);
	transition: all .5s;
}

.an_fadeInLeft {
	opacity: 0;
	transform: translateX(-90%);
	transition: all .5s;
}

.an_fadeInUp.is-show,
.an_fadeInRight.is-show,
.an_fadeInLeft.is-show {
	opacity: 1;
	transform: translateX(0);
}

/*--------------------------------------------------

  = unique（un_）

--------------------------------------------------*/
/*--------------------------------------------------
  = un_mv
--------------------------------------------------*/
.un_mv_imgWrapper {
	position: relative;
	margin: 0 auto;
}

.un_mv_imgWrapper::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	background: url(../img/top/un_mv_bird.png) no-repeat center/100%;
}

.un_mv_body {
	position: relative;
	text-align: center;
	font-weight: bold;
}

.un_mv_ttl {
	display: inline;
	background: linear-gradient(transparent 65%, #fff45c 65%);
	color: #005b81;
}

/* = PC (1200px以下　768px以上)
----------------------------------------------- */
@media print,
screen and (max-width: 1200px) and (min-width: 768px) {
	.un_mv_body {
		background-size: 100%;
	}
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.un_mv {
		background: url(../img/top/un_mv_bg01_pc.jpg) no-repeat top center/contain;
		background-size: auto 48rem;
	}

	.un_mv_inner {
		padding-top: 10.5rem;
	}

	.un_mv_imgWrapper {
		width: 56.5rem;
	}

	.un_mv_imgWrapper::after {
		right: -10rem;
		width: 18.7rem;
		height: 15.9rem;
	}

	.un_mv_body {
		margin-top: -3rem;
		background: url(../img/top/un_mv_bg02_pc.png) no-repeat center/contain;
		background-size: auto 20.5rem;
		padding: 5rem 0 4rem;
	}

	.un_mv_ttl {
		padding-left: 1rem;
		line-height: 1.3;
		font-size: 3.6rem;
	}

	.un_mv_txt {
		margin-top: 2rem;
		line-height: 1.9;
		font-size: 2rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.un_mv {
		background: url(../img/top/un_mv_bg01_sp.jpg) no-repeat top/100%;
	}

	.un_mv_inner {
		padding-top: 12.5rem;
	}

	.un_mv_imgWrapper {
		width: 61rem;
		padding-bottom: 41rem;
	}

	.un_mv_imgWrapper::after {
		top: -8.5rem;
		right: 3.5rem;
		width: 20rem;
		height: 17rem;
	}

	.un_mv_body {
		background: url(../img/top/un_mv_bg02_sp.png) no-repeat center/100%;
		padding: 5rem 0 8rem;
	}

	.un_mv_ttl {
		padding-left: 1rem;
		line-height: 1.4;
		font-size: 5rem;
	}

	.un_mv_txt {
		margin-top: 4rem;
		line-height: 1.66;
		font-size: 3rem;
	}
}

/*--------------------------------------------------
  = un_about
--------------------------------------------------*/
.un_abont_ttl {
	position: relative;
}

.un_abont_ttl::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 0.8rem;
	background-color: #fff;
	border-top: .2rem solid #aa998a;
	border-bottom: .2rem solid #d4ccc4;
	transform: translateY(-50%);
	z-index: -1;
}

.un_abont_ttl_inner {
	display: block;
	margin: 0 auto;
	background-color: #fff;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.un_about {
		margin-top: 2rem;
		padding-bottom: 17.5rem;
	}

	.un_abont_ttl_inner {
		width: 70.5rem;
		padding: 0 2.7rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.un_about {
		padding-bottom: 23rem;
	}

	.un_abont_ttl_inner {
		width: 49rem;
		margin-bottom: 5rem;
		padding: 0 4rem;
	}
}

/*--------------------------------------------------
  = un_class
--------------------------------------------------*/
.un_class_group_ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.un_class_group_en {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	color: #fff;
	font-weight: bold;
	z-index: 1;
}

.un_class_group_time {
	line-height: 1;
	font-weight: bold;
}

.un_class_group_item {
	border-bottom: .2rem solid #c9d8db;
	background-color: #fff;
	overflow: hidden;
}

.un_class_group_item_ttlWrapper {
	display: flex;
	align-items: center;
	cursor: pointer;
}

.un_class_group_item_data {
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.un_class_group_item_data * {
	display: flex;
	align-items: center;
	justify-content: center;
}

.un_class_group_item_ttl {
	flex: 1;
	font-weight: bold;
}

.un_class_group_item_icon {
	position: relative;
	border-left: 1px dashed #ccc;
}

.un_class_group_item_icon::before,
.un_class_group_item_icon::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-55%) translateX(-50%);
	height: 2px;
}

.un_class_group_item_icon::after {
	transform: translateY(-50%) translateX(-50%) rotate(90deg);
	transition: .2s;
}

.un_class_group_item_ttlWrapper.is-open .un_class_group_item_icon::after {
	transform: translateY(-55%) translateX(-50%) rotate(0);
	transition: .2s;
}

.un_class_group_item_body {
	display: none;
	border-top: 1px solid;
}

.un_class_group_item:first-of-type .un_class_group_item_body {
	display: block;
}

.un_class_group_item_info {
	font-weight: bold;
	letter-spacing: .04em;
	text-align: center;
}

.un_class_group_item_txt {
	border-top: 1px dashed #ccc;
}

.un_class_group_item_txt a {
	text-decoration: underline;
}

.un_class_group_item_txt a:hover {
	text-decoration: none;
}

/* clr */
.un_class_group__gr .un_class_group_en {
	background-color: #2faeab;
}

.un_class_group__gr .un_class_group_item_subject {
	background-color: #059996;
}

.un_class_group__gr .un_class_group_item_target {
	background-color: #2faeab;
}

.un_class_group__gr .un_class_group_item_ttl {
	color: #089693;
}

.un_class_group__gr .un_class_group_item_icon::before,
.un_class_group__gr .un_class_group_item_icon::after {
	background-color: #089693;
}

.un_class_group__gr .un_class_group_item_body {
	border-color: #2faeab;
}

.un_class_group__gr .un_class_group_item_txt a {
	color: #089693;
}

.un_class_group__pk .un_class_group_en {
	background-color: #ea68a2;
}

.un_class_group__pk .un_class_group_item_subject {
	background-color: #e05090;
}

.un_class_group__pk .un_class_group_item_target {
	background-color: #ea68a2;
}

.un_class_group__pk .un_class_group_item_ttl {
	color: #ea68a2;
}

.un_class_group__pk .un_class_group_item_icon::before,
.un_class_group__pk .un_class_group_item_icon::after {
	background-color: #ea68a2;
}

.un_class_group__pk .un_class_group_item_body {
	border-color: #ea68a2;
}

.un_class_group__pk .un_class_group_item_txt a {
	color: #e05090;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.un_class .bl_frame_ttl img {
		width: 17rem;
	}

	.un_class_body {
		display: flex;
		justify-content: space-between;
		margin-top: 3rem;
		padding-bottom: 19rem;
	}

	.un_class_group {
		width: calc(100% /2 - 2rem);
	}

	.un_class_group_en {
		width: 10rem;
		height: 10rem;
		outline: 1px solid #fff;
		outline-offset: -.5rem;
		font-size: 4rem;
	}

	.un_class_group_time {
		margin-top: 2rem;
		font-size: 2.4rem;
	}

	.un_class_group_list {
		margin-top: 3rem;
	}

	.un_class_group_item {
		border-radius: 1rem;
	}

	.un_class_group_item+.un_class_group_item {
		margin-top: 1.5rem;
	}

	.un_class_group_item_data {
		width: 15.5rem;
	}

	.un_class_group_item_data * {
		min-height: 3.5rem;
		padding: .3rem 1rem;
	}

	.un_class_group_item_subject {
		line-height: 1.5;
		font-size: 1.8rem;
	}

	.un_class_group_item_target {
		line-height: 1.6;
		font-size: 1.5rem;
	}

	.un_class_group_item_ttl {
		padding: 1rem 2rem;
		line-height: 1.33;
		font-size: 1.8rem;
	}

	.un_class_group_item_icon {
		width: 7rem;
		height: 7rem;
	}

	.un_class_group_item_icon::before,
	.un_class_group_item_icon::after {
		width: 2.5rem;
		height: 2px;
	}

	.un_class_group_item_info {
		padding: 0.7rem 1rem;
		line-height: 1.77;
		font-size: 1.8rem;
	}

	.un_class_group_item_txt {
		padding: 1.3rem 1.8rem;
	}

	/* hover */
	.un_class_group_item_ttlWrapper:hover {
		opacity: 0.8;
	}

	.un_class_group_item_txt a:hover {
		text-decoration: none;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.un_class .bl_frame_ttl img {
		width: 23rem;
	}

	.un_class_body {
		margin-top: 3rem;
		padding-bottom: 30rem;
	}

	.un_class_group+.un_class_group {
		margin-top: 8rem;
	}

	.un_class_group_en {
		position: relative;
		width: 18rem;
		height: 18rem;
		font-size: 7.1rem;
	}

	.un_class_group_en::before {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - .8rem);
		height: calc(100% - .8rem);
		border: 1px solid #fff;
		border-radius: 50%;
	}

	.un_class_group_time {
		margin-top: 2.5rem;
		font-size: 3.6rem;
	}

	.un_class_group_list {
		margin-top: 4.5rem;
	}

	.un_class_group_item {
		border-radius: 1.34rem;
	}

	.un_class_group_item+.un_class_group_item {
		margin-top: 2rem;
	}

	.un_class_group_item_data {
		width: 21rem;
	}

	.un_class_group_item_data * {
		min-height: 3.5rem;
	}

	.un_class_group_item_subject {
		padding: .55rem .5rem;
		line-height: 1.5;
	}

	.un_class_group_item_target {
		padding: .75rem .5rem;
		line-height: 1.6;
		font-size: 2.2rem;
	}

	.un_class_group_item_ttl {
		padding: 1rem 2rem;
		line-height: 1.33;
	}

	.un_class_group_item_icon {
		width: 9.5rem;
		height: 9.5rem;
	}

	.un_class_group_item_icon::before,
	.un_class_group_item_icon::after {
		width: 3.5rem;
		height: .3rem;
	}

	.un_class_group_item_info {
		padding: 1.2rem 2rem;
		line-height: 1.5;
		font-size: 2.4rem;
	}

	.un_class_group_item_txt {
		padding: 1.8rem 3rem;
		line-height: 1.81;
		font-size: 2.2rem;
	}
}

/*--------------------------------------------------
  = un_event
--------------------------------------------------*/
/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.un_event {
		margin-bottom: 9.5rem;
	}

	.un_event .bl_frame_ttl img {
		width: 22rem;
	}

	.un_event_body {
		max-width: 1100px;
		margin: 0 auto;
		padding: 0 2rem;
		box-sizing: content-box;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.un_event {
		margin-bottom: 7.5rem;
	}

	.un_event .bl_frame_ttl img {
		width: 29rem;
	}

	.un_event_body {
		padding: 0 2rem;
	}
}

/*--------------------------------------------------
  = un_reserve
--------------------------------------------------*/
.un_reserve {
	background-size: auto auto;
	background-color: rgba(202, 232, 237, 1);
	background-image: repeating-linear-gradient(90deg, transparent, transparent 2rem, rgba(189, 226, 232, 1) 2rem, rgba(189, 226, 232, 1) 4rem);
}

.un_reserve_body {
	text-align: center;
}

.un_reserve_msg {
	color: #005b81;
	font-family: 游明朝体, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: 600;
}

.un_reserve_btn {
	position: relative;
	display: inline-block;
}

.un_reserve_btn::before,
.un_reserve_btn::after {
	content: "";
	display: block;
	position: absolute;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	z-index: 1;
}

.un_reserve_btn::after {
	transform: scale(-1, -1);
}

.un_reserve_btn_link {
	position: relative;
	display: block;
	background-color: #fff45c;
	color: #005b81;
	font-weight: bold;
	letter-spacing: .02em;
}

.un_reserve_btn_link::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	border-top: .3rem solid #fff;
	border-bottom: .3rem solid #dcd89b;
}

.un_reserve_btn_link::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: url(../img/shared/icon_arrow01.svg) no-repeat center/100%;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print,
screen and (min-width: 768px) {
	.un_reserve {
		padding: 4rem 0;
	}

	.un_reserve_body {
		max-width: 1220px;
		margin: 0 auto;
		padding: 5rem 0 5.6rem;
		background: url(../img/top/un_reserve_bg_pc.jpg) no-repeat center/100%;
	}

	.un_reserve_msg {
		line-height: 1.44;
		font-size: 3.6rem;
	}

	.un_reserve_btn {
		margin-top: 3rem;
	}

	.un_reserve_btn::before,
	.un_reserve_btn::after {
		border-width: 2.5rem 2.5rem 0 0;
	}

	.un_reserve_btn::before {
		top: .5rem;
		left: .5rem;
	}

	.un_reserve_btn::after {
		right: .5rem;
		bottom: .5rem;
	}

	.un_reserve_btn_link {
		width: 35rem;
		padding: 1.4rem 4.5rem 1.4rem 2rem;
		font-size: 2.8rem;
	}

	.un_reserve_btn_link::before {
		bottom: -.6rem;
		height: .6rem;
	}

	.un_reserve_btn_link::after {
		width: 2.5rem;
		height: 2.5rem;
		margin-left: 1.5rem;
	}

	/* hover */
	.un_reserve_btn_link:hover {
		background-color: #fff100;
		text-decoration: none;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.un_reserve {
		padding: 4rem;
	}

	.un_reserve_body {
		padding: 5rem 0 7rem;
		background: url(../img/top/un_reserve_bg_sp.jpg) no-repeat center/100%;
	}

	.un_reserve_msg {
		line-height: 1.44;
		font-size: 3.6rem;
	}

	.un_reserve_btn {
		margin-top: 4rem;
	}

	.un_reserve_btn::before,
	.un_reserve_btn::after {
		border-width: 3.5rem 3.5rem 0 0;
	}

	.un_reserve_btn::before {
		top: .7rem;
		left: .7rem;
	}

	.un_reserve_btn::after {
		right: .7rem;
		bottom: .7rem;
	}

	.un_reserve_btn_link {
		width: 48rem;
		padding: 2.6rem 5.5rem 2.6rem 2rem;
		font-size: 3.8rem;
	}

	.un_reserve_btn_link::before {
		bottom: -.6rem;
		height: .6rem;
	}

	.un_reserve_btn_link::after {
		width: 3.5rem;
		height: 3.5rem;
		margin-left: 2.5rem;
	}
}

/*--------------------------------------------------

  = Print

--------------------------------------------------*/
@media print {
	html {
		width: 100%;
		zoom: 95%;
	}

	body {
		max-width: 1400px;
		margin: 0 auto;
	}

	.bl_headerNav_wrapper {
		position: absolute;
		top: -2rem;
	}

	.el_pagetop {
		display: block !important;
		position: absolute !important;
	}
}