@charset "UTF-8";
/* ==========================================================================
 Foundation
========================================================================== */
/* ---------------------------------------------------------
 Reset
--------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  line-break: loose;
  word-wrap: normal;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

/* ---------------------------------------------------------
 Base
--------------------------------------------------------- */
/* Clearfix
---------------------------------- */
.clearfix::after {
  display: block;
  content: "";
  clear: both;
}

/* Common
---------------------------------- */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  background: #ffffff;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, "YuGothic", "Yu Gothic", "游ゴシック", "游ゴシック体";
  color: #363636;
  font-size: 14px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print, screen and (min-width: 768px) {
  body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 100vh;
    height: 100%;
    font-size: 16px;
    line-height: 1.7;
  }
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: #176A68;
  text-decoration: none;
}
a:visited {
  color: #176A68;
}
a:hover, a:active {
  text-decoration: none;
  color: #209491;
}

small {
  font-size: 80%;
}

@media print {
  body {
    display: block !important;
    min-height: 100%;
    height: auto !important;
  }
}
/* ==========================================================================
 Layout
========================================================================== */
/* ---------------------------------------------------------
 Header
--------------------------------------------------------- */
.l-header {
  background-color: rgba(5, 22, 22, 0.7);
  text-align: center;
  position: relative;
  z-index: 2;
}
.l-header.is-home {
  background: url(../images/mainimg/top.jpg) no-repeat 0 80%/100% auto;
  background-color: transparent;
  padding: 10px 0;
}
.l-header-logo-wrap {
  width: 60%;
  padding: 10px 0;
  position: relative;
  z-index: 20;
  display: inline-block;
}
.is-home .l-header-logo-wrap {
  padding-top: 0;
}
.l-header-sp-btn {
  width: 3rem;
  height: 3rem;
  display: block;
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  color: #ffffff;
  z-index: 11;
}
.l-header-sp-btn * {
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.l-header-sp-btn *:first-child {
  top: 0;
}
.l-header-sp-btn *:nth-of-type(2) {
  top: 25%;
  -webkit-transform: translateY(-25%);
          transform: translateY(-25%);
}
.l-header-sp-btn *:nth-of-type(3) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.l-header-sp-btn *:last-child {
  bottom: 0;
  text-align: center;
}
.l-header-sp-btn.is-opened *:first-child {
  -webkit-transform: rotate(-315deg) translate(12px, 10px);
          transform: rotate(-315deg) translate(12px, 10px);
}
.l-header-sp-btn.is-opened *:nth-of-type(2), .l-header-sp-btn.is-opened *:last-child {
  display: none;
}
.l-header-sp-btn.is-opened *:nth-of-type(3) {
  -webkit-transform: rotate(315deg) translate(7px, -6px);
          transform: rotate(315deg) translate(7px, -6px);
}
.l-header-sp-bar {
  background-color: #ffffff;
  height: 4px;
}
.l-header.is-home .p-heading-min {
  display: block;
  font-size: 18px;
  color: #ffffff;
}
.l-header a {
  color: #ffffff;
}
.l-header a:visited {
  color: #ffffff;
}
.l-header a:focus {
  color: #ffffff;
}
.l-header a:hover {
  color: #ffffff;
}
.l-header a:active {
  color: #ffffff;
}
.l-header .c-container {
  padding-left: 0;
  padding-right: 0;
}
.l-header nav {
  width: 100%;
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease, background 0.2s ease;
  transition: opacity 0.6s ease, background 0.2s ease;
  height: 100%;
}
.l-header nav.is-active {
  background-color: rgba(0, 0, 0, 0.85);
  padding-top: 65px;
  opacity: 1.0;
  z-index: 10;
  height: 100vh;
}
.l-header-mainnav li {
  border-top: solid 1px #ffffff;
}
.l-header-mainnav li:last-of-type {
  border-bottom: solid 1px #ffffff;
}
.l-header-mainnav li > a {
  padding: 10px;
  display: inline-block;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .l-header {
    padding: 0;
  }
  .l-header, .l-header .c-container {
    min-height: 80px;
  }
  .l-header .c-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .l-header.is-home {
    background-color: transparent;
  }
  .l-header.is-home .c-container {
    width: auto;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 650px;
  }
  .l-header.is-home nav {
    width: 1200px;
    margin: 0 auto;
  }
  .l-header.is-home .l-header-mainnav li > a:hover, .l-header.is-home .l-header-mainnav li > a:active, .l-header.is-home .l-header-mainnav li > a:focus {
    background-color: transparent;
  }
  .l-header.is-home .p-heading-min {
    font-size: 64px;
  }
  .l-header-logo-wrap {
    width: 346px;
  }
  .is-home .l-header-logo-wrap {
    width: auto;
    padding: 20px 0;
  }
  .l-header-sp-btn {
    display: none;
  }
  .l-header nav {
    width: 60%;
    position: static;
    opacity: 1.0;
    height: auto;
    z-index: 10;
  }
  .l-header-mainnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
  }
  .l-header-mainnav li {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    border: none;
  }
  .l-header-mainnav li:last-of-type {
    border-bottom: none;
  }
  .l-header-mainnav li > a {
    width: 100%;
    height: 100%;
    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;
  }
  .l-header-mainnav li > a:hover, .l-header-mainnav li > a:active, .l-header-mainnav li > a:focus {
    background-color: rgba(23, 106, 104, 0.3);
  }
  .l-header-mainnav li > a.is-current {
    background-color: rgba(23, 106, 104, 0.7);
  }
}

/* ---------------------------------------------------------
 Footer
--------------------------------------------------------- */
.l-footer {
  width: 100%;
  background-color: #363636;
}
.l-footer a {
  color: #363636;
}
.l-footer a:visited {
  color: #363636;
}
.l-footer a:focus {
  color: #176A68;
}
.l-footer a:hover {
  color: #209491;
}
.l-footer a:active {
  color: #209491;
}
.l-footer-sitemap-wrap {
  background-color: #e8e8e8;
  padding-top: 10px;
  padding-bottom: 10px;
}
.l-footer-sitemap-wrap li a {
  width: 100%;
  display: inline-block;
}
.l-footer-sitemap-wrap .c-row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.l-footer-sitemap-wrap *[class*='c-col'] {
  padding: 0;
}
.l-footer-sitemap-wrap *[class*='c-col']:last-of-type > li:last-child {
  border-bottom: solid 1px #363636;
}
.l-footer-sitemap-wrap *[class*='c-col'] > li {
  border-top: solid 1px #363636;
}
.l-footer-sitemap-wrap *[class*='c-col'] > li > a {
  padding: 0.5rem;
  font-size: 12px;
}
.l-footer-sitemap-wrap *[class*='c-col'] > li > ul {
  display: none;
}
.l-footer-address-wrap, .l-footer-copyright {
  text-align: center;
  color: #ffffff;
}
.l-footer-address-wrap {
  padding: 10px 0;
  font-size: 14px;
}
.l-footer-address-wrap a {
  color: #ffffff;
}
.l-footer-logo-wrap {
  width: 76%;
  margin: auto;
}
.l-footer-copyright {
  padding: 5px 0;
  font-size: 12px;
}
@media print, screen and (min-width: 768px) {
  .l-footer-sitemap-wrap {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .l-footer-sitemap-wrap .c-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] {
    padding-left: 10px;
    padding-right: 10px;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li > a {
    padding: 1.3rem 1rem;
    font-size: 16px;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li:last-of-type {
    border-bottom: solid 1px #363636;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li > ul {
    display: block;
    font-size: 14px;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li > ul.c-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li > ul.c-row > li[class*='c-col'] {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 48%;
            flex: 0 0 48%;
    padding: 0;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li > ul.c-row > li > a {
    padding-right: 0.5rem;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li > ul > li {
    border-top: dotted 1px #999999;
  }
  .l-footer-sitemap-wrap *[class*='c-col'] > li > ul > li > a {
    padding: 0.5rem 2rem;
  }
  .l-footer-sitemap-wrap .u-border-bottom {
    margin-bottom: 60px;
    border-bottom-color: #363636;
  }
  .l-footer-address-wrap {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .l-footer-logo-wrap {
    width: auto;
  }
}

/* ---------------------------------------------------------
 Contents
--------------------------------------------------------- */
/* Main Contents
---------------------------------- */
.l-contents {
  padding-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .l-contents {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    padding-bottom: 40px;
  }
}

/* ==========================================================================
 Object
========================================================================== */
/* ---------------------------------------------------------
 Component
--------------------------------------------------------- */
/* Grid
---------------------------------- */
.c-container {
  padding-left: 15px;
  padding-right: 15px;
}
@media print, screen and (min-width: 768px) {
  .c-container {
    width: 1200px;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
  }
}

.c-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-row.is-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-row.is-align-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.c-row.is-align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-row.is-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-row.is-justify-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.c-row.is-spaced {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-row.is-reverce {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.c-row.is-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.c-col, *[class*='c-col-'] {
  width: 100%;
  padding-left: 10px;
  padding-right: 10px;
}
.c-col.is-no-padding, *[class*='c-col-'].is-no-padding {
  padding: 0;
}

.c-col {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  max-width: 100%;
}

.c-col-10 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 10%;
          flex: 0 0 10%;
  max-width: 10%;
}

.c-col-20 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  max-width: 20%;
}

.c-col-30 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 30%;
          flex: 0 0 30%;
  max-width: 30%;
}

.c-col-40 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
          flex: 0 0 40%;
  max-width: 40%;
}

.c-col-50 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
}

@media print, screen and (min-width: 768px) {
  .c-col, *[class*='c-col-'] {
    padding: 0 15px;
  }

  .c-col-lg-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 10%;
            flex: 0 0 10%;
    max-width: 10%;
  }

  .c-col-lg-20 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
  }

  .c-col-lg-30 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30%;
            flex: 0 0 30%;
    max-width: 30%;
  }

  .c-col-lg-40 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
    max-width: 40%;
  }

  .c-col-lg-50 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
}
/* Box
---------------------------------- */
*[class*='c-box-'] {
  background-color: #ffffff;
  padding: 10px;
}

.c-box-bordered {
  border: solid 1px #999999;
}
.c-box-dotted {
  background-color: whitesmoke;
  border: dotted 1px #999999;
}
.c-box-bordered.is-primary, .c-box-dotted.is-primary {
  border-color: #176A68;
}
.c-box-bordered.is-danger, .c-box-dotted.is-danger {
  border-color: #CC0000;
}
.c-box-bordered.is-warning, .c-box-dotted.is-warning {
  border-color: #FF8E00;
}
.c-box-rounded {
  border-radius: 6px;
}

/* List
---------------------------------- */
.c-list-disc {
  list-style-type: disc;
}
.c-list-square {
  list-style-type: none;
}
.c-list-square li:before {
  content: "■";
  color: #176A68;
}
.c-list-alphabet {
  list-style: lower-alpha;
}
.c-list-roman {
  list-style: lower-roman;
}
.c-list-num {
  list-style: decimal;
}
.c-list-disc, .c-list-square, .c-list-alphabet, .c-list-roman, .c-list-num {
  padding-left: 1.5em;
}
@media print, screen and (min-width: 768px) {
  .c-list-disc, .c-list-square, .c-list-alphabet, .c-list-roman, .c-list-num {
    padding-left: 1em;
  }
}

.c-sp-link-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-sp-link-group-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  border: 1px solid #e8e8e8;
  letter-spacing: normal;
  position: relative;
}
.c-sp-link-group-item:before {
  width: 8px;
  height: 8px;
  border-top: solid 1px #999999;
  border-right: solid 1px #999999;
  content: "";
  display: inline-block;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 10px;
}
.c-sp-link-group a {
  width: 100%;
  padding: 11px 10px;
  display: inline-block;
  height: 100%;
}
@media print, screen and (min-width: 768px) {
  .c-sp-link-group {
    display: block;
  }
  .c-sp-link-group-item {
    border: none;
    display: inline-block;
  }
  .c-sp-link-group-item:before {
    margin-right: 10px;
    position: static;
    -webkit-transform: rotate(45deg) translateY(0);
            transform: rotate(45deg) translateY(0);
  }
  .c-sp-link-group a {
    width: calc(100% - 20px);
    padding: 0;
    vertical-align: top;
  }
}

/* Table
---------------------------------- */
*[class*='c-table'] {
  width: 100%;
  margin-bottom: 20px;
  background-color: #ffffff;
  border: solid 1px #999999;
}
*[class*='c-table'] th, *[class*='c-table'] td {
  padding: 5px;
  border: solid 1px #999999;
  word-wrap: break-word;
}
@media print, screen and (min-width: 768px) {
  *[class*='c-table'] th, *[class*='c-table'] td {
    padding: 10px 15px;
  }
}

.c-table-striped tr:nth-of-type(odd) {
  background-color: #ededed;
}
.c-table-top-labeled th, .c-table-left-labeled th {
  background-color: #e8e8e8;
  color: #363636;
}
.c-table-top-labeled th {
  text-align: center;
}

/* Tabs
---------------------------------- */
.c-nav-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-nav-tabs > li {
  margin-bottom: 5px;
  text-align: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 49%;
          flex: 0 0 49%;
  max-width: 49%;
}
.c-nav-tabs > li > a {
  width: 100%;
  background-color: rgba(23, 106, 104, 0.1);
  padding: 5px;
  border: 1px solid #cccccc;
  display: inline-block;
  color: #176A68;
  height: 100%;
}
.c-nav-tabs a:hover,
.c-nav-tabs a:active,
.c-nav-tabs a:focus,
.c-nav-tabs a.is-active {
  background-color: #ffffff;
  border-color: #176A68;
  color: #176A68;
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  .c-nav-tabs {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
  }
  .c-nav-tabs:after {
    width: 100%;
    border-bottom: 1px solid #176A68;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    content: "";
  }
  .c-nav-tabs > li {
    margin-bottom: 0;
    padding-right: 2px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .c-nav-tabs > li + li {
    margin-left: 10px;
  }
  .c-nav-tabs > li > a {
    padding: 10px;
    border: solid 1px transparent;
    border-radius: 6px 6px 0 0;
  }
  .c-nav-tabs a:hover,
  .c-nav-tabs a:active,
  .c-nav-tabs a:focus {
    border-bottom-color: transparent;
  }
  .c-nav-tabs a.is-active {
    border-bottom-color: #ffffff;
    position: relative;
    z-index: 3;
  }
}

.c-tab-pane {
  display: none;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}
.c-tab-pane.is-active {
  display: block;
  opacity: 1;
}

/* Button
---------------------------------- */
*[class*='c-btn-'] {
  min-width: 8rem;
  padding: 5px 10px;
  display: inline-block;
  border: 1px solid transparent;
  border-radius: 0;
  text-align: center;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.5;
  cursor: pointer;
}
*[class*='c-btn-']:hover {
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  *[class*='c-btn-'] {
    min-width: 12rem;
    padding: 10px 20px;
    font-size: 16px;
  }
}

.c-btn-default {
  color: #363636;
  background-color: #ffffff;
  border-color: #f2f2f2;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.c-btn-default:visited {
  color: #363636;
}
.c-btn-default:focus, .c-btn-default.focus {
  color: #ffffff;
  background-color: #f2f2f2;
  border-color: #cccccc;
}
.c-btn-default:hover {
  color: #ffffff;
  background-color: #f2f2f2;
  border-color: #d9d9d9;
}
.c-btn-default:active, .c-btn-default.active, .open > .c-btn-default.dropdown-toggle {
  color: #ffffff;
  background-color: #f2f2f2;
  border-color: #cccccc;
}
.c-btn-default:active:hover, .c-btn-default:active:focus, .c-btn-default:active.focus, .c-btn-default.active:hover, .c-btn-default.active:focus, .c-btn-default.active.focus, .open > .c-btn-default.dropdown-toggle:hover, .open > .c-btn-default.dropdown-toggle:focus, .open > .c-btn-default.dropdown-toggle.focus {
  color: #ffffff;
  background-color: #f2f2f2;
  border-color: #cccccc;
}
.c-btn-default:active, .c-btn-default.active, .open > .c-btn-default.dropdown-toggle {
  background-image: none;
}
.c-btn-default.disabled:hover, .c-btn-default.disabled:focus, .c-btn-default.disabled.focus, .c-btn-default[disabled]:hover, .c-btn-default[disabled]:focus, .c-btn-default[disabled].focus, fieldset[disabled] .c-btn-default:hover, fieldset[disabled] .c-btn-default:focus, fieldset[disabled] .c-btn-default.focus {
  background-color: #f2f2f2;
  border-color: #f2f2f2;
}
.c-btn-primary {
  color: #176A68;
  background-color: #ffffff;
  border-color: #176A68;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.c-btn-primary:visited {
  color: #176A68;
}
.c-btn-primary:focus, .c-btn-primary.focus {
  color: #ffffff;
  background-color: #176A68;
  border-color: #092b2a;
}
.c-btn-primary:hover {
  color: #ffffff;
  background-color: #176A68;
  border-color: #0e403f;
}
.c-btn-primary:active, .c-btn-primary.active, .open > .c-btn-primary.dropdown-toggle {
  color: #ffffff;
  background-color: #176A68;
  border-color: #092b2a;
}
.c-btn-primary:active:hover, .c-btn-primary:active:focus, .c-btn-primary:active.focus, .c-btn-primary.active:hover, .c-btn-primary.active:focus, .c-btn-primary.active.focus, .open > .c-btn-primary.dropdown-toggle:hover, .open > .c-btn-primary.dropdown-toggle:focus, .open > .c-btn-primary.dropdown-toggle.focus {
  color: #ffffff;
  background-color: #176A68;
  border-color: #092b2a;
}
.c-btn-primary:active, .c-btn-primary.active, .open > .c-btn-primary.dropdown-toggle {
  background-image: none;
}
.c-btn-primary.disabled:hover, .c-btn-primary.disabled:focus, .c-btn-primary.disabled.focus, .c-btn-primary[disabled]:hover, .c-btn-primary[disabled]:focus, .c-btn-primary[disabled].focus, fieldset[disabled] .c-btn-primary:hover, fieldset[disabled] .c-btn-primary:focus, fieldset[disabled] .c-btn-primary.focus {
  background-color: #176A68;
  border-color: #176A68;
}
.c-btn-warning {
  color: #176A68;
  background-color: #FF8E00;
  border-color: #FF8E00;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.c-btn-warning:visited {
  color: #176A68;
}
.c-btn-warning:focus, .c-btn-warning.focus {
  color: #FF8E00;
  background-color: #FF8E00;
  border-color: #b36300;
}
.c-btn-warning:hover {
  color: #FF8E00;
  background-color: #FF8E00;
  border-color: #cc7200;
}
.c-btn-warning:active, .c-btn-warning.active, .open > .c-btn-warning.dropdown-toggle {
  color: #FF8E00;
  background-color: #FF8E00;
  border-color: #b36300;
}
.c-btn-warning:active:hover, .c-btn-warning:active:focus, .c-btn-warning:active.focus, .c-btn-warning.active:hover, .c-btn-warning.active:focus, .c-btn-warning.active.focus, .open > .c-btn-warning.dropdown-toggle:hover, .open > .c-btn-warning.dropdown-toggle:focus, .open > .c-btn-warning.dropdown-toggle.focus {
  color: #FF8E00;
  background-color: #FF8E00;
  border-color: #b36300;
}
.c-btn-warning:active, .c-btn-warning.active, .open > .c-btn-warning.dropdown-toggle {
  background-image: none;
}
.c-btn-warning.disabled:hover, .c-btn-warning.disabled:focus, .c-btn-warning.disabled.focus, .c-btn-warning[disabled]:hover, .c-btn-warning[disabled]:focus, .c-btn-warning[disabled].focus, fieldset[disabled] .c-btn-warning:hover, fieldset[disabled] .c-btn-warning:focus, fieldset[disabled] .c-btn-warning.focus {
  background-color: #FF8E00;
  border-color: #FF8E00;
}
.c-btn-small {
  padding: 5px 10px;
  font-size: 14px;
}
@media print, screen and (min-width: 768px) {
  .c-btn-small {
    font-size: 16px;
  }
}
.c-btn-large {
  font-size: 18px;
}
.c-btn-block {
  width: 100%;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .c-btn-large {
    padding: 10px 20px;
  }
}

[class*="c-btn-"][class*="c-i-"]:before {
  vertical-align: middle;
}

/* Headings
---------------------------------- */
.c-h1 {
  font-size: 18px;
}

.c-h2 {
  font-size: 18px;
}

.c-h3 {
  font-size: 16px;
}

.c-h4 {
  font-size: 16px;
}

.c-h5 {
  font-size: 16px;
}

.c-h6 {
  font-size: 16px;
}

@media print, screen and (min-width: 768px) {
  .c-h1 {
    font-size: 40px;
  }

  .c-h2 {
    font-size: 24px;
  }

  .c-h3 {
    font-size: 18px;
  }

  .c-h4 {
    font-size: 18px;
  }

  .c-h5 {
    font-size: 16px;
  }

  .c-h6 {
    font-size: 16px;
  }
}
/* Icon
---------------------------------- */
@font-face {
  font-family: "daimyo-law";
  src: url("../fonts/daimyo-law.eot?4556oo");
  src: url("../fonts/daimyo-law.eot?4556oo#iefix") format("embedded-opentype"), url("../fonts/daimyo-law.ttf?4556oo") format("truetype"), url("../fonts/daimyo-law.woff?4556oo") format("woff"), url("../fonts/daimyo-law.svg?4556oo#daimyo-law") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="c-i-"], [class*=" c-i-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  speak: none;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
[class^="c-i-"]:before, [class^="c-i-"]:after, [class*=" c-i-"]:before, [class*=" c-i-"]:after {
  font-family: "daimyo-law" !important;
  line-height: 1;
  font-weight: normal;
}
[class^="c-i-"].is-small:before, [class*=" c-i-"].is-small:before {
  font-size: 14px;
}
[class^="c-i-"].is-xsmall:before, [class*=" c-i-"].is-xsmall:before {
  font-size: 12px;
}
[class^="c-i-"].is-xxsmall:before, [class*=" c-i-"].is-xxsmall:before {
  font-size: 7px;
}
[class^="c-i-"].is-large:before, [class*=" c-i-"].is-large:before {
  font-size: 18px;
}
[class^="c-i-"].is-xxlarge:before, [class*=" c-i-"].is-xxlarge:before {
  font-size: 36px;
}

.c-i-home-scale:before {
  content: "";
}

.c-i-meeting:before {
  content: "";
}

.c-i-milk:before {
  content: "";
}

.c-i-home-search:before {
  content: "";
}

.c-i-certificate:before {
  content: "";
}

.c-i-chairman:before {
  content: "";
}

.c-i-comment:before {
  content: "";
}

.c-i-discussion:before {
  content: "";
}

.c-i-court:before {
  content: "";
}

.c-i-delete-person:before {
  content: "";
}

.c-i-gavel:before {
  content: "";
}

.c-i-handcuff:before {
  content: "";
}

.c-i-heart:before {
  content: "";
}

.c-i-home-01:before {
  content: "";
}

.c-i-home-02:before {
  content: "";
}

.c-i-hourglass:before {
  content: "";
}

.c-i-issue:before {
  content: "";
}

.c-i-light-bulb:before {
  content: "";
}

.c-i-lp:before {
  content: "";
}

.c-i-mail:before {
  content: "";
}

.c-i-mirror:before {
  content: "";
}

.c-i-network:before {
  content: "";
}

.c-i-paper-01:before {
  content: "";
}

.c-i-paper-02:before {
  content: "";
}

.c-i-pc:before {
  content: "";
}

.c-i-pen-note:before {
  content: "";
}

.c-i-people-01:before {
  content: "";
}

.c-i-people-02:before {
  content: "";
}

.c-i-people-03:before {
  content: "";
}

.c-i-person-comment:before {
  content: "";
}

.c-i-rulebook:before {
  content: "";
}

.c-i-scale:before {
  content: "";
}

.c-i-search:before {
  content: "";
}

.c-i-yen-01:before {
  content: "";
}

.c-i-yen-02:before {
  content: "";
}

.c-i-yen-03:before {
  content: "";
}

.c-i-buildings:before {
  content: "";
}

.c-i-building-yen:before {
  content: "";
}

.c-i-building-gear:before {
  content: "";
}

.c-i-building-person:before {
  content: "";
}

.c-i-car-01:before {
  content: "";
}

.c-i-car-02:before {
  content: "";
}

.c-i-broken-heart:before {
  content: "";
}

.c-i-building:before {
  content: "";
}

.c-i-building-02:before {
  content: "";
}

.c-i-building-03:before {
  content: "";
}

.c-i-building-04:before {
  content: "";
}

.c-i-arrow-down:before {
  content: "";
}
.c-i-arrow-down.c-btn-primary {
  position: relative;
}
.c-i-arrow-down.c-btn-primary:before {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-i-arrow-right:before {
  content: "";
}
.c-i-arrow-right.c-btn-primary {
  position: relative;
}
.c-i-arrow-right.c-btn-primary:before {
  position: absolute;
  top: 50%;
  right: 0.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.c-i-b2b:before {
  content: "";
}

.c-i-book:before {
  content: "";
}

.c-i-briefcase:before {
  content: "";
}

.c-i-alert:before {
  content: "";
}

.c-i-handshake:before {
  width: 192px;
  background: url(../images/office/handshake.png) no-repeat 0 0/100% auto;
  height: 40px;
  content: "";
}
@media print, screen and (min-width: 768px) {
  .c-i-handshake:before {
    width: 60px;
  }
}

/* ---------------------------------------------------------
 Project
--------------------------------------------------------- */
/* Headings
---------------------------------- */
*[class*='p-heading'] {
  margin-bottom: 0.5rem;
  color: #666666;
  font-weight: normal;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
*[class*='p-heading'].p-heading-min {
  font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

h1[class*='p-heading'] {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  h1[class*='p-heading'] {
    margin-bottom: 2.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  h2[class*='p-heading'] {
    margin-bottom: 1rem;
  }
}

/* Pages
---------------------------------- */
/* Common */
.is-home .u-border-bottom {
  border-bottom-width: 2px;
  border-color: #666666;
}

.p-section {
  padding: 10px 0;
  position: relative;
}
.p-section.is-underlined:after {
  width: 100%;
  background-color: #999999;
  content: "";
  height: 1px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media print, screen and (min-width: 768px) {
  .p-section {
    padding: 40px 0;
  }
  .p-section.is-underlined:after {
    width: 1240px;
  }
}

.p-page-top {
  width: 60px;
  margin-bottom: -30px;
  display: inline-block;
  height: 60px;
  border-top: solid 1px #363636;
  border-right: solid 1px #363636;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.p-page-title {
  background: url(../images/mainimg/top.jpg) no-repeat 0 50%/cover;
  margin-top: -63px;
  padding-top: 80px;
  padding-bottom: 15px;
  position: relative;
  z-index: 1;
}
.p-page-title .p-heading-min {
  font-size: 24px;
  text-align: left;
  color: #ffffff;
}
@media print, screen and (min-width: 768px) {
  .p-page-title {
    background: url(../images/mainimg/top.jpg) no-repeat 0 65%/cover;
    margin-top: -90px;
    padding-top: 160px;
    min-height: 300px;
  }
  .p-page-title .p-heading-min {
    font-size: 51.2px;
  }
}

.p-lead-text {
  margin-bottom: 20px !important;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .p-lead-text {
    margin-bottom: 40px !important;
    font-size: 18px;
  }
}

.p-box {
  background-color: #ffffff;
  padding-bottom: 10px;
  -webkit-box-shadow: 0 0 6px rgba(153, 153, 153, 0.6);
          box-shadow: 0 0 6px rgba(153, 153, 153, 0.6);
  border-bottom: solid 4px #176A68;
  display: block;
  height: 100%;
}
.p-box > *:not(.p-box-thumb) {
  margin: 0 10px;
}
.p-box.c-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-box p {
  color: #363636;
}
.p-box:hover {
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  .p-box {
    padding-bottom: 15px;
  }
  .p-box > *:not(.p-box-thumb) {
    margin: 0 20px;
  }
}

.p-box-thumb {
  background-color: #051616;
  padding: 0;
  overflow: hidden;
}
.p-box-thumb img {
  -webkit-transition: -webkit-transform 0.6s ease 0.1s;
  transition: -webkit-transform 0.6s ease 0.1s;
  transition: transform 0.6s ease 0.1s;
  transition: transform 0.6s ease 0.1s, -webkit-transform 0.6s ease 0.1s;
}
.p-box-thumb img:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 0.6;
}

@media print, screen and (min-width: 768px) {
  .p-narrow-wrap {
    width: 960px;
    margin: 0 auto;
  }
}

/* Top */
.p-top-message {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top-message > .c-col {
  padding: 0;
}
.p-top-message .p-heading-min {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .p-top-message {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .p-top-message .c-col-40 {
    padding-left: 30px;
  }
  .p-top-message .p-heading-min {
    text-align: left;
  }
}

.p-service-list .p-heading {
  padding-top: 5px;
}
.p-service-list .p-heading + p {
  font-size: 12px;
}
.p-service-list .p-box-thumb {
  width: 30%;
  float: left;
  margin-right: 5px;
}
@media print, screen and (min-width: 768px) {
  .p-service-list .p-heading {
    padding-top: 0;
  }
  .p-service-list .p-heading + p {
    font-size: 16px;
  }
  .p-service-list .p-box-thumb {
    width: auto;
    float: none;
    margin-right: 0;
  }
}

/* Service */
.p-service-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-service-images > * {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
  max-width: 48%;
}
@media print, screen and (min-width: 768px) {
  .p-service-images {
    display: block;
  }
  .p-service-images > * {
    max-width: 100%;
  }
}

.p-service-keyword-wrap .u-border-bottom {
  padding-left: 0.5rem;
  border-width: 2px;
  border-color: #363636;
}

.p-service-keyword {
  margin-left: 0.5rem;
}
.p-service-keyword li {
  margin-bottom: 10px;
  padding: 0;
  font-weight: bold;
  font-size: 16px;
}
.p-service-keyword li:before {
  width: 32px;
  margin-right: 0.75rem;
  height: 32px;
  font-size: 18px;
  border: solid 1px #176A68;
  border-radius: 50%;
  text-align: center;
  line-height: 32px;
}
.p-service-keyword li.c-i-b2b:before, .p-service-keyword li.c-i-buildings:before, .p-service-keyword li.c-i-home-02:before, .p-service-keyword li.c-i-home-search:before {
  font-size: 24px;
}
.p-service-keyword li.c-i-building-gear:before, .p-service-keyword li.c-i-people-01:before, .p-service-keyword li.c-i-building-02:before, .p-service-keyword li.c-i-building-03:before, .p-service-keyword li.c-i-building-04:before, .p-service-keyword li.c-i-building-person:before, .p-service-keyword li.c-i-people-03:before, .p-service-keyword li.c-i-court:before, .p-service-keyword li.c-i-building-yen:before, .p-service-keyword li.c-i-meeting:before, .p-service-keyword li.c-i-people-02:before, .p-service-keyword li.c-i-car-02:before, .p-service-keyword li.c-i-mirror:before {
  font-size: 23px;
}

.p-service-trouble-example li {
  padding: 10px 0;
}
.p-service-trouble-example li:before {
  background: url(../images/service/round_bracket.png) no-repeat 100% 0/auto 100%;
  margin-right: 1.5rem;
  font-size: 24px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 15%;
          flex: 0 0 15%;
  white-space: nowrap;
}
.p-service-trouble-example li:nth-of-type(1):before {
  content: "例1";
}
.p-service-trouble-example li:nth-of-type(2):before {
  content: "例2";
}
.p-service-trouble-example li:nth-of-type(3):before {
  content: "例3";
}
.p-service-trouble-example li:nth-of-type(4):before {
  content: "例4";
}
@media print, screen and (min-width: 768px) {
  .p-service-trouble-example li {
    padding: 20px 100px;
  }
  .p-service-trouble-example li:before {
    background-size: auto;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8%;
            flex: 0 0 8%;
    font-size: 35px;
  }
}

.p-service-keyword li, .p-service-trouble-example li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-service-keyword li:before, .p-service-trouble-example li:before {
  font-weight: normal;
  color: #176A68;
}
@media print, screen and (min-width: 768px) {
  .p-service-keyword li, .p-service-trouble-example li {
    font-size: 18px;
  }
}

.p-service-link {
  text-align: right;
}
.p-service-link .c-btn-primary {
  min-width: auto;
  padding: 15px;
  line-height: 1;
}
.p-service-link .c-i-arrow-down:before {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
  display: block;
}

/* Office */
.p-office-list a {
  color: #363636;
}
.p-office-list a:visited {
  color: #363636;
}
.p-office-list a:focus {
  color: #176A68;
}
.p-office-list a:hover {
  color: #209491;
}
.p-office-list a:active {
  color: #209491;
}
.p-office-list .p-box .p-box-thumb + * {
  margin: 0;
  padding-top: 20px;
  padding-left: 10px;
}
@media print, screen and (min-width: 768px) {
  .p-office-list .p-box {
    padding-right: 20px;
  }
  .p-office-list .p-box .p-box-thumb + * {
    padding-top: 40px;
    padding-left: 40px;
  }
}

.p-message-photo {
  float: right;
}
@media print, screen and (min-width: 768px) {
  .p-message-photo {
    margin: 0 1.5rem 1.5rem;
  }
}

.p-philosophy-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: dotted 1px #999999;
  padding: 10px 30px;
}
.p-philosophy-list li:before {
  color: #176A68;
  margin-right: 1rem;
  font-size: 40px;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .p-philosophy-list li {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .p-philosophy-list .c-i-heart:before,
  .p-philosophy-list .c-i-discussion:before,
  .p-philosophy-list .c-i-light-bulb:before {
    font-size: 46px;
  }
}

.p-philosophy-heading {
  font-weight: bold;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16%;
          flex: 0 0 16%;
  max-width: 16%;
}

.p-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0.5rem 0;
}
.p-table th, .p-table td {
  padding: 0.5rem;
  border-top: solid 2px #176A68;
}
.p-table th {
  width: 30%;
  padding-right: 0;
}
.p-table td {
  width: 70%;
}
.p-table tr:last-of-type th, .p-table tr:last-of-type td {
  border-bottom: solid 2px #176A68;
}
@media print, screen and (min-width: 768px) {
  .p-table {
    border-spacing: 1rem 0;
  }
  .p-table th, .p-table td {
    width: auto;
    padding: 0.5rem 1rem;
  }
}

/* Lawyers */
.p-lawyers-list .p-box {
  text-align: center;
}
.p-lawyers-list .p-box.p-other {
  padding-top: 15px;
}
@media print, screen and (min-width: 768px) {
  .p-lawyers-list li {
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  .p-lawyers-list li.c-col-lg-30 {
    max-width: 25%;
  }
  .p-lawyers-list li .c-btn-primary {
    min-width: auto;
    width: 80%;
    margin: 0;
  }
  .p-lawyers-list li .p-heading {
    margin-inline: .5rem;
  }
  .p-lawyers-list li .p-heading > small {
    font-size: 1rem;
  }
}

.p-profile-wrap dl {
  margin-top: 20px;
}
.p-profile-wrap dt, .p-profile-wrap dd {
  padding-left: 0.5rem;
}
.p-profile-wrap dt {
  margin-bottom: 10px;
  border-bottom-width: 2px;
  border-bottom-color: #363636;
  display: block;
}
.p-profile-wrap dd > div {
  margin-bottom: 5px;
}
@media print, screen and (min-width: 768px) {
  .p-profile-wrap .c-col-lg-40 + * {
    padding-left: 40px;
  }
  .p-profile-wrap dl {
    margin-top: 40px;
  }
  .p-profile-wrap dd {
    padding-left: 20px;
  }
}

.p-profile-name {
  margin-bottom: 5px;
  border-bottom: solid 4px #176A68;
  position: relative;
  line-height: 1.3;
}
.p-profile-name, .p-profile-name + p {
  padding-left: 0.5rem;
}
.p-profile-name small {
  position: absolute;
  bottom: 0;
  right: 1rem;
}
@media print, screen and (min-width: 768px) {
  .p-profile-name small {
    font-size: 16px;
    bottom: 0.5rem;
  }
}

.p-profile-chronology {
  border-bottom: dotted 1px #999999;
}
.p-profile-chronology time {
  display: block;
  color: black;
}
@media print, screen and (min-width: 768px) {
  .p-profile-chronology {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: none;
  }
  .p-profile-chronology time {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33%;
            flex: 0 0 33%;
    max-width: 33%;
    color: #363636;
  }
  .p-profile-chronology time.is-shorter, .p-profile-chronology span {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 22%;
            flex: 0 0 22%;
    max-width: 22%;
  }
}

.p-profile-message {
  position: relative;
  padding: 25px 15px;
  border: thin solid #176A68;
}
.p-profile-message dt {
  position: absolute;
  top: 0;
  left: 0;
  color: #176A68;
  background-color: #ffffff;
  -webkit-transform: translateY(-50%) translateX(1em);
          transform: translateY(-50%) translateX(1em);
  padding: 0 15px;
}
.p-profile-message dd {
  padding-left: 0;
}
@media print, screen and (min-width: 768px) {
  .p-profile-message {
    padding: 35px 30px;
  }
}

/* Contact */
.p-contact-tel {
  font-size: 35.2px;
  font-weight: bold;
}
.p-contact-tel:before {
  width: 40px;
  background: url(../images/common/tel.png) no-repeat 0 0/100% 100%;
  margin-right: 0.5rem;
  height: 39px;
  display: inline-block;
  vertical-align: middle;
  content: "";
}
@media print, screen and (min-width: 768px) {
  .p-contact-tel {
    font-size: 64px;
  }
  .p-contact-tel:before {
    width: 65px;
    height: 64px;
  }
}

/* Access */
.p-access-heading {
  margin-left: -10px;
  font-weight: bold;
  letter-spacing: 2px;
}
@media print, screen and (min-width: 768px) {
  .p-access-heading {
    font-size: 18px;
    letter-spacing: 4px;
  }
}

.p-access-info dd {
  display: block;
}
.p-access-info dt {
  margin-bottom: 5px;
  padding: 0 0.5rem;
  border: solid 1px #999999;
  display: inline-block;
}

.p-access-photo {
  float: right;
}
@media print, screen and (min-width: 768px) {
  .p-access-photo {
    margin-right: 50px;
  }
  .p-access-photo + .u-padding {
    padding-left: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .p-access-map iframe {
    height: 600px;
  }
}

/* Contact Info */
.p-contact-info-wrap {
  background: radial-gradient(circle at center, #176A68, #0c3837);
  margin-bottom: 10px;
  padding: 10px 0;
  text-align: center;
}
.p-contact-info-wrap > * {
  color: #ffffff;
}
@media print, screen and (min-width: 768px) {
  .p-contact-info-wrap {
    width: 1240px;
    margin-top: 40px;
    margin-bottom: 0;
    padding: 20px 0 30px 0;
  }
}

.p-contact-info {
  margin: 0 10px;
  background-color: #ffffff;
  padding: 10px;
  color: #176A68;
}
.p-contact-info-tel {
  display: block;
  vertical-align: middle;
  font-weight: bold;
  font-size: 32px;
  line-height: 1;
}
.p-contact-info-tel:before {
  width: 35px;
  margin-right: 0.5rem;
  background: url(../images/common/tel.png) no-repeat 0 0/100% 100%;
  height: 35px;
  display: inline-block;
  vertical-align: top;
  content: "";
}
.p-contact-info dl {
  margin-top: 10px;
  padding-top: 10px;
  border-top: solid 1px #176A68;
}
.p-contact-info dl dt {
  width: 10rem;
  margin-bottom: 10px;
  padding: 0.25rem 1rem;
  border: solid 1px #176A68;
  display: inline-block;
}
.p-contact-info dl dd {
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  .p-contact-info {
    width: 960px;
    margin: 0 auto;
    padding: 20px;
  }
  .p-contact-info-tel {
    display: inline-block;
    font-size: 64px;
  }
  .p-contact-info-tel:before {
    width: 55px;
    height: 55px;
  }
  .p-contact-info dl {
    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;
  }
  .p-contact-info dt {
    width: auto;
  }
  .p-contact-info dd {
    padding-left: 1rem;
  }
}

/* ---------------------------------------------------------
 Utility
--------------------------------------------------------- */
/* Utilities
---------------------------------- */
/* Text */
.u-text-bold {
  font-weight: bold;
}

.u-text-small {
  font-size: 12px;
}
@media print, screen and (min-width: 768px) {
  .u-text-small {
    font-size: 14px;
  }
}

.u-text-large {
  font-size: 16px;
}
@media print, screen and (min-width: 768px) {
  .u-text-large {
    font-size: 18px;
  }
}

.u-text-deep {
  color: black;
}

.u-text-pale {
  color: #999999;
}

.u-text-primary {
  color: #176A68;
}

.u-text-danger {
  color: #CC0000;
}

.u-text-borderd {
  padding: 2px 4px;
  border: solid 1px #999999;
  display: inline-block;
}

.u-text-underlined {
  text-decoration: underline;
}

.u-text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
}

.u-text-indent {
  margin-left: 1em;
  text-indent: -1em;
}

.u-text-slim {
  letter-spacing: -1px;
}

/* Link */
.u-link-wrap {
  width: 100%;
  height: 100%;
  display: inline-block;
  text-decoration: none;
}
.u-link-wrap:hover {
  text-decoration: none;
}

.u-link-fade img {
  opacity: 1.0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.u-link-fade:hover img {
  opacity: 0.8;
}

/* Alignment */
.u-text-left {
  text-align: left;
}

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

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

.u-align-center {
  margin: 0 auto;
}

/* Border */
.u-border-top {
  border-top: solid 1px #999999;
}
.u-border-left {
  border-left: solid 1px #999999;
}
.u-border-right {
  border-right: solid 1px #999999;
}
.u-border-bottom {
  border-bottom: solid 1px #999999;
}

/* Image */
.u-img-responsive {
  width: 100%;
  max-width: 100%;
  height: auto;
}

/* Margin */
.u-mg-btm {
  margin-bottom: 5px !important;
}
@media print, screen and (min-width: 768px) {
  .u-mg-btm {
    margin-bottom: 10px !important;
  }
}

.u-mg-btm-l {
  margin-bottom: 10px !important;
}
@media print, screen and (min-width: 768px) {
  .u-mg-btm-l {
    margin-bottom: 20px !important;
  }
}

.u-mg-btm-xl {
  margin-bottom: 20px !important;
}
@media print, screen and (min-width: 768px) {
  .u-mg-btm-xl {
    margin-bottom: 40px !important;
  }
}

.u-mg-btm-xxl {
  margin-bottom: 40px !important;
}
@media print, screen and (min-width: 768px) {
  .u-mg-btm-xxl {
    margin-bottom: 60px !important;
  }
}

.u-mg-m-top {
  margin-top: -10px !important;
}

.u-mg-m-top-l {
  margin-top: -20px !important;
}

/* Padding */
.u-padding {
  padding: 5px;
}
@media print, screen and (min-width: 768px) {
  .u-padding {
    padding: 5px 10px;
  }
}

/* Ohters */
.u-sp-only {
  display: block;
}
@media print, screen and (min-width: 768px) {
  .u-sp-only {
    display: none;
  }
}

.u-pc-only {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .u-pc-only {
    display: block;
  }
}

.u-position-r {
  position: relative;
}

.u-display-inline-block {
  display: inline-block;
}
