@charset "UTF-8";
/* ++++++++++++++++++++++++++++++++++++++++++
	Theme Name: 文化財保存計画協会
	Description: -
	Version: 01
++++++++++++++++++++++++++++++++++++++++++++++ */
img {
  -webkit-user-drag: none; }

/*---------------------
変数
-----------------------*/
/*---------------------
読み込み
-----------------------*/
/*---------------------
 ★ 画像 
-----------------------*/
img {
  max-width: 100%;
  width: 100%;
  height: auto; }

img {
  vertical-align: bottom; }

.img-responsive-center {
  display: block;
  margin: 0 auto; }

@media only screen and (max-width: 768px) {
  .body {
    overflow-x: hidden; } }

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

 ★ リセットCSS
 HTML5 Doctor Reset CSS

-----------------------*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

th {
  text-align: justify; }

span {
  font-weight: inherit; }

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal; }

span {
  font-weight: inherit; }

body {
  line-height: 1; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

address {
  font-style: normal; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 500; }

del {
  text-decoration: line-through; }

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

/* --------------------------------------------------
	Form
-------------------------------------------------- */
input,
select {
  vertical-align: middle; }

button {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

fieldset {
  border: none; }

input {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: middle;
  outline: none;
  border: none; }

textarea,
select,
label {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 100%;
  font-family: inherit;
  vertical-align: middle;
  outline: none;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

textarea {
  resize: vertical; }

legend {
  display: none; }

/*---------------------
 ★ 文字関連一括指定
-----------------------*/
/*---------------------
 ★ リンク文字色 一括指定
-----------------------*/
/*---------------------
 ★ リンク下線消去 一括指定
-----------------------*/
/*-------------------------------------
 ★ リンク下線消去 一括指定//フォーカスのみ下線
---------------------------------------*/
/*-------------------------------------
 ★ リンク下線消去 一括指定//フォーカスのみ下線
---------------------------------------*/
a.link-none {
  pointer-events: none;
  color: #999999; }

/*-------------------------------------
 ★ floatのあとは自動 clear: both;
 @include clearfix;
 float: left;
 のように使用する
---------------------------------------*/
span.block {
  display: inline-block; }

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

mixin  @includeで出力

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

   Flex

***************************************************************************** */
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media all and (-ms-high-contrast: none) {
    .flex img {
      width: 100%; } }

/* *****************************************************************************

   サイト固有 Mixin 

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

color

----------------------*/
/* ++++++++++++++++++++++++++++++++++++++++++*/
/* ++++++++++++++++++++++++++++++++++++++++++*/
html {
  font-size: 62.5%;
  overflow-x: hidden; }

body {
  font-family: "游明朝",
 "YuMincho",
 "ヒラギノ明朝 ProN W3",
 "Hiragino Mincho ProN",
 "HG明朝E",
 "ＭＳ Ｐ明朝",
 "ＭＳ 明朝",
 "MS PMincho",
 serif;
  font-size: 1.6rem;
  color: #222222;
  line-height: 1.75;
  background-color: #ffffff;
  overflow: hidden; }

main {
  margin: 0;
  padding-bottom: 80px; }

/*---------------------
汎用
-----------------------*/
.italic {
  font-style: italic; }

body.en {
  /*!importantが効かないので苦肉の策*/ }
  body.en section,
  body.en div,
  body.en p,
  body.en span,
  body.en h1,
  body.en h2,
  body.en h3,
  body.en h4,
  body.en h5,
  body.en h6,
  body.en blockquote,
  body.en pre,
  body.en abbr,
  body.en dl,
  body.en dt,
  body.en dd,
  body.en ol,
  body.en ul,
  body.en li,
  body.en table,
  body.en caption,
  body.en tbody,
  body.en tfoot,
  body.en thead,
  body.en tr,
  body.en th,
  body.en td,
  body.en article,
  body.en aside {
    font-family: arial,
 sans-serif;
    line-height: 1.6 !important;
    letter-spacing: normal !important; }

a {
  color: #222222;
  text-decoration: none; }
  a:visited, a:hover, a:active, a:focus {
    text-decoration: none; }
  a:visited, a:hover, a:active, a:focus {
    text-decoration: none; }

.vsp {
  display: block; }
  @media only screen and (min-width: 768px) {
    .vsp {
      display: none; } }

.vpc {
  display: block; }
  @media only screen and (max-width: 768px) {
    .vpc {
      display: none; } }

.main-container {
  max-width: 1240px;
  width: auto;
  margin: 0 auto;
  padding: 0 20px;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .main-container {
      width: 100%;
      padding: 0 20px; } }

.sub-content-container {
  max-width: 960px;
  width: auto;
  margin: 0 auto;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .sub-content-container {
      width: 100%; } }

.thaad-content-container {
  max-width: 840px;
  width: auto;
  margin: 0 auto;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .thaad-content-container {
      width: 100%; } }

/*---------------------
page
-----------------------*/
.l-page-ttl-area {
  text-align: center;
  padding: 51px 0 62.5px;
  background-image: url(img/page-ttl-bg.jpg);
  background-position: center bottom;
  background-repeat: no-repeat; }
  .l-page-ttl-area .page-ttl {
    font-size: 4.4rem;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 2.4; }
    .l-page-ttl-area .page-ttl:after {
      content: attr(data-subttl);
      font-style: normal;
      font-weight: 300;
      font-size: 2rem;
      color: #222222;
      line-height: 2;
      letter-spacing: 0.3em;
      display: block; }

@media only screen and (max-width: 768px) {
  .l-page-ttl-area {
    padding: 38px 0;
    background-image: url(img/page-ttl-bg_sp.jpg); }
    .l-page-ttl-area .page-ttl {
      font-size: 3.2rem;
      letter-spacing: 0.2em;
      line-height: 1; }
      .l-page-ttl-area .page-ttl:after {
        margin-top: 10px;
        font-size: 1.4rem; } }

.breadcrumbs-area {
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  margin-top: 27px;
  font-size: 1.4rem; }

@media only screen and (max-width: 768px) {
  .breadcrumbs-area {
    margin-top: 14px;
    font-size: 1.2rem; } }

.l-page-index-area {
  margin-top: 50px; }
  .l-page-index-area .page-index-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .l-page-index-area .page-index-list li:not(:first-child)::before {
      content: "／"; }
    .l-page-index-area .page-index-list li a {
      position: relative;
      display: inline-block;
      font-size: 1.8rem;
      line-height: 1.7;
      letter-spacing: 0.1em;
      padding-left: 1em;
      padding-right: 1em;
      padding-bottom: 8px; }
      .l-page-index-area .page-index-list li a:after {
        position: absolute;
        bottom: 4px;
        left: 1em;
        content: '';
        width: calc(100% - 2em);
        height: 2px;
        background: #999999;
        -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        -o-transition: transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s; }
    .l-page-index-area .page-index-list li > a:hover::after {
      -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
      transform-origin: left top;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      transform: scale(1, 1); }

body.en .l-page-index-area li:not(:first-child)::before {
  content: "/"; }

@media only screen and (max-width: 768px) {
  .l-page-index-area {
    margin-top: 25px; } }

.page section {
  margin-top: 143px; }

.l-section-ttl-area {
  text-align: center; }
  .l-section-ttl-area .section-ttl {
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 1.6; }
    .l-section-ttl-area .section-ttl:after {
      content: attr(data-subttl);
      font-family: arial,
 sans-serif;
      line-height: 1.6 !important;
      letter-spacing: normal !important;
      display: block;
      margin-top: 10px;
      font-style: normal;
      font-weight: 300;
      font-size: 1.6rem;
      color: #222222;
      line-height: 1.6;
      letter-spacing: 0.1em;
      text-indent: 0em; }

@media only screen and (max-width: 768px) {
  .page section {
    margin-top: 100px; }
  .l-section-ttl-area {
    margin-bottom: 70px; }
    .l-section-ttl-area .section-ttl {
      font-size: 2.8rem;
      letter-spacing: 0.2em;
      line-height: 1; } }

/*-------------
各ページ読み込み
---------------*/
/*--------------------

headerfooter

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

header

----------------------*/
header {
  padding: 63.32px 0 46px;
  position: relative;
  z-index: 1000; }
  header .nav-button-wrap {
    display: none; }
  header .header-inner {
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto; }
    header .header-inner .header-flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
    header .header-inner .site-logo {
      max-width: 325px;
      height: auto; }
      header .header-inner .site-logo a {
        display: block; }
        header .header-inner .site-logo a img {
          vertical-align: bottom; }
    header .header-inner .header-menu {
      max-width: 790px;
      position: relative; }

/* header
SPコンテナサイズ */
@media only screen and (max-width: 1200px) {
  header {
    padding: 18.2px 0 18.2px; }
    header .nav-button-wrap {
      display: block; }
    header .header-inner .site-logo a {
      width: 234px;
      height: auto; } }

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

footer

----------------------*/
footer {
  background-color: #FAFAFA;
  margin-top: 140px;
  position: relative; }
  footer .go-top-area {
    position: relative;
    max-width: 1200px;
    margin: -56px auto 56px;
    height: 1px;
    z-index: 50; }
    footer .go-top-area .page-up-arrow {
      display: none;
      position: fixed;
      right: 27px;
      bottom: 27px; }
      @media only screen and (max-width: 1240px) {
        footer .go-top-area .page-up-arrow {
          right: 22px; } }
      footer .go-top-area .page-up-arrow img {
        width: 16px;
        height: 13px; }
    footer .go-top-area a {
      display: inlin-block;
      background-color: #ffffff;
      padding: 12px 18px;
      border: solid 1px #DDDDDD; }
      footer .go-top-area a:hover path {
        fill: #888888; }

.l-footer-inner {
  max-width: 840px;
  margin: 0 auto;
  padding: 57px 0; }

.l-footer-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.l-footer-info-area .l-footer_logo {
  max-width: 261px;
  max-height: 46px; }

.l-footer-info-area .l-footer_add {
  margin-top: 38px;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.7142; }
  .l-footer-info-area .l-footer_add > .mail {
    font-size: 14px;
    margin-top: 5px; }

.l-footer-info-area .l-footer-contact-area {
  margin-top: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.55; }
  .l-footer-info-area .l-footer-contact-area > .fax {
    margin-left: 20px; }
  .l-footer-info-area .l-footer-contact-area.en-l-footer-contact-area {
    display: block;
    font-size: 1.8rem; }
    .l-footer-info-area .l-footer-contact-area.en-l-footer-contact-area > .fax {
      margin-left: 0;
      margin-top: 8px; }

.l-footer-pagelink-area .l-footer_nav_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end; }
  .l-footer-pagelink-area .l-footer_nav_flex ul > li {
    margin-top: 21px; }
    .l-footer-pagelink-area .l-footer_nav_flex ul > li > a {
      position: relative;
      display: inline-block;
      padding-bottom: 8px;
      font-size: 1.6rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      line-height: 1.3; }
      .l-footer-pagelink-area .l-footer_nav_flex ul > li > a:after {
        position: absolute;
        bottom: 4px;
        left: 0;
        content: '';
        width: 100%;
        height: 2px;
        background: #999999;
        -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        -o-transition: transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s; }
    .l-footer-pagelink-area .l-footer_nav_flex ul > li > a:hover::after {
      -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
      transform-origin: left top;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      transform: scale(1, 1); }
    .l-footer-pagelink-area .l-footer_nav_flex ul > li ul li {
      margin-top: 13px; }
      .l-footer-pagelink-area .l-footer_nav_flex ul > li ul li a {
        position: relative;
        display: inline-block;
        font-size: 1.2rem;
        font-weight: normal;
        letter-spacing: 0.1em;
        line-height: 2.8;
        padding-bottom: 0; }
    .l-footer-pagelink-area .l-footer_nav_flex ul > li.sub-link a {
      font-size: 1.2rem;
      font-weight: normal;
      letter-spacing: 0.1em;
      line-height: 3.166; }

.l-footer-pagelink-area .right-area {
  margin-left: 111px; }
  @media only screen and (max-width: 830px) {
    .l-footer-pagelink-area .right-area {
      margin-left: 30px; } }

.l-footer-pagelink-area .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  display: none; }
  .l-footer-pagelink-area .sns img {
    width: 22px;
    height: 17px; }

.copyright {
  text-align: center;
  font-size: 1.2rem;
  padding-top: 57px;
  padding-bottom: 29px; }

/*Footer ---------------------------------------------

英語版

----------------------*/
.en-l-footer-flex {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .en-l-footer-flex .l-footer-info-area {
    min-width: 400px; }
    @media only screen and (max-width: 768px) {
      .en-l-footer-flex .l-footer-info-area {
        min-width: auto; } }
  .en-l-footer-flex .l-footer-pagelink-area .l-footer_nav_flex ul li {
    margin-top: 12px; }
    @media only screen and (max-width: 768px) {
      .en-l-footer-flex .l-footer-pagelink-area .l-footer_nav_flex ul li {
        margin-top: 12px; } }
    .en-l-footer-flex .l-footer-pagelink-area .l-footer_nav_flex ul li ul li {
      margin-top: 10px; }
      .en-l-footer-flex .l-footer-pagelink-area .l-footer_nav_flex ul li ul li a {
        line-height: 1.6;
        color: #707070;
        padding-bottom: 3px; }

/* Footer
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  footer {
    margin-top: 70px; }
    footer .go-top-area .page-up-arrow {
      position: fixed;
      right: 19px;
      bottom: 22px;
      width: 44px;
      height: 44px;
      padding: 8px 12px;
      display: none; }
  .l-footer-inner {
    max-width: 100%;
    padding: 50px 20px 0; }
  .l-footer-flex {
    display: block;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
  .l-footer-info-area .l-footer_logo {
    margin: 0 auto; }
  .l-footer-info-area .l-footer_add {
    padding-top: 2rem;
    text-align: center; }
    .l-footer-info-area .l-footer_add .add {
      display: inline-block;
      padding: 0 0;
      text-align: left; }
  .l-footer-info-area .l-footer-contact-area {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 14px; }
  .l-footer-pagelink-area .right-area {
    margin-left: 13px; }
  .l-footer-pagelink-area {
    margin-top: 38px; }
    .l-footer-pagelink-area .l-footer_nav_flex {
      -ms-flex-pack: distribute;
      justify-content: space-around; }
      .l-footer-pagelink-area .l-footer_nav_flex ul li {
        margin-top: 19px; }
        .l-footer-pagelink-area .l-footer_nav_flex ul li a {
          font-size: 1.4rem; }
        .l-footer-pagelink-area .l-footer_nav_flex ul li ul li {
          margin-top: 10px; }
          .l-footer-pagelink-area .l-footer_nav_flex ul li ul li a {
            font-size: 1.2rem;
            line-height: 2; }
        .l-footer-pagelink-area .l-footer_nav_flex ul li.sub-link a {
          font-size: 1.2rem; }
  .copyright {
    padding-top: 29px;
    font-size: 9px; } }
  @media only screen and (max-width: 768px) and (min-width: 320px) {
    .copyright {
      font-size: calc(3.75vw - 3px); } }
  @media only screen and (max-width: 768px) and (min-width: 400px) {
    .copyright {
      font-size: 12px; } }

.sp_l-footer_add {
  margin-top: 40px;
  text-align: center; }
  .sp_l-footer_add .add {
    display: inline-block;
    padding: 0 0;
    text-align: left;
    font-size: 12px; }
    @media screen and (min-width: 320px) {
      .sp_l-footer_add .add {
        font-size: calc(0.446vw + 10.571px); } }
    @media screen and (min-width: 768px) {
      .sp_l-footer_add .add {
        font-size: 14px; } }
  .sp_l-footer_add .l-footer-contact-area {
    margin-top: 25px;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.55; }
    .sp_l-footer_add .l-footer-contact-area .fax {
      margin-top: 14px; }

.sp_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 170px;
  margin: 25px auto;
  display: none; }
  .sp_sns img {
    width: 22px;
    height: 17px; }

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

Gmenu

----------------------*/
.g-menu {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .g-menu > li {
    position: relative; }
    .g-menu > li > a {
      display: inline-block;
      font-style: normal;
      font-weight: 500;
      font-size: 1.6rem;
      color: #050505;
      line-height: 1.6;
      letter-spacing: 0.2em;
      padding: 10px 2em; }
      .g-menu > li > a:after {
        position: absolute;
        bottom: 4px;
        left: 2em;
        content: '';
        width: calc(100% - 4em);
        height: 2px;
        background: #999999;
        -webkit-transform: scale(0, 1);
        -ms-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
        transform-origin: right top;
        -webkit-transition: -webkit-transform .3s;
        transition: -webkit-transform .3s;
        -o-transition: transform .3s;
        transition: transform .3s;
        transition: transform .3s, -webkit-transform .3s; }
    .g-menu > li > a:hover::after {
      -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
      transform-origin: left top;
      -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
      transform: scale(1, 1); }
    .g-menu > li.ej-switch-area .ej-switch-flex span {
      position: relative; }
      .g-menu > li.ej-switch-area .ej-switch-flex span a {
        font-family: 'Roboto',
 sans-serif;
        font-weight: 300;
        font-size: 1.6rem;
        letter-spacing: 0.032em;
        line-height: 1.6;
        color: #999999;
        padding: 10px .3em;
        margin: 0; }
        .g-menu > li.ej-switch-area .ej-switch-flex span a:after {
          position: absolute;
          display: block;
          bottom: -5px;
          left: 0;
          content: '';
          width: 100%;
          height: 2px;
          background: #999999;
          -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
          transform: scale(0, 1);
          -webkit-transform-origin: right top;
          -ms-transform-origin: right top;
          transform-origin: right top;
          -webkit-transition: -webkit-transform .3s;
          transition: -webkit-transform .3s;
          -o-transition: transform .3s;
          transition: transform .3s;
          transition: transform .3s, -webkit-transform .3s; }
        .g-menu > li.ej-switch-area .ej-switch-flex span a.active {
          font-weight: 700; }
      .g-menu > li.ej-switch-area .ej-switch-flex span > a:hover::after {
        -webkit-transform-origin: left top;
        -ms-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        transform: scale(1, 1); }
    .g-menu > li ul {
      position: absolute;
      top: 100%;
      left: 0;
      width: 230px;
      pointer-events: none;
      opacity: 0;
      -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
      transform: translateY(20px);
      -webkit-transition-property: opacity,
 -webkit-transform;
      transition-property: opacity,
 -webkit-transform;
      -o-transition-property: opacity,
 transform;
      transition-property: opacity,
 transform;
      transition-property: opacity,
 transform,
 -webkit-transform;
      -webkit-transition-timing-function: ease-out;
      -o-transition-timing-function: ease-out;
      transition-timing-function: ease-out;
      -webkit-transition-duration: 0.3s;
      -o-transition-duration: 0.3s;
      transition-duration: 0.3s; }
      .g-menu > li ul.is-active_slide-up {
        opacity: 1;
        pointer-events: auto;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); }
      .g-menu > li ul li {
        width: 100%; }
        .g-menu > li ul li:not(:first-of-type) {
          border-top: solid 1px #DDDDDD; }
        .g-menu > li ul li > a {
          position: relative;
          font-style: normal;
          font-weight: 300;
          font-size: 1.6rem;
          color: #222222;
          line-height: 1.5;
          letter-spacing: 0.1em;
          display: block;
          width: 100%;
          background: #FAFAFA;
          padding: 14px 33px; }
          .g-menu > li ul li > a:after {
            background-color: none; }
          .g-menu > li ul li > a:after {
            content: '';
            background-image: url(img/g-menu-arrow.svg);
            background-size: contain;
            background-repeat: no-repeat;
            width: 6px;
            height: 13px;
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            right: 23px; }
  @media only screen and (max-width: 1200px) {
    .g-menu {
      opacity: 0;
      pointer-events: none;
      -webkit-transform: translateX(300px);
      -ms-transform: translateX(300px);
      transform: translateX(300px);
      height: 0; } }

.nav-button-wrap {
  display: block;
  position: absolute;
  right: 20px;
  top: 21px;
  width: 40px;
  height: 36px;
  z-index: 5000;
  cursor: pointer; }
  .nav-button-wrap .nav-button,
  .nav-button-wrap .nav-button span {
    display: inline-block;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s; }
  .nav-button-wrap .nav-button {
    z-index: 20;
    width: 25px;
    height: 18px;
    position: absolute;
    top: 3px;
    left: 10px; }
    .nav-button-wrap .nav-button span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #999999; }
      .nav-button-wrap .nav-button span:nth-of-type(1) {
        top: 0; }
      .nav-button-wrap .nav-button span:nth-of-type(2) {
        top: 8px; }
      .nav-button-wrap .nav-button span:nth-of-type(3) {
        bottom: 0; }
  .sp-menu-active .nav-button-wrap .nav-button span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    -ms-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg); }
  .sp-menu-active .nav-button-wrap .nav-button span:nth-of-type(2) {
    opacity: 0; }
  .sp-menu-active .nav-button-wrap .nav-button span:nth-of-type(3) {
    -webkit-transform: translateY(-6px) rotate(45deg);
    -ms-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg); }

.sp-menu-active .g-menu {
  opacity: 1;
  pointer-events: auto;
  height: auto;
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -webkit-transition-duration: .6s;
  -o-transition-duration: .6s;
  transition-duration: .6s;
  position: fixed;
  right: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.7);
  width: 300px;
  overflow-x: hidden;
  overflow-y: hidden;
  width: 300px;
  z-index: 2000;
  padding-top: 65px;
  padding-bottom: 60px; }

.sp-menu-active .g-menu {
  display: block; }
  .sp-menu-active .g-menu li {
    position: relative; }
    .sp-menu-active .g-menu li:not(:first-of-type) {
      border-top: solid 1px #DDDDDD; }
    .sp-menu-active .g-menu li a {
      display: block;
      font-style: normal;
      font-weight: 300;
      font-size: 2rem;
      color: #222222;
      line-height: 1.6;
      letter-spacing: 0.2em;
      padding: 23px 33px;
      color: #fff; }
      .sp-menu-active .g-menu li a:after {
        content: '';
        background-image: url(img/g-menu_sp-arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        width: 6px;
        height: 13px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 40px;
        left: inherit;
        background-color: inherit; }
    .sp-menu-active .g-menu li.dropdown-btn {
      cursor: pointer; }
    .sp-menu-active .g-menu li ul.dropdown {
      pointer-events: auto;
      opacity: 1;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      position: relative;
      width: 100%; }
      .sp-menu-active .g-menu li ul.dropdown li a {
        font-style: normal;
        font-weight: 300;
        font-size: 1.8rem;
        color: #222222;
        line-height: 1.5;
        letter-spacing: 0.1em;
        background: #DDDDDD;
        color: #222222;
        padding: 16px 33px; }
        .sp-menu-active .g-menu li ul.dropdown li a:after {
          background-image: url(img/g-menu-arrow.svg); }
      .sp-menu-active .g-menu li ul.dropdown li:not(:last-child) {
        border-bottom: solid 1px #999999; }
      .sp-menu-active .g-menu li ul.dropdown li:not(:last-child) {
        border-width: 0; }
      .sp-menu-active .g-menu li ul.dropdown li:not(:first-of-type) {
        border-width: 0; }
      .sp-menu-active .g-menu li ul.dropdown li a {
        visibility: hidden;
        line-height: 0;
        padding: 0;
        -webkit-transition: line-height 0.1 0.6s ease-out, opacity 0.1s ease-out, visibility 0.1s ease-out;
        -o-transition: line-height 0.1 0.6s ease-out, opacity 0.1s ease-out, visibility 0.1s ease-out;
        transition: line-height 0.1 0.6s ease-out, opacity 0.1s ease-out, visibility 0.1s ease-out; }
    .sp-menu-active .g-menu li.dropdown-btn.opne ul li {
      border-width: 1px; }
      .sp-menu-active .g-menu li.dropdown-btn.opne ul li a {
        line-height: 1.5;
        padding: 14px 33px;
        visibility: visible;
        -webkit-transition: padding 0.3s ease-out, line-height 0.3s ease-out, opacity 0.5s ease-out, visibility 2s ease-out;
        -o-transition: padding 0.3s ease-out, line-height 0.3s ease-out, opacity 0.5s ease-out, visibility 2s ease-out;
        transition: padding 0.3s ease-out, line-height 0.3s ease-out, opacity 0.5s ease-out, visibility 2s ease-out; }
  .sp-menu-active .g-menu .dropdown-btn > a {
    pointer-events: none; }
    .sp-menu-active .g-menu .dropdown-btn > a:after {
      display: none; }
  .sp-menu-active .g-menu .dropdown-btn:after {
    content: '';
    background-image: url(img/plus-square.svg);
    background-size: contain;
    background-repeat: no-repeat;
    width: 20px;
    height: 22px;
    position: absolute;
    top: 26px;
    right: 33px; }
  .sp-menu-active .g-menu .dropdown-btn.opne:after {
    background-image: url(img/minus-square.svg); }
  .sp-menu-active .g-menu li.ej-switch-area {
    padding: 23px 33px; }
    .sp-menu-active .g-menu li.ej-switch-area .ej-switch-flex {
      text-align: center; }
      .sp-menu-active .g-menu li.ej-switch-area .ej-switch-flex span {
        display: inline-block;
        padding: 0 1em;
        margin: 0;
        line-height: 1;
        color: #FFF; }
        .sp-menu-active .g-menu li.ej-switch-area .ej-switch-flex span a {
          color: #FFF; }
          .sp-menu-active .g-menu li.ej-switch-area .ej-switch-flex span a:after {
            content: none; }

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

HOME

----------------------*/
.page .s-home-mainslide-area {
  margin-top: 0;
  position:relative;
  overflow: hidden; }

.s-home-mainslide-area {
  height: 49.4791vw; }
  .s-home-mainslide-area .home-slide-catchcopy-wrapper {
    position: absolute;
    z-index: 500;
    margin: 0 auto;
    bottom: 2%;
    left: 50%;
    -webkit-transform: translateX(-40%);
    -ms-transform: translateX(-40%);
    transform: translateX(-40%); }
  .s-home-mainslide-area .home-slide-catchcopy {
    line-height: 0; }
    .s-home-mainslide-area .home-slide-catchcopy img {
      -webkit-filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5));
      filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5)); }

@media only screen and (max-width: 1200px) {
  .s-home-mainslide-area .home-slide-catchcopy-wrapper {
    width: 70%; } }

body.en .s-home-mainslide-area .home-slide-catchcopy-wrapper {
  width: 80%; }

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1.01);
    transform: scale(1.01); }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15); } }

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1.01);
    transform: scale(1.01); }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15); } }

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  -webkit-animation: zoomUp 10s linear 0s 1 normal both;
  animation: zoomUp 10s linear 0s 1 normal both; }

/*imgタグだと下に隙間ができるのでblockに*/
.slide-img img {
  display: block; }

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

実績紹介

---------------------*/
.s-home-works-aera {
  /* メディアTBコンテナサイズ */
  /* メディア
SPコンテナサイズ */ }
  .s-home-works-aera .worklist-body {
    margin-top: 56px; }
  .s-home-works-aera .worklist-cards-flex {
    margin-top: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .s-home-works-aera .worklist-cards-flex::before, .s-home-works-aera .worklist-cards-flex:after {
      content: '';
      display: block;
      width: calc((100% - 1.666% * 3) / 4); }
    .s-home-works-aera .worklist-cards-flex::before {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; }
    .s-home-works-aera .worklist-cards-flex .worklist-card {
      width: calc((100% - 1.666% * 3) / 4); }
      .s-home-works-aera .worklist-cards-flex .worklist-card:nth-of-type(n+5) {
        margin-top: 30px; }
      .s-home-works-aera .worklist-cards-flex .worklist-card a {
        display: block; }
      .s-home-works-aera .worklist-cards-flex .worklist-card .card-img {
        position: relative;
        overflow: hidden;
        width: 100%;
        padding-top: 63.2%; }
        .s-home-works-aera .worklist-cards-flex .worklist-card .card-img img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0;
          -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: -webkit-transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          -o-transition: transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1), -webkit-transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1); }
        .s-home-works-aera .worklist-cards-flex .worklist-card .card-img::after {
          content: "";
          display: block;
          width: 100%;
          height: 120%;
          background: #fff;
          position: absolute;
          top: 0;
          left: 0;
          z-index: 50;
          opacity: 0;
          -webkit-transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
          -o-transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
          transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
          transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1); }
        .s-home-works-aera .worklist-cards-flex .worklist-card .card-img .c-label {
          font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
          font-size: 1.3rem;
          color: #FFF;
          padding: 0.15em .8em;
          position: absolute;
          right: 0;
          bottom: 0;
          z-index: 80;
          -webkit-filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5)); }
      .s-home-works-aera .worklist-cards-flex .worklist-card:hover .card-img img {
        -webkit-transition-duration: 0.8s;
        -o-transition-duration: 0.8s;
        transition-duration: 0.8s;
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1);
        -webkit-transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
        transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
        -o-transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
        transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
        transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
        z-index: 1; }
      .s-home-works-aera .worklist-cards-flex .worklist-card:hover .card-img::after {
        opacity: 0.4; }
      .s-home-works-aera .worklist-cards-flex .worklist-card .card-body {
        margin-top: 8px; }
        .s-home-works-aera .worklist-cards-flex .worklist-card .card-body .card-title {
          font-style: normal;
          font-weight: 500;
          font-size: 1.6rem;
          color: #222222;
          line-height: 1.5;
          letter-spacing: 0em; }
        .s-home-works-aera .worklist-cards-flex .worklist-card .card-body .card-meta-set .category,
        .s-home-works-aera .worklist-cards-flex .worklist-card .card-body .card-meta-set .category-item {
          font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
          font-style: normal;
          font-weight: 300;
          font-size: 1.2rem;
          color: #999999;
          line-height: 2;
          letter-spacing: 0.08em;
          display: inline-block; }
        .s-home-works-aera .worklist-cards-flex .worklist-card .card-body .card-meta-set .category::after {
          content: "/";
          margin: 0 .3rem; }
  @media only screen and (max-width: 768px) {
    .s-home-works-aera .worklist-cards-flex {
      margin-top: 0px; }
      .s-home-works-aera .worklist-cards-flex .worklist-card {
        width: calc((100% - 1.666% * 1) / 2); }
        .s-home-works-aera .worklist-cards-flex .worklist-card:nth-of-type(n+3) {
          margin-top: 30px; } }
  @media only screen and (max-width: 480px) {
    .s-home-works-aera .worklist-cards-flex {
      display: block; }
      .s-home-works-aera .worklist-cards-flex .worklist-card {
        width: 100%; }
        .s-home-works-aera .worklist-cards-flex .worklist-card:nth-of-type(n+0) {
          margin-top: 30px; } }

.s-home-works-aera .home-works-button-area {
  margin-top: 60px;
  text-align: center; }
  .s-home-works-aera .home-works-button-area a {
    display: inline-block;
    padding: 15px 64px 15px 32px;
    border: solid 1px #DDDDDD;
    font-style: normal;
    font-weight: 600;
    font-size: 1.4rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.05em;
    position: relative;
    text-align: left;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
    .s-home-works-aera .home-works-button-area a .home-works-button-arrow {
      width: 10px;
      height: 1.4rem;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      right: 32px;
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s; }
    .s-home-works-aera .home-works-button-area a:hover {
      color: #888888;
      -webkit-box-shadow: 2px 8px 4px -6px #ddd;
      box-shadow: 2px 8px 4px -6px #ddd; }
      .s-home-works-aera .home-works-button-area a:hover .home-works-button-arrow {
        right: 25px; }
        .s-home-works-aera .home-works-button-area a:hover .home-works-button-arrow g path {
          stroke: #888888; }

/* メディアTBコンテナサイズ */
@media only screen and (max-width: 768px) {
  .s-home-works-aera .home-works-button-area {
    margin-top: 40px; } }

/* メディア
SPコンテナサイズ */
.s-home-news-area .home-news-content-container {
  max-width: 760px;
  margin: 0 auto; }

.s-home-news-area .home-news-body {
  margin-top: 70px;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
  .s-home-news-area .home-news-body .home-news-list-area .home-news-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 18px 0; }
    .s-home-news-area .home-news-body .home-news-list-area .home-news-list:not(:last-of-type) {
      border: dotted 1px #F2F2F2;
      border-width: 0 0 1px 0; }
    .s-home-news-area .home-news-body .home-news-list-area .home-news-list dt {
      margin: 0 3.9% 0 0; }
    .s-home-news-area .home-news-body .home-news-list-area .home-news-list .days {
      font-style: normal;
      font-weight: 300;
      font-size: 1.2rem;
      color: #666666;
      line-height: 2.4;
      letter-spacing: 0.05em; }
    .s-home-news-area .home-news-body .home-news-list-area .home-news-list dd a {
      font-style: normal;
      font-weight: 300;
      font-size: 1.6rem;
      color: #222222;
      line-height: 1.5;
      letter-spacing: 0.05em; }

.s-home-news-area .home-news-button-area {
  text-align: right; }
  .s-home-news-area .home-news-button-area a {
    display: inline-block;
    padding: 15px 30px 15px 15px;
    font-style: normal;
    font-weight: 500;
    font-size: 1.2rem;
    color: #222222;
    line-height: 1.333;
    letter-spacing: 0.05em;
    position: relative;
    text-align: left; }
    .s-home-news-area .home-news-button-area a::before, .s-home-news-area .home-news-button-area a::after {
      content: "";
      position: absolute;
      z-index: -1;
      -webkit-transition-property: width,
 background-color;
      -o-transition-property: width,
 background-color;
      transition-property: width,
 background-color;
      width: 0;
      height: 1px;
      background: #cccccc;
      -webkit-transition-duration: .3s;
      -o-transition-duration: .3s;
      transition-duration: .3s;
      -webkit-transition-timing-function: ease-in-out;
      -o-transition-timing-function: ease-in-out;
      transition-timing-function: ease-in-out;
      -webkit-transition-delay: 0s;
      -o-transition-delay: 0s;
      transition-delay: 0s; }
    .s-home-news-area .home-news-button-area a:before {
      left: 0;
      bottom: 8px; }
    .s-home-news-area .home-news-button-area a:after {
      right: 0;
      bottom: 0; }
    .s-home-news-area .home-news-button-area a:hover::before, .s-home-news-area .home-news-button-area a:hover::after {
      width: 100%; }
    .s-home-news-area .home-news-button-area a .home-news-button-arrow {
      width: 8.127px;
      height: 3.914px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      right: 10px;
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s; }
    .s-home-news-area .home-news-button-area a:hover {
      color: #888888; }
      .s-home-news-area .home-news-button-area a:hover .home-news-button-arrow {
        right: 2px; }
        .s-home-news-area .home-news-button-area a:hover .home-news-button-arrow path {
          fill: #888888; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  .s-home-news-area .home-news-body {
    margin-top: 27px; }
    .s-home-news-area .home-news-body .home-news-list-area .home-news-list {
      display: block;
      padding: 8px 0; } }

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

業務内容 //

-----------------------*/
.business-guide-top-area .business-guide-top-img {
  max-width: 780px;
  margin: 0 auto; }

.business-guide-top-area .business-guide-top-txt {
  margin-top: 90px;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: 0.05em;
  line-height: 1.7; }

/*企業理念
.s-corporat-philosophy {

    .corporat-philosophy-flex {
        margin-top: 54px; //66px
        display: flex;
        justify-content: space-between;
        align-items: center;

        .corporat-philosophy-subttl {
            //h3
            font-size: 2.8rem;
            font-weight: normal;
            letter-spacing: 0.05em;
            line-height: 1.6;
            margin-bottom: 30px;
        }

        .txt-area {

            width: 50%;

            p {
                @include ff-gothic;
                font-size: 1.6rem;
                font-weight: normal;
                letter-spacing: 0.05em;
                line-height: 2.375;

                &:not(:first-of-type) {
                    margin-top: 50px;
                }
            }
        }

        .l-corporat-philosophy-img {
            width: 45%;
            flex-shrink: 0;
        }
    }

    .corporat-philosophy-endtxt {
        @include ff-gothic;
        line-height: 2.3;
        margin-top: 47px;
    }
}

*/
/* メディア
SPコンテナサイズ
@media only screen and (max-width:960px) {
    .s-corporat-philosophy {


        .corporat-philosophy-flex {
            margin-top: 54px; //66px
            display: block;

            .corporat-philosophy-subttl {
                //h3
                font-size: 2.2rem;
            }

            .txt-area {
                margin-top: 10px;
                width: 100%;

                p {
                    @include ff-gothic;
                    line-height: 2.3;

                    &:not(:first-of-type) {
                        margin-top: 50px;
                    }
                }
            }

            .l-corporat-philosophy-img {
                margin-top: 50px;
                width: 100%;
            }
        }

        .corporat-philosophy-endtxt {}
    }
}
 */
.s-business-description {
  /* メディア
SPコンテナサイズ */
  /* メディア
SPコンテナサイズ */ }
  .s-business-description .business-description-firsttxt {
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 2.375;
    margin-top: 66px; }
  .s-business-description .business-description-cards-flex {
    margin-top: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .s-business-description .business-description-cards-flex .business-description-card {
      max-width: 260px;
      width: calc((100% - 9.375% * 2) / 3); }
      .s-business-description .business-description-cards-flex .business-description-card .card-body {
        margin-top: 18px;
        text-align: center; }
        .s-business-description .business-description-cards-flex .business-description-card .card-body .card-title {
          font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
          font-size: 1.8rem;
          font-weight: 600;
          letter-spacing: 0.01em;
          line-height: 2.11; }
  @media only screen and (max-width: 768px) {
    .s-business-description .business-description-cards-flex {
      margin-top: 50px;
      display: block; }
      .s-business-description .business-description-cards-flex .business-description-card {
        max-width: 260px;
        width: 100%;
        margin: 50px auto 0; }
        .s-business-description .business-description-cards-flex .business-description-card .card-body .card-title {
          font-size: 14px; } }
      @media only screen and (max-width: 768px) and (min-width: 320px) {
        .s-business-description .business-description-cards-flex .business-description-card .card-body .card-title {
          font-size: calc(0.446vw + 12.571px); } }
      @media only screen and (max-width: 768px) and (min-width: 768px) {
        .s-business-description .business-description-cards-flex .business-description-card .card-body .card-title {
          font-size: 16px; } }
  .s-business-description .l-business-description-underline {
    padding-bottom: 57px;
    /*※business-description-firsttxt以下部分が
            一時削除のため、下記CSSを無効化2020-07-22*/
    margin-top: 55px; }
    .s-business-description .l-business-description-underline:not(:last-of-type) {
      border-bottom: solid 1px #DDD; }
  .s-business-description .business-description-unit-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .s-business-description .business-description-unit-flex .ttl-area {
      width: 160px;
      margin-right: 40px;
      -ms-flex-negative: 0;
      flex-shrink: 0; }
      .s-business-description .business-description-unit-flex .ttl-area .name-ttl {
        font-size: 2.8rem;
        font-weight: 500;
        letter-spacing: 0.08em;
        line-height: 1.571; }
    .s-business-description .business-description-unit-flex .txt-area {
      max-width: 650px;
      font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
      .s-business-description .business-description-unit-flex .txt-area .main-txt {
        font-size: 1.6rem;
        letter-spacing: 0.05em;
        line-height: 2.375‬;
        text-indent: 1em; }
      .s-business-description .business-description-unit-flex .txt-area .details-area {
        margin-top: 40px;
        background-color: #FAFAFA;
        padding: 40px; }
        .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-ttl {
          font-size: 1.6rem;
          font-weight: 600;
          letter-spacing: 0.05em;
          line-height: 2.375; }
          .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-ttl::before {
            content: "●"; }
        .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list li {
          font-size: 1.4rem;
          letter-spacing: 0.032em;
          line-height: 1.3;
          margin-top: 1.3em;
          display: block;
          position: relative;
          padding-left: 1rem; }
          .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list li::before {
            content: "・";
            display: block;
            position: absolute;
            top: 0;
            left: 0; }
          .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list li.dateils-list-etc {
            text-align: right; }
            .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list li.dateils-list-etc::before {
              content: none; }
        .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list-02 li {
          font-size: 1.4rem;
          letter-spacing: 0.032em;
          line-height: 1.3;
          display: block;
          position: relative;
          padding-left: 1.8rem;
          margin-top: 2em; }
          .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list-02 li::before {
            content: "◯";
            display: block;
            position: absolute;
            top: 0;
            left: 0; }
          .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list-02 li ul li {
            position: relative;
            padding-left: .8em;
            margin-top: 1.3em; }
            .s-business-description .business-description-unit-flex .txt-area .details-area .dateils-list-02 li ul li::before {
              content: "・";
              display: block;
              position: absolute;
              top: 0;
              left: 0; }
  @media only screen and (max-width: 768px) {
    .s-business-description .business-description-unit-flex {
      display: block; }
      .s-business-description .business-description-unit-flex .ttl-area {
        width: 100%;
        text-align: center; }
        .s-business-description .business-description-unit-flex .ttl-area .name-ttl {
          font-size: 2.4rem; }
      .s-business-description .business-description-unit-flex .txt-area {
        max-width: 100%;
        margin-top: 50px; }
        .s-business-description .business-description-unit-flex .txt-area .details-area {
          padding: 15px 15px 25px; } }
  .s-business-description .l-business-description-buildingmaterial {
    margin-top: 98px; }

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

会社案内

-----------------------*/
.company-profile-dltable {
  margin-top: 70px;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
  .company-profile-dltable > div.dltable-set {
    margin-top: 54px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 40px;
    padding-bottom: 40px;
    border-bottom: solid 1px #DDD; }
    .company-profile-dltable > div.dltable-set > dt {
      width: 22%;
      font-size: 1.6rem;
      font-weight: 600;
      letter-spacing: 0.2em;
      line-height: 2; }
    .company-profile-dltable > div.dltable-set > dd {
      width: 77%;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      font-size: 1.6rem;
      font-weight: 300;
      letter-spacing: 0.032em;
      line-height: 2; }
      .company-profile-dltable > div.dltable-set > dd p span.no-date {
        display: none; }
      .company-profile-dltable > div.dltable-set > dd p .cta-tel {
        margin-left: -6px; }
  .company-profile-dltable .registration-list li {
    display: block;
    position: relative;
    padding-left: 1.5rem; }
    @media only screen and (max-width: 890px) {
      .company-profile-dltable .registration-list li .vpc {
        display: none; } }
    .company-profile-dltable .registration-list li::before {
      content: "・";
      display: block;
      position: absolute;
      top: 0;
      left: 0; }
  .company-profile-dltable .staff01 > p,
  .company-profile-dltable .staff02 > p {
    margin-left: 1.5rem; }

.company-profile-dltable.en > div.dltable-set > dd p {
  line-height: 1.8 !important; }

.company-profile-dltable.en .registration-list li {
  line-height: 1.8 !important; }

.company-profile-dltable.en .staff02 {
  margin-top: 1em; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  .company-profile-dltable > div.dltable-set {
    display: block;
    margin-top: 20px;
    padding-bottom: 20px; }
    .company-profile-dltable > div.dltable-set > dt {
      width: 100%; }
    .company-profile-dltable > div.dltable-set > dd {
      width: 100%; } }

.s-company-history .company-history-flex {
  margin-top: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .s-company-history .company-history-flex .company-history-chronological-area {
    width: 34.3%; }
    .s-company-history .company-history-flex .company-history-chronological-area .company-history-chronological {
      font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
      .s-company-history .company-history-flex .company-history-chronological-area .company-history-chronological .unit {
        position: relative;
        padding: 0 0 2em 1.8em; }
        .s-company-history .company-history-flex .company-history-chronological-area .company-history-chronological .unit:not(:last-of-type):before {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 7px;
          width: 1px;
          background: #F2F2F2; }
        .s-company-history .company-history-flex .company-history-chronological-area .company-history-chronological .unit::after {
          content: "";
          width: 24px;
          height: 24px;
          position: absolute;
          top: -6px;
          left: -4px;
          bottom: 0;
          right: 0;
          background: url("about/company-history-dotted.svg") no-repeat;
          background-size: 100% auto; }
        .s-company-history .company-history-flex .company-history-chronological-area .company-history-chronological .unit .date-day {
          font-size: 1.8rem;
          font-weight: 300;
          letter-spacing: 0.032em;
          line-height: 1; }
        .s-company-history .company-history-flex .company-history-chronological-area .company-history-chronological .unit .date-txt {
          margin-left: 1em;
          font-size: 1.6rem;
          font-weight: 300;
          letter-spacing: 0.1em;
          line-height: 3; }
  .s-company-history .company-history-flex .company-history-img-area {
    width: 62.5%;
    -ms-flex-negative: 0;
    flex-shrink: 0; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 960px) {
  .s-company-history .company-history-flex {
    margin-top: 35px;
    display: block; }
    .s-company-history .company-history-flex .company-history-chronological-area {
      width: 100%; }
    .s-company-history .company-history-flex .company-history-img-area {
      width: 100%; } }

.s-purpose-establishment .purpose-establishment-txt-area {
  margin-top: 70px;
  width: 100%; }
  .s-purpose-establishment .purpose-establishment-txt-area p {
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 2.375;
    text-indent: 1em; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 960px) {
  .s-purpose-establishment .purpose-establishment-txt-area {
    margin-top: 20px;
    width: 100%; } }

.s-representative-profile .l-section-ttl-area {
  margin-bottom: 0; }
  .s-representative-profile .l-section-ttl-area .ceo-name {
    font-size: 2.2rem;
    margin-top: 20px; }

.s-representative-profile .representative-profile-border {
  border: solid 1px #DDDDDD;
  padding: 6.25%; }

.s-representative-profile .representative-profile-flex {
  margin-top: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .s-representative-profile .representative-profile-flex .representative-profile-img-area {
    width: 290px;
    margin-right: 50px; }
  .s-representative-profile .representative-profile-flex .representative-profile-img-caption {
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.032em;
    line-height: 3;
    text-align: right; }
  .s-representative-profile .representative-profile-flex .representative-profile-txt-area {
    width: 60.11%;
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }

.s-representative-profile .representative-profile-chronological .unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .s-representative-profile .representative-profile-chronological .unit .date-year {
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.032em;
    line-height: 1.428;
    text-align: right;
    border-right: solid 1px #DDDDDD;
    padding-right: 20px; }
    .s-representative-profile .representative-profile-chronological .unit .date-year span {
      display: block; }
  .s-representative-profile .representative-profile-chronological .unit .date-txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 1.4rem;
    font-weight: 300;
    letter-spacing: 0.032em;
    line-height: 1.7142;
    display: block;
    text-align: left;
    padding-left: 20px;
    padding-bottom: 3em; }
    .s-representative-profile .representative-profile-chronological .unit .date-txt .date-txt-ttl {
      margin-top: 1rem;
      font-weight: bold; }
      .s-representative-profile .representative-profile-chronological .unit .date-txt .date-txt-ttl.mt2em {
        margin-top: 3rem; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  .s-representative-profile .representative-profile-flex {
    margin-top: 35px;
    display: block; }
    .s-representative-profile .representative-profile-flex .representative-profile-img-area {
      width: 80%;
      margin: 20px auto; }
    .s-representative-profile .representative-profile-flex .representative-profile-txt-area {
      width: 100%; } }

.s-company-awards .company-awards-table {
  margin-top: 70px;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  width: 100%;
  border: none; }
  .s-company-awards .company-awards-table tr:not(:first-of-type) {
    background: #FAFAFA;
    border-top: 1px solid #DDDDDD; }
  .s-company-awards .company-awards-table tr:nth-of-type(odd) {
    background: #fff; }
  .s-company-awards .company-awards-table tr th,
  .s-company-awards .company-awards-table tr td {
    padding: 23px 20px; }
  .s-company-awards .company-awards-table tr th {
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    line-height: 1.428; }
    .s-company-awards .company-awards-table tr th:last-of-type {
      letter-spacing: 0.08em;
      padding: 23px 15px; }
  .s-company-awards .company-awards-table tr td {
    font-size: 1.4rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 1.428; }

.s-company-awards.en .company-awards-table tr td:first-child {
  font-weight: bold; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  .s-company-awards .company-awards-table {
    margin-top: 35px; }
    .s-company-awards .company-awards-table col {
      width: 100%; }
    .s-company-awards .company-awards-table tr th,
    .s-company-awards .company-awards-table tr td {
      display: inline-block;
      padding: 20px 10px;
      width: 100%; }
      .s-company-awards .company-awards-table tr th:nth-of-type(1),
      .s-company-awards .company-awards-table tr td:nth-of-type(1) {
        display: block;
        font-size: 1.2rem;
        padding: 20px 20px 8px 20px; }
      .s-company-awards .company-awards-table tr th:nth-of-type(2),
      .s-company-awards .company-awards-table tr td:nth-of-type(2) {
        display: block;
        font-size: 1.4rem;
        font-weight: 600;
        padding: 0 20px 8px 20px; }
      .s-company-awards .company-awards-table tr th:nth-of-type(3),
      .s-company-awards .company-awards-table tr td:nth-of-type(3) {
        display: block;
        font-size: 1.2rem;
        font-weight: 300;
        padding: 0 20px 8px 20px; }
      .s-company-awards .company-awards-table tr th:nth-of-type(4),
      .s-company-awards .company-awards-table tr td:nth-of-type(4) {
        display: block;
        font-size: 1.2rem;
        font-weight: 300;
        padding: 0 20px 8px 20px; }
    .s-company-awards .company-awards-table tr th:nth-of-type(3), .s-company-awards .company-awards-table tr th:nth-of-type(4) {
      font-weight: 600; } }

@media only screen and (max-width: 768px) {
  .table-scroll {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-x: scroll; } }

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

実績

-----------------------*/
.l-works-index-area {
  margin-top: 60px; }
  .l-works-index-area .works-index-list {
    max-width: 820px;
    margin: 0 auto; }
    .l-works-index-area .works-index-list > li {
      background-color: #FAFAFA;
      overflow: hidden;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .l-works-index-area .works-index-list > li .en-ttl {
        display: block;
        margin-top: 3px;
        font-style: normal;
        font-weight: 500;
        font-size: 1.2rem;
        color: #2e2e2e;
        line-height: 1.6;
        letter-spacing: -0.01em; }
      .l-works-index-area .works-index-list > li > a {
        font-style: normal;
        font-weight: 500;
        font-size: 1.6rem;
        color: #222222;
        line-height: 1.5;
        letter-spacing: -0.05em;
        padding: 16px 22px;
        border: solid 1px #F2F2F2;
        background-color: #fff;
        width: 210px;
        display: block;
        position: relative;
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s; }
        .l-works-index-area .works-index-list > li > a::before, .l-works-index-area .works-index-list > li > a:after {
          content: "";
          position: absolute;
          width: 0;
          height: 0;
          margin: auto; }
        .l-works-index-area .works-index-list > li > a:before {
          top: 0px;
          right: -28px;
          border-style: solid;
          border-width: 49px 0 49px 28px;
          border-color: transparent transparent transparent #F2F2F2;
          z-index: 10; }
        .l-works-index-area .works-index-list > li > a:after {
          top: 0px;
          right: -27px;
          border-style: solid;
          border-width: 49px 0 49px 28px;
          border-color: transparent transparent transparent #ffffff;
          z-index: 10;
          -webkit-transition: .3s;
          -o-transition: .3s;
          transition: .3s; }
        .l-works-index-area .works-index-list > li > a:hover {
          color: #888888;
          background: #fff8f8; }
          .l-works-index-area .works-index-list > li > a:hover:after {
            border-color: transparent transparent transparent #fff8f8; }
      .l-works-index-area .works-index-list > li:not(:first-child) {
        margin-top: 4px; }
      .l-works-index-area .works-index-list > li.architectural-conservation > a:before {
        border-width: 40px 0 40px 28px; }
      .l-works-index-area .works-index-list > li.architectural-conservation > a:after {
        border-width: 40px 0 40px 28px; }
      .l-works-index-area .works-index-list > li div {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
      .l-works-index-area .works-index-list > li ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: 40px; }
        .l-works-index-area .works-index-list > li ul li a {
          font-style: normal;
          font-weight: 500;
          font-size: 1.4rem;
          color: #222222;
          line-height: 1;
          letter-spacing: 0.05em;
          border: none;
          background-color: inherit;
          min-width: auto;
          display: inline-block;
          padding: 1px 0.5em;
          -webkit-transition: .3s;
          -o-transition: .3s;
          transition: .3s;
          margin: 6px 0; }
          .l-works-index-area .works-index-list > li ul li a:before, .l-works-index-area .works-index-list > li ul li a:after {
            content: none; }
          .l-works-index-area .works-index-list > li ul li a:hover {
            color: #888888;
            -webkit-box-shadow: 2px 8px 4px -6px #ddd;
            box-shadow: 2px 8px 4px -6px #ddd; }
          .l-works-index-area .works-index-list > li ul li a:first-child {
            padding: 1px 0.5em 1px 0; }
        .l-works-index-area .works-index-list > li ul li:not(:first-child) {
          margin-top: 0; }
        .l-works-index-area .works-index-list > li ul li:not(:first-child)::before {
          content: "/";
          padding: 0 0.5em; }
        .l-works-index-area .works-index-list > li ul.en {
          margin-top: 3px; }
          .l-works-index-area .works-index-list > li ul.en li {
            margin-top: -3px; }
            .l-works-index-area .works-index-list > li ul.en li a {
              font-style: normal;
              font-weight: 300;
              font-size: 1.2rem;
              color: #2e2e2e;
              line-height: 1;
              letter-spacing: 0.05em;
              padding: 1px 0.3em; }
            .l-works-index-area .works-index-list > li ul.en li:not(:first-child)::before {
              content: "/";
              padding: 0 0.3em;
              font-size: 1.2rem; }

/* メディア
TDコンテナサイズ */
@media only screen and (max-width: 900px) {
  .l-works-index-area .works-index-list {
    max-width: inherit; }
    .l-works-index-area .works-index-list li {
      display: block;
      background-color: inherit;
      margin-bottom: 20px; }
      .l-works-index-area .works-index-list li a {
        font-weight: bold;
        max-width: 10rem;
        background-color: #FAFAFA;
        min-width: 100%; }
        .l-works-index-area .works-index-list li a:after {
          border-color: transparent transparent transparent #FAFAFA; }
        .l-works-index-area .works-index-list li a:before, .l-works-index-area .works-index-list li a:after {
          content: none; }
      .l-works-index-area .works-index-list li > div {
        margin: 0 12px; }
      .l-works-index-area .works-index-list li ul {
        margin-top: 10px;
        margin-left: 10px;
        margin-right: 10px; }
        .l-works-index-area .works-index-list li ul li {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          border: none;
          margin-bottom: 0; }
          .l-works-index-area .works-index-list li ul li a {
            max-width: inherit;
            background-color: none; } }

.works-index-dl_button-area {
  margin-top: 40px; }
  .works-index-dl_button-area a {
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    max-width: 396px;
    margin: 0 auto;
    display: block;
    border: solid 1px #DDD;
    border-radius: 4px;
    padding: 14px 30px 14px 60px;
    position: relative;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s; }
    .works-index-dl_button-area a span {
      font-style: normal;
      font-weight: 300;
      font-size: 1.2rem;
      color: #999;
      line-height: 1;
      letter-spacing: 0em;
      display: block; }
    .works-index-dl_button-area a:before, .works-index-dl_button-area a:after {
      content: '';
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      background-size: contain;
      background-repeat: no-repeat; }
    .works-index-dl_button-area a:before {
      background-image: url(works/pdf-icon.svg);
      width: 31px;
      height: 42px;
      left: 15px; }
    .works-index-dl_button-area a::after {
      background-image: url(works/dl-icon.svg);
      width: 21px;
      height: 21px;
      right: 15px; }
    .works-index-dl_button-area a:hover {
      color: #888888;
      -webkit-box-shadow: 2px 8px 4px -6px #ddd;
      box-shadow: 2px 8px 4px -6px #ddd; }

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

実績紹介

----------------------*/
.s-works_index-list-area {
  /* メディアTBコンテナサイズ */
  /* メディア
SPコンテナサイズ */ }
  .s-works_index-list-area .worklist-body {
    margin-top: 56px; }
  .s-works_index-list-area .worklist-cards-flex {
    margin-top: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .s-works_index-list-area .worklist-cards-flex::before, .s-works_index-list-area .worklist-cards-flex:after {
      content: '';
      display: block;
      width: calc((100% - 1.666% * 3) / 4); }
    .s-works_index-list-area .worklist-cards-flex::before {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
      order: 1; }
    .s-works_index-list-area .worklist-cards-flex .worklist-card {
      width: calc((100% - 1.666% * 3) / 4); }
      .s-works_index-list-area .worklist-cards-flex .worklist-card:nth-of-type(n+5) {
        margin-top: 50px; }
      .s-works_index-list-area .worklist-cards-flex .worklist-card a {
        display: block; }
      .s-works_index-list-area .worklist-cards-flex .worklist-card .card-img {
        position: relative;
        overflow: hidden;
        width: 100%;
        padding-top: 63.2%; }
        .s-works_index-list-area .worklist-cards-flex .worklist-card .card-img img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0;
          -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: -webkit-transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          -o-transition: transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1), -webkit-transform 1.6s cubic-bezier(0.08, 0.43, 0.24, 1); }
        .s-works_index-list-area .worklist-cards-flex .worklist-card .card-img::after {
          content: "";
          display: block;
          width: 100%;
          height: 120%;
          background: #fff;
          position: absolute;
          top: 0;
          left: 0;
          z-index: 50;
          opacity: 0;
          -webkit-transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
          transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
          -o-transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
          transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
          transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1); }
        .s-works_index-list-area .worklist-cards-flex .worklist-card .card-img .c-label {
          font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
          font-size: 1.3rem;
          color: #FFF;
          padding: 0.15em .8em;
          position: absolute;
          right: 0;
          bottom: 0;
          z-index: 80;
          -webkit-filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5)); }
      .s-works_index-list-area .worklist-cards-flex .worklist-card:hover .card-img img {
        -webkit-transition-duration: 0.8s;
        -o-transition-duration: 0.8s;
        transition-duration: 0.8s;
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1);
        -webkit-transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
        transition: opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
        -o-transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
        transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s;
        transition: transform 2s cubic-bezier(0.08, 0.43, 0.24, 1), opacity 0.8s, -webkit-transform 2s cubic-bezier(0.08, 0.43, 0.24, 1);
        z-index: 1; }
      .s-works_index-list-area .worklist-cards-flex .worklist-card:hover .card-img::after {
        opacity: 0.4; }
      .s-works_index-list-area .worklist-cards-flex .worklist-card .card-body {
        margin-top: 8px; }
        .s-works_index-list-area .worklist-cards-flex .worklist-card .card-body .card-title {
          font-style: normal;
          font-weight: 500;
          font-size: 1.6rem;
          color: #222222;
          line-height: 1.5;
          letter-spacing: 0em; }
          .s-works_index-list-area .worklist-cards-flex .worklist-card .card-body .card-title.en {
            font-family: arial,
 sans-serif;
            line-height: 1.6 !important;
            letter-spacing: normal !important;
            font-style: normal;
            font-weight: 300;
            font-size: 1.4rem;
            color: #999999;
            line-height: 1.285;
            letter-spacing: 0.03em !important; }
        .s-works_index-list-area .worklist-cards-flex .worklist-card .card-body .card-meta-set {
          margin-top: 10px; }
          .s-works_index-list-area .worklist-cards-flex .worklist-card .card-body .card-meta-set .category {
            font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
            font-style: normal;
            font-weight: 300;
            font-size: 1.2rem;
            color: #222222;
            line-height: 2;
            letter-spacing: 0.08em; }
            .s-works_index-list-area .worklist-cards-flex .worklist-card .card-body .card-meta-set .category.en {
              font-family: arial,
 sans-serif;
              line-height: 1.6 !important;
              letter-spacing: normal !important;
              font-style: normal;
              font-weight: 300;
              font-size: 1.4rem;
              color: #999999;
              line-height: 1.3;
              letter-spacing: 0.03em !important; }
  @media only screen and (max-width: 1200px) {
    .s-works_index-list-area .worklist-cards-flex {
      margin-top: 0px; }
      .s-works_index-list-area .worklist-cards-flex .worklist-card {
        width: calc((100% - 1.666% * 1) / 2); }
        .s-works_index-list-area .worklist-cards-flex .worklist-card:nth-of-type(n+3) {
          margin-top: 50px; } }
  @media only screen and (max-width: 480px) {
    .s-works_index-list-area .worklist-cards-flex {
      display: block; }
      .s-works_index-list-area .worklist-cards-flex .worklist-card {
        width: 100%; }
        .s-works_index-list-area .worklist-cards-flex .worklist-card:nth-of-type(n+0) {
          margin-top: 30px; } }

.works_index-area {
  margin-top: 153px; }
  .works_index-area:first-of-type section {
    margin-top: 0; }

.s-works_index-list-area .worklist-body {
  margin-top: 56px; }

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

実績詳細 _works-details.scss

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

４つのページタイトルに英文を追加

-----------------------*/
.works-details .l-page-ttl-area .page-ttl:after {
  content: '';
  font-style: normal;
  font-weight: 300;
  font-size: 2rem;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.1em;
  display: block; }

.works-details.w-01 .l-page-ttl-area .page-ttl:after {
  content: 'Architectural Conservation'; }

.works-details.w-02 .l-page-ttl-area .page-ttl:after {
  content: 'Historic Sites and Sites of Scenic Beauty'; }

.works-details.w-03 .l-page-ttl-area .page-ttl:after {
  content: 'World Heritage and International Cooperation'; }

.works-details.w-04 .l-page-ttl-area .page-ttl:after {
  content: 'Cultural Property and Community Planning'; }

/* メディアTBコンテナサイズ */
@media only screen and (max-width: 768px) {
  .works-details .l-page-ttl-area .page-ttl:after {
    margin-top: 10px;
    font-size: 1.4rem; } }

.works_index-area {
  margin-top: 150px; }

.works_details-area {
  padding-bottom: 100px; }

.work-details-wrapper {
  margin-top: 56px; }

.s-works_details-area .section-ttl {
  font-style: normal;
  font-weight: 500;
  font-size: 3.2rem;
  color: #222222;
  line-height: 1.6;
  letter-spacing: 0.3em;
  text-indent: 0.3em; }
  .s-works_details-area .section-ttl .section-ttl-en {
    font-family: arial,
 sans-serif;
    line-height: 1.6 !important;
    letter-spacing: normal !important;
    display: block;
    margin-top: 10px;
    font-style: normal;
    font-weight: 300;
    font-size: 1.6rem;
    color: #222222;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-indent: 0em; }

.work-details-card {
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
  .work-details-card:not(:first-of-type) {
    margin-top: 180px; }
  .work-details-card .details-img-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .work-details-card .details-img-flex a {
      display: block;
      width: calc((100% - 3.125% * 1) / 2); }
      .work-details-card .details-img-flex a .card-img {
        position: relative;
        overflow: hidden;
        width: 100%;
        padding-top: 68.81%; }
        .work-details-card .details-img-flex a .card-img img {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          position: absolute;
          top: 0;
          left: 0; }
        .work-details-card .details-img-flex a .card-img .c-label {
          font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
          font-size: 1.3rem;
          color: #FFF;
          padding: 0.15em .8em;
          position: absolute;
          right: 0;
          bottom: 0;
          z-index: 80;
          -webkit-filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.5)); }
  .work-details-card .card-body {
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    max-width: 880px;
    margin: 0 auto; }
    .work-details-card .card-body .card-title {
      margin-top: 35px;
      font-style: normal;
      font-weight: 300;
      font-size: 2.4rem;
      color: #7e7d7d;
      line-height: 1.6;
      letter-spacing: 0.032em; }
      .work-details-card .card-body .card-title::after {
        content: "";
        display: block;
        border-bottom: 1px solid #999999;
        margin: 10px -50px 20px;
        padding: 0 50px; }
    .work-details-card .card-body .category-item {
      margin-top: 10px;
      font-style: normal;
      font-weight: 300;
      font-size: 1.2rem;
      color: #999999;
      line-height: 2.666;
      letter-spacing: 0.05em;
      border: 1px solid #999999;
      padding: 2.5px 8px;
      border-radius: 2px;
      display: inline-block; }
    .work-details-card .card-body .card-meta-set {
      margin-top: 24px; }
      .work-details-card .card-body .card-meta-set div {
        display: block;
        font-style: normal;
        font-weight: 300;
        font-size: 1.2rem;
        color: #222222;
        line-height: 2;
        letter-spacing: 0.05em; }
        .work-details-card .card-body .card-meta-set div dt {
          font-weight: 700;
          display: inline-block; }
        .work-details-card .card-body .card-meta-set div dd {
          display: inline-block; }
    .work-details-card .card-body .txt {
      margin-top: 24px;
      font-style: normal;
      font-weight: 300;
      font-size: 1.6rem;
      color: #222222;
      line-height: 2;
      letter-spacing: 0.05em; }
      .work-details-card .card-body .txt p:not(.txt-ttl) + p {
        margin-top: 1.6em; }
      .work-details-card .card-body .txt ul li {
        display: block;
        position: relative;
        padding-left: 1.5rem; }
        .work-details-card .card-body .txt ul li::before {
          content: "・";
          display: block;
          position: absolute;
          top: 0;
          left: 0; }
      .work-details-card .card-body .txt .txt-ttl {
        font-weight: 700; }
        .work-details-card .card-body .txt .txt-ttl:not(:first-of-type) {
          margin-top: 1em; }
    .work-details-card .card-body .en-set {
      font-family: arial,
 sans-serif;
      line-height: 1.6 !important;
      letter-spacing: normal !important; }
      .work-details-card .card-body .en-set .card-meta-set {
        margin-top: 24px; }
        .work-details-card .card-body .en-set .card-meta-set div {
          display: block;
          font-style: normal;
          font-weight: 300;
          font-size: 1.2rem;
          color: #222222;
          line-height: 2;
          letter-spacing: 0.05em; }
          .work-details-card .card-body .en-set .card-meta-set div dt {
            font-weight: 700;
            display: inline-block;
            vertical-align: top; }
          .work-details-card .card-body .en-set .card-meta-set div dd {
            display: inline-block;
            vertical-align: top; }

/* メディア
TDコンテナサイズ */
/*--------------------

privacypolicy

----------------------*/
@media only screen and (max-width: 768px) {
  .privacypolicy .page-ttl {
    letter-spacing: 0.02em; } }

.page .s-pprivacypolicy-first-infoarea {
  margin-top: 60px;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
  .page .s-pprivacypolicy-first-infoarea .privacypolicy-first-info {
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.032em;
    line-height: 2; }

.page .s-privacypolicy-about-area {
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  margin-top: 60px; }
  .page .s-privacypolicy-about-area h2 {
    margin-top: 75px;
    font-style: normal;
    font-weight: 300;
    font-size: 2.8rem;
    color: #222222;
    line-height: 1.714;
    letter-spacing: 0.032em; }
  .page .s-privacypolicy-about-area p {
    margin-top: 36px;
    font-style: normal;
    font-weight: 300;
    font-size: 1.6rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.032em; }
  .page .s-privacypolicy-about-area ul,
  .page .s-privacypolicy-about-area ol {
    margin-top: 50px;
    font-style: normal;
    font-weight: 300;
    font-size: 1.6rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.032em; }
    .page .s-privacypolicy-about-area ul li,
    .page .s-privacypolicy-about-area ol li {
      margin-left: 1.2em; }
      .page .s-privacypolicy-about-area ul li ul,
      .page .s-privacypolicy-about-area ul li ol,
      .page .s-privacypolicy-about-area ol li ul,
      .page .s-privacypolicy-about-area ol li ol {
        margin-bottom: 40px;
        margin-left: 6.25%; }
        .page .s-privacypolicy-about-area ul li ul ul,
        .page .s-privacypolicy-about-area ul li ul ol,
        .page .s-privacypolicy-about-area ul li ol ul,
        .page .s-privacypolicy-about-area ul li ol ol,
        .page .s-privacypolicy-about-area ol li ul ul,
        .page .s-privacypolicy-about-area ol li ul ol,
        .page .s-privacypolicy-about-area ol li ol ul,
        .page .s-privacypolicy-about-area ol li ol ol {
          margin-bottom: 40px;
          margin-left: 12.5%; }
  .page .s-privacypolicy-about-area .policy-info-area {
    margin-top: 2em; }
    .page .s-privacypolicy-about-area .policy-info-area p {
      margin-top: 0; }

@media only screen and (max-width: 768px) {
  .page .s-privacypolicy-about-area h2 {
    margin-top: 75px;
    font-style: normal;
    font-weight: 300;
    font-size: 2rem;
    color: #222222;
    line-height: 1.714;
    letter-spacing: 0.032em; }
  .page .s-privacypolicy-about-area p {
    margin-top: 18px;
    font-style: normal;
    font-weight: 300;
    font-size: 1.4rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.032em; }
  .page .s-privacypolicy-about-area ul,
  .page .s-privacypolicy-about-area ol {
    margin-top: 30px;
    font-style: normal;
    font-weight: 300;
    font-size: 1.4rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.032em; }
    .page .s-privacypolicy-about-area ul li,
    .page .s-privacypolicy-about-area ol li {
      margin-left: 1.2em; }
      .page .s-privacypolicy-about-area ul li ul,
      .page .s-privacypolicy-about-area ul li ol,
      .page .s-privacypolicy-about-area ol li ul,
      .page .s-privacypolicy-about-area ol li ol {
        margin-bottom: 20px;
        margin-left: 0;
        padding-left: 1.5em;
        border-left: solid 2px #ddd; }
        .page .s-privacypolicy-about-area ul li ul ul,
        .page .s-privacypolicy-about-area ul li ul ol,
        .page .s-privacypolicy-about-area ul li ol ul,
        .page .s-privacypolicy-about-area ul li ol ol,
        .page .s-privacypolicy-about-area ol li ul ul,
        .page .s-privacypolicy-about-area ol li ul ol,
        .page .s-privacypolicy-about-area ol li ol ul,
        .page .s-privacypolicy-about-area ol li ol ol {
          margin-bottom: 20px;
          margin-left: 1em;
          padding: 20px 0;
          border: solid 1px #ddd;
          border-width: 1px 0; } }

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

お問合せ

-----------------------*/
input[type="button"],
input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0; }

input[type="text"],
input[type="tel"],
input[type="email"] {
  -webkit-appearance: none; }

.s-contact-future {
  margin-top: 30px;
  text-align: center; }
  .s-contact-future .l-contact-future .contact-future-ttl {
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: 0.032em;
    line-height: 1.3; }
  .s-contact-future .l-contact-future .contact-future-ttl-sub {
    margin-top: 56px;
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 2.375; }
  .s-contact-future .contact-future-telfax-area {
    max-width: 600px;
    margin-top: 60px;
    margin: 60px auto 0; }
  .s-contact-future .contact-future-telfax-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .s-contact-future .contact-future-telfax-flex li {
      font-size: 3.2rem;
      font-weight: 500;
      letter-spacing: 0.02em;
      line-height: 0.968; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  .s-contact-future {
    margin-top: 60px; }
    .s-contact-future .l-contact-future {
      text-align: center; }
      .s-contact-future .l-contact-future .contact-future-ttl {
        font-size: 2.8rem; }
      .s-contact-future .l-contact-future .contact-future-ttl-sub {
        margin-top: 25px;
        font-size: 1.4rem;
        letter-spacing: 0.05em;
        line-height: 2; }
    .s-contact-future .contact-future-telfax-flex {
      display: block;
      text-align: center; }
      .s-contact-future .contact-future-telfax-flex li {
        margin-top: 40px; } }

.contact-form-area {
  margin-top: 160px; }

.contact-form-ttl-area {
  text-align: center; }
  .contact-form-ttl-area .contact-form-ttl {
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.333; }
  .contact-form-ttl-area .contact-form-ttl-info {
    margin-top: 60px;
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 2.375; }

.contact-form-requiedmark {
  margin-top: 30px;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  font-size: 1.2rem;
  font-weight: 300;
  letter-spacing: 0.032em;
  line-height: 2.666;
  color: #FF7643; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  section.contact-form-area {
    margin-top: 100px; }
  .contact-form-ttl-area .contact-form-ttl-info {
    margin-top: 25px;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 2; }
  .contact-form-requiedmark {
    margin-top: 20px; } }

/* Contact Form 7のテーブル化レスポンシブ調整 */
.table-res-form {
  width: 100%;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
  .table-res-form tr:first-child {
    border-top: none; }
  .table-res-form th,
  .table-res-form td {
    padding: 30px 8px;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.032em;
    line-height: 2; }
  .table-res-form th {
    width: 170px; }
  .table-res-form tr.form-textarea-tr th {
    vertical-align: top; }
  .table-res-form .requied {
    font-size: 0.8em;
    color: #fff;
    display: inline-block;
    padding: 0.3em 0 0.2em;
    color: #FF7643; }
  .table-res-form input[type="text"],
  .table-res-form input[type="tel"],
  .table-res-form input[type="email"],
  .table-res-form textarea {
    border: 1px #999999 solid;
    padding: 0.6em;
    border-radius: 0px;
    margin-bottom: 0.5em;
    width: 100%;
    max-width: 590px; }
    .table-res-form input[type="text"]:focus,
    .table-res-form input[type="tel"]:focus,
    .table-res-form input[type="email"]:focus,
    .table-res-form textarea:focus {
      background: #FAFAFA;
      -webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
      box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5); }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  .table-res-form th,
  .table-res-form td {
    width: 100%;
    display: block;
    padding: 15px 8px; }
  .table-res-form th {
    padding-bottom: 0;
    text-align: left; }
  .table-res-form .empty {
    display: none; } }

.contact-agreement-area {
  padding: 6.25%;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  border: solid #FAFAFA 6px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .contact-agreement-area .contact-agreement-ttl {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.9; }
  .contact-agreement-area .contact-agreement-txt {
    margin-top: 30px;
    font-size: 1.2rem;
    font-weight: 300;
    letter-spacing: 0.032em;
    line-height: 2; }
  .contact-agreement-area .form_personal_check-row {
    margin-top: 30px;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.032em;
    line-height: 2; }
    .contact-agreement-area .form_personal_check-row span.wpcf7-list-item {
      margin-left: 0; }

input[type="checkbox"] {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  transform-origin: bottom left; }

.contact-form-area .wpcf7c-elm-step1,
.contact-form-area .wpcf7c-elm-step2-button-flex {
  margin-top: 100px; }

.contact-form-area .o-cf-confirm {
  width: 240px;
  margin: 0 auto;
  position: relative; }

.contact-form-area input[type="submit"],
.contact-form-area input[type="button"] {
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  cursor: pointer;
  display: block;
  width: 295px;
  padding: 13px;
  height: 100%;
  text-align: center;
  color: #fff;
  background-color: #222222;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.032em;
  line-height: 2; }

.contact-form-area input[type="button"] {
  background-color: #7d7c7c; }

.contact-form-area .wpcf7c-conf {
  background-color: #f4f4f4; }

.contact-form-area .wpcf7c-elm-step2-button-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .contact-form-area .wpcf7c-elm-step2-button-flex > div:first-child {
    margin-right: 10%; }

/* メディア
SPコンテナサイズ */
@media only screen and (max-width: 768px) {
  .contact-form-area .wpcf7c-elm-step1,
  .contact-form-area .wpcf7c-elm-step2-button-flex {
    margin-top: 50px; }
  .contact-form-area input[type="submit"],
  .contact-form-area input[type="button"] {
    width: 100%;
    font-size: calc(2.4rem / 1.5);
    min-width: 150px; } }

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

お問合せ完了ページ

-----------------------*/
.contact-thanks-container {
  max-width: 840px;
  width: auto;
  margin: 0 auto;
  padding: 0 20px 70px;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .contact-thanks-container {
      width: 100%; } }

.contact-thanks-ttl-area {
  margin-top: 95px; }
  .contact-thanks-ttl-area .contact-thanks-ttl {
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.75; }

.contact-thanks-txt-area {
  margin-top: 53px; }
  .contact-thanks-txt-area p {
    font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
    font-size: 1.6rem;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 2.375; }
    .contact-thanks-txt-area p:not(:first-of-type) {
      margin-top: 45px; }

.contact-thanks-tel-area {
  margin-top: 53px;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.032; }

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

BlOG

----------------------*/
.page section.blog-wrap {
  margin-top: 60px; }

.blog-wrap {
  position: relative; }
  .blog-wrap:after {
    clear: both;
    content: "";
    display: table; }

.blog-main {
  float: left;
  width: 70%;
  padding-top: 0;
  margin-bottom: 0; }

.blog-sidebar-area {
  float: right;
  overflow: auto;
  width: 25%; }

/*SP*/
@media only screen and (max-width: 768px) {
  .blog-wrap {
    margin-top: 80px;
    margin-bottom: 80px; }
    .blog-wrap .blog-main {
      float: none;
      max-width: 100%;
      width: 100%;
      margin-left: 0; }
    .blog-wrap .blog-sidebar-area {
      float: none;
      width: 100%;
      margin-left: 0; }
  #news-list .blog-main,
  .archives .blog-main {
    margin-top: 0; } }

.blog-news-list-area {
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }

.post-warp:not(:first-of-type) {
  margin-top: 160px; }

@media only screen and (max-width: 768px) {
  .post-warp:not(:first-of-type) {
    margin-top: 70px; } }

.post-header-area .post-info-list .post-metas {
  margin-top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }
  .post-header-area .post-info-list .post-metas .day {
    font-style: normal;
    font-weight: 300;
    font-size: 1.6rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.032em;
    margin-right: 30px; }
  .post-header-area .post-info-list .post-metas .cat-name {
    font-style: normal;
    font-weight: 600;
    font-size: 1.2rem;
    color: #999999;
    line-height: 3.166;
    letter-spacing: 0.05em;
    padding: 0 1em;
    border: solid 1px #999999;
    border-radius: 2px; }

.blog-news-list-area .post-ttl {
  margin-top: 20px;
  font-style: normal;
  font-weight: 600;
  font-size: 2.8rem;
  color: #222222;
  line-height: 1.7142;
  letter-spacing: 0.05em; }

.blog-news-list-area .post-body {
  margin-top: 26px;
  font-style: normal;
  font-weight: 300;
  font-size: 1.6rem;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.05em; }
  .blog-news-list-area .post-body h2 {
    font-style: normal;
    font-weight: 600;
    font-size: 2.4rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.05em;
    margin-top: 100px; }
  .blog-news-list-area .post-body h3 {
    font-style: normal;
    font-weight: 600;
    font-size: 2.2rem;
    color: #222222;
    line-height: 2.1818;
    letter-spacing: 0.05em;
    margin-top: 100px; }
  .blog-news-list-area .post-body > p {
    font-style: normal;
    font-weight: 300;
    font-size: 1.6rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.05em; }
    .blog-news-list-area .post-body > p:not(:first-of-type) {
      margin-top: 30px; }
  .blog-news-list-area .post-body ul li {
    font-style: normal;
    font-weight: 300;
    font-size: 1.6rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.05em;
    display: block;
    position: relative;
    padding-left: 1.5rem; }
    .blog-news-list-area .post-body ul li::before {
      content: "・";
      display: block;
      position: absolute;
      top: 0;
      left: 0; }
  .blog-news-list-area .post-body a {
    text-decoration: underline; }
  .blog-news-list-area .post-body table {
    width: 100%;
    border: none; }
    .blog-news-list-area .post-body table tr td,
    .blog-news-list-area .post-body table tr th {
      padding: 1.6rem;
      border: 1px solid #DDD; }
  .blog-news-list-area .post-body .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%; }
  .blog-news-list-area .post-body .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important; }

/* Page x / y */
.pagination span.page_num {
  display: none; }

.pagination {
  margin-top: 70px;
  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;
  position: relative; }

.pagination span,
.pagination a {
  font-style: normal;
  font-weight: 300;
  font-size: 1.6rem;
  color: #222222;
  line-height: 2;
  letter-spacing: 0.05em;
  position: relative;
  display: block;
  width: auto;
  min-width: 36px;
  margin: 0 14px;
  padding: 14px 14px 0 14px;
  text-decoration: none;
  text-align: center; }

/* ページ番号 */
.pagination .pager {
  width: 32px; }

/* 前へ */
.pagination a.prev::after {
  content: "<"; }

/* 次へ */
.pagination a.next::after {
  content: ">"; }

/* ホバー時 & 現在のページ */
.pagination a:hover::before,
.pagination .current::before {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #222222; }

.pagination a.prev:hover,
.pagination a.next:hover {
  color: #FF7643; }
  .pagination a.prev:hover:before,
  .pagination a.next:hover:before {
    display: none; }

.post-nav {
  margin-top: 3rem;
  border-top: solid 1px #ddd;
  font-size: .9rem; }
  .post-nav a {
    color: #222222;
    text-decoration: none; }
    .post-nav a:visited, .post-nav a:hover, .post-nav a:active, .post-nav a:focus {
      text-decoration: none; }
  .post-nav .flex > div {
    padding: 1rem;
    width: 50%; }
    .post-nav .flex > div .next {
      text-align: right; }

.blog-sidebar-area {
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif; }
  .blog-sidebar-area .side-block *:first-child {
    margin-top: 0; }
  .blog-sidebar-area .side-block:first-of-type .side-block-ttl h3 {
    margin-top: 0; }
  .blog-sidebar-area .side-block .side-block-ttl h3.sidebar-title {
    font-style: normal;
    font-weight: 600;
    font-size: 2rem;
    color: #222222;
    line-height: 2.4;
    letter-spacing: 0.1em;
    margin-top: 60px;
    position: relative;
    padding-left: 0;
    vertical-align: middle; }
    .blog-sidebar-area .side-block .side-block-ttl h3.sidebar-title::before {
      content: "";
      display: inline-block;
      width: 24px;
      height: 24px;
      background: url("blog/wp-s-list-category.svg") no-repeat;
      background-size: 100% auto;
      vertical-align: middle;
      margin-right: 12px;
      line-height: 1em;
      display: inline-block;
      padding-bottom: 8px; }
  .blog-sidebar-area .side-block .side-block-ttl:after {
    margin-top: 9px;
    display: block;
    content: "";
    background: url(blog/blog-ttl-border.svg);
    background-repeat: repeat-x;
    background-position: 0 0;
    width: 100%;
    height: 4px; }
  .blog-sidebar-area .side-block.wp-s-list-new .side-block-ttl h3.sidebar-title::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url("blog/wp-s-list-new.svg") no-repeat;
    background-size: 100% auto;
    vertical-align: middle; }
  .blog-sidebar-area .side-block.wp-s-list-archives .side-block-ttl h3::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url("blog/wp-s-list-archives.svg") no-repeat;
    background-size: 100% auto;
    vertical-align: middle; }
  .blog-sidebar-area .side-block .side-block-body {
    margin-top: 26px; }
    .blog-sidebar-area .side-block .side-block-body .side-list-block {
      font-style: normal;
      font-weight: 300;
      font-size: 1.4rem;
      color: #222222;
      line-height: 2.285;
      letter-spacing: 0.032em; }
  .blog-sidebar-area .side-block.wp-s-list-category li a:hover {
    text-decoration: underline; }
  .blog-sidebar-area .side-block.wp-s-list-new .newpost-list li {
    padding-left: 0;
    background: none; }
    .blog-sidebar-area .side-block.wp-s-list-new .newpost-list li a p {
      width: 100%;
      white-space: nowrap;
      overflow: hidden;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
      font-style: normal;
      font-weight: 300;
      font-size: 1.4rem;
      color: #222222;
      line-height: 2.285;
      letter-spacing: 0.032em; }
      .blog-sidebar-area .side-block.wp-s-list-new .newpost-list li a p:hover {
        text-decoration: underline; }
    .blog-sidebar-area .side-block.wp-s-list-new .newpost-list li .newpost-list-day {
      font-size: 1.2rem;
      margin-right: 16px;
      color: #999; }
    .blog-sidebar-area .side-block.wp-s-list-new .newpost-list li .newpost-list-cat {
      font-size: 1.2rem;
      color: #b60f37; }
  .blog-sidebar-area .side-block select {
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    outline: none;
    border: solid 1px #ccccc4;
    border-radius: 0;
    padding: 10px 13px;
    font-size: 16px;
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left;
    color: #333;
    width: 100%;
    background-image: url("blog/sort-down.svg");
    background-size: 8px 8px;
    background-position: center;
    background-repeat: no-repeat;
    background-position: right 10px center;
    vertical-align: middle; }
    .side-block-body .blog-sidebar-area .side-block select {
      padding: 0; }
    .blog-sidebar-area .side-block select:-ms-expand {
      display: none; }
    .blog-sidebar-area .side-block select .widget_archive {
      position: relative; }

/*---------------------
			//前後 SP 
			*/
@media only screen and (max-width: 768px) {
  .side-block:first-of-type .side-block-ttl h3 {
    margin-top: 80px; }
  .side-block .side-block-ttl h3 {
    margin-top: 56px; } }

.job-area {
  margin-top: 100px;
  font-family: "Yu Gothic Medium",
 "游ゴシック Medium",
 YuGothic,
 "游ゴシック体",
 "ヒラギノ角ゴ Pro W3",
 "Hiragino Kaku Gothic Pro",
 "メイリオ",
 "Meiryo",
 "Osaka",
 "ＭＳ Ｐゴシック",
 "MS PGothic",
 sans-serif;
  border: 1px solid #F2F2F2;
  background: white;
  background: -webkit-gradient(linear, left top, left bottom, from(white), color-stop(80%, #fcfcfc), to(#f2f2f2));
  background: -webkit-linear-gradient(top, white 0%, #fcfcfc 80%, #f2f2f2 100%);
  background: -o-linear-gradient(top, white 0%, #fcfcfc 80%, #f2f2f2 100%);
  background: linear-gradient(180deg, white 0%, #fcfcfc 80%, #f2f2f2 100%);
  padding: 50px 7% 40px; }
  .job-area .job-type-icon {
    text-align: center; }
    .job-area .job-type-icon img {
      width: auto; }
  .job-area .job-area-ttl {
    margin-top: 8px;
    font-style: normal;
    font-weight: 600;
    font-size: 2.8rem;
    color: #222222;
    line-height: 1.75;
    letter-spacing: 0.3em;
    text-align: center; }
  .job-area .job-area-future {
    margin-top: 12px;
    font-style: normal;
    font-weight: 300;
    font-size: 1.4rem;
    color: #222222;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: center; }
  .job-area .job-box01 {
    margin-top: 40px;
    border: 1px solid #DDDDDD;
    padding: 30px 6.4%;
    background: #FFFFFF; }
    .job-area .job-box01 .job-box01-ttl {
      font-style: normal;
      font-weight: 600;
      font-size: 2rem;
      color: #999999;
      line-height: 1.6;
      letter-spacing: 0.01em; }
    .job-area .job-box01 .job-box01-info .set {
      margin-top: 13px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-style: normal;
      font-weight: 300;
      font-size: 1.6rem;
      color: #222222;
      line-height: 1.6;
      letter-spacing: 0.03em; }
      .job-area .job-box01 .job-box01-info .set dt {
        font-weight: bold; }
      .job-area .job-box01 .job-box01-info .set dd {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
  .job-area .job-type-group-area {
    max-width: 630px;
    margin: 54px auto 0; }
    .job-area .job-type-group-area .job-type-group:not(:first-of-type) {
      margin-top: 44px; }
    .job-area .job-type-group-area .job-type-group:not(:last-of-type) {
      padding-bottom: 40px;
      border-bottom: 1px dotted #DDDDDD; }
    .job-area .job-type-group-area .job-type-group .job-type-group-ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      .job-area .job-type-group-area .job-type-group .job-type-group-ttl h4 {
        font-style: normal;
        font-weight: 600;
        font-size: 2.4rem;
        color: #222222;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      .job-area .job-type-group-area .job-type-group .job-type-group-ttl.mini h4 {
        font-size: 1.8rem;
        line-height: 1.4;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
      .job-area .job-type-group-area .job-type-group .job-type-group-ttl.long span {
        width: auto; }
      .job-area .job-type-group-area .job-type-group .job-type-group-ttl span {
        display: inline-block;
        background: #CCCCCC;
        border-radius: 2px;
        padding: 9px 1em;
        text-align: center;
        font-style: normal;
        font-weight: 600;
        font-size: 1.4rem;
        color: #FFF;
        line-height: 1.6;
        letter-spacing: 0.05em;
        width: 100px;
        margin-right: 20px; }
    .job-area .job-type-group-area .job-type-group .job-type-group-set .set {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-top: 30px;
      font-style: normal;
      font-weight: 300;
      font-size: 1.6rem;
      color: #222222;
      line-height: 1.75;
      letter-spacing: 0.03em; }
      .job-area .job-type-group-area .job-type-group .job-type-group-set .set dt {
        font-weight: bold;
        min-width: 1.4px; }
      .job-area .job-type-group-area .job-type-group .job-type-group-set .set dd {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1; }
  .job-area .cta-area {
    margin-top: 40px;
    background: #FFFFFF;
    text-align: center;
    padding: 20px 1em; }
    .job-area .cta-area .cta-area-ttl {
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      color: #222222;
      line-height: 2;
      letter-spacing: 0.03em; }
    .job-area .cta-area .cta-mail a {
      font-style: normal;
      font-weight: 600;
      font-size: 1.6rem;
      color: #222222;
      line-height: 2;
      letter-spacing: 0.03em; }

@media only screen and (max-width: 768px) {
  .job-area {
    margin-top: 50px; }
    .job-area .job-area-future {
      text-align: left; }
    .job-area .job-box01 .job-box01-info .set {
      margin-top: 23px;
      display: block; }
      .job-area .job-box01 .job-box01-info .set dt {
        font-weight: bold; }
      .job-area .job-box01 .job-box01-info .set dd {
        margin-top: 6px; }
    .job-area .job-type-group-area {
      max-width: 630px;
      margin: 54px auto 0; }
      .job-area .job-type-group-area .job-type-group:not(:first-of-type) {
        margin-top: 44px; }
      .job-area .job-type-group-area .job-type-group:not(:last-of-type) {
        padding-bottom: 40px;
        border-bottom: 1px dotted #DDDDDD; }
      .job-area .job-type-group-area .job-type-group .job-type-group-ttl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        .job-area .job-type-group-area .job-type-group .job-type-group-ttl h4 {
          font-style: normal;
          font-weight: 600;
          font-size: 2rem;
          color: #222222;
          line-height: 1.8;
          letter-spacing: 0.1em; }
        .job-area .job-type-group-area .job-type-group .job-type-group-ttl.mini {
          display: block; }
          .job-area .job-type-group-area .job-type-group .job-type-group-ttl.mini h4 {
            margin-top: 8px;
            font-size: 1.8rem; }
      .job-area .job-type-group-area .job-type-group .job-type-group-set .set {
        display: block; }
        .job-area .job-type-group-area .job-type-group .job-type-group-set .set dt {
          font-weight: bold; }
        .job-area .job-type-group-area .job-type-group .job-type-group-set .set dd {
          margin-top: 6px; }
    .job-area .cta-area {
      margin-top: 40px;
      background: #FFFFFF;
      text-align: center;
      padding: 20px 1em; }
      .job-area .cta-area .cta-area-ttl {
        font-style: normal;
        font-weight: 600;
        font-size: 1.6rem;
        color: #222222;
        line-height: 2;
        letter-spacing: 0.03em; }
      .job-area .cta-area .cta-mail a {
        font-style: normal;
        font-weight: 600;
        font-size: 1.6rem;
        color: #222222;
        line-height: 2;
        letter-spacing: 0.03em; } }
