/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

header {
	display: none;
}
.top .w-beforeFooter {
	margin: 0 !important;
}
.post_content small {
	opacity: 1 !important;
}
body {
	background: #111;
}
.c--inner {
	width: 100%;
	padding: 0 3%;
}
.top #content {
	padding: 0;
	margin-bottom: 0;
}
.top #main_content .post_content {
	background: url(bg02.webp) repeat-y center / cover;
	padding: 0 !important;
}
.top #main_visual {
	z-index: 999;
}
.top section.wp-block-group,
.top section .wp-block-group {
	margin-bottom: 0;
}
.top p {
	font-size: min(4.5vw, 1.5rem);
}
.top h2,
.top h3,
.top h4 {
	font-family: 'Noto Serif JP', serif;
}
.top h2 {
	position: relative;
	font-size: 5em;
	font-weight: normal;
	padding: 0;
	margin: 0 !important;
}
.top h3 {
	font-size: min(8vw, 2.75rem);
	font-weight: 600;
	margin: 0.8em 0;
}
.top h4 {
	font-size: 1.5rem;
	font-weight: normal;
	margin-top: 1em;
	margin-bottom: 0.5em;
}
h2.ttl-sec-main,
h3.ttl-sec-main {
	position: relative;
	font-size: min(13vw, 5rem);
	font-family: 'Noto Serif JP', serif;
	font-weight: 300;
	padding: 0;
	color: #fff;
	margin-bottom: 0.8em !important;
}
h3.ttl-sec-main {
	font-size: min(8vw, 2.75rem);
}
h2.ttl-sec-main::after,
h3.ttl-sec-main::after {
	position: absolute;
	content: '';
	top: 115%;
	left: 50%;
	width: 30%;
	height: 0.05em;
	transform: translateX(-50%);
	background: #b4be6b;
}
.ttl-sec-main.black {
	color: #222;
}
h2.ttl-sec-owner {
	font-size: min(5.5vw, 2.25rem);
	max-width: 600px;
	margin: 0 auto !important;
}
h2.ttl-sec-owner span {
	display: inline-block;
	background: #fff;
	font-weight: 600;
	color: #333;
	line-height: 1;
	padding: 8px;
	margin: 0 0.2em;
}
h2.ttl-sec-owner strong {
	font-size: 140%;
	font-family: sans-serif;
	display: inline-block;
	margin-top: 16px;
}
h2.ttl-sec-owner strong span {
	font-family: 'Noto Serif JP', serif;
}
h2.ttl-sec-big {
	font-size: min(6.7vw, 2.5rem);
	font-weight: 500;
}
h2.ttl-sec-big .big {
	font-size: 130%;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	color: #9f841e;
	background-image: linear-gradient(
		48deg,
		#c0a143 45%,
		#f9e297 50%,
		#c0a143 55%
	);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin: 0 8px;
}
h2.ttl-sec-big span {
	display: block;
	font-family: sans-serif;
	font-size: 80%;
}
p.ta-c {
	text-align: center;
}
.text-contents p {
	line-height: 2.5;
	max-width: 600px;
	margin: 0 auto;
}
.text-contents p > span {
	display: inline-block;
	background: #fff;
	font-size: 120%;
	font-weight: 600;
	color: #333;
	line-height: 1;
	padding: 8px;
	margin: 0 0.2em;
	word-break: keep-all;
}

.sans-serif {
	font-family: 'Noto Sans JP', serif !important;
}
.serif {
	font-family: 'Noto Serif JP', serif !important;
}
.fw-100 {
	font-weight: 100 !important;
}
.fw-200 {
	font-weight: 200 !important;
}
.fw-300 {
	font-weight: 300 !important;
}
.fw-400 {
	font-weight: 400 !important;
}
.fw-500 {
	font-weight: 500 !important;
}
.fw-600 {
	font-weight: 600 !important;
}
.fw-700 {
	font-weight: 700 !important;
}
.fw-800 {
	font-weight: 800 !important;
}

/* footer付近の追従ボタン */
.button-f {
	right: 0;
	bottom: 30px;
	width: 97%;
	max-width: 400px;
	z-index: 9999;
}
[data-loaded='false'] .button-f {
	display: none;
}

[data-scrolled='true'] .button-f {
	opacity: 1;
	position: fixed;
}
.top .p-fixBtnWrap {
	bottom: 160px;
}
a.button-head {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	margin-bottom: 0;
	text-align: center;
	padding: 3%;
	background: #861f01;
	background: rgb(88, 0, 0);
	background: linear-gradient(
		331deg,
		rgba(88, 0, 0, 1) 0%,
		rgba(217, 0, 0, 1) 100%
	);
	display: block;
}
.button-head img {
	width: 100% !important;
	max-width: 600px;
}
/*------------------------
	sec02
------------------------*/
#sec02,
#sec03 {
	background: url(bg01.webp) no-repeat center / cover;
}
#sec02 .c--inner {
	padding-top: 50px;
}
/*------------------------
	sec04
------------------------*/
#sec04 {
	background: url(bg01.webp) no-repeat center / cover;
	clip-path: polygon(0% 0%, 100% 0%, 100% 95%, 50% 100%, 0% 95%);
	position: relative;
	z-index: 5;
}
#sec04 .c--inner {
	padding-bottom: 4em;
}
/*------------------------
	sec05
------------------------*/
#sec05 {
	position: relative;
	z-index: 4;
	background: url(bg01.webp) no-repeat center / cover;
	clip-path: polygon(0% 0%, 100% 0%, 100% 95%, 50% 100%, 0% 95%);
	margin-top: -3em;
}
#sec05 .c--inner {
	padding: 5em 3%;
}

.text-contents .box.black {
	padding: min(3vw, 5%);
	background: #fff;
	color: #333;
	max-width: 600px;
	margin: 0 auto;
}
.text-contents .box.black p {
	font-size: min(5vw, 2rem);
}
.text-contents span.big01.num {
	font-size: 230%;
	letter-spacing: -0.025em;
}
.text-contents span.big01,
.text-contents span.big02,
.text-contents span.big03,
.text-contents span.big04,
.text-contents span.big05,
.text-contents span.big06 {
	background: none !important;
	font-family: 'Noto Serif JP', serif;
	font-size: 150%;
	padding: 0;
	margin: 0 0.1em;
}
.marker {
	display: inline !important;
	background: linear-gradient(transparent 50%, #f7ff6fc2 0%);
}
.math {
	display: inline-block;
	background: #fff;
	color: #333;
	margin-top: 0.5em;
}
/*------------------------
	sec06
------------------------*/
#sec06 {
	position: relative;
	z-index: 3;
	background: #192222;
	background: url(bg03.webp) no-repeat center / cover;
	margin-top: -4em;
	padding-top: 4em;
	padding-bottom: 4em;
	/* clip-path: polygon(0% 0%, 100% 0%, 100% 95%, 50% 100%, 0% 95%); */
}
#sec06 img {
	position: absolute;
	bottom: -3em;
	left: 50%;
	transform: translateX(-50%);
}
/*------------------------
	sec07
------------------------*/
#sec07 {
	background: url(bg01.webp) no-repeat center / cover;
	position: relative;
	z-index: 2;
}
#sec07 .c--inner {
	padding-top: 5em;
}
#sec07 h2.ttl-sec-big {
	font-size: min(5.5vw, 2.5rem);
}
#sec07 h2.ttl-sec-big .big {
	background-image: linear-gradient(
		183deg,
		#dd3333 45%,
		#8a1919 50%,
		#bf2424 55%
	);
	font-weight: 800;
}
/*------------------------
	sec08
------------------------*/
#sec08 {
	background: url(bg03.webp) no-repeat center / cover;
}
#sec08 .c--inner {
	padding-top: 3em;
}
/*------------------------
	
------------------------*/
ul.wp-block-list.is-style-bad_list {
	display: flex;
	font-size: min(4vw, 1.5rem);
	flex-direction: column;
	max-width: 560px;
	margin: 0 auto 1.5em;
}
.post_content li {
	font-size: 120%;
	font-weight: 600;
	line-height: 1.5;
	margin: 0.25em 0;
	position: relative;
}
/*------------------------
	パーティー招待
------------------------*/
.party-box {
	background-image: linear-gradient(
		105deg,
		#c39b42 0%,
		#fffdca 20%,
		#cca13e 40%,
		#e5bf5e 60%,
		#9a6f1b 80%,
		#fbe68a 100%
	);
	padding: 3%;
	max-width: 600px;
	margin: 0 auto;
}
.party-box > div {
	background: #fff;
	padding: min(10vw, 5em) min(6vw, 4em);
}
.party-box > div p {
	font-size: min(6vw, 2rem);
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	color: #333;
	max-width: 600px;
	margin: 0 auto;
}
/*------------------------
	矢印
------------------------*/
.bg-arrow {
	background: linear-gradient(
		339deg,
		rgba(88, 0, 0, 1) 0%,
		rgba(217, 0, 0, 1) 100%
	);
	color: #fff;
	padding: 3em 0 4em;
	clip-path: polygon(0% 0%, 100% 0%, 100% 80%, 50% 100%, 0% 80%);
}
.bg-arrow h2 {
	font-size: min(5vw, 2rem);
	font-family: 'Noto Serif JP', serif;
}
.bg-arrow h2 span {
	display: block;
}
.bg-arrow h2 span:nth-child(2) {
	font-size: 150%;
}
/*------------------------
	著者プロフィール
------------------------*/
#sec-profile {
	background: url(bg04.webp) no-repeat center / cover;
	margin-bottom: 0;
}
#sec-profile .c--inner {
	padding-bottom: 5rem;
}
#sec-intro .name,
#sec-profile .name {
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
	font-weight: 500;
}
#sec-intro .name span,
#sec-profile .name span {
	font-size: 60%;
}
#sec-profile p {
	font-size: 1.25rem;
}

/*------------------------
ポップアップ表示
------------------------*/
.footer-popup-nav {
	display: flex;
	justify-content: center;
	gap: 1em;
	margin-top: .5em;
}
.popmake h2 {
	font-size: 1.75rem;
	margin-bottom: 0.5em;
}
.popmake h3 {
	padding: 10px 0;
	border-top: 1px solid #05a5ab;
	border-bottom: 1px solid #05a5ab;
	color: #00858a;
	font-size: 1.25rem;
	margin-bottom: 0.5em;
}
.popmake p {
	margin-bottom: 2rem;
}

@media screen and (max-width: 600px) {
	.top .p-fixBtnWrap {
		bottom: 40vw;
	}
	#footer .l-footer__inner {
		padding-bottom: 160px !important;
	}
/* 	#sec-profile .c--inner {
		padding-bottom: 10rem;
	} */
	.party-box > div p {
		line-height: 1.8;
	}
}
