﻿.bg_white {background-color: #fffdf9;}
.bg_color1 {
    background-color: #b59d66;
    background-color: #bb9966;
}
.bg_color3 {background-color: #DA2127;}
.txt_color1 {color: #bb9966;}
.txt_color2 {color: #bb9966;}
.txt_color3 {color: #da2123;}
.border_color1 {border-color: #bb9966;}
.border_color2 {border-color: #bb9966;}
.border_color3 {border-color: #da2123;}
.border_color4 {border-color: #ecdfcb;}
.hvr_bg_color2:hover {background-color: #f1ebe1;}
.hvr_bg_color3:hover {background-color: #DA2127;}
.hvr_txt_color3:hover {color: #da2123;}
.hvr_border_color3:hover {border-color: #DA2127;}

/*--- loading ------------------------------------*/
#loading{
	position: fixed;
	height: 100%;
	width: 100%;
	z-index: 999999;
	background-color: #fffdf9;
}
#loading_circle{
	content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9999999;
    background-color: #bb9966;
	transition: 1.5s;
}
#loading_circle.start{
    width: 3000px;
    height: 3000px;
    background-color: #bb9966;
}
#loading_circle.start2{
    background-color: #fffdf9;
}
#loading_logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 50%;
	max-width: 400px;
	z-index: 99999999;
}
/*フェードインcss*/
.fadein_up{
    transition: transform .5s ease-out, opacity .5s ease-out;
      transform: translatey(80px);
      opacity: 0;
}
.fadein_up.scrollin{
      transform: none;
      opacity: 1;
    transform: translatey(0%);
}

/* ----------　all　---------- */
.linkStyle{
	color:#;
}
.linkStyle:hover{
	color:#;
	opacity: 0.7;
	transition: all 0.5s;
}
body{
    background-color: #fffdf9;
}
#copyright,#page-top a {
background-image: url(Dup/img/back2.jpg);
    background-size: 700px;
}



/* ----------　TOP　---------- */

#intro h2{
font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
    font-size: 40px;
}

#intro p{
font-weight: bold;
    line-height: 2.5;
}
#contents {
    max-width: none;
}
#contents .box_wrap {
    padding-top: 0px;
}
#contents .box {
    padding-top: 0px;
    padding-bottom: 0px;
}
#contents .box .d_flex{
    display: table;
}
#contents .box .d_flex .grid_6{
    display: table-cell;
    vertical-align: middle;
}
#contents .box .d_flex .box_item1 {
    padding: 50px 30px;
}
#contents .box .d_flex .box_item1 h3{
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 25px;
    text-align: center;
}
#contents .box .point{
    text-align: center;
    background-color: #bb9966;
    color: #fff;
    border-radius: 50%;
    width: 90px;
    height: 90px;
    position: relative;
    margin: auto;
    margin-bottom: 30px;
}

#contents .box .point p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
}
#contents .box .point p span{
font-size: 30px;
}
#contents .box .d_flex .box_item2 {
padding: 0;
height: 500px;
}
#contents .box .d_flex .box_item2 figure{
    height: 100%;
    width: 100%;
}
#contents .box .d_flex .box_item2 figure img{
    object-fit: cover;
    font-family: 'object-fit: cover;';
    height: 100%;
    width: 100%;
}
#top_cms{
margin-top: 0px;
    max-width: 100%;
}
#top_cms .cms_title h2{
    font-weight: bold;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 25px;
}
#top_cms .cms_title h2:before{
content: '';
    position: absolute;
    left: 10px;
    bottom: -15px;
    display: inline-block;
    width: 40px;
    height: 2px;
    background-color: #db2222;
}
#top_cms .top_cms_box:first-child {
    width:100%;
    margin: auto;
    margin-bottom: 100px;
    background-color: #b96;
    padding: 80px 0;
    background-image: url(Dup/img/back2.jpg);
}
#top_cms .t_cms_wrap{
    width: 90%;
    margin: auto;
    background-color: #fffdf9;
    padding: 100px 50px;
    max-width: 1280px;
    border-radius: 10px;
}
#top_cms .t_cms_wrap .cms_1-c{
    margin-top: 80px;
    margin-bottom: 80px;
}
/* ----------　TOPアニメーション　---------- */
.img-container{
    overflow: hidden;
    position: relative;
	display: inline-block;
}
.img-container_img{
  
    opacity: 0;
    position: relative;
    transition:all .5s .3s ease; 
    z-index: 0;
}
.img-container:before{
    background:#bb9966;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transform: translateX(-100%);
    transition:all 1.2s 0s ease; 
    width: 100%;
    z-index: 1;     
}
.img-container.active .img-container_img{
    opacity: 1!important;
}
.img-container.active:before{
    transform: translateX(100%);        
}
/* ----------　下層ページ　---------- */
#page_title {
    border-bottom: 2px solid #b96;
}
#page_title h2 span{
    background-color: #bb9966;
}
#page8 #tel_contact a{
color: #fffefc;
}
#page8 #tel_contact a:hover {
    color: #bb9966;
}
#page8 #tel_txt a{
    color: #DA2127;
}
/* ----------　IE　---------- */
@media all and (-ms-high-contrast: none){
  .sample{

  }
}

/* ----------　タブレット　---------- */
@media screen and (max-width: 768px){
.logo {
    width: 250px;
}
#main_img{
    margin-top: 150px;
}
#intro h2 {
    font-size: 35px;
}
#top_cms .t_cms_wrap {
    width: 80%;
    padding: 50px 40px;
}
#page_title #filter_white {
    padding-top: 220px!important;
}
}


/* ----------　スマホ　---------- */
@media screen and (max-width: 667px){
#logo {
    padding-top: 10px;
}
.logo {
    width: 200px;
}
#main_img {
    margin-top: 80px;
}
#intro h2 {
    font-size: 30px;
}
#intro #intro_txt {
    padding-bottom: 50px;
    padding-top: 50px;
}
#contents .box .d_flex {
    display: flex;
}
#contents .box:nth-child(1) .d_flex,#contents .box:nth-child(3) .d_flex{
flex-direction: column-reverse;
}
#contents .box .d_flex .grid_6 {
    display: inline-block;
}
#contents .box .d_flex .box_item2 {
    height: 250px;
    width: 100%!important;
}
#top_cms .top_cms_box:first-child {
    padding: 50px 0;
}
#top_cms .t_cms_wrap {
    width: 80%;
    padding: 50px 20px;
}
#page_title #filter_white {
    padding-top: 150px!important;
}
}