@charset "UTF-8";

/****/
#mainimg {
	height: 600px;
	background:url(../img/top/mainimg.jpg) no-repeat center center;
	background-size:cover;
	position:relative;
}
#mainimg > div {
	font-size:3.6rem;
	letter-spacing:0.2em;
	line-height:1em;
	color:#990000;
	position:absolute;
	bottom:1em;
	right:calc(50% - 550px);
	text-shadow:0 0 1px #ffffff,0 0 2px #ffffff,0 0 3px #ffffff,0 0 1px #ffffff,0 0 2px #ffffff,0 0 3px #ffffff;
}
#mainimg > div#logo {
	top:20px;
	left:20px;
	width:100px;
}

/****/
#info > div {
	background:#a07d66;
	padding:30px 0;
	text-align:center;
}
#info > div > .fbox {
	width:calc(100% - 60px);
	max-width: 1100px;
}
#info > div > .fbox h1 {
	font-size:2.4rem;
	color:#ffffff;
	font-weight:100;
	letter-spacing:0.2em;
    font-family: 'Cinzel', serif;
    width:300px;
    text-align:left;
}
#info > div > .fbox dl {
	width:calc(100% - 300px);
	text-align:left;
}
#info > div > .fbox dl dd {
	font-size:1.6rem;
	line-height:1.3em;
	letter-spacing:0.1em;
	color:#ffffff;
	width:8em;
}
#info > div > .fbox dl dt{
	font-size:1.6rem;
	line-height:1.3em;
	color:#ffffff;
	width:calc(100% - 8em);
}

#info > div > .fbox > #news {
	width:calc(100% - 300px);
	text-align:left;
	margin-bottom:1em;
}
#info > div > .fbox > #news #information > div {
	margin-bottom:10px;
	border-bottom:1px dotted rgba(255,255,255,.5);
	padding-bottom:10px;
}
#info > div > .fbox > #news #information > div:nth-child(n + 5){
	display:none;
}
#info > div > .fbox > #news dl {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    width:100%;
}
#info > div > .fbox > #news dl dt {
	font-size:1.6rem;
	line-height:1.3em;
	letter-spacing:0.1em;
	color:#ffffff;
	width:8em;
}
#info > div > .fbox > #news dl dd{
	font-size:1.6rem;
	line-height:1.3em;
	color:#ffffff;
	width:calc(100% - 8em);
}

#info > div a {
	font-size:1.4rem;
	letter-spacing:0.1em;
    font-family: 'Cinzel', serif;
    color:#ffffff;
    display:block;
    width:7em;
    line-height:2em;
    text-align:center;
    margin:0 auto;
    border:1px solid #ffffff;
}
#info > div a .svg-inline--fa {
	margin-left:0.2em;
	transition:.3s;
}
#info > div a:hover .svg-inline--fa {
	margin-left:0.5em;
}

/****/
section .contents {
	width:calc(100% - 60px);
	max-width: 1100px;
	box-sizing:border-box;
	padding:90px 0;
	margin:0 auto;
}
section .contents h1 {
	font-size:3.6rem;
    font-family: 'Cinzel', serif;
	font-weight:100;
	line-height:1em;
	letter-spacing:0.2em;
	color:#990000;
	text-align:center;
	margin:0 0 1em;
}

/****/
#concept .contents > p {
	font-size:2.1rem;
	letter-spacing:0.2em;
	color:#a07d66;
	text-align:center;
	margin-bottom:3em;
}
#concept .contents > p br {
	display:none;
}
#concept .contents ul.fbox {
	width: 100%;
}
#concept .contents li {
	width:33.3%;
}
#concept .contents li .img {
    position: relative;
    background:url(../img/top/img1_1.png) no-repeat center top;
    background-size:contain;
    margin-bottom:15px;
}
#concept .contents li:nth-child(2) .img {
    background:url(../img/top/img1_2.png) no-repeat center top;
    background-size:contain;
}
#concept .contents li:nth-child(3) .img {
    background:url(../img/top/img1_3.png) no-repeat center top;
    background-size:contain;
}
#concept .contents li .img::before {
    content: "";
    display: block;
    padding-top: 100%;
}
#concept .contents li .img span {
	font-size:2.6rem;
    font-family: 'Cinzel', serif;
	font-weight:100;
	line-height:1.3em;
	letter-spacing:0.2em;
	display:block;
	width:100%;
	text-align:center;
	color:#990000;	
	text-shadow:0 0 1px #ffffff,0 0 2px #ffffff,0 0 3px #ffffff,0 0 4px #ffffff,0 0 1px #ffffff,0 0 2px #ffffff,0 0 3px #ffffff,0 0 4px #ffffff,0 0 1px #ffffff,0 0 2px #ffffff,0 0 3px #ffffff,0 0 4px #ffffff;
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
}
#concept .contents li h2 {
	font-size:2.1rem;
	text-align:center;
	font-weight:500;
	color:#a07d66;
	letter-spacing:0.1em;
	margin-bottom:0.5em;
}
#concept .contents li p {
	font-size:1.6rem;
	margin:0 1em 1em;
	text-align:center;
}
#concept .contents li > a {
	font-size:1.4rem;
	letter-spacing:0.1em;
    font-family: 'Cinzel', serif;
    color:#990000;
    display:block;
    width:4.5em;
    text-align:center;
    margin:0 auto;
}
#concept .contents li > a .svg-inline--fa {
	margin-left:0.2em;
	transition:.3s;
}
#concept .contents li > a:hover .svg-inline--fa {
	margin-left:0.5em;
}


/****/
#service > div {
	background:url(../img/top/bg.png) repeat center center;
	background-size:auto;
}
#service ul {
	overflow:hidden;
}
#service li {
	width:calc(100%/3);
}
#service li a {
	width:100%;
	position:relative;
}
#service li img {
	width:40%;
}
#service li p,
#service li p span {
	width:calc(60% - .5em);
    font-family: 'Cinzel', serif;
    font-size:2.1rem;
	letter-spacing:0.2em;
	color:#a07d66;
	line-height:1em;
	margin:0;
}
#service li p {
	position:absolute;
	left:calc(40% + 0.5em);
	width:100%;
}
#service li p span {
	color:#ffffff;
}
#service li:nth-last-child(-n+3) img {
	margin-left:60%;
}
#service li:nth-last-child(-n+3) p {
	left:auto;
	right:calc(40% + 0.5em);
	text-align:right;
}
#service li:nth-last-child(-n+2) p {
	right:calc(40% + 0.5em - 4.5em);
}


@media screen and (max-width:1500px){

#mainimg {
	height: 500px;
}

}

@media screen and (max-width:1200px){

}

@media screen and (max-width:1160px){

#mainimg > div {
    right:30px;
}

}

@media screen and (max-width:1000px){

#mainimg {

	height: 400px;
}
#mainimg > div {
    font-size:3.0rem;
}

/****/
#info > div > .fbox h1 {
	font-size:2.1rem;
    width:250px;
}
#info > div > .fbox dl {
	width:calc(100% - 250px);
	text-align:left;
}
#info > div > .fbox dl dd {
	font-size:1.4rem;
}
#info > div > .fbox dl dt{
	font-size:1.4rem;
}

/****/
#concept .contents li .img span {
	font-size:2.1rem;
}
#concept .contents li h2 {
	font-size:1.8rem;
}
#concept .contents li p {
	font-size:1.4rem;
}

/****/
#service li p,
#service li p span {
    font-size:2.1vw;

}

}

@media screen and (max-width:900px){


}

@media screen and (max-width:768px){

#mainimg {

	height: 300px;
}
#mainimg > div {
    font-size:2.4rem;
}

#mainimg > div#logo {
	width:80px;
}

section .contents {
	width:calc(100% - 40px);
	padding:60px 0;
}
section .contents h1 {
	font-size:3.0rem;
}

/****/
#info > div > .fbox {
	width:calc(100% - 40px);
}
#info > div > .fbox h1 {
    width:100%;
    margin-bottom:1em;
}
#info > div > .fbox dl {
    width:100%;
}

#info > div > .fbox > #news {
	width:100%;
}
#info > div > .fbox > #news dl dt {
	font-size:1.5rem;
}
#info > div > .fbox > #news dl dd{
	font-size:1.5rem;
}

/****/
#concept .contents > p {
	font-size:1.8rem;
}

/****/
#service li p,
#service li p span {
    font-size:2.3vw;

}


}

@media screen and (max-width:640px){

#mainimg {

	height: 200px;
}
#mainimg > div {
    font-size:2.1rem;
    text-align:center;
    right:auto;
    width:100%;
    bottom:0.5em;
}

#mainimg > div#logo {
	top:10px;
	left:10px;
	width:60px;
}
/****/
section .contents {
	width:calc(100% - 30px);
	padding:45px 0;
}
section .contents h1 {
	font-size:2.4rem;
}
/****/
#info > div {
	padding:20px 0;
}
#info > div > .fbox {
	width:calc(100% - 30px);
}
#info > div > .fbox h1 {
	font-size:1.8rem;
}
#info > div > .fbox dl {
    width:100%;
}
#info > div > .fbox dl dd {
    width:100%;
	font-size:1.3rem;
	margin-bottom:0.5em;
}
#info > div > .fbox > #news #information > div {
	margin-bottom:10px;
	padding-bottom:0;
}
#info > div > .fbox dl dt{
    width:100%;
	font-size:1.3rem;
}
#info > div > .fbox > #news dl dt {
	font-size:1.4rem;
}
#info > div > .fbox > #news dl dd{
	font-size:1.4rem;
}

/****/
#concept .contents {
	padding-bottom:20px;
}
#concept .contents h1 {
	margin-bottom:0.5em;
}
#concept .contents > p {
	font-size:1.6rem;
	margin-bottom:2em;
}
#concept .contents > p br {
	display:inline;
}
#concept .contents > p span {
	display:none;
}
#concept .contents li {
	width:100%;
	box-sizing:border-box;
	padding-left:90px;
	position:relative;
	margin-bottom:30px;
}
#concept .contents li .img {
	width:80px;
	position:absolute;
	left:0;
	top:0;
}
#concept .contents li .img span {
	display:none;
}
#concept .contents li h2 {
	font-size:1.6rem;
	text-align:left
}
#concept .contents li p {
	margin:0 0 0.5em;
	text-align:left;
	font-size:1.4rem;
}

/****/
#service .contents {
	padding-bottom:30px;
}
#service li {
	width:calc(50% - 10px);
	margin-bottom:15px;
}
#service li img {
	width:80px;
}
#service li:nth-last-child(-n+3) img {
	margin-left:0;
}
#service li p {
	position:relative;
}
#service li p,
#service li p span {
	width:auto;
	color:#a07d66;
	font-size:2.3vw;
}
#service li p {
	position:relative;
	left:0;
	width:calc(100% - 90px);
}
#service li:nth-last-child(-n+3) p {
	right:0;
	text-align:left;
}
#service li:nth-last-child(-n+2) p {
	right:0;
}

}

@media screen and (max-width:480px){


#info > div > .fbox h1 {
	margin-bottom:0.5em;
}
#info > div > .fbox > #news {
	margin-bottom:0.5em;
}
#info > div > .fbox > #news dl dt {
	width:100%;
	margin-bottom:0.3em;
}
#info > div > .fbox > #news dl dd{
	width:100%;
}

#service .contents {
	text-align:center;
}
#service li {
	width:100%;
	margin-bottom:15px;
}
#service ul {
	display:inline-block;
}
#service li p,
#service li p span {
	font-size:1.6rem;
	text-align:left;
}

}