@charset "UTF-8";
/* reset
================================================== */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

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

blockquote,
q {
  quotes: none;
}

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

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

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

input,
select {
  vertical-align: middle;
}

/* Setting */
input,
textarea {
  /**font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
     font-family: "游ゴシック","メイリオ", 'Century Gothic', "Hiragino Kaku Gothic Pro", " ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;**/
  font-family: "Noto Sans JP", sans-serif;
}

@media (min-width: 641px) {
  body {
    font-size: 16px;
    line-height: 1.4;
    /**font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    font-family: "游ゴシック","メイリオ", 'Century Gothic', "Hiragino Kaku Gothic Pro", " ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;**/
    font-family: "Noto Sans JP", sans-serif;
    /**font-weight:500;**/
    color: #000000;
    background-color: #FFFFFF;
    letter-spacing: 1px;
  }
}
@media (min-width: 0px) and (max-width: 640px) {
  body {
    font-size: 16px;
    line-height: 1.5;
    /**font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;**/
    font-family: "Noto Sans JP", sans-serif;
    color: #000000;
    background-color: #FFFFFF;
    letter-spacing: 1px;
    -webkit-text-size-adjust: 100%;
  }
}
* html body {
  /* for IE6 */
  font-size: small;
}

*:first-child + html body {
  /* for IE7 */
  font-size: small;
}

img {
  vertical-align: middle;
}

ul {
  list-style-position: outside;
  list-style-type: none;
}

ol {
  list-style-position: inside;
}

@font-face {
  font-family: "A-OTF-MaruFoProN";
  src: url("font/A-OTF-RyuminPr6N-Light.otf") format("truetype");
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: normal;
  /**font-family: "游ゴシック","メイリオ", 'Century Gothic', "Hiragino Kaku Gothic Pro", " ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  **/
}

*:active,
*:focus {
  outline: none;
}

/* clear */
.clear {
  clear: both;
}

.clear hr {
  display: none;
}

/* link */
a {
  color: #000000;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a img:hover {
  opacity: 0.7;
}

/* iphoneのデフォルトstyleを無効*/
input[type=button],
input[type=text],
input[type=submit],
input[type=reset] {
  -webkit-appearance: none;
  border-radius: 0;
}

.red {
  color: #ff2e62;
}

.red-b {
  color: #ff0000;
  font-weight: bold;
}

.red2 {
  color: #c92069;
}

.red3 {
  color: #c8003c;
}

.red4 {
  color: #cc7667;
}

.pink {
  color: #d22f6b;
}

.pink-b {
  color: #dd546b;
}

.orange {
  color: #FF6600;
}

.orange-b {
  color: #ff6600;
  font-weight: bold;
}

.blue {
  color: #007fff;
}

.blue-b {
  color: #0000ff;
  font-weight: bold;
}

.blue2 {
  color: #008ce0;
}

.green {
  color: #009900;
}

.white {
  color: #ffffff;
}

.green {
  color: #1dc8c0;
}

.color01 {
  color: #ae9580;
  font-weight: bold;
}

.bold {
  font-weight: bold;
}

.t_indent {
  text-indent: -1em;
  padding-left: 1em;
}

.t_indent01 {
  text-indent: -14px;
  padding-left: 14px;
}

.txt70 {
  font-size: 70%;
}

.txt80 {
  font-size: 80%;
}

.txt110 {
  font-size: 110%;
}

.txt120 {
  font-size: 120%;
}

.txt140 {
  font-size: 140%;
}

.txt150 {
  font-size: 150%;
}

.txt160 {
  font-size: 160%;
}

.txt170 {
  font-size: 170%;
}

.mt-10 {
  margin-top: -10px;
}

.mt-20 {
  margin-top: -20px;
}

.mb05 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb60 {
  margin-bottom: 60px;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.pd10 {
  padding: 10px;
}

.pd15 {
  padding: 15px;
}

.pd20 {
  padding: 20px;
}

#main p {
  line-height: 160%;
  display: block;
  overflow: hidden;
}

.zindex0 {
  position: relative;
  z-index: 0;
}

/**WordPress用**/
.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

@media (min-width: 750px) {
  .pcnone {
    display: none !important;
  }
}
@media (min-width: 0px) and (max-width: 749px) {
  .pcnone {
    display: block !important;
  }
  .spnone {
    display: none !important;
  }
}
/*=================================================

header

==============================*/
@media (min-width: 736px) {
  .topmg {
    margin-top: 140px;
  }
  #conteiner {
    margin-top: 0px;
    margin-right: auto;
    margin-left: auto;
  }
  #main {
    padding-top: 0px;
  }
}
@media (min-width: 0px) and (max-width: 735px) {
  .topmg {
    margin-top: 60px;
  }
  #conteiner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding-bottom: 0px;
    padding-right: 0px;
    padding-left: 0px;
  }
  #main {
    padding-top: 0px;
  }
}
/*=================================================

header

==============================*/
@media (min-width: 736px) {
  #header-out {
    margin-right: 0px;
    margin-left: 0px;
    margin-top: 0px;
    padding: 0px;
    background-color: #ffffff;
    width: 100%;
    height: 130px;
    min-width: 1100px;
    z-index: 11;
    position: fixed;
    top: 0px;
  }
  body.logged-in #header-out {
    top: 32px;
  }
  #header {
    /**width: 1080px;**/
    width: 1100px;
    /**height: 100px;**/
    padding: 0px 0px;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    overflow: hidden;
  }
  #header .logo {
    display: block;
    height: auto;
    width: 93px;
    float: left;
    margin-left: 0px;
    margin-top: 15px;
  }
  #header .logo a img {
    height: auto;
    max-width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  #header .h_link {
    float: right;
    width: 950px;
  }
}
#header .logo a {
  color: #ffc30c;
}

#header .logo a:hover {
  opacity: 0.8;
  text-decoration: none;
}

@media (min-width: 0px) and (max-width: 735px) {
  #header-out {
    height: 60px;
    margin-right: 0px;
    margin-left: 0px;
    margin-top: 0px;
    position: fixed;
    top: 0px;
    z-index: 5;
    padding: 0px;
    width: 100%;
    background-color: #ffffff;
  }
  #header {
    height: 60px;
    width: 100%;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
    z-index: 2;
    overflow: hidden;
    padding-top: 0px;
  }
  #header .logo {
    display: block;
    height: 50px;
    width: auto;
    float: left;
    margin-left: 5px;
    margin-top: 5px;
    text-align: center;
  }
  #header .logo a img {
    height: 100%;
    width: auto;
  }
  #header .h_link {
    float: none;
    width: inherit;
  }
}
@media (min-width: 0px) and (max-width: 330px) {
  #header .logo {
    display: block;
    height: 40px;
    width: auto;
    float: left;
    margin-top: 20px;
    margin-left: 5px;
  }
}
#header .contact {
  width: 180px;
  float: right;
  padding-top: 0px;
  margin-right: 0px;
}

#header .contact img {
  max-width: 100%;
}

@media (min-width: 0px) and (max-width: 735px) {
  #header .contact {
    display: inline-block;
    width: 60px;
    height: auto;
    float: right;
    margin-right: 60px;
    padding-top: 0px;
  }
}
/*------------------------------------------------------------
	グローバルナビ
------------------------------------------------------------*/
@media (min-width: 736px) {
  #slide-header {
    height: 70px;
    position: relative;
    width: 70px;
    z-index: 12;
    right: 0px;
    top: 0px;
    margin-top: 0px;
    display: none;
    margin-right: 0px;
    float: right;
  }
  body.logged-in #slide-header {
    top: 46px;
  }
  #slide-header .button {
    width: 70px;
    height: 70px;
    position: relative;
    display: block;
    top: 0px;
  }
  .menu-button-right {
    right: 0px;
  }
  #menu-nav {
    display: table-cell;
    vertical-align: bottom;
    text-align: right;
  }
  #menu-button {
    vertical-align: bottom;
    float: right;
    cursor: pointer;
    background-repeat: no-repeat;
    background-image: url(./img/menu_button.png);
    background-position: center top;
    background-size: 70px;
  }
  #menu-button.selected,
  #menu-button:active {
    opacity: 1;
    background-repeat: no-repeat;
    background-image: url(./img/menu_button-on.png);
    background-position: center top;
    background-size: 70px;
    z-index: 11;
  }
  #menu-button-inner {
    width: 70px;
    height: 70px;
    z-index: 11;
  }
  #gNavi {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 95%;
    box-sizing: border-box;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #gNavi ul {
    overflow: hidden;
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding-top: 30px;
  }
  #gNavi li {
    padding-left: 5px;
    padding-right: 5px;
    display: inline-block;
  }
  #gNavi a {
    white-space: nowrap;
    text-decoration: none;
    display: inline-block;
    padding-top: 0px;
    padding-right: 0px;
    padding-left: 0px;
    padding-bottom: 0px;
    display: block;
    text-align: center;
    /**background-image: url(./img/icon01_2.png);
    background-repeat: no-repeat;
    background-position: right 10px center;**/
    color: #000000;
    font-size: 14px;
  }
}
/*-----スマホ用折り畳みメニュー------*/
@media (min-width: 0px) and (max-width: 735px) {
  #gNavi li img {
    display: none;
  }
  #slide-header {
    height: 60px;
    position: fixed;
    width: 60px;
    z-index: 11;
    right: 0px;
    top: 0px;
    margin-top: 0px;
    display: block;
    margin-right: 0px;
  }
  #slide-header .button {
    width: 60px;
    height: 60px;
    position: relative;
    display: block;
    top: 0px;
  }
  .menu-button-right {
    right: 0px;
  }
  #menu-nav {
    display: table-cell;
    vertical-align: bottom;
    text-align: right;
  }
  #menu-button {
    vertical-align: bottom;
    float: right;
    cursor: pointer;
    background-repeat: no-repeat;
    background-image: url(./img/menu_button.png);
    background-position: center top;
    background-size: 60px;
  }
  #menu-button.selected,
  #menu-button:active {
    opacity: 1;
    background-repeat: no-repeat;
    background-image: url(./img/menu_button-on.png);
    background-position: center top;
    background-size: 60px;
    z-index: 11;
    background-color: #333333;
  }
  #menu-button-inner {
    width: 60px;
    height: 60px;
    z-index: 11;
  }
  #gNavi {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    clear: both;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 5;
    padding-top: 80px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    background-color: rgba(0, 0, 0, 0.5);
    top: 0px;
    box-sizing: border-box;
  }
  #gNavi ul {
    overflow: hidden;
    background-color: #FFF;
    border: 1px solid #333333;
    padding: 10px;
    z-index: 5;
    position: relative;
  }
  #gNavi li {
    border-bottom-width: 1px;
    border-bottom-style: none;
    border-bottom-color: #333;
  }
  #gNavi li span {
    color: #efd0cf;
    font-size: 90%;
  }
  #gNavi li:last-child {
    border-bottom-width: 1px;
    border-bottom-style: none;
    border-bottom-color: #333;
  }
  #gNavi a {
    white-space: nowrap;
    text-decoration: none;
    display: block;
    line-height: 2em;
    height: 2em;
    padding: 5px;
    font-weight: bold;
    background-image: url(./img/icon01_2.png);
    background-repeat: no-repeat;
    background-position: right center;
    color: #333;
    font-size: 0.8em;
  }
}
/*=================================================

footer

==============================*/
#footer-out {
  padding-top: 20px;
  padding-bottom: 20px;
  min-width: 1100px;
  background-color: #eeeeee;
}

footer {
  width: 1100px;
  margin: 0 auto;
  padding: 30px 0 30px 0;
  margin-bottom: 0;
  margin-left: auto;
  color: #333;
  /**color: #ffffff;**/
  text-align: center;
}

@media (min-width: 0px) and (max-width: 735px) {
  #footer-out {
    padding-top: 10px;
    padding-bottom: 10px;
    min-width: inherit;
  }
  footer {
    width: auto;
    margin-top: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: auto;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}
footer .imgbox {
  overflow: hidden;
  margin-bottom: 30px;
}

footer .imgbox img {
  max-width: 100%;
}

footer .imgbox .left {
  float: left;
}

footer .imgbox .right {
  float: right;
}

@media (min-width: 0px) and (max-width: 735px) {
  footer .imgbox {
    overflow: hidden;
    margin-bottom: 30px;
  }
  footer .imgbox img {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
  footer .imgbox .left {
    float: none;
    margin-bottom: 30px;
  }
  footer .imgbox .right {
    float: none;
  }
}
footer ul {
  overflow: hidden;
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  margin-bottom: 30px;
}

footer li {
  padding-left: 5px;
  padding-right: 5px;
  display: inline-block;
}

footer li a {
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
  padding-top: 0px;
  padding-right: 0px;
  padding-left: 0px;
  padding-bottom: 0px;
  display: block;
  text-align: center;
  /**background-image: url(./img/icon01_2.png);
  background-repeat: no-repeat;
  background-position: right 10px center;**/
  color: #000000;
  font-size: 15px;
}

@media (min-width: 0px) and (max-width: 735px) {
  footer ul {
    width: auto;
    margin-bottom: 0px;
    overflow: hidden;
  }
  footer li {
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 5px;
    padding-top: 5px;
    display: block;
    float: left;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  footer li a {
    font-size: 13px;
  }
}
footer .copy {
  text-align: center;
  color: #000000;
  font-size: 14px;
}

footer .copy a {
  color: #000000;
}

@media (min-width: 0px) and (max-width: 735px) {
  footer .copy {
    padding-top: 30px;
    font-size: 12px;
  }
}
/*=================================================

go-top

==============================*/
#go-top {
  position: fixed;
  bottom: 90px;
  right: 0;
  z-index: 11;
}

@media (min-width: 0px) and (max-width: 735px) {
  #go-top {
    position: fixed;
    bottom: 10px;
    right: 0;
    display: none;
  }
}
#go-top a {
  display: block;
  width: 70px;
}

#go-top a:hover {
  text-decoration: none;
}

#go-top span {
  display: block;
  height: 70px;
  width: 60px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition: 0.3s ease-out;
  -moz-transition: 0.3s ease-out;
  background-size: 60px auto;
  background-image: url(./img/gotop.png);
  background-repeat: no-repeat;
  background-position: center center;
}

/*===breadCrumb====*/
#breadCrumb {
  width: 100%;
  min-width: 1100px;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #dedede;
}

#breadCrumb ul {
  width: 1100px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-right: 5px;
  padding-left: 5px;
}

#breadCrumb ul li {
  display: inline;
  padding-right: 5px;
  font-size: 12px;
  color: #001129;
}

#breadCrumb ul li a {
  color: #001129;
}

#breadCrumb ul li a:hover {
  text-decoration: underline;
}

@media (min-width: 0px) and (max-width: 735px) {
  #breadCrumb {
    min-width: inherit;
  }
  #breadCrumb ul {
    width: auto;
    margin: 0 auto;
  }
}
/*=================================================

conteiner

==============================*/
p .imgright {
  float: right;
  width: 40%;
  margin-left: 10px;
  margin-bottom: 10px;
}

p .imgleft {
  float: left;
  width: 40%;
  margin-right: 10px;
  margin-bottom: 10px;
}

p .img100 {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  display: block;
  margin-top: 10px;
}

p .img100_m0 {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

p .img100-l {
  max-width: 100%;
  margin-bottom: 10px;
  display: block;
  margin-top: 10px;
}

p .f-img01 {
  width: 50%;
}

#main p.more {
  text-align: right;
  font-size: 95%;
}

#mainvl {
  background-image: url(./img/mainvl.png);
  background-repeat: no-repeat;
  background-position: center top;
  height: 620px;
  min-width: 1100px;
  z-index: 0;
}

#mainvl img {
  display: none;
}

@media (min-width: 0px) and (max-width: 765px) {
  #mainvl {
    background-image: none;
    height: auto;
    min-width: inherit;
  }
  #mainvl img {
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    z-index: 0;
  }
}
#f-btn {
  position: fixed;
  z-index: 5;
  bottom: 0px;
  width: 650px;
  left: 0;
  right: 0;
  padding-bottom: 0px;
  margin: auto;
  display: none;
  background: rgba(1, 178, 172, 0.7);
}

#f-btn p a {
  overflow: hidden;
  display: block;
}

#f-btn img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

#f-btn ul {
  margin-bottom: 0;
  overflow: hidden;
  text-align: center;
  margin-top: 0px;
  margin-right: auto;
  margin-left: auto;
  z-index: 6;
  position: relative;
}

#f-btn ul li {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  width: 50%;
  padding-right: 5px;
  padding-left: 5px;
  float: left;
}

#f-btn ul li a img:hover {
  opacity: 0.8;
}

@media (min-width: 0px) and (max-width: 735px) {
  #f-btn {
    position: fixed;
    z-index: 5;
    bottom: 0px;
    width: 100%;
    left: 0;
    right: 0;
    margin: auto;
    padding-bottom: 0px;
    padding-top: 0px;
    display: block;
  }
  #f-btn ul {
    padding-top: 0px;
    overflow: hidden;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
  }
  #f-btn ul li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    text-align: center;
    padding: 20px 10px;
    width: 100%;
    float: left;
  }
  /**#f-btn ul li:nth-child(1) {
  	width: 70%;
  	background-color: #de546b;
  }
  #f-btn ul li:nth-child(2) {
  	width: 30%;
  	background-color: #eaeaea;
  }
  #f-btn ul li:nth-child(2) img {
  	width: 39%;
  }**/
}
#main section.links,
#main div.links {
  margin-top: -130px;
  padding-top: 130px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main section.links,
  #main div.links {
    margin-top: -60px;
    padding-top: 60px;
  }
}
#main section.cont {
  min-width: 1100px;
}

#main section.cont.top .s_inner {
  width: 1100px;
  min-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0px;
  padding-left: 0px;
  padding-top: 0px;
  padding-bottom: 20px;
  position: relative;
  z-index: 1;
}

#main section.cont.ttl .s_inner {
  width: 1100px;
  min-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0px;
  padding-left: 0px;
  padding-top: 0px;
  padding-bottom: 30px;
}

#main section .s_inner0 {
  width: 1100px;
  min-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0px;
  padding-left: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
}

#main section .s_inner {
  width: 1100px;
  min-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 50px;
  padding-left: 50px;
  padding-top: 50px;
  padding-bottom: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#main section .s_inner.pt2 {
  padding-bottom: 10px;
}

#main section.faq .s_inner {
  margin-bottom: 70px;
}

#main section .s_inner2 {
  width: 1100px;
  min-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0px;
  padding-left: 0px;
  padding-top: 30px;
  padding-bottom: 30px;
}

#main section .s_inner3 {
  width: 1100px;
  min-width: 1100px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0px;
  padding-left: 0px;
  padding-top: 30px;
  padding-bottom: 30px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main section.cont {
    min-width: inherit;
  }
  #main section.cont.top .s_inner {
    width: auto;
    min-width: inherit;
    padding-right: 10px;
    padding-left: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 0px;
    padding-bottom: 10px;
  }
  #main section.cont.ttl .s_inner {
    width: auto;
    min-width: inherit;
    padding-right: 10px;
    padding-left: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 0px;
    padding-bottom: 20px;
  }
  #main section .s_inner0 {
    width: auto;
    min-width: inherit;
    padding-right: 0px;
    padding-left: 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 0px;
    padding-bottom: 0px;
  }
  #main section .s_inner {
    width: auto;
    min-width: inherit;
    padding-right: 10px;
    padding-left: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  #main section .s_inner.pt2 {
    padding-bottom: 0px;
  }
  #main section .s_inner2 {
    width: auto;
    min-width: inherit;
    padding-right: 0px;
    padding-left: 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  #main section .s_inner3 {
    width: auto;
    min-width: inherit;
    padding-right: 10px;
    padding-left: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  #main section .inner_sp {
    padding: 10px;
  }
}
.bg_01 {
  background: url("./img/bg_01.png") repeat-x top center #1cb3bc;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bg_01 {
    min-width: inherit;
  }
}
.bg_green {
  background-color: #1cb3bc;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bg_green {
    min-width: inherit;
  }
}
.bg_gray {
  background-color: #f6f6f6;
  padding: 30px;
  margin-bottom: 30px;
}

.bg_gray p + p {
  margin-top: 1em;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bg_gray {
    min-width: inherit;
    padding: 10px;
    margin-bottom: 20px;
  }
}
.bg_gray2 {
  background-color: #e6e6e6;
  padding: 30px;
  margin-bottom: 30px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bg_gray2 {
    min-width: inherit;
    padding: 10px;
    margin-bottom: 20px;
  }
}
.bg_beige {
  background-color: #dfdcd0;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bg_beige {
    min-width: inherit;
  }
}
.bg_beige2 {
  background-color: #e0dcd1;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bg_beige2 {
    min-width: inherit;
  }
}
.bg_btn01 {
  background: url("./img/bg_btn01.png") repeat-x center center;
}

.bg_btn01 .s_inner {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bg_btn01 {
    min-width: inherit;
  }
}
.max700 {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

/**ここから**/
/*============================
slick
============================*/
.slider {
  width: 90%;
  margin: 0 auto 0;
}

.thumb {
  margin-bottom: 40px;
  padding-top: 20px;
}

.thumb img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .thumb {
    margin-bottom: 30px;
    padding-top: 10px;
  }
}
.thumb li img {
  cursor: pointer;
}

/*-------横幅の間隔をとる-------*/
.slick-slide {
  margin-right: 0.6vw !important;
  margin-left: 0.6vw !important;
}

@media (min-width: 0px) and (max-width: 735px) {
  .slick-slide {
    margin-right: 1vw !important;
    margin-left: 1vw !important;
  }
}
.slider .slick-slide img {
  width: 100%;
  height: auto;
}

.slider .header_slider,
.case_slider {
  width: 100%;
}

.slider .header_slider .slick-slide {
  margin: 5px;
}

.slider .slider-arrow {
  position: absolute;
  top: 50%;
  height: 56px;
  width: 36px;
  margin-top: -18px;
  color: #fff;
  line-height: 56px !important;
  font-size: 28px;
  cursor: pointer;
  z-index: 1;
  background: #2c2a2b;
  background-color: rgba(0, 0, 0, 0.9);
  border-radius: 15%;
  font-size: 32px !important;
  text-align: center;
  -webkit-box-shadow: 0 0 5px #e0e0e0;
  box-shadow: 0 0 5px #e0e0e0;
}

@media (min-width: 0px) and (max-width: 735px) {
  .slider .slider-arrow {
    position: absolute;
    top: 50%;
    height: 40px;
    width: 25px;
    margin-top: -18px;
    color: #fff;
    line-height: 40px !important;
    cursor: pointer;
    z-index: 1;
    background: #2c2a2b;
    background-color: rgba(0, 0, 0, 0.9);
    border-radius: 15%;
    font-size: 25px !important;
    text-align: center;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    box-shadow: 0 0 5px #e0e0e0;
  }
}
.slider .slider-prev {
  left: 15%;
}

.slider .slider-next {
  right: 15%;
}

@media (min-width: 0px) and (max-width: 735px) {
  .slider .slider-prev {
    left: 2%;
  }
  .slider .slider-next {
    right: 2%;
  }
}
header .slider .slick-prev {
  left: 9%;
  right: auto;
}

header .slider .slick-next {
  right: 9%;
  left: auto;
}

header .slider .slick-prev:before,
.case .slick-prev:before {
  content: "\f104";
}

header .slider .slick-next:before,
.case .slick-next:before {
  content: "\f105";
}

header .slider .slick-prev:before,
header .slick-next:before {
  font-family: FontAwesome;
  color: #333;
}

/*============================
.case
============================*/
#main .case {
  background-color: #ffffff;
  padding-top: 0px;
  padding-bottom: 0px;
  margin-bottom: 30px;
  min-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

#main .case_inner.inner .items {
  /**box-sizing:border-box;
  max-width:300px;
  padding:10px;
  background-color: #FFF;
  border: 1px solid #DADADA;
  display: block;
  margin-right: auto;
  margin-left: auto;
  box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
   -webkit-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);
   -moz-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.3);**/
  padding: 0px 0px;
}

#main .case_inner.inner div h3 {
  color: #002C56;
  text-align: center;
  font-size: 16px;
  margin-top: 10px;
  margin-bottom: 10px;
}

@media (min-width: 736px) and (max-width: 1300px) {
  #main .case_inner.inner div h3 {
    font-size: 10px;
  }
}
#main .case_inner.inner div img {
  display: block;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .case {
    padding-top: 0px;
    padding-bottom: 0px;
    margin-bottom: 10px;
    min-width: inherit;
  }
  #main .case_inner.inner div h3 {
    color: #002C56;
    text-align: center;
    font-size: 19px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  #main .case_inner.inner div img {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}
.case_inner.inner {
  padding: 0;
  max-width: 100%;
}

.case h2 em {
  font-size: 15px;
  letter-spacing: 2px;
  color: #7c7c7c;
  font-weight: bold;
  padding-left: 8px;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .case h2 em {
    display: block;
  }
}
.case h2 span:before,
.case h2 span:after {
  content: "";
  border-bottom: 1px solid #fff;
  width: 80%;
  margin: 0 15px;
  position: absolute;
  bottom: 13px;
}

.case h2 span:before {
  right: 100%;
}

.case h2 span:after {
  left: 100%;
}

.case .case_slider {
  padding: 0px 0;
}

.case .case_slider .slick-slide {
  margin: 0px 0px;
}

.case .case_slider .slick-prev:before,
.case .case_slider .slick-next:before,
.case .mb_case_slider .slick-prev:before,
.case .mb_case_slider .slick-next:before {
  font-family: FontAwesome;
}

.case .case_slider .slick-prev,
.case .case_slider .slick-next {
  -webkit-transform: scale(2.6, 6.1);
  transform: scale(2.6, 6.1);
}

.case .slick-prev {
  left: 24%;
  right: auto;
}

.case .slick-next {
  right: 24%;
  left: auto;
}

/*============================
slick2
============================*/
.slider2 {
  width: 100%;
  margin: 0 auto 0;
}

.slider2 .slick-slide img {
  width: 100%;
  height: auto;
}

.slider2 .header_slider,
.slider2 .case_slider {
  width: 100%;
}

.slider2 .header_slider .slick-slide {
  margin: 5px;
}

.slider2 .slider-arrow {
  position: absolute;
  top: 50%;
  height: 46px;
  width: 46px;
  margin-top: -18px;
  color: #fff;
  line-height: 46px !important;
  cursor: pointer;
  z-index: 1;
  background-color: #686880;
  font-size: 32px !important;
  text-align: center;
  -webkit-box-shadow: 0 0 5px #e0e0e0;
  box-shadow: 0 0 5px #e0e0e0;
}

@media (min-width: 0px) and (max-width: 735px) {
  .slider2 .slider-arrow {
    position: absolute;
    top: 50%;
    height: 36px;
    width: 36px;
    margin-top: -18px;
    color: #fff;
    line-height: 36px !important;
    cursor: pointer;
    z-index: 1;
    background-color: #686880;
    font-size: 25px !important;
    text-align: center;
    -webkit-box-shadow: 0 0 5px #e0e0e0;
    box-shadow: 0 0 5px #e0e0e0;
  }
}
.slider2 .slider-prev {
  left: 35%;
  border-radius: 50%;
}

.slider2 .slider-next {
  right: 35%;
  border-radius: 50%;
}

@media (min-width: 0px) and (max-width: 735px) {
  .slider2 .slider-prev {
    left: 3%;
  }
  .slider2 .slider-next {
    right: 3%;
  }
}
header .slider2 .slick-prev {
  left: 0%;
  right: auto;
}

header .slider2 .slick-next {
  right: 0%;
  left: auto;
}

header .slider2 .slick-prev:before,
.case2 .slider2 .slick-prev:before {
  content: "\f104";
}

header .slider2 .slick-next:before,
.case2 .slider2 .slick-next:before {
  content: "\f105";
}

header .slider2 .slick-prev:before,
header .slick-next:before {
  font-family: FontAwesome;
  color: #333;
}

#main .form {
  padding-bottom: 15px;
  min-width: 650px;
  background-color: #efd0cf;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .form {
    padding-bottom: 15px;
    min-width: inherit;
  }
}
#main table.contact {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 16px;
  margin-right: auto;
  margin-left: auto;
}

#main table.contact tr th {
  text-align: left;
  font-weight: normal;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 350px;
  padding-left: 10px;
  vertical-align: top;
  overflow: hidden;
}

#main table.contact.pt2 tr th {
  text-align: left;
  font-weight: bold;
  padding-top: 20px;
  padding-bottom: 10px;
  width: 100%;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 0px;
  vertical-align: top;
}

#main table.contact tr td {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 10px;
  padding-left: 10px;
}

#main table.contact.pt2 tr td {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 0px;
  padding-left: 0px;
  width: 100%;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#main .contact tr {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #E1E1E1;
}

#main .contact.pt2 tr {
  padding-top: 0px;
  padding-bottom: 0px;
  border-bottom-width: 0px;
  border-bottom-style: none;
  border-bottom-color: #fff;
}

#main .contact tr:last-child {
  border-bottom-width: 1px;
  border-bottom-style: none;
  border-bottom-color: #E1E1E1;
}

#main .contact tr th div {
  /**background-color: #e5e5e5;**/
  padding: 10px;
  background-color: #EAEBEC;
  float: left;
  width: 70%;
}

#main .contact tr th div.noncolor {
  background-color: #fff;
}

#main .contact tr th .pdd {
  padding-top: 40px;
  padding-bottom: 40px;
}

#main .contact tr td ul li {
  padding-top: 5px;
  padding-bottom: 5px;
  margin-bottom: 5px;
  display: inline-block;
}

#main .contact tr td ul li .pt5 {
  font-size: 16px;
  line-height: 40px;
  height: 40px;
  width: 25%;
  border-radius: 5px;
  margin-left: 5px;
  margin-right: 5px;
  border: 1px solid #E1E1E1;
}

#main .contact tr td .pt6 {
  font-size: 16px;
  line-height: 40px;
  height: 40px;
  width: 50%;
  border-radius: 5px;
  margin-left: 5px;
  margin-right: 5px;
  border: 1px solid #E1E1E1;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main table.contact {
    font-size: 14px;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
    table-layout: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
  }
  #main table.contact tr th {
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    padding-top: 20px;
    padding-bottom: 0px;
    vertical-align: top;
    display: block;
    width: auto;
    padding-left: 0px;
  }
  #main table.contact.pt2 tr th {
    font-size: 14px;
    text-align: left;
    font-weight: bold;
    padding-top: 20px;
    padding-bottom: 0px;
    vertical-align: top;
    display: block;
    width: auto;
    padding-left: 0px;
  }
  #main table.contact tr td {
    padding-top: 10px;
    padding-bottom: 10px;
    display: block;
  }
  #main table.contact.pt2 tr td {
    padding-top: 10px;
    padding-bottom: 10px;
    display: block;
    text-align: left;
  }
  #main table.contact.pt3 tr td {
    padding-top: 10px;
    padding-bottom: 10px;
    display: block;
    text-align: center;
  }
  #main .contact tr .l_Cel {
    font-weight: bold;
    border-bottom: solid 1px #999999;
    padding-bottom: 0px;
  }
  #main .contact tr th p.leftth {
    text-align: left;
  }
  #main table.contact tr td input,
  #main table.contact tr td textarea,
  #main table.contact tr td select {
    font-size: 16px;
  }
  #main .contact tr th .pdd {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #main .contact tr td ul li .pt5 {
    font-size: 16px;
    line-height: 40px;
    height: 40px;
    width: 30%;
    border-radius: 5px;
    margin-left: 2px;
    margin-right: 2px;
  }
  #main .contact tr td .pt6 {
    font-size: 16px;
    line-height: 40px;
    height: 40px;
    width: auto;
    border-radius: 5px;
    margin-left: 5px;
    margin-right: 5px;
    border: 1px solid #E1E1E1;
  }
}
#main table.contact tr td input.pt01,
#main table.contact tr td select.pt01 {
  font-size: 16px;
  line-height: 40px;
  height: 40px;
  width: 98%;
  padding-right: 10px;
  padding-left: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #0054a3;
  background-color: #eeeeee;
  /**border-radius: 5px;**/
}

#main table.contact tr td .mwform-zip-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#main table.contact tr td .mwform-zip-field input.pt01 {
  width: auto;
  display: inline-block;
  margin: 0 1%;
}

#main table.contact tr td .mwform-tel-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#main table.contact tr td .mwform-tel-field input.pt01 {
  width: auto;
  display: inline-block;
  margin: 0 1%;
}
#main table.contact tr td .mwform-tel-field input.pt01:first-child {
  margin-left: 0;
}

#main table.contact tr td textarea {
  font-size: 16px;
  min-height: 100px;
  width: 98%;
  padding-right: 10px;
  padding-left: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #0054a3;
  background-color: #eeeeee;
  /**border-radius: 5px;**/
}

#main .fbtn input {
  cursor: pointer;
  border: none;
}

#main .fbtn {
  background-color: #ffffff;
  min-width: 800px;
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .fbtn {
    background-color: #ffffff;
    min-width: inherit;
    padding-right: 10px;
    padding-left: 10px;
  }
}
#main .contact tr th .red {
  color: #FFF;
  background-color: #f190a1;
  margin-left: 10px;
  padding-right: 10px;
  padding-left: 10px;
  display: inline-block;
  float: right;
  line-height: 40px;
  border-radius: 5px;
}

#main .contact.pt2 tr th .red,
#main .hisu {
  color: #FFF;
  background-color: #e24648;
  margin-left: 0px;
  margin-right: 10px;
  padding-right: 10px;
  padding-left: 10px;
  display: inline-block;
  float: none;
  line-height: 40px;
}

#main .contact tr th .nini {
  color: #FFF;
  background-color: #008dca;
  margin-left: 0px;
  margin-right: 10px;
  padding-right: 10px;
  padding-left: 10px;
  display: inline-block;
  float: none;
  line-height: 40px;
}

#main .contact tr td .pd2 {
  padding-top: 10px;
  display: block;
}

#main .porcyBox {
  max-width: 900px;
  display: block;
  margin-right: auto;
  margin-bottom: 20px;
  margin-left: auto;
  padding-top: 20px;
}

#main .scrolBox {
  overflow-y: scroll;
  max-width: 900px;
  max-height: 200px;
  background-color: #FFF;
  padding: 10px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 20px;
  margin-bottom: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 1px #bdbebf;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .scrolBox p {
    font-size: 13px;
  }
}
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
  background-color: #acafb1;
}

::-webkit-scrollbar-thumb {
  background-color: #034d90;
  -webkit-box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

.btn01 {
  color: #0054a3;
  background-color: #ffffff;
  display: block;
  width: 450px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  border: solid 2px #0054a3 !important;
  padding: 15px 25px;
  margin: 0 auto;
  background: url("./img/icon01_3.png") no-repeat right 10px center;
}

@media (min-width: 0px) and (max-width: 735px) {
  .btn01 {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    padding: 10px 5px;
  }
}
.btn01_2 {
  color: #0054a3;
  background-color: #ffffff;
  display: block;
  width: 400px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  border: solid 2px #0054a3 !important;
  padding: 15px 25px;
  margin: 0 auto;
  background: url("./img/icon01_3.png") no-repeat right 10px center;
}

@media (min-width: 0px) and (max-width: 735px) {
  .btn01_2 {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    padding: 10px 5px;
  }
}
#main .btn02 {
  background-color: #0054a3;
  padding: 10px 45px;
  color: #ffffff;
  font-size: 20px;
  cursor: pointer;
  border: none;
  text-align: center;
  margin-bottom: 15px;
  margin-left: 5px;
}

.btn03 {
  color: #1f503e;
  border: solid 1px #1f503e;
  padding-left: 15px;
  padding-right: 30px;
  padding-top: 15px;
  padding-bottom: 15px;
  background: url("./img/icon05.png") right 10px center no-repeat #ffffff;
  display: inline-block;
  text-align: center;
  font-size: 23px;
  font-weight: bold;
  margin: 0 auto;
  width: 400px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .btn03 {
    color: #1f503e;
    border: solid 1px #1f503e;
    padding-left: 10px;
    padding-right: 30px;
    padding-top: 10px;
    padding-bottom: 10px;
    background: url("./img/icon05.png") right 5px center no-repeat #ffffff;
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 23px;
    width: auto;
  }
}
.btn_more {
  color: #ffffff;
  display: inline-block;
  font-size: 17px;
  font-weight: bold;
  padding: 10px 25px;
  border: solid 2px #ffffff;
  position: relative;
}

.btn_more span {
  position: relative;
  /**padding-right: 36px;**/
  display: block;
}

/**.btn_more span:before {
  content: '';
  width: 26px;
  height: 26px;
  background: #ffffff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -13px;
}**/
.btn_more:after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -3px;
}

.btn_more:hover {
  /**text-decoration:none;**/
}

@media (min-width: 0px) and (max-width: 735px) {
  .btn_more {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 17px;
    text-align: center;
    font-weight: bold;
    padding: 10px 5px;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
.btn_page {
  background-color: #ffffff;
  padding: 10px 15px;
  min-width: 250px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #0054a3;
  font-weight: bold;
  border: solid 2px #0054a3;
  margin-left: 5px;
  margin-right: 5px;
  display: inline-block;
  margin-bottom: 10px;
}

.btn_page:after {
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  margin-right: 0px;
  margin-left: 15px;
  font-weight: 900;
}

@media (min-width: 0px) and (max-width: 735px) {
  .btn_page {
    background-color: #ffffff;
    padding: 10px 15px;
    min-width: inherit;
    width: 80%;
    color: #0054a3;
    font-weight: bold;
    border: solid 2px #0054a3;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    margin-bottom: 10px;
  }
}
#main .contact-top {
  background-color: #001129;
  min-width: 1100px;
  padding-bottom: 30px;
}

#main .contact-top h2 {
  text-align: center;
  display: block;
  margin-bottom: 20px;
  padding-top: 30px;
}

#main .contact-top h2 img {
  width: 250px;
}

#main .contact-top .s_inner p {
  text-align: center;
  color: #FFF;
  margin-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .contact-top {
    background-color: #001129;
    min-width: inherit;
  }
  #main .contact-top h2 {
    text-align: center;
    display: block;
    margin-bottom: 20px;
    padding-top: 30px;
  }
  #main .contact-top h2 img {
    width: 200px;
  }
}
#main .t-center {
  text-align: center;
}

#main .t-right {
  text-align: right;
}

#main .t-center_pc {
  text-align: center;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .t-center_pc {
    text-align: left;
  }
}
#main .mb00 {
  margin-bottom: 0px !important;
}

#main .mb05 {
  margin-bottom: 5px;
}

#main .mb10 {
  margin-bottom: 10px;
}

#main .mb15 {
  margin-bottom: 15px;
}

#main .mb20 {
  margin-bottom: 20px;
}

#main .mb30 {
  margin-bottom: 30px;
}

#main .mb40 {
  margin-bottom: 40px;
}

#main .mb50 {
  margin-bottom: 50px;
}

#main .pt10 {
  padding-top: 10px;
}

#main .pt15 {
  padding-top: 15px;
}

#main .pt20 {
  padding-top: 20px;
}

#main .pt30 {
  padding-top: 30px;
}

#main .pl10 {
  padding-left: 10px;
}

#main .pl15 {
  padding-left: 15px;
}

#main .pl20 {
  padding-left: 20px;
}

#main .pl30 {
  padding-left: 30px;
}

#main .pd05 {
  padding: 5px;
}

#main .pd10 {
  padding: 10px;
}

#main .pd15 {
  padding: 15px;
}

#main .pd20 {
  padding: 20px;
}

.smol {
  font-size: 80%;
}

#main .style01 {
  width: 100%;
}

#main .style01 tr th {
  background-color: #EFEFEF;
  text-align: center;
  padding: 15px;
  border-top-width: 1px;
  border-right-width: 5px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: #FFF;
  border-right-color: #FFF;
  border-bottom-color: #FFF;
  border-left-color: #FFF;
  font-weight: normal;
  vertical-align: middle;
  width: 300px;
}

#main .style01 tr td {
  padding: 15px;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-top-color: #EFEFEF;
  border-bottom-color: #EFEFEF;
}

#main .style02 {
  width: 100%;
}

#main .style02 tr th {
  background-color: #002C56;
  color: #FFF;
  text-align: center;
  padding: 15px;
  border-top-width: 1px;
  border-right-width: 5px;
  border-bottom-width: 1px;
  border-left-width: 1px;
  border-top-style: solid;
  border-right-style: solid;
  border-bottom-style: solid;
  border-left-style: solid;
  border-top-color: #FFF;
  border-right-color: #FFF;
  border-bottom-color: #FFF;
  border-left-color: #FFF;
  font-weight: bold;
  vertical-align: middle;
  width: 300px;
}

#main .style02 tr td {
  padding: 15px;
  border-top-width: 1px;
  border-bottom-width: 1px;
  border-top-style: solid;
  border-bottom-style: solid;
  border-top-color: #EFEFEF;
  border-bottom-color: #EFEFEF;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .style01 tr th {
    padding: 10px;
    width: auto;
    min-width: 100px;
  }
  #main .style01 tr td {
    padding: 10px;
  }
  #main .style02 tr th {
    padding: 10px;
    width: auto;
    min-width: 100px;
  }
  #main .style02 tr td {
    padding: 10px;
  }
}
/**pagination　一覧ページ仕様ここから**/
.pagenation {
  padding: 10px;
  margin-bottom: 10px;
  text-align: center;
  margin-top: 5px;
  width: auto;
}

.pagination h2 {
  display: none;
}

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

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

.pagenation ul {
  margin: 0;
}

.pagenation a,
.pagenation span {
  list-style: none outside none;
  margin-left: 3px;
  display: inline-block;
}

.pagenation a:first-child,
.pagenation span:first-child {
  margin-left: 0px;
}

.pagenation a,
.pagenation span {
  background: #fff;
  border-radius: 3px;
  color: #0054a4;
  padding: 2px 10px;
  text-decoration: none;
  border: solid 1px #e9e9e9;
}

.pagenation span {
  background-color: #0054a4;
  border-radius: 3px;
  color: #FFFFFF;
  cursor: not-allowed;
  padding: 2px 10px;
  border: solid 1px #e9e9e9;
  display: inline;
}

@media only screen and (min-width: 0px) and (max-width: 735px) {
  .pagenation span.active {
    background-color: #0054a4;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 2px 10px;
    border: solid 1px #e9e9e9;
    display: inline-blok;
  }
}
.pagenation a:hover {
  background-color: #0054a4;
  color: #fff;
  opacity: 0.8;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}

/**pagination　一覧ページ仕様ここまで**/
.ttl_from {
  background: url("./img/ttl_from.png") center top no-repeat;
  height: 100px;
  margin-bottom: 30px;
}

.ttl_from img {
  display: none;
}

@media (min-width: 0px) and (max-width: 735px) {
  .ttl_from {
    background: none;
    height: inherit;
    margin-bottom: 20px;
  }
  .ttl_from img {
    display: block;
    max-width: 100%;
  }
}
.ttl01 {
  text-align: center;
  font-size: 35px;
  font-weight: bold;
  margin-bottom: 40px;
  padding-top: 50px;
  position: relative;
}

.ttl01.top0 {
  padding-top: 0px;
}

.ttl01 span {
  display: inline-block;
}

.ttl01::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;
  border-bottom: solid 5px #0054a3;
  width: 100px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .ttl01 {
    text-align: center;
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 30px;
    padding-top: 30px;
  }
  .ttl01.top0 {
    padding-top: 0px;
  }
  .ttl01 span {
    display: inline-block;
  }
  .ttl01::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    border-bottom: solid 5px #0054a3;
    width: 100px;
  }
}
.ttl02 {
  /**font-size: 15px;**/
  font-weight: bold;
  padding: 10px 20px;
  background-color: #0054a3;
  color: #ffffff;
  margin-bottom: 10px;
}

.ttl02.faq {
  background: url("./img/faq_q.png") left 20px top 10px no-repeat #0054a3;
  padding-left: 45px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .ttl02 {
    /**font-size: 15px;**/
    font-weight: bold;
    padding: 10px 10px;
    background-color: #0054a3;
    color: #ffffff;
  }
  .ttl02.faq {
    background: url("./img/faq_q.png") left 10px top 10px no-repeat #0054a3;
    padding-left: 35px;
  }
}
.ttlsub01 {
  font-size: 15px;
  font-weight: bold;
  padding: 10px 10px;
  background-color: #c8dcf1;
  color: #000000;
}

@media (min-width: 0px) and (max-width: 735px) {
  .ttlsub01 {
    font-size: 14px;
    padding: 10px 10px;
  }
}
.ttlsub02 {
  max-width: 250px;
  background-color: #e2dfdf;
  margin-bottom: 15px;
  margin-top: 15px;
}

.ttlsub02 span.left {
  font-size: 15px;
  font-weight: bold;
  display: inline-block;
  padding: 10px 10px;
  background-color: #0054a3;
  color: #ffffff;
}

.ttlsub02 span.right {
  font-size: 15px;
  font-weight: bold;
  display: inline-block;
  padding: 10px 10px;
  background-color: #e2dfdf;
  color: #000000;
}

@media (min-width: 0px) and (max-width: 735px) {
  .ttlsub02 {
    font-size: 14px;
    padding: 10px 10px;
  }
}
.ttlsub03 {
  margin-bottom: 5px;
  margin-top: 5px;
  border-left: solid 1px #0054a3;
  padding-left: 10px;
}

.ttlsub03_2 {
  margin-bottom: 5px;
  margin-top: 25px;
  border-left: solid 4px #0054a3;
  padding-left: 10px;
  font-size: 19px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .ttlsub03_2 {
    font-size: 18px;
    border-left: solid 3px #0054a3;
  }
}
.ttlsub04 {
  position: relative;
  text-align: center;
  z-index: 1;
  font-weight: bold;
  margin-bottom: 20px;
  margin-top: 0px;
}

.ttlsub04 span {
  position: relative;
  z-index: 1;
  background-color: #e6e6e6;
  display: inline-block;
  padding: 0px 10px;
}

.ttlsub04::after {
  position: absolute;
  content: "";
  top: calc(50% - 1.5px);
  /*上下中央にする*/
  left: 0;
  right: 0;
  display: inline-block;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  height: 1px;
  border-top: 1px solid #000000;
  z-index: 0;
}

@media (min-width: 0px) and (max-width: 735px) {
  .ttlsub04 {
    margin-bottom: 10px;
    margin-top: 10px;
  }
}
#main .concept {
  margin-bottom: 0px;
  padding-top: 20px;
  min-width: 650px;
  background-image: url(./img/bg_concept.png);
  background-color: #fff;
  background-position: center top;
  background-repeat: no-repeat;
  padding-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .concept {
    margin-bottom: 0px;
    padding-top: 10px;
    min-width: inherit;
    background-image: url(./img/bg_concept_sp.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    padding-left: 8%;
  }
}
.conceptBox {
  background-color: rgba(255, 255, 255, 0.9);
  padding: 30px;
  margin-left: 50px;
  width: 800px;
  margin-bottom: 40px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.conceptBox h2 {
  color: #dd546b;
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 20px;
}

.conceptBox p {
  font-weight: bold;
  font-size: 16px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .conceptBox {
    background-color: rgba(255, 255, 255, 0.9);
    padding: 10px;
    margin-left: 0px;
    width: 100%;
    margin-bottom: 0px;
  }
  .conceptBox h2 {
    color: #dd546b;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
  }
  .conceptBox p {
    font-weight: bold;
    font-size: 13px;
  }
}
#main .price {
  margin-bottom: 0px;
  padding-top: 20px;
  min-width: 650px;
  background-image: url(./img/bg_price.png);
  background-color: #fff;
  background-position: center top;
  background-repeat: repeat;
  padding-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .price {
    margin-bottom: 0px;
    padding-top: 20px;
    min-width: inherit;
    background-image: url(./img/bg_price.png);
    background-position: center top;
    background-repeat: repeat;
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
  }
}
.priceBox {
  padding: 20px;
  background-color: #fdf9f9;
}

@media (min-width: 0px) and (max-width: 735px) {
  .priceBox {
    padding: 10px;
    background-color: #fdf9f9;
  }
}
.priceBox .head {
  margin-bottom: 30px;
  background-color: #dd546b;
  padding: 5px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.priceBox .head .left {
  color: #ffffff;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  padding: 10px;
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.priceBox .head .right {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  background-color: #ffffff;
  padding: 10px;
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.priceBox .head div span {
  text-decoration-line: line-through;
  text-decoration-color: #dd546b;
}

@media (min-width: 0px) and (max-width: 735px) {
  .priceBox .head {
    margin-bottom: 20px;
    background-color: #dd546b;
    padding: 5px;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .priceBox .head .left {
    color: #ffffff;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding: 10px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .priceBox .head .right {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    background-color: #ffffff;
    padding: 10px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}
.priceBox .pricettl {
  background-color: #dd546b;
  color: #ffffff;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  padding: 10px;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .priceBox .pricettl {
    background-color: #dd546b;
    color: #ffffff;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    padding: 10px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 20px;
  }
}
.priceBox .pran {
  margin-bottom: 30px;
  border-bottom: solid 1px #707070;
  border-top: solid 1px #707070;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.priceBox .pran .left {
  text-align: left;
  font-size: 30px;
  font-weight: bold;
  padding-top: 10px;
  padding-right: 10px;
  padding-left: 30px;
  padding-bottom: 10px;
  width: 70%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.priceBox .pran .right {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  background-color: #f8dee2;
  padding: 10px;
  width: 30%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.priceBox .pran div .line {
  text-decoration-line: line-through;
  text-decoration-color: #dd546b;
}

.priceBox .pran div.pd {
  padding-top: 30px;
}

.priceBox .pran div.pd2 {
  padding-top: 50px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .priceBox .pran {
    margin-bottom: 20px;
    border-bottom: solid 1px #707070;
    border-top: solid 1px #707070;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 10px;
  }
  .priceBox .pran .left {
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    padding: 10px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .priceBox .pran .right {
    text-align: center;
    font-size: 21px;
    font-weight: bold;
    background-color: #f8dee2;
    padding: 10px;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .priceBox .pran div.pd {
    padding-top: 5px;
  }
  .priceBox .pran div.pd2 {
    padding-top: 5px;
  }
}
.priceBox .flex3_2 {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.priceBox .flex3_2 li {
  width: 33.33333%;
  padding: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: bold;
  font-size: 25px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .priceBox .flex3_2 {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  .priceBox .flex3_2 li {
    width: 50%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 14px;
  }
}
.priceBox .txt01 {
  font-size: 20px;
  padding-left: 20px;
  padding-right: 20px;
  font-weight: bold;
}

.priceBox .txt02 {
  font-size: 24px;
  margin-left: 20px;
  font-weight: bold;
}

.priceBox .txt_catch {
  font-size: 28px;
  font-weight: bold;
}

.priceBox .txt_catch-sub {
  font-size: 24px;
  font-weight: bold;
}

@media (min-width: 0px) and (max-width: 735px) {
  .priceBox .txt01 {
    font-size: 12px;
    padding-left: 0px;
    padding-right: 0px;
  }
  .priceBox .txt02 {
    font-size: 13px;
    margin-left: 0px;
  }
  .priceBox .txt_catch {
    font-size: 16px;
  }
  .priceBox .txt_catch-sub {
    font-size: 14px;
  }
}
#main .acc {
  margin-bottom: 0px;
  padding-top: 20px;
  min-width: 650px;
  background-color: #e5e5e5;
  padding-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .acc {
    margin-bottom: 0px;
    padding-top: 20px;
    min-width: inherit;
    background-color: #e5e5e5;
    padding-bottom: 20px;
  }
}
.flex01 {
  /**overflow: hidden;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:distribute;
  justify-content:space-around;
  flex-wrap: wrap;**/
  overflow: hidden;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: -webkit-box;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex01 li {
  width: 45%;
  margin-bottom: 30px;
}

.flex01 li div:nth-child(1) {
  height: 180px;
}

.flex01 li div p {
  font-weight: bold;
  padding-left: 10px;
  font-size: 16px;
}

.flex01 li div iframe {
  width: 100%;
}

@media (min-width: 0px) and (max-width: 735px) {
  .flex01 li {
    width: 100%;
    margin-bottom: 10px;
  }
  .flex01 li div:nth-child(1) {
    height: inherit;
    margin-bottom: 15px;
  }
  .flex01 li div:nth-child(2) {
    margin-bottom: 15px;
  }
  .flex01 li div p {
    font-weight: bold;
    padding-left: 10px;
    font-size: 14px;
  }
}
.flex2_2 {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 30px;
}

.flex2_2 li {
  width: 46%;
  margin-bottom: 60px;
}

.flex2_2 li img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 0px) and (max-width: 735px) {
  .flex2_2 li {
    width: 46%;
    margin-bottom: 20px;
  }
}
.flex3_1 {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 30px;
  margin-bottom: 40px;
}

.flex3_1 li {
  width: 95%;
  margin-bottom: 30px;
}

.flex3_1 li div {
  background-color: #ffffff;
  border-radius: 10px;
  padding: 15px;
}

.flex3_1 li img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .flex3_1 li {
    width: 100%;
  }
}
.flex3_1b {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 30px;
  margin-bottom: 10px;
}

.flex3_1b li {
  width: 95%;
  margin-bottom: 5px;
}

.flex3_1b li div {
  background-color: #fadce2;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 15px;
}

.flex3_1b li div p {
  font-weight: bold;
  margin-bottom: 10px;
}

.flex3_1b li img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 5px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .flex3_1b li {
    width: 100%;
  }
}
.formBox {
  width: 320px;
  margin: 30px auto;
}

@media (min-width: 0px) and (max-width: 735px) {
  .formBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 25px;
    padding-right: 25px;
  }
}
.formBox input,
.formBox textarea {
  border: none;
}

.formBox p {
  font-size: 17px;
  font-weight: bold;
}

.formBox .submit_btn {
  background-color: #de546c;
  padding: 10px 45px;
  border-radius: 25px;
  color: #ffffff;
  font-size: 20px;
  cursor: pointer;
}

@media (min-width: 0px) and (max-width: 735px) {
  .formBox {
    width: 100%;
    margin: 30px auto;
  }
  .formBox p {
    font-size: 16px;
    font-weight: bold;
  }
}
#main .emsArea {
  margin-bottom: 0px;
  padding-top: 20px;
  min-width: 650px;
  background-color: #ffefee;
  padding-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .emsArea {
    margin-bottom: 0px;
    padding-top: 20px;
    min-width: inherit;
    background-color: #ffefee;
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
  }
}
#main .txtBox {
  background-color: #ffffff;
  padding: 10px;
  /**font-weight: bold;**/
  border-bottom: solid 1px #929292;
  margin-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .txtBox {
    background-color: #ffffff;
    padding: 10px;
    margin-bottom: 15px;
  }
}
#main .emsItems {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 30px;
}

#main .emsItems li {
  width: 30%;
  margin-bottom: 35px;
}

#main .emsItems li h3 {
  font-weight: bold;
  font-size: 27px;
  text-align: center;
}

#main .emsItems li img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .emsItems {
    padding-top: 20px;
  }
  #main .emsItems li {
    width: 45%;
    margin-bottom: 30px;
  }
  #main .emsItems li h3 {
    font-weight: bold;
    font-size: 18px;
    text-align: center;
  }
}
/**tableスタイル***/
/**tableをスクロールさせる divにclass="scrolltb"**/
.scrolltb {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .scrolltb {
    overflow: auto;
    /*tableをスクロールさせる*/
    white-space: nowrap;
    /*tableのセル内にある文字の折り返しを禁止*/
    margin-bottom: 20px;
  }
  .scrolltb:before {
    content: "※右にスクロールして見れます";
    font-size: 13px;
    line-height: 16px;
  }
  .scrolltb table {
    font-size: 13px;
    width: 650px;
  }
}
#main .tb01 {
  width: 100%;
}

#main .tb01 tr {
  border-bottom: solid 1px #a3a3a3;
}

#main .tb01 tr:last-child {
  border-bottom: none;
}

#main .tb01 th {
  width: 140px;
  padding: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  vertical-align: top;
}

#main .tb01 td {
  padding: 15px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .tb01 th {
    width: 100px;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    vertical-align: top;
  }
  #main .tb01 td {
    padding: 5px;
  }
}
#main .tb02 {
  width: 100%;
  border-top: solid 1px #c8c8c8;
}

#main .tb02 tr {
  border-bottom: solid 1px #c8c8c8;
}

#main .tb02 th {
  width: 140px;
  padding: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  vertical-align: top;
  background-color: #c8dcf1;
}

#main .tb02 td {
  padding: 15px;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .tb02 th {
    width: 100px;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    vertical-align: top;
  }
  #main .tb02 td {
    padding: 5px;
  }
}
#main .tb03 {
  width: 100%;
  font-size: 13px;
}

#main hr.tb03_line {
  border-bottom: solid 1px #c8c8c8;
  border-top: none;
  border-left: none;
  border-right: none;
  margin-bottom: 20px;
}

#main .tb03 tr {
  border-bottom: solid 1px #ffffff;
  border-top: solid 5px #ffffff;
}

#main .tb03 th {
  padding: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  vertical-align: top;
  background-color: #cce8f4;
  border-right: solid 1px #ffffff;
  border-left: solid 1px #ffffff;
}

#main .tb03 td {
  padding: 10px;
  text-align: center;
  border-right: solid 1px #bcbcbc;
}

#main .tb03 td:last-child {
  border-right: none;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .tb03 th {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    vertical-align: top;
  }
  #main .tb03 td {
    padding: 5px;
  }
}
#main .tb04 {
  width: 100%;
}

#main .tb04 th {
  width: 200px;
  padding: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  background-color: #cce8f4;
  border-top: solid 1px #c8c8c8;
  border-bottom: solid 1px #c8c8c8;
}

#main .tb04 td {
  padding: 15px;
  border-top: solid 1px #c8c8c8;
  border-bottom: solid 1px #c8c8c8;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .tb04 th {
    width: 100px;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    vertical-align: top;
  }
  #main .tb04 td {
    padding: 5px;
  }
}
#main .tb_news {
  width: 100%;
  margin-bottom: 30px;
}

#main .tb_news tr {
  border-bottom: solid 1px #a3a3a3;
}

#main .tb_news th {
  padding: 15px 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: left;
  vertical-align: middle;
  width: 270px;
}

#main .tb_news td {
  padding: 15px 10px;
  vertical-align: middle;
}

#main .tb_news .cate01 {
  padding: 10px 20px;
  background-color: #0054a3;
  color: #ffffff;
  margin-left: 20px;
  display: inline-block;
  width: 5.4em;
  text-align: center;
}

#main .tb_news td a {
  color: #000000;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .tb_news th {
    display: block;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    vertical-align: top;
    width: 100%;
  }
  #main .tb_news td {
    padding: 5px;
    display: block;
  }
  #main .tb_news .cate01 {
    padding: 5px 15px;
    background-color: #0054a3;
    color: #ffffff;
    margin-left: 20px;
  }
}
/**faq**/
.mg_box {
  margin-top: -70px;
}

.ttl_red {
  background-color: #b81c22;
  color: #ffffff;
  text-align: center;
  font-size: 24px;
  width: 80%;
  border-radius: 10px;
  padding: 15px 5px;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
}

.ttl_green {
  background-color: #ecf4d9;
  text-align: center;
  font-size: 24px;
  width: 80%;
  border-radius: 20px;
  padding: 15px 5px;
  margin-left: auto;
  margin-right: auto;
  font-weight: bold;
  border: solid 1px #8fc31f;
}

.ttl_red2 {
  background-color: #ffffff;
  text-align: center;
  font-size: 24px;
  width: 80%;
  border-radius: 20px;
  padding: 15px 5px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  font-weight: bold;
  border: solid 1px #b81c22;
}

.ttl_red3 {
  background-color: #ffffff;
  text-align: center;
  font-size: 24px;
  width: 80%;
  border-radius: 20px;
  padding: 15px 5px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  font-weight: bold;
  border: solid 1px #b81c22;
  color: #b81c22;
}

.txtBorder {
  background-color: #ffffff;
  padding: 10px;
  border-radius: 30px;
  text-align: center;
  font-weight: bold;
  font-size: 21px;
  color: #b81c22;
  border: solid 1px #b81c22;
}

.txt_line {
  text-decoration: underline;
}

.faqArea {
  padding: 1px 15px 15px 15px;
  background: url("./img/bg_item01.png") center bottom no-repeat;
  background-size: 95% auto;
  margin-bottom: 20px;
}

.faqArea h3 {
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 40px;
  margin-bottom: 15px;
  border: solid 1px #8fc31f;
  position: relative;
  padding: 20px;
  border-radius: 15px;
  font-weight: bold;
}

.faqArea h3 img {
  position: absolute;
  top: -30px;
  left: -30px;
  width: 60px;
}

.faqArea p {
  margin-left: 20px;
  margin-right: 20px;
  margin-bottom: 20px;
}

.maps {
  width: 100%;
  margin-bottom: 30px;
}

.maps2 {
  width: 100%;
  margin-bottom: 0px;
}

/* video */
.video {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 30px;
}

.video.mb0 {
  margin-bottom: 0px;
  padding-top: 20px;
}

.video video {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  /* video */
  .video {
    max-width: 715px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    padding-top: 40px;
  }
  .video.mb0 {
    margin-bottom: 0px;
    padding-top: 20px;
  }
}
.form_box {
  color: #000;
  width: 520px;
  margin: 0 auto;
  line-height: 25px;
  padding-top: 30px;
}

.submit_btn {
  border: 0px;
  width: 405px;
  height: 94px;
  background: url(./img/submit.png) left top no-repeat;
  background-size: 100% auto;
  cursor: pointer;
}

@media (min-width: 0px) and (max-width: 735px) {
  .form_box {
    width: 100%;
    line-height: 25px;
  }
  .submit_btn {
    border: 0px;
    width: 250px;
    height: 58px;
    background: url(./img/submit.png) left top no-repeat;
    background-size: 100% auto;
  }
}
.form_box input,
.form_box textarea {
  border: none;
}

/*****/
.ttlImg {
  padding-top: 30px;
  margin-bottom: 10px;
}

.ttlImg img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

.flex2 {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 0px;
}

.flex2 > li,
.flex2 > div {
  width: 49%;
}

.flex2_1 {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-top: 10px;
}

.flex2_1 > li,
.flex2_1 > div {
  width: 48%;
}

.flex2_1 > li img,
.flex2_1 > div img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .flex2_1 > li,
  .flex2_1 > div {
    width: 100%;
  }
  .flex2_1 > li:first-child,
  .flex2_1 > div:first-child {
    margin-bottom: 20px;
  }
}
.flex2_1a {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
}

.flex2_1a > li,
.flex2_1a > div {
  width: 49%;
  margin-bottom: 20px;
}

.flex2_1a > li img,
.flex2_1a > div img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .flex2_1a > li,
  .flex2_1a > div {
    width: 100%;
    margin-bottom: 10px;
  }
  .flex2_1a > li:first-child,
  .flex2_1a > div:first-child {
    margin-bottom: 20px;
  }
}
.flex2_1b {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 10px;
}

.flex2_1b li {
  width: 49%;
}

.flex2_1b li img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .flex2_1b li {
    width: 100%;
  }
  .flex2_1b li:first-child {
    margin-bottom: 20px;
  }
}
.float2_1 {
  overflow: hidden;
  margin-bottom: 30px;
  padding-top: 20px;
}

.float2_1 li.left {
  float: left;
  width: 780px;
}

.float2_1 li.right {
  float: right;
  width: 200px;
}

.float2_1 li img {
  max-width: 100%;
  display: block;
  margin-top: 0;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .float2_1 {
    margin-bottom: 20px;
    padding-top: 10px;
  }
  .float2_1 li.left {
    float: none;
    width: 100%;
  }
  .float2_1 li.right {
    float: none;
    width: 100%;
    margin-bottom: 10px;
  }
}
.number {
  padding-left: 30px;
  padding-top: 10px;
  margin-bottom: 20px;
}

.number li {
  /**font-size: 13px;**/
  margin-bottom: 5px;
  list-style-type: decimal !important;
}

.inner_list {
  padding-left: 30px;
  padding-top: 5px;
  margin-bottom: 20px;
}

.inner_list li {
  list-style-type: none !important;
  counter-increment: cnt;
}

.inner_list li::before {
  content: "(" counter(cnt) ") ";
  display: inline-block;
  margin-left: -30px;
  width: 30px;
}

/**ここから**/
.showroom {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
}

.showroom li {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-bottom: dashed 1px #000000;
  padding: 20px 25px;
}

.showroom li .left {
  width: 200px;
}

.showroom li .left img {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}

.showroom li .right {
  width: 540px;
}

.showroom li .right h3 {
  font-size: 23px;
  font-weight: bold;
}

.showroom li .right p {
  padding-left: 23px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .showroom {
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .showroom li {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    border-bottom: dashed 1px #000000;
    padding: 10px 10px;
  }
  .showroom li .left {
    width: 25%;
  }
  .showroom li .left img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
  }
  .showroom li .right {
    width: 74%;
  }
  .showroom li .right h3 {
    font-size: 18px;
    font-weight: bold;
  }
  .showroom li .right p {
    padding-left: 18px;
    font-size: 13px;
  }
}
.faq {
  padding-left: 10px;
  padding-right: 10px;
}

.faq .accordion {
  margin-bottom: 20px;
  padding-top: 20px;
  border-bottom: solid 2px #7d7d7d;
}

.faq .accordion h3 {
  background-image: url(./img/faq_q.png);
  background-repeat: no-repeat;
  background-position: 10px center;
  padding-top: 20px;
  padding-right: 10px;
  padding-bottom: 20px;
  padding-left: 60px;
  font-size: 18px;
  font-weight: bold;
  border-top: solid 2px #7d7d7d;
}

.faq .accordion h3 span {
  background-image: url(./img/accordion_off.png);
  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 50px;
  display: block;
  min-height: 30px;
  cursor: pointer;
}

.faq .accordion h3 span.open {
  background-image: url(./img/accordion_on.png);
}

.faq .accordion .box2 {
  background-image: url(./img/faq_a.png);
  background-repeat: no-repeat;
  background-position: 10px 20px;
  font-size: 18px;
  padding-top: 20px;
  padding-right: 10px;
  padding-bottom: 20px;
  padding-left: 60px;
  color: #000;
  background-color: #eeeeee;
}

@media (min-width: 0px) and (max-width: 735px) {
  .faq .accordion h3 {
    background-image: url(./img/faq_q.png);
    background-repeat: no-repeat;
    background-position: 10px center;
    background-size: 22px auto;
    padding-top: 20px;
    padding-right: 10px;
    padding-bottom: 20px;
    padding-left: 35px;
    font-size: 13px;
  }
  .faq .accordion h3 span {
    background-image: url(./img/accordion_off.png);
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 40px;
    display: block;
    background-size: 30px auto;
    min-height: 15px;
    cursor: pointer;
  }
  .faq .accordion .box2 {
    background-image: url(./img/faq_a.png);
    background-repeat: no-repeat;
    background-position: 10px 20px;
    background-size: 22px auto;
    font-size: 15px;
    padding-top: 20px;
    padding-right: 10px;
    padding-bottom: 20px;
    padding-left: 35px;
    color: #000;
  }
}
.td01 {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
  margin-top: 50px;
}

.td01 tr {
  border-bottom: dashed 1px #000000;
}

.td01 th {
  padding-left: 150px;
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: left;
  font-weight: bold;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.td01 td {
  padding-left: 15px;
  padding-top: 15px;
  padding-bottom: 15px;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media (min-width: 0px) and (max-width: 735px) {
  .td01 {
    width: 100%;
    max-width: inherit;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    margin-top: 30px;
    font-size: 14px;
  }
  .td01 th {
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: left;
    font-weight: bold;
    width: 40%;
  }
  .td01 td {
    padding-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: middle;
  }
}
.bannerTel {
  width: 370px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  border: solid 4px #cbcbcb;
  padding: 10px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.bannerTel p {
  font-size: 17px;
  font-weight: bold;
}

.bannerTel a {
  font-size: 30px;
  font-weight: bold;
  color: #000000;
}

@media (min-width: 0px) and (max-width: 735px) {
  .bannerTel {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    border: solid 3px #cbcbcb;
    padding: 7px;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .bannerTel p {
    font-size: 17px;
    font-weight: bold;
  }
  .bannerTel a {
    font-size: 30px;
    font-weight: bold;
    color: #000000;
  }
}
.product_cont .accordion2 {
  padding-top: 30px;
  margin-bottom: 30px;
}

.product_cont .accordion2 h3 {
  background-color: #ffffff;
  display: block;
  width: 750px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  border-radius: 10px;
  padding: 15px 5px;
  margin: 0 auto;
  border: solid 1px #000000;
}

.product_cont .accordion2 h3 span {
  position: relative;
  /**padding-right: 36px;**/
  display: block;
  cursor: pointer;
}

.product_cont .accordion2 h3 span:before {
  content: "";
  width: 26px;
  height: 26px;
  background: #ffffff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -13px;
}

.product_cont .accordion2 h3 span:after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: 3px solid #2c2a2b;
  border-right: 3px solid #2c2a2b;
  -webkit-transform: translateY(-25%) rotate(135deg);
  transform: translateY(-25%) rotate(135deg);
  position: absolute;
  top: 50%;
  right: 24px;
  margin-top: -3px;
}

.product_cont .accordion2 h3 span.open:after {
  -webkit-transform: translateY(25%) rotate(-45deg);
  transform: translateY(25%) rotate(-45deg);
}

.product_cont .accordion2 h3:hover {
  text-decoration: none;
}

@media (min-width: 0px) and (max-width: 735px) {
  .product_cont .accordion2 {
    padding-top: 5px;
    margin-bottom: 20px;
  }
  .product_cont .accordion2 h3 {
    display: block;
    width: 95%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 15px;
    text-align: center;
    font-weight: bold;
    padding: 10px 5px;
    border-radius: 10px;
  }
}
.product_cont .accordion2 .box2 {
  padding-bottom: 50px;
  padding-top: 30px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .product_cont .accordion2 .box2 {
    padding-bottom: 30px;
    padding-top: 20px;
    padding-left: 0px;
    padding-right: 0px;
  }
}
.pdfLink {
  background: url("./img/icon_pdf.png") no-repeat left center;
  padding-left: 70px;
  line-height: 47px;
  color: #e30000;
  font-size: 19px;
  display: block;
  font-weight: bold;
  margin-bottom: 20px;
}

/****/
/* kv */
.kv {
  height: 100vh;
  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;
  margin-bottom: -180px;
}

.kv .catch-copy img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.kv .main-copy {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.2em;
}

.kv .sub-copy {
  color: #fff;
  font-size: 20px;
  text-align: center;
}

/* video */
.video1 {
  width: 100%;
  height: 100vh;
  background: url(./img/kv_video_image.png) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}

/****/
.video1::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.3;
}

.video1 video {
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

@media screen and (min-width: 768px) {
  /* kv */
  .kv {
    min-width: 960px;
  }
  .kv .main-copy {
    font-size: 60px;
  }
  .kv .sub-copy {
    font-size: 30px;
  }
  /* video */
  .video1 {
    min-width: 960px;
  }
}
#main .movBox {
  width: 100%;
  margin-top: 20px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 20px;
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

#main .movBox .mov {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

#main .movBox .mov iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media (min-width: 0px) and (max-width: 765px) {
  #main .movBox {
    width: 90%;
    margin-top: 20px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
  }
}
/**20240925**/
.bana01 {
  background: url("./img/bana_bg01.png") no-repeat center center;
  background-size: cover;
  padding: 15px;
  margin-bottom: 30px;
}

.bana01 .inner_bana {
  border: solid 5px #0054a3;
  background-color: rgba(0, 0, 0, 0.3);
}

.bana01 .banattl01 {
  color: #ffffff;
  background-color: rgba(0, 84, 163, 0.8);
  padding: 10px 20px;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  margin-top: 50px;
  margin-bottom: 20px;
}

.bana01 .banattl01 span {
  border-left: solid 5px #ffffff;
  padding: 0px 10px;
}

.bana01 ul {
  overflow: hidden;
  margin-bottom: 30px;
}

.bana01 ul .left {
  float: left;
  width: 700px;
}

.bana01 ul .left p {
  color: #ffffff;
  font-size: 17px;
  font-weight: bold;
  padding-left: 30px;
}

.bana01 ul .right {
  float: right;
  width: 200px;
  padding-top: 20px;
}

@media (min-width: 0px) and (max-width: 765px) {
  .bana01 {
    background: url("./img/bana_bg01.png") no-repeat center center;
    background-size: cover;
    padding: 10px;
    margin-bottom: 20px;
  }
  .bana01 .inner_bana {
    border: solid 3px #0054a3;
  }
  .bana01 .banattl01 {
    padding: 10px 0px 10px 10px;
    font-size: 15px;
    font-weight: bold;
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 20px;
  }
  .bana01 .banattl01 span {
    border-left: solid 2px #ffffff;
    padding: 0px 10px;
  }
  .bana01 ul {
    overflow: hidden;
    margin-bottom: 30px;
  }
  .bana01 ul .left {
    float: none;
    width: auto;
  }
  .bana01 ul .left p {
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    padding-left: 10px;
  }
  .bana01 ul .right {
    float: none;
    width: auto;
    padding-top: 20px;
  }
}
.flex_btn2_1 {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex_btn2_1 li {
  width: 480px;
  margin-bottom: 30px;
}

.flex_btn2_1.pt2 li {
  width: 310px;
}

@media (min-width: 0px) and (max-width: 765px) {
  .flex_btn2_1 li {
    width: 100%;
    margin-bottom: 20px;
  }
  .flex_btn2_1.pt2 li {
    width: 100%;
  }
}
.bana02 {
  margin-bottom: 0px;
}

.bana02.no2 {
  background: url("./img/bana_bg02.png") no-repeat center center;
  background-size: cover;
}

.bana02.no3 {
  background: url("./img/bana_bg03.png") no-repeat center center;
  background-size: cover;
}

.bana02.no4 {
  background: url("./img/bana_bg04.png") no-repeat center center;
  background-size: cover;
}

.bana02.no5 {
  background: url("./img/bana_bg05.png") no-repeat center center;
  background-size: cover;
}

.bana02.no6 {
  background: url("./img/bana_bg06.png") no-repeat center center;
  background-size: cover;
}

.bana02 .inner_bana {
  padding-left: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.bana02 .banattl02 {
  color: #ffffff;
  background-color: rgba(0, 84, 163, 0.8);
  padding: 10px 20px;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  margin-top: 30px;
  margin-bottom: 20px;
}

.bana02 .banattl02 span {
  border-left: solid 5px #ffffff;
  padding: 0px 10px;
}

@media (min-width: 0px) and (max-width: 765px) {
  .bana02 {
    margin-bottom: 0px;
    padding-top: 20px;
  }
  .bana02 .inner_bana {
    padding-left: 0px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .bana02 .banattl02 {
    padding: 10px 0px 10px 10px;
    font-size: 15px;
    font-weight: bold;
    display: inline-block;
    margin-top: 0px;
    margin-bottom: 20px;
  }
  .bana02 .banattl02 span {
    border-left: solid 2px #ffffff;
    padding: 0px 10px;
  }
}
.sort {
  text-align: center;
  border-bottom: solid 1px #cacaca;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

.sort a {
  background-color: #e0eaf4;
  padding: 10px 15px;
  color: #0054a3;
  margin-left: 5px;
  margin-right: 5px;
  display: inline-block;
  margin-bottom: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 150px;
}

.sort a:after {
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  margin-right: 5px;
  margin-left: 5px;
  font-weight: 900;
}

.list_horse {
  margin-bottom: 30px;
}

.list_horse li {
  overflow: hidden;
  margin-bottom: 30px;
}

.list_horse li .left {
  float: left;
  width: 260px;
}

.list_horse li .left img {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.list_horse li .right {
  float: right;
  width: 720px;
}

.list_horse li .right .name {
  font-weight: bold;
  margin-bottom: 10px;
}

.list_horse li .right .cate01 {
  background-color: #0054a3;
  color: #ffffff;
  display: inline-block;
  padding: 5px 10px;
  margin-bottom: 10px;
}

.list_horse li .right .txt {
  margin-bottom: 10px;
}

.list_horse li .right .txt2 {
  font-size: 90%;
  margin-bottom: 10px;
}

@media (min-width: 0px) and (max-width: 765px) {
  .list_horse {
    margin-bottom: 30px;
  }
  .list_horse li {
    margin-bottom: 20px;
  }
  .list_horse li .left {
    float: none;
    width: auto;
    margin-bottom: 10px;
  }
  .list_horse li .right {
    float: none;
    width: auto;
  }
}
.horse_main {
  margin-bottom: 30px;
}

.horse_video {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}

#main .horse_news {
  overflow-y: scroll;
  max-width: 1000px;
  max-height: 480px;
  background-color: #FFF;
  padding: 10px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: solid 1px #bdbebf;
}

#main .horse_news div {
  border-bottom: solid 1px #c8c8c8;
  padding: 5px;
  font-size: 14px;
}

#main .horse_news .date {
  font-size: 12px;
  color: #9f9f9f;
}

@media (min-width: 0px) and (max-width: 735px) {
  #main .horse_news {
    max-height: 300px;
  }
  #main .horse_news div {
    font-size: 13px;
  }
  #main .horse_news .date {
    font-size: 11px;
  }
}
.l_line_txt {
  border-left: solid 2px #0054a3;
  padding-left: 10px;
  font-size: 80%;
}

.stable_ul {
  max-width: 400px;
  margin: 20px auto;
}

.stable_ul li {
  font-weight: bold;
  padding: 5px 0px;
}

.stable_ul li span {
  color: #0054a3;
  display: inline-block;
  margin-right: 10px;
}

.nagare_line {
  border-bottom: solid 1px #b6b6b6;
  border-top: none;
  border-left: none;
  border-right: none;
  margin-bottom: 20px;
}

.nagare_line_arrow {
  border-bottom: none;
  border-top: solid 1px #b6b6b6;
  border-left: none;
  border-right: none;
  background: url("./img/arrow01.png") center bottom no-repeat;
  padding-bottom: 18px;
  margin-bottom: 20px;
}

.nagarebox {
  padding: 30px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .nagarebox {
    padding: 10px;
  }
}
.txtbox {
  padding: 20px;
}

@media (min-width: 0px) and (max-width: 735px) {
  .txtbox {
    padding: 10px;
  }
}
.faqbox {
  padding-top: 20px;
  padding-right: 30px;
  padding-left: 50px;
  padding-bottom: 30px;
  background: url("./img/faq_a.png") left 20px top 20px no-repeat;
}

@media (min-width: 0px) and (max-width: 735px) {
  .faqbox {
    padding-top: 5px;
    padding-right: 10px;
    padding-left: 30px;
    padding-bottom: 10px;
    background: url("./img/faq_a.png") left 10px top 5px no-repeat;
  }
}
.timeline {
  list-style: none;
  padding-top: 10px;
  margin-bottom: 30px;
}

.timeline > li {
  margin-bottom: 20px;
}

.timeline-content {
  border-bottom: 2px #c6c6c6 solid;
  padding-bottom: 10px;
}

/* for Desktop */
@media (min-width: 640px) {
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 110px;
    float: left;
    margin-top: 0px;
  }
  .timeline-content {
    width: 75%;
    float: left;
    border-left: 2px #c6c6c6 solid;
    border-bottom: none;
    padding-left: 30px;
    padding-bottom: 5px;
  }
  .timeline-content.first {
    border-left: 2px #ffffff solid;
  }
  /**.timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #6fc173;
    position: absolute;
    left: 106px;
    top: 24px;
    border-radius: 100%;
  }**/
}
.single article .post-thumbnail {
  text-align: center;
  padding-top: 5em;
  margin-bottom: 2em;
  min-height: 8em;
  position: relative;
}

@media screen and (max-width: 768px) {
  .single article .post-thumbnail {
    margin: auto;
  }
}
.single article .post-thumbnail img {
  display: inline-block;
  width: auto;
}

.single article .entry-content {
  padding-bottom: 4em;
}

.single article .entry-content h1 {
  font-size: 2em;
  font-weight: 500;
}

.single article .entry-content h2 {
  font-size: 1.8em;
  font-weight: 500;
}

.single article .entry-content h3 {
  font-size: 1.6em;
  font-weight: 500;
}

.single article .entry-content h4 {
  font-size: 1.4em;
  font-weight: 500;
}

.single article .entry-content h5 {
  font-size: 1.2em;
  font-weight: 500;
}

.single article .entry-content h6 {
  font-size: 1em;
  font-weight: 500;
}

.single article .entry-content h1,
.single article .entry-content h2,
.single article .entry-content h3,
.single article .entry-content h4,
.single article .entry-content h5,
.single article .entry-content h6 {
  margin: 0.5em 0;
  padding: 0;
  line-height: 1.2em;
}

.single article .entry-content ul {
  list-style-type: disc;
  padding-left: 1.5em;
}

.single article .entry-content p {
  margin: 1em 0;
}

.single article blockquote {
  position: relative;
  padding: 2em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-style: italic;
  color: #464646;
  background: #fafafa;
  border: none;
  border-top: solid 3px #cecece;
  border-bottom: solid 3px #cecece;
}

.single article blockquote:before {
  display: inline-block;
  position: absolute;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  text-align: center;
  content: "\f10d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #FFF;
  background: #cecece;
  top: 0;
  left: 0;
}

.single article blockquote:after {
  display: inline-block;
  position: absolute;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  text-align: center;
  content: "\f10d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #FFF;
  background: #fafafa;
  bottom: 0;
  right: 0;
}

.single article blockquote + p {
  margin-top: 1.6em;
}

.single article blockquote p {
  position: relative;
  padding: 0;
  margin: 0.7em 0;
  z-index: 3;
  line-height: 1.7;
}

.single article blockquote > p:last-child {
  margin-bottom: 0 !important;
}

.linkbox label {
  position: relative;
}
.linkbox label a {
  display: block;
  position: absolute;
  z-index: 2;
  height: 1.3em;
  width: 11em;
  border-bottom: 1px solid #000;
  left: 1.4em;
  top: 0;
}

#main p.p-country-name {
  display: none;
}

.request_confirmation .ttl03, .contact_confirmation .ttl03 {
  text-align: center;
  font-weight: 700;
  margin-bottom: 0.7em;
  font-size: 1.2em;
}
.request_confirmation .ttl03 + p, .contact_confirmation .ttl03 + p {
  text-align: center;
}
.request_confirmation .ttl03 + p br, .contact_confirmation .ttl03 + p br {
  display: none;
}
@media screen and (max-width: 768px) {
  .request_confirmation .ttl03 + p br, .contact_confirmation .ttl03 + p br {
    display: block;
  }
}

.recruitment table.tb03 tr th {
  vertical-align: middle;
}
.recruitment table.tb03 tr td a {
  text-decoration: underline;
  color: #007fff;
}
.recruitment table.tb03 tr td:nth-child(1) {
  width: 15%;
}
.recruitment table.tb03 tr td:nth-child(2) {
  width: 11%;
}
.recruitment table.tb03 tr td:nth-child(3) {
  width: 11%;
}
.recruitment table.tb03 tr td:nth-child(4) {
  width: 5.5%;
}
.recruitment table.tb03 tr td:nth-child(5) {
  width: 12.5%;
}
.recruitment table.tb03 tr td:nth-child(6) {
  width: 9%;
}
.recruitment table.tb03 tr td:nth-child(7) {
  width: 7%;
}
.recruitment table.tb03 tr td:nth-child(8) {
  width: 8%;
}
.recruitment table.tb03 tr td:nth-child(9) {
  width: 11%;
}

@media (min-width: 0px) and (max-width: 735px) {
  .scrolltb .tb03 {
    width: 1200px !important;
  }
  .recruitment table.tb03 {
    table-layout: auto;
  }
  .recruitment table.tb03 tr th {
    vertical-align: middle;
  }
  .recruitment table.tb03 tr td {
    white-space: normal !important;
  }
  .recruitment table.tb03 tr td a {
    text-decoration: underline;
    color: #007fff;
  }
}