@charset "utf-8";
/* CSS Document */
.mt10{margin-top:10px !important;}
.mt20{margin-top:20px !important;}
.mt30{margin-top:30px !important;}
.mt40{margin-top:40px !important;}
.mt50{margin-top:50px !important;}
.mt60{margin-top:60px !important;}

.mb10{margin-bottom:10px !important;}
.mb20{margin-bottom:20px !important;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}
.mb50{margin-bottom:50px !important;}
.mb60{margin-bottom:60px !important;}


/*
【360新潟レスポンシブ設計定義】
1200px～：PC
801px～1199px：タブレット（タブレット専用デザインは作成しない、基本的にスマホのデザインを適用するがPCのデザインで問題ない場合に限りPCのデザインも適用可能とする）
～800px：スマホ
*/

/* PC・タブレット・スマホ共通の設定（PC用の設定を記述） */


.sub_wrap{
	border-top:solid 3px #ccc;
}

.out{
	margin:40px auto 0;
}
.main_content{
	width:980px;
}

.catalog_section{
	display:flex;
	justify-content: space-between;
	margin:0 0 40px;
	padding:0 0 40px;
	border-bottom:solid 1px #ccc;
}
.catalog_img{
	width:470px;
}
.catalog_img img{
	width:100%;
}
.catalog_info{
	width:490px;
}
.catalog_info h2{
	font-size:18px;
}
.catalog_info .price{
	font-size:22px;
	font-weight:bold;
	margin:0 0 10px;
}
.catalog_info .price span.small{
	font-size:14px;
}
.catalog_info .option{
	margin:0 0 20px;
}
.catalog_info .option select{
	padding:6px 20px 6px;
}
	

.catalog_info .buy{
	display:flex;
	align-items:center;
	justify-content: space-between;
	margin:0 0 20px;
	width:326px;
}
.catalog_info .small{
	margin:0 0 20px;
	font-size:12px;
}
.catalog_info input[type="number"]{
	border:solid 1px #ccc;
	padding:6px 2px 6px 20px;
	width:96px;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    opacity: 1;
}
.catalog_info .buy .buy_btn a,
.catalog_info .buy .buy_btn button{
	padding:10px 50px;
	background-color:#2CA6E0;
	color:#FFF;
	border-radius:6px;
}


/* カタログ詳細 */
.catalog_inf{
	display:flex;
	justify-content:space-between;
	width:100%;
	margin-bottom: 80px;
	background-color:#EEEEEE;
}
.catalog_inf figure{
	width:50%;
}
.catalog_inf figure img{
	width:100%;
}
.catalog_inf > figure img{
//	margin-top:-27px;
}
.catalog_inf .catalog_info_txt{
	width:50%;
	padding:40px 60px 0 0;
}
.catalog_inf .catalog_info_txt .type{
	font-size:16px;
}
.catalog_inf .catalog_info_txt .price{
	font-size:24px;
}
.catalog_inf .catalog_info_txt .price span{
	font-size:14px;
}
.catalog_inf .catalog_info_txt .txt{
	margin-bottom:60px;
}
.catalog_inf .catalog_info_txt button{
	width: 50%;
    display: flex;
    margin-bottom: 15px;
    border: 0;
    padding: 10px 0;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: bold;
    background: #e73828;
    color: #FFF;
    white-space: nowrap;
}
.catalog_inf .catalog_info_txt button img{
	width: 10%;
	margin-right:10px;
}
.catalog_inf .catalog_info_txt button:hover {
	opacity:0.7;
}
.catalog_inf .catalog_info_txt .supple{
	text-align:center;
	font-weight:bold;
	margin-bottom:5px;
}
.catalog_inf .catalog_info_txt .delivery{
    display: flex;
	width:100%;
	background-color:#FFF;
	border:1px solid #8e8d8d;
}
.catalog_inf .catalog_info_txt .delivery figure{
	width:100px;
	margin:auto;
}
.catalog_inf .catalog_info_txt .delivery figure img{
    width:70%;
}
.catalog_inf .catalog_info_txt .delivery .date{
    line-height:1.5;
	padding-top:5px;
}
.catalog_inf .catalog_info_txt .delivery .date span{
    font-size:28px;
	font-weight:bold;
	letter-spacing: 10px;
}


.catalog_tab {
	margin: 0 0 40px;
	border: 0;
	border-bottom: 1px solid #444;
	padding: 0;
}
.catalog_tab ul {
	display: flex;
	flex-flow: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
}
.catalog_tab ul li {
	position: relative;
	display: block;
	margin: 0;
	border: 0;
	padding: 0;
}
.catalog_tab ul li span.active {
	position: relative;
	display: block;
	margin: 0 8px 0 0;
	border: 0;
	border-radius: 6px 6px 0 0;
	padding: 8px 12px 0;
	background: #444;
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-style: normal;
}
.catalog_tab ul li span.active:after {
    content: "";
	position: absolute;
	display: block;
	left: 50%;
	margin-left: -10px;
	border: 10px solid transparent;
	border-top: 10px solid #444;
}
.catalog_tab ul li a {
	position: relative;
	display: block;
	margin: 0 8px 0 0;
	border: 0;
	border-radius: 6px 6px 0 0;
	padding: 8px 12px 0;
	background: #ddd;
	color: #000;
	text-align: center;
	font-size: 18px;
	font-style: normal;
}


.course_list{
	width:980px;
	margin:0 0 25px;
}
.course_list h3{
	font-size:20px;
	font-weight:bold;
	margin:0 0 20px;
}
.course_list h3 span{
	margin-left:20px;
	font-size:16px;
	font-weight:normal;
}
.course_list ul{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.course_list ul::after{
	content:"";
	width:320px;
}
.course_list ul li{
	background-color:#f7f7f7;
	border:solid 1px #888;
	text-align:center;
	margin:0 0 10px;
}
.course_list ul li a{
	width:320px;
	padding:4px 0;
	display:block;
}
.course_list ul li.current a{
	background-color:#717071;
	color:#fff;
}
.course_detail{
	margin:0 0 50px;
}
.course_detail h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 20px;
}

.title-border {
display: flex;
align-items: center;
}
.title-border:after {
border-top: 1px solid #C8C8C8;
content: "";
flex-grow: 1;
}
.title-border:after {
margin-left: 1rem;
}

.pagenavi {
	font-size:10px;
	margin:25px 0;
}
.pagenavi .page_count {
	text-align:center;
}
.pagenavi .page_count p {
	font-size:11px;
	color:#979797;
}
.pagenavi ul.pageNav {
	margin: 0 0 10px;
	padding: 12px;
	/*background: #f3f3f3;*/
	text-align: center;
}
.pagenavi ul.pageNav li {
	display: inline;
	margin: 0 1px;
	padding: 0;
}
.pagenavi ul.pageNav li.prevSP,.pagenavi ul.pageNav li.nextSP {
	display: none;
}

.pagenavi ul.pageNav li a,.pagenavi ul.pageNav li p {
	display: inline-block;
	padding: 3px 10px;
	background: #fff;
	border: 1px solid #ccc;
	vertical-align: middle;
	text-decoration: none;
}

.pagenavi ul.pageNav li a:hover {
	background: #efefef;
}

.pagenavi ul.pageNav li span {
	display: inline-block;
	padding: 3px 10px;
	background: #353535;
	border: 1px solid #353535;
	color: #fff;
	vertical-align: middle;
	text-decoration: none;
}



.course_detail .nothing{
	width: 100%;
	margin: 60px 0;
	text-align: center;
}
.course_detail .course_inner{
	display:flex;
	justify-content: space-between;
	align-content: stretch;
	flex-wrap: wrap;
	margin: 0 0 25px;
}
.course_detail .course_inner::after{
  content:"";
  display: block;
  width:320px;
}
.course_detail .course_inner a{
	margin:0 0 30px;
	border: 1px solid #c0c0c0;
}
.course_detail .item{
	width:320px;
}
.course_detail .item .image {
	position: relative;
	width: 320px;
	height: 190.4px;
	overflow: hidden;
}
.course_detail .item .image figure {
	position: absolute;
	left: 0;
	top: 0;
}
.course_detail .item .image figure img {
	width: 304px;
	height: 182.4px;
	margin: 8px 8px 0;
	object-fit:cover;
}
.course_detail .item .caption {
	position: absolute;
	left: 8px;
	width: 304px;
	top: 8px;
	height: 182.4px;
	padding: 0;
	display: flex;
	flex-flow: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
}
.course_detail .item .caption .left {
	display: flex;
	flex-flow: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
}
.course_detail .item .caption .left span {
	height: 20px;
	margin: 4px 0 0 4px;
	border: 0;
	border-radius: 4px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: normal;
	color: #ffffff;
	opacity: 0.85;
	display: flex;
	place-items: center;
	cursor: default;
}
.course_detail .item .caption .left img.icon {
	width: 20px;
	height: 20px;
	object-fit:cover;
	margin: 2px 0 0 4px;
	border: 2px solid #ffffff;
	border-radius: 4px;
	background: #ffffff;
	opacity: 0.7;
}
.course_detail .item .caption .right {
	display: flex;
	flex-flow: column;
	flex-wrap: nowrap;
	align-items: flex-end;
}
.course_detail .item .caption .right span {
	height: 20px;
	margin: 2px 4px 0 0;
	border: 2px solid #ffffff;
	border-radius: 4px;
	font-size: 12px;
	font-weight: bold;
	color: #000000;
	background: #ffffff;
	opacity: 0.7;
	display: flex;
	place-items: center;
	cursor: default;
}
.course_detail .item .text {
	padding: 8px 8px;
}
.course_detail .item p.shop {
	margin: 0 0 8px;
}
.course_detail .item div.course {
	margin: 0 0 8px;
}
.course_detail .item div.course span.small {
	vertical-align: text-top;
	font-size: 11px;
}
.course_detail .item div.course h4 {
	display: inline;
	font-size: 15px;
	font-weight: bold;
}
.course_detail .item li {
	width: 100%;
	margin: 4px 0 4px 0;
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.25;
}
.course_detail .item li span.address,
.course_detail .item li span.period,
.course_detail .item li span.times {
	white-space: nowrap;
}
.course_detail .item li .genre {
	display: inline-block;
	margin: 0 0 4px 0;
	border:1px solid #5B5B5B;
	border-radius: 20px;
	padding: 2px 8px;
	font-size:12px;
}
.course_detail .item li .shop {
	display: inline-block;
	margin: 0 0 4px 0;
	padding: 1px 8px;
	font-size:14px;
}
.course_detail .item li.shop,
.course_detail .item li.address,
.course_detail .item li.period,
.course_detail .item li.times {
	width: 100%;
	position: relative;
	margin: 4px 0 4px 26px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.25;
}
.course_detail .item li.shop:before,
.course_detail .item li.address:before,
.course_detail .item li.period:before,
.course_detail .item li.times:before {
	content: "";
	background-size: 18px 18px;
	position: absolute;
	width: 18px;
	height: 18px;
	left: 0;
	top: 50%;
	margin-top: -9px;
	margin-left: -26px;
}
.course_detail .item li.shop:before {
	background-image: url("/assets/fontawesome/svgs/solid/store.svg");
}
.course_detail .item li.address:before {
	background-image: url("/assets/fontawesome/svgs/solid/map-marker-alt.svg");
}
.course_detail .item li.period:before {
	background-image: url("/assets/fontawesome/svgs/regular/clock.svg");
}
.course_detail .item li.times:before {
	background-image: url("/assets/fontawesome/svgs/solid/user.svg");
}
.course_detail .item ul.catalog {
	display: block;
	margin: 0 0 8px;
}
.course_detail .item ul.catalog li {
	display: block;
	width: auto;
	min-width: 80px;
	float: left;
	margin: 8px 12px 0px 0px;
	border: 1px solid #808080;
	border-radius: 32px;
	padding: 4px 16px;
	font-size: 12px;
	font-weight: normal;
	color: #000000;
	background: #d0d0d0;
	text-align: center;
	white-space: nowrap;
}
.course_detail .item ul.catalog:after {
	content: '';
	display: block;
	clear: both;
}
.course_detail .item .button {
	display: inline-block;
	margin: 0;
	border: 1px solid #da5c53;
	border-radius: 30px;
	padding: 4px 30px;
	font-size: 14px;
	font-weight: normal;
	line-height: 1.25;
	color: #da5c53;
	background: #ffffff;
	text-align: center;
}


/* タブレット・スマホ共通の設定（スマホ用の設定を記述、ただしタブレットに適用したくない場合はスマホ専用欄に記述） */
@media print, screen and (max-width: 1199px) { 
	.sub_wrap{
		border-top:none;
	}
	.out{
		margin:0 auto;
	}
	.main_content{
		width:100%;
	}
	#catalog_outer{
		display:block;
		padding: 0 0 40px;
	}
	.catalog_section{
		display:block;
		margin: 0;
	}
	.catalog_img{
		width: 100vw;
  		position: relative;
  		left: 50%;
  		right: 50%;
  		margin-left: -50vw;
  		margin-right: -50vw;
	}
	.catalog_info{
		width:100%;
	}
	.catalog_info h2{
		margin:10px 0;
	}
	
	.catalog_info .option select{
		padding:6px 20px 8px;
		width:100%;
	}
	.catalog_info .buy{
		display:flex;
		align-items:center;
		justify-content: space-between;
		margin:0 0 20px;
		width:100%;
	}
	.catalog_info input[type="number"]{
		border:solid 1px #ccc;
		padding:6px 2px 6px 20px;
		width:20vw;
	}
	.catalog_info .buy .buy_btn a{
		display:block;
		background-color:#2CA6E0;
		color:#FFF;
		border-radius:6px;
		width:66vw;
		text-align:center;
		padding:10px 0;
	}


	/* カタログ詳細 */
	.catalog_inf{
		margin-bottom:8vw;
		font-size: 1.8vw;
	}
	.catalog_inf > figure img{
//		margin-top:-2.7vw;
	}
	.catalog_inf .catalog_info_txt{
		padding:4vw 6vw 0 0;
	}
	.catalog_inf .catalog_info_txt .type{
		font-size:2vw;
	}
	.catalog_inf .catalog_info_txt .price{
		font-size:2.8vw;
	}
	.catalog_inf .catalog_info_txt .price span{
		font-size:1.8vw;
	}
	.catalog_inf .catalog_info_txt .txt{
		margin-bottom:3vw;
	}
	.catalog_inf .catalog_info_txt .txt.sp_none{
		display: block !important;
	}
	.catalog_inf .catalog_info_txt .txt.pc_none{
		display: none !important;
	}
	.catalog_inf .catalog_info_txt button{
		width: 66%;
		margin-bottom: 2vw;
		border: 0;
		padding: 1.5vw 0;
		font-size: 2vw;
		font-weight: bold;
	}
	.catalog_inf .catalog_info_txt button.sp_none{
		display: flex !important;
	}
	.catalog_inf .catalog_info_txt button.pc_none{
		display: none !important;
	}
	.catalog_inf .catalog_info_txt button img{
		width: 10%;
		margin-right:1vw;
	}
	.catalog_inf .catalog_info_txt .supple{
		margin-bottom:0.5vw;
	}
	.catalog_inf .catalog_info_txt .supple.sp_none{
		display: block !important;
	}
	.catalog_inf .catalog_info_txt .supple.pc_none{
		display: none !important;
	}
	.catalog_inf .catalog_info_txt .delivery{
	}
	.catalog_inf .catalog_info_txt .delivery figure{
	}
	.catalog_inf .catalog_info_txt .delivery figure img{
	}
	.catalog_inf .catalog_info_txt .delivery .date{
		padding-top:0.5vw;
	}
	.catalog_inf .catalog_info_txt .delivery .date span{
		font-size:2.8vw;
	}


	.catalog_tab {
		margin: 0 0 11vw;
	}
	.catalog_tab ul li span.active {
		margin: 0 2vw 0 0;
		border: 0;
		border-radius: 1.5vw 1.5vw 0 0;
		padding: 2vw 3vw 0;
		font-size: 4vw;
		font-style: normal;
	}
	.catalog_tab ul li span.active:after {
		margin-left: -2.5vw;
		border: 2.5vw solid transparent;
		border-top: 2.5vw solid #444;
	}
	.catalog_tab ul li a {
		margin: 0 2vw 0 0;
		border: 0;
		border-radius: 1.5vw 1.5vw 0 0;
		padding: 2vw 3vw 0;
		font-size: 4vw;
		font-style: normal;
	}


	.course_list{
		width:100%;
		margin:0 0 5.5vw;
	}
	.course_list h3{
		font-size:5.5vw;
		font-weight:bold;
		margin:0 0 5.5vw;
	}
	.course_list h3 span{
		margin-left:5.5vw;
		font-size:4.4vw;
		font-weight:normal;
	}
	.course_list ul li{
		width:48%;
		margin:0 0 20px;
		font-size:12px;
	
	}
	.course_list ul li a{
		width:100%;
	}

	.pagenavi {
		font-size:2.75vw;
		margin:6.875vw 0;
	}
	.pagenavi .page_count p {
		font-size:3.025vw;
	}
	.pagenavi ul.pageNav {
		display:flex;
		justify-content:space-between;
		margin: 0 0 2.75vw;
		padding: 2.2vw 0;
		/*background: #f3f3f3;*/
		text-align: center;
	}
	.pagenavi ul.pageNav li {
		width:100%;
		display: none;
		margin: 0;
		padding: 0;
	}
	.pagenavi ul.pageNav li.prevSP,.pagenavi ul.pageNav li.nextSP {
		display: block;
	}
	
	.pagenavi ul.pageNav li a,.pagenavi ul.pageNav li p {
		display: inline-block;
		width:95%;
		padding: 2.2vw 2.75vw;
		background: #fff;
		font-size:4.4vw;
		border: 1px solid #ccc;
		vertical-align: middle;
		text-decoration: none;
	}


	.course_detail{
		margin:0 0 13.75vw;
	}
	.course_detail h3{
		font-size:4.95vw;
		font-weight:bold;
		margin:0 0 5.5vw;
	}
	.course_detail .nothing{
		margin: 16.5vw 0;
	}
	.course_detail .course_inner{
		flex-flow: column;
	}
	.course_detail .course_inner::after{
	  content:"";
	  display: block;
	  width: 95vw;
	}
	.course_detail .course_inner a{
		width: calc(95vw + 2px);
	}
	.course_detail .item{
		width: 95vw;
		margin: 0;
		font-size: 4vw;
	}
	.course_detail .item .image {
		width: 95vw;
		height: 56.6vw;
	}
	.course_detail .item .image figure img {
		width: 91vw;
		height: 54.6vw;
		margin: 2vw 2vw 0;
		object-fit:cover;
	}
	.course_detail .item .caption {
		left: 2vw;
		width: 91vw;
		top: 2vw;
		height: 54.6vw;
	}
	.course_detail .item .caption .left span {
		height: 6vw;
		margin: 1vw 0 0 1vw;
		padding: 1.5vw 3vw;
		font-size: 3.5vw;
	}
	.course_detail .item .text {
		padding: 2vw 2vw;
	}
	.course_detail .item p.shop {
		margin: 0 0 2vw;
	}
	.course_detail .item div.course span.small {
		font-size: 3vw;
	}
	.course_detail .item div.course h4 {
		font-size: 4.5vw;
	}
	.course_detail .item li {
		margin: 1vw 0 1vw 0;
		font-size: 4vw;
	}
	.course_detail .item ul.catalog {
		margin: 0 0 2vw;
	}
	.course_detail .item ul.catalog li {
		min-width: 20vw;
		margin: 2vw 3vw 0px 0px;
		padding: 1vw 4vw;
		font-size: 3.5vw;
	}
}


/* スマホ専用の設定（スマホ用の設定の内でタブレットに適用したくない設定） */
@media screen and (max-width: 800px) { 
	/* カタログ詳細 */
	.catalog_inf{
		flex-wrap:wrap;
		margin-bottom:11vw;
		font-size: 3.85vw;
	}
	.catalog_inf figure{
		width:100%;
	}
	.catalog_inf figure img{
		width:100%;
	}
	.catalog_inf > figure img{
		margin-top:0;
	}
	.catalog_inf .catalog_info_txt{
		width:90%;
		padding:0;
		margin:auto;
	}
	.catalog_inf .catalog_info_txt .type{
		font-size:4.4vw;
		text-align:center;
	}
	.catalog_inf .catalog_info_txt .price{
		font-size:6.6vw;
		line-height: normal;
    	margin-bottom: 5.5vw;
		text-align:center;
	}
	.catalog_inf .catalog_info_txt .price span{
		font-size:3.85vw;
	}
	.catalog_inf .catalog_info_txt .txt{
		margin-bottom:4.125vw;
	}
	.catalog_inf .catalog_info_txt .txt.sp_none{
		display: none !important;
	}
	.catalog_inf .catalog_info_txt .txt.pc_none{
		display: block !important;
	}
	.catalog_inf .catalog_info_txt button{
		width: 100%;
		margin-bottom: 8.25vw;
	    border: 0;
	    padding: 2.75vw 0;
		font-size: 4.4vw;
		letter-spacing: 1px;
	}
	.catalog_inf .catalog_info_txt button.sp_none{
		display: none !important;
	}
	.catalog_inf .catalog_info_txt button.pc_none{
		display: flex !important;
	}
	.catalog_inf .catalog_info_txt button img{
		width: 10%;
		margin-right:2.75vw;
	}
	.catalog_inf .catalog_info_txt .supple{
		text-align:center;
		font-weight:bold;
		margin-bottom:1.375vw;
	}
	.catalog_inf .catalog_info_txt .supple.sp_none{
		display: none !important;
	}
	.catalog_inf .catalog_info_txt .supple.pc_none{
		display: block !important;
	}
	.catalog_inf .catalog_info_txt .delivery{
		display: flex;
		width:100%;
		background-color:#FFF;
		border:1px solid #8e8d8d;
		padding:1.375vw 0;
		margin-bottom:2.75vw;
	}
	.catalog_inf .catalog_info_txt .delivery figure{
		width:19.25vw;
		text-align:center;
	}
	.catalog_inf .catalog_info_txt .delivery figure img{
		width:70%;
	}
	.catalog_inf .catalog_info_txt .delivery .date{
	    line-height:1.5;
		padding-top:1.375vw;
	}
	.catalog_inf .catalog_info_txt .delivery .date span{
		width:100%;
		font-size:5.5vw;
		line-height:normal;
	}
}
