@charset "UTF-8";

@import url("./css/reset.css");
@import url("./css/b_arrow.css");
@import url("./css/contact.css");
@import url("./css/single.css");
@import url("./css/policy.css");

:root {
    --c_black: #000;
	--c_gray: #898989;
	--c_blue: #46a0e6;
	--c_pink: #ffb3a7;
	--l_pink: #ffebe7;
    --gothic: "Zen Maru Gothic", sans-serif;
	--concert: "Concert One", sans-serif;
	--num35: clamp(16px, 2.56vw, 35px);
	--num40: clamp(18px, 2.93vw, 40px);
	--num50: clamp(23px, 3.66vw, 50px);
	--num60: clamp(27px, 4.39vw, 60px);
	--num70: clamp(32px, 5.12vw, 70px);
	--num80: clamp(36px, 5.86vw, 80px);
	--num90: clamp(41px, 6.59vw, 90px);
	--num100: clamp(45px, 7.32vw, 100px);
	--num120: clamp(54px, 8.78vw, 120px);
	--num135: clamp(61px, 9.88vw, 135px);
	--num150: clamp(68px, 10.98vw, 150px);
	--num170: clamp(77px, 12.45vw, 170px);
	--num190: clamp(86px, 13.91vw, 190px);
	--num200: clamp(90px, 14.64vw, 200px);
	--num235: clamp(106px, 17.2vw, 235px);
	/*デザイン幅PC1366px・スマホ400pxの場合のフォントサイズ*/
	--fz11: clamp(.9rem, 0.81vw, 1.1rem);
	--fz12: clamp(1rem, 0.88vw, 1.2rem);
	--fz13: clamp(1.1rem, 0.95vw, 1.3rem);
	--fz14: clamp(1.2rem, 1.02vw, 1.4rem);
	--fz15: clamp(1.3rem, 1.1vw, 1.5rem);
	--fz16: clamp(1.3rem, 1.17vw, 1.6rem);
	--fz17: clamp(1.3rem, 1.24vw, 1.7rem);
	--fz18: clamp(1.3rem, 1.32vw, 1.8rem);
	--fz19: clamp(1.3rem, 1.39vw, 1.9rem);
	--fz20: clamp(1.3rem, 1.46vw, 2rem);
	--fz21: clamp(1.3rem, 1.54vw, 2.1rem);
	--fz22: clamp(1.3rem, 1.61vw, 2.2rem);
	--fz23: clamp(1.3rem, 1.68vw, 2.3rem);
	--fz24: clamp(1.3rem, 1.76vw, 2.4rem);
	--fz25: clamp(1.3rem, 1.83vw, 2.5rem);
	--fz26: clamp(1.3rem, 1.9vw, 2.6rem);
	--fz27: clamp(1.3rem, 1.98vw, 2.7rem);
	--fz28: clamp(1.3rem, 2.05vw, 2.8rem);
	--fz29: clamp(1.3rem, 2.12vw, 2.9rem);
	--fz30: clamp(1.3rem, 2.2vw, 3rem);
	--fz31: clamp(1.3rem, 2.27vw, 3.1rem);
	--fz32: clamp(1.3rem, 2.34vw, 3.2rem);
	--fz33: clamp(1.3rem, 2.42vw, 3.3rem);
	--fz34: clamp(1.3rem, 2.49vw, 3.4rem);
	--fz35: clamp(1.3rem, 2.56vw, 3.5rem);
	--fz36: clamp(1.3rem, 2.64vw, 3.6rem);
	--fz37: clamp(1.3rem, 2.71vw, 3.7rem);
	--fz38: clamp(1.3rem, 2.78vw, 3.8rem);
	--fz39: clamp(1.3rem, 2.86vw, 3.9rem);
	--fz40: clamp(1.3rem, 2.93vw, 4rem);
	--fz41: clamp(1.3rem, 3vw, 4.1rem);
	--fz42: clamp(1.3rem, 3.07vw, 4.2rem);
	--fz43: clamp(1.3rem, 3.15vw, 4.3rem);
	--fz44: clamp(1.3rem, 3.22vw, 4.4rem);
	--fz45: clamp(1.3rem, 3.29vw, 4.5rem);
	--fz46: clamp(1.3rem, 3.37vw, 4.6rem);
	--fz47: clamp(1.3rem, 3.44vw, 4.7rem);
	--fz48: clamp(1.3rem, 3.51vw, 4.8rem);
	--fz49: clamp(1.3rem, 3.59vw, 4.9rem);
	--fz50: clamp(1.3rem, 3.66vw, 5rem);
	--fz51: clamp(1.3rem, 3.73vw, 5.1rem);
	--fz52: clamp(1.3rem, 3.81vw, 5.2rem);
	--fz53: clamp(1.3rem, 3.88vw, 5.3rem);
	--fz54: clamp(1.3rem, 3.95vw, 5.4rem);
	--fz55: clamp(1.3rem, 4.03vw, 5.5rem);
}
@media only screen and (max-width: 768px) {
	:root {
		--fz11: clamp(.9rem, 2.75vw, 1.1rem);
		--fz12: clamp(.9rem, 3vw, 1.2rem);
		--fz13: clamp(.9rem, 3.25vw, 1.3rem);
		--fz14: clamp(.9rem, 3.5vw, 1.4rem);
		--fz15: clamp(.9rem, 3.75vw, 1.5rem);
		--fz16: clamp(.9rem, 4vw, 1.6rem);
		--fz17: clamp(.9rem, 4.25vw, 1.7rem);
		--fz18: clamp(.9rem, 4.5vw, 1.8rem);
		--fz19: clamp(.9rem, 4.75vw, 1.9rem);
		--fz20: clamp(.9rem, 5vw, 2rem);
		--fz21: clamp(.9rem, 5.25vw, 2.1rem);
		--fz22: clamp(.9rem, 5.5vw, 2.2rem);
		--fz23: clamp(.9rem, 5.75vw, 2.3rem);
		--fz24: clamp(.9rem, 6vw, 2.4rem);
		--fz25: clamp(.9rem, 6.25vw, 2.5rem);
		--fz26: clamp(.9rem, 6.5vw, 2.6rem);
		--fz27: clamp(.9rem, 6.75vw, 2.7rem);
		--fz28: clamp(.9rem, 7vw, 2.8rem);
		--fz29: clamp(.9rem, 7.25vw, 2.9rem);
		--fz30: clamp(.9rem, 7.5vw, 3rem);
		--fz31: clamp(.9rem, 7.75vw, 3.1rem);
		--fz32: clamp(.9rem, 8vw, 3.2rem);
		--fz33: clamp(.9rem, 8.25vw, 3.3rem);
		--fz34: clamp(.9rem, 8.5vw, 3.4rem);
		--fz35: clamp(.9rem, 8.75vw, 3.5rem);
		--fz36: clamp(.9rem, 9vw, 3.6rem);
		--fz37: clamp(.9rem, 9.25vw, 3.7rem);
		--fz38: clamp(.9rem, 9.5vw, 3.8rem);
		--fz39: clamp(.9rem, 9.75vw, 3.9rem);
		--fz40: clamp(.9rem, 10vw, 4rem);
		--fz41: clamp(.9rem, 10.25vw, 4.1rem);
		--fz42: clamp(.9rem, 10.5vw, 4.2rem);
		--fz43: clamp(.9rem, 10.75vw, 4.3rem);
		--fz44: clamp(.9rem, 11vw, 4.4rem);
		--fz45: clamp(.9rem, 11.25vw, 4.5rem);
		--fz46: clamp(.9rem, 11.5vw, 4.6rem);
		--fz47: clamp(.9rem, 11.75vw, 4.7rem);
		--fz48: clamp(.9rem, 12vw, 4.8rem);
		--fz49: clamp(.9rem, 12.25vw, 4.9rem);
		--fz50: clamp(.9rem, 12.5vw, 5rem);
		--fz51: clamp(.9rem, 12.75vw, 5.1rem);
		--fz52: clamp(.9rem, 13vw, 5.2rem);
		--fz53: clamp(.9rem, 13.25vw, 5.3rem);
		--fz54: clamp(.9rem, 13.5vw, 5.4rem);
		--fz55: clamp(.9rem, 13.75vw, 5.5rem);
	}
}

html {
	position: relative;
	opacity: 0;
    font-size: 62.5%;
	/*scrollbar-gutter: stable;*/
}
body {
    position: relative;
    width: 100%;
    color: var(--c_gray);
    font-size: 1.6em;
    font-family: var(--gothic);
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0;
    background-color: var(--l_pink);
}
.wrapper {
	font-size: var(--fz16);
}
.post_img {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.post_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
a.post_img img, a .post_img img {
    transition: all .3s ease;
}
a.post_img:hover img, a:hover .post_img img {
    transform: translate(-50%, -50%) scale(1.03);
}
.txt {
    width: 100%;
}
.btn_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 92%;
	margin: auto;
}
/*//common*/

/*hamburger*/
.hmbg_btn {
	position: relative;
    display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 10px 10px 7px;
	line-height: 1;
	background: var(--c_blue);
    cursor: pointer;
	z-index: 1;
	--ham_num: 8px;
	--ham_mnum: -8px;
}
.hmbg_btn > span {
	display: block;
	margin-top: 3px;
	color: #fff;
	font-size: 10px;
}
.hmbg_inner {
    position: relative;
    width: 28px;
    height: 3px;
    margin-top: var(--ham_num);
    margin-bottom: var(--ham_num);
    background: #fff;
    transition: all .5s ease;
}
.hmbg_wrap.open .hmbg_inner {
    background: transparent;
}
.hmbg_inner::before, .hmbg_inner::after {
    content: '';
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 3px;
    background: #fff;
}
.hmbg_inner::before {
    top: var(--ham_mnum);
    transition: all .5s ease;
}
.hmbg_inner::after {
    bottom: var(--ham_mnum);
    transition: all .5s ease;
}
.hmbg_wrap.open .hmbg_inner::before {
	background: #fff;
    transform: translateY(var(--ham_num)) rotate(45deg);
}
.hmbg_wrap.open .hmbg_inner::after {
	background: #fff;
    transform: translateY(var(--ham_mnum)) rotate(-45deg);
}
html.hmbg_open {
    overflow: hidden;
}
#sp_nav {
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    width: 100%;
    height: 100vh;
    padding: 40px 20px 5px;
    background: var(--l_pink);
    overflow: auto;
    pointer-events: none;
    transition: all .5s ease;
	z-index: 1001;
}
.hmbg_wrap.open #sp_nav {
	opacity: 1;
	pointer-events: auto;
}
.sp_nav_li {
	position: relative;
    width: 100%;
	padding: 2.5em 2em;
	font-size: var(--fz19);
    list-style: none;
	background: var(--c_blue);
	z-index: 2;
}
.sp_nav_li a {
	color: #fff;
    font-size: var(--fz19);
    font-weight: 700;
    transition: all .3s ease;
}
.sp_nav_li a:hover {
    opacity: .6;
}
.sp_nav_li li:last-of-type, .sp_nav_sub li:last-of-type {
    border-bottom: none;
}
#sp_nav .sp_nav_li li {
	opacity: 0;
	transform: translateY(20px);
}
.sp_nav_li li {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	font-size: var(--fz19);
    transition: all .5s ease;
}
.sp_nav_li li > * {
	position: relative;
	display: flex;
	flex-direction: column;
    justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	padding: .6em 0 .8em;
}
.sp_nav_li li + li > * {
	border-top: 1px dashed #fff;
}
.sp_nav_li li > a {
	padding-right: 2em;
}
.sp_nav_li li > a::after {
	content: '\f138';
	position: absolute;
	top: 60%;
	right: 10px;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	transform: translateY(-50%);
}
.sp_nav_li li::before {
	content: '';
	flex-shrink: 0;
	display: block;
	width: 1.63em;
	height: 1.78em;
	margin: .6em .5em .8em 0;
}
.sp_nav_li li.nav_about::before {
	background: url("./img/icon_about.webp") center center/80% auto no-repeat;
}
.sp_nav_li li.nav_event::before {
	background: url("./img/icon_event.webp") center center/contain no-repeat;
}
.sp_nav_li li.nav_report::before {
	background: url("./img/icon_report.webp") center center/contain no-repeat;
}
.sp_nav_li li.nav_engagement::before {
	background: url("./img/icon_engagement.webp") center center/90% auto no-repeat;
}
.hmbg_wrap.open #sp_nav .sp_nav_li li {
    opacity: 1;
    transform: translateY(0);
}
.sp_nav_inner {
	position: relative;
	max-width: 350px;
	width: 100%;
}
.sp_nav_inner::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	background: #fff;
	clip-path:url(#hmbg_nav_path);	
	transform: translate(-50%, -50%);
	z-index: 1;
}
.sp_nav_inner::after {
	content: '';
	opacity: .4;
	position: absolute;
	top: calc(50% + 8px);
    left: calc(50% + 8px);
	display: block;
	width: 100%;
	height: 100%;
	background: #bdb5ab;
	clip-path:url(#hmbg_nav_path);	
	transform: translate(-50%, -50%);
	z-index: 0;
}
.sp_nav_li .t {
    color: #fff;
    font-size: var(--fz19);
    font-weight: 700;
	letter-spacing: .1em;
	line-height: 1;
}
.sp_nav_li .e {
	display: block;
	margin-bottom: .3em;
	color: #ffd3c7;
	font-size: .73em;
	font-family: var(--concert);
	letter-spacing: 0;
}
.sp_nav_li .hmbg_mm .t {
	margin-bottom: 1em;
}
.sp_nav_li .hmbg_mm a {
	position: relative;
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
	padding-right: 2em;
    padding-left: 1em;
    font-size: var(--fz18);
    font-weight: 400;
    line-height: 1;
}
.sp_nav_li .hmbg_mm a + a {
	margin-top: 1em;
}
.sp_nav_li .hmbg_mm a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: .66em;
	height: .66em;
	background: #fff;
	border-radius: 50%;
}
.sp_nav_li .hmbg_mm a::after {
	content: '\f138';
	position: absolute;
	top: 50%;
	right: 0;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	transform: translateY(-50%);
}
.sp_nav_li .hmbg_mm a > span {
	display: block;
	margin-bottom: .4em;
    font-size: .66em;
}
.hmbg_btn.close {
    background: transparent;
}
.hmbg_btn.close {
	flex-direction: row;
	margin-top: 1em;
	color: var(--c_blue);
	font-size: var(--fz15);
}
.hmbg_btn.close::before {
	content: '\f137';
	display: block;
	margin-top: .2em;
	margin-right: .3em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.hmbg_btn.close  > span {
	margin-top: 0;
    color: var(--c_blue);
    font-size: var(--fz15);
    text-decoration: underline;
}
@media only screen and (max-width: 340px) {
	.sp_nav_li {
		padding: 2.5em 1.5em;
	}
}
/*//hamburger*/

/*pagetop*/
.pagetop {
    bottom: 80px;
    position: fixed;
    right: 20px;
    z-index: 998 !important;
}
.pagetop > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    color: #fff;
    font-size: 2rem;
    background-color: var(--c_blue);
    border-radius: 0;
    transition: all .3s ease;
    box-sizing: border-box;
	clip-path:url(#consult_path);
}
.pagetop > a:hover {
    color: var(--c_blue);
    background-color: #fff;
}
/*//pagetop*/

/*accordion*/
.acc-cont {
	display: none;
}
/*//accordion*/

/*modal*/
.wrapper.modal_open {
	overflow: hidden;
}
.modal_cont_wrapper {
	position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100vw;
    min-height: 100vh;
    background: rgba(255, 255, 255, .6);
    z-index: 9999;
    overflow: auto;
}
.modal_cont_inner {
	position: absolute;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
}
.modal_cont {
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    min-height: 100%;
    height: auto;
    padding: 6em 30px;
}
.modal_block {
	position: relative;
	width: auto;
	height: auto;
}
.modal_close {
	position: absolute;
    bottom: calc(100% + 20px);
    right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3em;
	height: 3em;
	background: var(--c_blue);
	border-radius: 50%;
	cursor: pointer;
	clip-path: url(#consult_path);
	--ham_num: 12px;
	--ham_mnum: -12px;
}
.modal_close_inner {
    position: relative;
    width: 25px;
    height: 3px;
    margin-top: var(--ham_num);
    margin-bottom: var(--ham_num);
    background: transparent;
    transition: all .5s ease;
}
.modal_close_inner::before, .modal_close_inner::after {
    content: '';
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 3px;
    background: #fff;
}
.modal_close_inner::before {
    top: var(--ham_mnum);
    transition: all .5s ease;
	transform: translateY(var(--ham_num)) rotate(45deg);
}
.modal_close_inner::after {
    bottom: var(--ham_mnum);
    transition: all .5s ease;
	transform: translateY(var(--ham_mnum)) rotate(-45deg);
}
/*//modal*/

/*scrl*/
.scrl {
    opacity: 0;
    position: relative;
}
.bt-anim {
    top: 50px;
}
@keyframes bt-anim {
	0% {
		opacity: 0;
		top: 50px;
	}
	60% {
		opacity: 1;
		top: 0;
	}
	100% {
		opacity: 1;
		top: 0;
	}
}
.bt-anim.scrl_in {
    animation: bt-anim 1s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}
/*//scrl*/

/*header*/
.clippath_svg {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 0;
}
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 30px clamp(15px, 2.92vw, 40px) 1.25em;
    font-size: var(--fz16);
	background: transparent;
	transition: all .5s ease;
    z-index: 999;
}
#header.h_fixed {
    padding: 15px clamp(15px, 2.92vw, 40px) .5em;
}
#header.h_scroll {
	background: #fff;
}
.h_nav_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}
#header .logo {
	min-width: 100px;
    max-width: 207px;
    width: 15.15vw;
	transition: all .5s ease;
}
#header.h_fixed .logo {
	width: 9vw;
}
.h_inner {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin-left: auto;
}
.gnav_li {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    list-style: none;
}
.gnav_li > li {
    position: relative;
    width: auto;
    margin-right: 2em;
}
.gnav_li .li_inner {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    line-height: 1.3;
    cursor: pointer;
}
.gnav_li .li_inner::before {
    content: '';
    display: block;
    width: 2.31em;
    height: 2.31em;
    margin-right: .5em;
    border-radius: 50%;
}
.gnav_li .nav_about .li_inner::before {
    background: url("./img/icon_about.webp") center center/60% auto no-repeat var(--c_blue);
}
.gnav_li .nav_event .li_inner::before {
    background: url("./img/icon_event.webp") center center/auto 82% no-repeat var(--c_blue);
}
.gnav_li .nav_report .li_inner::before {
    background: url("./img/icon_report.webp") center center/80% auto no-repeat var(--c_blue);
}
.gnav_li .nav_engagement .li_inner::before {
    background: url("./img/icon_engagement.webp") center center/64% auto no-repeat var(--c_blue);
}
.gnav_li > li > a {
    opacity: 1;
    transition: all .3s ease;
}
.gnav_li > li > a:hover {
    opacity: .6;
}
.gnav_li .t {
    color: var(--c_blue);
    font-weight: 700;
}
.gnav_li .e {
    display: block;
    color: var(--c_gray);
    font-size: .75em;
    font-family: var(--concert);
}
.mm_nav_li {
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 50%;
    width: 120%;
    padding: 1em 1.5em;
    background: #fff;
    list-style: none;
    transform: translateX(-50%);
    transition: all .3s ease;
    pointer-events: none;
    z-index: 1;
}
.mm_nav_li::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	background: var(--c_blue);
	transform: translate(-50%, -50%);
	clip-path: url(#mm_path);
	z-index: 0;
}
.mm_nav_li.active {
    opacity: 1;
    pointer-events: auto;
}
.mm_nav_li > li {
	position: relative;
    width: 100%;
	z-index: 1;
}
.mm_nav_li > li + li {
    border-top: 2px dashed #fff;
}
.mm_nav_li > li > a {
    opacity: 1;
    display: block;
    padding: 1em 0 1em 1.2em;
    color: #fff;
    font-size: var(--fz13);
    line-height: 1.4;
    transition: all .3s ease;
}
.mm_nav_li > li > a:hover {
    opacity: .6;
}
.mm_nav_li > li > a > span {
    position: relative;
    display: block;
    font-size: 1.38em;
}
.mm_nav_li > li > a > span::before {
    content: '';
    position: absolute;
    top: .45em;
    right: calc(100% + .3em);
    display: block;
    width: .6em;
    height: .6em;
    background: #fff;
    border-radius: 50%;
}
.h_sns {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.h_sns > a {
    opacity: 1;
    display: block;
    margin-right: .5em;
    color: var(--c_blue);
    font-size: var(--fz30);
    line-height: 1;
    transition: all .3s ease;
}
.h_sns > a:hover {
    opacity: .6;
}
#header .consult {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6.3em;
    height: 6.1em;
    font-size: var(--fz18);
    background: var(--c_blue);
    line-height: 1;
	transition: all .5s ease;
}
#header.h_fixed .consult {
	height: 4em;
    font-size: var(--fz14);
}
#header .consult::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: calc(100% - 7px);
    height: calc(100% - 7px);
	background: #fff;
	clip-path: url(#consult_path);
	pointer-events: none;
	transform: translate(-50%, -50%);
	z-index: 0;
}
#header .consult .t {
	position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(100% - 7px);
    height: calc(100% - 7px);
    padding-top: .35em;
    color: var(--c_blue);
    transition: all .3s ease;
	z-index: 1;
}
#header .consult:hover .t {
    color: #fff;
    background: var(--c_blue);
}
#header .consult .e {
	opacity: 1;
    display: block;
	height: 1em;
    margin-top: .35em;
    font-size: var(--fz15);
    font-family: var(--concert);
	pointer-events: auto;
	transition: all .5s ease;
}
#header.h_fixed .consult .e {
	opacity: 0;
	height: 0;
	pointer-events: none;
}
.second_head {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
	clip-path:url(#h_path);
}
.second_head .tit {
	position: relative;
    padding-bottom: 1.6em;
    color: var(--c_blue);
    font-size: var(--fz30);
    letter-spacing: .2em;
    line-height: 1.3;
    text-align: center;
}
.second_head .tit > span {
    display: block;
    margin-bottom: .3em;
    font-size: .6em;
    letter-spacing: .1em;
}
@media only screen and (max-width: 1024px) {
    #header {
        padding: 30px 15px 1.25em;
    }
    .gnav_li > li {
        margin-right: 1em;
    }
}
@media only screen and (max-width: 850px) {
    #header {
        padding: 20px 10px 35px;
    }
	#header.h_fixed {
		padding: 10px;
	}
    #gnav {
        display: none;
    }
    #header .consult {
        display: none;
    }
    .hmbg_btn {
        display: flex;
    }
    #header .logo {
        max-width: 145px;
        width: 36.25vw;
    }
	#header.h_fixed .logo {
		width: 27vw;
	}
    .h_sns {
        margin-right: 5px;
    }
	.second_head .tit {
		padding-bottom: 1em;
		margin-top: 20px;
	}
}
@media only screen and (max-width: 768px) {
	.second_head {
		clip-path:url(#h_path_sp);
	}
	.second_head .tit {
		font-size: var(--fz23);
	}
}
/*//header*/

/*footer*/
.f_project {
    width: 100%;
    padding: var(--num80) 0;
    background: #fff;
}
.f_project .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*max-width: 1096px;*/
	max-width: 780px;
    width: 92%;
    margin: auto;
}
.f_project .concert_tit {
    flex-shrink: 0;
    width: auto;
    margin-right: 1em;
}
.f_project .inner {
    width: 100%;
}
.f_project .inner .txt {
    width: 100%;
    margin-bottom: 2em;
    color: var(--c_blue);
    font-size: var(--fz17);
    letter-spacing: .2em;
    text-align: center;
}
.f_project .link_wrap {
    display: flex;
    justify-content: center;
    margin: auto;
}
.f_project .link_wrap > a {
    opacity: 1;
    display: block;
    max-width: 275px;
    width: 46%;
    margin: 0 2%;
    transition: all .3s ease;
}
.f_project .link_wrap > a:hover {
    opacity: .6;
}
.f_project .link_wrap > a > .img {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding-top: 56%;
    background: #fff;
    border-radius: 20px;
    box-shadow: 3px 3px 10px var(--c_gray);
}
.f_project .link_wrap > a > .img > img, .f_project .link_wrap > a > .img > picture {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    height: 60%;
    object-fit: contain;
    transform: translate(-50%, -50%);
}
.f_project .link_wrap > a > .img > picture > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.f_project .link_wrap > a > .name {
    display: block;
    width: 100%;
    margin-top: 1em;
    color: var(--c_gray);
    font-size: var(--fz14);
    line-height: 1.5;
    text-align: center;
}
.f_project .link_wrap > a > .name > br {
    display: none;
}
#footer {
    width: 100%;
    background: var(--l_pink);
}
#footer .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 956px;
    width: 92%;
    padding: var(--num100) 0 var(--num70);
    margin: auto;
}
.f_info {
    width: 39%;
    color: var(--c_gray);
}
.f_logo {
    opacity: 1;
    max-width: 308px;
    width: 100%;
    transition: all .3s ease;
}
.f_logo:hover {
    opacity: .6;
}
.f_address {
    width: 100%;
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    font-size: var(--fz14);
    line-height: 1.5;
}
.f_sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-bottom: var(--num70);
}
.f_sns > a {
    opacity: 1;
    display: block;
    width: auto;
    margin-right: .3em;
    color: var(--c_gray);
    font-size: var(--fz25);
    transition: all .3s ease;
}
.f_sns > a:hover {
    opacity: .6;
}
.f_link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
.f_link > a {
    opacity: 1;
    display: block;
    width: auto;
    margin-right: 1.5em;
    color: var(--c_gray);
    font-size: var(--fz12);
    transition: all .3s ease;
}
.f_link > a:hover {
    opacity: .6;
}
.f_btn {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 51%;
}
.f_contact {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1em;
    margin-bottom: 1em;
    color: var(--c_blue);
    font-size: var(--fz17);
    background: #fff;
    border: 4px solid var(--c_blue);
    border-radius: 20px;
    transition: all .3s ease;
}
.f_contact::before {
    content: '\f0e0';
	padding-top: .15em;
    margin-right: 1em;
    font-size: 1.2em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.f_contact:hover {
    color: #fff;
    background: var(--c_blue);
}
.f_num {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1.2em 1em;
    margin-bottom: 1em;
    color: #fff;
    font-size: var(--fz17);
    line-height: 1;
    text-align: center;
    background: var(--c_blue);
    border-radius: 20px;
    transition: all .3s ease;
}
.f_num:hover {
    color: var(--c_blue);
    background: #fff;
}
.f_num > .num {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: .22em 0;
    font-size: 2.29em;
    font-weight: 700;
    line-height: 1;
}
.f_num > .num::before {
    content: '\f879';
    margin-right: .3em;
    margin-top: .3em;
    font-size: .6em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
}
.f_num > .time {
    font-size: .76em;
}
.f_btn > p {
	display: flex;
	justify-content: center;
	align-items: flex-start;
    width: 100%;
    font-size: var(--fz14);
    line-height: 1.5;
}
.f_btn > p > span {
    margin-right: 1em;
    color: var(--c_blue);
    font-size: 1.42em;
}
small.copyright {
    display: block;
    width: 100%;
    padding: 1em;
    color: #fff;
    font-size: var(--fz12);
    text-align: center;
    background: var(--c_gray);
}
.sp_fix_btn {
    position: fixed;
    bottom: 0;
    left: 0;
    display: none;
    justify-content: center;
    width: 100%;
    background: var(--c_blue);
    z-index: 1002;
}
.sp_fix_btn > a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 72px;
    color: #fff;
    font-size: var(--fz15);
    line-height: 1.3;
    background: var(--c_blue);
}
.sp_fix_btn::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 0;
    height: 100%;
    border-left: 2px dashed #fff;
}
.sp_fix_btn > a.consult {
    font-size: var(--fz20);
    text-align: center;
}
.sp_fix_btn > a.consult .e {
    display: block;
    font-size: .7em;
    font-family: var(--concert);
}
.sp_fix_btn > a.consult::before {
    content: '';
    display: block;
    width: 1.75em;
    height: 2.1em;
    margin-right: .7em;
    background: url("./img/consult_fixbtn_sp.webp") center center/contain no-repeat;
}
.sp_fix_btn > a.contact::before {
    content: '\f0e0';
    margin-right: .5em;
    font-size: 1.7em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.f_hapimari {
    max-width: 400px;
    width: 100%;
    margin: auto;
}
.f_hapimari > a.img {
	opacity: 1;
	display: block;
	width: 100%;
	transition: all .3s ease;
}
.f_hapimari > a.img:hover {
	opacity: .6;
}
.f_hapimari > a.img > img {
	display: block;
	width: 100%;
}
.f_hapimari > .txt_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-top: 10px;
}
.f_hapimari > .txt_wrap > .txt {
    flex-shrink: 0;
	width: auto;
    margin: 0 1em;
    color: var(--c_gray);
    font-size: clamp(.9rem, .84vw, 1.4rem);
	letter-spacing: .05em;
    text-align: center;
}
@media only screen and (max-width: 768px) {
    .f_project .wrap {
        flex-direction: column;
        justify-content: flex-start;
    }
    .f_project .concert_tit {
        margin-right: auto;
        margin-bottom: .8em;
    }
    .f_project .inner .txt {
		margin-bottom: 1em;
        font-size: var(--fz14);
        letter-spacing: 0;
	}
	.f_project .link_wrap {
		max-width: 350px;
	}
    .f_project .link_wrap > a > .name > br {
        display: block;
    }
    .f_project .link_wrap > a > .img {
        padding-top: 77%;
    }
    .f_project .link_wrap > a > .img > picture {
        height: 78%;
    }
	#footer .wrap {
		flex-direction: column;
		justify-content: flex-start;
	}
	.f_info {
		max-width: 100%;
		width: auto;
	}
	.f_logo {
		max-width: 245px;
		width: 80%;
		margin: auto;
	}
	.f_address {
		margin-bottom: 3em;
		font-size: var(--fz13);
	}
	.f_btn {
		max-width: 340px;
		width: 100%;
	}
	.f_sns {
		justify-content: center;
		margin-bottom: .7em;
	}
	.f_sns > a {
		margin: 0 .2em;
		font-size: var(--fz30);
	}
	.f_link {
		justify-content: center;
		margin-bottom: 1em;
	}
	.f_link > a {
		margin: 0 1em;
	}
	.f_contact {
		padding: .7em;
		font-size: var(--fz15);
		border-radius: 12px;
	}
	.f_num {
		font-size: var(--fz13);
		border-radius: 12px;
	}
	.f_num > .num {
		font-size: 2.3em;
	}
	.f_num > .time {
		font-size: .92em;
	}
	.f_btn > p {
		flex-direction: column;
		align-items: center;
		font-size: var(--fz12);
		text-align: center;
	}
	.f_btn > p > br {
		display: none;
	}
	.f_btn > p > span {
		display: block;
		margin-right: 0;
	}
	#footer {
		margin-bottom: 72px;
	}
	.sp_fix_btn {
		display: flex;
	}
	.f_hapimari > .txt_wrap {
		flex-direction: column;
	}
}
@media only screen and (max-width: 350px) {
	#footer {
		margin-bottom: 52px;
	}
	.sp_fix_btn > a {
		height: 52px;
	}
}
/*//footer*/

/*second*/
.page_lead_txt {
    width: 92%;
    margin: var(--num80) auto clamp(35px, 4.39vw, 60px);
    color: var(--c_blue);
    font-size: var(--fz20);
    letter-spacing: .1em;
    line-height: 1.8;
    text-align: center;
}
.page_lead_txt > span {
    color: var(--c_pink);
    font-size: 1.15em;
}
.page_lead_txt br.sp {
    display: none;
}
.page_about-enmusubi .second_head .tit::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 50%;
    display: block;
    width: 2.7em;
	height: 2em;
	background: url("./img/icon_enmusubi.webp") center center/contain no-repeat;
	transform: translateX(-50%);
}
.page_about-enmusubi .page_lead_txt {
    margin-bottom: clamp(50px, 4.39vw, 60px);
}
.concert_tit {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 92%;
    margin: 0 auto 1em;
    color: #fff;
    font-size: clamp(1.3rem, 4.25vw, 5.8rem);
    font-family: var(--concert);
    line-height: 1;
    -webkit-text-stroke: 1px var(--c_blue);
    text-stroke: 1px var(--c_blue);
    text-shadow: 1px 1px 0 var(--c_blue), 2px 2px 0 var(--c_blue), 3px 3px 0 var(--c_blue), 4px 4px 0 var(--c_blue);
}
.concert_tit::before {
    content: '';
    display: block;
    width: 1.55em;
    height: .63em;
    margin-bottom: .1em;
    background: url("./img/figure_effect_line.webp") center center/contain no-repeat;
}
.concert_tit > span {
    display: block;
    margin-top: .8em;
    color: var(--c_blue);
    font-size: .3em;
    font-family: var(--gothic);
    letter-spacing: .1em;
	text-align: center;
    -webkit-text-stroke: 0;
    text-stroke: 0;
    text-shadow: none;
}
@media only screen and (max-width: 768px) {
    .page_lead_txt {
        font-size: var(--fz14);
        line-height: 1.6;
    }
    .page_lead_txt > span {
        font-size: 1.28em;
    }
    .page_lead_txt br.sp {
        display: block;
    }
    .concert_tit {
		margin-bottom: .6em;
        font-size: var(--fz40);
    }
}
/*//second*/

/*top*/
.home #header {
    transform: translateY(-100%);
}
.home #header.h_scroll {
    transform: translateY(0);
}
#top_hero {
    position: relative;
    width: 100%;
	margin-bottom: var(--num60);
    background: url("./img/hero_back1.webp") center top/100% auto no-repeat;
	z-index: 1;
}
#top_hero .wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    /*max-width: 1205px;*/
    width: 88%;
    min-height: 100vh;
	height: auto;
    margin: auto;
}
.top_nav_wrap {
	flex-shrink: 0;
    position: relative;
    max-width: 40%;
	width: auto;
	margin-right: 2%;
    z-index: 1;
}
.hero_logo {
    max-width: 300px;
    width: 100%;
    margin-bottom: var(--num35);
}
#top_hero .hero_cont {
    position: relative;
    display: flex;
    justify-content: center;
	align-items: center;
	width: auto;
    z-index: 0;
}
#top_hero .tit_block {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: auto;
	margin: var(--num40) 0;
}
#top_hero .tit {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: 3em;
    font-size: clamp(1.3rem, 1.46vw, 1.46vw);
    letter-spacing: .15em;
    writing-mode: tb-rl;
}
#top_hero .tit > span {
    position: relative;
    display: block;
}
#top_hero .tit > span::before, #top_hero .tit.sp > span > span::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 4px;
    height: 100%;
    background: #fff;
}
#top_hero .tit.sp > span::before {
    display: none;
}
#top_hero .tit > span + span {
    margin-top: 2.5em;
    margin-right: .5em;
}
#top_hero .tit b {
    color: var(--c_pink);
    font-size: 1.4em;
    font-weight: 400;
}
#top_hero .tit.sp {
    position: absolute;
    top: -1em;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
	font-size: var(--fz17);
    z-index: 1000;
}
#top_hero .tit.sp > span {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
#top_hero .tit.sp > span > span {
    position: relative;
    display: block;
}
#top_hero .tit.sp > span:first-of-type {
    position: absolute;
    top: -.5em;
    right: 0;
}
#top_hero .tit.sp > span:last-of-type {
    position: absolute;
    bottom: 0;
    left: 0;
}
#top_hero .tit .br_sp {
	display: none;
}
#top_hero .img_block {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
	width: auto;
	padding: 4% 8% 0;
	margin-right: 2%;
    background: url("./img/hero_img_circle.webp") center bottom/contain no-repeat;
}
#top_hero .img_block > img {
	display: block;
    width: 45vw;
	max-height: 74vh;
	object-fit: contain;
}
#top_hero .hero_news {
    position: relative;
}
#top_hero .news_tit {
    position: relative;
    width: 6.17em;
    height: 5.64em;
    margin-right: 2em;
    margin-left: auto;
    font-size: var(--fz17);
    z-index: 1;
}
#top_hero .news_tit > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: var(--c_pink);
    line-height: 1.3;
    background: #fff;
    clip-path: url(#consult_path);
    z-index: 1;
}
#top_hero .news_tit b {
    font-weight: 400;
}
#top_hero .news_tit small {
    font-size: .82em;
    font-family: var(--concert);
}
#top_hero .news_tit::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    background: var(--c_pink);
    clip-path: url(#consult_path);
    transform: translate(-50%, -50%);
    z-index: 0;
}
#top_hero .hero_news .cont {
    position: relative;
    width: 100%;
    margin-top: -5em;
    font-size: var(--fz14);
    z-index: 0;
}
#top_hero .hero_news .cont::before {
    content: '';
    opacity: .3;
    position: absolute;
    top: 5px;
    left: 5px;
    width: 100%;
    height: 100%;
    background: var(--c_gray);
    clip-path: url(#oval_path2);
    z-index: 0;
}
#top_hero .hero_news .cont_inner {
    position: relative;
    min-width: 19em;
    width: 100%;
    padding: 4em 0 2em;
    color: #fff;
    background: var(--c_pink);
    clip-path: url(#oval_path2);
    z-index: 1;
}
#top_hero .hero_news .date {
    display: block;
    padding: 0 2em;
    margin-bottom: .4em;
    font-family: var(--concert);
}
#top_hero .hero_news .post {
    width: 100%;
}
#top_hero .hero_news .post_title {
    display: block;
    width: 100%;
    height: 1.7em;
    margin-bottom: .8em;
    color: #fff;
    overflow: hidden;
}
#top_hero .hero_news .post_title > span {
    display: inline-block;
    padding-left: 100%;
    white-space: nowrap;
    animation: scrollAnime 8s linear infinite;
}
@keyframes scrollAnime {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
#top_hero .circle_wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	padding: 2em;
    overflow: hidden;
}
#top_hero .circle_svg {
    width: 100%;
    height: 100%;
    animation: rotate 12s linear infinite;
}
#top_hero .circle_text {
    font-size: var(--fz19);
    font-family: var(--concert);
    letter-spacing: .1em;
    fill: var(--c_blue);
}
@keyframes rotate {
    to {
        transform: rotate(360deg);
    }
}
#top_hero .hero_news .btn {
    opacity: 1;
    position: relative;
    color: #fff;
    font-size: var(--fz16);
    font-family: var(--concert);
    transition: all .3s ease;
}
#top_hero .hero_news .btn:hover {
    opacity: .6;
}
#top_hero .hero_news .btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
}
#top_hero .hero_news .btn::after {
    content: '\f138';
    position: absolute;
    top: 51%;
    left: 105%;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}
.hero_btn_consult {
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    width: 7.13em;
    height: 6.52em;
    font-size: var(--fz23);
    transform: translate(-50%, -30%);
    z-index: 2;
}
.hero_btn_consult::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(100% + 8px);
    height: calc(100% + 8px);
    background: var(--c_blue);
    clip-path: url(#consult_path);
    transform: translate(-50%, -50%);
    transition: all .3s ease;
}
.hero_btn_consult:hover::before {
    background: #fff;
}
.hero_btn_consult .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: var(--c_blue);
    line-height: 1;
    background: #fff;
    clip-path: url(#consult_path);
    transition: all .3s ease;
    z-index: 1;
}
.hero_btn_consult .inner:hover {
    color: #fff;
    background: var(--c_blue);
}
.hero_btn_consult .inner::before {
    content: '';
    display: block;
    width: 1.61em;
    height: 1.92em;
    margin-bottom: .3em;
    background: url("./img/consult_fixbtn_sp.webp") center center/contain no-repeat;
}
.hero_btn_consult .inner > span {
    display: block;
    margin-top: .3em;
    font-size: .61em;
    font-family: var(--concert);
}
#top_nav .sp_nav_li li > a {
    border-top: none;
}
#top_nav .sp_nav_li li.nav_sns {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
#top_nav .sp_nav_li li.nav_sns::before {
    display: none;
}
#top_nav .sp_nav_li li.nav_sns > a {
    width: auto;
    padding-right: 0;
    margin-left: .5em;
    font-size: 1.2em;
}
#top_nav .sp_nav_li li.nav_sns > a::after {
    display: none;
}
#top_nav .sp_nav_li li > * {
    padding: .4em 2em .6em 0;
}
#top_nav .sp_nav_li li > .mm {
    cursor: pointer;
}
#top_nav .sp_nav_li li > .mm::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    border-bottom: 2px dashed #fff;
    transition: all .5s ease;
}
#top_nav .sp_nav_li li > .mm.active-mm::after {
    width: 100%;
}
#top_nav .sp_nav_li li::before {
    margin: .4em .5em .6em 0;
}
#top_nav .mm_nav_li {
    top: 2.5em;
    left: 100%;
    width: 14em;
    background: var(--c_blue);
    transform: translateX(-20%);
    z-index: 2;
}
#top_nav .mm_nav_li > li + li {
    border-color: var(--c_blue);
}
#top_nav .mm_nav_li > li > a {
    color: var(--c_gray);
}
#top_nav .mm_nav_li > li > a > span {
    color: var(--c_blue);
}
#top_nav .mm_nav_li::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    background: #fff;
    transform: translate(-50%, -50%);
    clip-path: url(#mm_path);
    z-index: 0;
}
#top_signup {
    width: 100%;
    margin-bottom: var(--num80);
}
#top_signup .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 500px;
    width: 88%;
    padding-bottom: var(--num35);
    margin: auto;
    color: #fff;
    background: var(--c_pink);
    border-radius: 20px;
    box-shadow: 3px 3px 10px var(--c_gray);
}
#top_signup .img {
    display: block;
    width: 2em;
    margin-bottom: .7em;
    font-size: var(--fz28);
}
#top_signup .tit {
    margin: 1.5em 0 1em;
    font-size: var(--fz20);
    letter-spacing: .1em;
}
#top_number {
    position: relative;
    width: 100%;
    padding-bottom: var(--num120);
    background: url("./img/hero_back3.webp") center bottom/100% auto no-repeat;
}
#top_number::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    padding-top: 18%;
    background: url("./img/hero_back2.webp") center center/100% auto no-repeat;
    pointer-events: none;
    transform: translateY(-60%);
    z-index: 0;
}
#top_number .inner {
    position: relative;
    max-width: 1070px;
    width: 92%;
    padding: var(--num80) 0 var(--num120);
    margin: auto;
    background: #fff;
    clip-path: url(#oval_path1);
    z-index: 1;
}
#top_number .tit {
    width: 92%;
    margin: 0 auto 2.5em;
    color: var(--c_blue);
    font-size: var(--fz25);
    text-align: center;
}
#top_number .tit > span {
    color: var(--c_pink);
}
#top_number .wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    max-width: 740px;
    width: 92%;
    margin: auto;
	column-gap: 6.5%;
}
#top_number .num_dl {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 29%;
    background: url("./img/top_hero_leaf.webp") center bottom/100% auto no-repeat;
}
#top_number .num_dl > dt {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6em;
    height: 6em;
    padding-bottom: 1em;
    color: #fff;
    font-size: var(--fz17);
    line-height: 1.3;
    text-align: center;
    background: var(--c_blue);
}
#top_number .num_dl > dt::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    display: block;
    width: 100%;
    height: .88em;
    background: #fff;
    pointer-events: none;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
#top_number .num_dl > dd {
    display: flex;
    justify-content: center;
    align-items: baseline;
    width: 100%;
    padding: .2em 0 .6em;
    color: var(--c_blue);
    font-size: clamp(1.3rem, 4.54vw, 6.2rem);
    font-family: var(--concert);
    line-height: 1;
}
#top_number .num_dl > dd > span {
    margin-left: .2em;
    color: var(--c_gray);
    font-size: .37em;
    font-family: var(--gothic);
}
#top_about {
    width: 100%;
    margin-bottom: var(--num120);
}
#top_about > .txt {
    width: 92%;
    margin: -2em auto 6em;
    color: var(--c_blue);
    font-size: var(--fz17);
    text-align: center;
}
#top_about > .txt br.sp {
    display: none;
}
.top_abot_li {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1064px;
    width: 92%;
    margin: auto;
    list-style: none;
}
.top_abot_li > li {
    position: relative;
    width: 30%;
}
.top_abot_li .img {
    position: relative;
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    overflow: hidden;
}
.top_abot_li .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
}
.top_abot_li .txt {
    position: absolute;
    top: 0;
    left: 0;
    width: 61%;
    padding-top: 39%;
    color: var(--c_blue);
    font-size: var(--fz13);
    line-height: 1.3;
    text-align: center;
    background: url("./img/figure_bubble1.webp") center center/contain no-repeat;
    transform: translate(-20%, -30%);
    z-index: 1;
}
.top_abot_li .txt > span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
}
.top_abot_li .tit {
    margin: .8em 0 .5em;
    color: var(--c_blue);
    font-size: var(--fz25);
    text-align: center;
}
.top_abot_li .tit > span {
    display: block;
    color: var(--c_gray);
    font-size: .6em;
}
#top_schedule {
    position: relative;
    width: 100%;
    padding: var(--num90) 0 var(--num120);
    margin-bottom: var(--num80);
}
#top_schedule::before {
    content: '';
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("./img/pattern_white_stripe.webp") center center/23px auto repeat;
    pointer-events: none;
    z-index: 0;
}
#top_schedule > * {
    position: relative;
    z-index: 1;
}
#top_schedule .inner {
    max-width: 994px;
    width: 92%;
    margin: 0 auto var(--num70);
}
#top_schedule .inner::before {
    content: '';
    opacity: .4;
    position: absolute;
    top: 5px;
    left: 5px;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--c_gray);
    clip-path: url(#square_path1);
    z-index: 0;
}
#top_schedule .inner_block {
    position: relative;
    width: 100%;
    padding: var(--num60) 0 var(--num90);
    background: #fff;
    clip-path: url(#square_path1);
    z-index: 1;
}
#top_schedule .inner .tit {
    position: relative;
    max-width: 545px;
    width: 92%;
    margin: 0 auto var(--num90);
    color: var(--c_gray);
    font-size: var(--fz17);
    text-align: center;
}
#top_schedule .inner .tit::before {
    content: '';
    position: absolute;
    top: -20%;
    left: 0;
    display: block;
    width: 100%;
    padding-top: 3%;
    background: url("./img/top_event_tit1.webp") center center/contain no-repeat;
}
#top_schedule .inner .tit::after {
    content: '';
    position: absolute;
    top: 104%;
    left: 0;
    display: block;
    width: 100%;
    padding-top: 3%;
    background: url("./img/top_event_tit2.webp") center center/contain no-repeat;
}
#top_schedule .inner .tit > br.sp {
    display: none;
}
.event_schedule .wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 784px;
    width: 92%;
    margin: auto;
}
.event_schedule .date {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 8.82em;
    height: 8.82em;
    margin-right: 2em;
    color: #fff;
    font-size: var(--fz17);
    line-height: 1.2;
    background: var(--c_pink);
}
.event_schedule .date .md {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.event_schedule .month {
    font-size: 1.47em;
    font-weight: 700;
    line-height: 1.7;
}
.event_schedule .month::after {
    content: '/';
}
.event_schedule .day {
    font-size: 2.35em;
    font-weight: 700;
}
.event_schedule .week {
    font-size: .88em;
	text-transform: uppercase;
}
.event_schedule .img {
    position: relative;
    flex-shrink: 0;
    max-width: 168px;
    width: 21%;
}
.event_schedule .img img {
    display: block;
    width: 100%;
}
.event_schedule .btn_modal {
    position: absolute;
    bottom: 0;
    left: calc(100% + 10px);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7em;
    color: #fff;
    font-size: var(--fz12);
    background: var(--c_gray);
    border: 1px solid var(--c_gray);
    border-radius: 5px;
    transition: all .3s ease;
}
.event_schedule .btn_modal::after {
    content: '\f00e';
    margin-left: .3em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.event_schedule .btn_modal:hover {
    color: var(--c_gray);
    background: #fff;
}
#top_schedule_img .modal_block {
    width: 100%;
}
#top_schedule_img .modal_block .img {
    max-width: 350px;
    width: 100%;
}
#top_schedule_img .modal_block .img > img {
    display: block;
    width: 100%;
}
.event_schedule .event_post_cont {
    width: 100%;
}
.event_schedule .cat_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 1em;
    font-size: var(--fz15);
}
.event_schedule .cat_wrap > p {
    min-width: 7em;
    width: auto;
    margin-right: 1em;
    color: var(--c_gray);
    text-align: center;
    background: #fff;
	border: 1px solid var(--c_gray);
    border-radius: 9999px;
}
.event_schedule .cat_wrap > p.accept {
	color: #fff;
    background: var(--c_pink);
	border-color: var(--c_pink);
}
.event_schedule .cat_wrap > p.accept.advance {
	color: var(--c_pink);
	background: #fff;
	border-color: var(--c_pink);
}
.event_schedule .cat_wrap > p.accept.end {
	color: #fff;
	background: var(--c_gray);
	border-color: var(--c_gray);
}
.event_post_cont .title {
    width: 100%;
    margin-bottom: .4em;
    font-size: var(--fz25);
    font-weight: 500;
}
.event_post_cont .content {
    width: 100%;
}
.event_post_cont .content_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: var(--fz15);
	line-height: 1.4;
}
.event_post_cont .content_dl + .content_dl {
	margin-top: .3em;
}
.event_post_cont .content_dl.pink {
    color: var(--c_pink);
}
.event_post_cont .content_dl > dt {
	flex-shrink: 0;
	width: auto;
}
.event_post_link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 500px;
    width: 88%;
    padding: 35px 0 25px;
    margin: auto;
    color: #fff;
    background: var(--c_pink);
    border-radius: 20px;
    box-shadow: 3px 3px 10px var(--c_gray);
}
.event_post_link .txt {
    width: 92%;
    margin-bottom: 1em;
    font-size: var(--fz17);
    text-align: center;
}
.event_post_link .txt br.sp {
    display: none;
}
.wp-pagenavi + .event_post_link {
	margin-top: var(--num100);
}
#top_report {
    width: 100%;
    margin-bottom: var(--num120);
}
#top_report .slide {
    position: relative;
    max-width: 710px;
    width: 90%;
    margin: 0 auto var(--num150);
}
#top_report .slide .arw {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 890px;
    width: 127%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
#top_report .swiper-button-prev.top_report_prev, #top_report .swiper-button-next.top_report_next {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 40px;
    height: 40px;
    background-size: 20px 20px;
    background-color: var(--c_blue);
    border-radius: 50%;
}
.swiper-pagination.top_report_pn, .event_upcoming_pn.swiper-pagination {
    top: calc(100% + var(--num60));
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.swiper-pagination.top_report_pn span.swiper-pagination-bullet, .event_upcoming_pn.swiper-pagination span.swiper-pagination-bullet {
    opacity: 1;
    margin: 0 7px 7px;
    background: #fff;
    border: 1px solid var(--c_blue);
}
.swiper-pagination.top_report_pn span.swiper-pagination-bullet.swiper-pagination-bullet-active, .event_upcoming_pn.swiper-pagination span.swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--c_blue);
}
.swiper-container.top_report_slide {
    width: 100%;
}
.swiper-container.top_report_slide .swiper-slide {
    width: 100%;
    padding: 0 5px 5px 0;
    box-sizing: border-box;
}
.top_report_slide .inner {
    width: 100%;
    padding: var(--num50) 0 var(--num70);
    background: #fff;
    border-radius: 20px;
    box-shadow: 5px 5px 0 rgb(189, 181, 171, .4);
}
.top_report_slide .wrap {
    display: flex;
    justify-content: space-between;
    max-width: 565px;
    width: 92%;
    margin: auto;
}
.top_report_slide .event_post_cont {
    width: 61%;
}
.top_report_slide .event_post_cont .img_block {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-top: 1.2em;
}
.top_report_slide .event_post_cont .img_block .poster {
    width: 33%;
}
.top_report_slide .event_post_cont .img_block .img {
    width: 59%;
}
.top_report_slide .event_post_cont .poster > img, .top_report_slide .event_post_cont .img_block .img > img {
    display: block;
    width: 100%;
}
.top_report_slide .info_mark {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 33%;
}
.top_report_slide .info_mark .public , .mark_public {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 7.25em;
    height: 7.25em;
    margin: 1em 0 2em;
    color: #fff;
    font-size: var(--fz20);
    line-height: 1.1;
    text-align: center;
    background: var(--c_blue);
    border-radius: 50%;
}
.top_report_slide .info_mark .public::before, .mark_public::before {
    content: '';
    display: block;
    width: 2.25em;
    height: 2em;
    margin-bottom: .3em;
    background: url("./img/figure_write.svg") center center/contain no-repeat;
}
.top_report_slide .info_mark .public::after, .mark_public::after {
    content: '';
    position: absolute;
    top: -1.2em;
    right: -1.2em;
    display: block;
    width: 3em;
    height: 2em;
    background: url("./img/figure_effect_line2.webp") center center/contain no-repeat;
}
.event_report_couple {
    position: absolute;
    top: 50%;
    left: 110%;
    max-width: 186px;
    width: 54%;
    padding-top: 63%;
    background: url("./img/figure_bubble2.webp") center center/contain no-repeat;
    transform: translateY(-50%);
}
.event_report_couple > span {
    position: absolute;
    top: 46%;
    left: 50%;
    display: block;
    max-width: 100%;
    width: auto;
    max-height: 100%;
    height: auto;
    color: var(--c_blue);
    font-size: var(--fz14);
    line-height: 1.1;
    text-align: center;
    white-space: nowrap;
    transform: translate(-50%, -50%);
    z-index: 1;
}
.event_report_couple b {
    color: var(--c_pink);
    font-size: 1.4em;
    font-weight: 400;
}
.event_post_link.blue {
    background: var(--c_blue);
}
@media only screen and (min-width: 769px) {
    #top_hero .wrap {
        padding-top: 0 !important;
    }
}
@media only screen and (max-width: 1200px) {
	#top_hero .wrap {
		width: 92%;
	}
	.top_nav_wrap {
		width: 30%;
	}
	#top_hero .hero_news .cont_inner {
		min-width: 17em;
	}
}
@media only screen and (max-width: 950px) {
	#top_report .slide .arw {
		width: 105%;
	}
}
@media only screen and (max-width: 768px) {
    .home #header {
        transform: translateY(0);
    }
    .top_nav_wrap {
        display: none;
    }
    #top_hero {
		margin-bottom: 0;
        background: none;
    }
    #top_hero .hero_cont {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        height: 100%;
        padding: 10px 0 20px;
        z-index: unset;
    }
    #top_hero .tit_block {
        flex-shrink: 0;
        width: 100%;
        height: auto;
        margin-top: 20px;
    }
    #top_hero .tit_block > .tit {
        display: none;
    }
    #top_hero .hero_news {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
    }
    #top_hero .hero_news .cont {
        margin-top: 0;
    }
    #top_hero .news_tit {
        position: absolute;
        top: 50%;
        left: 0;
        width: 4.4em;
        height: 4em;
        margin-right: 0;
        font-size: var(--fz20);
        transform: translateY(-50%);
    }
    #top_hero .news_tit::before {
        display: none;
    }
    #top_hero .news_tit b {
        display: none;
    }
    #top_hero .news_tit small {
        font-size: 1em;
    }
    #top_hero .hero_news .cont::before {
        display: none;
    }
    #top_hero .hero_news .cont_inner {
        min-width: inherit;
        width: calc(100% - 3em);
        padding: .7em 4em .7em 2.5em;
        margin-left: auto;
        border-radius: 15px;
        clip-path: inherit;
    }
    #top_hero .hero_news .date {
        margin-bottom: 0;
    }
    #top_hero .hero_news .post {
        position: relative;
    }
    #top_hero .hero_news .post::after {
        content: '\f138';
        position: absolute;
        bottom: 0;
        left: calc(100% + 1em);
        font-size: 1.2em;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        line-height: 1.3;
    }
    #top_hero .hero_news .post_title {
        margin-bottom: 0;
    }
    #top_hero .hero_news .btn_wrap {
        display: none;
    }
    #top_hero .wrap {
		width: 92%;
        padding-bottom: 72px;
    }
    #top_hero .img_block {
        align-items: flex-start;
        width: 100%;
        height: 100%;
        margin-right: 0;
        background-position: center top 5px;
        background-size: 90% auto;
    }
    #top_hero .img_block > img {
		max-width: inherit;
        width: 60%;
        margin-top: 20%;
        margin-left: 10%;
    }
    #top_hero .circle_wrap {
        left: 12%;
        width: 80%;
        height: 80%;
    }
    #top_hero .tit.sp {
        display: flex;
    }
	#top_hero .tit .br_sp {
		display: block;
	}
    #top_hero .circle_text {
        font-size: var(--fz30);
    }
	#top_signup {
        margin-bottom: var(--num200);
    }
    #top_signup .inner {
        padding-bottom: var(--num50);
    }
    #top_signup .tit {
        margin: 2em 0 1.3em;
        font-size: var(--fz14);
    }
    #top_signup .img {
        width: 1.5em;
    }
	#top_number .inner {
		width: 100%;
		padding-top: var(--num100);
		background: transparent;
		clip-path: inherit;
		overflow: hidden;
	}
	#top_number .inner::before {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		display: block;
		width: 125%;
		height: 100%;
		background: #fff;
		transform: translate(-50%, -50%);
		clip-path: url(#oval_path1);
		z-index: 0;
	}
	#top_number .inner > * {
		position: relative;
		z-index: 1;
	}
	#top_number .wrap {
		width: 90%;
		column-gap: 5%;
	}
	#top_number .tit {
		margin-bottom: 1em;
		font-size: var(--fz23);
	}
	#top_number .num_dl {
		width: 30%;
	}
	#top_number .num_dl > dt {
		width: 5em;
		height: 4.5em;
		padding-bottom: 1em;
		font-size: var(--fz11);
	}
	#top_number .num_dl > dd {
		padding: .2em 0 1em;
		font-size: var(--fz24);
	}
	#top_number .num_dl > dd > span {
		margin-left: .3em;
		font-size: .5em;
	}
	#top_number::before {
		display: none;
	}
	#top_number {
		background: none;
	}
	#top_about > .txt {
		margin: -.7em auto 5em;
		font-size: var(--fz14);
	}
	#top_about > .txt br.sp {
		display: block;
	}
	.top_abot_li {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
		max-width: 300px;
		width: 80%;
	}
	.top_abot_li > li {
		width: 100%;
	}
	.top_abot_li > li + li {
		margin-top: clamp(30px, 25vw, 100px);
	}
	.top_abot_li .txt {
		left: auto;
		right: 0;
		transform: translate(10%, -30%);
	}
	.top_abot_li .tit {
		margin: .8em 0 .3em;
		font-size: var(--fz23);
	}
	#top_schedule::before {
		background-size: 10px auto;
	}
	#top_schedule .inner {
		width: 100%;
		overflow: hidden;
	}
	#top_schedule .inner::before {
		opacity: 1;
		top: 50%;
		left: 50%;
		width: 121%;
		background: #fff;
		transform: translate(-50%, -50%);
	}
	#top_schedule .inner_block {
		padding: 50px 0;
		background: transparent;
		clip-path: inherit;
	}
	#top_schedule .inner .tit > br.sp {
		display: block;
	}
	#top_schedule .inner .tit {
		max-width: 16em;
		line-height: 1.4;
	}
	#top_schedule .inner .tit::before {
		top: -25%;
	}
	#top_schedule .inner .tit::after {
		top: 116%;
	}
	.event_schedule .wrap {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.event_schedule .date {
		flex-direction: row;
		margin-right: 0;
		width: 100%;
		height: auto;
		padding: .8em;
		margin-bottom: 1em;
		line-height: 1;
	}
	.event_schedule .year::after {
		content: '/';
	}
	.event_schedule .month, .event_schedule .day, .event_schedule .week {
		font-size: 1em;
		font-weight: 400;
		line-height: 1;
	}
	.event_schedule .week {
		margin-left: .5em;
	}
	.event_schedule .cat_wrap > p {
		color: var(--c_gray);
		font-size: var(--fz13);
		background: #fff;
		border: 2px solid var(--c_gray);
	}
	.event_schedule .cat_wrap > p.accept {
		color: #fff;
		border-color: var(--c_pink);
	}
	.event_schedule .title {
		font-size: var(--fz18);
	}
	.event_schedule .content {
		margin-bottom: 1em;
	}
	.event_schedule .content_dl {
		font-size: var(--fz13);
	}
	.event_schedule .img {
		width: 24%;
		margin: auto;
	}
	.event_post_link {
		padding: 15px 0 20px;
	}
	.event_post_link .txt br.sp {
		display: block;
	}
	.event_post_link .txt {
		font-size: var(--fz14);
		line-height: 1.6;
	}
	.top_report_slide .event_post_cont {
		width: 100%;
	}
	.top_report_slide .event_post_cont .img_block {
		flex-wrap: wrap;
	}
	.event_report_couple {
		position: relative;
		top: auto;
		left: auto;
		max-width: inherit;
		width: 100%;
		padding-top: 0;
		margin-bottom: 1.2em;
		background: none;
		transform: translateY(0);
	}
	.event_report_couple > span {
		position: relative;
		top: auto;
		left: auto;
		font-size: var(--fz16);
		transform: translate(0, 0);
	}
	.event_report_couple > span > br {
		display: none;
	}
	.event_report_couple > span > b {
		margin: 0 .2em;
	}
	.top_report_slide .event_post_cont .img_block .poster {
		width: 34%;
	}
	.top_report_slide .event_post_cont .img_block .img {
		width: 61%;
	}
	.top_report_slide .info_mark {
		position: absolute;
		top: 0;
		right: 20px;
		width: auto;
	}
	.top_report_slide .info_mark .public {
		font-size: var(--fz13);
	}
	.swiper-container.top_report_slide .swiper-slide {
		padding: 30px 40px 5px 40px;
	}
	#top_report .slide {
		width: 100%;
	}
	#top_report .slide .arw {
		width: 95%;
	}
	.top_report_slide .inner {
		border-radius: 15px;
		box-shadow: none;
	}
}
@media only screen and (max-width: 350px) {
    #top_hero .wrap {
        padding-bottom: 52px;
    }
}
/*//top*/

/*enmusubi*/
#enmusubi_flow {
    max-width: 1000px;
    width: 92%;
    margin: 0 auto var(--num150);
}
.enmusubi_flow_li {
    width: 100%;
    list-style: none;
}
.enmusubi_flow_li > li {
    position: relative;
    width: 100%;
    padding: 20px 0 25px;
    margin-bottom: 3.5em;
    font-size: var(--fz15);
    background: #fff;
    border-radius: 25px;
}
.enmusubi_flow_li > li::after {
    content: '';
    position: absolute;
    top: calc(100% + 1.3em);
    left: 50%;
    display: block;
    width: 0;
    height: 0;
    border-top: 1em solid var(--c_blue);
    border-right: 1em solid transparent;
    border-bottom: none;
    border-left: 1em solid transparent;
    transform: translateX(-50%);
}
.enmusubi_flow_li > li:last-of-type::after {
    display: none;
}
.enmusubi_flow_li .inner {
    display: flex;
    justify-content: space-between;
    max-width: 740px;
    width: 92%;
    margin: auto;
}
.enmusubi_flow_li .cont {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 88%;
    margin-top: 10px;
}
.enmusubi_flow_li .num {
    flex-shrink: 0;
    display: block;
    width: auto;
    margin-right: .4em;
    color: #b5d9f5;
    font-size: var(--fz50);
    font-family: var(--concert);
    line-height: 1;
}
.enmusubi_flow_li .cont_inner {
    width: 100%;
    font-size: var(--fz50);
}
.enmusubi_flow_li .tit {
	width: 100%;
	margin-bottom: .5em;
    color: var(--c_blue);
    font-size: var(--fz25);
    font-weight: 500;
    line-height: 1.3;
}
.enmusubi_flow_li .tit br.sp {
    display: none;
}
.enmusubi_flow_li .txt_wrap {
    width: 100%;
    font-size: var(--fz15);
}
.enmusubi_flow_li .list {
    padding-left: 1.5em;
    list-style: disc;
}
.enmusubi_flow_li .img {
    position: relative;
    width: 10%;
    min-height: var(--num120);
}
.enmusubi_flow_li .img > img {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    max-width: inherit;
    width: 200%;
    height: 100%;
    object-fit: contain;
    transform: translateY(-50%);
}
.enmusubi_flow_li .img > img.provisional {
    max-height: 104px;
}
.enmusubi_flow_li .img > img.marriage {
    top: auto;
    bottom: 0;
    height: 132%;
    transform: translateY(0%);
}
.enmusubi_flow_li .img > img.encounter {
    max-height: 105px;
}
#enmusubi_flow .note {
    width: 90%;
    padding: 2em;
    margin: var(--num80) auto 0;
    text-align: center;
    background: rgba(255,255,255,.6);
    border-radius: 20px;
}
#enmusubi_flow .event_post_link{
	margin-top: var(--num80);
}
#enmusubi_about {
    position: relative;
    width: 100%;
    padding: var(--num135) 0 var(--num120);
}
#enmusubi_about::before {
    content: '';
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("./img/pattern_white_stripe.webp") center center/23px auto repeat;
    z-index: 0;
}
#enmusubi_about .cont {
    position: relative;
    max-width: 835px;
    width: 90%;
    margin: auto;
    z-index: 1;
}
#enmusubi_about .inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: var(--num80) 0 var(--num90);
}
#enmusubi_about .tit {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 1.5em;
    color: var(--c_pink);
    font-size: var(--fz17);
    font-weight: 400;
    letter-spacing: .15em;
}
#enmusubi_about .tit::before {
    content: '';
    display: block;
    width: 9.82em;
    height: 4.53em;
    margin-bottom: .7em;
    background: url("./img/icon_enmusubi.webp") center center/contain no-repeat;
}
#enmusubi_about .tit b {
    font-size: 1.58em;
    font-weight: 400;
}
#enmusubi_about .txt {
    width: 88%;
    font-size: var(--fz15);
    line-height: 2.5;
    text-align: center;
}
#enmusubi_about .cont::before, #enmusubi_about .inner::before {
    content: '';
    position: absolute;
    top: 0;
    left: -5px;
    display: block;
    width: 70px;
    height: 32px;
    background: url("./img/figure_line_enmusubi.webp") right top/auto 100% no-repeat;
    transform: scale(-1, -1);
}
#enmusubi_about .inner::before {
    top: auto;
    right: -5px;
    bottom: 0;
    left: auto;
    transform: scale(1, 1);
}
#enmusubi_about .cont::after, #enmusubi_about .inner::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: calc(100% - 70px);
    height: calc(100% - 32px);
    border-bottom: 3px solid var(--c_pink);
    border-left: 3px solid var(--c_pink);
    pointer-events: none;
}
#enmusubi_about .inner::after {
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    border-top: 3px solid var(--c_pink);
    border-right: 3px solid var(--c_pink);
    border-bottom: none;
    border-left: none;
    pointer-events: none;
}
#enmusubi_policy {
    width: 100%;
    padding: var(--num100) 0 var(--num70);
}
#enmusubi_policy .inner {
    max-width: 1000px;
    width: 92%;
    padding: var(--num70);
    margin: auto;
    background: #fff;
    border-radius: 30px;
}
.enmusubi_policy_dl {
    display: flex;
    justify-content: flex-start;
    max-width: 880px;
    width: 100%;
    margin: auto;
    font-size: var(--fz14);
}
.enmusubi_policy_dl + .enmusubi_policy_dl {
    margin-top: 2.5em;
}
.enmusubi_policy_dl dt {
    align-self: center;
    flex-shrink: 0;
    width: 7.5em;
}
.enmusubi_policy_dl dd {
    width: 100%;
    padding: 1em 0 1em 2em;
    border-left: 1px solid var(--c_gray);
}
.enmusubi_policy_dl dd .list {
    padding-left: 1.5em;
}
#enmusubi_faq {
    margin-bottom: var(--num120);
}
#enmusubi_faq + .event_post_link {
	margin-bottom: var(--num120);
}
.faq_block {
    max-width: 1000px;
    width: 92%;
    padding: 1.87em 0;
    margin: auto;
    font-size: var(--fz16);
    border: 4px solid #fff;
    border-radius: 20px;
}
.faq_wrap {
    max-width: 815px;
    width: 90%;
    padding: 1.87em 1.56em;
    margin: auto;
    color: var(--c_blue);
}
.faq_wrap + .faq_wrap {
    border-top: 2px dashed #fff;
    ;
}
.faq_wrap .q {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    cursor: pointer;
}
.faq_wrap .q.acc-btn::after {
    content: '\f067';
    flex-shrink: 0;
    display: block;
    width: auto;
    margin-top: .7em;
    margin-left: .5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transition: all .3s ease;
}
.faq_wrap .q.acc-btn.acc-open::after {
    content: '\f068';
}
.faq_wrap .inner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.faq_wrap .q .inner > span, .faq_wrap .a .inner > span {
    display: block;
    margin-right: .7em;
    font-size: 2.56em;
    font-family: var(--concert);
    line-height: 1;
}
.faq_wrap .a .inner > span {
    color: #fff;
    padding-top: .45em;
    -webkit-text-stroke: 1px var(--c_blue);
    text-stroke: 1px var(--c_blue);
}
.faq_wrap .a.acc-cont .inner > span {
    padding-top: 0;
}
.faq_wrap .q .inner > .txt {
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.5;
}
.faq_wrap .a {
    padding-top: 1.5em;
}
.faq_wrap .a.acc-cont {
    padding-top: 1em;
}
.faq_wrap .txt {
    padding-top: .7em;
}
.faq_wrap .a .txt {
    position: relative;
    padding-top: 1.5em;
    line-height: 2;
}
.faq_wrap .a .txt::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 3px;
    background: #fff;
}
.faq_wrap .a.acc-cont .txt {
    padding-top: .5em;
}
.faq_wrap .a.acc-cont .txt::before {
    display: none;
}
#enmusubi_faq .btn_wrap {
    margin-top: var(--num50);
}
.btn_more {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    padding: .4em 1em;
    color: #fff;
    font-size: var(--fz20);
    font-family: var(--concert);
    line-height: 1;
    background: var(--c_blue);
    border: 1px solid #fff;
    box-shadow: 1px 1px 0 var(--c_blue), 2px 2px 0 var(--c_blue), 3px 3px 0 var(--c_blue), 4px 4px 0 var(--c_blue);
    transition: all .3s ease;
}
.btn_more:hover {
    top: 4px;
    left: 4px;
    box-shadow: none;
}
.btn_more::after {
    content: '\f054';
    position: absolute;
    top: 50%;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.6em;
    height: 1.6em;
    color: var(--c_blue);
    font-size: .7em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    background: #fff;
    border: 2px solid var(--c_blue);
    border-radius: 50%;
    transform: translate(50%, -50%);
}
.btn_more.pink {
	background: var(--c_pink);
	box-shadow: 1px 1px 0 var(--c_pink), 2px 2px 0 var(--c_pink), 3px 3px 0 var(--c_pink), 4px 4px 0 var(--c_pink);
}
.btn_more.pink::after {
	color: var(--c_pink);
    border: 2px solid var(--c_pink);
}
#enmusubi_married {
    position: relative;
    width: 100%;
    padding: var(--num135) 0 var(--num120);
}
.arch_bg {
    position: absolute !important;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: -1 !important;
    overflow: hidden;
}
.arch_bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--l_pink);
    transform-origin: left top;
    transform: scaleY(.57116398);
    z-index: 1;
}
.arch_bg::after {
    content: '';
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("./img/pattern_white_stripe.webp") left top/23px auto repeat;
    z-index: 0;
}
.arch_bg > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    z-index: 2;
}
.arch_bg > span::before {
    content: '';
    opacity: .4;
    flex-shrink: 0;
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 58%;
    background: url("./img/pattern_white_stripe.webp") left top/23px auto repeat var(--l_pink);
    clip-path: url(#arch_path);
}
#enmusubi_married > * {
    position: relative;
    z-index: 0;
}
.married_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1170px;
    width: 92%;
    margin: auto;
}
.married_block {
    width: 17%;
}
.married_block .inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
}
.married_block .inner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 100%;
    padding-top: 100%;
    background: #fff;
    border-radius: 50%;
    transform: translateX(-50%);
    z-index: 0;
}
.married_block .img {
    position: relative;
    width: 100%;
}
.married_block .img::after {
    content: '';
    position: relative;
    display: block;
    width: 100%;
    padding-top: 100%;
    pointer-events: none;
    z-index: 0;
}
.married_block .img_inner {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
    height: 100%;
}
.married_block .img_inner::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 19%;
    margin-top: 10%;
    background: url("./img/icon_enmusubi.webp") center center/39% auto no-repeat;
    z-index: 1;
}
.married_block .img_inner.heartp::before {
    padding-top: 23%;
    background: url("./img/icon_heart.webp") center center/contain no-repeat;
}
.married_block .img_inner.omiai::before {
    padding-top: 19%;
    background: url("./img/icon_enmusubi.webp") center center/39% auto no-repeat;
}
.married_block .img_inner > span {
    position: relative;
    display: block;
    margin: 0 2px;
    z-index: 1;
}
.married_block .img_inner > span > img {
    display: block;
    width: 100%;
}
.married_block .img_inner > span.l {
    width: 37%;
}
.married_block .img_inner > span.r {
    width: 27%;
}
.married_block .name {
    width: 100%;
    margin: .5em 0;
    font-size: var(--fz14);
    letter-spacing: .15em;
    text-align: center;
}
.married_block .btn {
    position: relative;
    display: block;
    color: var(--c_blue);
    font-size: var(--fz15);
    font-family: var(--concert);
}
.married_block .btn::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--c_blue);
}
.married_block .btn::after {
    content: '\f054';
    position: absolute;
    top: 54%;
    left: calc(100% + .3em);
    font-size: .8em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}
.married_wrap.swiper-container {
    width: 100%;
    padding-left: 6%;
}
.married_block.swiper-slide {
    width: 200px;
    margin-right: 20px;
}
@media only screen and (max-width: 1000px) {
    .enmusubi_flow_li .cont {
        width: 78%;
    }
    .enmusubi_flow_li .img {
        width: 20%;
    }
    .enmusubi_flow_li .img > img {
        width: 100%;
    }
}
@media only screen and (max-width: 768px) {
    .enmusubi_flow_li > li {
        padding: 15px 0 20px;
        margin-bottom: 3em;
        border-radius: 20px;
    }
    .enmusubi_flow_li > li::after {
        top: calc(100% + 1.1em);
    }
    .enmusubi_flow_li .inner {
        width: 88%;
    }
    .enmusubi_flow_li .cont {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        width: 100%;
        margin-top: 0;
        font-size: ;
    }
    .enmusubi_flow_li .cont_inner {
        display: contents;
    }
    .enmusubi_flow_li .num {
        margin: 0 .3em;
    }
    .enmusubi_flow_li .tit {
        width: calc(100% - 3.4em);
        font-size: .5em;
    }
    .enmusubi_flow_li .tit br.sp {
        display: block;
    }
    .enmusubi_flow_li .txt_wrap {
        margin-top: .5em;
    }
    .enmusubi_flow_li .img {
        display: none;
    }
	#enmusubi_flow .note {
		width: 100%;
		font-size: var(--fz13);
		text-align: left;
	}
	#enmusubi_about {
		padding-top: var(--num100);
	}
	#enmusubi_about::before {
		background-size: 10px auto;
	}
	#enmusubi_about .txt {
		font-size: var(--fz14);
		line-height: 1.7;
		text-align: left;
	}
	#enmusubi_about .txt br.pc {
		display: none;
	}
	#enmusubi_about .tit {
		margin-bottom: .7em;
		font-size: var(--fz21);
	}
	#enmusubi_about .tit b {
		font-size: 1em;
	}
	#enmusubi_about .tit::before {
		width: 4.43em;
		height: 2.19em;
		margin-bottom: .3em;
	}
	#enmusubi_policy {
		padding-bottom: var(--num100);
	}
	.enmusubi_policy_dl {
		flex-direction: column;
		align-items: flex-start;
	}
	.enmusubi_policy_dl dd {
		padding: 0;
		border-left: none;
	}
	.enmusubi_policy_dl dt {
		align-self: flex-start;
		margin-bottom: .2em;
		font-weight: 700;
	}
	.enmusubi_policy_dl + .enmusubi_policy_dl {
		margin-top: 1.5em;
	}
	.faq_block {
		font-size: var(--fz14);
	}
	.faq_wrap {
		padding: 1em 0;
	}
	.faq_wrap .q .inner > span, .faq_wrap .a .inner > span {
		margin-right: .2em;
	}
	.faq_wrap .q .inner > .txt {
		letter-spacing: 0;
	}
	.faq_wrap .a.acc-cont {
		padding-top: .7em;
		padding-bottom: .2em;
	}
	.faq_wrap .a .txt {
		line-height: 1.7;
	}
	.faq_wrap .a .txt::before {
		display: none;
	}
	.faq_wrap .a .inner {
		border-top: 2px dashed #fff;
	}
	.faq_wrap .a.acc-cont .inner {
		border-top: none;
	}
	.married_block {
		width: 48%;
		margin-bottom: 35px;
	}
	.arch_bg::before {
		transform: scaleY(.5875);
	}
	.arch_bg::after {
		background: url("./img/pattern_white_stripe.webp") left top/7px auto repeat;
	}
	.arch_bg > span::before {
		background: url("./img/pattern_white_stripe.webp") left top/7px auto repeat;
		clip-path: url(#arch_path_sp);
	}
}
/*//enmusubi*/

/*heartp*/
#heart_p {
    position: relative;
    width: 100%;
    margin-bottom: var(--num120);
}
#heart_p .inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 850px;
    width: 92%;
    padding: var(--num100) 0 var(--num90);
    margin: auto;
    background: #fff;
    clip-path: url(#hmbg_nav_path);
    z-index: 1;
}
#heart_p .tit {
    margin-bottom: 1.5em;
    color: var(--c_pink);
    font-size: var(--fz25);
    line-height: 1.4;
    text-align: center;
}
#heart_p .tit br.sp {
    display: none;
}
#heart_p .img {
    max-width: 206px;
    width: 92%;
}
#heart_p .txt {
    width: 92%;
    margin-top: 2em;
    font-size: var(--fz15);
    line-height: 2.2;
    text-align: center;
}
.page_heart-p #top_report {
	position: relative;
	padding: var(--num100) 0 var(--num120);
	margin-bottom: 0;
}
.page_heart-p #top_report::before {
	opacity: .4;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url("./img/pattern_white_stripe.webp") left top/23px auto repeat;
	z-index: 0;
}
.page_heart-p #top_schedule > * {
	position: relative;
	z-index: 1;
}
.page_heart-p #top_schedule > .concert_tit {
	position: relative;
	max-width: 710px;
}
.page_heart-p #top_schedule > .concert_tit::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 100%;
	display: block;
	max-width: 184px;
	width: 13.46vw;
	height: 13.76vw;
	background: url("./img/heartp_img2.webp") center bottom/contain no-repeat;
	transform: translateX(-30%);
}
@media only screen and (max-width: 950px) {
	.page_heart-p #top_schedule > .concert_tit::after {
		display: none;	
	}
}
@media only screen and (max-width: 768px) {
	#heart_p .tit {
        font-size: var(--fz20);
    }
    #heart_p .tit br.sp {
        display: block;
    }
    #heart_p .inner {
        background: transparent;
        clip-path: inherit;
    }
    #heart_p::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        display: block;
        width: 120%;
        height: 100%;
        background: #fff;
        clip-path: url(#hmbg_nav_path);
        transform: translate(-50%, -50%);
        z-index: 0;
    }
    #heart_p .txt {
        margin-bottom: 1em;
        font-size: var(--fz17);
        line-height: 1.7;
        text-align: left;
    }
    #heart_p .img {
        max-width: 190px;
    }
	.page_heart-p #top_report::before {
		background: url("./img/pattern_white_stripe.webp") left top/7px auto repeat;
	}
}
/*//heartp*/

/*event-archive*/
#event_archive {
    width: 100%;
    padding-top: var(--num100);
}
#tabs .panel.add {
    display: none;
}
#tabs .panel.add.show {
    display: block;
}
.tab_wrap {
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 625px;
    width: 92%;
    margin: 0 auto var(--num60);
    list-style: none;
}
.tab_wrap > li {
    position: relative;
    top: 0;
    left: 0;
    width: 42%;
    font-size: var(--fz20);
    line-height: 1.3;
    text-align: center;
    background: #fff;
    border: 2px solid;
    border-radius: 20px;
    transition: all .3s ease;
    cursor: pointer;
}
.tab_wrap > li > * {
	display: block;
	padding: 1em;
}
.tab_wrap > li.active {
    cursor: default;
}
.tab_wrap > li#upcoming.active, .tab_wrap > li#history.active, .tab_wrap > li#upcoming:hover, .tab_wrap > li#history:hover {
    top: 5px;
    left: 5px;
    box-shadow: none;
}
.tab_wrap > li#upcoming {
    color: var(--c_pink);
    border-color: var(--c_pink);
    box-shadow: 5px 5px 0 var(--c_pink);
}
.tab_wrap > li#upcoming:hover {
	background: var(--c_pink);
}
.tab_wrap > li#upcoming > a {
	display: block;
	color: var(--c_pink);
	transition: all .3s ease;
}
.tab_wrap > li#upcoming:hover > a {
	color: #fff;
}
.tab_wrap > li#history {
    color: var(--c_blue);
    border-color: var(--c_blue);
    box-shadow: 5px 5px 0 var(--c_blue);
}
.tab_wrap > li#history:hover {
	background: var(--c_blue);
}
.tab_wrap > li#history > a {
	color: var(--c_blue);
}
.tab_wrap > li#history:hover > a {
	color: #fff;
}
.tab_wrap > li#upcoming.active {
    color: #fff;
    background: var(--c_pink);
}
.tab_wrap > li#history.active {
    color: #fff;
    background: var(--c_blue);
}
#event_archive .mark_public {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    font-size: var(--fz18);
    transform: translate(70%, -50%);
}
.panel_wrap {
    position: relative;
    width: 100%;
    padding: var(--num70) 0 var(--num120);
}
.panel_wrap::before {
    content: '';
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("./img/pattern_white_stripe.webp") center center/23px auto repeat;
    z-index: 0;
}
.panel_wrap > * {
    position: relative;
    z-index: 1;
}
.panel_wrap .panel_tit {
    width: 92%;
    margin: 0 auto var(--num150);
    color: var(--c_blue);
    font-size: var(--fz20);
    text-align: center;
}
.event_upcoming {
    position: relative;
    max-width: 990px;
    width: 88%;
    margin: auto;
}
.event_upcoming_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    list-style: none;
}
.event_upcoming_li > li {
    width: 47%;
    padding: var(--num35) 0;
    margin-bottom: var(--num135);
    background: #fff;
    border-radius: 20px;
    box-shadow: 5px 5px 0 rgba(189, 181, 171, .4);
}
.event_upcoming_li.event_schedule .wrap {
    flex-direction: column;
    width: 100%;
}
.event_upcoming_li .date_wrap {
    position: relative;
    align-self: flex-end;
    width: 8.82em;
    margin-right: 1.5em;
    font-size: var(--fz17);
}
.event_upcoming_li.event_schedule .date {
    position: absolute;
    bottom: 0;
    left: 0;
}
.event_upcoming_li.event_schedule .event_post_cont {
    max-width: 370px;
    width: 92%;
    margin: 0 auto clamp(16px, 2.56vw, 30px);
}
.event_upcoming_li.event_schedule .img_block {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 280px;
    width: 92%;
    margin: auto;
}
.event_upcoming_li.event_schedule .img_block.c1 {
    justify-content: center;
}
.event_upcoming_li.event_schedule .poster {
	align-self: center;
    width: 33%;
}
.event_upcoming_li.event_schedule .img {
    width: 58%;
    margin: 0;
}
.event_upcoming_li .btn_wrap {
    margin-top: 1em;
    font-size: var(--fz16);
}
.btn_more2 {
    opacity: 1;
    position: relative;
    display: block;
    width: auto;
    color: var(--c_pink);
    font-size: var(--fz16);
    font-family: var(--concert);
    transition: all .3s ease;
}
.btn_more2.blue {
    color: var(--c_blue);
}
.btn_more2:hover {
    opacity: .6;
}
.btn_more2::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 1px;
    background: var(--c_pink);
}
.btn_more2.blue::before {
    background: var(--c_blue);
}
.btn_more2::after {
    content: '\f138';
    position: absolute;
    top: 50%;
    left: calc(100% + 5px);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
    transform: translateY(-50%);
}
.event_history_block {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease, transform .6s ease;
}
.event_history_block.is-show {
  opacity: 1;
  transform: translateY(0);
}
.event_history_block .year_tit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 7.6em;
    height: 4em;
    margin: 0 auto var(--num100);
    color: #fff;
    font-size: var(--fz20);
    line-height: 1;
    background: var(--c_blue);
    border: 1px solid #fff;
    border-radius: 20px;
    box-shadow: 3px 3px 0 var(--c_blue);
}
.event_history_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1090px;
    width: 94%;
    margin: auto;
}
.event_history_li > li {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 17%;
    margin: 0 2% var(--num90);
}
.event_history_li > li.dummy {
	margin-bottom: 0;
}
.event_history_li .img {
    opacity: 1;
    position: relative;
    display: block;
    width: 100%;
    transition: all .3s ease;
}
.event_history_li .img:hover {
    opacity: .6;
}
.event_history_li .img > img {
    display: block;
    width: 100%;
}
.event_history_li .cont {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
	padding-top: .8em;
}
.event_history_li .cat {
    padding: 0 1em;
    margin: 0 0 .3em;
    color: var(--c_gray);
    font-size: var(--fz15);
    background: #fff;
    border: 1px solid var(--c_gray);
    border-radius: 9999px;
}
.event_history_li .title {
	width: 100%;
	margin: .2em 0;
    color: var(--c_blue);
    font-size: var(--fz20);
	line-height: 1.3;
    text-align: center;
}
.event_history_li .date {
    color: var(--c_gray);
    font-size: var(--fz14);
    text-align: center;
}
.event_history_li .btn_more2 {
    margin-right: 1em;
}
#event_archive .event_history_li .mark_public {
    right: auto;
    left: 0;
    font-size: var(--fz14);
    transform: translate(-50%, -30%);
    z-index: 1;
}
#loadMore {
    position: relative;
    top: 0;
    left: 0;
    width: 9.62em;
    height: 5.12em;
    color: var(--c_blue);
    font-size: var(--fz16);
    line-height: 1;
    background: #fff;
    border: 1px solid var(--c_blue);
    border-radius: 20px;
    box-shadow: 3px 3px 0 var(--c_blue);
    transition: all .3s ease;
    cursor: pointer;
}
#loadMore:hover {
    top: 3px;
    left: 3px;
    box-shadow: none;
}
.event_upcoming_li.event_schedule.swiper-container.event_upcoming_slide {
    display: block;
}
.event_upcoming_li.event_schedule .swiper-slide {
    display: block;
    width: auto;
    padding: 20px 0;
    margin: 0;
    background: #fff;
    border-radius: 15px;
    box-sizing: border-box;
}
.event_upcoming_li.event_schedule .swiper-slide .date_wrap {
    width: 100%;
    margin-right: 0;
}
.event_upcoming_li.event_schedule .swiper-slide .date {
    position: relative;
    bottom: auto;
    left: auto;
    width: 100%;
}
.event_upcoming_li.event_schedule .swiper-slide .cat_wrap {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
}
.event_upcoming_li.event_schedule .swiper-slide .event_post_cont {
    width: 80%;
}
.event_upcoming .arw {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
.event_upcoming_prev.swiper-button-prev.swiper-button-white {
    position: relative;
    left: auto;
    right: auto;
    width: 40px;
    height: 40px;
    background-size: auto 55%;
    background-color: var(--c_pink);
    border-radius: 50%;
    transform: translateX(-50%);
}
.event_upcoming_next.swiper-button-next.swiper-button-white {
    position: relative;
    right: auto;
    left: auto;
    width: 40px;
    height: 40px;
    background-size: auto 55%;
    background-color: var(--c_pink);
    border-radius: 50%;
    transform: translateX(50%);
}
@media only screen and (max-width: 768px) {
    .tab_wrap > li {
		width: 44%;
        font-size: var(--fz14);
        border-radius: 15px;
    }
    #event_archive .mark_public {
        width: 6.5em;
        height: 6.5em;
        font-size: var(--fz13);
        transform: translate(15%, -75%);
    }
    #event_archive .mark_public::after {
        display: none;
    }
    #event_archive .tab_wrap {
        margin-top: var(--num100);
    }
    .panel_wrap .panel_tit {
        display: none;
    }
    .event_upcoming_li.event_schedule .poster {
        width: 34%;
    }
    .event_upcoming_li.event_schedule .img {
        width: 60%;
    }
    .event_upcoming {
        margin-bottom: var(--num150);
    }
	.event_upcoming_li > li {
		display: block;
		width: auto;
		padding: 20px 0;
		margin: 0 0 30px;
		background: #fff;
		border-radius: 15px;
		box-sizing: border-box;
	}
	.event_upcoming_li .date_wrap {
		width: 100%;
		margin-right: 0;
	}
	.event_upcoming_li.event_schedule .date {
		position: relative;
		bottom: auto;
		left: auto;
		width: 100%;
	}
	.event_upcoming_li .cat_wrap {
		width: 80%;
		margin-right: auto;
		margin-left: auto;
	}
	.event_upcoming_li .event_post_cont {
		width: 80%;
	}
    .event_history_li > li {
        width: 42%;
        margin-bottom: var(--num80);
    }
    #event_archive .event_history_li .mark_public {
        font-size: var(--fz11);
        transform: translate(-20%, -50%);
    }
}
/*//event-archive*/

/*event-single*/
.single-events .page_temp {
	padding-top: var(--num90);
}
#event_report {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
    width: 100%;
    padding: 0 0 var(--num150);
    margin: auto;
}
#event_report .concert_tit_wrap {
    position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	width: auto;
	margin: auto;
}
#event_report .concert_tit {
	white-space: nowrap;
}
#event_report .event_report_couple {
    top: 0;
    left: 102%;
    padding-top: 34%;
    transform: translateY(0);
}
.second_head .tit > span.date {
    margin: .5em 0 0 0;
}
.post_cont_wrap {
    max-width: 1000px;
    width: 92%;
    margin: auto;
    background: #fff;
    border: 1px solid var(--c_gray);
    border-radius: 20px;
}
.post_cont_wrap .date_cat {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 95%;
    padding: 1.2em 0 1em 6%;
    margin: 0 auto 1.5em;
    font-size: var(--fz15);
    border-bottom: 1px solid var(--c_gray);
}
.post_cont_wrap .date {
    flex-shrink: 0;
    width: auto;
    margin-right: 1em;
    color: var(--c_blue);
    font-size: 1.33em;
    line-height: 1;
}
.post_cont_wrap .cat_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
.post_cont_wrap .cat {
    display: block;
    width: auto;
    padding: .3em 1em;
    margin-left: 1em;
    color: #fff;
    line-height: 1.3;
	white-space: nowrap;
    background: var(--c_blue);
    border-radius: 9999px;
}
.post_cont_wrap .inner {
	flex-shrink: 0;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-start;
    align-items: flex-start;
	width: auto;
}
.post_cont_wrap .inner .cat_wrap {
	justify-content: flex-start;
}
.post_cont_wrap .inner .cat {
	margin-right: 1em;
	margin-left: 0;
}
.post_cont_wrap .inner .date {
	width: 100%;
	padding-right: .7em;
	margin-top: .7em;
	text-align: center;
}
.post_cont_wrap .title {
    width: 84%;
    margin: 0 auto 1em;
    color: var(--c_blue);
    font-size: var(--fz25);
}
.post_cont_wrap .date_cat .title {
    align-self: center;
    width: 100%;
    margin-left: .5em;
    margin-bottom: 0;
}
.post_cont {
    width: 84%;
    padding-bottom: var(--num100);
    margin: auto;
}
.post_cont * {
    margin-bottom: 15px;
}
#event_info {
    width: 100%;
    padding-bottom: var(--num120);
}
#event_info .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1010px;
    width: 92%;
    margin: 0 auto var(--num60);
}
#event_info .poster {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 25%;
}
#event_info .poster .modal {
    display: block;
    padding: 0 .7em;
    margin-top: 1.5em;
    color: var(--c_blue);
    font-size: var(--fz13);
    line-height: 1.5;
    background: #fff;
    border-radius: 5px;
    transition: all .3s ease;
}
#event_info .poster .modal:hover {
    color: #fff;
    background: var(--c_blue);
}
#event_info .poster .modal::after {
    content: '\f00e';
    margin-left: .2em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
#modal_event_poster .modal_block {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1000px;
    width: 88%;
}
#modal_event_poster .modal_block > img {
    display: block;
    width: auto;
}
#event_info .cont {
    position: relative;
    width: 66%;
}
#event_info .cont::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    display: block;
    width: 32%;
    padding-top: 23%;
    background: url("./img/event_single_img.webp") center center/contain no-repeat;
    transform: translate(-50%, -20%);
}
#event_info .inner {
    width: 100%;
    padding: var(--num70) 0 var(--num100);
    background: #fff;
    clip-path: url(#hmbg_nav_path);
}
.event_info_dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 505px;
    width: 88%;
    margin: 0 auto 1em;
    font-size: var(--fz15);
    line-height: 1.4;
}
.event_info_dl > dt {
    flex-shrink: 0;
    width: 7em;
    padding-right: 1em;
    color: var(--c_blue);
    letter-spacing: .1em;
}
.event_info_dl > dd {
    width: 100%;
    color: var(--c_gray);
}
#event_info .atmosphere {
    max-width: 1000px;
    width: 92%;
    margin: 0 auto var(--num100);
}
#event_info .atmosphere .tit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 11.21em;
    height: 7.1em;
    margin-bottom: 2.37em;
    color: var(--c_blue);
    font-size: var(--fz19);
    line-height: 1.3;
    background: url("./img/figure_bubble1.webp") center center/contain no-repeat;
}
.event_atmosphere_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    list-style: none;
    row-gap: 60px;
}
.event_atmosphere_li > li {
    width: 29%;
}
.event_atmosphere_li .img {
    position: relative;
    width: 100%;
    padding-top: 100%;
}
.event_atmosphere_li .img > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: translate(-50%, -50%);
}
.event_atmosphere_li .cap {
    width: 100%;
    margin-top: 1em;
    color: var(--c_gray);
    font-size: var(--fz15);
}
@media only screen and (max-width: 768px) {
    .post_cont_wrap .date_cat {
        flex-direction: column-reverse;
        align-items: flex-start;
        padding-top: 1.5em;
        padding-left: .5em;
    }
	.post_cont_wrap .date_cat {
		font-size: var(--fz13);
	}
    .post_cont_wrap .date {
        margin-top: .3em;
    }
    .post_cont_wrap .cat_wrap {
        justify-content: flex-start;
    }
    .post_cont_wrap .cat {
        margin: 0 .5em .7em 0;
    }
    .post_cont_wrap .title {
        width: 90%;
        font-size: var(--fz20);
    }
    .post_cont {
        width: 90%;
        font-size: var(--fz14);
        line-height: 1.5;
    }
	.post_cont_wrap .date_cat.title_wrap {
		flex-direction: column;
	}
	.post_cont_wrap .inner .date {
		margin-top: 0;
		text-align: left;
	}
	.post_cont_wrap .date_cat .title {
		margin-top: .5em;
		margin-left: 0;
		font-size: var(--fz22);
	}
    #event_info {
        padding-bottom: var(--num150);
    }
    #event_info .wrap {
        flex-direction: column-reverse;
        justify-content: flex-start;
        margin-bottom: var(--num100);
    }
    #event_info .poster {
        width: 50%;
    }
    #event_info .cont {
        width: 100%;
        margin-bottom: var(--num60);
    }
    #event_info .inner {
        padding: var(--num90) 0 var(--num60);
    }
    #event_info .cont::after {
        display: none;
    }
    #event_info .poster .modal {
        margin-top: .7em;
        font-size: var(--fz15);
    }
    #event_info .atmosphere .tit {
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 1.7em;
        font-size: var(--fz16);
    }
	.event_atmosphere_li {
		row-gap: 10px;
	}
    .event_atmosphere_li > li {
        width: 31%;
    }
    .event_atmosphere_li .cap {
        margin: .5em 0 2em;
        font-size: var(--fz13);
        line-height: 1.5;
    }
    #event_info .atmosphere {
        margin-bottom: var(--num50);
    }
    .event_info_dl {
        width: 80%;
    }
    .event_info_dl > dt {
        width: 6.5em;
        padding-right: .7em;
    }
	#event_report .event_report_couple {
		position: absolute;
		left: auto;
		right: 0;
		max-width: 186px;
		width: 54%;
		padding-top: 34%;
		background: url(./img/figure_bubble2.webp) center center / contain no-repeat;
		transform: translate(35%, -70%);
	}
	#event_report .event_report_couple > span {
		position: absolute;
		top: 46%;
		left: 50%;
		font-size: var(--fz13);
		transform: translate(-50%, -50%);
	}
	#event_report .event_report_couple > span > br {
		display: block;
	}
}
/*//event-single*/

/*special-event*/
#special_event_feature {
    width: 100%;
    padding: var(--num70) 0 var(--num170);
}
#special_event_feature .lead_txt {
    width: 92%;
    margin: 1em auto;
    color: var(--c_blue);
    font-size: var(--fz20);
    text-align: center;
}
#special_event_feature .img {
    position: relative;
    display: block;
    max-width: 440px;
    width: 80%;
    margin: auto;
    transform: translateY(22%);
    z-index: 1;
}
#special_event_feature .cont {
    position: relative;
    max-width: 955px;
    width: 92%;
    padding: var(--num100) 0 var(--num90);
    margin: auto;
}
#special_event_feature .cont::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    clip-path: url(#oval_path1);
    transform: scale(1, -1) translateX(-50%);
    z-index: 0;
}
#special_event_feature .txt {
    position: relative;
    font-size: var(--fz16);
    line-height: 2.2;
    text-align: center;
    z-index: 1;
}
#special_event_feature .txt > b {
    color: var(--c_pink);
    font-weight: 400;
}
#marriege_report {
    position: relative;
    padding: var(--num150) 0 var(--num120);
}
#marriege_report .arch_bg::before {
    height: calc(100% - 2px);
}
#marriege_report .arch_bg::after, #marriege_report .arch_bg > span::before {
    opacity: 1;
    background: #fff9f8;
}
#marriege_report .concert_tit {
    margin-bottom: var(--num100);
    color: var(--l_pink);
}
.topics_li {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 956px;
    width: 92%;
    margin: 0 auto var(--num150);
    list-style: none;
}
.topics_li > li {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 30%;
    margin-bottom: var(--num35);
}
.topics_li > li.dummy {
	margin-bottom: 0;
}
.topics_li .cat {
    position: absolute;
    top: .5em;
    left: 1em;
    display: block;
    width: auto;
    padding: 0 .7em;
    color: #fff;
    font-size: var(--fz16);
    background: var(--c_blue);
    border-radius: 5px;
    z-index: 1;
}
.topics_li .post_img {
    flex-shrink: 0;
    height: auto;
    padding-top: 67%;
	background: #fff;
}
.topics_li .cont {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding: .7em 1.8em 1.5em;
    font-size: var(--fz17);
    background: #fff;
}
.topics_li .date {
    width: 100%;
    color: var(--c_gray);
    font-size: .88em;
}
.topics_li .title {
    width: 100%;
    margin-bottom: .7em;
    color: var(--c_blue);
    line-height: 1.3;
}
.topics_li .btn_wrap {
    margin-top: auto;
}
#marriege_report .gift .tit {
    width: 92%;
    margin: 0 auto 2.5em;
    color: var(--c_blue);
    font-size: var(--fz23);
    text-align: center;
}
.gift_img {
    max-width: 760px;
    width: 92%;
    margin: auto;
}
div.wp-pagenavi {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 92%;
    margin: auto;
}
div.wp-pagenavi a, div.wp-pagenavi span {
	padding: .3em .2em;
    margin: 0 .5em .3em;
    color: var(--c_blue);
    font-size: var(--fz20);
	font-weight: 500;
	line-height: 1;
    border: none;
}
div.wp-pagenavi span.current {
    font-weight: 500;
    border-bottom: 3px solid var(--c_blue);
}
div.wp-pagenavi a.first, div.wp-pagenavi a.last {
    flex-shrink: 0;
    align-self: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1.3em;
    height: 1.3em;
    padding: 0 0 .3em;
    color: #fff;
    line-height: 1;
    background: var(--c_blue);
    border-radius: 50%;
}
.post_none_txt {
    width: 92%;
    margin: 0 auto var(--num40);
    text-align: center;
}
@media only screen and (min-width: 769px) {
    #marriege_report .topics_li > li:last-of-type {
        display: none;
    }
}
@media only screen and (max-width: 768px) {
    #special_event_feature .lead_txt {
        margin: 0 auto;
        font-size: var(--fz17);
    }
    #special_event_feature .cont {
        width: 100%;
        overflow: hidden;
    }
    #special_event_feature .cont::before {
        width: 160%;
    }
    #special_event_feature .txt {
        width: 90%;
        margin: 1.5em auto 0em;
        font-size: var(--fz14);
        line-height: 1.7;
        text-align: left;
    }
    #special_event_feature .txt > br {
        display: none;
    }
    #special_event_feature .txt > b {
        display: block;
    }
    #special_event_feature .img {
        width: 65%;
    }
    #marriege_report {
        padding-bottom: var(--num170);
    }
    .topics_li {
        margin-bottom: var(--num120);
    }
    .topics_li > li {
        width: 48%;
    }
    .topics_li .cat {
        left: .5em;
        font-size: var(--fz13);
    }
    .topics_li .cont {
        padding: .7em 1em 1.5em;
        font-size: var(--fz15);
    }
    .topics_li .btn_more2.blue {
        font-size: var(--fz15);
    }
    #marriege_report .gift .tit {
        margin-bottom: 1.5em;
        font-size: var(--fz17);
    }
}
/*//special-event*/

/*topics-married*/
#topics_married {
    width: 100%;
    padding-bottom: var(--num170);
}
#topics_married .lead_img {
    display: block;
    max-width: 310px;
    width: 80%;
    margin: var(--num35) auto var(--num50);
}
.post_cat_link {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /*max-width: 945px;*/
	max-width: 560px;
    width: 92%;
    margin: 0 auto var(--num120);
    list-style: none;
	column-gap: 3%;
}
.post_cat_link > li {
    /*width: 18%;*/
	width: 31%;
    font-size: var(--fz19);
    margin-bottom: .7em;
}
.post_cat_link > li.dummy {
	margin-bottom: 0;
}
#event_archive .post_cat_link {
	max-width: 710px;
}
#event_archive .post_cat_link > li {
	width: 22%;
}
.post_cat_link > li > * {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 4.5em;
    font-size: var(--fz19);
    line-height: 1.3;
    text-align: center;
    border-radius: 20px;
    box-shadow: 5px 5px 0 var(--c_blue);
    transition: all .3s ease;
}
.post_cat_link > li > a {
    color: var(--c_blue);
    background: #fff;
    border: 1px solid var(--c_blue);
    transition: all .3s ease;
}
.post_cat_link > li > span, .post_cat_link > li > a:hover {
    top: 5px;
    left: 5px;
    color: #fff;
    background: var(--c_blue);
    box-shadow: none;
}
.post_cat_link > li > span, .post_cat_link > li.is-current > a {
    color: #fff;
    background: var(--c_blue);
    border: 1px solid #fff;
}
#topics_married > .tit {
    width: 92%;
    margin: 0 auto 2.5em;
    color: var(--c_blue);
    font-size: var(--fz20);
    letter-spacing: .1em;
    text-align: center;
}
@media only screen and (max-width: 768px) {
    .post_cat_link {
        justify-content: center;
        width: 95%;
        margin-bottom: var(--num90);
    }
    .post_cat_link > li, #event_archive .post_cat_link > li {
        width: 31%;
        margin-right: 1%;
        margin-left: 1%;
    }
    .post_cat_link > li > * {
        font-size: var(--fz14);
        border-radius: 15px;
        box-shadow: 3px 3px 0 var(--c_blue);
    }
    .post_cat_link > li > a:hover {
        top: 3px;
        left: 3px;
    }
    #topics_married > .tit {
        margin-bottom: 1em;
    }
}
/*//topics-married*/

/*topics-married-single*/
#topics_married_single {
    width: 100%;
    padding: var(--num100) 0 var(--num150);
}
#topics_married_single .post_cat_link {
    margin-bottom: var(--num120);
}
#topics_married_single .btn_wrap {
    margin-top: var(--num100);
}
@media only screen and (max-width: 768px) {
	#topics_married_single .post_cat_link {
		margin-bottom: var(--num60);
	}
}
/*//topics-married-single*/

/*faq*/
#faq {
	width: 100%;
	padding: var(--num60) 0 var(--num235);
}
.faq_cat {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.faq_cat + .faq_cat {
	margin-top: var(--num135);
}
.faq_cat_tit {
	max-width: 490px;
	width: 70%;
    padding: .8em 1em .4em;
    color: var(--c_blue);
    font-size: var(--fz22);
    letter-spacing: .1em;
	line-height: 1.25;
	text-align: center;
    background: #fff;
    border-radius: 25px 25px 0 0;
}
.faq_cat_tit br {
	display: none;
}
@media only screen and (max-width: 768px) {
	.faq_cat_tit {
		font-size: var(--fz18);
		border-radius: 15px 15px 0 0;
	}
	.faq_cat_tit br {
		display: block;
	}
	.faq_cat + .faq_cat {
		margin-top: var(--num80);
	}
}
/*//faq*/

/*agreement*/
#agreement {
	max-width: 943px;
	width: 92%;
	padding: var(--num120) 0 var(--num150);
	margin: var(--num170) auto var(--num200);
	background: #fff;
	border-radius: 20px;
}
#agreement .inner {
	max-width: 762px;
	width: 88%;
	margin: auto;
	font-size: var(--fz15);
}
#agreement .tit {
	width: 100%;
	margin-bottom: 3em;
	color: var(--c_blue);
	font-size: var(--fz20);
	text-align: center;
}
#agreement .inner > .txt {
	width: 100%;
	margin-top: 2em;
}
.agreement_li {
	width: 100%;
	list-style: none;
}
.agreement_li > li {
	width: 100%;
	margin-top: 2em;
}
@media only screen and (max-width: 768px) {
	#agreement {
		margin: 30px auto 70px;
	}
	#agreement .inner {
		font-size: var(--fz13);
	}
	#agreement .tit {
		margin-bottom: 1em;
	}
}
/*//agreement*/

/*form-married*/
#form_married {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    padding: var(--num100) 0 var(--num200);
}
#form_married > .tit {
    width: 92%;
    margin: 0 auto 2.5em;
    color: var(--c_blue);
    font-size: var(--fz20);
    line-height: 1.5;
    text-align: center;
}
#form_married > .tit br.sp {
    display: none;
}
#form_married > .txt {
    width: 92%;
    margin: 2em auto;
    color: var(--c_gray);
    font-size: var(--fz18);
    line-height: 2.2;
    text-align: center;
}
#form_married .num {
    width: auto;
    padding: .7em 1.7em;
    margin: 0 auto var(--num150);
    color: var(--c_gray);
    font-size: var(--fz35);
    line-height: 1;
    text-align: center;
    background: #fff;
}
#form_married .num > .tel::before {
    content: 'TEL ';
}
#form_married .num > span {
    font-size: .54em;
}
.form_block {
    max-width: 945px;
    width: 92%;
    padding: var(--num100) 0 var(--num150);
    margin: auto;
    background: #fff;
    border-radius: 20px;
}
.form_tit {
    position: relative;
    max-width: 446px;
    width: 80%;
    margin: 0 auto var(--num120);
    color: var(--c_pink);
    font-size: var(--fz20);
    letter-spacing: .05em;
    line-height: 1.3;
    text-align: center;
}
.form_tit::before {
    content: '';
    position: absolute;
    bottom: calc(100% - .3em);
    left: 50%;
    display: block;
    width: 100%;
    height: 1em;
    background: url("./img/form_tit1.webp") center center/auto 100% no-repeat;
    transform: translateX(-50%);
}
.form_tit::after {
    content: '';
    position: absolute;
    top: calc(100% + .5em);
    left: 50%;
    display: block;
    width: 100%;
    height: 1em;
    background: url("./img/form_tit2.webp") center center/auto 100% no-repeat;
    transform: translateX(-50%);
}
.form_tit > br.sp {
    display: none;
}
.form_block > .inner {
    max-width: 748px;
    width: 90%;
    margin: auto;
}
.form_block > .inner dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
	margin-bottom: 1.6em;
	font-size: var(--fz18);
}
.form_block > .inner dl > dt {
    flex-shrink: 0;
    position: relative;
    width: 13em;
    padding-left: 1.3em;
    padding-right: 1em;
    margin-top: .45em;
    line-height: 1.1;
}
.form_block > .inner dl > dt::before {
	content: '';
	position: absolute;
	top: .1em;
	left: 0;
	display: block;
	width: 1em;
	height: 1em;
	background: var(--c_pink);
	border-radius: 50%;
}
.form_block > .inner dl > dt > span {
	margin-left: .3em;
	color: var(--c_pink);
	font-size: .77em;
}
.form_block > .inner dl > dt > small {
	font-size: .72em;
}
.form_block > .inner dl > dd {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	font-size: var(--fz17);
}
.form_block > .inner dl > dd > p {
    font-size: var(--fz15);
}
.form_block > .inner dl > dd > label {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
}
.form_block > .inner dl > dd > label + label {
	margin-top: 10px;
}
.form_block > .inner dl > dd > label > span {
	width: 100%;
}
.form_block > .inner dl > dd input, .form_block > .inner dl > dd textarea, .form_block > .inner dl > dd select {
    display: block;
    width: 100%;
    padding: .7em .5em;
	font-size: var(--fz17);
    background: #fff5f3;
	border: none;
    border-radius: .4em;
}
.form_block > .inner dl > dd input[name="file"] {
	background: transparent;
}
.form_block > .inner dl > dd select {
	padding-right: 2em;
}
.form_block > .inner dl > dd input.wpcf7-number {
	text-align: right;
}
.form_block > .inner dl > dd span.wpcf7-form-control-wrap[data-name="zip"] {
    width: 40%;
	margin: 0 .5em;
}
span.wpcf7-not-valid-tip {
	font-size: .8em;
}
.form_block > .inner dl > dd > label.met_year, .form_block > .inner dl > dd > label.met_month, .form_block > .inner dl > dd > label.age {
    width: 20%;
}
.form_block > .inner dl > dd > label.met_year {
	justify-content: flex-end;
	margin-right: .5em;
}
.form_block > .inner dl > dd > label.met_month {
	justify-content: flex-end;
	margin: 0 .5em;
}
.form_block > .inner .note {
    width: 100%;
    margin: 3em 0;
    font-size: var(--fz16);
    line-height: 2;
    text-align: center;
}
.form_privacypolicy {
    max-width: 635px;
    width: 100%;
    height: 15em;
    padding: 3em;
    margin: 0 auto var(--num60);
    font-size: var(--fz13);
    border: 1px solid var(--c_gray);
    overflow: auto;
}
.form_privacypolicy ol {
	padding-left: 1.5em;
	margin-bottom: 1em;
}
.form_privacypolicy p {
	margin-bottom: 1em;
}
label.check_privacypolicy {
	opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fz16);
	transition: all .3s ease;
	cursor: pointer;
}
label.check_privacypolicy:has(input#agree:disabled) {
    opacity: .6;
}
label.check_privacypolicy > span {
	position: relative;
	margin-top: .2em;
	margin-right: .3em;
	line-height: 1;
}
label.check_privacypolicy > span::before {
	content: '\f00c';
	opacity: 0;
	position: absolute;
	top: .75em;
	left: 50%;
	color: #fff;
	font-size: .7em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: 1;
	transform: translate(-50%, -50%);
	transition: all .3s ease;
}
label.check_privacypolicy > span:has(input#agree:checked)::before {
	opacity: 1;
}
label.check_privacypolicy input#agree {
    width: 1.2em;
    height: 1.2em;
    background: #fff;
    border: 1px solid var(--c_gray);
	transition: all .3s ease;
}
label.check_privacypolicy input#agree:checked {
    background: var(--c_pink);
}
.form_block > .inner .submit_btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 290px;
    width: 100%;
	padding: 1em;
	margin: 0 .5em;
    color: #fff;
    font-size: var(--fz17);
    background: var(--c_blue);
    border: 1px solid var(--c_blue);
    border-radius: 9999px;
}
.form_block > .inner .submit_btn {
  opacity: 0.5;
  pointer-events: none;
}
.form_block > .inner .submit_btn.is-active, .form_block > .inner.confirm_wrap .submit_btn {
  opacity: 1;
  pointer-events: auto;
}
.form_block > .inner .submit_btn.confirm::before {
	content: '\f0e0';
	margin-right: .5em;
	font-size: 1.5em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	line-height: 1;
}
.form_block > .inner .submit_btn input[type="submit"], .form_block > .inner .submit_btn input[type="button"] {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
}
.form_block > .inner .submit_btn > span.wpcf7-spinner {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    z-index: 1;
}
.form_block > .inner .btn_wrap {
	margin-top: var(--num60);
}
.wpcf7 form.sent .wpcf7-response-output {
	text-align: center;
	border-color: var(--c_pink);
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	text-align: center;
}
.form_block > .inner .complete_txt {
    text-align: center;
}
.form_block > .inner dl > dd input[type="radio"] {
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    padding: 0;
    margin-right: .3em;
    background: #fff;
    border: 1px solid var(--c_gray);
    border-radius: 50%;
	cursor: pointer;
}
span.wpcf7-form-control.wpcf7-radio {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item {
	position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
	margin-left: 0;
	margin-right: 1em;
}
span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item:has(input[type="radio"])::before {
	content: '';
	position: absolute;
	top: 50%;
	left: .25em;
	display: block;
	width: .5em;
	height: .5em;
	background: transparent;
	border-radius: 50%;
	transform: translateY(-50%);
	transition: all .3s ease;
	pointer-events: none;
}
span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item:has(input[type="radio"]:checked)::before {
	background: var(--c_pink);
}
.form_block > .inner dl > dd > label.select > span.wpcf7-form-control-wrap {
    position: relative;
}
.form_block > .inner dl > dd > label.select > span.wpcf7-form-control-wrap::after {
	content: '\f0d7';
	position: absolute;
	top: 50%;
	right: 1em;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	transform: translateY(-50%);
}
@media only screen and (max-width: 768px) {
    #form_married > .tit {
        margin-bottom: 1em;
        font-size: var(--fz18);
    }
    #form_married > .tit br.sp {
        display: block;
    }
    #form_married > .txt {
        font-size: var(--fz15);
        line-height: 1.7;
        text-align: left;
    }
    #form_married > .txt > br {
        display: none;
    }
    #form_married .num {
        font-size: var(--fz28);
    }
    .form_tit {
        max-width: 320px;
        width: 72%;
        font-size: var(--fz17);
    }
    .form_tit > br.sp {
        display: block;
    }
    .form_tit::before, .form_tit::after {
        background-size: 100% auto;
    }
    .form_tit::before {
        bottom: calc(100% - .1em);
    }
	.form_block > .inner dl {
		flex-direction: column;
		margin-bottom: 1em;
		font-size: var(--fz16);
	}
	.form_block > .inner dl > dt {
	    width: 100%;
		margin-bottom: .6em;
	}
	.form_block > .inner dl > dd {
		font-size: var(--fz15);
	}
	.form_block > .inner dl > dd > p {
		font-size: var(--fz14);
	} 
	.form_block > .inner .note {
	    margin: 2.5em 0;
		font-size: var(--fz14);
		line-height: 1.7;
		text-align: left;
	}
	.form_privacypolicy {
		padding: 1em;
	}
	.form_block > .inner .btn_wrap {
		flex-direction: column;
	}
	.form_block > .inner .back.submit_btn {
		margin-bottom: 10px;
	}
	.form_block > .inner .complete_txt {
		text-align: left;
	}
	.form_block > .inner dl > dd > label.met_year, .form_block > .inner dl > dd > label.met_month {
		width: 30%;
	}
}
/*//form-married*/

/*contact*/
#form_contact {
    width: 100%;
    padding-top: var(--num100);
    margin-bottom: var(--num150);
}
#form_contact > .tit {
	position: relative;
    width: 92%;
    margin: 0 auto 3em;
    color: var(--c_blue);
    font-size: var(--fz20);
    letter-spacing: .1em;
    text-align: center;
	z-index: 1;
}
#form_contact > .tit > br.sp, #form_contact .block_tit > br.sp {
    display: none;
}
#form_contact > .img {
    max-width: 700px;
    width: 88%;
    margin: 0 auto var(--num120);
}
#form_contact .contact_block {
	position: relative;
    width: 100%;
    margin-bottom: var(--num120);
}
#form_contact .block_tit {
	position: relative;
    width: 100%;
    padding: 3em 1em 0;
    color: var(--c_blue);
    font-size: var(--fz25);
    letter-spacing: .1em;
    line-height: 1.3;
    text-align: center;
	z-index: 1;
}
#form_contact .link_wrap {
    position: relative;
    width: 100%;
    padding: var(--num90) 0;
}
#form_contact .contact_block::before {
    content: '';
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("./img/pattern_white_stripe.webp") center center/23px auto repeat;
}
#form_contact .link_wrap > .inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 670px;
    width: 92%;
    margin: auto;
    z-index: 1;
}
#form_contact .link_wrap .img {
	position: relative;
    width: 33%;
}
#form_contact .link_wrap .img .line {
    position: absolute;
    bottom: calc(100% + .3em);
    left: 50%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
    color: var(--c_blue);
    font-size: var(--fz22);
    white-space: nowrap;
    transform: translateX(-50%);
}
#form_contact .link_wrap .img .line::before {
	content: '';
	display: block;
	width: 2px;
	height: 1.4em;
    margin-right: .6em;
	background: var(--c_blue);
	transform: rotate(-25deg);
}
#form_contact .link_wrap .img .line::after {
	content: '';
	display: block;
	width: 2px;
	height: 1.4em;
	margin-left: .6em;
	background: var(--c_blue);
	transform: rotate(25deg);
}
#form_contact .link_wrap .img > img {
    display: block;
    width: 93%;
    margin: auto;
}
#form_contact .link_wrap .link {
    width: 50%;
}
#form_contact .link_wrap .mail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.7em 1em;
    margin-bottom: 1.5em;
    color: var(--c_blue);
    font-size: var(--fz15);
    background: #fff;
    border: 4px solid var(--c_blue);
    border-radius: 20px;
}
#form_contact .link_wrap .mail::before {
    content: '\f0e0';
    display: block;
    margin-bottom: .1em;
    font-size: 2em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    line-height: 1;
}
#form_contact .link_wrap .f_num {
    font-size: var(--fz15);
}
#form_contact .link_wrap .img_tit {
    margin: .5em 0 .2em;
    color: var(--c_blue);
    font-size: var(--fz20);
    text-align: center;
}
#form_contact .link_wrap .address {
    font-size: var(--fz11);
    text-align: center;
}
div.codedropz-upload-inner {
    font-size: var(--fz15);
	line-height: 1.5;
}
div.codedropz-upload-inner h3 {
    font-size: 1.2em;
	line-height: 1.3;
}
@media only screen and (max-width: 768px) {
    #form_contact > .tit {
        margin-bottom: 1.5em;
        font-size: var(--fz17);
    }
    #form_contact > .tit > br.sp, #form_contact .block_tit > br.sp {
        display: block;
    }
    #form_contact .block_tit {
        font-size: var(--fz18);
    }
	#form_contact .link_wrap::before {
		background: url("./img/pattern_white_stripe.webp") center center/7px auto repeat;
	}
    #form_contact .link_wrap > .inner {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    #form_contact .link_wrap .img {
        width: 100%;
        margin-bottom: var(--num50);
    }
    #form_contact .link_wrap .img > img {
        max-width: 200px;
    }
    #form_contact .link_wrap .img_tit {
        margin-bottom: 0;
        font-size: var(--fz16);
    }
    #form_contact .link_wrap .link {
        max-width: 340px;
        width: 100%;
    }
    #form_contact .link_wrap .mail {
        padding: 1.2em 1em;
    }
    #form_contact .link_wrap .f_num {
        font-size: var(--fz13);
    }
	div.codedropz-upload-inner {
		font-size: var(--fz14);
	}
	#form_contact .link_wrap .img .line {
		font-size: var(--fz14);
	}
}
/*//contact*/

/*privacy-policy*/
.policy_li {
    padding-left: 1em;
    margin-top: var(--num35);
}
#agreement .inner > .txt.right {
    text-align: right;
}
/*//privacy-policy*/