@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,600&subset=japanese");
/*******全てに適用される項目**************************************************/
a, abbr, acronym, address, applet, article, aside, audio,
b, big, blockquote, body, caption, canvas, center, cite, code,
dd, del, details, dfn, dialog, div, dl, dt, em, embed,
fieldset, figcaption, figure, form, footer,
header, hgroup, h1, h2, h3, h4, h5, h6, html,
i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav,
object, ol, output, p, pre, q, ruby,
s, samp, section, main, small, span, strike, strong, sub, summary, sup,
tt, table, tbody, textarea, tfoot, thead, time, tr, th, td,
u, ul, var, video {
  vertical-align: baseline;
  white-space: normal;
  text-align: left;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}

html {
  font-size: 62.5%; /* 10px */
  line-height: 1.6rem; /* 16px */
  height: 100%;
}

body {
  background: #fff;
  width: 100%;
  color: #222;
  /*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;*/
  /*
  	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  letter-spacing: 1.5px;
  font-feature-settings: "palt" 1;
  font-kerning: auto;
  /* 行間の設定 */
  line-height: 1.95;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-weight: normal;
}

img {
  max-width: 100%;
  height: auto;
}

strong {
  font-weight: normal;
}

a, a:hover {
  -webkit-transition: 0.7s;
  -moz-transition: 0.7s;
  -o-transition: 0.7s;
  transition: 0.7s;
}

a {
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.2s ease;
  color: #222;
  border: none;
  margin: 0px;
  padding: 0px;
  display: inline;
}

a:link {
  color: #222;
  text-decoration: none;
}

a:visited {
  color: #222;
  text-decoration: none;
}

a:active {
  color: #aaa;
  text-decoration: none;
}

a:hover {
  color: #aaa;
  text-decoration: none;
}

a:hover {
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

/* フロート解除-----------------------------*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*/ /*/
height: auto;
overflow: hidden;
/**/
}

.cb {
  clear: both;
}

img[src$=".svg"] {
  width: 100%;
  height: auto;
}

/********** 共通スタイル***************************/
/* 下マージン（10px/20px/30px/40px/50px） */
.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.grow1 {
  flex-grow: 1;
}

.grow10 {
  flex-grow: 10;
}

.grow20 {
  flex-grow: 20;
}

.grow30 {
  flex-grow: 30;
}

.grow40 {
  flex-grow: 40;
}

.grow50 {
  flex-grow: 50;
}

.grow60 {
  flex-grow: 60;
}

.grow70 {
  flex-grow: 70;
}

.grow80 {
  flex-grow: 80;
}

.grow90 {
  flex-grow: 90;
}

.grow100 {
  flex-grow: 100;
}

li {
  list-style: none;
}

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

@media screen and (min-width: 545px) and (max-width: 1199px) {
  html, html * {
    font-size: 14px;
  }
}
@media screen and (min-width: 1200px) {
  html, html * {
    font-size: 14px;
  }
}
/*
 *　見出し（h1〜h6）のデフォルトフォントサイズ設定
 */
h1 {
  font-size: 2rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 2rem;
}

h4 {
  font-size: 2rem;
}

h5 {
  font-size: 2rem;
}

h6 {
  font-size: 2rem;
}

/* 共通スタイル終了 */
/*===ボタン用共通=======================*/
.archive_post .btn {
  float: right;
  text-align: center;
  border: 1px solid #ddd;
}

.archive_post .btn a {
  padding: 10px 20px;
  text-align: center;
  width: 220px;
}

.top_news_area .btn {
  text-align: center;
  width: 280px;
  border: 1px solid #999;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  font-size: 15px;
  background-color: #949495;
}

.top_news_area .btn a {
  padding: 15px 20px;
  width: 100%;
  text-align: center;
  letter-spacing: 0.1em;
  display: block;
  color: #fff;
}

.footer_txt_area .btn {
  width: 220px;
  border: 1px solid #999;
  margin: 20px 10px;
  background-color: #949495;
  float: left;
}

.footer_txt_area .btn a {
  padding: 15px 20px;
  width: 100%;
  text-align: center;
  letter-spacing: 0.1em;
  display: block;
  color: #fff;
}

.top_area .btn {
  text-align: center;
  width: 280px;
  border: 1px solid #999;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  font-size: 15px;
  background-color: #949495;
}

.top_area .btn a {
  padding: 15px 20px;
  width: 100%;
  text-align: center;
  letter-spacing: 0.1em;
  display: block;
  color: #fff;
}

@media (max-width: 768px) {
  .top_area .btn, .top_news_area .btn, .top_service_wrapper .btn, .top_fb_wrapper .btn, .recruit_bt_area .btn, .top_about_bt .btn, .archive_post .btn {
    text-align: center;
    width: 86%;
    border: 1px solid #ddd;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    font-size: 15px;
    float: none;
  }
  .top_area .btn a, .top_news_area .btn a, .top_service_wrapper .btn a, .top_fb_wrapper .btn a, .recruit_bt_area .btn a, .top_about_bt .btn a, .archive_post .btn a {
    padding: 15px 20px;
    width: 100%;
    text-align: center;
    letter-spacing: 0.1em;
    display: block;
  }
  .footer_contact_tel a {
    color: #fff;
  }
  .archive_post .btn {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    text-align: center;
    border: 1px solid #ccc;
  }
  .archive_post .btn a {
    padding: 10px 15px;
    text-align: center;
    width: 100%;
  }
  .footer_txt_area .btn {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    text-align: center;
    margin-top: 7px;
    margin-bottom: 7px;
    float: none;
  }
  .footer_txt_area .btn a {
    padding: 15px 15px;
    text-align: center;
    width: 100%;
  }
}
.archive_post .btn i {
  width: 24px;
  height: 24px;
  margin: 0;
  border-radius: 50%;
  line-height: 20px;
  text-align: center;
  font-weight: normal;
  color: #202747;
}

.top_post_wrapper i {
  width: 24px;
  height: 24px;
  margin: 0;
  border-radius: 50%;
  line-height: 20px;
  text-align: center;
  font-weight: normal;
}

.fa {
  font-weight: normal;
}

a.ghost {
  display: inline-block;
  transition: 0.5s;
}

a.ghost.btup:hover {
  opacity: 1;
  background-color: #555;
  transition: opacity 0.2s ease;
}

a.ghost02 {
  display: inline-block;
  transition: 0.5s;
}

a.ghost02.btup02:hover {
  color: #fff !important;
  opacity: 1;
  background-color: #7B673F;
  transition: opacity 0.2s ease;
}

/* パンくずリスト--------------------------------------------------*/
.page_pankuzu {
  max-width: 1140px;
  margin: 0 auto;
  font-weight: normal;
  padding-bottom: 30px;
  padding-top: 20px;
  font-size: 8px !important;
}

.page_pankuzu a {
  font-size: 8px !important;
}

strong.current,
strong.current a {
  font-size: 8px !important;
  font-weight: normal !important;
}

@media (max-width: 768px) {
  /*=====PC用HEADER================================*/
  .page_pankuzu {
    width: 94%;
    margin: 0 auto;
    font-weight: normal;
    font-size: 11px;
    padding: 5px 0px 10px 10px;
  }
}
@media (min-width: 1025px) {
  /*=====PC用HEADER================================*/
  .header_box {
    width: 100%;
    position: fixed;
    padding-top: 15px;
    padding-bottom: 0px;
    height: 160px; /* 高さ */
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
  }
  @-webkit-keyframes modify {
    0% {
      padding-top: 160px;
      margin-top: -160px;
    }
    100% {
      padding-top: 0;
      margin-top: 0;
    }
  }
  @keyframes modify {
    0% {
      padding-top: 160px;
      margin-top: -160px;
    }
    100% {
      padding-top: 0;
      margin-top: 0;
    }
  }
  .header_box:target {
    -webkit-animation: modify 0.1s;
    animation: modify 0.1s;
  }
  #header_color {
    background-color: #fff;
  }
  #header_color.scroll {
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }
  .header_logo {
    float: left;
    padding-bottom: 15px;
    width: 158px;
  }
  .social-icon {
    float: right;
    width: 230px;
    padding: 20px 0 15px 0;
  }
  .social-icon li a {
    margin: 0;
    padding: 10px;
  }
  .social-icon li i {
    color: #fff;
  }
  .social-icon li a:hover i {
    color: #666;
  }
  .social-icon li a {
    display: block;
    float: left;
    padding: 0;
    color: #b5b6b6;
    margin-top: 0;
    margin-left: 12px;
  }
  .social-icon li i {
    width: 45px;
    height: 45px;
    margin: 0;
    background-color: #b5b6b6;
    border-radius: 50%;
    line-height: 45px;
    text-align: center;
  }
  /*------- 	PC用nav------------------------------------*/
  .head-nav {
    height: 40px;
  }
  .head-nav #menu-headnav {
    width: 1140px;
  }
  .head-nav #menu-headnav li {
    float: left;
  }
  .head-nav #menu-headnav .gnav_a {
    background: url(images/gnav.png);
    text-indent: -9999px;
    display: block;
    height: 40px;
  }
  .head-nav #menu-headnav li .gnav_a {
    width: 190px;
  }
  .head-nav #menu-headnav .gnav01 a {
    background-position: 0 0;
  }
  .head-nav #menu-headnav .gnav02 a {
    background-position: -190px 0;
  }
  .head-nav #menu-headnav .gnav03 a {
    background-position: -380px 0;
  }
  .head-nav #menu-headnav .gnav04 a {
    background-position: -570px 0;
  }
  .head-nav #menu-headnav .gnav05 a {
    background-position: -760px 0;
  }
  .head-nav #menu-headnav .gnav06 a {
    background-position: -950px 0;
  }
  .head-nav #menu-headnav .gnav01 a:hover {
    background-position: 0 -40px;
  }
  .head-nav #menu-headnav .gnav02 a:hover {
    background-position: -190px -40px;
  }
  .head-nav #menu-headnav .gnav03 a:hover {
    background-position: -380px -40px;
  }
  .head-nav #menu-headnav .gnav04 a:hover {
    background-position: -570px -40px;
  }
  .head-nav #menu-headnav .gnav05 a:hover {
    background-position: -760px -40px;
  }
  .head-nav #menu-headnav .gnav06 a:hover {
    background-position: -950px -40px;
  }
  .menu li ul {
    list-style: none;
    position: absolute;
    z-index: 9999;
    top: 100%;
    left: 570px;
    margin: 0;
    padding: 0;
  }
  .menu li ul li {
    width: 100%;
    padding: 0 0;
    margin: 0 0;
  }
  .menu li ul li img {
    vertical-align: bottom;
  }
  .menu li a:hover {
    opacity: 1;
    transition: opacity 0.2s ease;
  }
  #menu-headnav li ul {
    visibility: hidden;
    opacity: 0;
    transition: 0s;
  }
  #menu-headnav li:hover ul {
    visibility: visible;
    opacity: 1;
  }
  #menu-headnav li ul li a {
    visibility: hidden;
    opacity: 0;
    transition: 0.9s;
  }
  #menu-headnav li:hover ul li a {
    visibility: visible;
    opacity: 1;
  }
  #menu-headnav li:hover ul li a:hover {
    opacity: 0.9;
    transition: opacity 0.2s ease;
  }
}
@media (max-width: 1025px) {
  .head-nav {
    width: 100%;
  }
  .header_box {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 12000;
  }
  .pc_only {
    display: none;
  }
  header {
    position: relative;
    min-height: 85px;
  }
  .under_header_box {
    background: #030728 !important;
    min-height: 85px;
  }
  .header_logo {
    position: absolute;
    left: 10px;
    top: 23px;
  }
  .header_logo img {
    width: 78%;
  }
  .top_main_title {
    width: 65%;
    position: absolute;
    bottom: 35%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 9990;
    text-align: center;
  }
  /* ****スマホ用メニュー************************************************ */
  #open_menu {
    position: absolute;
    top: 22px;
    right: 10px;
    z-index: 9999;
  }
  #open_menu img {
    max-width: 100%;
  }
  #layer_menu {
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
  }
  #layer_menu ul {
    margin-top: 15px;
  }
  #layer_menu ul li {
    background: #403A39;
    list-style: none;
    border-bottom: solid 1px #666;
    text-align: center;
  }
  .gnav04 a {
    border-bottom: solid 1px #666;
  }
  #layer_menu ul li a {
    position: relative;
    padding: 8px 12px;
    text-decoration: none;
    color: #FFF;
    display: block;
  }
  #layer_menu li ul {
    margin-top: -3px;
  }
  #layer_menu li ul li {
    padding-left: 25px;
    border-bottom: none;
  }
  #layer_menu ul li a:hover {
    color: #FFF;
  }
  #close_menu {
    position: absolute;
    top: -38px;
    right: 10px;
    width: 50px;
  }
}
/* スマホ、PC共通のローディング画像 */
#loader {
  width: 60px;
  height: 60px;
  display: none;
  position: fixed;
  _position: absolute; /* IE6対策 */
  top: 50%;
  left: 50%;
  margin-top: -30px; /* heightの半分のマイナス値 */
  margin-left: -30px; /* widthの半分のマイナス値 */
  z-index: 10;
}

#fade {
  width: 100%;
  height: 100%;
  display: none;
  background-color: #fff;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 5;
}

@media (min-width: 768px) {
  /*===PCのフッター==========================*/
  .title_center {
    font-size: 28px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.2em;
    margin-right: auto;
    margin-left: auto;
    font-weight: normal;
    margin-bottom: 60px;
  }
  .title_center_top {
    font-size: 18px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.2em;
    margin-right: auto;
    margin-left: auto;
    font-weight: normal;
    margin-bottom: 25px;
  }
  .top_n_flex {
    padding-top: 5%;
    padding-bottom: 5%;
    /*
    	display: flex;
    	justify-content: space-around;
    */
  }
  .top_n_flex div {
    /*
    width: 45%;
    padding: 0 5% 3.5%;
    */
  }
  .footer_center_wrapper {
    background: #dcdddd;
    padding: 3% 0;
  }
  .footer_gmap_area {
    float: left;
    width: 550px;
    padding-right: 15%;
  }
  .footer_txt_area {
    float: right;
    width: 500px;
  }
  .footer_txt_link a {
    color: #fff;
  }
  .footer_txt_link {
    margin: 1.5% 0;
  }
  .footer_txt_link ul li a {
    display: block;
    text-align: center;
    padding: 0.3% 1%;
    border: solid 1px #fff;
    margin: 0 0.7% 1%;
    float: right;
    width: 9%;
  }
  .footer_txt_link ul li a:hover {
    background: #333;
  }
  .footer_logo {
    width: 50%;
    padding-top: 2%;
    padding-bottom: 0.5%;
  }
  .footer_address {
    padding-bottom: 2px;
  }
  .footer_tel {
    font: 2rem/2.1em "Raleway", Arial, sans-serif;
    letter-spacing: 0.1em;
    padding-bottom: 2px;
  }
  .footer_time {
    padding-bottom: 0.8%;
    line-height: 1.8;
  }
  .footer_bottom_wrapper {
    background: #9fa0a0;
    padding: 0.5% 0 2%;
    color: #fff;
  }
  .footer_con {
    text-align: center;
    padding-bottom: 0.1%;
  }
  small {
    display: block;
    text-align: center;
    font-size: 12px;
    margin: 0 auto;
  }
  /*===PCのトップへ戻る=======================*/
  #page-top {
    position: fixed;
    bottom: 10px;
    right: 0px;
    z-index: 1000;
  }
  #page-top a {
    text-decoration: none;
    width: 100px;
    padding: 25px 0;
    text-align: center;
    display: block;
  }
  #page-top a:hover {
    text-decoration: none;
  }
}
/*===footerIE11バグ用=======================*/
@media all and (-ms-high-contrast: none) {
  .footer_logo {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 1025px) {
  .footer_gmap_area {
    float: left;
    width: 400px;
    padding-right: 15%;
  }
  .footer_txt_area {
    float: right;
    width: 450px;
  }
}
@media (max-width: 1025px) {
  /* ****スマホ用フッター************************************************ */
  .sp_w_center a img {
    text-align: center;
    margin: 10px auto 10px;
    display: block;
  }
  .title_center {
    font-size: 22px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.2em;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
  }
  .title_center_top {
    font-size: 20px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.2em;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
  }
  .top_n_flex {
    padding-top: 5%;
  }
  .top_n_flex div {
    padding: 0 5% 3.5%;
  }
  #footer_wrapper {
    margin-top: 20px;
  }
  .footer_txt_link a {
    color: #fff;
  }
  .footer_txt_link {
    margin: 1.5% 0;
  }
  .footer_txt_link ul li {
    float: left;
    width: 46%;
    margin: 0 1.5% 1%;
  }
  .footer_txt_link ul li a {
    display: block;
    text-align: center;
    padding: 0.3% 1%;
    border: solid 1px #fff;
    width: 100%;
  }
  .footer_txt_link ul li a:hover {
    background: #333;
  }
  .footer_gmap_area {
    float: none;
    width: 100%;
    padding-right: 0;
  }
  .footer_txt_area {
    float: none !important;
    width: 600px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    padding-left: 4%;
  }
  .sp_wrap {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 10px;
    width: 80%;
  }
  /* ****スマホ用googlemap********************************* */
  .footer_gmap_area {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    margin-bottom: 10px;
    margin-top: 20px;
  }
  .footer_gmap_area iframe, .footer_gmap_area object, .footer_gmap_area embed, .footer_gmap_area iframe, .footer_gmap_area object, .footer_gmap_area embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .footer_bottom_wrapper {
    margin-top: 10px;
    background: #9fa0a0;
    padding-top: 20px;
    padding-bottom: 10px;
    color: #fff;
  }
  .footer_bottom_wrapper a {
    color: #fff;
  }
  .footer_con {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 13px;
  }
  .footer_address, .footer_tel, .footer_time {
    padding-left: 10%;
    padding-right: 10%;
  }
  .footer_logo {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 10px;
  }
  .footer_logo img {
    max-width: 70%;
  }
  .footer_address p {
    padding-bottom: 12px;
  }
  small {
    display: block;
    padding-right: 15px;
    padding-left: 15px;
    padding-top: 30px;
    padding-bottom: 10px;
    text-align: center;
    font-size: 9px;
    line-height: 1.4em;
  }
  /*===トップへ戻る=======================*/
  #page-top {
    border-top: solid 1px #666;
    text-align: center;
    padding: 12px 10px;
    background: #222222;
  }
  #page-top a {
    color: #fff;
  }
}
@media (max-width: 769px) {
  .footer_txt_area {
    float: none !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    padding-left: 4%;
  }
}
/* =============共通タイトル============== */
.under_title {
  text-align: center;
  line-height: 1.5;
  margin-bottom: 5px;
  font-size: 26px;
}

.under_title_e {
  text-align: center;
  font-size: 1.5rem;
  color: #826843;
  margin-bottom: 40px;
}

@media (max-width: 768px) {
  /* ==================共通タイトル======================================= */
  .under_title {
    text-align: center;
    line-height: 1.5;
    margin-bottom: 5px;
    font-size: 18px;
  }
  .under_title_e {
    text-align: center;
    font-size: 1.5rem;
    color: #826843;
    margin-bottom: 25px;
  }
}
/* ========	トップのメインコンテンツ=================== */
.top_about_wrapper {
  padding: 80px 0 80px 0;
  background-color: #030728;
  color: #fff;
  border-bottom: solid 1px #fff;
}

.top_about_txt {
  font-size: 20px;
  letter-spacing: 0.2em;
  text-align: center;
  padding: 60px 0;
}

.top_about_img01 {
  float: left;
  width: 49%;
}

.top_about_img01 {
  float: right;
  width: 49%;
}

.top_about_bt_txt {
  padding-top: 60px;
  text-align: center;
  font-size: 18px;
}

@media (max-width: 768px) {
  /* ========	SPトップのメインコンテンツ=================== */
  .top_about_wrapper {
    padding: 8% 0 3% 0;
  }
  .top_about_txt {
    font-size: 16px;
    padding: 30px 10%;
  }
  .top_about_img01, .top_about_img02 {
    float: none;
    width: 84%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 3%;
  }
  .top_about_bt_txt {
    padding: 0 5%;
    padding-top: 5px;
  }
}
/*===PC用トップ施工事例エリア======================*/
.top_works_wrapper {
  padding: 120px 3%;
  background-color: #030728;
}

.snip1212 {
  float: left;
  width: 14%;
  margin-right: 1.5%;
}

.snip1212 :last-child {
  margin-right: 0;
}

.snip1212 img {
  vertical-align: bottom;
}

.transform01 {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

figure:hover .transform01 {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.snip1212 h3 {
  padding: 20px 0 5px;
  color: #fff;
  text-align: center;
}

.snip1212 {
  position: relative;
  overflow: hidden;
}

figure.snip1212 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}

@media screen and (max-width: 414px) {
  /*iphone 7plus以下*/
  .snip1212 {
    float: left;
    width: 48% !important;
  }
  .snip1212:nth-of-type(2n) {
    margin-right: 0;
  }
  .snip1212:nth-of-type(3),
  .snip1212:nth-of-type(9) {
    margin-right: 2% !important;
  }
}
@media screen and (max-width: 768px) {
  /*===SPトップの施工事例=======================*/
  .top_works_wrapper {
    padding: 10% 3%;
    background-color: #030728;
  }
  .snip1212 {
    float: left;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 2%;
  }
  .snip1212:nth-of-type(3n) {
    margin-right: 0;
  }
}
/*===トップの業務内容=======================*/
.top_service_wrapper {
  padding-top: 80px;
  padding-bottom: 60px;
  background: url(images/top_service_bg.jpg) no-repeat right bottom;
  background-size: cover;
}

.top_service_txt {
  font-size: 20px;
  letter-spacing: 0.2em;
  text-align: center;
  padding: 60px 0 30px 0;
}

@media screen and (max-width: 768px) {
  /*===SPトップの業務内容=======================*/
  .top_service_wrapper {
    padding: 10% 10%;
    background: none;
  }
  .top_service_txt {
    font-size: 16px;
    padding: 5% 0;
    text-align: left;
  }
}
/*===トップのニュース=======================*/
.top_news_area {
  padding-top: 50px;
  padding-bottom: 100px;
}

.top_post_box a, .archive_post_box a, .special_post_box a {
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.2s ease;
  border: none;
  margin: 0px;
  padding: 0px;
  display: block;
}

.top_post_box a:hover, .archive_post_box a:hover, .special_post_box a:hover {
  opacity: 0.7;
}

.top_post_box {
  float: left;
  width: 29%;
  margin: 0 2%;
}

.special_post_box {
  float: left;
  width: 29%;
  margin: 0 2%;
  padding-bottom: 3%;
}

.archive_post_box {
  float: left;
  width: 29%;
  margin: 0 0 4% 0;
}

.archive_post_box:nth-child(2) {
  margin: 0 6%;
}

.archive_post_box:nth-child(5) {
  margin: 0 6%;
}

.archive_post_box:nth-child(8) {
  margin: 0 6%;
}

.top_post_txt_area, .special_post_txt_area {
  padding: 0 0.5% 2% 2%;
  color: #555;
}

.top_post_txt_area .small, .special_post_txt_area .small {
  font-size: 13px;
  letter-spacing: 0.1em;
  line-height: 1.7;
}

.top_post_txt_area h3 {
  font-size: 17px;
  font-weight: bold;
}

.special_post_txt_area h3 {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  /*===トップのニュース=======================*/
  .top_post_txt_area h3 {
    font-size: 16px;
  }
  .special_post_txt_area h3 {
    font-size: 14px;
    line-height: 1.6;
  }
  .top_news_area {
    padding-top: 10%;
    padding-bottom: 10%;
    border-bottom: solid 1px #eee;
  }
  .top_news_area a {
    text-decoration: none;
    opacity: 1;
    transition: opacity 0.2s ease;
    border: none;
    margin: 0px;
    padding: 0px;
    display: inline;
  }
  .top_news_area dl {
    margin-bottom: 13px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
    margin-left: 15px;
    margin-right: 15px;
    padding-left: 10px;
    padding-right: 10px;
  }
  .top_news_area dl dt {
    float: none;
    width: 100%;
  }
  .top_news_area dd {
    margin-left: 5px;
  }
}
/* ****PC用FootballとFB************************************************ */
.top_fb_wrapper {
  padding-top: 5%;
  padding-bottom: 5%;
}

.football_area {
  float: left;
  width: 63%;
}

.football_area_title {
  font-size: 24px;
  border-bottom: solid 1px #ddd;
  margin-bottom: 20px;
  padding-bottom: 10px;
  padding-left: 10px;
}

.football_area_img {
  padding-bottom: 20px;
}

.football_area_txt {
  padding-left: 10px;
}

.fb_area {
  float: right;
  width: 32%;
}

@media (max-width: 768px) {
  /* ****スマホ用FootballとFB************************************************ */
  .top_fb_wrapper {
    padding: 10% 5%;
  }
  .football_area {
    float: none;
    width: 100%;
    margin-bottom: 5%;
  }
  .football_area_title {
    font-size: 18px;
    border-bottom: solid 1px #ddd;
    margin-bottom: 20px;
    padding-bottom: 10px;
    padding-left: 10px;
  }
  .football_area_img {
    padding-bottom: 20px;
  }
  .football_area_txt {
    padding-left: 10px;
  }
  .fb_area {
    float: none;
    width: 100%;
  }
  .fb_area div {
    text-align: center;
    padding-bottom: 40px;
    width: 84%;
  }
  .fb_area {
    text-align: center;
    margin-bottom: 40px;
  }
}
/*===PCの下層ページのwrapper=======================*/
.under_wrapper {
  max-width: 1050px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  padding-top: 30px;
  margin-bottom: 70px;
}

@media (max-width: 768px) {
  .under_wrapper {
    padding: 10px 5%;
    margin-bottom: 20px;
  }
}
.single_post_wrapper {
  padding-bottom: 80px;
}

.single_post_area {
  text-align: left;
  margin: 0 0 65px;
}

@media (max-width: 768px) {
  .single_post_wrapper {
    padding-bottom: 40px;
    padding-right: 15px;
    padding-left: 15px;
  }
  .single_post_area {
    text-align: left;
    /*
    background-color: rgba(255,255,255,0.9);
    padding:10px;
    */
    margin: 0 0 30px;
    width: 70%;
  }
}
/* 下層ページ　メインタイトル--------------------------------------------------*/
.bg_special {
  background: url(images/bg_special.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 200px;
  margin-top: 160px;
}

.bg_news {
  background: url(images/bg_news.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 200px;
  margin-top: 160px;
}

.bg_contact {
  background: url(images/bg_contact.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 200px;
  margin-top: 160px;
}

.bg_about {
  background: url(images/bg_about.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 200px;
  margin-top: 160px;
}

.bg_menu {
  background: url(images/bg_menu.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 200px;
  margin-top: 160px;
}

.bg_pati {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #9ECECD;
  height: 200px;
  margin-top: 160px;
}

@media screen and (min-width: 0px) and (max-device-width: 320px) {
  .title {
    font-size: 18px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.3em;
    margin-right: auto;
    margin-left: auto;
    font-weight: normal;
    margin-bottom: 2%;
  }
  .bg_special, .bg_news, .bg_contact, .bg_about, .bg_menu, .bg_pati {
    margin-top: 10px;
    height: 100px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 321px) and (max-device-width: 768px) {
  .title {
    font-size: 22px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.3em;
    margin-right: auto;
    margin-left: auto;
    font-weight: normal;
    margin-bottom: 2%;
  }
  .bg_special, .bg_news, .bg_contact, .bg_about, .bg_menu, .bg_pati {
    margin-top: 10px;
  }
}
@media screen and (min-width: 769px) {
  .title {
    font-size: 24px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.2em;
    margin-right: auto;
    margin-left: auto;
    font-weight: bold;
    font-weight: normal;
    margin-top: 2%;
    margin-bottom: 2%;
  }
  .bg_special, .bg_news, .bg_contact, .bg_about, .bg_menu, .bg_pati {
    margin-top: 160px;
  }
}
/* *****ABOUT********************************* */
.sustai_box {
  background: #ebd8c6;
  padding: 3% 3%;
  margin-bottom: 4%;
}

.mincho {
  font-family: "Noto Serif JP", sans-serif;
  font-weight: bold;
  font-size: 25px;
  padding-bottom: 15px;
}

.sus_f_left {
  float: left;
  width: 26%;
}

.sus_f_left img {
  vertical-align: bottom;
}

.sus_f_center {
  float: left;
  width: 47%;
  padding-left: 3%;
}

.sus_f_right {
  float: right;
  width: 24%;
}

.sus_right {
  text-align: right;
  line-height: 1.4;
}

.pb_10 {
  padding-bottom: 12px;
}

.title_center_under {
  font-size: 28px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.2em;
  margin-right: auto;
  margin-left: auto;
  font-weight: normal;
  margin-bottom: 30px;
}

.mo_box {
  padding-bottom: 3%;
}

.mo_txt_big p {
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 5%;
}

.mo_3 {
  float: left;
  width: 26%;
  margin: 0 3.5% 4.5% 3.5%;
}

.mo_txt {
  padding: 0 0.5% 2% 0 0.5%;
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
}

.about_rest_box {
  padding-bottom: 8%;
  text-align: center;
  max-width: 840px;
  margin-right: auto;
  margin-left: auto;
}

.rest_photo {
  display: block;
  float: left;
  width: 400px;
}

.rest_bt {
  display: block;
  float: right;
  width: 378px;
  padding-top: 10px;
}

@media screen and (max-width: 768px) {
  /* *****ABOUT********************************* */
  .sustai_box {
    padding: 5% 3%;
    margin-bottom: 4%;
  }
  .mincho {
    font-size: 18px;
    padding-bottom: 10px;
  }
  .sus_f_left {
    float: none;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 10px;
  }
  .sus_f_center {
    float: none;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    padding-left: 0;
    padding-bottom: 10px;
  }
  .sus_f_right {
    float: none;
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
  .sus_right {
    text-align: right;
  }
  .pb_10 {
    padding-bottom: 8px;
  }
  .title_center_under {
    font-size: 20px;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.2em;
    margin-right: auto;
    margin-left: auto;
    font-weight: normal;
    margin-bottom: 30px;
  }
  .mo_txt_big p {
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
    margin-bottom: 5%;
    padding: 0 20px;
  }
  .mo_box {
    padding-bottom: 2%;
  }
  .mo_3 {
    float: left;
    width: 44%;
    margin: 0 3% 8.5% 3%;
  }
  .mo_txt {
    padding: 0 0.5% 2% 0 0.5%;
    font-size: 13px;
    line-height: 1.3;
    text-align: left;
  }
  .about_rest_box {
    padding-bottom: 4%;
  }
  .rest_photo {
    float: none;
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
  .rest_bt {
    float: none;
    width: 90%;
    margin: 0 auto;
    text-align: center;
  }
}
/* *****パティスリー エル・サン********************************* */
.title_center_pati {
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.2em;
  margin-right: auto;
  margin-left: auto;
  font-weight: normal;
  margin-bottom: 50px;
}

.title_small {
  font-size: 12px;
}

.pa_txt_big {
  margin-bottom: 5%;
}

.pa_txt_big p {
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 2.5%;
}

/*変更前開始*/
.pati_wrap {
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
  padding: 2.5% 10% 1% 10%;
  margin-bottom: 5%;
}

.pati_box {
  margin-left: 330px;
}

.pati_box p {
  padding: 9% 9% 0 9%;
  font-size: 16px;
}

.pati_box_img {
  padding-top: 10%;
}

.pati_chirashi {
  float: left;
  width: 284px;
}

/*変更前終了*/
.pati_wrap02 {
  padding: 2.5% 23% 1% 23%;
  margin-bottom: 9%;
}

.pati_chirashi02 {
  float: left;
  width: 250px;
}

.pati_chirashi03 {
  float: right;
  width: 250px;
}

.pati_photo_box {
  padding-bottom: 7%;
}

.pati_photo_box div img {
  float: left;
  width: 260px;
}

@media screen and (max-width: 768px) {
  /* *****パティスリー エル・サン********************************* */
  .pa_txt_big {
    margin-bottom: 5%;
  }
  .pa_txt_big p {
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
    margin-bottom: 2.5%;
    padding: 0 15px;
  }
  .pati_wrap02 {
    padding: 4.5% 10% 1% 10%;
    margin-bottom: 5%;
  }
  .pati_box {
    margin-left: 0;
  }
  .pati_box p {
    padding: 9% 0 0 0;
    font-size: 14px;
  }
  .pati_box_img {
    padding-top: 10%;
  }
  .pati_chirashi {
    float: none;
    width: 100%;
  }
  .pati_wrap02 {
    padding: 2.5% 10% 1% 10%;
    margin-bottom: 5%;
  }
  .pati_chirashi02, .pati_chirashi03 {
    float: left;
    width: 50%;
    margin-bottom: 10px;
  }
  .pati_photo_box {
    padding-bottom: 7%;
  }
  .pati_photo_box div img {
    float: left;
    width: 33.3%;
  }
}
/* *****MENU********************************* */
.menu_lunch_wrapper {
  background: #f2e9e2;
  padding: 10px 0;
}

.menu_lunch_wrapper h3 {
  font-weight: normal;
  letter-spacing: 0.2em;
  font-size: 1.4rem;
  padding-bottom: 20px;
}

.menu_time {
  text-align: center;
  padding: 7px 0;
  margin: 0 auto;
  background: #dcdddd;
  font-weight: normal;
  letter-spacing: 0.2em;
}

.menu_month_wrapper h3, .menu_drink_wrapper h3 {
  font-weight: normal;
  letter-spacing: 0.2em;
  font-size: 1.4rem;
  padding-bottom: 25px;
}

.menu_drink_wrapper h4 {
  font-weight: normal;
  letter-spacing: 0.2em;
  font-size: 1.2rem;
  padding-bottom: 25px;
}

.week_txt {
  color: #777;
}

.month_box img {
  display: block;
  width: 360px;
  float: left;
  padding-left: 1.5%;
}

.month_txt_box {
  float: right;
  width: 640px;
}

.month_day {
  color: #aaa;
  padding-bottom: 40px;
}

.month_title {
  font-weight: normal;
  letter-spacing: 0.2em;
  font-size: 1.5rem;
  float: left;
  width: 75%;
}

.month_price {
  float: right;
  width: 20%;
  text-align: right;
  padding-top: 10px;
}

.month_box_s {
  border-bottom: solid 1px #000;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.month_other {
  text-align: left;
  font-size: 14px;
}

.omakase_area {
  padding-bottom: 50px;
  border-bottom: solid 1px #000;
  margin: 30px 0 70px;
}

.omakase_box {
  max-width: 700px;
  margin: 0 auto;
}

.omakase_box img {
  display: block;
  width: 266px;
  float: left;
}

.omakase_txt_box {
  margin-left: 320px;
}

.omakase_title {
  font-weight: normal;
  letter-spacing: 0.2em;
  font-size: 1.6rem;
  padding-bottom: 10px;
}

.omakase_txt {
  padding-bottom: 15px;
}

.omakase_box li {
  text-decoration: inherit;
  float: left;
  width: 50%;
}

.lunch_price {
  text-align: right;
}

.lunch_other {
  border-top: solid 1px #000;
  padding-top: 5px;
}

.menu_right {
  text-align: right;
}

.menu_drink_area {
  padding-bottom: 40px;
}

.menu_drink_left, .menu_eat_left {
  float: left;
  width: 45%;
  padding-left: 1%;
}

.menu_drink_right, .menu_eat_right {
  float: right;
  width: 45%;
  padding-right: 1%;
}

.menu_drink_left dl dt, .menu_drink_right dl dt {
  float: left;
  width: 67%;
  padding-bottom: 13px;
}

.menu_drink_left dl dd, .menu_drink_right dl dd {
  margin-left: 68%;
  text-align: right;
  padding-bottom: 13px;
}

.menu_eat_left dl dt, .menu_eat_right dl dt {
  float: left;
  width: 54%;
  padding-bottom: 13px;
}

.menu_eat_left dl dd, .menu_eat_right dl dd {
  margin-left: 55%;
  text-align: right;
  padding-bottom: 13px;
}

.ddd {
  padding-top: 20px;
}

.left_border {
  border-left: solid 1px #000;
  padding-left: 4%;
}

.pakka_img {
  float: left;
  width: 120px;
}

.pakka_txt {
  margin-left: 150px;
  margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
  /* *****MENU********************************* */
  .menu_lunch_wrapper {
    padding: 10px 0;
    font-size: 13px;
  }
  .menu_drink_wrapper {
    font-size: 13px;
    line-height: 1.4em;
  }
  .menu_lunch_wrapper h3 {
    font-weight: normal;
    letter-spacing: 0.2em;
    font-size: 1.4rem;
    padding-bottom: 20px;
  }
  .menu_time {
    text-align: center;
    padding: 7px 0;
    margin: 0 auto;
    font-weight: normal;
    letter-spacing: 0.2em;
  }
  .menu_month_wrapper h3, .menu_drink_wrapper h3 {
    font-weight: normal;
    letter-spacing: 0.2em;
    font-size: 1.9rem;
    padding-bottom: 15px;
  }
  .menu_drink_wrapper h4 {
    font-weight: normal;
    letter-spacing: 0.2em;
    font-size: 1.6rem;
    padding-bottom: 25px;
  }
  .month_box img {
    display: block;
    width: 100%;
    float: none;
    padding-left: 0;
  }
  .month_txt_box {
    width: 100%;
    float: none;
  }
  .month_day {
    color: #aaa;
    padding-bottom: 40px;
  }
  .month_title {
    font-weight: normal;
    letter-spacing: 0.2em;
    font-size: 1.4rem;
    width: 100%;
    float: none;
  }
  .month_price {
    width: 100%;
    float: none;
    text-align: right;
    padding-top: 10px;
  }
  .month_box_s {
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .month_other {
    text-align: left;
    font-size: 13px;
  }
  .omakase_area {
    padding-bottom: 30px;
    margin: 30px 0 30px;
  }
  .omakase_box {
    max-width: 700px;
    margin: 0 auto;
  }
  .omakase_box img {
    display: block;
    width: 84%;
    float: none;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 20px;
  }
  .omakase_txt_box {
    margin-left: 0;
  }
  .omakase_title {
    font-weight: normal;
    letter-spacing: 0.2em;
    font-size: 1.6rem;
    padding-bottom: 10px;
  }
  .omakase_txt {
    padding-bottom: 15px;
  }
  .omakase_box li {
    text-decoration: inherit;
    width: 100%;
    float: none;
  }
  .lunch_price {
    text-align: right;
  }
  .lunch_other {
    padding-top: 5px;
    line-height: 1.3em;
  }
  .menu_right {
    text-align: right;
  }
  .menu_drink_area {
    padding-bottom: 40px;
  }
  .menu_drink_left, .menu_drink_right, .menu_eat_left, .menu_eat_right {
    width: 100%;
    float: none;
    padding-left: 0;
  }
  .menu_drink_left dl dt, .menu_drink_right dl dt, .menu_eat_left dl dt, .menu_eat_right dl dt {
    width: 100%;
    float: none;
    padding-bottom: 5px;
  }
  .menu_drink_left dl dd, .menu_drink_right dl dd, .menu_eat_left dl dd, .menu_eat_right dl dd {
    margin-left: 0;
    text-align: right;
    padding-bottom: 5px;
    border-bottom: solid 1px #ddd;
    margin-bottom: 15px;
  }
  .left_border {
    border-left: solid 1px #000;
    padding-left: 4%;
  }
  .pakka_img {
    width: 100%;
    float: none;
  }
  .pakka_txt {
    margin-left: 0px;
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) {
  /* ************************************************  *
   *	PC投稿用基本CSS *
   * ************************************************ */
  span.post_days {
    font-size: 12px !important;
  }
  .alignleft,
  img.alignleft {
    display: inline;
    float: left;
    margin-right: 20px;
    margin-top: 4px;
  }
  .alignright,
  img.alignright {
    display: inline;
    float: right;
    margin-left: 20px;
    margin-top: 4px;
  }
  .aligncenter,
  img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  img.alignleft,
  img.alignright,
  img.aligncenter {
    margin-bottom: 12px;
  }
  .alignnone {
    float: none;
  }
  .size-full {
    max-width: 730px;
  }
  .post p {
    line-height: 2;
    padding-bottom: 15px;
    text-align: left;
  }
  .post p.postmeta {
    margin-bottom: 10px;
  }
  .wp-caption-text {
    margin: 5px 0 0;
  }
  .wp-caption {
    border: solid 1px #cccccc;
    background-color: #f1f1f1;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 25px;
  }
  /* ********	PC用アーカイブ用********************** */
  .archive_post {
    border: 1px solid #eee;
    padding: 30px 30px;
    margin: 0 0 65px;
  }
  .post_title {
    font-weight: normal;
    margin-bottom: 20px;
    padding-left: 10px;
    letter-spacing: 0.2em;
    font-size: 24px;
  }
  .archive_post h2 a {
    text-decoration: none;
  }
  .archive_post p.thumb {
    float: left;
    margin: 15px 25px 0 0;
    padding-left: 10px;
    padding-bottom: 20px;
  }
  .archive_txt p {
    padding-left: 20px;
    padding-top: 15px;
    margin-bottom: 30px;
    text-align: left;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  /*===シングル用ページャー=====*/
  .navigation {
    text-align: center;
    padding: 1em 0;
    width: 96%;
    margin-left: 2%;
    margin-right: 2%;
  }
  .navitop {
    float: left;
    width: 12%;
    text-align: center;
  }
  .navileft {
    float: left;
    width: 44%;
    text-align: left;
    word-break: break-all;
    line-height: 1.5em;
    font-size: 12px;
  }
  .naviright {
    float: right;
    width: 44%;
    text-align: right;
    word-break: break-all;
    line-height: 1.5em;
    font-size: 12px;
  }
  /*===シングル用ページャー=====*/
  .navigation {
    text-align: center;
    padding: 1em 0;
    width: 96%;
    margin-left: 2%;
    margin-right: 2%;
  }
  .navitop {
    float: left;
    width: 12%;
    text-align: center;
  }
  .navileft {
    float: left;
    width: 44%;
    text-align: left;
    word-break: break-all;
    line-height: 1.5em;
    font-size: 12px;
  }
  .naviright {
    float: right;
    width: 44%;
    text-align: right;
    word-break: break-all;
    line-height: 1.5em;
    font-size: 12px;
  }
  /* PC用シングルページ
  --------------------------------------------------*/
  #under_twocolumn_area {
    margin-bottom: 50px;
  }
  .eyecatch {
    text-align: center;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin-bottom: 20px;
  }
  .single_kiji p {
    padding-right: 10px;
    padding-left: 10px;
  }
  .date_box, .date_box a {
    color: #666;
  }
  .post p.postdate {
    float: left;
    width: 12%;
    text-align: left;
    font-size: 12px;
    margin: 0;
    padding-right: 15px;
  }
  .post .post-categories {
    float: left;
    width: 20%;
    text-align: left;
    font-size: 12px;
    margin: 0;
    padding-right: 15px;
  }
  .post .post-categories li {
    display: inline;
    background: #f5f5f5;
    padding: 3px 10px;
    margin-right: 5px;
    border-radius: 2px;
  }
}
@media screen and (max-width: 768px) {
  /* ************************************************  *
   *	スマホ投稿用基本CSS *
   * ************************************************ */
  span.post_days {
    font-size: 12px !important;
  }
  .alignleft,
  img.alignleft {
    display: inline;
    float: left;
    margin-right: 20px;
    margin-top: 4px;
  }
  .alignright,
  img.alignright {
    display: inline;
    float: right;
    margin-left: 20px;
    margin-top: 4px;
  }
  .aligncenter,
  img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  img.alignleft,
  img.alignright,
  img.aligncenter {
    margin-bottom: 12px;
  }
  .alignnone {
    float: none;
  }
  .size-full {
    width: 96% !important;
    height: auto;
  }
  .post p {
    line-height: 2;
    padding-bottom: 15px;
    text-align: left;
  }
  .post p.postmeta {
    margin-bottom: 10px;
  }
  .wp-caption-text {
    margin: 5px 0 0;
  }
  .wp-caption {
    border: solid 1px #cccccc;
    background-color: #f1f1f1;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 25px;
  }
  /* ********	 *	タグ基本CSS*********************** */
  #content sup {
    font-size: 10px;
  }
  p {
    display: block;
  }
  #content table th span.require {
    color: red;
    font-size: 10px;
    font-weight: normal;
  }
  div#contents_block {
    margin: 0px 10px 20px 10px;
  }
  input[type=email],
  input[type=text],
  textarea {
    padding: 5px 8px;
    margin: 0px auto;
    border: 1px solid #aaa;
  }
  input[type=submit] {
    padding: 8px 30px;
    margin: 0px auto;
  }
  .contents_block {
    margin: 0px 10px 40px 10px;
  }
  .contents_block p {
    margin: 0px 0px 10px 0px;
  }
  /* ***** *	ブログ用基本CSS************************ */
  .alignleft,
  img.alignleft {
    display: inline;
    float: left;
    margin-right: 20px;
    margin-top: 4px;
  }
  .alignright,
  img.alignright {
    display: inline;
    float: right;
    margin-left: 20px;
    margin-top: 4px;
  }
  .aligncenter,
  img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  img.alignleft,
  img.alignright,
  img.aligncenter {
    margin-bottom: 12px;
  }
  .alignnone {
    float: none;
  }
  #page_navigation {
    margin: 0px 30px;
    height: 30px;
    position: relative;
  }
  .nav_previous,
  .nav_next {
    width: 150px;
    height: 30px;
  }
  .nav_previous a,
  .nav_next a {
    width: 150px;
    height: 30px;
    display: block;
    text-indent: -9999px;
    white-space: nowrap;
    overflow: hidden;
  }
  .nav_previous {
    position: absolute;
    top: 0px;
    left: 0px;
  }
  .nav_next {
    position: absolute;
    top: 0px;
    right: 0px;
  }
  .nav_previous a {
    background: url(images/nav_previous.png);
  }
  .nav_next a {
    background: url(images/nav_next.png);
  }
  /* **********	スマホアーカイブ用 **************** */
  .archive_blog_box {
    float: left;
    width: 48%;
    margin-bottom: 20px;
    margin-left: 1%;
    margin-right: 1%;
  }
  .archive_blog_txt {
    padding: 10px;
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
    border-left: 1px solid #eee;
    text-align: center;
  }
  .archive_blog_txt_postdate {
    color: #aaa;
    font-size: 12px;
  }
  .archive_blog_title {
    font-size: 16px;
  }
  .archive_post {
    border: 1px solid #eee;
    padding: 15px;
    margin: 15px 15px 20px;
  }
  .archive_post h2 a {
    text-decoration: none;
  }
  .archive_post .thumb {
    text-align: center;
    margin-bottom: 10px;
  }
  .archive_post .thumb img {
    width: 85%;
    height: auto;
  }
  .archive_txt p {
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    margin-bottom: 20px;
    text-align: left;
  }
  .post_title {
    font-weight: normal;
    margin-bottom: 20px;
    padding-left: 15px;
    border-bottom: 1px solid #202747;
    letter-spacing: 0.2em;
    font-size: 20px;
    padding-bottom: 12px;
  }
  /* シングルページ
  --------------------------------------------------*/
  #under_twocolumn_area {
    padding: 20px 0;
    margin: 0 0 10px;
  }
  .eyecatch {
    text-align: center;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  .single_kiji p {
    padding-right: 15px;
    padding-left: 15px;
  }
  .post p.postdate {
    text-align: left;
    font-size: 12px;
    margin: 0;
    padding-left: 10px;
  }
  /*===アーカイブページボタン装飾=====*/
  .archive_txt {
    padding-bottom: 20px;
  }
  /*===シングル用ページャー=====*/
  .navigation {
    text-align: center;
    padding: 1em 0;
    width: 96%;
    margin-left: 2%;
    margin-right: 2%;
  }
  .navitop {
    float: left;
    width: 12%;
    text-align: center;
  }
  .navileft {
    float: left;
    width: 44%;
    text-align: left;
    word-break: break-all;
    line-height: 1.5em;
    padding-left: 1%;
    font-size: 12px;
  }
  .naviright {
    float: right;
    width: 44%;
    text-align: right;
    word-break: break-all;
    line-height: 1.5em;
    padding-right: 1%;
    font-size: 12px;
  }
}
@media (min-width: 768px) {
  /*-----	PC用サイド部分----------------------------------------------------*/
  #sidebar {
    background: #fff;
    margin-bottom: 20px;
  }
  .side_menu {
    margin-bottom: 30px;
  }
  .side_post_title {
    font-weight: normal;
    margin-bottom: 0.3rem;
    position: relative;
    padding-left: 5px;
    letter-spacing: 0.2em;
    font-size: 16px;
  }
  .side_menu li, .side_menu .dots_menu li {
    padding: 0px 10px;
    display: block;
  }
  .side_menu li a, .side_menu .dots_menu li a {
    text-decoration: none;
    font-size: 14px;
  }
  .side_menu .dots_menu li a:visited {
    color: #202747;
  }
  .side_menu .dots_menu li a:active {
    color: #202747;
    text-decoration: underline;
  }
  .side_menu .dots_menu li a:hover {
    color: #202747;
    text-decoration: underline;
  }
}
@media (max-width: 768px) {
  /*-----	スマホ用サイド部分----------------------------------------------------*/
  #sidebar {
    border: 1px solid #ddd;
    padding: 15px;
    width: 98%;
    margin-right: 5px;
    margin-bottom: 15px;
    margin-left: 5px;
    background: #fff;
  }
  .side_menu {
    margin-bottom: 10px;
  }
  .side_post_title {
    font-weight: normal;
    margin-bottom: 1.5rem;
    padding: 0.6rem 0;
    position: relative;
    padding-left: 5px;
    letter-spacing: 0.1em;
  }
  .side_menu li, .side_menu .dots_menu li {
    padding: 5px;
    border-bottom: 1px solid #ddd;
    display: block;
  }
  .side_menu li a, .side_menu .dots_menu li a {
    text-decoration: none;
  }
  .side_menu ul li:last-child {
    border: none;
    margin-bottom: 10px;
  }
}
/* ************************************************ *
 *	パソコン用お問い合わせ *
 * ************************************************ */
.policy_area {
  margin-top: 20px;
  padding: 20px 30px;
  margin-bottom: 10px;
  background: #f5f5f5;
  border-radius: 6px;
}

.policy_title {
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 20px;
  letter-spacing: 0.2em;
  font-size: 16px;
  border-bottom: solid 1px #ccc;
  padding-right: 20px;
  padding-left: 20px;
}

.contact_txt_area_img {
  float: right;
  width: 560px;
  padding-bottom: 40px;
}

.contact_txt_area {
  float: left;
  width: 450px;
  padding-bottom: 30px;
}

.contact_txt_area h3 {
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.2em;
  padding-top: 20px;
  padding-bottom: 20px;
}

.contact_txt_area p {
  font-size: 16px;
  letter-spacing: 0.2em;
}

.contact_tel {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  padding-bottom: 20px;
  line-height: 0.5em;
  margin-top: 65px;
}

.tel_big {
  font-size: 2.8rem;
  font-weight: normal;
  letter-spacing: 0.2em;
}

.tel_time {
  text-align: center;
  padding-bottom: 90px;
}

.soushinblock {
  text-align: center;
  padding: 40px 0px 20px;
  margin-bottom: 25px;
}

.inq_box {
  padding: 3%;
  margin-bottom: 1%;
  border-radius: 6px;
  background: #f7f7f7;
}

.page_contactform h3 {
  font-weight: bold;
  font-size: 17px;
  border-bottom: solid 1px #666;
  padding-bottom: 5px;
  margin-bottom: 10px;
  padding-left: 10px;
}

.soushinblock input[type=submit], .soushinblock input[type=button] {
  padding: 10px 80px;
  margin: 0px auto;
  background: #7B673F;
  -webkit-border-radius: 3;
  -moz-border-radius: 3;
  border-radius: 3px;
  font-family: Arial;
  color: #ffffff;
  font-size: 14px;
  padding: 15px 80px;
  text-decoration: none;
  border: 1px solid #fff;
  cursor: pointer;
  font-weight: bold;
}

.soushinblock input[type=submit]:hover, .soushinblock input[type=button]:hover {
  background: #564527;
  text-decoration: none;
}

.soushinblock #confirmation {
  padding: 10px 80px;
  margin: 0px auto;
  background: #041B44;
  -webkit-border-radius: 3;
  -moz-border-radius: 3;
  border-radius: 3px;
  font-family: Arial;
  color: #ffffff;
  font-size: 14px;
  padding: 15px 80px;
  text-decoration: none;
  border: 1px solid #fff;
  cursor: pointer;
  font-weight: bold;
}

.soushinblock #confirmation:hover {
  background: #9DD1CF;
  text-decoration: none;
}

span.required {
  font-size: 13px;
  font-weight: normal;
  color: #d40000;
}

.contact_block_right input[type=tel],
.contact_block_right input[type=email],
.contact_block_right input[type=text],
.contact_block_right textarea {
  padding: 8px 8px;
  border: 1px solid #cccccc;
  margin-bottom: 3px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}

.contact_block_right input[type=tel],
.contact_block_right input[type=email] {
  width: 65%;
}

.age input[type=text] {
  width: 5% !important;
  margin-right: 8px;
}

.contact_block_right input[type=text] {
  width: 65%;
}

.contact_block_right .half {
  width: 30% !important;
}

.contact_block_right .half_s {
  width: 20% !important;
}

#zip2 {
  width: 20%;
}

.contact_block_right textarea {
  background: #FFF;
  width: 90%;
}

dl#contact_block {
  border-bottom: 1px solid #dcdcdc;
  padding: 0px 0px 0px 0px;
}

dl#contact_block:last-child {
  border: none;
}

.page_contactform {
  padding: 5px;
  width: 90%;
  margin: 0 auto;
}

dl#contact_block .contact_block_right {
  width: 73%;
  float: right;
  padding: 15px 10px 10px 10px;
  line-height: 110%;
}

dl#contact_block .contact_block_left {
  padding: 15px 10px 10px 30px;
  vertical-align: top;
  text-align: left;
  width: 22%;
  float: left;
}

/* チェックボックス */
.wpcf7-list-item {
  display: block;
  text-align: left;
  margin-bottom: 10px;
}

.checkbox_box {
  background: #fff;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  padding: 8px 0px;
  margin: 10px 0px;
}

input[type=radio],
input[type=checkbox] {
  border: 1px solid #e2e2e2;
  vertical-align: -8px;
  -webkit-appearance: none;
  position: relative;
  margin-right: 5px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  width: 26px;
  height: 26px;
  background: #e2e2e2;
}

input[type=radio]:checked,
input[type=checkbox]:checked {
  /*Other Browser*/
  background: #d60000;
  border: 1px solid #e2e2e2;
}

input[type=radio]:checked:before,
input[type=checkbox]:checked:before {
  position: absolute;
  left: 1px;
  top: 16px;
  display: block;
  content: "";
  width: 10px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center;
}

input[type=radio]:checked:after,
input[type=checkbox]:checked:after {
  display: block;
  position: absolute;
  left: 9px;
  top: 16px;
  content: "";
  width: 16px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center;
}

select {
  background: #fff;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  font-size: 14px;
  height: 30px;
  line-height: 30px;
  text-align: left;
  text-indent: 5px;
  vertical-align: middle;
  width: 140px;
  margin: 0px 8px;
}

.wpcf7c-elm-step2 {
  text-align: center;
  color: #C40000;
  padding-bottom: 50px;
}

@media (max-width: 768px) {
  /* ***スマホ用お問い合わせ *	*********************************************** */
  .under_area {
    padding-left: 5%;
    padding-right: 5%;
  }
  .contact_txt_area p {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  .contact_tel {
    text-align: center;
    padding-bottom: 5px;
    font-size: 18px;
    margin-top: 0px;
  }
  .tel_big {
    font-weight: bold;
    letter-spacing: 0.2em;
    font-size: 22px;
    padding-bottom: 20px;
  }
  .tel_time {
    text-align: left;
    padding: 20px 15px;
  }
  .policy_area {
    border: solid 1px #ddd;
    padding: 20px;
    background: #fff;
    -webkit-border-radius: 3;
    -moz-border-radius: 3;
    border-radius: 3px;
    font-size: 12px;
    line-height: 1.4em;
  }
  .policy_title {
    text-align: center;
    border-bottom: solid 1px #ddd;
    padding-bottom: 5px;
    margin-bottom: 10px;
    font-size: 14px;
  }
  .soushinblock {
    text-align: center;
    padding: 40px 15px 20px;
  }
  .wpcf7c-elm-step2 {
    padding: 20px 15px;
  }
  .soushinblock input[type=submit] {
    padding: 10px 80px;
    margin: 0px auto;
    background: #7B673F;
    background-image: -webkit-linear-gradient(top, #7B673F, #7B673F);
    background-image: -moz-linear-gradient(top, #7B673F, #7B673F);
    background-image: -ms-linear-gradient(top, #7B673F, #7B673F);
    background-image: -o-linear-gradient(top, #7B673F, #7B673F);
    background-image: linear-gradient(to bottom, #7B673F, #7B673F);
    -webkit-border-radius: 3;
    -moz-border-radius: 3;
    border-radius: 3px;
    color: #ffffff;
    font-size: 14px;
    padding: 15px 80px;
    text-decoration: none;
    border: 1px solid #fff;
    cursor: pointer;
    font-weight: bold;
  }
  .soushinblock input[type=submit]:hover {
    background: #51432B;
    background-image: -webkit-linear-gradient(top, #51432B, #51432B);
    background-image: -moz-linear-gradient(top, #51432B, #51432B);
    background-image: -ms-linear-gradient(top, #51432B, #51432B);
    background-image: -o-linear-gradient(top, #51432B, #51432B);
    background-image: linear-gradient(to bottom, #51432B, #51432B);
    text-decoration: none;
  }
  span.required {
    font-size: 10px;
    font-weight: normal;
    color: #D40000;
  }
  .contact_block_right input[type=tel],
  .contact_block_right input[type=email],
  .contact_block_right input[type=text],
  .contact_block_right textarea {
    padding: 8px 8px;
    border: 1px solid #cccccc;
    margin-bottom: 3px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
  }
  .contact_block_right input[type=tel],
  .contact_block_right input[type=email],
  .contact_block_right input[type=text] {
    width: 98%;
  }
  .age input[type=text] {
    width: 5% !important;
    margin-right: 8px;
  }
  .contact_block_right input[type=text] {
    width: 98%;
  }
  .contact_block_right .half {
    width: 98% !important;
  }
  .contact_block_right .half_s {
    width: 70% !important;
  }
  .contact_block_right textarea {
    width: 98%;
    background: #FFF;
  }
  dl#contact_block {
    border-bottom: 1px dotted #aaa;
    padding: 0px 0px 0px 0px;
  }
  dl#contact_block:last-child {
    border: none;
  }
  .page_contactform {
    padding: 5px;
    width: 96%;
    margin: 0 auto;
  }
  dl#contact_block .contact_block_right {
    padding: 5px 7px 5px 10px;
    line-height: 110%;
    width: 67%;
  }
  dl#contact_block .contact_block_left {
    padding: 5px 7px 2px;
    vertical-align: top;
    text-align: left;
    font-weight: bold;
    font-size: 12px;
    width: 32%;
  }
  /* チェックボックス */
  .wpcf7-list-item {
    display: block;
    text-align: left;
    margin-bottom: 10px;
  }
  .checkbox_box {
    background: #fff;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    padding: 8px 0px;
    margin: 10px 0px;
  }
  input[type=radio],
  input[type=checkbox] {
    border: 1px solid #e2e2e2;
    vertical-align: -8px;
    -webkit-appearance: none;
    position: relative;
    margin-right: 5px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-sizing: border-box;
    width: 26px;
    height: 26px;
    background: #e2e2e2;
  }
  input[type=radio]:checked,
  input[type=checkbox]:checked {
    /*Other Browser*/
    background: #FF8000;
    border: 1px solid #e2e2e2;
  }
  input[type=radio]:checked:before,
  input[type=checkbox]:checked:before {
    position: absolute;
    left: 1px;
    top: 16px;
    display: block;
    content: "";
    width: 10px;
    height: 4px;
    background: #ffffff;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: right center;
  }
  input[type=radio]:checked:after,
  input[type=checkbox]:checked:after {
    display: block;
    position: absolute;
    left: 9px;
    top: 16px;
    content: "";
    width: 16px;
    height: 4px;
    background: #ffffff;
    -webkit-transform: rotate(-53deg);
    -webkit-transform-origin: left center;
  }
  .wpcf7-select {
    height: 27px;
  }
  select {
    background: #fff;
    border: 1px solid #cccccc;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    font-size: 14px;
    height: 15px;
    line-height: 30px;
    text-align: left;
    text-indent: 5px;
    vertical-align: middle;
    margin: 0px 0px;
  }
}
/* PC用業務内容ページ--------------------------------------------------*/
.service_box {
  float: left;
  width: 31.5%;
  margin: 0 0.5%;
  padding-bottom: 4%;
}

.service_box h3 {
  background-color: #eee;
  padding: 5px 10px;
  margin-bottom: 10px;
  text-align: center;
}

.service_img {
  text-align: center;
}

.service_txt {
  padding: 0 10px;
}

@media (max-width: 768px) {
  /*SP用業務内容ページ--------------------------------------------------*/
  .service_box {
    float: left;
    width: 48.5%;
    margin: 0 0.5%;
    padding-bottom: 4%;
  }
  .service_box h3 {
    font-size: 12px;
    padding: 5px 5px;
  }
}
/* PC用会社概要ページ--------------------------------------------------*/
.company_table {
  width: 97%;
  margin: 30px auto 80px;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-left: 1px solid #ddd;
}

.company_table th, .company_table td {
  padding: 15px;
}

.company_table th {
  vertical-align: middle;
  text-align: left;
  width: 30%;
  overflow: visible;
  position: relative;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.company_table td {
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
}

@media (max-width: 768px) {
  /* スマホ用会社概要ページ------------------------------------------------*/
  .company_table {
    width: 90%;
    margin: 30px auto 40px;
  }
  .company_table th, .company_table td {
    padding: 5px 5px;
  }
  .company_table th {
    vertical-align: middle;
    text-align: left;
    width: 23%;
    overflow: visible;
    position: relative;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
  }
  .company_table td {
    vertical-align: middle;
    border-bottom: 1px solid #ddd;
  }
}
/* 下層施工事例
----------------------------------------------------------------------------------------*/
.works_area {
  padding-left: 0%;
  padding-right: 0%;
}

.under_works_height {
  width: 24.5%;
  max-height: 180px !important;
  color: #000000;
  text-align: center;
}

/* PC用制作事例シングルページ
--------------------------------------------------*/
.single_works_area {
  padding-right: 5%;
  padding-left: 5%;
}

.works_eyecatch {
  text-align: center;
  width: 980px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}

.works_single_kiji p {
  margin-top: 30px;
  padding-right: 10px;
  padding-left: 10px;
  font-size: 14px;
}

.post p.postdate {
  text-align: left;
  font-size: 13px;
  margin: 0;
}

@media (max-width: 768px) {
  /* スマホ用制作事例シングルページ
  --------------------------------------------------*/
  .single_works_area {
    padding-right: 5%;
    padding-left: 5%;
  }
  .works_eyecatch {
    text-align: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
  }
}
/* 共通----------------------------------------------------------------------------------------*/
a.link_yes {
  text-decoration: underline;
}

.red {
  color: #d50000;
}

.white {
  color: #fff;
}

.img_center {
  text-align: center;
}

.center {
  text-align: center;
}

.bold {
  font-weight: bold;
}

.small {
  font-size: 11px !important;
}

.big_s {
  font-size: 14px;
  font-size: 1.4rem;
}

.img_radius {
  border-radius: 6px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
}

.swiper-container {
  width: 100%;
  padding-bottom: 40px;
}

.swiper-slide {
  padding-top: 180px; /* 画像位置の調整用 */
  text-align: center;
  color: #fff;
  font-size: 30px;
}

.swiper-pagination-bullet-active {
  background: #666 !important;
}

.box_left {
  float: left;
  width: 20%;
}

.box_right {
  float: right;
  width: 80%;
}

@media (max-width: 768px) {
  .swiper-container {
    margin-top: 20px;
    width: 100%;
    height: 100vh;
    padding-bottom: 40px;
  }
  .box_left {
    float: none;
    width: 100%;
  }
  .box_right {
    float: none;
    width: 100%;
  }
}
.bg-slider {
  width: 100vw !important;
  height: 100vh !important;
  background-position: center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bg-slider_title {
  color: #fff;
  font-size: 48px;
  letter-spacing: 0.2em;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  text-shadow: 1px 1px 1px #000;
}

@media (max-width: 768px) {
  .bg-slider_title {
    font-size: 26px;
    padding: 0 2%;
    line-height: 1.8;
  }
}
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 40px 0;
  position: relative;
  font-size: 13px;
}

.pagination span, .pagination a {
  display: block;
  width: auto;
  margin: 4px;
  padding: 8px;
  border: 1px solid #000;
  background-color: #fff;
  text-decoration: none;
  text-align: center;
  line-height: 16px;
}

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

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current {
  color: #fff;
  border-color: #000;
  background-color: #000;
}

/* 前へ */
.pagination a.before {
  margin-right: 16px;
}

/* 次へ */
.pagination a.next {
  margin-left: 16px;
}

/* 最初へ */
/* 最後へ */
/* Page x / y */
.pagination span.page_num {
  display: none;
}

.pt_40 {
  padding-top: 40px;
}

.pt_40 {
  padding-bottom: 40px;
}

.mt_-1 {
  margin-top: -13px !important;
}

.mt_2 {
  margin-top: 2rem;
}

.mb_05 {
  margin-bottom: 0.5rem;
}

.mb_075 {
  margin-bottom: 0.75rem;
}

.mb_1 {
  margin-bottom: 1rem;
}

.mb_15 {
  margin-bottom: 1.5rem;
}

.mb_2 {
  margin-bottom: 2rem;
}

.mb_3 {
  margin-bottom: 3rem;
}

.mb_4 {
  margin-bottom: 4rem;
}

.mb_5 {
  margin-bottom: 5rem;
}

.mb_6 {
  margin-bottom: 6rem;
}

.mb_8 {
  margin-bottom: 8rem;
}

.ml_1 {
  margin-left: 1rem;
}

.ml_2 {
  margin-left: 2rem;
}

.ml_3 {
  margin-left: 3rem;
}

.ml_35 {
  margin-left: 3.5rem;
}

.ml_7 {
  margin-left: 7rem;
}

.ml_30 {
  margin-left: 30%;
}

.pt_05 {
  padding-top: 0.5rem;
}

.pt_075 {
  padding-top: 0.75rem;
}

.pt_1 {
  padding-top: 1rem;
}

.pt_15 {
  padding-top: 1.5rem;
}

.pt_2 {
  padding-top: 2rem;
}

.pt_3 {
  padding-top: 3rem;
}

.pt_4 {
  padding-top: 4rem;
}

.pt_5 {
  padding-top: 5rem;
}

.pt_6 {
  padding-top: 6rem;
}

.pt_7 {
  padding-top: 7rem;
}

.pt_8 {
  padding-top: 8rem;
}

.pt_12 {
  padding-top: 12rem;
}

.pt_14 {
  padding-top: 14rem;
}

.pt_16 {
  padding-top: 16rem;
}

.pt_20 {
  padding-top: 20rem;
}

.pb_05 {
  padding-bottom: 0.5rem;
}

.pb_075 {
  padding-bottom: 0.75rem;
}

.pb_1 {
  padding-bottom: 1rem;
}

.pb_15 {
  padding-bottom: 1.5rem;
}

.pb_2 {
  padding-bottom: 2rem;
}

.pb_3 {
  padding-bottom: 3rem;
}

.pb_4 {
  padding-bottom: 4rem;
}

.pb_5 {
  padding-bottom: 5rem;
}

.pb_6 {
  padding-bottom: 6rem;
}

.pb_7 {
  padding-bottom: 7rem;
}

.pb_8 {
  padding-bottom: 8rem;
}

.pb_9 {
  padding-bottom: 9rem;
}

.pb_11 {
  padding-bottom: 11rem;
}

.pb_12 {
  padding-bottom: 12rem;
}

.pl_05 {
  padding-left: 0.5rem;
}

.pl_075 {
  padding-left: 0.75rem;
}

.pl_1 {
  padding-left: 1rem;
}

.pl_15 {
  padding-left: 1.5rem;
}

.pl_2 {
  padding-left: 2rem;
}

.pl_3 {
  padding-left: 3rem;
}

.pl_4 {
  padding-left: 4rem;
}

.pl_5 {
  padding-left: 5rem;
}

.pl_6 {
  padding-left: 6rem;
}

.pl_7 {
  padding-left: 7rem;
}

.pl_8 {
  padding-left: 8rem;
}

.pl_10 {
  padding-left: 10rem;
}

.pr_05 {
  padding-right: 0.5rem;
}

.pr_075 {
  padding-right: 0.75rem;
}

.pr_1 {
  padding-right: 1rem;
}

.pr_15 {
  padding-right: 1.5rem;
}

.pr_2 {
  padding-right: 2rem;
}

.pr_3 {
  padding-right: 3rem;
}

.pr_4 {
  padding-right: 4rem;
}

.pr_5 {
  padding-right: 5rem;
}

@media (max-width: 768px) {
  .sp_w_90 {
    max-width: 84%;
    margin: 0 8% 2% 8%;
  }
  .sp_ml_2 {
    margin-left: 2rem;
  }
  .sp_mr_2 {
    margin-right: 2rem;
  }
  .sp_ml_3 {
    margin-left: 3rem;
  }
  .sp_mr_3 {
    margin-right: 3rem;
  }
  .sp_mb_05 {
    margin-bottom: 0.5rem;
  }
  .sp_mb_075 {
    margin-bottom: 0.75rem;
  }
  .sp_mb_1 {
    margin-bottom: 1rem;
  }
  .sp_mb_15 {
    margin-bottom: 1.5rem;
  }
  .sp_mb_2 {
    margin-bottom: 2rem;
  }
  .sp_mb_3 {
    margin-bottom: 3rem;
  }
  .sp_mb_4 {
    margin-bottom: 4rem;
  }
  .sp_mb_5 {
    margin-bottom: 5rem;
  }
  .sp_mb_6 {
    margin-bottom: 6rem;
  }
  .sp_pt_0 {
    padding-top: 0;
  }
  .sp_pt_05 {
    padding-top: 0.5rem;
  }
  .sp_pt_075 {
    padding-top: 0.75rem;
  }
  .sp_pt_1 {
    padding-top: 1rem;
  }
  .sp_pt_15 {
    padding-top: 1.5rem;
  }
  .sp_pt_2 {
    padding-top: 2rem;
  }
  .sp_pt_3 {
    padding-top: 3rem;
  }
  .sp_pt_4 {
    padding-top: 4rem;
  }
  .sp_pt_5 {
    padding-top: 5rem;
  }
  .sp_pt_6 {
    padding-top: 6rem;
  }
  .sp_pt_7 {
    padding-top: 7rem;
  }
  .sp_pt_8 {
    padding-top: 8rem;
  }
  .sp_pb_0 {
    padding-bottom: 0;
  }
  .sp_pb_05 {
    padding-bottom: 0.5rem;
  }
  .sp_pb_075 {
    padding-bottom: 0.75rem;
  }
  .sp_pb_1 {
    padding-bottom: 1rem;
  }
  .sp_pb_15 {
    padding-bottom: 1.5rem;
  }
  .sp_pb_2 {
    padding-bottom: 2rem;
  }
  .sp_pb_3 {
    padding-bottom: 3rem;
  }
  .sp_pb_4 {
    padding-bottom: 4rem;
  }
  .sp_pb_5 {
    padding-bottom: 5rem;
  }
  .sp_pb_6 {
    padding-bottom: 6rem;
  }
  .sp_pb_7 {
    padding-bottom: 7rem;
  }
  .sp_pb_8 {
    padding-bottom: 8rem;
  }
  .sp_pb_9 {
    padding-bottom: 9rem;
  }
  .sp_pb_10 {
    padding-bottom: 10rem;
  }
  .sp_pb_11 {
    padding-bottom: 11rem;
  }
  .sp_pb_12 {
    padding-bottom: 12rem;
  }
  .sp_pl_0 {
    padding-left: 0;
  }
  .sp_pl_05 {
    padding-left: 0.5rem;
  }
  .sp_pl_075 {
    padding-left: 0.75rem;
  }
  .sp_pl_1 {
    padding-left: 1rem;
  }
  .sp_pl_15 {
    padding-left: 1.5rem;
  }
  .sp_pl_2 {
    padding-left: 2rem;
  }
  .sp_pl_3 {
    padding-left: 3rem;
  }
  .sp_pl_4 {
    padding-left: 4rem;
  }
  .sp_pr_0 {
    padding-right: 0;
  }
  .sp_pr_05 {
    padding-right: 0.5rem;
  }
  .sp_pr_075 {
    padding-right: 0.75rem;
  }
  .sp_pr_1 {
    padding-right: 1rem;
  }
  .sp_pr_15 {
    padding-right: 1.5rem;
  }
  .sp_pr_2 {
    padding-right: 2rem;
  }
  .sp_pr_3 {
    padding-right: 3rem;
  }
  .sp_pr_4 {
    padding-right: 4rem;
  }
}
.under_wrapper_title {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 40px 0;
  background-color: #9ECECD;
}
.under_wrapper_title img {
  width: 80%;
  display: inline-block;
}
@media (min-width: 768px) {
  .under_wrapper_title img {
    width: 500px;
  }
}

.cake_area {
  width: 100%;
  max-width: 80%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0;
}
.cake_area .cake_col_2 {
  width: 100%;
  position: relative;
  margin-bottom: 30px;
  transition: transform 0.3s ease;
}
@media (min-width: 768px) {
  .cake_area .cake_col_2 {
    width: 49%;
  }
  .cake_area .cake_col_2:nth-of-type(1) {
    margin-right: 2%;
  }
}
.cake_area .cake_col_2 img {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}
.cake_area .cake_col_2 h2 {
  width: 100%;
  font-size: 16px;
}
@media (min-width: 768px) {
  .cake_area .cake_col_2 h2 {
    font-size: 16px;
  }
}
.cake_area .cake_col_3 {
  width: 100%;
  position: relative;
  margin-bottom: 30px;
  transition: transform 0.3s ease;
}
@media (min-width: 768px) {
  .cake_area .cake_col_3 {
    width: 32%;
    margin: 0 2% 40px 0;
  }
  .cake_area .cake_col_3:nth-of-type(3n) {
    margin-right: 0;
  }
}
.cake_area .cake_col_3 img {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}
.cake_area .cake_col_3 h2 {
  width: 100%;
  font-size: 16px;
}
@media (min-width: 768px) {
  .cake_area .cake_col_3 h2 {
    font-size: 16px;
  }
}
.cake_area .pdf_link {
  width: 100%;
  display: block;
  padding: 20px;
  background-color: #9ECECD;
}
.cake_area .pdf_link span {
  border: 1px solid #40210F;
  display: block;
  text-align: center;
  padding: 10px;
  color: #40210F;
  font-size: 16px;
}
@media (min-width: 768px) {
  .cake_area .pdf_link span {
    font-size: 20px;
  }
}

/***** 250328追加 *****/
a.reserve_btn {
  position: fixed;
  right: 0;
  bottom: 0;
  display: inline-block;
  background-color: #555;
  color: #fff !important;
  line-height: 1;
  padding: 15px 25px;
  z-index: 1;
}
@media (min-width: 1024px) {
  a.reserve_btn {
    padding: 20px 30px;
    transition: background-color 0.3s;
  }
  a.reserve_btn:hover {
    background-color: #999;
    opacity: 1;
  }
}
a.reserve_btn span {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  padding-left: 20px;
}
@media (min-width: 1024px) {
  a.reserve_btn span {
    font-size: 16px;
    padding-left: 25px;
  }
}
a.reserve_btn span::before {
  position: absolute;
  left: 0;
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-left: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(135deg);
}
@media (min-width: 1024px) {
  a.reserve_btn span::before {
    width: 7px;
    height: 7px;
  }
}/*# sourceMappingURL=common.css.map */