@charset "UTF-8";
body *,
.notoSans,
span.notoSans,
.notoSans * {
font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.bebasFont,
.bebasFont *{
font-family: "Bebas Neue" ,"Oswald", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
body{
font-feature-settings: normal;
}
/* header */
header {

}
/* #articleBody header{
background: #577669;
width: 100%;
padding-top: 1vw;
height: 7vw;
position: fixed;
top: 0;
z-index: 1;
} */
header section{
z-index: 5;
width: 10%;
position: absolute;
left: 5%;
}
header section .corporate{
margin-right: 1.6vw;
}
header section .corporate img{
width: 3.5vw;
}
#corporatelink{
width: 100%;
height: 1vw;
text-align: right;
border-bottom: 1px solid #F2F2F2;
padding: .5vw 0 1vw 0;
}
#corporatelink a:hover{
color: #577669;
}
h1 {
width:auto;
position: relative;
height: auto;
margin-left: -1vw;
margin-top: 5vw;
}
/* #articleBody h1{
margin: .5vw 0 0 13.8vw;
} */
.pc_hid{
display: none;
}
.sp_hid{
display: block;
}
/* #iceboxLogo{
height: 2.11vw;
margin: .2vw 0;
width: auto;
}
#shima_logo{
width: 5vw;
height: auto;
fill: #1a1311;
} */


/* right menu */
header > aside{
background: #fff;
color: #000;
font-size: .83vw;
position: fixed;
top: 0;
right: 0;
height: 100vh;
width: 4.35vw;
z-index: 4;
overflow-y: scroll;
scrollbar-width: none;
}
header > aside::-webkit-scrollbar {
display:none;
}
#right_menu{
display: flex;
flex-flow: column;
flex-wrap: nowrap;
justify-content: space-between;
padding: .6vw 0 0;
font-size: 0.81vw;
}
#right_menu li{
align-items: center;
writing-mode: vertical-rl;
border-bottom:1px solid #000 ;
padding: 1vw 0.3vw 1.2vw;
margin: 0 1.5vw 0 1.5vw;
}
#right_menu li:last-of-type{
border-bottom: none;
}
#right_menu li a:hover{
color: #707070;
}


/* ユーチューブ */
.ytMovieWrap{
display: flex;
align-items: center;
justify-content: center;
height: calc(100vh - 4vw);
position: relative;
}
.ytMovie{
display: block;
width: 100%;
height: 100%;

}
.ytMovieWrap iframe{
width: 100%;
}
.ytMovieWrap h2{
writing-mode: vertical-lr;
position: absolute;
z-index: 1;
left: 2.75vw;
bottom: 49.2vh;
color: #fff;
text-align: center;
height: 100%;
}
.ytMovieWrap .top_movie_cover{
position: absolute;
width: 100%;
height: 100%;
z-index: 2;
}
.top_movie_over{
width: 5vw;
z-index: 9;
position: absolute;
bottom: 4.9vw;
left: 49.7vw;
}
.top_movie_over img{
transform: scale(1);
transition: all .3s;
}
.top_movie_over img:hover,
.top_movie_over img:active{
transform: scale(2);
}
/* ユーチューブここまで */


#articleBody main{
min-height: calc(100vh - 7vw - 3.95vw);
margin-top: 7vw;
}
body.activeList .arrowSlide{
min-height: calc(100vh - 8vw - 7vw - 3.95vw);
}
main section{
width: 100%;
background-color: #E8FBFA;
color: #707070;
}
#articleBody main section{
background-color: #FFF;
text-align: center;
}
.sampleImg{
width: 73vw;
margin-top: -3.5vw;
}

/* topへ戻る */
#forTopArrowWrap{
width: 3.65vw;
height: 3vw;
position: fixed;
right: 0;
bottom: 0;
z-index: 11;
overflow: hidden;
}
#forTopArrowWrap > a{
position: relative;
width: 100%;
height: 100%;
}
#forTopArrowWrap #for_top_arrow{
position: absolute;
top: 1.5vw;
width: 2.75vw;
height: 3vw;
transition: all .3s;
}
#forTopArrowWrap #for_top_text{
position: absolute;
top: 1.4vw;
left: 1.9vw;
width: 1vw;
height: 1vw;
transition: all .3s;
}

/* ホバー後 */
#forTopArrowWrap:hover #for_top_arrow{
top: 2.25vw;
}
#forTopArrowWrap:hover #for_top_text{
left: .95vw;
}

/* メイン */
main h3{
font-size: 1.3vw;
font-weight: normal;
}

/*縦書きtitle*/
main h2.vertical{
writing-mode: vertical-lr;
top: 0;
font-size: 1.75vw;
}


/* skill */
#skill_wrap{
background-image: url(../image/pc/bgimg_01.png),url(../image/pc/bgimg_02.png),url(../image/pc/bgimg_03.png),url(../image/pc/bgimg_04.png);
background-position: right 0% top 75%,right 20% top 90%,right 119% top 51%,right 94% top -42%;
background-repeat: no-repeat;
display: flex;
flex-flow: column;
align-items: center;
height: 46vw;
background-color:#E8FBFA;
padding: 5% 3%;
}

#skill_wrap h2{
width: 65vw;
}
#skill_wrap h3{
font-size: 1.5vw;
font-weight: bold;
line-height: 3.6vw;
width: 56.35%;
}
#skill_wrap p{
font-size: 0.83vw;
width: 23.5vw;
line-height: 1.67vw;
margin: 3vw 0 -1.66vw;
}
#skill_wrap img{
position: relative;
top: 4.5vw;
}
/* #skill{
padding-top: 10.85vw;
width: 74.2%;
} */
#skill_content{
margin-top: 2.7vw;
width: 65%;
}
#skill_content div,#design_content div{
background-color: #fff;
opacity: 0.9;
position: relative;

filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.1));
}


#design_content {
width: 67%;
display: flex;
justify-content: space-between;
}
#design_content div{
/* width: 20%; */
margin: 0 .5%;
display: flex;
align-items: center;
height: 4rem;
padding:0 4% ;
}
#design_content div:first-child{}
#design_content div:nth-child(2){    margin-top: 3rem;}
#design_content div:nth-child(3){}
#design_content div:nth-child(4){    margin-top: 3rem;}
#design_content div:nth-child(5){}

#skill_content div{
width: 39%;
padding: 5%;
}
#skill_content div:first-child{
top: 4%;
right: 1%;
}

#skill_content div:nth-child(2){
right: -35%;
margin-top: -20%;
}
#skill_content div:nth-child(3){
margin-top: -11%;
right: -70%;
}




/* スライド */
#imageSlideWrap{
position: relative;
overflow: hidden;
}
#imageSlideWrap,
#image_slide{
width: 100%;
height: 23.95vw;
background: #80978E;
margin-bottom: -1px;
}
#imageSlideWrap::before{
content: "";
display: inline-block;
position: absolute;
z-index: 2;
width: 200%;
}
#imageSlideWrap::before,
#image_slide{
left: 0;
top: 0;
height: 100%;
}
#image_slide{
display: flex;
overflow-x: scroll;
scrollbar-width: none;
}

#image_slide::-webkit-scrollbar {
display:none;
}
#image_slide > li{
width: 32vw;
/* -webkit-backface-visibility: hidden;
backface-visibility: hidden;
perspective: 1000;
transform:translateX(-224vw);
animation: 30s linear 0s infinite running move_image; */
}
/* @keyframes move_image {
0% { transform:translateX(-224vw); } 
100% { transform:translateX(-448vw); }
} */
#image_slide img{
height: 100%;
}
#image_slide_control{
position: absolute;
left: 0;
top: 0;
z-index: 3;
display: flex;
justify-content: space-between;
width: 100%;
}
#image_slide_control b,
#image_slide_control i{
/* background-color: rgba(0,100,0, .7); */
height: 23.95vw;
width: 50vw;
/* max-width: 400px; */
display: inline-block;
}
#image_slide_control b:hover,
#image_slide_control i:hover{
cursor: pointer;
/* background-color: rgba(255,255,255,.3); */
}
#image_slide_control b:active,
#image_slide_control i:active{
background-color: rgba(255,255,255,.3);
}

/* スライドここまで */


#about_wrap{
background-image: url(../image/pc/bgimg_05.png),url(../image/pc/bgimg_06.png),url(../image/pc/bgimg_07.png);
background-position: right 0% top 75%,right 20% top 90%,right 119% top 51%;
background-repeat: no-repeat;
padding: 5vw 0;
background-color: #E8FBFA;
}


#service_wrap{
position: relative;
top: 0;
right: 0;
height: 100%;
width: 46.8vw;
}
#service{
  width: 30%;
position: relative;
top: 0;
right: -36.2vw;
}
#service h2{
position: absolute;
left: -9%;
top: 2%;
}
#service div{
  line-height: 2.8rem;
}


#about{
left: 49%;
width: 35%;
position: relative;
}
#about div{
  line-height: 2.8rem;
}
#about h2{
position: absolute;
left: -9%;
bottom: 10%;
}

/* contact */
#contact_wrap{
padding: 4vw 0;
font-size: .83vw;
background: #92C5C7;
position: relative;
color: #fff;
border-radius: 20px;
}
#contact_wrap h2{
position: absolute;
left: 7.6vw;
top: 4vw;
}

#contact_wrap #CONTACTform{
width:75vw;
margin: auto;
min-height: 3rem;
}
#contact_wrap #CONTACTform i{
display: block;
width: 15rem;
padding: 0 0 1vw;
font-style: normal;
}
#contact_wrap #CONTACTform input,#contact_wrap #CONTACTform textarea{
width: 100%;
margin-bottom: 2rem;
border: none;
padding: 1rem .5rem;
}
#contact_wrap #CONTACTform button{
display: block;
border-radius: 20px;
margin: 5% auto;
border: 1px solid #fff;
padding:2% 5%;
}
#contact_wrap #CONTACTform button:hover{
  color: #92C5C7;
  
  background-color: #FFF;
}
/* フッター */
footer{
z-index: 5;
position: relative;
}
.footer__bottom {
display: flex;
justify-content: space-between;
align-items:center;
background: #E8FBFA;
height: 3.95vw;
padding: 0;
width: 100%;
vertical-align: middle;
padding: 0.7vw 4.2vw 0.6vw 4.5vw;
flex-direction: unset;
color: #92C5C7;
}

.footer__bottom img{
height: 80%;
}

#sns{
vertical-align: middle;
font-size: 1vw;
display: flex;
justify-content: space-between;
width: 5vw;
align-items: baseline;
}
#sns a{
width: 1.5vw;
text-align: center;
}




.spOnly{
display: none;
}

@media screen and (min-width: 1800px) {
#right_menu {
padding: 10.8px 0 0;
font-size: 14.58px;
}
header > aside{
position: fixed;
/* height: 644px; */
width: 78.297px;
}
#right_menu li{
padding: 18px 5.4px 21.6px;
margin: 0 27px 0;
}
.showListWrap {
width: calc(100% - 78.297px + 1px);
}
}

@media screen and (max-width: 1400px) {
#trustful_wrap {
height: 80vw;
}
#capacity_large td span.attention2 {
width: 100%;
}
}
/* @media screen and (max-width: 1357px) {

} */




/* スマホ版 */
@media screen and (max-width: 1080px) {
.spOnly{
display: block;
}
.pc_hid{
display: block;
}
.pcOnly{
display: none;
}
.sp_hid{
display: none;
}
body{
overflow-x: hidden;
width: 100vw;
/* letter-spacing: -0.1em */
}
/* ナビ */
.arrow{
position: relative;
display: inline-block;
vertical-align: middle;
text-decoration: none;
}
.arrow::before,
.arrow::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}
.arrowline::before{
left: 58vw;
width: 5vw;
height: 1px;
background: #fff;
}
.arrowline::after{
left: 60vw;
width: 3vw;
height: 3vw;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
/* ヘッダー */
header{
width: 100vw;
display: flex;
align-items: center;
position: absolute;
left: 0;
top: 0;
z-index: 5;
}
main{
margin-top: 16.18vw;
}
main section{
padding: 0;
}
/* ヘッダー - ロゴ */
header section{
height: 6.52vw;
width: 95vw;
justify-content: flex-end;
}
header.active section{
position: fixed;
z-index: 22;
}
h1{
border-bottom: none;
margin-right: 42vw;
}

h1 img{
width: 5rem;
}
header #iceboxLogo {
width: 14.73vw;
height: auto;
fill: #070203;
transition: fill .6s;
}
header #shima_logo {
width: 20.8vw;
margin-right: 6vw;
height: auto;
transition: fill .6s;
}
header.active #iceboxLogo,
header.active #shima_logo{
fill: #FFF;
}
/* ヘッダー - メニューボタン */
header section aside{
width: 6.52vw;
height: 2.42vw;
position: relative;
right: -87%;
top: -113%;
}
header section aside i,
header section aside b{
position: absolute;
display: inline-block;
height: 1px;
border-bottom: 2px solid;
border-bottom-color: #1A1311;
top: 0;
left: 0;
transform: rotate(0);
transition: transform .2s,width .2s,top .2s,boder-bottom-color .6s;
}
header section aside i{
width: 6.52vw;
}
header section aside b{
width: 5.07vw;
top: 2vw;
}
header.active section aside i,
header.active section aside b{
border-bottom-color: #FFF;
}
header.active section aside i{
transform: rotate(45deg);
top: .75vw;
}
header.active section aside b{
transform: rotate(-45deg);
top: .9vw;
width: 6.52vw;
}
header nav{
position: fixed;
left: 100vw;
top: 0;
z-index: 20;
background: #92C5C7;
height: 100vh;
width: 100vw;
transition: left .6s;
}
header.active nav{
left: 0;
}
header nav > div{
width: 85vw;
height: 88.5vh;
position: absolute;
top: 11.5vh;
left: 15vw;
border-left: 1px solid #FFF;
color: #FFF;
}
nav.spOnly{
font-size: 5.31vw;
font-weight: bold;
}
nav.spOnly ul li{
margin: 0  0 10.39vw;
}
nav.spOnly ul li a{
display: block;
width: 100%;
}
nav.spOnly div{
padding: 0 0 0 7.73vw;
overflow-y: auto;
}
header nav h2{
margin-top: 15vw;
color: #FFF;
}
/* 追従 */
#forTopArrowWrap {
width: 8.5vw;
height: 12vw;
z-index: 102;
}
#forTopArrowWrap:hover #for_top_arrow,
#forTopArrowWrap #for_top_arrow {
width: 5vw;
height: 14vw;
top: 3.5vw;
}
#forTopArrowWrap:hover #for_top_text,
#forTopArrowWrap #for_top_text {
top: .35vw;
left: .5vw;
width: 4vw;
height: 2.5vw;
}
main section{
width: 100%;
overflow-x: hidden;
}
main h2.vertical{
font-size: 6vw;
}
main h3{
line-height: 7.25vw;
font-size: 3.62vw;
}
/* ムービー部分 */
.ytMovieWrap{
height: 56.4vw;
width: 100%;
}
header nav h2,
.ytMovieWrap h2.vertical{
writing-mode: vertical-rl;
width: auto;
font-size: 5.83vw;
position: absolute;
top: 14.8vw;
z-index: 5;
left: 5.6vw;
}
.top_movie_over {
display: none;
}


/* skill */
#skill{
width: 100%;
padding: 0;
margin: -1vw 0 0;
}
#skill_arrow{
position: relative;
top: -12.1vw;
}
.nextArrow::before,
#skill_arrow::before{
content: '';
width: 2.3vw;
height: 2.3vw;
display: block;
border-bottom: solid 1px;
border-left: solid 1px;
transform: rotate(-45deg);
position: relative;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;

}
#skill_content {
width: 80%;
margin-top: 0vw;
height: 45vw;
}
main h2.vertical{
text-align: center;
width: 100%;
writing-mode: horizontal-tb;
}
/* コンセプト */
#skill_wrap{
padding: 20vw 0 0;
height: 117vw;
background-size: 30%,30%,30%,30%;
background-color: #E8FBFA;
}
#skill_wrap h2{
width: 100%;
}

#skill_content div:nth-child(3) {
  margin-top: -39%;
}

#imageSlideWrap,
#image_slide{
width: 100%;
height: 51.69vw;
}
#image_slide > li {
width: 68.88vw;
height: 51.69vw;
}
#image_slide img {
height: 51.69vw;
width: 68.88vw;
}
#image_slide_control b,
#image_slide_control i{
height: 51.69vw;
}



#design{
  margin-top: 5%;}
#design_content {
  margin-top: 2%;
  width: 80%;
  flex-wrap: wrap;
  display: flex;
  justify-content: center;
  }

  #design_content div:nth-child(2),#design_content div:nth-child(4){
    margin-top: 0;
  }
  #design_content div{
    margin-bottom: 2%;
  }

#service_wrap{
position: relative;
top: auto;
right: auto;
width: 100vw;
height: 31vw;
}
#service{
top: auto;
right: -12%;
width: 36vw;
display: flex;
flex-flow: column-reverse;
position: relative;
align-items: center;
height: auto;
}

#service h2 {
top: -21%;
left: -28%;
}
#about_wrap {
padding: 13vw 0;
}
#about{   
margin: 0;
padding: 0;
width: 35%;
left: 58%;
}
#about h2 {
top: -39%;
left: -16%;
}  



/* コンタクトフォーム */
#contact_wrap{
padding: 8.45vw 0 0;
height: 150vw;
} 
#contact_wrap h2{
position: relative;
left: auto;
top: auto;
font-size: 6.4vw;
letter-spacing: .02em;
}
#contact_wrap .scrollBarWrap{
height: 3.62vw;
display: flex;
justify-content: center;
margin-top: 7vw;
}


/* フッター */
footer{
position:relative;
height: 33vw;
}
.footer__bottom{
display: flex;
flex-flow: column;
align-items: center;
width: 100vw;
height: auto;
margin: auto;
padding: 5vw 0;
}

/* SNS */
#sns{
padding-bottom: 4vw;
}
#sns img{
width: 4vw;
}

#sns a {
width: 100%;
text-align: center;
}

.footer__bottom img{
height: 5rem;
}
}

.qa__head:after {
  content: "";
  border-top: 1px solid black;
  border-left: 1px solid black;
  display: inline-block;
  width: 10px;
  height: 10px;
  transform: rotate(-135deg) translateY(9px);
  position: absolute;
  right: 20px;
  top: 50%;
}