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

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


/*** mainimg *******************************************************/
#subpage .mainimg { position: relative;}
#subpage .mainimg img {
	width: 100%;
	height: 380px;
	/* aspect-ratio: 1920 / 380; */
	object-fit: cover;
}
#subpage h2.catch {
	position: absolute;
	width: 100%;
	color: var(--white-text);
	text-align: center;
	text-shadow: 0 0 20px rgba(0, 0, 0, 0.65);
	font-size: clamp(2rem, 1.848rem + 0.65vw, 2.625rem);  /* 375:32px, 1920:42px */
	font-weight: 800;
	top: 50%;
	translate: 0 -0.5em;
}
@media only screen and (max-width:780px){
	#subpage .mainimg img {
		width: 100%;
		height: 180px;
		object-fit: cover;
	}
}


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

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

/*** news *******************************************************/
.new-info-lists {
    display: flex;
    flex-direction: column;
    padding: 42.5px 0 35px 0;
}

.new-info-content {
    display: flex;
    gap: 40px;
    width: 100%;
    border-radius: 10px;
    border: 1px solid var(--green-text);
    background-color: #FFFFFF;
    padding: 25px 50px 25px 30px;
	margin-bottom: 20px;
}

.new-info-date {
    color: var(--green-text);
    font-weight: bold;
    white-space: nowrap;
}

@media screen and (max-width:768px){
    .new-info-date,
    .new-info-text {
        font-size: 16px;
    }

    .new-info-content {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 20px 30px 20px 20px;
    }

    .new-info-lists {
        margin: 0;
        padding-top: 31px;
        padding-bottom: 40px;
    }
}

/*---------------------------------------------------------------------------
  NEWS
---------------------------------------------------------------------------*/



/* ↓ KAERU */
/*---------------------------------------------------------------------------
  KAIGYOU
---------------------------------------------------------------------------*/

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

/*---------------------------------------------------------------------------
  MIDASHI
---------------------------------------------------------------------------*/
#subpage h3 {
	/* 大見出し */
    position: relative;
    display: flex;
    align-items: center;
    padding-bottom: clamp(12px, calc(20px + 3 * ((100vw - 769px) / 1151)), 23px);
    font-size: clamp(22px, calc(22px + 8 * ((100vw - 769px) / 1151)), 32px);
    font-weight: var(--font-base-weight-black);
    gap: 10px;
	margin-block: 2.5rem;
}
#subpage h3:before {
    content: "";
    display: inline-block;
    width: 32px;
    height: 25px;
    background-image: url('../../image/basic/happa_green.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}
#subpage h3:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 6px;
    margin-top: 23px;
    background-image: url('../../image/basic/midashi_border.webp');
    background-repeat: repeat-x;
    background-size: contain;
}
#subpage h4.mid {
	/* 中見だし */
    position: relative;
    width: 100%;
    height: auto;
    text-align: center;
    margin: 1.25rem 0;
    padding: 20px 0;
    /* padding: 1.67vw 0; */
    background-color: var(--sub-color);
    border-radius: 15px;
    overflow: hidden;
    line-height: normal;
    font-size: clamp(20px, calc(20px + 4 * ((100vw - 769px) / 1151)), 24px);
    /* font-size: 24px; */
    font-weight: var(--font-base-weight-bold);
    color: var(--white-text);
    white-space: nowrap;
}
#subpage h4.mid:before {
	/* 中見だし装飾 */
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 100%;
    background-image: url("../../image/basic/midashi-waki-gazou.webp");
    background-repeat: repeat-y;
    background-position: top center;
    background-size: 100%;
}
#subpage h4.mid:after {
	/* 中見だし装飾 */
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 100%;
    background-image: url("../../image/basic/midashi-waki-gazou.webp"); 
    background-repeat: repeat-y;
    background-position: top center;
    background-size: 100%;
    transform: scaleX(-1);
}
#subpage h4 {
	/* 小見出し */
	width: fit-content;
	border-radius: 1.3em;
	padding-block: 0.21em;
	padding-inline: 0.375em 1.875em;
	background-color: #F4FFDD;
	color: var(--base-text-color);
	font-weight: var(--font-base-weight-black);
	font-size: clamp(1.125rem, 1.064rem + 0.26vw, 1.375rem); /* 375:18px, 1920:22px */
	margin-bottom: 1.25rem;
	line-height: 1em;
	border: 1px solid #C9F765;
}
#subpage h4:before {
	/* 小見だし装飾 */
	content: url("../../image/basic/sub_komidashi-deco.svg");
    vertical-align:middle;
	margin-right: 0.4em;
}
#subpage h4:not(.mid) { display:flex; align-items:center;}
#subpage > :where(h3, 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(--green-text);
	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 rgba(0, 0, 0, 0.2);
	border-left:solid 1px rgba(0, 0, 0, 0.2);
}
#subpage table.hyou th,
#subpage table.hyou td {
	padding:0.75rem 1.25rem;
	font-size:1rem;
	border-right:solid 1px rgba(0, 0, 0, 0.2);
	border-bottom:solid 1px rgba(0, 0, 0, 0.2);
}
#subpage table.hyou th {
	font-weight:700;
	background: #FFF9DF;
	color:#1a1a1a;
}
#subpage table.hyou td.sm_mid {
	display:none;
	color:#1a1a1a;
	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 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);
}

/* ul deco 双葉付きリスト*/
#subpage ul.list_deco {
	clear:both;
	width: 96%;
	margin:1rem 2%;
	display: flex;
	gap: 1rem;
	align-items: center;
}
#subpage ul.list_deco li.list_deco_tit {
	padding: 2%;
	width: 171px;
	height: 170px;
	background: url(../image/list-deco-futaba.svg) no-repeat center / contain;
	font-size: 1.125rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
}

#subpage ul.list_deco li.list_deco_txt {
	padding: 2%;
	width: 80%;
	padding: 2%;
}
@media only screen and (max-width:820px){
	#subpage ul.list_deco { align-items:start;}
}

/*---------------------------------------------------------------------------
  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: 18px;
	height: 18px;
	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 -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%; 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%; max-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;}
#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,
#subpage .box2 h4 {
	width: 100%;
	color: var(--green-text);
	background-color: transparent;
	border: none;
	display: block;
}

#subpage .box1 h4:not([class]):empty,
#subpage .box2 h4:not([class]):empty {
	display: none;
}

#subpage .box1 h4:before,
#subpage .box2 h4:before
 {
	display: none;
}
#subpage .box1 h4:before,
#subpage .box2 h4:empty {
	display: none;
}

/* BOX1 */
#subpage .box1 {
	clear:both;
	margin:20px 2%;
	width:96%;
}
#subpage .box1 .photo-c img { max-width:1200px; height:auto; width:100%;}
#subpage .box1 .photo-l img { max-width:400px; height:auto;}
#subpage .box1 .photo-r img { max-width:400px; 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:360px; height:auto;}
#subpage .box2 .photo-r img { max-width:360px; height:auto;}

/*---------------------------------------------------------------------------
  BUTTON
---------------------------------------------------------------------------*/
#subpage .btn {
    display: flex;
    justify-content: center;
	margin-block: 0.5rem;
}
#subpage .btn a {
    position: relative;
    display: inline-flex;
    align-items: center;
    /* height: 40px; */
    padding: 0.75em 2.778em 0.75em 1.111em;
    border-radius: 100px;
    cursor: pointer;
    overflow: hidden;
    /* gap: 10px; */

    font-weight: var(--font-base-weight-bold);
    font-size: 18px;
    color: var(--white-text);
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;

    background-image: url("../../image/basic/yajirushi.webp");
    background-repeat: no-repeat;
    background-position: calc(100% - 1.111em) center; /* 右端に小さく寄せる */
    background-size: 20px 20px;
}
/* --- 背景の基底レイヤー（常時表示） --- */
#subpage .btn a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  /* 普通時のグラデ */
  background: var(--marukado-button-gradient);
  transition: opacity 1s ease;
  opacity: 1;
  pointer-events: none;
  z-index: -2;
}

/* --- ホバー用オーバーレイ（opacity を切り替えて差し替える） --- */
#subpage .btn a::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--marukado-button-gradient-hover);
  opacity: 0;
  transition: opacity 1s ease;
  pointer-events: none;
  z-index: -1;
}

/* ホバー時（もしくはフォーカス時）に色を切り替える */
#subpage .btn a:hover::after,
#subpage .btn a:focus::after {
  opacity: 1;
}

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

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

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

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

/* ------------------------------
  質問
------------------------------ */
.faq_question {
  position: relative;
  padding: 0 3rem 1.5rem 3rem;
  font-weight: bold;
  color: var(--base-text-color);
  cursor: pointer;
}

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

/* Q */
.faq_question::after {
  content: "Q";
  background-color: var(--green-text);
}

/* ------------------------------
  回答（スムーズアニメーション）
------------------------------ */
.faq_answer {
  position: relative;
  padding: 0 0 1rem 3rem;
  margin-left: 2rem;
  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時 */
.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;
}

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

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

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

.faq_icon::before,
.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%;
}

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

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

/*====================================================================================================
  FOOTER
====================================================================================================*/
footer::before {
filter: brightness(0) saturate(100%) invert(100%) sepia(29%) saturate(3247%) hue-rotate(312deg) brightness(104%) contrast(103%);}
.site-footer {
    background-color: var(--main-color);
}
.copyright {
	background-color: var(--main-color);
}
footer::after { background-image: none;}

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


/* ↓ KAERU */
@media only screen and (max-width: 820px) {

	/* MIDASHI */
	#subpage h3 { margin:0 2% 80px; font-size:24px;}
	#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;}

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



/*====================================================================================================
  process.html：肥料化システム工程図
====================================================================================================*/
.system_flow_wrap { container-type:inline-size;}
.system_flow {
	--row-gap:90px;
	--column-gap:6.5cqw;

	display:grid;
	grid-template:
		"sf1 sf2 sf3" auto
		"sf6 sf5 sf4" 1fr / 1fr 1fr 1fr;
	gap:var(--row-gap) var(--column-gap);
	padding:60px 5.8cqw;
	background-color:#FEFCF2;

	& .sf_title { color:#fff; font-size:1.25em; font-weight:bold; background-color:var(--sub-color); text-align:center;}
	& .sf_img { width:100%; aspect-ratio:30/21;}
	& .sf_img img { width:100%; height:100%; object-fit:cover;}
	& .sf_text { padding-block:0.5em; color:#000; font-size:16px; text-align:center; line-height:1.2;}
	& .sf_text:empty { display:none;}

	& .sf1 { grid-area:sf1;}
	& .sf2 { grid-area:sf2;}
	& .sf3 { grid-area:sf3;}
	& .sf4 { grid-area:sf4;}
	& .sf5 { grid-area:sf5;}
	& .sf6 { grid-area:sf6;}

	& li + li .sf_img {
		position:relative;

		&:before {
			content:"";
			position:absolute;
			width:calc(var(--column-gap) / 2);
			height:auto;
			aspect-ratio:1;
			background-color:var(--sub-color);
			mask:url(../../image/sub/sf_arrow.svg) no-repeat center / contain;
		}
	}
	& :where(.sf2, .sf3) .sf_img:before { inset:50% 100% auto auto; translate:-50% -50%;}
	& :where(.sf4) .sf_img:before { rotate:90deg; inset:auto auto calc(100% + var(--row-gap) / 2) 50%; translate:-50% -50%;}
	& :where(.sf5, .sf6) .sf_img:before { rotate:180deg; inset:50% auto auto 100%; translate:50% -50%;} 
}
@media only screen and (max-width:820px){
	.system_flow {
		grid-template:
			"sf1" auto
			"sf2" auto
			"sf3" auto
			"sf4" auto
			"sf5" auto
			"sf6" 1fr / 1fr;
		
		& li + li .sf_img:before {
			rotate:90deg;
			width:auto;
			height:calc(var(--row-gap) / 2);
			inset:auto auto calc(100% + var(--row-gap) / 2) 50%;
			translate:-50% -50%;
		}
	}
}

/*---------------------------------------------------------------------------
  product.html（商品紹介）
---------------------------------------------------------------------------*/
#subpage .product_item_wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 6.25rem;
}
#subpage .product_item_inner {
	display: flex;
	flex-direction: column;
	column-gap: 0.5rem;
	margin-bottom: 5rem;
	align-items: center;
}
#subpage .product_item1,
#subpage .product_item1 img {
	height: auto;
}
#subpage .product_item2,
#subpage .product_item2 img {
	clip-path: ellipse(40% 40% at 50% 50%);
}
#subpage :is(.product_item1, .product_item2) img {
	width:100%;
}
#subpage .product_text {
	font-size: clamp(1.125rem, 1.064rem + 0.26vw, 1.375rem); /* 375:18px, 1920:22px */
	font-weight: 800;
	text-align: center;
}
@media only screen and (max-width:820px){
	#subpage .product_item_wrap { grid-template-columns:1fr;}
}

/*---------------------------------------------------------------------------
  沿革の表
---------------------------------------------------------------------------*/
#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;
	}

