@charset "utf-8";

/*====================================================================================================
  SUBPAGE
====================================================================================================*/
#subpage h2 {
	margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50%);
	text-align: center;
	color: #fff;
	font-size: clamp(1.5rem, 1.379rem + 0.41vw, 1.875rem);
	line-height: 100px;
	height: 100px;
	background: var(--accent-color);
	margin-bottom: 4.125rem;
}

/*====================================================================================================
  MAIN
====================================================================================================*/
#subpage #main { padding-block: 180px 115px;}

/*====================================================================================================
  ↓　KAERU
====================================================================================================*/

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

/*---------------------------------------------------------------------------
  MIDASHI
---------------------------------------------------------------------------*/
#subpage h3 {
	clear: both;
	width: 100%;
	padding: 0.5em;
	background: var(--accent-color);
	border-left: solid 8px var(--primary-color);
	color: #fff;
	margin-bottom: 2rem;
}
#subpage h4.mid {
	clear: both;
	margin: 1.25rem 0;
	padding: 0.5rem 0;
	width: 100%;
	color: var(--primary-color);
	font-size: clamp(1.125rem, 1.085rem + 0.14vw, 1.25rem); /* 18px/468px, 20px/1920px */; 
	text-align: left;
	border-bottom: solid 1px currentColor;
} 
#subpage h4:not([class]) {
	color: var(--primary-color);
	font-size: clamp(1.063rem, 1.042rem + 0.07vw, 1.125rem); /* 17px/468px, 18px/1920px */; 
}
#subpage > :where(h3, h4):first-child { margin-top:0;}


/*---------------------------------------------------------------------------
  CATCH COPY
---------------------------------------------------------------------------*/
#subpage .catch {
    clear:both;
    margin: 0 auto 40px;
    width: 96%;
	font-weight:700;
	font-size:175%;
	line-height:120%;
}

/*---------------------------------------------------------------------------
  COMMENT
---------------------------------------------------------------------------*/
#subpage .comment1 {
	clear:both;
	margin:0 0 20px;
	text-align:justify;
}
#subpage .comment2 {
	clear:both;
	margin:2.5rem 5%;
	padding:1.25rem;
	background:#EEE;
	border: 1px solid #999;
	border-radius: 20px;
}
#subpage .comment3 {
	clear:both;
	margin:2.5rem 5%;
	padding:1.25rem;
	background: #ffecec;
	border: 1px solid #ff6161;
	border-radius: 20px;
}
#subpage .comment4 {
	clear:both;
	margin:2.5rem 5%;
	padding:1.25rem;
	border:solid 2px var(--primary-color);
	background:#E5F6F1;
	border-radius:20px / 30px;
}

/*---------------------------------------------------------------------------
  HYOU
---------------------------------------------------------------------------*/
#subpage table.hyou {
	clear:both;
	width:100%;
	border-collapse:collapse;
	border-top:1px solid #707070;
	border-left:1px solid #707070;
}
#subpage table.hyou th,
#subpage table.hyou td {
	padding: 0.75rem 1.25rem;
	border-right:1px solid #707070;
	border-bottom:1px solid #707070;
}
#subpage table.hyou th {
	background: var(--primary-color);
	font-weight:bold;
	text-align:center;
	color: #fff;
}
#subpage table.hyou td { background:#FFF;}
#subpage table.hyou .sm_mid {
	display:none;
	color: var(--primary-color);
	font-weight:bold;
	font-size:100%;
	font-kerning:none;
}
#subpage table td #today { display: inline; font-weight: bold;}

/* 2RETU */
#subpage table.hyou2 { margin:0; border-top:1px solid #707070; }
#subpage table.hyou2 th {
	background:#fff;
	color: #000;
	width:21%; 
	border-top:none;
}
#subpage table.hyou2 td { width:auto;}
#subpage table.hyou2+table.hyou2 { border-top:none; }
#subpage table.hyou2 td .table_box { max-height:300px; overflow:auto;}
#subpage table.hyou2 td table {
	border-collapse:collapse;
	border-top:1px solid #707070;
	border-left:1px solid #707070;
	width: 100%;
}
#subpage table.hyou2 td table th,
#subpage table.hyou2 td table td { width: auto; text-align: center;}

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

/* 4RETU */
#subpage table.hyou4 { margin:0;}
#subpage table.hyou4 th:nth-child(1),
#subpage table.hyou4 td:nth-child(1) { width: 16%; }
#subpage table.hyou4 th:nth-child(2),
#subpage table.hyou4 td:nth-child(2) { width: 22%; }
#subpage table.hyou4 th:nth-child(3),
#subpage table.hyou4 td:nth-child(3) { width: 47%; }
#subpage table.hyou4 th:nth-child(4),
#subpage table.hyou4 td:nth-child(4) { width: auto; }

#subpage table.hyou4+table.hyou4 { border-top:none; }

/* 5RETU */
#subpage table.hyou5 { margin:0;}
#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 #707070;
	border-left:1px solid #707070;
}
#subpage .pc_table table td,
#subpage .sm_table table td {
	padding:5px 10px;
	background: #fff;
	border-right:1px solid #707070;
	border-bottom:1px solid #707070;
}
#subpage .pc_table thead td,
#subpage .sm_table thead td { background:#EEE;}

/* FREE2 */
#subpage table.free { margin:0 2%; width:96%;}
#subpage .pc+table.free { border-top:none;}
#subpage table.free+table.free { border-top:none;}

/* FIX */
#subpage .fix_table {}
#subpage .fix_table table {
	clear:both;
	margin:10px 1%;
	width:98%;
	border-collapse:collapse;
	border-top:1px solid #707070;
	border-left:1px solid #707070;
}
#subpage .fix_table table th,
#subpage .fix_table table td {
	padding:5px 10px;
	border-right:1px solid #707070;
	border-bottom:1px solid #707070;

}
#subpage .fix_table table th {
	background: var(--primary-color);
	font-weight:bold;
	text-align:center;
	color: #fff;
}
#subpage .fix_table table td { background: #fff;}


/*---------------------------------------------------------------------------
  LIST
---------------------------------------------------------------------------*/

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

#subpage ul.list-ul li:before {
	content:"";
	position:absolute;
	display:block;
	width:7px;
	aspect-ratio:1;
	background-color: var(--primary-color);
	border-radius:50%;
	inset:0.5lh auto auto 0;
	translate:0 -50%;
}

/* ol */
#subpage *:not(.list-ol):has( + .list-ol) {
	counter-reset:num;
}
#subpage .list-ol {
	counter-increment:num;
	clear:both;
	margin:0 2%;
	padding:5px 0;
}
#subpage .list-ol div {
	padding-left:1.375rem;
	text-indent:-1.125rem;
}
#subpage .list-ol div:before {
	content:counter(num)".";
	padding-right:0.375em;
	font-weight: 700;
	color: #000;
}

/*---------------------------------------------------------------------------
  LINK
---------------------------------------------------------------------------*/

#subpage .link {
	position: relative;
	margin: 0 2% 2% 2%;
	padding: 0 0 10px 1.2em;
	font-weight: 500;
	font-size: 1.125rem;
}
/* #subpage .link.right { width: fit-content; margin-inline: auto 2%;} */
#subpage .link::before {
    content: "";
    position: absolute;
    display: block;
    width: 1em;
    aspect-ratio: 1;
    background: url(../image/icon_arrow_fill.svg) no-repeat center / contain;
    inset: 0.5lh auto auto 0;
    translate: 0 -50%;
}
#subpage .link a {
	color: #000;
	text-decoration: underline;
}
#subpage .file {
	clear: both;
	margin: 0 2%;
	padding: 0 0 10px;
}
#subpage .file img { padding-right: 10px;}

/* 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%;}

/* FILELINK */ #subpage .pdf a { margin-left: 0.5rem;}


/*---------------------------------------------------------------------------
  EMBEDDED
---------------------------------------------------------------------------*/

#subpage .embedded {
  position: relative;
	clear: both;
	margin: 0 2%;
	padding: 0 0 20px;
}
#subpage .embedded iframe { width: 100%;}


/*---------------------------------------------------------------------------
  PHOTO
---------------------------------------------------------------------------*/

/* #subpage .photo img { border-radius: 20px;} */

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

/* PHOTO BOX�@*************************/
#subpage ul.photo_box { float: left; margin: 2%;}
#subpage ul.photo_box li {}
#subpage ul.photo_box li.photo { margin: 0 0 5px; text-align: center;}
#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;
}
#subpage ul.photo_box img { width:100%; max-width:100%;}
/* PHOTO BOX1 */ #subpage ul.g1 { width: 800px; float:none; margin-inline:auto;}
/* PHOTO BOX2 */ #subpage ul.g2 { width: calc(100% / 2 - 4%);}
/* PHOTO BOX3 */ #subpage ul.g3 { width: calc(100% / 3 - 4%);}
/* PHOTO BOX4 */ #subpage ul.g4 { width: calc(100% / 4 - 4%);}
/* PHOTO BOX5 */ #subpage ul.g5 { width: calc(100% / 5 - 4%);}
#subpage ul.g1 img { width:100%; height: auto; text-align: center;}
#subpage ul.g2 img { width:100%; height: auto;}
#subpage ul.g3 img { width:min(300px, 100%); height: auto;}
#subpage ul.g4 img { width:100%; height: auto;}
#subpage ul.g5 img { width:100%; height: auto;}

#subpage ul.g1.photo_box .photo { text-align: center;}
#subpage ul.g1.photo_box .photo img { width: auto;}

#subpage ul.g3 .photo { text-align: center;}

/*---------------------------------------------------------------------------
  BOX
---------------------------------------------------------------------------*/
#subpage .box1 h4:not([class]),
#subpage .box2 h4:not([class])
 {
	color:unset;
	clear:none;
	border:none;
	margin:5px 0 5px;
	padding:0;
	font-size:1.3rem;
	background: transparent;
	color: var(--primary-color);
}
#subpage .box1 h4:not([class]):empty,
#subpage .box2 h4:not([class]):empty {
	display: none;
}

/* BOX1 */
#subpage .box1 {
	clear:both;
	margin:20px 2%;
	width:96%;
}
#subpage .box1 .photo-c img { max-width:800px; height:auto; width:100%;}
#subpage .box1 .photo-l img { max-width:480px; height:auto;}
#subpage .box1 .photo-r img { max-width:480px; height:auto;}
#subpage .box1:after { display:block; clear:both;	content:"";}

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

/*---------------------------------------------------------------------------
  BUTTON
---------------------------------------------------------------------------*/
#subpage .btn {
	float: left;
	margin: 0 2% 40px;
	padding: 15px;
	text-align: center;
	width: 100%;
	margin: 0 auto;
}
#subpage .btn a {
	width: 100%;
	min-width: 320px;
	max-width: fit-content;
    display: block;
    padding: 16px 32px;
	margin: 8px auto;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
	text-align: center;
    background: var(--accent-color);
    border-radius: 100vh;
	text-decoration: none;
}
#subpage .btn:has(a):hover { opacity: 0.8;}
/* BUTTON BOX1 */ #subpage .b1 { clear: both; float:none;}
/* BUTTON BOX2 */ #subpage .b2 { width: 46%;}
/* BUTTON BOX3 */ #subpage .b3 { width: 29.3%; }

/*---------------------------------------------------------------------------
  COLUMNBOX
---------------------------------------------------------------------------*/
#subpage .column {}
#subpage .column:after { /*float_clear*/ display:block; clear:both; content:"";}
#subpage .column .col2 { float: left; margin: 2%; width: 46%;}
#subpage .column .col3 { float: left; margin: 2%; width: 29.3%;}
#subpage .column .col2:nth-child(2+1),
#subpage .column .col3:nth-child(3+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:2.5% 2%;
	padding:15px;
	color:#FFF;
	text-align:center;
	background: var(--primary-color);
	border-radius: 5px; /* CSS3 */
	-webkit-border-radius: 5px; /* Safari,Google Chrome */
	-moz-border-radius: 5px; /* Firefox */
	box-sizing:border-box;
}
#subpage ul.flow_box li a { color:#fff; text-decoration: none;}
#subpage ul.flow_box li a:hover {
	background:#444343;
	border-radius: 5px; /* CSS3 */
	-webkit-border-radius: 5px; /* Safari,Google Chrome */
	-moz-border-radius: 5px; /* Firefox */
}
#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; margin-inline: auto; width: 80%;}
#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: var(--primary-color);}
#subpage .flow1a li:nth-child(2) { width:60%; padding:0; text-align: left; color: #343434; 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:1rem auto;
	padding:3% 0;
}
#subpage dl.faq dt {
	position: relative;
	padding: 0 0 1.5rem 3rem;
	font-weight: bold;
	color:#000;
	border-bottom: thin solid #707070;
}
#subpage dl.faq dd {
	position: relative;
	padding: 0 0 1.5rem 3rem;
	margin-top:1.5rem;
	color:#000;
	border-bottom: thin solid #707070;
}
#subpage dl.faq dt:after,
#subpage dl.faq dd:after { 
	display:block;
	clear:both;
	position: absolute;
	top: 0;
	left: 0;
	font-weight: bold;
	font-size:18px;
}
#subpage dl.faq dt:after {
	content: "Q";
	color: #fff;
	background-color: var(--primary-color);
	width: 2rem;
	text-align: center;
	border-radius: 2px;
}
#subpage dl.faq dd:after {
	content:"A";
	color: #fff;
	background-color: var(--accent-color);
	width: 2rem;
	text-align: center;
	border-radius: 2px;
}
