@charset "utf-8";
/* CSS Document */

/*メニュー*/

@media screen and (max-width:1200px){
	.p-menu-btn {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    height: 60px;
    width: 100%;
    justify-content: center;
    align-items: center;
    z-index: 200;
    background-color: #ffffff;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
	}
	.p-menu-btn span,
	.p-menu-btn span:before,
	.p-menu-btn span:after {
		content: '';
		display: block;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background-color: #393939;
		position: absolute;
	}
	.p-menu-btn span:before {
		bottom: 8px;
	}
	.p-menu-btn span:after {
		top: 8px;
	}

	#p-menu-btn-check:checked ~ .p-menu-btn span {
		background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
	#p-menu-btn-check:checked ~ .p-menu-btn span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	#p-menu-btn-check:checked ~ .p-menu-btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}

	#p-menu-btn-check {
		display: none;
	}

	.p-menu-wrap {
		width: 100%;
		box-sizing: border-box;
		padding-top:80px;
		position: fixed;
		top: 0;
		right:0;
		z-index: 190;
		background:rgba(0,0,0,0.75);
		transition: all 0.3s;
		backdrop-filter: blur(10px);
		opacity: 0;
		visibility: hidden;
	}

	#p-menu-btn-check:checked ~ .p-menu-wrap {
		right: 0%;/*メニューを画面内へ*/
		opacity: 1;
		visibility: visible;
	}

	.p-menu-wrap ul {
		width: 100%;
		position: relative;
	}
	.p-menu-wrap ul li {
		list-style: none;
	}
	.p-menu-wrap ul li a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding:4%;
		border-bottom: solid 1px #fff;
		color:#fff;
		text-align: left;
	}
	.p-menu-wrap ul li a p {
		color:#fff;
		text-decoration: none;
		font-size: 2.4rem;
		font-family: elevon, sans-serif;
		font-weight: 800;
		transform: rotate(0.03deg);
		display: inline-block;
		margin-bottom:4px;
		margin-right:8px;
	}

	.p-menu-wrap ul li a span {
		color:#fff;
		text-decoration: none;
		font-size: 1.5rem;
		font-family: 'Noto Sans JP', sans-serif;
		transform: rotate(0.03deg);
		font-weight: 400;
		display: inline-block;
	}
}

@media screen and (min-width:1201px){

	#p-menu-btn-check {display: none;}
	.p-menu-btn {display: none;}

	.p-menu-grad {
		display: block;
		width:100%;
		height:80px;
		/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1a9dcc+0,1a9dcc+51,1a9dcc+100&1+0,0.9+40,0+100 */
background: -moz-linear-gradient(top,  rgba(26,157,204,1) 0%, rgba(26,157,204,0.9) 40%, rgba(26,157,204,0.8) 51%, rgba(26,157,204,0.55) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(26,157,204,1) 0%,rgba(26,157,204,0.9) 40%,rgba(26,157,204,0.8) 51%,rgba(26,157,204,0.55) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(26,157,204,1) 0%,rgba(26,157,204,0.9) 40%,rgba(26,157,204,0.8) 51%,rgba(26,157,204,0.55) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1a9dcc', endColorstr='#001a9dcc',GradientType=0 ); /* IE6-9 */
		mix-blend-mode: multiply;
		position: fixed;
		left:0;
		top:0;
		z-index:900;
		backdrop-filter: blur(5px);
	}
	
	.p-menu-wrap {
		width:100%;
		height:80px;
		box-sizing: border-box;
		position: absolute;
		left:0;
		top:0;
	}

	.p-menu-wrap ul {
		display: flex;
		justify-content: space-between;
		box-sizing: border-box;
		padding:0 3%;
		max-width: 1280px;
		margin:0 auto;
	}

	.p-menu-wrap ul li {
		display: flex;
		height:80px;
		align-items: center;
		transition: all 0.3s;
		position: relative;
	}
	
	.p-menu-wrap ul li:after {
		content: "";
		display: block;
		width:0%;
		height:4px;
		position: absolute;
		left:50%;
		bottom:-4px;
		transition: all 0.3s;
		background-color:#1a9dcc;
	}
	
	.p-menu-wrap ul li:hover:after {
		width:100%;
		left:0;
	}

	.p-menu-wrap ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		flex-direction: column;
		text-decoration: none;
		box-sizing: border-box;
		color:#fff;
		border-radius: 10px;
		padding:12px 24px;
	}

	.p-menu-wrap ul li a p {
		font-family: elevon, sans-serif;
		font-weight: 800;
		font-style: normal;
		transform: rotate(0.03deg);
		font-size: 1.8rem;
	}
	
	.p-menu-wrap ul li a span {
		font-family: 'Noto Sans JP', sans-serif;
		transform: rotate(0.03deg);
		font-weight: 400;
		font-size: 1.5rem;
	}
	
	.p-menu-wrap ul li.p-menu06 a {
		background-color:#fff;
		color:#1a9dcc;
	}
}



/*共通*/

.p-common-link a {
	height:90px;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	font-family: 'Noto Sans JP', sans-serif;
	transform: rotate(0.03deg);
	font-weight: 700;
	background-color:rgba(26,157,204,0.90);
	font-size: 2rem;
	transition: all 0.3s;
	position: relative;
	margin:0 auto;
}

@media screen and (min-width:461px) {
	.p-common-link a {
		width:460px;
	}
} /*PC*/
@media screen and (max-width:460px) {
	.p-common-link a {
		width:80%;
	}
} /*MB*/

.p-common-link a:after {
	content:"";
	width:24px;
	height:30px;
	display: block;
	background-color:#fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	right:30px;
	top:30px;
	overflow: hidden;
}

.p-common-link a:hover {
	background-color:rgba(211,72,95,0.90);
	text-decoration: none;
}

.p-common-title {
	text-align: center;
	padding:12px 36px;
	background-color:#fff;
	box-sizing: border-box;
	margin:0 auto;
	display: inline-block;
	border:1px solid rgba(189,189,189,1.00);
	border-radius: 10px;
}

.p-common-topic {
	text-align:left;
	border-left:10px solid #1a9dcc;
	border-bottom:1px solid #1a9dcc;
	background-color:#fff;
	padding:10px;
}

.p-common-txt-left {
	text-align: left;
	width:100%;
	line-height: 1.6;
}

/*メインビジュアル*/



@media screen and (min-width:901px) {
	.p-main-logo {
		background:url("../img/mainlogo.png") left center no-repeat;
		width:100%;
		height:800px;
		padding:0 3%;
		max-width:1366px;
		margin:0 auto 0;
		position: relative;
	}
} /*PC*/
@media screen and (max-width:900px) {
	.p-main-logo {
		display: none;
	}
} /*MB*/

/*アバウト*/

.p-index-about-head {
	width:100%;
	text-align: left;
}

.p-index-about-img {
	width:45%;
	position:relative;
}

.p-index-about-img1 {
	background:url("../img/space_image01.jpg") center center no-repeat;
	background-size: cover;
	display: block;
	border-radius: 20px;
}

.p-index-about-img2 {
	background:url("../img/space_image02.jpg") center center no-repeat;
	background-size: cover;
	display: block;
	border-radius: 20px;
}

@media screen and (min-width:1201px) {
	.p-index-about-img {
		width:45%;
	}
	.p-index-about-img1 {
		width:400px;
		height:400px;
	}
	.p-index-about-img2 {
		width:250px;
		height:250px;
		position: absolute;
		left:250px;
		top:320px;
	}
} /*PC*/
@media screen and (max-width:1200px) {
	.p-index-about-img {
		width:100%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-bottom:32px;
	}
	.p-index-about-img1 {
		width:49%;
		padding-top:49%;
	}
	.p-index-about-img2 {
		width:49%;
		padding-top:49%;
	}
} /*MB*/

.p-index-about-discription {
	position: relative;
}

.p-index-about-list {
	margin-left:auto;
}

.p-index-about-list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-left:auto;
}

.p-index-about-list ul li {
	border:2px solid #1a9dcc;
	color:#1a9dcc;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	font-size: 1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
	transform: rotate(0.03deg);
	font-weight: 400;
}

.p-index-about-text {
	line-height: 1.8;
}

.p-index-about-link {
	width:100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:12px 0;
}

.p-index-about-link a {
	width:49%;
	display: block;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	transition: all 0.3s;
	background-color:#1a9dcc;
	font-size: 1.8rem;
	box-sizing: border-box;
	padding:12px;
}

.p-index-about-link a:hover {
	background-color:#d3485f;
	text-decoration: none;
}

@media screen and (min-width:1201px) {
	.p-index-about-discription {
		width: 55%;
	}
	.p-index-about-list ul {
		gap:20px;
		width:540px;
	}
	.p-index-about-list ul li {
		width:120px;
		height:120px;
	}
	.p-index-about-text {
		text-align: right;
	}
	.p-index-about-link a {
		width:49%;
	}
} /*PC*/
@media screen and (max-width:1200px) {
	.p-index-about-discription {
		width: 100%;
	}
	.p-index-about-list ul {
		width: 100%;
		gap:12px 0;
	}
	.p-index-about-list ul li {
		width:23%;
		box-sizing: border-box;
		padding:8px;
	}
	.p-index-about-text {
		text-align: left;
	}
	.p-index-about-link a {
		width:100%;
	}
} /*MB*/



/*注目のイベント*/

.p-index-pickup-wrap {
	width:100%;
	max-width: 1280px;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	padding:40px 0;
	flex-wrap: wrap;
}

.p-index-pickup-text-wrap {
	width:35%;
	text-align: left;
	display: grid;
	place-items: center;
	position: relative;
}

.p-index-pickup-text {
	width:100%;
}

.p-index-pickup-image {
	width:65%;
	background-color: #fff;
}

@media screen and (min-width:1201px) {
	.p-index-pickup-text-wrap {
		width:35%;
	}
	.p-index-pickup-image {
		width:65%;
	}
} /*PC*/
@media screen and (max-width:1200px) {
	.p-index-pickup-text-wrap {
		width:100%;
		margin-bottom:12px;
	}
	.p-index-pickup-image {
		width:100%;
	}
} /*MB*/

/*近日開催イベント*/

.p-index-upcoming-list {
	width:100%;
	position: relative;
}

.p-index-upcoming-list dl {
	display: flex;
	width:100%;
	position: relative;
	padding:8px 24px;
	box-sizing: border-box;
	flex-wrap: wrap;
}

.p-index-upcoming-list dl:nth-child(2n+1) {
	background-color:#fff;
}

.p-index-upcoming-list dl dt {
	display: flex;
	justify-content: flex-start;
	box-sizing: border-box;
}

@media screen and (min-width:1025px) {
	.p-index-upcoming1 {
		width:25%;
	}
	.p-index-upcoming2 {
		width:60%;
	}
} /*PC*/
@media screen and (max-width:1024px) {
	.p-index-upcoming1 {
		width:100%;
		margin-bottom:8px;
	}
	.p-index-upcoming2 {
		width:100%;
	}
} /*MB*/

.p-index-upcoming-list dl dd {
	display: flex;
	justify-content: flex-end;
	width:15%;
	box-sizing: border-box;
}

@media screen and (min-width:1025px) {
	.p-index-upcoming-list dl dd {
		width:15%;
	}
} /*PC*/
@media screen and (max-width:1024px) {
	.p-index-upcoming-list dl dd {
		display: none;
	}
} /*MB*/

.p-upcoming-category {
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	padding:4px 8px;
	margin-right:8px;
}

.p-upcoming-date {
	display: flex;
	justify-content: center;
	align-items: center;
	padding:4px 0;
	margin-right:8px;
}

.p-upcoming-text {
	display: flex;
	justify-content: flex-start;
	text-align: left;
	align-items: center;
	padding:4px 0;
}

.p-index-upcoming-list dl dd a {
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	padding:4px 8px;
	transition: all 0.3s;
}

.p-index-upcoming-list dl dd a:hover {
	text-decoration: none;
	opacity: 0.6;
}

/*イベントリスト*/

.p-index-event-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	width:100%;
	gap:32px 4%;
}

.p-index-event-box {
	display: block;
	position: relative;
	background-color:#626262;
	border-radius: 15px;
	padding:20px;
	text-align: left;
}

@media screen and (min-width:1025px) {
	.p-index-event-box {
		width:48%;
	}
} /*PC*/
@media screen and (max-width:1024px) {
	.p-index-event-box {
		width:100%;
	}
} /*MB*/

.p-index-event-image {
	background-color:#fff;
}

.p-index-event-category {
	display: inline-block;
	color:#fff;
	padding:4px 8px;
	margin-right:8px;
}

.p-category-format_span {
	background-color:#1a9dcc;
}

.p-category-format_span span:before {
	content: "期間イベント";
}

.p-category-format_day {
	background-color:#d3485f;
}

.p-category-format_day span:before {
	content: "一日イベント";
}

.p-index-event-date {
	display: inline-block;
	padding:4px 0;
}

.p-date-format_span {color:#1a9dcc;}
.p-date-format_day {color:#d3485f;}

/*Twitterと地図*/

.p-index-twitmap-wrap {
	display: flex;
	justify-content: space-between;
	position: relative;
	flex-wrap: wrap;
	gap:32px 0;
}

.p-index-twitter {
	height:500px;
}

.p-index-map {
	position: relative;
	border:1px solid #cdd7dd;
	border-radius: 10px;
	overflow: hidden;
	background-color:#fff;
}

@media screen and (min-width:1033px) {
	.p-index-twitter {
		width:calc(100% - 532px);
	}
	.p-index-map {
		width:500px;
	}
} /*PC*/
@media screen and (max-width:1032px) {
	.p-index-twitter {
		width:100%;
	}
	.p-index-map {
		width:100%;
	}
} /*MB*/

/*共通コンタクト*/

.p-common-contact-bt {
	position: relative;
	display: block;
	margin:0 auto;
}

.p-common-contact-bt a {
	width:460px;
	height:90px;
	display: flex;
	justify-content: center;
	align-items: center;
	color:#fff;
	font-family: 'Noto Sans JP', sans-serif;
	transform: rotate(0.03deg);
	font-weight: 700;
	background-color:rgba(26,157,204,0.90);
	font-size: 2rem;
	transition: all 0.3s;
	position: relative;
	margin:0 auto;
}

@media screen and (min-width:461px) {
	.p-common-contact-bt a {
		width:460px;
	}
} /*PC*/
@media screen and (max-width:460px) {
	.p-common-contact-bt a {
		width:80%;
	}
} /*MB*/

.p-common-contact-bt a:after {
	content:"";
	width:24px;
	height:30px;
	display: block;
	background-color:#fff;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	position: absolute;
	right:30px;
	top:30px;
	overflow: hidden;
}

.p-common-contact-bt a:hover {
	background-color:rgba(211,72,95,0.90);
	text-decoration: none;
}

/*フッター*/

.p-foot-logo {
	position: relative;
	margin:0 auto;
}

@media screen and (min-width:401px) {
	.p-foot-logo {
		width:400px;
	}
} /*PC*/
@media screen and (max-width:400px) {
	.p-foot-logo {
		width:80%;
	}
} /*MB*/

/*アバウト*/

table.p-about-price-list {
	width:100%;
	position:relative;
}

table.p-about-price-list tbody tr:nth-child(2n+1) {
	background-color:rgba(222,240,255,1.00);
}

table.p-about-price-list tbody tr:first-child {
	background-color:#1a9dcc;
	color:#fff;
}

table.p-about-price-list th {
	padding:16px 0;
	text-align: center;
	vertical-align: middle;
}

table.p-about-price-list td {
	padding:16px 0;
	text-align: center;
	vertical-align: middle;
}

.p-floor-map {
	width:100%;
	padding:24px;
	background-color:#fff;
	border-radius: 20px;
}

.p-floor-parts-wrap {
	display: flex;
	justify-content: flex-start;
	width:100%;
	position: relative;
	flex-wrap: wrap;
	gap:24px 2%;
}

.p-floor-parts-box {
	padding:24px;
	background-color:#fff;
	border-radius: 20px;
	position: relative;
}

@media screen and (min-width:1025px) {
	.p-floor-parts-box {
		width:32%;
	}
} /*PC-LARGE*/
@media screen and (max-width:1024px) {
	.p-floor-parts-box {
		width:49%;
	}
} /*PC-MIDDLE*/
@media screen and (max-width:728px) {
	.p-floor-parts-box {
		width:100%;
	}
} /*MB*/

.p-about-example-box {
	width:100%;
	padding:24px;
	background-color:#fff;
	border-radius: 20px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.p-about-example-wrap {
	display: flex;
	flex-direction: column;
	gap:24px;
}

@media screen and (min-width:729px) {
	.p-about-example-img {
		width:250px;
	}
	.p-about-example-txt {
		width:calc(100% - 274px);
		text-align: left;
		line-height: 1.6;
	}
} /*PC*/
@media screen and (max-width:728px) {
	.p-about-example-img {
		width:100%;
	}
	.p-about-example-txt {
		width:100%;
		text-align: left;
		line-height: 1.6;
	}
} /*MB*/

.p-about-example-txt h5 {
	padding:12px 0;
	border-bottom:1px solid #1a9dcc;
}

table.p-about-material-list {
	width:100%;
	position:relative;
}

table.p-about-material-list tbody tr:nth-child(2n+1) {
	background-color:rgba(222,240,255,1.00);
}

table.p-about-material-list tbody tr:first-child {
	background-color:#1a9dcc;
	color:#fff;
}

table.p-about-material-list th {
	padding:16px 8px;
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
}

table.p-about-material-list td {
	padding:16px 8px;
	box-sizing: border-box;
	text-align: center;
	vertical-align: middle;
	width:20%;
	position: relative;
}

table.p-about-material-list td img {
	width:100%;
	max-width:100px;
	height: auto;
}

/*スケジュール*/

.p-schedule-google-wrap {
	width:100%;
	position: relative;
}

.p-schedule-google-wrap iframe {
	width:100%;
}

/*アクセス*/

.p-access-map_wrap {
	display: flex;
	justify-content: center;
	gap:24px;
	flex-wrap: wrap;
	align-items: center;
}

.p-access-map {
	width:500px;
	position: relative;
}

.p-access-adress {
	text-align: left;
}

.p-access-adress dl {
	padding:32px 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom:1px solid rgba(189,189,189,1.00);
}

.p-access-adress dl:first-child {
	border-top:1px solid rgba(189,189,189,1.00);
}

.p-access-adress dl dt {
	color:rgba(157,157,157,1.00);
	font-weight: normal;
	margin-right:16px;
	font-size: 1.5rem;
}

.p-access-adress dl dd {
	font-size: 1.6rem;
}

.p-access-way-wrap {
	width:100%;
	position: relative;
	display: flex;
	justify-content: flex-start;
	gap:24px 2%;
	flex-wrap: wrap;
}

.p-access-way-box {
	width:49%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-bottom:1px solid rgba(189,189,189,1.00);
	padding:24px 0;
	box-sizing: border-box;
}

@media screen and (min-width:1025px) {
	.p-access-way-box {
		width:49%;
	}
} /*PC*/
@media screen and (max-width:1024px) {
	.p-access-way-box {
		width:100%;
	}
} /*MB*/

.p-access-way-box img {
	width:200px;
	height: auto;
	margin-right:16px;
}

.p-access-way-box p {
	text-align: left;
	line-height: 1.6;
}

/*エントリ個別*/

.p-entry-wrap {
	background-color:#fff;
	border-radius: 20px;
	width:100%;
	box-sizing: border-box;
	padding:24px;
	position: relative;
	text-align: left;
}

.p-entry-title {
	padding-bottom:16px;
	border-bottom:1px solid #1a9dcc;
}

.p-entry-topic {
	padding:4px 12px;
	border-bottom:1px solid #1a9dcc;
	background-color:#E2F7FF;
}

.p-entry-ex {
	line-height: 1.6;
}

.p-entry-link a {
	display: block;
	width:100%;
	max-width: 500px;
	border-radius: 10px;
	color:#fff;
	background-color:#1a9dcc;
	box-shadow:0 4px 0 #137CA2;
	text-align: center;
	box-sizing: border-box;
	padding:12px;
	font-size: 2rem;
	font-weight: bold;
	margin:0 auto;
}

.p-entry-link a:hover {
	text-decoration: none;
}

/*お問い合わせ*/

.p-contact-form {
	width:100%;
}

.p-form-premise,
.p-form-acceptance {
	text-align: left;
	width:100%;
	line-height: 1.6;
}

.p-contact-form dl {
	width:100%;
	display: flex;
	justify-content: space-between;
	margin-bottom:8px;
}

.p-contact-form dl dt {
	width:29%;
	color:#fff;
	background-color:#1a9dcc;
	font-size:1.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding:16px;
}

.p-contact-form dl dt span {
	margin-left:8px;
	font-size: 90%;
	color:yellow;
	font-weight: bold;
}

.p-contact-form dl dd {
	width:70%;
	background-color:#F9F9F7;
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	flex-direction: column;
	padding:16px;
	font-size:1.6rem;
}

@media screen and (min-width:1025px) {
	.p-contact-form dl {
		display: flex;
		justify-content: space-between;
	}
	.p-contact-form dl dt {
		width:29%;
	}
	.p-contact-form dl dd {
		width:70%;
	}
}
@media screen and (max-width:1024px) {
	.p-contact-form dl {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		flex-wrap: wrap;
	}
	.p-contact-form dl dt {
		width:100%;
	}
	.p-contact-form dl dd {
		width:100%;
	}
}

.p-contact-form dl dd div {
	width:100%;
	margin:0 auto;
	position: relative;
	text-align: left;
}

.p-contact-form dl dd input[type="text"],input[type="email"],input[type="tel"],input[type="url"] {
	width:100%;
	display: block;
	margin:0 auto;
    box-sizing: border-box;
    outline: none;
    border: 1px solid lightgray;
    border-radius: 3px;
    padding: 10px 10px 10px 10px;
    transition: all 0.1s ease-out;
	font-size:1.6rem;
	color:dimgray;
	position: relative;
}

span.check {color:dimgray; margin:8px 0;display: block;}

.p-contact-form select {
	width:100%;
	display: block;
    box-sizing: border-box;
    outline: none;
    border: 1px solid lightgray;
    border-radius: 3px;
    padding: 10px 10px 10px 10px;
    transition: all 0.1s ease-out;
	font-size:1.6rem;
	color:dimgray;
	position: relative;
}

.p-contact-form dl dd textarea {
	width:100%;
	display: block;
	margin:0 auto;
	box-sizing: border-box;
    outline: none;
    border: 1px solid lightgray;
    border-radius: 3px;
    padding: 10px 10px 10px 10px;
    transition: all 0.1s ease-out;
	font-size:1.6rem;
	color:dimgray;
	position: relative;
}

.wpcf7-form-control-wrap {
	display: block;
}

.wpcf7-form-control.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap:10px;
}

.wpcf7-list-item-label {/*項目の色や文字サイズ*/
	cursor: pointer;
}

.p-form-label .wpcf7-list-item {
	display: block;
	line-height: 40px;
	height:40px;
	background-color:#FFF;
	box-sizing: border-box;
	padding:0 8px;
	border-radius: 5px;
	position: relative;
	margin:0!important;
}

/*PC*/
@media screen and (min-width:1025px) {
	.p-form-label .wpcf7-list-item {
		width:calc(calc(100% - 20px) / 3);
	}
}
/*MOB*/
@media screen and (max-width:1024px) {
	.p-form-label .wpcf7-list-item {
		width:calc(calc(100% - 20px) / 2);
	}
}

input[type="checkbox"] {
  position: absolute;
  opacity: 0;/*既存のチェックボックスを見えなくする*/
}

.wpcf7-list-item-label:before {/*チェックボックスの枠*/
  content: '';
  border: 1px solid #1a9dcc;
  display: inline-block;
  width: 20px;
  height: 20px;
  position: relative;
  top: -3px;
  margin-right: 12px;
  vertical-align: middle;
  cursor: pointer;
  text-align: center;
}

input[type="checkbox"]:checked + .wpcf7-list-item-label:after {/*チェックアイコン*/
	content: "";
	display: block;
	position: absolute;
	top: 10px;
	left: 8px;
	width: 20px;
	height: 20px;
	background: url("../img/check-solid.svg") no-repeat center;
  background-size: contain;
}

.p-contact-check {
	width:100%;
	background-color:#F9F9F7;
	position: relative;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	flex-direction: column;
	padding:16px;
	font-size:1.6rem;
}

.p-contact-check .wpcf7-list-item {
	display: block!important;
	width:100%;
	line-height: 40px;
	height:40px;
	background-color:#FFF;
	box-sizing: border-box;
	padding:0 8px;
	border-radius: 5px;
	position: relative;
	margin: 0!important;
}

.p-form-bt {
	width:100%;
	margin:0 auto;
}

.p-form-bt input[type="submit"],input[type="reset"] {
	display: block;
	width:200px;
	height:60px;
	color:#fff;
	background-color:#503989;
	outline: none;
	border:0;
	font-size: 1.6rem;
	font-weight: bold;
	cursor: pointer;
	margin:0 auto;
}

.p-form-bt input[type="submit"] {
	background-color:#1a9dcc;
	transition: all 0.3s;
	border:5px solid #1a9dcc;
}

.p-form-bt input[type="submit"]:hover {
	background-color:#fff;
	color:#1a9dcc;
	border:5px solid #1a9dcc;
}

.wpcf7 form .wpcf7-response-output {
	margin:0!important;
}

div.wpcf7-mail-sent-ok {
	width:100%;
border: 2px solid #1a9dcc;
}
div.wpcf7-mail-sent-ng {
	width:100%;
border: 2px solid #ff0000;
}
div.wpcf7-spam-blocked {
	width:100%;
border: 2px solid #ffa500;
}
div.wpcf7-validation-errors {
	width:100%;
border: 2px solid #f7e700;
}


.wpcf7 form.sent .wpcf7-response-output {/* 送信ボタン下完了時 */
    border-color: #8cebe5;
	font-size: 1.8rem;
	box-sizing: border-box;
	padding:12px;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {/* 送信ボタン下未入力警告 */
    border-color: #f88;
	font-size: 1.8rem;
	box-sizing: border-box;
	padding:12px;
}
.wpcf7-not-valid-tip {/* 必須未入力項目下の文章 */
    color: #f88;
    font-size: 12px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
width: 100%!important
}