@charset "utf-8";
/* CSS Document */
html { scroll-behavior: smooth;}

a{
	color: #333333;
}

h2{
	width: 328px;
	margin-bottom: 100px;
}

/*============================================================================
	section	 sec01
=============================================================================*/

.in_wrap section.sec01 {
	max-width: 1200px;
	width: calc(100% - 40px);
	padding: 180px 0 80px;
	margin: 0 auto;
	background-color: #fff;
}


.in_wrap section.sec01 .inner{ max-width: 1200px;}




@media screen and (min-width: 751px) {
	
	.list_wrap{
		display: inline-block;
		width: 880px;
		vertical-align: top;
	}
	
	.list_wrap > div{
		margin-bottom: 40px;
		padding-top: 100px;
		margin-top: -100px;
	}
	
	.list_wrap div span{
		display: block;
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 15px;
		position: relative;
		padding-left: 15px;
	}
	
	.list_wrap div span::before{
		content: url("../img/icon.jpg");
		position:absolute; 
		top: 2px;
		left: 0;
	}
	
	.list_wrap div ul{
		overflow: hidden;
	}
	
	.list_wrap div li{
		width: 280px;
		float: left;
		margin: 0 20px 40px 0;
	}
	
	.list_wrap div li:nth-child(3n){
		margin: 0 0 40px 0;
	}
	
	.list_wrap div li.add{margin-bottom: 14px;}
	
	.list_wrap div li a{
		display: inline-block;
		text-align: center;
	}
	
	
	/*アコーディオン*/
	.aco_wrap{
		width: 235px;
		display: inline-block;
		margin-left: 65px;
		/*アコーディオン固定*/
		position: fixed;
		overflow: scroll;
		height: 75vh;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	
	.aco_wrap::-webkit-scrollbar{
	  	display:none;
	}
	
	.aco_wrap > span{
		color: #059191;
		font-weight: bold;
		font-size: 18px;
		margin-bottom: 20px;
		display: block;
	}
	
	.toggle_contents {
		width: 235px;
		display: inline-block;
	}
	.toggle_title {
		position: relative;
		padding: 15px;
		cursor: pointer;
		line-height: 1.4;
		background-color: #059191;
		color: #fff;
		border-bottom: solid 1px #fff;
	}
	.toggle_btn {
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
		display: block;
		width: 24px;
		height: 24px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		border-radius: 50%;
	}
	.toggle_btn:before, .toggle_btn:after {
		display: block;
		content: '';
		background-color: #fff;
		position: absolute;
		width: 15px;
		height: 2px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.toggle_btn:before {
		width: 2px;
		height: 15px;
	}
	.toggle_title.selected .toggle_btn:before {
		content: normal;
	}
	
	.toggle_contents dd {
		background-color: #fff;
	}
	
	.toggle_contents dd ul li{
		border-bottom: solid 1px #f1f1f4;
	}
	
	.toggle_contents dd ul li a{
		display: block;
		padding: 10px;
	}
	
	.toggle_contents dd ul li a:hover{
		background-color: #e3f4f4;
	}
}

@media screen and (max-width: 1250px) {
	.list_wrap{
		width: 60%;
	}
	
	.list_wrap div li {
		width: 48%;
		margin: 0 20px 40px 0;
	}
	.list_wrap div li:nth-child(3n){
		margin: 0 20px 40px 0;
	}
	
	.list_wrap div li:nth-child(2n){
		margin: 0 0 40px 0;
	}
}

@media screen and (max-width: 1220px) {
	.list_wrap{
		width: 60%;
	}
	
	.list_wrap div li {
		width: 47%;
		margin: 0 20px 40px 0;
	}
	
}

@media screen and (max-width: 1050px) {
	section.sec01 ul.main_contents li {
		width: 60%;
	}
	
	.aco_wrap{
		margin-left: 5%;
	}
	
	
}

@media screen and (max-width: 750px) {
	h2 {
		width: 100%;
		margin-bottom: 50px;
	}
	.in_wrap section.sec01 {
		max-width: 1200px;
		width: calc(100% - 40px);
		padding: 10% 0 5%;
		margin: 0 auto;
		background-color: #fff;
	}
	
	section.sec01 h3{ 
		max-width: 400px;
		width: 97%;
		margin:0 auto 40px;
	}
	
	section.sec01 {
		width: calc(100% - 30px);
		padding: 30px 0 40px;
	}
	
	
	
	ul.click{
		background: #fff;
		margin-bottom: 50px;
	}
	
	ul.click li:not(:nth-child(even)) {
		margin-right: 2%;
	}
	
	ul.click li {
		width: 48%;
		display: inline-block;
	}
	
	ul.click li a.btn{
		width: 100%;
	}
	
	
	section.sec01 ul.main_contents li {
		width: 100%;
		overflow: hidden;
	}
	
	section.sec01 ul li > a > span {
		display: none;
	}
	
	
	.list_wrap{
		width: 100%;
	}
	
	.list_wrap > div{
		margin-bottom: 5%;
		padding-top: 100px;
		margin-top: -100px;
	}
	
	.list_wrap div span{
		display: block;
		font-size: 17px;
		font-weight: bold;
		margin-bottom: 15px;
		position: relative;
		padding-left: 15px;
	}
	
	.list_wrap div span::before{
		content: url("../img/icon.jpg");
		position:absolute; 
		top: 0;
		left: 0;
	}
	
	.list_wrap div li {
		width: 48%;
		margin: 0 2% 5% 0;
		display: inline-block;
		vertical-align: top;
		text-align: center;
	}
	
	.list_wrap div li:nth-child(3n){
		margin: 0 2% 5% 0;
	}
	
	.list_wrap div li:nth-child(2n){
		margin: 0 0 5% 0;
	}
	
	.list_wrap div li a img{
		margin-bottom: 2%;
	}
}

@media screen and (max-width: 450px) {
	body {
		font-size: 10px;
		line-height: 15px;
	}
	section a.btn {
		font-size: 11px;
	}
	
	.list_wrap div span{
		font-size: 14px;
	}
}

/*モーダルウィンドウ*/

.modal{
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
}
.modal:not(:target) {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s, visibility 0.5s;
}
.modal:target{
	opacity: 1;
	visibility: visible;
	transition: opacity 0.5s, visibility 0.5s;
}
.modal .overlay{
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	background-color: #6e6e6e;
	opacity: 0.99;
	top: 0;
	left: 0;
}
.modal .close_btn{
	position: absolute;
	top: 120px;
	left: 50%;
	font-size: 25px;
	color: #fff;
}
.modal-wrapper{
	width: 100%;
	max-width: 630px;
	position: absolute;
	top: 190px;
	left: 50%;
	transform: translate(-50%, -50%);
}

.modal-contents{
	overflow: auto;
	width: 100%;
	height: 80vh;
	box-sizing: border-box;
	position: absolute;
	/*スクロールバー非表示（IE・Edge）*/
	-ms-overflow-style: none;
	/*スクロールバー非表示（Firefox）*/
	scrollbar-width: none;
}

.modal-contents::-webkit-scrollbar{
	display:none;
}

#navi > ul li .menu .inner02{
	height: 75vh;
	overflow: scroll;
	/*スクロールバー非表示（IE・Edge）*/
	-ms-overflow-style: none;
	/*スクロールバー非表示（Firefox）*/
	scrollbar-width: none;
}

/*スクロールバー非表示（Chrome・Safari）*/
#navi > ul li .menu .inner02::-webkit-scrollbar{
  display:none;
}

.modal-content span{
	font-size: 17px;
	color: #fff;
	display: block;
	text-align: center;
	margin-bottom: 40px;
}
.modal-content p{
	color: #fff;
	line-height: 30px;
	padding-bottom: 100px;
}
.modal-close{
	position: absolute;
	top: 5px;
	right: 10px;
	text-decoration: none;
}



/*====================================================================
slick
====================================================================*/

html, body {
	margin: 0;
	padding: 0;
}

.sliderArea {
	max-width: 100%;
	margin: 0 auto 40px;;
}
.sliderArea.w300 {
	max-width: 300px;
}

.slick-slide img {
	width: 100%;
	height: auto;
}
.slick-prev, .slick-next {
	z-index: 1;
}

.slick-prev {
    left: -10px!important;
}

.slick-next {
    right: 40px!important;
}

.slick-prev:before, .slick-next:before {
	background: url("../../../img/common/bx_l.png") no-repeat center;
	position: absolute;
    top: 50%;
    margin-top: -27px;
    outline: 0;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    z-index: 9;
	opacity: 1;
    background-color: rgba(5,145,145,0.8);
}
.slick-next:before {
	background: url("../../../img/common/bx_r.png") no-repeat center;
	position: absolute;
    top: 50%;
    margin-top: -27px;
    outline: 0;
    width: 50px;
    height: 50px;
    text-indent: -9999px;
    z-index: 9;
    background-color: rgba(5,145,145,0.8);
}
.slick-slide {
	transition: all ease-in-out .3s;
	opacity: .2;
}
.slick-active {
	opacity: 1;
}
.slick-current {
	opacity: 1;
}
.thumb {
	width: 490px;
	margin: 20px auto 0;
}
.thumb .slick-slide {
	cursor: pointer;
	margin: 0 7px;
}
.thumb .slick-slide:hover {
	opacity: .7;
}

@media screen and (max-width: 750px) {
	.modal-contents{
		width: 100%;
		margin: 0 auto;
	}
	
	.modal .close_btn {
		font-size: 30px;
	}
	
	.modal-content span {
		font-size: 17px;
		margin-bottom: 20px;
	}
	
	.sliderArea {
		margin: 0 auto 20px;
	}
	
	.thumb {
		width: 90%;
		margin: 10px auto 0;
	}
	.thumb .slick-slide { 
		margin: 0 3px;
	}
	.slick-prev:before, .slick-next:before {
		display: none;
}
	.slick-next:before {
		display: none;
	}
	.modal-wrapper {
		height: auto;
		top: 20%;
		width: 90%;
	}
	.modal .close_btn{
		position: absolute;
		top: 15%;
		left: 45%;
		font-size: 35px;
	}
	.modal-content p {
		line-height: 24px;
		font-size: 13px;
	}
}


