@charset "utf-8";
img, object, embed, video {
width: 100%;
margin: auto;
}

.en {
font-family:"Oswald", sans-serif;
}



/*btn
----------------------*/
.com_btn {
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;
background-color:#000;
height:60px;
max-width:260px;
width:100%;
border:1px solid #FFF
}

.com_btn {
-webkit-transition:.3s;
transition:.3s
}
.com_btn:hover {
background-color:#fff;
border:1px solid #000
}
.com_btn:hover .btn_txt {
color:#000
}
.com_btn:hover .com_arrow:before {
background-color:#000;
-webkit-animation:Flow_arrow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
animation:Flow_arrow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.com_btn:hover .com_arrow:after {
background:url("../images/com/arrow_b.svg") 100% no-repeat
}

.com_btn .btn_txt {
margin-right:15px;
letter-spacing:.05em;
font-weight:400;
color:#fff;
-webkit-transition:.3s;
transition:.3s
}

.com_arrow_btn {
width:65px
}
.com_arrow {
display:block;
position:relative;
width:50px
}
.com_arrow:before {
content:'';
position:absolute;
top:0;
bottom:0;
margin:auto
}
.com_arrow:before {
width:50px;
height:1px;
background-color:#fff;
left:0;
-webkit-transition:.3s;
transition:.3s
}
.com_arrow:after {
content:'';
position:absolute;
background:url("../images/com/arrow_w_r.svg") 100% no-repeat;
width:5px;
height:10px;
right:-15px;
top:0;
bottom:0;
margin:auto;
-webkit-transition:.3s;
transition:.3s
}
.com_arrow.black:before {
background-color:#000
}
.com_arrow.black:after {
background:url("../images/com/arrow_b.svg") 100% no-repeat;
-webkit-transform:rotate(0);
transform:rotate(0);
width:5px;
height:10px
}

.com_btn_b {
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;
background-color:#FFF;
height:60px;
max-width:260px;
width:100%;
border:1px solid #000
}

.com_btn_b {
-webkit-transition:.3s;
transition:.3s
}
.com_btn_b:hover {
background-color:#000;
border:1px solid #000
}

.com_btn_b:hover .btn_txt{
color: #FFF;
}
.com_btn_b:hover .com_arrow:before {
background-color:#FFF;
-webkit-animation:Flow_arrow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
animation:Flow_arrow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.com_btn_b:hover .com_arrow:after {
background:url("../images/com/arrow_w_r.svg") 100% no-repeat
}

.com_btn_b .btn_txt {
margin-right:15px;
letter-spacing:.05em;
font-weight:400;
color:#000;
-webkit-transition:.3s;
transition:.3s
}

.com_btn_b .com_arrow_btn {
width:65px
}

.com_btn_b:hover .com_arrow:before {
background-color:#FFF;
-webkit-animation:Flow_arrow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
animation:Flow_arrow 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards
}

.com_btn_b:hover .com_arrow:after {
background:url("../images/com/arrow_w_r.svg") 100% no-repeat
}

.com_btn_b .com_arrow {
display:block;
position:relative;
width:50px
}

.com_btn_b .com_arrow:before {
content:'';
position:absolute;
top:0;
bottom:0;
margin:auto
}

.com_btn_b .com_arrow:before {
width:50px;
height:1px;
background-color:#000;
left:0;
-webkit-transition:.3s;
transition:.3s
}

.com_btn_b .com_arrow:after {
content:'';
position:absolute;
background:url("../images/com/arrow_b.svg") 100% no-repeat;
width:5px;
height:10px;
right:-15px;
top:0;
bottom:0;
margin:auto;
-webkit-transition:.3s;
transition:.3s
}

.com_arrow.black:before {
background-color:#FFF
}

.com_arrow.black:after {
background:url("../images/com/arrow_w_r.svg") 100% no-repeat;
-webkit-transform:rotate(0);
transform:rotate(0);
width:5px;
height:10px
}

/*PC*/
@media print, screen and (min-width: 768px) {
body{
min-width: 1200px;
}

/*--スクロールトップ---------*/
#totop {
bottom: 50px;
display: block;
position: fixed;
right: 20px;
z-index: 50;
}
#totop a {
display: block;
width: 54px;
height: 54px;
text-indent: -1000em;
overflow: hidden;
background: url("../images/com/btn_scroll_top.png") 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/*com*/
/*----------------------------*/
.pcBr {
display: inline-block;
}
.spBr {
display: none;
}
.pc {
display: block;
}
.sp {
display: none !important;
}

.w1000{
width: 1000px;
margin: 0 auto;
}

/*bg_com
--------------------------------------------*/
.bg_com{
position: fixed;
top:0;
left:0;
z-index: -1;
width:100%;
height:100vh;
overflow: hidden;
background-color: #e9edf4;
background-image: url("/images/com/bg_noise.png");
background-repeat: repeat;
background-position: center;
background-size: cover;
}


/* header
--------------------------------------------*/
header {
position: relative;

}

#header {
width: 100%;
min-width: 1300px;
z-index: 10;
position: fixed;
padding: 20px 30px;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
transition: 0.5s;
background: rgba(255,255,255,1);
}

#header .logo_wrap {
display: block;
width: 290px;
transition: 0.5s;
}

#header .logo_wrap a{
display: block;
}

#header .logo_wrap img{
}


#header .gnav {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

#header .gnav .gnav_list {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}
#header .gnav .gnav_list>li {
margin-right:20px
}

#header .gnav .gnav_list>li a {
display:inline-block;
font-size: .9rem;
font-weight: bold;
color: #000;
letter-spacing: 1px;
}
#header .gnav .gnav_list>li a.com_border:after {
height:3px;
bottom:-20px
}
#header .gnav .gnav_list>li.active .com_border:after {
-webkit-transform:scaleX(1);
transform:scaleX(1)
}
#header .gnav .link_c {
background-color:#121212;
width:160px;
text-align:center;
color:#fff;
border:1px solid transparent;
font-size: .9rem;
font-weight: 500;
border-radius: 1.6rem;
padding: 6px 0;
}

#header.scroll-nav {
padding: 15px 30px 15px 30px;
transition: 0.5s;
background: #FFF;
z-index: 10;
}
/* 「scroll-navクラス」がヘッダーについたとき */
#header.scroll-nav .logo_wrap {
width: 200px;
transition: 0.5s;
}

#header.scroll-nav .gnav {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align:center;
-ms-flex-align:center;
align-items:center
}

#header.scroll-nav .gnav .gnav_list {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack:justify;
-ms-flex-pack:justify;
justify-content:space-between
}
#header.scroll-nav .gnav .gnav_list>li {
margin-right:20px
}

#header.scroll-nav .gnav .gnav_list>li a {
display:inline-block;
font-size: .8125rem;
font-weight: 500;
border-radius: 1.6rem;
color: #000;
letter-spacing: 1px;
}
#header.scroll-nav .gnav .gnav_list>li a.com_border:after {
height:3px;
bottom:-20px
}
#header.scroll-nav .gnav .gnav_list>li.active .com_border:after {
-webkit-transform:scaleX(1);
transform:scaleX(1)
}
#header.scroll-nav .gnav .link_c {
background-color:#121212;
width:180px;
text-align:center;
color:#fff;
border:1px solid transparent;
font-size: .8125rem;
font-weight: 500;
border-radius: 1.6rem;
padding: 6px 0;
}



/* footer
--------------------------------------------*/
footer {
position: relative;
padding: 60px 5% 25px;
box-sizing: border-box;
min-width: 1200px;
background: #000;
}
#footer {
margin: auto;
}

#footer .f_logo_wrap {
width:100%;
position: relative;
border-bottom: 1px solid #333;
padding-bottom: 30px;
}

#footer .f_logo {
width:300px;
margin: 0 0 20px;
}

#footer h2 {
font-size: 1rem;
font-weight: 700;
line-height: 1;
color: #FFF;
margin:0;
}

#footer h2 span {
font-size: 0.7rem;
margin-right: 5px;
}

#footer .ft_btm {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 30px auto 30px;
}

#footer .ft_btm .ft_info h3{
font-size: 1.2rem;
color: #FFF;
}

#footer .ft_btm .ft_info p{
margin-bottom: 25px;
color: #FFF;
}

#footer .ft_btm .ft_info span{
font-size: 1.2rem;
font-weight: 700;
font-family:"Oswald", sans-serif
}

#footer .ft_btm .ft_navi{
width: 60%;
}

#footer .ft_btm .ft_navi h3{
font-size: 1.2rem;
line-height: 1;
color: #FFF;
margin: 0 0 20px;
}

#footer .ft_btm .ft_navi ul{
display: flex;
flex-wrap: wrap;
margin: 0 0 20px;
}

#footer .ft_btm .ft_navi ul li{
position: relative;
width:33.333%;
margin-bottom: 4%;
line-height: 1;
padding-left: 20px;
box-sizing: border-box;
}

#footer .ft_btm .ft_navi ul li:nth-child(3n){
margin-right: 0;
}

#footer .ft_btm .ft_navi ul li::before{
content: "";
position: absolute;
top: 11px;
left: 0;
width: 12px;
height: 1px;
background: rgba(255,160,0,1);
}

#footer .ft_btm .ft_navi ul li a{
color: #FFF;
font-size:.9rem;
}

#footer .copy {
font-size: .8rem;
font-weight: 400;
color: #fff;
}


/*
--------------------------------------------------*/
.hed_wrap{
padding: 220px 100px 80px;
box-sizing: border-box;
}

.com_ttl_wrap{
position: relative;
box-sizing: border-box;
margin-bottom: 65px;
}

.com_ttl_wrap .ttl_en {
font-size:4.6rem;
line-height: 1;
font-weight: 600;
font-family:"Oswald", sans-serif;
letter-spacing: -.01rem;
}

.com_ttl_wrap .ttl_ja {
font-weight: 500;
font-size: 16px;
letter-spacing: .07em;
line-height: 1;
margin-left: 5px;
margin-bottom: 5px;
position: relative;
padding-left: 20px;
}

.com_ttl_wrap .ttl_ja::before {
content: "";
width: 8px;
height: 8px;
background-color:rgba(255,160,0,1);
position: absolute;
top: 5px;
left: 0;
}

.hed_wrap .mv{
margin:35px 0 0;
}

.ttl {
font-size:1.8rem;;
font-weight: bold;
padding:0.3em 0;
margin-bottom: 1em;
position: relative;
}

.ttl::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 2px;
background: #ff7f00;
}

.s_ttl{
font-size:1.2rem;;
font-weight: bold;
line-height: 1;
padding:0.3em 0 .3em 1.2rem;
box-sizing: border-box;
margin-bottom: 1em;
position: relative;
}

.s_ttl::before{
content: "";
position: absolute;
top: 12px;
left: 0;
width: 8px;
height: 8px;
border-radius: 50%;
background-color:#ff7f00;
}


.hed_img{
margin:3.75rem 0 5.625rem;
width: 100%;
}

.sec_sub_ttl {
padding-bottom: 25px;
border-bottom: 1px solid rgba(138, 138, 138, 0.14902);
-o-border-image: linear-gradient(to right, #006400 0%, #006400 5rem, rgba(138, 138, 138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image: -webkit-gradient(linear, left top, right top, from(#006400), color-stop(5rem, #006400), color-stop(5rem, rgba(138, 138, 138, 0.14902)), to(rgba(138, 138, 138, 0.14902)));
border-image: linear-gradient(to right, #006400 0%, #006400 5rem, rgba(138, 138, 138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image-slice: 1;
margin-bottom: 60px;
}

.sec_sub_ttl_en span {
position: relative;
font-size: 1rem;
font-family: "Barlow", sans-serif;
font-weight: 600;
line-height: 1.8571428571;
letter-spacing: 0;
margin-left: 20px;
text-transform: uppercase;
}

.sec_sub_ttl_en span::before {
content: "";
width: 8px;
width: 0.5rem;
height: 8px;
height: 0.5rem;
display: inline-block;
background-color: #006400;
position: absolute;
top: 8px;
top: 0.25rem;
left: -23px;
left: -1.4375rem;
}

.sec_sub_ttl_jp span {
display: block;
font-weight: 500;
font-size: 2rem;
letter-spacing: 0.06em;
line-height: 1.6;
}

.sub_tit{
font-size: 1.2rem;
font-weight: 500;
margin: 0 0 20px;
padding:0 0 10px;
position: relative;
border-bottom: 1px solid rgba(138, 138, 138, 0.14902);
border-image: linear-gradient(to right, #006400 0%, #006400 5rem, rgba(138, 138, 138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image-slice: 100%;
border-image-slice: 1;
}

}
/*sp*/
@media only screen and (max-width: 767px) {
/*--スクロールトップ---------*/
#totop {
bottom: 20px;
display: block;
position: fixed;
right: 15px;
z-index: 50;
width: 45px;
}
#totop a {
display: block;
width: 50px;
height: 50px;
text-indent: -1000em;
overflow: hidden;
background: url(../images/com/btn_scroll_top.png) 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}



/*anchor link*/
/*----------------------------*/


/* com
--------------------------------------------*/
.pcBr {
display: none;
}
.spBr {
display: inline-block;
}
.pc {
display: none !important;
}
.sp {
display: block;
}

.w1000{
width: 90%;
margin: 0 auto;
}


/* header
--------------------------------------------*/
header {
position: relative;
}
#header {
width: 100%;
z-index: 10;
position: fixed;
padding: 10px;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

.logo_wrap {
display: block;
width: 210px;
transition: 0.5s;

}
.logo_wrap a{
display: block;

}

#header.scroll-nav {
padding:10px;
box-sizing: border-box;
background: #FFF;
transition: 0.5s;
}

#header.scroll-nav .logo_wrap{
width:180px;
transition: 0.5s;
}

#header .gnav {
display: none;
}


/* footer
--------------------------------------------*/
footer {
position: relative;
padding: 40px 20px 15px;
box-sizing: border-box;
background: #000;
}
#footer {
width: 90%;
margin: auto;
}

#footer .f_logo_wrap {
width:100%;
position: relative;
border-bottom: 1px solid #333;
padding-bottom: 20px;
}

#footer .f_logo {
width: 260px;
margin: 0 auto 20px;
}
#footer h2 {
font-size: .9rem;
font-weight: 700;
line-height: 1;
color: #FFF;
margin:0;
text-align: center;
}
#footer h2 span {
font-size: 0.7rem;
margin-right: 5px;
}

#footer .ft_btm {
margin: 20px auto;
}

#footer .ft_btm .ft_info{
color: #FFF;
text-align: center;
}

#footer .ft_btm .ft_info h3{
font-size: 1rem;
}

#footer .ft_btm .ft_info p{
margin-bottom: 25px;
}

#footer .ft_btm .ft_info span{
font-size: 1rem;
font-weight: 700;
font-family:"Oswald", sans-serif;
line-height: 1.5;
}

#footer .ft_btm .ft_navi{
display: none;
}
#footer .copy {
font-size: 0.6rem;
font-weight: 400;
color: #fff;
text-align: center;
}

#footer .copy a {
pointer-events: none;
color: #FFF !important;
}


/*
--------------------------------------------------*/
.hed_wrap{
padding: 120px 5% 20px;
box-sizing: border-box;
}

.com_ttl_wrap{
position: relative;
box-sizing: border-box;
margin-bottom: 30px;
}

.com_ttl_wrap .ttl_en {
font-size:2rem;
font-weight: 600;
line-height: 1;
letter-spacing: -.01em;
font-family:"Oswald", sans-serif
}

.com_ttl_wrap .ttl_ja {
font-weight: 700;
font-size: 12px;
letter-spacing: .07em;
line-height: 1;
margin-left: 5px;
margin-bottom: 5px;
position: relative;
padding-left: 10px;
}

.com_ttl_wrap .ttl_ja::before {
content: "";
width: 5px;
height: 5px;
background-color:rgba(255,160,0,1);
position: absolute;
top: 4px;
left: 0;
}



.ttl {
font-size:1.1rem;
font-weight: bold;
padding:0.3em 0;
margin-bottom: 1em;
position: relative;
}

.ttl::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 40px;
height: 2px;
background: #ff7f00;
}


.s_ttl{
font-size:.9rem;;
font-weight: bold;
line-height: 1;
padding:.15em 0 .15em .8rem;
box-sizing: border-box;
margin-bottom: 1em;
position: relative;
}

.s_ttl::before{
content: "";
position: absolute;
top: 8px;
left: 0;
width: 6px;
height:6px;
border-radius: 50%;
background-color:#ff7f00;
}

.hed_img{
margin:20px 0 40px;
width: 100%;
}

.sec_sub_ttl {
padding-bottom: 15px;
border-bottom: 1px solid rgba(138, 138, 138, 0.14902);
-o-border-image: linear-gradient(to right, #006400 0%, #006400 5rem, rgba(138, 138, 138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image: -webkit-gradient(linear, left top, right top, from(#006400), color-stop(5rem, #006400), color-stop(5rem, rgba(138, 138, 138, 0.14902)), to(rgba(138, 138, 138, 0.14902)));
border-image: linear-gradient(to right, #006400 0%, #006400 5rem, rgba(138, 138, 138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image-slice: 1;
margin-bottom: 40px;
}

.sec_sub_ttl_en span {
position: relative;
font-size: .5rem;
font-family: "Barlow", sans-serif;
font-weight: 600;
line-height: 1.8571428571;
letter-spacing: 0;
margin-left: 20px;
text-transform: uppercase;
}

.sec_sub_ttl_en span::before {
content: "";
width: 8px;
height: 8px;
display: inline-block;
background-color: #006400;
position: absolute;
top: 0px;
left: -18px;
}

.sec_sub_ttl_jp span {
display: block;
font-weight: 700;
font-size: 1.2rem;
letter-spacing: 0.06em;
line-height: 1.6;
}

.sub_tit{
font-size: 1rem;
font-weight: 500;
margin: 0 0 20px;
padding:0 0 10px;
position: relative;
border-bottom: 1px solid rgba(138, 138, 138, 0.14902);
border-image: linear-gradient(to right, #006400 0%, #006400 5rem, rgba(138, 138, 138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image-slice: 100%;
border-image-slice: 1;
}


}