@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kurenaido&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600&family=Mochiy+Pop+One&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@700&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kurenaido&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Dancing+Script:wght@400;500;600&family=Mochiy+Pop+One&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@700&family=Zen+Kaku+Gothic+Antique:wght@400;500;700&family=Zen+Kurenaido&display=swap');
/*===============================================
●PCレイアウト設定 
===============================================*/
@media screen and  (min-width: 651px){
/*メイン画像ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
.index{
position: relative;
font-family: 'Noto Serif JP';
}

.index .main{
position: relative;
width: 100%;
height: 100vh;
overflow: hidden
}
.index .main img{
width: 100%
}
.index .main .maincatch{
position: absolute;
padding-left: 5%;
top:50%;
transform: translateY(-50%);
text-align: center;
font-size: clamp(30px,2.3vw,38px);
color: #FFF;
line-height: 180%;
text-shadow:1px 1px 0 #333, -1px -1px 0 #333,
            -1px 1px 0 #333, 1px -1px 0 #333,
            0px 1px 0 #333,  0-1px 0 #333,
            -1px 0 0 #333, 1px 0 0 #333;
}
.index .box1{
padding:100px 0;
}
.index .box1 .catch{
font-size: clamp(18px,2.0vw,30px);
font-weight: 600;
font-family: 'Noto Serif JP';
margin-bottom: 50px;
line-height: 180%;
text-align: center
}
.index .box1 .lead{
position: relative;
padding: 30px 0;
}
.index .box1 .lead .photo{
width: 50%;
border-radius: 5px;
overflow: hidden;
box-shadow: 20px 20px 0px 0px rgba(0, 0, 0, 0.2);
}
.index .box1 .lead .photo img{
width: 100%;
}
.index .box1 .lead .com{
background-color: rgba(255,255,255,0.7);
padding: 3%;
width: 40%;
top:30%;
left:40%;
position: absolute;
border-radius: 8px;
}
.index .box1 a{
display: block;
margin: 0 auto;
margin-top: 60px;
font-size: 2.5rem;
font-weight: 500;
width: 350px;
max-width: 90%;
transition: 0.8s
}
.index .box1 a:hover{
background-color: rgba(255,255,255,0.7)
}


.index section.box_fixed{
    position: -webkit-sticky;/*Safari*/
    position: sticky;
	top:0;
  /*装飾のためのCSS*/
  background-color: #000
}
.index section.box_fixed .photo{
position: relative
}
.index section.box_fixed .photo img{
width: 100%;
  opacity: 0;
  -moz-transition: -moz-transform 1.2s linear;
  -webkit-transition: -webkit-transform 1.2s linear;
  -o-transition: -o-transform 1.2s linear;
  -ms-transition: -ms-transform 1.2s linear;
  transition: transform 1.2s linear;
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.index section.box_fixed .photo .capture{
color: #FFF;
font-size: clamp(18px,2.3vw,38px);
color: #FFF;
line-height: 180%;
text-shadow:1px 1px 0 #333, -1px -1px 0 #333,
            -1px 1px 0 #333, 1px -1px 0 #333,
            0px 1px 0 #333,  0-1px 0 #333,
            -1px 0 0 #333, 1px 0 0 #333;
position: absolute;
top: 30%;
left: 5%;
}
.img-blur {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: 16s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

.index .box4{
position: relative;
height: 100vh;
background-image: url("../images/index/bg_box4.png");
background-color: #FFF;
color: #EEE
}
.index .box4 .com{
position: absolute;
top:20%;
left:4vw;
width: 30%;
font-size: clamp(1.6rem,2.0vw,2.5rem); 
color: #EEE
}
.index .box4 .subtitle_eg{
font-family: 'Dancing Script', cursive;
font-size: clamp(2.0rem,4.0vw,6.0rem);
font-weight: 600;
margin-bottom: 25px;
}
.index .box4 .com a{
display: block;
width: 80%;
border: #CCC 1px solid;
margin-top: 60px;
text-align: center;
padding: 7px 0;
font-size: 2.0rem;
transition: 0.5s;
color: #CCC
}
.index .box4 .com a:hover{
background-color: #FFF
}
.index .box4 .right{
width: 65%;
padding-left: 35%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .box4 .right .inner_left{
width: 52%;
padding-top: 3vw
}
.index .box4 .right .inner_left li{
display: block;
border-bottom: #CCC 1px solid;
border-top: #CCC 1px solid;
padding: 20px 0;
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .box4 .right .inner_left li .list_left{
width: 30%;
}
.index .box4 .right .inner_left li .list_left img{
width: 100%;
}
.index .box4 .right .inner_left li .list_right{
width: 65%;
}
.index .box4 .right .inner_left li .list_right .areaname{
font-size: 2.0rem;
padding-bottom: 10px;
}
.index .box4 .right .inner_right{
width: 45%;
height: 100vh;
overflow: hidden
}
.index .box4 .right .inner_right img{
width: 100%;
}
.index .box6{
background-color: #f4f4f4;
padding: 100px 0 50px 0;
}
.index .box6 .subtitle{
font-family: 'Dancing Script', cursive;
font-size: clamp(2.0rem,4.5vw,7.0rem);
text-align: center;
}
.index .box6 .flex_box6{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 100px;
width: 100%;
overflow: hidden
}
.index .box6 .flex_box6 .left{
width: 25%;
position: relative
}
.index .box6 .flex_box6 .left .text_left{
width: 100%;
position: absolute;
top:20%;
}
.index .box6 .flex_box6 .left .text_left .subtitle{
font-family: 'Noto Serif JP';
font-size: clamp(2.0rem,2.2vw,3.5rem);
font-weight: 600;
text-align: center
}
.index .box6 .flex_box6 .left a{
display: block;
width: 80%;
border: #666 1px solid;
margin: 60px auto 0 auto;
text-align: center;
padding: 7px 0;
font-size: 2.0rem;
transition: 0.5s;
color: #666
}
.index .box6 .flex_box6 .left a:hover{
background-color: #FFF
}

.index .box6 .flex_box6 .right{
width: 72%;
position: relative;
padding-bottom: 8vw
}
.index .box6 .flex_box6 .right .photo{
border-radius: 5px;
overflow: hidden
}
.index .box6 .flex_box6 .right .photo img{
width: 100%
}
.index .box6 .flex_box6 .right .com{
background-color: rgba(000,000,000,0.6);
padding: 3%;
color: #FFF;
position: absolute;
width: 70%;
top:20vw;
left: 5%;
border-radius: 5px
}
.index .box7{
background-color: #fff;
background-image: url("../images/common/bg_contact.png")
}
.index .flex_box7{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .flex_box7 .left{
width: 30%;
}
.index .flex_box7 .left img{
width: 100%;
}
.index .flex_box7 .right{
width: 70%;
padding: 100px 0 50px 0
}
.index .box7 .subtitle{
font-family: 'Dancing Script', cursive;
font-size: clamp(2.0rem,4.5vw,7.0rem);
text-align: center;
}
.index .box7 .tel{
border-bottom: #999 2px solid;
border-top: #999 2px solid;
text-align: center;
font-size: 3.5rem;
color: #666;
font-weight: 600;
padding: 25px 0;
width: 750px;
max-width: 90%;
margin: 30px auto
}
.index .box7 .bt_contact{
width: 750px;
max-width: 90%;
margin: 0 auto 20px auto
}
.index .box7 .bt_contact img{
width: 100%;
}
.index .box7 .bt_contact a:hover img{
opacity: 1.0
}
/*きらっと光る*/

.btnshine{
    /*キラッと光る基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/  
  display:inline-block;
    background: #333;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    outline: none;
    overflow: hidden;
}

/*キラッと光る*/
.btnshine::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
    width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.btnshine:hover::before {
  animation: shine 1.4s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}


.index .box7 .add{
font-size: 1.4rem;
margin: 0 auto;
width: 750px;
max-width: 90%;
line-height: 130%
}

/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}
/*VR-----------------------------------------*/
.vr{
padding: 100px 0;
font-family: 'Noto Sans JP';
	font-size: 1.6rem;
}
.vr .subtitle{
font-size: 2.8rem;
font-weight: 500;
text-align: center;
padding: 100px 0 50px 0;
font-family: 'Noto Serif JP';
}
.vr .box1{
width: 1400px;
max-width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.vr .box1 .com{
width: 48%;
position: relative
}
.vr .box1 .com .comtext{
position: absolute;
width: 100%;
top:50%;
transform: translateY(-50%);
font-size: 1.8rem;
line-height: 180%
}
.vr .box1 .photo{
width: 50%
}
.vr .box1 .photo img{
width: 100%
}
.vr .box2{
padding-bottom: 100px;
background-color: #F4F4F4
}
.vr .box2 .nagomi{
width: 1200px;
max-width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-bottom: 50px;
}
.vr .box2 .nagomi .com{
width: 65%;
line-height: 180%;
font-size: 1.6rem
}
.vr .box2 .nagomi .com .photo2{
padding-top: 50px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
	}
.vr .box2 .nagomi .com .photo2 img{
width: 33%;	
	}
.vr .box2 .nagomi .photo{
width: 33%;
border-radius: 7px;
overflow: hidden
}
.vr .box2 .nagomi .photo img{
width: 100%;
}
.vr .box2 .subtitle2{
background-color: #444;
color: #FFF;
font-size: 2.2rem;
font-weight: 600;
padding: 5px 5px 5px 15px;
margin-bottom: 20px;
border-radius: 7px;
}
.vr .box2 .subtitle2 .text1{
font-size: 1.6rem
}
.vr .box2 .flex-case{
width: 1200px;
max-width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-bottom: 50px;
}
.vr .box2 .flex-case .inner{
width: 49%;
padding-bottom: 30px;
font-size: 1.6rem;
line-height: 180%
}
.vr .box2 .flex-case .inner .photo{
margin: 10px auto;
width: 90%;
border-radius: 7px;
overflow: hidden

}
.vr .box2 .flex-case .inner .photo img{
width: 100%;
}
.vr .box3{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-bottom: 100px;
width: 1200px;
max-width: 90%;
margin:0 auto;
}
.vr .box3 .com{
width: 65%;
line-height: 180%;
font-size: 1.8rem
}
.vr .box3 .photo{
width: 33%;
}
.vr .box3 .photo img{
width: 100%;
}
/*会社案内-----------------------------------------*/
.profile{
padding: 100px 0;
font-family: 'Noto Sans JP';
	font-size: 1.6rem;
}
.profile .box1{
width: 1000px;
max-width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.profile .box1 .com{
position: relative;
line-height: 210%
}

.profile .box2{
width: 1200px;
max-width: 90%;
margin: 100px auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.profile .box2 table{
width:100%;
	}
.profile .box2 table td{
padding-bottom: 3px;
border-bottom: #666 1px dotted;
padding-top: 20px;
font-size: 1.6rem
}
.profile .box2 table td:nth-child(1){
width: 20%;	
	}
.profile .box2 table td:nth-child(2){
width: 75%;
	}
.profile .box3{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding-top: 50px;
width: 100%
	}
.profile .box3 .map{
width: 75%;
	}
.profile .box3 .access{
width: 20%;
	}

/*お問い合わせ-----------------------------------------*/
.contact{
padding: 100px 0;
font-family: 'Noto Sans JP';
}
	.contact h2{
		font-size: 2.0rem;
		padding-top: 50px
	}
.contact .box1{
	width:1000px;
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
	padding:80px 0 ; 
	color:#163d54; 
	line-height:160%;
}
.contact .box1 h4{
	font-size:20px;
	font-weight:bold;
	color:#999;
	background-color: transparent;
	padding-top: 30px;
	font-size: 18px;
}
.contact .box1 .tel{
color: #2976B5;
border-top: #2976B5 3px solid;
border-bottom: #2976B5 3px solid;
margin-top: 50px;
padding: 25px 0;
max-width: 100%;
text-align: center;
font-size: 3.0rem;
	font-weight: bold;
}

.contact .box_form{
width: 1000px;
max-width: 90%;
margin: 0 auto
}
.contact table{
	width:100%;
	border-collapse:collapse;
}
.contact table th{
	width:20%;
	text-align:left;
	padding:1%;
	font-weight:normal;
	color: #090F3B;
	padding-bottom: 30px
}
.contact table td{
	padding:1%;
	padding-bottom: 30px
}

.contact table textarea {
width: 80%;
height: 10em;
	border:#CCC 1px solid;
}
.contact table label{
	display:block;
}
.contact table input[type="text"]{
	width:70%;
	border:#CCC 1px solid;
	height: 23px
}
.contact table .num input[type="text"]{
	width:10%;
}
.contact table input[type="email"]{
	width:70%;
	border:#CCC 1px solid;
	height: 23px
}
.contact input[type="submit"]{
	width:400px;
	border:#FFF 1px solid;
	background-color:#4D6498;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#FFF;;
	padding:15px 0;
	margin-top:30px;
	margin-bottom:30px;
	display:block;
	cursor:pointer;
	margin-left:auto;
	margin-right:auto;
}
.contact input[type="submit"]:hover{
	background-color:#4284c0;
}
/*お知らせ-----------------------------------------*/
.news{
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
font-weight: 500
}
.news .pagetitle{
position: relative;
width: 1600px;
max-width: 85%;
margin: 0 auto 50px auto
}
.news .pagetitle img{
width: 100%;
}
.news .pagetitle .text_title{
position: absolute;
width: 9%;
top:50%;
left: 50%;
transform: translateY(-20%) translateX(-50%)
}
.news .pagetitle .text_title img{
width: 100%
}
.news .flex_news{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 100px 0 200px 0;
width: 1300px;
max-width: 90%;
margin: 0 auto;
}
.news .flex_news .article{
width: 73%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-right: #9C1846 1px solid;
padding-right: 2%;
}
.news .flex_news .aside{
width: 21%;
padding-left: 1%
}
.news .article::before{
  content:"";
  display: block;
  width:22%;
  order:1;
}
.news .article::after{
  content:"";
  display: block;
  width:22%;
}
.news .article a{
width: 22%;
display: block;
box-sizing: border-box;
transition: 0.5s
}
.news .article a:hover{
color: #9C1846
}
.news .article a{
width: 22%;
display: block;
box-sizing: border-box;
}
.news .article a .photo{
position: relative;
width: 100%;
padding-top: 70%;
overflow: hidden
}
.news .article a .photo img{
width: 100%;
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%)
}
.news .article a .date{
font-size: 1.2rem
}
.news .article a .cat{
display: inline-block;
border: #9C1846 1px solid;
border-radius: 20px;
text-align: center;
color: #9C1846;
padding: 0.3% 10%;
margin-right: 2%;
font-size: 1.5rem;
font-weight: 600;
}
.news .article a .com{
padding-top: 3px;
font-size: 1.4rem;
font-weight: 600
}
.news .flex_news .aside .title_cat{
font-size: 2.0rem;
font-weight: bold;
padding-bottom: 2px;
border-bottom: #666 4px double;
color: #666;
margin-bottom: 25px
}
.news .flex_news .aside li{
list-style: none
}
.news .flex_news .aside a{
display: block;
color: #9C1846;
font-size: 1.6rem;
font-weight: 600;
border-bottom: #9C1846 1px dotted;
margin-bottom: 15px;
transition: 0.8s;
padding: 1%;
padding-bottom: 2px;
}
.news .flex_news .aside a:hover{
background-color: #f4f4f4
}
.news .termname{
font-size: 2.0rem;
color: #666;
border-bottom: solid 3px #666;
width: 1300px;
max-width: 90%;
margin: 0 auto;
position: relative;
font-weight: 600;
letter-spacing: 0.1em
}

.news .termname:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9C1846;
  bottom: -3px;
  width: 20%;
}
.news .kiji{
width: 100%
}
.news .kijititle{
font-size: 2.0rem;
color: #666;
border-bottom: solid 3px #666;
position: relative;
font-weight: 600;
letter-spacing: 0.1em;
margin-bottom: 80px
}

.news .kijititle:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9C1846;
  bottom: -3px;
  width: 20%;
}
.news .kiji img{
max-width: 80%;
display: block;
margin: 10px auto;
padding: 1%;
border: 1px #666 solid
}
.news .bt_news{
width: 1300px;
max-width: 90%;
margin: 0 auto 50px auto;
}
.news .bt_news a{
width: 220px;
display: block;
color: #FFF;
background-color: #9C1846;
text-align: center;
font-size: 1.6rem;
font-weight: 600;
padding: 5px 0;
border-radius: 20px;
}
/*個人情報-----------------------------------------*/
.privacy{
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
font-weight: 500;
padding: 2%;
width: 1000px;
max-width: 85%;
margin: 100px  auto;
border: #666 1px solid;
}
.privacy .box1{
padding-bottom: 50px
}
.privacy ul{
 padding: 20px 0;
 margin-bottom: 40px;
}
.privacy li{
  border-bottom: #666 1px dotted;
  display: block;
  margin-bottom: 25px;
}
.privacy ol {
background-color: #f4f4f4;
padding: 2%;
font-weight: 600;
margin-top: -20px
}
.pager {
 font-size: 14px
 }
.pager a{
 background-color: #EEE;
 color: #666;
 padding: 3px 15px;
 font-size: 14px
}

.pager{
width: 650px;
padding: 40px 0;
font-size: 1.5rem;
color: #333;
margin: 0 auto
}
.pager a{
display: inline-block;
background-color: transparent ;
color: #333;
font-size: 1.6rem!important;
padding: 4px 10px!important;
border: #036 1px solid
}
.pager .prev{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.pager .next{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.case .pager .dots{
display: inline-block;
padding-right: 6px
}
.pager .current{
display: inline-block;
padding-right: 6px;
font-size: 1.5rem;
font-weight: 600
}
.pager table{
width: 600px;
margin: 0 auto
}
.pager td a{
border: none;
font-size: 2.0rem;
font-weight: 600;
text-decoration: underline;
display: inline-block;
background-color: #F4F4F4;
padding: 4px 15px;
text-align: center
}
.pager td:nth-child(2){
text-align: right;
width: 50%
}
}
/*===============================================
●スマホれいあうと設定 画面の横幅が650px以下
===============================================*/
@media screen and  (max-width: 650px){
/*タイトルエリアーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
/*メイン画像ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
.index{
position: relative;
font-family: 'Noto Serif JP';
}

.index .main{
position: relative;
width: 100%;
}
.index .main img{
width: 100%
}
.index .main .maincatch{
position: absolute;
padding-left: 5%;
top:60%;
transform: translateY(-50%);
font-size: 5.0vw;
color: #FFF;
line-height: 180%;
text-shadow:2px 2px 0 #333, -2px -2px 0 #333,
            -2px 2px 0 #333, 2px -2px 0 #333,
            0px 2px 0 #333,  0-2px 0 #333,
            -2px 0 0 #333, 2px 0 0 #333;
}
.index .box1{
padding:50px 0;
background-image: url("../images/index/bg_box1.png");
background-repeat: repeat-y;
}
.index .box1 .catch{
font-size: 5.0vw;
font-weight: 600;
font-family: 'Noto Serif JP';
margin-bottom: 50px;
line-height: 180%;
text-align: center
}
.index .box1 .lead{
position: relative;
}
.index .box1 .lead .photo{
border-radius: 5px;
overflow: hidden;
box-shadow: 20px 20px 0px 0px rgba(0, 0, 0, 0.2);
}
.index .box1 .lead .photo img{
width: 100%;
}
.index .box1 .lead .com{
background-color: rgba(255,255,255,0.7);
padding: 3%;
width: 80%;
margin:20px auto;
margin-top: -40px;
border-radius: 8px;
}
.index .box1 a{
display: block;
margin: 0 auto;
margin-top: 60px;
font-size: 2.5rem;
font-weight: 500;
width: 350px;
max-width: 90%;
transition: 0.8s
}
.index .box1 a:hover{
background-color: rgba(255,255,255,0.7)
}


.index section.box_fixed{
    position: -webkit-sticky;/*Safari*/
    position: sticky;
	top:0;
  /*装飾のためのCSS*/
  background-color: #000;
  height: 100vh
}
.index section.box_fixed .photo{
position: relative
}
.index section.box_fixed .photo img{
width: 100%;
  opacity: 0;
  -moz-transition: -moz-transform 1.2s linear;
  -webkit-transition: -webkit-transform 1.2s linear;
  -o-transition: -o-transform 1.2s linear;
  -ms-transition: -ms-transform 1.2s linear;
  transition: transform 1.2s linear;
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.index section.box_fixed .photo .capture{
color: #FFF;
font-size: 6.0vw;
color: #FFF;
line-height: 180%;
text-shadow:2px 2px 0 #333, -2px -2px 0 #333,
            -2px 2px 0 #333, 2px -2px 0 #333,
            0px 2px 0 #333,  0-2px 0 #333,
            -2px 0 0 #333, 2px 0 0 #333;
position: absolute;
top: 40%;
left: 5%;
}
.img-blur {
  -webkit-animation-name: imageBlur;
  animation-name: imageBlur;
  opacity: 1;
  transition: 16s;
}

@-webkit-keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
    opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}
@keyframes imageBlur {
  from {
    opacity: 0;
    -webkit-filter: blur(15px);
    -moz-filter: blur(15px);
    -ms-filter: blur(15px);
    -o-filter: blur(15px);
    filter: blur(15px);
  }

  to {
      opacity: 1;
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
  }
}

.index .box4{
position: relative;
background-image: url("../images/index/bg_box4.png");
background-color: #FFF;
color: #EEE;
padding-bottom: 50px
}
.index .box4 .com{
padding-top: 20px;
text-align: center;
font-size: clamp(1.6rem,2.0vw,2.5rem); 
color: #EEE
}
.index .box4 .subtitle_eg{
font-family: 'Dancing Script', cursive;
font-size: 4.0rem;
padding-top: 10px;
font-weight: 600;
margin-bottom: 25px;
}
.index .box4 .com a{
display: block;
width: 80%;
margin: 30px auto;
border: #CCC 1px solid;
margin-top: 60px;
text-align: center;
padding: 7px 0;
font-size: 1.6rem;
transition: 0.5s;
color: #CCC
}
.index .box4 .com a:hover{
background-color: #FFF
}
.index .box4 .right{
width:90%;
margin:  0 auto;
}
.index .box4 .right .inner_left{
padding-top: 3vw
}
.index .box4 .right .inner_left li{
display: block;
border-bottom: #CCC 1px solid;
padding-bottom: 5px;
margin-bottom: 20px;
line-height: 130%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .box4 .right .inner_left li .list_left{
width: 30%;
}
.index .box4 .right .inner_left li .list_left img{
width: 100%;
}
.index .box4 .right .inner_left li .list_right{
width: 65%;
}
.index .box4 .right .inner_left li .list_right .areaname{
font-size: 1.8rem;
padding-bottom: 15px;
}
.index .box4 .right .inner_right{
display: none
}

.index .box6{
background-color: #f4f4f4;
padding: 50px 0;
width: 100%!important;
}
.index .box6 .subtitle{
font-family: 'Dancing Script', cursive;
font-size: 4.0rem;
text-align: center;
}
.index .box6 .flex_box6{
padding-top: 50px;
width: 100%;
overflow: hidden
}
.index .box6 .flex_box6 .left{
width:90%;
margin: 0 auto;
position: relative
}
.index .box6 .flex_box6 .left .text_left{
width: 100%;
}
.index .box6 .flex_box6 .left .text_left .subtitle{
font-family: 'Noto Serif JP';
font-size: clamp(2.0rem,2.2vw,3.5rem);
font-weight: 600;
text-align: center
}
.index .box6 .flex_box6 .left .icon{
width: 90%;
margin: 0 auto;
padding-top: 10px
}
.index .box6 .flex_box6 .left .icon img{
width: 100%
}
.index .box6 .flex_box6 .left a{
display: block;
margin: 30px auto;
font-size: 1.8rem;
font-weight: 500;
border: #333 1px solid;
text-align: center;
padding: 5px 0;
width: 90%;
transition: 0.8s
}
.index .box6 .flex_box6 .right{
width: 90%;
margin: 0 auto;
position: relative;
padding-bottom: 8vw;
}
.index .box6 .flex_box6 .right .photo{
border-radius: 5px;
overflow: hidden
}
.index .box6 .flex_box6 .right .photo img{
width: 100%
}
.index .box6 .flex_box6 .right .com{
background-color: rgba(000,000,000,0.6);
padding: 5%;
padding-bottom: 10%;
color: #FFF;
margin: -40px auto 0 auto;
width: 80%;
border-radius: 5px
}
.index .box7{
background-color: #fff;
background-image: url("../images/common/bg_contact.png");
width: 100%!important
}
.index .box7 a{
text-decoration: none
}
.index .flex_box7{
width: 100%
}
.index .flex_box7 .left{
display: none
}

.index .flex_box7 .right{
width:90%;
padding: 50px 0 50px 0;
margin: 0 auto
}
.index .box7 .subtitle{
font-family: 'Dancing Script', cursive;
font-size: 4.0rem;
text-align: center;
}
.index .box7 .tel{
border-bottom: #999 2px solid;
border-top: #999 2px solid;
text-align: center;
font-size: 3.5rem;
color: #666;
font-weight: 600;
padding: 25px 0;
width: 750px;
max-width: 90%;
margin: 30px auto
}
.index .box7 .bt_contact{
width: 100%;
margin: 0 auto 20px auto
}
.index .box7 .bt_contact img{
width: 100%;
}
.index .box7 .bt_contact a:hover img{
opacity: 1.0
}
/*きらっと光る*/

.btnshine{
    /*キラッと光る基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/  
  display:inline-block;
    background: #333;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    outline: none;
    overflow: hidden;
}

/*キラッと光る*/
.btnshine::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
    width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.btnshine:hover::before {
  animation: shine 1.4s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}


.index .box7 .add{
font-size: 1.4rem;
margin: 0 auto;
width: 750px;
max-width: 90%;
line-height: 130%
}

/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:2.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}
/*VR-----------------------------------------*/
.vr{
padding: 50px 0;
font-family: 'Noto Sans JP';
font-size: 1.6rem;
}
.vr .subtitle{
font-size: 2.3rem;
font-weight: 500;
text-align: center;
padding: 50px 3% 50px 3%;
font-family: 'Noto Serif JP';
}
.vr .box1{
width: 90%;
margin: 0 auto;
}
.vr .box1 .com{
padding-bottom: 20px
}
.vr .box1 .com .comtext{
font-size: 1.8rem;
line-height: 180%
}
.vr .box1 .photo{

}
.vr .box1 .photo img{
width: 100%
}
.vr .box2{
padding-bottom: 20px;
background-color: #F4F4F4
}
.vr .box2 .nagomi{
width: 90%;
margin: 0 auto;
padding-bottom: 50px;
}
.vr .box2 .nagomi .com{
line-height: 180%;
font-size: 1.6rem
}
.vr .box2 .nagomi .com .photo2{
padding-top: 20px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
	}
.vr .box2 .nagomi .com .photo2 img{
width: 33%;	
	}
.vr .box2 .nagomi .photo{
margin: 15px 0;
border-radius: 7px;
overflow: hidden
}
.vr .box2 .nagomi .photo img{
width: 100%;
}
.vr .box2 .subtitle2{
background-color: #444;
color: #FFF;
font-size: 1.8rem;
font-weight: 600;
padding: 5px 5px 5px 15px;
margin-bottom: 20px;
border-radius: 7px;
}
.vr .box2 .subtitle2 .text1{
font-size: 1.6rem
}
.vr .box2 .flex-case{
width: 90%;
margin: 0 auto;
padding-bottom: 50px;
}
.vr .box2 .flex-case .inner{
padding-bottom: 30px;
font-size: 1.6rem;
line-height: 180%
}
.vr .box2 .flex-case .inner .photo{
margin: 10px auto;
width: 90%;
border-radius: 7px;
overflow: hidden

}
.vr .box2 .flex-case .inner .photo img{
width: 100%;
}
.vr .box3{
padding-bottom: 100px;
width:90%;
margin:0 auto;
}
.vr .box3 .com{
line-height: 180%;
}
.vr .box3 .photo{
padding-top: 20px
}
.vr .box3 .photo img{
width: 100%;
}
/*会社案内-----------------------------------------*/
.profile{
padding: 50px 0;
font-family: 'Noto Sans JP';
	font-size: 1.6rem;
}
.profile .box1{
width: 90%;
margin: 0 auto;
}
.profile .box1 .com{
line-height: 210%
}

.profile .box1 .photo{
width: 80%;
margin: 30px auto;
}
.profile .box1 .photo img{
width: 100%
}
.profile .box2{
width: 90%;
margin: 50px auto;
}
.profile .box2 table{
width:100%;
	}
.profile .box2 table td{
padding-bottom: 3px;
border-bottom: #666 1px dotted;
padding-top: 20px;
font-size: 1.4rem
}
.profile .box2 table td:nth-child(1){
width: 25%;	
	}
.profile .box2 table td:nth-child(2){
width: 73%;
	}
.profile .box3{
padding-top: 50px;
width: 100%
	}
.profile .box3 .map{
width: 75%;padding: 4%
	}
.profile .box3 .access{
padding-top: 20px
	}


/*お問い合わせ-----------------------------------------*/
.contact{
padding: 50px 0;
font-family: 'Noto Serif JP';
}
.contact .box1{
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
	line-height: 150%;
	padding: 30px 0;
}
.contact .box1 h4{
	font-size:18px;
	font-weight:bold;
	color:#999;
	background-color: transparent;
	padding-top: 30px;
	font-size: 18px;
}
.contact .box1 .tel a{
	display:block;
	color:#2976B5;
	font-size:3.0rem;
	font-weight:bold;
	text-shadow: #FFF 1px 1px 2px, #FFF -1px 1px 2px,
             #FFF 1px -1px 2px, #FFF -1px -1px 2px; 

	margin-bottom:10px;
}
.contact .box1 .tel{
color: #333;
border-top: #2976B5 3px solid;
border-bottom: #2976B5 3px solid;
padding: 15px 0 15px 0;
max-width: 90%;
margin: 0 auto;
margin-top: 30px;
text-align: center;

}
.contact .box_form{
width: 90%;
margin: 0 auto
}
.contact table{
	width:100%;
	border-collapse:collapse;
	margin:0;
}
.contact table th{
	width:90%;
	text-align:left;
	padding:1%;
	font-weight:normal;
	color: #090F3B;
	display: block;
}
.contact table td{
	padding:1%;
	width:90%;
	display: block;
	margin-bottom: 25px;
}

.contact table textarea {
width: 90%;
height: 10em;
}
.contact table label{
	display:block;
}
.contact table input[type="text"]{
	width:90%;
	border:#CCC 1px solid;
	height: 25px;
}
.contact table .num input[type="text"]{
	width:30%;
	height: 25px;
}
.contact table input[type="email"]{
	width:90%;
	border:#CCC 1px solid;
	height: 25px;
}
.contact table #zip{
width: 30%
}
.contact input[type="submit"]{
	width:90%;
	border:#FFF 1px solid;
	background-color:#4D6498;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#FFF;;
	padding:12px 6px;
	margin-top:30px;
	margin-bottom:30px;
	display:block;
	cursor:pointer;
	margin-left:auto;
	margin-right:auto;
}
/*個人情報-----------------------------------------*/
.privacy{
font-family: '游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif';
font-weight: 500;
padding: 2%;
width: 90%;
margin: 100px  auto;
border: #666 1px solid;
}
.privacy .box1{
padding-bottom: 50px
}
.privacy ul{
 padding: 20px 0;
 margin-bottom: 40px;
}
.privacy li{
  border-bottom: #666 1px dotted;
  display: block;
  margin-bottom: 25px;
}
.privacy ol {
background-color: #f4f4f4;
padding: 2%;
font-weight: 600;
margin-top: -20px
}

.pager{
width: 80%;
padding-top: 40px;
font-size: 1.5rem;
color: #333;
margin: 0 auto
}
.pager a{
display: inline-block;
background-color: transparent ;
color: #333;
font-size: 1.6rem!important;
padding: 4px 10px!important;
border: #036 1px solid;
margin-bottom: 20px
}
.pager .prev{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.pager .next{
padding: 4px 30px!important;
background-color: #333;
color: #FFF
}
.pager .dots{
display: inline-block;
padding-right: 6px
}
.pager .current{
display: inline-block;
padding-right: 6px;
font-size: 1.5rem;
font-weight: 600
}
}