@charset "UTF-8";

/* サイト全体の基本設定 */

@font-face {
	font-family: 'EB Garamond';
	font-style: normal;
	font-weight: 400;
	src: url('../font/EB_Garamond/EBGaramond-Regular.woff2') format('woff2'),
		 url('../font/EB_Garamond/EBGaramond-Regular.woff') format('woff'),
		 url('../font/EB_Garamond/EBGaramond-Regular.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	font-style: normal;
	font-weight: 400;
	src: url('../font/Lato/Lato-Regular.woff2') format('woff2'),
		 url('../font/Lato/Lato-Regular.woff') format('woff'),
		 url('../font/Lato/Lato-Regular.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'Shippori Mincho';
	font-style: normal;
	font-weight: 400;
	src: url('../font/Shippori_Mincho/ShipporiMincho-Regular.woff2') format('woff2'),
		 url('../font/Shippori_Mincho/ShipporiMincho-Regular.woff') format('woff'),
		 url('../font/Shippori_Mincho/ShipporiMincho-Regular.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'Shippori Mincho';
	font-style: normal;
	font-weight: 500;
	src: url('../font/Shippori_Mincho/ShipporiMincho-Medium.woff2') format('woff2'),
		 url('../font/Shippori_Mincho/ShipporiMincho-Medium.woff') format('woff'),
		 url('../font/Shippori_Mincho/ShipporiMincho-Medium.ttf') format('truetype');
	font-display: swap;
}	

@font-face {
	font-family: 'Zen Kaku Gothic New';
	font-style: normal;
	font-weight: 400;
	src: url('../font/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.woff2') format('woff2'),
		 url('../font/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.woff') format('woff'),
		 url('../font/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Regular.ttf') format('truetype');
	font-display: swap;
}

@font-face {
	font-family: 'Zen Kaku Gothic New';
	font-style: normal;
	font-weight: 500;	
	src: url('../font/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Medium.woff2') format('woff2'),
		 url('../font/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Medium.woff') format('woff'),
		 url('../font/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Medium.ttf') format('truetype');
	font-display: swap;
}

:root {
	/* color */
	--color_white: #fff;

	--color_black01: #343832;
	--color_black01-op05: rgba(52, 56, 50, 0.5);	
	--color_black02: #595E55;

	--color_gray01: #8C9487;
	--color_gray02: #C8CFC4;
	--color_gray03: #EDF0EB;
	--gradient_gray: linear-gradient(to bottom, #EEF0ED, #E3E6E1);

	--color_primary01: #8FB576;
	--color_primary02: #D7E3CF;
	--color_primary03: #F0F7EB;

	--color_accent01: #CB4A76;
	--color_accent02: #EB83A6;
	--color_accent03: #F2A5BF;
	--color_accent04: #F7CDDB;
	--color_accent05: #F5E4E9;
	--color_accent06: #a1213f;

	/* box-shadow */
	--shadow01: 0px 3px 20px 0px rgba(89, 94, 85, 0.2);

	/* font */
	--ff_jp_sans-serif: YakuHanJP_Noto, "Zen Kaku Gothic New", "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	--ff_jp_serif: "Shippori Mincho", "Hiragino Mincho W3", "Hiragino Kaku Gothic ProN", "ヒラギノ明朝 ProN W3", "游明朝体", "Yu Mincho", "游明朝", "Yu Gothic", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "MS PMincho", serif;

	--ff_en_sans-serif: "Lato", sans-serif;
	--ff_en_serif: "EB Garamond", serif;

	--fw_jp_normal: 400;
	--fw_jp_bold: 500;
	--fw_en_normal: 400;
	--fw_en_bold: 500;

	/* content width */
	--content_w_sm: 432px;
	--content_w_md: 768px;
	--content_w_lg: 1276px;

	/* 縦 offset */
	--vertical_offset1: 160px;
	--vertical_offset2: 100px;
	--vertical_offset3: 80px;
	--vertical_offset4: 60px;
	--vertical_offset5: 40px;
	--vertical_offset6: 20px;
	--vertical_offset7: 10px;

	/* 横 offset */
	--horizontal_offset1: 112px;
	--horizontal_offset2: var(--vertical_offset3);
	--horizontal_offset3: var(--vertical_offset4);
	--horizontal_offset4: var(--vertical_offset5);
	--horizontal_offset5: var(--vertical_offset6);
	--horizontal_offset6: calc(var(--vertical_offset6) * 2);

	/* header height */
	--header_h: 80px;
	--header_h_sp: 60px;

	/* border-radius */
	--border_radius_normal: 8px;
}

* {box-sizing: border-box;}

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
}

body {
	font-family: var(--ff_jp_serif);
	width: 100%;
	font-size: 15px;
	line-height: 2.0;
	margin: 0 auto;
	font-weight: var(--fw_jp_normal);
	color: var(--color_black01);
	background-color: var(--color_white);
	overflow-x: hidden;
}

img {width: 100%; display: block;}

ol, ul, li {list-style-type: none;}

a {color: var(--color_black01); display: inline-block; text-underline-offset: 4px;}
a:hover {text-decoration: none;}

button {font-family: inherit; border: none; font-weight: var(--fw_jp_normal);}




/* レスポンシブ用の基本設定 */
.sp-only {display: none;}

/* スマートフォン用 */
@media screen and (max-width: 768px) {
	.sp-only {display: block;}
	.pc-only {display: none;}
}

/* 日本語ゴシックフォント */
.sans-serif {
	font-family: var(--ff_jp_sans-serif);
	font-weight: var(--fw_jp_normal);
}

/* 日本語明朝フォント */
.serif {
	font-family: var(--ff_jp_serif);
	font-weight: var(--fw_jp_normal);
}

/* 英字セリフフォント */
.en {
	font-family: var(--ff_en_serif);
	font-weight: var(--fw_en_normal);
}

/* 英字サンセリフフォント */
.sans-serif-en {
	font-family: var(--ff_en_sans-serif);
	font-weight: var(--fw_en_normal);
}

/* 共通フレーム基本設定 */
main {
	padding-top: 80px;
}

.wrapper {
	margin: 160px auto;
}

.container {
	width: 90%;
	max-width: var(--content_w_lg);
	margin: 0 auto;
}

.text {
	text-align: justify;
}

/* フォントサイズ */
.fs10 {font-size: 10px;}
.fs11 {font-size: 11px;}
.fs12 {font-size: 12px;}
.fs15 {font-size: clamp(14px, 15 / 768 * 100vw, 15px);}
.fs16 {font-size: clamp(15px, 16 / 768 * 100vw, 16px);}
.fs18 {font-size: clamp(16px, 18 / 768 * 100vw, 18px);}
.fs20 {font-size: clamp(18px, 20 / 768 * 100vw, 20px);}
.fs24 {font-size: clamp(18px, 24 / 768 * 100vw, 24px);}
.fs28 {font-size: clamp(20px, 28 / 768 * 100vw, 28px);}
.fs32 {font-size: clamp(20px, 32 / 768 * 100vw, 32px);}
.fs36 {font-size: clamp(22px, 36 / 768 * 100vw, 36px);}
.fs48 {font-size: clamp(24px, 48 / 768 * 100vw, 48px);}
.fs152 {font-size: clamp(40px, 152 / 1280 * 100vw, 152px);}

/* 画像設定 */
.img--cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.img--contain {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* 装飾用テキスト設定 */
.txtDeco--center, .txtDeco--left, .txtDeco--right {
	position: absolute;
	top: -0.83em;
	left: 0;
	z-index: -1;
	line-height: 1.0;
	letter-spacing: 0.05em;
	color: var(--color_primary03);
	width: 100%;
}
.txtDeco--center {
	text-align: center;
}
.txtDeco--left {
	text-align: left;
}
.txtDeco--right {
	text-align: right;
}

/* 装飾用テキスト設定 */
/* .txtDeco--left::after, .txtDeco--right::after {
	bottom: calc(100% - 0.8em);
	letter-spacing: 0.1em;
} */

/* 装飾用画像設定 */
.decoBird-left--primary {
	position: relative;
}
.decoBird-left--primary::before {
	content: "";
	position: absolute;
	top: -80px;
	left: -48px;
	z-index: 2;
	width: clamp(104px, 18vw, 200px);
	aspect-ratio: 106/79;
	background-image: url(../img/common/illust_bird01.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.decoForest-left--primary {
	position: relative;
}
.decoForest-left--primary::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: clamp(140px, 28vw, 240px);
	aspect-ratio: 1/1;
	background-image: url(../img/common/illust_forest_left02_bird.svg);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: contain;
}

.decoForest-left--secondary {
	position: relative;
}
.decoForest-left--secondary::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
	width: clamp(160px, 28vw, 480px);
	aspect-ratio: 1/1;
	background-image: url(../img/common/illust_forest_left01.svg);
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: contain;
}

.decoFlower-left--primary {
	position: relative;
}
.decoFlower-left--primary::before {
	content: "";
	position: absolute;
	top: -60px;
	left: -152px;
	z-index: 2;
	width: clamp(104px, 20vw, 156px);
	aspect-ratio: 155/122;
	background-image: url(../img/common/illust_3flower01.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.decoFlower-left--secondary {
	position: relative;
}
.decoFlower-left--secondary::before {
	content: "";
	position: absolute;
	top: -40px;
	left: -40px;
	z-index: 2;
	width: clamp(80px, 16vw, 104px);
	aspect-ratio: 127/126;
	background-image: url(../img/common/illust_3flower02.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.decoButterfly-left--primary {
	position: relative;
}
.decoButterfly-left--primary::before {
	content: "";
	position: absolute;
	top: -80px;
	left: -64px;
	z-index: 2;
	width: clamp(100px, 20vw, 140px);
	aspect-ratio: 1/1;
	background-image: url(../img/common/illust_butterfly-2flower.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.decoButterfly-left--secondary {
	position: relative;
}
.decoButterfly-left--secondary::before {
	content: "";
	position: absolute;
	top: -48px;
	left: -60px;
	z-index: 2;
	width: clamp(80px, 14vw, 120px);
	aspect-ratio: 117/94;
	background-image: url(../img/common/illust_buttefly01.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.decoBird-right--primary {
	position: relative;
}
.decoBird-right--primary::after {
	content: "";
	position: absolute;
	top: -70px;
	right: -70px;
	z-index: 2;
	width: clamp(120px, 24vw, 200px);
	aspect-ratio: 16/15;
	background-image: url(../img/common/illust_bird02.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.decoBird-right--secondary {
	position: relative;
}
.decoBird-right--secondary::after {
	content: "";
	position: absolute;
	top: -80px;
	right: -48px;
	z-index: 2;
	width: clamp(80px, 18vw, 126px);
	aspect-ratio: 118/143;
	background-image: url(../img/common/illust_bird03.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.decoForest-right--primary {
	position: relative;
}
.decoForest-right--primary::after {
	content: "";
	position: absolute;
	bottom: -60px;
	right: 0;
	z-index: 2;
	width: clamp(140px, 28vw, 240px);
	aspect-ratio: 1/1;
	background-image: url(../img/common/illust_forest_right01.svg);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: contain;
}

.decoForest-right--secondary {
	position: relative;
}
.decoForest-right--secondary::after {
	content: "";
	position: absolute;
	bottom: -60px;
	right: 0;
	z-index: 2;
	width: clamp(180px, 35vw, 480px);
	aspect-ratio: 1/1;
	background-image: url(../img/common/illust_forest_right02_butterfly.svg);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: contain;
}

.decoForest-right--tertiary {
	position: relative;
}
.decoForest-right--tertiary::after {
	content: "";
	position: absolute;
	bottom: -60px;
	right: 0;
	z-index: 2;
	width: clamp(240px, 35vw, 480px);
	aspect-ratio: 1/1;
	background-image: url(../img/common/illust_forest_right03_bird.svg);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: contain;
}

.decoForest-right--quaternary {
	position: relative;
}
.decoForest-right--quaternary::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 0;
	width: clamp(240px, 35vw, 480px);
	aspect-ratio: 1/1;
	background-image: url(../img/common/illust_forest_right01.svg);
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: contain;
}

.decoFlower-right--primary {
	position: relative;
}
.decoFlower-right--primary::after {
	content: "";
	position: absolute;
	bottom: -32px;
	right: -64px;
	z-index: 2;
	width: clamp(104px, 20vw, 156px);
	aspect-ratio: 155/122;
	background-image: url(../img/common/illust_3flower.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}



/* ヘッダー設定 */
#header-block {
	position: fixed;
	top: 0;
	background-color: var(--color_white);
	width: 100%;
	z-index: 999;
	height: var(--header_h);
	padding: 0 20px;
	transition: 0.6s;
	-webkit-transition: 0.6s;
	-moz-transition: 0.6s;
	-ms-transition: 0.6s;
	-o-transition: 0.6s;
}

#header-block .header__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	margin: 0 auto;
}

#header-block .header__logo {
	width: 15%;
	max-width: 160px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#header-block .nav-outline {
	width: 85%;
}

#header-block .nav-unit {
	width: calc(100% - 40px);
	margin-left: auto;
}

#header-block .header__nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-family: var(--ff_jp_sans-serif);
}

#header-block .header__nav > ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
}

#header-block .header__nav > ul > li {
	padding: 0 20px;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	position: relative;
}

#header-block .header__nav > ul > li > a {
	color: var(--color_black01);
	text-decoration: none;
	text-align: center;
	height: var(--header_h);
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
}

#header-block .header__nav > ul > li > a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--color_accent01);
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transform: scale(0, 1);
	-webkit-transform: scale(0, 1);
	-moz-transform: scale(0, 1);
	-ms-transform: scale(0, 1);
	-o-transform: scale(0, 1);
	transform-origin: left top;
}

#header-block .header__nav > ul > li:hover > a::after {
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
	-moz-transform: scale(1, 1);
	-ms-transform: scale(1, 1);
	-o-transform: scale(1, 1);
}

#header-block .header__nav > ul > li > .nav-child {
	visibility: hidden;
	opacity: 0;
	position: fixed;
	top: 60px;
	left: 0;
	width: 100%;
	background-color: var(--color02);
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 30px 5%;
	gap: 16px 30px;
}

#header-block .header__nav > ul > li:hover > .nav-child {
	visibility: visible;
	opacity: 1;
}

#header-block .header__nav .nav-child > li > a {
	font-size: 14px;
	line-height: 1.5;
	color: var(--color_black01);
	text-decoration: none;
	padding: 0 0 0 20px;
	width: 100%;
	position: relative;
	text-align: left;
	background-color: var(--color02);
	display: block;
	transition: all 0.3s;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
}

#header-block .header__nav .nav-child > li > a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	background-color: var(--color_black01);
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	width: 16px;
	aspect-ratio: 1/1;
	background-image: url(../img/common/icon_arrow-forward_white.svg);
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: center;
}

#header-block .header__nav .nav-child > li > a:hover {
	text-decoration: underline;
	text-underline-offset: 8px;
}

#header-block .header__nav .nav-btn {
	margin-left: 10px;
	/* width: 100%;
	max-width: 60px; */
	display: flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
}

#header-block .header__nav .nav-btn .nav-btn__link {
	width: 100%;
	height: 2.8em;
	padding: 1em 1.5em;
	background-color: var(--color_black01);
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: var(--color_white);
}

#header-block .header__nav .nav-btn .nav-btn__link:hover {
	background-color: var(--color_accent01);
}



/* CTA設定 */
#cta-block.decoForest-right--secondary::after {
	bottom: -160px;
}

#cta-block .cta__content--primary {
	padding: 100px 5%;
	background: var(--gradient_gray);
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	position: relative;
}

#cta-block .cta__content--secondary {
	padding: 60px 5%;
	background: var(--color_primary02);
	border-radius: var(--border_radius_normal);
	-webkit-border-radius: var(--border_radius_normal);
	-moz-border-radius: var(--border_radius_normal);
	-ms-border-radius: var(--border_radius_normal);
	-o-border-radius: var(--border_radius_normal);
	position: relative;
}

#cta-block .txtDeco {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	font-size: clamp(24px, 142 / 1396 * 100vw, 142px);
	line-height: 0.63;
	letter-spacing: 0.05em;
	text-align: center;
}

#cta-block .txtDeco span {
	display: block;
}

#cta-block .txtDeco span:nth-of-type(1) {
	color: rgba(255, 255, 255, 0.7);
}
#cta-block .txtDeco span:nth-of-type(2) {
	color: rgba(255, 255, 255, 0.3);
}

#cta-block .txtDeco span {
	display: block;
}

#cta-block .ttl-unit {
	text-align: center;
	position: relative;
	z-index: 2;
}

#cta-block .cta-ttl {
	font-family: var(--ff_jp_sans-serif);
	line-height: 1.4;
	letter-spacing: 0.05em;
	font-weight: var(--fw_jp_normal);
}

#cta-block .ttl-notes {
	margin-top: 8px;
}

#cta-block .inner {
	position: relative;
	z-index: 3;
	margin-top: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px 6%;
}

#cta-block .tel-unit {
	width: 47%;
}

#cta-block .tel-unit .tel__item {
	width: fit-content;
	margin-left: auto;
	font-family: var(--ff_jp_sans-serif);
}

#cta-block .tel-unit .tel-ttl {
	line-height: 1.4;
}

#cta-block .tel-unit .tel__item a {
	line-height: 1.4;
	text-decoration: none;
	font-family: var(--ff_jp_sans-serif);
	letter-spacing: 0.05em;
}

#cta-block .link-btn__unit {
	width: 47%;
	margin-top: 0;
}

#cta-block .link-btn__unit .link-btn--cta {
	display: block;
	max-width: 320px;
	padding: 24px 3.0em 24px 2.0em;
	background-color: var(--color_white);
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	-ms-border-radius: 50px;
	-o-border-radius: 50px;
	font-family: var(--ff_en_sans-serif);
	line-height: 1.4;
	text-decoration: none;
	position: relative;
	box-shadow: 5px 5px 20px 0px rgba(215, 227, 207, 0.5);
}

#cta-block .link-btn__unit .link-btn--cta::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.3em;
	width: 24px;
	height: 24px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	background-image: url(../img/common/button_green_circle_small.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transition: .3s;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
}

#cta-block .link-btn__unit .link-btn--cta:hover::after {
	transform: translateY(-50%) scale(1.2);
	-webkit-transform: translateY(-50%) scale(1.2);
	-moz-transform: translateY(-50%) scale(1.2);
	-ms-transform: translateY(-50%) scale(1.2);
	-o-transform: translateY(-50%) scale(1.2);
}

#cta-block .link-btn__unit .link-btn--cta span {
	padding-left: 40px;
	position: relative;
}

#cta-block .link-btn__unit .link-btn--cta span::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 32px;
	height: 32px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	background-image: url(../img/common/icon_mail_green.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}



/* フッター設定 */
#footer-block {
	background-color: var(--color_gray01);
	color: var(--color_white);
	position: relative;
}

#footer-block::after {
	content: "PRODUCED BY";
	position: absolute;
	top: -0.83em;
	left: 0;
	z-index: 2;
	font-family: var(--ff_en_serif);
	font-size: clamp(40px, 10.2vw, 84px);
	line-height: 1.0;
	color: var(--color_gray01);
}

#footer-block .footer__container {
	width: calc(100% - var(--vertical_offset3) * 2);
	max-width: var(--content_w_lg);
	margin: 0 auto;
	padding: var(--vertical_offset3) 0;
	color: var(--color_white);
}

#footer-block .footer__content {
	display: grid;
	grid-template-columns: 24% 1fr;
	gap: var(--vertical_offset3) 5%;
	font-family: var(--ff_jp_sans-serif);
}

#footer-block .footer__content .footer__logo {
	max-width: 320px;
}

#footer-block .footer__content .footer__logo.--nagataya {
	display: flex;
	align-items: baseline;
	gap: 0 1.0em;
}

#footer-block .footer__content .footer__logo.--nagataya p {
	min-width: 40px;
}

#footer-block .footer__content address {
	font-size: 14px;
	line-height: 1.8;
	font-style: normal;
	margin-top: 16px;
}

#footer-block .footer__content .footer__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 3%;
}

#footer-block .footer__content .footer__nav ul li {
	width: fit-content;
}

#footer-block .footer__content .footer__nav a {
	color: var(--color_white);
	text-decoration: none;
}

#footer-block .footer__content .footer__nav a:hover {
	text-decoration: underline;
}

#footer-block .footer__content .footer__sub-nav-list {
	margin-top: 40px;
}

#footer-block .footer__copyrights {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: var(--color_gray01);
	text-align: center;
	padding: 16px;
	background-color: var(--color_white);
}


/* フッターフローティングメニュー設定 */
#footer-floating-block {
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 980;
	width: 100%;
	height: 70px;
	box-shadow: 0px -5px 10px 0px rgba(153, 153, 153, 0.3);
}

#footer-floating-block ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#footer-floating-block ul li {
	width: 25%;
	height: 70px;
	border-left: 1px solid var(--color_gray03);
}

#footer-floating-block ul li:first-of-type {
	border-left: none;
}

#footer-floating-block a {
	width: 100%;
	height: 100%;
	background-color: var(--color_gray01);
	padding: 10px 8px;
	font-size: 12px;
	text-align: center;
	text-decoration: none;
	color: var(--color_white);
	font-family: var(--ff_en_sans-serif);
}

#footer-floating-block a figure {
	width: 40%;
	aspect-ratio: 1/1;
	max-width: 32px;
	min-width: 16px;
	margin: 0 auto 2px;
}



/* h1基本設定（下層ページタイトル） */
#page-title-block--primary {
	background-color: var(--color_primary02);
	margin-top: 80px;
}

#page-title-block--primary .content {
	display: flex;
	justify-content: space-between;
	gap: 0 6%;
	position: relative;
}

#page-title-block--primary figure {
	margin-left: calc(50% - 50vw);
	width: calc(63% + calc(50vw - 50%));
	height: 528px;
	margin-top: -80px;
	margin-bottom: 80px;
	border-radius: 0 0 40px 0;
	-webkit-border-radius: 0 0 40px 0;
	-moz-border-radius: 0 0 40px 0;
	-ms-border-radius: 0 0 40px 0;
	-o-border-radius: 0 0 40px 0;
	overflow: hidden;
}

#page-title-block--primary .inner {
	width: 31%;
	padding: 60px 0;
}

#page-title-block--primary .page-ttl {
	line-height: 1.2;
	font-weight: var(--fw_jp_normal);
}

#page-title-block--primary .lead {
	margin-top: 30px;
}

#page-title-block--primary .txtDeco--pt {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
	font-family: var(--ff_en_serif);
	font-size: clamp(48px, 180 / 1200 * 100vw, 180px);
	line-height: 0.7;
	letter-spacing: 0.1em;
	text-align: right;
	color: var(--color_white);
}

#page-title-block--secondary {
	background-color: var(--color_primary02);
}

#page-title-block--secondary .content {
	padding: 80px 0 160px;
	position: relative;
}

#page-title-block--secondary .page-ttl {
	line-height: 1.2;
	font-weight: var(--fw_jp_normal);
	text-align: center;
}

#page-title-block--secondary .txtDeco--pt {
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 2;
	font-family: var(--ff_en_serif);
	font-size: clamp(48px, 180 / 1200 * 100vw, 180px);
	line-height: 0.7;
	letter-spacing: 0.1em;
	text-align: right;
	color: var(--color_white);
}



/* h2基本設定(コンテンツタイトル) */
.cont-ttl--primary,
.cont-ttl--secondary,
.cont-ttl--tertiary {
	margin-bottom: 30px;
	font-weight: var(--fw_jp_normal);
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.cont-ttl--primary {
	text-align: center;
}

.cont-ttl--secondary {
	text-align: left;
}

.cont-ttl--tertiary {
	text-align: right;
}



/* リンクボタン基本設定 */
.link-btn__unit {
	margin-top: 30px;
}

.link-btn__unit .link-btn--primary,
.link-btn__unit .link-btn--secondary {
	display: block;
	max-width: 260px;
	padding: 20px 3.0em 20px 1.5em;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	-ms-border-radius: 50px;
	-o-border-radius: 50px;
	font-family: var(--ff_jp_sans-serif);
	line-height: 1.4;
	text-decoration: none;
	position: relative;
	box-shadow: 5px 5px 20px 0px rgba(215, 227, 207, 0.5);
}
.link-btn__unit .link-btn--primary {
	background-color: var(--color_white);
}
.link-btn__unit .link-btn--secondary {
	background-color: var(--color_primary01);
	color: var(--color_white);
}


.link-btn__unit .link-btn--primary::after,
.link-btn__unit .link-btn--secondary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.0em;
	width: 24px;
	height: 24px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transition: .3s;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
}
.link-btn__unit .link-btn--primary::after {
	background-image: url(../img/common/button_green_circle_small.svg);
}
.link-btn__unit .link-btn--secondary::after {
	background-image: url(../img/common/button_white_circle_small.svg);
}

.link-btn__unit .link-btn--primary:hover::after,
.link-btn__unit .link-btn--secondary:hover::after {
	transform: translateY(-50%) scale(1.2);
	-webkit-transform: translateY(-50%) scale(1.2);
	-moz-transform: translateY(-50%) scale(1.2);
	-ms-transform: translateY(-50%) scale(1.2);
	-o-transform: translateY(-50%) scale(1.2);
}




/* パンクズリスト設定 */
.breadcrumbs-block {
	width: 90%;
	margin: 0 auto;
	font-size: 13px;
	padding: 16px 0;
}

.breadcrumbs-block ol {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumbs-block ol li {
	position: relative;
	padding-right: 1.6em;
	display: inline-block;
}

.breadcrumbs-block ol li:last-of-type {
	padding-right: 0;
}

.breadcrumbs-block ol li::after {
	content: "／";
	position: absolute;
	top: 50%;
	right: 0.3em;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	color: currentColor;
}

.breadcrumbs-block ol li:last-of-type::after {
	content: none;
}

.breadcrumbs-block a {
	color: var(--color_black01);
	text-decoration: none;
}

.breadcrumbs-block a:hover {
	text-decoration: underline;
}



/* 下層サブナビ設定 */
#sub-nav-block {
	padding: 80px 0;
	margin-bottom: 0;
	background-color: var(--color_gray03);
}

#sub-nav-block ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 1.5%;
}

#sub-nav-block ul li {
	border-radius: var(--border_radius_normal);
	overflow: hidden;
}

#sub-nav-block .list--secondary li {
	width: 23.8%;
}

#sub-nav-block .list--tertiary li {
	width: 15.4%;
}

#sub-nav-block a {
	width: 100%;
	height: 100%;
	display: block;
	background-color: var(--color_white);
	color: var(--color_black01);
	text-decoration: none;
}

#sub-nav-block figure {
	aspect-ratio: 3/2;
	overflow: hidden;
}

#sub-nav-block a figure img {
	transition: 0.3s;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-ms-transition: 0.3s;
	-o-transition: 0.3s;
}

#sub-nav-block a:hover figure img {
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
}

#sub-nav-block .ttl {
	font-size: clamp(13px, 1.8vw, 16px);
	line-height: 1.5;
	padding: 0.5em;
}



/* グローバルナビの設定 */
	/* ハンバーガーはデフォルトで非表示 */
	.nav-burger-unit {
		display: none;
	}

	/*** ハンバーガーボタン ***/
	.nav-burger-unit .open-btn {
		position: absolute;
		z-index: 9999;
		top: 5px;
		right: 5px;
		cursor: pointer;
		width: 50px;
		height: 50px;
	}

	/* ×に変化 */
	.nav-burger-unit .open-btn span {
		display: inline-block;
		position: absolute;
		left: 14px;
		height: 2px;
		border-radius: 0;
		background-color: var(--color_black01);
		width: 45%;
		transition: all 0.4s;
		-webkit-transition: all 0.4s;
		-moz-transition: all 0.4s;
		-ms-transition: all 0.4s;
		-o-transition: all 0.4s;
	}

	.nav-burger-unit .open-btn span:nth-of-type(1) {
		top:15px;
	}

	.nav-burger-unit .open-btn span:nth-of-type(2) {
		top:23px;
	}

	.nav-burger-unit .open-btn span:nth-of-type(3) {
		top:31px;
	}

	.nav-burger-unit .open-btn.active {
		position: fixed;
	}

	.nav-burger-unit .open-btn.active span:nth-of-type(1) {
		top: 18px;
		left: 15px;
		width: 40%;
		transform: translateY(6px) rotate(-45deg);
		-webkit-transform: translateY(6px) rotate(-45deg);
		-moz-transform: translateY(6px) rotate(-45deg);
		-ms-transform: translateY(6px) rotate(-45deg);
		-o-transform: translateY(6px) rotate(-45deg);
	}

	.nav-burger-unit .open-btn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.nav-burger-unit .open-btn.active span:nth-of-type(3){
		top: 30px;
		left: 15px;
		width: 40%;
		transform: translateY(-6px) rotate(45deg);
		-webkit-transform: translateY(-6px) rotate(45deg);
		-moz-transform: translateY(-6px) rotate(45deg);
		-ms-transform: translateY(-6px) rotate(45deg);
		-o-transform: translateY(-6px) rotate(45deg);
	}

	/*** ハンバーガーメニュー ***/
	.header__nav-burger {
		position: fixed;
		z-index: 999;
		top: 0;
		right: -200%;
		width: 100%;
		max-width: var(--content_w_sm);
		height: 100vh;
		background: var(--color_white);
		transition: all 0.6s;
		-webkit-transition: all 0.6s;
		-moz-transition: all 0.6s;
		-ms-transition: all 0.6s;
		-o-transition: all 0.6s;
	}

	.header__nav-burger.panel-active {
		right: 0;
	}

	/* ナビゲーションの縦スクロール */
	.header__nav-burger.panel-active .nav-burger__inner {
		position: fixed;
		z-index: 999;
		width: 100%;
		max-width: var(--content_w_sm);
		height: 100vh;
		margin: 0 auto;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		padding: 20px 0;
	}

	/* ナビゲーション内のロゴ */
	.header__nav-burger .nav-burger__logo {
		width: 50%;
		max-width: 200px;
		margin: 0 auto;
	}


	/* ナビゲーション */
	.nav-burger__list > ul {
		margin: 20px auto;
		width: 90%;
	}

	/* リストのレイアウト設定 */
	.nav-burger__list > ul > li {
		list-style: none;
		text-align: center;
		border-bottom: solid 1px #dfdfdf;
	}

	.nav-burger__link {
		padding: 20px 35px 20px 5px;
		position: relative;
		z-index: +1;
		cursor: pointer;
		transition: .35s;
		font-size: 17px;
		line-height: 1.5;
		font-weight: var(--fw_jp_bold);
		letter-spacing: 0.05em;
		text-align: left;
		-webkit-transition: .35s;
		-moz-transition: .35s;
		-ms-transition: .35s;
		-o-transition: .35s;
	}

	.nav-burger__link > a {
		display: block;
		text-decoration: none;
		color: var(--color_black01);
	}

	.nav-burger__link .add-mark {
		position: absolute;
		top: 50%;
		right: 5px;
		width: 16px;
		height: 16px;
		margin-top: -10px;
	}

	.add-mark:before, .add-mark:after {
		position: absolute;
		content: "";
		margin: auto;
		vertical-align: middle;
	}

	.add-mark:before {
		border-top: 2px solid var(--color_black01);
		width: 14px;
		height: 0;
		top: 6px;
		bottom: 0;
		right: 0;
	}

	.add-mark:after {
		border-left: 2px solid var(--color_black01);
		width: 0;
		height: 14px;
		top: 6px;
		bottom: 0;
		left: 8px;
		transition: .3s;
		-webkit-transition: .3s;
		-moz-transition: .3s;
		-ms-transition: .3s;
		-o-transition: .3s;
	}

	.nav-burger__link.open .add-mark:after {
		height: 0;
	}

	.nav-burger__link-child {
		display: none;
		padding: 0 8px 20px 8px;
	}

	.nav-burger__link-child a {
		text-align: left;
		display: block;
		font-size: 15px;
		letter-spacing: 0.05em;
		margin-bottom: 10px;
		position: relative;
		padding: 0 1em 0 1em;
		color: var(--color_black01);
		text-decoration: none;
	}

	.nav-burger__link-child a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%) rotate(45deg);
		-webkit-transform: translateY(-50%) rotate(45deg);
		-moz-transform: translateY(-50%) rotate(45deg);
		-ms-transform: translateY(-50%) rotate(45deg);
		-o-transform: translateY(-50%) rotate(45deg);
		width: 0.35em;
		height: 0.35em;
		border: 1px solid currentColor;
		border-left: none;
		border-bottom: none;
	}

	.nav-burger__link-child li:last-of-type a {
		margin-bottom: 0;
	}
	/*** ハンバーガーメニュー-end ***/

	/*** ハンバーガーマスク ***/
	.nav-burger-unit .mask  {
		visibility: hidden;
		transition: all 0.6s;
		-webkit-transition: all 0.6s;
		-moz-transition: all 0.6s;
		-ms-transition: all 0.6s;
		-o-transition: all 0.6s;
	}

	/* ナビゲーション展開後の余白部分 */
	.nav-burger-unit .mask.active  {
		visibility: visible;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #000;
		opacity: 0.8;
		z-index: 990;
		cursor: pointer;
	}
	/*** ハンバーガーマスクend ***/


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

	/* グローバルナビ切り替え */
	#header-block .header__nav > ul > li {
		padding: 0 8px;
		font-size: 14px;
	}

}

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

	/* 共通フレーム基本設定 */
	main {
		padding-top: 60px;
	}

	/* グローバルナビ切り替え */
	#header-block {
		height: var(--header_h_sp);
	}

	#header-block .nav-burger-unit {
		display: block;
	}

	#header-block .header__nav > ul {
		display: none;
	}

	#header-block .header__logo {
		width: calc(100% - 110px);
		max-width: 120px;
	}

	#header-block .nav-outline {
		width: 110px;
	}

	#header-block .header__nav .nav-btn {
		display: none;
	}

}


/* スマートフォン用 */
@media screen and (max-width: 768px) {

	body {
		font-size: 14px;
		line-height: 1.8;
	}


	/* 共通フレーム基本設定 */
	.wrapper {
		margin: 80px auto;
	}


	/* 装飾用画像設定 */
	.decoBird-left--primary::before {
		top: -40px;
		left: -20px;
	}

	.decoFlower-left--primary::before {
		top: auto;
		bottom: calc(100% + 8px);
		left: -16px;
	}

	.decoButterfly-left--primary::before {
		top: -40px;
		left: -16px;
	}

	.decoButterfly-left--secondary::before {
		top: -40px;
		left: -16px;
	}


	.decoBird-right--primary::after {
		top: -60px;
		right: -32px;
	}

	.decoBird-right--secondary::after {
		top: -60px;
		right: -16px;
	}

	.decoForest-right--primary::after {
		bottom: -40px;
	}

	.decoForest-right--secondary::after {
		bottom: -40px;
	}

	.decoForest-right--tertiary::after {
		bottom: -40px;
	}

	.decoFlower-right--primary::after {
		bottom: -24px;
		right: -16px;
	}



	/* CTA設定 */
	#cta-block.decoForest-right--secondary::after {
		bottom: -80px;
	}

	#cta-block .cta__content--primary {
		padding: 40px 30px;
	}

	#cta-block .cta__content--secondary {
		padding: 40px 30px;
	}

	#cta-block .inner {
		margin-top: 40px;
		flex-direction: column;
	}

	#cta-block .tel-unit {
		width: 100%;
	}

	#cta-block .tel-unit .tel__item {
		margin: 0 auto;
		text-align: center;
	}

	#cta-block .link-btn__unit {
		width: 100%;
	}

	#cta-block .link-btn__unit .link-btn--cta {
		margin: 0 auto;
	}



	/* フッター設定 */
	#footer-block {
		padding-bottom: 70px;
	}

	#footer-block .footer__container {
		width: 90%;
		padding: 40px 0;
	}

	#footer-block .footer__content {
		display: block;
	}

	#footer-block .footer__content .footer__logo {
		max-width: 240px;
		margin: 0 auto;
		margin-bottom: 24px;
	}

	#footer-block .footer__content .footer__producer {
		margin-top: 36px;
	}

	#footer-block .footer__content .footer__logo.--nagataya {
		margin-bottom: 0;
	}

	#footer-block .footer__content address {
		font-size: 13px;
		line-height: 1.6;
		text-align: center;
		margin-top: 8px;
	}

	#footer-block .footer__content .footer__nav ul.footer__nav-list {
		display: none;
	}

	#footer-block .footer__content .footer__sub-nav-list {
		margin-top: 24px;
		justify-content: center;
	}

	#footer-block .footer__copyrights {
		font-size: 12px;
	}



	/* h1基本設定（下層ページタイトル） */
	#page-title-block--primary {
		margin-top: 60px;
	}

	#page-title-block--primary .content {
		flex-direction: column;
	}

	#page-title-block--primary figure {
		width: calc(100% + calc(50vw - 50%));
		height: 240px;
		margin-top: -60px;
		margin-bottom: 60px;
	}

	#page-title-block--primary .inner {
		width: 100%;
		padding: 0 0 max(28vw, 130px);
	}

	#page-title-block--primary .lead {
		margin-top: 16px;
	}

	#page-title-block--secondary .content {
		padding: 80px 0 120px;
	}


	/* h2基本設定(コンテンツタイトル) */
	.cont-ttl--primary,
	.cont-ttl--secondary,
	.cont-ttl--tertiary {
		margin-bottom: 16px;
	}



	/* リンクボタン基本設定 */
	.link-btn__unit {
		margin-top: 20px;
	}



	/* パンクズリスト設定 */
	.breadcrumbs-block {
		font-size: 12px;
	}



	/* 下層サブナビ設定 */
	#sub-nav-block {
		padding: 40px 0;
	}

	#sub-nav-block ul {
		gap: 20px 2%;
	}

	#sub-nav-block .list--primary li {
		width: 32%;
	}

	#sub-nav-block .list--secondary li {
		width: 32%;
	}

	#sub-nav-block .list--tertiary li {
		width: 23.8%;
	}

}



/* スマートフォン用 */
@media screen and (max-width: 432px) {

	/* 下層サブナビ設定 */
	#sub-nav-block .list--primary li {
		width: 49%;
	}

	#sub-nav-block .list--secondary li {
		width: 49%;
	}

	#sub-nav-block .list--tertiary li {
		width: 32%;
	}

}
