@charset "utf-8";

/*------------------------------------------------------------------------------
  reset
------------------------------------------------------------------------------*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

body {
line-height:1;
}

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

nav ul {
list-style:none;
}

blockquote, q {
quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}

a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}

/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}

/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000; 
font-style:italic;
font-weight:bold;
}

del {
text-decoration: line-through;
}

abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}

table {
border-collapse:collapse;
border-spacing:0;
}

/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;   
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}

input, select {
vertical-align:middle;
}

img {
vertical-align: top;
}

ul, li {
list-style: none;
}


/* -------------------------------- 

Primary style

-------------------------------- */
html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
	font-family:  'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'HiraKakuPro-W3', 'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
	color: #333333;	
	margin: 0px; 
	padding: 0px; 
	text-align: left;
	font-size: 16px;
	line-height: 1.8;
}

body, html {
	min-height: 100vh!important;
}
h2 {font-size: 2.5em;}	
h3 {font-size: 1.5em;}
h4 {font-size: 1.2em;}
strong {font-size: 1.4em; display:block;}
a:link { color: #c9062c; }
a:visited { color: #c9062c; }
a:hover { color: #c9062c; }
a:active { color: #c9062c; }

.pc-on {display: block !important;}
.pc-off {display: none !important;}
.sp-on {display: none !important;}
.w100 {width: 100%;}
.w50 {width: 50%;}
.bdr { border:1px solid #000; }

.f150 {font-size: 1.5em;}
.f120 {font-size: 1.2em;}

.accent { color: #928a5c; }
.underline {
	background: linear-gradient(transparent 60%, #d5cfb1 30%);
	width: 100%;
	padding:5px;
}

.left { text-align: left!important; }
.right { text-align: right!important; }
	
/*
* img-responsive
*/
img.responsive {
	width: 100%;
	max-width: 100%;
	height: auto;
}
/*
* clearfix
*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 1px;
	line-height: 0;
}
.clearfix { display: inline-block; }
.clearfix { display: block; }
/*
* onmouse
*/
a.onmouse:hover img{
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

#page-top {
	position: fixed;
	opacity: 0;
	z-index:1000;
	cursor: pointer;
    right: -20px;
    bottom: 80px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 1em!important;
    line-height: 1.5rem;
    color: #737373;
    padding: 0 0 0 35px;
    border-top: solid 1px;
    display: block;
}

#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}

#page-top.fade-in {
	color: #000;
	font-size: auto;
	opacity: 0.6;
	transition: opacity 1s;
}


	h1.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:5s;
	animation-fill-mode:forwards;
	opacity:0;
	}

	div.fadeIn2{
	animation-name:fadeInAnime;
	animation-duration:5s;
	animation-delay: 1s;
	animation-fill-mode:forwards;
	opacity:0;
	}

	@keyframes fadeInAnime{
	from {
	opacity: 0;
	}

	to {
	opacity: 1;
	}
	}


/* -------------------------------- 

Maincontents style

-------------------------------- */

/* -------- #section 共通 ---------- */

	section{
	position: relative;
	width: 100%;
	text-align:center;
	background-color: #fff;
	}

	section div.wrap{
	padding:80px auto!important;
	display:block;
	max-width:1000px;
	width:100%;
	margin:0 auto;
	}

	section h2 {
	display:inline;
	padding:25px;
	margin-bottom:50px!important;
	border-bottom:3px solid #c9ccce
	}
	
	section .scroll {
	position: absolute;
	bottom: 50px;
	left: 50%;
	height: 0;
	text-decoration: none;
	font-weight: bold;
	transform: rotate(90deg);
	font-size: 90%;
	line-height: 1.5rem;
	color: #fff;
	padding: 0 0 0 10px;
	border-top: solid 1px;
	z-index:100;
	cursor: pointer;
	}
	
	section .scroll a {
	color: #fff!important;
	}
	
	#section1 .scroll a {
	color: #004c6f!important;
	}
	#section1 .scroll {
	color: #004c6f!important;
	}
	
	section .scroll::before {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	right: 0px;
	width: 15px;
	border-top: solid 1px;
	transform: rotate(35deg);
	transform-origin: right bottom;
	}

/* -------- #section0 ---------- */

	#section0 {
	background: url("images/main-img.png") no-repeat bottom center;
	background-size:cover;
	height: 100vh!important;
	}
	
	#section0 div.back-color{
	position:relative;
	width: 100%!important;
	height: 100vh!important;
	background-color: rgba(15, 5, 5, 0.7);
	}

	#section0 div.title{
	position:absolute;
	width: 100%!important;
	top: 32%;
	left: 50%;
	transform: translate(-50%, -30%);
	-webkit-transform: translate(-50%, -30%);
	-ms-transform: translate(-50%, -30%);
	color:#fff;
	}

	#section0 div.title div.copy{
	font-size:2em;
	margin-top:1.2em;
	}

	#section0 div.title div.copy span{
	font-size:1.5em;
	color:#bdb275;
	}

	#section0 div.title div.copy p{
	font-size:0.8em;
	color:#fff;
	margin-top:20px;
	}

	#section0 div.menu{
	position:absolute;
	display:flex;
	bottom: 0;
	left: 0;
	width: 100%!important;
	padding:15px 0 ;
	background-color: rgba(0, 0, 0, 0.6);
	}

	#section0 div.menu p{
	width: 50%;
	font-size:2.0em;
	color:#bdb275;
	}

	#section0 div.menu p a{
	color:#bdb275;
	text-decoration:none;
	}

@media(min-width: 768px){
	#section0 div.menu p a[href^="tel:"]{
	 pointer-events: none;
	}
}

	#section0 div.menu span{
	display:block;
	font-size:0.5em;
	color:#fff;
	margin-left:26px;
	}

	#section0 div.menu p.mail::before {
	content: "";
	display: inline-block;
	width: 36px;
	height: 26px;
	background:url(images/mail.png) no-repeat center left;
	background-size: contain;
	margin:0 10px 0 0;
}

	#section0 div.menu p.tel::before {
	content: "";
	display: inline-block;
	width: 26px;
	height: 40px;
	background:url(images/tel.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin:0 10px 0 0;
}


/* -------- #section1 ---------- */


	#section1 {
	background-color: #eaeaea;
	padding:80px 0;
	}

	#section1 div.message{
	text-align:center!important;
	margin-top:50px;
	}

	#section1 div.message p{
	font-size:1.2em;
	font-weight:bold;
	margin-bottom:30px;
	}
	
	#section1 div.business-detail{
	position:relative;
	margin:80px 0;
	width:100%;
	}

	#section1 div.business-detail{
	overflow:hidden;
	}

	#section1 div.business-detail h3{
	position:absolute;
	background-color: rgba(255, 255, 255, 0.7);
	width:28%;
	height: 100%!important;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	text-align:center;
	z-index:100;
	}

	#section1 div.business-detail h3 p{
	position:relative;
	top:40%;
	font-size:1.5em;
	}
	#section1 div.business-detail h3 p span{
	display:block;
	font-size:0.5em;
	font-weight:normal;
	}

	#section1 div.business-detail ul{
	display:flex;
	max-width:1000px;
	width:100%;
	margin:0 auto;
	}
	#section1 div.business-detail ul li{
	position: relative;
	width:50%;
	z-index:25;
	}
	#section1 div.business-detail ul li img{
	width:500px;
	height:auto;
	}

	#section1 div.business-detail ul li.full{
	position: relative;
	width:100%;
	z-index:25;
	}
	#section1 div.business-detail ul li.full img{
	width:100%!important;
	height:auto;
	}

	#section1 div.business-detail ul li span.icatch-left{
	position: absolute;
	top: 62px;
	left: -85px;
	background-color:#000;
	color:#ccc;
	font-size:1.2em;
	padding:5px 45px;
	transform: rotate( 90deg );
	z-index:50;
	}

	#section1 div.business-detail ul li span.icatch-right{
	position: absolute;
	bottom: 55px;
	right: -75px;
	background-color:#bdb275;
	color:#fff;
	font-size:1.2em;
	padding:5px 45px;
	transform: rotate( 90deg );
	z-index:50;
	}

/* -------- #section2 ---------- */

	#section2 {
	background-color: #fff;
	padding:80px 0;
	}

	#section2 h3{
	display:inline-block;
	font-size:2.5em;
	margin:100px 0 80px 0;
	color:#bdb275;
	background: linear-gradient(transparent 60%, #f2f0e3 30%);
	padding:5px;
	}

	#section2 h4{
	font-size:1.8em;
	color:#bdb275;
	margin:30px;
	}

	#section2 div.flow{
	display:flex;
	justify-content: center;
	margin-bottom:50px;
	}


	#section2 div.flow div{
	position: relative;
	position: flex;
	width:30%;
	}

	#section2 div.flow div:after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 0 24px 32px;
	border-color: transparent transparent transparent #bdb275;
	position: absolute;
	top: 50%;
	right: -20px;
	margin-top: -6px;
	}

	#section2 div.flow div:last-child:after{
	display:none;
	}

	#section2 div.flow div p{
	display: flex;
	justify-content: center;
	align-items: center;
	height:178px;
	}
	#section2 div.flow div p img{
	vertical-align: middle;
	}
	#section2 div.flow div span{
	font-size:1.5em;
	margin:10px 0;
	}

/* -------- #section3 ---------- */


	#section3 {
	background-color: #eaeaea;
	padding:80px 0;
	}

	#section3 h3{
	font-weight:normal;
	text-align:left;
	margin:40px 0 20px 0;
	}

	#section3 div{
	margin:80px auto;
	text-align:left;
	}

	#section3 div.box{
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 5px 5px 5px #ccc;
	padding:80px 120px;
	}

	#section3 div ul{
	width:100%;
	}

	#section3 div ul li{
	text-align:left;
	}

	#section3 div ul.profile li{
	display:flex;
	padding:1.5em 0;
	border-bottom:1px solid #ccc;
	}

	#section3 div ul.profile li span:first-child{
	width:20%!important;
	}

	#section3 div ul.list li{
	display:flex;
	padding:1.5em 0;
	background-color:#f7f7f7;
	}
	
	#section3 div ul.list li span.full,
	#section3 div ul.list li span.full:first-child{
	width:100%!important;
	}


	#section3 div ul.list li:nth-child(even){
	background-color:#ebebeb;
	}

	#section3 div ul.list li span:first-child{
	text-align:left;
	width:20%!important;
	padding-left:1.5em;
	}


	#section3 h3.post{
	position: relative;
	font-weight:bold;
	text-align:left;
	margin:0 0 0 25px!important;
	padding:0!important;
	}

	#section3 h3.post:before {
	content: '';
	width: 20px;
	height: 4px;
	display: inline-block;
	background-color: #333;
	position: absolute;
	bottom:12px;
	left: -25px;
	}

	#section3 div.post{
	display:flex;
	margin:10px 0 50px 0!important;
	padding:0!important;
	}

	#section3 div.post div{
	margin:0 30px 0 0;
	padding:0!important;
	}

	#section3 div.post div img{
	border:5px solid #fff;
	}

	#section3 div.post div h4{
	font-size:2em;
	margin-bottom:10px;
	}

	#section3 div.post div h4 span{
	font-size:0.5em;
	font-weight:normal;
	margin-left:10px;
	}

	#section3 div.post div h5{
	font-size:1.2em;
	margin-bottom:10px;
	}

	#section3 div.post div span{
	margin-bottom:10px;
	}

	#section3 div.post div span.web, 
	#section3 div.post div span.contact {
	display:block;
	width:100%;
	padding:15px 0;
	margin-bottom:10px;
	}


	#section3 div.post div span.web::before {
	content: "";
	display: inline-block;
	width: 39px;
	height: 31px;
	background:url(images/profile-web.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin:0 20px 0 2px;
}

	#section3 div.post div span.contact::before {
	content: "";
	display: inline-block;
	width: 43px;
	height: 31px;
	background:url(images/profile-mail.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin:0 20px 0 0;
}

	footer{
	background-color: #000;
	text-align:center;
	font-size:0.8em;
	color:#fff;
	padding:10px 0;
}

