@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans&display=swap');
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');

/* -----------------------------------------------------------------
   reset
----------------------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, address, em, img, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, section, summary, div, input, select {    
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box; 
}

main, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; 
}

html {
  font-family: 'Noto Sans','Noto Sans JP',YuGothic,'Yu Gothic',sans-serif;
  touch-action: manipulation;
  box-sizing: border-box; 
  height:100%;
}

/* -----------------------------------------------------------------
   text
----------------------------------------------------------------- */

.center {
	display: block;
	text-align: center;
	margin: 12px 0;
}

.center_lh {
	display: block;
	text-align: center;
	line-height: 2.2rem;
	margin: 12px 0;
}

.para {
	display: block;
	margin: 12px 0;
}

.title {
	display: block;
	text-align: center;
	margin: 0 0 30px 0;	
}

.ulmid {
	margin: 10px 0 5px 2rem;
}

.rbot {
	display: block;
	margin: 20px 2rem 30px 0;
	text-align: right;
	
}

/* -----------------------------------------------------------------
   header
----------------------------------------------------------------- */
#header {
	width: 100%;
	height:100px;
	display: flex;
	position: fixed;
	background: #FFF;
}

#top_logo {
	width:240px;
	height: 30px;
	position: absolute;
	top: 40%;
	left: 5%;	
}

nav.g_navi {
	width: 370px;
	height: 22px;
	position: absolute;
	top: 41%;
	right: 5%;
}

nav.g_navi ul {
	display: flex;
	justify-content: space-around;
	list-style: none;
}

nav.g_navi ul li a{
	text-decoration: none;
	color: #5F6060;
}

.hamburger {
	display: none;
}



@media screen and (max-width: 768px) {
	
	.hamburger {
		display : block;
		position: fixed;
		z-index : 3;
		right : 4%;
		top   : 4%;
		width : 42px;
		height: 42px;
		cursor: pointer;
		text-align: center;
	}
	.hamburger span {
		display : block;
		position: absolute;
		width   : 30px;
		height  : 2px ;
		left    : 6px;
		background : #555;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition   : 0.5s ease-in-out;
		transition        : 0.5s ease-in-out;
	}
	.hamburger span:nth-child(1) {
		top: 10px;
	}
	.hamburger span:nth-child(2) {
		top: 20px;
	}
	.hamburger span:nth-child(3) {
		top: 30px;
	}
	
	.hamburger.active{
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
	
	.hamburger.active span:nth-child(1) {
		top : 16px;
		left: 6px;
		background : #666;
		-webkit-transform: rotate(315deg);
		-moz-transform   : rotate(315deg);
		transform        : rotate(315deg);
	}
	
	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 16px;
		background : #666;
		-webkit-transform: rotate(-315deg);
		-moz-transform   : rotate(-315deg);
		transform        : rotate(-315deg);
	}
	
	nav.g_navi {
		position: fixed;
		z-index : 2;
		top  : 0;
		left : 0;
		color: #FFF;
		background: #FFF;
		text-align: center;
		width: 100%;
		transform: translateY(-300px);
		transition: all 0.6s;
	}
	
	nav.g_navi ul {
		margin: 0 auto;
		padding: 0;
		width: 100%;
		display: inline;
	}
	
	nav.g_navi ul li {
		list-style-type: none;
		padding: 0;
		width: 100%;
		transition: .4s all;
		background: #F8F9E8;
		opacity: 0.9;
	}
	
	nav.g_navi ul li:last-child {
		padding-bottom: 0;
	}
	nav.g_navi ul li:hover{
		background :#ddd;
	}
	
	nav.g_navi ul li a {
		display: block;
		color: #5F6060;
		padding: 1em 0;
		text-decoration :none;
	}
	
	nav.g_navi.active {
		transform: translateY(0%);
	}
	
}

/* -----------------------------------------------------------------
   wrapper
----------------------------------------------------------------- */

#wrapper {
	width: 100%;
	height: auto;
	padding-top: 100px;	
}

@media screen and (max-width: 768px) {
	#wrapper {
		overflow: hidden;
	}
}

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

#top_msg {
	width: 100%;
	height: auto;
}

#top_preamble {
	font-size: 1.2rem;
	margin: 0 auto 30px;
	padding-top: 10px;
}

#top_msg_title {
	width: 330px;
	height: 65px;
	position: relative;
	left: 5%;
	margin: 5vh 0 40px 0;
	z-index: -100;
	
}

#top_msg_title img {
	width: 330px;
}

#top_image_box {
	width: 100%;
	height: auto;
	background: #5EB6DD;
}

#child_image {
	width: 480px;
	height: 320px;
	margin: 0 auto;
		
}

#top_psg {
	max-width: 600px;
	height: auto;
	margin: 50px auto 40px;
	padding: 0 40px;
	color: #717272;
}

#top_psg_title {
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 25px;
	color: #8BB5E8;
}

#top_psg_text {
	font-size: 0.9rem;
	line-height: 2;
}

#top_psg_icon {
	width: 55px;
	height: auto;
	margin: 25px auto;
}

#top_psg_icon img {
	width: 55px;
}

@media screen and (max-width: 768px) {
	
	#top_preamble {
		font-size: 1.0rem;
		margin: 0 auto 30px;
		padding-top: 0;
	}
	
	#child_image {
		max-width: 430px;
		height: 287px;
	}
	
	#child_image img {
		max-width: 430px;
		height: 287px; 
	}
	
	#top_msg_title {
		width: 330px;
		margin: 15px auto 20px;
		top: 0;
		left: 0;
	}
	
	#top_msg_title img {
		width: 330px;
	}
	
	#top_psg {
		max-width: 400px;
		padding: 0 30px;
	}
	
	#top_psg_title {
		font-size: 1.0rem;
		margin-bottom: 15px;
	}
	
	#top_psg_text {
		font-size: 0.8rem;
	}
	
}

/* -----------------------------------------------------------------
   dlogss
----------------------------------------------------------------- */

#dlog_msg {
	width: 100%;
	height: auto;
	padding-top: 10px;
}

#dlog_line_box {
	max-width: 950px;
	height: auto;
	margin: 0 auto;
	border-top: solid 2px;
	border-color: #E5C689;
}

#dlog_icon_box {
	max-width: 600px;
	height: auto;
	margin: 0 auto;
	
}

#dlog_icon {
	width: 440px;
	height: auto;
	margin: 40px 0 0 auto;
}

#dlog_image {
	width: 250px;
	height: auto;
	margin: 10px 0 0 auto;
}

#dlog_psg {
	max-width: 600px;
	height: auto;
	margin: 60px auto 40px;
	padding: 0 40px;
	color: #717272;
}

#dlog_psg_text {
	font-size: 0.9rem;
	line-height: 2;
}

@media screen and (max-width: 768px) {
	
	#dlog_icon {
		width: 350px;
		margin: 40px auto 0;
	}
	
	#dlog_icon img {
		width: 350px;		
	}
	
	#dlog_image {
		width: 220px;
		margin: 30px auto 0;
	}
	
	#dlog_image img {
		width: 220px;
	}
	
	#dlog_psg {
		margin: 40px auto 40px;
	}
}

/* -----------------------------------------------------------------
   dnext
----------------------------------------------------------------- */

#dnext_msg {
	width: 100%;
	height: auto;
	padding-top: 10px;
}

#dnext_line_box {
	max-width: 950px;
	height: 400px;
	margin: 0 auto;
	border-top: solid 2px;
	border-color: #92DBDD;
}

#dnext_icon_box {
	max-width: 600px;
	height: auto;
	margin: 0 auto;	
}

#dnext_icon {
	width: 440px;
	height: auto;
	margin: 50px auto 0 0;
}

#dnext_image {
	width: 250px;
	height: auto;
	margin: 0 auto 0 0;
}

#dnext_psg {
	max-width: 600px;
	height: auto;
	margin: 110px auto 40px;
	padding: 0 40px;
	color: #717272;
}

#dnext_psg_text {
	font-size: 0.9rem;
	line-height: 2;
	
}

@media screen and (max-width: 768px) {
	
	#dnext_icon {
		width: 350px;
		margin: 40px auto 0;
	}
	
	#dnext_icon img {
		width: 350px;
	}
	
	#dnext_image {
		width: 330px;
		margin: 15px auto 0;
	}
	
	#dnext_image img {
		width: 330px;
	}
	
	#dnext_psg {
		margin: 50px auto 40px;
	}
}
	
/* -----------------------------------------------------------------
   we are
----------------------------------------------------------------- */

#we_msg {
	width: 100%;
	height: auto;
	padding-top: 10px;
}

#we_line_box {
	max-width: 950px;
	height: 60px;
	margin: 0 auto;
	border-top: solid 2px;
	border-color: #C4BC6A;
}

#we_icon_box {
	max-width: 600px;
	height: auto;
	margin: 0 auto;	
}

#we_icon {
	width: 140px;
	height: auto;
	margin: 50px 0 0 32px;
}

#we_psg {
	max-width: 600px;
	height: auto;
	margin: 60px auto 40px;
	padding: 0 40px;
	color: #717272;
}


#we_psg_text {
	font-size: 0.9rem;
	line-height: 2;
}
	
@media screen and (max-width: 768px) {
	
	#we_icon {
		width: 125px;
		margin: 40px auto;
	}
	
	#we_icon img {
		width: 125px;
	}
	
	#we_psg {
		margin: 50px auto 40px;
	}

}
	
/* -----------------------------------------------------------------
   company info
----------------------------------------------------------------- */

#com_info {
	width: 100%;
	height: auto;
	padding-top: 10px;
}

#com_line_box {
	max-width: 950px;
	height: auto;
	margin: 0 auto;
	border-top: solid 2px;
	border-color: #9985C6;
}

#com_icon_box {
	max-width: 600px;
	height: auto;
	margin: 0 auto;	
}

#com_icon {
	max-width: 276px;
	height: auto;
	margin: 50px auto 0 30px;
}

#com_image {
	max-width: 230px;
	height: auto;
	margin: 10px auto 0 30px;
}

#com_psg {
	max-width: 600px;
	height: auto;
	margin: 20px auto 40px;
	padding: 0 40px;
	color: #717272;
}

#com_psg_text {
	font-size: 0.9rem;
	line-height: 2;
}

@media screen and (max-width: 768px) {
	
	#com_icon {
		width: 220px;
		margin: 40px auto 0;
	}
	
	#com_icon img {
		width: 220px;
	}
	
	#com_psg_text {
		text-align: center;
	}
	
	#com_image {
		width: 200px;
		margin: 5px auto;
	}
	
	#com_image img {
		width: 200px;
	}
}

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

#goto_top {
    position: fixed;
    right: 2%;
    bottom: 1%;
}

#goto_top a {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-image: url("../img/arrow.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #FFF;
    display: inline-block;
} 

@media screen and (max-width: 768px) {
	
	#goto_top a {
		display: none;
	}
}

/* -----------------------------------------------------------------
   footer
----------------------------------------------------------------- */

#footer {
	width: 100%;
	height: auto;
	padding-top: 10px;
}

#foot_navi {
	max-width: 260px;
	height: 40px;
	margin: 10px 100px 0 auto;
	display: flex;
}

#foot_navi a {
	font-size: 0.9rem;
	text-decoration: none;
	color: #5F6060;
}

#copy_box {
	width: 100%;
	height: 80px;
	padding: 20px;
	background-color: #30A9CE;
}

#copy {
	width: 200px;
	height: 30px;
	margin: auto;
	padding-top: 10px; 
	font-size: 0.9rem;
	color: #FFF;
	text-align: center;
}

@media screen and (max-width: 768px) {
		
	#foot_navi {
		margin: 0 auto 10px;
	}
	
	#copy {
		font-size: 1.0rem;
	}
		
}
