@charset "UTF-8";
/*!
Theme Name: watanabenaisou
Description: 有限会社渡辺内装
Theme URI: https://www.watanabenaisou.co.jp
Version: 1.0
License: watanabenaisou
License URI: https://www.watanabenaisou.co.jp
*/
/****************************************

リセットCSSここから

*****************************************/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap");
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  /*1em=10px */
  overflow-y: scroll;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

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

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

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

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

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

del {
  text-decoration: line-through;
}

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

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

img {
  vertical-align: top;
}

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

input, select {
  vertical-align: middle;
}

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

共通変数

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

メディアクエリ/レスポンシブ用mixin

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

フォント

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

アニメーション系

*****************************************/
/* ホバー下線表示（左から） */
/* ホバー下線表示（左から,複数行） */
/* ホバー下線消える（左から,複数行） */
/* ホバー下線消える（左から） */
/****************************************

body設定(主に書式)

*****************************************/
body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku gothic ProN", "ＭＳ Ｐゴシック", "MS Pgothic", sans-serif;
  color: #000;
  background: #fff;
  line-height: 1.8;
  letter-spacing: 0.05em;
  min-width: 1240px;
}

@media screen and (max-width: 767px) {
  body {
    min-width: initial;
  }
}
/****************************************

ページ共通

*****************************************/
#wrapper {
  width: 100%;
  min-height: 100%;
  float: none;
  margin: 0 auto;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  #wrapper {
    width: 100%;
    min-width: 0;
    min-height: 100%;
    float: none;
    margin: 0 auto;
    overflow: hidden;
  }
}
/****************************************
フォント指定

*****************************************/
li,
tt,
tr,
dt,
dd,
p {
  font-size: 1.8rem;
}

h1 {
  font-weight: bold;
  font-size: 2.7rem;
}

h2 {
  font-size: 1.8rem;
}

h3 {
  font-size: 1.8rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.4em;
  font-weight: bold;
}

.gothic {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 767px) {
  li,
  tt,
  tr,
  dt,
  dd,
  p {
    font-size: 1.4rem;
  }
  h1 {
    font-size: 2.2rem;
  }
  h2 {
    font-size: 1.6rem;
  }
  h3 {
    font-size: 1.6rem;
  }
}
/****************************************

リンク指定&オンマウス時のアクション

*****************************************/
a:link, a:visited {
  font-weight: normal;
  color: #000;
  text-decoration: underline;
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
a:hover, a:active {
  color: #224799;
  text-decoration: none;
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
a:hover img.img_opacity {
  opacity: 0.75;
  filter: alpha(opacity=75);
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
a img.img_opacity {
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
a:hover img.img_up {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
a img.img_up {
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}

a.tellink {
  text-decoration: none;
}

a.linkline {
  color: #000;
  text-decoration: none; /* デフォルトの下線を非表示にする */
  background-image: -webkit-gradient(linear, left top, right top, from(#000), to(#000));
  background-image: linear-gradient(90deg, #000, #000); /* 線の色 */
  background-repeat: no-repeat;
  background-position: right bottom; /* 線の起点を左・下に設定 */
  background-size: 100% 1px; /* 線の横幅を100%にする */
  -webkit-transition: background-size 0.9s;
  transition: background-size 0.9s; /* 線を伸ばすアニメーション実行時間を指定（0.9秒かけて線の横幅を0から100%にする） */
}
a.linkline:hover {
  background-size: 0 1px; /* 線の横幅を0、縦幅を1pxに */
  color: #224799;
}

a.linkline02 {
  color: #224799;
  text-decoration: none; /* デフォルトの下線を非表示にする */
  background-image: -webkit-gradient(linear, left top, right top, from(#224799), to(#224799));
  background-image: linear-gradient(90deg, #224799, #224799); /* 線の色 */
  background-repeat: no-repeat;
  background-position: right bottom; /* 線の起点を左・下に設定 */
  background-size: 100% 1px; /* 線の横幅を100%にする */
  -webkit-transition: background-size 0.9s;
  transition: background-size 0.9s; /* 線を伸ばすアニメーション実行時間を指定（0.9秒かけて線の横幅を0から100%にする） */
}
a.linkline02:hover {
  background-size: 0 1px; /* 線の横幅を0、縦幅を1pxに */
  color: #224799;
}
a.linkline02 {
  font-weight: 600;
}
a.linkline02:hover {
  color: rgba(34, 71, 153, 0.75);
}

/* PCのの場合は電話番号のリンク無効 */
@media screen and (min-width: 768px) {
  a.tellink {
    pointer-events: none;
  }
}
/****************************************

pcヘッダー

*****************************************/
@media print, screen and (min-width: 768px) {
  #sp_navi {
    display: none;
  }
  header {
    position: relative;
    margin: 0 auto 0;
  }
  .header_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0px 0 0px 1.5%;
    min-height: 236px;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 2;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(158, 185, 243, 0.63)), color-stop(rgba(158, 185, 243, 0.63)), color-stop(rgba(158, 185, 243, 0.63)), to(transparent));
    background: linear-gradient(180deg, rgba(158, 185, 243, 0.63), rgba(158, 185, 243, 0.63), rgba(158, 185, 243, 0.63), transparent);
  }
  .header_top .logo {
    margin-top: 30px;
    width: 22.3%;
    position: absolute;
  }
  .header_top {
    /* 右上：固定ボタン */
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1550px) and (min-width: 768px) {
  .header_top .logo {
    margin-top: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .header_top .logo a {
    display: block;
    min-width: 330px;
  }
  .header_top .logo img {
    width: 100%;
    height: auto;
    max-width: 430px;
  }
  .header_top .header_right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-left: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-right: 150px;
    padding: 10px 0 0px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .header_top .header_contact {
    margin-right: 25px;
    text-align: right;
  }
  .header_top .header_info {
    position: absolute;
    top: 0;
    right: 0;
    width: 150px;
    z-index: 99;
  }
  .header_top .header_info a {
    background: #224799;
  }
  .header_top .header_info a:hover {
    background: rgba(11, 24, 51, 0.75);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
  }
  a.contact_btn_head {
    text-decoration: none;
    color: #FFF;
    font-size: 1.8rem;
    font-weight: 900;
    font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
    text-align: center;
    letter-spacing: 0.005em;
    line-height: 1.2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    word-break: keep-all;
    height: 150px;
    width: 100%;
  }
  a.contact_btn_head:before {
    content: "";
    background: url(images/icon_mail.svg) no-repeat;
    width: 80px;
    height: 55px;
    margin-bottom: 8px;
    margin-top: 20px;
  }
  .header_txt p {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    line-height: 1;
  }
  a.contact_tel {
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.05em;
    text-decoration: none;
    padding-left: 32px;
    background: url(images/icon_tel.svg) bottom 45% left no-repeat;
    word-break: keep-all;
    font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  }
}
/****************************************

spヘッダー

*****************************************/
@media screen and (max-width: 767px) {
  #g_navi {
    display: none;
  }
  img {
    width: 100%;
    height: auto;
  }
  header {
    position: relative;
  }
  .header_top {
    padding: 15px 15px 15px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(158, 185, 243, 0.63)), color-stop(rgba(158, 185, 243, 0.63)), color-stop(rgba(158, 185, 243, 0.63)), to(transparent));
    background: linear-gradient(180deg, rgba(158, 185, 243, 0.63), rgba(158, 185, 243, 0.63), rgba(158, 185, 243, 0.63), transparent);
    min-height: 90px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
  }
  .logo a {
    display: block;
    margin: 0px 0 0px 10px;
    z-index: 9;
    width: 55%;
    text-align: center;
    max-width: 300px;
    position: relative;
  }
  .header_right {
    display: none;
  }
  .header_info {
    display: none;
  }
  .header_txt {
    display: none;
  }
  a.contact_tel {
    font-size: 3rem;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-decoration: none;
    padding-left: 30px;
    background: url(images/icon_tel.svg) center left no-repeat;
    background-size: 20px;
    word-break: keep-all;
    font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  }
  #toggle {
    width: 50px;
    height: 50px;
    background: #224799;
    cursor: pointer;
    z-index: 9999;
    position: fixed;
    right: 10px;
    top: 10px;
    opacity: 0.95;
  }
  #toggle:hover {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transition: 0.2s linear;
    transition: 0.2s linear;
  }
  #toggle:after {
    position: absolute;
    content: "MENU";
    line-height: 1.2;
    color: #fff;
    text-align: center;
    bottom: 5px;
    left: 0;
    width: 100%;
    font-weight: 900;
    font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  }
  #toggle div {
    position: relative;
  }
  #toggle span {
    display: block;
    position: absolute;
    /*#navToggle div に対して*/
    width: 26px;
    height: 2px;
    background: #fff;
    right: 12px;
    -webkit-transition: 0.35s ease-in-out;
    transition: 0.35s ease-in-out;
  }
  #toggle span:nth-child(1) {
    top: 11px;
  }
  #toggle span:nth-child(2) {
    top: 18px;
  }
  #toggle span:nth-child(3) {
    top: 25px;
  }
  /*spanの絶対位置指定の親にします*/
  .open_navi #toggle {
    position: fixed;
    background: #0b1833;
  }
  .open_navi #toggle span:nth-of-type(1) {
    -webkit-transform: translateY(7px) rotate(-315deg);
    transform: translateY(7px) rotate(-315deg);
  }
  .open_navi #toggle span:nth-of-type(2) {
    opacity: 0;
  }
  .open_navi #toggle span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(315deg);
    transform: translateY(-7px) rotate(315deg);
  }
  #sp_navi {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100vw;
    overflow-y: scroll;
    text-align: left;
    background-color: rgba(34, 71, 153, 0.9); /*spナビ背景*/
    z-index: 999;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: 0.7s ease-in-out;
    transition: 0.7s ease-in-out;
    font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  }
  .open_navi #sp_navi {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: 0.7s ease-in-out;
    transition: 0.7s ease-in-out;
  }
  #sp_navi .menu {
    padding-top: 80px;
    text-align: center;
  }
  #sp_navi .menu .menu-item {
    width: 100%;
    text-align: center;
    border: rgba(227, 234, 249, 0.7) 1px solid; /*spナビ線*/
    cursor: pointer;
    color: #fff; /*spナビ文字色*/
    margin: 0 auto;
    font-size: 1.4rem;
    letter-spacing: 0.06em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  #sp_navi .menu > .menu-item:not(:last-child) {
    border-bottom: none;
  }
  #sp_navi .menu-item a {
    display: block;
    padding: 11px 0 10px;
    font-weight: 600;
  }
  #sp_navi .menu-item span {
    display: block;
    padding: 0px 8px;
    font-size: 1rem;
  }
  #sp_navi .menu-item a:link, #sp_navi .menu-item a:visited, #sp_navi .menu-item a:hover, #sp_navi .menu-item a:active {
    color: #fff; /*spナビ文字色-カテゴリ*/
    text-decoration: none;
    font-weight: 600;
  }
  #sp_navi .sub-menu li a:link, #sp_navi .sub-menu li a:visited, #sp_navi .sub-menu li a:hover, #sp_navi .sub-menu li a:active {
    color: #224799; /*オルガン文字色★1*/
    text-decoration: none;
  }
  #sp_navi .sub-menu li a {
    display: block;
    padding: 11px 0 10px;
    font-weight: 600;
    letter-spacing: 0em;
    background: rgba(255, 255, 255, 0.9); /*オルガン背景*/
  }
  #sp_navi .sub-menu li a:hover {
    color: #fff;
    background: none;
  }
  #sp_navi .sub-menu li {
    width: 100%;
    text-align: center;
    border-top: #DDD 1px solid; /*オルガン上線*/
  }
  #sp_navi .sub-menu {
    width: 100%;
    text-align: center;
    display: none;
  }
  #sp_navi .menu-item-has-children {
    position: relative;
  }
  #sp_navi .menu-item-has-children::before {
    content: "";
    width: 14px;
    height: 14px;
    border: 0px;
    border-top: solid 3px #e3eaf9; /*カテゴリ矢印*/
    border-right: solid 3px #e3eaf9; /*カテゴリ矢印*/
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    position: absolute;
    top: 14px;
    right: 20px;
  }
  #sp_navi .menu-item-has-children.menu_open::before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    top: 22px;
  }
}
/****************************************

pc用 横ナビ

*****************************************/
#g_navi {
  width: auto;
  margin: 0px 10px 0px 0;
}
#g_navi .menu {
  *zoom: 1;
  width: 100%;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#g_navi .menu li {
  position: relative;
  width: auto;
  text-align: center;
  line-height: 0;
}
#g_navi .menu li a {
  display: block;
  height: 75px;
  padding: 0 20px;
  margin: 0;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  word-break: keep-all;
}
@media print, screen and (max-width: 1550px) and (min-width: 768px) {
  #g_navi .menu li a {
    font-size: 1.5rem;
    padding: 0 15px;
  }
}
#g_navi .menu li a span {
  font-size: 2.2rem;
  font-weight: 900;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  margin-bottom: 5px;
}
#g_navi .menu li a:hover {
  color: #224799;
  translate: 0.4s linear;
}
#g_navi .menu li ul {
  width: 100%;
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
  /* プルダウン幅指定の場合 */
  min-width: 200px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
#g_navi .menu li ul li {
  width: 100%;
  height: auto;
}
#g_navi .menu li ul li a {
  width: 100%;
  height: auto;
  padding: 15px 5px;
  border-top: 1px solid #ccc;
  font-size: 1.4rem;
  font-weight: 400;
  background: rgba(23, 49, 105, 0.95);
  color: #fff;
  text-align: center;
  opacity: 0.95;
  text-shadow: none;
  /* プルダウン幅指定の場合 */
}
#g_navi .menu li ul li a:hover {
  background: rgba(255, 255, 255, 0.95);
  color: #173169;
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}
#g_navi .menu li ul {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#g_navi .menu li:hover ul {
  visibility: visible;
  opacity: 0.95;
}
#g_navi .menu li ul li a {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#g_navi .menu li:hover ul li a {
  visibility: visible;
  opacity: 1;
}

@media print, screen and (min-width: 768px) {
  .menu > li > a::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    width: 0;
    height: 3px;
    background: rgba(34, 71, 153, 0.75);
    -webkit-transition: 0.6s;
    transition: 0.6s;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 0;
    filter: alpha(opacity=0);
  }
  .menu > li > a:hover::after {
    width: 100%;
    opacity: 0.9;
    filter: alpha(opacity=90);
  }
  .menu-item-has-children > a {
    cursor: pointer;
  }
}
/****************************************

ティーザー

*****************************************/
@media print, screen and (min-width: 768px) {
  #top_mv {
    position: relative;
    width: 100%;
    margin: 0 auto 0px;
  }
  #top_mv .top_mv_img {
    width: 100%;
    height: auto;
    min-height: 700px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.top_mv_txt {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 9.3%;
}
@media print, screen and (min-width: 768px) {
  .top_mv_txt {
    margin-top: 55px;
    word-break: keep-all;
  }
}
.top_mv_txt p {
  font-size: 6.6rem;
  font-weight: 900;
  line-height: 1.2;
  color: #FFF;
  letter-spacing: 0.075em;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  text-shadow: rgba(14, 29, 63, 0.54) 2px 0px 10px, rgba(14, 29, 63, 0.54) -2px 0px 10px, rgba(14, 29, 63, 0.54) 0px -2px 10px, rgba(14, 29, 63, 0.54) 0px 2px 10px, rgba(14, 29, 63, 0.54) 2px 2px 10px;
}
.top_mv_txt p span {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  display: block;
  margin-top: 30px;
}

.mv {
  width: 100%;
  position: relative;
  margin: 0px auto;
}
.mv .mv_about {
  background: url(images/mv_about_bg.jpg) top left no-repeat;
}
.mv .mv_partner {
  background: url(images/mv_partner_bg.jpg) top left no-repeat;
}
.mv .mv_recruit {
  background: url(images/mv_recruit_bg.jpg) top left no-repeat;
}
.mv .mv_info {
  background: url(images/mv_info_bg.jpg) top left no-repeat;
}
.mv .mv_bg {
  height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mv .mv_txt {
  margin-left: 15%;
}
@media print, screen and (min-width: 768px) {
  .mv .mv_txt {
    margin-top: 100px;
  }
}
.mv .mv_txt p {
  font-size: 4rem;
  font-weight: 900;
  letter-spacing: 0.075em;
  line-height: 1.2;
  color: #FFF;
  text-shadow: rgba(14, 29, 63, 0.54) 0px 0px 10px, rgba(14, 29, 63, 0.54) 0px 0px 10px, rgba(14, 29, 63, 0.54) 0px 0px 10px, rgba(14, 29, 63, 0.54) 0px 0px 10px, rgba(14, 29, 63, 0.54) 0px 0px 10px, rgba(14, 29, 63, 0.54) 0px 0px 10px;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}

@media screen and (max-width: 767px) {
  #top_mv {
    width: 100%;
    position: relative;
    margin: 0 auto;
  }
  #top_mv .top_mv_img {
    height: auto;
    width: 150%;
    margin: 0 0 0 -25%;
  }
  .top_mv_txt {
    left: 3%;
    margin: 30px auto 0px;
  }
  .top_mv_txt p {
    font-size: 2.2rem;
    letter-spacing: 0.03em;
  }
  .top_mv_txt p span {
    font-size: 1.4rem;
    font-weight: bold;
    margin-top: 15px;
    letter-spacing: 0.05em;
  }
  .mv .mv_bg {
    height: 220px;
    background-size: cover;
  }
  .mv .mv_txt {
    margin-top: 40px;
    padding: 12px 10px 13px;
  }
  .mv .mv_txt p {
    font-size: 2.4rem;
  }
}
/****************************************

タイトル

*****************************************/
.headline {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-bottom: 55px;
  text-align: center;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
.headline span {
  font-size: 3.8rem;
  font-weight: 900;
  color: #224799;
  display: block;
  margin-bottom: 15px;
}

#single_box .headline {
  font-size: 2.8rem;
  margin-bottom: 40px;
}

/* 下線(+左線) */
.subhead01 {
  font-size: 2.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  line-height: 1.2;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  border-bottom: 1px solid #173169;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.subhead01:before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #224799), color-stop(50%, #c2d1f2));
  background: linear-gradient(to bottom, #224799 50%, #c2d1f2 50%);
  min-width: 6px;
  width: 6px;
  height: 30px;
  margin-right: 20px;
}

/* 下線(マーカー) */
.subhead02 {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #173169;
  margin-bottom: 20px;
  line-height: 1.3;
  padding: 0px 10px 8px;
  background-image: linear-gradient(to top, #e3eaf9 20px, transparent 20px);
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}

@media screen and (max-width: 767px) {
  .headline {
    font-size: 1.6rem;
    letter-spacing: 0.025em;
    margin-bottom: 35px;
  }
  .headline span {
    font-size: 3rem;
    margin-bottom: 5px;
  }
  #single_box .headline {
    font-size: 2.1rem;
    line-height: 1.3;
    margin-top: 15px;
    margin-bottom: 30px;
  }
  .subhead01 {
    font-size: 2.2rem;
    margin-bottom: 20px;
    line-height: 1.3;
  }
  .subhead02 {
    font-size: 2rem;
    margin-bottom: 10px;
    padding-bottom: 5px;
    background-image: linear-gradient(to top, #e3eaf9 15px, transparent 15px);
  }
}
/****************************************

content 共通設定

*****************************************/
main#top_main {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  main#top_main {
    letter-spacing: 0.075em;
    line-height: 2;
  }
}

main#page_main {
  width: 1200px;
  margin: 0px auto 200px;
}

.breadcrumb_area {
  text-align: right;
  width: 1200px;
  margin: 0 auto;
  position: relative;
}
.breadcrumb_area .breadcrumb {
  padding: 15px 0px 50px;
  line-height: 1.3;
}
.breadcrumb_area .breadcrumb p {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
.breadcrumb_area .breadcrumb a {
  position: relative;
  text-decoration: none;
  padding-bottom: 0.08em;
  color: #000;
}
.breadcrumb_area .breadcrumb a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 1px;
  margin: 0 auto;
  text-align: center;
  background: #000;
  -webkit-transition: -webkit-transform 0.9s;
  transition: -webkit-transform 0.9s;
  transition: transform 0.9s;
  transition: transform 0.9s, -webkit-transform 0.9s;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}
.breadcrumb_area .breadcrumb a:hover::after {
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  transform-origin: right top;
}
.breadcrumb_area .breadcrumb a:hover {
  color: #224799;
}

.none {
  display: none;
}

@media screen and (min-width: 768px) {
  .pc_none {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumb_area {
    width: 100%;
  }
  .breadcrumb_area .breadcrumb {
    position: relative;
    padding: 10px 10px 25px;
    left: auto;
    bottom: auto;
  }
  .breadcrumb_area .breadcrumb p {
    font-size: 1.4rem;
  }
  main#top_main {
    width: 100%;
    padding: 0px 10px;
    margin: 0px auto 0px;
  }
  main#page_main, main#page_main02 {
    width: 100%;
    padding: 0px 10px 60px;
    margin: 0;
  }
  .sp_none {
    display: none;
  }
}
/****************************************

ボタン

*****************************************/
/* 単色（青色 ＋矢印>） */
.btn01 {
  width: 250px;
  background: #224799;
  text-align: center;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  line-height: 1.75;
}
.btn01 a {
  display: inline-block;
  text-decoration: none;
  position: relative;
  padding: 20px 20px 18px;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  color: #FFF;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 900;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  /* 右矢印(>) */
}
.btn01 a:before {
  content: "";
  width: 12px;
  height: 12px;
  border: 2px solid #FFF;
  border-left: 0;
  border-bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: top right;
          transform-origin: top right;
  position: absolute;
  top: 50%;
  right: 23px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.btn01:hover {
  background: rgba(11, 24, 51, 0.9);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.btn01:hover a {
  color: #FFF;
}
.btn01:hover a:before {
  right: 15px;
}

/* 画像付(単色　aside) */
.contact_btn {
  width: 300px;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  background: #224799;
  line-height: 1.75;
}
.contact_btn a {
  display: inline-block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #FFF;
  padding: 11px 15px 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-shadow: none;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
.contact_btn a:before {
  content: "";
  background: url(images/icon_btm_mail.svg) no-repeat;
  width: 30px;
  height: 20px;
  margin-right: 10px;
}
.contact_btn:hover {
  background: rgba(23, 49, 105, 0.9);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transition: 0.2s linear;
  transition: 0.2s linear;
}

.btn_center p {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .btn_right p {
    margin-left: auto;
  }
}
/* トップページ複数並び */
.multi_column_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  height: auto;
}
.multi_column_btn.multi_center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .multi_column_btn p {
    width: 180px;
  }
  .multi_column_btn p:not(:last-child) {
    margin-right: 26px;
  }
  .multi_column_btn p a {
    padding: 7px 20px 9px;
  }
}

@media screen and (max-width: 767px) {
  .btn01, .btn02 {
    width: 80%;
    margin: 0px auto;
  }
  .btn01 a, .btn02 a {
    font-size: 1.6rem;
    padding: 12px 20px 13px;
  }
  .btn01 a:before, .btn02 a:before {
    right: 20px;
  }
  .btn01:hover a:before, .btn02:hover a:before {
    right: 15px;
  }
  .contact_btn {
    width: 90%;
    margin: 0 auto;
  }
  .contact_btn a {
    font-size: 1.6rem;
    word-break: break-word;
    word-break: auto-phrase;
  }
  .contact_btn a:before {
    background-size: contain;
  }
  .multi_column_btn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .multi_column_btn p {
    margin: 0 auto 10px;
  }
}
/****************************************

contentトップ用

*****************************************/
.top_box01 {
  padding: 170px 0 120px;
  background: url(images/top_box01_tit.png) top left 2px no-repeat, url(images/top_box01_bg.jpg) top right no-repeat;
}
.top_box01 .top_box01_tit {
  font-size: 5rem;
  font-weight: 900;
  line-height: 1.3;
  margin-bottom: 35px;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
@media print, screen and (min-width: 768px) {
  .top_box01 .top_box01_txt {
    width: 804px;
    margin-left: 4.2%;
    line-height: 2.1;
  }
}

.top_box02 .top_box02_bnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts {
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
  max-height: 400px;
  margin-bottom: 65px;
}
@media print, screen and (min-width: 768px) {
  .top_box02 .top_box02_bnr .top_box02_bnr_parts {
    width: 33.3333333333%;
    height: 100%;
    text-align: center;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(4), .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(5) {
    max-height: 480px;
    width: 40%;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(4) .top_box02_bnr_txt .top_box02_bnrtit, .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(5) .top_box02_bnr_txt .top_box02_bnrtit {
    font-size: 3.7rem;
    margin: 40px 0 30px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1550px) and (min-width: 768px) {
  .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(4) .top_box02_bnr_txt .top_box02_bnrtit, .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(5) .top_box02_bnr_txt .top_box02_bnrtit {
    margin: 20px 0 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(5) {
    margin-top: 80px;
  }
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts:hover {
  background: #224799;
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 20px;
}
@media print, screen and (max-width: 1550px) and (min-width: 768px) {
  .top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt {
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt .top_box02_bnrtit {
  font-size: 4.2rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5;
  color: #FFF;
  margin-bottom: 10px;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
@media print, screen and (max-width: 1550px) and (min-width: 768px) {
  .top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt .top_box02_bnrtit {
    font-size: 4rem;
  }
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt .top_box02_bnrtit span {
  display: block;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-top: 5px;
}
.top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt p {
  letter-spacing: 0.075em;
  color: #FFF;
  line-height: 2.1;
  margin-bottom: 10px;
}
@media print, screen and (max-width: 1550px) and (min-width: 768px) {
  .top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}

.top_box_tit {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-bottom: 60px;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
.top_box_tit span {
  font-size: 5.4rem;
  color: #224799;
  font-weight: 900;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 10px;
}

.top_box03 {
  background: #e3eaf9;
}
@media print, screen and (min-width: 768px) {
  .top_box03 .top_box_tit {
    font-size: 2.4rem;
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1550px) and (min-width: 768px) {
  .top_box03 .top_box_tit {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_box03 .top_box_tit span {
    font-size: 6rem;
  }
}
.top_box03 .top_box_txt {
  max-width: 825px;
  letter-spacing: 0.075em;
}
@media print, screen and (min-width: 768px) {
  .top_box03 .top_box_txt {
    width: 50%;
    padding: 25px 20px 25px 0;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 768px) {
  .top_box03 figure {
    width: 50%;
  }
  .top_box03 figure > img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover;";
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}
.top_box04 {
  padding: 95px calc((100% - 1200px) / 2) 110px;
}
@media print, screen and (min-width: 768px) {
  .top_box04 .top_box_tit {
    font-size: 2.2rem;
  }
  .top_box04 .top_box_tit span {
    font-size: 4.8rem;
    margin-bottom: 5px;
  }
  .top_box04 .top_box04_inner {
    position: relative;
  }
  .top_box04 .top_box04_inner #news_top {
    width: 810px;
    margin-top: 20px;
  }
  .top_box04 .top_box04_inner .btn01 {
    position: absolute;
    bottom: 5px;
    left: 0px;
  }
}

@media screen and (max-width: 767px) {
  .top_box01 {
    padding: 40px 10px 60px;
    width: calc(100% + 20px);
    margin: 0 0 0px -10px;
    background-size: 90% auto, cover;
  }
  .top_box01 .top_box01_tit {
    font-size: 2.3rem;
    margin-bottom: 25px;
    padding-top: 30px;
  }
  .top_box_tit {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .top_box_tit span {
    font-size: 3.4rem;
    margin-bottom: 5px;
  }
  .top_box02 {
    padding: 40px 15px 40px;
    width: calc(100% + 20px);
    margin: 0 0 0px -10px;
  }
  .top_box02 .top_box02_bnr {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts {
    width: 100%;
    margin-bottom: 20px;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts img {
    height: 140px;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(4) img, .top_box02 .top_box02_bnr .top_box02_bnr_parts:nth-of-type(5) img {
    height: 240px;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt {
    top: 5px;
    left: 5px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt .top_box02_bnrtit {
    font-size: 2.4rem;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt .top_box02_bnrtit span {
    font-size: 1.2rem;
  }
  .top_box02 .top_box02_bnr .top_box02_bnr_parts .top_box02_bnr_txt p {
    line-height: 1.8;
    margin-top: 5px;
  }
  .top_box03 {
    padding: 30px 10px 20px;
    width: calc(100% + 20px);
    margin: 0 0 0px -10px;
  }
  .top_box03 .top_box_txt {
    padding: 0px 0px 25px;
  }
  .top_box03 .top_box_txt .btn01 {
    margin: 0px auto 0 0;
  }
  .top_box04 {
    padding: 50px 10px 50px;
    width: calc(100% + 20px);
    margin: 0 0 0px -10px;
  }
  .top_box04 .top_box_tit {
    margin-bottom: 20px;
  }
  .top_box04 .top_box04_tit {
    font-size: 2.4rem;
    line-height: 1.2;
    background-position: top left 5px;
    padding: 0 0 10px 65px;
  }
}
/****************************************

content下層用（共通パーツ）

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

.flex_r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.flex_center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex_wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.img_wauto {
  width: auto;
  max-width: 100%;
}

.img_radius {
  overflow: hidden;
  border-radius: 20px;
}

.shadow {
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.pt_txt {
  padding-top: 25px;
}

.f16_txt p, .f16_txt li {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.2em;
}

.txt680 {
  width: 680px;
}

.txt720 {
  width: 720px;
}

.txt740 {
  width: 740px;
}

.w1080 {
  width: 1200px;
  margin: 0 auto;
}

.w1200 {
  width: 1200px;
  margin: 0 auto;
}

.blue_bg {
  padding: 40px 20px 40px;
  background-color: #e3eaf9;
}
.blue_bg dt {
  font-size: 2.4rem;
  font-weight: 900;
  margin-bottom: 20px;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}

@media screen and (max-width: 767px) {
  .flex,
  .flex_r {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .radius_img {
    width: 100%;
  }
  .pt_txt {
    padding-top: 0;
  }
  .txt740, .txt720, .txt680, .txt860, .w1080, .w1200 {
    width: 100%;
  }
  .blue_bg {
    padding: 25px 20px 25px;
  }
  .blue_bg dt {
    font-size: 2rem;
    margin-bottom: 10px;
  }
  .mb20_sp {
    margin-bottom: 20px;
  }
  figcaption {
    font-size: 1.4rem;
  }
}
/****************************************

content下層用

*****************************************/
/* 02代表挨拶 */
@media print, screen and (min-width: 768px) {
  .greeting_box .txt720 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.name {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: right;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
@media print, screen and (min-width: 768px) {
  .name {
    margin-top: auto;
  }
}
.name span {
  font-size: 3.6rem;
  font-weight: 900;
}

/* 04元請け企業様へ */
.contractor_box {
  border: 2px solid #3b82c4;
  padding: 20px 50px 20px;
  max-width: 800px;
  margin: 0 auto 50px;
}
.contractor_box figure {
  margin-left: auto;
}
@media print, screen and (min-width: 768px) {
  .contractor_box .flex_r {
    position: relative;
  }
  .contractor_box .contractor_txt {
    width: 500px;
    position: absolute;
    top: 40px;
    left: 0;
  }
}

/* xxx */
@media screen and (max-width: 767px) {
  /* 02代表挨拶 */
  .name {
    font-size: 2rem;
  }
  .name span {
    font-size: 2.8rem;
  }
  /* 04元請け企業様へ */
  .contractor_box {
    padding: 20px 20px 20px;
    margin: 0 auto 40px;
  }
  /* xxx */
}
/****************************************

content下層用（共通レイアウト）

*****************************************/
/* お問い合わせ */
#mail_form {
  padding: 0 calc((100% - 1200px) / 2);
}
@media print, screen and (min-width: 768px) {
  #mail_form {
    margin: 0 auto 120px;
    text-align: center;
  }
}

/* 3列flex(txt) */
.three_column_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.three_column_flex .three_column_parts {
  width: 380px;
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .three_column_flex .three_column_parts:not(:nth-child(3n)) {
    margin-right: 30px;
  }
}
.three_column_flex .three_column_parts img {
  margin-bottom: 10px;
}

/* 3列flex(img) */
.three_column_flex_img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 30px;
}
.three_column_flex_img .three_column_parts, .three_column_flex_img li {
  width: 380px;
}
.three_column_flex_img .three_column_parts img, .three_column_flex_img li img {
  margin-bottom: 10px;
}

/* フロー(+▼〇) */
.flow_box {
  position: relative;
  margin-bottom: 50px;
  padding: 40px 20px 40px;
  background: #e3eaf9;
  /* 画像 */
}
.flow_box:after {
  content: "";
  background: url(images/arrow.png) no-repeat;
  width: 69px;
  height: 20px;
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.flow_box:last-of-type:before, .flow_box:last-of-type:after {
  content: none;
}

/* リスト共通（画像付きマーカー） */
.icon_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.icon_list li {
  font-size: 1.8rem;
  line-height: 1.2;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid rgba(23, 49, 105, 0.33);
  padding: 0 10px 15px;
  /* 幅50% */
}
@media print, screen and (min-width: 768px) {
  .icon_list li {
    width: 580px;
  }
}
.icon_list li::before {
  content: url(images/icon_check.svg);
  margin-right: 25px;
  height: 25px;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .three_column_flex {
    width: 100%;
    gap: 2%;
  }
  .three_column_flex .three_column_parts {
    width: 100%;
    margin-bottom: 10px;
  }
  .three_column_flex_img {
    gap: 15px 2%;
  }
  .three_column_flex_img .three_column_parts, .three_column_flex_img li {
    width: 48%;
    margin: 0 auto;
  }
  .three_column_flex_img .three_column_parts img, .three_column_flex_img li img {
    width: 100%;
    margin-bottom: 5px;
  }
  .three_column_flex_img .three_column_parts .subhead02, .three_column_flex_img li .subhead02 {
    font-size: 1.8rem;
  }
  .flow_box {
    margin-bottom: 40px;
    padding: 30px 15px 25px;
    /* 画像 */
  }
  /* リスト共通（画像付きマーカー）sp */
  .icon_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .icon_list li {
    font-size: 1.6rem;
    padding: 0 10px 10px;
    margin-bottom: 10px;
  }
  .icon_list li::before {
    margin-right: 15px;
  }
}
/****************************************

sidebar/aside（テキスト）

*****************************************/
.bottom_box {
  padding: 60px 0;
  background: url(images/bottom_box_bg.jpg) bottom center no-repeat;
  background-size: cover;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .bottom_box {
    line-height: 2;
  }
  .bottom_box .bottom_box_btn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 80px;
  }
}
.bottom_box .bottom_box_tel, .bottom_box .contact_btn {
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media print, screen and (min-width: 768px) {
  .bottom_box .bottom_box_tel, .bottom_box .contact_btn {
    width: 300px;
  }
}

.bottom_box_tit {
  font-size: 2.2rem;
  font-weight: 500;
  color: #FFF;
  line-height: 1.3;
  letter-spacing: 0.05em;
  margin-bottom: 30px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bottom_box_tit span {
  font-size: 5.4rem;
  font-weight: 900;
  letter-spacing: 0.075em;
  margin-bottom: 10px;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}

.bottom_box_txt {
  margin-bottom: 40px;
  color: #FFF;
  letter-spacing: 0.075em;
}

@media print, screen and (min-width: 768px) {
  .bottom_box_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 80px;
  }
}
.bottom_box_tel {
  display: block;
  line-height: 1.2;
  background: #FFF;
  border: 1px solid #224799;
  padding: 10px 15px 11px;
}
@media print, screen and (min-width: 768px) {
  .bottom_box_tel {
    word-break: keep-all;
  }
  .bottom_box_tel .contact_tel {
    font-size: 3rem;
    background: url(images/icon_btm_tel.svg) bottom 45% left no-repeat;
    padding-left: 28px;
  }
  .bottom_box_tel .big {
    letter-spacing: 0.05em;
  }
}

@media screen and (max-width: 767px) {
  .bottom_box {
    padding: 40px 10px 50px;
  }
  .bottom_box_tit {
    font-size: 1.8rem;
    line-height: 1.4;
    margin-bottom: 20px;
  }
  .bottom_box_tit span {
    font-size: 3.6rem;
    margin-bottom: 5px;
  }
  .bottom_box_txt {
    margin-bottom: 20px;
  }
  .bottom_box_btn .bottom_box_tel {
    font-size: 2.6rem;
    padding: 14px 15px;
    width: 90%;
    margin: 0 auto 15px;
  }
  .bottom_box_btn .bottom_box_tel:hover {
    background: rgba(255, 255, 255, 0.75);
  }
}
/****************************************

テーブル

*****************************************/
table {
  line-height: 1.7;
}

td p {
  font-size: 100%;
}

/* 表2列(標準) */
.company_table {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.05em;
}
.company_table th {
  width: 21%;
  padding: 17px 30px 18px;
  font-size: 2rem;
  font-weight: 900;
  background: #e3eaf9;
  border: 1px solid #173169;
  vertical-align: middle;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
.company_table td {
  width: 79%;
  padding: 17px 30px 18px;
  border: 1px solid #173169;
}

.recruit_table {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.05em;
}
.recruit_table th {
  width: 21%;
  padding: 14px 30px 15px;
  padding: 14px 30px 15px;
  font-size: 2rem;
  font-weight: 900;
  background: #e3eaf9;
  border: 1px solid #173169;
  vertical-align: middle;
  font-family: "Zen Old Mincho", "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
}
.recruit_table td {
  width: 79%;
  padding: 14px 20px 15px;
  border: 1px solid #173169;
}

@media screen and (max-width: 767px) {
  /* 1列（標準） */
  .company_table th, .recruit_table th {
    display: block;
    width: 100%;
    font-size: 1.6rem;
    padding: 10px 13px;
    border-bottom: none;
  }
  .company_table td, .recruit_table td {
    display: block;
    width: 100%;
    padding: 10px 13px;
  }
  .company_table tr:not(:last-child) td, .recruit_table tr:not(:last-child) td {
    margin-bottom: 15px;
  }
}
/****************************************

共通div

*****************************************/
.mb110 {
  margin-bottom: 110px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb95 {
  margin-bottom: 95px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb85 {
  margin-bottom: 85px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb10 {
  margin-bottom: 10px;
}

.mt40 {
  margin-top: 40px;
}

.mt30 {
  margin-top: 30px;
}

.mt20 {
  margin-top: 20px;
}

.mt10 {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .mb110,
  .mb100,
  .mb95,
  .mb90,
  .mb85,
  .mb80,
  .mb75,
  .mb70,
  .mb65,
  .mb60,
  .mb55 {
    margin-bottom: 50px;
  }
  .mb50 {
    margin-bottom: 40px;
  }
  .mb45,
  .mb40 {
    margin-bottom: 30px;
  }
}
/****************************************

P

*****************************************/
/* 改行 */
.line_break {
  padding-top: 30px;
}

/* 配置 */
.txt_center {
  text-align: center;
}

.txt_right {
  text-align: right;
}

@media print, screen and (min-width: 768px) {
  .txt_center_pc {
    text-align: center;
  }
}
/* 赤文字*/
.red {
  color: #fc3939;
}

/* 強調*/
.bold {
  font-weight: bold;
}

.orange {
  color: #224799;
}

.green {
  color: #0b1833;
}

.gray {
  color: #CCC;
}

.big {
  font-size: 1.8rem;
}

.big_20 {
  font-size: 2rem;
}

.big_22 {
  font-size: 2.2rem;
}

/* 小文字*/
.small {
  font-size: 1.2rem;
}

.small_14 {
  font-size: 1.4rem;
}

.small_15 {
  font-size: 1.5rem;
}

.small_16 {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  .big {
    font-size: 1.6rem;
  }
  .big_20 {
    font-size: 1.8rem;
  }
  .big_22 {
    font-size: 2rem;
  }
}
/****************************************

news トップ用（テキスト標準）

*****************************************/
#news_top {
  width: 100%;
  height: auto;
  margin-bottom: 30px;
  overflow-y: scroll;
  height: 180px;
  padding: 0px 50px 0px 0px;
}

.news_top_parts {
  padding: 30px 10px 15px 30px;
  border-bottom: 1px dashed #ddd;
  font-weight: normal;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  position: relative;
}
.news_top_parts:first-child {
  padding: 0px 10px 15px 30px;
}
.news_top_parts time {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  word-break: keep-all;
  color: #224799;
  line-height: 1.2;
  margin-right: 60px;
}
.news_top_parts a {
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
}
.news_top_parts .news_top_tit {
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.news_top_parts p {
  font-size: inherit;
}

@media screen and (max-width: 767px) {
  #news_top {
    width: 100%;
    height: 260px;
    padding: 0px 15px 0px 0px;
  }
  #news_top .news_top_parts {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 1.4rem;
    padding: 15px 10px 15px 10px;
    line-height: 1;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  #news_top .news_top_parts time {
    font-size: 1.4rem;
  }
  #news_top .news_top_parts .news_top_tit {
    font-size: 1.4rem;
    margin-top: 5px;
  }
  #news_top .news_top_parts a {
    font-size: 1.4rem;
  }
}
/****************************************

投稿 下層用（1行）

*****************************************/
/* デフォルト投稿 */
.post_banner p {
  margin-left: auto;
}

@media print, screen and (min-width: 768px) {
  .news_post_parts .flex {
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
  }
  .news_post_parts figure {
    width: 440px;
    height: 330px;
    overflow: hidden;
    margin-right: 40px;
  }
  .news_post_parts figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover;";
  }
  .news_post_parts img {
    max-width: 100%;
    height: auto;
  }
  .news_post_parts .subhead01 {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .news_post_parts {
    padding: 20px 20px 20px;
    border: 2px solid rgba(34, 71, 153, 0.5);
  }
  .news_post_parts figure {
    width: 100%;
    height: 200px;
    overflow: hidden;
    margin-bottom: 20px;
  }
  .news_post_parts figure img {
    width: 100%;
    height: 100%;
    top: 50%;
    left: 0;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover;";
  }
  .news_post_parts .subhead01 {
    font-size: 1.8rem;
    margin-bottom: 15px;
  }
}
/****************************************

single.php

*****************************************/
#single_box {
  padding: 0 calc((100% - 1080px) / 2);
}
#single_box img {
  max-width: 1080px;
  padding: 10px 0;
  height: auto;
}
#single_box figure {
  width: 100%;
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 25px;
}
#single_box figure img {
  max-width: 100%;
  height: auto;
}
#single_box .nav-below {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 50px 0 80px;
  font-size: 100%;
  text-align: center;
}
#single_box .nav-below a {
  padding: 0 10px;
  color: #224799;
}
#single_box .nav-below a:hover {
  color: rgba(11, 24, 51, 0.75);
}

.single_txt a {
  color: #224799;
  text-decoration: none; /* デフォルトの下線を非表示にする */
  background-image: -webkit-gradient(linear, left top, right top, from(#224799), to(#224799));
  background-image: linear-gradient(90deg, #224799, #224799); /* 線の色 */
  background-repeat: no-repeat;
  background-position: right bottom; /* 線の起点を左・下に設定 */
  background-size: 100% 1px; /* 線の横幅を100%にする */
  -webkit-transition: background-size 0.9s;
  transition: background-size 0.9s; /* 線を伸ばすアニメーション実行時間を指定（0.9秒かけて線の横幅を0から100%にする） */
}
.single_txt a:hover {
  background-size: 0 1px; /* 線の横幅を0、縦幅を1pxに */
  color: #224799;
}
.single_txt a {
  font-weight: 600;
}
.single_txt a:hover {
  color: rgba(34, 71, 153, 0.75);
}

@media screen and (max-width: 767px) {
  #single_box img {
    max-width: 100%;
    padding: 10px 0;
  }
}
/****************************************

投稿　pager設定

*****************************************/
.pager {
  clear: both;
  text-align: center;
  padding: 0;
  margin: 50px 0 0;
}

a.page-numbers {
  border-radius: 5px;
  padding: 5px 8px;
  margin: 0 2px;
  font-size: 1.4rem;
  background: rgba(11, 24, 51, 0.1);
  background: #FFF;
  border: solid 1px rgba(11, 24, 51, 0.5);
}

.pager .current {
  border-radius: 5px;
  padding: 5px 8px;
  margin: 0 2px;
  font-size: 1.4rem;
  color: rgb(255, 255, 255);
  background: #0b1833;
  border: solid 1px #0b1833;
}

@media screen and (max-width: 767px) {
  .single_box {
    width: 100%;
  }
  .pager {
    padding: 0px 0 30px;
  }
}
/****************************************

sp_footer

*****************************************/
@media screen and (max-width: 767px) {
  #pc_footer {
    display: none;
  }
  #sp_footer {
    padding: 0px 0 60px;
  }
  .sp_bnr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: fixed;
    width: 100%;
    height: 60px;
    bottom: 0;
    left: 0;
    z-index: 4;
  }
  .sp_bnr div {
    position: relative;
    width: 25%;
    background: #224799;
    border-top: 1px solid #FFF;
  }
  .sp_bnr div:not(:last-child) {
    border-right: 1px solid #FFF;
  }
  .sp_bnr div img {
    width: auto;
    margin-bottom: 4px;
    height: 24px;
  }
  .sp_bnr div p {
    color: #FFF;
    font-size: 1.2rem;
    line-height: 1.1;
    text-align: center;
  }
  .sp_bnr a {
    position: absolute;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-decoration: none;
  }
  .sp_footer_box {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 20px 10px 0px;
    border-top: 1px solid #DDD;
  }
  .sp_footer_box a {
    text-decoration: none;
  }
  .sp_footer_box .footer_logo {
    text-align: center;
  }
  .sp_footer_box .footer_logo a {
    display: inline-block;
    width: 70%;
    max-width: 280px;
    margin: 0px auto 20px;
  }
  .copyright {
    font-size: 1.1rem;
    text-align: center;
    background: #224799;
    color: #FFF;
    padding: 10px 0;
  }
  /* 追従しない場合 */
  .pagetop a {
    display: block;
    max-width: 50px;
    margin-left: auto;
    margin-top: 15px;
    margin-bottom: 10px;
    height: auto;
    width: 15%;
  }
}
/****************************************
pc_footer

*****************************************/
@media print, screen and (min-width: 768px) {
  #sp_footer {
    display: none;
  }
  .pagetop {
    position: fixed;
    z-index: 4;
    right: 10px;
    bottom: 60px;
    display: none;
  }
  #pc_footer {
    position: relative;
    text-align: center;
  }
  .footer_box {
    padding: 55px calc((100% - 1200px) / 2) 60px;
  }
  .footer_box a {
    text-decoration: none;
  }
  .footer_box .footer_logo {
    margin: 0px auto 25px;
  }
  .footer_box .footer_logo a {
    display: inline-block;
  }
  .footer_box .footer_txt p {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
  }
  /* 横並び（階層無　1行詰） */
  .footer_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 25px auto 0px;
  }
  .footer_link li {
    padding: 0px 11px;
    position: relative;
    line-height: 1.5;
  }
  .footer_link li a {
    font-size: 2rem;
    letter-spacing: 0.05em;
    position: relative;
    display: inline-block;
    text-decoration: none;
  }
  .footer_link li a::after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #224799;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
  }
  .footer_link li a:hover::after {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }
  .footer_link li a:hover {
    color: #224799;
  }
  .copyright {
    color: #FFF;
    font-size: 1.8rem;
    font-weight: normal;
    letter-spacing: 0.075em;
    text-align: center;
    background: #224799;
    padding: 10px 0;
    line-height: 1.2;
  }
}
/****************************************

Contact Form7

*****************************************/
/* フォームカラー */
.wpcf7 {
  width: 100%;
  text-align: left;
}

.wpcf7-form textarea {
  width: 100%;
  /*本文*/
  max-width: 100%;
  padding: 3px 5px;
  border: 1px solid rgba(11, 24, 51, 0.5);
  border-radius: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.wpcf7-form select {
  width: auto;
  padding: 3px 5px;
  border: 1px solid rgba(11, 24, 51, 0.5);
  border-radius: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.wpcf7-form input {
  padding: 10px;
  border: 1px solid rgba(11, 24, 51, 0.5);
  border-radius: 3px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  /*ラジオボタン、チェックボタン*/
}

/* 送信ボタン */
.tc {
  text-align: center;
}

.wpcf7 .tc input[type=submit] {
  cursor: pointer;
  width: 410px;
  max-width: 100%;
  padding: 18px;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px #224799 solid;
  border-radius: 0px;
  background-color: #224799;
  color: #fff;
  font-size: 18px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 30px auto 0;
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.wpcf7 .tc input[type=submit]:disabled {
  cursor: not-allowed;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  border: 1px solid #f8f8f8 !important;
  background-color: #f8f8f8 !important;
  color: #929292 !important;
}
.wpcf7 .tc input[type=submit]:hover {
  -webkit-box-shadow: 0 0 1px 1px rgba(34, 71, 153, 0.3);
          box-shadow: 0 0 1px 1px rgba(34, 71, 153, 0.3);
  background-color: rgba(34, 71, 153, 0.3);
  color: #224799;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.wpcf7 .tc input[type=submit]:focus {
  outline: 0;
  border: 1px #224799 solid;
  -webkit-box-shadow: 0 0 2px 2px rgba(34, 71, 153, 0.5);
          box-shadow: 0 0 2px 2px rgba(34, 71, 153, 0.5);
}

.wpcf7-text {
  width: 100%;
}

/* 入力欄 */
.form_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
  padding: 0 20px 30px 20px;
  border-bottom: 1px dotted #ccc;
}

.form_label {
  width: 300px;
  word-break: auto-phrase;
}
.form_label .required {
  display: inline-block;
  color: #fff;
  font-weight: normal;
  font-size: 1.2rem;
  padding: 0 4px;
  background: #cc3330;
  margin-right: 10px;
  border-radius: 0px;
}
.form_label .any {
  display: inline-block;
  color: #797979;
  font-weight: normal;
  font-size: 1.2rem;
  padding: 0 4px;
  background: #d7d7d7;
  margin-right: 10px;
  border-radius: 0px;
}

.form_input {
  width: calc(100% - 300px);
}

.form_input_post {
  width: 180px;
}

.form_input_post_txt {
  color: #b23330;
  font-weight: normal;
  font-size: 1.3rem;
}

/* 住所 */
.form_row_post {
  margin-bottom: 30px;
  padding: 0 20px 30px 20px;
  border-bottom: 1px dotted #CCC;
}
.form_row_post .form_row_address_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
}
.form_row_post .form_row_address_row .form_label {
  font-weight: normal;
}

.form_row.last_row {
  padding-bottom: 0;
  border-bottom: none;
}

.wpcf7 .form_input_post input[type=tel],
.wpcf7 .form_input input[type=email],
.wpcf7 .form_input input[type=tel],
.wpcf7 .form_input input[type=text],
.wpcf7 .form_input_post input[type=text],
.wpcf7 .form_input textarea {
  position: relative;
  border-left: 2px solid #224799;
}

.seireki input[type=text] {
  width: 130px;
  margin: 0 10px;
}

.month input[type=text] {
  width: 60px;
  margin: 0 10px;
}

.old {
  margin-left: 30px;
}
.old input[type=text] {
  width: 60px;
  margin: 0 10px;
}

/* フォームの装飾ここから */
/* チェックボックス */
.wpcf7 .form_input input[type=checkbox] {
  display: none;
}
.wpcf7 .form_input input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.8em;
  font-size: inherit;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox] + span:before {
  content: "";
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 1.24em;
  height: 1.24em;
  border: 1px solid #224799;
  border-radius: 4px;
  background-color: #fefefe;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.wpcf7 .form_input input[type=checkbox] + span:after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 0.35em;
  left: 0.44em;
  width: 0.4em;
  height: 0.8em;
  border-bottom: 3px solid #224799;
  border-right: 3px solid #224799;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox]:checked + span {
  color: #224799;
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox]:checked + span:before {
  opacity: 1;
  border: 1px solid #224799;
  -webkit-box-shadow: 0 0 2px 2px rgba(34, 71, 153, 0.5);
          box-shadow: 0 0 2px 2px rgba(34, 71, 153, 0.5);
  background-color: #224799;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox]:checked + span:after {
  opacity: 1;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

/* ラジオボタン */
.wpcf7 .form_input input[type=radio] {
  display: none;
}
.wpcf7 .form_input input[type=radio] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 1.9em;
  font-size: inherit;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=radio] + span:before {
  content: "";
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 1em;
  height: 1em;
  border: 1px solid #224799;
  border-radius: 50%;
  background-color: #fefefe;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=radio] + span:after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=radio]:checked + span:before {
  -webkit-box-shadow: 0 0 2px 2px rgba(34, 71, 153, 0.5);
          box-shadow: 0 0 2px 2px rgba(34, 71, 153, 0.5);
}
.wpcf7 .form_input input[type=radio]:checked + span:after {
  opacity: 1;
  top: 0.3em;
  left: 0;
  width: 1em;
  height: 1em;
  background-color: #224799;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

/* セレクト */
.wpcf7 .form_input span.select-wrap {
  position: relative;
  width: 250px;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.wpcf7 .form_input span.select-wrap:after {
  content: "";
  pointer-events: none;
  position: absolute;
  display: block;
  width: 0.6em;
  height: 0.6em;
  top: 50%;
  right: 0.8em;
  margin-top: -3px;
  border-bottom: 1px solid #224799;
  border-right: 1px solid #224799;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  -webkit-transform-origin: 50% 0;
          transform-origin: 50% 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.wpcf7 .form_input span.select-wrap:focus-within::after {
  border-bottom: 1px solid #224799;
  border-right: 1px solid #224799;
}

.wpcf7 .form_input select {
  cursor: pointer;
  width: 250px;
  max-width: 100%;
  margin: 0;
  padding: 0.5em 3.5em 0.5em 1em;
  border: 1px solid #224799;
  border-radius: 4px;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: #fefefe;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(34, 71, 153, 0.7)), to(rgba(34, 71, 153, 0.7)));
  background-image: linear-gradient(90deg, rgba(34, 71, 153, 0.7), rgba(34, 71, 153, 0.7));
  background-position: 100% 0;
  background-size: 2em 3.5em;
  background-repeat: no-repeat;
  color: inherit;
  font-size: inherit;
  line-height: 1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: border-color 0.2s ease, outline 0.2s ease;
  transition: border-color 0.2s ease, outline 0.2s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
}
.wpcf7 .form_input select:-ms-expand {
  display: none;
}

.wpcf7 .form_input span.select-wrap {
  position: relative;
  width: 250px;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.wpcf7 .form_input span.select-wrap:after {
  content: "";
  pointer-events: none;
  position: absolute;
  display: block;
  width: 0.6em;
  height: 0.6em;
  top: 60%;
  right: 0.8em;
  margin-top: -3px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  -webkit-transform-origin: 50% 0;
          transform-origin: 50% 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* テキストフィールド フォーカス時 */
.wpcf7 .form_input input[type=text]:focus,
.wpcf7 .form_input input[type=tel]:focus,
.wpcf7 .form_input input[type=email]:focus,
.wpcf7 .form_input input[type=url]:focus,
.wpcf7 .form_input input[type=date]:focus,
.wpcf7 .form_input input[type=number]:focus,
.wpcf7 .form_input_post input[type=text]:focus,
.wpcf7 .form_input textarea:focus,
.wpcf7 .form_input_post input[type=tel]:focus {
  outline: 0;
  border: 1px #224799 solid;
  -webkit-box-shadow: 0 0 1px 1px rgba(34, 71, 153, 0.3);
          box-shadow: 0 0 1px 1px rgba(34, 71, 153, 0.3);
}

.wpcf7 .form_input select:focus {
  outline: 0;
  border: 1px #224799 solid;
  -webkit-box-shadow: 0 0 1px 1px rgba(34, 71, 153, 0.3);
          box-shadow: 0 0 1px 1px rgba(34, 71, 153, 0.3);
}

.wpcf7-response-output {
  font-size: 1.3em;
}

@media screen and (max-width: 767px) {
  .wpcf7-form textarea {
    width: 100% !important;
    /*本文*/
  }
  .wpcf7-form input {
    max-width: 100% !important;
    /*ラジオボタン、チェックボタン*/
  }
  .wpcf7-submit {
    width: 100%;
  }
  /* 入力欄 */
  .form_row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0 30px;
  }
  .form_label {
    width: 100%;
    margin-bottom: 10px;
  }
  .form_input {
    width: 100%;
  }
  /* 住所 */
  .form_row_post {
    padding: 0 0 20px 0;
  }
  .form_row_post .form_row_address_row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .seireki input[type=text] {
    width: 75px;
    margin: 0 5px;
  }
  .month input[type=text] {
    width: 45px;
    margin: 0 5px;
  }
  .old {
    display: block;
    margin-left: 0;
    margin-top: 10px;
  }
  .old input[type=text] {
    width: 45px;
    margin: 0 10px;
  }
  .wpcf7-radio .wpcf7-list-item {
    margin-left: 0;
    display: block;
  }
  .ajax-loader {
    width: auto;
  }
}
/****************************************

clearfix

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

/* Hides from IE Mac */
* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/* End Hack */
/****************************************

追加

*****************************************/
.dn {
  display: none;
}

.pcn {
  display: none;
}

@media screen and (max-width: 767px) {
  .spn {
    display: none;
  }
  .pcn {
    display: block;
  }
}