html {
		font-size: 62.5%;
}
body {
		color: #292929;
		font-family: "Zen Kaku Gothic New", sans-serif;
		font-weight: 500;
		font-style: normal;
		/*font-family: "游ゴシック", "Yu Gothic", "YakuHanJP","Noto Sans JP","Hiragino Sans","ヒラギノ角ゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",Osaka,Verdana,sans-serif;*/
		font-size: 1.6rem;
		/*font-weight: 400;*/
		line-height: 1.6;
		background: center center/cover url("https://kakeru.online/wp-content/uploads/body_bg.png");
}
figure, picture {
		max-width: 100%;
		width: 100%;
		line-height: 0;
		display: inline-block;
}
img {
		max-width: 100%;
		width: 100%;
		height: auto;
		vertical-align: middle;
}
p{
		font-size: 1.6rem;
		color: #4f3d40;
}
a {
		color: #000000;
		display: block;
		text-decoration: unset;
		transition: all 0.4s ease-in-out;
}
a:active, a:focus, a:focus-visible, a:focus-within, a:visited, a:target {
		color: #000000;
}
.screen-reader-text:focus {
		color: #000000;
}
.br_pc {
		display: block;
}
.br_sp {
		display: none;
}
.only_sp {
		display: none;
}
select {
		-webkit-appearance: none;
		appearance: none;
}
.center {
		text-align: center;
}
.flex {
		display: flex;
}
.bg_wh{
		background-color: #fff;
}
/* fonts ---------------------------------------*/
.oswald {
		font-family: "Oswald", sans-serif;
		font-style: normal;
}
.montserrat{
		font-family: "Montserrat", sans-serif;
		font-style: normal;
}
.yellowtail-regular {
		font-family: "Yellowtail", cursive;
		font-weight: 400;
		font-style: normal;
}

/* common --------------------------------------*/
#wrapper{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		min-height: 100vh;
}
.inner {
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
}
.container-wrapper.inner.flex {
		flex-direction: row-reverse;
		gap: 2rem;
}
.container-wrapper main{
		width: 75%;
		margin-bottom: 10rem;
}
.container-wrapper aside{
		width: calc(25% - 2rem);
}
.aside-banner.flex {
		flex-direction: column;
		gap: 0.5rem;
}
.ernal-link{
		display: inline-flex !important;
		align-items: center;
		gap: 1rem;
}
.breadcrumb a:visited {
		color: unset;
}
.ernal-link::after {
		content: "";
		background: center center/contain no-repeat url(https://kakeru.online/wp-content/uploads/icon_ernal-link.svg);
		display: inline-block;
		width: 1.25rem;
		height: 1.25rem;
}
/* トップページ以外の全ページ */
body:not(.home) #container {
		margin-top: 150px;
}
#container, article{
		flex: 1;
}
/*title -------------------------*/
.section_title.center.flex{
		flex-direction: column;
		align-items: center;
}
.section_title h2 {
		font-size: 2.4rem;
		font-weight: 500;
}
.section_title span {
		color: #f96797;
		font-family: 'Montserrat', sans-serif;
		font-size: 1.5rem;
		font-weight: 600;
		letter-spacing: 3px;
}

/* header -------------------------------------*/
#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 100;
		backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
		background-color: rgba(255,255,255,0.5);
}
#header .header-inner {
		padding: 1.5rem 3rem;
		/*background-color: transparent;*/
		/*box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);*/
		align-items: center;
}
#header .site_logo {
		max-width: 250px;
		width: 100%;
}
#header .site_logo a figure{
		max-width: clamp(150px, 25rem, 220px);
		width: 100%;
}
#header .site_logo figcaption p {
		font-family: "Noto Sans JP", sans-serif;
		font-size: 1.25rem;
		line-height: 1.6;
		letter-spacing: 1.5px;
		margin-top: 0.25rem;
		white-space: nowrap;
}
#header .site_logo figcaption small{
		font-family: "Noto Sans JP", sans-serif;
		display: block;
		font-size: 0.7em;
		line-height: 1;
		white-space: nowrap;
		color: #ffa4a4;
}
#menu-g-navi a {
		color: #000;
		font-family: "Noto Sans JP", sans-serif;
		font-weight: 500;
		font-size: 1.4rem;
}
#menu-g-navi a:hover {
		color: #000;
}
#menu-g-navi .menu-item-has-children {
		position: relative;
		display: inline-flex;
		align-items: center;
		padding-right: 2.5rem;
}
#menu-g-navi .menu-item-has-children::after {
		content: "";
		display: inline-block;
		background-color: transparent;
		border: 2px solid;
		border-color: #000 #000 transparent transparent;
		transform: rotate(135deg);
		width: 8px;
		height: 8px;
		box-sizing: border-box;
		margin-right: 6px;
		position: absolute;
		right: 2px;
}
.menu-g-navi-container{
		margin-top: 1.5rem;
}
.navigation_sub.flex {
		align-items: center;
		justify-content: flex-end;
		gap: 1rem;
}
.navigation_sub li {
		width: 60px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
}
.navigation_sub li a {
		position: relative;
		display: block;
		width: 100%;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
}
.navigation_sub img {
		max-width: 30px;
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: contain;
		height: 40px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
}
.nav_camera a {
		background-color: #93bcc8;
}
.nav_camera a:hover, .nav_camera a:focus {
		background-color: #4972bf;
}
.nav_sns a {
		background-color: #a9c8af;
}
.nav_sns a:hover, .nav_sns a:focus {
		background-color: #48a89b;
}
.nav_contact a {
		background-color: #ffa4a4;
}
.nav_contact a:hover, .nav_contact a:focus {
		background: #ff546c;
}

@media screen and (min-width: 769px) {
		#header .header-inner {
				align-items: center;
				justify-content: space-between;
				box-sizing: border-box;
		}
		#header .site_logo h1 {
				margin: 0;
				padding: 0;
				line-height: 0;
		}
		#menu-g-navi {
				display: flex;
				align-items: center;
				gap: 2.5rem;
		}
		#menu-g-navi .sub-menu {
				display: none;
				position: absolute;
				bottom: -5rem;
				background-color: #fff;
				flex-wrap: wrap;
				box-sizing: border-box;
				padding-bottom: 1.5rem;
		}
		#menu-g-navi ul li {
				position: relative;
		}
		#menu-g-navi .has-child_2 .sub-menu {
				display: none;
				position: absolute;
				bottom: -5rem;
				background-color: #fff;
				flex-wrap: wrap;
				box-sizing: border-box;
				padding-bottom: 1.5rem;
		}
		#menu-g-navi .has-child_2 ul li {
				position: relative;
		}
		#menu-g-navi .menu-item-has-children::before {
				display: block;
				content: "";
				width: 100%;
				height: 100%;
				position: absolute;
				bottom: -15px;
				z-index: -1;
		}
		#menu-g-navi .menu-item-has-children:hover .sub-menu {
				display: inline-flex;
				transition: all 0.4s ease-in-out;
		}
		#menu-g-navi .menu-item-has-children:hover .sub-menu li a {
				font-size: 1.4rem;
				display: inline-block;
				width: 100%;
				box-sizing: border-box;
		}
		.sp_nav.hamburger {
				display: none;
		}
		.navigation_sub_sp.flex {
				display: none;
		}
}

/* sp-menu ------------------------------------*/
.sp_nav {
		width: 4rem;
		height: 100%;
}
.hamburger {
		background-color: transparent;
		border-color: transparent;
		z-index: 99;
		position: absolute;
		top: 0;
		right: 1.5rem;
		cursor: pointer;
}
/* sp-menu line --------*/
.hamburger span {
		width: 100%;
		height: 3px;
		background-color: #292929;
		position: relative;
		transition: all 0.4s ease-in-out;
		display: block;
		border-radius: 30px;
}
.hamburger span:nth-child(1) {
		top: 0;
}
.hamburger span:nth-child(2) {
		margin: 6px 0;
}
.hamburger span:nth-child(3) {
		top: 0;
}

/* sp-menu open --------*/
#menu.active {
		transform: translatey(0);
		display: block;
}
.hamburger.active span:nth-child(1) {
		top: 10px;
		transform: rotate(45deg);
}
.hamburger.active span:nth-child(2) {
		opacity: 0;
}
.hamburger.active span:nth-child(3) {
		top: -8px;
		transform: rotate(-45deg);
}
.no-scroll {
		overflow: hidden;
		height: 100%;
}
@media screen and (max-width: 768px){
		#header .site_logo {
				max-width: 140px;
		}
		#header .header-inner {
				background-color: #fff;
		}
		#menu {
				display: none;
				position: absolute;
				right: 0;
				left: 0;
				top: 0;
				width: 100%;
				height: 100vh;
				transform: translatey(calc(-100% + -75px));
				background-color: #fff;
				transition: all 0.4s ease-in-out;
				margin-top: 95px;
				z-index: -1;
				overflow: scroll;
				padding-bottom: 100px;
				box-sizing: border-box;
		}
		.navigation_sub.flex{
				display: none;
		}
		#menu-g-navi .sub-menu {
				display: none;
		}
		#menu-g-navi .has-child .sub-menu.active, #menu-g-navi .has-child_2 .sub-menu.active {
				display: block;
		}
		#menu-g-navi {
				flex-direction: column;
				display: flex;
				align-items: flex-start;
		}
		#menu-g-navi li {
				width: 100%;
		}
		#menu-g-navi a {
				width: 96%;
				margin: 0 auto;
				padding: 1.5rem 2rem;
				box-sizing: border-box;
				display: block;
				border-bottom: 1px solid #A5A5A5;
		}
		#menu-g-navi .has-child, #menu-g-navi .has-child_2 {
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				justify-content: center;
		}
		#menu-g-navi .menu-item-has-children::after {
				top: 2rem;
				right: 2rem;
				transition: all 0.4s ease-in-out;
		}
		#menu-g-navi .menu-item-has-children.active::after {
				transform: rotate(315deg);
				transition: all 0.4s ease-in-out;
				top: 2.5rem;
		}
		.sub-menu.active {
				width: 100%;
				background-color: #F5F5F5;
		}
		.sub-menu.active li:last-child {
				border-bottom: none !important;
		}
		.container-wrapper.inner.flex{
				flex-direction: column;
		}
}

/* main-visual --------------------------------*/
.fadeIn_cp{
		animation-name:fadeInAnime;
		animation-duration:12s;
		animation-fill-mode:forwards;
		opacity:0;
}
@keyframes fadeInAnime{
		from {
				opacity: 0;
		}
		to {
				opacity: 1;
		}
}
/*.fadeIn_Mv {
animation-name: fadeIn;
animation-duration: 4s;
animation-fill-mode: forwards;
opacity: 0;
}
.fadeIn_MvBg::after {
animation-name: fadeIn;
animation-duration: 3s;
animation-fill-mode: forwards;
opacity: 0;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
.mv_txt figure{
position: relative;
width: 100%;
height: 100%;
}
.mv_txt p {
color: #fff;
position: absolute;
top: 35vw;
left: 5vw;
z-index: 1;
animation-name: fadeIn_2;
animation-duration: 8s;
animation-fill-mode: forwards;
opacity: 0;
}
@keyframes fadeIn_2 {
from {
opacity: 0;
}
to {
opacity: 1;
}
}*/

/* Sub main-visual ----------------------------*/
.subpage-head-content{
		width: 100%;
}
.subpage-head-content h1 {
		font-size: clamp(2.2rem, 3vw, 2.65rem);
		font-weight: 500;
		font-family: "Oswald", "Kosugi", "Zen Kaku Gothic New", "游ゴシック", sans-serif;
		line-height: 1.7;
		margin: 2rem 0 1rem 0;
		/*font-family: "Oswald", "游ゴシック", "Yu Gothic", "YakuHanJP","Noto Sans JP","Hiragino Sans","ヒラギノ角ゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",Osaka,Verdana,sans-serif;*/
}
.breadcrumb {
		font-size: 0.75em;
		margin-top: 0.5rem;
}
.breadcrumb a{
		display: inline-block;
}
.subpage-head-content .breadcrumb, .breadcrumb .home {
		color: #a5a5a5;
}
.subpage-header {
		display: flex;
		align-items: center;
		position: relative;
		/*height: 215px;*/
		background-color: #fff;
		/*border-bottom: 1px solid #ddd;*/
		box-sizing: border-box;
		margin-bottom: 3rem;
}

/* footer -------------------------------------*/
#footer {
		background-color: #292929;
		color: #fff;
		border-top: 1px solid #fff;
		padding: 1.5rem 0.5rem 0.5rem;
}
#copyright {
		text-align: center;
		padding: 0.5rem 0;
}
#copyright p {
		color: #fff;
		font-size: 1.2rem;
}
#footer-nav {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
}
#footer-nav ul {
		align-items: center;
		gap: 2rem;
}
#footer-nav a {
		color: #fff;
		font-size: 1.3rem;
}





.home section > p {
		margin: 1rem 0 2.5rem 0;
		font-size: 0.9em;
}
.output-content {
		padding: 3.5rem 2rem;
}
.output-content h3{
		font-family: "Oswald", "Kosugi", "Zen Kaku Gothic New", "游ゴシック", sans-serif;
		color: #331a00;
		font-size: 2.5rem;
		font-weight: 400;
		letter-spacing: 2px;
		padding: 0.2rem 0.5rem 0.2rem 0.5rem;
		position: relative;
		margin-bottom: 0;
		display: flex;
		align-items: center;
		white-space: nowrap;
}
#Event-status h3::before {
		content: "";
		top: 50%;
		left: 0;
		transform: translate(50%, -50%);
		height: 3px;
		width: 3px;
		background: #f4b3f0;
		border-radius: 50%;
		margin-right: 10px;
}
#Event-status h3::after {
		content: "";
		height: 1px;
		width: 88%;
		display: inline-block;
		background-color: #f4b3f0;
		margin-left: 10px;
}
#Event-main h3::before {
		content: "";
		height: 3px;
		width: 3px;
		background: #72d2bc;
		border-radius: 50%;
		margin-right: 10px;
}
#Event-main h3::after {
		content: "";
		height: 1px;
		width: 88%;
		display: inline-block;
		background-color: #72d2bc;
		margin-left: 10px;
}

.events-list.flex {
		gap: 1rem;
		flex-wrap: wrap;
}
.events-list.flex > li {
		width: calc((100% - 2rem) / 3);
		position: relative;
}
.events-list.flex li article{
		flex-direction: column;
		gap: 1rem;
}
.events-list.flex li article img {
		height: 250px;
		object-fit: cover;
		box-shadow: 4px 4px 1px #fbe5e5;
}
.events-list .overview {
		padding: 0 0.5rem;
}
.events-list .overview h4 {
		margin-bottom: 0.5rem;
}
.events-list .event-title a {
		color: #333;
		font-size: 1.7rem;
		font-weight: 600;
		letter-spacing: 1px;
		display: block;
		margin-top: 0.5rem;
}
/* Event-cat -------*/
.event-cat {
		position: absolute;
		top: 0.5rem;
		left: 0.5rem;
		gap: 0.5rem;
		flex-wrap: wrap;
}
.event-cat li a {
		font-size: 1.2rem;
		font-weight: 600;
		border-radius: 4px;
		padding: 2px 10px !important;
}
.event-cat .race-info {
		display: none;
}
.event-cat .recommended a{
		color: #fff;
		background: linear-gradient(120deg, rgb(244, 143, 209), rgb(255, 191, 233));
		/*border: 1px solid #ee85c0;*/
}
.event-cat .full-marathon a{
		color: #fff;
		background: linear-gradient(120deg, rgb(248, 166, 255), rgb(217, 164, 255));
		/*border: 1px solid #b9a8c6;*/
}
.event-cat .half-marathon a{
		color: #fff;
		background: linear-gradient(120deg, rgb(169, 213, 115), rgb(129, 221, 169));
		/*border: 1px solid #70b7c1;*/
}
.event-cat .k-30 a{
		color: #fff;
		background: linear-gradient(120deg, rgb(185, 163, 156), rgb(232, 212, 201));
		/*border: 1px solid #c6b9a8;*/
}
.event-cat .kids-family a{
		color: #fff;
		background: linear-gradient(120deg, rgb(255, 187, 187), rgb(255, 200, 243));
		/*border: 1px solid #f0b79b;*/
}
.event-cat .trail a{
		color: #fff;
		background: linear-gradient(120deg, rgb(80, 168, 247), rgb(108, 144, 249));
		/*border: 1px solid #b9a8c6;*/
}
.event-cat .report a{
		color: #fff;
		background-color: #b9a8c6;
		/*border: 1px solid #b9a8c6;*/
}
.events-list .event-guidelines {
		font-size: 1.4rem;
		font-weight: 500;
		letter-spacing: 0.15em;
		line-height: 1.4;
}

#Magazine{
		background-color: #fffdf9;
}
#Magazine h3::before {
		content: "";
		height: 3px;
		width: 3px;
		background: #e6db3f;
		border-radius: 50%;
		margin-right: 10px;
}
#Magazine h3::after {
		content: "";
		height: 1px;
		width: 88%;
		display: inline-block;
		background-color: #e6db3f;
		margin-left: 10px;
}
#Magazine .web-magazine-list article {
		flex-direction: column-reverse;
		gap: 1rem;
		border-radius: 15px;
		border: 1px solid #f7f4ca;
		padding: 1.5rem 1.5rem 2.5rem 1.5rem;
}
#Magazine .web-magazine-list.flex {
		gap: 1rem;
		flex-wrap: wrap;
}
#Magazine .web-magazine-list.flex > li {
		width: calc((100% - 2rem) / 3);
}
#Magazine .column-list > div:first-child .magazine_title a {
		color: #999043;
}
#Magazine .web-magazine-list figure img {
		height: 200px;
		object-fit: cover;
		border-radius: 10px;
}
#Magazine .column-tags {
		gap: 0 1rem;
		flex-wrap: wrap;
		line-height: 1.2;
}
#Magazine .column-tags a {
		color: #646464 !important;
		font-size: 1.1rem;
		font-weight: 600;
		letter-spacing: 0.5px;
		display: inline-block;
		/*border: 1px solid #bdbdbd;
		padding: 0.5rem 1rem;
		border-radius: 20px;*/
}
#Magazine .column-tags a::before {
		content: "#";
}
#Magazine .web-magazine-list .magazine-title a {
		font-weight: 500;
		font-size: 1.5rem;
		line-height: 1.4;
}
#Magazine .web-magazine-list > li:first-child .magazine-title a,
#Magazine .web-magazine-list > li:nth-child(4) .magazine-title a {
		color: #999043;
}
#Magazine .web-magazine-list > li:nth-child(2) .magazine-title a,
#Magazine .web-magazine-list > li:nth-child(5) .magazine-title a{
		color: #439969;
}
#Magazine .web-magazine-list > li:nth-child(3) .magazine-title a,
#Magazine .web-magazine-list > li:nth-child(6) .magazine-title a{
		color: #435899;
}

#Sns, #News {
		padding: 3rem 0;
}
.sns_area .flex {
		width: 100%;
		border: unset;
		box-sizing: border-box;
		flex-wrap: nowrap;
		justify-content: space-between;
		padding: 0 !important;
}
/* お知らせ -------------*/
.news_list {
		flex-direction: column;
		gap: 1.5rem;
		margin: 4rem 0;
}
.news_list li {
		gap: 1rem;
		align-items:center;
}
.news_date {
		width: 80px;
}
.cat.info.center {
		color: #fff;
		background-color: #a17fff;
		padding: 0 1rem;
		border-radius: 3px;
}
/* Contact ------------------------------------*/
.form-area {
		padding: 1rem;
		background-color: #fff;
		margin: 0 auto;
}
.form-area label {
		font-size: 1.6rem;
		font-weight: 500;
}
.form-area label p {
		font-size: 1.5rem;
}
.form-area .contact-note {
		color: #A5A5A5;
		display: inline-block;
		font-size: 1.4rem;
}
.required, .arbitrary {
		display: inline-block;
		padding: 0.25rem 2rem;
		border-radius: 30px;
		font-size: 0.7em;
		color: #fff;
		margin-left: 1rem;
}
.required {
		background-color: #DF005E;
}
.arbitrary {
		background-color: #A5A5A5;
}
.form-item {
		margin: 2rem 0;
}
.wpcf7-list-item {
		margin: 0 2.2em 0 0;
}
.wpcf7-list-item label {
		font-weight: 400;
		font-size: 2rem;
}
.wpcf7-checkbox span{
		font-size: 1.7rem;
}
.text-in input, .form-item.text-in textarea, .wpcf7-form-control.wpcf7-select {
		font-family: "Noto Sans JP", sans-serif;
		font-size: 1.5rem;
		width: 100%;
		box-sizing: border-box;
		padding: 1.5rem 1rem;
		margin-top: 1rem;
		border: 1px solid #A5A5A5;
		background-color: #F5F5F5;
}
.wpcf7-form-control.wpcf7-select {
		max-width: 60%;
		font-size: 1.5rem;
}
.form-item.text-in input::placeholder, .form-item.text-in textarea::placeholder {
		font-family: "Noto Sans JP", sans-serif;
		color: #A5A5A5;
		font-weight: 500;
		opacity: unset;
}
.form-submit-area {
		max-width: 90%;
		margin: 0 auto;
}
.form-submit-area a{
		display: inline-block;
}
.form-submit-area .submit-btn {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
}
.form-submit-area .submit-btn span {
		margin: 2rem auto;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
		color: #4f3d40;
		font-size: 1.5rem;
		line-height: 1.5;
		text-align: center;
		max-width: 100%;
		margin: 5rem auto 1rem;
		padding: 1.5rem;
		border-color: #e1b0b0;
		background-color: #fff0f5;
}
.wpcf7-form-control.wpcf7-submit.has-spinner {
		color: #fff;
		font-size: 1.7rem;
		font-weight: 600;
		letter-spacing: 1px;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background-color: #759F8F;
		box-shadow: unset;
		border: unset;
		border-radius: 100px;
		width: 350px;
		box-sizing: border-box;
		padding: 1.5rem 0;
		margin: 5rem auto 0;
		cursor: pointer;
}
.type-selects {
		color: #292929 !important;
}
.form-area .select_wrapper {
		max-width: 60%;
		position: relative;
		margin: 0;
}
.form-area .select_wrapper::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 5%;
		width: 0.8rem;
		height: 0.8rem;
		border-right: 2px solid #292929;
		border-bottom: 2px solid #292929;
		box-sizing: border-box;
		transform: rotate(45deg) translate(-50%, 0);
}
.select_wrapper .wpcf7-form-control.wpcf7-select{
		max-width: 100%;
}
#event-locationchecklist {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem 1rem;
}
.wpcf7-not-valid-tip{
		font-size: 0.8em !important;
}
.thanks .memo {
		display: block;
		font-size: 0.9em;
		margin-top: 2rem;
		color: #c30e52;
}
/* お知らせ -----------*/
.post-template-default.single.single-post article {
		padding: 2rem;
		background-color: #fff;
}
.post-template-default.single.single-post article p {
		margin-bottom: 2rem;
		line-height: 2;
		letter-spacing: 0.5px;
}
/* single event ---------------------------------*/
.single-events .main-content {
		margin-top: 1rem;
}
.single-events .event-cat {
		position: unset;
		justify-content: flex-end;
}
.single-events .event-guidelines {
		line-height: 1.9;
		margin: 3rem 0;
		padding: 0 1.5rem;
		border-radius: 6px;
}
.event-info {
		display: flex;
		flex-direction: column;
}
.event-info dt {
		color: #00294d;
		font-weight: 500;
		font-size: 1.5rem;
}
.event-info dd {
		margin: 0 0 2rem;
		font-size: 1.5rem;
}
.event-info a {
		display: inline-block;
		font-weight: 400;
}
/* single web-magazine --------------------------*/
.single-web-magazine p.column-category {
		margin-bottom: 1.5rem;
}
.column-category a {
		font-size: 0.9em;
		font-weight: 600;
		letter-spacing: 1px;
		color: #fff;
		background-color: #ffa4b1;
		display: inline-block;
		padding: 0.25rem 1rem;
		border-radius: 6px;
}
/*a.inner-care {
color: #fff;
background-color: #ffa4b1;
}*/
.outer-work {
		background-color: #000;
		color: #ddd;
}
.magazine-tags.flex {
		gap: 1.5rem;
}
.magazine-tags li a {
		font-size: 0.9em;
		color: #4f3d40;
		font-weight: 600;
}
.magazine-tags li a::before {
		content: "#";
		font-family: "Oswald", "Kosugi", "Zen Kaku Gothic New", "游ゴシック", sans-serif;
}
#sub-main-wrapper,
.archive .container-wrapper main > div,
.single.single-events article,
.single.single-web-magazine article {
		background-color: #fff;
		padding: 2rem;
}
#sub-main-wrapper h1{
		border-bottom: 1px solid #000;
}
.magazine-Introduction {
		margin: 1.5rem 0 3rem;
		padding: 1.5rem 1rem 3rem 1rem;
		border-bottom: 1px solid #ffa4b1;
}
.magazine-Introduction .point {
		color: #ffa4b1;
		font-weight: 600;
		align-items: center;
		justify-content: flex-end;
		padding: 0.25rem 0 0.25rem 0;
		position: relative;
}
.magazine-Introduction .point span {
		font-family: 'Montserrat', sans-serif;
		letter-spacing: 0.1em;
		width: 70px;
}
.magazine-Introduction .point::after {
		content: "";
		width: calc(100% - 70px);
		background-color: #ffa4b1;
		height: 1px;
		display: block;
}

#ez-toc-container .ez-toc-title{
		font-family: 'Montserrat', sans-serif;
}
#ez-toc-container{
		/*border: none;*/
		padding: 4rem 2rem;
		background-color: #fff;
}
#ez-toc-container ul {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		margin-top: 2rem;
}
#ez-toc-container ul li,
div#ez-toc-container ul li a {
		font-size: 1.5rem !important;
		letter-spacing: 0.1em;
}
.ez-toc-btn:focus {
		outline: none;
}
#ez-toc-container .ez-toc-js-icon-con,
#ez-toc-container .ez-toc-toggle label,
.ez-toc-cssicon {
		border: none;
}
#ez-toc-container li a {
		font-size: 1.7rem !important;
		color: #333 !important;
}
.lead-sentence{
		margin-top: 2rem;
}
.single-web-magazine .main-content h2 {
		background-color: #fff8fb;
		font-size: 2.3rem;
		font-weight: 600;
		letter-spacing: 0.1em;
		color: #4f3d40;
		padding: 1.5rem 2rem;
		border-top: 1px solid #ffa4b1;
		border-bottom: 1px solid #ffa4b1;
}
.single-web-magazine .main-content h3 {
		font-size: 2rem;
		font-weight: 600;
		border-left: 4px solid #ffa4b1;
		margin-left: 0.5rem;
		padding: 0 1rem;
}
.single-web-magazine .main-content p {
		margin: 1.5rem 0 3rem 0;
		padding: 0 0.5rem;
		line-height: 2;
}
.single-web-magazine .main-content picture {
		margin-bottom: 1rem;
}
.single-web-magazine .main-content a {
		display: inline-block;
		text-decoration: underline;
}
.sns-share {
		max-width: 50px;
		margin: 4rem auto;
}
/* archive ----------------------------------------------------*/
.archive .post-list {
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
}
.archive .post-list article {
		width: calc((100% - 3rem) / 3);
}
.archive .post-list article h2 {
		font-weight: 500;
		font-size: 1.5rem;
}
.archive .post-list figure {
		position: relative;
}
/* archive events ---------------------*/



/* archive Web-magazine ---------------*/
.archive #Magazine{
		background-color: #fffefb;
}
.archive.post-type-archive.post-type-archive-web-magazine .subpage-header,
.archive.tax-column-tag .subpage-header,
.archive.tax-column-category .subpage-header,
.archive.tax-event-location .subpage-header{
		background-color: unset;
}
.archive.post-type-archive-web-magazine .subpage-header h1,
.archive.tax-column-tag .subpage-header h1,
.archive.tax-column-category .subpage-header h1{
		border-bottom: 1px solid #e6db3f;
}
.archive.post-type-archive-events .subpage-header h1,
.archive.tax-event-category .subpage-header h1,
.archive.tax-event-location .subpage-header h1{
		border-bottom: 1px solid #72d2bc;
}
.archive.post-type-archive-web-magazine .post-list article {
		width: calc((100% - 3rem) / 3);
		border: 1px solid #ddd;
		border-radius: 6px;
		background-color: #fff;
}
.archive.post-type-archive-web-magazine .post-list article a{
		display: block;
		padding: 1rem 1rem;
}
.archive.post-type-archive-web-magazine .post-list figure img {
		height: 200px;
		object-fit: cover;
}
.archive.post-type-archive-web-magazine .post-list .post-info {
		position: relative;
}
.archive.post-type-archive-web-magazine .post-list .column-category a {
		position: absolute;
		top: 0.5rem;
		margin: 0;
		display: block;
		font-size: 1.2rem;
		right: 0.5rem;
		padding: 0.5rem 1rem;
}
/* プライバシーポリシー ----------------*/
.privacy-list {
		flex-direction: column;
		gap: 3rem;
		margin-top: 4rem;
}
.privacy-list h3 {
		font-size: 1.8rem;
		margin-bottom: 1rem;
}
.privacy-list li ol {
		padding-left: 1.5rem;
		list-style: decimal-leading-zero;
		margin: 1.5rem;
}
.privacy-list li p, .privacy-list li {
		font-size: 1.5rem;
		line-height: 2;
}
.privacy-list dt, .privacy-list dd {
		font-weight: 500;
}
.privacy-list dt {
		float: left;
}
.privacy-list dd {
		margin: 0;
}
.privacy-list a {
		display: inline-block;
		text-decoration: underline;
}
/* 運営会社 -------------*/
.company-info {
		margin-top: 3rem;
		border-top: 1px solid #bbb;
		border-bottom: 1px solid #bbb;
}
.company-table td {
		font-weight: 400;
		font-size: 1.4rem;
		padding: 2rem 0.5rem;
}
.company-table td.column-1 {
		width: 140px;
		vertical-align: middle;
}
/* 404 ---------------------------------*/
.error404 article {
		margin-top: 150px;
		background-color: #fff;
}

/*Media Query ---------------------------------*/
@media screen and (max-width: 1240px) {
		.inner {
				max-width: 92%;
		}
}
@media screen and (max-width: 999px) {
		#Magazine .web-magazine-list.flex > li,
		.events-list.flex > li{
				width: calc((100% - 1rem) / 2);
		}
}
@media screen and (max-width: 768px) {
		.only_sp {
				display: block;
		}
		#container, article {
				margin-bottom: 5rem;
		}
		#footer {
				padding: 1.5rem 0.5rem 5.5rem;
		}
		/* Contact -------------*/
		.form-area {
				max-width: 100%;
				padding: 1rem 0;
		}
		.container-wrapper main {
				width: 100%;
		}
		.container-wrapper aside {
				width: 100%;
		}
		.container-wrapper aside .aside-banner.flex {
				flex-direction: row;
				flex-wrap: wrap;
		}
		.banner1 {
				width: 100%;
		}
		.banner2, .banner3 {
				width: calc((100% - 1rem) / 2);
		}
		.navigation_sub_sp.flex {
				position: fixed;
				bottom: 0;
				left: 0;
				width: 100%;
		}
		.navigation_sub_sp.flex li {
				width: calc(100% / 3);
		}
		.navigation_sub_sp.flex li a {
				font-size: 1.4rem;
				font-weight: 600;
				color: #fff;
				width: 100%;
				padding: 1rem;
				align-items: center;
				gap: 1rem;
		}
		.navigation_sub_sp.flex li img {
				width: 25px;
				height: 25px;
				object-fit: contain;
		}
		.post.post-web-magazine.current-item {
				display: inline-block;
				width: 500px;
				overflow: hidden;
				white-space: nowrap;
				text-overflow: ellipsis;
				line-height: 1;
		}
}
@media screen and (max-width: 640px) {
		.archive .container-wrapper main > div,
		.single.single-events article,
		.single.single-web-magazine article {
				padding: 1.5rem 1rem;
		}
		.post.post-web-magazine.current-item {
				width: 400px;
		}
		.home .news_list li {
				flex-direction: column;
				align-items: flex-start;
				position: relative;
		}
		.cat.info.center {
				position: absolute;
				right: 0;
				top: 0;
				font-size: 1.5rem;
		}
}
@media screen and (max-width: 480px) {
		.br_pc {
				display: none;
		}
		.br_sp {
				display: block !important;
		}
		.banner2, .banner3 {
				width: 100%;
		}
		/* Contact -------------*/
		.wpcf7-checkbox span {
				font-size: 1.6rem;
		}
		.form-area .select_wrapper{
				max-width: 90%;
		}
		.wpcf7-form-control.wpcf7-submit.has-spinner{
				width: 85%;
		}
		.form-submit-area {
				max-width: 100%;
		}
		.form-submit-area p {
				font-size: 1.5rem;
				text-align: left !important;
		}
		.container-wrapper aside .aside-banner.flex {
				flex-direction: column;
		}
		.events-list.flex {
				gap: 2rem;
		}
		#Magazine .web-magazine-list.flex > li,
		.events-list.flex > li{
				width: 100%;
		}
		.single-web-magazine .main-content h2 {
				font-size: 1.9rem;
				line-height: 1.4;
				padding: 1rem 1rem;
		}
		.single-web-magazine .main-content h3 {
				font-size: 1.8rem;
				line-height: 1.4;
		}
		.single-web-magazine .main-content p {
				line-height: 1.8;
		}
		.post.post-web-magazine.current-item {
				width: 110px;
		}
		.company-table td.column-1 {
				width: 100%;
				display: block;
				background-color: #f9f9f9;
		}
		.company-table td.column-2 {
				display: block;
				border-top: 1px dashed #c8c8c8;
				padding: 1rem 0.5rem;
		}
}
.grecaptcha-badge {
		visibility: hidden;
}
.recaptcha_message {
		text-align: center;
}
.recaptcha_message a {
		display: inline-block;
		font-weight: 400;
		font-size: 1.4rem;
}
.recaptcha_message p {
		font-size: 1.3rem;
}
.recaptcha_message a {
		display: inline-block;
		font-weight: 400;
}
.ad-area img {
		width: auto;
}
.ad-area {
		text-align: center;
		margin: 3rem auto 5rem;
}

/*コラムtable*/
.column-table {
		border: 1px solid #ddd !important;
}
.column-table th,
.column-table td{
		vertical-align: middle;
		border: 1px solid #ddd !important;
}
.column-table th {
		background-color: #ddd !important;
		text-align: center;
		vertical-align: middle;
}
.table-columns-2 td {
		padding: 1rem 1.5rem;
		width: calc(100% / 2);
}
.table-columns-3 td {
		padding: 1rem 1.5rem;
		width: calc(100% / 3);
}
.table-columns-4 td {
		padding: 1rem 1.5rem;
		width: calc(100% / 4);
}
/*-- コラムページにPR表示 ----*/
.pr {
		font-size: 0.9em;
		background-color: #f9f9f9;
		padding: 1rem;
		margin-bottom: 1.5rem;
}
/*-- timestamp 表示 ----*/
.flex.timestamp {
		justify-content: flex-end;
		font-size: 0.9em;
		gap: 1.5rem;
		color: #8c8c8c;
}
.updated {
		display: flex;
		align-items: center;
		gap: 0.5rem;
}
.updated::before {
		content: "";
		background: center center/contain no-repeat url(https://kakeru.online/wp-content/uploads/2025/12/icon-update.svg);
		width: 1.5rem;
		height: 1.5rem;
		display: block;
}
@media screen and (max-width: 768px){
		.flex.timestamp {
				margin-bottom: 1rem;
		}
}