@charset='utf-8'; 

* { margin: 0; padding: 0; }

img { width: 100%; }

html { font-size: 100%; }

body { z-index: -1; }

body, a, p { 
	font-family: 'Noto Sans JP', Arial, sans-serif;
	font-weight: inherit;
	line-height: 27px;
	text-decoration: none;
	font-size: 14px;
}

.main_title { font-family: 'Pacifico', cursive; font-size: 40px; }

.sub_title { font-family: 'Noto Sans JP', serif; font-size: 22px; font-weight: inherit; }

.main-title, .sub-title { font-weight: 400; line-height: 42px; }

/*header*/
header #inner{ width: 100%; z-index: 1; }

#global-nav ul { padding: 15px 30px 9px 0px; margin: 0; list-style: none;}
#global-nav li { padding: 10px; }
#global-nav a, #global-nav a:hover, .menu a, .menu a:hover
{ color: #333; }

header img { height: 560px; object-fit: cover; }

header .main_title, header .sub_title
	{ color: #fff; position: relative; left: 0; top: -288px; }
header .sub_title { font-family: serif; }

/*css for nav scroll*/
.scroll { opacity: .8; background: #fff; border-bottom: 1px #ccc solid; }

/*css for hamburger menu*/
.mobile-head, .menu { display: none; }


/*sec02*/
.flex-box01, .flex-box02, .flex-box03, .flex-box04, .flex-box05
{ display: flex; flex-direction: row; }
.message { background-color: #F6F6F6; display: flex; justify-content: center; align-items: center; }
/**---修正2021-03-31---**/

#sec02 .text { padding: inherit; }  /**---修正2021-03-30---**/

#sec02 img { padding: 0; object-fit: cover; }

/*sec03*/

.flex-box03 { flex-wrap: wrap; justify-content: center; }

#sec03 p { padding: 5% 2%; }

/*sec04*/

/* #sec04 { 
	padding: 8% 3%; 
	background-image: url('../img/bgSec04.jpg');
	background-attachment: fixed;
	background-position: right;
	background-size: cover; 
} iOS対応せず*/

/*iOS　対応fixed bg*/
#sec04:before {
	content: ''; 
	display: block; 
	position: fixed; 
	top: 0; 
	left: 0; 
	z-index: -2; 
	width: 100%; 
	height: 100vh;
	background-image: url('../img/bgSec04.jpg');
	background-attachment: fixed;
	background-position: right;
	background-size: cover; 	
}

.flex-box04, .flex-box05 { justify-content: center; }

/*sec05*/

.gmap { height: 20vw; }

td { text-align: left; }
.th { padding: 7px 40px; text-align: right; }
.thLast { position: relative; top: -25px; }

#sec05 a { color: #0066FF; } #sec05 a:hover { text-decoration: underline; }

@media (max-width: 767px) {
	/*only for smartphone*/
	
	/*global css*/
	.sub_title { font-size: 18px; }
	
	/*header*/
	.main_title { font-size: 31px; }
	
	header .container-fluid { padding: 9px 0 0 0; }

	header #inner { position: absolute; }
	.mobile-head, .menu { display: inline;}
	#global-nav { display: none; }
	
	/*css for hamburger menu*/
	#ham { position: relative; width: 40px; height: 40px; margin-bottom: 9px; }

	.ham_line {
		position: absolute; 
		left: 10px; 
		width: 20px; 
		height: 2px; 
		background-color: #fff; 
		transition: all .3s; 
	}
	
	.ham_line1 { top: 10px; }
	.ham_line2 { top: 18px; }
	.ham_line3 { top: 26px; }
	
	.clicked .ham_line1 { transform: rotate(45deg); top: 20px; }
	.clicked .ham_line2 { width: 0px; }
	.clicked .ham_line3 { transform: rotate(-45deg); top: 20px; }
	
	#menu_wrapper { clear: both; position: relative; top: -440px; transition: .3s; }
	
	.menu {
		flex-direction: column;
		width: 100%; 
		transition: all .3s; 
	}
	.menu ul { list-style-type: none; background: #fff;}
	.menu li { padding: 13px 0; border-bottom: 1px #ccc solid; }
	.menu a { display: inline-block; width: 90%;}
	.chevron { padding: 0 8px; font-size: 22px; font-weight: 500; }
	
	#menu_wrapper.clicked { top: 0; }
	
	/*sec02*/
	.flex-box01, .flex-box04, .flex-box05 {flex-direction: column; } 
	.flex-box02 {flex-direction: column-reverse; }
	
	/*sec03*/
	.flex-box03 { flex-flow: column wrap; padding: 0; }
	.sec03Box { padding-right: 0; padding-left: 0; }
	
	#sec03 p { padding: 5% 14%; }
	
	/*sec05*/
	
	.gmap { height: 73vw; }

	.flex-box05 { align-items: center; justify-content: space-between; }
	
	.th { padding: 5px 0px; }
	.tn { position: relative; left: 20px; }
	
}
