/* 共通 */

html {
	font-size: 25px;
}

body {
	min-height         : 100vh;
	font-size          : 18px;
	background-image   : url('../images/bg_body.png');
	background-position: center top;
	background-repeat  : repeat-y;
	background-size    : cover;
	min-height         : 100vh;
}

.wrap {
	position    : relative;
	margin-left : auto;
	margin-right: auto;
	max-width   : 1000px;
	width       : 90%;
}

.pc_off {
	display: none !important;
}

a {
	display: inline-block;
}

#main {
	padding: 100px 0 50px 0;
}

#main h2 {
	text-align: center;
}

#main p {
	text-align: center;
}

#main p:nth-child(2) {
	margin-top   : 50px;
	margin-bottom: 64px;
}

.mt_64 {
	margin-top: 64px;
}

.mt_128 {
	margin-top: 128px;
}

/* sec1 */
#sec1 {
	margin-bottom: 128px;
}

#sec1 h3 {
	margin-bottom: 64px;
	text-align   : center;
}

#sec1 h4 {
	margin-bottom: 32px;
	text-align   : center;
}

#sec1 .text {
	margin-bottom: 64px;
	text-align   : center;
	line-height  : 2.5;
}

#sec1 .text b {
	font-size  : 1.25rem;
	font-weight: 600;
}

#sec1 .text b.atten {
	font-size  : 1.1em;
	font-weight: 600;
	color      : #eb1c24;
}

#sec1 .text b i {
	text-decoration: none;
	color          : #f94b5a;
	font-weight    : 600;
}

#sec1 .link {
	margin-bottom: 64px;
}

#sec1 .link li {
	margin-bottom: 25px;
}

#sec1 .link li:last-child {
	margin-bottom: 0;
}

#sec1 .link li a {
	display            : block;
	border-radius      : 10px;
	padding            : 25px;
	text-align         : center;
	font-size          : 1.25rem;
	font-weight        : 600;
	background-image   : url('../images/icon_right.png');
	background-position: right 25px center;
	background-repeat  : no-repeat;
	background-color   : #FFF;
	box-shadow         : 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 5px 5px 5px 0px rgba(10, 10, 10, 0.02);
}

/* sec2 */
#sec2 {
	margin-bottom: 128px;
}

#sec2 h3 {
	text-align   : center;
	margin-bottom: 64px;
}

#sec2 .link {
	margin-top: 64px;
}

#sec2 .link li {
	margin-bottom: 25px;
}

#sec2 .link li:last-child {
	margin-bottom: 0;
}

#sec2 .link li a {
	display            : block;
	border-radius      : 10px;
	padding            : 25px;
	text-align         : center;
	font-size          : 1.25rem;
	font-weight        : 600;
	background-image   : url('../images/icon_right.png');
	background-position: right 25px center;
	background-repeat  : no-repeat;
	background-color   : #FFF;
	box-shadow         : 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 5px 5px 5px 0px rgba(10, 10, 10, 0.02);
}

#sec2 .link li a.border {
	background-color: transparent;
	position        : relative;
	z-index         : 1;
}

#sec2 .link li a.border::before {
	content   : "";
	position  : absolute;
	top       : 10px;
	bottom    : 10px;
	left      : 10px;
	right     : 10px;
	background: #fff;
	z-index   : -1;
}

#sec2 .link li a.border::after {
	content      : "";
	position     : absolute;
	top          : 0;
	bottom       : 0;
	left         : 0;
	right        : 0;
	border-radius: 10px;
	background   : repeating-linear-gradient(-45deg, #fff, #fff 7px, #f94b5a 0, #f94b5a 14px);
	z-index      : -2;
}

#sec2 .link li a.grad {
	background   : rgb(249, 136, 157);
	background   : linear-gradient(90deg, rgba(249, 136, 157, 1) 0%, rgba(249, 75, 90, 1) 65%);
	border-radius: 50px;
	color        : #FFF;
	position     : relative;
	line-height  : 1.6;
}

#sec2 .link li a.grad::after {
	content         : "";
	position        : absolute;
	right           : 25px;
	top             : 0;
	bottom          : 0;
	left            : inherit;
	margin          : auto 0;
	background-color: transparent;
	border-top      : 3px solid #FFF;
	border-right    : 3px solid #FFF;
	display         : block;
	width           : 18px;
	height          : 18px;
	transform       : rotateZ(45deg);
}

#sec2 .link li a .nopc {
	display: none;
}

#sec2 .schedule {
	margin-top     : 64px;
	display        : flex;
	justify-content: space-between;
}

#sec2 .schedule::after {
	content: none;
}

#sec2 .schedule li {
	width    : 48%;
	max-width: 442px;
}

#sec2 .schedule li {}

#sec2 h4 {
	text-align: center;
}

#sec2 .block-wrap {
	border          : 8px solid #f94b5a;
	background-color: #FFF;
	border-radius   : 20px;
	padding         : 16px 32px;
	margin-top      : 64px;
	box-shadow      : 5px 5px 10px 0px rgb(0 0 0 / 20%);
}

#sec2 .block-wrap .link {
	margin-top: 0;
}

/* sec3 */
#sec3 {
	margin-bottom: 128px;
}

#sec3 h3 {
	text-align   : center;
	margin-bottom: 64px;
}

#sec3 .plan {
	display        : flex;
	justify-content: space-between;
}

#sec3 .plan::after {
	content: none;
}

#sec3 .plan li {
	width           : 48%;
	background-color: #FFF;
	border-radius   : 10px;
	box-shadow      : 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 5px 5px 5px 0px rgba(10, 10, 10, 0.02);
}

#sec3 .plan li:nth-child(3n) {
	margin-right: 0;
}

#sec3 .plan .image img {
	border-radius: 10px 10px 0 0;
}

#sec3 .plan h4 {
	padding    : 20px 0 10px 0;
	text-align : center;
	font-size  : 178%;
	color      : #f94b5a;
	font-weight: 600;
}

#sec3 .plan .text {
	line-height: 1.5;
	text-align : center;
	padding    : 10px;
}

#sec3 .plan .btn {
	text-align: center;
	padding   : 10px 0 20px 0;
}

/* sec4 */
#sec4 {
	margin-bottom: 128px;
}

#sec4 h3 {
	text-align   : center;
	margin-bottom: 64px;
}

#sec4 .message {
	display        : flex;
	justify-content: space-between;
}

#sec4 .message::after {
	content: none;
}

#sec4 .message li {
	width            : 46%;
	height           : 330px;
	background-image : url('../images/bg_sec3a.png');
	background-repeat: no-repeat;
	background-size  : 100% 100%;
	padding-bottom   : 50px;
	display          : flex;
	flex-direction   : column;
	justify-content  : center;
}

#sec4 .message li:nth-child(2n) {
	background-image: url('../images/bg_sec3b.png');
}

#sec4 .message li:nth-child(1) h4 {
	text-align   : center;
	margin-bottom: 25px;
}

#sec4 .message li:nth-child(1) .sns {
	text-align     : center;
	display        : flex;
	justify-content: center;
}

#sec4 .message li:nth-child(1) .sns a {
	padding       : 0 25px;
	vertical-align: bottom;
}

#sec4 .message li:nth-child(2) h4 {
	text-align   : center;
	margin-bottom: 25px;
}

#sec4 .message li:nth-child(2) .btn {
	text-align: center;
}

#sec4 .character {
	text-align: center;
}

#sec5 {
	margin-bottom: 128px;
}

#sec5 .contact {
	padding         : 25px;
	background-color: #FFF;
	border-radius   : 20px;
	border          : 4px solid #f94b5a;
}

#sec5 .contact h3 {
	text-align   : center;
	font-size    : 178%;
	font-weight  : bold;
	color        : #f94b5a;
	margin-bottom: 0.5em;
}

#sec5 .contact p {
	line-height: 1.8;
}

#sec5 .link {
	margin-top: 64px;
}

#sec5 .link li a {
	display            : block;
	border-radius      : 10px;
	padding            : 25px;
	text-align         : center;
	font-size          : 1.25rem;
	font-weight        : 600;
	background-image   : url('../images/icon_right.png');
	background-position: right 25px center;
	background-repeat  : no-repeat;
	background-color   : #FFF;
	box-shadow         : 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 5px 5px 5px 0px rgba(10, 10, 10, 0.02);
}

/* footer */
footer {
	padding   : 50px 0;
	text-align: center;
}

/* 下層ページ */
.inner {
	background-color: #fff;
	border-radius   : 10px;
	box-shadow      : 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 5px 5px 5px 0px rgba(10, 10, 10, 0.02);
	padding         : 24px;
}

.inner .title {
	padding: 16px 0;
}

.inner .title h1 {
	text-align   : center;
	font-size    : 36px;
	font-weight  : bold;
	line-height  : 1.5;
	color        : #f94b5a;
	padding      : 0.5em 0;
	border-top   : 1px solid #f94b5a;
	border-bottom: 1px solid #f94b5a;
}

.inner .content {
	padding: 48px 0;
}

.inner .content h2 {
	font-weight  : bold;
	font-size    : 32px;
	color        : #f94b5a;
	margin-bottom: 1em;
	line-height  : 1.5;
}

#sec1 .inner .content h3 {
	text-align      : left;
	font-size       : 22px;
	margin-bottom   : 1em;
	margin-left     : 0;
	margin-right    : 0;
	background-color: #f94b5a;
	color           : #fff;
	padding         : 0.1em 1em;
	border-radius   : 50px;
	line-height     : 1.5;
	width           : fit-content;
}

#sec1 .inner .content *:not(h2)+*:not(li):not(.wp-block-columns) {
	margin-top: 1em;
}

#sec1 .inner .content h4 {
	text-align   : left;
	font-size    : 18px;
	font-weight  : bold;
	margin-bottom: 1em;
	line-height  : 1.5;
}

.inner .content ul li {
	margin-left: 1.6em;
	list-style : disc;
	line-height: 1.8;
}

.wp-block-custom-section .wp-block-columns:not(:first-child) {
	padding-top: 64px;
}

.inner .content .is-style-content-space-between {
	display        : flex;
	justify-content: space-between;
}

#sec1 .inner .content .is-style-content-space-between>.wp-block-column {
	margin: 0;
}

.inner .content p {
	line-height   : 1.8;
	letter-spacing: 0.05rem;
}

.inner .content *+p {
	margin-top: 0.5em;
}

.inner .content a {
	color          : #c81849;
	font-weight    : bold;
	text-decoration: underline;
}

.inner .content a:hover {
	text-decoration: none;
}

.inner .content .has-text-align-center {
	text-align: center;
}

.inner .content .has-text-align-right {
	text-align: right;
}

.inner .content strong {
	font-weight: bold;
	font-size  : 1em;
}

#sec1 .inner .content .sec_live h2.is-style-side-line-h {
	border-left : 5px solid #f94b5a;
	padding-left: 0.5em;
	color       : #000;
}

#sec1 .inner .content .sec_live h2.is-style-side-line-h+.profile {
	padding-top: 0;
}

#sec1 .inner .content .sec_live .profile h3 {
	display   : block;
	width     : 100%;
	text-align: center;
}

#sec1 .inner .content .sec_live .profile .is-style-content-space-between {
	padding-top: 0;
	align-items: center;
}

#sec1 .inner .content .sec_live .profile .is-style-content-space-between>.wp-block-column:nth-child(1) {
	width: 58%;
}

#sec1 .inner .content .sec_live .profile .is-style-content-space-between>.wp-block-column:nth-child(2) {
	width: 38%;
}