@charset "utf-8";

/*====================================================================================================
  SUBPAGE
====================================================================================================*/

/*** mainimg *******************************************************/
#subpage .mainimg { top: 100px; width: 100%; object-fit: cover; position: relative;}

#subpage h2.catch {
	margin-top: 100px;
    text-align: center;
    line-height: 1;
    /* clamp基準　min 32px max 52px | min 375px max 1920px */
    font-size: clamp(2rem, 1.697rem + 1.29vw, 3.25rem); 
    padding: 2% 7%;
    position: absolute;
    z-index: 2;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--main-color);
    color: #fff; font-weight: 700;
}
#subpage #main { margin-block: 12rem 6.25rem; clear: both; display: flow-root;}


/*★*/
/*---------------------------------------------------------------------------
  KAIGYOU
---------------------------------------------------------------------------*/

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


/*---------------------------------------------------------------------------
  MIDASHI
---------------------------------------------------------------------------*/

/* #subpage h3 {
	clear:both;
	position:relative;
	margin-block:5rem;
	padding-top:6.25rem;
	font-size:2.375rem;
	font-weight:700;
	text-align:center;
}
#subpage h3:before {
	content:"";
	position:absolute;
	display:block;
	width:7.05rem;
	aspect-ratio:112.8/82.03;
	background:url(../image/icon_h2.png) no-repeat center / contain;
	inset:0 auto auto 50%;
	translate:-50% 0;
} */
#subpage h3 {
	clear:both;
	margin-block: 0 3.125rem;
	padding-left:1.6875rem;
	border-left:solid 7px var(--main-color);
	font-size:2.625rem;
	color:var(--main-color);
}


#subpage h4.mid {
	clear:both;
	margin-bottom:2.5rem;
	padding-left:1rem;
	color:#000;
	font-size:1.5rem;
	font-weight:bold;
	text-align:left;
	line-height:3.75rem;
	background-color:var(--light-blue);
}
#subpage h4.mid:before { padding-right: 1rem; content: url(../../image/sub/deco-h4.svg);}

#subpage h4 {
	clear:both;
	margin-bottom:1.875rem;
	font-weight:bold;
	font-size:1.3125rem;
	text-align:left;
	color:var(--main-color);
}

#subpage > :where(h3, h4):first-child { margin-top:0;}

/*---------------------------------------------------------------------------
  COMMENT
---------------------------------------------------------------------------*/

#subpage .comment1 {
	clear:both;
	margin:0 2% 20px;
	text-align:justify;
}
#subpage .comment2 {
	clear:both;
	margin:2.5rem 5%;
	padding:1.25rem;
	background:#f5f5f5;
}
#subpage .comment3 {
	clear:both;
	margin:2.5rem 5%;
	padding:1.25rem;
	background:#FEF4F5;
}
#subpage .comment4 {
	clear:both;
	margin:2.5rem 5%;
	padding:1.25rem;
	border:solid 2px var(--green);
	background:#E5F6F1;
	border-radius:20px / 30px;
}

/*---------------------------------------------------------------------------
  HYOU
---------------------------------------------------------------------------*/

#subpage table.hyou {
	clear:both;
	margin:1.5rem auto 0;
	max-width:1100px;
	width:100%;
	border-collapse:collapse;
	border-top:solid 1px #cccccc;
	border-left:solid 1px #cccccc;
}
#subpage table.hyou th,
#subpage table.hyou td {
	padding:0.75rem 1.25rem;
	font-size:1.25rem;
	border-right:solid 1px #cccccc;
	border-bottom:solid 1px #cccccc;
}
#subpage table.hyou th {
	font-weight:bold;
	background:#f8f8f8;
}
#subpage table.hyou td.sm_mid {
	display:none;
	color:#1F266C;
	font-weight:bold;
}

/* 2RETU */
#subpage table.hyou2 th { width:30%;}
#subpage table.hyou2 td { width:70%;}
#subpage table.hyou2+table.hyou2 { border-top:none; margin-top:0;}
#subpage table.hyou2 td table {
	border-collapse:collapse;
	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
---------------------------------------------------------------------------*/

/* 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(--main-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;
	clear:both;
	margin:0 2%;
	padding: 0 0 10px 1.25em;
}
#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 .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;}
#subpage .photo-r {	float:right;}
#subpage .photo-c { clear:both; text-align:center;}
#subpage .photo-l img { margin:0 20px 0 0;}
#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;}
#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: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;}

/*---------------------------------------------------------------------------
  BOX
---------------------------------------------------------------------------*/

#subpage .box1 h4, #subpage .box2 h4 {
	color:unset;
	clear:none;
	border:none;
	margin:5px 0 5px;
	padding:0;
	/* font-size:120%; */
}

/* 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 { /*float_clear*/ display:block; clear:both;	content:"";}
#subpage .box1 h4 {}
#subpage .box1 .come {/*overflow:hidden; �܂�Ԃ���*/}

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

/*---------------------------------------------------------------------------
  BUTTON
---------------------------------------------------------------------------*/

/* #subpage .btn {
	--btn-w:250px;
	float:left;
	display:flex;
	align-items:start;
	justify-content:center;
	margin:1% 2%;
	padding:0.5em 1.25em;
	width:100%;
}
#subpage .btn a {
	display:block;
	padding:10px 25px;
	font-size:1.125rem;
	width:fit-content;
	min-width:var(--btn-w);
	color:#FFF;
	text-decoration:none;
	text-align:center;
	border-radius:100vmax;
	background-color:var(--green);
}
#subpage .btn:has(a):hover { opacity:0.75;} */

#subpage .btn {
	float:left;
	margin:1% 2%;
	width: 100%;
	position: relative;
	filter:drop-shadow(0 0 12px rgba(0, 0, 0, 0.24));
}
#subpage .btn a {
	width: 100%;
	height: 4.0625em;
	background: var(--btn-color);
	color: #fff;
	display: flex;
	font-size: 1.125rem;
	line-height: 1.5;
	align-items: center;
	border-radius: 5px;
	padding-left: 30px;
	padding-right: 80px;
	text-decoration: none;
}
#subpage .btn a:after  { 
	width: 50px;
	height: 1.3125rem;
	content: "";
	position: absolute; 
	background: no-repeat url(../../image/base/arrow-w.png) #111;
	background-position: center;
	right: 20px;
	border-radius: 50px;
	transition: transform .3s ease-in-out;
}
#subpage .btn a:hover { background: var(--btnhov-color);}
#subpage .btn a:hover:after { transform: translateX(8px);}
#subpage .btn a:active { transform: scale(0.9);}


/* BUTTON BOX1 */ #subpage .b1 { clear: both; float:none; margin:0 auto 1rem; width:36.25%;}
/* BUTTON BOX2 */ #subpage .b2 { float:left; width:calc(100% / 2 - 4%);}
/* BUTTON BOX3 */ #subpage .b3 { float:left; width:calc(100% / 3 - 4%);}

/*---------------------------------------------------------------------------
  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:#1e1e1e;
	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:#222;}
#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%;}
#subpage dl.faq dt { position: relative; padding: 0 0 1.5rem 3rem; font-weight: bold; color:#000; border-bottom: thin solid #ccc;}
#subpage dl.faq dd { position: relative; padding: 0 0 1.5rem 3rem; margin-top:1.5rem; color:#000; border-bottom: thin solid #ccc;}
#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(--main-color); width: 2rem; text-align: center; border-radius: 2px;}
#subpage dl.faq dd:after { content:"A"; color: #fff; background-color: #D55062; width: 2rem; text-align: center; border-radius: 2px;}

/*---------------------------------------------------------------------------
  NEWS
---------------------------------------------------------------------------*/
#subpage .news_list_area { width: 90%; background-color: #fff; padding: 2.5rem;}
#subpage .news_list_area ul { display: grid; grid-auto-flow: column; column-gap: 1rem;}
#subpage .news_list_area ul li {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	column-gap: 1rem;
	padding: 1.25rem;
	background: #ffffff;
	line-height: 2rem;
	list-style: none;
	border-bottom: solid 1px var(--main-color);
}
#subpage .news_list_area ul li.a { width: 80%; }

#subpage .news_list_area ul li a:after {
	right: 1.5625rem;
	position: absolute;
	width: 50px;
	height: 1.3125rem;
	content: "";
	background: no-repeat url(../../image/base/arrow-w.png) var(--main-color);
	background-position: center;
	border-radius: 50px;
	transition: transform .3s ease-in-out;
}
#subpage .news_list_area ul li a:hover:after { transform: translateX(8px);}
#subpage .news_list_area ul li a:active { transform: scale(0.9);}

/*---------------------------------------------------------------------------
  FORM
---------------------------------------------------------------------------*/
#formWrap {
	width:min(800px, 90%);
	margin:1.5rem auto;
}
#formWrap form {
    display:grid;
    place-items:center;
    padding-block: 7.5rem;
    background-color:var(--light-green);
    border:solid 2px var(--green);
    border-radius:30px;
}
#formWrap form > * {
    width:fit-content;
    margin-inline:auto;
}
#formWrap table :where(th, td) {
	display:block;
	width:100%;
}
#formWrap table tr:not(:first-of-type) th {
	margin-top:2rem;
}
#formWrap table th {
	text-align:unset;
}
#formWrap table th small {
	font-size:0.875rem;
}
#formWrap table th span.require {
	display:inline-block;
	margin-left:1em;
	padding:0.25em 0.5em;
	background-color:var(--red);
	font-size:0.75rem;
	font-weight:bold;
	color:#fff;
	line-height:1;
	vertical-align:middle;
}
#formWrap table td { margin-top:0.5rem;}
#formWrap :where(input[type="text"], textarea) {
	width:100%;
	padding:0.5em 0.75em;
	border:solid 2px var(--green);
	border-radius:5px;
	font-size:1rem;
}
#formWrap textarea { min-height:5lh;}
#formWrap h3 { margin-top:0;}
#formWrap h3 + p {
	font-size:1rem;
	margin-block:0 2lh;
}
#formWrap h5 { margin-bottom:2lh;}
#formWrap p { margin-top:1.75rem; font-size:0.875rem;}
#formWrap p.error_messe { margin-top:1rem; font-size:1rem;}
#formWrap a { color:var(--red); text-decoration:underline; font-size:1em;}

#formWrap .btn_wrap {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:1.5rem;
	margin-top:5rem;
}
#formWrap .btn_wrap input {
	display:grid;
	place-items:center;
	width:144px;
	aspect-ratio:144/40;
	border-radius:100vmax;
	font-size:1rem;
	border:none;
	cursor:pointer;
}
#formWrap .btn_wrap input:hover {
	opacity:0.75;
}
#formWrap .btn_wrap input[type="submit"] {
	background-color:var(--green);
	color:#fff;
}
#formWrap .btn_wrap input[type="button"] {
	border:solid 1px #ccc;
}
