@charset "UTF-8";

html {
  box-sizing: border-box;
}
*,*::before,*::after {
	box-sizing: border-box;
}

/* フォントの指定
--------------------------------------------- */
.m-plus-1p-regular {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.m-plus-1p-medium {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.m-plus-1p-bold {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.cherry-bomb-one-regular {
  font-family: "Cherry Bomb One", system-ui;
  font-weight: 400;
  font-style: normal;
}


/* 全体
--------------------------------------------- */
body {
	font-size: 0.9375rem;
	line-height: 1.7;
	text-align: center;
	padding: 0;
	margin: 0;
	font-family: "futura-pt", "Helvetica Neue", "Helvetica", 'M PLUS 1p', sans-serif ,"YuGothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo";
	font-weight: 500;  
	color: #333;
	background-color: #ff008c;
}
body::after{
  content: '';
	border: 4px solid  #ff008c;
	position: fixed;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
	pointer-events: none;
	z-index: 4;
}
body::before{
  content: '';
  width: 100%;
  height: 100vh;
  background-image: url(../img/cmn/bg_nami.png);
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.5;
}
a {
  text-decoration: none;
  background-color: transparent;
  transition: 500ms;
  cursor: pointer;
  color: #ff008c;
}
a:active,a:visited{transition:0.25s; }
a:visited {color:#ff008c;}
a:hover,a:focus {transition: 0.25s;color: #ff008c;text-decoration: underline;}
h1,h2,h3,h4 {font-size: 1em;clear: both; margin:0; font-weight: normal;}
p,dl,dd,dt {padding: 0;	margin: 0;}
p {
  margin: 0;
  padding: 0;
  vertical-align:baseline;
  font-weight: 500;
}
ul,li,ol {padding: 0; margin: 0; list-style: none;}
img {
	border-style: none;
  height: auto;
	max-width: 100%;
}
figure,picture { margin: 0;}
.flex {display: flex;flex-wrap: wrap;}
.pc {display: block;}
.sp {display: none;}
.blue {color: #ff008c;}
.red {color: #ff008c;}
@media screen and (max-width:640px){
	.sp {display: block;}
	.pc {display: none;}
  body {font-size: 0.9em;}
}
.ly_c {
  max-width: 480px;
	width: 100%;
  margin-right: auto;
  margin-left: auto;
  background-color: #fff;
  margin-top: 0px;
  position: relative;
}
@media screen and (max-width:640px) {
	.ly_c {
		width: 100%;
	}
}

/* 右固定ナビゲーション
--------------------------------------------- */
.r_nav {
	position: fixed;
	height: auto;
	left: calc(50% + 290px);
	top: 50%;
	transform: translateY(-58%);
	width: 230px;
	color: #4d4d4d;
	z-index: 1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	background-color: #fff;
	border: 4px solid #333;
	padding: 10px 10px;
	padding-top: 17px;
	counter-reset: news-count;
}
.ttl_moku {
	width: 100%;
	margin-bottom: 3px;
}
.r_nav li {
text-align: left;
  counter-increment: news-count;
  position: relative;
  display: flex;
  align-items: baseline;
  border-bottom: 3px dotted #ccc;
  padding: 10px 0;
  padding-left: 3px;
  line-height: 1.3;
}
.r_nav li:last-child{
	border-bottom: none;
}
.ttl_count{
	display: flex;
	line-height: 1.3;
	align-items: baseline;
}
.r_nav li::before {
  content: counter(news-count, decimal-leading-zero);
  font-family: 'Cherry Bomb One', sans-serif;
  color: #fff;
  background-color: #ff008c;
  display: inline-block;
  border-radius: 5px;
  padding: 0px 5px 3px 5px;
  line-height: 1.3;
  margin-right: 7px;
  align-self: baseline;
}
.r_nav li a{
  color: #333;
}
.r_nav li a:visited,.r_nav li a:focus{
  text-decoration: none;
}
.r_nav li a:hover,.r_nav li a:active{
  text-decoration: none;
  color: #ff008c;
}
@media screen and (max-width:1100px) {
	.r_nav {
		position: static;
		transform: inherit;
		width: 100%;
		max-width: 100%;
		margin-bottom: 30px;
	}
	.r_nav nav,.r_nav ul,.r_nav li {
		width: 100%;
	}
}


/* 左固定サイドバー
--------------------------------------------- */
.ly_pagettl {
  position: fixed;
	max-width: 230px;
	width: 100%;
		height: auto;
	right: calc(50% + 290px);
	top: 50%;
	transform: translateY(-58%);
}
.l_logo {
	margin-bottom: 20px;
	transform: scale(1.2);
}
.l_atn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	background-color: #fff;
	border: 4px solid #333;
	padding: 10px 17px;
	padding-top: 17px;
}
.l_atn .entry-content{
 text-align: left;
 padding-top: 5px;
}
.l_atn .entry-content br {
display: none;	
}
.main_copy{
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 10px;
  color: #333;
}

@media screen and (max-width:1100px) {
	.br_side {
		display: block;
	}
	.side_pc {
		display: none;
	}
	.ly_pagettl {
		position: static;
		width: 100%;
		text-align: center;
		padding-top: 30px;
		padding-bottom: 30px;
		max-width: 100%;
		transform: inherit;
	}
	.l_atn {
		border: none;
		padding: 0;
	}
	.l_atn .entry-content {
		text-align: center;
	}
	.l_atn .entry-content br {
	display: block;	
	}
	.l_logo{
		display: none;
	}
	.txt_copy {
		text-align: center;
		width: 100%;
	}
	.br_side {
		display: none;
	}
	.sns_ico {
		justify-content: center;
	}
}
@media screen and (max-width:650px) {
	.box_account a {
		margin: 0 10px;
	}
}

/* メニュー
--------------------------------------------- */
 .h_menu .sp{
	display: none;
}
.h_menu_wrap {
	transform: scale(0,1);
	transition: all ease 200ms;
	position: fixed;
	z-index: 999;
	opacity: 0.99;
	background: #ff008c; /* スマホメニュー全体背景 */
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
	flex-wrap: wrap;
	flex-direction: inherit;
	align-items: flex-start;
	transform-origin: right;
}

.h_menu {
	width: 60%;
	display: flex;
	margin: 0 110px 80px 31%;
	flex-wrap: wrap;
	padding-top: 80px;
	text-align: left;
}
.h_menu li{
	border-bottom: #fff dotted 3px;
	width: 40%;
	letter-spacing: 0.1em;
	margin-right: 10%;
	position: relative;
	padding-right: 30px;
	height: 13vh;
}
.h_menu li a::after {
	content: '';
	background-image: url(../img/cmn/ico_cmn_arrow_circle_white.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	width: 20px;
  height: 100%;
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
}
.h_menu li:hover a:after{
	animation-duration: 1.8s;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	animation-name: arrow_r;
}
.h_menu li a:hover,.h_menu li a:focus {
	color: #FFF;
	text-decoration: none;
}
.h_menu li a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #FFF;
}
.h_menu_deco {
	color: #fff;
	display: block;
}
.h_menu_bottom a{
	font-size: 0.8125em;
	color: #FFF;
}
.h_menu_bottom a:hover{
	text-decoration: underline;
}
.h_menu_bottom {
	display: flex;
	justify-content: flex-end;
	padding-right: 5%;
}
.h_menu_bottom li{
	margin-right: 20px;
}
@media screen and (max-height:630px){
	.h_menu_img br{
		display: block;
	}
}
@media screen and (max-width:850px) {
	.h_menu {
		width: 60%;
	}
}
@media screen and (max-width:650px) {
	.h_menu {
		width: calc(100% - 30px);
		margin: 0 0px 30px auto;
		padding-top: 10px;
	}
	.flex_deco {
		display: flex;
		align-items: center;
	}
	.h_menu li {
		width: 100%;
		height: 8vh;
	}
	.h_menu li a {
    padding: 20px 0 21px 0;
		display: flex;
		align-items: center;
		font-size: 1em;
	}
	.h_menu_deco {
    margin-left: 20px;
		letter-spacing: 0;
	}
	.h_menu li::after {
		background-size: 100% auto;
		width: 10px;
    height: 100%;
	}
	.h_menu_bottom {
		padding: 0 5%;
		align-items: center;
	}
	.h_menu_bottom li {
    margin-right: 20px;
    line-height: 1.3;
	}
	.h_menu_logo {
		width: 50%;
		height: auto;
    padding-top: 5%;
	}
}

/* ハンバーガーメニュー
--------------------------------------------- */
.humb_btn {
  width: 100px;
  height: 100px;
  top: 0;
  right: 0;
	z-index: 1000;
	background-color: #ff008c;
	position: fixed;
	color: #FFF;
	display: none;
}
.humb_btn label {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  align-items: center;
  cursor: pointer;
	margin: 0;
	text-align: center;
}
.humb_btn span {
  display: block;
	margin: 0 auto;
	transition: all ease 200ms;
}
.humb_btn span::before{
	content: 'MENU';
  font-weight: 600;
	color: #FFF;
	z-index: 2;
}
#h_open:checked ~ .humb_btn label{
	align-content: center;
}
#h_open:checked ~ .humb_btn span::before{
	content: 'CLOSE';
}
#h_open:checked ~ .head_inner .h_menu_wrap {
    transform: scale(1);
}
#h_open:checked ~ .humb_btn {
    transform: scale(1);
}
.h_menu,.h_menu_img,.h_menu_bottom {
	opacity: 0;
	transition: 500ms;
}
#h_open:checked ~ .head_inner .h_menu ,#h_open:checked ~ .head_inner .h_menu_img,#h_open:checked ~ .head_inner .h_menu_bottom {
	opacity: 1;
	transition: 500ms;
	transition-delay : 0.25s;
}
@media screen and (max-width:1000px) {
	.humb_btn {
		display: block;
	}
}
@media screen and (max-width:650px) {
	.humb_btn {
		width: 70px; /* メニューボタンサイズ */
		height: 70px;
		border-bottom-left-radius: 4px;
	}
	.humb_btn span::before {
		font-size: 0.85em;
	}
	.single-event .humb_btn {
		display: none;
	}
}

/* 4コマ
--------------------------------------------- */

.ilst_atsumu {
	position: fixed;
	bottom: 4px;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: -1;
	overflow: hidden;
	width: 100%;
	    display: flex;
    justify-content: center;
}
.ilst_atsumu img {
	width: auto;
	max-width: max-content;
}

@media screen and (max-width:1100px) {
.ilst_atsumu {
	position: fixed;
	z-index: 3;
	width: 100%;
	bottom: 0;
}
.ilst_atsumu img {
	width: 100%;
	max-width: 480px;
}

}

/* main
--------------------------------------------- */

.prdct_img{
	display: flex;
	margin-top: 4px;
}
.main_wrap {
	width: 90%;
	margin: 0 auto;
	padding-top: 0px;
	padding-bottom: 20px;
}
.main_wrap p,.main_wrap li{
}
.single-post .main_wrap {
padding-top: 20px;
}
.main_top{
counter-reset: news-count;
}
.sec_top {
	margin-bottom: 20px;
	border: 4px solid #333;
	counter-increment: news-count;
}
.ttl_ja {
	font-size: 1.8125rem;
	font-size: clamp(1.125rem, 0.188rem + 4vw, 1.438rem);
	display: block;
	font-weight: bold;
}
.ttl_count{
	display: flex;
	line-height: 1.3;
	align-items: baseline;
}

.ttl_count::before {
  content: counter(news-count, decimal-leading-zero);
  font-family: "Cherry Bomb One";
  color: #fff;
  background-color: #ff008c;
  display: inline-block;
  border-radius: 5px;
  padding: 0px 5px 3px 5px;
  line-height: 1.3;
  margin-right: 10px;
  align-self: baseline;
}

.ttlbox {
	margin-bottom: 5px;
	border-bottom: 4px dotted #999;
	text-align: left;
	padding: 20px 5% 17px 4%;
	background-color: #e6e6e6;
}

.sec_news {
	padding-top: 30px;
}
.r_nav+.sec_top{
	margin-top: 30px;
}
.sec_news+.sec_top{
	margin-top: 0px;
}
.ttlbox_news {
	text-align: center;
	padding:0;
	border-bottom:none;
	color: #ff008c;
	margin-bottom: 18px;
	background-color: inherit;
}
.cttbox {
	margin-bottom: 0px;
	padding: 0 7% 20px 7%;
}
.a_cld {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 20px;
	align-items: center;
}
.list_cld li a:hover,.list_cld li a:focus{
	text-decoration: none;
}
.list_cld li a::after{
	content: '';
	width: 30px;
	height: 30px;
	background-image: url(../img/cmn/ico_cmn_arrow_circle.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	display: block;
	margin-right: 5%;
	transition: 0.5s;
}
.list_cld li:hover a::after{
	transform: translateX(10px);
	transition: 0.5s;
}
.a_cld_img {
	width: 20%;
	overflow: hidden;
	aspect-ratio: 16/9;
}
.a_cld_img img{
	object-fit: cover;
	object-position: center;
	transition: 0.25s;
	height: 100%;
  width: 100%;
}
.list_cld li a:hover img {
	transform: scale(1.1,1.1);
	transition: 0.25s;
}
.a_cld_ttl {
	width: 75%;
	width: calc(65% - 30px);
	text-align: left;
}
@media screen and (max-width:640px){
	.ttl_en {
		font-size: 2.5rem;
	}
}

/* お知らせ
--------------------------------------------- */
.list_news {
	margin-bottom: 50px;
	text-align: left;
}
.list_news time{
	padding-right: 7px;
	color: #ff008c;
	font-family: "Cherry Bomb One";
}
.list_news li{
	margin-bottom: 15px;
	border-bottom: 3px dotted #eee;
	padding-bottom: 15px;
	padding-left: 2%;
	padding-right: 2%;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
}
.list_news li .entry-content {
	font-size: 0.8em;
	color: #999;
	padding-top: 10px;
    padding-bottom: 0px;
}
.list_news li .entry-content p:last-child {
	margin-bottom: 0;
}

/* ボタン汎用
--------------------------------------------- */
input[type="submit"]{
	font-weight: 600;
	font-size: 1.222em;
	z-index: 2;
	background-color: #fff;
	background: #fff;
	color: #ff008c;
	background-position: center center;
	border: solid 3px #ff008c;
	border-radius: 33px;
	display: flex;
	box-shadow: 4px 4px 0px 0 #ff008c; 
	justify-content: center;
	align-items: center;
	box-sizing: inherit;
	width: 90%;
	padding: 14px 80px;
	height: 100%;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	transition: 500ms;
	cursor: pointer;
}
.btn_smpl {
	background-color: #fff;
	background: linear-gradient(to bottom right, #f2f2f2, #ffffff, #e6e6e6);
	border-radius: 33px;
	box-shadow: 4px 4px 0px 0 #ff008c; 
	transition: 500ms;
	width: 314px;
	position: relative;
	display: inline-block;
	box-sizing: inherit;
}
.btn_smpl:hover,input[type="submit"]:hover{
	transform: translate(4px,4px);
	box-shadow: none;
	transition: 500ms;
}
.btn_smpl a:hover,.btn_smpl a:focus{
	opacity: 1;
	text-decoration: none;
}
.btn_smpl a{
	color: #ff008c;
	font-weight: 600;
	font-size: 1.222em;
	z-index: 2;
	background-position: center center;
	border: solid 1px #ff008c;
	border-radius: 33px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: inherit;
	width: 100%;
	padding: 14px 80px;
	height: 100%;
	position: relative;
}
.btn_smpl a::after{
	content: '';
	background-image: url("../img/cmn/ico_cmn_arrow.svg");
	width: 36px;
	height: 5px;
	background-repeat: no-repeat;
	display: block;
	transition: 500ms;
	position: absolute;
	right: 20px;
}
.btn_smpl:hover a::after{
	transform: translate(5px,0);
	transition: 500ms;
}


/* 固定ページ
--------------------------------------------- */
.entry-content-oya {
	text-align: center;
}

/* 投稿記事
--------------------------------------------- */
.entry-content .wp-caption .wp-caption-text { /* 画像キャプション */
  margin: 0.7em 0;
  font-size: 0.9em;
}
.art_post {
	text-align: left;
	border: 4px solid #333;
}
.entry-content {
	font-weight: normal;
	padding-top: 20px;
	text-align: left;
}
.entry-content strong {
  background: linear-gradient(transparent 60%, #3bf2ff 60%);
}
.entry-content a img{
		transition: 0.2s;
}
.entry-content a img:hover{
	opacity: 0.75;
	transition: 0.2s;
}
.box_atn {
	text-align: center;
	padding-bottom: 20px;
}
.post_mainimg img {
	width: 100%;
}
.entry-content p {
	margin-bottom: 1em;
	display: inline-block;
}
.entry-content a, .entry-content a{
	text-decoration: underline;
}
.entry-content a:hover, .entry-content a:focus{
	text-decoration: none;
}
.entry-content li {
	margin-bottom: 0.8em;
	position: relative;
	line-height: 1.7;
}
.entry-content ul,.entry-content ol{
	margin-bottom: 1em;
}

.entry-content ol {
  counter-reset: num;
  list-style: none;
  padding-left: 0;
}

.entry-content ol li {
  counter-increment: num;
  position: relative;
  padding-left: 37px;
  margin-bottom: 1em;
  list-style: none;
}

.entry-content ol li::before {
  content: counter(num);
  position: absolute;
  left: -3px;
  top: 0;
  width: 28px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  border-radius: 50%; /* ←丸にする */
  background: #ff008c; /* 好きな色 */
  color: #fff;
  font-family: 'Cherry Bomb One', sans-serif;
}
.entry-content ul li{
	padding-left: 20px;
}
.entry-content ul li::before{
content: '';
    position: absolute;
    left: -2px;
    top: 5px;
    color: #ddd;
    border-radius: 50%;
    background-color: #ddd;
    width: 16px;
    height: 16px;
}
.post_time {
	font-weight: normal;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.001rem + 1vw, 1.249rem);
}
.pagettl_post {
	margin-bottom: 20px;
}
.entry-title {
	font-size: 1.875rem;
	font-size: clamp(1.875rem, 0.003rem + 2.14vw, 2.677rem);
	color: #ff008c;
	margin-bottom: 10px;
}
.entry-content h1 {
	font-size: 1.7rem;
	color: #ff008c;
	margin-bottom: 10px;
	margin-top: 1em;
}
.entry-content h2 {
	font-size: 1.4rem;
	font-weight: bold;
	padding-top: 10px;
	margin-bottom:9px;
	margin-top: 1em;
}
.entry-content h3 {
	font-size: 1.2rem;
	font-weight: bold;
	border-bottom: 1px solid #ff008c;
	color: #ff008c;
	padding-bottom: 3px;
	padding-top: 0px;
	margin-bottom: 15px;
	margin-top: 0.5em;
}
.entry-content h4 {
	font-size: 1.1rem;
	font-weight: bold;
	background-color: #eee;
	padding-bottom: 5px;
	padding-top: 5px;
	padding-left: 10px;
	padding-right: 7px;
	margin-bottom: 15px;
	margin-top: 0.5em;
}
.entry-content h5 {
	font-size: 1.1rem;
	font-weight: bold;
	padding-bottom: 5px;
	padding-top: 0px;
	margin-bottom: 5px;
	color: #333;
	margin-top: 0.5em;
}
.entry-content h6 {
	font-size: 1.063rem;
	font-weight: bold;
	padding-bottom:7px;
	padding-top: 7px;
	margin-bottom: 7px;
	color: #ff008c;
	margin-top: 0.5em;
}

/* page_navi　ページナビゲーション
--------------------------------------------- */
.screen-reader-text{
    display: none;
}
.nav-links {
		padding-top: 30px;
    display: flex;
		justify-content: center;
}
.page-numbers {
    color: #ff008c;
    background: #fff;
    width: min(10vw,3.5em);
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    border: 1px solid;
    font-size: 1.0625em;
    line-height: 100%;
    margin: 0 2px;
    transition: all ease 300ms;
}
.page-numbers:not(.dots):hover,
.page-numbers.current {
    background-color: #ff008c;
    color: #fff;
		text-decoration: none;
}
.prev.page-numbers,
.next.page-numbers{
    background: #ff008c url("../img/cmn/ico_cmn_arrow_pagenav.svg") no-repeat center / 16px 16px;
    border: none;
    color: #fff;
    text-indent: -9999px;
}
.prev.page-numbers:hover,
.next.page-numbers:hover{
  opacity: 0.75;
}
.prev.page-numbers {
    transform: rotateY(180deg);
}

/* タイトル 下から滑らかに出現
--------------------------------------------- */
.ttlup {
  display: block;
  overflow: hidden;
}
.ttlup_s{
  transition: .8s ease-in-out;
  transform: translate3d(0,100%,0) skewY(12deg);
  transform-origin: left;
  display: block;
	z-index: 1;
	position: relative;
}
.ttlup_s.ttlupAppear{
  transform: translate3d(0,0,0) skewY(0);
}

/* 404
--------------------------------------------- */
.error {
	padding-top: 100px;
	padding-bottom: 100px;
}

/* お問合せフォーム
---------------------------------- */
.wpcf7-form {
	text-align: left;
}
.entry-content form p {
	display: block;
	margin-bottom: 0;
}
label {
	margin-bottom: 20px;
	display: block;
}
input,option,select,textarea {
	width: 100%;
	padding: 2%;
	font-size: 1rem;
	margin-top: 5px;
}
small {
	line-height: 1.7;
	font-size: 0.85em;
	display: inline-block;
}
.wpcf7 form .wpcf7-response-output {
    margin: 0em 0.5em 2em;
	text-align: center;
}
.wpcf7-list-item {
    margin: 0 1em 0 0;
}
.wpcf7-list-item label {
    margin-bottom: 0px;
	margin-top: 10px;
}

/* フッター
--------------------------------------------- */
.link_pagetop{
	margin-bottom: 30px !important;

}
.site-footer {
border-top: 1px solid #eee;
 padding: 50px 7% 100px;
 position: relative;
 font-size: 0.9em;
}
.kiyaku{
	padding-top: 0px !important;
	margin-bottom: 10px !important;

}
.kiyaku p ,.copy_r{
	font-weight: 400 !important;
}
.copy_r{
	padding-top: 20px;
}
.ttl_fter {
	color: #333 !important;
	margin-bottom:0 !important;
}
.kiyaku a{
	color: #333 !important;
}