.slick-slider
{
position:relative;
display:block;
-webkit-box-sizing:border-box;
box-sizing:border-box;
-webkit-touch-callout:none;
-webkit-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
-ms-touch-action:pan-y;
touch-action:pan-y;
-webkit-tap-highlight-color:transparent
}

.slick-list
{
position:relative;
overflow:hidden;
display:block;
margin:0;padding:0
}

.slick-list:focus
{

outline:none
}

.slick-list.dragging
{

cursor:pointer;
cursor:hand
}

.slick-slider .slick-track,.slick-slider .slick-list
{

-webkit-transform:translate3d(0, 0, 0);
transform:translate3d(0, 0, 0)
}

.slick-track
{
position:relative;
left:0;
top:0;
display:block;
margin-left:auto;
margin-right:auto
}

.slick-track:before,.slick-track:after
{

content:"";
display:table
}

.slick-track:after
{

clear:both
}

.slick-loading .slick-track
{

visibility:hidden
}

.slick-slide
{

float:left;
height:100%;
min-height:1px;
display:none
}

[dir=rtl] .slick-slide
{

float:right
}

.slick-slide img
{

display:block
}

.slick-slide.slick-loading img
{

display:none
}

.slick-slide.dragging img
{
pointer-events:none
}

.slick-initialized .slick-slide
{

display:block
}

.slick-loading .slick-slide
{

visibility:hidden
}

.slick-vertical .slick-slide
{

display:block;
height:auto;
border:1px solid transparent
}

.slick-arrow.slick-hidden
{

display:none
}

.slick-prev,.slick-next
{
position:absolute;
display:block;
height:20px;
width:20px;
line-height:0px;
font-size:0px;
cursor:pointer;
background:transparent;
color:transparent;
top:50%;
-webkit-transform:translate(0, -50%);
transform:translate(0, -50%);padding:0;
border:none;
outline:none
}

.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus
{

outline:none;
background:transparent;
color:transparent
}

.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before
{

opacity:1
}

.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before
{

opacity:.25
}

.slick-prev:before,.slick-next:before
{

font-family:"slick";
font-size:20px;
line-height:1;
color:#fff;
opacity:.75;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale
}

.slick-prev
{

left:-25px
}

[dir=rtl] .slick-prev
{

left:auto;
right:-25px
}

.slick-prev:before
{

content:"←"
}

[dir=rtl] .slick-prev:before
{

content:"→"
}

.slick-next
{

right:-25px
}

[dir=rtl] .slick-next
{

left:-25px;
right:auto
}

.slick-next:before
{

content:"→"
}

[dir=rtl] .slick-next:before
{

content:"←"
}

.slick-dotted.slick-slider
{

margin-bottom:30px
}

.slick-dots
{
position:absolute;
bottom:-25px;
list-style:none;
display:block;
text-align:center;padding:0;
margin:0;
width:100%
}

.slick-dots li
{
position:relative;
display:inline-block;
height:20px;
width:20px;
margin:0 5px;padding:0;
cursor:pointer
}

.slick-dots li button
{

border:0;
background:transparent;
display:block;
height:20px;
width:20px;
outline:none;
line-height:0px;
font-size:0px;
color:transparent;padding:5px;
cursor:pointer
}

.slick-dots li button:hover,.slick-dots li button:focus
{

outline:none
}

.slick-dots li button:hover:before,.slick-dots li button:focus:before
{

opacity:1
}

.slick-dots li button:before
{
position:absolute;
top:0;
left:0;
content:"•";
width:20px;
height:20px;
font-family:"slick";
font-size:6px;
line-height:20px;
text-align:center;
color:#000;
opacity:.25;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale
}

.slick-dots li.slick-active button:before
{

color:#000;
opacity:.75
}

body,html
{

margin:0;padding:0;
-webkit-text-size-adjust:100%
}

caption,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,img,input,li,ol,p,table,td,textarea,th,ul,address
{

font-weight:500;
font-style:normal;
margin:0;padding:0;
text-align:left;
text-decoration:none;
border:0
}

button
{

font-weight:500;
border:0;
background:0
}

img
{

vertical-align:bottom;
-ms-interpolation-mode:bicubic;
border:0;
image-rendering:-webkit-auto;
image-rendering:auto
}

ul li
{

list-style:none
}

figure
{

margin:0;padding:0
}

.clear
{

clear:both
}

*:focus
{

outline:none
}

a:link
{

text-decoration:none;
color:#000;
outline:none
}

a:active
{

text-decoration:none;
color:#000;
outline:none
}

a:visited
{

text-decoration:none;
color:#000;
outline:none
}

a:hover
{

text-decoration:none;
color:#000;
outline:none
}

::-moz-selection
{

background:#f2f2f2;
color:#000
}

::selection
{

background:#f2f2f2;
color:#000
}

::-moz-selection
{

background:#f2f2f2;
color:#000
}

.button a
{
position:relative;
display:block;
margin-right:0;
margin-left:auto;
width:255px;
height:55px;
border:1px solid #000;
background-color:#000
}

.button a p
{
position:absolute;
left:30px;
font-size:1.8rem;
line-height:5.5rem;
text-align:center;
color:#fff;
font-family:futura-pt,sans-serif;
font-weight:bold
}

.button a .arrow
{
position:absolute;
right:30px;
top:0;
bottom:0;
margin:auto;
width:80px;
height:10px;
border-right:solid 1px #fff;
border-bottom:solid 1px #fff;
-webkit-transform:skew(45deg);
transform:skew(45deg)
}

.button a .arrow::before
{
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
content:"";
border-right:solid 1px #000;
border-bottom:solid 1px #000;
-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transition:-webkit-transform .5s;
transition:-webkit-transform .5s;
transition:transform .5s;
transition:transform .5s, -webkit-transform .5s
}

.button a::before
{
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
content:"";
background:#fff;
-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transition:-webkit-transform .2s;
transition:-webkit-transform .2s;
transition:transform .2s;
transition:transform .2s, -webkit-transform .2s
}

.button a:hover p
{

color:#000
}

.button a:hover .arrow::before
{

-webkit-transform-origin:left top;
transform-origin:left top;
-webkit-transform:scale(1, 1);
transform:scale(1, 1)
}

.button a:hover::before
{

-webkit-transform-origin:left top;
transform-origin:left top;
-webkit-transform:scale(1, 1);
transform:scale(1, 1)
}

.button.no_hover a:hover p
{

color:#fff
}

.button.no_hover a:hover .arrow::before
{

-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transform:scale(0, 1);
transform:scale(0, 1)
}

.button.no_hover a:hover::before
{

-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transform:scale(0, 1);
transform:scale(0, 1)
}

img
{

width:100%;
height:auto
}
p
{

font-size:1.6rem;
line-height:3.2rem
}

.pc_none
{

display:none
}

.pc_tab_block
{

display:block
}

.pc_tab_none
{

display:none
}

.sp_tab_none
{

display:block
}

html
{

font-size:62.5%;
font-family:"游ゴシック体","YuGothic","游ゴシック","Yu Gothic","メイリオ",sans-serif;
font-weight:500;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
-webkit-text-size-adjust:100%
}

body
{

font-size:12px;
font-size:1.2rem;
min-width:1000px;
font-weight:500;
letter-spacing:normal
}

body #fade
{
position:fixed;
width:100%;
height:100%;
top:0;
left:0;
background-color:#fff;
z-index:999
}

body #fade::before
{

content:"";position:absolute;
width:5vw;
height:5vw;
top:50%;
left:50%;
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%);
background-image:url("../img/common/Pvaa1383f043ae471708d0f373262ee376_loading.gif");
background-repeat:no-repeat;
background-size:100%;
background-position:center
}

.index_header
{

min-width:1000px;position:fixed;
top:0;
left:0;
z-index:24;
width:100%;
height:140px;
background-color:#fff;
-webkit-box-sizing:border-box;
box-sizing:border-box;
-webkit-transition:all ease .3s;
transition:all ease .3s
}

.index_header #h_logo
{
position:absolute;
height:140px;
left:50px;
top:0px;
-webkit-transition:all ease .3s;
transition:all ease .3s
}

.index_header #h_logo a img
{

width:auto;
height:45%;
    padding: 30px 0px 4px 0px;

}

.index_header .global_menu
{
position:absolute;
width:100%;
z-index:100;
display:-webkit-box;
display:-ms-flexbox;
display:flex
}

.index_header .global_menu .nav_wrap
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
right:65px;position:absolute
}

.index_header .global_menu .nav_wrap .nav
{

display:-webkit-box;
display:-ms-flexbox;
display:flex
}

.index_header .global_menu .nav_wrap .nav li
{

-webkit-box-sizing:border-box;
box-sizing:border-box;
line-height:140px;padding-right:35px
}

.index_header .global_menu .nav_wrap .nav li a
{
position:relative;
-webkit-box-sizing:border-box;
box-sizing:border-box;
color:#000;
font-size:1.8rem;
font-family:futura-pt,sans-serif;
text-decoration:none;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.index_header .global_menu .nav_wrap .nav li a::after
{
position:absolute;
bottom:-4px;
left:0;
content:"";
width:100%;
height:1px;
background:#000;
-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transition:-webkit-transform .3s;
transition:-webkit-transform .3s;
transition:transform .3s;
transition:transform .3s, -webkit-transform .3s
}

.index_header .global_menu .nav_wrap .nav li a:hover
{

color:#000
}

.index_header .global_menu .nav_wrap .nav li a:hover::after
{

-webkit-transform-origin:left top;
transform-origin:left top;
-webkit-transform:scale(1, 1);
transform:scale(1, 1)
}

.index_header .global_menu .nav_wrap .nav li:last-child
{
padding-right:0px
}

.index_header #sp_nav .nav_logo
{
position:absolute;
height:100%;
left:10px;
top:50%;
-webkit-transform:translate(0, -50%);
transform:translate(0, -50%)
}

.index_header #sp_nav .nav_logo img
{

height:60%;
width:auto;
padding: 3px 0 0 0;

}

.index_header #sp_nav #menu_trigger_wrap
{
position:absolute;
background-color:#000;
top:0;
right:0;
width:50px;
height:50px;
display:block;
z-index:900;
cursor:pointer;
overflow:hidden;
-webkit-transition:all .4s ease;
transition:all .4s ease;
display:none
}

.index_header #sp_nav #menu_trigger_wrap .trigger
{
position:absolute;
width:25px;
height:16px;
bottom:0;
top:0;
margin:auto;
left:0;
right:0;
display:inline-block;
-webkit-box-sizing:border-box;
box-sizing:border-box;
-webkit-transition:all .2s ease;
transition:all .2s ease;
-webkit-transform:translate(0, 0);
transform:translate(0, 0)
}

.index_header #sp_nav #menu_trigger_wrap .trigger.oe:hover
{

height:30px
}

.index_header #sp_nav #menu_trigger_wrap .trigger.oe:hover span
{

width:120%
}

.index_header #sp_nav #menu_trigger_wrap .trigger span
{

display:inline-block;
-webkit-transition:all .2s;
transition:all .2s;
-webkit-box-sizing:border-box;
box-sizing:border-box;position:absolute;
left:50%;
width:100%;
height:2px;
background-color:#fff;
-webkit-transform:translate(-50%, 0);
transform:translate(-50%, 0)
}

.index_header #sp_nav #menu_trigger_wrap .trigger span:nth-of-type(1)
{

top:0
}

.index_header #sp_nav #menu_trigger_wrap .trigger span:nth-of-type(2)
{

top:50%;
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%)
}

.index_header #sp_nav #menu_trigger_wrap .trigger span:nth-of-type(3)
{

bottom:0
}

.index_header #sp_nav #menu_trigger_wrap .trigger.active span:nth-of-type(1)
{

top:50%;
-webkit-transform:translate(-50%, -50%) rotate(135deg);
transform:translate(-50%, -50%) rotate(135deg)
}

.index_header #sp_nav #menu_trigger_wrap .trigger.active span:nth-of-type(2)
{

width:0;
left:50%
}

.index_header #sp_nav #menu_trigger_wrap .trigger.active span:nth-of-type(3)
{

bottom:50%;
-webkit-transform:translate(-50%, 50%) rotate(-135deg);
transform:translate(-50%, 50%) rotate(-135deg)
}

.index_header #sp_nav #menu_list
{
position:fixed;
width:100%;
height:0;
top:50px;
left:0;
background:#000;
overflow:scroll;
-webkit-transition:all .4s ease;
transition:all .4s ease;
display:none
}

.index_header #sp_nav #menu_list.active
{

height:calc(100% - 50px)
}

.index_header #sp_nav #menu_list ul
{

width:100%
}

.index_header #sp_nav #menu_list ul.active li
{

opacity:1;
-webkit-transform:translate(0, 0);
transform:translate(0, 0)
}

.index_header #sp_nav #menu_list ul li
{

width:100%;
font-weight:bold;
opacity:0;
font-family:futura-pt,sans-serif;
-webkit-transition-property:all;
transition-property:all;
-webkit-transition-duration:.4s;
transition-duration:.4s;
-webkit-transition-timing-function:ease;
transition-timing-function:ease;
-webkit-transform:translate(0, 10%);
transform:translate(0, 10%);
border-bottom:1px solid #fff
}

.index_header #sp_nav #menu_list ul li p
{

color:#fff;
text-align:center;
width:100%;padding:10px 0
}

.index_header #sp_nav #menu_list ul li .sub_menu
{

background:#222;
border-top:1px dashed #444
}

.index_header #sp_nav #menu_list ul li .sub_menu a
{

display:block;
text-align:center;padding:10px 0;
-webkit-box-sizing:border-box;
box-sizing:border-box
}

.index_header #sp_nav #menu_list ul li a
{

color:#fff;
display:block;
text-align:center;padding:25px 0;
-webkit-box-sizing:border-box;
box-sizing:border-box
}

.index_header #sp_nav #menu_list ul li:nth-of-type(1)
{

-webkit-transition-delay:0.2s;
transition-delay:0.2s
}

.index_header #sp_nav #menu_list ul li:nth-of-type(2)
{

-webkit-transition-delay:0.3s;
transition-delay:0.3s
}

.index_header #sp_nav #menu_list ul li:nth-of-type(3)
{

-webkit-transition-delay:0.4s;
transition-delay:0.4s
}

.index_header #sp_nav #menu_list ul li:nth-of-type(4)
{

-webkit-transition-delay:0.5s;
transition-delay:0.5s
}

.index_header #sp_nav #menu_list ul li:nth-of-type(5)
{

-webkit-transition-delay:0.6s;
transition-delay:0.6s
}

.index_header #sp_nav #menu_list ul li:nth-of-type(6)
{

-webkit-transition-delay:0.7s;
transition-delay:0.7s
}

.index_header #sp_nav #menu_list ul li:nth-of-type(7)
{

-webkit-transition-delay:0.8s;
transition-delay:0.8s
}

.index_header #sp_nav #menu_list ul li:nth-of-type(8)
{

-webkit-transition-delay:0.9s;
transition-delay:0.9s
}

.index_header.is_animation
{

height:80px
}

.index_header.is_animation #h_logo
{

height:80px
}

.index_header.is_animation .global_menu .nav_wrap ul li
{

line-height:80px
}

.lower_first_view
{
position:relative
}

.lower_first_view .fv_main_title
{
position:absolute;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:baseline;
-ms-flex-align:baseline;
align-items:baseline;
left:0;
bottom:0;
background-color:#fff
}

.lower_first_view .fv_main_title h2
{

font-family:futura-pt,sans-serif;
font-weight:bold;
font-size:4.5rem;
line-height:4.5rem;
margin-right:20px;
margin-top:10px;
letter-spacing:.1em
}

.lower_first_view .fv_main_title p
{

font-size:1.9rem;
font-weight:bold;
margin-right:20px
}

.lower_first_view .lower_first_view_img
{
position:relative;
margin-right:50px;
margin-left:50px;
margin-top:140px;
height:350px
}

.top_title
{
position:relative;
font-size:4rem;
line-height:4rem;
font-weight:bold;
letter-spacing:.1rem;
font-family:futura-pt,sans-serif
}

.top_title::after
{

content:attr(data-text);position:absolute;
top:35px;
left:2px;
font-size:1.4rem;
text-align:center;
letter-spacing:.1rem
}

footer
{
position:relative;
background-color:#000;
height:330px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
color:#fff
}

footer .left_box
{

width:50%
}

footer .left_box .logo_address
{
position:absolute;
top:50px;
left:50px
}

footer .left_box .logo_address .footer_logo
{

width:314px;
margin-bottom:10px
}

footer .left_box .logo_address .address
{

line-height:2.5rem;
font-size:1.5rem;padding-left:4px
}

footer .left_box .footer_nav
{
position:absolute;
left:50px;
bottom:50px
}

footer .left_box .footer_nav p a
{

color:#fff
}

footer .right_box
{

width:50%
}

footer .right_box .copyright
{
position:absolute;
bottom:50px;
right:50px;
font-size:1.1rem;
color:#fff
}

footer .right_box .topBtn
{
position:fixed;
bottom:20px;
right:30px;
display:none;
cursor:pointer;
color:#fff;
width:15px;
z-index:3
}

footer .right_box .topBtn .scroll
{
position:absolute;
bottom:0;
left:50%;
-webkit-transform:translate(-50%, 0);
transform:translate(-50%, 0)
}

footer .right_box .topBtn .scroll::after
{

content:"";position:absolute;
top:-49px;
left:calc(50% - 2px);
height:1px;
width:14px;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
background:#000
}

footer .right_box .topBtn .scroll::before
{

content:"";position:absolute;
width:1px;
height:45px;
bottom:88px;
left:50%;
display:block;
background:#000;
-webkit-transform-origin:left bottom;
transform-origin:left bottom;
-webkit-transform:scale(1, 1) translate(-50%, 0);
transform:scale(1, 1) translate(-50%, 0);
-webkit-animation:scroll_anime 1.8s infinite;
animation:scroll_anime 1.8s infinite
}

footer .right_box .topBtn .scroll p
{
position:relative;
height:80px;
bottom:0;
left:50%;
-webkit-transform:translate(-50%, 0);
transform:translate(-50%, 0);
-webkit-writing-mode:vertical-rl;
-ms-writing-mode:tb-rl;
writing-mode:vertical-rl;
color:#000;
font-size:1.4rem;
white-space:nowrap
}

footer.colorWhite .right_box .topBtn .scroll::before
{

background:#fff
}

footer.colorWhite .right_box .topBtn .scroll::after
{

background:#fff
}

footer.colorWhite .right_box .topBtn .scroll p
{

color:#fff
}

#f_contact
{

width:auto
}

#f_contact .contact_img
{
position:relative;
width:100%;
margin:0 auto;padding:50px 0px;
background-repeat:no-repeat;
background-position:center;
background-size:cover;
background-image:url("../img/common/Pv847cd07c45bc64f97b1a5996a6708d87_contact_img.jpg")
}

#f_contact .contact_img::after
{
position:absolute;
content:"";
background-color:rgba(0,0,0,.5);
width:100%;
height:100%;
top:0;
left:0
}

#f_contact .inner
{
position:relative;
background-color:rgba(0,0,0,.5);padding:80px 90px;
z-index:1;
max-width:1000px;
margin:0 auto
}

#f_contact .inner .title_flex
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
margin:0 auto 40px
}

#f_contact .inner .title_flex .top_title
{

margin-right:55px;
color:#fff
}

#f_contact .inner .title_flex .sub_title p
{

color:#fff
}

#f_contact .inner .flex_box
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
color:#fff
}

#f_contact .inner .flex_box .left_box
{
padding-right:40px;
border-right:1px solid #fff
}

#f_contact .inner .flex_box .left_box .title
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
margin-bottom:3px
}

#f_contact .inner .flex_box .left_box .title h3
{

font-size:1.9rem;
font-weight:bold
}

#f_contact .inner .flex_box .left_box .title img
{

width:41px;
height:41px;
margin-right:10px
}

#f_contact .inner .flex_box .left_box .tel
{

font-size:3rem;
font-weight:bold;
letter-spacing:.1rem;
line-height:3rem
}

#f_contact .inner .flex_box .left_box .tel span
{

font-size:2.2rem;
margin-right:5px
}

#f_contact .inner .flex_box .left_box .day
{

font-weight:bold;
line-height:3rem
}

#f_contact .inner .flex_box .right_box
{
padding-left:40px
}

#f_contact .inner .flex_box .right_box .title
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
margin-bottom:7px
}

#f_contact .inner .flex_box .right_box .title h3
{

font-size:1.9rem;
font-weight:bold
}

#f_contact .inner .flex_box .right_box .title img
{

width:41px;
height:41px;
margin-right:10px
}

#f_contact .inner .flex_box .right_box .button a
{

width:100%;
background-color:#fff;
border:1px solid #fff
}

#f_contact .inner .flex_box .right_box .button a::before
{

background:#000
}

#f_contact .inner .flex_box .right_box .button a p
{

color:#000
}

#f_contact .inner .flex_box .right_box .button a .arrow
{

border-right:solid 1px #000;
border-bottom:solid 1px #000
}

#f_contact .inner .flex_box .right_box .button a .arrow::before
{

border-right:solid 1px #fff;
border-bottom:solid 1px #fff
}

#f_contact .inner .flex_box .right_box .button a:hover p
{

color:#fff
}

#f_contact .inner .flex_box .right_box .button a:hover .arrow::before
{

-webkit-transform-origin:left top;
transform-origin:left top;
-webkit-transform:scale(1, 1);
transform:scale(1, 1)
}

.pagenation
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
margin-top:30px
margin-bottom:30px
}

.pagenation .nav_button
{

width:50px;
height:50px;
border:solid 1px #000;
background-color:#000;
margin:0px 5px;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.pagenation .nav_button a
{

display:block;
width:100%;
height:100%;
text-align:center;
line-height:5rem;
font-size:1.6rem;
font-weight:bold;
color:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.pagenation .nav_button a.active
{

background-color:#fff;
color:#000
}

.pagenation .nav_button:first-child a
{
position:relative
}

.pagenation .nav_button:first-child a span
{
position:absolute;
top:53%;
left:24%
}

.pagenation .nav_button:first-child a span::before
{

content:"";
display:block;position:absolute;
top:0;
left:0;
width:25px;
height:1px;
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.pagenation .nav_button:first-child a span::after
{

content:"";position:absolute;
top:-4px;
right:-9px;
height:1px;
width:10px;
-webkit-transform:rotate(135deg);
transform:rotate(135deg);
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.pagenation .nav_button:last-child a
{
position:relative
}

.pagenation .nav_button:last-child a span
{
position:absolute;
top:53%;
left:24%
}

.pagenation .nav_button:last-child a span::before
{

content:"";
display:block;position:absolute;
top:0;
left:0;
width:25px;
height:1px;
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.pagenation .nav_button:last-child a span::after
{

content:"";position:absolute;
top:-4px;
right:-26px;
height:1px;
width:10px;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.pagenation .nav_button:hover
{

background:#fff
}

.pagenation .nav_button:hover a
{

color:#000
}

.pagenation .nav_button:hover:first-child a span::before
{

background:#000
}

.pagenation .nav_button:hover:first-child a span::after
{

background:#000
}

.pagenation .nav_button:hover:last-child a span::before
{

background:#000
}

.pagenation .nav_button:hover:last-child a span::after
{

background:#000
}

.pagenation .nav_button.no_link_next
{

opacity:0
}

.pagenation .nav_button.no_link_prev
{

opacity:0
}

.post_button
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center
}

.post_button .sqere_button
{
position:relative;
width:55px;
height:55px;
border:solid 1px #000;
margin:0px 5px;
-webkit-transition:all .3s ease;
transition:all .3s ease;
background-color:#000
}

.post_button .sqere_button a
{

display:block;
width:100%;
height:100%;
text-align:center;
line-height:5.5rem;
font-size:1.6rem;
font-weight:bold;
color:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.post_button .sqere_button:nth-child(2)
{

width:185px
}

.post_button .sqere_button:first-child a
{
position:absolute
}

.post_button .sqere_button:first-child a::before
{

content:"";
display:block;position:absolute;
top:2px;
left:0;
margin:auto;
bottom:0;
right:0;
width:25px;
height:1px;
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.post_button .sqere_button:first-child a::after
{

content:"";position:absolute;
top:-6px;
right:17px;
left:0;
bottom:0;
margin:auto;
height:1px;
width:10px;
-webkit-transform:rotate(135deg);
transform:rotate(135deg);
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.post_button .sqere_button:last-child a
{
position:absolute
}

.post_button .sqere_button:last-child a::before
{

content:"";
display:block;position:absolute;
top:2px;
left:0;
margin:auto;
bottom:0;
right:0;
width:25px;
height:1px;
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.post_button .sqere_button:last-child a::after
{

content:"";position:absolute;
top:-6px;
right:-17px;
left:0;
bottom:0;
margin:auto;
height:1px;
width:10px;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
background:#fff;
-webkit-transition:all .3s ease;
transition:all .3s ease
}

.post_button .sqere_button:hover
{

background-color:#fff
}

.post_button .sqere_button:hover a
{

color:#000
}

.post_button .sqere_button:hover a::before
{

background:#000
}

.post_button .sqere_button:hover a::after
{

background:#000
}

.post_button .sqere_button.no_link
{

opacity:0
}

.no_page
{

height:calc(100vh - 235px);
margin-top:100px;position:relative;
border-bottom:1px solid #ccc;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center
}

.no_page .no_page_sec h2
{

margin-bottom:20px;
text-align:center;
font-size:2rem;
-webkit-text-stroke:.5px
}

.no_page .no_page_sec .button a
{

margin:0 auto
}

.t_first_view
{
position:relative
}

.t_first_view #t_first_view_img
{
position:relative;
margin-top:140px;
margin-bottom:50px;
margin-right:50px;
margin-left:50px;
height:calc(100vh - 190px);
width:calc(100% - 100px)
}

.t_first_view #t_first_view_img .fv_main_title
{
position:absolute;
color:#fff;
left:30px;
z-index:20;
bottom:30px
}

.t_first_view #t_first_view_img .fv_main_title__titleEn
{

font-family:futura-pt,sans-serif;
font-weight:bold;
font-size:5.5rem;
text-shadow:0 3px 15px rgba(0,0,0,.2)
}

.t_first_view #t_first_view_img .fv_main_title p
{

font-size:1.9rem;
font-weight:bold;
margin-left:5px;
text-shadow:0 3px 15px rgba(0,0,0,.2)
}

.t_first_view #t_first_view_img .slider
{

height:100% !important
}

.t_first_view #t_first_view_img .slider .slick-list
{

height:100% !important
}

.t_first_view #t_first_view_img .slider .slick-list .slick-track
{

height:100% !important
}

.t_first_view #t_first_view_img .slider .slick-list .slick-track .slide
{
position:fixed;
height:100%;
background-size:cover;
background-position:center;
background-repeat:no-repeat
}

#t_aboutus
{

max-width:1000px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
margin:0px auto;padding:50px 0 90px
}

#t_aboutus .top_title
{

margin-bottom:40px
}

#t_aboutus .right_box
{

width:580px
}

#t_aboutus .right_box p
{

margin-bottom:35px
}

#t_service
{
position:relative;
background-color:#f2f2f2;padding:90px 50px 140px
}

#t_service .img_wrap
{

width:70%;
height:515px
}

#t_service .img_wrap .img_box
{

width:100%;
height:100%;
background-position:center;
background-repeat:no-repeat;
background-size:cover
}

#t_service .text_wrap
{
position:absolute;
right:50px;
bottom:90px;
background-color:#fff;
width:35%
}

#t_service .text_wrap .inner
{
padding:60px
}

#t_service .text_wrap .inner .top_title
{

margin-bottom:50px
}

#t_service .text_wrap .inner p
{

margin-bottom:40px
}

#t_works
{

margin:0px 50px;padding:100px 0px
}

#t_works .works_post_box .title_flex
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
margin-bottom:40px
}

#t_works .works_post_box .title_flex .top_title
{

margin-right:50px;
margin-bottom:60px
}

#t_works .works_post_box .title_flex .sub_title
{

width:700px
}

#t_works .works_post_box .works_slider
{

margin-bottom:40px
}

#t_works .works_post_box .works_slider .top_works_effect
{

-webkit-box-sizing:border-box;
box-sizing:border-box
}

#t_works .works_post_box .works_slider .top_works_effect a
{
position:relative;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column;
margin:0px 25px
}

#t_works .works_post_box .works_slider .top_works_effect a .img_wrap
{
position:relative;
width:100%;
height:0;padding-top:100%;
background-image:url("../img/common/Pv54be96c93c182ff0fe073c79da5ca45e_no_img.jpg");
background-position:center;
background-repeat:no-repeat;
background-size:cover;
margin-bottom:15px;
overflow:hidden
}

#t_works .works_post_box .works_slider .top_works_effect a .img_wrap .img_box
{
position:absolute;
background-position:center;
background-repeat:no-repeat;
background-size:cover;
width:100%;
height:100%;
top:0;
left:0
}

#t_works .works_post_box .works_slider .top_works_effect a .img_wrap::before
{
position:absolute;
content:"";
background-color:rgba(0,0,0,.5);
width:100%;
-webkit-transition:all .6s ease;
transition:all .6s ease;
height:100%;
top:0;
left:0;
z-index:1;
opacity:0
}

#t_works .works_post_box .works_slider .top_works_effect a .img_wrap::after
{
position:absolute;
content:"VIEW MORE";
top:53%;
left:50%;
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%);
font-family:futura-pt,sans-serif;
-webkit-transition:all .6s ease;
transition:all .6s ease;
font-size:2vw;
color:#fff;
z-index:2;
opacity:0
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
font-weight:bold
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .time
{

margin-right:10px;
font-size:1.8rem
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .place
{

border:1px solid #000;
height:22px;
line-height:2.2rem;padding:0px 5px
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .place span
{

font-size:1.3rem
}

#t_works .works_post_box .works_slider .top_works_effect a .title
{

font-size:1.8rem;
font-weight:bold
}

#t_works .works_post_box .works_slider .top_works_effect a:hover .img_wrap::after
{

opacity:1
}

#t_works .works_post_box .works_slider .top_works_effect a:hover .img_wrap::before
{

opacity:1
}

#t_works .works_post_box .slick-next
{
position:absolute;
top:-30px;
bottom:0;
margin:auto;
width:60px;
height:10px;
border-right:solid 1px #000;
border-bottom:solid 1px #000;
-webkit-transform:skew(45deg);
transform:skew(45deg);
-webkit-transition:all ease .3s;
transition:all ease .3s;
right:-15px
}

#t_works .works_post_box .slick-next::before
{

display:none
}

#t_works .works_post_box .slick-next:hover
{

right:-30px
}

#t_works .works_post_box .slick-prev
{
position:absolute;
z-index:1;
top:-30px;
bottom:0;
margin:auto;
width:60px;
height:10px;
border-left:solid 1px #000;
border-bottom:solid 1px #000;
-webkit-transform:skew(145deg);
transform:skew(145deg);
-webkit-transition:all ease .3s;
transition:all ease .3s;
left:-15px
}

#t_works .works_post_box .slick-prev::before
{

display:none
}

#t_works .works_post_box .slick-prev:hover
{

left:-30px
}

#t_news
{
position:relative;
z-index:1;
width:auto;padding:70px 0px 100px;
background-color:#f2f2f2
}

#t_news .t_news_wrap
{

width:100%;
max-width:1000px;
margin:0 auto;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}

#t_news .t_news_wrap .top_title
{

width:25%;
margin-top:20px
}

#t_news .t_news_wrap .news_post_wrap
{

width:75%
}

#t_news .t_news_wrap .news_post_wrap .news_post a
{
position:relative;
line-height:7rem;
display:block
}

#t_news .t_news_wrap .news_post_wrap .news_post a::before
{
position:absolute;
content:"";
background-color:#000;
height:1px;
width:100%;
bottom:0;
left:0;
opacity:.2
}

#t_news .t_news_wrap .news_post_wrap .news_post a::after
{
position:absolute;
content:"";
background-color:#000;
height:1px;
width:100%;
bottom:0;
left:0;
-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transition:-webkit-transform .4s;
transition:-webkit-transform .4s;
transition:transform .4s;
transition:transform .4s, -webkit-transform .4s
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
color:#000
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap
{

width:100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap .title
{

font-size:1.6rem
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap .title span
{

margin-right:50px
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap .arrow
{

right:30px;
top:0;
bottom:0;
margin:auto 5px;
width:80px;
height:10px;
border-right:solid 1px #000;
border-bottom:solid 1px #000;
-webkit-transform:skew(45deg);
transform:skew(45deg)
}

#t_news .t_news_wrap .news_post_wrap .news_post a:hover::after
{

-webkit-transform:scale(1, 1);
transform:scale(1, 1);
-webkit-transform-origin:left bottom;
transform-origin:left bottom
}

#t_news .t_news_wrap .news_post_wrap .button
{

margin-top:30px
}

#message_group
{
position:relative;
max-width:1000px;
margin:100px auto;padding-bottom:50px
}

#message_group .flex_box
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

#message_group .flex_box .img_box
{

width:480px;
background-image:url("../img/about/Pv64ad03894a9dbec20de6bc7688e1f13c_img_01.jpg");
background-size:cover;
background-position:center;
background-repeat:no-repeat;
height:100%;padding-top:60%
}

#message_group .flex_box .text_box
{

width:calc(100% - 480px - 40px);
background-color:#fff
}

#message_group .flex_box .text_box .inner
{
padding:0 10px
}

#message_group .flex_box .text_box .inner .top_title
{

margin-bottom:50px
}

#message_group .flex_box .text_box .inner .name
{

margin-top:10px;
text-align:center
}

#message_group .flex_box .text_box .inner .name h3
{

font-size:2rem;
line-height:2rem;
text-align:right
}

#message_group .flex_box .text_box .inner .name h3 span
{

font-size:1.4rem;
letter-spacing:.1em
}
/*------------------------------*/
#philosophy_group .flex_box .text_box2 .inner .name
{

margin-top:10px;
text-align:center
}

#philosophy_group .flex_box .text_box2 .inner .name h3
{

font-size:2rem;
line-height:2rem;
text-align:right
}

#philosophy_group .flex_box .text_box2 .inner .name h3 span
{

font-size:1.4rem;
letter-spacing:.1em
}
/*------------------------------*/



#philosophy_group
{

background-color:#f2f2f2;padding:100px 0px
}

#philosophy_group .philosophy_group_inner
{
position:relative;
max-width:1000px;
margin:0 auto;padding-bottom:50px
}

#philosophy_group .philosophy_group_inner .flex_box
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:end;
-ms-flex-pack:end;
justify-content:flex-end
}

#philosophy_group .philosophy_group_inner .flex_box .img_box
{

width:600px
}

#philosophy_group .philosophy_group_inner .flex_box .text_box
{
position:absolute;
left:0;
bottom:0;
background-color:#fff;
width:473px
}
#philosophy_group .philosophy_group_inner .flex_box .text_box .inner
{
padding:50px
}

#philosophy_group .philosophy_group_inner .flex_box .text_box .inner .top_title
{

margin-bottom:40px
}

/*----------------------*/
#philosophy_group .philosophy_group_inner .flex_box .text_box2
{
/* position:absolute; */
left:0;
bottom:0;
background-color:#fff;
width:100%;
}
#philosophy_group .philosophy_group_inner .flex_box .text_box2 .inner
{
padding:50px
}

#philosophy_group .philosophy_group_inner .flex_box .text_box2 .inner .top_title
{

margin-bottom:40px
}


/*----------------------*/




#commitment_group
{
position:relative;
max-width:1000px;
margin:100px auto;padding-bottom:50px
}

#commitment_group .flex_box .img_box
{

width:600px
}

#commitment_group .flex_box .text_box
{
position:absolute;
right:0;
bottom:0;
background-color:#fff;
width:473px
}

#commitment_group .flex_box .text_box .inner
{
padding:50px
}

#commitment_group .flex_box .text_box .inner .top_title
{

margin-bottom:40px
}

#reform_group
{

max-width:1000px;
margin:80px auto 60px
}

#reform_group ul li
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;
margin:0px auto 100px;padding-bottom:50px;position:relative
}

#reform_group ul li .img_box
{

width:600px
}

#reform_group ul li .text_box
{
position:absolute;
right:0;
bottom:0;
width:473px;
background-color:#fff
}

#reform_group ul li .text_box .inner
{
padding:50px 0px 50px 50px
}

#reform_group ul li .text_box .inner .flex_title
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
font-family:futura-pt,sans-serif
}

#reform_group ul li .text_box .inner .flex_title .number
{

font-size:7rem;
margin-right:10px
}

#reform_group ul li .text_box .inner .flex_title .number.number_01
{

letter-spacing:-0.5rem
}

#reform_group ul li .text_box .inner .flex_title .service_title
{

font-size:3rem;
line-height:3rem;
font-weight:bold
}

#reform_group ul li .text_box .inner .flex_title .service_title span
{

font-size:1.6rem;
font-weight:bold
}

#reform_group ul li:nth-child(2)
{

-webkit-box-pack:end;
-ms-flex-pack:end;
justify-content:flex-end
}

#reform_group ul li:nth-child(2) .text_box
{

left:0
}

#reform_group ul li:nth-child(2) .text_box .inner
{
padding:50px 50px 50px 0px
}

#reform_group ul li:nth-child(4)
{

-webkit-box-pack:end;
-ms-flex-pack:end;
justify-content:flex-end
}

#reform_group ul li:nth-child(4) .text_box
{

left:0
}

#reform_group ul li:nth-child(4) .text_box .inner
{
padding:50px 50px 50px 0px
}

#reform_group ul li:last-child
{

margin:0px auto
}

#works_group
{

width:auto;padding:80px 50px
}

#works_group .works_wrap
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-flow:wrap;
flex-flow:wrap
}

#works_group .works_wrap .top_works_effect
{

width:33.3333333333%;
-webkit-box-sizing:border-box;
box-sizing:border-box
}

#works_group .works_wrap .top_works_effect a
{
position:relative;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column;
margin:20px
}

#works_group .works_wrap .top_works_effect a .img_wrap
{
position:relative;
width:100%;
height:calc(33.3333333333vw - 100px);
background-image:url("../img/common/Pv54be96c93c182ff0fe073c79da5ca45e_no_img.jpg");
background-position:center;
background-repeat:no-repeat;
background-size:cover;
margin-bottom:15px;
overflow:hidden
}

#works_group .works_wrap .top_works_effect a .img_wrap .img_box
{
position:relative;
background-position:center;
background-repeat:no-repeat;
background-size:cover;
width:100%;
height:100%;
top:0;
left:0
}

#works_group .works_wrap .top_works_effect a .img_wrap::before
{
position:absolute;
content:"";
background-color:rgba(0,0,0,.5);
width:100%;
-webkit-transition:all .6s ease;
transition:all .6s ease;
height:100%;
top:0;
left:0;
z-index:1;
opacity:0
}

#works_group .works_wrap .top_works_effect a .img_wrap::after
{
position:absolute;
content:"VIEW MORE";
top:53%;
left:50%;
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%);
font-family:futura-pt,sans-serif;
-webkit-transition:all .6s ease;
transition:all .6s ease;
font-size:2vw;
color:#fff;
z-index:2;
opacity:0
}

#works_group .works_wrap .top_works_effect a .time-place
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
font-weight:bold
}

#works_group .works_wrap .top_works_effect a .time-place .time
{

margin-right:10px;
font-size:1.8rem
}

#works_group .works_wrap .top_works_effect a .time-place .place
{

border:1px solid #000;
height:22px;
line-height:2.2rem;padding:0px 5px
}

#works_group .works_wrap .top_works_effect a .time-place .place span
{

font-size:1.3rem
}

#works_group .works_wrap .top_works_effect a .title
{

font-size:1.8rem;
font-weight:bold
}

#works_group .works_wrap .top_works_effect a:hover .img_wrap::after
{

opacity:1
}

#works_group .works_wrap .top_works_effect a:hover .img_wrap::before
{

opacity:1
}

#works_post_group
{

max-width:1000px;
margin:0 auto;padding:30px 0px 20px
}

#works_post_group .works_post_flex_post
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}

#works_post_group .works_post_flex_post .img_box
{

width:50%
}

#works_post_group .works_post_flex_post .img_box .thumbnail
{

max-width:800px;
height:auto;
display:block
}

#works_post_group .works_post_flex_post .img_box .thumbnail .slide
{

max-width:800px;
height:370px
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub
{
position:relative;
max-width:800px;
height:auto;
text-align:left;padding:0;
margin-bottom:30px
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track
{
position:relative;
width:100% !important;
-webkit-transform:none !important;
transform:none !important
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track .slide
{
position:relative;
width:70px !important;
height:70px;
margin:10px 10px 0px 0px
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track .slide .slide_back
{
position:absolute;
width:100%;
height:100%;
top:0;
left:0px;
background-color:#000;
opacity:0
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track .slide:first-child
{

margin-left:0px
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track .slide:hover
{

cursor:pointer
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track .slick-current .slide_back
{

opacity:.5
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track .slick-current .slide_back:hover
{

cursor:auto
}

#works_post_group .works_post_flex_post .text_box
{

width:calc(60% - 40px)
}

#works_post_group .works_post_flex_post .text_box h1
{

font-size:2.0rem;
font-weight:bold;
border-bottom:1px solid #000;
margin-bottom:5px
}

#works_post_group .works_post_flex_post .text_box ul
{

margin-bottom:5px
}

#works_post_group .works_post_flex_post .text_box ul li
{

font-weight:bold;
font-size:1.5rem;
line-height:2.5rem
}

#works_post_group .befor_after_box
{
padding:40px 50px 50px;
background-color:#f2f2f2;
margin-bottom:30px
}

#works_post_group .befor_after_box ul
{
position:relative;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}

#works_post_group .befor_after_box ul::after
{
position:absolute;
content:"";
width:0;
height:0;
border-left:25px solid #000;
border-top:25px solid transparent;
border-bottom:25px solid transparent;
left:50%;
top:55%;
-webkit-transform:translate(-50%, -50%);
transform:translate(-50%, -50%)
}

#works_post_group .befor_after_box ul li
{

width:45%
}

#works_post_group .befor_after_box ul li h2
{

font-weight:bold;
font-size:2rem;
font-family:futura-pt,sans-serif
}

#works_post_group .befor_after_box ul li .img_box
{

width:100%;
height:280px
}

#company_group
{
position:relative;
max-width:800px;
margin:100px auto
}

#company_group2
{
position:relative;
max-width:800px;
margin:100px auto
}

#company_group table
{

border-collapse:collapse;
width:100%;
margin-bottom:10px
}

#company_group table tbody tr
{

border-top:1px solid #7f7f7f
}

#company_group table tbody tr th
{

width:30%;
font-size:1.8rem;
font-weight:bold;padding:20px 10px
}

#company_group table tbody tr td
{

width:70%;
font-size:1.6rem;padding:20px 0px
}

#company_group iframe
{

width:100%
}

#company_group .add_text
{

text-align:right
}

#company_group .add_text a
{
position:relative;
display:inline-block
}

#company_group .add_text a::after
{
position:absolute;
content:"";
bottom:0px;
left:0;
width:100%;
height:1px;
background:#000;
-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transition:-webkit-transform .3s;
transition:-webkit-transform .3s;
transition:transform .3s;
transition:transform .3s, -webkit-transform .3s
}

#company_group .add_text a p
{
padding-right:22px;position:relative
}

#company_group .add_text a p::after
{
position:absolute;
content:"";
background-image:url("../img/company/Pvaa62707ee0ce04eaf89f0e39f99bbf28_map_icon.png");
width:18px;
height:18px;
top:50%;
right:0;
-webkit-transform:translate(0, -50%);
transform:translate(0, -50%);
background-position:center;
background-repeat:no-repeat;
background-size:contain
}

#company_group .add_text a:hover::after
{

-webkit-transform:scale(1, 1);
transform:scale(1, 1);
-webkit-transform-origin:left top;
transform-origin:left top
}

#news_group
{

max-width:770px;
margin:0 auto;padding:80px 0px
}

#news_group section .news_post a
{
position:relative;
line-height:8rem;
display:block
}

#news_group section .news_post a::before
{
position:absolute;
content:"";
background-color:#000;
height:1px;
width:100%;
bottom:0;
left:0;
opacity:.2
}

#news_group section .news_post a::after
{
position:absolute;
content:"";
background-color:#000;
height:1px;
width:100%;
bottom:0;
left:0;
-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top;
-webkit-transition:-webkit-transform .4s;
transition:-webkit-transform .4s;
transition:transform .4s;
transition:transform .4s, -webkit-transform .4s
}

#news_group section .news_post a .news_post_box
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
color:#000
}

#news_group section .news_post a .news_post_box .text_wrap
{

width:100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}

#news_group section .news_post a .news_post_box .text_wrap .title
{

font-size:1.6rem
}

#news_group section .news_post a .news_post_box .text_wrap .title span
{

margin-right:50px
}

#news_group section .news_post a .news_post_box .text_wrap .arrow
{

right:30px;
top:0;
bottom:0;
margin:auto 5px;
width:80px;
height:10px;
border-right:solid 1px #000;
border-bottom:solid 1px #000;
-webkit-transform:skew(45deg);
transform:skew(45deg)
}

#news_group section .news_post a:hover::after
{

-webkit-transform:scale(1, 1);
transform:scale(1, 1);
-webkit-transform-origin:left bottom;
transform-origin:left bottom
}

#news_post_group
{

max-width:770px;
margin:0 auto;padding:80px 0px
}

#news_post_group section .article_cont .day
{

font-size:1.6rem;
font-weight:bold
}

#news_post_group section .article_cont .title
{

font-size:2rem;
font-weight:bold
}

#news_post_group section .article_cont .text
{

border-top:1px solid #000;
border-bottom:1px solid #000;padding:50px 0px;
margin-bottom:30px
}

#news_post_group section .article_cont .text img
{

width:70%;
margin-bottom:20px
}

#contact_group
{

max-width:800px;padding:80px 0 70px;
margin:0 auto
}

#contact_group .main_text
{

margin-bottom:30px
}

#contact_group .main_text p
{

font-size:1.7rem;
margin-bottom:20px
}

#contact_group .main_text .tel_box
{

background-color:#f2f2f2;
margin:0 auto 30px;padding:40px 0px
}

#contact_group .main_text .tel_box .inner
{

width:660px;
margin:0 auto;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:start;
-ms-flex-align:start;
align-items:flex-start;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}

#contact_group .main_text .tel_box .inner .title
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

#contact_group .main_text .tel_box .inner .title img
{

width:41px;
height:41px;
margin-right:5px
}

#contact_group .main_text .tel_box .inner .title .tel
{

font-size:2.2rem;
font-weight:bold
}

#contact_group .main_text .tel_box .inner .info h2
{

font-size:3.2rem;
line-height:3.2rem;
font-weight:bold
}

#contact_group .main_text .tel_box .inner .info h2 span
{

font-size:2.3rem
}

#contact_group .main_text .tel_box .inner .info p
{

font-weight:bold;
letter-spacing:.02em
}

#contact_group section
{
position:relative;
width:100%;
max-width:800px;
margin:auto
}

#contact_group section .contact_box
{

margin-bottom:40px
}

#contact_group section .contact_box dl
{

display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between;position:relative;
border-bottom:1px solid #7f7f7f
}

#contact_group section .contact_box dl .left
{
position:relative;
width:30%;
font-size:1.6rem;padding:20px 0px;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center;
display:-webkit-box;
display:-ms-flexbox;
display:flex
}

#contact_group section .contact_box dl .left::after
{
/* 
content:"必須";position:absolute;
color:red;
border:solid 1px red;
width:40px;
text-align:center;
right:0px;
font-size:1.2rem
*/
}

#contact_group section .contact_box dl .right
{

width:70%;padding:20px 0px 20px 20px
}

#contact_group section .contact_box dl .right input
{

width:100%;padding:10px;
font-size:1.8rem;
-webkit-box-sizing:border-box;
box-sizing:border-box;
background-color:#f1f2f6
}

#contact_group section .contact_box dl .right textarea
{

width:100%;padding:10px;
font-size:1.8rem;
-webkit-box-sizing:border-box;
box-sizing:border-box;
resize:vertical;
background-color:#f1f2f6
}

#contact_group section .contact_box dl:nth-child(3) .left::after
{

content:none
}

#contact_group section .contact_box dl:nth-child(4) .left::after
{

content:none
}

#contact_group section .contact_box dl:nth-child(6) .left::after
{

content:none
}

#contact_group section .contact_box dl:first-child
{

border-top:1px solid #7f7f7f
}

#contact_group section .contact_button
{
position:relative;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center;
text-align:center
}

#contact_group section .contact_button input
{

background-color:#000;
color:#fff;
text-align:center;
width:280px;
height:60px;
font-size:1.8rem;
margin:5px;
cursor:pointer;
letter-spacing:.2rem;
border:1px solid #000;position:relative;
-webkit-transition:all .3s ease;
transition:all .3s ease;
border:1px solid #000
}

#contact_group section .contact_button input::after
{

content:"";
width:calc(100% + 2px);
height:calc(100% + 2px);
-webkit-transition:.2s;
transition:.2s;position:absolute;
top:7px;
left:7px;
z-index:-1;
background-color:#eedcc2
}

#contact_group section .contact_button input:hover
{

border:1px solid #000;
background:#fff;
color:#000
}

#contact_group section .contact_button .ajax-loader
{
position:absolute;
top:-25px;
left:50%;
-webkit-transform:translate(-50%, 0);
transform:translate(-50%, 0);
background-image:url("../img/common/Pvaa1383f043ae471708d0f373262ee376_loading.gif");
background-repeat:no-repeat;
background-size:100%;
margin:0px
}

#contact_group section .wpcf7-validation-errors
{

text-align:center;
border:2px solid #000;
color:#000;position:relative
}

#contact_group section .wpcf7-mail-sent-ok
{

text-align:center;
border:2px solid #000;
color:#000;position:relative
}

#contact_group section .wpcf7-spam-blocked
{

text-align:center;
border:2px solid #000;
color:#000;position:relative
}

#contact_group section .screen-reader-response
{

display:none;position:relative
}

#contact_group section .wpcf7-response-output
{

text-align:center;
border-color:#000;
color:#000;position:relative
}

#privacy_group
{

width:auto;padding:80px 0px
}

#privacy_group .section_box
{

width:100%;
margin:0 auto
}

#privacy_group .section_box section
{

max-width:1000px;
margin:0 auto 40px
}

#privacy_group .section_box section h3
{

font-weight:bold;
text-align:center;
margin-bottom:30px;
font-size:1.8rem
}

#privacy_group .section_box section h4
{

font-weight:bold;
font-size:2rem;
color:#000
}

#privacy_group .section_box section .border
{

border-bottom:1px solid #000;padding-bottom:5px;
margin-bottom:10px
}

#privacy_group .section_box section p
{

font-size:1.6rem;
line-height:2.5rem
}

#privacy_group .section_box section:last-child
{

margin-bottom:0px
}

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

caption,dd,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,img,input,li,ol,p,table,td,textarea,th,ul
{

-webkit-appearance:none
}


}

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

.button a
{

width:230px;
height:50px
}

.button a p
{

line-height:5rem;
font-size:1.6rem
}

.button a .arrow
{

width:60px
}
p
{

font-size:1.3rem;
line-height:2.4rem
}

.pc_none
{

display:block
}

.sp_none
{

display:none
}

.pc_tab_block
{

display:none
}

.pc_tab_none
{

display:block
}

.sp_tab_none
{

display:none
}

body
{

min-width:100%
}

body #fade::before
{

width:10vw;
height:10vw
}

.index_header
{

min-width:inherit;
height:50px;
background-image:none;position:fixed;
-webkit-box-shadow:none;
box-shadow:none;
-webkit-box-shadow:rgba(149,157,165,.2) 0px 0px 15px;
box-shadow:rgba(149,157,165,.2) 0px 0px 15px
}

.index_header .global_menu
{

display:none
}

.index_header #sp_nav #menu_trigger_wrap
{

display:block
}

.index_header #sp_nav #menu_list
{

display:block
}

.lower_first_view .fv_main_title h2
{

font-size:2.6rem;
line-height:2.6rem;
margin-bottom:0px;
margin-right:10px;
margin-top:5px;
letter-spacing:0em
}

.lower_first_view .fv_main_title h2.privacy_title
{

font-size:6vw
}

.lower_first_view .fv_main_title p
{

font-size:1.2rem;
margin-right:10px
}

.lower_first_view .lower_first_view_img
{

margin-right:0px;
margin-left:5vw;
margin-top:50px;
height:180px;
width:90vw
}

.top_title
{

font-size:2.5rem;
line-height:2.5rem
}

.top_title::after
{

font-size:1.1rem;
top:25px;
letter-spacing:.1rem
}

footer
{

height:250px
}

footer .left_box
{

width:100%
}

footer .left_box .logo_address
{

top:5vw;
left:5vw
}

footer .left_box .logo_address .footer_logo
{

width:200px;
margin-bottom:5px
}

footer .left_box .logo_address .address
{

font-size:1.2rem;
line-height:2rem
}

footer .left_box .footer_nav
{

left:6vw;
bottom:40px
}

footer .left_box .footer_nav p
{

font-size:1.4rem;
line-height:2rem
}

footer .right_box
{

width:100%
}

footer .right_box .copyright
{

right:auto;
left:6.5vw;
bottom:5vw;
font-size:1rem
}

footer .right_box .topBtn
{
position:absolute;
right:5vw;
bottom:5vw;
display:block
}

footer .right_box .topBtn .scroll::after
{

background:#fff
}

footer .right_box .topBtn .scroll::before
{

background:#fff
}

footer .right_box .topBtn .scroll p
{

font-size:1.3rem;
color:#fff
}

#f_contact
{
padding:0px
}

#f_contact .contact_img
{
padding:40px 0px
}

#f_contact .inner
{
padding:5vw 5vw 8vw;
margin:0px 5vw
}

#f_contact .inner .title_flex
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column;
margin:0 auto 20px
}

#f_contact .inner .title_flex .top_title
{

margin:0 auto 40px
}

#f_contact .inner .title_flex .top_title::after
{

width:100%
}

#f_contact .inner .flex_box
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#f_contact .inner .flex_box .left_box
{
padding-right:0px;
border-right:none;
border-bottom:1px solid #fff;padding-bottom:20px;
margin-bottom:20px
}

#f_contact .inner .flex_box .left_box .title
{

-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center
}

#f_contact .inner .flex_box .left_box .title h3
{

font-size:1.7rem
}

#f_contact .inner .flex_box .left_box .title img
{

width:30px;
height:30px;
margin-right:7px
}

#f_contact .inner .flex_box .left_box .tel
{

font-size:2.3rem;
line-height:2.3rem;
margin-bottom:3px;
margin-bottom:3px;
text-align:center
}

#f_contact .inner .flex_box .left_box .tel span
{

font-size:1.5rem
}

#f_contact .inner .flex_box .left_box .day
{

font-size:1.2rem;
line-height:1.2rem;
text-align:center
}

#f_contact .inner .flex_box .right_box
{
padding-left:0px
}

#f_contact .inner .flex_box .right_box .title
{

-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center
}

#f_contact .inner .flex_box .right_box .title h3
{

font-size:1.7rem
}

#f_contact .inner .flex_box .right_box .title img
{

width:30px;
height:30px;
margin-right:7px
}

#f_contact .inner .flex_box .right_box .button a
{

width:90%;
margin:0 auto
}

#f_contact .inner .flex_box .right_box .button a:hover p
{

color:#fff
}

.pagenation
{

margin-top:0px;
margin-bottom: 20px;
}

.pagenation .nav_button
{

width:40px;
height:40px
}

.pagenation .nav_button a
{

font-weight:normal;
line-height:4rem;
font-size:1.4rem
}

.pagenation .nav_button:first-child a span::before
{

width:20px
}

.pagenation .nav_button:last-child a span::before
{

width:20px
}

.pagenation .nav_button:last-child a span::after
{

right:-21px
}

.pagenation .nav_button:hover
{

background:#000
}

.pagenation .nav_button:hover a
{

color:#fff
}

.pagenation .nav_button:hover a.active
{

color:#000
}

.pagenation .nav_button:hover:first-child a span::before
{

background:#fff
}

.pagenation .nav_button:hover:first-child a span::after
{

background:#fff
}

.pagenation .nav_button:hover:last-child a span::before
{

background:#fff
}

.pagenation .nav_button:hover:last-child a span::after
{

background:#fff
}

.post_button .sqere_button
{

width:40px;
height:40px
}

.post_button .sqere_button a
{

font-weight:normal;
line-height:4rem;
font-size:1.4rem
}

.post_button .sqere_button:first-child a::before
{

width:20px
}

.post_button .sqere_button:first-child a::after
{

right:13px
}

.post_button .sqere_button:last-child a::before
{

width:20px
}

.post_button .sqere_button:last-child a::after
{

right:-13px
}

.post_button .sqere_button:hover
{

background-color:#000
}

.post_button .sqere_button:hover a
{

color:#fff
}

.post_button .sqere_button:hover a::before
{

background:#fff
}

.post_button .sqere_button:hover a::after
{

background:#fff
}

.no_page
{

margin-top:70px
}

.no_page .no_page_sec h2
{

font-size:1.6rem
}

.t_first_view #t_first_view_img
{

margin-right:0px;
margin-left:5vw;
margin-top:50px;
margin-bottom:0px;
height:55vh;
width:90vw
}

.t_first_view #t_first_view_img .fv_main_title
{

left:10px;
bottom:30px
}

.t_first_view #t_first_view_img .fv_main_title__titleEn
{

font-size:6vw;
line-height:6vw;
margin-bottom:6px
}

.t_first_view #t_first_view_img .fv_main_title p
{

font-size:1.3rem
}

#t_aboutus
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column;padding:50px 5vw
}

#t_aboutus .right_box
{

width:auto
}

#t_aboutus .right_box p
{

margin-bottom:20px
}

#t_service
{
padding:50px 5vw 20px
}

#t_service .img_wrap
{

width:auto;
height:240px
}

#t_service .text_wrap
{
position:relative;
width:90%;
right:0px;
bottom:30px;
margin-right:0px;
margin-left:auto
}

#t_service .text_wrap .inner
{
padding:5vw
}

#t_service .text_wrap .inner .top_title
{

margin-bottom:40px
}

#t_service .text_wrap .inner p
{

margin-bottom:20px
}

#t_works
{

margin:0 auto;padding:50px 5vw
}

#t_works .works_post_box .title_flex
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column;
margin-bottom:20px
}

#t_works .works_post_box .title_flex .top_title
{

margin-bottom:40px
}

#t_works .works_post_box .title_flex .sub_title
{

width:auto
}

#t_works .works_post_box .works_slider
{

margin-bottom:30px
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .time
{

font-size:1.5rem;
margin-right:5px
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .place
{

height:20px;
line-height:2rem
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .place span
{

font-size:1.2rem
}

#t_works .works_post_box .works_slider .top_works_effect a .title
{

font-size:1.5rem
}

#t_works .works_post_box .works_slider .top_works_effect a:hover .img_wrap::after
{

opacity:0
}

#t_works .works_post_box .works_slider .top_works_effect a:hover .img_wrap::before
{

opacity:0
}

#t_works .works_post_box .slick-next
{

width:50px;
right:-6px
}

#t_works .works_post_box .slick-next:hover
{

right:-6px
}

#t_works .works_post_box .slick-prev
{

width:50px;
left:-6px
}

#t_works .works_post_box .slick-prev:hover
{

left:-6px
}

#t_news
{
padding:50px 5vw
}

#t_news .t_news_wrap
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#t_news .t_news_wrap .top_title
{

margin-top:0px;
margin-bottom:50px
}

#t_news .t_news_wrap .news_post_wrap
{

width:auto
}

#t_news .t_news_wrap .news_post_wrap .news_post a
{

line-height:2rem;
margin-bottom:20px
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap .title
{

line-height:2.5rem;
font-size:1.4rem
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap .arrow
{

margin-bottom:20px;
margin-right:5px;
margin-left:auto
}

#t_news .t_news_wrap .news_post_wrap .news_post a:hover::after
{

-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top
}

#message_group
{
padding:50px 5vw;
margin:0 auto
}

#message_group .flex_box
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#message_group .flex_box .img_box
{

width:100%
}

#message_group .flex_box .text_box
{

width:auto;position:relative
}

#message_group .flex_box .text_box .inner
{
padding:5vw 5vw 0px
}

#message_group .flex_box .text_box .inner .top_title
{

margin-bottom:30px
}

#message_group .flex_box .text_box .inner .name
{

margin-top:10px
}

#philosophy_group
{
padding:50px 5vw 0px;
margin:0 auto
}

#philosophy_group .philosophy_group_inner .flex_box
{

-webkit-box-orient:vertical;
-webkit-box-direction:reverse;
-ms-flex-flow:column-reverse;
flex-flow:column-reverse
}

#philosophy_group .philosophy_group_inner .flex_box .img_box
{

width:auto
}

#philosophy_group .philosophy_group_inner .flex_box .text_box
{

width:auto;position:relative
}

#philosophy_group .philosophy_group_inner .flex_box .text_box .inner
{
padding:5vw
}

#philosophy_group .philosophy_group_inner .flex_box .text_box .inner .top_title
{

margin-bottom:30px
}

#commitment_group
{
padding:50px 5vw;
margin:0 auto
}

#commitment_group .flex_box .img_box
{

width:auto
}

#commitment_group .flex_box .text_box
{

width:auto;position:relative
}

#commitment_group .flex_box .text_box .inner
{
padding:5vw
}

#commitment_group .flex_box .text_box .inner .top_title
{

margin-bottom:30px
}

#reform_group
{
padding:50px 5vw 0px;
margin:0 auto
}

#reform_group ul li
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column;
margin:0 auto
}

#reform_group ul li .img_box
{

width:auto
}

#reform_group ul li .text_box
{
position:relative;
width:100%
}

#reform_group ul li .text_box .inner
{
padding:0px
}

#reform_group ul li .text_box .inner .flex_title .number
{

font-size:5rem
}

#reform_group ul li .text_box .inner .flex_title .service_title
{

font-size:2rem;
line-height:2rem
}

#reform_group ul li .text_box .inner .flex_title .service_title span
{

font-size:1.4rem
}

#reform_group ul li:nth-child(2)
{

-webkit-box-orient:vertical;
-webkit-box-direction:reverse;
-ms-flex-flow:column-reverse;
flex-flow:column-reverse
}

#reform_group ul li:nth-child(2) .text_box .inner
{
padding:0px
}

#reform_group ul li:nth-child(4) .text_box .inner
{
padding:0px
}

#works_group
{
padding:50px 5vw
}

#works_group .works_wrap .top_works_effect
{

width:100%
}

#works_group .works_wrap .top_works_effect a
{

margin:0 auto 50px
}

#works_group .works_wrap .top_works_effect a .img_wrap
{

height:240px
}

#works_group .works_wrap .top_works_effect a .time-place .time
{

font-size:1.5rem;
margin-right:5px
}

#works_group .works_wrap .top_works_effect a .time-place .place
{

height:20px;
line-height:2rem
}

#works_group .works_wrap .top_works_effect a .time-place .place span
{

font-size:1.2rem
}

#works_group .works_wrap .top_works_effect a .title
{

font-size:1.5rem
}

#works_group .works_wrap .top_works_effect a:hover .img_wrap::after
{

opacity:0
}

#works_group .works_wrap .top_works_effect a:hover .img_wrap::before
{

opacity:0
}

#works_post_group
{
padding:50px 5vw
}

#works_post_group .works_post_flex_post
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#works_post_group .works_post_flex_post .img_box
{

width:100%
}

#works_post_group .works_post_flex_post .img_box .thumbnail .slide
{

height:250px
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub
{

margin-bottom:10px
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub .slick-track .slide
{

width:50px !important;
height:50px
}

#works_post_group .works_post_flex_post .text_box
{

width:100%;
margin-bottom:20px
}

#works_post_group .works_post_flex_post .text_box h1
{

font-size:1.8rem
}

#works_post_group .befor_after_box
{
padding:5vw
}

#works_post_group .befor_after_box ul
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#works_post_group .befor_after_box ul::after
{

border-left:20px solid transparent;
border-right:20px solid transparent;
border-top:20px solid #000
}

#works_post_group .befor_after_box ul li
{

width:100%
}

#works_post_group .befor_after_box ul li .img_box
{

height:180px
}

#works_post_group .befor_after_box ul li:first-child
{

margin-bottom:50px
}

#company_group
{
padding:50px 5vw;
margin:0 auto
}

#company_group table tbody tr th
{

font-size:1.3rem
}

#company_group table tbody tr td
{

font-size:1.3rem
}

#company_group .add_text a:hover::after
{

-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top
}

#news_group
{
padding:50px 5vw
}

#news_group section .news_post a
{

line-height:2rem;
margin-bottom:20px
}

#news_group section .news_post a .news_post_box .text_wrap
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#news_group section .news_post a .news_post_box .text_wrap .title
{

line-height:2.5rem;
font-size:1.4rem
}

#news_group section .news_post a .news_post_box .text_wrap .arrow
{

margin-bottom:20px;
margin-right:5px;
margin-left:auto
}

#news_group section .news_post a:hover::after
{

-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top
}

#news_post_group
{
padding:50px 5vw
}

#news_post_group section .article_cont .title
{

font-size:1.6rem
}

#news_post_group section .article_cont .text
{
padding:30px 0px
}

#contact_group
{
padding:50px 5vw
}

#contact_group .main_text
{

margin-bottom:25px
}

#contact_group .main_text p
{

font-size:1.5rem;
line-height:2.5rem;
text-align:left;
margin-bottom:10px
}

#contact_group .main_text .tel_box
{
padding:5vw
}

#contact_group .main_text .tel_box .inner
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column;
width:100%;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

#contact_group .main_text .tel_box .inner .title img
{

width:30px;
height:30px
}

#contact_group .main_text .tel_box .inner .title .tel
{

font-size:5vw
}

#contact_group .main_text .tel_box .inner .info h2
{

font-size:2.5rem
}

#contact_group .main_text .tel_box .inner .info h2 span
{

font-size:2rem
}

#contact_group .main_text .tel_box .inner .info p
{

font-size:1.3rem
}

#contact_group section .contact_box dl
{

-ms-flex-flow:wrap;
flex-flow:wrap;
-webkit-box-pack:center;
-ms-flex-pack:center;
justify-content:center
}

#contact_group section .contact_box dl .left
{

width:100%;padding-top:15px;padding-bottom:0px;
font-size:1.4rem
}

#contact_group section .contact_box dl .left::after
{

font-size:1rem;
width:30px
}

#contact_group section .contact_box dl .right
{

width:100%;padding:5px 0px 20px 0px
}

#contact_group section .contact_button input
{

height:60px;
font-size:1.5rem;
width:100%;padding:0px 20px
}

#contact_group section .contact_button input::after
{

top:4px;
left:4px
}

#contact_group section .contact_button input:hover
{

background:#000;
color:#fff
}

#privacy_group
{
padding:40px 5vw
}

#privacy_group .section_box section
{

width:90%;
margin:0 auto 20px
}

#privacy_group .section_box section h3
{

margin-bottom:0px;
text-align:left;
font-size:1.4rem
}

#privacy_group .section_box section h4
{

width:auto;
margin-bottom:0px;
font-size:1.4rem
}

#privacy_group .section_box section .border
{

margin-bottom:5px
}

#privacy_group .section_box section p
{

font-size:1.2rem
}


}

@media screen and (min-width: 767px)and (max-width: 1100px)
{

.button a
{

width:230px;
height:50px
}

.button a p
{

line-height:5rem;
font-size:1.6rem
}

.button a .arrow
{

width:60px
}
p
{

font-size:1.3rem;
line-height:2.4rem
}

.pc_none
{

display:block
}

.pc_tab_block
{

display:block
}

.pc_tab_none
{

display:none
}

.sp_tab_none
{

display:none
}

body
{

min-width:100%
}

.index_header
{

min-width:inherit;
height:50px;
background-image:none;position:fixed;
-webkit-box-shadow:none;
box-shadow:none;
-webkit-box-shadow:rgba(149,157,165,.2) 0px 0px 15px;
box-shadow:rgba(149,157,165,.2) 0px 0px 15px
}

.index_header #h_logo
{

display:none
}

.index_header .global_menu
{

display:none
}

.index_header #sp_nav .nav_logo
{

display:block
}

.index_header #sp_nav #menu_trigger_wrap
{

display:block
}

.index_header #sp_nav #menu_list
{

display:block
}

.index_header.is_animation
{

height:50px
}

.lower_first_view .fv_main_title h2
{

font-size:3.8rem;
line-height:3.8rem
}

.lower_first_view .fv_main_title p
{

font-size:1.5rem
}

.lower_first_view .lower_first_view_img
{

margin-right:0px;
margin-left:4vw;
margin-top:50px;
height:25vh;
width:92vw
}

.top_title
{

font-size:3rem;
margin-bottom:40px
}

.top_title::after
{

font-size:1.2rem;
top:30px
}

footer
{

height:280px
}

footer .left_box .logo_address
{

top:4vw;
left:4vw
}

footer .left_box .logo_address .footer_logo
{

width:270px;
margin-bottom:5px
}

footer .left_box .logo_address .address
{

font-size:1.4rem
}

footer .left_box .footer_nav
{

left:4vw;
bottom:4vw
}

footer .right_box .copyright
{

bottom:4vw;
right:4vw
}

footer .right_box .topBtn
{
position:absolute;
right:4vw;
bottom:calc(145px - 4vw);
display:block
}

footer .right_box .topBtn .scroll::after
{

background:#fff
}

footer .right_box .topBtn .scroll::before
{

background:#fff
}

footer .right_box .topBtn .scroll p
{

font-size:1.3rem;
color:#fff
}

#f_contact
{
padding:40px 4vw
}

#f_contact .contact_img
{
padding:4vw 0px
}

#f_contact .inner
{
padding:4vw;
margin:0 4vw
}

#f_contact .inner .title_flex
{

margin:0 auto
}

#f_contact .inner .flex_box .left_box
{
padding-right:20px
}

#f_contact .inner .flex_box .left_box .title h3
{

font-size:1.5rem
}

#f_contact .inner .flex_box .left_box .title img
{

width:30px;
height:30px
}

#f_contact .inner .flex_box .left_box .tel
{

font-size:2.3rem;
text-align:center
}

#f_contact .inner .flex_box .left_box .tel span
{

font-size:1.5rem
}

#f_contact .inner .flex_box .left_box .day
{

font-size:1.1rem;
line-height:1.1rem
}

#f_contact .inner .flex_box .right_box
{
padding-left:20px
}

#f_contact .inner .flex_box .right_box .title h3
{

font-size:1.5rem
}

#f_contact .inner .flex_box .right_box .title img
{

width:30px;
height:30px
}

#f_contact .inner .flex_box .right_box .button a
{

width:95%;
margin:0 auto;
height:40px
}

#f_contact .inner .flex_box .right_box .button a p
{

line-height:4rem
}

#f_contact .inner .flex_box .right_box .button a:hover p
{

color:#FFF
}

.pagenation .nav_button
{

width:40px;
height:40px
}

.pagenation .nav_button a
{

line-height:4rem;
font-size:1.4rem
}

.pagenation .nav_button:first-child a span::before
{

width:20px
}

.pagenation .nav_button:last-child a span::before
{

width:20px
}

.pagenation .nav_button:last-child a span::after
{

right:-21px
}

.pagenation .nav_button:hover
{

background:#000
}

.pagenation .nav_button:hover a
{

color:#fff
}

.pagenation .nav_button:hover a.active
{

color:#000
}

.pagenation .nav_button:hover:first-child a span::before
{

background:#fff
}

.pagenation .nav_button:hover:first-child a span::after
{

background:#fff
}

.pagenation .nav_button:hover:last-child a span::before
{

background:#fff
}

.pagenation .nav_button:hover:last-child a span::after
{

background:#fff
}

.post_button .sqere_button
{

width:40px;
height:40px
}

.post_button .sqere_button a
{

line-height:4rem;
font-size:1.4rem
}

.post_button .sqere_button:hover
{

background-color:#000
}

.post_button .sqere_button:hover a
{

color:#fff
}

.post_button .sqere_button:hover a::before
{

background:#fff
}

.post_button .sqere_button:hover a::after
{

background:#fff
}

.t_first_view #t_first_view_img
{

margin-right:0px;
margin-left:4vw;
margin-top:50px;
margin-bottom:0px;
height:55vh;
width:92vw
}

.t_first_view #t_first_view_img .fv_main_title
{

left:10px;
bottom:25px
}

.t_first_view #t_first_view_img .fv_main_title__titleEn
{

font-size:4.5rem;
line-height:9vw;
margin-bottom:0px
}

#t_aboutus
{
padding:40px 4vw
}

#t_aboutus .right_box
{

width:70%
}

#t_service
{
padding:40px 4vw 240px
}

#t_service .img_wrap
{

width:70%;
height:300px
}

#t_service .text_wrap
{

right:4vw;
width:50%;
bottom:40px
}

#t_service .text_wrap .inner
{
padding:4vw
}

#t_service .text_wrap .inner .top_title
{

margin-bottom:30px
}

#t_service .text_wrap .inner p
{

margin-bottom:20px
}

#t_works
{

margin:0 auto;padding:40px 5vw
}

#t_works .works_post_box .title_flex
{

margin-bottom:0px
}

#t_works .works_post_box .works_slider
{

margin-bottom:40px
}

#t_works .works_post_box .works_slider .top_works_effect a .img_wrap
{

margin-bottom:10px
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .time
{

font-size:1.4rem;
margin-right:5px
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .place
{

line-height:1.6rem;
height:16px
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .place span
{

font-size:1.2rem
}

#t_works .works_post_box .works_slider .top_works_effect a .title
{

font-size:1.4rem
}

#t_works .works_post_box .works_slider .top_works_effect a:hover .img_wrap::after
{

opacity:0
}

#t_works .works_post_box .works_slider .top_works_effect a:hover .img_wrap::before
{

opacity:0
}

#t_works .works_post_box .slick-next
{

width:60px
}

#t_works .works_post_box .slick-next:hover
{

right:-15px
}

#t_works .works_post_box .slick-prev
{

width:60px
}

#t_works .works_post_box .slick-prev:hover
{

left:-15px
}

#t_news
{
padding:40px 4vw
}

#t_news .t_news_wrap
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#t_news .t_news_wrap .top_title
{

margin-top:0px;
margin-bottom:20px
}

#t_news .t_news_wrap .news_post_wrap
{

width:auto
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap .title
{

font-size:1.4rem
}

#t_news .t_news_wrap .news_post_wrap .news_post a .news_post_box .text_wrap .title span
{

margin-right:20px
}

#t_news .t_news_wrap .news_post_wrap .news_post a:hover::after
{

-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top
}

#message_group
{
padding:40px 4vw;
margin:0px auto
}

#message_group .flex_box
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#message_group .flex_box .img_box
{

width:100%
}

#message_group .flex_box .text_box
{

width:auto
}

#message_group .flex_box .text_box .inner
{
padding:4vw
}

#message_group .flex_box .text_box .inner .top_title
{

margin-bottom:40px
}

#philosophy_group
{
padding:40px 4vw
}

#philosophy_group .philosophy_group_inner
{
padding-bottom:160px
}

#commitment_group
{
padding:40px 4vw 160px;
margin:0px auto
}

#reform_group
{
padding:40px 4vw 0px;
margin:0 auto
}

#reform_group ul li
{

margin:0 auto 30px
}

#reform_group ul li .text_box
{

width:50%
}

#reform_group ul li .text_box .inner
{
padding:4vw 0px 4vw 4vw
}

#reform_group ul li .text_box .inner .flex_title .service_title
{

font-size:2.5rem;
line-height:2.5rem
}

#reform_group ul li .text_box .inner .flex_title .service_title span
{

font-size:1.3rem
}

#works_group
{
padding:40px 4vw 0px
}

#works_group .works_wrap .top_works_effect a
{

margin:15px
}

#works_group .works_wrap .top_works_effect a .img_wrap
{

height:190px;
margin-bottom:10px
}

#works_group .works_wrap .top_works_effect a .time-place .time
{

font-size:1.4rem;
margin-right:5px
}

#works_group .works_wrap .top_works_effect a .time-place .place
{

line-height:1.6rem;
height:16px
}

#works_group .works_wrap .top_works_effect a .time-place .place span
{

font-size:1.2rem
}

#works_group .works_wrap .top_works_effect a .title
{

font-size:1.4rem
}

#works_group .works_wrap .top_works_effect a:hover .img_wrap::after
{

opacity:0
}

#works_group .works_wrap .top_works_effect a:hover .img_wrap::before
{

opacity:0
}

#works_post_group
{
padding:40px 4vw 0px
}

#works_post_group .works_post_flex_post
{

-webkit-box-orient:vertical;
-webkit-box-direction:normal;
-ms-flex-flow:column;
flex-flow:column
}

#works_post_group .works_post_flex_post .img_box
{

width:100%
}

#works_post_group .works_post_flex_post .img_box .thumbnail_sub
{

margin-bottom:20px
}

#works_post_group .works_post_flex_post .text_box
{

width:100%;
margin-bottom:20px
}

#works_post_group .befor_after_box ul li .img_box
{

height:240px
}

#company_group
{
padding:40px 4vw 0px;
margin:0 auto
}

#company_group table tbody tr th
{

font-size:1.3rem
}

#company_group table tbody tr td
{

font-size:1.3rem
}

#company_group .add_text a:hover::after
{

-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top
}

#news_group
{
padding:40px 4vw 0px
}

#news_group section .news_post a .news_post_box .text_wrap .title
{

font-size:1.6rem
}

#news_group section .news_post a .news_post_box .text_wrap .title span
{

margin-right:20px
}

#news_group section .news_post a:hover::after
{

-webkit-transform:scale(0, 1);
transform:scale(0, 1);
-webkit-transform-origin:right top;
transform-origin:right top
}

#news_post_group
{
padding:40px 4vw 0px
}

#news_post_group section .article_cont .title
{

font-size:1.6rem
}

#news_post_group section .article_cont .text
{
padding:30px 0px
}

#contact_group
{
padding:40px 4vw
}

#contact_group .main_text p
{

font-size:1.8rem;
line-height:3rem
}

#contact_group .main_text .tel_box .inner .info p
{

font-size:1.6rem;
letter-spacing:.01em
}

#contact_group section .contact_button input
{

width:440px;
height:60px
}

#contact_group section .contact_button input::after
{

top:5px;
left:5px
}

#contact_group section .contact_button input:hover
{

background:#000;
color:#fff
}

#privacy_group
{
padding:50px 5vw 0px
}

#privacy_group .section_box section
{

width:90%;
margin:0 auto 20px
}

#privacy_group .section_box section h3
{

margin-bottom:0px;
font-size:1.4rem;
text-align:center
}

#privacy_group .section_box section h4
{

width:auto;
font-size:1.6rem
}

#privacy_group .section_box section .border
{

margin-bottom:10px
}

#privacy_group .section_box section p
{

font-size:1.3rem;
line-height:2.4rem
}


}

@media all and (-ms-high-contrast: none)
{

.button a p
{
padding-top:0px
}
p
{
padding-top:6px
}

h3
{
padding-top:3px
}

h2
{
padding-top:3px
}

h1
{
padding-top:3px
}

footer .right_box .topBtn .scroll::after
{

top:-43px
}

#f_contact .inner .flex_box .left_box .tel
{

line-height:2rem
}

.pagenation .nav_button a
{
padding-top:3px
}

.post_button .sqere_button a
{
padding-top:3px
}

#t_works .works_post_box .works_slider .top_works_effect a .time-place .place
{

height:20px
}

#works_group .works_wrap .top_works_effect
{

width:calc(33.3333333333% - 10px)
}

#works_group .works_wrap .top_works_effect a .time-place .place
{

height:20px
}

#works_post_group .befor_after_box ul::after
{

display:none
}

#contact_group .main_text .tel_box .inner .info p
{
padding-top:0px
}

#contact_group section .contact_box dl .left
{
padding:23px 0px 20px
}

#contact_group section .contact_box dl .left::after
{

line-height:2.4rem;
height:19px
}


}

