@charset "utf-8";

/*-------------------------------------
css初期化
--------------------------------------*/
* {
	margin: 0;
	padding: 0;
}

body {
	font-family: sans-serif;
	font-size: 100%;
}

div:after {
	content: "";
	display: block;
	clear: both;
}

/*-------------------------------------
タグの基本設定
--------------------------------------*/
body {
	background: #403F3B;
	line-height: 1.6;
	font-size: 81.25%;
	color: #414141;
}

html {
	overflow-y: scroll;
}

a {
	text-decoration: none;
	outline: none;
	color: #333333;
}

a:hover{
	text-decoration: underline;
	color: #666666;
}

a:hover img{
	opacity: 0.80;
}

/*--------------------------------------------------------------------
Containe
--------------------------------------------------------------------*/

div#Container {
    width: 945px;
    margin: 0 auto;
    background: #F5F3EF;
    box-sizing: border-box;
	color: #716157;
}

/*--------------------------------------------------------------------
h1
--------------------------------------------------------------------*/
h1 {
	padding: 10px 0;
	text-align: center;
}
h1::after {
    content: "";
    display: block;
    width: 240px;
    height: 1px;
    background-color: #C8A66A;
    margin: -20px auto 10px;
    position: relative;
}

/*--------------------------------------------------------------------
Contents
--------------------------------------------------------------------*/
div#Contents {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 10px 0 0;
    overflow: hidden;
}

div#Contents:after {
	display: block;
	clear: both;
	height: 0;
	line-height: 0;
	font-size: 0;
}

/*--------------------------------------------------------------------
Nav
--------------------------------------------------------------------*/
nav {
	width: 945px;
	margin: 0 auto;
	position: relative;
}

nav ul li {
	list-style: none;
	width: 189px;
	margin: 0 0 20px 0;
	float: left;
}

nav ul li {
    position: relative;
}

nav ul li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 12px;
    width: 1px;
    height: 20px;
    background-color: #D8D2C9;
    pointer-events: none;
}

nav ul li a img:nth-child(2){
	position: absolute;
	margin-left: -189px;
  transition: opacity 1s;
}

nav ul li a:hover img:nth-child(2){
  opacity: 0;
}


/*--------------------------------------------------------------------
Main
--------------------------------------------------------------------*/
div#Main {
    width: 100%;
    margin: 0 auto;
    background-color: #BEB981;
    box-sizing: border-box;
}
div#Main #movie video {
  width: 260px; /* 任意の横幅を指定 */
  display: block; /* margin効かすため */
  margin: 20px auto;/* 上下余白無し、左右中央 */
}
div#Main h2 {
    font-size: 14px;
    font-weight: bold;
    color: #403F3B;
    letter-spacing: 1px;
    margin:0;
    padding: 12px 24px;
	background-color: #BEB981;
	text-align: center;
	line-height: 1.5;
}
div#Main div#TopImg img {
    display: block;
    width: 700px;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

div#Main div#PortImg {
	margin: 5px auto 0 auto;
	text-align: center;
}
div#Main p {
    font-size: 13px;
    font-weight: 400;
    color: #715C50;
    letter-spacing: 0.5px;
    margin-top: 10px;
}
div#Main p.explanation {
    text-align: center;
}
div#Main p.banner-explanation {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.8;
}
div#Main table {
	width: 80%;
	margin: 10px auto 20px auto;
	border-collapse: collapse;
	border: 0 none;
}

div#Main table tr th {
	width: 25%;
	padding: 5px 10px;
	background: #80464F;
	border: 1px solid #610513;
	text-align: left;
	vertical-align: top;
	color: #F5F0E6;
}

div#Main table tr td {
	width: 75%;
	padding: 5px 10px;
	border: 1px solid #610513;
	text-align: left;
	vertical-align: top;
    color: #493026;
}

div#Main table tr td ul {
	padding: 0 0 0 8px;
	margin: 0 0 0 8px;
}

div#Main table tr td ol {
	padding: 0 0 0 8px;
	margin: 0 0 0 8px;
}
/*--------------------------------------------------------------------
pagetop
--------------------------------------------------------------------*/
p.pagetop {
	text-align: right;
}

/*--------------------------------------------------------------------
address
--------------------------------------------------------------------*/
address {
    clear: both;
    text-align: center;
    color: #504946;
    background-color: #BEB981;
    padding: 12px 0;
}



.botanical-left {
    position: fixed;
    width: 130px;
    height: auto;
    left: max(10px, calc((100vw - 945px) / 4 - 65px));
    top: auto;
    bottom: 50px;
    opacity: 0.65;
    pointer-events: none;
    z-index: 0;
}
.botanical-right {
    position: fixed;
    width: 110px;
    height: auto;
    right: max(10px, calc((100vw - 945px) / 4 - 55px));
    top: 170px;
    opacity: 0.45;
    pointer-events: none;
    z-index: 0;
}
body {
    background-color: #403F3B;
    background-image:
        radial-gradient(
            ellipse at 5% 25%,
            rgba(200, 166, 106, 0.09) 0%,
            transparent 38%
        ),
        radial-gradient(
            ellipse at 95% 65%,
            rgba(205, 196, 181, 0.10) 0%,
            transparent 40%
        ),
        radial-gradient(
            ellipse at 50% 100%,
            rgba(185, 176, 161, 0.05) 0%,
            transparent 50%
        );
    background-attachment: fixed;
}


/* 水彩のにじみ：左右共通 */
.mist-left,
.mist-right {
    position: fixed;
    width: 450px;
    height: auto;
    opacity: 0.19;
    pointer-events: none;
    z-index: 0;
}

/* 左側の水彩 */
.mist-left {
    left: -170px;
    top: -40px;
    transform: rotate(-15deg);
}

/* 右側の水彩 */
.mist-right {
    right: -170px;
    bottom: -40px;
    transform: rotate(160deg);
}

/* ゴールドの小さな光の粒 */
.gold-dust {
    position: fixed;
    width: 220px;
    height: 500px;
    pointer-events: none;
    z-index: 0;
    opacity:  0.35;

    background-image:
        radial-gradient(circle, #C8A66A 1.5px, transparent 2px),
        radial-gradient(circle, #C8A66A 1px, transparent 1.5px),
        radial-gradient(circle, #D8B983 2px, transparent 2.5px);

    background-size:
        65px 90px,
        95px 125px,
        130px 160px;

    background-position:
        10px 20px,
        40px 60px,
        80px 100px;
}

/* 左側の粒 */
.gold-dust-left {
    left: 0;
    top: 60px;
}

/* 右側の粒 */
.gold-dust-right {
    right: 0;
    bottom: 30px;
}

/* 左上のゴールドの円弧 */
.gold-arc {
    position: fixed;
    width: 320px;
    height: 320px;
    left: -190px;
    top: -190px;
    border: 1px solid rgba(200, 166, 106, 0.65);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
/* 右下のゴールドの円弧 */
.gold-arc-right {
    position: fixed;
    width: 360px;
    height: 360px;
    right: -210px;
    bottom: -210px;
    border: 1px solid rgba(200, 166, 106, 0.45);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}
.gold-arc-right2 {
    position: fixed;
    width: 260px;
    height: 260px;
    right: -150px;
    bottom: -120px;
    border: 1px solid rgba(200, 166, 106, 0.35);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;}

    .back-to-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #80464F;
    color: #F5F0E6;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
        text-align: right;
    margin-right: 20px;
}

.back-to-top:hover {
    background-color: #743A45;
    color: #F5F0E6;
    text-decoration: none;
}
    /* ブランド戦略資料 */
.brand-strategy {
    width: 700px;
    max-width: 100%;
    margin: 30px auto;
}

.brand-strategy a {
    display: block;
    width: 45%;
    margin-bottom: 25px;
}


/* 1枚目と3枚目を左寄せ */
.brand-strategy a:nth-of-type(odd) {
    margin-left: 0;
    margin-right: auto;
}

/* 2枚目を右寄せ */
.brand-strategy a:nth-of-type(even) {
    margin-left: auto;
    margin-right: 0;
    margin-top: -200px;
}
/* ブランド戦略資料：表紙を中央に配置 */
.brand-strategy .strategy-cover {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

.brand-strategy .strategy-cover a {
    display: block;
    width: 55%;
    margin: 0 auto;
}
/* ブランド戦略資料：2枚目の画像と説明文 */
.brand-strategy .strategy-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 40px 0;
}

.brand-strategy .strategy-row > a {
    width: 55%;
    flex-shrink: 0;
    margin: 0;
}

.brand-strategy .strategy-note {
    flex: 1;
    min-width: 0;
  color: #F5F1E8;
    background-color: #493026;
    border: 1px solid #B6A58E;
    padding: 18px;
    box-sizing: border-box;
}

.brand-strategy .strategy-note h4 {
    font-size: 15px;
    margin: 0 0 12px;
    color: #F5F1E8;
}
.brand-strategy .strategy-note h4::after {
    content: "";
    display: block;
    width: 70px;
    height: 4px;
    background-color: #E4AC27;
    margin-top: 10px;
}

div#Main section.brand-strategy .strategy-note p {
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
    color: #F5F1E8;
}
/* 画像を枠内に収める */
.brand-strategy img {
    display: block;
    width: 100%;
    height: auto;
}
/* ブランド戦略資料の3枚目を上に移動 */
.brand-strategy a:nth-of-type(3) {
    margin-top: -200px;
}
/* ブランド戦略資料の見出し・拡大案内 */
.brand-strategy h3 {
    color: #403F3B;
    font-size: 18px;
    text-align: center;
    margin: 0 0 8px;
}

.brand-strategy .zoom-guide {
    display: block;
    color: #715C50;
    font-size: 13px;
    text-align: center;
    margin: 0 0 25px;
    padding: 0;
}
/* SNSデザイン作品 */
.sns-works {
    width: 700px;
    max-width: 100%;
    margin: 40px auto;
    text-align: center;
}

.sns-works h3 {
    color: #403F3B;
    font-size: 18px;
    margin-bottom: 25px;
    letter-spacing: 2px;
}

.sns-works a {
    display: block;
    width: 55%;
    margin: 0 auto 35px;
}

.sns-works img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
div#Main table tr td p {
    color: #493026;
}
div#Main p.explanation {
    color: #493026;
}
div#Main section.brand-strategy p.zoom-guide {
    color: #716157;
}
div#Main section.sns-works p.sns-work-title {
    font-size: 16px;
    font-weight: 600;
    color: #493026;
    letter-spacing: 1px;
    text-align: center;
    margin: 28px 0 14px;
}