@charset "utf-8";
/*====================================================================================================
  WHOLE
====================================================================================================*/
html { background-color: #fff;}

/*====================================================================================================
  SUBPAGE
====================================================================================================*/
#subpage {
	position: relative;
    overflow: hidden;
    width: 100%;
}
#subpage::before {
    content: "";
    position: absolute;
    width: 120%;
	top: 0;
    left: 50%;
    aspect-ratio: 2199 / 962;
    background-image: url(../../image/sub/sub-bg.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: translate(-50%, clamp(550px, 45vw, 900px)) rotate(-12deg);
    z-index: -1;
    pointer-events: none;
}

/*** mainimg *******************************************************/
#subpage .mainimg { width: 100%; top: 0;}
#subpage .mainimg img {
	width: 100%;
	height: 380px;
	object-fit: cover;
	filter: brightness(55%);
}

/*** page title *******************************************************/
#subpage .subpage_tit {
	display: flex;
	width: 100%;
	height: auto;
	max-height: 140px;
	padding: clamp(1.5rem, 1rem + 2vw, 3rem) 0;
	color: #fff;
	background: linear-gradient(90deg, #0D67BD 0%, #01498E 100%);
}
#subpage .subpage_tit_inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
	align-self: center;
	padding: 0 4%;
}

#subpage h3 {
	/* mainimgの下　大見出し */
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: clamp(1.5rem, 1.227rem + 1.17vw, 2.625rem);  /* 375:24px, 1920:42px */
	line-height: 1;
	font-weight: 800;
	text-shadow: 2px 2px 2px rgb(0, 0, 0, 0.3);
}
#subpage h3 small {
	font-size: clamp(0.625rem, 0.534rem + 0.39vw, 1rem); /* 375:10px, 1920:16px */
	font-weight: 400;

}

/*** main *******************************************************/
#subpage #main {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 5rem;
	padding: 7.5rem 1rem;
}

/* ===========================================================================
お知らせ エリア
=========================================================================== */

#subpage .information-content-wrap {
    margin: 50px auto;
}

#subpage .information-content {
    display: flex;
    flex-direction: row;
    gap: 32px;
	position: relative;
    padding: 2.5em 1.75em 2.5em 1.75em;
    border-top: 1px solid #01498E;
    font-size: 1.25rem;
    line-height: 1.5;
}

#subpage .information-item:last-child .information-content {
    border-bottom: 1px solid #01498E;
}

/* aタグで囲まれている information-content のみ右矢印を表示 */
/* 右矢印の疑似要素 */
#subpage .information-content a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.75em;
    width: 20px;
    height: 29px;
    background-image: url("../../image/top/migi-yajirushi.webp");
    background-repeat: no-repeat;
    background-size: contain;
	transform: translateY(-50%);
    transition: transform 0.3s ease;
}

#subpage .information-content a > .information-content .text {
    padding-right: 2rem;
}

#subpage .information-content a {
    text-decoration: none;
    color: inherit;

    cursor: pointer;

    transition: opacity 0.5s ease;
}


@media (any-hover: hover) {

    #subpage .information-content a:hover {
        opacity: 0.8;
    }
}

#subpage .information-content .date {
    white-space: nowrap;
}

/* hover時の矢印アニメーション */
@media (any-hover: hover) {
    #subpage .information-content a:hover {
        opacity: 0.8;
    }

    /* ↓ 追加：ホバー時に右に5px移動させる */
    #subpage .information-content a:hover::after {
        transform: translate(15px, -50%);
    }
}

/* ===========================================================================
会員専用
=========================================================================== */
#subpage .members_box_wrap {
	display: flex;
	gap: 40px;
}
#subpage .members_box {
	width: 100%;
	height: 460px;
	max-width: 580px;
	border: 5px solid var(--blue-text-color);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.875rem;
	background: #fff;
}
#subpage .members_box.order { border: 5px solid var(--base-text-color);}
#subpage .members_box_inner {
	padding: 2.875rem 2.8125rem 0;
	display: flex;
	flex-direction: column;
	gap: 1.875rem;
}
#subpage .box_icon {
	width: 80px;
	height: 80px;
	margin-inline: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: var(--blue-text-color);
}
#subpage .box_icon.order { background: var(--base-text-color);}
#subpage .box_icon img {
	width: 34px;
	height: auto;
}
#subpage .box_tit {
	text-align: center;
	color: var(--blue-text-color);
	font-size: clamp(1.75rem, 1.659rem + 0.39vw, 2.125rem);/* 375:28px, 1920:34px */
	line-height: 1;
}
#subpage .box_come { font-size: clamp(0.875rem, 0.845rem + 0.13vw, 1rem);}/* 375:14px, 1920:16px */
#subpage .box_tit.order { color: var(--base-text-color);}
#subpage .common_button_box {
	display: flex;
	justify-content: flex-end;
	/* padding-right: 2.8125rem; */
	width: 100%;
    background: var(--blue-text-color);
}
#subpage .common_button_box.order { background: var(--base-text-color);}
#subpage .common_button_box > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 55px;
    overflow: hidden;
    gap: 41px;
    font-weight: var(--font-base-weight-medium);
    font-size: var(--font-base-size);
    color: var(--white-text);
    font-style: normal;
    white-space: nowrap;
    transition: gap 0.5s ease;
}

/* 矢印アイコン */
#subpage .common_button_box > a::after {
    content: "";
    display: inline-block;
    width: 35px;
    height: 24.83px;
    background-image: url("../../image/basic/common-button-yajirushi.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

/* hover できるデバイス（PCなど）だけ hover を適用 */
@media (any-hover: hover) {
    #subpage .common_button_box > a:hover {
        gap: 50px;
    }
}

@media only screen and (min-width: 1024px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
	}
}

/*---------------------------
　↓　kaeru　PC
---------------------------*/
/*---------------------------------------------------------------------------
　KAIGYOU
---------------------------------------------------------------------------*/

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

/*---------------------------------------------------------------------------
　MIDASHI
---------------------------------------------------------------------------*/
#subpage h4.mid {
	/* 中見だし */
    width: 100%;
    line-height: 1.4;
    font-size: clamp(2rem, 1.879rem + 0.52vw, 2.5rem);/* 375:32px, 1920:40px */
    font-weight: 700;
    color: var(--blue-text-color);
	border-bottom: 8px solid var(--blue-text-color);
	border-bottom-left-radius: 10px;
	padding-left: 0.2em;
}
#subpage h4 {
	/* 小見出し */
	width: 100%;
	color: var(--blue-text-color);
	font-weight: 700;
	font-size: clamp(1.688rem, 1.581rem + 0.45vw, 2.125rem); /* 375:27px, 1920:34px */
	margin-bottom: 1.875rem;
	line-height: 1.4;
}
#subpage > :where(h4):first-child { margin-top:0;}


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

#subpage .comment1 {
	clear:both;
	margin:0 0 20px;
	text-align:justify;
}
#subpage .comment2 {
	clear:both;
	margin:2.5rem 5%;
	padding:2.5rem;
	background:#f5f5f5;
}
#subpage .comment3 {
	clear:both;
	margin:2.5rem 5%;
	padding:2.5rem;
	background: #FEF4F5;
}
#subpage .comment4 {
	clear:both;
	margin:2.5rem 5%;
	padding:1.25rem;
	border:solid 2px var(--blue-text-color);
	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 #999;
	border-left:solid 1px #999;
}
#subpage table.hyou th,
#subpage table.hyou td {
	padding:0.75rem 1.25rem;
	font-size:1rem;
	border-right:solid 1px #999;
	border-bottom:solid 1px #999;
}
#subpage table.hyou th {
	font-weight:700;
	background: #D3E4F5;
	color:#1a1a1a;
}
#subpage table.hyou .sm_mid {
	display:none;
}

/* 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 rgba(0, 0, 0, 0.2);
	border-left:1px solid rgba(0, 0, 0, 0.2);
}
#subpage .pc_table table td,
#subpage .sm_table table td {
	padding:5px 10px;
	background:#FFF;
	border-right:1px solid rgba(0, 0, 0, 0.2);
	border-bottom:1px solid rgba(0, 0, 0, 0.2);
}
#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 rgba(0, 0, 0, 0.2);
	border-left:1px solid rgba(0, 0, 0, 0.2);
}
#subpage .fix_table table th,
#subpage .fix_table table td {
	padding:5px 10px;
	border-right:1px solid rgba(0, 0, 0, 0.2);
	border-bottom:1px solid rgba(0, 0, 0, 0.2);
}
#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(--base-text-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: var(--base-text-color);
}

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

#subpage .link:not(.link4) {
	position: relative;
	margin: 0 2% 2% 2%;
	padding: 0 0 10px 1.2em;
	font-weight: 700;
	font-size: 1.125rem;
}
/* #subpage .link.right { width: fit-content; margin-inline: auto 2%;} */
#subpage .link:not(.link4)::before {
	width: 20px;
	height: 20px;
	font-weight: 700;
	content:"";
	position: absolute;
	display: block;
	aspect-ratio: 1;
	background: url(../image/icon-link.svg) no-repeat center / contain;
	inset: 0.5lh auto auto 0;
	translate: 0 -55%;
}
#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%; margin-left: 2.5%; }
/* LINK BOX4 */ #subpage .link4 a { text-decoration: underline;}

/* 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;}
/* FILELINK */ #subpage .pdf { margin-bottom: 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%;}
/* PHOTO BOX1 */ #subpage ul.g1 { width: 100%; 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; border-radius: 10px;}
#subpage ul.g2 img { width:100%; height: auto; border-radius: 10px;}
#subpage ul.g3 img { width:min(300px, 100%); height: auto; border-radius: 10px;}
#subpage ul.g4 img { width:100%; height: auto; border-radius: 10px;}
#subpage ul.g5 img { width:100%; height: auto; border-radius: 10px;}

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

/*---------------------------------------------------------------------------
　BOX
---------------------------------------------------------------------------*/
#subpage .box1 h4,
#subpage .box2 h4 {
	width: 100%;
	color: var(--blue-text-color);
	background-color: transparent;
	border: none;
	display: block;
}
#subpage .box2 h4{
	font-size: clamp(1.125rem, 1.095rem + 0.13vw, 1.25rem);/* 375:18px, 1920:20px */
}

/* 小見出しに何も無ければ非表示 */
#subpage .box1 h4:not([class]):empty,
#subpage .box2 h4:not([class]):empty {
	display: none;
}
#subpage .box2 h4:empty {
	display: none;
}

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

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

/*---------------------------------------------------------------------------
  LINE
---------------------------------------------------------------------------*/
#subpage .line {
	clear:both;
	margin:0 2%;
	padding:20px 0;
	width:96%;
}
#subpage .line hr {
	height: 1px;
	border: none;
	border-top: 1px #AAA dotted;
}

/*---------------------------------------------------------------------------
　BUTTON
---------------------------------------------------------------------------*/
#subpage .btn {
    display: flex;
    justify-content: center;
	margin-block: 0.5rem;
}
#subpage .btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
	padding-inline: 1rem;
    height: 40px;
    border-radius: 21px;
    cursor: pointer;
    overflow: hidden;
    gap: 41px;

    font-weight: var(--font-base-weight-medium);
    font-size: var(--font-base-size);
    color: var(--white-text);
    font-style: normal;
    line-height: 19;
    white-space: nowrap;

    /* 初期色 */
    background: #1E1E1E;

    transition: gap 0.5s ease;
}
/* 矢印アイコン */
#subpage .btn a::after {
    content: "";
    display: inline-block;

    width: 35px;
    height: 24.83px;

    background-image: url("../../image/basic/common-button-yajirushi.svg");
    background-repeat: no-repeat;
    background-size: contain;
}

/* hover できるデバイス（PCなど）だけ hover を適用 */
@media (any-hover: hover) {
    #subpage .btn a:hover {
        gap: 50px;
        background: #373737;
    }
}

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

/*---------------------------------------------------------------------------
　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(--blue-text-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:-27px;
	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:15px;
	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-block:3%;}
#subpage .flow1a li+li:before { display:none !important;}
#subpage .flow1a li:nth-child(1) { width:32%; background: var(--blue-text-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:-26px;
	display:block;
	clear:both;
	content:"";
	width:36%;
	height:15px;
	background:url(../image/flow_bg_sm.png) no-repeat center center;
}

/*---------------------------------------------------------------------------
  FAQ
---------------------------------------------------------------------------*/

#subpage .faq {
  clear: both;
  margin: 1rem auto;
  padding: 3%;
  border-bottom: thin solid #ccc;
}

/* summary の標準マーカー削除（全ブラウザ） */
#subpage .faq_question {
  list-style: none;
}
.faq_question::-webkit-details-marker {
  display: none;
}

/* ------------------------------
  質問
------------------------------ */
#subpage .faq_question {
  position: relative;
  padding: 0 3rem 1.5rem 3rem;
  font-weight: bold;
  color: #0D67BD;
  cursor: pointer;
}

/* Q / A 共通 */
#subpage .faq_question::after,
#subpage .faq_answer::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  height: 2rem;
  line-height: 1.8;
  text-align: center;
  border-radius: 50%;
  font-weight: bold;
  font-size: 18px;
  color: #fff;
}

/* Q */
#subpage .faq_question::after {
  content: "Q";
  background-color: #0D67BD;
}

/* ------------------------------
  回答（スムーズアニメーション）
------------------------------ */
#subpage .faq_answer {
  position: relative;
  padding: 0 0 1rem 3rem;
  color: var(--base-text-color);

  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-4px);

  transition:
    max-height 0.6s cubic-bezier(0.25, 0.8, 0.25, 1),
    opacity 0.35s ease 0.15s,
    transform 0.35s ease 0.15s;
}

/* open時 */
#subpage .faq[open] .faq_answer {
  max-height: 1200px; /* FAQの最大高さより大きければOK */
  opacity: 1;
  transform: translateY(0);
  /* transition:
    max-height 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.45s ease 1s,
    transform 0.45s ease 1s; */
}

/* 閉じるときは少し速く */
#subpage .faq:not([open]) .faq_answer {
  transition:
    max-height 0.35s ease,
    opacity 0.2s ease,
    transform 0.2s ease;
}

/* A */
#subpage .faq_answer::after {
  content: "A";
  background-color: #E59442;
}

/* ------------------------------
  開閉アイコン（＋／−）
------------------------------ */
#subpage .faq_icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 2rem;
  height: 2rem;
  background-color: #aaa;
  border-radius: 50%;
}

#subpage .faq_icon::before,
#subpage .faq_icon::after {
  content: "";
  width: 16px;
  border: 2px solid #fff;
  background-color: #fff;
  border-radius: 10px;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

/* 縦線（＋の縦） */
#subpage .faq_icon::before {
  rotate: -90deg;
  transition: rotate 0.3s ease;
}

/* open時：− */
#subpage .faq[open] .faq_icon::before {
  rotate: 0deg;
}

/*---------------------------------------------------------------------------
  追加：沿革の表
---------------------------------------------------------------------------*/
#subpage table.hyou2.ext {
	width: 100%;
	max-width: 1100px;
	border: none!important;
}
#subpage table.hyou2.ext tr {
	width: 100%;
	display: flex;
	line-height: 1.5;
	padding: 1rem 1%;
	font-size: 1.125rem;
	border-bottom: solid 1px var(--base-text-color);
	background: none;
	text-align: left;
}
#subpage table.hyou2.ext th { width: 20%; border: none; background: none;}
#subpage table.hyou2.ext td { border: none;}

@media only screen and (max-width:900px) {
	#subpage table.hyou2.ext tr { flex-direction: column;}
}
	#subpage table.hyou2.ext td {
	border-bottom: none!important;
	}

/*====================================================================================================
　FORM
====================================================================================================*/
#formWrap {
	width:700px;
	margin:5rem auto;
	color:var(--base-text-color);
	line-height:120%;
	font-size:90%;
	padding: 3rem;
	background: #e6eef1;
	border-radius: 10px;
}
#formWrap input[type="text"],
#formWrap input[type="Email"],
#formWrap input[type="tel"] ,
#formWrap textarea {
	padding: 10px 16px;
	border-radius: 5px;
	border: 1px solid #f0f0f0;
}		
#formWrap table.formTable {
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
#formWrap table.formTable td, table.formTable th {
	padding:1em;
}
#formWrap table.formTable th {
	width:30%;
	font-weight:bold;
	text-align:left;
	align-items: center;
}
#formWrap .require{
	color:#F00;	
}
#formWrap form p { text-align: center;}
#formWrap input[type="submit"] {
	font-family: inherit;
	font-size: 16px;
	color: #fff !important;
	background: var(--blue-text-color) !important;
	min-width: 144px;
	margin: 1em auto;
	padding: 8px;
	border: 2px solid var(--blue-text-color);
	font-weight: 500;
	border-radius: 100px;
}

/*====================================================================================================
　SUBPAGE PHONE
====================================================================================================*/
@media screen and (max-width:1024px) {
#subpage::before {
        transform: translate(-50%, clamp(600px, 50vw, 800px)) rotate(-12deg);
    }
	#subpage .members_box_wrap { flex-direction: column; justify-self: center;}
	#subpage .members_box { height: fit-content;}
}

@media only screen and (max-width: 820px) {
    #subpage::before {
        transform: translate(-50%, clamp(320px, 70vw, 500px)) rotate(-12deg);
        width: 180%; 
    }
}

@media only screen and (max-width:780px){
	#subpage .mainimg img {
		width: 100%;
		height: 180px;
		object-fit: cover;
	}
	#subpage .information-content {
    flex-direction: column;
}
	#formWrap {
		width:95%;
		padding: 1rem;
	}
	#formWrap table.formTable th,
	#formWrap table.formTable td {
		width:100%;
		display:block;
	}
	#formWrap table.formTable th {
		margin-top:5px;
		border-bottom:0;
	}
}

@media screen and (max-width:580px) {
	#subpage .box_tit {	font-size: 1.75rem;}
	#subpage .members_box_wrap { gap: 32px;}
}

@media screen and (max-width:412px){
	#subpage #main {
		padding: 2.5rem 0.5rem;
	}
}

/*====================================================================================================
　KAERU PHONE
====================================================================================================*/

@media only screen and (max-width: 820px) {

	/* MIDASHI */
	#subpage h4.mid { margin:0 2% 20px; font-size:19.5px;}
	#subpage h4 { margin:0 2% 20px; font-size:18px;}
	#subpage .inline_cirlce { margin-inline:2%; font-size:18px;}

	/* COMMON */
	#subpage .comment1 { margin:0 2.5% 20px;}
	#subpage :is(.comment2, .comment3, .comment4) { margin:0 2.5% 20px; padding:5%;}

	/* HYOU */
	#subpage table.hyou { margin:0 auto; width:85%; table-layout:auto;}
	#subpage table.hyou th,
	#subpage table.hyou td{
		table-layout:auto !important;
		display:block !important;
		padding:2% 5%!important;
		width:100% !important;
		height:auto !important;
		font-size:1rem;
	}
	#subpage table.hyou td {
	border-bottom: 1px solid #CCC!important;
	}
	#subpage table.pc_tit { display:none;}
	#subpage table.hyou .sm_mid {
		display:block;
		font-weight: 700;
		color: var(--blue-text-color);
	}

	/* 2RETU */
	#subpage table.hyou2 td table {}
	#subpage table.hyou2 td table th,
	#subpage table.hyou2 td table td {
		display:table-cell !important;
		padding:5% !important;
		width:auto !important;
		height:auto !important;
	}

	/* 3RETU */
	#subpage table.hyou3 { border-top:1px solid rgba(0, 0, 0, 0.2);}
	#subpage table.hyou3+table.hyou3 { border-top:1px solid rgba(0, 0, 0, 0.2);}

	/* 4RETU */
	#subpage table.hyou4 {border-top:1px solid rgba(0, 0, 0, 0.2);}
	#subpage table.hyou4+table.hyou4 { border-top:1px solid rgba(0, 0, 0, 0.2);}

	/* 5RETU */
	#subpage table.hyou5 { border-top:1px solid rgba(0, 0, 0, 0.2);}
	#subpage table.hyou5+table.hyou5 { border-top:1px solid rgba(0, 0, 0, 0.2);}

	/* FREE */
	#subpage .pc_table { display:none;}
	#subpage .sm_table { display:block;}
	#subpage .sm_table table td { padding:5% !important;}

	/* FREE2 */
	#subpage table.free { margin:20px 2% 0; border-top:1px solid rgba(0, 0, 0, 0.2) !important; border-bottom:1px solid rgba(0, 0, 0, 0.2) !important;}
	#subpage table.free td {
		table-layout:auto !important;
		display:block !important;
		padding:5% !important;
		width:90% !important;
		height:auto !important;
		border-bottom:none;
	}
	#subpage table.free td:last-child {border-bottom:none;}
	#subpage table.free td div.sm {display:block !important; text-align:center; border-bottom:none !important /*1px solid #1F266C*/;}
	#subpage table.free tr:nth-child(1) td:nth-child(1),
	#subpage table.free tr:nth-child(1) td:nth-child(3) {border-bottom:1px dotted rgba(0, 0, 0, 0.2) !important;}

	/* FIX */
	#subpage .fix_table {font-size:1vw;}
	#subpage .fix_table table { padding: 0;}
	#subpage .fix_table table th,
	#subpage .fix_table table td { padding:2%;}

	/* LIST */
	#subpage ul.list-ul { margin:0 2%;}

	/* LINK */
	#subpage .link2,
	#subpage .link3 {width:auto; float:none; clear:both;}
	#subpage .pdf { margin-inline:2%;}

	/* EMBEDDED */
	#subpage .embedded { margin: 0 auto; width: 90%; }
	#subpage .embedded iframe { width: 100%; height: 300px;}

	/* PHOTO BOX */
	#subpage ul.photo_box { clear:none !important; float:none !important; margin:5% 2%; width:96% !important;}
	#subpage ul.g1 li,
	#subpage ul.g2 li,
	#subpage ul.g3 li,
	#subpage ul.g4 li,
	#subpage ul.g5 li{ margin:15px 0; width:100%;}
	#subpage ul.g1 li.photo img,
	#subpage ul.g2 li.photo img,
	#subpage ul.g3 li.photo img,
	#subpage ul.g4 li.photo img,
	#subpage ul.g5 li.photo img { max-width:100% !important; height:auto !important;}

	/* YOUTUBE */
	#subpage .youtube {position: relative; width: 100%;}
	#subpage .youtube iframe { width: 100% !important;  height: 100% !important;}

	/* BOX */
	#subpage .temple-box { margin:0 2%; width:96%;}
	#subpage .temple-box:after { display:none;}
	#subpage .box1,
	#subpage .box2 { float:none; margin: 0 auto 20px;}
	#subpage .box1:after,
	#subpage .box2:after { display:none;}
	#subpage .box1 .catch { margin:0 0 20px !important;}
	#subpage .box1 h4,
	#subpage .box2 h4 { margin:10px 0; }
	#subpage .photo-c { float:none; padding:0; width:100%;}
	#subpage .photo-c img { max-width:100%!important; height:auto !important; margin:0; }
	#subpage .photo-l,
	#subpage .photo-r { float:none; padding:0; width:100%; text-align:center;}
	#subpage .photo-l img,
	#subpage .photo-r img { max-width:50%!important; height:auto !important; margin:0;}

	/* LINE */
	#subpage .line {
		margin:0 2% 20px;
		height:50px;
		background-size:100% auto;
	}

	/* BUTTON */
	#subpage .btn { float:none; margin:1% 5%;}
	#subpage .b1,
	#subpage .b2,
	#subpage .b3 { width:fit-content; margin-inline:auto; min-width: 55%;}

	/* COLUMNBOX */
	#subpage .column {}
	#subpage .column:after { display:none;}
	#subpage .column .col2 { float:none; margin: 2%; width: 96%;}
	#subpage .column .col3 { float:none; margin: 2%; width: 96%;}
	#subpage .column .col4 { float:none; margin: 2%; width: 96%;}
	#subpage .column .col5 { float:none; margin: 2%; width: 96%;}

	/* FLOW */
	#subpage ul.flow_box { width: 100%;}
	#subpage ul.flow_box:after { display:none;}
	#subpage ul.flow_box li { float:none; width:96% !important;}
	#subpage ul.flow_box li a:hover {}
	#subpage .flow1+.flow1 { margin-top:30px;}
	#subpage .flow1+.flow1:before { top:-30px;}
	#subpage ul.flow_box li+li { margin-top:30px;}
	#subpage ul.flow_box li+li:before {
		position:absolute;
		top:-30px;
		left:0;
		display:block;
		clear:both;
		content:"";
		width:100%;
		height:30px;
		background:url(../image/flow_bg_sm.png) no-repeat center center;
	}
	#subpage .flow1a+.flow1a {margin-block:3%;}
	#subpage .flow1a+.flow1a:before {
		position:static;
		width:100%;
	}
	#subpage .flow1a li+li { margin-top:5px !important; padding: 0 !important;}
}




