@charset "utf-8";

/* 汎用 */
.t-right{text-align: right;}
.t-center{text-align: center;}
.clear{clear:both;}
.disnon{display:none;}
.bold{font-weight:bold;}
.tpink{color:#e75a86;}
.min{font-family:"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", serif;}
.chui{font-size:12px;color: #333;}
.inner_s {
	max-width: 1000px;
	margin: 0 auto;
}
.inner_m{
	max-width: 918px;
	margin: 0 auto;
}
.inner_l{
	max-width: 1000px;
	margin: 0 auto;
}
.inner_xl{
	max-width: 1100px;
	margin: 0 auto;
}
.box{margin: 40px auto 0;overflow:visible;border:1px solid #d5ccb6;background:#fff;padding: 50px 65px;}
@media screen and (max-width:767px) {
	.chui{font-size:10px;}
	.inner_s,
	.inner_m,
	.inner_l,
	.inner_xl{
		max-width:90vw;
	}
	.t-sp-left{text-align: left !important;}
	.box{margin: 7vw auto 0;padding: 5vw 6vw;}
}

/*KV*/
.all {
	overflow: hidden;
	/* 初期状態を透明に設定 */
	opacity: 0;
	/* アニメーション名、秒数、動き方を指定 */
	animation: fadeIn 1.5s ease-out forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*KV end*/

/* メニューバー固定 */
.fs-l-main nav{ 
	position: fixed;
	/*position:relative; 固定しない場合はこっち*/
	bottom: 0;
    z-index: 100; 
	width:100%;
	background:#b09f77;
	box-shadow:0px 5px 20px 0px rgba(0,0,0,0.1);-moz-box-shadow:0px 5px 20px 0px rgba(0,0,0,0.1);-webkit-box-shadow:0px 5px 20px 0px rgba(0,0,0,0.1);
	margin-top: -2px;
	text-align: center;
	font-size: 15px;
	/* 最初は隠しておく（下にずらして透明に） */
	transform: translateY(100%);
	opacity: 0;
  /* アニメーションの設定 */
  animation: show-menu linear both;
  animation-timeline: scroll(); /* スクロールに合わせて動かす */
  animation-range: 0px 200px;  /* 0pxから200pxスクロールする間に実行 */
}
@keyframes show-menu {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.fs-l-main nav.fixed{margin:0; position:fixed;  top:0; left:0; display:block; z-index:10000; background-image:none; background:#ab9980;-webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all  0.3s ease;}
.fs-l-main nav ul{margin:0 auto;display: flex;flex-wrap:wrap;justify-content: center;}
.fs-l-main nav ul li{flex: 0 0 25%;max-width: 273px;text-align: center;height: 4.42em;max-height: 66px;}
.fs-l-main nav ul li:nth-child(n+2){border-left:1px solid #FFF;}
.fs-l-main nav ul li:nth-child(1) a{font-weight: normal;}
.fs-l-main nav ul li a{color:#FFF;display:flex;justify-content:center;align-items:center;height:100%;}
.fs-l-main nav ul li:hover a{background:#948666;color:#FFF;}

@media screen and (max-width:767px) {
	.fs-l-main nav {
		/* position:relative;　*/
		position: fixed;
		bottom: 0;
		margin-top: 0;
		font-size: 12px;
	}
	.fs-l-main nav ul li{
		flex: 1 1 50%;
		max-width: unset;
	}
	.fs-l-main nav ul li:nth-child(n+3){
	    border-top: 1px solid #FFF;
	}
	.fs-l-main nav ul li:nth-child(2n+1){
		border-left: none;
	}
	.fs-l-main nav item-1 {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 100%; }
}
/* メニューバー固定 end */


/*各sectionアニメーション*/
/* アニメーションの共通設定 */
.section01,
.section02_title,
.section02,
.section03,
.section04_title,
.section04,
.section05_title,
.section05 {
  opacity: 0; /* 最初は透明 */
  transform: translateY(30px); /* 最初は少し下に配置 */
  animation: customFadeUp 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* 3. アニメーションの動作定義 */
@keyframes customFadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
	

/* section01 */
.section01{
	padding:100px 0; 
	/*background: url(https://amritara.itembox.design/item/images/moonjournal/sec01_bg_br1_2.jpg) no-repeat top center;background-size:cover; */ 
}
.section01 h2{margin-top:20px;}
.section01 .lead{margin-top: 50px;font-size: 18px;line-height:2;text-align: center;}
.section01 .chui{margin-top:10px;}
.section01 .box h3{}
.section01 .box ul.check{margin-top: 32px;display: grid;grid-template-columns: auto auto;font-family: 'Noto Serif JP', serif;}
.section01 .box ul.check li{display:inline-block; overflow:hidden; position:relative; font-size:20px; text-align:left; line-height:2;}
.section01 .box ul.check li:before{content:"";display:inline-block;height: 0.7em;width: 0.7em;border: 1px solid #594C41;border-radius: 0.2em;margin-right: 0.6em;}
.section01 .txt {
	font-size:16px;
	line-height: 2.1 !important;
}
@media screen and (max-width:767px) {
	.section01{padding: 10vw 0; background-size:cover;
	/*background-image: url(https://amritara.itembox.design/item/images/moonjournal/sp/sec01_bg_br_2.jpg);*/
	} 
	.section01 .txt{
	font-size:3.6vw;
	}
	.section01 .lead{
		margin:6vw 0 0;
		font-size:3.6vw;
	}
	.section01 .box ul.check{
		margin-top: 4vw;
		grid-template-columns:1fr;
	}
	.section01 .box ul.check li{
		font-size:3.8vw;
	}
}
/* section01 end */

/* メニューバー中央 */
#ethical-lead .col-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}
#ethical-lead ul.row.page-link {
	justify-content: center;
    margin: 40px auto 40px;
}
#ethical-lead ul.row.page-link li::before, #ethical-lead ul.row.page-link li:last-child::after {
    height: auto;
}
#ethical-lead ul.row.page-link li {
    padding: 0 15px;
}
#ethical-lead ul.row.page-link li::before {
    z-index: 2;
}
#ethical-lead ul.row.page-link li a {
    position: relative;
    padding: 2em 5px;
    font-weight: 500;
}
#ethical-lead ul.row.page-link li a:after {
  content: '';
  display: block; /* 中央配置しやすくするため block に変更 */
  width: .5em;
  height: .5em;
  border-top: 0.1em solid #BBB7B3;
  border-right: 0.1em solid #BBB7B3;
  box-sizing: border-box;
  /* 位置の基本設定 */
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.1em; /* 初期位置 */
  margin: auto;
  /* 重要なポイント：先に回転させ、移動は個別に管理する */
  transform: rotate(135deg); 
  transition: transform 0.3s ease-in-out, bottom 0.3s ease-in-out;
}
#ethical-lead ul.row.page-link li a:hover {
	/*background-color:#E6FCFF;  マウスオーバーで薄い緑に変える */
}
#ethical-lead ul.row.page-link li a:hover:after {
	bottom: 0.6em;
}
#ethical-lead ul.row.page-link li:last-child::after {
    content: "";
    display: block;
    width: 1px;
    background-color: #e2ddd8;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 0;
}
/* #ethical-lead .col-lg-15 {
	width: 30%;
	float: left;
	flex:none;
	max-width: 30%;
} */
@media screen and (max-width: 768px) {
	#ethical-lead .page-link {
		margin-top: 3em;
        margin-bottom: 0;
		font-size: 13px;
    }
	#ethical-lead ul.row.page-link li a {
        padding: 1em 5px;
    }
	#ethical-lead ul.row.page-link li a:after {
		bottom: 0.3em !important;  /* 初期位置 */
    }
	#ethical-lead ul.row.page-link li a:hover:after {
		bottom: 0.1em !important; 
	}
	#ethical-lead ul.row.page-link li:nth-child(2)::after, .free-page ul.row.page-link li:nth-child(4)::after {
		content: "";
        display: block;
        height: 33px;
        width: 1px;
        background-color:transparent;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto 0;
    }
	#ethical-lead ul.row.page-link li {
    padding: 0 !important;
	}
}
/* メニューバー中央 end */


/* section02 */
.sec02sec03_all {
	background: rgba(234, 248, 244, .4);
	padding-top: 4.375em;
    padding-bottom: 7.375em;
	padding-left: 0; 
	padding-right: 0;
}
.section02 {
	max-width: 1040px;
	margin: 0 auto 6.5em;
	padding: 40px 0;
    background: url(https://amritara.itembox.design/item/images/amriethical/sec02_img.jpg) no-repeat top left;
    background-size: 40% auto;
}
.section02 .inner_l {
    transform: translateX(3%);
	margin: auto 40px;
}
.section02 .inner_l > div {
    padding: 0;
}
.section02 .inner_l h2 {
    margin-bottom: 45px;
}
.section02 .inner_l .txt {
    font-size: 15px;
	line-height: 2.1;
}
.section02_title h3,
.section04_title h3,
.section05_title h3 {
    font-size: 23px;
    font-family: 'Noto Serif JP', serif;
    line-height: 1.7;
}
.section02_title .sec-title span,
.section04_title .sec-title span,
.section05_title .sec-title span {
    border-bottom: 1px solid #33281F;
    padding-bottom: .5em;
}
.section02_title .txt.m,
.section04_title .txt.m,
.section05_title .txt.m {
    font-size: 28px;
    line-height: 1.6;
    margin-bottom: 1.5em;
    letter-spacing: 0.01em;
	font-weight: 500;
}
.section02 .btn {
    margin: 2.5em auto 0;
    text-align: center;
}
.section02 p.btn.btn-border a {
	width: 100%;
	padding: 10px 10px;
    border-radius: 0;
    font-size: 14px;
    color: #6E5D37;
    border: 1px solid #6E5D37;
    height: auto;
    position: relative;
	background: #fff;
}
.section02 p.btn.btn-border a:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    color: #6E5D37;
    line-height: 1;
    width: .5em;
    height: .5em;
    border: 0.1em solid;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-25%) rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    background: none;
}
.section02 p.btn.btn-border a:hover {
    background: #6E5D37;
	color: #FFF;
	border-color: #FFF;
}
.section02 p.btn.btn-border a:hover:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: .5em;
    height: .5em;
    border: 0.1em solid;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-25%) rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    background: none;
}
@media screen and (max-width: 768px) {
	.sec02sec03_all {
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 4.375em;
		padding-bottom: 4.375em;
	}
	.section02,
	.section04,
	.section05 {
		max-width:90vw;
		padding: 30px 0 !important;
        background: none;
        padding-right: 0 !important;
        padding-left: 0 !important;
		margin-bottom: 2.5em ;
    }
    .section02 .inner_l {
        transform: unset;
		margin: auto 0;
    }
	.section02_tile,
	.section04_tile,
	.section05_tile {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
	.section02_title h3,
	.section04_title h3,
	.section05_title h3{
		font-size: 4.5vw;
        text-align: center;
    }
	.section02_title .txt.m,
	.section04_title .txt.m,
	.section05_title .txt.m {
    font-size: 5.5vw;
    line-height: 1.6;
    margin-bottom: 0;
    letter-spacing: 0.01em;
    font-weight: 500;
	}
	.section02 .inner_l .txt {
    font-size: 3.6vw;
	line-height: 1.75;
	}
	.section02 .image {
        margin: 0 -5vw 6vw;
    }
	.section02 .btn {
        margin-top: 2em;
    }
	.section02 p.btn.btn-border a {
		width: 100%;
		height: auto;
		padding: 10px 50px;
        font-size: 13px;
        text-align: left;
        display: block;
        white-space: normal;
		max-width: inherit;
    }
	.section02 .btn.r a:after {
        right: 20px;
    }
}
/* section02 end */


/* section03 代表的な6つのアクション */
.section03 {
	max-width: 1040px;
	margin: 0 auto ;
}
#ethical-act .whtbox {
	 background: rgba(255, 255, 255, 3.5); 
	/*border: 1px solid #33281f; */
    padding: 2.5em 6% 2.5em;
}
#ethical-act .blc-title {
    text-align: center;
}
#ethical-act .blc-title .sub {
    display: inline-block;
    position: relative;
    padding: 0 3.5em;
    color: #33281f;
}
#ethical-act .blc-title .sub::before,
#ethical-act .blc-title .sub::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 43px;
    height: 1px;
    background-color: #33281f;
}
#ethical-act .blc-title .sub::before {
    left: 0;
}
#ethical-act .blc-title .sub::after {
    right: 0;
}
#ethical-act .blc-title .lrg {
    display: block;
    font-size: 26px;
    margin: .5em 0;
}
#ethical-act .action dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	margin-top: 2em;
}
#ethical-act .action dl dt {
    flex: 0 0 100%;
    text-align: center;
    font-size: 19px;
    padding-bottom: 50px;
}
#ethical-act .action dl dd {
    flex: 0 0 30%;
}
#ethical-act .action dl dd h5 {
    text-align: center;
    font-size: 18px;
    margin-bottom: 18px;
}
#ethical-act .action dl dd p.pic {
    margin-bottom: 31px;
}
#ethical-act .action dl dd p {
    font-size: 14px;
}
@media screen and (max-width: 768px) {
	.section03 {
		max-width:90vw;
		padding: 30px 0 !important;
        background: none;
        padding-right: 0 !important;
        padding-left: 0 !important;
		margin-bottom: 2.5em;
    }
	#ethical-act .blc-title {
    margin-bottom: 2em;
	}
	#ethical-act .blc-title .sub {
		font-size: 1.1em;
		line-height: 1.4;
		padding: 0 3.7em;
	}
	#ethical-act .blc-title .lrg {
		font-size: 5.5vw ;
		margin-top: .8em;
	}
	#ethical-act .action dl {
		display: block;
	}
	#ethical-act .action dl dd {
	display: flex;
    flex-direction: column; /* 要素を縦に並べる */
    align-items: center;    /* 子要素を左右中央に配置 */
    text-align: left; 
	margin-bottom: 2em;
  }
  #ethical-act .action dl dd h5 {
    text-align: center;     /* 見出しのみ中央揃え */
    width: 100%;  
    margin-bottom: 15px; /* 下との余白（任意） */
	font-size: 1.35em;
  }
  #ethical-act .action dl dd p {
	font-size: 3.6vw;
	line-height: 1.75;
	}
  #ethical-act .action dl dd p.pic {
   margin: 0 0 15px 0;    /* 画像の上下余白を調整 */
    width: 100%;            /* 必要に応じて画像コンテナを広げる */
    text-align: center; 
  }
  #ethical-act .action dl dd p.pic img {
    max-width: 100%;        /* 画像がはみ出さないように */
    height: auto;
  }
}
/* 代表的な6つのアクション end */

/*section04*/
.sec04_all {
	padding-top: 4.375em;
    padding-bottom: 7.375em;
}
.section04 {
	max-width: 1040px;
	margin: 0 auto;
}
.section04 .inner_l .txt {
	text-align: center;
	line-height: 2.1 !important;
}
.section04 .e-item {
	margin: 1.5em 0;
}
.section04 .inner_l {
	margin-bottom: 3.5em;
}
.section04 .cart li {
    margin: 0 10px;
	flex: 1;         /* すべてのliを同じ比率で広げる */
    min-width: 0;    /* 中身がはみ出さないようにするおまじない */
}
.section04 .e-item .e-block {
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.section04 .e-item .layout {
    display: contents;
	position: relative; 
	max-width: 300px;    /* 調整用：実際のサイズに合わせてください */
    margin: 0 auto;
}
.section04 .e-item .layout img {
	margin: 15px auto 0px;
}
.section04 .icon-wrapper {
    position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
    display: flex;
    justify-content: center;
    gap: 9px;
    z-index: 10;
    width: max-content;
}
.section04 .icon-wrapper .icon {
	background: #74a37a;
	color: #fff;
	font-size: 0.8em;
	text-align: center;
	padding: 3px 8px;
	display: flex;
}
.section04 .e-limited .main,
.section06 .e-limited .main{
	display: flex;
}
.section04 .e-limited .icon {
	background: #74a37a;
	color: #fff;
	font-size: 0.8em;
	text-align: center;
	padding: 3px 8px;
	margin-top: 0 !important;
} 
.section04 .e-item .name .icon2 {
	border: 1px solid #6E5D37;
    padding: 3px 5px;
	font-size: 13px;
	line-height: 2.0;
}
.section04 .e-item .name {
    margin-bottom: 0.7em;
    flex: 1 1 auto;
    font-size: 14px;
	line-height: 1.6;
	color: #6E5D37;
	font-weight: bold;
	height: 45px;
}
.section04 .e-item .subtxt {
    margin-bottom: 0.7em;
    font-size: 14px;
	line-height: 1.7;
	text-align: left;
	height: 115px;
}
.section04 .e-item .box-border {
    border: 1px solid #d5ccb6;
    padding: 30px 25px 20px 25px;
	margin-bottom: 0px !important;
	background-color: #fff;
}
.section04 .e-limited .box-border {
    border: 1px solid #e2ddd8;
    padding: 30px 30px;
	margin-bottom: 0px !important;
	background-color: #fff;
}
.section04 .e-item a {
    width: 100%;
    border: 1px solid #695935;
    background: #fff;
    padding: 0.45em 0.6em;
    position: relative;
    display: block;
	color: #695935;
	font-size: 13px;
}
.section04 .e-item a:after {
    --iconsize: 0.6em;
	color: #695935;
    content: '';
    display: inline-block;
    width: var(--iconsize);
    height: var(--iconsize);
	border-right: 1px solid #695935;
    border-top: 1px solid #695935;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 0.85em;
}
.section04 .e-item a:hover {
    background: #6E5D37;
	color: #FFF;
	border-color: #FFF;
}
.section04 .e-item a:hover:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: .5em;
    height: .5em;
    border: 0.1em solid;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-25%) rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    background: none;
}
.section04 .e-limited {
	margin: 3.5em 0.5em 0 0.5em;
	border: 1px solid #d5ccb6;
    padding: 40px 25px;
    background-color: #fff;
}
.section04 .e-limited .sub,
.section06 .e-limited .sub { 
	display: inline-block;
    position: relative;
    color: #33281f;
}
.section04 .e-limited .txt {
	text-align: left;
	font-size: 14px;
    line-height: 1.7;
	margin: 1rem 0;
}
.section04 .e-limited .lrg,
.section06 .e-limited .lrg {
	display: block;
    font-size: 26px;
	font-weight: 500;
}
.section04 .e-limited a{
    width: 55%;
    border: 1px solid #695935;
    background: #fff;
    padding: 0.45em 3.5em;
    position: relative;
    display: block;
	color: #695935;
	font-size: 13px;
	margin-top: 5px;
}
.section04 .e-limited a:after {
    --iconsize: 0.6em;
	color: #695935;
    content: '';
    display: inline-block;
    width: var(--iconsize);
    height: var(--iconsize);
	border-right: 1px solid #695935;
    border-top: 1px solid #695935;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 0.85em;
}
.section04 .e-limited a:hover {
    background: #6E5D37;
	color: #FFF;
	border-color: #FFF;
}
.section04 .e-limited a:hover:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: .5em;
    height: .5em;
    border: 0.1em solid;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-25%) rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    background: none;
}
@media screen and (max-width: 768px) {
	.sec04_all,
	.sec06_all {
	padding-top: 4.375em;
    padding-bottom: 4.375em;
	}
	.section04 .inner_l {
	margin-bottom: 3.0em !important;
	}
	.section04 .cart li {
    margin: 20px 0px;
	}
	.section04 .txt {
	text-align: left;
	}
	.section04 .e-item,
	.section04 .e-limited
	{
		max-width: 90vw;
		margin: 0px auto;
	}
	.section04 .e-item .box-border {
    padding: 30px 20px !important;
	}
	.section04 .e-item .name {
		margin-bottom: 0.3em;
		font-size: 3.4vw;
		text-align: center;
		height: auto;
	}
	.section04 .e-limited .sub,
	.section06 .e-limited .sub { 
	display: inline-block;
    position: relative;
    color: #33281f;
	font-size: 0.96em;
	}

	.section04 .e-item .subtxt {
		font-size: 3.3vw;
		line-height: 1.7;
		text-align: left;
		height: auto;
	}
	.section04 .icon-wrapper .icon {
		font-size: 13px;
		padding: 5px 10px;
	} 
.section04e-item a:after {
    --iconsize: 0.5em ;
	color: #fff;
    content: '';
    display: inline-block;
    width: var(--iconsize);
    height: var(--iconsize);
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 0.85em;
}
	.section04 .e-limited .icon {
	margin: 1.0em 5em ;
	text-align: center;
	display: flex;           /* Flexboxを有効にする */
	align-items: center;     /* 上下中央に配置 */
	justify-content: center;
	font-size: 13px;
	}
	.section04 .e-limited .title {
	margin: 0 auto;
	text-align: center;
	}
	.section04 .e-limited .lrg {
	display: block;
	font-size: 5.5vw;
    line-height: 1.6;
    margin: .3em 0;
    letter-spacing: 0.01em;
    font-weight: 500;
	}
	.section04 .e-limited .main {
		margin-bottom: 0 !important;
	}
	.section04 .e-limited .txt,
	.section06 .e-limited .txt {
		margin: 1.0em 0;
		font-size: 3.3vw;
        line-height: 1.7 !important;
	}
	.section04 .e-limited div p.img,
	.section06 .e-limited div p.img {
        text-align: center;
        padding: 1vw 0 0 0;
    }
	.section04 .e-limited a{
    width: 100%;
    border: 1px solid #695935;
    background: #fff;
    padding: 0.45em 2.5em;
    position: relative;
    display: block;
	color: #695935;
	font-size: 13px;
	margin-top: 2rem !important;
}

}
/*section04 end*/


/*section05*/
.sec05_all {
	background-color: #f8f7f3; /*#f1e7e0*/
	padding-top: 4.375em;
    padding-bottom: 7.375em;
}
.section05 {
	max-width: 1040px;
	margin: 0 auto;
}
.section05 .inner_l {
    margin-bottom: 3.5em;
}
.section05 .product-list {
	flex-wrap: wrap;
 /* margin-left: -32px;
    margin-right: -32px;
	margin-top: -60px; */
}
.section05 .product-list .img-box {
  position: relative !important;/* 子要素の基準点にする */
  display: inline-block; /* 画像の幅に合わせる */
  line-height: 0; /* 画像下の余白を解消 */
}
.section05 .product-list .img-box img {
	/* Chromeでのコントラストとエッジを強調する設定 */
  image-rendering: -webkit-optimize-contrast; 
  /* 最新の標準的な書き方（合わせて記述が推奨） */
	-webkit-backface-visibility: hidden;
  max-width: 100%;
  height: auto;
}
.section05 .product-list .img-box .icon-limited {
  position: absolute;
  top: 20px;    /* 画像の上端からの距離 */
  right: 20px;  /* 画像の右端からの距離 */
  z-index: 10;
  /* 見た目の調整 */
  background: #fff;
  color: #6E5D37;
  border:  1px solid #6E5D37;
  padding: 15px 10px;
  font-size: 14px;
  border-radius: 15px;
}
.section05 .product-list li:first-child {
    width: 50%;
	padding-left: 32px;
    padding-right: 32px;
    margin-top: 0px ;
}
.section05 .product-list li:nth-child(2) {
    width: 50%;
	padding-left: 32px;
    padding-right: 32px;
    margin-top: 0px ;
}
.section05 .product-list li + li {
    width: 50%;
	padding-left: 32px;
    padding-right: 32px;
    margin-top: 60px;
}
.section05 .product-list .txt-box {
	margin-top: .75em;
}
.section05 .product-list .txt-box .cpno {
    bborder: 1px solid #aa9677;
    padding: .277em .642857em;
    color: #fff;
    display: inline-block;
    /* font-weight: bold; */
    font-family: "Noto Serif JP", serif;
    background: #aa9677;
}
.section05 .product-list .txt-box .main-txt1 {
	font-size: 14px;
    line-height: 1.6;
	height: 75px;
}
.section05 .product-list .txt-box .main-txt2 {
	font-size: 14px;
    line-height: 1.6;
	height: 140px;
}
.section05 .product-list .txt-box .sub-txt {
	font-size: 13px;
    line-height: 1.5;
	height: 60px;
}
.section05 .product-list .txt-box .summary {
	font-family: "Noto Serif JP", serif;
	font-size:1.0em;
	font-weight: 500;
}
.section05 .product-list .txt-box .cpperiod {
	color: #917153;
	font-size: 14px;
	height: 20px;
	margin-top: 2em;
}
.section05 .product-list .txt-box span {
	border: 1px solid #917153;
	padding: 3px 6px;
	font-size: 13px;
	margin-right: 8px;
}
.section05 .product-list .cp-box {
  display: flex;             /* inline-flex から flex に変更（横幅を100%に広げる） */
  justify-content: flex-end;
  align-items: center;   /* 文字と矢印の縦方向の中心を揃える */
  gap: 8px;              /* 文字と矢印の間の余白 */
  color: #917153;           /* 文字と矢印の基本色 */
  width: 100%;
  padding: 0 10px;
  margin-left: auto;
}
.section05 .product-list .cp-box {
  display: flex;
  justify-content: flex-end; /* パソコン時は右寄せ */
  width: 100%;
  padding: 10px 0;
}
.section05 .product-list .cp-box .name {
  color: #917153;
  font-size: 16px;       /* 基本の文字サイズ */
  line-height: 1;        /* 縦方向のズレを防ぐため1に設定 */
  position: relative; /* 下線の位置を決める基準 */
 display: inline-block; /* 確実に横幅を認識させるために追加 */
}
.section05 .product-list .cp-box .arrow {
  display: inline-block;
  /* SVGの元サイズ「24:8（3:1）」の比率を維持 */
  width: 24px;          /* 矢印の横幅（お好みのサイズに調整してください） */
  aspect-ratio: 3 / 1;  /* アスペクト比を固定して歪みを防ぐ */  
  /* SVGデータを背景画像として指定（色を#333に設定済み） */
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2024%208%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill%3D%22%23917153%22%20d%3D%22M0%207.37024C0%207.06288%200.249163%206.81371%200.556522%206.81371H16.3696C17.8415%206.81371%2018.1377%206.28188%2017.2039%205.14415C15.7477%203.37019%2014.6912%201.25165%2014.3221%200.464259C14.2414%200.292244%2014.3256%200.0920483%2014.5026%200.0230442C14.6474%20-0.0333916%2014.8118%200.0154352%2014.9053%200.139459C15.3117%200.677927%2016.5213%202.18533%2018.6303%204.04502C20.6889%205.86028%2022.7887%206.66018%2023.624%206.92696C23.8433%206.99698%2024%207.19857%2024%207.42876C24%207.70379%2023.777%207.92676%2023.502%207.92676H0.556522C0.249163%207.92676%200%207.67759%200%207.37024Z%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* 通常時：文字と矢印をまたぐ「一本の長い下線」の器 */
.section05 .product-list .cp-box::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 4px;         /* 文字・矢印からの距離 */
  width: 100%;         
  height: 1px;       /* 1pxから「1.5px」にほんの少し太くして視認性をアップ */
  background-color: #917153; /* 透明度をなくし、確実に見える「真っ白」に変更 */
  /* 左から右へ伸びるアニメーション */
  transform: scaleX(0);
  transform-origin: left top;
  transition: transform 0.3s ease;
}
/* 親要素（.cp-box）にマウスが乗った時、下線を100%に伸ばす */
.section05 .product-list .cp-box:hover .cp-box-inner::after {
  transform: scaleX(1);
}
/* 内枠：文字と矢印の実寸幅になり、下線の基準点になる */
.section05 .product-list .cp-box .cp-box-inner {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative; /* 下線の位置を決める基準 */
  cursor: pointer;    /* カーソルをポインターにする */
}
/* 通常時：文字の左端から矢印の右端までをまたぐ下線 */
.section05 .product-list .cp-box .cp-box-inner::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;        /* 文字・矢印からの距離 */
  width: 100%;         /* cp-box-inner（文字から矢印まで）のジャストサイズ */
  height: 1px;       /* 下線の太さ */
  background-color: #917153; /* 真っ白 */
  /* 左から右へ伸びるアニメーション */
  transform: scaleX(0);
  transform-origin: left top;
  transition: transform 0.3s ease;
}

/*以下キャンペーン完売時表示（グレーアウト＆完売表記対応）*/
.section05 .product-list .img-box2 {
	position: relative;
	display: inline-block; 
    overflow: hidden;
}
.section05 .product-list .img-box2 img {
    display: block;
    width: 100%;
    height: auto;
    filter: grayscale(50%) brightness(80%); 
    opacity: 0.8; 
}
.section05 .product-list .img-box2::after {
	content: "終了しました";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 500;
    white-space: nowrap;
    background: rgba(0, 0, 0, 0.5); 
    padding: 10px 20px;
    border: 1px solid #fff;
    pointer-events: none; 
}
@media screen and (max-width: 768px) {
	.sec05_all {
	padding-top: 4.375em;
    padding-bottom: 4.375em;
	}
	.section05 .inner_l {
		margin: 0 auto;
	}
	.section05 .product-list {
	    flex-wrap: wrap;
		max-width: 90vw;
		margin: 0px auto;
	}
	.section05 .product-list flex {
		display: flex;
	}
	.section05 .product-list li {
		width: 100% !important;
		margin-top: 30px !important;
		padding:0 0.05em !important;
	}
	.section05 .product-list .txt-box .main-txt1,
	.section05 .product-list .txt-box .main-txt2 {
	height:auto;
	}
	.section05 .product-list .txt-box .summary {
	font-size:1.3em;
	line-height: 1.675;
	}
	.section05 .product-list .txt-box .cpperiod {
	font-size: 0.97em;
	margin-top: 1em;
	height: auto;
	display: flex; 
	flex-direction: column; 
    align-items: flex-start;
	}
	.section05 .product-list .txt-box span {
	display: inline-block; 
	margin-bottom: 5px;
	}
	.section05 .product-list .img-box .icon-limited {
		position: absolute;
		top: 15px;    /* 画像の上端からの距離 */
		right: 15px;  /* 画像の右端からの距離 */
		z-index: 10;
		/* 見た目の調整 */
		background: #fff;
		color: #6E5D37;
		border:  1px solid #6E5D37;
		padding: 15px 10px;
		font-size: 12px;
		border-radius: 15px;
	}
	.section05 .product-list .txt-box .sub-txt {
	height: auto !important;
	}
	.section05 .product-list .cp-box {
		margin-top: 1.5em;
		justify-content: center;
	}

}
/*section05 end*/

/*section06*/
.sec06_all {
	padding-top: 1.375em;
    padding-bottom: 1.375em;
}
.section06 {
	max-width: 1040px;
	margin: auto;
}
.section06  .inner_l {
	max-width: 1040px;
}
.section06 .e-limited .txt {
    text-align: left;
    font-size: 14px;
    line-height: 1.7;
    margin: 1rem 0px;
}
.section06 .e-limited {
	margin: 3.5em 0.5em ;
	border: 1px solid #d5ccb6;
    padding: 40px 25px;
    background-color: #fff;
}
.section06 .e-limited a{
    width: 55%;
    border: 1px solid #695935;
    background: #fff;
    padding: 0.45em 3.5em;
    position: relative;
    display: block;
	color: #695935;
	font-size: 13px;
	margin-top: 5px;
}
.section06 .e-limited a:after {
    --iconsize: 0.6em;
	color: #695935;
    content: '';
    display: inline-block;
    width: var(--iconsize);
    height: var(--iconsize);
	border-right: 1px solid #695935;
    border-top: 1px solid #695935;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 0.85em;
}
.section06 .e-limited a:hover {
    background: #6E5D37;
	color: #FFF;
	border-color: #FFF;
}
.section06 .e-limited a:hover:afte {
    content: '';
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: .5em;
    height: .5em;
    border: 0.1em solid;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-25%) rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    background: none;
}
@media screen and (max-width: 768px) {
	.section06 .inner_l {
	margin-bottom: 3.0em !important;
	}
	.section06 .e-item,
	.section06 .e-limited
	{
		max-width: 90vw;
		margin: 0px auto;
	}
	.section06 .e-item .box-border {
    padding: 30px 20px !important;
	}
	.section06 .e-item .name {
		margin-bottom: 0.3em;
		font-size: 3.4vw;
		text-align: center;
		height: auto;
	}
	.section06 .e-item .subtxt {
		font-size: 3.3vw;
		line-height: 1.7;
		text-align: left;
		height: auto;
	}
	.section06 .icon-wrapper .icon {
		font-size: 13px;
		padding: 5px 10px;
	} 
.section06e-item a:after {
    --iconsize: 0.5em ;
	color: #fff;
    content: '';
    display: inline-block;
    width: var(--iconsize);
    height: var(--iconsize);
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    right: 20px;
    top: 0.85em;
}
	.section06 .e-limited .icon {
	margin: 1.0em 5em ;
	text-align: center;
	display: flex;           /* Flexboxを有効にする */
	align-items: center;     /* 上下中央に配置 */
	justify-content: center;
	font-size: 13px;
	}
	.section06 .e-limited .title {
	margin: 0 auto;
	text-align: center;
	}
	.section06 .e-limited .lrg {
	display: block;
	font-size: 5.5vw;
    line-height: 1.6;
    margin: .3em 0;
    letter-spacing: 0.01em;
    font-weight: 500;
	}
	.section06 .e-limited .main {
		margin-bottom: 0 !important;
	}
	.section06 .e-limited .txt{
		margin: 1.0em 0;
		font-size: 3.3vw;
        line-height: 1.7 !important;
	}
	.section06 .e-limited div p.img {
        text-align: center;
        padding: 1vw 0 0 0;
    }
	.section06 .e-limited a{
    width: 100%;
    border: 1px solid #695935;
    background: #fff;
    padding: 0.45em 2.5em;
    position: relative;
    display: block;
	color: #695935;
	font-size: 13px;
	margin-top: 2rem !important;
}
}
/*section06 end*/









/* preend */
.endbtn,.prebtn{margin:0; padding:10px 0; display:none; text-align:center; letter-spacing:1px;}
.endbtn{background:#666; color:#fff;}
.prebtn{background:#bba57d; color:#fff;}
.end .endbtn,.pre .prebtn{display:block;}
.end form,.pre form{display:none;}

/* base */
.comBox{width:1100px; margin:0 auto; box-sizing:border-box; -webkit-box-sizing:border-box;}

/* title 
h2{
	font-size:42px;
	font-family: 'Noto Serif JP', serif;
	margin: 0.5em 0;
	line-height: 1.7;
}
h3{
	font-size:25px;
	font-family: 'Noto Serif JP', serif;
	margin: 0;
	line-height: 1.7;
}
h4{
	font-size:20px;
	font-family: "游明朝体", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "Noto Serif JP", "MS P明朝", "MS PMincho", serif;
	margin: 0;
	line-height: 1.7;
}
h2 span.point_no{
	display:block;
	margin-bottom:10px;
}
@media screen and (max-width:767px) {
	h2{
		font-size: 5.8vw;
	}
	h2 span.point_no{
		margin-bottom:0.2em;
	}
	h2 span.point_no img{
		height:1.1em;
	}
}
*/


/* KaiU */
#cv-tech-modal-main-top,
.cv-tech-fancybox-outer,
.cv-tech-fancybox-skin{
overflow:visible;
}