@charset "UTF-8";

/* --------------------------------

  CSS Reset

-------------------------------- */
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: 500;
  font-style: normal;
}

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

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

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

a {
  color: #ff4700;
  border: none;
  text-decoration: none;
}

a:hover {
  color: #ff9102;
  text-decoration: underline;
}

img,
video,
iframe {
  max-width: 100%;
}

img {
  height: auto;
  border: none;
  vertical-align: top;
}

b,
strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

blockquote,
q {
  quotes: none;
}

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

a,
area,
button,
[role="button"],
input:not([type=range]),
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

button {
  border: none;
  background: none;
}

button:hover,
button:active,
button:focus {
  outline: none;
}

button:active,
button:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.list-unstyled,
.list-style-none {
  list-style: none;
}

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

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

.text-white {
  color: #fff;
}

.text-danger {
  color: #b22d00;
}

.fs-lg {
  font-size: 1.05em;
}

@media screen and (min-width: 1100px),
print {
  .fs-lg {
    font-size: 1.15em;
  }
}

.fs-sm {
  font-size: .9em;
}

* {
  scroll-behavior: auto !important;
}

/* --------------------------------

  共通スタイル

-------------------------------- */
/* 共通見出し（h2相当）*/
.heading {
  position: relative;
  max-width: 1100px;
  margin: 0 auto 1.5rem;
  padding-bottom: 1rem;
  line-height: 1.3;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 1100px),
print {
  .heading {
    margin-bottom: 2rem;
  }
}

.heading.h2 {
  font-size: 2.4rem;
  border-bottom: 2px solid #ff9102;
}

@media screen and (min-width: 768px),
print {
  .heading.h2 {
    font-size: 2.8rem;
  }
}

/* 共通リスト */
.list {
  list-style-type: none;
  line-height: 1.5;
}

.list li {
  position: relative;
  padding-left: 1.15em;
}

.list li:not(:last-child) {
  margin-bottom: .35em;
}

.list li::before {
  content: "";
  display: block;
  position: absolute;
  top: .45em;
  left: 0;
  width: .55em;
  height: .55em;
  border-radius: 100%;
  background-color: #ff9102;
}

/* インデント */
.indent {
  margin-left: 1em;
  text-indent: -1em;
}

/* リンクボタン */
.link-button {
  display: inline-block;
  vertical-align: top;
  position: relative;
  min-width: 10em;
  padding: .75rem 2.5rem;
  line-height: 1.2;
  font-weight: 700;
  color: #fff;
  text-align: center;
  border-radius: 10em;
  background-color: #ff9102;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  -webkit-transition: color .25s, border-color .25s, background-color .25s;
  transition: color .25s, border-color .25s, background-color .25s;
}

@media screen and (min-width: 1100px),
print {
  .link-button {
    padding: 1.25rem 3rem;
    font-size: 2rem;
  }
}

.link-button-secondary {
  color: #ff9102;
  background-color: #fff;
}

.link-button-lg {
  padding: 1rem 3rem;
  font-size: 1.1em;
}

@media screen and (min-width: 1100px),
print {
  .link-button-lg {
    font-size: 1.3em;
  }
}

.link-button-sm {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: .75rem 2.5rem;
  font-size: 1.4rem;
  color: #ff4700;
  background-color: #fff;
}

.link-button-sm::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 0 .5rem 0 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #ff4700;
  -webkit-transition: border-color .25s;
  transition: border-color .25s;
}

.link-button-contact {
  padding: .5em 2em .75em;
  line-height: 1;
  font-size: 1.4rem;
  border: 5px solid #fff;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(#fc0000), to(#dd0000));
  background: linear-gradient(to bottom, #fc0000 0%, #dd0000 100%);
  -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
  -webkit-transition: -webkit-transform .25s;
  transition: -webkit-transform .25s;
  transition: transform .25s;
  transition: transform .25s, -webkit-transform .25s;
}

@media screen and (min-width: 1100px),
print {
  .link-button-contact {
    font-size: 1.8rem;
    border-width: 8px;
  }
}

.link-button-contact--lg {
  font-size: 3.5vw;
  border-width: 8px;
  -webkit-box-shadow: 0 0 9px 3px rgba(255, 255, 255, 0.85);
  box-shadow: 0 0 9px 3px rgba(255, 255, 255, 0.85);
}

@media screen and (min-width: 480px),
print {
  .link-button-contact--lg {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 768px),
print {
  .link-button-contact--lg {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .link-button-contact--lg {
    font-size: 2.2rem;
    border-width: 10px;
  }
}

.link-button-contact span {
  display: block;
  line-height: 1;
  font-weight: 700;
  font-size: 3.4em;
  text-shadow: 0 3px 3px rgba(0, 0, 0, 0.5);
}

.link-button-contact::before {
  content: "";
  display: block;
  position: absolute;
  width: 200%;
  height: 200%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%);
  z-index: 10;
  -webkit-animation-name: kira_hr;
  animation-name: kira_hr;
  -webkit-animation-duration: 5s;
  animation-duration: 5s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

/* 共通リンクボタン（ホバー）*/
a.link-button:hover {
  color: #fff;
  text-decoration: none;
  background-color: #ff4700;
}

a.link-button-sm:hover {
  background-color: #fdbf37;
}

a.link-button-sm:hover::before {
  border-left-color: #fff;
}

a.link-button-secondary:hover {
  background-color: #fdbf37;
}

a.link-button-contact:hover {
  background: #ff4700;
  -webkit-transform: translateY(3px);
  transform: translateY(3px);
}

/* コンテンツ画面中央寄せ */
.inner {
  position: relative;
  max-width: 1100px;
  margin-right: auto;
  margin-left: auto;
}

.inner::after {
  content: "";
  display: table;
  clear: both;
}

/* アンカー位置調整 */
.anchor-point {
  display: block;
}

.anchor-point::before {
  content: "";
  display: block;
  position: relative;
  height: 1px;
  margin-top: -101px;
  margin-bottom: 100px;
  background: transparent;
  z-index: -100;
}

/* 字詰め */
.kerning {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

/* 下線マーカー */
.marker {
  line-height: 3rem;
  background: url(../img/base/bg3.png);
}

/* 画像を角丸にする */
.img-radius {
  border-radius: 1.5rem;
}

/* Google Maps */
.gmap-area {
  position: relative;
}

.gmap-area::before {
  content: "";
  display: block;
  padding-top: 400px;
}

.gmap-area iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 共通テーブル */
.table-style {
  display: block;
  line-height: 1.5;
}

.table-style tbody {
  display: block;
}

.table-style tr {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

@media screen and (max-width: 639.98px) {
  .table-style tr {
    display: block;
  }
}

.table-style tr:not(:last-child) {
  margin-bottom: .35rem;
}

@media screen and (max-width: 639.98px) {
  .table-style tr:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}

.table-style th {
  vertical-align: top;
  padding: 2rem;
  background-color: #ff9102;
}

@media screen and (max-width: 639.98px) {
  .table-style th {
    display: block;
    width: auto !important;
    padding: 1rem 1.5rem;
  }
}

.table-style td {
  vertical-align: top;
  padding: 2rem;
}

@media screen and (max-width: 639.98px) {
  .table-style td {
    display: block;
    padding: 1rem 1.5rem;
  }
}

.table-style .tel-link {
  color: #000;
}

.table-style a.tel-link {
  color: #000;
}

.table-style a.tel-link:hover {
  color: #ff9102;
}

/* 横方向光沢アニメーション */
@-webkit-keyframes kira_hr {
  0% {
    top: -100%;
    left: -200%;
  }

  50% {
    top: -100%;
    left: -200%;
  }

  100% {
    top: 0%;
    left: 100%;
  }
}

@keyframes kira_hr {
  0% {
    top: -100%;
    left: -200%;
  }

  50% {
    top: -100%;
    left: -200%;
  }

  100% {
    top: 0%;
    left: 100%;
  }
}

/* --------------------------------

  html, body

-------------------------------- */
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

@media screen and (min-width: 1100px),
print {
  html {
    overflow-y: scroll;
  }
}

body {
  min-width: 320px;
  line-height: 1.4;
  font-size: 1.6em;
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  text-align: left;
  background-color: #fff;
}

@media screen and (max-width: 1099.98px) {
  html.nav-open {
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: hidden;
    overflow-x: hidden;
  }
}

/* --------------------------------

  wrapper

-------------------------------- */
.wrapper {
  position: relative;
  padding-bottom: 60px;
  overflow: hidden;
}

@media screen and (min-width: 1100px),
print {
  .wrapper {
    padding-bottom: 0;
  }
}

/* --------------------------------

  header

-------------------------------- */
.header {
  padding: 6rem 0 1.5rem;
  border-bottom: 1px solid #f4dfb7;
}

@media screen and (min-width: 1100px),
print {
  .header {
    padding: 162px 0 0;
    border-bottom: none;
  }
}

.header-index {
  padding: 6.5rem 0 2rem;
  border-bottom: none;
}

@media screen and (min-width: 480px),
print {
  .header-index {
    padding: 2rem 0;
  }
}

@media screen and (min-width: 1100px),
print {
  .header-index {
    padding: 162px 0 0;
  }
}

@media screen and (min-width: 1100px),
print {
  .header-container {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1010;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-logo {
    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;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: #fff;
    z-index: 900;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-logo .site-logo {
    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;
    height: 100%;
    font-size: 100%;
  }
}

@media screen and (min-width: 1100px),
print {
  .header-logo .site-logo {
    position: absolute;
    top: 17px;
    left: 20px;
  }
}

.header-logo .site-logo a {
  display: block;
  width: 18rem;
}

@media screen and (min-width: 768px),
print {
  .header-logo .site-logo a {
    width: 24rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .header-logo .site-logo a {
    width: 34.4rem;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-logo-index {
    display: block;
    position: static;
    width: auto;
    height: auto;
    margin-bottom: 1rem;
    background-color: transparent;
    z-index: auto;
  }
}

@media screen and (max-width: 1099.98px) {
  .header-logo-index .site-logo a {
    width: 36rem;
  }
}

@media screen and (max-width: 767.98px) {
  .header-logo-index .site-logo a {
    width: 28rem;
  }
}

.header-contact {
  text-align: center;
}

@media screen and (min-width: 1100px),
print {
  .header-contact {
    display: block;
    position: relative;
    text-align: left;
  }
}

.header-contact-time {
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: 1.25rem;
  color: #f00;
}

@media screen and (min-width: 1100px),
print {
  .header-contact-time {
    position: absolute;
    top: 10px;
    right: 0;
    width: 280px;
    margin-bottom: 0;
  }
}

.header-contact-text {
  width: 12rem;
  margin: 0 auto .75rem;
}

@media screen and (min-width: 480px),
print {
  .header-contact-text {
    display: inline-block;
    vertical-align: middle;
    margin: .15rem 1rem 0 0;
  }
}

@media screen and (min-width: 768px),
print {
  .header-contact-text {
    width: 15rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .header-contact-text {
    display: block;
    position: absolute;
    top: 12px;
    left: 354px;
    width: 232px;
    margin: 0;
  }
}

.header-contact-tel {
  width: 24rem;
  margin: auto;
}

@media screen and (min-width: 480px),
print {
  .header-contact-tel {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
  }
}

@media screen and (min-width: 768px),
print {
  .header-contact-tel {
    width: 28rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .header-contact-tel {
    display: block;
    position: absolute;
    top: 46px;
    right: 0;
    width: 280px;
    padding: 0 25px 0 0;
  }
}

/* スクロール時固定用 */
@media screen and (max-width: 1099.98px) {
  .header.is-fixed .header-logo {
    -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
  }

  .header.is-fixed .header-logo-index {
    position: fixed;
    top: -60px;
    left: 0;
    width: 100%;
    height: 60px;
    margin: 0;
    padding: 0;
    background-color: #fff;
    z-index: 900;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }

  .header.is-fixed .site-logo a {
    width: 180px;
  }
}

@media screen and (min-width: 1100px) {
  .header.is-fixed .header-container {
    position: fixed;
    top: -60px;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }

  .header.is-fixed .contact-button {
    position: fixed;
    top: -60px;
    margin-top: 90px;
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }
}

/* --------------------------------

  nav

-------------------------------- */
.nav {
  display: block;
  position: fixed;
  top: 0;
  left: -260px;
  width: 260px;
  height: 100%;
  z-index: 1000;
}

@media screen and (max-width: 1099.98px) {
  .nav {
    -webkit-transition: left .3s;
    transition: left .3s;
  }
}

@media screen and (min-width: 1100px),
print {
  .nav {
    position: absolute;
    left: auto;
    width: 100%;
    height: auto;
    border-top: 90px solid #fff;
    background-color: #ff9102;
  }
}

@media screen and (max-width: 1099.98px) {
  .nav-open .nav {
    left: 0;
  }
}

.nav-container {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #ff7b00;
  z-index: 10;
}

@media screen and (min-width: 1100px),
print {
  .nav-container {
    position: static;
    max-width: 1100px;
    margin: auto;
    background-color: transparent;
    overflow: visible;
  }
}

/* メインナビ */
.main-nav {
  padding: 65px 10px 10px;
}

@media screen and (min-width: 1100px),
print {
  .main-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 170px 0 0;
  }
}

.main-nav .nav-item {
  position: relative;
}

@media screen and (max-width: 1099.98px) {
  .main-nav .nav-item:not(:last-child) {
    border-bottom: 1px solid #f4dfb7;
  }
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-item {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}

.main-nav .nav-link {
  display: block;
  position: relative;
  height: 46px;
  padding: 0 1rem 0 1rem;
  color: #fff;
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-link {
    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;
    height: 72px;
    padding: 0;
    color: #000;
    -webkit-transition: background-color .2s, color .2s;
    transition: background-color .2s, color .2s;
  }
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-link::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -1px;
    bottom: 0;
    width: 1px;
    height: 48%;
    margin: auto;
    background-color: #d1e487;
  }
}

.main-nav .nav-link span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  font-size: 1.5rem;
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-link span {
    display: block;
    width: 100%;
    height: auto;
    font-weight: 700;
    font-size: 1.2em;
    text-align: center;
  }
}

.main-nav .nav-link span::after {
  content: attr(data-subtitle);
  display: block;
  margin-left: auto;
  font-size: 1rem;
  letter-spacing: .1em;
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-link span::after {
    margin-left: 0;
    font-weight: 500;
    font-size: 1.2rem;
    color: #fff;
  }
}

.main-nav .nav-link:hover {
  text-decoration: none;
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-link:hover {
    color: #fff;
    background-color: #fdbf37;
    z-index: 20;
  }

  .main-nav .nav-link:hover::before {
    height: 100%;
    background-color: #fdbf37;
  }
}

@media screen and (min-width: 1100px),
print {

  .main-nav .nav-news,
  .main-nav .nav-results {
    position: absolute;
    right: 300px;
    width: 110px;
  }

  .main-nav .nav-news .nav-link,
  .main-nav .nav-results .nav-link {
    height: 30px;
    background-color: #ff9102;
  }

  .main-nav .nav-news .nav-link:hover,
  .main-nav .nav-results .nav-link:hover {
    background-color: #fdbf37;
  }

  .main-nav .nav-news .nav-link::before,
  .main-nav .nav-results .nav-link::before {
    display: none;
  }

  .main-nav .nav-news .nav-link span,
  .main-nav .nav-results .nav-link span {
    font-size: 1.6rem;
  }

  .main-nav .nav-news .nav-link span::after,
  .main-nav .nav-results .nav-link span::after {
    display: none;
  }
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-news {
    top: -77px;
  }
}

@media screen and (min-width: 1100px),
print {
  .main-nav .nav-results {
    top: -42px;
  }
}

@media screen and (min-width: 1100px),
print {

  .main-nav .nav-graph,
  .main-nav .nav-assessment {
    display: none;
  }
}

@media screen and (min-width: 1100px),
print {
  .main-nav .is-current .nav-link {
    color: #fff;
    background-color: #fdbf37;
    z-index: 1;
  }

  .main-nav .is-current .nav-link::before {
    height: 100%;
    background-color: #fdbf37;
  }
}

/* ナビゲーション開閉ボタン */
.nav-button {
  display: block;
  position: fixed;
  top: 5px;
  left: 5px;
  width: 50px;
  height: 50px;
  line-height: 1;
  font-family: inherit;
  border-radius: .5rem;
  background-color: #ff9102;
  cursor: pointer;
  z-index: 910;
}

@media screen and (min-width: 1100px),
print {
  .nav-button {
    display: none;
  }
}

.nav-open .nav-button {
  display: none;
}

.nav-button-icon {
  display: block;
  position: absolute;
  top: -16px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 28px;
  height: 16px;
  margin: auto;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.nav-button-icon::before,
.nav-button-icon::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  margin: auto;
  border-top: 2px solid #fff;
}

.nav-button-icon::after {
  display: none;
}

.nav-button::after {
  content: "MENU";
  display: block;
  position: absolute;
  bottom: 6px;
  left: 0;
  width: 100%;
  line-height: 1.0;
  font-size: 1.1rem;
  color: #fff;
  text-align: center;
  letter-spacing: .05em;
}

/* ナビゲーション開閉ボタン */
.nav-close-button {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 50px;
  height: 50px;
  line-height: 1;
  font-family: inherit;
  border-radius: .5rem;
  background-color: #fff;
  cursor: pointer;
  z-index: 10;
}

@media screen and (min-width: 1100px),
print {
  .nav-close-button {
    display: none;
  }
}

.nav-close-button .nav-button-icon {
  border: none;
}

.nav-close-button .nav-button-icon::before,
.nav-close-button .nav-button-icon::after {
  border-color: #ff9102;
}

.nav-close-button .nav-button-icon::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.nav-close-button .nav-button-icon::after {
  display: block;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.nav-close-button::after {
  content: "CLOSE";
  display: block;
  position: absolute;
  bottom: 6px;
  left: 0;
  width: 100%;
  line-height: 1.0;
  font-weight: 700;
  font-size: 1.1rem;
  color: #ff9102;
  text-align: center;
}

/* ナビゲーション背景 */
@media screen and (min-width: 1100px),
print {
  .nav-screen {
    display: none;
  }
}

.nav-screen-overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: opacity .25s;
  transition: opacity .25s;
}

.nav-open .nav-screen-overlay {
  pointer-events: auto;
  opacity: .35;
  cursor: pointer;
}

/* スクロール時固定用 */
@media screen and (min-width: 1100px) {
  .nav.is-fixed {
    position: fixed;
    top: -60px;
    -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
    -webkit-transform: translateY(60px);
    transform: translateY(60px);
    -webkit-transition: -webkit-transform .2s;
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s;
  }
}

/* --------------------------------

  main

-------------------------------- */
.main {
  padding: 1.5rem;
}

@media screen and (min-width: 1100px),
print {
  .main {
    padding: 3rem;
  }
}

/* --------------------------------

  footer

-------------------------------- */
.footer {
  padding: 0 1.5rem;
  background-color: #ff9102;
}

@media screen and (min-width: 1100px),
print {
  .footer {
    padding: 0 3rem;
  }
}

.footer-container {
  padding: 0 0 1.5rem;
}

@media screen and (min-width: 1100px),
print {
  .footer-container {
    max-width: 1100px;
    margin: auto;
    padding: 0 0 5rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .footer-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin: 0 -2rem -2rem 0;
  }
}

@media screen and (min-width: 1100px),
print {
  .footer-col {
    width: 50%;
    padding: 0 2rem 2rem 0;
  }
}

.footer-description {
  padding: 3rem 0;
  text-align: center;
}

@media screen and (min-width: 768px),
print {
  .footer-description {
    padding: 5rem 0;
  }
}

.footer-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px),
print {
  .footer-logo {
    max-width: 70%;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 1100px),
print {
  .footer-logo {
    max-width: none;
  }
}

.footer-logo .logo {
  width: 64%;
}

.footer-logo .text {
  width: 38%;
  margin-left: -2%;
}

.footer-logo img {
  display: block;
  width: 100%;
}

.footer-tel {
  padding: .5rem 1rem 1rem;
  text-align: center;
  background-color: #fff;
}

@media screen and (min-width: 768px),
print {
  .footer-tel {
    padding: 1rem;
  }
}

.footer-tel img {
  width: 75%;
}

@media screen and (min-width: 480px),
print {
  .footer-tel img {
    width: 60%;
  }
}

@media screen and (min-width: 768px),
print {
  .footer-tel img {
    width: 44%;
  }
}

@media screen and (min-width: 1100px),
print {
  .footer-tel img {
    width: auto;
  }
}

.footer-nav {
  margin: 1.5rem 0 1.5rem 2rem;
}

@media screen and (min-width: 768px),
print {
  .footer-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin: 2rem 0;
  }
}

.footer-nav::after {
  content: "";
  display: table;
  clear: both;
}

@media screen and (max-width: 374.98px) {
  .footer-nav .nav-items {
    max-width: 12em;
    margin: auto;
  }
}

@media screen and (min-width: 375px),
print {
  .footer-nav .nav-items {
    display: inline;
  }
}

@media screen and (min-width: 768px),
print {
  .footer-nav .nav-items {
    display: block;
  }
}

@media screen and (min-width: 375px),
print {
  .footer-nav .nav-item {
    float: left;
    width: 50%;
  }
}

@media screen and (min-width: 768px),
print {
  .footer-nav .nav-item {
    float: none;
    width: auto;
  }
}

.footer-nav .nav-link {
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding: .25rem 1rem .25rem 1.75rem;
  color: #444;
  -webkit-transition: color .2s;
  transition: color .2s;
}

@media screen and (min-width: 480px),
print {
  .footer-nav .nav-link {
    font-size: 1.8rem;
  }
}

.footer-nav .nav-link::before {
  content: "";
  display: block;
  position: absolute;
  top: .5em;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
  background-color: #fdbf37;
}

.footer-nav .nav-link:hover {
  text-decoration: none;
  color: #fff;
}

.footer-link {
  padding: 1rem;
  text-align: center;
  background-color: #fff;
}

.footer-link a {
  display: inline-block;
  vertical-align: top;
  font-weight: 700;
  color: #ff9102;
  -webkit-transition: color .2s;
  transition: color .2s;
}

@media screen and (min-width: 768px),
print {
  .footer-link a {
    font-size: 2rem;
  }
}

.footer-link a:hover {
  text-decoration: none;
  color: #ff4700;
}

.footer-topic {
  margin: 1rem 0;
  padding: 1rem;
  background-color: #fff;
}

@media screen and (min-width: 1100px),
print {
  .footer-topic {
    margin: 0 0 1rem;
  }
}

.footer-topic dt {
  margin: -1rem -1rem 1rem;
  padding: 1.25rem 1.5rem;
  line-height: 1.2;
  font-weight: 700;
  font-size: 1.8rem;
  color: #fff;
  background-color: #fdbf37;
}

.footer-topic dd {
  margin-left: .75rem;
}

.footer-topic dd:not(:last-child) {
  margin-bottom: .5rem;
}

.footer-topic a {
  display: inline-block;
  vertical-align: top;
  position: relative;
  padding-left: 1.75rem;
  color: #ff9102;
  text-decoration: underline;
}

.footer-topic a:hover {
  text-decoration: none;
  color: #ff4700;
}

.footer-topic a::before {
  content: "";
  display: block;
  position: absolute;
  top: .35em;
  left: 0;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 100%;
  background-color: #fdbf37;
}

.footer-contact {
  padding: 3.5rem 0;
  background: #fff url(../img/base/footer.jpg) no-repeat center;
  background-size: cover;
}

@media screen and (min-width: 768px),
print {
  .footer-contact {
    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;
  }
}

.footer-contact dt {
  display: block;
  position: relative;
  line-height: 1.1;
  font-weight: 700;
  font-size: 2.8rem;
  color: #444;
  text-align: center;
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px, 0 0 3px rgba(0, 0, 0, 0.75), 0 0 3px rgba(0, 0, 0, 0.75);
  z-index: 10;
}

@media screen and (min-width: 768px),
print {
  .footer-contact dt {
    margin: -1rem -2rem 0 0;
  }
}

@media screen and (min-width: 1100px),
print {
  .footer-contact dt {
    margin: -1rem -3rem 0 0;
  }
}

.footer-contact dd {
  text-align: center;
}

.footer-contact .num {
  display: inline-block;
  margin: 0 .25rem 0 -1rem;
  font-weight: 700;
  font-size: 1.6em;
  color: #de0000;
}

.footer-contact .br {
  display: block;
}

/* ページの先頭へ */
.pagetop {
  display: block;
  position: fixed;
  right: 5px;
  bottom: 67.5px;
  width: 45px;
  height: 45px;
  overflow: hidden;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
}

@media screen and (min-width: 768px),
print {
  .pagetop {
    right: 10px;
    bottom: 70px;
    width: 50px;
    height: 50px;
  }
}

@media screen and (min-width: 1100px),
print {
  .pagetop {
    right: 10px;
    bottom: 10px;
  }
}

.pagetop.is-fixed {
  opacity: 1;
  pointer-events: auto;
}

.pagetop a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background-color: #ff4700;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.pagetop a:hover {
  text-decoration: none;
  background-color: #ff9102;
}

.pagetop a::before {
  content: "";
  display: block;
  position: absolute;
  top: .5em;
  right: 0;
  bottom: 0;
  left: 0;
  width: .8em;
  height: .8em;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* コピーライト */
.copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 60px;
  margin: 0 -1.5rem;
  padding: 0 1.35rem;
  background-color: #fff;
}

@media screen and (min-width: 768px),
print {
  .copy {
    height: 70px;
  }
}

@media screen and (min-width: 1100px),
print {
  .copy {
    margin: 0 -3rem;
  }
}

.copy small {
  display: block;
  width: 100%;
  font-size: 1.2rem;
}

@media screen and (min-width: 480px),
print {
  .copy small {
    font-size: 1.4rem;
    text-align: center;
  }
}

@media screen and (min-width: 768px),
print {
  .copy small {
    letter-spacing: .05em;
  }
}

@media screen and (min-width: 1100px),
print {
  .copy small {
    font-size: 1.8rem;
  }
}

/* --------------------------------

  ページタイトル

-------------------------------- */
.page-title {
  display: block;
  position: relative;
  width: 100%;
  line-height: 1.2;
  font-weight: 700;
  font-size: 2.6rem;
  color: #ff4700;
  text-align: center;
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px, 0 0 12px rgba(255, 127, 0, 0.75), 0 0 12px rgba(255, 127, 0, 0.75), 0 0 12px rgba(255, 127, 0, 0.75);
}

@media screen and (min-width: 768px),
print {
  .page-title {
    font-size: 3.4rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .page-title {
    font-size: 5.4rem;
  }
}

.page-title-container {
  display: block;
  position: relative;
  margin-bottom: 1rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffbf39), to(#ff8a01));
  background: linear-gradient(to bottom, #ffbf39 0%, #ff8a01 100%);
  overflow: hidden;
}

@media screen and (min-width: 1100px),
print {
  .page-title-container {
    margin-bottom: 0;
  }
}

.page-title-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 12rem;
  background: url(../img/base/recycle.png) -30px -30px;
  background-size: auto 360px;
}

@media screen and (min-width: 768px),
print {
  .page-title-inner {
    height: 14.5rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .page-title-inner {
    height: 18rem;
    background-size: auto;
  }
}

/* --------------------------------

  お問い合わせボタン

-------------------------------- */
/* お問い合わせ（電話）*/
.tel-button {
  display: block;
  position: fixed;
  top: 5px;
  right: 5px;
  width: 50px;
  height: 50px;
  border-radius: .5rem;
  overflow: hidden;
  cursor: pointer;
  z-index: 990;
}

@media screen and (min-width: 1100px),
print {
  .tel-button {
    display: none;
  }
}

.tel-button-link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ff9102;
}

.tel-button-link:hover {
  text-decoration: none;
}

.tel-button-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  right: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(../img/base/tel_wht.svg) center no-repeat;
  background-size: cover;
}

.tel-button-link::after {
  content: "TEL";
  display: block;
  position: absolute;
  bottom: 6px;
  left: 0;
  width: 100%;
  line-height: 1.0;
  font-size: 1.1rem;
  font-family: inherit;
  color: #fff;
  text-align: center;
  letter-spacing: .15em;
}

/* お問い合わせ（メール）*/
.contact-button {
  overflow: hidden;
}

@media screen and (max-width: 1099.98px) {
  .contact-button {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    padding: 5px;
    background-color: #fff;
    -webkit-box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
    z-index: 900;
  }
}

@media screen and (min-width: 1100px),
print {
  .contact-button {
    position: absolute;
    top: 90px;
    right: 50%;
    width: 170px;
    height: 72px;
    margin: 0 -550px 0 0;
    background-color: transparent;
    z-index: 1100;
  }
}

.contact-button a {
  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;
  position: relative;
  width: 100%;
  height: 100%;
  line-height: 1.2;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  border-radius: .5rem;
  background-color: #ff4700;
}

@media screen and (min-width: 1100px),
print {
  .contact-button a {
    line-height: 1.4;
    border-radius: 0;
    -webkit-transition: background-color .2s;
    transition: background-color .2s;
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1;
  }
}

@media screen and (max-width: 1099.98px) {
  .contact-button a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 1.5rem;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #fff;
  }
}

.contact-button a:hover {
  text-decoration: none;
}

@media screen and (min-width: 1100px),
print {
  .contact-button a:hover {
    background-color: #fdbf37;
  }
}

.contact-button span {
  display: block;
  font-weight: 700;
  font-size: 1.9em;
}

/* --------------------------------

  フォーム部品

-------------------------------- */
.form-table {
  display: block;
  position: relative;
  line-height: 1.5;
}

.form-table tbody {
  display: block;
}

.form-table tr {
  display: table;
  border-collapse: separate;
  border-spacing: 0;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 767.98px) {
  .form-table tr {
    display: block;
  }
}

.form-table tr:not(:last-child) {
  margin-bottom: 1rem;
}

@media screen and (max-width: 767.98px) {
  .form-table tr:not(:last-child) {
    margin-bottom: 2rem;
  }
}

.form-table th {
  vertical-align: top;
  width: 18em;
  padding: 1.8rem 0 0 1.5rem;
  background-color: #eee;
}

@media screen and (max-width: 1099.98px) {
  .form-table th {
    padding-left: 1rem;
  }
}

@media screen and (max-width: 767.98px) {
  .form-table th {
    display: block;
    width: auto;
    padding: 1rem 0 1rem 1rem;
  }
}

.form-table th.align-middle {
  padding-top: 0;
  padding-bottom: 0;
}

.form-table td {
  vertical-align: top;
  padding: 1rem 0 1rem 1.5rem;
  background-color: #fff;
}

@media screen and (max-width: 767.98px) {
  .form-table td {
    display: block;
    padding: 1rem 0;
  }
}

@media screen and (min-width: 768px),
print {
  .form-table--confilm th {
    width: 15em;
    padding: 1rem 0 1rem 1.5rem;
  }
}

.form-heading {
  padding: 1rem;
  font-weight: 700;
  font-size: 1.8rem;
  border-left: 1rem solid #ff9102;
  background-color: #ecefe5;
}

@media screen and (min-width: 1100px),
print {
  .form-heading {
    margin-bottom: 2.5rem;
    padding: 1.5rem 1rem 1.5rem 1.5rem;
  }
}

.form-control,
.form-select {
  padding: .75rem 1.5rem .75rem 1.5rem;
  font-size: 100%;
  border-radius: 0;
  border-width: 1px;
  border-color: #ccc;
  background-color: #fff;
}

.form-control:hover,
.form-control:active,
.form-control:focus,
.form-select:hover,
.form-select:active,
.form-select:focus {
  outline: none;
  text-decoration: none;
}

.form-control:active,
.form-control:focus,
.form-select:active,
.form-select:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: #ff9102;
  background-color: #fff;
}

.form-control-sm {
  width: 10em;
}

.form-control:disabled,
.form-control:-moz-read-only {
  background-color: #fff;
}

.form-control:disabled,
.form-control:read-only {
  background-color: #fff;
}

.form-control::-webkit-input-placeholder {
  color: #000;
}

.form-control:-ms-input-placeholder {
  color: #000;
}

.form-control::-ms-input-placeholder {
  color: #000;
}

.form-control::placeholder {
  color: #000;
}

.form-select {
  position: relative;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 4rem;
}

.form-select::-ms-expand {
  display: none;
}

.form-select-wrap {
  position: relative;
  background-color: #fff;
}

.form-select-arrow {
  display: block;
  position: absolute;
  top: 3px;
  right: 15px;
  bottom: 0;
  width: 0;
  height: 0;
  margin: auto;
  pointer-events: none;
  z-index: 1;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #333 transparent transparent transparent;
  background: none;
}

.form-upload {
  width: 25em;
  max-width: 100%;
  border-radius: 1rem;
  background: #fff;
}

@media screen and (max-width: 767.98px) {
  .form-upload {
    font-size: .95em;
  }
}

.form-textarea {
  resize: vertical;
  vertical-align: top;
  height: 15em;
  max-height: 15em;
  padding: .5rem 1rem 0;
}

.form-textarea-sm {
  height: 7em;
}

.form-textarea.form-control {
  min-height: 2.65em;
}

.form-caution {
  position: relative;
  padding-left: 30px;
  font-weight: 700;
}

.form-caution::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  bottom: 0;
  left: 2px;
  width: 20px;
  height: 20px;
  margin: auto;
  background: url(../img/pages/contact/exclamation.svg) center no-repeat;
  background-size: cover;
}

@media screen and (min-width: 1100px),
print {
  .form-body {
    padding-right: 2rem;
    padding-left: 9rem;
  }
}

.form-icon {
  float: right;
  display: block;
  width: 5rem;
  margin: 0 1rem 0 0;
  padding: .5rem 0;
  line-height: 1em;
  font-weight: 500;
  font-size: 1.4rem;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  text-align: center;
}

.form-icon::before {
  content: attr(data-label);
}

.form-icon-required {
  color: #fff;
  background-color: #c00;
}

.form-icon-free {
  color: #fff;
  background-color: #999;
}

@media screen and (min-width: 768px),
print {
  .form-icon-free {
    color: #eee;
    background-color: #eee;
  }
}

.form-check-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: top;
  position: relative;
  margin: .75rem;
  cursor: pointer;
}

.form-check-icon {
  display: block;
}

.form-check-icon::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border: 1px solid #ccc;
  background-color: #fff;
  -webkit-transition: border-color .2s, background-color .2s;
  transition: border-color .2s, background-color .2s;
}

.form-check-checkbox::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 8px;
  width: 8px;
  height: 12px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}

.form-check-radio::before {
  border-radius: 100%;
}

.form-check-radio::after {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 14px;
  height: 14px;
  border-radius: 100%;
  background-color: transparent;
  -webkit-transition: background-color .2s;
  transition: background-color .2s;
}

.form-check-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.form-check-input[type="checkbox"]:checked+.form-check-icon::before {
  border-color: #ff9102;
  background-color: #ff9102;
}

.form-check-input[type="radio"]:checked+.form-check-icon::before {
  border-color: #ff9102;
}

.form-check-input[type="radio"]:checked+.form-check-icon::after {
  background-color: #ff9102;
}

.form-check-input[type="checkbox"].validate-error+.form-check-icon::before,
.form-check-input[type="radio"].validate-error+.form-check-icon::before {
  border-color: #de0000;
}

/* フォーム部品：エラーメッセージ */
input.validate-error,
select.validate-error,
textarea.validate-error {
  border-color: #de0000;
}

span.validate-error {
  display: block !important;
  line-height: 1.5;
  font-size: 1.3rem;
  color: #de0000;
}

@media screen and (min-width: 1100px),
print {
  span.validate-error {
    font-size: 1.45rem;
  }
}

span.validate-error+.validate-error {
  margin-top: .25rem;
}

span.validate-error:last-of-type {
  margin-bottom: 1rem;
}

@media screen and (min-width: 1100px),
print {
  span.validate-error:last-of-type {
    margin-bottom: .25rem;
  }
}

.error-message {
  margin-top: 1rem;
  margin-bottom: -1rem;
}

.error-message-check span.validate-error:not(:first-of-type),
.error-message-multi span.validate-error:not(:first-of-type) {
  display: none !important;
}

/* フォーム部品：送信ボタン */
.form-buttons {
  margin: 3rem -1em 0;
  text-align: center;
}

.form-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  vertical-align: top;
  position: relative;
  min-width: 8.5em;
  margin: .5rem .35rem;
  padding: 1.25rem 1.5rem;
  line-height: 1em;
  font-size: 100%;
  color: #fff;
  text-align: center;
  border: none;
  background: transparent;
  -webkit-transition: color .3s, border-color .3s, background-color .3s;
  transition: color .3s, border-color .3s, background-color .3s;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 768px),
print {
  .form-button {
    font-size: 1.2em;
  }
}

.form-button:hover {
  text-decoration: none;
}

.form-button-send {
  background-color: #ff4700;
}

.form-button-send:hover {
  background-color: #ff9102;
}

.form-button-back {
  background-color: #999;
}

.form-button-back:hover {
  background: #ccc;
}

.form-button-search {
  min-width: 0;
  margin: 0;
  padding: 1rem 2rem;
  font-weight: 500;
  font-size: 1em;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  border-color: #999;
  background: #999;
}

.form-button-search:hover {
  border-color: #ff9102;
  background: #ff9102;
}

.form-button-search::before,
.form-button-search::after {
  display: none;
}

.form-button-upload {
  min-width: 0;
  margin: 0;
  padding: 1rem 2rem;
  font-weight: 500;
  font-size: 1em;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  color: #fff;
  background: #e21664;
}

.form-button-upload:hover {
  color: #fff;
  background: #e94709;
}

/* --------------------------------

  トップページ

-------------------------------- */
/* ページ内共通 */
.section-secondary {
  line-height: 1.5;
}

@media screen and (min-width: 768px),
print {
  .section-secondary {
    line-height: 1.8;
  }
}

.section-secondary:not(:last-child) {
  margin-bottom: 7rem;
}

.section-dummy {
  margin-top: -5rem;
  margin-bottom: -5rem;
  text-align: center;
}

@media screen and (min-width: 1100px),
print {
  .section-dummy {
    margin-top: -7.5rem;
    margin-bottom: -7.5rem;
  }
}

.section-dummy_wide {
  margin-right: -22.5%;
  margin-left: -22.5%;
}

@media screen and (min-width: 1100px),
print {
  .section-dummy_wide {
    margin-right: -250px;
    margin-left: -250px;
  }
}

.section-header {
  position: relative;
  margin-bottom: 3rem;
  text-align: center;
}

@media screen and (min-width: 1100px),
print {
  .section-header {
    margin-bottom: 5rem;
  }
}

.section-heading {
  line-height: 1.2;
  font-weight: 700;
  font-size: 2.5rem;
  text-align: center;
}

@media screen and (min-width: 1100px),
print {
  .section-heading {
    font-size: 3.5rem;
  }
}

.section-heading::after {
  content: attr(data-subtitle);
  display: block;
  max-width: 44rem;
  margin: 1.5rem auto 0;
  padding: 1rem 0 0;
  font-weight: 400;
  font-size: 1.4rem;
  color: #444;
  border-top: 7px solid #ff9102;
  letter-spacing: .1em;
}

@media screen and (min-width: 1100px),
print {
  .section-heading::after {
    font-size: 1.8rem;
    border-top-width: 11px;
  }
}

/* メインビジュアル */
.mainvisual-section {
  position: relative;
  margin: -5rem -1.5rem 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffbf39), to(#ff8a01));
  background: linear-gradient(to bottom, #ffbf39 0%, #ff8a01 100%);
  overflow: hidden;
}

@media screen and (min-width: 1100px),
print {
  .mainvisual-section {
    margin: -7.5rem -3rem 0;
  }
}

.mainvisual-section::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/base/recycle.png) -30px -30px;
}

@media screen and (max-width: 767.98px) {
  .mainvisual-section::before {
    background-size: auto 300px;
  }
}

.mainvisual-container {
  position: relative;
  padding: 2.5rem 1rem 25%;
  text-align: center;
  z-index: 10;
}

@media screen and (min-width: 480px),
print {
  .mainvisual-container {
    padding-bottom: 3%;
  }
}

@media screen and (min-width: 768px),
print {
  .mainvisual-container {
    padding-bottom: 1rem;
  }
}

.mainvisual-registration {
  margin: 1rem 0 0;
  text-align: center;
}

.mainvisual-registration li {
  font-weight: 700;
  margin: 0 .5rem;
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: .05em;
  text-shadow: 1px 1px 15px rgba(239, 0, 0, 0.85), 0 0 10px #ef0000, 0 0 10px #ef0000, 0 0 10px #ef0000;
}

@media screen and (min-width: 768px),
print {
  .mainvisual-registration li {
    display: inline-block;
    vertical-align: top;
  }
}

.mainvisual-main {
  position: relative;
  max-width: 40rem;
  margin: auto;
}

@media screen and (min-width: 768px),
print {
  .mainvisual-main {
    max-width: 52rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .mainvisual-main {
    max-width: none;
  }
}

.mainvisual-img1 {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 33%;
  z-index: -1;
}

@media screen and (min-width: 1100px),
print {
  .mainvisual-img1 {
    left: -20px;
    width: 360px;
  }
}

@media screen and (min-width: 1280px),
print {
  .mainvisual-img1 {
    left: 50%;
    width: 420px;
    margin: 0 0 0 -630px;
  }
}

.mainvisual-img2 {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30%;
  z-index: -1;
}

@media screen and (min-width: 1100px),
print {
  .mainvisual-img2 {
    width: 330px;
  }
}

@media screen and (min-width: 1280px),
print {
  .mainvisual-img2 {
    width: 520px;
  }
}

.mainvisual-img2 .circle {
  display: block;
  position: absolute;
  right: -64%;
  bottom: -84%;
  width: 180%;
  border-radius: 100%;
  background-color: #fde99d;
}

.mainvisual-img2 .circle::before {
  content: "";
  display: block;
  padding-top: 95%;
}

.mainvisual-img2 img {
  display: block;
  position: relative;
}

/* ローディング */
.loader {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
  z-index: 15;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity .6s, -webkit-transform .6s;
  transition: opacity .6s, -webkit-transform .6s;
  transition: opacity .6s, transform .6s;
  transition: opacity .6s, transform .6s, -webkit-transform .6s;
}

.loader.loading {
  opacity: 1;
  pointer-events: auto;
}

.loader::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 40px;
  margin: auto;
  border: 3px solid #ddd;
  border-top: 2px solid #ff4700;
  border-radius: 50%;
  z-index: 1;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
}

@media screen and (min-width: 1100px),
print {
  .loader::before {
    width: 60px;
    height: 60px;
    border-width: 4px;
  }
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* アニメーション */
.anim-item {
  pointer-events: none;
  opacity: 0;
  -webkit-transform: translateY(75px);
  transform: translateY(75px);
  -webkit-transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, -webkit-transform .5s;
  transition: opacity .5s, transform .5s;
  transition: opacity .5s, transform .5s, -webkit-transform .5s;
}

.anim-item.is-active {
  pointer-events: auto;
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@media screen and (max-width: 1099.98px) {
  .anim-item--none {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    -webkit-transition: none;
    transition: none;
  }
}

/* 導入部 */
.tmcar-intro-section {
  margin: 0 0 5rem;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-intro-section {
    margin: 0 -3rem 7.5rem;
  }
}

.tmcar-intro-container {
  max-width: 1600px;
  margin: auto;
}

.tmcar-intro-header {
  padding: 3rem 0;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-intro-header {
    padding: 5rem 0;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-intro-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.tmcar-intro-heading {
  line-height: 1.2;
  font-weight: 700;
  font-size: 7vw;
  text-align: center;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 480px),
print {
  .tmcar-intro-heading {
    font-size: 5vw;
  }
}

@media screen and (min-width: 768px),
print {
  .tmcar-intro-heading {
    font-size: 3.4rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-intro-heading {
    font-size: 4.4rem;
  }
}

@media screen and (max-width: 767.98px) {
  .tmcar-intro-heading .br {
    display: block;
  }
}

.tmcar-intro-img {
  margin-bottom: 2rem;
}

@media screen and (min-width: 480px),
print {
  .tmcar-intro-img {
    max-width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
}

@media screen and (min-width: 768px),
print {
  .tmcar-intro-img {
    max-width: 535px;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-intro-img {
    width: 535px;
    max-width: none;
    margin: 0;
  }
}

.tmcar-intro-img .img-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -1rem -1rem 0;
}

.tmcar-intro-img .img-item {
  width: 50%;
  padding: 0 1rem 1rem 0;
}

.tmcar-intro-img img {
  width: 100%;
}

.tmcar-intro-description {
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 768px),
print {
  .tmcar-intro-description {
    max-width: 46em;
    margin: auto;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-intro-description {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: none;
    margin: 0;
    padding: 0 5rem;
    line-height: 1.8;
    font-size: 1.8rem;
  }
}

.tmcar-intro-description .text {
  font-weight: 700;
  font-size: 1.2em;
  color: #de0000;
}

/* コンテンツ一覧 */
.tmcar-menu-section {
  margin: 0 -1.5rem -5rem;
  padding: 5rem 1.5rem;
  background-color: #f4dfb7;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-menu-section {
    margin: 0 -3rem -7.5rem;
    padding: 7.5rem 3rem;
  }
}

@media screen and (max-width: 1099.98px) {
  .tmcar-menu-container {
    max-width: 800px;
    margin: auto;
  }
}

.tmcar-menu-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1rem -1rem 0;
}

.tmcar-menu-item {
  width: 100%;
  padding: 0 1rem 1rem 0;
}

@media screen and (min-width: 480px),
print {
  .tmcar-menu-item {
    width: 50%;
  }
}

.tmcar-menu-inner {
  display: block;
  position: relative;
  height: 100%;
  overflow: hidden;
}

.tmcar-menu-img {
  display: block;
  position: relative;
  background-color: #fff;
}

.tmcar-menu-img::before {
  content: "";
  display: block;
  padding-top: 36.88%;
}

.tmcar-menu-img img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: .3s transform, .3s opacity;
  transition: .3s transform, .3s opacity;
}

.tmcar-menu-more a {
  color: #fff;
}

.tmcar-menu-more a:hover {
  text-decoration: none;
}

.tmcar-menu-more a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  z-index: 10;
}

.tmcar-menu-more span {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  padding: 1.25rem 0;
  line-height: 1.2;
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.6);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: background-color .3s;
  transition: background-color .3s;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-menu-more span {
    padding: 2rem 0;
    font-size: 3.5rem;
  }
}

.tmcar-menu-inner:hover .tmcar-menu-img img {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
  opacity: .7;
}

.tmcar-menu-inner:hover .tmcar-menu-more span {
  background-color: rgba(255, 72, 0, 0.75);
}

/* お知らせ一覧 */
.tmcar-news-section {
  margin: 0 -1.5rem;
  padding: 5rem 1.5rem;
  background: url(../img/base/bg1.jpg) no-repeat center;
  background-size: cover;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-news-section {
    margin: 0 -3rem;
    padding: 7.5rem 3rem;
  }
}

.tmcar-news-section .section-heading {
  color: #fff;
}

.tmcar-news-section .section-heading::after {
  max-width: 38rem;
  color: #fff;
  border-color: #ff4700;
}

@media screen and (max-width: 1099.98px) {
  .tmcar-news-container {
    max-width: 76rem;
    margin: auto;
  }
}

.tmcar-news-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.5rem -1.5rem 0;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-news-items {
    margin: 0 -2rem -2rem 0;
  }
}

.tmcar-news-item {
  width: 100%;
  padding: 0 1.5rem 1.5rem 0;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-news-item {
    width: 50%;
    padding: 0 2rem 2rem 0;
  }
}

.tmcar-news-inner {
  height: 100%;
  background-color: rgba(255, 245, 242, 0.89);
}

.tmcar-news-head {
  padding: 1rem;
  text-align: center;
  background-color: #ff4700;
}

@media screen and (min-width: 480px),
print {
  .tmcar-news-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 1.5rem 1rem 1.5rem 1.5rem;
    text-align: left;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-news-head {
    padding: 1.5rem 1.5rem 1.5rem 2rem;
  }
}

.tmcar-news-body {
  padding: 1.5rem;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-news-body {
    padding: 2rem;
  }
}

.tmcar-news-heading {
  margin-bottom: 1rem;
  font-size: 2.2rem;
  color: #fff;
}

@media screen and (min-width: 480px),
print {
  .tmcar-news-heading {
    margin-bottom: 0;
  }
}

.tmcar-news-more {
  margin-left: auto;
}

/* 全国対応・年中無休の廃車買取のハイシャルと連携！ */
.haishall-section {
  padding: 5rem 0;
}

.haishall-btn {
  max-width: 1100px;
  margin: auto;
}

.haishall-btn a {
  display: block;
  padding: 2rem 0;
  color: #000;
  border: 3px solid #ff9102;
}

@media screen and (min-width: 1100px),
print {
  .haishall-btn a {
    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;
  }
}

.haishall-btn a:hover {
  text-decoration: none;
  border-color: #ff4700;
}

.haishall-btn img {
  display: block;
  width: 80%;
  max-width: 417px;
  margin: 0 auto 1rem;
}

@media screen and (min-width: 1100px),
print {
  .haishall-btn img {
    width: 360px;
    max-width: none;
    margin: 0;
  }
}

@media screen and (min-width: 1200px),
print {
  .haishall-btn img {
    width: 417px;
  }
}

.haishall-btn span {
  display: block;
  line-height: 1.6;
  font-weight: 700;
  font-size: 3.7vw;
  text-align: center;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 768px),
print {
  .haishall-btn span {
    font-size: 2.6rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .haishall-btn span {
    padding-left: 3.5rem;
  }
}

.haishall-btn strong {
  font-weight: 700;
  color: #f00;
}

/* 買取実績 */
.tmcar-results-section {
  margin: 0 -1.5rem;
  padding: 5rem 1.5rem;
  background-color: #ff9102;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-section {
    margin: 0 -3rem;
    padding: 7.5rem 3rem;
  }
}

.tmcar-results-section .section-heading {
  color: #000;
  font-size: 3rem;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-section .section-heading {
    font-size: 4.4rem;
  }
}

.tmcar-results-section .section-heading::after {
  max-width: 33rem;
  color: #000;
  border-color: #fff;
}

.tmcar-results-container {
  max-width: 40rem;
  margin: auto;
}

@media screen and (min-width: 640px),
print {
  .tmcar-results-container {
    max-width: 80rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-container {
    max-width: 160rem;
  }
}

.tmcar-results-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1rem -1rem 0;
  padding-bottom: 3rem;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-items {
    padding-bottom: 4.5rem;
  }
}

@media screen and (min-width: 1280px),
print {
  .tmcar-results-items {
    margin: 0 -2rem -2rem 0;
  }
}

.tmcar-results-item {
  width: 100%;
  padding: 0 1rem 1rem 0;
}

@media screen and (min-width: 640px),
print {
  .tmcar-results-item {
    width: 50%;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-item {
    width: 25%;
  }
}

@media screen and (min-width: 1280px),
print {
  .tmcar-results-item {
    padding: 0 2rem 2rem 0;
  }
}

.tmcar-results-inner {
  height: 100%;
  padding: 1rem;
  background-color: #fff;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-inner {
    padding: 2rem;
  }
}

.tmcar-results-img {
  display: block;
  position: relative;
  margin: -1rem -1rem 1rem;
  overflow: hidden;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-img {
    margin: -2rem -2rem 2rem;
  }
}

.tmcar-results-img::before {
  content: "";
  display: block;
  padding-top: 75%;
}

.tmcar-results-img img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-width: none;
  max-height: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.tmcar-results-data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.4;
  color: #444;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-data {
    display: block;
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 1280px),
print {
  .tmcar-results-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.tmcar-results-data:not(:last-child) {
  margin-bottom: 1rem;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-data:not(:last-child) {
    margin-bottom: 2rem;
  }
}

.tmcar-results-data dt {
  width: 6em;
  margin: 0 .75em 0 0;
}

.tmcar-results-data dt::after {
  content: "：";
  display: block;
  float: right;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-data dt::after {
    display: none;
  }
}

@media screen and (min-width: 1280px),
print {
  .tmcar-results-data dt::after {
    display: block;
  }
}

.tmcar-results-data dd {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  word-break: break-all;
  word-wrap: break-word;
}

.tmcar-results-data .price {
  display: block;
  margin: -.05em .5rem -0em 0;
  line-height: 1;
  font-size: 2.2rem;
  color: #ff4700;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-data .price {
    font-size: 2.6rem;
  }
}

.tmcar-results-data .yen {
  display: block;
  color: #ff4700;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-results-data .yen {
    font-size: 1.8rem;
  }
}

/* 廃車買取価格相場グラフ */
.tmcar-graph-section {
  padding: 5rem 0;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-graph-section {
    padding: 7.5rem 0;
  }
}

.tmcar-graph-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1rem -3rem 0;
  padding-bottom: 3rem;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-graph-items {
    padding-bottom: 4.5rem;
  }
}

.tmcar-graph-item {
  width: 100%;
  padding: 0 1rem 3rem 0;
}

@media screen and (min-width: 768px),
print {
  .tmcar-graph-item {
    width: 33.33333%;
  }
}

.tmcar-graph-title {
  margin-bottom: .75rem;
  font-weight: 700;
  font-size: 1.8rem;
  text-align: center;
}

@media screen and (min-width: 768px),
print {
  .tmcar-graph-title {
    text-align: left;
  }
}

@media screen and (min-width: 1100px),
print {
  .tmcar-graph-title {
    font-size: 2rem;
  }
}

.tmcar-graph-img {
  text-align: center;
}

/* お問い合わせ */
.tmcar-contact-section {
  position: relative;
  margin: 0 -1.5rem;
  padding: 3rem 1.5rem;
  background: #393939 url(../img/base/bg2.png) center;
  overflow: hidden;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-contact-section {
    margin: 0 -3rem;
    padding: 3rem;
  }
}

.tmcar-contact-img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.tmcar-contact-img .img {
  display: block;
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  overflow: hidden;
}

.tmcar-contact-img img {
  display: block;
  width: auto;
  max-width: none;
  height: 100%;
}

.tmcar-contact-img .img1 {
  left: 0;
}

.tmcar-contact-img .img1 img {
  float: left;
}

.tmcar-contact-img .img2 {
  right: 0;
}

.tmcar-contact-img .img2 img {
  float: right;
}

.tmcar-contact-container {
  position: relative;
  z-index: 10;
}

@media screen and (min-width: 1440px),
print {
  .tmcar-contact-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1440px;
    margin: auto;
  }
}

.tmcar-contact-tel {
  max-width: 70rem;
  margin: 0 auto 1.5rem;
  text-align: center;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-contact-tel {
    max-width: 88rem;
  }
}

@media screen and (min-width: 1440px),
print {
  .tmcar-contact-tel {
    max-width: none;
    margin: 0;
    text-align: left;
  }
}

@media screen and (max-width: 1439.98px) {
  .tmcar-contact-tel dd {
    width: 73%;
    margin: auto;
  }
}

.tmcar-contact-btn {
  text-align: center;
}

@media screen and (min-width: 1100px),
print {
  .tmcar-contact-btn {
    margin-left: auto;
  }
}

/* --------------------------------

  お知らせ

-------------------------------- */
.news-heading {
  position: relative;
  max-width: 1100px;
  margin: 0 auto 1.5rem;
  padding-bottom: 1rem;
  line-height: 1.3;
  font-weight: 700;
  font-size: 2.4rem;
  border-bottom: 2px solid #ff9102;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 768px),
print {
  .news-heading {
    padding-bottom: 1.25rem;
    font-size: 2.8rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .news-heading {
    margin-bottom: 2rem;
    border-bottom-width: 5px;
  }
}

.news-body {
  margin-top: 1rem;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
}

.news-body * {
  word-break: break-all;
  word-wrap: break-word;
}

.news-body::after {
  content: "";
  display: table;
  clear: both;
}

.news-more {
  margin-top: 3rem;
  text-align: center;
}

.news-back {
  max-width: 1100px;
  margin: 3rem auto 0;
  padding: 3rem 0 0;
  text-align: center;
  border-top: 1px dotted #ddd;
}

.news-link {
  display: block;
  position: relative;
  padding: 1rem;
  line-height: 1.4;
  border-bottom: 1px dotted #ddd;
}

@media screen and (min-width: 640px),
print {
  .news-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.5rem 2rem;
  }
}

.news-link:hover {
  text-decoration: none;
}

.news-date {
  font-size: .9em;
}

@media screen and (min-width: 640px),
print {
  .news-date {
    width: 7em;
    font-size: 1em;
  }
}

.news-title {
  word-break: break-all;
  word-wrap: break-word;
}

.news-img {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  overflow: hidden;
}

.news-img img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  max-width: none;
  max-height: 100px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* お知らせ一覧：サムネイル（小）*/
.news-list-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1rem -1rem 0;
}

.news-list-thumb .news-topics {
  width: 100%;
  padding: 0 1rem 1rem 0;
}

.news-list-thumb .news-link {
  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;
  height: 100%;
  min-height: 87px;
  padding: 0 0 0 105px;
  border-bottom: none;
}

.news-list-thumb .news-link:hover .news-title {
  color: #ff9102;
}

.news-list-thumb .news-date {
  width: auto;
  margin-bottom: .5rem;
  font-weight: 700;
}

.news-list-thumb .news-date * {
  font-weight: 700;
}

.news-list-thumb .news-title {
  color: #000;
}

.news-list-thumb .news-img {
  display: block;
  top: 0;
  left: 0;
  width: 87px;
  height: 87px;
}

.news-list-thumb .news-img img {
  min-height: 100%;
}

/* お知らせ一覧：サムネイル（大）*/
.news-list-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1rem 0 0;
}

@media screen and (min-width: 1100px),
print {
  .news-list-img {
    margin: 0 -2rem -3rem 0;
  }
}

.news-list-img .news-topics {
  width: 50%;
  padding: 0 1rem 3rem 0;
}

@media screen and (min-width: 768px),
print {
  .news-list-img .news-topics {
    width: 33.33333%;
  }
}

@media screen and (min-width: 1100px),
print {
  .news-list-img .news-topics {
    width: 25%;
    padding: 0 2rem 3rem 0;
  }
}

.news-list-img .news-link {
  display: block;
  height: 100%;
  padding: 75% 0 0;
  text-align: center;
  border-bottom: none;
}

.news-list-img .news-link:hover .news-title {
  color: #ff9102;
}

.news-list-img .news-date {
  display: block;
  width: auto;
  margin: 1rem 0 .5rem;
}

.news-list-img .news-date * {
  font-weight: 700;
}

.news-list-img .news-title {
  color: #000;
}

@media screen and (min-width: 1100px),
print {
  .news-list-img .news-title {
    font-size: 1.8rem;
  }
}

.news-list-img .news-img {
  display: block;
  right: auto;
  bottom: auto;
  width: 100%;
  height: auto;
}

.news-list-img .news-img::before {
  content: "";
  display: block;
  padding-top: 75%;
}

.news-list-img .news-img img {
  min-height: 100%;
}

/* topics_paging */
#topics_paging {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -1.5rem;
}

#topics_paging_all {
  margin-top: 3.5rem;
  margin-bottom: .75rem;
  text-align: center;
}

#topics_paging li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 .2rem;
  padding: .7rem 1rem;
  line-height: 1.2;
  color: #000;
  text-align: center;
  border-radius: 0;
  border: 1px solid #ddd;
  background-color: #fff;
  list-style-type: none;
  list-style-image: none;
}

@media screen and (max-width: 767.98px) {
  #topics_paging li {
    font-size: 1.4rem;
  }
}

#topics_paging a {
  display: block;
  margin: -.7rem -1rem;
  padding: .7rem 1rem;
  color: #000;
}

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

#calculated_page {
  margin-left: -1rem;
}

#total_pages {
  margin-right: 1rem;
}

/* --------------------------------

  下層ページ

-------------------------------- */
/* 注釈 */
/* ご予約・お問い合わせ */
.contact-us {
  line-height: 1.5;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  text-align: center;
}

@media screen and (min-width: 480px),
print {
  .contact-us {
    text-align: left;
  }
}

.contact-us-body {
  padding: 1.5rem 0;
  background-color: #ecefe5;
}

@media screen and (min-width: 480px),
print {
  .contact-us-body {
    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;
  }
}

@media screen and (min-width: 1100px),
print {
  .contact-us-body {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    max-width: 985px;
    padding: 2rem 0 2rem 20rem;
  }
}

.contact-us-icon {
  display: block;
  position: relative;
  width: 75px;
  height: 75px;
  margin: 0 auto 1rem;
  border-radius: 100%;
  background-color: #ff9102;
}

@media screen and (min-width: 480px),
print {
  .contact-us-icon {
    margin: 0 1.5rem 0 0;
  }
}

@media screen and (min-width: 1100px),
print {
  .contact-us-icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 12.5rem;
    height: 100%;
    margin: 0;
    border-radius: 0;
  }
}

@media screen and (min-width: 1100px),
print {
  .contact-us-icon {
    width: 18rem;
  }
}

.contact-us-icon img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 56%;
  margin: -1.5px 0 0 -1.5px;
  max-width: none;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 1100px),
print {
  .contact-us-icon img {
    width: 50%;
  }
}

@media screen and (min-width: 480px),
print {
  .contact-us-tel {
    margin-top: .5rem;
  }
}

.contact-us-tel dt {
  margin-bottom: .5rem;
  font-weight: 700;
}

.contact-us-tel dd {
  line-height: 1em;
  font-size: 3.5rem;
}

@media screen and (min-width: 375px),
print {
  .contact-us-tel dd {
    font-size: 4rem;
  }
}

@media screen and (min-width: 1100px),
print {
  .contact-us-tel dd {
    font-size: 6.5rem;
  }
}

.contact-us-tel .tel-link {
  display: inline-block;
  vertical-align: top;
  position: relative;
  line-height: 1;
  font-weight: 700;
  color: #ff4700;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

.contact-us-tel a.tel-link {
  color: #ff4700;
}

.contact-us-tel a.tel-link:hover {
  color: #ff9102;
  text-decoration: none;
}

.contact-us-time {
  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;
  margin-top: .5rem;
  font-size: 1.4rem;
}

@media screen and (min-width: 480px),
print {
  .contact-us-time {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

@media screen and (min-width: 1100px),
print {
  .contact-us-time {
    display: block;
    position: absolute;
    top: 50%;
    right: 2.5rem;
    margin: 0;
    font-size: 1em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

.contact-us-time dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.contact-us-time dt::after {
  content: "／";
}

.contact-us-note {
  margin-top: 1.5rem;
  text-align: left;
}

/* 個人情報及び特定個人情報保護方針 */
.contact-privacy {
  height: 30em;
  padding: 1.5rem;
  line-height: 1.5;
  font-size: 1.4rem;
  border: 1px solid #ddd;
  background-color: #fff;
  overflow-y: scroll;
}

@media screen and (min-width: 640px),
print {
  .contact-privacy {
    height: 20em;
  }
}

@media screen and (min-width: 768px),
print {
  .contact-privacy {
    font-size: 1em;
  }
}

.contact-privacy::after {
  content: "";
  display: table;
  clear: both;
}

.contact-privacy h3 {
  margin-bottom: 1rem;
  padding-bottom: .5rem;
  font-weight: 700;
  font-size: 1.8rem;
  border-bottom: 1px solid #ff9102;
}

.contact-privacy h3:not(:first-child) {
  margin-top: 1rem;
}

.contact-privacy .tel-link {
  color: #000;
}

.contact-privacy a.tel-link {
  color: #000;
}

.contact-privacy a.tel-link:hover {
  color: #ff9102;
}

/* --------------------------------

  プリント

-------------------------------- */
@media print {

  html,
  body {
    width: 1100px;
    background: none;
  }
}

/* --------------------------------

  修正・追加用

-------------------------------- */

.tmcar-results-item a:hover {
  text-decoration: none;
  opacity: 0.85;
}

.category-title {
  margin-bottom: 10px;
}


@media screen and (max-width: 767.98px) {
  .container{
    padding: 0 1em !important;
  }
}


/* -----------------------------------------------------------------------------------------------
  assessment
----------------------------------------------------------------------------------------------- */

/* --------------------------------

  共通スタイル

-------------------------------- */
/* 共通見出し（h2相当）*/
.main-heading,
.news-heading {
  position: relative;
  max-width: 1100px;
  margin: 0 auto 1em;
  padding: .55em 1em;
  font-size: 1.2em;
  line-height: 1.3;
  color: #fff;
  background-color: #ff4000;
}

@media screen and (min-width: 768px), print {
  .main-heading,
  .news-heading {
    font-size: 1.4em;
  }
}

@media screen and (min-width: 1100px), print {
  .main-heading,
  .news-heading {
    margin-bottom: 1.3em;
  }
}

.main-heading-secondary,
.news-heading-secondary {
  padding: 1.2em 1em;
  font-size: 100%;
  color: #222;
  border-left: 10px solid #ff9208;
  background-color: #efefef;
}

@media screen and (min-width: 768px), print {
  .main-heading-secondary,
  .news-heading-secondary {
    font-weight: 700;
    font-size: 1.15em;
  }
}

.main-heading-secondary span,
.news-heading-secondary span {
  display: block;
  font-weight: 700;
  color: #fa0000;
}

/* 共通見出し（h3相当）*/
.main-subheading {
  margin-bottom: 1rem;
  font-size: 1.3em;
  line-height: 1.2;
}

@media screen and (min-width: 640px), print {
  .main-subheading {
    font-size: 1.5em;
  }
}

.contact-us-main {
  margin-bottom: 1em;
}

.contact-us-info {
  position: relative;
  padding: 1em;
  color: #222;
  line-height: 1.5;
  text-align: center;
  background-color: #fed295;
}

@media screen and (min-width: 768px), print {
  .contact-us-info {
    padding: 1.5em;
    text-align: left;
    border-left: 125px solid #faab27;
  }
}

@media screen and (min-width: 1100px), print {
  .contact-us-info {
    border-left-width: 150px;
  }
}

.contact-us-info:before {
  content: "";
  display: block;
  height: 80.83333px;
  margin: -1em -1em 1em;
  background: #faab27 url(../img/base/tel3.png) center no-repeat;
  background-size: auto 70%;
  z-index: 1;
}

@media screen and (min-width: 768px), print {
  .contact-us-info:before {
    position: absolute;
    top: 50%;
    left: -125px;
    width: 125px;
    margin: 0;
    background: url(../img/base/tel3.png) center no-repeat;
    background-size: contain;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

@media screen and (min-width: 1100px), print {
  .contact-us-info:before {
    left: -150px;
    width: 150px;
  }
}

.contact-us-tel {
  margin-bottom: .5em;
}

@media screen and (min-width: 768px), print {
  .contact-us-tel {
    margin-bottom: 0;
  }
}

.contact-us-tel .tel-link {
  display: inline-block;
  position: relative;
  color: #222;
  font-weight: 700;
  font-size: 1em;
  line-height: 1.1;
}

@media screen and (max-width: 768px), print {
  .contact-us-tel .tel-link {
    font-size: 1em;
  }
}


.contact-us-tel a.tel-link {
  color: #222;
}

.contact-us-tel a.tel-link:hover {
  color: #ff4000;
  text-decoration: none;
}

@media screen and (min-width: 768px), print {
  .contact-us-time {
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}

.contact-us-time dl {
  font-size: .9em;
}

@media screen and (min-width: 480px), print {
  .contact-us-time dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 16em;
    margin: auto;
  }
}

@media screen and (min-width: 1100px), print {
  .contact-us-time dl {
    font-size: 1em;
  }
}

@media screen and (min-width: 480px), print {
  .contact-us-time dt {
    width: 5em;
    margin-right: .5em;
    text-align: right;
  }
}

.contact-us-fax {
  margin-top: 1em;
  text-align: center;
}

@media screen and (min-width: 768px), print {
  .contact-us-fax {
    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;
  }
}

@media screen and (min-width: 1100px), print {
  .contact-us-fax {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.contact-us-fax .fax-num {
  margin-bottom: 1em;
}

@media screen and (min-width: 768px), print {
  .contact-us-fax .fax-num {
    margin-right: 1em;
    margin-bottom: 0;
  }
}

.contact-us-description {
  line-height: 1.5;
}

/* メールフォームでのお問い合わせ */
.contact-form-description {
  margin-bottom: 1.5em;
}

.contact-form-container:not(:last-child) {
  margin-bottom: 3em;
}

@media screen and (min-width: 1100px), print {
  .contact-form .main-heading {
    margin: 0 -2rem 1.5em;
  }
}

.contact-form .content p {
  margin-bottom: 1.5em;
}

.contact-form .content dl {
  line-height: 1.5;
}

@media screen and (min-width: 768px), print {
  .contact-form .content dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.contact-form .content dl:not(:last-child) {
  margin-bottom: 1em;
}

@media screen and (min-width: 768px), print {
  .contact-form .content dl:not(:last-child) {
    margin-bottom: 0;
    border-bottom: 1px dotted #eee;
  }
}

.contact-form .content dt {
  position: relative;
  margin-bottom: .5em;
  padding: 1em 1em 1em 5em;
  background-color: #eee;
}

@media screen and (min-width: 768px), print {
  .contact-form .content dt {
    width: 15em;
    margin-bottom: 0;
    background: none;
  }
}

.contact-form .content dd {
  padding: .5em 1em;
}

@media screen and (min-width: 768px), print {
  .contact-form .content dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 1em;
  }
}

.contact-form .content .required dt:before {
  content: "必須";
  display: block;
  position: absolute;
  left: 1.2em;
  width: 4em;
  padding: .5em 0;
  line-height: 1;
  font-size: .8em;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  text-align: center;
  background-color: #ff0000;
}

/* 個人情報及び特定個人情報保護方針 */
.contact-privacy {
  height: 30em;
  padding: 1em;
  font-size: .9em;
  border: 1px solid #eee;
  background-color: #efefef;
  overflow-y: scroll;
}

@media screen and (min-width: 640px), print {
  .contact-privacy {
    height: 24em;
  }
}

@media screen and (min-width: 768px), print {
  .contact-privacy {
    font-size: .9em;
  }
}

.contact-privacy-section .inner {
  padding: 0;
  line-height: 1.5;
}

.contact-privacy h3 {
  margin: 1em 0 .3em;
  font-size: 1.3em;
}

.contact-privacy ol {
  margin-bottom: .85em;
}

.contact-privacy dl {
  padding-top: 1.2em;
}

.contact-privacy .tel-link {
  color: #222;
}

.contact-privacy a.tel-link {
  color: #222;
}

.contact-privacy a.tel-link:hover {
  color: #ff4000;
}

/* --------------------------------

  フォーム部品

-------------------------------- */
/* フォーム用テーブル */
.form-table {
  display: block;
  line-height: 1.5;
}

.form-table tbody {
  display: block;
  margin: 0;
  padding: 0;
}

.form-table tr {
  display: table;
  width: 100%;
  border-collapse: collapse;
}

@media screen and (max-width: 767.98px) {
  .form-table tr {
    display: block;
    padding: 0;
    border-bottom: none;
  }
}

.form-table tr:not(:last-child) {
  margin-bottom: .7em;
}

@media screen and (max-width: 767.98px) {
  .form-table tr:not(:last-child) {
    margin-bottom: 1em;
  }
}

.form-table th {
  position: relative;
  vertical-align: top;
  width: 18em;
  padding: 1em .7em;
  background-color: #efefef;
}

@media screen and (max-width: 1099.98px) {
  .form-table th {
    width: 14em;
  }
}

@media screen and (max-width: 767.98px) {
  .form-table th {
    display: block;
    width: 100%;
    margin-bottom: .5em;
    background-color: #eee;
  }
}

.form-table td {
  vertical-align: top;
  padding: 1em 0 1em .6em;
}

@media screen and (max-width: 767.98px) {
  .form-table td {
    display: block;
    padding: 0;
  }
}

/* お車の情報 */
.form-area-select .form-items {
  margin: 0 0 -.5em;
}

@media screen and (min-width: 640px), print {
  .form-area-select .form-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 -.5em 0 0;
  }
}

@media screen and (min-width: 768px), print {
  .form-area-select .form-items {
    margin: -.5em -.5em -.5em 0;
  }
}

.form-area-select .form-item {
  padding-bottom: .5em;
}

@media screen and (min-width: 640px), print {
  .form-area-select .form-item {
    padding-right: .5em;
    padding-bottom: 0;
  }
}

.form-area-select .form-short,
.form-area-select .form-middle,
.form-area-select .form-long {
  margin: 0;
}

@media screen and (min-width: 768px), print {
  .form-area-select input.validate-error {
    margin-bottom: -.5em;
  }
}

/* ご住所 */
.form-area-add .form-textarea {
  resize: vertical;
  vertical-align: bottom;
  height: 5em;
  min-height: 5em;
  max-height: 10em;
  padding-top: .5em;
}

/* ご連絡方法 */
@media screen and (min-width: 480px), print {
  .form-area-contact .form-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.form-area-contact .form-item {
  margin: .5em 0 0 1em;
}

@media screen and (min-width: 480px), print {
  .form-area-contact .form-item {
    margin: 0 0 0 1em;
    padding: 0;
  }
}

/* お問い合わせの内容 */
.form-area-message .form-textarea {
  resize: vertical;
  vertical-align: bottom;
  height: 10em;
  min-height: 7em;
  max-height: 15em;
  padding: .5em .5em 0;
}

/* フォーム部品：入力欄 */
.form-short,
.form-middle,
.form-long {
  height: 2.6em;
  padding: 0 .5em;
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  line-height: 1.5;
  border: 1px solid #a5a5a5;
  background-color: #fff;
}

@media screen and (min-width: 768px), print {
  .form-short,
  .form-middle,
  .form-long {
    margin: -.5em 0;
  }
}

.form-short::-webkit-input-placeholder,
.form-middle::-webkit-input-placeholder,
.form-long::-webkit-input-placeholder {
  color: #cdcdcd;
}

.form-short:-ms-input-placeholder,
.form-middle:-ms-input-placeholder,
.form-long:-ms-input-placeholder {
  color: #cdcdcd;
}

.form-short::-ms-input-placeholder,
.form-middle::-ms-input-placeholder,
.form-long::-ms-input-placeholder {
  color: #cdcdcd;
}

.form-short::placeholder,
.form-middle::placeholder,
.form-long::placeholder {
  color: #cdcdcd;
}

.form-short {
  width: 10em;
}

.form-middle {
  width: 50%;
}

.form-long {
  width: 100%;
}

@media screen and (max-width: 767.98px) {
  .form-middle,
  .form-long {
    width: 100%;
  }
}

/* フォーム部品：入力必須マーク */
.form-title {
  display: block;
}

.form-title-note {
  display: block;
  font-size: .85em;
  color: #464646;
}

.form-icon {
  display: block;
  position: absolute;
  right: 1em;
}

.form-icon:before {
  content: "";
  display: block;
  width: 50px;
  margin: auto;
  font-size: .9em;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  line-height: 1.8em;
  text-align: center;
}

.form-icon-required:before {
  content: "必須";
  color: #fff;
  background-color: #ff0000;
}

.form-icon-free:before {
  content: "任意";
  display: none;
}

@media screen and (max-width: 767.98px) {
  .form-icon-free:before {
    display: block;
    color: #fff;
    background-color: #a3a3a3;
  }
}

/* フォーム部品：セレクト */
.select-wrap {
  position: relative;
  max-width: 14em;
  color: #222;
  background-color: #fff;
}

.select-wrap-short {
  max-width: 8em;
}

.select-wrap:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  width: 30px;
  height: 30px;
  margin: auto;
  background: url(../img/base/select.png) center no-repeat;
}

.select-wrap select {
  display: block;
  position: relative;
  z-index: 1;
  padding-right: 40px;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.select-wrap select::-ms-expand {
  display: none;
}

/* フォーム部品：ラジオボタン、チェックボックス共通 */
.form-box {
  position: absolute;
  opacity: 0;
}

.form-box + label {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1em;
  padding-left: 30px;
  cursor: pointer;
}

.form-box + label:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 22px;
  height: 22px;
  margin: auto;
  border: 6px solid #f0f0f0;
  background: #f0f0f0;
}

/* フォーム部品：ラジオボタン */
.form-box-radio + label:before {
  border-radius: 100%;
}

.form-box-radio:checked + label:before {
  background: #a3a3a3;
}

/* フォーム部品：チェックボックス */
.form-box-check + label:before {
  border-radius: 0;
}

.form-box-check + label:after {
  top: -10px;
  bottom: 0;
  left: 3px;
  width: 20px;
  height: 10px;
  border-left: 3px solid #ff4000;
  border-bottom: 3px solid #ff4000;
  opacity: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.form-box-check:checked + label:after {
  opacity: 1;
}

/* フォーム部品：テキストエリア */
.form-textarea {
  vertical-align: top;
  height: 10em;
  min-height: 4em;
  resize: vertical;
}

/* フォーム部品：エラーメッセージ */
input.validate-error,
select.validate-error,
textarea.validate-error {
  border-color: #ff0000;
}

span.validate-error {
  display: block;
  padding-top: 1em;
  font-size: .85em;
  color: #ff0000;
}

@media screen and (max-width: 767.98px) {
  span.validate-error {
    padding-top: .5em;
  }
}

/* フォーム部品：エラーメッセージ（郵便番号・住所用）*/
.add-error-message .validate-error {
  display: inline-block;
  vertical-align: top;
  margin-right: 1em;
}

/* フォーム部品：エラーメッセージ（チェックボックス用）*/
.checkbox-error-message .validate-error {
  padding-top: .5em;
}

.checkbox-error-message .validate-error:not(:first-child) {
  display: none !important;
}

/* フォーム部品：送信ボタン */
.form-buttons {
  padding-top: 1.5em;
  text-align: center;
}

.form-button {
  display: inline-block;
  vertical-align: top;
  position: relative;
  text-align: center;
  margin: .5em;
  padding: .7em 3em .7em 1.5em;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2em;
  line-height: 1.1;
  border: none;
  border-radius: .35em;
  background: none;
  overflow: hidden;
  cursor: pointer;
}

.form-button:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 10px;
  border-color: transparent transparent transparent #fff;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.form-button-send {
  border-color: #ff9208;
  background: #ff9208;
}

.form-button-send:hover {
  border-color: #ff4000;
  background: #ff4000;
}

.form-button-back {
  border-color: #999;
  background: #999;
}

.form-button-back:hover {
  border-color: #ccc;
  background: #ccc;
}

.form-button-add {
  vertical-align: middle;
  margin: 0 0 0 .5em;
  padding: .7em 1em;
  font-size: .9em;
  border-color: #ff9208;
  background: #ff9208;
}

.form-button-add:hover {
  border-color: #ff4000;
  background: #ff4000;
}

.form-button-add:after {
  display: none;
}

.form-button-upload {
  margin: 0;
  padding: .8em 1em;
  font-size: 1.1em;
  color: #fff;
  background: #e21664;
}

.form-button-upload:hover {
  color: #fff;
  text-decoration: none;
  background: #e94709;
}

.form-button-upload:after {
  display: none;
}

/* -----------------------------------------------------------------------------------------------
  company
----------------------------------------------------------------------------------------------- */

.common_title{
  margin: 0 auto;
  text-align: center;
}
.common_title h2{
  display: inline-block;
  padding: 15px;
  margin-bottom: 15px;
  font-size: 2.2em;
  font-weight: bold;
  min-width: 30%;
}
@media screen and (max-width: 767.98px) {
  .common_title h2{
    font-size: 1.5em;
  }
}

.common_title h2::after{
  content:attr(data-sub);
  display: block;
  border-top: 10px solid #FF8C03;
  font-size: 0.6em;
  font-weight: normal;
  padding: 10px;
  display: block;
  margin: 10px;
}
.full{
  padding: 0;
}

.bg1{
  background-color: #fff;
  padding: 3em 0;
}
.bg2{
  background-color: #FFF0DE;
  padding: 3em 0;
}
.bg1c{
  background-color: #fff;
}
.bg2c{
  background-color: #FFF0DE;
}

.company table{
  width: 100%;
}
.company th,
.company td{
  padding: 13px 15px;
}
.company th{
  width: 20%;
  border-bottom: 3px solid #FF8C03;
}
.company td{
  border-bottom: 3px solid #fff;
}

@media screen and (max-width: 767.98px) {
  .company th,
  .company td{
    display: block;
    width: 100%;
  }
  .company th{
    padding: 10px 0;
    font-weight:bold;
  }
  .company td{
    border: none;
  }
}



/* -----------------------------------------------------------------------------------------------
  documemnt
----------------------------------------------------------------------------------------------- */

.pdf-icon{
  position: relative;
  background: #FF8C03;
  padding: 20px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 2em;
}
.pdf-icon::before{
  display: block;
  content: "";
  width: 100px;
  height:100px;
  background: url(../img/pages/document/pdficon.png) no-repeat;
  position:absolute;
  top: -20px;
  left: 15px;
}
.pdf-icon img{
  height: 5em;
}
.orangeh3{
  background: #FF8C03;
  margin-bottom: 1em;
  color: #fff;
  font-size: 1.3em;
  padding: 15px;
  text-indent: -1em;
  padding-left: 2em;
}
.no-mark{
  list-style-type: none;
}
.mrk1::before,
.mrk2::before{
    content:"●";
    display: block;
    padding: 0 0.5em;
}
.mrk1,.mrk2{
  display: flex;
}
.mrk1::before, .red{ color: #c00;}
.mrk2::before, .blue{ color: #007FFF;}

.f150{
  font-size: 1.5em;
}
.bold{
  font-weight: bold;
}



/* -----------------------------------------------------------------------------------------------
  reason
----------------------------------------------------------------------------------------------- */

.f110{
  font-size: 1.1em;
  line-height: 1.5;
}
.bluelabel,
.redlabel{
  display: inline-block;
  margin: 0 5px 2px 5px;
  padding: 10px;
  color: #fff;
}

.bluelabel{
  background: #007FFF;
}
.redlabel{
  background: #c00;
}

.reasons h2{
  font-size: 1.5em;
  color: #c00;
  font-weight: bold;
  margin: 0.5em 0;
}

/* -----------------------------------------------------------------------------------------------
  flow
----------------------------------------------------------------------------------------------- */

.flow h2{
  margin-bottom: 1em;
  color: #FF8C03;
  text-align: center;
  font-size: 1.5em;
  font-weight: bold;
}

.nav-link a{
  background: #c00;
  padding:10px 20px;
  color: #fff;
}
.nav-link a::before{
  content:"▶";
  margin-right: 10px;
}

@media screen and (max-width: 767.98px) {
  .nav-link a{
    display: block;
    text-align: center;
  }
}



.flow1::before,.flow2::before,.flow3::before,.flow4::before,.flow5::before{
  display: block;
  content: "";
  width: 100%;
  min-height: 100px;
}

.flow1::before{ background: url(../img/pages/flow/icon1.jpg) no-repeat 50% 50%;}
.flow2::before{ background: url(../img/pages/flow/icon2.jpg) no-repeat 50% 50%;}
.flow3::before{ background: url(../img/pages/flow/icon3.jpg) no-repeat 50% 50%;}
.flow4::before{ background: url(../img/pages/flow/icon4.jpg) no-repeat 50% 50%;}
.flow5::before{ background: url(../img/pages/flow/icon5.jpg) no-repeat 50% 50%;}

.flow-arrow{
  display: block;
  content: "";
  width: 100%;
  min-height: 80px;
  background: url(../img/pages/flow/arrow.jpg) no-repeat 50% 0%;
}





.first{
  font-size: 1.2em;
}
.first_catch1{
  color: #f00;
  font-size: 1.5em;
  margin-bottom: 20px;
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px, #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px, 0 0 3px rgb(0 0 0 / 75%), 0 0 3px rgb(0 0 0 / 75%);
    z-index: 10;
    font-weight: bold;
}
@media screen and (min-width: 1100px), print {
  .first_catch1{
    font-size: 2em;
  }
}


.f150{
  font-size: 1.2em;
}
@media screen and (min-width: 1100px), print {
  .f150{
    font-size: 1.6em;
  }
}


.redlabel2{
  padding: 0;
}

.okage{
  margin-bottom: 2em;
  background: url(../img/pages/first/bg.jpg);
}

.okage h2{
  color: #fff;
  font-weight: bold;
  text-align: center;
  font-size: 2em;
  margin-bottom: 10px;
}
.okagesama{
  padding: 25px;
  font-weight: bold;
  font-size: 1.3em;
  border-radius: 20px;
  background: #fff;
}

.common_title2 h2{
  color: #000;
}
.common_title2 h2::after{
  border-top: 10px solid #fff;
}

.faq dt{
  background-color: #FFE79D;
  color: #f00;
  padding: 10px 15px;
  font-size: 1.3em;
  font-weight: bold;
}
@media screen and (max-width: 767.98px) {
  .faq dt{
    font-size: 1.1em;
  }
}
.faq dt::before{
  content: "Q";
  font-size: 1.3em;
  font-weight: bold;
  margin-right: 15px;
}
.faq dd{
  background: #fff;
  padding: 15px;
}
.faqA{
  display: flex;
}
.faqA::before{
  content: "A";
  font-size: 2em;
  font-weight: bold;
  margin-right: 30px;
  color: #FF9102;
}  

/* --------------------------------

  スライダー

-------------------------------- */
.slider {
  position: relative;
}

@media screen and (min-width: 1100px), print {
  .slider {
    /* margin-top: 95px; */
  }
}

.slider .inner {
  max-width: none;
  width: 100%;
  height: 100%;
}

.slider-main {
  display: block;
  position: relative;
}

.slider-main::before {
  content: "";
  display: block;
  padding-top: 28.2%;
}

@media screen and (max-width: 1024px) {
  .slider-main::before {
    padding-top: 70%;
  }
}

.slider-img {
  display: block;
  position: relative;
}

.slider-img::before {
  content: "";
  display: block;
  padding-top: 28.2%;
}

@media screen and (max-width: 1024px) {
  .slider-img::before {
    padding-top: 70%;
  }
}
.slider-side {
  z-index: 1;
}

@media screen and (min-width: 1100px), print {
  .slider-side {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    max-width: 444px;
    margin-left: 4em;
  }
}

@media screen and (max-width: 1099.98px) {
  .slider-side {
    background-color: #EAD7B4;
    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;
    padding: 1em;
  }
}

.slider-side-content {
  padding: 4em 2em 2em 2em;
  background: rgba(255, 255, 255, 0.8);
  max-width: 444px;
  width: 100%;
}

@media screen and (max-width: 1099.98px) {
  .slider-side-content {
    max-width: none;
    padding: 2em 2em 2em 2em;
  }
}

@media screen and (max-width: 479.98px) {
  .slider-side-content {
    padding: 1.7em 2em 1.7em 2em;
  }
}

@media screen and (max-width: 359.98px) {
  .slider-side-content {
    padding: 1.5em 1.8em;
  }
}

.slider-catch {
  display: block;
  font-size: 3.6rem;
  line-height: 1.6;
  letter-spacing: .1em;
  color: #C5000B;
  text-align: center;
  font-weight: 500;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
}

@media screen and (max-width: 639.98px) {
  .slider-catch {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 479.98px) {
  .slider-catch {
    display: block;
    line-height: 1.3;
  }
}

@media screen and (max-width: 359.98px) {
  .slider-catch {
    font-size: 2.4rem;
  }
}

.slider-catch .br {
  display: block;
}

@media screen and (max-width: 1099.98px) {
  .slider-catch .br {
    display: none;
  }
}

@media screen and (max-width: 479.98px) {
  .slider-catch .br {
    display: block;
  }
}

.slider-icon-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 2.8em 0;
}

@media screen and (max-width: 1099.98px) {
  .slider-icon-area {
    margin: 1.5em 0;
  }
}

@media screen and (max-width: 359.98px) {
  .slider-icon-area {
    margin: 1em 0;
  }
}

.slider-icon-item:not(:last-child) {
  margin-right: 1em;
}

@media screen and (max-width: 359.98px) {
  .slider-icon-item:not(:last-child) {
    margin-right: .5em;
  }
}

.slider-desc {
  word-break: break-all;
  word-wrap: break-word;
  font-size: 1.8rem;
  line-height: 1.46;
  letter-spacing: .1em;
  -webkit-font-feature-settings: 'palt';
          font-feature-settings: 'palt';
}

@media screen and (max-width: 1099.98px) {
  .slider-desc {
    max-width: 495px;
    margin: 0 auto;
    line-height: 1.4;
  }
}

@media screen and (max-width: 639.98px) {
  .slider-desc {
    font-size: 1.6rem;
    max-width: 375px;
  }
}

.slider-more {
  margin: 3.5em auto 0;
  max-width: 315px;
}

@media screen and (max-width: 1099.98px) {
  .slider-more {
    margin: 1.8em auto 0;
    max-width: 240px;
  }
}

@media screen and (max-width: 479.98px) {
  .slider-more {
    margin: 1.5em auto 0;
  }
}

@media screen and (max-width: 359.98px) {
  .slider-more {
    margin: 1em auto 0;
  }
}

.slider-more a {
  padding: .6em .5em .5em .5em;
}


.slider-img img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: none;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media screen and (min-width: 1100px), print {
  .slider-img img {
    width: auto;
    height: 100%;
  }
}

@media screen and (min-width: 1600px), print {
  .slider-img img {
    width: 100%;
    height: auto;
  }
}

@media screen and (min-width: 768px), print {
  .slider-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.slider .slider-dots {
  display: block;
  position: absolute;
  bottom: 5%;
  left: 0;
  width: 100%;
  text-align: center;
  z-index: 110;
}

@media screen and (max-width: 1099.98px) {
  .slider .slider-dots {
    bottom: 25px;
  }
}

@media screen and (max-width: 639.98px) {
  .slider .slider-dots {
    bottom: 20px;
  }
}

@media screen and (max-width: 479.98px) {
  .slider .slider-dots {
    bottom: 13px;
  }
}

.slider .slider-dots ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  overflow: hidden;
}

@media screen and (max-width: 479.98px) {
  .slider .slider-dots ul {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 1.5em;
  }
}

@media screen and (max-width: 359.98px) {
  .slider .slider-dots ul {
    padding-left: 1em;
  }
}

.slider .slider-dots li {
  position: relative;
  width: 15px;
  height: 15px;
  cursor: pointer;
  border-radius: 100%;
}

@media screen and (max-width: 1099.98px) {
  .slider .slider-dots li {
    width: 12px;
    height: 12px;
  }
}

@media screen and (max-width: 639.98px) {
  .slider .slider-dots li {
    width: 10px;
    height: 10px;
  }
}

.slider .slider-dots li:not(:last-child) {
  margin-right: 10px;
}

@media screen and (max-width: 639.98px) {
  .slider .slider-dots li:not(:last-child) {
    margin-right: 8px;
  }
}

.slider .slider-dots li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 15px;
  height: 15px;
  margin: auto;
  background-color: #fff;
  border-radius: 100%;
}

@media screen and (max-width: 1099.98px) {
  .slider .slider-dots li::before {
    width: 12px;
    height: 12px;
  }
}

@media screen and (max-width: 639.98px) {
  .slider .slider-dots li::before {
    width: 10px;
    height: 10px;
  }
}

.slider .slider-dots li.slick-active:before {
  background-color: #C5000B;
}

.slider .slider-dots button {
  display: none;
}

.slider .slick-slider {
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
}

.slider .slick-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}

.slider .slick-slider.slick-slider1 {
  position: absolute;
  top: 0;
  left: 0;
}

.slider .slick-slider.slick-slider1 .slick-list,
.slider .slick-slider.slick-slider1 .slick-track {
  height: 100%;
}

.slider .slick-slider .slide {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: #EAD7B4;
}


/* topics_paging */
#topics_paging_all{margin-bottom: .75rem;text-align: center}#topics_paging{display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;margin: 0 -1em}#topics_paging li{display: -webkit-box;display: -ms-flexbox;display: flex;-webkit-box-align: center;-ms-flex-align: center;align-items: center;margin: 0 .25rem;padding: .75rem 1rem .71rem 1rem;line-height: 1.2;font-size: 1.5rem;color: #fff;text-align: center;border-radius: 0;border: 1px solid #A89331;background-color: #A89331;list-style-type: none;list-style-image: none}#topics_paging a{display: block;margin: -.75rem -1rem;padding: .75rem 1rem;color: #333}#topics_paging a:hover{color: #333;background-color: #fff;text-decoration: none}

/* slick */
.slick-list,.slick-slider,.slick-track{position:relative;display:block}.slick-loading .slick-slide,.slick-loading .slick-track{visibility:hidden}.slick-slider{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{top:0;left:0}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}

.slider-dots li{
list-style-type:none;
}


#files span{
  display: inline-block;
  width: 120px;
}

@media screen and (max-width: 639.98px) {
  #files span{
    width: 100%;
    padding-left: 1em;
    margin-bottom: 5px;
  }
  
}


.tm-column-section {
  position: relative;
  padding: 4rem 1em 4rem 1em;
}
@media screen and (min-width: 1100px), print {
  .tm-column-section {
    padding: 9rem 2em 9rem 2em;
  }
}
.tm-column-section .heading.h2 {
  margin-bottom: 0;
}
.tm-column-more {
  text-align: center;
  margin-top: 4rem;
}
@media screen and (max-width: 767.98px) {
  .tm-column-more {
    margin-top: 2.5rem;
  }
}

.sss-contact-section .inner {
  max-width: none;
}
@media screen and (max-width: 639.98px) {
  .sss-contact-map {
    position: relative;
    padding-top: 90%;
  }
}


.column-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -5rem 0 0;
  list-style-type: none;
}
.column-topics {
  width: 50%;
  padding: 0 5rem 0 0;
}
@media screen and (max-width: 1099.98px) {
  .column-topics {
    width: 100%;
  }
}
.column-topics-inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  padding: 3rem 1.5rem;
  border-bottom: 1px solid #CDD6DD;
}
@media screen and (max-width: 767.98px) {
  .column-topics-inner {
    padding: 2rem 0;
  }
}
.column-topics-inner:hover .column-title {
  color: #003371;
  text-decoration: underline;
}
.column-topics-inner:hover .column-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.column-main {
  margin-left: 2.5rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767.98px) {
  .column-main {
    margin-left: 1.5rem;
  }
}
.column-img {
  position: relative;
  overflow: hidden;
  width: 226px;
  border: 1px solid #707070;
}
@media screen and (max-width: 767.98px) {
  .column-img {
    width: 120px;
  }
}
@media screen and (max-width: 479.98px) {
  .column-img {
    width: 100px;
  }
}
.column-img::before {
  content: "";
  display: block;
  padding-top: 59%;
}
.column-img img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.column-date {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #3B4043;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767.98px) {
  .column-date {
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
  }
}
.column-title {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3333333333;
  color: #3B4043;
  word-break: break-all;
  word-wrap: break-word;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 767.98px) {
  .column-title {
    font-size: 1.2rem;
  }
}
.column-more a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}