@charset "utf-8";
/*----- =================================
=== 春の短期水泳教室
================================= -----*/
#spring-campaign-wrap {
	font-size: 16px;
}

.container {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}

.common-title {
	text-align: center;
	background: #fff;
	padding: 1em 0;
}

@media screen and (max-width: 768px) {	
	.common-title img{
		width: 70%;
	}
}



/* メイン画像
------------------------------------------------------------- */
#spring-campaign-wrap h1 {
	margin-top: 76px;
}
#spring-campaign-wrap h1 img {
	width: 100%;
}
.intro {
	background: #6CCFF5;
	padding: 0 0 4em;
	text-align: center;
}
@media screen and (max-width: 768px) {	
	.intro img{
		width: 80%;
	}
}


/* 活動レポート
------------------------------------------------------------- */
.report {
	background: #D3FFCC;
	padding-bottom: 5em;
}

.report h2 {
	margin-bottom: 5em;
}

.report h3 {
	margin: 5em 0 2em;
	text-align: center;
}

.report .text-intro {
	font-weight: 700;
	text-align: center;
}

.report .img-gallery {
	display: flex;
	justify-content: space-between;
}

.report .img-gallery > div {
	width: 23%;
}

.report .wrap-slider{
	position: relative;
	width: 80%;
	margin: 0 auto;
}

.report .slider-voice{
	z-index: 1;
}

.report .slider-voice .box-voice{
	background: #fff;
	/*border-radius: 20px;*/
	padding: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.report .slider-voice .img{
	order: 2;
	width: 35%;
}

.report .slider-voice .photo-voice{
	margin-bottom: 20px;
}

.report .slider-voice .text{
	order: 1;
	width: 58%;
}

.report .slider-voice h4,
.report .slider-voice h5{
	font-weight: 700;
}

.report .slider-voice h4 {
	font-size: 100%;
}

.report .slider-voice .text-voice{
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
}

.report .slider-voice .text-coach{
	
}

.report .wrap-slider .img-illust{
	position: absolute;
	z-index: 2;
	right: 10px;
	top: 0;
}

.report .slider-voice .slick-prev{
	left: -60px;
}

.report .slider-voice .slick-next{
	right: -60px;
}

.report .slider-voice .slick-prev::before,
.report .slider-voice .slick-next::before{
	color: #666;
}

.report .text-try {
	font-size: min( 25px, 4vw );
	font-weight: 700;
	text-align: center;
}

@media screen and ( max-width: 780px ) {
	.report h2 {
		margin-bottom: 2em;
	}
	
	.report h2 img {
		vertical-align: middle;
	}


	.report h3 {
		margin: 3em 0 1em;
	}

	.report .slider-voice .box-voice{
		padding: 0.5%;
	}
	
	.report .slider-voice .img{
		order: 1;
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center
	}
	
	.report .slider-voice .img img{
		width: 48%;
		height: auto;
	}
	
	.report .slider-voice .text{
		order: 2;
		width: 100%;
	}
	
	.report .wrap-slider .img-illust{
		right: -30px;
		top: -20px;
		width: 80px;
	}
}
@media screen and ( max-width: 480px ) {
	.report .slider-voice .slick-prev{
		left: -40px;
	}
	
	.report .slider-voice .slick-next{
		right: -40px;
	}
	
	.report .slider-voice h4{
		font-size: 16px;
	}
	
	.report .slider-voice h5{
		font-size: 14px;
	}
	
	.report .slider-voice .text-voice,
	.report .slider-voice .text-coach{
		font-size: 0.8em;
	}
}


/* レッスンの特長
------------------------------------------------------------- */
.feature {
	background: #FFFFA3;
	/*color: #0068B1;*/
}

.feature li {
	position: relative;
	min-height: 500px;
	display: flex;
	align-items: center;
}

.feature li .container {
	height: 100%;
}

.feature li .img{
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	height: 100%;
}

.feature li .img img{
	width: 100%;
  	height: 100%;
	object-fit: cover;
}

.feature li .text {
	height: 100%;
	width: 45%;
}

.feature li .text .inner {
	position: relative;
}

.feature li .text .num {
	position: absolute;
	left: -17%;
    top: -55%;
    width: 25%;
}

.feature li .text h3 {
	margin-bottom: 1em;
	padding-left: 10%;
}

.feature li:nth-child(1) {
	background: url( ../images/spring_campaign/bk-feature1.svg ) no-repeat 40% 130% / 100px 250px;
}

.feature li:nth-child(2) {
	background: url( ../images/spring_campaign/bk-feature2.svg ) no-repeat 100% 90% / 350px 100px;
}

.feature li:nth-child(2) .img {
	left: 0;
}

.feature li:nth-child(2) .text {
	margin-left: 55%;
}

.feature li:nth-child(3) {
	background: url( ../images/spring_campaign/bk-feature3.svg ) no-repeat 3% 110% / 100px 180px;
}

@media screen and (max-width: 768px) {	
	.feature li {
		display: block;
	}
	
	.feature li .container {
		width: 100%;
		padding: 0;
	}
	
	.feature li .img {
		position: static;
		width: 100%;
	}
	
	.feature li .text {
		width: 100%;
	}
	
	.feature li .text .inner {
		width: 90%;
		position: relative;
		padding: 2em 0 7em;
		margin: 0 auto;
	}
	
	.feature li .text .num {
		left: 0;
		top: -25%;
		width: 100px;
	}
	
	.feature li .text h3 {
		padding-left: 0;
		text-align: center;
	}
	
	.feature li .text h3 img {
		height: 50px;
		width: auto;
	}
	
	.feature li:nth-child(1) {
		background: url( ../images/spring_campaign/bk-feature1.svg ) no-repeat 90% 120% / 80px 200px;
	}
	
	.feature li:nth-child(2) {
		background: url( ../images/spring_campaign/bk-feature2.svg ) no-repeat 100% 98% / 300px 100px;
	}
	
	.feature li:nth-child(2) .text {
		margin-left: 0;
	}
	
	.feature li:nth-child(3) {
		background: url( ../images/spring_campaign/bk-feature3.svg ) no-repeat 3% 105% / 100px 130px;
	}
}




/* その他の特長
------------------------------------------------------------- */
.other-feature {
	background: #FFFFA3;
	/*color: #0068B1;*/
}

.other-feature ul {
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	padding: 7em 0;
}

.other-feature li {
	width: 31%;
}

.other-feature h3 {
	color: #EB268B;
	font-size: min( 25px, 1.8vw );
	text-align: center;
    margin: 0.5em 0;
}

@media screen and (max-width: 768px) {
	.other-feature li {
		width: 100%;
		margin-bottom: 5em;
	}
	
	.other-feature li:last-child {
		margin-bottom: 0;
	}
	
	.other-feature h3 {
		font-size: 5vw;
	}
}


/* コースと料金
------------------------------------------------------------- */
.course {
	color: #fff;
}

.course .course-content {
	padding-bottom: 5em;
}

.course .wrap-text {
	position: relative;
}

.course h3 {
	width: 70%;
	margin-left: -10%;
	position: relative;
	z-index: 1;
}

.course .catch {
	font-size: min( 28px, 2.5vw );
	font-weight: 700;
	line-height: 1.8;
	margin-top: -2em;
	position: relative;
	z-index: 1;
}

.course .catch span {
	display: inline-block;
	background: #fff;
	line-height: 1.2;
	padding: 5px 5px 3px;
}

.course .box-text {
	background: #fff;
	margin-top: 1em;
	padding: 2%;
	width: 70%;
}

.course .box-text p + p {
	margin-top: 1em;
}

.course .illust {
	position: absolute;
	z-index: 0;
}

.course h4 {
	text-align: center;
	margin-top: 5em;
}

.course .deadline {
	text-align: right;
	margin-top: 0.5em;
}

.course .personal {
	background: #FFB8DC url( ../images/spring_campaign/bk-personal.jpg ) no-repeat center top / contain;
}

.course .personal h3 {
	width: 65%;
}

.course .catch {
	color: #FF42A2;
}

.course .personal .time {
	background: #fff;
	color: #3BBEED;
	line-height: 1.2;
	margin-top: 1em;
	padding: 2%;
	text-align: center;
    font-weight: 700;
    font-size: min( 25px, 4vw );
}

.course .personal .time small {
	font-weight: 400;
	font-size: min( 19px, 3vw );
}

.course .personal .box-text {
	background: transparent;
	color: #fff;
	padding: 0;
}

.course .personal .box-text .about {
	font-size: 1.2em;
}

.course .personal .illust {
	top: 5%;
	left: 4%;
}

.course .ippan {
	background: #40BEEA url( ../images/spring_campaign/bk-ippan.jpg ) no-repeat center top / contain;
}

.course .ippan h3 {
	margin-left: 20%;
}

.course .ippan .catch {
	color: #40BEEA;
	margin-left: 30%;
}

.course .ippan .box-text {
	color: #40BEEA;
	margin-left: 30%;
}

.course .ippan .illust {
	top: 10%;
    left: 74%;
}

.course .kaiin {
	background: #EDA200 url( ../images/spring_campaign/bk-kaiin.jpg ) no-repeat center top / contain;
}

.course .kaiin .catch {
	color: #EDA200;
}

.course .kaiin .box-text {
	color: #EDA200;
}

.course .kaiin .illust {
	top: 35%;
    left: 45%;
}

.bnr-present {
	margin-top: 5em;
}

@media screen and ( max-width: 768px ) {
	.course .wrap-text {
		padding-top: 80px;
	}
	
	.course h3 {
		margin-left: 0;
		width: 100%;
		text-align: center;
	}
	
	.course h4 {
		margin-top: 2em;
	}
	
	.course h4 img {
		width: 150px;
	}
	
	.course .catch {
		font-size: 4vw;
	}
	
	.course .box-text {
		width: 100%;
		font-size: 14px;
	}
	
	.course .personal {
		background-image: url( ../images/spring_campaign/bk-personal-sp.jpg );
	}
	
	.course .personal .illust {
		top: 10%;
		left: -5%;
		width: 35%;
	}
	
	.course .personal h3 {
		width: 100%;
	}

	.course .ippan {
		background-image: url( ../images/spring_campaign/bk-ippan-sp.jpg );
	}
	
	.course .ippan .illust {
		top: 10%;
		left: 60%;
		width: 45%;
	}
	
	.course .ippan h3 {
		margin-left: 0;
	}
	
	.course .ippan .catch {
		margin-left: 0;
	}
	
	.course .ippan .box-text {
		margin-left: 0;
	}

	.course .kaiin {
		background-image: url( ../images/spring_campaign/bk-kaiin-sp.jpg );
	}
	
	.course .kaiin .illust {
		top: 22%;
		left: 60%;
		width: 45%;
	}
	
	.course .deadline {
		font-size: 12px;
	}
}



/* テーブル
------------------------------------------------------------- */
.course-table {
	width: 100%;
	box-sizing: border-box;
	margin-top: 2em;
}

.course-table th,
.course-table td {
	color: #333;
	vertical-align: middle;
	padding: 9px;
	text-align: center;
}

.course-table td {
	border-left: solid 3px #fff;
}

.course-table td.td-date {
	border-left: 0;
}

.course-table .td-time {
	white-space: nowrap;
}

/*.course-table tr td:first-child {
	border-left: 0;
}*/

.course-table .num{
	display: inline-block;
	background: #444;
	color: #fff;
	height: 18px;
	line-height: 18px;
	width: 18px;
	text-align: center;
	border-radius: 50%;
	margin-right: 5px;
	font-size: 12px;
}

.course-table tr:first-child th {
	color: #333;
	background: #fff;
	font-weight: 700;
}

.course-table .subname {
	display: inline-block;
	line-height: 1.4;
	background: #333;
	color: #fff;
	margin-right: 5px;
	padding: 2px 5px;
	font-size: 13px;
}

.table_ippan tr {
	background: #BFDEF2;
}

.table_ippan tr:nth-child( odd ) {
	background: #85C9F7;
}

.table_ippan td.td-date2 {
	background: #85C9F7;
}

.table_personal tr {
	background: #FFEBF4;
}

.table_personal tr:nth-child( odd ) {
	background: #FFD9E8;
}

/* 予約状況 */
.course-table .circle,
.course-table .triangle,
.course-table .cross{
	display: block;
	width: 22px;
	height: 22px;
	margin: 0 auto;
}

.course-table .circle{
	background-image: url(../images/reserve01.svg);
}
.course-table .triangle{
	background-image: url(../images/reserve02.svg);
}

.course-table .cross{
	background-image: url(../images/reserve03.svg);
}

/* 価格 */
.course-table .td_price {
	background-color: #F2F2F2;
}

.course-table .price-box {
	margin: 10px 0;
}

.course-table .price-box i {
	display: block;
	width: 60%;
	margin: 0 auto;
	font-size: 12px;
	font-weight: 700;
	padding: 2px 0;
}

.course-table .price-box-ippan i {
	background: #fff;
	color: #0068B6;
}

.course-table .price-box-kaiin i {
	background: #fff;
	color: #E50012;
}

.course-table .price-box-hayawari i {
	background: #E50012;
	color: #fff;
}

.course-table .price-box > em {
	display: block;
	font-size: 30px;
	font-weight: 700;
}

.course-table .price-box em > span {
	font-size: 14px;
}

.course-table .price-box small {
	display: block;
	font-size: 12px;
	line-height: 1.1;
	color: #7D7D7D;
}

@media screen and ( max-width: 768px ) {
	.course-table {
		margin-top: 1em;
	}
	
	.course-table tr:first-child th {
		font-size: 12px;
	}
	
	.course-table tr:nth-child( n + 2 ) th {
		font-size: 12px;
	}

	.course-table .subname {
		font-size: 10px;
		padding: 0 5px;
	}
	
	.course-table th {
		padding: 5px;
	}
	
	.course-table td {
		font-size: 12px;
		padding: 5px;
	}
	
	.course-table .price-box i {
		font-size: 10px;
		width: 80%;
	}
	
	.course-table .price-box > em {
		font-size: 15px;
	}
	
	.course-table .price-box em > span {
		font-size: 10px;
	}
	
	.course-table .price-box small {
		font-size: 10px;
	}
}



/* SNS
------------------------------------------------------------- */
.btn-sns {
	background: #D3FFCC;
	padding: 5em 0;
}

.btn-sns .container {
	display: flex;
	justify-content: space-evenly;
}

.btn-sns .btn-line,
.btn-sns .btn-ig {
	color: #fff;
	background: #06C755;
	border: 3px solid #fff;
	width: 90%;
	font-size: 20px;
	max-width: 400px;
	margin: 0 20px;
	text-align: center;
	display: flex;
	font-weight: bold;
	justify-content: center;
	align-items: center;
	padding: 0.8em;
}

.btn-sns .btn-line:hover,
.btn-sns .btn-ig:hover {
	opacity: 0.6;
}

.btn-sns .btn-ig {
	background: linear-gradient(45deg, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}

.btn-sns img {
	margin-right: 30px;
	width: 40px;
	height: auto;
}

@media screen and ( max-width: 768px ) {
	.btn-sns .container {
		 flex-wrap: wrap;
	}
	
	.btn-sns .btn-ig {
		margin-top: 20px;
	}
}


/* お申し込み
------------------------------------------------------------- */
#pos-form::before {
	content:'';
	display: block;
	padding-top: 100px;
	margin-top: -100px;
}

.entry {
	background: #FFFFA3;
}

.entry .container {
	max-width: 980px;
}

.entry .form_fotter_text {
	font-weight: 700;
	text-align: center;
}

.entry .form_fotter_text small {
	font-size: 0.8em;
}

#spring-campaign-form .container {
	position: relative;
}

#spring-campaign-form .container .form-illust{
	position: absolute;
	right: -2%;
	bottom: 0;
	display: block;
	width: 100px;
	height: 250px;
	background: url(../images/spring_campaign/illust-entry.svg) no-repeat center center / contain;
}

#s-c-f-wrap {
	padding: 5em 0 2em;
}

#s-c-f-wrap > p {
	/*color: #086AAC;*/
	text-align: center;
	margin-bottom: 2em;
}

#s-c-f-wrap .first-wrap,
#s-c-f-wrap .second-wrap {
	margin: 0 auto;
	padding: 20px 0;
	background: #fff;
	font-weight: bold;
}

/* -- コース選択 -- */
#s-c-f-wrap .first-wrap {
	margin-bottom: 20px;
	text-align: center;
	padding: 20px;
}

#s-c-f-wrap .first-wrap .step2 {
	margin-top: 3em;
}

#s-c-f-wrap .first-wrap .slwrap {
	position: relative;
	margin: 1em auto 0;
	width: 100%;
    max-width: 600px;
}

#s-c-f-wrap .first-wrap .slwrap::before {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	margin-top: -5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 7px 0 7px;
	border-color: #FFED3F transparent transparent transparent;
	z-index: 2;
	pointer-events: none;
}

#s-c-f-wrap .first-wrap .slwrap select {
	height: auto;
	padding: 20px 30px 20px 20px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	border: none;
	color: #fff;
	background-color: #FF42A2;
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	outline: none;
}

@media screen and (max-width: 768px) {
	#spring-campaign-form .container .form-illust{
		right: -2%;
		bottom: 100px;
		height: 150px;
	}
	
	#s-c-f-wrap .first-wrap .slwrap {
		width: auto;
	}
	
	#s-c-f-wrap .first-wrap .slwrap select {
		font-size: 16px;
	}
	
	#s-c-f-wrap .step2 .slwrap select {
		width: 100%;
	}
}
/*　-- 入力フォーム(table)の設定 -- */
#s-c-f-wrap .second-wrap table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 80%;
	margin: 0 auto;
	color: #333;
	table-layout: fixed;
}

/* -- フォームの幅 -- */
#s-c-f-wrap .second-wrap table tr td {
	position: relative;
	padding-bottom: 30px;
}

#s-c-f-wrap .second-wrap table tr td.box {
	width: 100%;/* 横幅最大の入力フォーム */
	/*max-width: 100%;*/
}

#s-c-f-wrap .second-wrap table tr td.half-box {
	width: 50%;/* 横幅半分の入力フォーム */
	/*max-width: 100%;*/
}

#s-c-f-wrap .second-wrap table tr td.half-box:nth-child(1) {
	padding: 0 3% 30px 0;
}

#s-c-f-wrap .second-wrap table tr td.half-box:nth-child(2) {
	padding: 0 0 30px 3%;
}

/* -- td内部の設定 -- */
#s-c-f-wrap .second-wrap table tr td > div {
	width: 100%;
	padding-bottom: 4px;
}

#s-c-f-wrap .second-wrap table tr td > div > label {
	position: relative;
	display: block;
	margin-bottom: 4px;
	/*font-size: 13px;*/
	font-weight: bold;
}

#s-c-f-wrap .second-wrap table tr td > div > label.required:after {
	content: "必須";
	margin-left: 7px;
	padding: 0 4px;
	font-size: 12px;
	color: #fff;
	background-color: #F11B1F;
}

/* -- 各inputの設定 -- */
#s-c-f-wrap input[type="text"],
#s-c-f-wrap input[type="email"],
#s-c-f-wrap input[type="tel"] {
	display: inline;
	width: 100%;
	max-width: 100%;
	padding: 10px;
	border: none;
	border-radius: 0;
	outline: none;
	font-size: 16px;
	background-color: #F2F2F2;
	-webkit-appearance: none;
	appearance: none;
	transition: 0.2s linear;
}

#s-c-f-wrap input:focus {
	background-color: #FFED3F;/* input入力中の色 */
}

#s-c-f-wrap input.small-width{
	width: 40%; /* 小さいテキストエリアの幅 */
}

/* -- selectの設定 -- */
#s-c-f-wrap .first-wrap .slwrap optgroup,
#s-c-f-wrap .first-wrap .slwrap option {
	text-align: left;
}

#s-c-f-wrap .second-wrap .slwrap {
	position: relative;
}

#s-c-f-wrap .second-wrap .slwrap::before {
	content: "";
	position: absolute;
	right: 7px;
	top: 50%;
	margin-top: -2.5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 4px 0 4px;
	border-color: #FF42A2 transparent transparent transparent;
	z-index: 2;
	pointer-events: none;
}

#s-c-f-wrap .second-wrap .slwrap select {
	position: relative;
	padding: 10px 20px 10px 10px;
	border: solid 3px #f2f2f2;
	outline: none;
	cursor: pointer;
	text-overflow: ellipsis;
	background-image: none;
	background-color: #fff;
	-webkit-appearance: none;
	appearance: none;
	z-index: 1;
	height: auto;
}

#s-c-f-wrap .second-wrap .slwrap select::-ms-expand {
	display: none;
}

@media screen and (max-width: 768px) {
	#s-c-f-wrap .second-wrap table {
		width: 85%;
	}
	
	#s-c-f-wrap .second-wrap table tr td {
		display: block;
	}
	
	#s-c-f-wrap .second-wrap table tr td.half-box {
		width: 100%;
	}
	
	#s-c-f-wrap .second-wrap table tr td.half-box:nth-child(1) {
		padding-right: 0;
	}
	
	#s-c-f-wrap .second-wrap table tr td.half-box:nth-child(2) {
		padding-left: 0;
	}
}
/* -- submit、buttonの設定 -- */
#s-c-f-wrap input[type="submit"],
#s-c-f-wrap input[type="button"] {
	border-radius: none;
	display:inline-block;
	width: 35%;
	margin: 2em auto;
	font-size: 16px;
	font-weight: 800;
	padding: 20px 0;
	color: #fff;
	cursor: pointer;
	border: none;
	outline: none;
	background: #FF42A2;
	transition: 0.2s linear;
	-webkit-appearance: none;
	appearance: none;
}

#s-c-f-wrap input[type="submit"]:hover,
#s-c-f-wrap input[type="button"]:hover {
	opacity: 0.6;
}

#s-c-f-wrap input[type="button"] { /* buttonのみ変更 */
	background: #656565;
}

#s-c-f-wrap .second-wrap .button-box {
	text-align: center;
}

#s-c-f-wrap .second-wrap .button-box input[type="button"] {
	margin-right: 15px;
}

@media screen and (max-width: 768px) {
	#s-c-f-wrap input[type="submit"],
	#s-c-f-wrap input[type="button"] {
		margin: 0 auto;
	}
}

/* CF7の設定 */
input.wpcf7c-conf,
input.wpcf7c-conf:focus {
	background: transparent!important;
}

.wpcf7 form .wpcf7-response-output {
	background: #fff;
	margin: 2em auto 1em;
	width: 80%;
}