/*----------------------------------------------------------------------*/
/*------------------------------ sp-start ------------------------------*/
/*----------------------------------------------------------------------*/
@media(max-width:768px){
	/*-----------------------------------------------*/
	/*-------------------- color --------------------*/
	/*-----------------------------------------------*/
	@white: #ffffff;
	@black: #191919;
	@l_black: #333333;
	@gray: #c6c6c6;
	@l_gray: #eeeeee;
	@d_gray: #afafaf;
	@dd_gray: #777777;
	@bg_gray: #DDDDDD;
	@l_red: #ffcfcf;
	@red: #CC1E1E;
	@d_red: #FF0000;
	@yellow: #f9f40c;
	@l_yellow: #ffe6b5;
	@d_yellow: #bb8210;
	@l_blue: #96F0FC;
	@zalo_blue: #0068FF;
	@blue: #0285b2;
	@d_blue: #163b84;
	@dd_blue: #3B5998;
	@text_blue: #0085B2;
	@green: #59b559;
	@l_green: #d2edd2;
	@d_green: #064b66;
	@violet: #8243c4;
	@d_violet: #58278c;
	@sky: #dff7fd;
	@l_sky: #c9effb;
	@brown: #926834;
	@pink: #fdc0c0;
	@orange: #ec7c30;


	/*------------------------------------------------*/
	/*-------------------- header --------------------*/
	/*------------------------------------------------*/
	header{
		height:60px;
	}
	.header_container{
		padding:0 20px;
	}
	.header_logo{
		position:relative;
		z-index:100;
		padding-left: 0;

		a{

			img{
				width:220px;
			}
		}
	}
	.header_nav{
		flex-direction:column;
		align-items:initial;
		gap:20px;
		position:fixed;
		top:0;
		right:0;
		bottom:0;
		width:100%;
		height:auto;
		padding:100px 20px 20px;
		/* background:rgba(246, 84, 155, 0.9); */
		background-color:@white;
		box-sizing:border-box;
		overflow:auto;
		opacity:0;
		visibility:hidden;
		transform:translateX(100%);
		z-index:20;
	
		> a{
			padding-bottom:2px;
			font-size:16px;
			border-bottom:1px solid @white;
		}
		.sns{
			display:flex;
			justify-content:center;
			gap:10px;
			
			a{
				display:flex;
				justify-content:center;
				align-items:center;
				width:30px;
				height:30px;
				font-size:20px;
				color:@pink;
				background-color:@white;
				border-radius:50%;
			}
		}
		.contact{
			text-align: center;
		}
	}
	/*---------- header > mobile用 ----------*/
	.header_mobile{
		display:flex;
		align-items:center;
		gap:20px;
		height:100%;
	}
	.header_hamburger{
		display:block;
		position:relative;
		width:40px;
		height:20px;
		margin-bottom:1px;
		cursor:pointer;
		z-index:100;

		span{
			position:absolute;
			left:0;
			width:100%;
			height:1px;
			background-color:@black;
			animation-duration:0.3s;
			animation-iteration-count:1;
			animation-timing-function:linear;
		}
		span.top{
			top:0;
			transform:rotate(0deg);
		}
		span.middle{
			top:50%;
			transform:rotate(0deg);
		}
		span.bottom{
			top:100%;
			transform:rotate(0deg);
		}
	}
	/*---------- mobile-nav > open ----------*/
	body.nav_open{
		overflow:hidden;

		.header_nav{
			opacity:1;
			visibility:visible;
			transform:translateX(0);
		}
		.header_hamburger{
			span.top{
				top:50%;
				transform:rotate(30deg);
			}
			span.middle{
				opacity:0;
			}
			span.bottom{
				top:50%;
				transform:rotate(-30deg);
			}
		}
	}
	/*---------- hamburger-animation ----------*/
	@keyframes nav_open_top{
		0%{
			top:0;
			transform:rotate(0deg);
		}
		50%{
			top:50%;
			transform:rotate(0deg);
		}
		100%{
			top:50%;
			transform:rotate(30deg);
		}
	}
	@keyframes nav_open_middle{
		0%{
			opacity:1;
		}
		50%{
			opacity:0;
		}
		100%{
			opacity:0;
		}
	}
	@keyframes nav_open_bottom{
		0%{
			top:100%;
			transform:rotate(0deg);
		}
		50%{
			top:50%;
			transform:rotate(0deg);
		}
		100%{
			top:50%;
			transform:rotate(-30deg);
		}
	}
	@keyframes nav_close_top{
		0%{
			top:50%;
			transform:rotate(30deg);
		}
		50%{
			top:50%;
			transform:rotate(0deg);
		}
		100%{
			top:0;
			transform:rotate(0deg);
		}
	}
	@keyframes nav_close_middle{
		0%{
			opacity:0;
		}
		50%{
			opacity:0;
		}
		100%{
			opacity:1;
		}
	}
	@keyframes nav_close_bottom{
		0%{
			top:50%;
			transform:rotate(-30deg);
		}
		50%{
			top:50%;
			transform:rotate(0deg);
		}
		100%{
			top:100%;
			transform:rotate(0deg);
		}
	}


	/*------------------------------------------------*/
	/*-------------------- footer --------------------*/
	/*------------------------------------------------*/
	.footer_special .footer_links .contact_link_note {
		height:39px;
		font-size: 16px;
	}
	.footer_special .footer_links .footer_link_list .link_button {
		height: 40px;
	}
	.footer_special .footer_links .footer_link_list .link_button img {
		width: 20px;
	}

	/*---------------------------------------------*/
	/*-------------------- top --------------------*/
	/*---------------------------------------------*/

	/*------------------old code-------------------*/
	.mv_title{
		h1{
			left:20px;
			font-size:26px;
		}
	}
	.mv_section{
		padding:100px 0;
	}
	.mv_wrap{
		padding:0 20px;
	}
	.mv_container{
		grid-template-columns:1fr;
		gap:20px;
		margin-bottom:50px;
		
		.box{
			margin-top:20px;
			padding:0 20px 20px;
			
			&:before{
				top:20px;
			}
			.img{
				height:250px;
			}
			h2{
				font-size:18px;
			}
			p{
				margin-top:10px;
				font-size:14px;
			}
		}
	}
	.mv_banner{
		gap:20px;
	}

	.t_about_container{
		grid-template-columns:1fr;
	
		.img{
			height:250px;
		}
		.box{
			padding:50px 20px;
	
			.title{
				margin-bottom:20px;
	
				h2{
					padding:0 30px;
					font-size:20px;
		
					&:before{
						width:20px;
						height:20px;
					}
					&:after{
						width:20px;
						height:20px;
					}
				}
			}
			p{
				font-size:14px;
			}
			.link{
				margin-top:50px;
	
				a{
					width:100%;
					max-width:300px;
					font-size:14px;
				}
			}
		}
	}

	.t_slick_section{
		padding:100px 0;
	}
	.t_slick_container{
		.title{
			margin-bottom:50px;
	
			h2{
				padding:0 30px;
				font-size:20px;
	
				&:before{
					width:20px;
					height:20px;
				}
				&:after{
					width:20px;
					height:20px;
				}
			}
		}
		/*---------- コーチ・選手紹介 ----------*/
		.slick_member{
			.box{
				padding:0 20px;
		
				.img{
					margin-bottom:20px;
				}
				p{
					font-size:20px;
				}
			}
		}
		/*---------- ブログ ----------*/
		.slick_blog{
			.box{
				padding:0 20px;
	
				.img{
					height:200px;
					margin-bottom:10px;
				}
				time{
					font-size:12px;
				}
				h3{
					font-size:14px;
				}
			}
		}
		.slick-dotted.slick-slider{
			margin-bottom:80px;
		}
		.slick-dots{
			bottom:-45px;

			li{
				width:10px;
				height:10px;
				margin:0 6px;

				button{
					width:10px;
					height:10px;
					border-radius:50%;
				}
			}
		}
		.link{
			margin-top:50px;
	
			a{
				width:100%;
				max-width:300px;
				font-size:14px;
			}
		}
	}

	.t_gallery_section{
		position:relative;
		padding:100px 0;
		background-position:center;
		background-size:cover;

		&:before{
			content:'';
			position:absolute;
			top:0;
			left:0;
			width:100%;
			height:100%;
			background:rgba(255, 255, 255, 0.8);
			z-index:1;
		}
	}
	.t_gallery_wrap{
		position:relative;
		padding:0 20px;
		z-index:2;

		.box{
			width:auto;
			padding-right:0;
			
			.title{
				justify-content:center;
				margin-bottom:50px;
	
				h2{
					padding:0 30px;
					font-size:20px;
		
					&:before{
						width:20px;
						height:20px;
					}
					&:after{
						content:'';
						position:absolute;
						top:50%;
						right:0;
						transform:translateY(-50%);
						width:20px;
						height:20px;
						background-image:url('/images2/flower_icon.svg');
						background-position:center;
						background-repeat:no-repeat;
						background-size:cover;
					}
				}
			}
			p{
				font-size:14px;
			}
			.link{
				display:flex;
				justify-content:center;
				margin-top:50px;
		
				a{
					width:100%;
					max-width:300px;
					font-size:14px;
				}
			}
		}
	}

	.t_lesson_section{
		padding:100px 0;
	}
	.t_lesson_wrap{
		padding:0 20px;
	}
	.t_lesson_container{
		grid-template-columns:1fr;
		gap:20px;
	
		.box{
			padding:20px;
			
			.title{
				justify-content:center;
				margin-bottom:20px;
	
				h2{
					padding:0 30px;
					font-size:20px;
		
					&:before{
						width:20px;
						height:20px;
					}
					&:after{
						content:'';
						position:absolute;
						top:50%;
						right:0;
						transform:translateY(-50%);
						width:20px;
						height:20px;
						background-image:url('/images2/flower_icon.svg');
						background-position:center;
						background-repeat:no-repeat;
						background-size:cover;
					}
				}
			}
			.text{
				dl{
					dt{
						font-size:14px;
					}
					dd{
						font-size:14px;
					}
				}
			}
		}
	}
	.t_lesson_link{
		margin-top:20px;
	
		a{
			width:100%;
			max-width:400px;
			padding:15px 10px;
			font-size:14px;
		}
	}

	/*---------- new code ----------*/
	.main_wrap {
		padding-top: 60px;
	}
	.kv_contents .kv_title .title {
		font-size: 30px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	.kv_contents .kv_title .detail {
		font-size: 22px;
	}
	.kv_contents .kv_title .u_title_note{
		font-size: 18px;
	}
	.kv_contents .kv_title {
		position: relative;
		top: unset;
		transform: unset;
		left: unset;
		text-align: center;
		padding-top: 50px;
	}
	.kv_section {
		/* margin-bottom: 50px; */
		background-size: cover;
	}
	.kv_contents {
		padding: 30px 0;
		flex-direction: column;
		align-items: center;
	}
	.kv_contents .kv_img {
		max-width: 300px;
	}
	.lp_page{
		padding-bottom:30px;
	}
	.lp_page .lp_section_1 .lp_section_content .title {
		/* font-size: 30px; */
		font-size:25px;
	}
	.lp_page .lp_section_1 .lp_section_content .title span {
		font-size: 55px;
	}
	.lp_page .lp_section_1 .lp_section_content .detail {
		font-size: 16px;
		gap: 0;
		flex-direction: column-reverse;
		align-items: center;
	}
	.lp_page .lp_section_1 .lp_section_content .detail .img_box {
		width: 250px;
	}
	.lp_page .lp_section_1 .lp_section_content .detail .text_box {
		width: 100%;
		padding-top: 30px;
		line-height: 26px;
	}
	.lp_page .lp_section_1 .lp_section_content .detail .text_box .blue_text {
		/* font-size: 25px; */
		font-size: 22px;
		margin-bottom: 20px;
	}
	.lp_page .lp_section_1 {
		margin-top: 50px;
	}

	.lp_page .lp_section_2 .lp_section_content .title {
		font-size: 20px;
		margin-bottom: 30px;
	}
	.lp_page .lp_section_2 .lp_section_content {
		/* padding: 30px 10px; */
		padding: 10px;
		border-radius: 20px;
	}
	.lp_page .lp_section_2 .lp_section_content .detail .contnent_box {
		width: 100%;
		padding: 25px 20px;
		border-radius: 20px;
		gap:10px;
	}
	.lp_page .lp_section_2 .lp_section_content .detail {
		flex-direction: column;
		gap: 30px;
		align-items: center;
	}
	.lp_page .lp_section_2 .lp_section_content .detail .detail_arrow {
		max-width: 60px;
		transform: rotate(90deg);
	}
	.lp_page .lp_section_2 .lp_section_content .detail .contnent_box .content {
		font-size: 14px;
		height:unset;
	}
	.lp_page .lp_section_2 .lp_section_content .detail .contnent_box .content img {
		width: 30px;
	}
	.lp_page .lp_section_2 {
		margin-top: 50px;
	}
	.lp_page .lp_section_2 .lp_section_content .detail .detail_arrow_box .detail_arrow {
		max-width: 60px;
	}
	.lp_page .lp_section_3 .lp_section_content .title {
		gap: 10px;
		margin-bottom: 50px;
		/* flex-direction: column; */
	}

	.lp_page .lp_section_3 .lp_section_content .title .img_box{
		max-width: 100px;
	}
	.lp_page .lp_section_3 .lp_section_content .title h3 {
		max-width: unset;
		width: 100%;
		/* font-size: 20px; */
		font-size: 14px;
	}
	.lp_page .lp_section_3 .lp_section_content .title h3 .spe_text {
		/* font-size: 25px; */
		font-size: 16px;
	}
	.lp_page .lp_section_3 .lp_section_content .title h3 .small_text {
		font-size: 14px;
	}
	.lp_page .lp_section_3 .lp_section_content .title h3 .blue_text {
		font-size: 14px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box .poster_tex_box {
		left: 10px;
		top: 20px;
		font-size: 16px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box .poster_tex_line_2 {
		margin-left: 20px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box h4 {
		font-size: 30px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box .note_text p {
		font-size: 14px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box .note_text .spe_text {
		font-size: 20px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box .note_text {
		border-radius: 10px;
		height: 90px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box {
		padding: 100px 0 120px;
		border-radius: 20px;
	}
	.lp_page .lp_section_3 .lp_section_content .detail .contnent_box .poster_tex::after {
		height: 5px;
	}
	.lp_page .lp_section_3 {
		margin-top: 50px;
	}
	.lp_page .lp_section_4 .lp_section_content .detail {
		gap: 20px;
		margin-bottom: 30px;
		flex-direction: column;
	}
	.lp_page .lp_section_4 .lp_section_content .title {
		font-size: 20px;
		margin-bottom: 30px;
	}
	.lp_page .lp_section_4 .lp_section_content {
		padding: 30px 10px;
		border-radius: 20px;
	}
	.lp_page .lp_section_4 .lp_section_content .detail .contnent_box {
		max-width: unset;
		padding: 20px;
		border-radius: 10px;
	}
	.lp_page .lp_section_4 .lp_section_content .section_content_link a {
		padding: 10px 29px;
		font-size: 18px;
	}
	.lp_page .lp_section_4 {
		margin-top: 50px;
	}
	.lp_page .lp_section_4 .lp_section_content .detail .contnent_box .title_box {
		height: 50px;
		font-size: 20px;
		margin-bottom: 8px;
	}
	.lp_page .lp_section_4 .lp_section_content .detail .contnent_box .content_box {
		font-size: 14px;
		line-height: 25px;
	}
	.lp_page .lp_section_5 {
		grid-template-columns: 1fr;
		margin-bottom: 0;
		margin-top: 50px;
	}
	.lp_page .lp_section_5 .common_column .img {
		height: 250px;
	}
	.lp_page .lp_section_5 .common_column .text h2 {
		font-size: 25px;
	}
	.lp_page .lp_section_5 .common_column .text p {
		font-size: 14px;
		line-height: 1.6;
	}
	.banner_contents{
		padding: 0;
        margin-top: 50px;

		a{
			img{
			box-shadow:0 0 8px #333;
			}
		}
	}


	/*---------- sub-page ----------*/
	.page_mv_section{
		height:250px;
	}
	.page_mv_wrap{
		h1{
			.en{
				font-size:16px;
			}
			.ja{
				font-size:28px;
			}
		}
	}

	.page_wrap{
		padding:50px 0;
	}
	.page_container{
		gap:20px;
	}
	.page_box{
		grid-template-columns:1fr;
		gap:40px;

		.img{
			height:200px;
			order:2;
		}
		.text{
			order:1;

			h2{
				margin-bottom:20px;
				font-size:20px;
				text-align:center;

				&:before{
					left:50%;
					transform:translateX(-50%);
				}
			}
			p{
				font-size:14px;
			}
			.link{
				justify-content:center;
				margin-top:30px;
	
				a{
					width:300px;
					padding:15px 0;
					font-size:14px;
					text-align:center;
					color:@white;
					background-color:@pink;
					border-radius:30px;
				}
			}
		}
	}

	/*---------- about ----------*/
	.about_container{
		grid-template-columns:1fr;
	}
	.about_column{
		.box{
			padding:50px 20px;

			h2{
				margin-bottom:20px;
				padding:50px 0 10px;
				font-size:20px;
	
				&:after{
					width:100px;
				}
			}
			p{
				font-size:14px;
			}
		}
	}

	/*---------- member ----------*/
	.member_container{
		grid-template-columns:1fr;
		gap:30px;
	}
	.member_column{
		position:relative;

		.box{
			.img{
				height:auto;
			}
		}
	}

	/*---------- blog ----------*/
	.blog_tag{
		margin-bottom:30px;
		font-size:14px;
	}
	.blog_container{
		grid-template-columns:1fr;
		gap:30px;
	}
	.blog_column{
		.box{
			.img{
				height:200px;
			}
		}
	}
	.pagination{
		li{
			a, span{
				padding:5px 10px;
				font-size:12px
			}
		}
	}

	/*---------- blog-article ----------*/
	.article_mv{
		height:250px;
	}
	.article_wrap{
		padding:50px 20px;
	}
	.article_header{
		/* margin-bottom:20px;
		padding-bottom:20px; */
		
		time{
			font-size:12px;
		}
		h1{
			font-size:20px;
		}
		ul{
			gap:5px 10px;

			li{
				a{
					font-size:12px;
				}
			}
		}
	}
	.article_body{
		gap:20px;
	}
	.article_row{
		gap:20px;

		&.col2{
			grid-template-columns:1fr;
		}
		.box{
			h2{
				padding:5px 0 5px 10px;
				font-size:22px;
			}
			h3{
				padding:3px 0 3px 10px;
				font-size:18px;
			}
			p{
				font-size:14px;
			}
			a{
				font-size:14px;
			}
			.img{
				max-height:400px;
			}
			iframe{
				height:200px;
			}
			hr{
				/* margin:20px 0; */
			}
			table{
				td{
					font-size:14px;
				}
			}
		}
	}
	.article_footer{
		a{
			width:100%;
			max-width:300px;
			font-size:14px;
		}
	}
	.article_related{
		h2{
			font-size:16px;
		}
		ul{
			gap:10px;

			li{
				padding-bottom:10px;
				
				a{
					grid-template-columns:80px 1fr;
					gap:10px;

					.img{
						height:80px;
					}
					.text{
						time{
							font-size:10px;
						}
						h3{
							font-size:12px;
						}
					}
				}
			}
		}
	}

	/*---------------------------------------------*/
	/*------------------ contact ------------------*/
	/*---------------------------------------------*/
	.contact_page .contact_form .card_contact_form .row .col_2 {
		grid-template-columns: 1fr;
		margin-bottom: 20px;
		gap: 5px;
	}
	.contact_page .contact_form .card_contact_form .form_title h2 {
		font-size: 22px;
	}
	.contact_page .contact_form .card_contact_form .form_title {
		margin-bottom: 50px;
	}
	.contact_page .contact_form {
		font-size: 16px;
	}
	.contact_page .contact_form .card_contact_form .row .col_2 input {
		padding: 5px 15px;
		font-size: 16px;
	}
	.contact_page .contact_form .card_contact_form .checkbox_list {
		gap: 15px;
	}
	.contact_page .contact_form .card_contact_form #other_reason {
		padding: 5px 15px;
		font-size: 16px;
	}
	.contact_page .contact_form .card_contact_form #timeframe {
		padding: 5px 15px;
		font-size: 16px;
	}
	.contact_page .contact_form .card_contact_form .form_content {
		margin-bottom: 60px;
	}
	.contact_page .contact_form .card_contact_form .actions a {
		font-size: 18px;
		padding: 7px 30px;
	}
	.contact_page .contact_form .card_contact_form .contact_thanks_form h2 {
		font-size: 20px;
		margin-bottom: 30px;
	}
	.contact_page .contact_form .card_contact_form .contact_thanks_form p {
		font-size: 16px;
	}
	.contact_page {
		padding-bottom: 30px;
	}

	/*---------------------------------------------*/
	/*------------------ company ------------------*/
	/*---------------------------------------------*/
	.company_page .page_content .text_img_style {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 50px;
	}
	.company_page .page_content .text_img_style .text_box .title {
		font-size: 20px;
		margin-bottom: 15px;
	}
	.company_page .page_content {
		font-size: 16px;
	}
	.company_page .page_content .text_img_style .text_box .note h4 {
		font-size: 16px;
	}
	.company_page .page_content .text_img_style .text_box .note {
		margin-top: 20px;
	}
	.company_page .page_content .text_img_style .text_box p {
		margin-bottom: 15px;
	}
	.company_page .page_content .img_style p {
		margin-top: 10px;
	}
	.company_page .page_content .img_style {
		font-size: 14px;
		margin-bottom: 30px;
	}
	.company_page .page_content .table_style table tr {
		display: flex;
		flex-direction: column;
	}
	.company_page .page_content .table_style table tr th {
		text-align: left;
	}
	.company_page .page_content .table_style table tr th,
	.company_page .page_content .table_style table tr td
	 {
		border-bottom: unset;
	}
	.company_page .page_content .table_style table tr:last-child td {
		border-bottom: 2px solid @l_gray;
	}
	.company_page .page_content .table_style table .flex_box .address_box {
		gap: 5px;
		align-items: flex-start;
		flex-direction: column;
	}
	.company_page .page_content .table_style table .flex_box {
		flex-direction: column;
		gap: 20px;
	}

	/*---------------------------------------------*/
	/*-------------------- faq --------------------*/
	/*---------------------------------------------*/
	.faq_page .page_content .content_container .faq_select_section {
		grid-template-columns: repeat(1, 1fr);
		margin-bottom: 30px;
		padding: 10px 0;
	}
	.faq_page .page_content .content_container .sticky_section {
		top: 60px;
	}
	.faq_page .page_content .content_container .faq_select_section a {
		height: 45px;
		font-size: 16px;
		border-radius: 7px;
	}
	.faq_page .page_content .content_container .que_ans_content .que_ans_title h2 {
		font-size: 20px;
	}
	.faq_page .page_content .content_container .que_ans_content .que_ans_lists .que_ans_box dl dt {
		font-size: 22px;
	}
	.faq_page .page_content .content_container .que_ans_content .que_ans_lists .que_ans_box dl {
		grid-gap: 10px;
		margin: 0;
		padding: 10px 30px 10px 10px;
		font-size: 14px;
	}
	.faq_page .page_content .content_container .que_ans_content .que_ans_lists .que_ans_box .que_box:before {
		right: 10px;
	}
	.faq_page .page_content .content_container .que_ans_content {
		scroll-margin-top: 180px;
		margin-bottom: 50px;
	}



	.breadcrumbs{
		display:none;
	}

	/*-------------------- product --------------------*/
	.product_kv{
		height:250px;
		padding:0 20px;

		h1{
			font-size:28px;
		}
		p{
			font-size:14px;
		}
	}
	.product_section{
		padding:50px 0;
	}
	.product_title{
		h2{
			font-size:24px;
		}
		p{
			font-size:14px;
		}
	}
	.product_text{
		p{
			font-size:14px;
		}
	}
	.product_container{
		grid-template-columns:1fr;
		
		.box{
			.img{
				height:250px;
			}
			h3{
				font-size:16px;
			}
			p{
				margin-bottom:20px;
				font-size:14px;
			}
			.link{
				padding:15px 0;
				font-size:14px;
			}
		}
	}

	.pd_headline{
		&:before{
			height:60px;
		}
		h2{
			font-size:28px;
			
			span{
				font-size:32px;
			}
		}
	}

	.pd_section_1{
		padding-bottom:50px;
	
		.container{
			grid-template-columns:1fr;
			gap:20px;
	
			&.half{
				grid-template-columns:1fr;
			}
			.box{
				.headline{
					.label{
						span{
							height:30px;
							font-size:12px;
							
							&:after{
								right:-15px;
								border-right:15px solid transparent;
								border-bottom:30px solid @red;
							}
						}
					}
					p{
						font-size:14px;
					}
					h2{
						font-size:20px;
					}
				}
				.icon{
					justify-content:flex-start;

					img{
						width:60px;
					}
				}
				.text{
					font-size:14px;
				}
				table{
					th{
						padding:10px;
						font-size:16px;
					}
					td{
						padding:10px;
						font-size:16px;
					}
				}
			}
		}
	}

	.pd_section_2{
		margin-bottom:50px;
		padding:50px 0;
	}

	.pd_section_3{
		padding-bottom:50px;
	
		.container{
			/* gap:20px; */

			.row{
				grid-template-columns:1fr;
				gap:20px;
	
				&.mb_gap{
					gap:50px;
				}
				.box{
					.title{
						margin-bottom:20px;

						img{
							width:50px;
						}
						h2{
							font-size:16px;
						}
					}
					.adjust{
						padding-left:0;

						h3{
							font-size:16px;
						}
						p{
							font-size:14px;
						}
					}
				}
				.img{
					h3{
						font-size:16px;
					}
				}
				.flex{
					grid-template-columns:1fr;
					gap:20px;
					margin-top:20px;
	
					&.col3{
						grid-template-columns:1fr;
					}
					.flex_box{
						p{
							font-size:14px;
						}
					}
				}
				.link{
					margin-top:20px;
	
					a{
						padding:20px 30px;
						font-size:16px;
					}
				}
				.notes{
					margin-top:20px;

					dl{
						grid-template-columns:1fr;
						gap:5px;
		
						dt{
							font-size:16px;
						}
						dd{
							p{
								margin-bottom:5px;
								padding-left:12px;
								font-size:14px;
							}
						}
					}
				}
				.faq{
					gap:20px;
	
					dl{
						gap:10px;
	
						dt{
							grid-template-columns:20px 1fr;
							gap:20px;
							font-size:14px;
							
							span{
								font-size:16px;
							}
						}
						dd{
							padding:10px;
							font-size:14px;
						}
					}
				}
				.sub_text{
					margin-top:20px;

					h3{
						font-size:18px;
					}
					p{
						font-size:14px;
					}
				}
				.option{
					ul{
						li{
							h2{
								font-size:16px;
							}
							h3{
								font-size:14px;
							}
							.text{
								p{
									padding-left:12px;
									font-size:14px;
								}
							}
						}
					}
				}
			}
		}
	}

	.pd_section_4{
		padding-bottom:50px;
	
		.pd_type{
			margin-bottom:20px;

			p{
				padding:10px 30px;
				font-size:16px;
			}
		}
		.container{
			grid-template-columns:1fr;
			gap:20px;
	
			.box{
				h2{
					margin-bottom:20px;
					font-size:20px;
				}
				p{
					font-size:14px;
				}
			}
		}
		.table{
			margin-top:20px;
	
			table{
				tr{
					th{
						padding:10px;
						font-size:12px;
					}
					td{
						padding:10px;
						font-size:12px;
					}
				}
			}
			.notes{
				p{
					padding-left:12px;
					font-size:14px;
				}
			}
		}
		.link{
			gap:10px;
			margin-top:20px;
	
			a{
				padding:20px 30px;
				font-size:16px;
				box-sizing:border-box;
			}
		}
	}

	.pd_section_5{
		padding-bottom:50px;
	
		.headline{
			margin-bottom:20px;
	
			h2{
				font-size:20px;
			}
		}
		.link{
			gap:10px;
			margin-top:20px;
	
			a{
				padding:20px 30px;
				font-size:16px;
				box-sizing:border-box;
				
				&.white{
					font-size:16px;
				}
			}
		}
	}

/*---------------------------------------------*/
/*---------------- case page ------------------*/
/*---------------------------------------------*/
.case_page .page_content {
    font-size: 16px;
}
.case_page .page_content .content_container .poster_video .video_box .video_player {
    max-width: 100%;
}
.case_page .page_content .content_container .case_list_box {
    grid-template-columns: 1fr;
	margin-top: 20px;
    padding-bottom: 40px;
    gap: 10px;
}
a {
    min-width: 0;
}
.case_page .page_content .content_container .case_list_box .case_box .case_content_box .detail_box {
    position: relative;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    gap: 10px;
    padding: 24px 15px 0;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}
.case_page .page_content .content_container .case_list_box .case_box .case_content_box .img_box .tag_list .tag {
    font-size: 12px;
}
.case_page .page_content .content_container .case_list_box .case_box .case_content_box .detail_box .detail_title .title {
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
}

/*------------------------*/
/*---blog article page---*/
/*------------------------*/
.p_case_detail .l_ca_de_head {
    padding-top: 15px;
    padding-bottom: 15px;
}
.p_case_detail .l_ca_de_head .l_title .p_title h3 {
    font-size: 18px;
}
.p_case_detail .l_ca_de_head .l_title .p_title .u_pattern {
    width: 16px;
    height: 16px;
    margin-right: 4px;
}
.p_case_detail .l_ca_de_head .l_case_cats {
    margin-top: 4px;
    gap: 6px;
}
.p_case_detail .l_ca_de_head .l_case_cats .p_cat {
    font-size: 10px;
    padding: 4px 6px;
}
.p_case_detail .l_case_detail .p_date_note {
    margin-top: 12px;
}
.p_case_detail .l_case_detail .p_date_note .u_date {
    font-size: 14px;
}
.p_case_detail .l_case_detail .p_date_note .u_note {
    padding: 2px 0;
    font-size: 14px;
}
.p_case_detail .l_case_detail .p_links {
    margin-top: 30px;
    gap: 10px;
}
.p_case_detail .l_case_detail .p_links .p_link {
    padding: 14px 20px;
	width: 100%;
	box-sizing: border-box;
}

.article_container{
}
.blog_header{
	padding-bottom:40px;

	time{
		font-size:14px;
	}
	h1{
		font-size:24px;
	}
}
.blog_body{

	> img{
		width:100%;
		text-align:center;
		display:block;
		margin:0 auto 20px;
	}
}
.blog_container{
	display:grid;
	gap:20px;
}
.blog_row{
	display:grid;
	gap:20px;

	&.col2{
		grid-template-columns:1fr;
	}
	/* &.col3{
		grid-template-columns:1fr;
	}
	&.col4{
		grid-template-columns:1fr;
	} */
}
.blog_column{
	h2{
		padding:5px 0 5px 10px;
		font-size:22px;
	}
	h3{
		padding:3px 0 3px 10px;
		font-size:18px;
	}
	p{
		font-size:14px;
	}
	iframe{
		height:200px;
	}
	hr{
		margin:20px 0;
	}
}
.blog_footer{
	padding-top:40px;

	h2{
		font-size:18px;
	}
}
.related_container{
	gap:10px;

	a{
		flex-direction:column;
		align-items:flex-start;
		gap:3px;
		padding:10px;
		
		time{
			font-size:12px;
		}
		h3{
			font-size:14px;
		}
	}
}

.relate_area{
	.relate_item{
		border:1px solid #d34490;
		margin-bottom:15px;
		padding:0 10px 10px;

		h3{
			margin:10px 0;
		}

		.item{
			padding-right:30px;

			img{
				width:40px;
			}
		}
	}
}

/*---ブログのページ読み込み中---*/
.pager_area{
	padding-bottom:20px;
}










}