@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&display=swap');
@media all and (-ms-high-contrast:none){html{font-family:'游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;}}


/*リセットCSS
----------------------------------------------------------------*/

/* 要素 フォントサイズ・マージン・パディングをリセット */
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%;
  font-weight: normal;
  vertical-align:baseline;
  background:transparent;
}

html{font-family: YuMincho,	"Hiragino Mincho ProN",	serif; color: #616161;}

/* 行の高=フォントサイズ */
body {line-height:1; font-family:'游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;  background: url(../img/bg.jpg)repeat; color: #616161;}

/* 新規追加要素をブロック要素化 */
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display:block;}

/* ulのマーカー非表示 */
ol, ul {list-style: none;}

/* フォントサイズ　リセット フォントの縦方向 ベースライン揃え 点線削除 */
a {margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; outline: none;}

/*　隣接するセルのボーダーを重ねて表示　*/
table {border-collapse:collapse;  border-spacing:0;}

/* 水平罫線デフォルトリセット */
hr {display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}

/* 縦方向の揃え 中央揃え */
input, select {vertical-align:middle;}

/* 画像を縦に並べた時に余白0 */
img {vertical-align: top; font-size: 0; line-height: 0;}

/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix:after {
  overflow: hidden;
  visibility: hidden;
  height: 0;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
}

br {line-height: inherit;}

/*【共通】パーツ
----------------------------------------------------------------*/
/* リンク */
a,
a * {
  -webkit-transition: opacity 0.6s ease;
  -moz-transition: opacity 0.6s ease;
  -o-transition: opacity 0.6s ease;
  transition: opacity  0.6s ease;
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  font-family: inherit;
  -webkit-backface-visibility: hidden; /* 追加 */
  backface-visibility: hidden; /* 追加 */
}
a:hover, a:active {
  text-decoration:none;
  opacity: 0.7;
  filter: alpha(opacity=70);
  color: #a3a3a3;
}
img {width: 70%;	  margin: auto;
  display: block;}

.sp{display: none;}
.pc{display: block;}
.w100 {width: 100%;}

/* top*/
@media screen and (min-width: 320px) {
  .inner {width: 100%; padding: 50px 15px; margin: 0 auto;}
}

@media screen and (min-width: 1024px) {
  .inner {width: 100%; padding: 100px 30px;}
}

@media screen and (min-width: 1200px) {
  .inner {width: 1200px;}
}

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

}

/*===============================================================
【共通】パーツ
----------------------------------------------------------------*/
.wow {animation-duration: 1s;}
.ps-r{position: relative;}

/*font*/
p{margin-bottom: 0!important;}
.lh {line-height: 2;}
.font-en{font-family: "Cormorant", serif;}
.font-ja{font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;}

.color01{color: #616161;}
.color02{color: #44301d;}

.ta-c{text-align: center;}
.tategaki{writing-mode: vertical-rl;}
.marker{background: linear-gradient(transparent 50%, #ffff83 50%); display: inline-block;}



/*bg*/
.bg01{background: #fcfcfc; z-index: -2;}
.bg02 {background-color: #f7f5ef;}


/*flex*/
.flex-btw {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;}
.flex-nml {display: -webkit-box;display: -ms-flexbox;display: flex;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.flex-cnt {display: -webkit-box; display: -ms-flexbox;	display: -webkit-flex;	display: flex;	-ms-flex-wrap: wrap;	-webkit-flex-wrap: wrap;	flex-wrap: wrap;  -moz-justify-content: center;  -webkit-justify-content: center;  justify-content: center;	-ms-flex-align: center;	-webkit-align-items: center;	align-items: center;}
.flex-stt {display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; -moz-justify-content: center; -webkit-justify-content: center; justify-content: flex-start; -ms-flex-align: center; -webkit-align-items: center; align-items: center;}

.row-reverse {-webkit-box-orient: horizontal;-webkit-box-direction: reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;}
.item-cen{align-items: center;}



.mb10 {margin-bottom: 10px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb50 {margin-bottom: 50px;}
.mb80 {margin-bottom: 80px;}
.mb100 {margin-bottom: 100px;}
.mb130 {margin-bottom: 130px;}


@media screen and (max-width: 768px) {
  .mb30 {margin-bottom: 20px;}
  .mb50 {margin-bottom: 30px;}
  .mb80 {margin-bottom: 40px;}
  .mb100 {margin-bottom: 50px;}
  .mb130 {margin-bottom: 80px;}
}



/*==============
ボタン
----------------*/
/*BLACK*/
.link_btn_b a {
  display: block;
  width: 185px;
  color: #616161;
  transition: .5s;
  line-height: 50px;
  white-space: nowrap;
  text-align: left;
  font-size: 1.5rem;
  letter-spacing: .04em;
  position: relative;
  font-size: 17px;
  border-radius: 30px;
  font-family: "Cormorant", serif;
}
.link_btn_b a::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 10px;
  background: url(../images/btn_arw.png) no-repeat center center;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0, -42%);
  -ms-transform: translate(0, -42%);
  transform: translate(0, -42%);
  transition: .5s;
}
.link_btn_b a:hover::before {
  right: -10px;
}

/*WHITE*/
.link_btn_w a {
  display: block;
  width: 185px;
  color: #fff;
  transition: .5s;
  line-height: 50px;
  white-space: nowrap;
  text-align: left;
  font-size: 1.5rem;
  letter-spacing: .04em;
  position: relative;
  font-size: 17px;
  border-radius: 30px;
  font-family: "Cormorant", serif;
}
.link_btn_w a::before {
  content: "";
  position: absolute;
  width: 80px;
  height: 14px;
  background: url(../images/btn_arw_w.png) no-repeat center center;
  background-size: contain;
  right: 0;
  top: 50%;
  -webkit-transform: translate(0, -42%);
  -ms-transform: translate(0, -42%);
  transform: translate(0, -42%);
  transition: .5s;
}
.link_btn_w a:hover::before {
  right: -10px;
}

/*NORMAL*/
.link_btn_n a{
  font-size: 17px;
  border-bottom: 1px solid;
  display: inline-block;
  padding-bottom: 10px;
  font-family: "Cormorant", serif;
}


/*============================
公開時消す
============================*/

/*募集要項*/
.sub_recruit .company_tbl {display: none;}

/*施術事例（hd*ft）*/
.noopen {display: none;}

.menu_text{
  max-width: 60%;
  flex: 0 0 60%;
  margin-left: 1rem;
}
.menu_ex{
  padding: 1rem;
  width: 100%;
  font-size: 16px;
}
.menu_tr{
  border: 1px solid #ccc !important;
}
@media screen and (max-width: 768px) {
  .menu_text{
    max-width: 100%;
    margin-left: 0;
  }
  .menu_ex{
    font-size: 14px;
  }
}
