/* ******************************************************************
 *	File name		: style.css
 *	Summary			: css base
 * ******************************************************************
 */

/* --- responsive --- */
@media screen and (max-width:767px){
	.contents.line{
		padding:50px 0px 30px;
	}
	.contents.line::before,
	.contents.line::after{
		left:0px;
		}
		.contents.line::before{
			width:100%;
	}
}

/* -----------------------------------------------------------------
   header
----------------------------------------------------------------- */

header{
	position:fixed !important;
	top:0px;
	left:0px;
	width:100%;
	height:80px;
	}
	header::before{
		top:0px !important;
		height:80px !important;
		opacity:1 !important;
	}
	header h1{
		top:20px !important;
		background:url(../../image/base/logo_b.png) no-repeat left center;
		background-size:contain;
	}
	header h1 img{
		opacity:0;
	}
	header nav{
		position:absolute;
		top:0px;
		height:100%;
	}
	header nav > ul > li > a{
		color:#000;
	}
	header nav > ul > li.active > a,
	header nav > ul > li > a:hover{
		color:#00ABEB;
	}
	header nav > ul > li > a::after{
		background:#00ABEB;
	}

	header nav > ul > li:has(ul) > a{
		padding:0 23px 0 13px;
	}
	header nav > ul > li:has(ul) > a::before{
		border-bottom:1px solid #000;
		border-right:1px solid #000;
	}
	header nav > ul > li:has(ul):hover > a::before{
		border-bottom:1px solid #00ABEB;
		border-right:1px solid #00ABEB;
	}

	header #nav_reserve,
	header #nav_contact{
		top:22px;
}

/* --- SP MENU  --- */
@media only screen and (max-width:1140px){
	header{
		position:fixed;
		height:60px !important;
		z-index:999;
	}
	header::before,
	header.h_slide::before,
	header.open_menu::before{
		top:-20px !important;
		opacity:1 !important;
	}
	header #head_contents{
		height:60px;
	}
	header h1{
		top:10px !important;
	}
}

/* -----------------------------------------------------------------
   main
----------------------------------------------------------------- */

main{
	background:#F6F7FA;
}
#main_contents{
	width:1440px;
	max-width:100%;
	min-height:500px;
	margin:0 auto;
	padding:100px 20px 200px;
	background:#FFF;
	-moz-border-radius:100px 100px 0 0;
	-webkit-border-radius:100px 100px 0 0;
	border-radius:100px 100px 0 0;
}

/* --- responsive --- */
@media only screen and (max-width:767px){
	#main_contents{
		padding:50px 20px 150px;
		-moz-border-radius:50px 50px 0 0;
		-webkit-border-radius:50px 50px 0 0;
		border-radius:50px 50px 0 0;
	}
}

/* -----------------------------------------------------------------
   h
----------------------------------------------------------------- */

main #pnkz + h2{
	display:-webkit-flex;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	position:relative;
	width:1280px;
	max-width:100%;
	height:240px;
	padding:0 20px;
	font-size:2.2rem;
	text-align:left;
	margin:0 auto;
}
#main_contents h3{
	position:relative;
	margin:0 0 35px;
	padding:0 0 35px;
	font-weight:400;
	font-size:2.0rem;
	text-align:left;
	line-height:1.2;
	}
	#main_contents h3::before{
		content:" ";
		position:absolute;
		bottom:0px;
		left:0px;
		width:34px;
		height:2px;
		background:#89A9E2;
	}
	#main_contents .contents.line h3{
		padding:0px;
		font-weight:500;
		font-size:2.2rem;
	}
	#main_contents .contents.line h3::before{
		display:none;
}

/* --- responsive --- */
@media only screen and (max-width:1140px){
	main #pnkz + h2{
		height:280px !important;
		padding:60px 20px 0;
	}
}
@media only screen and (max-width:640px){
	main #pnkz + h2{
		height:240px !important;
		padding:0px 20px 0;
		line-height: 1;
		font-size: 2rem;
	}
	#main_contents h3{
		margin:0 0 40px;
		font-size:1.7rem;
	}
}

/* -----------------------------------------------------------------
   p
----------------------------------------------------------------- */

main p{
	width:900px;
	max-width:100%;
	margin:0 auto 30px;
	font-size:1.2rem;
	text-align:left;
	line-height:2;
}
@media only screen and (max-width:767px){
}

/* -----------------------------------------------------------------
   page_visual
----------------------------------------------------------------- */

#page_visual{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	height:300px;
	padding:80px 20px 0;
	background:#000;
	background:url(../../image/title/all.jpg) no-repeat bottom -150px left 0;
	background-size:cover;
	}
	#page_visual strong{
		display:block;
		width:1240px;
		max-width:100%;
		margin:0 auto;
		font-size:2.45rem;
		text-align:left;
		color:#FFF;
		line-height:1.4;
		text-shadow:rgba(0,0,0,1) 0px 0px 5px,rgba(0,0,0,1) 0px 0px 2px;
}

/* --- responsive --- */
@media only screen and (max-width:1140px){
	#page_visual{
		height:280px !important;
		padding:60px 20px 0;
	}
}
@media only screen and (max-width:640px){
	#page_visual{
		background-position:0 0 !important;
	}
	#page_visual strong{
		font-size:1.5rem;
	}
}

/* -----------------------------------------------------------------
   pnkz
----------------------------------------------------------------- */

#pnkz{
	display:-webkit-flex;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
	width:100%;
	height:50px;
	padding:0 20px;
	max-width:100%;
	text-align:left;
	background:none;
	list-style:none;
	background:#E1EBF3;
	z-index:100;
	}
	#pnkz *{
		font-size:0.87rem;
		color:#000;
	}
	#pnkz ul{
		position:relative;
		width:1240px;
		max-width:100%;
		margin:0 auto;
		list-style:none;
	}
	#pnkz ul li{
		display:inline-block;
		position:relative;
		}
		#pnkz ul li::before{
			content:">";
			position:relative;
			top:-1px;
			margin:0 12px;
		}
		#pnkz ul li:first-child::before{
			display:none;
		}
		#pnkz ul li a{
			color:#00A0E9;
}
/* --- responsive --- */
@media only screen and (max-width:767px){
	#pnkz ul li,
	#pnkz ul li a{
		font-size:0.8rem;
	}
	#pnkz ul li::before{
		margin:0 7px;
	}
}

/* -----------------------------------------------------------------
   other
----------------------------------------------------------------- */





/* -----------------------------------------------------------------
   page_head
----------------------------------------------------------------- */

#page_head{
	position:relative;
	height:450px;
	margin:0 0 80px;
	}
	#page_head:has(#page_menu){
		height:520px;
}

/* -----------------------------------------------------------------
   title
----------------------------------------------------------------- */

/* -----------------------------------------------------------------
   page_menu
----------------------------------------------------------------- */

#page_menu{
	position:relative;
	width:900px;
	max-width:100%;
	height:70px;
	margin:0 auto;
	}
	#page_menu ul{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		height:100%;
	}
	#page_menu ul li{
		position:relative;
		width:100%;
		height:100%;
	}
	#page_menu ul li a{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		width:100%;
		height:100%;
		padding-right:10px;
		font-size:1.0rem;
		color:#000;
		transition-duration:0.5s;
		}
		#page_menu ul li a::after{
			content:" ";
			position:absolute;
			top:calc(50% - 3px);
			right:10px;
			border: 6px solid transparent;
			border-top:6px solid rgba(0,0,0,1);
			transition-duration:0.5s;
		}
		#page_menu ul li a:hover{
			text-decoration:none;
			background:rgba(0,0,0,0.05);
			color:#00ABEB;
			}
			#page_menu ul li a:hover::after{
				border-top:6px solid #00ABEB;
}

/* --- responsive --- */
@media only screen and (max-width:767px){
	#page_menu{
		height:auto;
		padding:20px;
		}
		#page_menu ul{
			flex-wrap:wrap;
		}
		#page_menu ul li{
			width:49%;
			height:50px;
			margin:0 0 10px;
			border:1px solid rgba(0,0,0,0.2);
		}
		#page_menu ul li a{
			font-size:0.87rem;
	}
}

/* -----------------------------------------------------------------
   section
----------------------------------------------------------------- */

section.fadein{
	transition:0.8s ease-in-out;
	transform:translateY(30px);
	opacity:0;
}
section.fadein.active{
	transform:translateY(0px);
	opacity:1;
}

section{
	position:relative;
	width:1240px;
	max-width:100%;
	margin:0 auto;
}
.contents{
	position:relative;
	width:1440px;
	max-width:100%;
	margin:0 auto;
	padding:20px 20px 90px;
}
.contents_box{
	position:relative;
	width:900px;
	max-width:100%;
	margin:0 auto 90px;
	padding:0px;
}

/* --- responsive --- */
@media screen and (max-width:767px){
}

/* ----- */

.section_title{
	position:relative;
	left:-20px;
	width:900px;
	max-width:calc(100% + 80px);
	margin:0 auto 20px;
	padding:20px;
	text-align:left;
	line-height:1.5;
	}
	.section_title h2{
		font-weight:600;
		font-size:2.8rem;
	}
	.section_title p{
		font-weight:400;
		font-size:1.2rem;
		letter-spacing:2px;
}

/* --- responsive --- */
@media screen and (max-width:1040px){
	.section_title{
		left:0px;
		width:100%;
		max-width:100%;
		padding:0px;
	}
}
/* --- responsive --- */
@media screen and (max-width:640px){
	.section_title h2{
		font-size:2.0rem;
	}
	.section_title p{
		font-size:1.0rem;
	}
}

/* -----------------------------------------------------------------
   table_scroll
----------------------------------------------------------------- */

/* --- responsive --- */
@media screen and (max-width:767px){
	.table_scroll{
		overflow:auto;
		margin-bottom:20px;
		cursor:pointer;
		}
		.table_scroll table{
			margin-bottom:10px;
			width:767px !important;
			max-width:767px !important;
		}
		.table_scroll::-webkit-scrollbar{
			height:10px;
		}
		.table_scroll::-webkit-scrollbar-track{
			background: #555;
			-moz-border-radius:6px;
			-webkit-border-radius:6px;
			border-radius:6px;
		}
		.table_scroll::-webkit-scrollbar-thumb {
			background: #BCBCBC;
			-moz-border-radius:5px;
			-webkit-border-radius:5px;
			border-radius:5px;
	}
}

/* -----------------------------------------------------------------
   accordion
----------------------------------------------------------------- */

.accordion{
	margin-bottom:30px;
	border-top:1px solid rgba(0,0,0,0.4);
	border-bottom:1px solid rgba(0,0,0,0.4);
	}
	.accordion_title{
		margin:0px !important;
		padding:20px 0 20px;
		cursor:pointer;
	}
	.accordion_title:hover{
		transition-duration:0.5s;
		background:rgba(0,0,0,0.1);
	}
	.accordion_title::before,
	.accordion_title::after{
		content:" ";
		position:absolute;
		top:32px;
		right:10px;
		width:15px;
		height:2px;
		background:rgba(0,0,0,0.7);
	}
	.accordion_title::after{
		transition-duration:0.5s;
		width:15px;
		right:10px;
		transform:rotate(90deg);
		}
		.accordion_title.active::after{
			width:0px;
			right:17px;
	}
	.accordion_title + div{
		display:none;
		padding-bottom:30px;
	}
	.accordion h5{
		margin-bottom: 12px !important;
		font-weight: 500;
		font-size: 1rem;
}

/* --- responsive --- */
@media only screen and (max-width:767px){
	.minchou{
		font-size:1.7rem;
	}
}


/* -----------------------------------------------------------------
   table
----------------------------------------------------------------- */

table{
	position:relative;
	width:100%;
	border-collapse:collapse;
	border-spacing:0px;
	border:1px solid #DDD;
	line-height:2;
}
table th,
table td{
	min-width:120px;
	padding:10px;
	text-align:center;
	font-size:1.0rem;
}
table th{
	background:#F6F7FA;
	border:1px solid #DDD;
	color:#000;
}
table td{
	border:1px solid #DDD;
}

/* --- responsive --- */
@media screen and (max-width:767px){
	table th,
	table td{
		font-size:0.87rem;
	}
}
/* --- responsive --- */
@media screen and (max-width:500px){
	table th,
	table td{
		font-size:0.77rem;
	}
}

/* -----------------------------------------------------------------
   ul
----------------------------------------------------------------- */

#main_contents ul{
	list-style:none;
	}
	#main_contents ul li{
		margin:0 0 12px;
		font-size:1.2rem;
		text-align:left;
}

#main_contents ul.disc{
	padding-left:20px;
	list-style:disc;
}

/* -----------------------------------------------------------------
   colorbox
----------------------------------------------------------------- */

.colorbox{
	position:relative;
	width:900px;
	max-width:100%;
	margin:50px auto;
	padding:40px;
	text-align:left;
	background:rgba(0,0,0,0.1);
}
.colorbox p{
	font-size: 1.05rem;
}
.colorbox p:last-child{
	margin:0px;
}

/* -----------------------------------------------------------------
   border_box
----------------------------------------------------------------- */

.border_box{
	position:relative;
	width:900px;
	max-width:100%;
	margin:50px auto;
	padding:40px;
	text-align:left;
	border:1px solid #000;
}

/* -----------------------------------------------------------------
   btn
----------------------------------------------------------------- */

.btn_big{
	position:relative;
	width:900px;
	max-width:100%;
	height:135px;
	text-align:center;
	background:linear-gradient(45deg, #1354C5, #60A0DB);
	margin: 60px auto 100px;	
	}
	.btn_big::before,
	.btn_big::after{
		content:" ";
		position:absolute;
		transition-duration:0.5s;
	}
	.btn_big::before{
		top:calc(50% - 25px);
		right:60px;
		width:50px;
		height:50px;
		background:#FFF;
		-moz-border-radius:50%;
		-webkit-border-radius:50%;
		border-radius:50%;
	}
	.btn_big a{
		display:-webkit-flex;
		display:flex;
		justify-content:flex-start;
		align-items:center;
		position:relative;
		width:100%;
		height:100%;
		padding:0 150px 0 45px;
		font-weight:500;
		color:#FFF;
		transition-duration:0.5s;
		letter-spacing:3px;
		z-index:100;
	}
	.btn_big a:hover{
		text-decoration:none;
		background:rgba(0,0,0,0.1);
	}
	.btn_big a::before,
	.btn_big a::after{
		content:" ";
		position:absolute;
		right:75px;
		transition-duration:0.5s;
	}
	.btn_big a::before{
		top:calc(50%);
		width:17px;
		height:1px;
		background:#1354C5;
	}
	.btn_big a::after{
		top:calc(50% - 5px);
		width:10px;
		height:10px;
		border-top:1px solid #1354C5;
		border-right:1px solid #1354C5;
		transform:rotate(45deg);
	}
	.btn_big a:hover::before{
		right:77px;
		transform:rotate(90deg);
	}
	.btn_big a:hover::after{
		right:80px;
	}

/* --- responsive --- */
@media screen and (max-width:767px){
	.btn_big{
		width:100%;
	}
	.btn_big a{
		width:100%;
	}
}
@media screen and (max-width: 480px) {
    .btn_big a {
        line-height: 1;
		padding: 0px 100px 0 30px;
        text-align: left;
    }
	.btn_big::before {
		right: 30px;
	}
	.btn_big a::before, .btn_big a::after {
		right: 48px;
	}
	.btn_big a:hover::after {
		right: 50px;
	}
	.btn_big a:hover::before {
		right: 48px;
	}
	#pnkz ul li, #pnkz ul li a {
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        max-width: 14rem;
		font-size: 0.825em;
        line-height: 1;
    }
}



