@charset "UTF-8";
/* CSS Document */
/* 
---------------------------------------
フォントサイズ
---------------------------------------
*/
html {
  font-size: calc(.78125vw + 7.5px); }

/* 10px */
@media (max-width: 320px) {
  html {
    font-size: 62.5%; } }
/* 14px */
html {
  font-size: 87.5%; }

@media screen and (min-width: 768px) {
  body {
    font-size: 1.071rem; } }
/* 
---------------------------------------
reset
---------------------------------------
*/
body, header, footer, section, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

body {
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif, Avenir, "Helvetica Neue", Helvetica, Verdana, Roboto;
  letter-spacing: 0;
  line-height: 1.7;
  font-weight: 500;
  /*“font-weight: 500;” という指定が肝で、この数値を指定してやると、Macでは「ミディアム」、Windows10では「中（ミディアム）」が使用されるらしい*/
  -webkit-text-size-adjust: 100%;
  /*iPhoneフォントサイズが拡大されるバグの対策*/ }

html {
  overflow-y: scroll; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  vertical-align: top; }

th {
  text-align: left; }

img {
  border: 0;
  vertical-align: top; }

li {
  list-style: none; }

a {
  outline: none;
  text-decoration: none; }

address {
  font-style: normal; }

h1, h2, h3, h4, h5, h6, p, th, td, table, dl, dt, dd, ul, ol, li {
  font-weight: normal; }

h1, h2, h3, h4, h5, h6 {
  /*margin-bottom: 0.3em;*/ }

em {
  font-style: normal; }

a:link {
  color: #000;
  /*text-decoration:underline;*/ }

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

a:hover {
  color: #fff;
  text-decoration: none;
  opacity: 0.7; }

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

a:hover img {
  /*background:#fff;*/
  filter: alpha(opacity=70);
  opacity: 0.7; }

a:hover img.op0 {
  filter: alpha(opacity=0);
  opacity: 0; }

a:hover img.op100 {
  filter: alpha(opacity=100);
  opacity: 1; }

#wrapper {
  position: relative;
  font-size: 93%; }

.center {
  text-align: center; }

.bold {
  font-weight: bold; }

.taR {
  text-align: right; }

@media screen and (max-width: 767px) {
  form .wLong {
    width: 100%; } }
@media screen and (min-width: 768px) {
  li.br:before {
    content: "\A";
    white-space: pre; } }
@media screen and (max-width: 999px) {
  /*TAB以下*/
  .br2:before {
    content: "\A";
    white-space: pre; } }
/* 
---------------------------------------
form
---------------------------------------
*/
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea {
  margin: 1px;
  padding: 8px 5px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #d6d6d6;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

label {
  margin: 1px;
  /*	padding: 5px 10px;
  	font-size: 14px;
  	background: #fff;
  	border: 1px solid #d6d6d6;
  	border-radius: 5px;*/ }

.text50 {
  width: 50px; }

input[type="button"], input[type="submit"], button[type="submit"] {
  -webkit-appearance: none;
  border: none; }

@media screen and (max-width: 768px) {
  form .wLong {
    width: 100%; } }
@media screen and (min-width: 769px) {
  form .wLong {
    width: 500px; } }
/* 
---------------------------------------
clear
---------------------------------------
*/
.clear {
  clear: both; }

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden; }

.clearfix {
  min-height: 1px; }

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

/* 
---------------------------------------
margin_top
---------------------------------------
*/
.mt0 {
  margin-top: 0 !important; }

.mt05 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

.mt65 {
  margin-top: 65px !important; }

.mt70 {
  margin-top: 70px !important; }

.mt75 {
  margin-top: 75px !important; }

.mt80 {
  margin-top: 80px !important; }

.mt85 {
  margin-top: 85px !important; }

.mt90 {
  margin-top: 90px !important; }

.mt95 {
  margin-top: 95px !important; }

.mt100 {
  margin-top: 100px !important; }

/* 
---------------------------------------
margin_bottom
---------------------------------------
*/
.mb0 {
  margin-bottom: 0 !important; }

.mb05 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

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

.mb25 {
  margin-bottom: 25px !important; }

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

.mb35 {
  margin-bottom: 35px !important; }

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

.mb45 {
  margin-bottom: 45px !important; }

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

.mb55 {
  margin-bottom: 55px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.mb85 {
  margin-bottom: 85px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.mb95 {
  margin-bottom: 95px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.mb130 {
  margin-bottom: 130px !important; }

/* 
---------------------------------------
margin_bottom（vw）
---------------------------------------
*/
.mb1vw {
  margin-bottom: 1vw; }

.mb2vw {
  margin-bottom: 2vw; }

.mb3vw {
  margin-bottom: 3vw; }

.mb4vw {
  margin-bottom: 4vw; }

.mb5vw {
  margin-bottom: 5vw; }

.mb6vw {
  margin-bottom: 6vw; }

.mb7vw {
  margin-bottom: 7vw; }

.mb8vw {
  margin-bottom: 8vw; }

.mb9vw {
  margin-bottom: 9vw; }

.mb10vw {
  margin-bottom: 10vw; }

/* 
---------------------------------------
margin_left
---------------------------------------
*/
.ml0 {
  margin-left: 0 !important; }

.ml05 {
  margin-left: 5px !important; }

.ml10 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml20 {
  margin-left: 20px !important; }

.ml25 {
  margin-left: 25px !important; }

.ml30 {
  margin-left: 30px !important; }

.ml35 {
  margin-left: 35px !important; }

.ml40 {
  margin-left: 40px !important; }

.ml45 {
  margin-left: 45px !important; }

.ml50 {
  margin-left: 50px !important; }

/* 
---------------------------------------
margin_right
---------------------------------------
*/
.mr0 {
  margin-right: 0 !important; }

.mr05 {
  margin-right: 5px !important; }

.mr10 {
  margin-right: 10px !important; }

.mr15 {
  margin-right: 15px !important; }

.mr20 {
  margin-right: 20px !important; }

.mr25 {
  margin-right: 25px !important; }

.mr30 {
  margin-right: 30px !important; }

.mr35 {
  margin-right: 35px !important; }

.mr40 {
  margin-right: 40px !important; }

.mr45 {
  margin-right: 45px !important; }

.mr50 {
  margin-right: 50px !important; }

/* 
---------------------------------------
padding_top
---------------------------------------
*/
.pt0 {
  padding-top: 0 !important; }

.pt05 {
  padding-top: 5px !important; }

.pt10 {
  padding-top: 10px !important; }

.pt15 {
  padding-top: 15px !important; }

.pt20 {
  padding-top: 20px !important; }

.pt25 {
  padding-top: 25px !important; }

.pt30 {
  padding-top: 30px !important; }

.pt35 {
  padding-top: 35px !important; }

.pt40 {
  padding-top: 40px !important; }

.pt45 {
  padding-top: 45px !important; }

.pt50 {
  padding-top: 50px !important; }

/* 
---------------------------------------
padding_bottom
---------------------------------------
*/
.pb0 {
  padding-bottom: 0 !important; }

.pb05 {
  padding-bottom: 5px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pb15 {
  padding-bottom: 15px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pb35 {
  padding-bottom: 35px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pb45 {
  padding-bottom: 45px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.pb150 {
  padding-bottom: 150px !important; }

/* 
---------------------------------------
padding_left
---------------------------------------
*/
.pl0 {
  padding-left: 0 !important; }

.pl05 {
  padding-left: 5px !important; }

.pl10 {
  padding-left: 10px !important; }

.pl15 {
  padding-left: 15px !important; }

.pl20 {
  padding-left: 20px !important; }

.pl25 {
  padding-left: 25px !important; }

.pl30 {
  padding-left: 30px !important; }

.pl35 {
  padding-left: 35px !important; }

.pl40 {
  padding-left: 40px !important; }

.pl45 {
  padding-left: 45px !important; }

.pl50 {
  padding-left: 50px !important; }

/* 
---------------------------------------
padding_right
---------------------------------------
*/
.pr0 {
  padding-right: 0 !important; }

.pr05 {
  padding-right: 5px !important; }

.pr10 {
  padding-right: 10px !important; }

.pr15 {
  padding-right: 15px !important; }

.pr20 {
  padding-right: 20px !important; }

.pr25 {
  padding-right: 25px !important; }

.pr30 {
  padding-right: 30px !important; }

.pr35 {
  padding-right: 35px !important; }

.pr40 {
  padding-right: 40px !important; }

.pr45 {
  padding-right: 45px !important; }

.pr50 {
  padding-right: 50px !important; }

/* 
---------------------------------------
padding_bottom（vw）
---------------------------------------
*/
.pb1vw {
  padding-bottom: 1vw; }

.pb2vw {
  padding-bottom: 2vw; }

.pb3vw {
  padding-bottom: 3vw; }

.pb4vw {
  padding-bottom: 4vw; }

.pb5vw {
  padding-bottom: 5vw; }

.pb6vw {
  padding-bottom: 6vw; }

.pb7vw {
  padding-bottom: 7vw; }

.pb8vw {
  padding-bottom: 8vw; }

.pb9vw {
  padding-bottom: 9vw; }

.pb10vw {
  padding-bottom: 10vw; }

/* 
---------------------------------------
color
---------------------------------------
*/
.lBlue {
  color: #00a0e9; }

.pink {
  color: #e75764; }

.green {
  color: #00453f; }

.red {
  color: #F05711; }

/* 
---------------------------------------
font-size
http://pxtoem.com を参考にレスポンシブ基準で調節　14px基準
---------------------------------------
*/
.px09 {
  font-size: 0.643rem; }

.px10 {
  font-size: 0.714rem; }

.px11 {
  font-size: 0.786rem; }

.px12 {
  font-size: 0.857rem; }

.px13 {
  font-size: 0.929rem; }

.px14 {
  font-size: 1rem; }

.px15 {
  font-size: 1.071rem; }

.px16 {
  font-size: 1.143rem; }

.px17 {
  font-size: 1.214rem; }

.px18 {
  font-size: 1.286rem; }

@media screen and (max-width: 999px) {
  /*TAB以下　スマホは13px基準*/
  　
  .px09 {
    font-size: 0.600em; }

  .px10 {
    font-size: 0.667em; }

  .px11 {
    font-size: 0.733em; }

  .px12 {
    font-size: 0.800em; }

  .px13 {
    font-size: 1rem; }

  .px14 {
    font-size: 0.933em; }

  .px15 {
    font-size: 1em; }

  .px16 {
    font-size: 1em; }

  .px17 {
    font-size: 1em; }

  .px18 {
    font-size: 1.1em; } }
/* 
---------------------------------------
font-size
---------------------------------------
*/
/*.px09{
	font-size: 9px;
}
.px10{
	font-size: 10px;
}
.px11{
	font-size: 11px;
}
.px12{
	font-size: 12px;
}
.px13{
	font-size: 13px;
}
.px14{
	font-size: 14px;
}
.px15{
	font-size: 15px;
}
.px16{
	font-size: 16px;
}
.px17{
	font-size: 17px;
}
.px18{
	font-size: 18px;
}*/
/* 
---------------------------------------
width
---------------------------------------
*/
.w20per {
  width: 20% !important; }

.w30per {
  width: 30% !important; }

.w40per {
  width: 40% !important; }

.w60per {
  width: 60% !important; }

.w80per {
  width: 80% !important; }

.w100per {
  width: 100%; }

.w20 {
  width: 20px; }

.w40 {
  width: 40px; }

.w60 {
  width: 60px; }

.w80 {
  width: 80px; }

.w100 {
  width: 100px; }

.w150 {
  width: 150px; }

.w200 {
  width: 200px; }

.w250 {
  width: 250px; }

/* 
---------------------------------------
文字間　トラッキング
トラッキング数値 ÷ 1000
---------------------------------------
*/
.ls50 {
  letter-spacing: 0.05em;
  /*50*/ }

.ls100 {
  letter-spacing: 0.1em;
  /*100*/ }

.ls150 {
  letter-spacing: 0.15em;
  /*150*/ }

.ls200 {
  letter-spacing: 0.2em;
  /*200*/ }

@media screen and (max-width: 767px) {
  /*TAB以下*/
  .pcView {
    display: none; } }
@media screen and (min-width: 768px) {
  /*PC*/
  .spView {
    display: none; } }
@media screen and (max-width: 767px) {
  /*TAB以下*/
  body {
    /*font-size: 15px;*/ } }
@media screen and (min-width: 768px) {
  /*PC*/
  body {
    min-width: 1060px; } }
/*
---------------------------------------
layout
---------------------------------------
*/
img {
  max-width: 100%; }

.inner {
  box-sizing: border-box; }

@media screen and (max-width: 767px) {
  .inner {
    width: 92%;
    min-width: 320px;
    margin: 0 auto; }

  #container .inner img {
    width: 100%; } }
@media screen and (min-width: 768px) {
  .inner {
    width: 100%;
    max-width: 1130px;
    margin: 0 auto; } }
@media screen and (min-width: 767px) {
  /*PC*/ }
@media screen and (max-width: 767px) {
  /*TAB以下*/
  .inner {
    width: 92%;
    max-width: 760px;
    margin: 0 auto; } }
.border_White {
  border: 4px solid #fff;
  font-size: 30px;
  color: #fff;
  width: 430px;
  padding: 2vw 0; }

/*
---------------------------------------
font
---------------------------------------
*/
.arial {
  font-family: Arial; }

/*
---------------------------------------
header
---------------------------------------
*/
@media screen and (max-width: 767px) {
  #header {
    height: 64px; }

  #header #kw {
    display: none; }

  #header #logo {
    /*height: 40px;
    padding-top: 2.5vw;*/
    padding: 1.5vw 0 1vw; }

  #header #logo a {
    display: inline-block;
    padding: 0; }

  #header #logo img {
    max-width: 100%;
    width: auto;
    height: 50px; } }
@media screen and (min-width: 768px) {
  #header {
    width: 100%;
    padding: 0;
    background: url(../img/h_bg.png) no-repeat bottom #fff;
    z-index: 5; }

  #header .box {
    background: #fff; }

  #header .inner {
    position: relative;
    width: 100%;
    height: 120px;
    margin: 0 auto;
    /*padding: 5px 0;*/ }

  #header #kw {
    font-size: 0.714rem; }

  #header #logo {
    position: absolute;
    top: 45px;
    left: 35px; }
    #header #logo img {
      width: 101px; }
    #header #logo:after {
      display: block;
      content: "";
      background: url(/img2/common/nav_bg.svg) no-repeat;
      width: 169px;
      height: 21px;
      position: absolute;
      bottom: -31px;
      background-size: 100% auto;
      left: -30px;
      z-index: 100; }

  #header .hR a:hover {
    opacity: 0.7;
    color: #000; }

  #header .hR .hSite {
    position: absolute;
    right: 440px;
    top: 15px;
    font-size: 1.2rem; }
    #header .hR .hSite i {
      color: #F05711;
      margin-right: 5px; }

  #header .hR .hTel {
    position: absolute;
    right: 230px;
    top: 5px;
    text-align: center;
    line-height: 1.3; }
    #header .hR .hTel i {
      color: #F05711;
      font-size: 1.571rem;
      margin-right: 8px; }
    #header .hR .hTel .arial {
      font-size: 1.714rem;
      font-weight: bold; }
    #header .hR .hTel span:not(.phone_link) {
      display: block;
      font-size: 0.857rem;
      color: #808080; }

  #header .hR .hContact {
    position: absolute;
    right: 0px;
    top: 8px;
    /*width: 210px;*/
    height: 40px;
    text-align: center;
    font-size: 1.143rem; }
    #header .hR .hContact a {
      color: #fff;
      line-height: 40px;
      background: #F05711;
      border-radius: 5px;
      padding: 0.6em 1.5em; } }
/*TOP固定用*/
@media screen and (min-width: 768px) {
  #body:not(.contact) #header.fixed {
    position: fixed;
    top: 0px;
    z-index: 9999;
    width: 100%;
    transition: .3s; }

  #header > .inner {
    position: relative; } }
/*
---------------------------------------
nav
---------------------------------------
*/
@media screen and (max-width: 999px) {
  /*TAB以下*/
  #nav {
    display: none; } }
@media screen and (min-width: 1000px) {
  /*PC*/
  #nav {
    position: absolute;
    right: 0;
    bottom: 17px; }

  #nav li {
    float: left;
    border-right: 1px solid #dddddd; }

  #nav li:first-child {
    border-left: 1px solid #dddddd; }

  #nav li a {
    display: block;
    color: #000;
    padding: 0 4vw;
    text-align: center; }
    #nav li a i {
      display: block;
      color: #F05711; }

  .contact #nav li a i {
    display: inline-block;
    margin-right: 10px; } }
/*
---------------------------------------
SP nav
---------------------------------------
*/
@media screen and (min-width: 768px) {
  #navBtnOpen,
  #navBtnClose {
    display: none; } }
#navBtnOpen {
  position: absolute;
  padding: 10px;
  min-height: 44px;
  width: 50px;
  text-align: center;
  top: 0px;
  right: 0;
  cursor: pointer;
  z-index: 5;
  color: #fff;
  background: #ea5514;
  height: 44px;
  box-sizing: unset;
  font-size: 12px; }

#navBtnClose {
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
  z-index: 100000; }

#navBtnOpen i {
  font-size: 32px;
  color: #fff; }

#navBtnClose i {
  font-size: 30px;
  color: #ea5514; }

#spNav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 65px 4% 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 99999;
  display: none; }

#spNav li {
  border-top: 1px solid #ea5514; }

#spNav li a {
  display: block;
  padding: 15px 0;
  height: 25px;
  font-size: 14px;
  font-weight: bold;
  color: #ea5514;
  text-decoration: none;
  text-align: center; }

/*
---------------------------------------
map
---------------------------------------
*/
#map01 {
  height: 50vh;
  overflow: hidden; }

/*
---------------------------------------
footer
---------------------------------------
*/
#footer {
  position: relative;
  box-sizing: border-box;
  letter-spacing: 0.1em;
  background: #F05711;
  padding: 4vh 0 4.5vh;
  color: #fff; }

@media screen and (max-width: 767px) {
  #footer {
    /*padding: 5vw 0;*/
    padding-top: 0; }

  #footer .logo {
    width: 14vw;
    margin-bottom: 5vw; }

  #footer .logo a {
    display: inline-block;
    position: relative;
    z-index: 1; }

  #footer dl dd + dd {
    margin-top: 1em; }

  #footer #copy {
    font-size: 0.714rem;
    margin: 2vh 0 3vh;
    text-align: center; } }
@media screen and (min-width: 768px) {
  #footer {
    padding: 0vh 0 4.5vh; }

  #footer .img_txt_Box .txt {
    float: left;
    width: auto; }
  #footer .img_txt_Box .pic {
    float: right; }

  #footer #copy {
    font-size: 0.857rem;
    margin-top: 2vh; } }
/*
---------------------------------------
spNav
---------------------------------------
*/
#footer ul {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

#footer ul li a {
  color: #fff; }

@media screen and (max-width: 767px) {
  #footer .spNav {
    display: none; }

  #footer ul {
    -ms-flex-flow: wrap;
    flex-flow: wrap; }

  #footer ul li {
    width: 48%;
    text-align: center; }

  #footer ul li a {
    padding: 0.5em 0; } }
@media screen and (min-width: 768px) {
  #footer ul {
    font-size: 1.143rem;
    -ms-flex-flow: nowrap;
    flex-flow: nowrap; }

  #footer ul li:nth-child(1):before {
    margin: 0 .3em 0 0; }

  #footer ul li:before, #footer ul li:last-of-type:after {
    content: "｜";
    margin: 0 0.8em; }

  #footer ul li a {
    letter-spacing: 0; } }
/*
---------------------------------------
common
---------------------------------------
*/
#container #breadcrumbs a {
  /*color : #000;*/
  text-decoration: underline; }

@media screen and (max-width: 767px) {
  #breadcrumbs {
    padding: 2vw 4vw;
    font-size: 0.75rem; } }
@media screen and (min-width: 768px) {
  #breadcrumbs {
    padding: 15px 2vw;
    margin: 0 auto;
    letter-spacing: 0.2em; } }
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ページトップ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pageTop a {
  display: block;
  box-sizing: border-box;
  color: #F05711;
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  font-size: 1.2vw;
  width: 60px;
  height: 60px;
  line-height: 60px; }

.pageTop.fixed a {
  position: fixed; }

@media screen and (max-width: 767px) {
  .pageTop a {
    font-size: 2rem; }

  .pageTop.fixed a {
    bottom: 15px;
    right: 15px; } }
@media screen and (min-width: 768px) {
  .pageTop.fixed a {
    bottom: 50px;
    right: 30px; }

  .pageTop:hover {
    opacity: 0.7; } }
.pageTop:not(.fixed) a {
  display: block;
  box-sizing: border-box;
  color: #F05711;
  text-align: center;
  background: #fff;
  font-size: 3.571rem;
  width: 100%;
  height: 65px;
  line-height: 65px;
  margin-bottom: 5vh; }

/* 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
見出し
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/
/* 
---------------------------------------
画像タイトル箇所
---------------------------------------
*/
.EnJp_Ttl .ttl {
  /*text-align: center; */
  /*margin-bottom: 2vw;*/
  position: relative;
  font-feature-settings: "palt";
  text-align: center;
  margin-bottom: 1.5em; }
  .EnJp_Ttl .ttl:after {
    content: "";
    display: block;
    margin: 0 auto;
    height: 10px;
    width: 85px;
    background: url(../img2/common/ttl_bg.svg);
    background-size: 100% auto; }
  .EnJp_Ttl .ttl span {
    display: block;
    font-weight: bold; }

.ttl.black {
  color: #000; }

.ttl.white {
  color: #fff; }

.JpEn_Ttl {
  position: relative;
  font-feature-settings: "palt";
  text-align: center; }
  .JpEn_Ttl span {
    display: block;
    font-size: 0.857rem; }

@media screen and (max-width: 767px) {
  .EnJp_Ttl .ttl {
    font-size: 1.8rem; }
    .EnJp_Ttl .ttl span {
      font-size: 0.8rem; } }
@media screen and (min-width: 768px) {
  .EnJp_Ttl .ttl {
    font-size: 2.286rem; }
    .EnJp_Ttl .ttl:after {
      content: "";
      display: block;
      margin: 0 auto;
      height: 10px;
      width: 85px;
      background: url(../img2/common/ttl_bg.svg);
      background-size: 100% auto; }
    .EnJp_Ttl .ttl span {
      font-size: 1rem; }

  .JpEn_Ttl {
    text-align: center;
    font-size: 1.571rem;
    font-weight: bold; } }
.Img_ttl .ttl {
  letter-spacing: 0.2em; }

/* 
---------------------------------------
ボタン
---------------------------------------
*/
.btn_White a {
  border: 4px solid #fff;
  color: #fff; }

.btn_Black a {
  background: #000;
  color: #fff; }

.btn_Red a {
  background: #F05711;
  color: #fff; }

.btn_Blue i {
  color: #F05711; }

.btn_Blue i {
  color: #F05711; }

[class^="btn_"] a {
  font-size: 0.929rem;
  margin: 0px auto 0;
  display: block;
  text-align: center;
  font-weight: bold;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  letter-spacing: 0.15px;
  position: relative;
  color: #F05711; }

.btn_normal a {
  font-size: 0.929rem;
  margin: 0px auto 0;
  display: block;
  text-align: center;
  font-weight: bold;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  letter-spacing: 0.15px;
  position: relative;
  color: #F05711; }
  .btn_normal a i {
    margin-left: 0.5em;
    font-size: 1.2rem; }
  .btn_normal a:hover i {
    margin-left: 0.6em;
    transition: .3s; }

.btn_border a {
  font-size: 0.929rem;
  margin: 50px auto 0;
  line-height: 44px;
  width: 250px;
  height: 44px;
  border: 1px solid #F05711; }
  .btn_border a i {
    font-size: 18px;
    right: 10px;
    position: absolute;
    top: 50%;
    z-index: 0;
    width: 100%;
    transform: translate(45%, -50%);
    transition: 0.2s; }

/*  [class^="btn_"] a:hover i {
    right: 0px; 
}*/
/*ボタンサイズ　バージョン*/
.small[class^="btn_"] a {
  display: inline-block;
  width: auto;
  height: auto;
  line-height: 2.5;
  padding: 0 2.5em 0 1.5em;
  font-size: 100%;
  margin: 0; }
  .small[class^="btn_"] a i {
    font-size: 85%; }
  .small[class^="btn_"] a i.bottom {
    transform: translate(45%, -50%) rotate(180deg); }

@media screen and (max-width: 767px) {
  [class^="btn_"] a {
    font-size: 0.786rem;
    width: 70%;
    margin: 5vw auto 0; }

  [class^="btn_"] i {
    font-size: 10px;
    right: 5px; }

  .btn_normal a {
    margin: 0vw auto 0; } }
/* 
---------------------------------------
SP時　電話番号アイコン
---------------------------------------
*/
@media screen and (max-width: 767px) {
  .phone_link:after, #container .telBtn:after, #footer .telBtn:after {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\f098";
    margin-left: 5px;
    color: #F05711; } }
