@charset "utf-8";

/*
/*    CSS MENU
/*

/*
*********************************************************************************
/*
/* コメントタイプ
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中コメント */


/*------------------------------------------------------------------------------
小コメント */


/* コメント */

/*
*********************************************************************************
/*
/* 大枠
/*
/*******************************************************************************/
main {
	margin-top: -16vw;
}
#frontpage main {
		overflow: hidden;
}
.main_con {
	display: grid;
	grid-template-columns: 1fr;
}
article {
	padding-bottom: 12vw;
}
aside {
	margin-inline: -5vw;
}

html:has(.js_header_on) {
	overflow: hidden;
}

/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/


header {
	position: sticky;
	height: 16vw;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
}

header::before,
header::after {
    position: absolute;
    content: "";
    width: 100%;
    left: 0;
    top: 0;
    transition: 0.5s ease;
    pointer-events: none;
    z-index: 1000;
}

/* スクロール前（30vwのグラデ） */
header::before {
    height: 23vw;
    background: linear-gradient(to bottom, rgba(28,94,171,0.8) 0%, rgba(28,94,171,0.8) 40%, rgba(28,94,171,0) 100%);
    opacity: 1;
}

/* スクロール後用の背景（100%・単色または濃いグラデ） */
header::after {
    height: 100%;
    background: rgba(28,94,171,1); /* もしくは濃いグラデ */
    opacity: 0;
}

/* スクロール時の変化 */
body.is-scrolled header::before {
    opacity: 0; /* 前のグラデを消す */
    height: 100%; /* 高さを合わせる */
}

body.is-scrolled header::after {
    opacity: 1; /* 後の背景を出す */
}

header .h_inner {
	position: relative;
	padding-left: 3vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	z-index: 1010;
}
header .h_logo {
	width: 60vw;
}


header .h_logo img {
	filter: brightness(0) invert(1);
}


header .nav_wrap .nav_li {
	text-align: center;
	display: grid;
	grid-template-columns: 1fr;
	gap: 6vw;
	font-size: 2.2rem;
	margin-top: auto;
}
header .nav_wrap .nav_li a {
	text-decoration: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
		flex-direction: column;
}

header .nav_wrap .nav_li a .en {
	font-family: var(--en);
	font-size: 1.6rem;
	letter-spacing: 0.14em;
	padding-top: 1vw;
}

header .nav_wrap .sns_li {
	display: grid;
	grid-template-columns: repeat(2, 6vw);
	filter: brightness(0) invert(1);
	gap: 8vw;
	justify-content: center;
	margin-top: 14vw;
	margin-bottom: auto;
}

/*
*********************************************************************************
/*
/* aside
/*
/*******************************************************************************/





aside .aside_tab {
	background: var(--gray_d);
	font-family: var(--en);
	letter-spacing: 0.1em;
	font-size: 1.9rem;
	width: 50vw;
	padding: 0.1vw 1vw 0 5vw;
	height: 9vw;
	color: rgb(255 255 255 / 50%);
}

aside .aside_main {
	background: var(--gray);
	padding: 5vw;
}
aside a {
	text-decoration: none;
}

aside .aside_btn a {
	display: block;
	border: 1px solid #fff;
	font-size: 1.6rem;
	padding: 2vw 6vw 3vw 8vw;
	border-radius: 7vw;
	position: relative;
	margin-bottom: 5vw;
}

aside .aside_btn a::after {
	position: absolute;
	content: "";
	background: url(../img/icon_arrow_simple.svg) no-repeat center center / contain;
	filter: brightness(0) invert(1);
	height: 100%;
	top: 0;
	left: 4vw;
	width: 2.3vw;
	transform: rotate(180deg);
}


aside .aside_li+.aside_li {
	margin-top: 5vw;
}
aside .aside_li>li>a {
	padding: 2vw 0 2vw 4vw;
	position: relative;
	display: block;
}

aside .aside_li>li>a::before {
	position: absolute;


	content: "";
	background: #fff;
	width: 1.2vw;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	left: 0;
	top: 5.2vw;
}
aside .aside_li>li>a.cr {
	color: #78c6ed;
}
aside .aside_li>li>a.cr::before {
	background: #1a9bdb;
}

aside .aside_cat >dt {
	background: var(--gray_d);
	font-family: var(--en);
	letter-spacing: 0.1em;
	padding: 1vw 4vw;
	color: #fff;
	margin-bottom: 1vw;
}
/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/


#pagetop {
	width: 11.5vw;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 100;
}


footer .f_bnr {
	background: #fff;
	padding-block: 8vw;
}

footer .f_bnr .tl {
	text-align: center;
	font-size: 2rem;
	padding-bottom: 6vw;
	color: var(--blue);
	font-weight: 500;
}

footer .fbnr_li {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3vw;
	ga@: ;
}
footer .f_link {
	background: #000;
	border-bottom: 1px solid #fff;
	position: relative;
}


footer .f_link::after {
	position: absolute;
	content: "";
	width: 1px;
	height: 100%;
	top: 0%;
	left: 50%;
	pointer-events: none;
	background: #fff;
}

footer .f_link>ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: -1px;
}
footer .f_link li {
	border-bottom: 1px solid #fff;
}

footer .f_link a {
	text-decoration: none;
	font-size: 1.3rem;
	display: block;
	padding: 4vw 3vw 4.4vw;
		text-align: center;
}


footer .f_obi {
	background: #17293d;
	padding-top: 7vw;
}
footer .name {
	text-align: center;
}


footer .name a {
	text-decoration: none;
	font-weight: 500;
	text-align: center;
	display: inline-block;
	font-size: 2.4rem;
}

footer .f_obi .sns_li {
	display: grid;
	grid-template-columns: repeat(2, 5vw);
	filter: brightness(0) invert(1);
	gap: 10vw;
	justify-content: center;
	margin-top: 7vw;
}

footer .ad {
	font-size: 1.3rem;
	margin-top: 9vw;
	text-align: center;
}

footer small {
	display: block;
	font-size: 1.2rem;
	text-align: center;
	margin-top: 8vw;
	padding-bottom: 5vw;
}
/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
パンくず　bread */

.bread {padding-inline: 4vw;}

.bread_li {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    align-items: center;
    font-size: 1.2rem;
    margin-top: 2vw;
    margin-bottom: 10vw;
    padding: 0; 
    scrollbar-width: none;
    -ms-overflow-style: none;
    justify-content: flex-start;
    -webkit-mask-image: none;
    mask-image: none;
}
.bread_li::before {
    content: "";
    flex-grow: 1;
    display: block;
}

.bread_li.is-scrollable::before {
    display: none;
}

.bread_li.is-scrollable {
    -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
    mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.bread_li.is-scrollable.is-left-end {
    -webkit-mask-image: linear-gradient(to right, black 92%, transparent);
    mask-image: linear-gradient(to right, black 92%, transparent);
}
.bread_li.is-scrollable.is-right-end {
    -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black);
    mask-image: linear-gradient(to right, transparent, black 8%, black);
}
.bread_li::-webkit-scrollbar { display: none; }

.bread_li > li {
    list-style: none;
}

.bread_li > li:not(:last-child) {
    position: relative;
    padding-right: 6.6vw; 
}

.bread_li > li:not(:last-child)::after {
    content: "";
    position: absolute;
    border-top: 1px solid #909090;
    border-right: 1px solid #909090;


    top: 50%;
    right: 3vw;
    width: 1.5vw;
    aspect-ratio: 1/1;
    transform: translateY(-50%) rotate(45deg);
    z-index: 2;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */

.copy {font-weight: 500;font-size: 1.7rem;}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */

/*------------------------------------------------------------------------------
ページカテゴリタイトル　page_cat_block */


.page_cat_block {
	background: url(../img/umv.webp) no-repeat center center / cover;
	height: 48vw;
	font-size: 3.2rem;
	letter-spacing: 0.12em;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	padding-bottom: 5vw;
}

body.cat_donation .page_cat_block {
	background-image: url(../img/umv_donation.webp);
}
body.cat_dream .page_cat_block {
	background-image: url(../img/umv_dream.webp);
}
body.cat_news .page_cat_block {
	background-image: url(../img/umv_news.webp);
}
body.cat_support .page_cat_block {
	background-image: url(../img/umv_support.webp);
}
body.cat_contact .page_cat_block {
	background-image: url(../img/umv_contact.webp);
}


.page_cat_block .txt_in {
	position: relative;
	padding-left: 3vw;
}
.page_cat_block .tl_block_txt {
	position: relative;
	display: inline-block;
	line-height: 1;
	padding-block: 0.5vw 2vw;
}

.page_cat_block .tl_block_txt::before {
	position: absolute;
	content: "";
	background: var(--blue);
	right: -0.3em;
	top: 0;
	height: 100%;
	width: 120vw;
}

.page_cat_block .en .tl_block_txt {
	font-family: var(--en);
	font-weight: 500;
}


.page_cat_block .ja {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	margin-top: 1vw;
}


.page_cat_block .ja .tl_block_txt {
	padding-block: 1.1vw 1.8vw;
}
.page_cat_block .ja .tl_block_txt::before {
	background: #000;
		right: -0.5em;
}

.page_cat_block .tl_block>* {
	line-height: 1;
}

/*------------------------------------------------------------------------------
ページタイトル　page_tl */

.page_tl_wrap {
	text-align: center;
	margin-bottom: 7vw;
}
.page_tl {font-weight: 500;text-align: center;
	font-size: 2.3rem;
	letter-spacing: 0.1em;
	min-width: 40vw;
	position: relative;
	padding: 1vw 5vw 2vw;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	display: inline-flex;
}

.page_tl::before,
.page_tl::after {
	position: absolute;
	width: 2.4vw;
	content: "";
	height: 100%;
	border: 2px solid #fff;
	top: 50%;
	transform: translate(0%, -50%);
}

.page_tl::before {
	position: absolute;
	width: 2.4vw;
	content: "";
	left: 0;
	border-right: 0;
}

.page_tl::after {
	border-left: 0;
	right: 0;
}

.page_tl .yomi {
	font-size: 1.4rem;
	padding-top: 1vw;
	letter-spacing: 0.3em;
	font-weight: 400;
	font-family: var(--en);
}

/*------------------------------------------------------------------------------
ノーマルタイトル　 */

.tl01 {
	background: var(--blue_d);
	margin-top: 12vw;
	font-size: 2rem;
	padding: 4vw 10vw 4.8vw 4vw;
	position: relative;
	margin-bottom: 5vw;
	line-height: 1.4;
}

.tl01::before {
	position: absolute;
	content: "";
	background: #114b8f;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	height: 100%;
	width: 6vw;
	right: 0;
	top: 0;
	z-index: 10;
}

.tl01::after {
	position: absolute;
	content: "";
	background: #1c5eac;
	clip-path: polygon(100% 0, 0 0, 100% 100%);
	height: 100%;
	width: 8vw;
	right: 0;
	top: 0;
	z-index: 20;
}

.tl02 {
		border: 1px solid #fff;
		margin-top: 10vw;
		font-size:1.8rem;
		padding: 2.9vw 10vw 3.2vw 4vw;
		position: relative;
		margin-bottom: 6vw;
		line-height: 1.4;
}
.tl03 {
	margin-top: 10vw;
	font-size: 1.8rem;
	padding: 2.4vw 10vw 2.8vw 4vw;
	position: relative;
	margin-bottom: 5vw;
	background: #606469;
	line-height: 1.4;
}

/*------------------------------------------------------------------------------
otherタイトル　 */

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */
.li_dot>li+li,
.li_numdot>li+li,
.li_numkakkoboth>li+li,
.li_kana>li+li,
.li_in{
	margin-top: 2.2vw;
}

.li_dot>li ,
.li_numdot>li,
.li_numkakkoboth>li,
.li_numdot>li,
.li_kana > li{
	position: relative;
	padding-left: 6vw;
}
/*------------------------------------------------------------------------------
ドットリストli_dot */

.li_dot>li::before {
	position: absolute;
	content: "";
	background: #fff;
	width: 1.2vw;
	aspect-ratio: 1/1;
	border-radius: 50%;
	left: 1.7vw;
	top: 3vw;
}



/*------------------------------------------------------------------------------
数字リスト　li_numdot */

.li_numdot {
	counter-reset: li_numdot; 
}
.li_numdot>li::before {
	position: absolute;
	left: 0;
	top: 0;
	counter-increment: li_numdot;
	content: counter(li_numdot) ". ";
	opacity:0.5;
	font-family:var(--en);
	text-align:left
}



/*------------------------------------------------------------------------------
数字リスト両方カッコ　li_numkakkoboth */

.li_numkakkoboth{
	counter-reset: li_numkakkoboth; 
}

.li_numkakkoboth>li::before {counter-increment: li_numkakkoboth;content: counter(li_numkakkoboth); /* ここは数字だけにします */position: absolute;left: 0;top: 0.1em;width: 1.3em; /* カッコを含めた全体の幅。少し余裕を持たせます */height: 1.6em; /* 行の高さに合わせる */opacity: 0.5;font-family: var(--en);text-align: center;}
.li_numkakkoboth>li::after {
content: "(\00a0\00a0)";
    position: absolute;
    left: 0;
    top: 0;
    width: 2.2em; /* beforeと同じ幅 */
    display: flex;
    justify-content: space-between; /* これでカッコが完全に端と端に固定される */
    pointer-events: none; /* クリックなどの邪魔をしない */
    opacity: 0.5;
}

/*------------------------------------------------------------------------------
カタカナリスト　li_kana */

.li_numdot>li::before {
	position: absolute;
	left: 0;
	top: 0;
	counter-increment: li_numdot;
	content: counter(li_numdot) ". ";
	opacity:0.5;
	font-family:var(--en);
	text-align:left
}

.li_kana {
  counter-reset: li_kana;
}


.li_kana > li::before {
	position: absolute;
	left: 0;
	top: 0;
  counter-increment: li_kana;
  content: counter(li_kana, katakana); 
	opacity:0.5;
	text-align:left
}
/*------------------------------------------------------------------------------
リストその他 */


.li_mt00>li+li {
	margin-top: 0;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */

.btn {
	background: var(--blue_l);
	text-decoration: none;
	min-height: 15vw;
	display: block;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 3.7vw 10vw 4vw 9vw;
	text-align: center;
	position: relative;
	border-radius: 8vw;
	box-shadow: 0px 0px 18px 18px rgba(0, 0, 0, 0.1);
	max-width: 80vw;
	margin-inline: auto;
	line-height: 1.4;
}

.btn::after {
	position: absolute;
	content: "";
	background: url(../img/icon_arrow.svg);
	filter: brightness(0) invert(1);
	width: 6vw;
	aspect-ratio: 1/1;
	top: 50%;
	right: 2vw;
	transform: translate(0%, -50%);
}
.btn.btn_back {
	padding-inline: 10vw;
}

.btn.btn_back::after {
	transform: rotate(180deg) translate(0%, 50%);
	right: inherit;
	left: 4vw;
}
/*------------------------------------------------------------------------------
バナーサイズ　btn_bnr01 */

.btn_bnr01 {
	background: var(--blue_dw);
	min-height: 21vw;
	font-size: 1.9rem;
}
/*------------------------------------------------------------------------------
バナーサイズ　btn_bnr02 */

.btn_bnr02 {
	background: #fff;
	min-height: 21vw;
	font-size: 2.4rem;
	color: var(--blue_l);
	font-weight: 700;
	letter-spacing: 0.12em;
	padding: 1vw 10vw 1vw 9vw;
	flex-direction: column;
	border-radius: 11vw;
	box-shadow: none;
}

.btn_bnr02::after {
	-webkit-mask: url(../img/icon_arrow.svg) no-repeat center center / contain;
	mask: url(../img/icon_arrow.svg) no-repeat center center / contain;
	background: var(--blue_l);
	filter: none;
	width: 8vw;
	right: 4vw;
}
.btn_bnr02>span {
	display: block;
	width: 100%;
}

.btn_bnr02>span.en {
	font-family: var(--en);
	font-weight: 500;
	font-size: 1.7rem;
}



/*------------------------------------------------------------------------------
投稿系ページ移動ボタンpost_move */

.post_move {
	display: grid;
	grid-template-columns: 1fr 34vw 1fr;
	box-shadow: 0px 0px 18px 18px rgba(0, 0, 0, 0.1);
	margin-bottom: 12vw;
	border-radius: 3vw;
	overflow: hidden;
}

.post_move .btn {
	box-shadow: none;
	font-size: 1.3rem;
	letter-spacing: 0.3em;
	border-radius: 0;
}

.post_move .btn::after {
	background: url(../img/icon_arrow_simple.svg);
	width: 3vw;
	right: 3vw;
}

.post_move .btn.btn_back {
	padding: 1vw 1vw 1vw 7.8vw;
	justify-content: flex-start;
}
.post_move .btn.btn_back::after {
	right: inherit;
	left: 3vw;
	transform: rotate(180deg) translate(0%, 50%);
}

.post_move .btn.btn_listback {
	border: 2px solid var(--body-bg);
	border-width: 0 2px 0 2px;
		padding: 1vw 10vw;
}
.post_move .btn.btn_listback:after {
	display: none;
}


.post_move .btn.btn_next {
	padding: 1vw 7.2vw 1vw 1vw;
	justify-content: flex-end;
}

.btn.nopost {
	opacity: 0.3;
	pointer-events: none;
}

/*------------------------------------------------------------------------------
別ウィンドウボタン btn_blank */

.btn.btn_blank::after {
	background: url(../img/icon_blank.svg) no-repeat center center /contain;
	width: 3.3vw;
	right: 4vw;
}
/*------------------------------------------------------------------------------
ファイル別ボタン doc_icon */

a.doc_icon[href$=".pdf"]{
	position:relative;
	padding-left: 7vw;
}

a.doc_icon[href$=".pdf"]::before {
    content: "";
    position: absolute;
    background:url(../img/doc_pdf.svg) no-repeat center center / contain;
    top: 0;
    left: 0;
    width: 6vw;
    height: 100%;
}

/*------------------------------------------------------------------------------
テキストリンク link_arrow */
.link_arrow {
	font-weight: 700;
	text-decoration: none;
	color: var(--blue_l);
	position: relative;
	padding-right: 6vw;
	letter-spacing: 0.12em;
}

.link_arrow::after {
	position: absolute;
	content: "";
	background: var(--blue_l);
	width: 5vw;
	height: 100%;
	right: 0;
	top: 0;
	-webkit-mask: url(../img/icon_arrow.svg) no-repeat center center / contain;
	mask: url(../img/icon_arrow.svg) no-repeat center center / contain;
}
/*------------------------------------------------------------------------------
アンカーリンク　anchor_li */


.anchor_li {
	display: grid;
	gap: 2vw;
	grid-template-columns: 1fr;
	width: fit-content;
	margin-inline: auto;
	justify-items: center;
}

.anchor_li a {
	display: block;
	position: relative;
	text-decoration: none;
	padding-left: 5vw;
}

.anchor_li a::before {
	position: absolute;
	content: "";
	background: url(../img/icon_arrow_simple.svg);
	filter: brightness(0) invert(1);
	width: 2.6vw;
	aspect-ratio: 1/1;
	top: 50%;
	left: 0px;
	transform: translate(0%, -50%) rotate(90deg);
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */

/*------------------------------------------------------------------------------
下線 table_style_border */

.table_style_border dl {
	display: grid;
	grid-template-columns: var(--table_style_border_dt) 1fr;
	border-bottom: 1px solid #979ca2;
	padding-bottom: 3vw;
	position: relative;
	--table_style_border_dt: 20vw;
}

.table_style_border dl+dl {
	margin-top: 2.4vw;
}

.table_style_border dl::after {
	position: absolute;
	content: "";
	width: var(--table_style_border_dt);
	height: 1px;
	bottom: -1px;
	background: #fff;
	left: 0;
}

/*------------------------------------------------------------------------------
下線 table_border */

.table_border tr>*{
		border-bottom: 1px solid #979ca2;
	padding-bottom: 3vw;
	padding-top: 2.4vw;
	--table_border_dt: 20vw;
	vertical-align:text-top;
}
.table_border tr:first-child>*{
	padding-top: 0;
}
.table_border tr>th{
		border-bottom-color: #fff;
	width: var(--table_border_dt);
		padding-right: 1em;
}

/*------------------------------------------------------------------------------
下線 table_beta */

.table_beta tr>* {
	border: 1px solid #fff;
	padding: 1vw 3vw 1.4vw 3vw;
	vertical-align: middle;
}

.table_beta thead tr>* {
	background: var(--blue_dw);
}

.table_beta tbody th {
	background: var(--gray_d);
}

.table_beta tr>th:first-child {
	text-align: center;
	width: 28vw;
}
.table_beta.td_tac td {
	text-align: center;
}

/*------------------------------------------------------------------------------
other */
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 60vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
youtube */

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム
<dl class="form_layout"><dt><p><span class="form_tl"></span><span class="required">必須</span></p></dt><dd></dd></dl>
 */

input[type=text], input[type=email], input[type=tel], select, textarea {
	background: #5d666f;
	border: 1px solid #ffffff;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
}

input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

input.minitxt {
	width: 9em;
}


/*------------------------------------------------------------------------------
セレクトボックス
<div class="selectblock"><select name="pref" id="pref" class="select_style" required=""><option  value="" selected="" hidden="">選択してください</option><option value="A">A</option></select></div>
 */

.selectblock {
	position: relative;
}

.selectblock:before {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	content: '';
	pointer-events: none;
	content: "";
	border: #aeaeae 1px solid;
	background: #e1e1e1;
	height: 100%;
	width: 30px;
	border-radius: 0 3px 3px 0;
	pointer-events: none;
}

.selectblock:after {
	position: absolute;
	content: "";
	position: absolute;
	top: 46%;
	right: 10px;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50%) rotate(-45deg);
	width: 10px;
	height: 10px;
	border-left: 2px solid #727272;
	border-bottom: 2px solid #727272;
	pointer-events: none;
}


/*------------------------------------------------------------------------------
テキストエリア
<textarea name="message"></textarea>
 */

textarea {
	height: 40vw;
	resize: vertical;
}


/*------------------------------------------------------------------------------
ラジオボタン
<ul><li class="radio_style"><label><input type="radio" name="type" value="A"><span class="radio_txt">A</span></label></li></ul>
*/

.radio_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.radio_style input[type="radio"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.radio_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;

	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.radio_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	border-radius: 50%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.radio_style input:checked + .radio_txt:after {
	content: "";
	display: block;
	width: 2.9vw;
	height: 2.9vw;
	background: #fe4f78;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 1.1vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}


/*------------------------------------------------------------------------------
チェックボックス
<ul class="checkbox_style"><li><label><input type="checkbox" name="pass" value="A"><span class="checkbox_txt">A</span></label></li></ul>
 */

.checkbox_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.checkbox_style input[type="checkbox"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.checkbox_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.checkbox_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.checkbox_style input:checked + .checkbox_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.6vw;
	left: 1.5vw;
	width: 2vw;
	height: 3.5vw;
	transform: rotate(40deg);
	border-bottom: 3px solid #fe4f78;
	border-right: 3px solid #fe4f78;
}


/*------------------------------------------------------------------------------
ラジオボタン+チェックボックスの並び
<ul class="form_narabi"><li></li></ul>
 */

.form_narabi {
	margin-top: -4vw;
}

.form_narabi li {
	display: inline-block;
	margin-top: 4vw;
}


/*------------------------------------------------------------------------------
フォームレイアウト */


.mw_wp_form {
	border: 1px solid #fff;
	padding: 6vw 5vw 10vw 5vw;
}
.form_layout {
	border-bottom: 1px solid #979ca2;
	margin-bottom: 7vw;
	padding-bottom: 6vw;
}

.form_layout > dt {
	margin-bottom: 3vw;
}

.form_layout > dt p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout > dt .form_tl {
	font-size: 1.8rem;
}


.form_layout .form_subtl {
	margin-top: 3vw;
	padding-bottom: 1vw;
}


/*------------------------------------------------------------------------------
必須 */

.form_layout .required {
	background: #fff;
	color: #000;
	font-size: 1.3rem;
	display: block;
	width: 10vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-right: 2vw;
}


/*------------------------------------------------------------------------------
追加テキスト
<dd class="txt_tuika"><input type="text" name="A" class="minitxt"><p>万円</p></dd>
 */

.form_layout .txt_tuika {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout .txt_tuika p {
	font-size: 1.8rem;
}

.form_layout .txt_tuika input + p,
.form_layout .txt_tuika p + input {
	margin-left: 1em;
}


/*------------------------------------------------------------------------------
form_confirm
<input type="text" name="name" value="山田太郎" disabled>
 */

.mw_wp_form_confirm input:disabled {
	background: none;
	border: none;
	padding: 0 !important;
	opacity: 1;
	color: #fff;
}

.mw_wp_form_confirm input.minitxt:disabled {
	width: 3em;
}

.submit_btn_reverse {
	background: #c3c3c3;
	padding: 3.5vw 9vw;
	font-size: 1.8rem;
}

.form_submit_btn_block li + li {
	margin-top: 10vw;
}

.mw_wp_form_confirm .form_layout .txt_tuika input + p,
.mw_wp_form_confirm .form_layout .txt_tuika p + input {
	margin-left: 0;
}

.mw_wp_form_confirm .form_layout > dd {
	padding: 1px 0;
}

.mw_wp_form_confirm .form_subtl ,
.mw_wp_form_confirm input[name="your-email-confirm"] {
    display: none !important;
}
.mw_wp_form .error {
	color: #d78888 !important;
}


.mw_wp_form.mw_wp_form_confirm .form_actions {display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;}

.mw_wp_form.mw_wp_form_confirm .btn.btn_edit {
	width: 24vw;
	padding: 1.7vw 3vw 2vw 8vw;
	margin: 0;
	background: var(--blue_dw);
	min-height: 12vw;
	border-radius: 3vw;
}

.mw_wp_form.mw_wp_form_confirm .btn.btn_edit::after {
	width: 4vw;
	transform: translate(0%, -50%) rotate(180deg);
	right: inherit;
	left: 4.2vw;
}


.mw_wp_form.mw_wp_form_confirm .form_actions .btn.btn_submit {
	width: 40vw;
	margin: 0;
}

.mw_wp_form.mw_wp_form_confirm .form_layout > dt .form_tl {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	opacity: 0.7;
}

.mw_wp_form.mw_wp_form_confirm .form_layout > dt {
	margin-bottom: 1vw;
}
.mw_wp_form_confirm .comfirm_hidden {
	display: none;
}
/*------------------------------------------------------------------------------
ボタン
 */
.form_actions {
	margin-top: 8vw;
}

.form_actions .btn.btn_submit {
	background: var(--blue);
	font-weight: 700;
	font-size: 1.8rem;
	border-radius: 3vw;
	padding: 3.7vw 13vw 4vw 9vw;
	width: 60vw;
	letter-spacing: 0.12em;
}
.form_actions .btn.btn_submit::after {
	width: 4vw;
	right: 8vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ドリームアスリートリスト　pallet_dream_list 
ドリームアスリートプロフィール　prof_wrap 
ドリームアスリートアーカイブ　dreamathlete_archive_block */
.pallet_dream_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 9vw 5vw;
}
.pallet_dream_list figure {
	border-radius: 50%;
	overflow: hidden;
	display: block;
}
.pallet_dream_list a {
	display: block;
	text-decoration: none;
	text-align: center;
}
.pallet_dream_list .name {
	font-weight: 500;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	position: relative;
	padding: 2vw 0 2vw;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	flex-direction: column;
	display: inline-flex;
}

.pallet_dream_list .name .yomi {
	font-size: 1.1rem;
	padding-top: 0.2vw;
	letter-spacing: 0.3em;
	font-weight: 400;
	font-family: var(--en);
}

.prof_wrap .main_figure ,
.dreamathlete_archive_block .main_figure {
	background: var(--gray_l);
	padding: 3vw;
	position: relative;
}
.prof_wrap{
	display: grid;
	grid-template-columns: 100%;
	gap: 6vw;
}

.dreamathlete_archive_block .figure_wrap {
	margin-bottom:6vw;
	
}
.prof_wrap .figure_wrap,
.pallet_dream_list .figure_wrap ,
.dreamathlete_archive_block .figure_wrap {
	position: relative;
}

.pallet_dream_list .figure_wrap::after{
	bottom: 2vw;
	content: "";
	position: absolute;
	right: 0;
	width: 3.5vw;
	aspect-ratio: 1 / 1;
	z-index: 2;
	background: url(../img/icon_arrow_simple.svg) no-repeat center center /contain;
	filter: brightness(0) invert(1);
}
.prof_wrap .figure_wrap .sports ,
.pallet_dream_list .figure_wrap .sports ,
.dreamathlete_archive_block .figure_wrap .sports {
	position: absolute;
	background: var(--blue_d);
	border-radius: 50%;
	width: 9vw;
	aspect-ratio: 1/1;
	right: -1vw;
	top: -2vw;
}
.pallet_dream_list .figure_wrap .sports,
.dreamathlete_archive_block .figure_wrap .sports{
	right: 0.5vw;
	top: 0.5vw;
}
.prof_wrap .figure_wrap .sports::before,
.pallet_dream_list .figure_wrap .sports::before,
.dreamathlete_archive_block .figure_wrap .sports::before{
	position: absolute;
	content:"";
	background: url(../img/sport_swim.svg);
	filter: brightness(0) invert(1);
	width: 9vw;
	aspect-ratio: 1 / 1;
	right: -1.7vw;
	top: -0.9vw;
}

.prof_wrap .figure_wrap .sports.sports_table_tennis::before,
.pallet_dream_list .figure_wrap .sports.sports_table_tennis::before,
.dreamathlete_archive_block .figure_wrap .sports.sports_table_tennis::before{
	background-image: url(../img/sport_tabletennis.svg);
}
.prof_wrap .figure_wrap .sports.sports_tennis::before,
.pallet_dream_list .figure_wrap .sports.sports_tennis::before,
.dreamathlete_archive_block .figure_wrap .sports.sports_tennis::before{
	background-image: url(../img/sport_tennis.svg);
}
.prof_wrap .figure_wrap .sports.sports_athletics::before,
.pallet_dream_list .figure_wrap .sports.sports_athletics::before,
.dreamathlete_archive_block .figure_wrap .sports.sports_athletics::before{
	background-image: url(../img/sport_athletics.svg);
}

.prof_wrap .figure_wrap .sports span ,
.pallet_dream_list .figure_wrap .sports span ,
.dreamathlete_archive_block .figure_wrap .sports span {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
}

.prof_wrap .txt_block .sns_li,
.pallet_dream_list .sns_li{
	background: var(--gray);
	gap: 5vw;
	padding: 3vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 6vw;
}
.pallet_dream_list .sns_li {
	margin-top: 1vw;
	background: none;
	padding: 0;
	gap: 6vw;
}
.prof_wrap .txt_block .sns_li>li ,
.pallet_dream_list .sns_li>li {
	filter: brightness(0) invert(1);
}

.prof_wrap .txt_block .sns_li>li:first-child ,
.pallet_dream_list .sns_li>li:first-child {
	justify-items: end;
}

.prof_wrap .txt_block .sns_li>li a {
	text-decoration: none;
	display: grid;
	grid-template-columns: 4vw 1fr;
	gap: 2vw;
	font-size: 1.3rem;
	align-items: center;
}
.pallet_dream_list .sns_li>li a {
	text-decoration: none;
	font-size: 1.3rem;
	align-items: center;
	width: 3vw;
}

.prof_subimg_block {
	margin-top: 8vw;
	gap: 2vw;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.prof_subimg_block>li>img {
	overflow: hidden;
	object-fit: cover;
	height: 100%;
	width: 100%;
}

.dreamathlete_archive_block .tl01 .en {
	display: block;
	font-family: var(--en);
	font-size: 1.6rem;
	letter-spacing: 0.15em;
	padding-top: 1vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ニュース一覧news_list */

.news_list {
	border-top: 1px solid #fff;
}

.news_list>li {
	border-bottom: 1px solid #858585;
}

.news_list a {
	text-decoration: none;
	padding-block: 3vw;
	display: block;
	position: relative;
	padding-right: 5vw;
}

.news_list a::after {
	content: "";
	position: absolute;
	right: 0;
	width: 3.5vw;
	aspect-ratio: 1 / 1;
	z-index: 2;
	background: url(../img/icon_arrow_simple.svg) no-repeat center center / contain;
	top: 50%;
	transform: translate(0%, -50%);
	filter: brightness(0) invert(1);
}

.news_list time {
	font-size: 1.2rem;
	letter-spacing: 0.2rem;
	display: block;
	padding-bottom: 1vw;
}

.news_list .tl {
	line-height: 1.4;
}

.news_list .txt {
	font-size: 1.2rem;
	line-height: 1.3;
	opacity: 0.8;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-top: 2vw;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
活動レポート一覧 report_list */

.report_list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6vw;
	margin-top: 7vw;
}
.report_list>li {
	border-top: 1px solid #fff;
	padding-top: 6vw;
}
.report_list.report_list_notopbo>li:first-child {
	border: none;
	padding-top: 0;
}
.report_list>li>a {
    display: grid;
    grid-template-columns: 49vw 1fr;
    grid-template-rows: auto 1fr auto;
    position: relative;
    gap: 0 4vw;
    text-decoration: none;
    align-items: start;
}

.report_list>li>a.no_link {
	pointer-events: none;
}

.report_list>li>a.no_link .tl {
	text-decoration: none;
}
.report_list .cat {
    background: #000;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    padding: 1vw;
    width: 37vw;
    text-align: center;
    grid-column: 2/3;
    grid-row: 1/2;
}
.report_list figure {
    grid-column: 1/2;
    grid-row: 1/3;
    margin: 0;
}
.report_list figure img {
	overflow: hidden;

	object-fit: cover;
	width: 100%;
	aspect-ratio: 3 / 2;
}
.report_list .tl {
    grid-column: 2/3;
    grid-row: 2/3;
    font-size: 1.7rem;
    line-height: 1.3;
    margin-top: 1vw;
    text-decoration: underline;
}

.report_list .txt {
	grid-column: 1/3;
	grid-row: 3/4;
	margin-top: 3vw;
	
	font-size: 1.5rem;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
寄付いただいた企業リスト donation_li */
.donation_li {
	border-top: 1px solid #fff;
}

.donation_li >li {
	border-bottom: 1px solid #fff;
	padding: 5vw 0;
	display: grid;
	grid-template-columns: 38vw 1fr;
	gap: 3vw;
}

.donation_li .news_link {display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;}

.donation_li .news_link a {
	display: block;
	position: relative;
	padding-left: 3vw;
	line-height: 1.5;
	font-size: 1.4rem;
}

.donation_li .news_link a::before {
	position: absolute;
	content: "";
	background: url(../img/icon_arrow_simple.svg);
	filter: brightness(0) invert(1);
	width: 2.3vw;
	aspect-ratio: 1 / 1;
	top: 1.3vw;
	left: 0px;
	transform: rotate(0deg);
}

.donation_li .date {
	display: block;
	font-size: 1.3rem;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
お問い合わせへの誘導ブロック form_link_txtblock */

.form_link_txtblock {
	display: grid;
	grid-template-columns: 1fr;
	gap: 5vw;
}

/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
お問い合わせブロック toiawase_site_block */



.toiawase_site_block {
	border: 1px solid #fff;
	padding: 5vw;
	background: var(--gray);
}

.toiawase_site_block >dt {
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.5;
	padding-bottom: 5vw;
	border-bottom: 1px solid #fff;
	margin-bottom: 5vw;
}


.toiawase_site_block .toiawase_pick {
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.4;
}

.toiawase_con {
	text-align: center;
}
.toiawase_con p+p {
	margin-top: 3vw;
}
/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ページング */
.wp-pagenavi {
	margin-top: 12vw;
	position: relative;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;

	.pages {
		display: none;
	}

	.previouspostslink,
	.nextpostslink {
		position: relative;
		width: 8vw;
		height: 8vw;
		z-index: 10;
		color: transparent;
		background: #fff;

		&:before {
			content: "";
			display: block;
			position: absolute;
			top: 50%;
			left: 50%;
			width: 1.8vw;
			height: 1.8vw;
			z-index: 1;
			color: var(--gray_d);
		}
	}

	.previouspostslink {
		left: 0;
		top: 0;
		order: 1;

		&:before {
			content: "";
			border-left: 1px solid var(--blue_d);
			border-top: 1px solid var(--blue_d);
			-webkit-transform: translate(-25%, -50%) rotate(-45deg);
			transform: translate(-25%, -50%) rotate(-45deg);
		}
	}

	.nextpostslink {
		right: 0;
		top: 0;
		order: 99;

		&:before {
			content: "";
			border-right: 1px solid var(--blue_d);
			border-top: 1px solid var(--blue_d);
			-webkit-transform: translate(-75%, -50%) rotate(45deg);
			transform: translate(-75%, -50%) rotate(45deg);
		}
	}

	:is(.extend, .last, .first, .current, .page) {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		width: 8vw;
		height: 8vw;
		order: 2;
				background: var(--gray);
		color: #fff;
	}

	:is(.previouspostslink, .nextpostslink, .last, .first, .current, .page) {
		margin: 0 1vw;
	}

	.extend {
		margin: 0;
		border: 0;
	}

	.current {
		color: #fff;
		background: var(--blue_d);
	}
}



/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */


.beta {
	background: var(--blue_dw);
	padding: 5vw;
}
.beta.beta_gray {
	background: var(--gray);
}


.beta .beta_tl {
	font-weight: 500;
	font-size: 1.8rem;
	margin-bottom: 4vw;
	border-bottom: 1px solid var(--gray_l);
		padding-bottom: 4vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
並び */


/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ニュース詳細 */
body#page_news_detail time {
	font-size: 1.2rem;
	letter-spacing: 0.2rem;
	display: block;
	padding-bottom: 1vw;
}

body#page_news_detail .main_con article img {
	width: auto;
}

body#page_news_detail .main_con article >*+* {
	margin-top: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ホームHome */

/*------------------------------------------------------------------------------
topmv */
	:root {
		--fade-blur-duration: 1.2s;
		--fade-blur-fast-duration: 0.6s;
		--majestic-duration: 2.0s;
		--easing-majestic: cubic-bezier(0.4, 0, 0.2, 1);
	}
.topmv {
	background: #678fb7;
	border-bottom: 1px solid #fff;
	position: relative;
}
.main-visual {
	width: 150vw;
    display: block;
    opacity: 0;
    transition: opacity 0.5s;
}
.main-visual .mv-item:not(:first-child) {
    display: none;
}
.main-visual.slick-initialized {
    opacity: 1;
}

.main-visual.slick-initialized .mv-item {
    display: block;
}
.main-visual::after {
	position: absolute;
	content: "";
	background: rgb(18 64 117 / 50%);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.topmv_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	overflow: hidden;
	position:absolute;
	top: 30vw;
	left:0;
}
 .topmv_inner > div,
.topmv_inner > p {
		opacity: 0;
		width: 100%;
		max-width: 100vw;
		margin: 0 auto;
	}

	.topmv_inner img {
		width: 100%;
		height: auto;
		display: block;
	}


	@keyframes topmv_fadeInBlur {
		0% {
			opacity: 0;
			filter: blur(20px);
			transform: scale(1.02);
		}
		100% {
			opacity: 1;
			filter: blur(0);
			transform: scale(1);
		}
	}

	@keyframes stretchWidthMajestic {
		0% {
			opacity: 0;
			transform: scaleX(0);
		}
		15% {
			opacity: 1;
		}
		100% {
			opacity: 1;
			transform: scaleX(1);
		}
	}


	.topmv_inner .ja {
		animation: topmv_fadeInBlur var(--fade-blur-duration) ease-out forwards;
		animation-delay: 1s;
	}

	.topmv_inner .en {
		animation: topmv_fadeInBlur var(--fade-blur-fast-duration) ease-out forwards;
		animation-delay: 1.8s;
	}


	.topmv_inner .topmv_bo {
		transform-origin: center;
		animation: stretchWidthMajestic var(--majestic-duration) var(--easing-majestic) forwards;
		animation-delay: 2.3s;
	}

/*------------------------------------------------------------------------------
横浜こどもスポーツ基金とは？　top_about_wrap */

.top_about_wrap {
	padding: 10vw 0 16vw;
}


.top_about_wrap .tl_block {
	font-size: 4.7rem;
	letter-spacing: 0.12em;
	margin-left: -1vw;
	margin-bottom: 6vw;
}
.top_about_wrap .txt_in {
	position: relative;
}
.top_about_wrap .tl_block_txt {
	position: relative;
	display: inline-block;
	line-height: 1;
	padding-block: 0vw 0.5vw;
}

.top_about_wrap .tl_block_txt::before {
	position: absolute;
	content: "";
	background: var(--blue);
	right: -0.3em;
	top: 0;
	height: 100%;
	width: 120vw;
}

.top_about_wrap .en .tl_block_txt {
	font-family: var(--en);
	font-weight: 500;
}


.top_about_wrap .ja {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	margin-top: 3vw;
}


.top_about_wrap .ja .tl_block_txt {
	padding-block: 1.1vw 1.8vw;
}
.top_about_wrap .ja .tl_block_txt::before {
	background: #32383f;
	right: -0.5em;
}

.top_about_wrap .tl_block>* {
	line-height: 1;
}


/*------------------------------------------------------------------------------
ニュース　top_news */


.top_news {
	margin-top: 10vw;
}

.top_news .sec_tl {
	font-family: var(--en);
	font-weight: 500;
	font-size: 4rem;
	letter-spacing: 0.08em;
	line-height: 1;
}

.top_news .link_arrow {
	padding-bottom: 2vw;
}

.top_news .link_arrow::after {
	top: -0.7vw;
}

.top_news .txt_block {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: -0.8vw;
	align-items: flex-end;
}


.top_news .news_list {
	border: 1px solid #fff;
	padding: 2vw  5vw;
}

.top_news .news_list>li:last-child {
	border: none;
}

.top_news .news_list .tl {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/*------------------------------------------------------------------------------
トップメインボタン　top_main_btn */

.top_main_btn {
	/* background: var(--blue); */
	position: relative;
	z-index: 100;
}

.top_main_btn .inner {
	z-index: 10;
	padding-block: 10vw;
	background: var(--blue);
	position: relative;
	width: 100vw;
	margin-inline: 0;
}

.top_main_btn::before,
.top_main_btn::after {
	position: absolute;
	content: "";
	background: var(--blue_dw);
	height: var(--top_main_btn_tb_h);
	width: 100%;
	--top_main_btn_tb_h: 7vw;
	width: 80vw;
	z-index: 9;
}

.top_main_btn::before {
	clip-path: polygon(0 0, 0% 100%, 100% 100%);
	top: calc((var(--top_main_btn_tb_h) * -1) + 1px);
	left: 0;
}

.top_main_btn::after {
	clip-path: polygon(0 0, 100% 100%, 100% 0);
	bottom: calc((var(--top_main_btn_tb_h) * -1) + 1px);
	right: 0;
}

.top_main_btn ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 5vw;
}

/*------------------------------------------------------------------------------
トップドリームアスリート　top_dream */


.top_dream {
	padding: 15vw 0 17vw;
	position: relative;
	z-index: 10;
	background: var(--body-bg);
	overflow: hidden;
}

.top_dream::before {
	position: absolute;
	content: "";
	background: url(../img/top_dream_circle.png) no-repeat center center / contain;
	width: 80vw;
	aspect-ratio:1/1;
	animation: rotate-clockwise 40s linear infinite;
	top: -20vw;
	left: -20vw;
	z-index: 5;
	pointer-events: none;
}

        @keyframes rotate-clockwise {
            from {
                transform: rotate(0deg);
            }
            to {
                transform: rotate(360deg);
            }
        }
.top_dream .tl {
	font-size: 3rem;
	margin-bottom: 6vw;
}

.top_dream .tl span {
	display: block;
	line-height: 1;
}

.top_dream .tl .en {
	font-family: var(--en);
	letter-spacing: 0.14em;
	font-size: 1.7rem;
	line-height: 1;
	padding-top: 3vw;
}

.top_dream figure {
	margin: 12vw -5vw 0;
}

/*------------------------------------------------------------------------------
基金の概要　top_profile */

.top_profile {
	background: #162d47;
	position: relative;
	padding-block: 9vw 8vw;
	z-index: 20;
}

.top_profile::before ,
.top_profile::after {
	position: absolute;
	content: "";
	background: #162d47;
	height: var(--top_profile_tb_h);
	width: 100%;
	--top_profile_tb_h: 14vw;
	width: 100vw;
}

.top_profile::before {
	clip-path: polygon(0 100%, 100% 100%, 100% 0);
	top: calc((var(--top_profile_tb_h) * -1) + 1px);
	right: 0;
	}


.top_profile::after {
	clip-path: polygon(0 100%, 0 0, 100% 0);bottom: calc((var(--top_profile_tb_h) * -1) + 1px);right: 0;}

.top_profile .tl {
	font-size: 1.8rem;
	position: relative;
	padding-left: 5vw;
	margin-bottom: 8vw;
	border-left: 0.9vw solid #ffff;
	line-height: 1.2;
	padding-bottom: 0.7vw;
}

.top_profile .tl::before {
	position: absolute;
	content: "";
	width: 1px;
	height: 100%;
	left: 1.1vw;
	top: 0;
	background: #fff;
}
.top_profile .tl_en {
	font-size: 6rem;
	letter-spacing: 0.12em;
	font-family: var(--en);
	font-weight: 500;
	text-align: right;
	line-height: 1;
	position: absolute;
	right: 0vw;
	top: 1vw;
	z-index: 6;
}

.top_profile .inner {
	position: relative;
	z-index: 6;
}


.top_profile .table_border {
	font-size: 1.4rem;
	line-height: 1.5;
}
.top_profile .table_border tr>th {
	padding-right: 0;
	width: 15vw;
}

.top_profile .li_dot>li {padding-left: 4vw;}

.top_profile .li_dot>li::before {
	width: 1vw;
	top: 2.4vw;
}

.top_profile .li_dot>li+li {
	margin-top: 1.5vw;
}

.top_profile .profile_dl >dt {
	text-align: center;
	background: #414b56;
	font-weight: 500;
	width: 36vw;
	padding: 1vw 2vw;
	margin-bottom: 3vw;
}
.top_profile .profile_dl + .profile_dl {
	margin-top: 5vw;
}

/*------------------------------------------------------------------------------
SNS　top_sns */

.top_sns {
	margin-top: 18vw;
	padding: 0 5vw 5vw;
}

.top_sns .top_instagram {
	text-align: center;
	margin-bottom: 5vw;
}
.top_sns .top_fb {
	position: relative;
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
	overflow: hidden;
}

.fb-container {
width: 100%;
max-width: 500px;
}

.top_sns .top_sns_x {
	margin-top: 8vw;
}

.top_sns .top_sns_x .btn {
	background: #000;
	padding-left: 14vw;
}

.top_sns .top_sns_x .sns_x_logo {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
}

.top_sns .top_sns_x .btn::before {
	position: absolute;
	content: "";
	background: url(../img/sns_x.svg) no-repeat center center /contain;
	filter: brightness(0) invert(1);
	width: 6vw;
	height: 100%;
	top: 0;
	left: 29vw;
}


/* reCAPTCHA */
#page_contact #pagetop {
	display: none !important;
}