@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap");
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  background-color: #fff;
  color: #111;
  font-family: "游ゴシック", YuGothic, Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
  /* アンチエイリアスを指定する */
  -webkit-font-smoothing: subpixel-antialiased;
  /* メトリクスカーニングを指定する */
  -webkit-font-kerning: normal;
  font-kerning: normal;
  margin: 0;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  body {
    font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
  }

  /* IE11 */
}
/**
 * ネストされたリストのマージンをリセットします。
 */
li > ul, li > ol {
  margin-bottom: 0;
}

/**
 * `dt`と`dd`の左端を揃えます。
 */
dd {
  margin-left: 0;
}

table {
  width: 100%;
}

th {
  text-align: left;
}

a {
  color: #333;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
a:hover, a:active, a:focus {
  opacity: 0.8;
  text-decoration: none;
}

p {
  font-family: "游ゴシック", YuGothic, Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
}
p.serif {
  font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}

/**
 * フルードイメージにします。
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* svgのIEバグ回避 */
img[src$=".svg"] {
  width: 100%;
  height: auto;
}

code,
pre {
  font-family: Consolas, Menlo, Courier, monospace;
}

/* container
-------------------------------------------------------------------------- */
/* イージング設定
======================================================================== */
/* その他設定
======================================================================== */
/* =============================================================================
   bese
========================================================================== */
body {
  overflow-x: hidden;
}
@media (max-width: 991px) {
  body {
    /* padding-top: 70px; */
  }
  body.open {
    position: fixed;
  }
}
.container {
  /* max-width: 1178px; */
  max-width: 1280px;
  padding: 0 100px;
  margin: auto;
}
.home .container {
  max-width: 1280px;
}
@media (max-width: 991px) {
  .container {
    padding: 0 30px;
  }
}

@media (max-width: 991px) {
  .pc {
    display: none;
  }
}

@media (min-width: 992px) {
  .sp {
    display: none;
  }
}

/* =============================================================================
   font-family
========================================================================== */
*[class*="ff-"] {
  font-display: swap;
}

/* =============================================================================
   common
========================================================================== */
h1,h2,h3,h4,h5,h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.noto {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;	
}
.baige {
  color: #C9A95C;
}
.mb01 {
	margin-bottom: 1em;
}
.mb02 {
	margin-bottom: 2em;
}
.mb03 {
	margin-bottom: 3em;
}
.mb04 {
	margin-bottom: 4em;
}
.mb05 {
	margin-bottom: 5em;
}
.com-title_page{
   padding-bottom: 30px; 
}
@media (max-width: 768px) {
  .com-title_page {
    /* padding: 80px 30px; */
  }
}
.com-title_page h2 {
  font-size: 60px;
  font-size: 3.75rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-bottom: 0px;
}
.com-title_page p {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: 700;
  margin-top: 10px;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .com-title_page h2 {
    font-size: 26px;
    font-size: 1.625rem;
  }
  .com-title_page p {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.com-contents h3,.com-contents h4,.com-contents h5 {
  padding: 0px 0 12px;
}
.com-contents h4 {
/*
	font-size: 18px;
    font-size: 1.125rem;
*/
	font-size: 20px;
    font-size: 1.25rem;
}



.com-link_text {
  display: inline-block;
  text-decoration: underline;
}
.com-link_text:hover, .com-link_text:focus {
  color: #333;
}
.com-link_text + * {
  margin-top: 8px;
}

.com-text {
  line-height: 1.6;
}

.com-bnr {
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .com-bnr {
    padding-bottom: 70px;
  }
  .com-bnr .is-pc {
    display: none;
  }
}
@media (min-width: 769px) {
  .com-bnr .is-sp {
    display: none;
  }
}
.com-bnr a {
  display: block;
}

/* =============================================================================
    Btn
========================================================================== */
*[class*="btn-"] {
  cursor: pointer;
}

.btn-menu button {
  display: block;
  width: 25px;
  height: 20px;
  position: relative;
  z-index: 100;
}
.btn-menu .hamburger {
  position: relative;
  height: 100%;
}
.btn-menu .hamburger span {
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
  left: 0;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  background: #000;
}
.btn-menu .hamburger span:nth-of-type(1) {
  top: 0;
}
.btn-menu .hamburger span:nth-of-type(2) {
  top: 9px;
}
.btn-menu .hamburger span:nth-of-type(3) {
  top: 18px;
}
.open .btn-menu button .hamburger span:nth-of-type(1) {
  top: 10px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.open .btn-menu button .hamburger span:nth-of-type(2) {
  width: 0;
  left: 50%;
}
.open .btn-menu button .hamburger span:nth-of-type(3) {
  top: 10px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.btn-more {
  font-size: 14px;
  font-size: 0.875rem;
  color: #169353;
  display: -webkit-inline-box;
  display: -moz-inline-flex;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.btn-more:after {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 8px;
  height: 8px;
  margin-left: 2px;
  background-image: url(../img/icon_arrow_green.png);
  -webkit-transition: 0.9s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  transition: 0.9s cubic-bezier(0.250, 0.100, 0.250, 1.000);
}
.btn-more:focus, .btn-more:hover {
  color: #169353;
}
.btn-more:focus:after, .btn-more:hover:after {
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
}
.btn-more.icon-blank {
  color: #169353 !important;
}
.btn-more.icon-blank:after {
  width: 13px;
  height: 13px;
  margin-left: 5px;
  background-image: url(../img/icon_blank.png);
}

.btn-more_about {
  font-size: 14px;
  font-size: 0.875rem;
  color: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  max-width: 180px;
  width: 100%;
  border-radius: 8px;
  /* background: linear-gradient(-135deg, #166071, #169353); */
  background: #EA5504;
  padding: 8px 0 9px;
}
@media (max-width: 991px) {
  .btn-more_about {
    font-size: 12px;
    font-size: 0.75rem;
    /* padding: 13px 0 14px; */
  }
}
.btn-more_about:after {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 10px;
  height: 10px;
  margin-left: 2px;
  background-image: url(../img/icon_arrow_white.png);
  -webkit-transition: 0.9s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  transition: 0.9s cubic-bezier(0.250, 0.100, 0.250, 1.000);
}
.mod-form .btn-more_about:after {
  content: none;
}
.btn-more_about:focus, .btn-more_about:hover {
  color: #fff;
}
.btn-more_about:focus:after, .btn-more_about:hover:after {
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
}




.btn-more_hd {
  width: 100%;
  background: #FFFFFF;
  padding: 14px 0px 15px;
  display: -webkit-box;
  display: flex;
}
.btn-more_hd:before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 16px;
  height: 16px;
  margin: 6px 14px 0 14px;
  background-image: url(../img/icon_arrow2_orange.png);
  -webkit-transition: 0.9s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  transition: 0.9s cubic-bezier(0.250, 0.100, 0.250, 1.000);
}
.btn-more_hd:focus, .btn-more_hd:hover {
  /* color: #EA5504; */
}
.btn-more_hd:focus:before, .btn-more_hd:hover:before {
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
}

.btn-more_thanks .btn-more_about {
  margin: auto;
}

/* =============================================================================
   header
========================================================================== */
.l-header {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background-color:rgba(255,255,255,0.6);
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;	
}
@media (max-width: 991px) {
  .l-header {
    display: block;
    z-index: 999;
  }
  .l-header.open {
    width: 100%;
  }
}
.l-header .site-brand {
  line-height: 0;
}
.l-header .site-brand a {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  /* max-width: 374px,180px; */
  max-width: 130px;
  width: 100%;
}
@media (max-width: 991px) {
  .l-header .site-brand a {
    height: 55px;
  }
}
.l-header .header-head {
  padding: 0 20px;
  width: 32%;
}
@media (max-width: 991px) {
  .l-header .header-head {
    position: relative;
    background-color: #fff;
    z-index: 888;
    padding: 7px 20px;
    width: 100%;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
  }
}
.l-header .header-inner {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
  justify-content: flex-end;
  z-index: 777;
  width: 68%;
}
@media (max-width: 991px) {
  .l-header .header-inner {
    display: block;
    overflow-y: auto;
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    height: calc(100% - 70px);
    -webkit-transition: 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000);
    transition: 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000);
    background: #f5f3ef;
    padding: 30px;
  }
  .open .l-header .header-inner {
    top: 70px;
  }
}
.l-header .header-inner .other-link {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
          flex-direction: row-reverse;
/*  max-width: 220px;*/
  max-width: 140px;
  width: 100%;
/*  min-width: 220px;*/
  min-width: 140px;
  margin: 0 20px 0 0;
}
@media (max-width: 991px) {
  .l-header .header-inner .other-link {
    display: block;
    max-width: 100%;
    margin: 40px 0 0;
  }
}
.l-header .header-inner .other-link li {
  /* width: 50%; */
  text-align: center;
  margin: 0 8px;
}
@media (max-width: 991px) {
  .l-header .header-inner .other-link li {
    width: 100%;
    margin: 0;
  }
  .l-header .header-inner .other-link li + li {
    margin-top: 15px;
  }
}
.l-header .header-inner .other-link li a {
  display: block;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 10px 20px 10px;
}
@media (max-width: 991px) {
  .l-header .header-inner .other-link li a {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
  }
  .l-header .header-inner .other-link li.btn-sns a img {
    width: 20px;
  }
}
.l-header .header-inner .other-link li.btn-ctt a {
  background-color: #D9C79D;
/*  border-radius: 6px;*/
  border-radius: 20px;
}

/* g-nav */
.g-nav ul {
  display: -webkit-box;
  display: flex;
  height: 100%;
}
@media (max-width: 991px) {
  .g-nav ul {
    display: block;
  }
}
.g-nav ul li {
  padding: 0 16px;
}
@media (max-width: 1168px) {
  .g-nav ul li {
    padding: 0 10px;
  }
}
@media (max-width: 991px) {
  .g-nav ul li {
    padding: 0;
  }
}
.g-nav ul li a {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  padding: 40px 0 40px;
  height: 100%;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (min-width: 992px) {
  .g-nav ul li a:focus, .g-nav ul li a:hover {
    color: inherit;
    opacity: 1;
  }
  .g-nav ul li a:focus:after, .g-nav ul li a:hover:after {
    width: 100%;
  }
  .g-nav ul li a:after {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 0;
    display: block;
    width: 0;
    height: 5px;
    background-color: #D9C79D;
    -webkit-transition: 0.5s cubic-bezier(0.250, 0.100, 0.250, 1.000);
    transition: 0.5s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  }
}
@media (max-width: 991px) {
  .g-nav ul li a {
    padding: 15px 0;
    border-bottom: 1px solid #eee;
    position: relative;
    font-size: 14px;
    font-size: 0.875rem;
    -webkit-box-pack: start;
    justify-content: flex-start;
  }
  .g-nav ul li a:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    display: block;
    width: 10px;
    height: 10px;
    margin: auto;
    background-image: url(../img/icon_arrow_baige.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }
}
@media (max-width: 768px) {
  .g-nav ul li a:focus, .g-nav ul li a:hover {
    opacity: 1;
    color: inherit;
  }
}

/* =============================================================================
   main
========================================================================== */
.l-main {
  padding-bottom: 120px;
  overflow-x: hidden;
}
@media (max-width: 768px) {
  .l-main {
    padding-bottom: 60px;
  }
}
body:not(.main) .l-main .com-section + .com-section {
  margin-top: 100px;
}
body:not(.main) .l-main .com-section + .com-section .com-title_contents {
  border-top: 1px solid #eee;
}


/* =============================================================================
   footer
========================================================================== */
.l-footer {
  padding: 20px 30px;
  font-size: 13px;
  font-size: 0.8125rem;
}
.l-footer .wp {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 991px) {
  .l-footer .wp {
	display: block;
  }
}
.l-footer .footer_add {
  display: flex;
}
.footer_logo {
	width: 62px;
	margin-right: 20px;
}
.footer_nav {
	text-align: right;
}
.footer_nav ul {
	display: flex;
	margin-bottom: 50px;
}
.footer_nav li {
	font-weight: bold;
	margin-right: 1.5em;
}
.f-copy {
/*  display: block;*/
/*  text-align: center;*/
    font-size: 11px;
    font-size: 0.6875rem;
}
@media (max-width: 991px) {
  .footer_nav {
	  text-align: left;
  }
	.footer_nav ul {
		margin: 20px 0 30px;
	}
}

/* =============================================================================
    Module
========================================================================== */
.mod-mainvisual {
  padding-bottom: 80px;
  position: relative;
}
@media (max-width: 768px) {
  .mod-mainvisual {
    padding-bottom: 60px;
  }
}
.mod-mainvisual .images {
  margin-top: 0px;
}
@media (max-width: 768px) {
  .mod-mainvisual .images {
    margin-top: -50px;
  }
}
.mod-mainvisual .images div[style] {
  width: 100%;
  padding-top: 50%;
  /* padding-top: 36.719%; */
  background-position: center 70%;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 991px) {
  .mod-mainvisual .images div[style] {
    padding-top: 70%;
  }
}

.mod-information {
  display: -webkit-box;
  display: flex;
  overflow: hidden;
}
@media (max-width: 768px) {
  .mod-information {
    display: block;
    padding: 0;
  }
}
.mod-information .img {
  width: 44%;
}
@media (max-width: 768px) {
  .mod-information .img {
    width: 100%;
    margin: auto;
  }
}
.mod-information .img div[style] {
  width: 100%;
  padding-top: 62%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.mod-information .content {
  width: 56%;
  padding-left: 7%;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .mod-information .content {
    padding: 30px 30px 60px;
    width: 100%;
  }
}
.mod-information .content dd {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.8;
  margin-top: 10px;
}
.mod-information .content .btn-more {
  margin-top: 12px;
}

.mod-content-list {
  margin: 0 -22px;
  padding: 0px 0 100px;
  display: -webkit-box;
  display: flex;
}
@media (max-width: 991px) {
  .mod-content-list {
    margin: 0;
    display: block;
  }
}
@media (max-width: 768px) {
  .mod-content-list {
    padding: 70px 0 60px;
  }
}
.mod-content-list li {
  padding: 0 22px;
  width: 33.33%;
}
@media (max-width: 991px) {
  .mod-content-list li {
    max-width: 768px;
    width: 100%;
    margin: auto;
    padding: 0;
  }
  .mod-content-list li + li {
    margin-top: 50px;
  }
}
.mod-content-list li .img div[style] {
  width: 100%;
  padding-top: 63.3%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 0px;
}
.mod-content-list li .content h3 {
}


.mod-layout {
  padding-top: 60px;
  border-top: 1px solid #eee;
}
@media (max-width: 991px) {
  .mod-layout {
    padding-top: 40px;
  }
}
.mod-layout + .mod-layout {
  margin-top: 60px;
}
@media (max-width: 991px) {
  .mod-layout + .mod-layout {
    margin-top: 40px;
  }
}
.mod-layout > .title {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 40px;
}
@media (max-width: 991px) {
  .mod-layout > .title {
    margin-bottom: 20px;
  }
}
@media (max-width: 768px) {
  .mod-layout > .title {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.mod-layout > .title .sub_text {
  display: block;
  font-weight: normal;
  font-size: 12px;
  font-size: 0.75rem;
  margin-top: 8px;
  max-width: 200px;
  line-height: 1.6;
}
.mod-layout > .content {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .mod-layout > .content {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.mod-layout > .content p {
  margin: 0;
}
.mod-layout > .content p + * {
  margin-top: 30px;
}
.mod-layout > .content .btn-more {
  margin-top: 25px;
}


.mod-format01 dt {
  font-size: 20px;
  font-size: 1.25rem;
}
@media (max-width: 768px) {
  .mod-format01 dt {
    font-size: 16px;
    font-size: 1rem;
  }
}
.mod-format01 dd {
  margin-top: 10px;
}

.mod-format02 {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .mod-format02 {
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.mod-format02 + a {
  margin-top: 8px;
}
.mod-format02 dt {
  width: 88px;
  min-width: 88px;
  font-weight: normal;
}
@media (max-width: 768px) {
  .mod-format02 dt {
    width: 100%;
    font-weight: bold;
  }
}
.mod-format02 dt:after {
  content: '：';
}
@media (max-width: 768px) {
  .mod-format02 dt:after {
    content: none;
  }
}
.mod-format02 dd {
  width: calc(100% - 88px);
}
@media (max-width: 768px) {
  .mod-format02 dd {
    width: 100%;
  }
  .mod-format02 dd + dt {
    margin-top: 8px;
  }
}
@media (min-width: 769px) {
  .mod-format02 dt:nth-of-type(n+2), .mod-format02 dd:nth-of-type(n+2) {
    margin-top: 8px;
  }
}

.mod-list01 li {
  display: -webkit-box;
  display: flex;
}
.mod-list01 li:before {
  content: '・';
}
.mod-list01 + * {
  margin-top: 30px;
}

.mod-list_num {
  counter-reset: num;
}
.mod-list_num > li {
  counter-increment: num;
  display: -webkit-box;
  display: flex;
  line-height: 1.6;
  margin-top: 5px;
}
.mod-list_num > li:before {
  content: counter(num) " —";
  min-width: 50px;
  width: 50px;
}
@media (max-width: 768px) {
  .mod-list_num > li:before {
    content: counter(num) " —";
    min-width: 40px;
    width: 40px;
  }
}


/* =============================================================================
    会社概要
========================================================================== */
h3.com-title_about {
	font-size: 26px;
    font-size: 1.625rem;
	padding-bottom: 50px;
}
.com-contents_strong {
	font-weight: 700;
	font-size: 18px;
    font-size: 1.125rem;
	line-height: 2rem;
	margin-bottom: 50px;
}
.mod-jigyo {
  display: flex;
  align-items: flex-end;
  padding-bottom: 80px;
}
@media (max-width: 768px) {
  .mod-jigyo {
    display: block;
    padding-bottom: 40px;
  }
}
.mod-logo {
	max-width: 320px; 
	width: 100%;
	padding: 0 60px 0;
}
@media (max-width: 768px) {
  .mod-logo  {
	max-width: 200px; 
    padding: 30px 0px 0px;
  }
}

.mod-table-layout{
  width:100%;
  max-width:768px;
  margin:0 auto;
  display:-webkit-box;
  display:flex;
  flex-wrap:wrap;
  line-height:27px
}
.mod-table-layout dt,.mod-table-layout dd{
  padding:16px 0 15px;
  border-bottom:1px solid #eee;
  font-size:15px;
  font-size:.9375rem
}
.mod-table-layout dt:last-of-type,.mod-table-layout dd:last-of-type{
  border-bottom:none
}
.mod-table-layout dt{
  width:130px;
  padding-right:20px
}
.mod-table-layout dd{
  width:calc(100% - 130px)
}
@media (max-width: 768px){
  .mod-table-layout{
    display:block
  }
  .mod-table-layout dt,.mod-table-layout dd{
    width:100%;
    padding:20px 0
  }
  .mod-table-layout dt{
    padding-right:0;
    padding-bottom:3px;
    border-bottom:none
  }
  .mod-table-layout dd{
    padding-top:3px
  }
}
.map {
  text-align: center;
  margin-top: 30px;
}

.mod-list_room {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
@media (max-width: 768px) {
  .mod-list_room {
    display: block;
    margin: 0;
  }
}
.mod-list_room li {
  width: 33.33%;
  padding: 70px 15px 50px;
}
@media (max-width: 768px) {
  .mod-list_room li {
    width: 100%;
    padding: 0;
  }
}
.mod-gallery {
  display: none !important;
}
.mod-gallery_link {
  display: flex;
  justify-content: center;
}
.mod-gallery_btn {
  background-color: #D9C79D;
  width: 80%;
  text-align: center;
  color: #fff;
  padding: 14px;
  border-radius: 30px;
}



/* =============================================================================
    サービス
========================================================================== */
.mod-service h4 {
  font-size: 36px;
  font-size: 2.25rem;
  margin: -10px 0 20px 0;
  letter-spacing: 0;
}
.mod-service {
  display: -webkit-box;
  display: flex;
  justify-content: space-between;
  padding: 30px 0 50px;
}
.mod-service.rev {
	flex-direction: row-reverse;
}
.mod-service_cts {
	width:43%; 
}
.mod-service_imgs {
	width: 52%; 
/*	width: 100%;*/
}
@media (max-width: 991px) {
  .mod-service {
    display: block;
  }
  .mod-service_cts {
	width:100%; 
  }
  .mod-service_imgs {
	width:100%; 
  }
}

/* =============================================================================
    採用情報
========================================================================== */
.mod-recruit {
  padding: 50px 0 0;
}
@media (max-width: 768px) {
  .mod-recruit {
    padding-bottom: 40px;
  }
}
.mod-recruit_detail {
  border-top: #111111 1px solid;
  padding: 50px 0 50px;
}
.mod-recruit_list {
	margin-left: 30px;
}
.mod-recruit_list li {
	list-style-type:square;
}
/* =============================================================================
    TOP
========================================================================== */
.mod-list_link {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
@media (max-width: 768px) {
  .mod-list_link {
    display: block;
    margin: 0;
  }
}
.mod-list_link li {
  width: 25%;
  padding: 70px 15px 50px;
}
@media (max-width: 768px) {
  .mod-list_link li {
    width: 100%;
    padding: 0;
  }
}
/* =============================================================================
    お問い合わせ
========================================================================== */

/* =============================================================================
    404エラー
========================================================================== */
/* =============================================================================
    装飾スタイル
========================================================================== */
.js-fade {
  -webkit-transition: opacity 0.9s cubic-bezier(0.3, 0.4, 0.1, 1), -webkit-transform 0.9s cubic-bezier(0.3, 0.4, 0.1, 1);
  transition: opacity 0.9s cubic-bezier(0.3, 0.4, 0.1, 1), -webkit-transform 0.9s cubic-bezier(0.3, 0.4, 0.1, 1);
  transition: opacity 0.9s cubic-bezier(0.3, 0.4, 0.1, 1), transform 0.9s cubic-bezier(0.3, 0.4, 0.1, 1);
  transition: opacity 0.9s cubic-bezier(0.3, 0.4, 0.1, 1), transform 0.9s cubic-bezier(0.3, 0.4, 0.1, 1), -webkit-transform 0.9s cubic-bezier(0.3, 0.4, 0.1, 1);
  -webkit-transform: translate(20px, 0);
  transform: translate(20px, 0);
  opacity: 0;
}
.js-fade.in {
  -webkit-transform: translate(0, 0px);
  transform: translate(0, 0px);
  opacity: 1;
}

.js-panel {
  position: relative;
  overflow: hidden;
}
.js-panel span {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  display: block;
  background-color: #FDF9F5;
  -webkit-transition: 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000);
  transition: 0.6s cubic-bezier(0.250, 0.100, 0.250, 1.000);
}
.js-panel span.u-w {
  background-color: #fff;
}
.js-panel.open span {
  left: 100%;
}

.is-delay1 {
  -webkit-transition-delay: 0.15s !important;
  transition-delay: 0.15s !important;
}

.is-delay2 {
  -webkit-transition-delay: 0.3s !important;
  transition-delay: 0.3s !important;
}

.is-delay3 {
  -webkit-transition-delay: 0.45s !important;
  transition-delay: 0.45s !important;
}

.is-delay4 {
  -webkit-transition-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}

.is-delay5 {
  -webkit-transition-delay: 0.75s !important;
  transition-delay: 0.75s !important;
}

.is-delay6 {
  -webkit-transition-delay: 0.9s !important;
  transition-delay: 0.9s !important;
}

.is-delay7 {
  -webkit-transition-delay: 1.05s !important;
  transition-delay: 1.05s !important;
}

.is-delay8 {
  -webkit-transition-delay: 1.2s !important;
  transition-delay: 1.2s !important;
}

.is-delay9 {
  -webkit-transition-delay: 1.35s !important;
  transition-delay: 1.35s !important;
}

.is-delay10 {
  -webkit-transition-delay: 1.5s !important;
  transition-delay: 1.5s !important;
}

.is-delay11 {
  -webkit-transition-delay: 1.65s !important;
  transition-delay: 1.65s !important;
}

.is-delay12 {
  -webkit-transition-delay: 1.8s !important;
  transition-delay: 1.8s !important;
}

.is-delay13 {
  -webkit-transition-delay: 1.95s !important;
  transition-delay: 1.95s !important;
}

.is-delay14 {
  -webkit-transition-delay: 2.1s !important;
  transition-delay: 2.1s !important;
}

.is-delay15 {
  -webkit-transition-delay: 2.25s !important;
  transition-delay: 2.25s !important;
}

.is-delay16 {
  -webkit-transition-delay: 2.4s !important;
  transition-delay: 2.4s !important;
}

.is-delay17 {
  -webkit-transition-delay: 2.55s !important;
  transition-delay: 2.55s !important;
}

.is-delay18 {
  -webkit-transition-delay: 2.7s !important;
  transition-delay: 2.7s !important;
}

.is-delay19 {
  -webkit-transition-delay: 2.85s !important;
  transition-delay: 2.85s !important;
}

.is-delay20 {
  -webkit-transition-delay: 3s !important;
  transition-delay: 3s !important;
}

.is-bgc_orangegray {
  background-color: #f7f7f7;
}
.is-bgc_orangegray.u-bg_copy {
  background-image: url(../img/bg_copy.png);
  background-size: 190%;
  background-repeat: no-repeat;
  background-position: right 6% top 7%;
}
@media (max-width: 991px) {
  .is-bgc_orangegray.u-bg_copy {
    background-size: 370%;
    background-position: right 4% top -10%;
  }
}

.is-imager {
  border: 1px solid #eee;
}

/* utility
 -------------------------------------------------------------------------- */
.u-sp-visible-pc-hide {
  display: none !important;
}
@media (max-width: 767px) {
  .u-sp-visible-pc-hide {
    display: block !important;
  }
}

.u-pc-visible-sp-hide {
  display: block !important;
}
@media (max-width: 767px) {
  .u-pc-visible-sp-hide {
    display: none !important;
  }
}

.u-tab-visible-pc-hide {
  display: none !important;
}
@media (max-width: 991px) {
  .u-tab-visible-pc-hide {
    display: block !important;
  }
}

.u-pc-visible-tab-hide {
  display: block !important;
}
@media (max-width: 991px) {
  .u-pc-visible-tab-hide {
    display: none !important;
  }
}

/* -----------------------------------------------------------------------------
   #Text
   -------------------------------------------------------------------------- */
/*doc
---
title: text
name: text
categories: [utility]
---

テキストのスタイルを指定する汎用クラスです。

```block
<p class="u-text-light">font-weight 300</p>
<p class="u-text-normal">font-weight 400</p>
<p class="u-text-bold">font-weight 600</p>
<p class="u-text-indent">先頭の1文字目を1文字分字下げします。</p>
<p class="u-text-note">2行目以降の1文字目を1文字分字下げします。<br>2行目以降の1文字目を1文字分字下げします。</p>
<p class="u-text-nowrap">テキストを折り返させません。横幅を超えても、このテキストは折り返さずに表示されます。</p>
<p class="u-text-breakword">テキストを折り返させます。長文になっても、このテキストは必ず折り返して表示されます。</p>
<p class="u-text-justify">テキストを両端揃え（均等割り付け）させます。通常のテキストと文字間が違うのが分かると思います。</p>
<p class="u-text-none">記述した通りに表示します。</p>
<p class="u-text-lowercase">abcdEFGH すべての英単語を小文字で表示します。</p>
<p class="u-text-uppercase">abcdEFGH すべての英単語を大文字で表示します。</p>
<p class="u-text-capitalize">abcdEFGH 英単語の先頭を大文字で表示します。</p>
<p class="u-text-smallcaps">abcdEFGH スモールキャップ（小文字と同じ高さで作られた大文字）で表示します。</p>
<p class="u-text-vertical">abcdEFGH 縦書きで表示します。</p>
<p class="u-text-vertical u-text-vertical--upright">abcdEFGH 英文も縦書きにする場合はModifierを指定します。</p>
<p class="u-text-right">text-align right</p>
<p class="u-text-center">text-align center</p>
<p class="u-text-left">text-align left</p>
<p class="u-text-top">vertical-align top</p>
<p class="u-text-middle">vertical-align middle</p>
<p class="u-text-bottom">vertical-align bottom</p>
```
*/
/* font-colorを指定します。 */
.u-text-color--white {
  color: #fff !important;
}

.u-text-color--blk {
  color: #000 !important;
}

/* 文字に余白付きの下線を引きます */
.u-text-underline {
  padding-bottom: 3px;
  border-bottom: 1px solid #333;
}

/* font-weightを指定します。 */
.u-text-light {
  font-weight: 300 !important;
}

.u-text-normal {
  font-weight: 500 !important;
}

.u-text-bold {
  font-weight: 600 !important;
}

/* 先頭の1文字目を1文字分字下げします。 */
.u-text-indent {
  text-indent: 1em !important;
}

/* 2行目以降の1文字目を1文字分字下げします。 */
.u-text-note {
  margin-left: 1em !important;
  text-indent: -1em !important;
}

/* テキストを改行させません。 */
.u-text-nowrap {
  white-space: nowrap !important;
}

/* テキストを改行させます。 */
.u-text-breakword {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

/* テキストを両端揃えさせます。 */
.u-text-justify {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}

/* 記述した通りに表示します。 */
.u-text-none {
  text-transform: none !important;
}

/* すべての英単語を小文字にします。 */
.u-text-lowercase {
  text-transform: lowercase !important;
}

/* すべての英単語を大文字にします。 */
.u-text-uppercase {
  text-transform: uppercase !important;
}

/* 英単語の先頭を大文字にします。 */
.u-text-capitalize {
  text-transform: capitalize !important;
}

/* スモールキャップ（小文字と同じ高さで作られた大文字）にします。 */
.u-text-smallcaps {
  font-variant: small-caps !important;
}

/* 縦書きにします。 */
.u-text-vertical {
  -webkit-writing-mode: vertical-rl !important;
  -ms-writing-mode: tb-rl !important;
  writing-mode: vertical-rl !important;
  -webkit-text-orientation: mixed !important;
          text-orientation: mixed !important;
}

/* 英文も縦書きにする場合はModifierを指定します。 */
.u-text-vertical--upright {
  -webkit-text-orientation: upright !important;
          text-orientation: upright !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-left {
  text-align: left !important;
}

.u-text-top {
  vertical-align: top !important;
}

.u-text-middle {
  vertical-align: middle !important;
}

.u-text-bottom {
  vertical-align: bottom !important;
}

