@charset "utf-8";
img { width:100%;}
.fv {
	display:grid;
	place-items:center;

	& > * { grid-area:1/1/1/1;}
	& .fv_img img { width:100%; height:100%; object-fit:cover;}
	& .fv_catch {
		font-size:clamp(1.5rem, calc(0.33rem + 4vw), 2.25rem);/* vp:468-768px 24-36px */
		font-weight:bold;
		color:var(--color-main);
		text-shadow:0 0 0.5em #fff;
		z-index:1;
	}
}
main .inner { margin-top:clamp(6.25rem, calc(0.4rem + 20vw), 10rem);/* vp:468-768px 100-160px */}
.drag-sort-y { display:flow-root;}

/*---------------------------------------------------------------------------
  TITLE
---------------------------------------------------------------------------*/
h2.sb_tit {
	clear:both;
	display:block;
	padding:40px 2%;
	font-size: 180%;
	color:#FFF;
	text-align: center;
	background:#222;
	line-height:100%;
}


/*---------------------------------------------------------------------------
  PAN
---------------------------------------------------------------------------*/
.pan {
	clear:both;
	margin:0;
	padding: 0.5%;
	font-size: 80%;
	color: #666;
	text-align:right;
}
.pan a {color: #666; text-decoration:none;}
.pan a:hover {color: #333333;}


/*====================================================================================================
  SUBPAGE
====================================================================================================*/
/* #subpage { margin: auto; padding:40px 0; overflow: hidden;} */


/*---------------------------------------------------------------------------
  KAIGYOU
---------------------------------------------------------------------------*/
#subpage p.indention {
	clear:both;
	margin: 0 2%;
	height:40px;
	text-indent: -9999px;
	background:none;
}


/*---------------------------------------------------------------------------
  MIDASHI
---------------------------------------------------------------------------*/
#subpage h3 {
	clear:both;
	margin:20px 2%;
	padding:15px;
	font-size:1.5em;
	border:1px solid #DDD;
	border-bottom:3px solid var(--color-main);
}
#subpage h4.mid {
	clear:both;
	margin:20px 2%;
	padding:10px 15px;
	font-size:125%;
	color:#222;
	background:rgb(var(--color-main-rgb) / 0.1);
}
#subpage h4 {
	clear:both;
	margin:20px 2%;
	font-size:125%;
	color:var(--color-main);
}


/*---------------------------------------------------------------------------
  CATCH COPY
---------------------------------------------------------------------------*/
#subpage .catch {
	clear:both;
	margin:20px 2%;
	font-weight:bold;
	font-size:1.5em;
	text-align:center;
	color:var(--color-main);
}


/*---------------------------------------------------------------------------
  COMMENT
---------------------------------------------------------------------------*/
#subpage .comment1 {
	clear:both;
	margin:0 2% 20px;
}
#subpage .comment2 {
	clear:both;
	margin:0 2% 20px;
	padding: 2%;
	background:#F4F4F4;
}
#subpage .comment3 {
	clear:both;
	margin:0 2% 20px;
	padding: 2%;
	color: #FF4646;
	background:#FFEAEA;
}


/*---------------------------------------------------------------------------
  HYOU
---------------------------------------------------------------------------*/
#subpage table.hyou {
	clear:both;
	margin:10px 2%;
	width:96%;
	border-collapse:collapse;
	border-top:1px solid #DDD;
	border-left:1px solid #DDD;
}
#subpage table.hyou th,
#subpage table.hyou td {
	padding:5px 10px;
	border-right:1px solid #DDD;
	border-bottom:1px solid #DDD;
}
#subpage table.hyou th {
	background:#EEE;
	font-weight:bold;
	text-align:center;
}
#subpage table.hyou td { background:#FFF;}
#subpage table.hyou td.sm_mid {
	display:none;
	color:#1F266C;
	font-weight:bold;
}

/* 2RETU */
#subpage table.hyou2 { margin:0 2%; border-top:1px solid #DDD; }
#subpage table.hyou2 th { width:33%;  border-top:none; }
#subpage table.hyou2 td { width:67%; }
#subpage table.hyou2+table.hyou2 { border-top:none; }
#subpage table.hyou2 td table {
	border-collapse:collapse;
	border-top:1px solid #DDD;
	border-left:1px solid #DDD;
	display:block;
	max-height:300px;
	overflow:auto;
}
#subpage table.hyou2 td table th,
#subpage table.hyou2 td table td { width:auto;}

/* 3RETU */
#subpage table.hyou3 { margin:0 2%;}
#subpage table.hyou3 th,
#subpage table.hyou3 td { width:33%; }
#subpage table.hyou3+table.hyou3 { border-top:none; }

/* 4RETU */
#subpage table.hyou4 { margin:0 2%;}
#subpage table.hyou4 th,
#subpage table.hyou4 td { width:25%; }
#subpage table.hyou4+table.hyou4 { border-top:none; }

/* 5RETU */
#subpage table.hyou5 { margin:0 2%;}
#subpage table.hyou5 th,
#subpage table.hyou5 td { width:20%;}
#subpage table.hyou5+table.hyou5 { border-top:none; }

/* FREE */
#subpage .pc_table { display:block;}
#subpage .sm_table { display:none;}
#subpage .pc_table table,
#subpage .sm_table table {
	clear:both;
	margin:10px 2%;
	width:96%;
	border-collapse:collapse;
	border-top:1px solid #DDD;
	border-left:1px solid #DDD;
}
#subpage .pc_table table td,
#subpage .sm_table table td {
	padding:5px 10px;
	background:#FFF;
	border-right:1px solid #DDD;
	border-bottom:1px solid #DDD;
}
#subpage .pc_table thead td,
#subpage .sm_table thead td { background:#EEE;}

/* FIX */
#subpage .fix_table {}
#subpage .fix_table table {
	clear:both;
	margin:10px 2%;
	width:96%;
	border-collapse:collapse;
	border-top:1px solid #DDD;
	border-left:1px solid #DDD;
}
#subpage .fix_table table th,
#subpage .fix_table table td {
	padding:5px 10px;
	border-right:1px solid #DDD;
	border-bottom:1px solid #DDD;
}
#subpage .fix_table table th {
	background:#EEE;
	font-weight:bold;
	text-align:center;
}
#subpage .fix_table table td { background:#FFF;}


/*---------------------------------------------------------------------------
  LIST
---------------------------------------------------------------------------*/
#subpage ul.list-ul {
	clear:both;
	margin:0 2%;
	padding:5px 0;
}
#subpage ul.list-ul li {
	position:relative;
	padding: 0 0 0 20px;

	&::before {
		content:"";
		position:absolute;
		inset:0.5lh auto auto 0;
		width:0.5em;
		aspect-ratio:1;
		background-color:var(--color-main);
		border-radius:100%;
		translate:0 -50%;
	}
}


/*---------------------------------------------------------------------------
  LINK
---------------------------------------------------------------------------*/
#subpage .link {
	position:relative;
	clear:both;
	margin:0 2%;
	padding: 0 0 10px 1em;
	
	&::before {
		content:"";
		position:absolute;
		inset:0 auto auto 0;
		display:block;
		width:0.5em;
		height:1lh;
		background-color:var(--color-main);
		mask:url(../image/arrow_right1.svg) no-repeat center / contain;
	}
}
#subpage :is(.file, .pdf) {
	clear:both;
	margin:0 2%;
	padding: 0 0 10px;
}
#subpage :is(.file, .pdf) img {
	width:1em;
	max-width:unset;
	margin-right:0.5em;
}

/* LINK PLURAL　*************************/
/* LINK BOX2 */ #subpage .link2 { clear:none; float:left; width:46%;}
/* LINK BOX3 */ #subpage .link3 { clear:none; float:left; width:29.3%;}
/* LINK BOX4 */ #subpage .link4 { clear:none; float:left; width:21%;}

/* FILE PLURAL　*************************/
/* FILE BOX2 */ #subpage .file2 { clear:none; float:left; width:46%;}
/* FILE BOX3 */ #subpage .file3 { clear:none; float:left; width:29.3%;}
/* FILE BOX4 */ #subpage .file4 { clear:none; float:left; width:21%;}


/*---------------------------------------------------------------------------
  EMBEDDED
---------------------------------------------------------------------------*/
#subpage .embedded {
	position:relative;
	clear:both;
	margin:20px 2%;
}
#subpage .embedded iframe { width: 100%;}


/*---------------------------------------------------------------------------
  PHOTO
---------------------------------------------------------------------------*/
#subpage .photo-l {	float:left;}
#subpage .photo-r {	float:right;}
#subpage .photo-c { clear:both; text-align:center;}
#subpage .photo-l img { padding:0 20px 0 0;}
#subpage .photo-r img { padding:0 0 0 20px;}
#subpage .photo-c img { padding:0 0 10px;}
#subpage .photo-l p,
#subpage .photo-r p,
#subpage .photo-c p { padding: 0 0 5px;}
#subpage .caption { font-size:80%; text-align:center;}

/* PHOTO BOX　*************************/
#subpage ul.photo_box { float:left; margin:20px 2%;}
#subpage ul.photo_box li {}
#subpage ul.photo_box li.photo { margin:0 0 10px;}
#subpage ul.photo_box li.cap {}
#subpage ul.photo_box li.youtube { position: relative;}
#subpage ul.photo_box li.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
/* PHOTO BOX1 */ #subpage ul.g1 {width:96%; float:none; }
/* PHOTO BOX2 */ #subpage ul.g2 {width:46%;}
/* PHOTO BOX3 */ #subpage ul.g3 {width:29.3%;}
/* PHOTO BOX4 */ #subpage ul.g4 {width:21%;}
/* PHOTO BOX5 */ #subpage ul.g5 {width:16%;}
#subpage ul.g1 img { max-width:960px; height:auto;}
#subpage ul.g2 img { max-width:460px; height:auto;}
#subpage ul.g3 img { max-width:293px; height:auto;}
#subpage ul.g4 img { max-width:210px; height:auto;}
#subpage ul.g5 img { max-width:160px; height:auto;}

/* #subpage ul.g4:nth-child(4n+1) { clear:both;} */

/*---------------------------------------------------------------------------
  BOX
---------------------------------------------------------------------------*/
#subpage .box1 h4,
#subpage .box2 h4 {
	clear:none;
	border:none;
	margin:0 0 20px;
	padding:0;
	color:var(--color-main);
}

/* BOX1 */
#subpage .box1 { clear:both; margin:20px 2%; width:96%; overflow: hidden;}
#subpage .box1 .photo-c img {max-width:960px; height:auto;}
#subpage .box1 .photo-l img {max-width:460px; height:auto;}
#subpage .box1 .photo-r img {max-width:460px; height:auto;}
#subpage .box1 .come {/*overflow:hidden; 折り返し無*/}

/* BOX2 */
#subpage .box2 { float:left; margin:20px 2%; width:46%; overflow: hidden;}
#subpage .box2 .photo-l img {max-width:210px; height:auto;}
#subpage .box2 .photo-r img {max-width:210px; height:auto;}

/* TEMPLATE BOX */
#subpage .temple-box { width: 100%; overflow: hidden;}


/*---------------------------------------------------------------------------
  LINE
---------------------------------------------------------------------------*/
#subpage .line {
	clear:both;
	margin:3em 2%;
	width:96%;

	& hr {
		height:1em;
		border:none;
		background-color:rgb(var(--color-main-light-rgb) / 0.25);
		mask:url(../../image/top/info_bg.svg) repeat-x center / auto 100%;
	}
}


/*---------------------------------------------------------------------------
  BUTTON
---------------------------------------------------------------------------*/
#subpage .btn {
	float:left;
	margin:1% 2%;
	padding:15px;
	border-radius:1em;
	background-color:var(--color-gray);
}
#subpage .btn a {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1em;
	padding:15px;
	color:inherit;
	text-decoration:none;

	&::after {
		content:"";
		display:block;
		width:1em;
		aspect-ratio:1;
		border-radius:100%;
		background-color:var(--color-sub);
	}

	/* hover */
	&:is(:focus-visible, :active)::after { background-color:var(--color-main);}
	@media(hover:hover) { &:hover::after { background-color:var(--color-main);}}
}

/* BUTTON BOX1 */ #subpage .b1 { width:60%; clear: both; float:none; margin:0 auto;}
/* BUTTON BOX2 */ #subpage .b2 { width:46%;}
/* BUTTON BOX3 */ #subpage .b3 { width:29.3%;}


/*---------------------------------------------------------------------------
  COLUMNBOX
---------------------------------------------------------------------------*/
#subpage .column { overflow: hidden;}
#subpage .column .col2,
#subpage .column .col3,
#subpage .column .col4,
#subpage .column .col5 { float: left; margin:20px 2%;}
/* COLUMN BOX2 */ #subpage .column .col2 { width: 46%;}
/* COLUMN BOX3 */ #subpage .column .col3 { width: 29.3%;}
/* COLUMN BOX4 */ #subpage .column .col4 { width: 21%;}
/* COLUMN BOX5 */ #subpage .column .col5 { width: 16%;}
#subpage .column .col2:nth-child(2+1),
#subpage .column .col3:nth-child(3+1),
#subpage .column .col3:nth-child(4+1),
#subpage .column .col4:nth-child(5+1) { clear:both;}


/*---------------------------------------------------------------------------
  FLOW
---------------------------------------------------------------------------*/
#subpage ul.flow_box {}
#subpage ul.flow_box:after { /*float_clear*/ display:block; clear:both; content:"";}
#subpage ul.flow_box li {
	position:relative;
	float:left;
	margin:1% 2%;
	padding:15px;
	color:#FFF;
	text-align:center;
	background:#222;
	border-radius: 5px;
	box-sizing:border-box;
}
#subpage ul.flow_box li a:hover {
	background:#999;
	border-radius: 5px;
}
#subpage ul.flow_box li+li:before {
	position:absolute;
	top:0;
	left:-22px;
	display:block;
	clear:both;
	content:"";
	width:15px;
	height:100%;
	background:url(../image/flow_bg_pc.png) no-repeat center center;
}
#subpage .flow1 { position:relative;}
#subpage .flow1 li { float: none; width:96%;}
#subpage .flow1+.flow1:before {
	position:absolute;
	top:-15px;
	left:0;
	display:block;
	clear:both;
	content:"";
	width:100%;
	height:30px;
	background:url(../image/flow_bg_sm.png) no-repeat center center;
}
#subpage .flow2 li { width:46%;}
#subpage .flow3 li { width:29.3%;}
#subpage .flow4 li { width:21%;}

#subpage .flow1a { position:relative;}
#subpage .flow1a+.flow1a {margin-top:3%;}
#subpage .flow1a li+li:before { display:none !important;}
#subpage .flow1a li:nth-child(1) { width:32%; background:#222;}
#subpage .flow1a li:nth-child(2) { width:60%; padding:0; text-align: left; color: #222; background: none;}
#subpage .flow1a+.flow1a:before {
	position:absolute;
	top:-25px;
	left:0;
	display:block;
	clear:both;
	content:"";
	width:36%;
	height:30px;
	background:url(../image/flow_bg_sm.png) no-repeat center center;
}


/*---------------------------------------------------------------------------
  FAQ
---------------------------------------------------------------------------*/
#subpage dl.faq { clear: both; margin:0 2%; padding: 3%; background: #F6F6F6;}
#subpage dl.faq+dl.faq { margin-top: 10px;}
#subpage dl.faq dt { position: relative; padding-left: 30px; font-weight: bold; color:#1D2085;}
#subpage dl.faq dd { position: relative; padding-left: 30px;}
#subpage dl.faq dt:after,
#subpage dl.faq dd:after { 
	display:block;
	clear:both;
	position: absolute;
	top: 0;
	left: 0;
	font-weight: bold;
	font-family: "Arial Black", Gadget, "sans-serif";
	font-size:18px;
}
#subpage dl.faq dt:after { content:"Q"; color:#1D2085;}
#subpage dl.faq dd:after { content:"A"; color:#FF0004;}

