/* ------------------------------　　
	全体のこと
------------------------------ */
body{
	background: transparent linear-gradient(180deg, #FFF7D6 0%, #FFF7D6 44%, #FFF7D66D 64%, #FFF7D64D 73%, #27FF5620 97%, #479F6D19 100%) 0% 0% no-repeat padding-box;
}


#adminBox {
	margin-top: 100px;
}

.slick-list::before,h2.section-vertical-heading,.slick-prev:before, .slick-next:before,.year_top,h1.page-title,p.page-title{
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  color: #3C6E57;
}

.blog1-index li.global-nav-item.home_none a,
.blog1-entry li.global-nav-item.home_none a{
	background: #3C6E57;
	color: #FFF7D6;
}

.topicpath-item{
	font-size: 0.9rem;
}

.content-wrapper .topicpath .acms-container{
	margin-top: 0px;
}

.blog1-entry .entry-style p{
	margin-bottom: 0;
}

.acms-my-0{
	display: none;
}

.blog1-top .acms-my-0,.blog1-index .acms-my-0{
	display: block;
	text-align: start;
}


.section-mb {
	margin-bottom: unset;
}


:root {
	--section-space-y:clamp(3.5rem,6vw,10rem);
}

.blog1-index .back_green,.blog1-entry .back_green{
	display: none;
}

.card-link:any-link:hover::after {
	background-color: #FFF;
}

.blog1-index .card-link:any-link:hover::after{
	background-color: unset;
}

.up-wrapper{
	text-decoration: none;
	position: fixed;
	top: 90%;
	right: 3%;
	z-index: 1111111;
}


.up-wrapper a{
	width: 45px;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background: #FFF;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}

.acms-icon{
	padding: 0;
	display: block;
	font-size: 20px;
	line-height: 1;
}

.acms-icon-arrow-up::before{
	font-size: xxx-large;
	color: #3C6E57;
	opacity: 0.8;
}

@media (max-width: 769px){
	.acms-g-cols-2 {
		--acms-columns: 1;
	}
}

@media (max-width: 1024px){
	:root{
		--header-height: auto !important;
	}
}

@media (min-width: 1024px){
	:root{
		--page-title-space-bottom: 10.5rem;
	}
}




/* ------------------------------　　
	ヘッダー
------------------------------ */
.slick-prev:before, .slick-next:before{
	color: #333;
}

/*
 * Slickが準備完了するまで、スライダー全体display:none;にする
 */
.js-carousel-news:not(.slick-initialized) {
   display: none;
 }


/*
 * Slickの準備が完了したら、付与されるクラス（.slick-initialized）をきっかけに表示する
 */
.js-carousel-news.slick-initialized {
  opacity: 1; /* 透明を解除 */
  visibility: visible; /* 操作できるようにする */
}

.slick-next {
	right: 15px;
}

.slick-prev {
	left: 15px;
}

.slick-dots{
	bottom: 25px;
}


.header-item-wrap{
	padding: 0;
}

.header-item-wrap{
	display: unset;
}

.js-carousel-news.slick-initialized.slick-slider.slick-dotted {
	background: #FFF;
	border-radius: 10px;
	padding-top: 20px;
	padding-bottom: 50px;
	padding-left: 3%;
	padding-right: 3%;
}

.slick-list img{
	max-width: 90%;
	margin: 0 auto;
}


.js-sticky-nav,.js-sticky-nav.is-sticky,.header{
	background-color: transparent;
}



.global-nav-link, .global-nav-link:link, .global-nav-link:visited{
	color: #3C6E57;
}

.global-nav-list:not(.global-nav-list *) > .global-nav-item:first-child::before, .global-nav-list:not(.global-nav-list *) > .global-nav-item::after{
	background: none;
}

.global-nav-list:not(.global-nav-list *) > .global-nav-item a{
	border-radius: 32px;
	box-shadow: 0px 5px 6px #00000029;
	background: #FFF;
	width: 100%;
	background: #FFF7D6;
	box-shadow: 
		6px 6px 12px rgba(0, 0, 0, 0.2),     /* ↓右下に暗い影 */
		-6px -6px 12px rgba(255, 255, 255, 0.6); /* ↑左上に光 */
	border: none;
	cursor: pointer;
	transition: all 0.6s ease;
}

.section-vertical-header h2.section-vertical-heading{
	position: relative;
}

.section-vertical-header a{
	display: inline;
	padding: 5px 20px;
	border: 2px solid #3C6E57;
	background: #FFF;
	border-radius: 32px;
	position: absolute;
	color: #3C6E57;
	text-decoration: none;
	top: 30px;
	margin-left: 13%;
	line-height: 1;
}

/* 押したとき（inset で凹ませる） */
.global-nav-list:not(.global-nav-list *) > .global-nav-item a:active{
  box-shadow: 
	inset 6px 6px 12px rgba(0, 0, 0, 0.2),
	inset -6px -6px 12px rgba(255, 255, 255, 0.6);
}

.global-nav-list:not(.global-nav-list *) > .global-nav-item{
	padding-bottom: 0;
}

.global-nav-link::after{
	background: none;
}

.back_green{
	background: #4E7A5B;
	padding: 50px;
	position: relative;
}

.slick-dots{
	left: 50%;
	transform: translateX(-50%);
}

.header-item-wrap{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}

.header-logo{
	max-height: unset;
	width: 60%;
}

.global-nav{
	position: relative;
	top: 200px;
	z-index: 2;
}

.top_page li.global-nav-item.home_none{
	display: none;
}

a.plof{
	color: #FFF;
	background: #3C6E57;
	border-radius: 32px;
	width: 50%;
	display: inline-block;
}

.slick-dots li.slick-active button:before{
	color: #3C6E57;
}

.slick-next, 
.slick-prev {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff; /* 白背景の上で使う場合 */
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;

  /* ぷっくり立体感 */
  box-shadow: 
	4px 4px 8px rgba(0,0,0,0.25),   /* 影（外側） */
	-4px -4px 8px rgba(255,255,255,0.9); /* 光（外側） */

  transition: box-shadow 0.6s ease, transform 0.6s ease;
}

.slick-next:before {
	content: '▶';
	font-size: 10px;
	position: relative;
	top: 2px;
	left: 1px;
}

.slick-prev:before{
	content: '◀';
	font-size: 10px;
	position: relative;
	top: 2px;
	left: 0px;
}

/* active のときに軽く押される感 */
.slick-next:active, 
.slick-prev:active {
  box-shadow: 
	inset 4px 4px 8px rgba(0,0,0,0.2),
	inset -4px -4px 8px rgba(255,255,255,0.8);
  transform: translateY(-15px);
}

.slick-list::before{
	content: 'Here are my works.';
	font-size: x-large;
	display: block;
	margin: 0 auto;
	margin-bottom: 15px;
	line-height: normal;
	
	/* タイピング用スタイル */
	  white-space: nowrap;
	  overflow: hidden;
	  border-right: 3px solid #3C6E57;
	  width: 0; /* 最初は幅ゼロから */
	/* typingアニメーション終了後も幅を保持 */
	 animation: typing 3s steps(16) forwards;
}

.slick-prev:hover, 
.slick-prev:focus, 
.slick-next:hover, 
.slick-next:focus {
  color: transparent;
  outline: none;
  background: #fff; /* ← transparent から修正 */
}

.slick-prev:before, .slick-next:before{
	color: #3C6E57;
}

.global-nav-mobile-menu-btn{
	z-index: 1111;
}

.global-nav-mobile-inner{
	margin-top: 4rem;
}

li.global-nav-item .pc_none{
	display: none;
}

/* タイピングのキーアニメーション */
@keyframes typing {
  from { width: 0 }
  to   { width: 16ch } /* 文字数に合わせて調整 */
}

/* カーソルの点滅 */
@keyframes blink {
  50% { border-color: transparent }
}

@media (min-width: 64rem) {
	.section-horizontal-footer {
		margin: 0;
	}
	.global-nav-list:not(.global-nav-list *) > .global-nav-item:first-child{
		margin-left: 0;
	}
	.global-nav-list:not(.global-nav-list *) > .global-nav-item:nth-child(2){
		margin-left: 0;
	}
	.global-nav-list:not(.global-nav-list *) > .global-nav-item:last-child{
		margin-right: 0;
	}
	.slick-initialized .slick-slide{
		display: flex;
		justify-content: space-around;
	}
}

/* タブレット版 */
@media (min-width: 769px) and (max-width: 1023px) {
	.header{
		display: unset;
	}
	.global-nav-mobile-menu-btn{
		background: #4E7A5B;
	}
}


/* SP版 */
@media (max-width: 769px){
	.js-carousel-news.slick-initialized.slick-slider.slick-dotted {
		padding:1%;
	}
	.header {
		position: unset;
		display: block;
	}
	.global-nav-mobile-menu-btn,.header-wrap{
		background: #4E7A5B;
	}
	.top_page li.global-nav-item .pc_none{
		display: block;
	}
	span.pc_none{
		font-size: smaller;
	}
}


/* ------------------------------　　
	コンテンツ
------------------------------ */

.blog1-entry header.header,.blog1-index header.header {
	--nav-height: 0px !important;
}


.blog1-entry .global-nav,.blog1-index .global-nav{
	top: 400px;
}


.blog1-entry .page-title-text-wrap,.blog1-index .page-title-text-wrap{
	margin-top: inherit;
}

.section-separator{
	display: none;
}


.page-title-text-wrap{
	color: #3C6E57;
	background: unset;
	margin: 0 auto;
	margin-top: 200px;
}

.page-title-wrapper{
	background: #FFF7D6;
}

.topicpath::after{
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFF7D6 100%);
}

.top_page .card-link{
	height: auto;
}

.card-texts-layout {
	background:  #FFF;
	
}

.section-pt .acms-container{
	position: relative;
	margin-top: 100px;
}

.section-vertical-header::after{
	display: none;
}

.section-pt .acms-container::before {
	content: '';
	position: absolute;
	top: 5%;
	height: 90%;
	left: 50%;
	background: transparent linear-gradient(180deg, #FFF7D6 0%, #3C6E57 20%, #3C6E57 73%, #27FF5620 97%, #479F6D19 100%) 0% 0% no-repeat padding-box;
	width: 2px;
}

.section-pt article a {
	display: inline-block;
}

.section-pt article a::before{
	content: '';
	width: 100%;
	position: absolute;
	left: 0;
	border-bottom: solid 2px #3C6E57;
	top: 2em;
}
.section-pt article a::after {
	content: '';
	width: 1em;
	height: 1em;
	border-radius: 100%;
	border: solid 1px #3C6E57;
	position: absolute;
	background: #fff;
	z-index: 1;
	top: 1.5em;
}


.year_top{
	font-size: 36px;
	width: 100px;
	height: 100px;
	margin: 0 auto;
	line-height: 2.5;
}

.card-labels-layout{
	padding: 30px 40px 10px;
}

.top_page .card-title{
	padding: 0 40px 30px 40px;
	text-align: start;
	color: #505050;
	width: 15em;
	white-space: pre-wrap;
}

.card-texts-layout{
	border: 1px solid #505050;
	border-top: none;
	border-radius: 0 0 7px 7px;
}

.card_more{
	border: 2px solid #3C6E57;
	border-radius: 32px;
	color: #3C6E57;
	font-size: 12px;
	padding: 5px 15px;
	margin-bottom: 20px;
	margin-right: 20px;
	line-height: 1;
}

.card_moreWrap{
	display: flex;
	justify-content: end;
}

.acms-ms-0 .label{
	color: #3C6E57;
	background: none;
	font-size: 18px;
	font-weight: 600;
	padding: 0;
}

.blog1-index .card-title{
	padding: 0 20px;
	text-align: start;
	color: #505050;
}

.blog1-index .card-labels-layout{
	padding: 10px 20px 0px;
}

.pager {
	margin: 2.5rem -0.25rem 2.5rem;
	padding: 0;
	font-size: 1.25rem;
	text-align: center;
	list-style: none;
	display: block;
}

.pager li.cur {
	color: #3C6E57;
	border: 2px solid #3C6E57;
	box-sizing: border-box;
	width: 3rem;
	height: 3rem;
	padding: .25rem;
	border-radius: 6px;
}

.pager li {
	display: inline-block;
	margin: 0 .25rem .5rem;
}

.pager-link:any-link {
	color: var(--color-white);
}

.pager-link {
	background: #3C6E57;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	box-sizing: border-box;
	width: 3rem;
	height: 3rem;
	padding: .25rem;
	border: 2px solid rgba(0, 0, 0, 0);
	border-radius: 6px;
}


.pager li span:not([class]){
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.pager-link:any-link:hover {
	background-color: #479F6D80;
}

.serial-nav{
	border-top: 1px solid var(--color-gray40);
}

.serial-nav .nextLink {
	border: none;
}

.serial-nav li a {
	display: block;
	background: rgba(0, 0, 0, 0.06);
	padding: 15px;
}

.serial-nav .upperLink a, .serial-nav .upperLink a:visited{
	align-items: center;
	display: flex;
	justify-content: center;
}

.entry-header-title::before{
	background:#4E7A5B;
}

.entry-header-title{
	font-weight: 400;
}


.entry-header-title,.entry-header-category-label, .entry-header-category-label:link, .entry-header-category-label:visited{
	color: #4E7A5B;
}


.carousel{
	position: relative;
}

.carousel::before{
	content: "";
	display: inline-block;
	border-style: solid;
	border-width: 30px;
	margin-left: -30px;
	border-color: transparent transparent transparent #FFF;
	position: absolute;
	bottom: 0;
	left: 50%;
	bottom: -45px;
	z-index: 1;
	transform: rotate(90deg);
}

@media (min-width: 64rem) {
	.card-img-wrap img {
		position: relative;
		width: 24em;
		z-index: 1;
	}
	.section-pt article:nth-child(even) .card-img-wrap{
		margin-left: auto;
	}
	.section-pt article:nth-child(even)	.card-texts-layout{
		text-align: end;
	}
	.section-pt article:nth-child(even) .card-labels-layout{
		justify-content: flex-start;
	}
	.section-pt article:nth-child(odd) a::after {
		left: 34.5em;
	}
	.section-pt article:nth-child(even) a::after {
		left: -1.5em;
	}
	.section-pt article:nth-child(even) a{
		margin-top: 13em;
	}
	.one-columns .main-container{
		width: 100%;
	}
	.section-vertical-header::after::after{
		content: '';
		width: 1em;
		height: 1em;
		border-radius: 100%;
		border: solid 1px #000;
		position: absolute;
		background: #fff;
		z-index: 111111;
		top: 1.5em;
	}
	.section-pt article:nth-child(odd) .card-img-wrap {
		margin-right: auto;
	}
	.blog1-index .acms-g-cols-md-3{
		--acms-columns: 4;
		margin-top: 50px;
	}
	.blog1-index .card-img-wrap img{
		width: 14em;
	}
	.blog1-index .card-title{
		height: 6rem;
		padding-top: 0px;
	}	
}

@media (min-width: 769px){
	.page-title-inner{
		background: #4E7A5B;
	}
	h1.page-title,p.page-title{
		color: #FFF7D6;
	}
	.serial-nav .upperLink{
		display: block;
		margin: 0 auto;
		float: none;
	}
	.serial-nav li{
		display: block;
		float: right;
		width: 50%;
		box-sizing: border-box;
		margin-bottom: 15px;
		padding: 10px;
	}
	.serial-nav li.prevLink a {
	border-left: 5px solid #4E7A5B;
	}
	.serial-nav li.nextLink a {
	border-right: 5px solid #4E7A5B;
	}
	.prevLink .acms-icon,.nextLink .acms-icon{
		display: none;
	}
	.serial-nav .nextLink {
	text-align: right;
	}
	.content-wrapper .acms-container,
	.acms-container.js-pretty-scroll-container{
		margin-top: 50px;
	}
}

@media (min-width: 1024px) and (max-width: 1200px) {
	.section-pt article:nth-child(odd) a::after {
		left: 0.5em;
		margin-left: 100%;
	}
}

/* タブレット版&SP版 */
@media (max-width: 1023px){
	.section-pt article a::before{
		left: 0.5em;
		width: 80%;
	}
	.section-vertical-header::after{
		margin: inherit;
		left: 1em;
	}
	.top_page .card-link-inner{
		margin-top: 1em;
	}
	.top_page .card-img-wrap{
		width: 80%;
		margin-left: 16%;
		margin-bottom: 5%;
	}
	.section-pt article a:after{
		left: 0.5em;
	}
	.header-title{
		text-align: center;
	}
	a.plof{
		margin: 0 auto;
		text-align: center;
		display: block;
	}
	.year_top{
		margin-left: auto;
	}
	.js-carousel-news.slick-initialized.slick-slider.slick-dotted{
		padding-top: 20px;
		padding-bottom: 60px;
		padding-left: 12%;
		padding-right: 12%;
		border-radius: 10px;
	}
	.year_top{
		position: relative;
	}
	.page-title-wrapper {
		height: 7.5rem;
	}
	.section-pt .acms-container::before{
		left: 2em;
		top: 3%;
	}
	.section-pt article a:after {
		left: -0.5em;
	}
}



@media (min-width: 521px) and (max-width: 620px) {
	div.page-title-wrapper {
		padding-top: 500px;
	}
}


@media (min-width: 770px) and (max-width: 1023px) {
	.header{
		position: unset;
	}
}

@media (min-width: 1024px) and (max-width: 1055px) {
	.blog1-index .acms-g-cols-md-3 {
		--acms-columns: 3;
		margin-top: 50px;
	}
	.blog1-index .card-img-wrap img{
		width: 19em;
	}
}




/* SP版 */


@media (max-width: 480px){
	.section-pt article a:after {
		left: 0.5em;
	}
}

@media (max-width: 769px){
	.footer-sns-group{
		justify-content: center;
	}
	.section-pt .acms-cssgrid{
		display: block;
	}
	.section-vertical-header{
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	.section-vertical-header a{
		top: 70px;
		margin-left: 0;
	}
	.back_green{
		padding: 50px 20px;
	}
	.slick-list img{
		max-width: 90%;
	}
	.year_top{
		margin-right: auto;
	}
	.page-title-wrapper{
		padding-top: inherit;
	}
	.blog1-entry #adminBox,.blog1-index #adminBox {
		margin-top: 0px;
	}
	.serial-nav span.SerialNavi__prevLabel,
	.serial-nav span.SerialNavi__nextLabel {
		display: block;
		font-weight: 700;
		font-size: 13px;
	}
	.serial-nav a .acms-icon-arrow-small-right {
		float: right;
		font-size: 16px;
	}
	.serial-nav{
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.top_page .card-title{
		padding: 0 30px 30px 40px;
		width: inherit;
	}
	.blog1-index .acms-g-cols-md-3 {
		padding: 20px;
		margin-top: 30px;
	}	
}

/* ------------------------------　　
	エントリー
------------------------------ */
.entry-style h2{
	position: relative;
	color:#4E7A5B;
	letter-spacing: 0.03em;
	font-size: 1.9em;
}

.entry-style h3,.entry-style h4{
	position: relative;
	color:#505050;
}

.entry-style h2::before{
	content:'';
	width: 100%;
	box-shadow: 0px 0px 6px 0px #00000029;
	height: 3px;
	display: inline-block;
	background-color: #3C6E57;
	position: absolute;
	bottom: -5px;
}

.entry-style h3{
	padding-left: 6px;
	border-left: 5px solid #3C6E57;
}

.entry-style h4{
	border-bottom: 3px dotted #3C6E57;
}

.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li::before{
	background: #3C6E57;
}

.serial-nav .upperLink a, .serial-nav .upperLink a:visited,
.serial-nav li a,.serial-nav li a:visited{
	color: #3C6E57;
}

.acms-admin-block-editor-link-button-link, .link-button-block-link,:where(.entry-style) [data-type=linkButton] a{
	background: #3C6E57;
}

.global-nav-mobile-item.home_none.level-1:not(:has(> .global-nav-mobile-link.is-cta)){
	border-bottom :none;
	margin-top: 20px;
}

.blog1-top li.global-nav-mobile-item.home_none.level-1{
	display: none;
}

.blog2-top li.global-nav-mobile-item.home_none.level-1{
	display: block;
}

li.global-nav-mobile-item.home_none.level-1 a{
	color: #3C6E57;
	background: #FFF;
	text-align: center;
	border-radius: 10px;
}

.blog1-entry .entry-style .gu-narrow{
	max-width: 100%;
}

.entry-4 .serial-nav{
	display: none;
}

.link-button-block-link:where(:any-link):hover,:where(.entry-style) [data-type=linkButton] a:where(:any-link):hover{
	background:	#2f5a46;
}

.entry-style ul:not(:where([class~=not-editor-style], [class~=not-editor-style] *)) > li{
	list-style: none;
}

@media (max-width: 769px){
	.entry-style .gu-narrow{
		max-width: 90%;
	}
	.entry-style h2{
		font-size: 1.5625rem;
	}
}

/* ------------------------------　　
	フッター
------------------------------ */
.footer{
	background: #4E7A5B;
}

.footer-item form.form-search,.footer-item-title,.footer-copyright-text{
	display: none;
}

.footer-item.-address{
	display: none;
}

.footer-item.-navigation{
	width: auto;
}

.footer-group{
	justify-content: center;
}

.global-nav-mobile-inner{
	background: #4E7A5B;
}

.global-nav-mobile-link{
	color: #FFF;
	text-align: center;
}

.global-nav-mobile-item.level-1:not(:has(> .global-nav-mobile-link.is-cta)){
	border-bottom: 1px solid #FFF;
}

.global-nav-mobile-navbar > .global-nav-mobile-group{
	border-top:  1px solid #FFF;
}


/* SP版 */



