@charset "UTF-8";
/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}

Example usage in HTML:

`display: block` sprite:
<div class="icon-home"></div>

To change `display` (e.g. `display: inline-block;`), we suggest using a common CSS class:

// CSS
.icon {
  display: inline-block;
}

// HTML
<i class="icon icon-home"></i>
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
/* ==========================================================
 hero
========================================================== */
.hero-cmn {
  width: 1000px;
  margin: 0 auto;
}

/* ==========================================================
module
========================================================== */
.mod-pull::before, .mod-pull::after {
  content: "";
  display: table;
}
.mod-pull::after {
  clear: both;
}
.mod-pull-left {
  float: left;
}
.mod-pull-left.img-cmn-01 {
  width: 220px;
  margin-right: 15px;
}
.mod-pull-left-box {
  width: 425px;
}
.mod-pull-left-box + figure {
  margin-top: 10px;
}
.mod-pull-right {
  float: right;
}
.mod-pull-right.img-cmn-01 {
  width: 220px;
  margin-left: 15px;
}

.mod-intro {
  display: flex;
  align-items: center;
  margin-bottom: 7px;
}
.mod-intro-name {
  margin-left: auto;
  font-size: 16px;
  color: #40210f;
}
.mod-intro-name span {
  display: block;
  font-size: 13px;
}
.mod-intro-image {
  margin-left: auto;
  width: 126px;
}
.mod-intro-text {
  font-size: 11px;
}
.mod-intro-text span {
  position: relative;
  display: block;
  margin-bottom: 3px;
  color: #eb6100;
}
.mod-intro-text span::after {
  position: absolute;
  content: '';
  top: 50%;
  right: 0;
  width: 84%;
  height: 1px;
  margin-top: -1px;
  background: url(/common/img/bg_border_02.png) no-repeat;
}

/* ==========================================================
 list
========================================================== */
.list-content-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.list-content-banner li {
  flex: 1;
  padding: 12px;
  border-radius: 8px;
  text-align: center;
  line-height: 1.5;
}
.list-content-banner li:hover {
  cursor: pointer;
  opacity: .8;
}
.list-content-banner li a {
  font-weight: bold;
  color: #40210f;
}
.list-content-banner li:nth-child(1) {
  padding: 20px 14px;
  margin-right: 10px;
  background-image: repeating-linear-gradient(-45deg, #f7a442, #f7a442 2px, #f6982b 2px, #f6982b 4px);
}
.list-content-banner li:nth-child(1) a {
  font-size: 15px;
}
.list-content-banner li:nth-child(2) {
  margin-right: 10px;
  background: linear-gradient(to bottom, #c7b299 60%, #968473);
}
.list-content-banner li:nth-child(2) span {
  font-weight: normal;
}
.list-content-banner li:nth-child(3) {
  padding-left: 19px;
  padding-right: 19px;
  text-align: left;
  background: #3b5997 url(/common/img/ico_sns_06_large.png) no-repeat left;
  background-origin: content-box;
}
.list-content-banner li:nth-child(3) a {
  padding-left: 50px;
  color: #fff;
}

.list-page-link {
  display: flex;
  margin-bottom: 24px;
}
.list-page-link li {
  flex: 1;
  border-left: 1px solid currentColor;
  line-height: 1.5;
  text-align: center;
}
.list-page-link li:last-child {
  border-right: 1px solid currentColor;
}
.list-page-link a {
  padding-top: 4px;
  padding-bottom: 4px;
  color: #333;
  font-size: 14px;
}
.list-page-link a:hover {
  opacity: .8;
}

.list-gallery {
  margin-bottom: 17px;
}
.list-gallery::before, .list-gallery::after {
  content: "";
  display: table;
}
.list-gallery::after {
  clear: both;
}
.list-gallery li {
  float: left;
  width: 159px;
  margin-top: 10px;
  margin-right: 8px;
  transition: transform .8s ease-in-out;
}
.list-gallery li:nth-child(4n) {
  margin-right: 0;
}
.list-gallery li:hover {
  transform: scale(2);
}

.list-access {
  margin-bottom: 5px;
  font-size: 11px;
}
.list-access dt {
  color: #eb6100;
}
.list-access-info {
  margin-bottom: 0;
}
.list-access-info::before, .list-access-info::after {
  content: "";
  display: table;
}
.list-access-info::after {
  clear: both;
}
.list-access-info dt {
  float: left;
  margin-right: 33px;
}

.list-side-links li {
  border-radius: 7px;
  margin-bottom: 7px;
  text-align: center;
}
.list-side-links li a {
  padding: 5px;
  font-weight: bold;
}
.list-side-links li a:hover {
  opacity: .6;
}
.list-side-links-sns li {
  border: 1px solid #989898;
  background-image: linear-gradient(to bottom, #fff, #cfcfcf);
}
.list-side-links-sns li a {
  color: #40210f;
}
.list-side-links-sns li a span {
  position: relative;
  padding-left: 30px;
}
.list-side-links-sns li a span::before {
  position: absolute;
  content: '';
  top: 50%;
  left: 0;
  margin-top: -10px;
}
.list-side-links-sns li:nth-child(1) span::before {
  background-image: url("/common/img/sprite.png");
  background-position: -108px -41px;
  width: 23px;
  height: 23px;
}
.list-side-links-sns li:nth-child(2) span::before {
  background-image: url("/common/img/sprite.png");
  background-position: 0px -108px;
  width: 22px;
  height: 16px;
}
.list-side-links-sns li:nth-child(3) span::before {
  background-image: url("/common/img/sprite.png");
  background-position: -108px -85px;
  width: 21px;
  height: 21px;
}
.list-side-links-sns li:nth-child(4) span::before {
  background-image: url("/common/img/sprite.png");
  background-position: -108px -64px;
  width: 21px;
  height: 21px;
}
.list-side-links-sns li:nth-child(2) span::before {
  margin-top: -8px;
}
.list-side-links-sns li:nth-child(3) span {
  padding-left: 45px;
}
.list-side-links-sns li:nth-child(3) span::before {
  margin-left: 15px;
}
.list-side-links-sns li:nth-child(4) span {
  padding-left: 28px;
}
.list-side-links-sns li:nth-child(4) span::before {
  margin-left: -1px;
}
.list-side-links-contact li:nth-child(1), .list-side-links-contact li:nth-child(2) {
  background-image: linear-gradient(to bottom, #f9a834, #f6921e);
}
.list-side-links-contact li:nth-child(3) span, .list-side-links-contact li:nth-child(4) span {
  padding-left: 25px;
}
.list-side-links-contact li:nth-child(3) span {
  position: relative;
}
.list-side-links-contact li:nth-child(3) span::before {
  position: absolute;
  top: 50%;
  content: '';
  margin-top: -9px;
  margin-left: -23px;
}
.list-side-links-contact li:nth-child(3) {
  background-color: #3b5997;
}
.list-side-links-contact li:nth-child(3) a {
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 11px;
}
.list-side-links-contact li:nth-child(3) span::before {
  background-image: url("/common/img/sprite.png");
  background-position: -129px -85px;
  width: 18px;
  height: 18px;
}
.list-side-links-contact li a {
  color: #fff;
}

/* ==========================================================
 ttl
========================================================== */
.ttl-cmn-01, .ttl-side-01 {
  position: relative;
  height: 40px;
  padding: 0 13px;
  margin-bottom: 10px;
  color: #fff;
  line-height: 40px;
  font-weight: bold;
  font-size: 15px;
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho";
  background-color: #42210b;
}
.ttl-cmn-01::after, .ttl-side-01::after {
  background-image: url("/common/img/sprite.png");
  background-position: -54px -54px;
  width: 45px;
  height: 40px;
  position: absolute;
  content: '';
  top: 50%;
  right: 0;
  margin-top: -20px;
}

@media all and (-ms-high-contrast: none) {
  j *::-ms-backdrop,
  .ttl-cmn-01,
  .ttl-side-01, .ttl-side-01 {
    padding-top: 2px;
  }
}
.ttl-cmn-02 {
  margin-bottom: 11px;
  color: #40210f;
  letter-spacing: -.05em;
  font-size: 20px;
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho";
}

.ttl-side-01 {
  margin-bottom: 20px;
  letter-spacing: .12em;
  background: url(/common/img/bg_side_title_01.png) no-repeat;
}
.ttl-side-01::after {
  display: none;
}

.ttl-side-02 {
  padding-left: 10px;
  border-left: 5px solid #faaf3b;
  border-bottom: 1px solid #faaf3b;
  margin-bottom: 12px;
  font-size: 17px;
  color: #40210f;
}

/* ==========================================================
 text-adjust-small
========================================================== */
.text-adjust-small {
  font-size: 10px;
}

/* ==========================================================
 box
========================================================== */
.box-feature {
  padding-bottom: 20px;
  background: url("/common/img/bg_border_01.png") no-repeat left bottom;
  margin-bottom: 15px;
}
.box-feature:nth-of-type(2) {
  padding-bottom: 27px;
}
.box-feature:last-child {
  margin-bottom: 25px;
}
.box-feature-skill:nth-of-type(2) {
  padding-bottom: 20px;
}

.box-info {
  padding-bottom: 20px;
  border-bottom: 1px solid #a67c52;
  margin-bottom: 10px;
}
.box-info:nth-of-type(5) {
  margin-bottom: 20px;
}
.box-info-headline {
  display: flex;
  align-items: center;
  padding-top: 10px;
  margin-bottom: 10px;
}
.box-info-title {
  font-weight: bold;
  font-size: 18px;
}
.box-info-title span {
  display: inline-block;
  width: 105px;
  padding-top: 7px;
  padding-bottom: 7px;
  margin-right: 15px;
  text-align: center;
  font-size: 9px;
  color: #fff;
  background-image: linear-gradient(-135deg, transparent 5px, #f05a24 0);
}
.box-info-date {
  margin-left: auto;
}

.box-side-01 {
  margin-bottom: 27px;
}
.box-side-01 .box-side-caution {
  margin-bottom: 15px;
  font-size: 10px;
  line-height: 1.4;
}

.box-service {
  padding-left: 10px;
  margin-bottom: 15px;
  border-left: 6px solid #faaf3b;
}
.box-service-title {
  margin-bottom: 3px;
  font-size: 15px;
  color: #eb6100;
}
.box-service-text {
  margin-bottom: 15px;
  line-height: 1.4;
  font-size: 11px;
}
.box-service td {
  font-size: 11px;
}
.box-service td:nth-child(2) {
  font-weight: bold;
  text-align: right;
}
.box-service .text-adjust-small {
  font-size: 10px;
}
.box-service:nth-of-type(3) + .box-side-caution {
  margin-bottom: 0;
}

.box-side-flow {
  position: relative;
  margin-bottom: 50px;
}
.box-side-flow:nth-of-type(3) {
  margin-bottom: 30px;
}
.box-side-flow-title {
  position: relative;
  padding-left: 70px;
  margin-bottom: 20px;
  line-height: 1.5;
  color: #40210f;
  font-size: 16px;
}
.box-side-flow-title::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: '';
  margin-top: -27px;
}
.box-side-flow-text {
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: -.08em;
}
.box-side-flow-text + .box-side-caution {
  margin-top: 7px;
  margin-left: .4em;
  text-indent: -.4em;
}
.box-side-flow:not(:nth-of-type(3))::after {
  position: absolute;
  top: 100%;
  left: 50%;
  content: '';
  margin-top: 20px;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top: 12px solid #faaf3b;
}
.box-side-flow:nth-of-type(1) .box-side-flow-title::before {
  background-image: url("/common/img/sprite.png");
  background-position: 0px -54px;
  width: 54px;
  height: 54px;
}
.box-side-flow:nth-of-type(2) .box-side-flow-title::before {
  background-image: url("/common/img/sprite.png");
  background-position: -54px 0px;
  width: 54px;
  height: 54px;
}
.box-side-flow:nth-of-type(3) .box-side-flow-title::before {
  background-image: url("/common/img/sprite.png");
  background-position: 0px 0px;
  width: 54px;
  height: 54px;
}

/* ==========================================================
  link
========================================================== */
.link-side {
  position: relative;
  margin-bottom: 10px;
  text-align: right;
}
.link-side a {
  display: inline-block;
  font-size: 11px;
  color: #eb6100;
}
.link-side a::before {
  content: "＞";
}
.link-side a:hover {
  opacity: .8;
}
.link-side-intro {
  padding-bottom: 10px;
  background: url(/common/img/bg_border_02.png) no-repeat left bottom;
  margin-top: -6px;
}
.link-side-detail a::before, .link-side-detail a::after {
  position: absolute;
  content: '';
  top: 50%;
}
.link-side-detail a::before {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-top: -4px;
  margin-left: -15px;
  background-color: #eb6100;
}
.link-side-detail a::after {
  left: 50%;
  border: 3px solid transparent;
  border-left: 4px solid #fff;
  margin-top: -2px;
  margin-left: 19px;
}

/* ==========================================================
  table
========================================================== */
.table-cmn-01 {
  width: 100%;
}

/* ==========================================================
 map
========================================================== */
.map-side {
  margin-bottom: 10px;
  transition: transform 1s ease-in-out;
}
.map-side:hover {
  transform: scale(1.84616);
}
