@charset "UTF-8";
/*リセット
--------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  line-height: 1;
}
ol, ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}
a img {
  border: none;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/*フォント
---------------------------------------------*/
/*メディアクエリー
---------------------------------------------*/
/*変数
---------------------------------------------*/
/* コンテンツ
---------------------------------------------*/

html {
width: 100%;
overflow-y: scroll;
overflow-x: hidden;
font-size: 62.5%; /* font-sizeは16pxの62.5%の10px */
}

@media screen and (min-width: 769px) {
body {
width: 100%;
height: auto;
font-family: 'Noto Sans JP', sans-serif, "Yu Gothic", 游ゴシック, YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ;
font-weight: 400;
font-style: normal;
color: #000;
background:#fff;
}
}
@media screen and (max-width: 768px) {
body {
width: 100%;
height: auto;
font-family: 'Noto Sans JP', sans-serif, "Yu Gothic", 游ゴシック, YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ;
font-weight: 400;
font-style: normal;
color: #000;
background:#fff;
}
}

img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (min-width: 769px) {
  .pcNone {
    display: none;
}
}
@media screen and (max-width: 768px) {
  .pcNone {
    display: block;
}
}
@media screen and (min-width: 769px) {
  .spNone {
    display: block;
}
}
@media screen and (max-width: 768px) {
  .spNone {
    display: none;
}
}
/*リンクのアクション*/
a {
color: #000;
text-decoration:none;
}
a:hover {
color: #000;
text-decoration:none;
}
/* clearfix */
.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
  zoom: 1;
}

/*非表示にしているもの*/
h1 {
display: none;
}


/*-----------------------
maiImg
 -------------------------*/
@media screen and (min-width: 769px) {
#mainImg {
width: 100%;
height: auto;
padding: 0;
margin: 0 auto;
background:#fff;
z-index:1;
}

/*-- ZOOMOUT --*/
.zoom-1 img {
width: 1230px;
height: auto;
margin:0 auto;
animation: animationZoom1 3.5s ease-in-out forwards;
}
.zoom {
width: 1230px;
height: auto;
margin:0 auto;
overflow: hidden;
}

@keyframes animationZoom1 {
100% { transform:scale(1,1)} 
}
@keyframes animationZoom1 {
0% { transform:scale(1.1,1.1)} 
}
}

@media screen and (max-width: 768px) {
#mainImg {
width: 100%;
height: auto;
padding: 0;
margin: 0 auto;
z-index:1;
background:#fff;
}

/*-- ZOOMOUT --*/
.zoom-1 img {
width: 100%;
height: auto;
margin:0 auto;
animation: animationZoom1 3.5s ease-in-out forwards;
}
.zoom {
width: 100%;
height: auto;
margin:0 auto;
overflow: hidden;
}

@keyframes animationZoom1 {
100% { transform:scale(1,1)} 
}
@keyframes animationZoom1 {
0% { transform:scale(1.1,1.1)} 
}
}



/*テキスト指定
---------------------------------------------*/
@media screen and (min-width: 769px) {
.txt_b {
font-size: 2.0rem;
font-weight: 700;
font-style: normal;
line-height:160%;
letter-spacing: 0.09rem;
text-align: left;
}

.txt_m {
font-size: 1.3rem;
font-weight: 500;
line-height:180%;
letter-spacing: 0.06rem;
text-align: left;
}

.txt_r {
font-size: 1.3rem;
font-weight: 400;
line-height:200%;
letter-spacing: 0.06rem;
text-align: left;
}
}


@media screen and (max-width: 768px) {
.txt_b {
font-size: 1.8rem;
font-weight: 600;
font-style: normal;
line-height:170%;
letter-spacing: 0.04rem;
text-align: center;
}

.txt_m {
font-size: 1.2rem;
font-weight: 400;
line-height:200%;
letter-spacing: 0rem;
text-align: left;
}


.txt_r {
font-size: 1.2rem;
font-weight: 400;
line-height:200%;
letter-spacing: 0.03rem;
text-align: center;
}
}


/* credit
--------------------------------------*/
@media screen and (min-width: 769px) {
ul.credit {
margin-top:20px;
}

ul.credit li p a {
font-size: 1.2rem;
line-height:160%;
letter-spacing: 0.03rem;
text-align: left;
padding-bottom: 5px;
font-family: europa, sans-serif;
font-weight: 400;
font-style: normal;
}

ul.credit li p {
font-size: 1.2rem;
line-height:160%;
letter-spacing: 0.03rem;
text-align: left;
padding-bottom: 5px;
font-family: europa, sans-serif;
font-weight: 400;
font-style: normal;
color:#c4c4c4;
}
ul.credit li p span {
margin-left:6px;
}

ul.credit li p a:hover {
border-bottom: 1px solid #666;
color:#666;
}
}


@media screen and (max-width: 768px) {
ul.credit {
width:86%;
height:auto;
margin:4% auto 8% auto;
}

ul.credit li p a {
font-size: 1.4rem;
line-height:220%;
letter-spacing: 0.06rem;
text-align: left;
padding-bottom: 5px;
font-family: europa, sans-serif;
font-weight: 400;
font-style: normal;
}

ul.credit li p {
font-size: 1.4rem;
line-height:220%;
letter-spacing: 0.06rem;
text-align: left;
padding-bottom: 5px;
font-family: europa, sans-serif;
font-weight: 400;
font-style: normal;
color:#c4c4c4;
}

ul.credit li p span {
margin-left:4px;
}

ul.credit li p a:hover {
border-bottom: 1px solid #666;
color:#666;
}
}

/*wrap01
---------------------------------------------*/
@media screen and (min-width: 769px) {
#wrap01 {
position:relative;
width:880px;
height:auto;
margin: 100px auto 30px auto;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
z-index:2;
}

#wrap01 #intro_txt {
width:500px;
height:auto;
margin-right: 45px;
float:left;
}

#wrap01 #intro_txt p {
margin: 30px 0 60px 0;
}

#wrap01 #MVbox1 {
position:absolute;
bottom:0;
right:0;
width:335px;
height:auto;
margin:0;
padding:0;
}

#wrap01 #MVbox1 div.vid_contents {
width: 100%;/*背景色を横幅いっぱいに広げる*/
margin: 0 auto;
padding: 0;/*ここで動画の周りの余白を調整*/
background: #fff;/*余白の背景色*/
}

#wrap01 #MVbox1 div.vid_contents video.vid_main {
width: 100%;
}
}


@media screen and (max-width: 768px) {
#wrap01 {
width:100%;
height:auto;
margin: 0 auto;
padding: 0;
overflow:hidden;
}
#wrap01 #intro_txt {
width:90%;
height:auto;
margin: 40px auto 0 auto;
padding:0;
}

#wrap01 #intro_txt p {
width:100%;
height:auto;
margin: 10px auto 0 auto;
}

#wrap01 #MVbox1 {
width:78%;
height:auto;
margin: 60px auto;
padding:0;
}

#wrap01 #MVbox1 div.vid_contents {
width: 100%;/*背景色を横幅いっぱいに広げる*/
margin: 0 auto;
padding: 0;/*ここで動画の周りの余白を調整*/
background: #fff;/*余白の背景色*/
}

#wrap01 #MVbox1 div.vid_contents video.vid_main {
width: 100%;
}
}
/*wrap02 (gr1/ gr2)
---------------------------------------------*/
@media screen and (min-width: 769px) {
#wrap02 {
width:880px;
height:auto;
margin: 0 auto 100px;
overflow:hidden;
margin-top:5px;
}

#wrap02 #gr1 {
width:100%;
height:auto;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;/* justify-content: space-between;*/
}

#gr1_1 {
width:540px;
height:auto;
margin-right: 5px;
padding: 0;
}


#gr1_2 {
width:335px;
height:auto;
padding: 0;
}


#wrap02 #gr2 {
width:880px;
height:auto;
margin-top: -303px;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;/* justify-content: space-between;*/
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;/* align-items: flex-end;*/
}

#gr2_1 {
width:195px;
height:auto;
margin-right: 5px;
margin-top: 10px;
padding: 0;
}


#gr2_2 {
width:340px;
height:auto;
margin-right: 5px;
padding: 0;
}


#wrap02 #MVbox2 {
width:335px;
height:auto;
margin:0;
padding:0;
}

#wrap02 #MVbox2 div.vid_contents {
width: 100%;/*背景色を横幅いっぱいに広げる*/
margin: 0 auto;
padding: 0;/*ここで動画の周りの余白を調整*/
background: #fff;/*余白の背景色*/
}

#wrap02 #MVbox2 div.vid_contents video.vid_main {
width: 100%;
}
}

@media screen and (max-width: 768px) {
#wrap02 {
width:100%;
height:auto;
margin: 0 auto;
padding: 0;
overflow:hidden;
}

#wrap02 #gr1 {
width:100%;
height:auto;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;/* flex-direction: column;*/
}

#gr1_1 {
width:100%;
height:auto;
margin: 0 auto;
padding: 0;
}

#gr1_2 {
width:100%;
height:auto;
margin: 0 auto;
padding: 0;
}

#wrap02 #gr2 {
width:100%;
height:auto;
margin: 0 auto;
padding:0;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;/* flex-direction: column;*/
}

#gr2_1 {
width:78%;
height:auto;
margin: 40px auto;
padding: 0;
}

#gr2_2 {
width:100%;
height:auto;
margin: 0 auto;
padding: 0;
}

#wrap02 #MVbox2 {
width:100%;
height:auto;
margin: 0 auto;
padding: 0;
}

#wrap02 #MVbox2 div.vid_contents {
width: 100%;/*背景色を横幅いっぱいに広げる*/
margin: 0 auto;
padding: 0;/*ここで動画の周りの余白を調整*/
background: #fff;/*余白の背景色*/
}

#wrap02 #MVbox2 div.vid_contents video.vid_main {
width: 100%;
}
}


/*#pt_area
---------------------------------------------*/
@media screen and (min-width: 769px) {
#pt_area {
width:1000px;
height:auto;
margin: 0 auto;
padding:0;
overflow:hidden;
}

#pt_area h3 {
width: 880px;
height: auto;
margin: 0 auto 70px auto;
padding:0;
}

#pt_area #pt01, #pt_area #pt02, #pt_area #pt03 {
width:330px;
height:auto;
float: left;
} 

#pt_area #pt02 {
margin:0 5px;
}
}


@media screen and (max-width: 768px) {
#pt_area {
width:100%;
height:auto;
margin: 0 auto;
}

#pt_area h3 {
width: 90%;
height: auto;
margin: 42px auto;
padding:0;
}

#pt_area #pt01, #pt_area #pt02, #pt_area #pt03 {
width:100%;
height:auto;
margin: 0 auto;
} 
}


/*#st_area
---------------------------------------------*/
@media screen and (min-width: 769px) {
#st_intro_wrap {
width: 1230px;
height:auto;
margin: 85px auto 0 auto;
padding:24px 0;
overflow: hidden;
border-top: 1px solid #000000;
border-bottom: 1px solid #000000;
}

#st_intro {
width: 1000px;
height:auto;
margin: 0 auto;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;/* justify-content: center; */
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;/* align-items: center; */
}

#st_intro .ttl_logo {
width:230px;
height:auto;
margin-right:55px;
margin-left:85px;
}

#st_intro .txt_box {
width:510px;
height:auto;
padding:30px 0 30px 55px;
border-left:1px solid #000000;
}

.st_box .sttxt01_1, .st_box .sttxt02_1, .st_box .sttxt03_1 {
display: none;
}

#st_intro .txt_box p.txt_m {
margin: 25px 0 0 0;
}

.st_box {
position:relative;
width:880px;
height:auto;
margin:80px	auto 0 auto;
}

.st_box .st_box_wrap {
width:100%;
height:auto;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;/* justify-content: space-between;*/
-webkit-box-align: end;
-ms-flex-align: end;
align-items: flex-end;/* align-items: flex-end;*/
}


#stimg01_1, #stimg02_1, #stimg03_1 {
width: 460px;
height: auto;
}

#st01_slide, #st02_slide, #st03_slide {
width: 410px;
height: auto;
}

.st_box ul.credit {
position:absolute;
width: 390px;
height: auto;
padding-left:20px;
top: 0;
right:0;
}
}


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

#st_intro_wrap {
width:85%;
height:auto;
margin: 60px auto;
padding:0%;
overflow: hidden;
border-top: 1px solid #000000;
border-bottom: 1px solid #000000;
}

#st_intro {
width:100%;
height:auto;
margin: 0;
padding:0;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;/* flex-direction: column;*/
}

#st_intro .ttl_logo {
width:56%;
height:auto;
margin:0 auto;
padding:25px 0;
}

#st_intro .txt_box {
width:100%;
height:auto;
margin:0
padding:0;
border-top:1px solid #000000;
}

#st_intro .txt_box h3 {
width:96%;
height:auto;
margin:30px auto 15px auto;
}

.st_box .sttxt01_1, .st_box .sttxt02_1, .st_box .sttxt03_1 {
display: none;
}

#st_intro .txt_box p.txt_m {
margin: 0 0 25px 0;
text-align:center;
	}


.st_box {
width:100%;
height:auto;
margin: 0 auto;
}

.st_box .st_box_wrap {
width:100%;
height:auto;
margin: 0 auto;
padding:0;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;/* flex-direction: column;*/
}


#stimg01_1, #stimg02_1, #stimg03_1 {
width:100%;
height:auto;
margin: 10px auto 0 auto;
padding:0;
}

#st01_slide, #st02_slide, #st03_slide {
width:85%;
height:auto;
margin: 40px auto 0 auto;
padding:0;
}
}



/*sl_img img-slider (カーテン表示動作)
---------------------------------------------*/
div.sl_img {
position: relative;
width: 100%;
height:auto;
margin: 0 auto;
padding:0;
overflow: hidden;
}

div.img-slider {
position: relative;
width: 100%;
height:auto;
margin: 0 auto 0 auto;
padding:0;
overflow: hidden;
}

div.sl_img::before, div.img-slider::before {
content: "";
display: block;
width: 100%;
height: 100%;
background: #fff;
z-index: 3;
position: absolute;
top: 0;
left: 0;
transition: 0.8s;
transform: translateX(0%);
transition-timing-function: ease-in-out;
}


div.sl_img::after, div.img-slider::after {
  content: "";
  display: block;
width: 100%;
height: auto;
background: #fff;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.8s;
  transition-delay: 0.5s;
  transform: translateX(0%);
  transition-timing-function: ease-in-out;
}

div.sl_img.active::before, div.img-slider.active::before {
  transform: translateX(100%);
}
div.sl_img.active::after, div.img-slider.active::after {
  transform: translateX(100%);
}

div.sl_img-slider::before, div.img-slider::after {
height: 100%;
}


/* ここからf_wrap指定
.staff /.prof_area / footer
--------------------------------------*/
@media screen and (min-width: 769px) {
.f_wrap {
width: 1000px;
height:auto;
margin:0 auto;
}
}

@media screen and (max-width: 768px) {
.f_wrap {
width: 100%;
height:auto;
margin:0 auto 10% auto;
}
}
/*-- prof_area --*/
@media screen and (min-width: 769px) {
.prof_area {
width: 90%;
height:auto;
margin:0 auto;
margin-top:100px;
margin-bottom:6%;
}

.prof_ttl {
width: 22%;
height:auto;
margin:0 auto 1.5% auto;
}

.prof_area .prof_wrap {
width: 96%;
height:auto;
margin:0 auto;
padding:3% 2%;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}

.prof_Img {
width: 18%;
height:auto;
margin-right:2%;
}

.prof_area .prof_wrap dl {
width: 80%;
height:auto;
}
.prof_area .prof_wrap dl dt {
width: 100%;
height:auto;
}

.prof_area .prof_wrap dl dt.prof_name {
width: 100%;
height:auto;
margin-bottom:18px;
margin-top:20px;
font-size: 1.5rem;
 letter-spacing: 0.004rem;
}

.prof_area .prof_wrap dl dd.prof_txt {
width: 100%;
height:auto;
font-size: 1.2rem;
line-height:2.2rem;
letter-spacing: 0.004rem;
}
}

@media screen and (max-width: 768px) {
.prof_area {
width: 100%;
height:auto;
margin:15% auto 9% auto;
}

.prof_ttl {
width: 35%;
height:auto;
margin:0 auto 1.5% auto;
}

.prof_area .prof_wrap {
width: 90%;
height:auto;
margin:0 auto;
padding:5%;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
display: -webkit-box; /* (※flexbox※) display:flex;*/
display: -ms-flexbox;
display: flex;
-webkit-box-orient:horizontal;/* flex-flow:row wrap;*/
-webkit-box-direction:reverse;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-webkit-box-pack: center;/* justify-content: center;*/
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;;/* align-items: center;*/
-ms-flex-align: center;
align-items: center;
}

.prof_Img {
width: 43%;
height:auto;
margin-right:2%;
}

.prof_area .prof_wrap dl {
width: 55%;
height:auto;
}
.prof_area .prof_wrap dl dt {
width: 100%;
height:auto;
}

.prof_area .prof_wrap dl dt.prof_name {
width: 100%;
height:auto;
margin-bottom:18px;
margin-top:20px;
font-size: 1.4rem;
 letter-spacing: 0.004rem;
}

.prof_area .prof_wrap dl dd.prof_txt {
width: 100%;
height:auto;
font-size: 1.0rem;
line-height:2.0rem;
letter-spacing: 0.002rem;
}
}


/*-- staff --*/
@media screen and (min-width: 769px) {
.f_wrap #brandlogo {
width: 20%;
margin: 0 auto;
}

.f_wrap #brandlogo a img {
width: 100%;
height:auto;
}

.staff {
width:68%;
height:auto;
padding:0;
margin:30px auto 0 auto;
}
.staff_name {
font-size: 1.0rem;
line-height: 1.85;
text-align:center;
letter-spacing: 0.030em;
}
}

@media screen and (max-width: 768px) {
.f_wrap #brandlogo {
width: 40%;
margin: 0 auto;
margin:6% auto 3% atuo;
}

.f_wrap #brandlogo a img {
width: 100%;
height:auto;
}


.staff {
width:78%;
height:auto;
padding:0;
margin:6% auto 12% auto;
}
.staff_name {
width:100%;
height:auto;
padding:0;
margin:0 auto;
}
}

/*-- footer --*/
@media screen and (min-width: 769px) {
footer {
width: 100%;
margin: 7% auto;
text-align: center;
text-decoration: none;
color: #000;
}

footer #copyright {
font-size: 0.8rem;
letter-spacing: 0.04rem;
}
}

@media screen and (max-width: 768px) {
footer {
width: 100%;
margin: 8% auto 4% auto;
text-align: center;
text-decoration: none;
color: #000;
}

footer #copyright {
font-size: 0.8rem;
letter-spacing: 0.04rem;
}
}