@charset "UTF-8";
/*!01ヘッダ*/
/*!1.5 ハンバーガーボタン*/
/*!02FV*/
/*!03 TOPコンテント*/
/*!4 TOP ABOUT*/
/*!5 TOP PRODUCT*/
/*!9 news*/
/*!10 CONTACT*/
/*!11 FOOTER*/
/*!01ヘッダ*/
header {
display: block;
position: fixed;
height: 88px;
width:calc(100% - 48px);
padding: 0;
margin: 24px;
z-index: 9;
/* アニメーションの変化時間 */
transition: 0.5s;
background: #fff;
border-radius: 8px;
min-width: 280px;
}
/*ロゴ*/
.ttl {
max-width: 46px;
margin-left: 32px;
}
.top_header_a_h2 {
font-size: 14px;
line-height: 1.2em;
margin: 8px 0 0 0;
padding: 0 0 0 16px;
}
.top_header_a_h2 span {
font-size: 18px;
display: block;
letter-spacing: 0.2em;
}

/*PCメニュー*/
.pc_nav {

display: flex;
justify-content: flex-start;
flex-direction: row;
flex-wrap:wrap;
align-items: center;
height: 88px;

}
.pc_nav a {
font-size: 14px;
font-weight: 600;
padding: 0 0 0 40px;
display: inline-block;
line-height: 1em;
color: #de0311;
font-family: "motiva-sans", sans-serif;
font-weight: 700;
font-style: italic;
}
.pc_nav a span {
transition: .4s;
color: #222;
font-size: 16px;
line-height: 1em;
display: block;
font-family: "hiragino-kaku-gothic-pron", sans-serif;
font-weight: 600;
font-style: normal;
margin-top: 12px;
}
.pc_nav a:hover span {
transition: .4s;
color: #de0311;
}
.contact {
background: url(img/mail.svg) center top 12px #de0311 no-repeat;
background-size: 32px;
border-radius: 0 8px 8px 0;
color: #fff !important;

text-align: center;
font-weight: 600;
padding: 40px 24px 8px 24px !important;
display: inline-block;
z-index: 2;
width: 180px;
transition: .4s;
margin-left: 40px;
height: 88px;
}
.contact span {
display: inline-block;
transition: .4s;
color: #fff !important;
font-size: 14px !important;
}
.contact:hover {
transition: .4s;
background: url(img/mail.svg) center top 12px #222 no-repeat;
background-size: 32px;
}
.contact:hover span {
display: inline-block;
transition: .4s;
}
/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
header.scroll-nav {
position: fixed;
height: 88px;
width:calc(100% - 0px);
padding: 0;
margin: 0;
z-index: 99;
/* アニメーションの変化時間 */
transition: 0.5s;
background: #fff;
border-radius: 0;
box-shadow: 0px 8px 8px rgba(5, 9, 31, 0.04)
}
header.scroll-nav .contact {
border-radius: 0 0 0 0;
}
.sub_arrow {
display: inline-block;
padding-right: 24px;
background: url(img/arrow_bottom.svg) no-repeat center right;
background-size: 14px;
}
/* 「scroll-navクラス」がヘッダーについたときに、ロゴとナビゲーションの文字を黒にする */
/*!1.5 ハンバーガーボタン*/

.header {
  position: relative;
  z-index: 10;
  display: fixed;
  width: 100%;
  display: none;
}
.header__nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgb(242,68,49);
  background: linear-gradient(90deg, rgba(242,68,49,1) 0%, rgba(222,3,17,1) 100%);
  padding: 20px 28px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
}
.header__nav.is-open {
  opacity: 1;
  visibility: visible;
}

.header__nav-list {
  list-style: none;
  padding-top: 48px;
}

.header__nav-item {
  margin: 15px 0;
}
.header__nav-item a {
  color: #fff;
  text-decoration: none;
  font-family: "motiva-sans", sans-serif;
  font-weight: 700;
  font-style: italic;
  font-size: 48px;
  margin: 16px 0;
  text-align: right;
  display: block;
  line-height: 1.5em !important;
}
.header__nav-item a:hover {
  filter:alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
  
}
.header__nav-item a span {
font-size: 16px;
color: #fff;
font-weight: 600;
display: block;
margin: 8px;
}

.hamburger {
  position: fixed;
  top: 50px;
  right: 52px;
  width: 28px;
  height: 17px;
  z-index: 9999;
}
.hamburger__trigger {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
  position: relative;
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  width: 24px;
  height: 21px;
}
.hamburger__trigger span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #2e2b2b;
}
.hamburger__trigger span:nth-of-type(1) {
  top: 0;
}
.hamburger__trigger span:nth-of-type(2) {
  top: 9px;
  transition: all 0.25s 0.25s;
  opacity: 1;
}
.hamburger__trigger span:nth-of-type(3) {
  bottom: 0;
}
.hamburger__trigger.is-active span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
  background: #fff;
}
.hamburger__trigger.is-active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger__trigger.is-active span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
  background: #fff;
}

.hamburger {
/* アニメーションの変化時間 */
transition: 0.2s;
}
header.scroll-nav .hamburger {
position: fixed;
top: 26px;
right: 26px;
width: 28px;
height: 17px;
z-index: 9999;
/* アニメーションの変化時間 */
transition: 0.5s;
}


body.is-open {
  height: 100vh;
  overflow-y: hidden;
}



/*!02FV*/


.fv {
width: 100%;
height:calc(100% + 64px);
margin: 0;
padding: 0;
background: url(img/fv.jpg) no-repeat center top;
background-size: cover;
overflow: hidden;
z-index: 0;
}

.dot {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
position: absolute;
top:0;
left: 0;
z-index: 1;
min-width: 320px;

}
.fv_text {
padding: 32px;
position: relative;
bottom: 30%;
}
.fv_text_h1 {
color: #fff;
font-size: 80px;
font-weight: 800;
margin-bottom: 16px;
letter-spacing: 0.1em;
line-height: 1.5em !important;
text-shadow: 1px 1px 12px rgba(4, 0, 47, 0.883);

}
.fv_text_h1 span {
line-height: 1.6em !important;
}
.fv_text_h2 {
color: #fff;
font-size: 28px;
letter-spacing: 0.15em;
line-height: 2em;
margin-bottom: 0px;
font-weight: 800;
text-shadow: 1px 1px 12px rgba(4, 0, 47, 0.883);
}







/*!03 TOPコンテント*/

.kakumaru_t {
background: #fff;
border-radius: 64px;
margin-top: -64px !important;
position: relative;
z-index: 8;
padding-top: 128px !important;
}
.kakumaru_b {
background: #fff;
border-radius: 0 0 64px 64px;
position: relative;
z-index: 8;
padding-bottom: 40px !important;
overflow: hidden;
}
.kakumaru_r {
background: url(img/bg_recruit.png) no-repeat left top #e7eaed;
background-size: auto 640px;
min-height: 500px;
position: relative;
z-index: 7;
border-radius: 0 0 64px 64px;
overflow: hidden;
margin-top: -64px !important;
padding: 64px 24px;
}
.kakumaru_c {
background: url(img/bg_contact.jpg) no-repeat left top;
background-size: cover;
min-height: 500px;
position: relative;
z-index: 5;
border-radius: 0 0 64px 64px;
overflow: hidden;
margin-top: -64px !important;
padding: 64px 24px;
}


/*ボタン*/
.ar1 {display: block; transition: .2s;}
.ar2 {display: none; transition: .2s;}

.btn {
font-size: 16px;
transition: .2s;
background: #f4f3ef;
border: 1px solid #e4e3dd;
border-radius: 100px;
color: #222;
padding: 16px 24px;
min-width: 220px;
}

.btn .btn_text {
width:calc(100% - 16px);
}

.btn .btn_icon img {
width: 16px;
}

.btn:hover {
font-size: 16px;
transition: .2s;
color: #fff;
background: #de0311;
border: 1px solid #de0311;
}
.btn:hover .ar1 {display: none; transition: .2s;}
.btn:hover .ar2 {display: block; transition: .2s;}





/*赤ボタン*/
.btn_red {
font-size: 16px;
transition: .2s;
background: #de0311;
border: 1px solid #de0311;
border-radius: 100px;
color: #fff;
padding: 16px 24px;
min-width: 220px;
}

.btn_red .btn_text {
width:calc(100% - 16px);
}

.btn_red .btn_icon img {
width: 16px;
}

.btn_red:hover {
font-size: 16px;
transition: .2s;
color: #fff;
background: #222;
border: 1px solid #222;
}



/*白ボタン*/

.btn_white {
font-size: 22px;
transition: .2s;
background: #ffffff;
border: 1px solid #ffffff;
border-radius: 100px;
color: #de0311;
padding: 24px 32px 24px 24px;
min-width: 360px;
}

.btn_white .btn_text {
width:calc(100% - 24px);
}

.btn_white .btn_icon img {
width: 24px;
}

.btn_white:hover {
font-size: 22px;
transition: .2s;
color: #fff;
background: #222;
border: 1px solid #222;
}
.btn_white:hover .ar1 {display: none; transition: .2s;}
.btn_white:hover .ar2 {display: block; transition: .2s;}


/*でかい赤ボタン*/

.btn_redd {
font-size: 22px;
transition: .2s;
background: #de0311;
border: 1px solid #de0311;
border-radius: 100px;
color: #fff;
padding: 24px 32px 24px 24px;
min-width: 420px;
}

.btn_redd .btn_text {
width:calc(100% - 24px);
}

.btn_redd .btn_icon img {
width: 24px;
}

.btn_redd:hover {
font-size: 22px;
transition: .2s;
color: #fff;
background: #222;
border: 1px solid #222;
}







.content_container {
padding: 64px 32px;
width: auto;
margin: 0 auto;
}
.content_ttl_eng {
font-family: "motiva-sans", sans-serif;
font-weight: 700;
font-style: italic;
font-size: 80px;
margin-bottom: 48px;
position: relative;
z-index: 1;
color: #de0311;
line-height: 1em;

}
.content_ttl_jp {
font-size: 18px;
color: #222;
font-weight: 800;
}

/*!4 TOP ABOUT*/


.content_left {
width: 640px;
}


.top_text {
font-weight: 600;
color: #161414;
font-size: 16px;
line-height: 2em;
letter-spacing: 0.16em;
}

.content_right {
width: calc(100% - 680px);
margin-left: 0px;
margin-top: 24px;
max-width: 400px;
}

.content_img img {
border-radius: 16px;
overflow: hidden;
}

/*!5 TOP PRODUCT*/
.top_product {
background: url(img/bg_product.png) no-repeat #b7d8fa;
background-size: auto 100%;
width: 100%;
padding: 32px 24px 0 24px; 
min-height: 500px;
}

.product_box {
max-width: 750px;
}
.product_box_h2 {
font-family: "ten-mincho-text", serif;
font-weight: 400;
font-style: italic;
font-size: 64px;
line-height: 1.4em;
margin: 0;
padding: 0;
position: relative;
top: 16px;
}
.product_box2 {
background: url(img/pc.png) no-repeat right bottom;
background-size: 380px;
padding-right: 280px;
min-height: 200px;
margin-top: 32px;
padding-bottom: 80px;
position: relative;
top: 32px;
}

.product_box3 {
margin-bottom: 16px;
}

.product_box3_h3 {
font-family: "vdl-logona", sans-serif;
font-weight: 600;
font-style: italic;
font-size: 88px;
letter-spacing: 0.13em;
margin-bottom: 0px;
line-height: 1em !important;
display: inline-block;
background: rgb(131, 12, 26);
background: linear-gradient(90deg, rgba(131, 12, 26, 1) 0%, rgba(159, 41, 45, 1) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-top: 8px;
margin-bottom: 16px;
}


.gold {
color: #cbb040;
line-height: 1em;
font-family: "ten-mincho", serif;
font-weight: 400;
}
.gold2 {
color: #cbb040;
line-height: 1em;
font-family: "ten-mincho", serif;
font-weight: 400;
font-size: 24px;
}

.kakko1 {
background: url(img/kakko1.png) no-repeat left top;
background-size: 20px;
padding-left: 20px;
display: block;
}
.kakko2 {
background: url(img/kakko2.png) no-repeat right bottom;
background-size: 20px;
padding-right: 32px;
font-family: "vdl-logona", sans-serif;
font-weight: 600;
font-style: italic;
display: block;
line-height: 1.3em !important;
}















/*!9 news*/
.news_l {
width: 250px;
}
.news_r {
width:calc(100% - 280px);
}
.news_archive {
width: 100%;
}

.news_box {
border-bottom: 1px solid #222;
padding: 24px 0;
margin-bottom: 8px;
}
.news_cate {
font-size: 11px;
padding: 4px 16px;
min-width: 128px;
margin-right: 16px;
display: inline-block;
border: 1px solid #777;
line-height: 2em;
text-align: center;
border-radius: 100px;
transition: .2s;
}
.news_cate:hover {
font-size: 11px;
padding: 4px 16px;
min-width: 128px;
margin-right: 16px;
display: inline-block;
border: 1px solid #de0311;
background: #de0311;
line-height: 2em;
text-align: center;
border-radius: 100px;
color: #fff;
transition: .2s;
}

.news_box time {
font-size: 12px;
}
.news_ttl {
font-size: 16px;
margin: 0;
padding: 0;
color: #2e2b2b;
transition: .2s;
display: block;
}
.news_ttl:hover {
padding-left: 4px;
transition: .2s;
}

.h0 {
overflow: visible;
position: relative;
bottom: 90px;
}

.position_b_90 {
position: relative;
bottom: 72px;
}

/*一覧ページ*/
.ac_list {}
.ac_list li {
list-style: none;
min-width: 180px;
border-left: 1px solid #555;
padding: 8px 16px;
margin: 8px 0 8px 0;
display: inline-block;
text-align: center;
}
.ac_list li:last-child {
border-right: 1px solid #555;
}

.ac_list li a:hover {
color: #de0311;
transition: .2s;
}

.ac_list .current-cat {
background: url(img/redline.jpg) no-repeat center bottom;
background-size: 64px;
 }

.yearly li a:after {
content: '年';
}

.ac_list select {
background: url(img/arrow_bottom.png) no-repeat right 16px center #f9f9f8;
background-size: 10px;
padding: 8px;
border-radius: 4px;
margin-bottom: 16px;
width: 240px;
border: 1px solid #8b8b8b;
}

.ac_list_sp select {
background: url(img/arrow_bottom.png) no-repeat right 16px center #f9f9f8;
background-size: 10px;
padding: 8px;
border-radius: 4px;
margin-bottom: 16px;
mmin-width: 240px;
width: 100%;
border: 1px solid #8b8b8b;
}

/*!10 RECRUIT*/

/*!11 FOOTER*/
footer {
background: #fff;
padding: 88px 32px 32px;
}
.footer_ttl {
width: 260px;
}
.footer_ttl p {
font-size: 12px;
}

/*PCメニュー*/
.pc_nav_footer {

display: flex;
justify-content: flex-start;
flex-direction: row;
flex-wrap:wrap;
align-items: center;
height: 88px;

}
.pc_nav_footer a {
font-size: 14px;
font-weight: 600;
padding: 0 0 0 40px;
display: inline-block;
line-height: 1em;
color: #de0311;
font-family: "motiva-sans", sans-serif;
font-weight: 700;
font-style: italic;
}
.pc_nav_footer a span {
transition: .4s;
color: #222;
font-size: 16px;
line-height: 1em;
display: block;
font-family: "hiragino-kaku-gothic-pron", sans-serif;
font-weight: 600;
font-style: normal;
margin-top: 12px;
}

.pc_nav_footer a:hover span {
transition: .4s;
color: #de0311;
}



.footer_content {}




copyright {
font-size: 10px;
color: #2e2b2b;
font-style: italic;
text-align: center;
display: block;
line-height: 16px !important;
}

#page-top {
position: fixed;
bottom: 0px;
right: 0px;
font-size: 77%;
z-index: 99;
}
#page-top a {
background: #222;
text-decoration: none;
color: #fff;
width: 88px;
height: 88px;
text-align: center;
display: block;
padding: 24px;
transition: .2s;
}

#page-top a:hover {
text-decoration: none;
background: #b3000b;
transition: .2s;
}

#page-top a img {
width: 100%;
}





/*下層ページ*/

.entry-header {
width: 100%;
height: auto;
margin: 0 0 32px;
padding: 200px 24px 88px;
background: url(img/bg_layer.jpg) no-repeat center top;
background-size: cover;
overflow: hidden;
z-index: 0;
}

.entry-eng {
font-family: "motiva-sans", sans-serif;
font-weight: 700;
font-style: italic;
font-size: 80px;
margin-bottom: 24px;
position: relative;
z-index: 1;
color: #fff;
line-height: 1em;
text-align: center;
}
.entry-title {
font-size: 28px;
color: #fff;
font-weight: 600;
text-align: center;
}

.has-fixed-layout {
 width: 100%;
 text-align: left;
 border-collapse: collapse;
 border-spacing: 0;
 border-top: none !important;
}

.has-fixed-layout th {
padding: 32px 0;
border: none !important;
border-bottom: solid 1px #222 !important;
width: 160px !important;
}
.has-fixed-layout td {
 padding: 32px 0;
 border: none !important;
 border-bottom: solid 1px #222 !important;
 width:calc(100% - 160px) !important;
}

.has-fixed-layout tr td {
 padding: 32px 0;
 border: none !important;
 border-bottom: solid 1px #222 !important;
 width:calc(100% - 160px) !important;
 font-family: "hiragino-kaku-gothic-pron", sans-serif;
 font-weight: 300 !important;
 font-style: normal;
}

.has-fixed-layout tr td:first-child {
padding: 32px 0;
border: none !important;
border-bottom: solid 1px #222 !important;
width: 160px !important;
font-weight: 600 !important;
}




/*投稿*/
.layer p {
font-size: 16px;
margin-bottom: 24px;
line-height: 2em !important;
letter-spacing: 0.14em;
}
.layer img {
max-width: 100%;
margin: 0 0 32px;
height: auto;
}
.layer time {
font-size: 12px;
margin: 16px 0 32px;
display: block;
}
.post_info {
font-size: 32px;
margin: 16px 0;
}

.news_cate_layer {
font-size: 16px;
color: #de0311;
transition: .2s;
}
.news_cate_layer:hover {
font-size: 16px;
color: #222;
transition: .2s;
}

.pagination {
display: flex;
justify-content: center;
flex-direction: row;
flex-wrap:wrap;
}
.nav-links span {
color: #fff;
padding: 16px;
border-radius: 8px;
background: #de0311;
line-height: 1em;
min-width: 48px;
display: inline-block;
text-align: center;
}
.nav-links a {
color: #fff;
padding: 16px;
border-radius: 8px;
background: #222;
line-height: 1em;
min-width: 48px;
display: inline-block;
text-align: center;
}
.nav-links a:hover {

filter:alpha(opacity=70);
-moz-opacity: 0.7;
opacity: 0.7;
-moz-transition: .2s;
-webkit-transition: .2s;
-o-transition: .2s;
-ms-transition: .2s;
transition: .2s;
}



/*!CONTACT FORM*/
.hissu {
background: #ca0f1b;
font-size: 10px;
color: #fff;
padding: 4px;
border-radius: 4px;
display: inline-block;
margin: 0 0 0 8px;
line-height: 1.2em;
position: relative;
bottom: 2px;
}
.nini {
background: #ddd;
font-size: 10px;
color: #222;
padding: 4px;
border-radius: 4px;
display: inline-block;
margin: 0 0 0 8px;
line-height: 1.2em;
}

.c_form {
max-width: 800px;
width: 100%;
margin: 0 auto 48px;
text-align: left;
}


.top_contact_tbl {
width: 100%;
max-width: 800px;
margin: 32px 0 32px;
padding: 0;
}
.top_contact_tbl tr th {
font-weight: 400;
font-size: 16px;
padding: 24px 8px 0 0px;
text-align: left;
width: 280px;

}
.top_contact_tbl tr td {
font-weight: 400;
font-size: 16px;
padding: 16px 8px;
width:calc(100% - 280px);
}

.btn_send {
background: #de0311;
color: #fff;
font-size: 18px;
font-weight: 600;
padding: 16px 24px;
text-align: center;
margin: 0 auto 24px;
display: inline-block;
min-width: 320px;
border-radius: 4px;

}
.btn_send:hover {

background: #1b1818;
-moz-transition: .2s;
-webkit-transition: .2s;
-o-transition: .2s;
-ms-transition: .2s;
transition: .2s;
cursor: pointer;

}


.top_contact_tbl select {
background: url(img/arrow_bottom.png) no-repeat right 16px center #f9f9f8;
background-size: 10px;
padding: 8px;
border-radius: 4px;
margin-bottom: 16px;
width: 240px;
border: 1px solid #8b8b8b;
}
.top_contact_tbl input[type=text] {
background: #f9f9f8;
padding: 8px;
border-radius: 4px;


width: 100%;
border: 1px solid #8b8b8b;

}
.top_contact_tbl input[type=email] {
background: #f9f9f8;
padding: 8px;
border-radius: 4px;


width: 100%;
border: 1px solid #8b8b8b;

}
.top_contact_tbl input[type=tel] {
background: #f9f9f8;
padding: 8px;
border-radius: 4px;


width: 100%;
border: 1px solid #8b8b8b;

}

/* チェックボックス01 */
input[type=checkbox] {
all: revert !important;


}
.undeline {
text-decoration: underline;
padding-left: 8px;
}
.undeline:hover {
text-decoration: none;
padding-left: 8px;
}

.border {
text-decoration: underline;
}
.border:hover {
text-decoration: none;
}

.top_contact_tbl textarea {
background: #f9f9f8;
padding: 8px;
border-radius: 4px;


resize: none;
width: 100%;
border: 1px solid #8b8b8b;
}
::placeholder {
  color: #bcbcbc;
  font-size: 0.9em;
}
