/* =================== base =================== */


@font-face { font-family: 'ut'; src: url("../font/Univers-LT-Std-65-Bold_46345.ttf"); }




html { overflow-x: hidden; font-size: 62.5%; box-sizing: border-box;html -webkit-text-size-adjust: 100%; }
body { font-size: 1.6rem; letter-spacing: .05em; font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; color: #1D1D1D; }
*{ box-sizing: border-box; letter-spacing: 2px }
a{ text-decoration: none; color: #000; }
img { vertical-align: bottom; width: 100%; }
pre { width: 70%; margin: 1em auto; padding: 1em; border-radius: 5px; background: #25292f; color: #fff; overflow-x: auto; /* ⭐ */ -webkit-overflow-scrolling: touch; /* ⭐ */ }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
.flex { display: -webkit-box; display: -ms-flexbox; display: flex;  justify-content: left;}
/*add*/
.flex2 { display: -webkit-box; display: -ms-flexbox; display: flex;  justify-content: center;}
.clear{ clear: both; }
.pc { display: block; }
.sp { display: none; }


/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
  border: none;
  border-radius: 0;
}


select{
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}





@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W0);
  font-weight: 100;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W1);
  font-weight: 200;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W2);
  font-weight: 300;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W3);
  font-weight: 400;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W4);
  font-weight: 500;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W5);
  font-weight: 600;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: 700;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W7);
  font-weight: 800;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W8);
  font-weight: 900;
}
@font-face {
  font-family: "Hiragino Sans W9";
  src: local(HiraginoSans-W9);
  font-weight: 900;
}

.video-container .video {
  padding-bottom: 0;
}
.wp-video{ width: 100%!important; padding: 70px 0; }
.wp-video-shortcode video, video.wp-video-shortcode{ height: auto!important; }

.container { max-width: 1080px; margin: 0 auto; padding: 0 25px; }

@media screen and (max-width: 1080px) {
.container { max-width: 940px; }
}

@media screen and (max-width: 768px) {
.container { padding: 0 25px; }
}

.btn{ background: #000; color: #fff; font-size: 1.5rem; text-align: center; padding: 25px 80px; display: inline-block; font-family: 'Montserrat', sans-serif;  }
.btn { position: relative; display: inline-block; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
 -webkit-transition: all 0.3s; transition: all 0.3s; text-align: center; vertical-align: middle; text-decoration: none; overflow: hidden; border-radius: 0; background: #000; }
.btn span { position: relative; left: 0!important; top: auto!important; }
.btn:before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ''; -webkit-transition: all .5s ease-in-out; transition: all .5s ease-in-out; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
.btn:hover:before { -webkit-transform: translateX(0%); transform: translateX(0%);　}
.btn.btn_white{ background: #fff; border: 1px solid #000; color: #000; }
.btn.btn_black{ background: #000; color: #fff; border: 1px solid #000; }
.btn.btn_black:hover:before{ background: #fff; }
.btn.btn_white:hover:before{ background: #000; }
.btn.btn_black:hover span{ color: #000; }
.btn.btn_white:hover span{ color: #fff; }
.btn.btn_white:hover span svg .stroke_black{ stroke: #fff; }
.btn.btn_white:hover span svg .stroke_black{ stroke: #fff; }
.btn.btn_black:hover span svg .stroke_white{ stroke: #000; }
.btn.btn_black:hover span svg .stroke_white{ stroke: #000; }

.slick-slide img{ height: 100%; }

.background--light { color: black;　}
.background--dark { color: white;　}
.background--dark span,
.background--dark:before,
.background--dark:after{ background: #fff!important; }
.background--dark .link_box a{ color: #fff!important; }


/* =================== header =================== */

#header{ position: fixed; text-align: center; padding-top: 40px; margin-bottom: 40px; width: 100%; top: 0; z-index: 999; }
#header h1.title{ display: inline-block; text-align: center; font-size: 1.4rem; font-weight: 700; position: relative; z-index: 999; }
#header h1.title a{ color: #1D1D1D; letter-spacing: 5px; }
#header .modal_btnbox{ position: absolute; right: 37px; top: 0; bottom: 0; margin: auto; z-index: 999; }
#header .modal_btn{ margin-top: 17px; z-index: 100; transition: 0.3s; position: relative; width: 70px; height: 60px; padding: 10px 20px; display: inline-block; }
#header .modal_btn:before{ transition: 0.3s; content: ""; width: 30px; right: 20px; height: 3px; background-color: #000; position: absolute; top: 22px; }
#header .modal_btn:after{ transition: 0.3s; content: ""; width: 30px; height: 3px; right: 20px; background-color: #000; position: absolute; bottom: 21px;}
#header .modal_btn span{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: 30px; height: 3px; background: #000; }
#header .modal_btnbox.active .modal_btn:before{ transform: rotate(45deg); top: 30px; background: #fff; }
#header .modal_btnbox.active .modal_btn:after{ transform: rotate(135deg); bottom: 27px; background: #fff; }
#header .modal_btnbox.active .modal_btn span{ display: none; }
#header .header-nav{ display: none; background: url("../images/nav_bg.jpg") no-repeat; background-size: cover; background-position: center; height: 100vh; width: 100vw; position: fixed; top: 0; right: 0; left: 0; bottom: 0; z-index: 10; }
#header .header-nav img{ position: absolute; left: 60px; width: 20px; top: 0; bottom: 0; margin: auto; }
#header .header-nav .nav-list .nav-item{ text-align: center; font-weight: 700; }
#header .header-nav .nav-list .nav-item a{ color: #fff; font-family: 'Montserrat', sans-serif; font-size: 5rem;}
#header .header-nav .nav_box{ overflow-y: scroll;  position: relative; height: 100%; }
#header .header-nav .nav_box p{ margin-bottom: 25px; color: #fff; text-align: center; }
#header .header-nav .nav_box .nav_scroll{ height: calc( 100% - 180px); margin-top: 179px; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#header .header-nav .nav_box .nav-list1 { margin-bottom: 100px; width: 100%; /*height: 440px; top: 0; position: absolute; bottom: 0; margin: auto; left: 0; right: 0;*/ }
#header .header-nav .nav_box .nav-list1 .nav-item{ margin-bottom: 40px; }
#header .header-nav .nav_box .nav-list1 .nav-item:last-child{ margin-bottom: 0px; }
#header .header-nav .nav_box .nav-list2{ width: 100%; font-size: 1.4rem; /*position: absolute; bottom: 50px; left: 0; right: 0; margin: auto;*/ }
#header .header-nav .nav_box .nav-list2 .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#header .header-nav .nav_box .nav-list2 .flex .nav-item a{ margin: 0 15px; font-weight: 400; font-size: 1.4rem; }
#header .header-nav .nav_box .sns_box{ -webkit-transform: rotate(90deg); transform: rotate( 90deg); position: absolute; right: 5px; top: 0; bottom: 0; margin: auto; height: 145px; }
#header .header-nav .nav_box .sns_box .link_box{ position: relative; color: #fff; display: block; margin: 0 15px; }
#header .header-nav .nav_box .sns_box .link_box:nth-child(1):after{ content: "/"; position: absolute; right: -17px;   }
#header .header-nav .nav_box .sns_box .link_box a{ color: #fff; }
.front #header .header-nav .nav_box .sns_box{ right: -5px; }
.front .bodysns_box{ right: -45px; }
#header .header-nav .nav_box .pt{ position: fixed; left: 0; right: 0; text-align: center; }
#header .header-nav .nav_box .pt.acitve a{ color: #fff!important; }
body.fixed{ position: fixed; width: 100%; }
body.fixed #header h1.title{ position: fixed; z-index: 999; left: 0; width: 100%; }


/*  sub  */

.sub_header{ max-width: 1280px; margin: auto; left: 0; right: 0; }
.sub_header .modal_btnbox{ right: 0!important; }
.sub_footer{ margin-bottom: 0!important; }
.border{ position: relative; }
.border:after{ content: ""; position: absolute; width: 1px; height: 100%; background: #E7E7E7; top: 0; left: 200px; z-index: -10;}

.wrapper{ margin-top: -21px; }
.sub_wrapper .section_wrapper{ padding: 100px 0 200px; }
.bodysns_box{ -webkit-transform: rotate(90deg); transform: rotate( 90deg); position: fixed; right: 2px; top: 0; bottom: 0; margin: auto; height: 20px; z-index: 50; }
.bodysns_box .link_box{ height: 20px; position: relative; display: block; margin: 0 15px; }
/*correction*/
.bodysns_box .link_box:nth-child(1):after{ content: ""; position: absolute; right: -17px;   }
.sub_header .bodysns_box{ position: absolute; right: -81.5px; top: 490px; bottom: 0; margin: auto; height: 20px; z-index: 9; }
.link_box{ font-family: 'Montserrat', sans-serif; font-weight: 600; }
.link_box a{ transition: 0.3s; }
.is-in .link_box a{ color: #fff; }
.is-in .link_box:nth-child(1):after{ color: #fff; }
.is-in #header .modal_btn:before{ background: #fff; }
.is-in #header .modal_btn:after{ background: #fff; }
.is-in #header .modal_btn span{ background: #fff; }
.contact_btn.sp{ display: none; position: fixed; width: 100%; width: calc( 100% - 8px); bottom: 4px; right: 4px; left: 4px; }
.contact_btn.sp:after{ content: ""; position: absolute; right: 20px; top: 0; bottom: 0; margin: auto; width: 9px; height: 9px; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

/* =================== footer =================== */

#footer { padding-top: 200px; }
#footer .container{ overflow: hidden; position: relative; padding-bottom: 250px; }
#footer .box{ -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
/*add*/
#footer .left{ width: 100%; }
#footer .left h3{ margin-bottom: 50px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 2.4rem; font-weight: 700; font-family: 'Montserrat', sans-serif; }
#footer .left h3 span{ font-size: 1.3rem; padding-left: 50px; font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; } 
#footer .left .nav-list1{ max-width: 500px; -ms-flex-wrap: wrap; flex-wrap: wrap; }
#footer .left .nav-list1 li{ width: calc( 100% / 3 ); font-family: 'Montserrat', sans-serif; font-weight: 700; padding: 15px 0; }
#footer .left .address{ padding: 50px 0; font-weight: 700; font-size: 1.4rem; line-height: 1.5em; }
#footer .left .text{ font-weight: 700; font-size: 1.2rem; line-height: 2em; font-family: 'ut'; }
#footer .right{ width: 45%; text-align: right; }
#footer .right .sns_box{ margin-bottom: 50px; }
#footer .right .sns_box ul{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
#footer .right .sns_box li img{ height: 25px; }
#footer .right .sns_box li:nth-child(-n+2){ margin-right: 30px; }
#footer .right .nav-list2{ margin-bottom: 80px; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; font-weight: 700; font-size: 1.4rem; }
#footer .right .nav-list2 li:nth-child(-n+2){ margin-right: 20px; }
#footer .right small{ font-family: 'Heebo', sans-serif; font-weight: 500; }
#footer .zealox_img{ position: absolute; left: 0; right: 0; bottom: -2%; margin: auto; }

/* =================== top =================== */


#top{ overflow-x: hidden; }
#top .fv { min-height: 500px; height: 100vh; position: relative; }
#top .fv .fv_text{ max-width: 400px; height: 375px; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }
#top .fv h2.copy{ margin-bottom: 40px; width: 400px; color: #000000; font-size: 3.5rem; font-family: "Hiragino Sans", sans-serif; font-weight: 600; letter-spacing: 6px; line-height: 1.7em; }
#top .fv h2.copy span{ letter-spacing: 0.3em; }
#top .fv .text1{ font-family: 'Montserrat', sans-serif; position: relative; font-size: 1.5rem; font-weight: 700; letter-spacing: 2px; display: inline-block; margin-bottom: 70px; padding-bottom: 10px; }
#top .fv .text1:before{ content: ""; transform: scale(0, 1); transition: transform .3s; transform-origin: left top; width: 100%; height: 2px; left: 0; bottom: 0; position: absolute; background: #000;  }
/*#top .fv .text1:after{ content: ""; width: 10px; height: 2px; left: 0; right: 0; bottom: 0; margin: auto; position: absolute; background: #fff; }*/
#top .fv .text1:hover:before{ transform: scale(1, 1); transform-origin: left top; transition: transform .3s; }
#top .fv .text2{ display: inline-block; width: 400px; font-size: 1.2rem; font-family: 'ut'; font-weight: 700; line-height: 2.8em; letter-spacing: 1px; }
#top .fv .contact_btn{ position: relative; }
#top .fv .contact_btn:after{ content: ""; position: absolute; background: #fff; height: 1px; width: 40px; right: 0; top: 0; bottom: 0; margin: auto; }
#top .fv .btn_box{ position: absolute; right: 0; bottom: 0; }
#top .fv .logo{ max-height: 100vh; height: 80%; position: absolute; left: 100px; left: 139px; top: 0; bottom: 0; margin: auto; width: 118px;  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#top .fv .logo img{ height: auto; max-width: 100%; width: auto; max-height: 100%; margin: auto; display: block; }
#top .menu_box{ margin-left: 200px; }
#top .menu_box ul{ position: relative; }
#top .menu_box ul:before{ content: ""; position: absolute; height: calc( 100% - 2px ); width: 200px; border-top: 1px solid #E0E0E0; border-bottom: 1px solid #E0E0E0; left: -200px; top: 0; bottom: 0; margin: auto; }
#top .menu_box ul li{ transition: 0.3s; position: relative; text-align: center; width: calc( 100% / 4 ); border: 1px solid #E0E0E0; border-left: none; }
#top .menu_box ul li:after{ content: ""; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; height: 40px; width: 1px; background: #E0E0E0; }
#top .menu_box ul li a{ padding: 50px 0; display: block; }
#top .menu_box ul li p.en{ position: relative; color: #000000; font-weight: 700; font-size: 1.2rem; font-family: 'ut'; padding-bottom: 30px; margin-bottom: 15px; }
#top .menu_box ul li p.en:after{ content: ""; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; height: 15px; border-left: 1px dotted #1D1D1D; width: 1px; }
#top .menu_box ul li p.ja{ line-height: 1.5em; margin-bottom: 30px; color: #000000; font-weight: 700; font-size: 1.5rem; }
#top .menu_box ul li .img_box{ width: 195px; height: 85px; margin: 0 auto 20px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#top .menu_box ul li .img_box:nth-child(1){ width: 160px; }
#top .menu_box ul li .img_box img{ max-width: 120px; max-height: 85px; }
#top .menu_box ul li:before{ content: ""; position: absolute; left: 0; right: 0; bottom: 10px; margin: auto; width: 1px; height: 0px; background: #000; transform-origin: left; transition: 0.4s; z-index: 10; }
#top .menu_box ul li:hover:before { height: 20px; }
#top .menu_box ul .sp_line{ display: none; }

#top .sec01{ margin-top: 150px; }
#top .sec01 .sec_box{ position: relative; padding: 200px 0; overflow: hidden; }
#top .sec01 .sec_box .img01{ display: inline-block; max-height: 500px; object-fit: cover; width: calc( 56% + 200px ); margin-left: -200px; margin-top: -200px; }
#top .sec01 .sec_box .img_box{ width: 34%; display: inline-block; float: right; margin-top: -200px; }
#top .sec01 .sec_box .object_box{ position: relative; }
#top .sec01 .sec_box .object_box .object{ max-height: 700px; object-fit: contain; position: absolute; right: -80px; width: 176%; bottom: -30%; }
#top .sec01 .sec_box .img02{ max-height: 700px; object-fit: cover;  }
#top .sec01 .sec_box .box{ margin-left: 200px; background: linear-gradient(135deg , #EBF8FF, #FFF2F9, #FEFEF0); }
#top .sec01 .sec_box .box .flex{ padding-top: 120px; position: relative; padding-right: 80px; padding-left: 80px; padding-bottom: 80px; align-items: flex-end; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }
#top .sec01 .sec_box .box .left{ width: 24%; margin-right: 10%; -ms-flex-item-align: end; align-self: flex-end; }
#top .sec01 .sec_box .box .left img{ max-height: 600px; object-fit: cover; }
#top .sec01 .sec_box .box .right.text_box h3{ margin-bottom: 50px; font-weight: 700; font-family: 'Montserrat', sans-serif; font-size: 2.5rem; line-height: 1.7em;}
#top .sec01 .sec_box .box .right.text_box p{ line-height: 2.2em; max-width: 500px; font-size: 1.6rem; }
#top .sec01 .sec_box .box .right.text_box .btn{ bottom: -33.5px; position: absolute; }

#top .sec02{ color: #fff; background: url("../images/topsec02_bg.jpg") no-repeat; background-size: cover; padding: 200px 0; }
#top .sec02 h3{ margin-bottom: 50px; text-align: center; font-weight: 700; font-family: 'Montserrat', sans-serif; font-size: 2.6rem; }
#top .sec02 p{ line-height: 2em; text-align: center; }
#top .sec02 .box{ margin: 80px 0 0; }
#top .sec02 ul .items{ position: relative; margin: 0 50px 50px; text-align: center; }
#top .sec02 ul .items:after{ content: ""; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; height: 80px; width: 1px; background: #E0E0E0; }
#top .sec02 ul .items:before{ /*content: ""; position: absolute; left: 0; right: 0; bottom: 55px; margin: auto; width: 1px; height: 0px; background: #000; transform-origin: left; transition: 0.4s;*/ z-index: 10; }
#top .sec02 ul .items:hover:before { height: 20px; }
#top .sec02 ul .items a{ display: block; border: 1px solid #fff; margin-top: 12px; margin-bottom: 45px; }
#top .sec02 ul .items .category{ width: 100%; position: absolute; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; top: 0; }
#top .sec02 ul .items .category span:first-child{ border-left: 1px solid #000; }
#top .sec02 ul .items .category span{ word-break: break-all; font-family: 'Montserrat', sans-serif; background: #fff; color: #000; border-right: 1px solid #000; border-bottom: 1px solid #000; border-top: 1px solid #000; padding: 4px 13px; font-size: 1.4rem; }
#top .sec02 ul .items p { height: 4.5em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; line-height: 1.5em; font-size: 1.6rem; text-align: left; color: #fff; }
#top .sec02 ul .items .img_box{ text-align: right; position: relative; }
#top .sec02 ul .items .img_box .inner{ height: 450px; overflow: hidden; max-height: 500px; }
#top .sec02 ul .items .img_box .inner img{ max-height: 500px; height: 100%; object-fit: cover; position: relative; z-index: -2; }
#top .sec02 ul .items .img_box .num{ padding: 5px; position: absolute; font-family: 'Heebo', sans-serif; color: #000; font-weight: 700; font-size: 4rem; text-align: center;
width: 80px; height: 80px; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #000; background: #fff; line-height: 80px; right: 50px; bottom: -25px; }
#top .sec02 ul .items .img_box .num:after{ /*content: ""; border: 2px solid #000; position: absolute; width: 81px; height: 81px; background: repeating-linear-gradient(-45deg, #fff, #fff 3.5px, #000 3.5px, #000 7px); top: 4px; right: -8px; z-index: -1;*/
content: ""; border: 1px solid #000; position: absolute; width: 79px; height: 79px; background: url("../images/stripe.jpg") no-repeat; top: 3px; right: -7px; z-index: -1; background-size: auto 140%; }
#top .sec02 ul .items .img_box .num img{ transform: unset; }
#top .sec02 .btn{ color: #000; background: #fff; max-width: 380px; width: 100%; display: block; margin: 0 auto; border: 1px solid #fff; }
#top .sec02 .slick-dotted.slick-slider { margin-bottom: 80px; }
#top .sec02 ul .items .bottom{ margin: 50px 40px 60px; }
#top .sec02 ul .items .bottom h4{ line-height: 1.3em; display: inline-block; position: relative; margin-bottom: 15px; color: #fff; font-size: 2rem; }
#top .sec02 ul .items .bottom h4:after{ content: "様"; position: absolute; right: -30px; bottom: -1px; font-size: 1.5rem; }


#top .sec03{ text-align: center; margin: 150px 0; }
#top .sec03 h3{ position: relative; z-index: 2; bottom: -30px; font-family: 'Montserrat', sans-serif; background: #fff; border: 1px solid #000; padding: 20px 40px; display: inline-block; font-size: 1.8rem; }
#top .sec03 h4{ margin-bottom: 80px; margin-top: 20px; font-size: 2.4rem; font-family: 'Montserrat', sans-serif; font-weight: 700; }
#top .sec03 ul.slider-center2 li{ margin: 0 15px; }
#top .sec03 ul.slider-center2 .slick-prev{ left: calc( 20% - 59px ); bottom: 0; margin: auto; top: 0; }
#top .sec03 ul.slider-center2 .slick-next{ right: calc( 20% - 35px ); bottom: 0; margin: auto; top: 0; }
#top .sec03 ul.slider-center2 .slick-prev:before{ content: url("../images/arrow03.svg"); opacity: 1; position: absolute; right: 0;  }
#top .sec03 ul.slider-center2 .slick-next:before{ content: url("../images/arrow04.svg"); opacity: 1; position: absolute; left: 0;  }
#top .sec03 .balloon_box{ text-align: right; margin-top: -60px; }
#top .sec03 .balloon_box .balloon{ background: #FFE843; color: #000; text-align: center; display: inline-flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center;
	line-height: 1.5em; border-radius: 120px; width: 120px; height: 120px; font-weight: 700; font-size: 1.3rem; margin-right: 30px; position: relative;  }
#top .sec03 dl{ text-align: left; margin-bottom: 50px; }
#top .sec03 dl dd{ width: 150px; font-size: 1.8rem; font-family: 'Montserrat', sans-serif; font-weight: 700; }
#top .sec03 dl dt{ width: calc( 100% - 150px); font-size: 1.5rem; line-height: 2em; }
#top .sec03 .access_box{ -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#top .sec03 .btn{ color: #000; border: 1px solid #000; background: #fff; padding: 20px 80px; }
#top .sec03 .btn svg{ width: 20px; height: 20px; margin-bottom: -4px; }

#top .sec04{ margin-bottom: 150px; }
#top .sec04 h3{ font-size: 2.4rem; font-family: 'Montserrat', sans-serif; font-weight: 700; }
#top .sec04 .news_list{ margin-bottom: 40px; }
#top .sec04 .news_list li{ position: relative; border-bottom: 1px solid #E5E5E5; }
#top .sec04 .news_list li:before{ content: ""; position: absolute; bottom: -1px; left: 0; width: 30px; height: 1px; background: #000; transition: 0.3s; }
#top .sec04 .news_list li:hover:before{ width: 100%; }
#top .sec04 .news_list li a{ padding: 40px 0; color: #000;}
#top .sec04 .news_list li a .date{ font-size: 1.5rem; width: 170px; font-family: 'Montserrat', sans-serif; }
#top .sec04 .news_list li a .text{ font-size: 1.5rem; width: calc( 100% - 170px ); }
#top .sec04 .archive_btn{ position: relative; text-align: right; font-weight: 700; padding: 15px 30px; float: right; }
#top .sec04 .archive_btn:before{ content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; width: 8px; height: 8px; border-top: 2px solid #000; border-right: 2px solid #000; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

#top .sec05 a{ width: 50%; }
#top .sec05 a:first-child{ background: #fff; color: #000; border: 1px solid #000; }
#top .sec05 a.btn_black{ border: 1px solid #000; border-left: 0; }

.sub_wrapper .bodysns_box{ top: 165px; margin: 0 auto;}
.sub_wrapper .titlebox_wrapper{ background: linear-gradient(90deg, #000 0%, #000 50%, #fff 50%, #fff 100%); }
.sub_wrapper .titlebox{ background: #000; margin: 100px auto 0; max-width: 1030px; padding: 120px 25px; }
.sub_wrapper .titlebox h2.en{ text-transform: uppercase; position: relative; z-index: 1; color: #fff; font-size: 2.7rem; font-family: 'Montserrat', sans-serif; font-weight: 700; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.sub_wrapper .titlebox h2.en span{ padding-left: 30px; font-size: 1.5rem; letter-spacing: 3px; font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; }
.sub_wrapper .titlebox .container{ padding: 0; }
.sub_wrapper .imgtitlebox{ position: relative; }
.sub_wrapper .imgtitlebox img{ width: 50%; object-fit: cover; position: absolute; right: 0; height: 100%; width: auto; top: 0; bottom: 0; }
.sub_wrapper .bottom_border{ border-bottom: 1px solid #E7E7E7; }

#work .sec01 .worklist_box .worklist{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
#work .sec01 .worklist_box .worklist li{ text-align: center; padding: 0 0 60px; width: 48%;  }
#work .sec01 .worklist_box .worklist li:hover{ cursor: pointer; }
#work .sec01 .worklist_box .worklist li:nth-child(-n+2){ padding: 80px 0 60px; }
#work .sec01 .worklist_box .worklist li:nth-child(odd){ margin-right: 4%; }
#work .sec01 .worklist_box .worklist li .category .post-categories{ margin: -13px 40px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#work .sec01 .worklist_box .worklist li .category .post-categories li{ width: auto; padding: 0!important; margin: 0!important; border: none; width: calc( 100% / 3 ); border-top: 1px solid #000; border-right: 1px solid #000; border-bottom: 1px solid #000; background: #fff; font-family: 'Montserrat', sans-serif; text-align: center; }
#work .sec01 .worklist_box .worklist li .category .post-categories li:first-child{ border-left: 1px solid #000; }
#work .sec01 .worklist_box .worklist li .category .post-categories li a{ display: block; word-break: break-all;  padding: 5px; font-size: 1.3rem; }
#work .sec01 .worklist_box .worklist li h3{ margin-top: 35px; font-family: 'Montserrat', sans-serif; font-size: 2.3rem; padding: 0 40px; margin-bottom: 20px; }
#work .sec01 .worklist_box .worklist li p{ font-weight: 700; font-size: 1.4rem; line-height: 2em; padding: 0 40px; }
#work .sec01 .worklist_box .worklist li .arrow{ margin-top: 30px; -webkit-transition: all 0.3s; transition: all 0.3s; }
#work .sec01 .worklist_box .worklist li:hover .arrow{ margin-left: 20px; }
#work .sec01 .worklist_box .worklist li .imgbox img{ height: 280px; object-fit: cover; }
#work .sec01 .pagination li{ width: 45px; height: 45px; margin: 0 15px 0 0; }
#work .sec01 .pagination li:last-child{ margin-right: 0; }
#work .sec01 .pagination li a{ display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; 
	width: 45px; height: 45px; text-align: center; font-family: 'Montserrat', sans-serif; }
#work .sec01 .pagination li a:hover{ border: 1px solid #000; }
#work .sec01 .pagination li.active a{ border: 1px solid #000; }
#work .sec01 .pagination li a img{ height: 100%; width: 9px; }
#work .sec01 .pagination_leftbox{ margin-right: 4%; width: 48%; border-left: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7;  }
#work .sec01 .pagination_rightbox{ width: 48%; border-left: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7;  }
#work .sec01 .worklist_box .wp-pagenavi .pages{ display: none; }
#work .sec01 .worklist_box .wp-pagenavi a,
#work .sec01 .worklist_box .wp-pagenavi span{ border: none; font-weight: 400; margin: 0 15px 0 0; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; 
  width: 45px; height: 45px; text-align: center; font-family: 'Montserrat', sans-serif; }
#work .sec01 .worklist_box .wp-pagenavi a:last-child{ margin-right: 0; }
#work .sec01 .worklist_box .wp-pagenavi a:hover{ border: 1px solid #000; }
#work .sec01 .worklist_box .wp-pagenavi .current{ border: 1px solid #000; }
#work .sec01 .worklist_box .wp-pagenavi a img{ height: 100%; width: 9px; }
#work .sec01 .worklist_box .worklist{ border-left: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7; position: relative; }
#work .sec01 .worklist_box .worklist:after{ content: ""; position: absolute; height: 100%; width: 1px; background: #E7E7E7; left: calc( 48% - 1px); top: 0; }
#work .sec01 .worklist_box .worklist:before{ content: ""; position: absolute; height: 100%; width: 1px; background: #E7E7E7; left: 52%; top: 0; }
.previouspostslink{ position: relative; color: #fff; }
.previouspostslink:after{ content:""; position: absolute; -webkit-transform: rotate(180deg); transform: rotateZ(180deg); background: url("../images/arrow10.svg") no-repeat; top: 0; bottom: 0; right: 0; left: 0; margin: auto; width: 8px; height: 15px; background-size: contain; }
.nextpostslink{ position: relative; color: #fff; }
.nextpostslink:after{ content:""; position: absolute; background: url("../images/arrow10.svg") no-repeat; top: 0; bottom: 0; right: 0; left: 0; margin: auto; width: 8px; height: 15px; background-size: contain; }


#work_detail .work_box{ border-left: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7; }
#work_detail .work_box .topimg{ margin-top: -40px; width: calc( 100% + 2px ); margin-left: -1px; }
#work_detail .work_box .topimg img{ height: auto; margin-top: -20px; }
#work_detail .work_box .work_inner{ border-left: 1px solid #E7E7E7; border-right: 1px solid #E7E7E7; margin: 0 100px; }
#work_detail .work_box .work_inner .intitle_box{ border-bottom: 7px solid #000; margin-left: -100px; margin-right: -100px; padding: 100px 100px 30px; text-align: center; }
#work_detail .work_box .work_inner .intitle_box h3{ display: inline-flex; font-family: 'Montserrat', sans-serif; font-size: 3rem; position: relative; }
#work_detail .work_box .work_inner .intitle_box h3:after{ content: "様"; position: absolute; right: -30px; bottom: 3px; font-size: 1.5rem; }
#work_detail .work_box .work_inner .intitle_box .client{ display: inline-flex; border: 1px solid #000; background: #fff; font-family: 'Montserrat', sans-serif; text-align: center; padding: 5px 10px; font-size: 1.4rem; margin-bottom: 30px; }
#work_detail .work_box .work_inner .category .post-categories{ display: -webkit-box; display: -ms-flexbox; display: flex; margin: -13px auto 0; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#work_detail .work_box .work_inner .category .post-categories li{ border-top: 1px solid #000; border-right: 1px solid #000; border-bottom: 1px solid #000; background: #fff; font-family: 'Montserrat', sans-serif; text-align: center; font-size: 1.3rem; }
#work_detail .work_box .work_inner .category .post-categories li:first-child{ border-left: 1px solid #000; }
#work_detail .work_box .work_inner .category .post-categories li a{ padding: 5px 10px; display: block; word-break: break-all; }
#work_detail .work_box .work_inner .article{ padding: 70px 0 120px; }
#work_detail .work_box .work_inner .article h4,
#work_detail .work_box .work_inner .article h5,
#work_detail .work_box .work_inner .article h6,
#work_detail .work_box .work_inner .article p{ padding: 0 50px; line-height: 2em; }
#work_detail .work_box .work_inner .article h4{ font-weight: 700; line-height: 2em; letter-spacing: 3px; margin-bottom: 30px; }
#work_detail .work_box .work_inner .article img{ height: auto; padding: 70px 0; }
#work_detail .work_box .work_inner .article .btn{ display: block; width: 100%; margin-bottom: 30px; }
#work_detail .work_box .work_inner .article .btn:after{ content: ""; position: absolute; background-image: url("../images/brank_black.svg") ; background-repeat: no-repeat; background-size: 17px; height: 17px; width: 17px; right: 25px; }
#work_detail .work_box .work_inner .article .btn:hover:after{ background-image: url("../images/brank_white.svg"); }
#work_detail .work_box .work_inner .article .making{ margin: 100px auto 0px; }
#work_detail .work_box .work_inner .article .making table{ margin: 0 auto; text-align: left; font-size: 1.4rem; }
#work_detail .work_box .work_inner .article .making table th{ color: #6D6D6D; width: 140px; }
#work_detail .work_box .work_inner .article .making table tr:nth-child(-n+2) th{ padding-bottom: 20px; }
#work_detail .sec02{ color: #fff; background: url("../images/topsec02_bg.jpg") no-repeat; background-size: cover; padding: 100px 0; }
#work_detail .sec02 h3{ margin-bottom: 50px; text-align: center; font-weight: 700; font-family: 'Montserrat', sans-serif; font-size: 2.6rem; }
#work_detail .sec02 p{ line-height: 2em; text-align: center; }
#work_detail .sec02 .box{ margin: 50px 0 0; }
/*#work_detail .sec02 .box ul.slick-slider{ position: relative; border-bottom: dashed 1px #fff; }
#work_detail .sec02 .box ul.slick-slider:before{ content: ""; position: absolute; border-top: 1px dashed #fff; top: 35px; width: 100%; }
#work_detail .sec02 .box .slick-dots{ bottom: -75px; }
#work_detail .sec02 ul .items{ position: relative; margin: 0 50px 0px; text-align: center; }
#work_detail .sec02 ul .items a{ display: block; border: 1px solid #fff; }
#work_detail .sec02 ul .items .category{ -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 35px; width: 100%; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; top: 0; }
#work_detail .sec02 ul .items .category span{ word-break: break-all; font-family: 'Montserrat', sans-serif; color: #fff; padding: 4px 13px; font-size: 1.4rem; }
#work_detail .sec02 ul .items p { line-height: 1.5em; font-size: 1.6rem; text-align: left; padding: 50px 40px 80px; color: #fff; }
#work_detail .sec02 ul .items .img_box{ text-align: right; position: relative; }
#work_detail .sec02 ul .items .img_box img{ position: relative; z-index: -2; }
#work_detail .sec02 ul .items .img_box .num{ position: absolute; font-family: 'Heebo', sans-serif; color: #000; font-weight: 700; font-size: 4rem; text-align: center;
width: 85px; height: 85px; display: inline-block; border: 2px solid #000; background: #fff; line-height: 85px; right: 50px; bottom: 20%; }
#work_detail .sec02 ul .items .img_box .num:after{ content: ""; border: 2px solid #000; position: absolute; width: 81px; height: 81px; background: repeating-linear-gradient(-45deg, #fff, #fff 3.5px, #000 3.5px, #000 7px); top: 4px; right: -8px; z-index: -1; }*/
#work_detail .sec02 .btn{ color: #000; background: #fff; max-width: 380px; width: 100%; display: block; margin: 0 auto; border: 1px solid #fff; }
#work_detail .sec02 .slick-dotted.slick-slider { margin-bottom: 130px; }



#work_detail .sec02 .box ul .items{ position: relative; margin: 0 50px 50px; text-align: center; }
#work_detail .sec02 .box ul .items:after{ content: ""; position: absolute; bottom: 0; left: 0; right: 0; margin: auto; height: 80px; width: 1px; background: #E0E0E0; }
#work_detail .sec02 .box ul .items:before{ /*content: ""; position: absolute; left: 0; right: 0; bottom: 55px; margin: auto; width: 1px; height: 0px; background: #000; transform-origin: left; transition: 0.4s;*/ z-index: 10; }
#work_detail .sec02 .box ul .items:hover:before { height: 20px; }
#work_detail .sec02 .box ul .items a{ display: block; border: 1px solid #fff; margin-top: 12px; margin-bottom: 45px; }
#work_detail .sec02 .box ul .items .category{ width: 100%; position: absolute; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; top: 0; }
#work_detail .sec02 .box ul .items .category span:first-child{ border-left: 1px solid #000; }
#work_detail .sec02 .box ul .items .category span{ word-break: break-all; font-family: 'Montserrat', sans-serif; background: #fff; color: #000; border-top: 1px solid #000; border-bottom: 1px solid #000; border-right: 1px solid #000; padding: 4px 13px; font-size: 1.4rem; }
#work_detail .sec02 .box .items .bottom{ margin: 50px 40px 60px; }
#work_detail .sec02 .box .items .bottom h4{ line-height: 1.3em; display: inline-block; position: relative; margin-bottom: 15px; color: #fff; font-size: 2rem; }
#work_detail .sec02 .box .items .bottom h4:after{ content: "様"; position: absolute; right: -30px; bottom: -1px; font-size: 1.5rem; }
#work_detail .sec02 .box .items .bottom p { height: 4.5em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; line-height: 1.5em; font-size: 1.5rem; text-align: left; color: #fff; }
#work_detail .sec02 .box .items .img_box{ text-align: right; position: relative; }
#work_detail .sec02 .box .items .img_box .inner{ height: 450px; overflow: hidden; max-height: 500px; overflow: hidden; }
#work_detail .sec02 .box .items .img_box .inner img{ max-height: 500px; height: 100%; object-fit: cover; position: relative; z-index: -2; }
#work_detail .sec02 .box .items .img_box .num{ padding: 5px; position: absolute; font-family: 'Heebo', sans-serif; color: #000; font-weight: 700; font-size: 4rem; text-align: center;
width: 80px; height: 80px; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; border: 1px solid #000; background: #fff; line-height: 80px; right: 50px; bottom: -25px; }
#work_detail .sec02 .box ul .items .img_box .num:after{ /*content: ""; border: 2px solid #000; position: absolute; width: 81px; height: 81px; background: repeating-linear-gradient(-45deg, #fff, #fff 3.5px, #000 3.5px, #000 7px); top: 4px; right: -8px; z-index: -1;*/
content: ""; border: 1px solid #000; position: absolute; width: 79px; height: 79px; background: url("../images/stripe.jpg") no-repeat; top: 3px; right: -7px; z-index: -1; background-size: auto 140%; }
#work_detail .sec02 .box .items .img_box .num img{ transform: unset; }
#work_detail .sec02 .box .btn{ color: #000; background: #fff; max-width: 380px; width: 100%; display: block; margin: 0 auto; border: 1px solid #fff; }
#work_detail .sec02 .box .slick-dotted.slick-slider { margin-bottom: 80px; }








#service .sec01{ padding-top: 150px; }
#service .sec01 h3{ text-align: center; font-weight: 700; }
#service .sec01 h3.en{ font-size: 1.4rem; letter-spacing: 2px; margin-bottom: 15px; }
#service .sec01 h3.ja{ margin-bottom: 70px; font-size: 3rem; letter-spacing: 10px; }
#service .sec01 p{ line-height: 2em; font-size: 1.4rem; text-align: center; }
#service .sec02{ margin-top: 150px; }
#service .sec03{ margin-top: 150px; }
#service .sec04{ margin-top: 150px; }
#service .sec05{ margin-top: 150px; margin-bottom: 200px; }
#service section{ max-width: 750px; margin: 0 auto; }
#service section .sevice_box{ text-align: center; }
#service section .sevice_box .num{ margin-bottom: 50px; position: relative; font-family: 'Heebo', sans-serif; color: #000; font-weight: 700; font-size: 3rem; text-align: center;
width: 70px; height: 70px; display: inline-block; border: 1px solid #000; background: #fff; line-height: 70px; }
#service section .sevice_box .num:after{ content: ""; border: 1px solid #000; position: absolute; width: 70px; height: 70px; background: url("../images/stripe.jpg") no-repeat; top: 2px; right: -6px; z-index: -1; background-size: auto 140%; }
#service section .sevice_box h4.en{ font-weight: 700; font-size: 1.4rem; letter-spacing: 2px; margin-bottom: 15px; }
#service section .sevice_box h4.ja{ letter-spacing: 12px; font-weight: 600; font-size: 3rem; line-height: 1.3em; }
#service section .sevice_box .img_box{ margin: 70px 0; }
#service section .sevice_box .img_box img{ max-height: 200px; max-width: 100%; width: auto; }
#service section .sevice_box .text_box{ text-align: left; }
#service section .sevice_box .text_box h5{ font-weight: 600; margin-bottom: 1em; line-height: 1.8em; font-weight: 700; font-size: 2.2rem; letter-spacing: 5px; }
#service section .sevice_box .text_box p{ font-size: 1.4rem; line-height: 2.3em; }
#service .sec02 .sevice_box .btn_box{ margin-top: 40px; }
#service .sec02 .sevice_box .btn_box .btn{ max-width: 360px; width: 100%; }
#service .sec02 .sevice_box .btn_box .btn:after{ content: ""; position: absolute; background-image: url("../images/brank_black.svg") ; background-repeat: no-repeat; background-size: 17px; height: 17px; width: 17px; right: 25px; }
#service .sec02 .sevice_box .btn_box .btn:hover:after{ background-image: url("../images/brank_white.svg"); }
#service .sec03 .sevice_box .img_box img{ max-height: 250px; }
#service .sec05 .sevice_box .img_box img{ max-height: 300px; }
#service .sec05 .sevice_box .btn_box{ margin-top: 40px; }
#service .sec05 .sevice_box .btn_box .btn{ width: 50%; }
#service .sec05 .sevice_box .btn_box .btn.btn_black{ border-left: 0; }

#philosophy .sec01{ background: url("../images/philosophysec01_01.jpg") no-repeat; background-size: 95% auto; background-position: 200px 20%; }
#philosophy .sec01 .en{ font-family: 'Montserrat', sans-serif; font-weight: 700; }
#philosophy .sec01 .philosophy_box1{ padding-top: 200px; max-width: 850px; margin: 0 0 0 auto; }
#philosophy .sec01 .philosophy_box2{ max-width: 850px; margin: -130px 0 200px auto; }
#philosophy .sec01 .philosophy_box3{ max-width: 850px; margin: 0 0 200px auto; }
#philosophy .sec01 h3.en{ font-size: 2.5rem; letter-spacing: 5px; margin-bottom: 50px; }
#philosophy .sec01 .philosophy_box1 .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
#philosophy .sec01 .philosophy_box1 .left{ width: 60%; }
#philosophy .sec01 .philosophy_box1 .left p{ font-weight: 700; font-size: 1.7rem; line-height: 2.5em; letter-spacing: 6px; }
#philosophy .sec01 .philosophy_box1 .right{ width: 40%; position: relative; } 
#philosophy .sec01 .philosophy_box1 .right .en{ transform-origin: left bottom; position: absolute; right: -111px; top: -34px; height: 34px; width: 145px; display: inline-block; font-size: 1.1rem; padding: 10px; border: 1px solid #000; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
#philosophy .sec01 .philosophy_box1 .right .text{ margin: 0 0 0 auto; padding-right: 70px; line-height: 2.3em; letter-spacing: 15px; font-weight: 700; font-size: 2.8rem; text-orientation: upright; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
#philosophy .sec01 .philosophy_box2 ul li{ margin-bottom: 15px; padding-left: 35px; position: relative; font-weight: 700; font-size: 1.5rem; line-height: 2.5em; letter-spacing: 4px; }
#philosophy .sec01 .philosophy_box2 ul li:before{ content: ""; position: absolute; left: 0; top: 0; bottom: 0; margin: auto; width: 15px; height: 2px; background: #000; }
#philosophy .sec01 .philosophy_box3 .flex{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
#philosophy .sec01 .philosophy_box3 .left{ width: 55%; margin-right: 10%; }
#philosophy .sec01 .philosophy_box3 .left table{ width: 100%; font-size: 1.45rem; text-align: left; }
#philosophy .sec01 .philosophy_box3 .left table th{ line-height: 1.8em; padding: 30px 60px 30px 0; position: relative; border-bottom: 1px solid #F0F0F0; font-weight: 700; }
#philosophy .sec01 .philosophy_box3 .left table th:before{ content: ""; position: absolute; height: 1px; background: #000; width: 25px; bottom: -1px; left: 0;}
#philosophy .sec01 .philosophy_box3 .left table td{ line-height: 1.8em; padding: 30px 0; border-bottom: 1px solid #F0F0F0;  }
#philosophy .sec01 .philosophy_box3 .left table td ul li{ position: relative; padding-left: 10px; }
#philosophy .sec01 .philosophy_box3 .left table td ul li:before{ content: ""; width: 2px; height: 2px; border-radius: 100px; background: #000; left: 0; top: 0; bottom: 0; margin: auto; position: absolute; }
#philosophy .sec01 .philosophy_box3 .left table tr:last-child td{ border: none; }
#philosophy .sec01 .philosophy_box3 .left table tr:last-child th{ border: none; }
#philosophy .sec01 .philosophy_box3 .left table tr:last-child th:before{ content: none; }
#philosophy .sec01 .philosophy_box3 .right{ width: 35%; }
#philosophy .sec01 .philosophy_box3 .map{ margin-top: 120px; /*-webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%);*/ }
#philosophy .sec01 .philosophy_box3 .map iframe{ width: 100%; height: 400px; }

#recruit .sec01 { padding: 160px 0 200px;}
#recruit .sec01 .recruit_box1{ margin-bottom: 150px; }
#recruit .sec01 .recruit_box1 .position{ position: relative; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; padding-bottom: 250px; } 
#recruit .sec01 .recruit_box1 .position .box{ display: inline-block; position: relative; } 
#recruit .sec01 .recruit_box1 .position .en{ text-align: center; font-weight: 700; transform-origin: left bottom; position: absolute; right: -46px; top: -34px; height: 34px; width: 80px; display: inline-block; font-size: 1.1rem; padding: 10px; border: 1px solid #000; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
#recruit .sec01 .recruit_box1 .position .text{ margin: auto; padding-right: 70px; line-height: 2.3em; letter-spacing: 15px; font-weight: 700; font-size: 2.8rem; text-orientation: upright; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
#recruit .sec01 .recruit_box1 .position img{ position: absolute; max-height: 180px; width: auto; }
#recruit .sec01 .recruit_box1 .position img.img01{ right: 50px; top: 0; }
#recruit .sec01 .recruit_box1 .position img.img02{ right: 100px; bottom: 150px; }
#recruit .sec01 .recruit_box1 .position img.img03{ margin: auto;left: 0; right: 0; bottom: 0; }
#recruit .sec01 .recruit_box1 .position img.img04{ left: 50px; top: 0; }
#recruit .sec01 .recruit_box1 .position img.img05{ left: 100px; bottom: 150px; }
#recruit .sec01 .recruit_box2 h4{ letter-spacing: 7px; font-weight: 700; font-size: 2.5rem; line-height: 1.8em; margin-bottom: 30px; }
#recruit .sec01 .recruit_box2 p{ line-height: 2em; }
#recruit .sec01 .recruit_box2 img{ margin: 100px 0; }
#recruit .sec01 .recruit_box2 table{ text-align: left; margin-bottom: 70px; }
#recruit .sec01 .recruit_box2 table th{ width: 130px; font-weight: 700; }
#recruit .sec01 .recruit_box2 table th,
#recruit .sec01 .recruit_box2 table td{ line-height: 2em; padding: 20px 0; }
#recruit .sec01 .recruit_box2 table td{ width: calc( 100% - 130px ); }
#recruit .sec01 .recruit_box2 a{ position: relative; margin: 0 auto;  display: block; max-width: 400px; width: 100%; }
#recruit .sec01 .recruit_box2 a:after{ content: ""; position: absolute; background-image: url("../images/brank_black.svg") ; background-repeat: no-repeat; background-size: 17px; height: 17px; width: 17px; right: 25px; }
#recruit .sec01 .recruit_box2 a:hover:after{ background-image: url("../images/brank_white.svg"); }

#news .sec01 .wp-pagenavi{ margin-top: 40px; }
#news .sec01 .news_list li{ position: relative; border-bottom: 1px solid #E5E5E5; }
#news .sec01 .news_list li:before{ content: ""; position: absolute; bottom: -1px; left: 0; width: 30px; height: 1px; background: #000; transition: 0.3s; }
#news .sec01 .news_list li:hover:before{ width: 100%; }
#news .sec01 .news_list li a{ padding: 40px 0; color: #000; }
#news .sec01 .news_list li a .date{ font-size: 1.5rem; width: 170px; font-family: 'Montserrat', sans-serif; }
#news .sec01 .news_list li a .text{ font-size: 1.5rem; width: calc( 100% - 170px ); }
#news .sec01 .wp-pagenavi{ text-align: center; }
#news .sec01 .wp-pagenavi a,
#news .sec01 .wp-pagenavi span{ border: none; font-weight: 700; margin-right: 15px; display: inline-flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; 
	width: 45px; height: 45px; text-align: center; font-family: 'Montserrat', sans-serif; }
#news .sec01 .wp-pagenavi a:last-child{ margin-right: 0; }
#news .sec01 .wp-pagenavi a:hover{ border: 1px solid #000; }
#news .sec01 .wp-pagenavi .current{ border: 1px solid #000; }
#news .sec01 .wp-pagenavi a img{ height: 100%; width: 9px; }
#news .sec01 .wp-pagenavi .pages{ display: none; }

#news_detail .sec01{ padding: 0 100px; }
#news_detail .btn_box{ text-align: center; }
#news_detail .pagenation{ margin: 150px 0 50px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#news_detail .content{ line-height: 2em; }
#news_detail .content h3{ position: relative; border-bottom: 1px solid #E5E5E5; padding-bottom: 20px; margin-bottom: 50px; font-weight: 700; font-size: 2.5rem; }
#news_detail .content h3:before{ content: ""; position: absolute; bottom: -1px; left: 0; width: 30px; height: 1px; background: #000; transition: 0.3s; }
#news_detail .content .date{ font-family: 'Montserrat', sans-serif; }

#contact .form_wrapper table{ margin: 0 auto; max-width: 650px; }
#contact .form_wrapper th,
#contact .form_wrapper td{ text-align: left; display: block; }
#contact .form_wrapper td input,
#contact .form_wrapper td textarea,
#contact .form_wrapper td select{ outline: none; padding: 10px; background: #F5F5F5; width: 100%; }
#contact .form_wrapper td select{ width: auto; background: none; padding-left: 0; padding-right: 0; }
#contact .form_wrapper td textarea{ height: 250px; }
#contact .form_wrapper th{ padding-bottom: 15px; }
#contact .form_wrapper td{ padding-bottom: 35px; }
#contact .form_wrapper td.box_flex{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
#contact .form_wrapper td.box_flex span{ width: 48.5%; }
#contact .form_wrapper th span.required{ position: relative; }
#contact .form_wrapper th span.required:after{ content: ""; position: absolute; width: 10px; height: 10px; background: #D62424; border-radius: 10px; right: -20px; top: 0; bottom: 0; margin: auto; }
#contact .form_wrapper th span.veri{ margin-left: 15px; padding: 4px 8px; border: 1px solid #000; font-size: 1.1rem; }
#contact .form_wrapper .text{ max-width: 650px; height: 250px; background: #FAFAFA; line-height: 1.5em; margin: 0 auto;padding: 20px; overflow-y: scroll; }
#contact .form_wrapper .text::-webkit-scrollbar { width: 10px; height: 10px; }
#contact .form_wrapper .text::-webkit-scrollbar-track { background: #F5F5F5; }
#contact .form_wrapper .text::-webkit-scrollbar-thumb { background: #000; border-radius:0px; }
#contact .list-tab{ margin: 0 auto 70px; max-width: 650px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#contact .list-tab .btn{ display: block; color: #fff; background: #000; border: 1px solid #000; cursor: pointer;  width: 50%; overflow: unset; }
#contact .list-tab .btn:before{ content: none; }
#contact .list-tab .active{ background: #fff; color: #000; position: relative; }
#contact .list-tab .active:after{ content: ""; position: absolute; right: 0; left: 0; bottom: -15px; margin: auto; height: 30px; background: #000; z-index: 1; width: 1px; }
#contact .tab-content{ display: none; }
#contact .tab-content.active{ display: block; }
#contact .check{ margin-top: 30px; text-align: center; }
#contact .check input{ border: 1px solid #000; border: 1px solid #000; background: transparent; border-radius: 0; font: inherit; outline: none; }
#contact .form_btn { margin-top: 50px; text-align: center; }
#contact .form_btn .btn{ height: 70px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0; }
#contact .form_btn .btn input{ -webkit-transition: all 0.3s; transition: all 0.3s; background: #000; position: relative; color: #fff; padding: 27.5px 80px; }
#contact .form_btn .btn input:hover{ background: #fff; color: #000; cursor: pointer; }
#contact .form_btn .btn span{ position: absolute; top: 23px!important; bottom: 0!important; left: 5px!important; margin: 0 auto; }
#contact .wpcf7-not-valid-tip{ margin-top: 10px; font-size: 1.3rem; }
#contact .form_wrapper td.box_flex span.wpcf7-not-valid-tip{ width: 100%; }
.wpcf7 form .wpcf7-response-output{ border: 1px solid #00a0d2; background: #f5f5f5; line-height: 1.5em; text-align: center; max-width: 650px; margin: 50px auto 0; padding: 10px; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{ border-color: #dc3232; }
.wpcf7 form.sent .wpcf7-response-output{ border-color: #32c4dc; }

#nf h3{ text-align: center; font-weight: 700; font-size: 4rem; font-family: 'Montserrat', sans-serif; }
#nf p{ text-align: center; margin-top: 50px; }
#nf p span{ display: block; margin-bottom: 20px; font-size: 2rem; font-weight: 700; font-family: 'Montserrat', sans-serif; }
#nf h3{ text-align: center; font-weight: 700; font-size: 4rem; font-family: 'Montserrat', sans-serif; }
#nf p{ text-align: center; margin-top: 50px; }
#nf p span{ display: block; margin-bottom: 20px; font-size: 2rem; font-weight: 700; font-family: 'Montserrat', sans-serif; }
.triangle{ background-image: url("../images/triangle.png"); background-size: contain; background-repeat: no-repeat; background-position: top -20px right; }
.triangle .sub_wrapper .titlebox_wrapper { background: linear-gradient(90deg, #000 0%, #000 50%, #fff0 50%, #fff0 100%); margin-top: -150px; }
.triangle #recruit{ padding-top: 150px; }


#privacy_policy .sec01{ line-height: 1.5em; }

#thanks .sec01 h3{ font-weight: 700; font-size: 2rem; line-height: 2em; margin-bottom: 20px; }
#thanks .sec01 p{ margin-bottom: 50px; line-height: 2em; }

/* new-style */

#top .menu_box ul li p.en { letter-spacing: 0.11em; }
#top .menu_box ul li p.ja { font-size: 16px; }
#top .sec02 ul .items p { line-height: 1.5; font-size: 15px; }

#top .sec04 .archive_btn { padding-right: 35px; }
#footer .left .text { line-height: 2.7; }
#footer .right .nav-list2 li a { font-size: 13px; }
.btn { padding: 29px 80px; }
#top .sec04 .news_list li a { padding: 48px 0; }
#top .sec04 h3 { margin-bottom: 5px; }
#top .sec03 h4 { letter-spacing: 0.13em; }
#top .sec02 { padding: 155px 0; }
.slick-dots li { margin: 0 4px; }
#top .fv h2.copy { letter-spacing: 0.3em; width: 460px; }
.pt { position: relative; top: 40px; text-align: center; }
.pt a { color: #1D1D1D; letter-spacing: 5px; line-height: 1.5; }
.pt h1 { font-size: 1.4rem; font-weight: 700; }
#philosophy .sec01 .philosophy_box1 .left p { line-height: 2.7; }
#philosophy .sec01 .philosophy_box3 .left table td { letter-spacing: 0.2em; }
#philosophy .sec01 .philosophy_box3 .left table td ul li { line-height: 2; }
#philosophy .sec01 .philosophy_box3 td a { text-decoration: underline; }
#service section .sevice_box h4.en { margin-bottom: 24px; }
#service .sec01 h3.ja { font-weight: 600; }
#footer .left .nav-list1 li { font-weight: 600; }
#footer .left .address { font-weight: 600; }
#top .sec02 ul .items .category span { font-weight: 500; }
#service section .sevice_box .img_box img, #service .sec05 .sevice_box .img_box img, #service .sec03 .sevice_box .img_box img { max-height: 100%; }
#top .menu_box ul li .img_box .gif { max-height: 160px; max-width: 100%; }


.zoomInRotate { backface-visibility: hidden;}
.zoomInRotate img { transform: scale(1); transition: .3s ease-in-out; }
.zoomInRotate a:hover img { transform: scale(1.2); }

