/*-----------------------------------
■ reset&common_elements property
-------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;font-weight:normal;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}ins{text-decoration:none}mark{font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;padding:0}input,select{vertical-align:middle}img{vertical-align:top;font-size:0;line-height:0}th{text-align:left}iframe{vertical-align:bottom}video{display:block}
.clearfix:after{content:"";clear:both;display:block}
ins{background-color:#ff9;color:#000}
mark{background-color:#ff9;color:#000}
hr{margin:1em 0;border-top:1px solid #ccc}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;overflow:hidden;outline:none;color:#F90}
a:hover{text-decoration:none}
body{color:#333;font-family:'メイリオ', Meiryo,'ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN',sans-serif;font-size:14px}
p{line-height:1.8em}
input,select,textarea{font-family:'メイリオ', Meiryo,'ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN',sans-serif;-webkit-appearance:none;appearance:none;outline:none;border:0}
.bold{font-weight:bold}
.relative{position:relative}
.box{-webkit-box-sizing:border-box;box-sizing:border-box}
.w_100 img{width:100%;height:auto}

.sp_h_tel,
.sp_menu_btn,
.sp_menu_container{
	display:none
}
.header_inner,
.menu_inner,
.content_inner,
.footer_up_inner,
.footer_inner{
	width:1200px;
	margin:0 auto;
}

/*-----------------------------------
■ header
-------------------------------------*/
header{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	border-top:5px solid #f90;
	background:none;
	z-index:110;
}
.header{
	position:relative;
	left:50%;
	margin-left:-712px;
	width:1312px;
	overflow:hidden;
}
.header_inner{
	width:1300px;
	margin-left:36px;
	height:74px;
	-webkit-transform:skewX(45deg);
	transform:skewX(45deg);
	background:rgba(0,0,0,.94);
}
.header_inner_box{
	position:relative;
	width:1200px;
	margin-left:76px;
	-webkit-transform:skewX(-45deg);
	transform:skewX(-45deg);
}


.h_logo{float:left}

.h_info{float:right}

.hi_tel,
.hi_menu{
	transition:transform .3s;
}
.hi_srl .hi_tel,
.hi_srl .hi_menu{
	transform:translateY(-74px);
}

.hi_tel{
	position:absolute;
	top:0;
	right:80px;
	height:74px;
}
.h_open,
.h_tel{
	display:inline-block;
	margin:28px 10px 0 0;
}

.hi_menu{
	position:absolute;
	top:74px;
	right:80px;
}
.him_up{
	text-align:right;
	padding-top:5px;
}
.him_up li{
	display:inline-block;
	margin-right:20px;
}
.him_up li a{
	position:relative;
	display:block;
	margin:10px 0
}
.him_up li a img{transition:opacity .3s}
.him_up li a .m_img_on{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}
.him_up li a:hover .m_img{opacity:0}
.him_up li a:hover .m_img_on{opacity:1}

.him_under{
	text-align:right;
	padding-top:4px;
}
.him_under li{
	display:inline-block;
	margin-right:15px;
}
.him_under li a{
	color:#333;
	font-size:13px;
	font-weight:bold;
	text-decoration:none;
	transition:color .3s;
}
.him_under li a:hover{color:#F90}

.h_line{
	position:absolute;
	top:0;
	right:0;
}

/*-----------------------------------
■ menu
-------------------------------------*/
nav{
	position:fixed;
	top:79px;
	left:0;
	width:100%;
	z-index:100;
}
.menu_up_w{
	overflow:hidden;
	margin-right:52px;
}

.menu_up{
	width:810px;
	padding-left:55px;
	margin-right:-50px;
	float:right;
	background:rgba(255,255,255,.75);
	-webkit-transform:skewX(45deg);
	transform:skewX(45deg);
}
.menu_up_inner{
	-webkit-transform:skewX(-45deg);
	transform:skewX(-45deg);
}
.menu_up li{
	margin-right:40px;
	display:inline-block;
	vertical-align:bottom;
}
.menu_up li a{
	display:block;
	margin:20px 0 15px;
	position:relative;
}
.menu_up li a img{transition:opacity .3s}
.menu_up li a .m_img_on{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
}
.menu_up li a:hover .m_img{opacity:0}
.menu_up li a:hover .m_img_on{opacity:1}

.menu_under_w{
	clear:both;
	overflow:hidden;
}
.menu_under{
	margin:0 26px 0 60px;
	height:52px;
	-webkit-transform:skewX(45deg);
	transform:skewX(45deg);
	background:rgba(0,0,0,.75);
}
.menu_under_inner{
	float:right;
	padding-right:20px;
	-webkit-transform:skewX(-45deg);
	transform:skewX(-45deg);
}
.menu_under li{
	margin-right:25px;
	display:inline-block;
	vertical-align:bottom;
}
.menu_under li a{
	display:block;
	margin:18px 0;
	font-size:13px;
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	transition:color .3s;
}
.menu_under li a:hover{color:#FF7FAF;}


/*-----------------------------------
■ container
-------------------------------------*/
.container{
	padding-bottom:100px;
	background:url('../img/bg.png') no-repeat top center fixed
}

.content_top {
	padding-top: 140px;
	background: url('../img/content-top_bg.png') repeat-x left 179px;
}
.content_inner h1{
	overflow:hidden;
}
.content_inner h1 .title_left,
.content_inner h1 .title_right{
	float:left;
	display:block;
}
.content_inner h1 .title_right{
	padding:0 20px 0 15px;
	height:39px;
	line-height:45px;
	color:#fff;
	font-size:18px;
	font-weight:bold;
	letter-spacing:7px;
	background:url('../img/title_bg.png') repeat top left;
}
.content_inner h1 .title_right .title_f_letter{
	color:#F90;
	font-size:24px;
	font-weight:bold;
}

.cts_box_top{
	margin-top:30px;
}

/* title
-------------------------------------*/
.s_title{
	position:relative;
	overflow:hidden;
	margin-bottom:20px;
	border-bottom:1px solid #F90;
}
.s_title_o{
	margin-left:-25px;
	display:inline-block;
	background:#F90;
	-webkit-transform:skewX(45deg);
	transform:skewX(45deg);
}
.s_title_i{
	display:block;
	padding:8px 25px 5px 40px;
	line-height:1.5;
	color:#000;
	font-size:18px;
	font-weight:bold;
	-webkit-transform:skewX(-45deg);
	transform:skewX(-45deg);
}

/* text list
-------------------------------------*/
.t_list,
.ct_box{
	padding:20px;
	background:rgba(255,255,255,.85);
}
.t_list li{
	display:table;
	width:100%;
	border-bottom:1px dotted #a6a6a6
}
.t_list li:last-child{border-bottom:0}
.t_list p{
	padding:20px;
	display:table-cell;
	vertical-align:top;
}
.tl_title{
	width:120px;
	color:#F90;
	font-weight:bold;
}
.tl_text{
	word-break:break-all;
}

/*-----------------------------------
■ footer
-------------------------------------*/
footer{background:#000}
.footer_up{background:#3e3e3e}
.footer_up_inner{
	height:90px;
	position:relative;
}

.fpi_left{
	float:left;
	line-height:90px;
	color:#F90;
	font-size:20px;
	font-weight:bold;
}

#to_top{
	position:absolute;
	top:20px;
	left:0;
	right:0;
	display:block;
	margin:0 auto;
	width:148px;
	height:48px;
	line-height:48px;
	text-align:center;
	text-decoration:none;
	color:#fff;
	border:1px solid #fff;
	background:#000;
	transition:background .3s;
}
#to_top:hover{background:#F90}

.fpi_right{
	margin-top:18px;
	float:right;
	color:#fff;
	text-align:center;
}
.fpir_time{
	display:block;
	font-size:12px;
}
.fpir_tel{
	color:#fff;
	font-size:24px;
	font-weight:bold;
	text-decoration:none;
	transition:color .3s;
}
.fpir_tel:hover{color:#FF7FAF;}

.footer_inner{padding:85px 0}
.fi_left{float:left}
.fil_logo{display:inline-block}

.fil_card{
	max-width:270px;
	text-align:center;
	background:rgba(255,255,255,.85);
}
.fil_card img{
	width:50%;
	height:auto;
}

.fil_info{
	padding:20px 0;
	color:#fff;
	font-size:12px;
	line-height:1.5;
}
.fil_line{
	display:block;
	width:268px;
	height:48px;
	line-height:48px;
	color:#fff;
	text-decoration:none;
	text-align:center;
	border:1px solid #fff;
	background:#000;
	transition:background .3s;
}
.fil_line:hover{background:#00ac14}
.fil_line span{
	display:inline-block;
	margin-right:20px;
}
.fil_line span img{vertical-align:middle}

.fi_right{
	float:right;
	width:600px;
}
.fir_title{
	position:relative;
	padding:0 0 10px 15px;
	margin-bottom:5px;
	color:#fff;
	font-size:25px;
	line-height:1;
	border-bottom:1px solid #fff;
}
.fir_title:after{
	content:"";
	display:block;
	position:absolute;
	bottom:0;
	right:0;
	width:0;
	height:0;
	border-bottom:3px solid #fff;
	border-left:3px solid transparent;
	border-top:3px solid transparent;
	border-right:3px solid #fff;
}

.fir_menu{padding-left:15px}
.fir_menu ul{
	float:left;
	width:195px;
}
.fir_menu ul li{margin-top:23px}
.fir_menu ul li a{
	color:#fff;
	text-decoration:none;
	transition:color .3s;
}
.fir_menu ul li a:hover{color:#FF7FAF;}
footer small{
	padding:10px 0 8px;
	display:block;
	text-align:center;
	color:#fff;
	font-size:12px;
	background:#F90;
}










@media screen and (max-width:1220px){
	.header_inner,
	.menu_inner,
	.content_inner,
	.footer_up_inner,
	.footer_inner{
		width:100%;
	}

/*-----------------------------------
■ header
-------------------------------------*/
	header{
		background:rgba(0,0,0,.9);
	}
	.header{
		left:0;
		margin-left:0;
		width:100%;
	}
	.header_inner{
		margin-left:0;
		-webkit-transform:skewX(0deg);
		transform:skewX(0deg);
		background:none;
	}
	.header_inner_box{
		width:100%;
		margin-left:0;
		-webkit-transform:skewX(0deg);
		transform:skewX(0deg);
	}

/*-----------------------------------
■ menu
-------------------------------------*/
	.menu_up_w{
		margin-right:0;
	}
	.menu_under{
		margin:0 0 0 0;
		-webkit-transform:skewX(0deg);
		transform:skewX(0deg)
	}
	.menu_under_inner{
		padding-right:0;
		-webkit-transform:skewX(0deg);
		transform:skewX(0deg)
	}

/*-----------------------------------
■ container
-------------------------------------*/
	.container{
		padding-bottom:80px;
		background:rgba(255,255,255,.2) url('../img/sp_bg.png') fixed repeat-x left top;
	}
	.content_top{
		padding-top:250px;
		background:url('../img/content-top_bg.png') repeat-x left 289px;
	}

/* title
-------------------------------------*/
	.s_title{
		margin-left:0.5%;
		margin-right:0.5%;
	}

/* text list
-------------------------------------*/
	.ct_box{
		margin:0 0.5%;
	}
}










@media screen and (max-width:970px){
	.hi_tel,
	.hi_menu{
		display:none
	}
	.sp_h_tel,
	.sp_menu_btn,
	.sp_menu_container{
		display:block
	}

/*-----------------------------------
■ header
-------------------------------------*/
	.sp_h_tel{
		position:absolute;
		top:0;
		right:153px;
		width:79px;
		height:74px;
		background:#F90;
	}
	.sp_menu_btn{
		position:absolute;
		top:0;
		right:0;
		width:74px;
		height:74px;
		background:#F90;
	}

	.h_line{
		right:74px;
	}

/*-----------------------------------
■ menu button
-------------------------------------*/
	.sp_menu_btn{position:relative}

	.smb_title{
		display:block;
		padding-top:8px;
		color:#fff;
		font-weight:bold;
		text-align:center;
	}

	.smb_hum{
		display:block;
		position:absolute;
		top:36px;
		left:19px;
		width:36px;
		height:2px;
		background:#fff;
		transition:transform .2s;
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
	}
	.smb_hum:before,
	.smb_hum:after{
		content:"";
		display:block;
		position:absolute;
		top:20px;
		left:0;
		width:36px;
		height:2px;
		background:#fff;
		transition:transform .3s;
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
	}
	.smb_hum:before{margin-top:-2px}
	.smb_hum:after{margin-top:-11px}

	.sp_menu_btn_on .smb_hum{background:rgba(255,255,255,0)}
	.sp_menu_btn_on .smb_hum:before{
		-webkit-transform:rotate(-45deg);
		transform:rotate(-45deg);
		margin-top:-11px;
	}
	.sp_menu_btn_on .smb_hum:after{
		-webkit-transform:rotate(-135deg);
		transform:rotate(-135deg);
	}

/*-----------------------------------
■ menu
-------------------------------------*/
	.menu_up{
		width:100%;
		float:none;
		padding-left:0;
		margin-right:0;
		-webkit-transform:skewX(0deg);
		transform:skewX(0deg);
	}
	.menu_up_inner{
		text-align:center;
		-webkit-transform:skewX(0deg);
		transform:skewX(0deg);
	}
	.menu_up li{
		margin-left:17px;
		margin-right:17px;
	}
	.menu_up li a{
		height:17px
	}

	.menu_under_inner{
		float:none;
		width:100%;
		text-align:center;
	}
	.menu_under li{
		margin-left:15px;
		margin-right:15px;
	}

/*-----------------------------------
■ sp_menu
-------------------------------------*/
	.sp_menu_container{
		position:fixed;
		top:0;
		left:0;
		padding-top:80px;
		width:100%;
		height:100%;
		background:rgba(255,255,255,.9);
		z-index:100;
		transform:translateX(100%);
		transition:transform .5s;
	}
	.sp_menu_container_on{
		transform:translateX(0%)
	}

	.sp_menu_up_inner{
		padding:50px 5% 0;
		text-align:center;
	}
	.sp_menu_up_inner li{
		display:inline-block;
		margin:0 20px 40px;
	}
	.sp_menu_up_inner li a{
		display:block;
		position:relative;
	}
	.sp_menu_up_inner li a img{
		top:0;
		left:0;
		right:0;
		margin:0 auto;
		transition:opacity .3s;
	}
	.sp_menu_up_inner li a .m_img_on{
		position:absolute;
		top:0;
		left:0;
		opacity:0;
	}
	.sp_menu_up_inner li a:hover .m_img_on{opacity:1}
	.sp_menu_up_inner li a:hover .m_img{opacity:0}

	.sp_menu_under_inner{
		padding:50px 5% 0;
		text-align:center;
		background:rgba(0,0,0,.85);
	}
	.sp_menu_under_inner li{
		display:inline-block;
		margin:0 20px 50px;
	}
	.sp_menu_under_inner li a{
		display:block;
		color:#fff;
		font-weight:bold;
		text-decoration:none;
		transition:color .3s;
	}
	.sp_menu_under_inner li a:hover{
		color:#69f;
	}

/*-----------------------------------
■ container
-------------------------------------*/
	.container{padding-bottom:50px}
	.content_top{
		padding-top:210px;
		background:url('../img/content-top_bg.png') repeat-x left 249px
	}

/* title
-------------------------------------*/
	.s_title{
		margin-left:0;
		margin-right:0;
		text-align:center;
		background:#000;
	}
	.s_title_o{
		margin-left:0;
		display:inline-block;
	}
	.s_title_i{
		padding:10px 40px;
		line-height:1.5;
	}

/*-----------------------------------
■ footer
-------------------------------------*/
	.fi_right{width:58%}
	.fir_menu ul{width:33%}
}










@media screen and (max-width:767px){
	.menu_container{
		display:none !important;
	}
	.smb_title,
	.fpi_left{
		display:none
	}

	.h_logo img,
	.sp_h_tel img,
	.h_line img{
		width:100%;
		height:auto;
	}

/*-----------------------------------
■ header
-------------------------------------*/
	header,
	.header_inner{
		height:50px;
	}
	.h_logo{
		display:block;
		width:155px;
		margin-top:5px;
	}
	.sp_h_tel,
	.h_line,
	.sp_menu_btn{
		width:50px;
		height:50px;
	}
	.sp_h_tel{right:100px}
	.h_line{
		right:50px;
		background:#20c92f;
	}

/*-----------------------------------
■ menu button
-------------------------------------*/
	.smb_hum{
		top:15px;
		left:7px;
	}

/*-----------------------------------
■ menu
-------------------------------------*/
	.sp_menu_container{padding-top:55px}

/*-----------------------------------
■ container
-------------------------------------*/
	.container{padding-bottom:40px}
	.content_top{
		padding-top:70px;
		background:url('../img/content-top_bg.png') repeat-x left 109px
	}
	.cts_box_top{margin-top:20px}

/* title
-------------------------------------*/
	.s_title_i{padding:5px 40px}

/* text list
-------------------------------------*/
	.t_list,.ct_box{padding:20px 3%}
	.t_list li,.t_list p{display:block}
	.t_list li{
		padding-bottom:15px;
		margin-bottom:20px;
	}
	.t_list li:last-child{margin-bottom:0}
	.t_list p{padding:0 5px 5px}
	.tl_title{width:auto}

/* text list
-------------------------------------*/
	.ct_box{
		margin:0 1.5%;
	}

/*-----------------------------------
■ footer
-------------------------------------*/
	.footer_up_inner{
		padding:25px 0 20px;
		height:auto;
	}
	#to_top{position:static}
	.fpi_right{float:none}

	.footer_inner{padding:50px 0}
	.fi_left,
	.fi_right{
		float:none;
	}
	.fi_left{
		margin-bottom:50px;
		text-align:center;
	}
	.fil_card,
	.fil_line{margin:0 auto}
	.fi_right{
		width:84%;
		margin:0 auto;
	}
	.fir_title{
		padding:0 0 10px 0;
		text-align:center;
	}
	.fir_title:after{
		border-top:0;
		border-right:0;
		border-left:0;
	}
	.fir_menu{padding-left:0}
	.fir_menu ul{width:100%}
	.fir_menu ul li{
		margin-top:5px;
		text-align:center;
		border-bottom:1px solid #333;
	}
	.fir_menu ul li a{
		display:block;
		padding:20px 0;
	}
}









@media screen and (max-width:320px){
	.sp_menu_container{padding-top:55px}
	.sp_menu_up_inner{padding:15px 5% 0px}
	.sp_menu_up_inner li{margin:0 20px 20px}
	.sp_menu_under_inner{padding:35px 5% 0}
	.sp_menu_under_inner li{margin:0 20px 30px}
}










/*-----------------------------------
■ animation
-------------------------------------*/
.blinking{-webkit-animation:blink 2s ease 0s infinite normal;animation:blink 2s ease 0s infinite normal}
@-webkit-keyframes blink{0%{opacity:0;-webkit-animation-timing-function:step-end}25%,100%{opacity:1}}
@keyframes blink{0%{opacity:0;animation-timing-function:step-end}25%,100%{opacity:1}}




 
 /*=== スライドのアニメーション ========================= */

.slider {
  width: 606px;
  text-align: center;
  overflow: hidden;
}

.slides {
  display: flex;
  
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  
  
  
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  
  /*
  scroll-snap-points-x: repeat(300px);
  scroll-snap-type: mandatory;
  */
}
.slides::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.slides::-webkit-scrollbar-thumb {
  background: black;
  border-radius: 10px;
}
.slides::-webkit-scrollbar-track {
  background: transparent;
}
.slides > div {
  scroll-snap-align: start;
  flex-shrink: 0;
  width: 100%;
  height: 828px;
  margin-right: 50px;
  border-radius: 10px;
  background: #eee;
  transform-origin: center center;
  transform: scale(1);
  transition: transform 0.5s;
  position: relative;
  
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 100px;
}
.slides > div:target {
/*   transform: scale(0.8); */
}
.author-info {
  background: rgba(0, 0, 0, 0.75);
  color: white;
  padding: 0.75rem;
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
}
.author-info a {
  color: white;
}
.slides img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.slider > a {
	display: inline-flex;
	width: 5rem;
	height: 5rem;
	background: white;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin: 0 0 0.5rem 0;
	position: relative;
	font-size: 3em;
}
.slider > a:active {
  top: 1px;
}
.slider > a:focus {
  background: #000;
}
@media screen and (max-width:767px){
	
}

.boy_list {
	border: 10px solid #000000;
	background: #000000;
	border-radius: 5px;
	margin: 0% auto 2%;
	padding: 0% 0 5px 0;
	overflow: hidden;
	width: 90%;
}

 .boy_list .boy_list_in {
	background: #000000;
	border-bottom: 2px solid #F90;
	padding: 0 0 5px 0;
	overflow: hidden;
}
.boy_list .boy_list_in h2 {
	color: #000;
	font-size: 1.5em;
	font-weight: bold;
	background-color: #f90;
	padding: 1%;
}

.boy_list .boy_list_in ul, li {
	list-style: none;
	padding: 1%;
	width: 100%;
	display: block;
}


.boy_list .boy_list_in li {
	float: left;
	margin: 0 0 0 10px;
	width: 20%;
	display: block;
}

.boy_list .boy_list_in li:nth-child(4n+1) {
	margin: 0 0 0 0;
}

.boy_list .boy_list_in li a {
	-webkit-transition: all .3s;
	transition: all .3s;
	opacity: 0.85;
	alpha: 85%;
}

.boy_list .boy_list_in li a img {
	border-radius: 5px;
	width: 111%;
}

@media screen and (max-width:767px){
	.boy_list .boy_list_in li {
	width: 45.5%;
}
	.boy_list .boy_list_in li a img {
	width: 100%;
}

	.boy_list .boy_list_in li:nth-child(2n+1) {
	margin: 0 0 0 0;
}
	
}

.video_btn a {
	border-radius: 25px;
	background: #af0000;
	-webkit-transition: all .3s;
	transition: all .3s;
	text-align: center;
	text-decoration: none;
	color: #FFFFFF;
	margin: 5% auto;
	padding: 10px;
	width: 89%;
	display: block;
	box-shadow: 1px 1px 1px #666666;
	font-size: 125%;
	font-weight: bold;
}