@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600&display=swap');

*{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
}

body{
	font-family:"Quicksand", sans-serif;
	margin-left:20px;
	margin-right:20px;
	line-height:2.0em;
	color:#333333;
}	

/*ディスプレイ幅1040以降で1000に固定*/
@media screen and (min-width:1040px){
	body{
		width:1000px;
		margin-right:auto;
		margin-left :auto;
	}
}
/*スマホ用*/
@media screen and (max-width:800px){
	/*#photo-use img{width:100%;}*/
}

p{margin:15px 0;}

img{
	display: block;
	margin:auto;
	max-width: 100%;
	height:auto;
}

ul,ol{padding-left:30px;}


table{
	border-collapse:collapse;
}
th,td{
	border:1px solid #cccccc;
	padding:5px;
}
th{
	font-weight:normal;
}

rt{
	font-size:0.5em;
}

/********************************************/

a,
a:link,
a:visited{
	color:#999999;
	text-decoration:none;
}
a:hover,
a:active{
	color:#dddddd;
	text-decoration:underline;
}


a.apply-button,
a.apply-button:link,
a.apply-button:visited{
	color:#ffffff;
	text-decoration:none;
	background-color:#9999c0;
	padding:15px;
	border-radius:5px;
	margin-bottom:200px;
}
a.apply-button:hover,
a.apply-button:active{
	color:#ffffff;
	background-color:#333344;
}

/********************************************/

header{
	text-align:center;
}

header a,
header a:link,
header a:visited{
	color:#333333;
	text-decoration:none;
}
header a:hover,
header a:active{
	color:#cccccc;
	text-decoration:none;
}

h1{
	margin-top:40px;
	font-size:2.5em;
	font-weight:400;
	/*font-feature-settings:"palt";*/
}

.main-menu{
	list-style-type:none;
	padding-left:0;
	margin-top:30px;
	margin-bottom:30px;
}
.main-menu li{
	margin:0 15px;
	font-weight:400;
	font-size:1.3em;
}
.flex{
	display:flex;
	justify-content:center;
}

.menu-active a{
	color:#999999 !important;
}

/********************************************/

.grid_item figure,
.grid_item img{
	width:100%;
}
.grid_item a:hover img{
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
}
.grid4{
	margin-top:20px;
	display:grid;
	gap:10px;
	
	/*5列*/
	/*grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));*/
	
	/*4列*/
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}




/********************************************/
/***VR***/

h2{
	margin-top:50px;
	margin-bottom:15px;
	font-size:1.4em;
	font-weight:400;
	line-height:1.8em:
}

h3{
	margin-top:30px;
	margin-bottom:15px;
	font-size:1.2em;
	font-weight:400;
	line-height:1.8em:
}


/*Matterport iframeの縦横比保存*/
.iframe-responsive{
	margin-top:20px;
	margin-bottom:0px;
	padding-top:56.27%;
    position: relative;
	width: 100%;
}
.iframe-responsive iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/********************************************/
/***PHOTO***/

figure{
	text-align:center;
	margin-bottom:20px;
}
figcaption{
	font-size:0.8em;
	line-height:1.4em;
	margin-top:10px;
}

/********************************************/
/***PHOTO-USE***/

ul.box{padding-left:40px;}


/********************************************/
/***TRIP***/
.slider img{
	width:100%;
}
.slider{
	margin-bottom:40px!important;
}


/********************************************/
/***ABOUT***/

/********************************************/
/***COMMON***/
.small-text{
	font-size:0.8em;
}
.big-text{
	font-size:1.4em;
}
.bold-text{
	font-weight:bold;
}
.center{
	text-align:center;
}

.color-text{
	color:#ff0000;
}

.box{
	background-color:#eeeef6;
	padding:15px;
	border-radius:5px;
	margin-bottom:20px;
}

hr{
	border:none;
	border-top: solid 1px #cccccc;
	width:40%;
	margin-right:auto;
	margin-left :auto;
	margin-top:50px;
	margin-bottom:50px;
}

.company-list{
	list-style:none;
	padding-left:0;
}

.mail::after {
	content: attr(data-domain);
}
.mail::before {
	content: attr(data-user) "@";
}

.profile-image{
	border-radius:50%;
}

button{
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	padding:10px;
}

/********************************************/
/***FOOTER-LINK***/
.footer-icon{
	list-style-type:none;
	padding-left:0;
	margin-top:30px;
}
.footer-icon li{
	margin:0 15px;
	font-weight:400;
	font-size:1.5em;
}
.footer-icon .fab, .far{color:#aabbcc;}
.footer-icon .fab:hover, .far:hover{color:#6699ff;}

/********************************************/
/***FOOTER***/
footer{
	margin-top:30px;
	text-align:center;
	font-size:0.7em;
	margin-bottom:50px;
}


/********************************************/
/***TOP-ARROW***/

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: 35px;
  background: #cccccc;
  opacity: 0.5;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 30px;
  color: #fff;
  position: absolute;
  width: 30px;
  height: 30px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}