@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/css?family=Oswald);

html{
  background-color: #d9eef4;
}
/* !HTML5 elements
---------------------------------------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* !Reseting
---------------------------------------------------------- */
body {
  /*border-top:5px solid #0058a1;*/
  /*	font-family: "游ゴシック体", "Yu Gothic", YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;*/
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  -webkit-text-size-adjust: none;
  color: #231815;
}

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td,
figure,
figcaption {
  margin: 0;
  padding: 0;
}

input,
textarea {
  margin: 0;
  font-size: 100%;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
  width: 100%;
}

fieldset,
img {
  border: 0;
}

img {
  /* max-width: 100%; width: 100%; height: auto; */
  vertical-align: top;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

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

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

a,
input {
  outline: none;
}

input,
textarea {
  border-radius: 0;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}

input[type=search],
input[type=button],
input[type=text],
input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
  padding: 0;
  cursor: pointer;
}

abbr,
acronym {
  border: 0;
}

* {
  /* -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; */
}

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

	共通

--------------------------------------------------------------------------- */
/* リンクカラー */
a:hover {
  text-decoration: none;
}

/* チェックボックス・ラジオボタン崩れ用 */
input {
  vertical-align: middle;
}

/* table */
table {
  width: 100%;
}

/* strong */
strong {
  color: #158a37;
  font-weight: bold;
}

/* 大文字 */
.large {
  font-size: 150%;
}

/* 小文字 */
.small {
  font-size: 85%;
}

/* 右寄せ */
.right {
  text-align: right;
}

/* センター寄せ */
.center {
  text-align: center;
}

/* strong以外の強調 */
.pointText {
  color: #a10008;
  font-weight: bold;
}

/* 数字Oswald */
.numberText {
  font-family: "Oswald", sans-serif;
}

/* img100
----------------------------------------------------------*/
.img100 img {
  width: 100%;
}

/* エラーページ
----------------------------------------------------------*/
#error {
  margin: 0 auto;
  padding-bottom: 40px;
  width: 960px;
}

#error .title {
  padding-bottom: 5px;
  color: #3e73b1;
  font-weight: bold;
  font-size: 40px;
}

#error .lead01 {
  margin-bottom: 20px;
}

#error .lead02 {
  margin-bottom: 10px;
  color: #3e73b1;
}

#error .point {
  margin-bottom: 8px;
  padding: 5px;
  background: #3e73b1;
  color: #fff;
  font-weight: bold;
}

#error ul {
  padding-bottom: 20px;
}

#error ul.point {
  background: #efeded;
  color: #000;
  font-weight: normal;
}

/* リンクボタン （サイズのみ各ページで変更する程度にする）*/
a.btn {
  margin: 0 auto 2% auto;
  padding: 10px 0 15px 0;
  border: 2px solid #006ebb;
  background: #006ebb url(../../marathon/images/common/arrow02.gif) no-repeat 98% 50%;
  box-sizing: border-box;
  border-radius: 50px;
  text-decoration: none;
  display: block;
  text-align: center;
  width: 100%;
  color: #fff;
}

a.btn:hover {
  background: #fff url(../../marathon/images/common/arrow01.gif) no-repeat 98% 50%;
  color: #006ebb;
}

a.btn02 {
  margin: 0 auto 2% auto;
  padding: 10px 0 15px 0;
  border: 2px solid #fff;
  background: #fff url(../../marathon/images/common/arrow01.gif) no-repeat 98% 50%;
  box-sizing: border-box;
  border-radius: 50px;
  text-decoration: none;
  display: block;
  text-align: center;
  width: 100%;
  color: #006ebb;
}

a.btn02:hover {
  background: #006ebb url(../../marathon/images/common/arrow02.gif) no-repeat 98% 50%;
  color: #fff;
}

/* サイズ調整用 */
a.btnSmall {
  width: 50%;
}

/* 画像リンクのhover
----------------------------------------------------------*/
.link a:hover img {
  opacity: 0.7;
}

/* フォーム
----------------------------------------*/
input.short,
input.middle,
input.long,
textarea {
  padding: 10px;
  box-sizing: border-box;
  border: none;
  background: #ffe4b0;
}

input.short {
  width: 20%;
}

input.middle {
  width: 50%;
}

input.long {
  width: 90%;
}

textarea {
  width: 90%;
  height: 100px;
}

/* 必須 */
.hissu {
  padding: 3px 4px 2px 4px;
  background: #e7133b;
  border-radius: 4px;
  display: block;
  width: 40px;
  text-align: center;
  float: right;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
}

/* 任意 */
.nini {
  padding: 3px 4px 2px 4px;
  background: #efefef;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: block;
  width: 40px;
  text-align: center;
  float: right;
  color: #222;
  font-weight: bold;
  font-size: 11px;
}

input.submit {
  margin: 0 auto;
  padding: 20px 10px;
  background: #ed1b23;
  border-radius: 6px;
  text-decoration: none;
  display: block;
  text-align: center;
  width: 50%;
  color: #fff;
  font-size: 18px;
}

.pc {
  display: block;
}
.sp {
  display: none;
}
.mB60 {
  margin-bottom: 60px !important;
}
.mL10 {
  margin-left: 10px !important;
}
.innerBox {
  overflow: visible;
}
.serif {
  font-family: serif;
}
.blue02 {
  color: #00428e;
  margin-bottom: 40px;
}
.movie {
  width: 28%;
  align-items: center;
  padding: 20px;
  margin-bottom: 10px;
  font-size: 18px;
  margin: 0 auto;
  border: 3px solid #008ED8;
  background-color: #ffffffde;
  position: absolute;
  bottom: 15px;
  right: 5%;
}
.main_img{
  position: relative;
}
.container03 {
  display: flex;
  justify-content: space-between;
  margin: 30px 0 60px;
}
.container03:last-child {
  margin-bottom: 0 !important;
}
.bg_red {
  background-color: #d01120;
  color: #fff;
  position: relative;
  clip-path: polygon(0 0, 100% 0, 100% 0%, 90% 100%, 0 100%);
  padding: 10px 20px !important;
  margin-bottom: 20px;
}
.runner {
  width: 80%;
}
.runner_text {
  margin-left: 40px;
  width: 250%;
}
.message {
  padding: 4%;
  border: 2px solid #d01120;
  border-top: none;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 20%), 
             #fffcdb;
  position: relative;
  box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.3);
}
.message_logo {
  width: 23%;
  position: absolute;
  right: 5%;
  top: 5%;
}
.top_border {
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  height: 10px;
}
.qr {
  /* margin-left: 18px; */
  margin-left: 26px;
  width: 63%;
}
.flex {
  width: 106% !important;
  align-items: center;
}
.message_tit{
  /* font-size: 26px; */
  font-size: 25px;
  margin-bottom: 10px;
  padding-top: 25px;
}
.float_l > img {
  width: 41% !important;
}
.float_r > img {
  width: 35% !important;
}
.intro {
  background-color: #fffcdb;
  padding: 55px 0;
  margin-bottom: 80px;
}
.introArea {
    margin-bottom: 46px;
}
.btn02 a {
  color: #fff;
  padding: 10px 10px 12px !important;
  /* min-width: 200px; */
  min-width: 216px !important;
  border-radius: 15px;
  background: #d01120 !important;
  position: relative;
  font-weight: bold;
  display: inline-block;
}
/* ---------------------------------------------------------------------------

	スマホ（ブラウザの横幅が指定したpx以下の時に適用されます）

--------------------------------------------------------------------------- */
@media screen and (max-width: 959px) {
  /**{overflow:hidden;} /*スマホで閲覧した時にグラグラしなくなる*/
  body {
    font-size: 16px;
    line-height: 140%;
  }

  /* P */
  p {
    padding-bottom: 4%;
    line-height: 140%;
  }

  p:last-child {
    padding-bottom: 0;
  }

  /* 注釈 */
  p.annotation {
    text-align: right;
    font-size: 85%;
  }

  /* [sp] スマホでは非表示
  ----------------------------------------*/
  .spNone {
    display: none;
  }

  /* [sp] ベースの横幅
  ----------------------------------------------------------*/
  .innerBox {
    padding: 0 4% 4% 4%;
  }

  /* [sp] borderBox01
  ----------------------------------------------------------*/
  .borderBox01 {
    margin: 0 4% 8% 4%;
    padding: 4%;
    border-radius: 10px;
    border: 1px solid #ccc;
  }

  .borderBox01 p.title {
    padding-bottom: 20px;
    font-weight: bold;
    font-size: 18px;
  }

  /* [sp] 背景色
  ----------------------------------------------------------*/
  .innerBoxColor01 {
    margin-bottom: 12%;
    padding-top: 12%;
    background: #58b530;
    color: #fff;
  }

  .innerBoxColor01 .innerBox {
    padding-bottom: 12%;
  }

  /* [sp] miniTextBox
  ----------------------------------------------------------*/
  .miniTextBox {
    padding-bottom: 4%;
  }

  .miniTextBox br {
    display: none;
  }

  /* [sp] ヘディングタグ
  ----------------------------------------------------------*/
  h3 {
    margin-bottom: 8%;
    text-align: center;
  }

  h4 {
    margin-bottom: 4%;
    padding: 10px 0 12px 15px;
    background: #e2e9f7;
    border-left: 8px solid #003399;
  }

  /* [sp] 各ページのメイン画像
  ----------------------------------------------------------*/
  #pageMainPhoto {
    padding-bottom: 4%;
    text-align: center;
  }

  #pageMainPhoto img {
    width: 100%;
  }

  /* [sp] パンくずリスト
  ----------------------------------------------------------*/
  #breadcrumbs {
    margin-bottom: 8%;
    padding: 2% 4%;
    background: #cdd9f1;
    line-height: 120%;
    font-size: 11px;
  }

  #breadcrumbs .innerBox {
    padding-bottom: 0;
  }

  #breadcrumbs li {
    display: inline;
  }

  #breadcrumbs a {
    padding: 0 12px 0 0;
    background: url(../images/common/topic_path.gif) no-repeat right;
  }

  /* [sp] textImgBox01
  ----------------------------------------*/
  .textImgBox01 {
    overflow: hidden;
  }

  .textImgBox01 li {
    padding: 4% 0;
    border-bottom: 1px solid #dfdfdf;
    overflow: hidden;
  }

  .textImgBox01 li:first-child {
    padding-top: 0;
  }

  .textImgBox01 li .photo {
    padding-right: 4%;
    float: left;
    width: 20%;
  }

  .textImgBox01 li .photo img {
    width: 100%;
  }

  .textImgBox01 li .box {
    float: left;
    width: 76%;
  }

  .textImgBox01 p.title {
    padding-bottom: 5px;
    font-size: 16px;
  }

  .textImgBox01 table {
    border-collapse: separate;
    border-spacing: 2px;
  }

  .textImgBox01 th {
    padding: 2px 6px;
    background: #f2f2f2;
    display: block;
  }

  .textImgBox01 td {
    padding: 2px 6px 6px 6px;
    display: block;
  }

  /* [sp] textImgBox02
  ----------------------------------------*/
  .textImgBox02 li {
    padding-bottom: 6%;
  }

  .textImgBox02 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox02 li .photo img {
    width: 100%;
  }

  .textImgBox02 p.title {
    padding-bottom: 2%;
    font-size: 20px;
  }

  .textImgBox02 p.sub {
    padding-bottom: 1%;
    font-size: 14px;
  }

  /* [sp] textImgBox03
  ----------------------------------------*/
  .textImgBox03 {
    overflow: hidden;
  }

  .textImgBox03 li {
    padding: 0 4% 6% 0;
    float: left;
    width: 48%;
  }

  .textImgBox03 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox03 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox03 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox03 li .photo img {
    width: 100%;
  }

  .textImgBox03 li p.title {
    padding-bottom: 0;
  }

  /* [sp] textImgBox04
  ----------------------------------------*/
  .textImgBox04 {
    overflow: hidden;
  }

  .textImgBox04 li {
    padding: 4% 0;
    border-bottom: 1px solid #dfdfdf;
    overflow: hidden;
  }

  .textImgBox04 li:first-child {
    padding-top: 0;
  }

  .textImgBox04 li .photo {
    padding-right: 4%;
    float: left;
    width: 20%;
  }

  .textImgBox04 li .photo img {
    width: 100%;
  }

  .textImgBox04 li .box {
    float: left;
    width: 70%;
  }

  .textImgBox04 li .box p {
    padding-bottom: 0;
  }

  .textImgBox04 li p.sub {
    padding-bottom: 0;
  }

  .textImgBox04 li p.title {
    padding-bottom: 0;
  }

  /* [sp] textImgBox05
  ----------------------------------------------------------*/
  .textImgBox05 {
    overflow: hidden;
  }

  .textImgBox05 li {
    padding: 0 4% 6% 0;
    float: left;
    width: 48%;
  }

  .textImgBox05 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox05 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox05 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox05 li .photo img {
    width: 100%;
  }

  .textImgBox05 li p.title {
    padding-bottom: 0;
    text-align: center;
  }

  /* [sp] textImgBox06
  ----------------------------------------*/
  .textImgBox06 {
    overflow: hidden;
  }

  .textImgBox06 li {
    padding: 0 4% 6% 0;
    float: left;
    width: 48%;
  }

  .textImgBox06 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox06 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox06 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox06 li .photo img {
    width: 100%;
  }

  .textImgBox06 li p.title {
    padding-bottom: 0;
    text-align: center;
  }

  /* [sp] textImgBox07
  ----------------------------------------------------------*/
  .textImgBox07 {
    padding-bottom: 20px;
  }

  .textImgBox07 .box {
    padding-bottom: 10px;
  }

  .textImgBox07 .bnr img {
    width: 100%;
  }

  /* お知らせなど */
  .textImgBox07 .box li {
    padding-bottom: 10px;
    overflow: hidden;
  }

  .textImgBox07 h3.style04 {
    margin-bottom: 10px;
    padding: 3px 0 3px 10px;
    border-left: 5px solid #248aca;
    font-size: 20px;
  }

  .textImgBox07 h3.style04 span {
    display: block;
    color: #aaa;
    font-weight: normal;
    font-size: 10px;
  }

  .textImgBox07 .box li p {
    padding-bottom: 0;
  }

  .textImgBox07 .box li p.date {
    padding: 2px 5px;
    background: #f2f2f2;
    font-size: 10px;
  }

  .textImgBox07 .box li p.title {
    padding: 5px 0;
  }

  /* [sp] textImgBox08
  ----------------------------------------------------------*/
  .textImgBox08 li {
    margin-bottom: 10px;
  }

  .textImgBox08 a {
    padding: 30px 0;
    display: block;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox08 span {
    padding-top: 10px;
    display: block;
    font-weight: normal;
    font-size: 11px;
  }

  /* btn01 */
  .textImgBox08 li#btn01 {
    background: url(../images/top/top_works_btn01.jpg) no-repeat;
    background-size: cover;
  }

  /* btn02 */
  .textImgBox08 li#btn02 {
    background: url(../images/top/top_works_btn02.jpg) no-repeat;
    background-size: cover;
  }

  /* btn03 */
  .textImgBox08 li#btn03 {
    background: url(../images/top/top_works_btn03.jpg) no-repeat;
    background-size: cover;
  }

  .textImgBox08 a {
    background-color: rgba(0, 0, 0, 0.5);
  }

  .textImgBox08 a:hover {
    background-color: rgba(255, 255, 255, 0);
  }

  /* [sp] textImgBox09
  ----------------------------------------------------------*/
  .textImgBox09 {
    padding-bottom: 4%;
  }

  .textImgBox09 .photo {
    padding-bottom: 4%;
    text-align: center;
  }

  .textImgBox09 .photo img {
    width: 70%;
  }

  .textImgBox09 .box p {
    line-height: 200%;
    font-size: 14px;
  }

  .textImgBox09 .box p.title {
    padding-bottom: 10px;
    font-size: 20px;
  }

  .textImgBox09 .box p.sub {
    padding-bottom: 10px;
    font-style: italic;
  }

  .textImgBox09 .box .name {
    text-align: right;
  }

  .textImgBox09 .name span {
    font-size: 18px;
  }

  /* [sp] textImgBox10
  ----------------------------------------------------------*/
  .textImgBox10 {
    padding-bottom: 20px;
  }

  .textImgBox10 .photo {
    padding-bottom: 20px;
    text-align: center;
  }

  .textImgBox10 .photo img {
    width: 100%;
  }

  .textImgBox10 .box p.title {
    padding-bottom: 4%;
    font-size: 18px;
  }

  .textImgBox10 .box p.sub {
    padding-bottom: 2%;
    font-size: 16px;
  }

  .textImgBox10 .box a.btn02 {
    padding: 5px 0;
    background: #ca2437;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
  }

  /* テーブル有り */
  .textImgBox10 th.title {
    padding: 2% 0 2% 2%;
    border-bottom: 1px dashed #ccc;
  }

  .textImgBox10 td.price {
    padding: 2% 0 2% 2%;
    border-bottom: 1px dashed #ccc;
    text-align: right;
  }

  .textImgBox10 td.price span {
    text-align: right;
    color: #ae1c1e;
    font-size: 22px;
  }

  .textImgBox10 td.price span.sub {
    display: block;
    color: #444;
    font-size: 11px;
  }

  /* telephone */
  .textImgBox10 .telephone p {
    padding-bottom: 0;
  }

  .textImgBox10 .telephone p.title {
    margin-bottom: 4%;
    padding-bottom: 2%;
    background: none;
    border-bottom: 1px solid #8bc327;
    color: #8bc327;
  }

  .textImgBox10 .telephone p.tel {
    padding-left: 40px;
    background: url(../images/common/arrow_tel02.png) no-repeat;
    background-size: 30px;
    font-size: 16px;
  }

  .textImgBox10 .telephone p.tel span {
    display: block;
    color: #f59a17;
    line-height: 95%;
    font-weight: bold;
    font-size: 30px;
  }

  /* [sp] textImgBox11
  ----------------------------------------------------------*/
  .textImgBox11 {
    padding-bottom: 20px;
  }

  .textImgBox11 .photo {
    padding-bottom: 20px;
    text-align: center;
  }

  .textImgBox11 .photo img {
    width: 100%;
  }

  .textImgBox11 .box p.title {
    padding-bottom: 10px;
    font-size: 18px;
  }

  /* [sp] textImgBox12
  ----------------------------------------*/
  .textImgBox12 {
    overflow: hidden;
  }

  .textImgBox12 li {
    padding: 0 4% 6% 0;
    float: left;
    width: 48%;
  }

  .textImgBox12 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox12 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox12 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox12 li .photo img {
    width: 100%;
  }

  .textImgBox12 li p.title {
    padding-bottom: 0;
    text-align: center;
  }

  /* [sp] textImgBox13
  ----------------------------------------*/
  .textImgBox13 li {
    margin-bottom: 4%;
    padding-bottom: 4%;
    border-bottom: 1px solid #d6d6d6;
  }

  .textImgBox13 li:last-child {
    margin-bottom: 0;
    border-bottom: none;
  }

  .textImgBox13 li .photo {
    padding-bottom: 10px;
  }

  .textImgBox13 li .photo img {
    width: 100%;
  }

  .textImgBox13 p.title {
    padding-bottom: 2%;
    color: #248aca;
    font-size: 22px;
  }

  .textImgBox13 p.sub {
    padding-bottom: 2%;
    display: block;
    line-height: 120%;
    font-weight: normal;
    font-size: 14px;
  }

  .textImgBox13 .body p {
    padding-bottom: 4%;
  }

  /* [sp] textImgBox14
  ----------------------------------------*/
  .textImgBox14 {
    overflow: hidden;
  }

  .textImgBox14 li {
    padding-bottom: 50px;
  }

  .textImgBox14 li p.title {
    margin-bottom: 5px;
    padding: 5px 10px;
    background: #0058a1;
    color: #fff;
    font-weight: bold;
  }

  .textImgBox14 li .photo {
    margin: 0 auto;
    width: 80%;
  }

  .textImgBox14 li .photo img {
    text-align: center;
    width: 100%;
  }

  .textImgBox14 li .body {
    padding: 0 20px;
  }

  /* [sp] textImgBox15
  ----------------------------------------*/
  .textImgBox15 {
    overflow: hidden;
  }

  .textImgBox15 li {
    padding-bottom: 50px;
  }

  .textImgBox15 li p.title {
    margin-bottom: 5px;
    padding: 5px 10px;
    background: #0058a1;
    color: #fff;
    font-weight: bold;
  }

  .textImgBox15 li th,
.textImgBox15 li td {
    padding: 5px 10px;
    display: block;
  }

  .textImgBox15 li th {
    padding-left: 28px;
  }

  .textImgBox15 li th.no01 {
    background: url(../images/common/arrow_no01.gif) no-repeat 0 5px;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox15 li th.no02 {
    background: url(../images/common/arrow_no02.gif) no-repeat 0 5px;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox15 li th.no03 {
    background: url(../images/common/arrow_no03.gif) no-repeat 0 5px;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox15 li td.no01,
.textImgBox15 li td.no02,
.textImgBox15 li td.no03 {
    color: #a10008;
    font-weight: bold;
    font-size: 16px;
  }

  .textImgBox15 li td {
    border-bottom: 1px solid #e1e1e1;
    text-align: right;
  }

  .textImgBox15 li .body {
    padding: 20px 20px 0 20px;
  }

  /* [sp] textImgBox16
  ----------------------------------------*/
  .textImgBox16 {
    overflow: hidden;
  }

  .textImgBox16 li {
    padding: 0 4% 0 0;
    float: left;
    width: 30%;
  }

  .textImgBox16 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox16 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox16 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox16 li .photo img {
    width: 100%;
  }

  .textImgBox16 li .box {
    text-align: center;
  }

  .textImgBox16 li .box p {
    padding: 0;
    line-height: 150%;
  }

  .textImgBox16 li p.rank {
    display: none;
  }

  .textImgBox16 li .box span {
    display: block;
    font-size: 11px;
  }

  .textImgBox16 li p.catch {
    display: none;
  }

  /* [sp] textImgBox17
  ----------------------------------------*/
  .textImgBox17 {
    padding-bottom: 8%;
  }

  .textImgBox17 .titleText {
    margin-bottom: 4%;
    padding: 0 0 0 4%;
    border-left: 4px solid #ccc;
    font-size: 20px;
  }

  .textImgBox17 .imgBox01 {
    padding-bottom: 8%;
  }

  .textImgBox17 li {
    padding: 4% 0;
    border-bottom: 1px dashed #ccc;
    overflow: hidden;
  }

  .textImgBox17 li .photo {
    float: left;
    width: 26%;
  }

  .textImgBox17 li .photo img {
    width: 100%;
  }

  .textImgBox17 li .box {
    float: right;
    width: 70%;
  }

  .textImgBox17 li .box p {
    padding: 0;
  }

  .textImgBox17 li .box p.title {
    padding-bottom: 2%;
    font-size: 18px;
  }

  .textImgBox17 li p.catch {
    padding-top: 5px;
  }

  /* [sp] textImgBox18
  ----------------------------------------------------------*/
  .textImgBox18 li {
    margin-bottom: 2%;
  }

  .textImgBox18 a {
    padding: 10% 0;
    display: block;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox18 span {
    display: block;
    font-weight: normal;
    font-size: 11px;
  }

  /* btn01 */
  .textImgBox18 li#btn01 {
    background: url(../images/sample_btn01.jpg) no-repeat;
    background-size: cover;
  }

  /* btn02 */
  .textImgBox18 li#btn02 {
    background: url(../images/sample_btn02.jpg) no-repeat;
    background-size: cover;
  }

  /* btn03 */
  .textImgBox18 li#btn03 {
    background: url(../images/sample_btn03.jpg) no-repeat;
    background-size: cover;
  }

  .textImgBox18 a {
    background-color: rgba(0, 0, 0, 0.5);
  }

  .textImgBox18 a:hover {
    background-color: rgba(255, 255, 255, 0);
  }

  /* [sp] textImgBox19
  ----------------------------------------------------------*/
  .textImgBox19 {
    margin: 0 auto;
    padding-bottom: 4%;
    overflow: hidden;
  }

  .textImgBox19 li {
    margin-bottom: 8%;
    padding-bottom: 10%;
    background: url(../images/yazi.gif) no-repeat center bottom;
    background-size: 10%;
    overflow: hidden;
  }

  .textImgBox19 li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    background: none;
  }

  .textImgBox19 .photo {
    float: left;
    width: 24%;
  }

  .textImgBox19 .photo img {
    width: 100%;
  }

  .textImgBox19 .box {
    float: right;
    width: 72%;
  }

  .textImgBox19 .box p.title {
    padding-bottom: 0;
    font-size: 22px;
  }

  .textImgBox19 .box p.title span {
    color: #ae1c1e;
  }

  /* [sp] textImgBox20
  ----------------------------------------------------------*/
  .textImgBox20 p.number {
    padding: 0;
    float: left;
    width: 50%;
    line-height: 90%;
    font-size: 100px;
  }

  .textImgBox20 p.number span {
    display: none;
  }

  .textImgBox20 li {
    padding: 20px 0;
    border-bottom: 1px dashed #ccc;
    overflow: hidden;
  }

  .textImgBox20 li .photo {
    padding-bottom: 4%;
    float: right;
    width: 50%;
  }

  .textImgBox20 li .photo img {
    width: 100%;
  }

  .textImgBox20 li .body {
    clear: both;
  }

  .textImgBox20 li .title {
    padding-bottom: 4%;
    font-size: 22px;
  }

  /* [sp] textImgBox21
  ----------------------------------------------------------*/
  .textImgBox21 {
    margin-bottom: 20px;
  }

  .textImgBox21 li {
    padding-bottom: 10px;
  }

  .textImgBox21 li a {
    padding: 2% 0 2% 30px;
    background: #ffd232 url(../images/common/arrow01.gif) no-repeat 2% 50%;
    display: block;
    text-decoration: none;
    color: #222;
  }

  .textImgBox21 li a:hover {
    background: #ffe898 url(../images/common/arrow01.gif) no-repeat 2% 50%;
  }

  /* [sp] textImgBox22
  ----------------------------------------*/
  .textImgBox22 {
    overflow: hidden;
  }

  .textImgBox22 img {
    width: 100%;
  }

  .textImgBox22 li {
    padding-right: 3%;
    float: left;
    width: 31%;
  }

  .textImgBox22 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox22 li:nth-child(3n+1) {
    clear: both;
  }

  /* [sp] textImgBox23
  ----------------------------------------------------------*/
  .textImgBox23 {
    padding-bottom: 4%;
  }

  .textImgBox23 li {
    margin-bottom: 4%;
    padding: 8% 0;
    background: #eae2fa url(../images/bg01.png) no-repeat right bottom;
    background-size: 30%;
    text-align: center;
    font-size: 16px;
  }

  .textImgBox23 span {
    display: block;
    font-size: 12px;
  }

  /* [sp] textImgBox24
  ----------------------------------------------------------*/
  .textImgBox24 {
    padding-bottom: 4%;
  }

  /* textImgBox14 */
  .textImgBox24 .textImgBox14 {
    overflow: hidden;
  }

  .textImgBox24 .textImgBox14 li {
    padding-bototm: 4%;
    overflow: hidden;
  }

  .textImgBox24 .textImgBox14 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox24 .textImgBox14 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox24 .textImgBox14 li p.title {
    margin-bottom: 2%;
    padding: 0;
    background: none;
    text-indent: inherit;
    color: #fff;
    font-size: 16px;
  }

  .textImgBox24 .textImgBox14 li .photo {
    padding-bottom: 2%;
    float: left;
    width: 27%;
  }

  .textImgBox24 .textImgBox14 li .photo img {
    border-radius: 10px;
    text-align: center;
    width: 100%;
  }

  .textImgBox24 .textImgBox14 li .body {
    padding: 0;
    float: right;
    width: 70%;
    text-align: left;
  }

  /* カラータイトル01 */
  .textImgBox24 .textImgBox14 li.bg01 p.title {
    background: #1a889f;
  }

  /* カラータイトル02 */
  .textImgBox24 .textImgBox14 li.bg02 p.title {
    background: #ea5514;
  }

  /* カラータイトル03 */
  .textImgBox24 .textImgBox14 li.bg03 p.title {
    background: #345700;
  }

  /* 共通 */
  .textImgBox24 .box {
    margin: 0 auto;
    padding: 4% 4% 0 4%;
    border: 1px solid #ccc;
    border-radius: 10px;
    text-align: center;
  }

  /* タグ */
  .textImgBox24 .type01,
.textImgBox24 .type02,
.textImgBox24 .type03 {
    margin-bottom: 4%;
  }

  .textImgBox24 .type01 span,
.textImgBox24 .type02 span,
.textImgBox24 .type03 span {
    padding: 2% 4%;
    color: #fff;
  }

  .textImgBox24 .type01 span {
    background: #1a889f;
  }

  .textImgBox24 .type02 span {
    background: #ea5514;
  }

  .textImgBox24 .type03 span {
    background: #345700;
  }

  /* stepStart */
  .textImgBox24 .stepStart {
    text-align: left;
  }

  /* 枠線01 */
  .textImgBox24 .step01 {
    border: 5px solid #1a889f;
  }

  /* 枠線02 */
  .textImgBox24 .step02 {
    border: 5px solid #f00;
  }

  .textImgBox24 .box .title {
    padding-bottom: 4%;
    background-position: center;
    font-size: 22px;
  }

  /* 写真テキスト */
  .textImgBox24 .photoBox {
    padding-bottom: 4%;
    overflow: hidden;
  }

  .textImgBox24 .photoBox .photo {
    float: left;
    width: 27%;
  }

  .textImgBox24 .photoBox .photo img {
    border-radius: 10px;
    width: 100%;
  }

  .textImgBox24 .photoBox .textBox {
    text-align: left;
    float: right;
    width: 70%;
  }

  .textImgBox24 .photoBox dl {
    margin-top: 4%;
  }

  .textImgBox24 .photoBox dt {
    padding-bottom: 2%;
    background-size: 20px;
    color: #f62837;
  }

  .textImgBox24 .photoBox dd {
    padding-bottom: 8%;
  }

  /* 矢印 */
  .textImgBox24 .yazi {
    padding: 4% 0;
    text-align: center;
  }

  .textImgBox24 .yazi img {
    width: 30px;
  }

  /* [sp] textImgBox25
  ----------------------------------------------------------*/
  .textImgBox25 {
    padding: 4%;
    background: #ae1c1e;
    color: #fff;
  }

  .textImgBox25 #telBox p {
    padding-bottom: 0;
  }

  .textImgBox25 #telBox .tel span {
    padding: 1% 0 2% 12%;
    background: url(../images/common/arrow_tel03.png) no-repeat;
    background-size: 10%;
    display: block;
    font-size: 34px;
  }

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

  .textImgBox25 .photo img {
    width: 100%;
  }

  /* リンク */
  .textImgBox25 #telBox a {
    color: #fff;
  }

  /* [sp] textImgBox26
  ----------------------------------------*/
  .textImgBox26 {
    overflow: hidden;
  }

  .textImgBox26 .photo {
    padding-bottom: 4%;
  }

  .textImgBox26 .photo img {
    width: 100%;
  }

  .textImgBox26 p.rank {
    padding-bottom: 2%;
  }

  .textImgBox26 .rank span {
    margin-right: 4%;
    padding: 2% 4%;
    background: #999 none repeat scroll 0% 0%;
    line-height: 220%;
    color: #fff;
  }

  .textImgBox26 .box p.title {
    margin-bottom: 4%;
    padding-bottom: 2%;
    border-bottom: 1px solid #ccc;
    font-size: 20px;
  }

  .textImgBox26 .box p.catch {
    padding-bottom: 4%;
    line-height: 130%;
    font-size: 16px;
  }

  /* thum */
  .textImgBox26 .thum {
    overflow: hidden;
  }

  .textImgBox26 .thum li {
    padding-right: 5%;
    float: left;
    width: 30%;
  }

  .textImgBox26 .thum li:last-child {
    padding-right: 0;
  }

  .textImgBox26 .thum li img {
    width: 100%;
  }

  /* [sp] textImgBox27
  ----------------------------------------*/
  .textImgBox27 li {
    margin-bottom: 4%;
    padding: 4%;
    border: 1px solid #ccc;
  }

  .textImgBox27 li .photo {
    padding-bottom: 4%;
    text-align: center;
  }

  .textImgBox27 li .photo img {
    width: 50px;
  }

  .textImgBox27 p.rank {
    padding-bottom: 0;
  }

  .textImgBox27 p.name {
    padding-bottom: 4%;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
  }

  .textImgBox27 p.catch {
    padding-bottom: 4%;
  }

  /* リンク */
  .textImgBox27 a.btn {
    margin-bottom: 0;
    padding: 2% 0;
    width: 100%;
    font-size: 12px;
  }

  /* [sp] textImgBox28
  ----------------------------------------------------------*/
  .textImgBox28 {
    overflow: hidden;
  }

  .textImgBox28 li {
    padding: 4%;
    overflow: hidden;
  }

  .textImgBox28 p {
    padding-bottom: 0;
  }

  .textImgBox28 p.date {
    margin-right: 4%;
    float: left;
    width: 20%;
    font-size: 11px;
  }

  .textImgBox28 p.icon {
    float: left;
    width: 40%;
    text-align: center;
    color: #fff;
    font-size: 11px;
  }

  .textImgBox28 p.title {
    clear: both;
  }

  /* アイコンカラー */
  .textImgBox28 p.bg01 {
    background: #666;
  }

  .textImgBox28 p.bg02 {
    background: #e60012;
  }

  /* 偶数行の背景色を変更 */
  .textImgBox28 li:nth-child(2n) {
    background: #f3f3f3;
  }

  /* 奇数行の背景色を変更 */
  .textImgBox28 li:nth-child(2n+1) td {
    background: #fff;
  }

  /* [sp] textImgBox29
  ----------------------------------------------------------*/
  /* 共通 */
  .textImgBox29 li {
    padding: 4%;
  }

  .textImgBox29 .title {
    margin-bottom: 4%;
    padding-bottom: 4%;
    text-align: center;
    line-height: 150%;
  }

  .textImgBox29 .title span {
    padding-bottom: 10px;
    display: block;
    font-weight: bold;
    font-size: 24px;
  }

  .textImgBox29 .icon img {
    display: none;
    width: 50px;
  }

  .textImgBox29 .photo {
    padding-bottom: 30px;
    text-align: center;
  }

  .textImgBox29 .photo img {
    width: 100%;
  }

  .textImgBox29 table {
    font-size: 12px;
  }

  .textImgBox29 th {
    padding: 5px;
    border-bottom: 3px solid #fff;
    display: block;
    font-size: 16px;
  }

  .textImgBox29 td {
    padding: 5px;
    border-bottom: 3px solid #fff;
    display: block;
  }

  .textImgBox29 .bg01 th {
    background: #fbedee;
    display: block;
  }

  .textImgBox29 .bg01 td {
    background: #fff;
    display: block;
  }

  .textImgBox29 .bg02 th {
    background: #eef0f5;
    display: block;
  }

  .textImgBox29 .bg02 td {
    background: #fff;
    display: block;
  }

  /* box01 */
  .textImgBox29 .box01 {
    margin-bottom: 4%;
    border: 5px solid #d0111b;
    border-radius: 20px;
    position: relative;
    display: block;
  }

  .textImgBox29 .box01 .icon {
    position: absolute;
    top: -16px;
    left: 20px;
  }

  .textImgBox29 .box01 .title {
    border-bottom: 3px solid #d0111b;
  }

  .textImgBox29 .box01 .title span {
    color: #d0111b;
  }

  /* box02 */
  .textImgBox29 .box02 {
    margin-bottom: 4%;
    border: 5px solid #f6ac1d;
    border-radius: 20px;
    position: relative;
    display: block;
  }

  .textImgBox29 .box02 .icon {
    position: absolute;
    top: -16px;
    left: 20px;
  }

  .textImgBox29 .box02 .title {
    border-bottom: 3px solid #f6ac1d;
  }

  .textImgBox29 .box02 .title span {
    color: #f6ac1d;
  }

  /* box03 */
  .textImgBox29 .box03 {
    border: 5px solid #183b8c;
    border-radius: 20px;
    position: relative;
    display: block;
  }

  .textImgBox29 .box03 .icon {
    position: absolute;
    top: -16px;
    left: 20px;
  }

  .textImgBox29 .box03 .title {
    border-bottom: 3px solid #183b8c;
  }

  .textImgBox29 .box03 .title span {
    color: #183b8c;
  }

  /* [sp] textImgBox33
  ----------------------------------------------------------*/
  .textImgBox33 {
    border: 4% solid #333;
    background: #333;
    color: #fff;
  }

  .textImgBox33 li:first-child {
    border-top: 1px solid #333;
  }

  .textImgBox33 li {
    padding: 0 4% 8% 4%;
    overflow: hidden;
  }

  .textImgBox33 li:last-child {
    padding-bottom: 4%;
  }

  .textImgBox33 p.title {
    margin: 0 -4% 4% -4%;
    padding: 5px 0;
    background: #fff;
    text-align: center;
    color: #333;
    font-size: 18px;
  }

  .textImgBox33 .photo {
    padding-bottom: 2%;
  }

  .textImgBox33 .photo img {
    border-radius: 6px;
    width: 100%;
  }

  /* [sp] textImgBox35
  ----------------------------------------------------------*/
  .textImgBox35 li {
    margin-bottom: 4%;
    background: #eef6df;
    overflow: hidden;
  }

  .textImgBox35 p.title {
    margin-bottom: 4%;
    padding-bottom: 2%;
    border-bottom: 2px solid #8bc327;
    font-size: 18px;
  }

  .textImgBox35 .photo img {
    width: 100%;
  }

  .textImgBox35 .box {
    padding: 4%;
    box-sizing: border-box;
  }

  /* 偶数行の背景色を変更 */
  .textImgBox35 li:nth-child(2n) {
    background: #efebeb;
  }

  .textImgBox35 li:nth-child(2n) .box p.title {
    border-bottom: 2px solid #f59a17;
  }

  /* [sp] textImgBox36
  ----------------------------------------------------------*/
  .textImgBox36 li {
    overflow: hidden;
  }

  .textImgBox36 li p.date {
    padding-bottom: 0;
  }

  .textImgBox36 li p.date span {
    padding: 2px 5px;
    background: #efefef;
  }

  .textImgBox36 li p.title {
    padding-bottom: 2%;
    color: #74a917;
    font-size: 16px;
  }

  .textImgBox36 li .box {
    padding: 2% 0 8% 0;
    border-top: 1px solid #ccc;
    clear: both;
  }

  /* [sp] textImgBox37
  ----------------------------------------*/
  .textImgBox37 {
    overflow: hidden;
  }

  .textImgBox37 li {
    padding: 0 4% 4% 0;
    float: left;
    width: 48%;
  }

  .textImgBox37 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox37 li .photo {
    padding-bottom: 2%;
  }

  .textImgBox37 li .photo img {
    border: 1px solid #ccc;
    box-sizing: border-box;
    width: 100%;
  }

  .textImgBox37 p.title {
    padding-bottom: 2%;
    color: #248aca;
    font-size: 22px;
  }

  .textImgBox37 p.sub {
    padding-bottom: 2%;
    display: block;
    line-height: 120%;
    font-weight: normal;
    font-size: 14px;
  }

  /* [sp] textImgBox38
  ----------------------------------------------------------*/
  .textImgBox38 {
    padding-bottom: 4%;
    overflow: hidden;
  }

  .textImgBox38 .photo {
    float: left;
    width: 48%;
  }

  .textImgBox38 .photo img {
    width: 100%;
  }

  /* lead */
  .textImgBox38 .lead {
    padding-top: 4%;
    float: right;
    width: 48%;
  }

  .textImgBox38 .lead p.title {
    padding-bottom: 2%;
    font-weight: bold;
    font-size: 20px;
  }

  .textImgBox38 .lead p.title span {
    display: block;
    font-size: 14px;
  }

  /* box */
  .textImgBox38 .box {
    padding-top: 4%;
    clear: both;
  }

  .textImgBox38 .box p.title {
    padding-bottom: 2%;
    font-weight: bold;
    font-size: 20px;
  }

  .textImgBox38 .box a.btn02 {
    padding: 5px 0;
    background: #ca2437;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
  }

  /* [sp] textImgBox42
  ----------------------------------------------------------*/
  .textImgBox42 {
    margin-bottom: 20px;
  }

  .textImgBox42 li {
    padding-bottom: 10px;
  }

  .textImgBox42 li a {
    padding: 2% 0 2% 4%;
    border: 1px solid #ccc;
    background: #ffd232 url(../images/common/arrow01.gif) no-repeat 96% 50%;
    display: block;
    text-decoration: none;
    color: #222;
  }

  /* [sp] textImgBox43
  ----------------------------------------------------------*/
  .textImgBox43 {
    margin: 0 auto;
    padding-bottom: 4%;
    overflow: hidden;
  }

  .textImgBox43 li {
    overflow: hidden;
    color: #000;
    text-align: center;
  }

  .textImgBox43 .photo {
    float: left;
    width: 24%;
  }

  .textImgBox43 .photo img {
    width: 100%;
  }

  .textImgBox43 .box {
    float: right;
    width: 72%;
  }

  .textImgBox43 p.title {
    padding-bottom: 2%;
    color: #003b90;
    font-size: 22px;
  }

  .textImgBox43 .bgBox01 {
    border: 5px solid #003b90;
    padding: 4%;
  }

  .textImgBox43 .bgBox02 img {
    width: 10%;
  }

  /* last-chile */
  .textImgBox43 li:last-child .bgBox01 {
    margin-bottom: 0;
    padding-bottom: 4%;
    background: #003b90;
    color: #fff;
  }

  .textImgBox43 li:last-child .bgBox01 p.title {
    color: #fff;
  }

  /* [sp] textImgBox45
  ----------------------------------------------------------*/
  .textImgBox45 .photo img {
    padding-bottom: 8%;
    width: 100%;
  }

  .textImgBox45 .photoL img {
    padding-bottom: 8%;
    width: 100%;
  }

  .textImgBox45 .photoR img {
    padding-bottom: 8%;
    width: 100%;
  }

  .textImgBox45 .box {
    padding: 0 4% 4% 4%;
    color: #fff;
  }

  .textImgBox45 p {
    padding-bottom: 2%;
  }

  .textImgBox45 p.sub {
    font-size: 12px;
  }

  .textImgBox45 p.title {
    line-height: 120%;
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    font-weight: 600;
    font-size: 30px;
  }

  .textImgBox45 p.title span {
    display: block;
    font-size: 12px;
  }

  /* [sp] textImgBox46
  ----------------------------------------------------------*/
  .textImgBox46 {
    margin-top: 8%;
  }

  .textImgBox46 .title {
    padding-left: 8%;
    background: url(../images/icon02.png) no-repeat left 6%;
    font-weight: bold;
  }

  .textImgBox46 .photo img {
    padding-bottom: 8%;
    width: 100%;
  }

  .textImgBox46 .photoR img {
    padding-bottom: 8%;
    width: 100%;
  }

  .textImgBox46 .photoL img {
    padding-bottom: 8%;
    width: 100%;
  }

  /* [sp] textImgBox47
  ----------------------------------------------------------*/
  .textImgBox47 .photo img {
    width: 100%;
    padding-bottom: 8%;
  }

  .textImgBox47 dl {
    background: url(../images/line.png) repeat-y 20px 0;
  }

  .textImgBox47 dt {
    padding: 3% 16% 4%;
    background: url(../images/clock.png) no-repeat;
    font-size: 22px;
  }

  .textImgBox47 dd {
    padding: 0 16% 4%;
  }

  .textImgBox47 dd:last-child {
    background: #fff;
  }

  /* textImgBox49
  ----------------------------------------------------------*/
  .textImgBox49 li {
    padding-bottom: 2%;
  }

  .textImgBox49 li img {
    width: 100%;
  }

  /* [sp] textImgBox50
  ----------------------------------------*/
  .textImgBox50 li {
    padding-bottom: 2%;
  }

  .textImgBox50 li img {
    width: 100%;
  }

  /* [sp] textImgBox51
  ----------------------------------------*/
  .textImgBox51 li {
    padding-bottom: 2%;
  }

  .textImgBox51 li img {
    width: 100%;
  }

  /* textImgBox52
  ----------------------------------------*/
  .textImgBox52 li {
    padding-bottom: 4%;
  }

  .textImgBox52 li p.title {
    padding-bottom: 0;
    font-weight: 600;
    font-size: 20px;
  }

  .textImgBox52 li p.title span {
    margin-right: 2%;
    padding: 0 4%;
    background: #cd0000;
    border-radius: 30px;
    color: #fff;
    font-weight: 400;
    font-family: "Oswald", sans-serif;
    font-size: 14px;
  }

  /* LINE@ページのQR
  ----------------------------------------------------------*/
  #line {
    background: #fff;
  }

  #line h3 {
    margin-bottom: 4%;
    padding-bottom: 2%;
    font-size: 20px;
  }

  #line h3 span {
    border-bottom: 5px solid #4db848;
  }

  #line h4 {
    margin-bottom: 4%;
    padding: 2%;
    border-left: 7px solid #126c0e;
    background: #4db848;
    text-align: left;
    font-size: 16px;
  }

  #line h4 span {
    color: #fff;
  }

  /* borderBox01 */
  #line .textImgBox10 p.title {
    margin-bottom: 4%;
    padding-bottom: 2%;
    border-bottom: 3px solid #4db848;
    color: #4db848;
    font-size: 20px;
  }

  /* borderBox01 */
  #line .borderBox01 {
    margin-bottom: 0;
    border: none;
    background: #e5efd2;
  }

  /* QRコード */
  .linePcQrBox {
    display: none;
  }

  .lineSpQrBox {
    padding-bottom: 4%;
    text-align: center;
  }

  /* [sp] 求める人材像
  ----------------------------------------------------------*/
  #policyBox p.catch {
    margin-bottom: 4%;
    padding: 2%;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }

  #policyBox ul {
    margin: 4% 0;
  }

  #policyBox li {
    margin-bottom: 2%;
    padding: 4%;
    background: #094db1;
    color: #fff;
  }

  /* [sp] プライバシーポリシー
  ----------------------------------------------------------*/
  #privacyBox {
    overflow: auto;
    height: 300px;
  }

  #privacyBox p.title {
    font-weight: bold;
    font-size: 18px;
  }

  /* [sp] メールでのお問い合わせ
  ----------------------------------------------------------*/
  #contactBg {
    padding: 4%;
    border-radius: 6px;
    background: #b58c67;
  }

  #contactBg02 {
    padding: 0 4% 4% 4%;
    background: #fff;
    position: relative;
  }

  #contactBg02 .icon {
    text-align: center;
  }

  #contactBg02 .icon img {
    width: 50%;
  }

  /* 5つのお約束 */
  #contactBg ol.style01 {
    margin-left: 20px;
  }

  /* [sp] box_switch01
  ----------------------------------------------------------*/
  .switchNav01 {
    display: block;
    width: 100%;
    height: auto;
    border-left: none;
  }

  .switchNav01 li {
    display: block;
    float: none;
    margin-top: 10px;
    border: none;
    background: none;
  }

  .switchNav01.col2 li {
    width: 100%;
  }

  .switchNav01 li .tit {
    background-color: #333;
    background-image: url(../img/ico/ico_open01_sp.png);
    background-size: 16px 16px;
    background-repeat: no-repeat;
    background-position: 15px center;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
  }

  .switchNav01 li.open .tit {
    background-color: #333;
    background-image: url(../img/ico/ico_close01_sp.png);
  }

  .switchNav01 li .tit a,
.switchNav01 li .tit a:hover,
.switchNav01 li .tit a:focus,
.switchNav01 li.current .tit a {
    padding: 20px 45px;
    background-color: transparent;
    color: #fff;
    font-size: 128.57%;
    text-align: center;
  }

  .switchNav01 li .content {
    padding: 15px;
    border: 4px solid #333;
  }

  .box_switch01 .contentBox01 {
    display: none;
  }

  /* [sp] googleMapBox
  ----------------------------------------------------------*/
  .googleMapBox iframe {
    display: none;
  }

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

  /* [sp] textList01
  ----------------------------------------*/
  .textList01 li {
    padding: 10px 0;
    border-bottom: 1px dotted #ccc;
  }

  .textList01 li p {
    padding-bottom: 0;
  }

  .textList01 li .date {
    font-size: 11px;
  }

  /* pager
  ----------------------------------------------------------*/
  #pager {
    margin: 8% 0;
    text-align: center;
  }

  #pager a {
    margin-right: 5px;
    padding: 5px 15px;
    border: 1px solid #ed1b23;
    background: #ed1b23;
    text-decoration: none;
    color: #fff;
  }

  #pager a:hover {
    opacity: 0.6;
  }

  /* カレント */
  #pager span.current {
    margin-right: 5px;
    padding: 5px 15px;
    border: 1px solid #ed1b23;
    background: #fff;
    text-decoration: none;
    color: #ed1b23;
  }

  /* [sp] topNews01
  ----------------------------------------------------------*/
  #topNews01 p.newsTitle {
    margin: 0 -4%;
    padding: 2% 4%;
    background: #345700;
    color: #fff;
  }

  #topNews01 p {
    padding-bottom: 0;
  }

  #topNews01 li {
    padding: 4%;
    border-bottom: 1px solid #c7c7c7;
    overflow: hidden;
  }

  #topNews01 .date {
    float: left;
    width: 20%;
    font-size: 12px;
  }

  #topNews01 .cate {
    padding: 1% 0;
    background: #222;
    float: left;
    width: 30%;
    text-align: center;
    line-height: 1;
    color: #fff;
    font-size: 11px;
  }

  #topNews01 .body {
    clear: both;
  }

  /* お知らせ */
  #topNews01 .cate01 {
    background: #222;
  }

  /* 施工事例 */
  #topNews01 .cate02 {
    background: #345700;
  }

  /* イベント */
  #topNews01 .cate03 {
    background: #ff9900;
  }

  /* [sp] bnrLink01
  ----------------------------------------------------------*/
  .bnrLink01 {
    padding-bottom: 20px;
    text-align: center;
  }

  .bnrLink01 img {
    width: 100%;
  }

  /* [sp] アコーディオン
  ----------------------------------------------------------*/
  .trigger {
    margin-bottom: 15px;
    padding: 10px 15px;
    border: 1px solid #ccc;
    -webkit-box-shadow: 0 7px 6px -6px #777;
    -moz-box-shadow: 0 7px 6px -6px #777;
    box-shadow: 0 7px 6px -6px #777;
  }

  .open-close {
    padding: 0 7px;
    background: #ca2437;
    border-radius: 50%;
    float: right;
    color: #fff;
  }

  /* [sp] contents
  ----------------------------------------*/
  /* [sp] YouTube
  ----------------------------------------------------------*/
  .videoContainer {
    margin-bottom: 4%;
    position: relative;
    padding: 30px 0 56.25% 0;
    height: 0;
    overflow: hidden;
  }

  .videoContainer iframe,
.videoContainer object,
.videoContainer embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* [sp] GoogleMap埋込み
  ----------------------------------------------------------*/
  .iframeMap {
    display: none;
  }

  .mapBtn {
    text-align: center;
  }

  .mapBtn img {
    width: 70%;
  }

  /* [sp] box01
  ----------------------------------------------------------*/
  .box01 {
    padding: 20px 0 20px 0;
    overflow: hidden;
  }

  /* [sp] [TABLE] style01
  ----------------------------------------------------------*/
  table.style01 {
    margin-bottom: 4%;
    width: 100%;
  }

  table.style01 th {
    padding: 4%;
    background: #519027;
    border: 1px solid #519027;
    display: block;
    vertical-align: top;
    color: #fff;
  }

  table.style01 th.title {
    background: #efefef;
    color: #333;
  }

  table.style01 td {
    padding: 4%;
    border: 1px solid #519027;
    display: block;
    vertical-align: top;
  }

  /* [sp] [TABLE] style02
  ----------------------------------------------------------*/
  table.style02 {
    margin-bottom: 4%;
    width: 100%;
  }

  table.style02 th {
    padding: 4%;
    background: #519027;
    display: block;
    vertical-align: top;
  }

  table.style02 td {
    padding: 4%;
    display: block;
    vertical-align: top;
  }

  /* [sp] [TABLE] style03
  ----------------------------------------------------------*/
  table.style03 {
    margin-bottom: 4%;
    width: 100%;
  }

  table.style03 th {
    padding: 4%;
    border-bottom: 1px solid #519027;
    display: block;
    vertical-align: top;
    color: #519027;
  }

  table.style02 th.title {
    background: #efefef;
  }

  table.style03 td {
    padding: 4%;
    border-bottom: 1px solid #519027;
    display: block;
    vertical-align: top;
  }

  /* [sp] [UL] style01
  ----------------------------------------------------------*/
  ul.style01 {
    margin-left: 4%;
    list-style-type: disc;
  }

  ul.style01 li {
    padding-bottom: 4%;
  }

  ul.style01 li:last-child {
    padding-bottom: 0;
  }

  /* [sp] [OL] style01
  ----------------------------------------------------------*/
  ol.style01 {
    margin-left: 4%;
    list-style-type: decimal;
  }

  ol.style01 li {
    padding-bottom: 4%;
  }

  ol.style01 li:last-child {
    padding-bottom: 0;
  }

  /* [sp] [DL] style01
  ----------------------------------------------------------*/
  dl.style01 dt {
    padding: 4% 0 2% 0;
    font-size: 18px;
  }

  dl.style01 dd {
    padding-bottom: 4%;
    border-bottom: 1px solid #ccc;
  }

  dl.style01 dt:first-child {
    padding-top: 0;
  }

  /* [sp] パンくずリスト
  ----------------------------------------------------------*/
  #breadcrumb {
    padding: 10px 0 30px 0;
  }

  #breadcrumb li {
    display: inline;
  }

  #breadcrumb a {
    padding: 0 12px 0 0;
    background: url(../images/common/topic_path.gif) no-repeat right;
  }

  /* [sp] tableWidthBox01
  ----------------------------------------------------------*/
  .tableWidthBox01 {
    margin-bottom: 30px;
    width: 100%;
    overflow-x: auto;
  }

  .tableWidthBox01 table {
    width: 960px;
  }

  .tableWidthBox01 th,
.tableWidthBox01 td {
    display: table-cell;
  }

  .tableWidthBox01 th {
    padding: 2%;
    border-bottom: 1px solid #dfdfdf;
    background: #fff;
    vertical-align: top;
  }

  .tableWidthBox01 td {
    padding: 2%;
    border-bottom: 1px solid #dfdfdf;
    vertical-align: top;
  }

  /* [sp] tableWidthBox02
  ----------------------------------------------------------*/
  .tableWidthBox02 table.style01 {
    border-collapse: collapse;
    border-spacing: 0 !important;
    display: block;
    position: relative;
  }

  .tableWidthBox02 table.style01 thead {
    display: block;
    float: left;
  }

  .tableWidthBox02 table.style01 tbody {
    display: block;
    position: relative;
    width: auto;
    overflow-x: auto;
    white-space: nowrap;
  }

  .tableWidthBox02 table.style01 thead th {
    background: #ffc;
    display: block;
  }

  .tableWidthBox02 table.style01 tbody td {
    display: block;
  }

  .tableWidthBox02 table.style01 tbody tr {
    display: inline-block;
  }

  .tableWidthBox02 table.style01 th:not(:last-child) {
    border-bottom: none;
  }

  .tableWidthBox02 table.style01 td:not(:last-child) {
    border-bottom: none;
  }

  .tableWidthBox02 table.style01 td {
    border-left: none;
  }

  /* デザイン */
  .tableWidthBox02 table.style01 th {
    padding: 5px 10px;
    border: 1px solid #dfdfdf;
    vertical-align: top;
    font-weight: bold;
  }

  .tableWidthBox02 table.style01 td {
    padding: 5px 10px;
    border: 1px solid #dfdfdf;
    vertical-align: top;
  }

  /* [sp] dateBox（共通）
  ----------------------------------------------------------*/
  .dateBox {
    margin-bottom: 4%;
    padding: 4%;
    background: #efefef;
    overflow: hidden;
    line-height: 170%;
    font-size: 12px;
  }

  .dateBox li.date {
    padding-right: 4%;
    float: left;
  }

  .dateBox li.icon {
    margin-right: 4%;
    padding: 0 4%;
    border-radius: 2px;
    float: left;
  }

  .dateBox li.bg01 {
    border: 1px solid #ccc;
  }

  /* [sp] footerBnrList
  ----------------------------------------------------------*/
  #footerBnrList {
    width: 100%;
    overflow: hidden;
    background: #333;
    padding: 3% 0;
  }

  #footerBnrList ul {
    width: 94%;
    margin: 0 auto;
  }

  #footerBnrList li:first-child {
    width: 100%;
    float: left;
    padding: 0 0 1%;
  }

  #footerBnrList li:first-child img {
    width: 100%;
  }

  #footerBnrList li {
    width: 32%;
    float: left;
    padding: 0 2% 0 0;
  }

  #footerBnrList li img {
    width: 100%;
  }

  #footerBnrList li:last-child {
    padding: 0 0 0 0;
  }

  /* [sp] footer footerType03
  ----------------------------------------------------------*/
  #footerType03 #footerLogo {
    width: 100%;
    padding-bottom: 4%;
  }

  #footerLogo img {
    width: 100%;
  }

  #footerType03 address {
    padding-bottom: 4%;
  }

  #footerType03 address dt {
    padding-bottom: 4%;
    font-weight: bold;
    font-size: 14px;
  }

  #footerType03 #fNavi p {
    padding: 2%;
    border-top: 1px solid #005ac9;
  }

  #footerType03 #fNavi p a {
    display: block;
    background: url(../images/common/arrow01.gif) no-repeat 96% 50%;
  }

  #footerType03 a {
    text-decoration: none;
  }

  /* [sp] footer footerType02
  ----------------------------------------------------------*/
  footer#footerType02 {
    margin-bottom: 4%;
    overflow: hidden;
    color: #fff;
  }

  footer#footerType02 a {
    color: #fff;
  }

  footer#footerType02 .box01 {
    background: #444;
    display: block;
  }

  footer#footerType02 .inner {
    padding: 0 4%;
  }

  /* facebookページ */
  footer#footerType02 #photoBox {
    padding-bottom: 4%;
  }

  /* 住所 */
  footer#footerType02 address dt {
    padding-bottom: 2%;
    border-bottom: 1px solid #ccc;
  }

  footer#footerType02 address dd {
    padding: 2% 0 4% 0;
  }

  /* あああああ株式会社 */
  footer#footerType02 address .style01 {
    margin-bottom: 4%;
    padding: 4%;
    background: #6c6c6c;
    font-size: 12px;
  }

  footer#footerType02 address .style01 dt {
    padding-bottom: 2%;
    border-bottom: 1px solid #ccc;
  }

  footer#footerType02 address .style01 dd {
    padding: 2% 0;
    background: none;
  }

  /* ロゴ */
  footer#footerType02 #footerLogo {
    padding-bottom: 4%;
    font-size: 16px;
  }

  /* footerBox */
  footer#footerType02 #footerBox {
    padding-bottom: 4%;
    font-size: 16px;
  }

  footer#footerType02 #footerLogo img {
    width: 100%;
  }

  /* fNavi */
  footer#footerType02 #fNavi {
    margin-bottom: 4%;
  }

  footer#footerType02 #fNavi li {
    border-bottom: 1px solid #ccc;
  }

  footer#footerType02 #fNavi a {
    padding: 2% 4%;
    background: url(../images/common/arrow01.gif) no-repeat 96% 50%;
    display: block;
    text-decoration: none;
    color: #333;
  }

  /* コピーライト */
  footer#footerType02 #copy {
    padding: 4%;
    text-align: center;
    font-size: 11px;
  }

  /* [sp] footer footerType01
  ----------------------------------------------------------*/
  footer#footerType01 {
    margin-bottom: 4%;
    background: #78ba1d;
    color: #fff;
  }

  footer#footerType01 .innerBox {
    padding: 0;
  }

  footer#footerType01 a {
    color: #fff;
  }

  footer#footerType01 .box01 {
    padding: 0;
  }

  /* ロゴ */
  footer#footerType01 #footerLogo {
    display: none;
  }

  /* 住所 */
  footer#footerType01 address {
    padding: 4%;
    text-align: center;
  }

  /* バナー */
  footer#footerType01 #bnrList {
    padding: 4%;
    overflow: hidden;
  }

  footer#footerType01 #bnrList li {
    padding: 0 2% 2% 0;
    float: left;
    width: 49%;
  }

  footer#footerType01 #bnrList li:nth-child(2n) {
    padding-right: 0;
  }

  footer#footerType01 #bnrList li:last-child {
    padding-bottom: 0;
  }

  footer#footerType01 #bnrList img {
    width: 100%;
  }

  /* [sp] fNavi */
  footer#footerType01 #fNavi {
    margin: 0;
  }

  footer#footerType01 #fNavi li {
    padding: 2% 4%;
    border-bottom: 1px solid #fff;
  }

  footer#footerType01 #fNavi a {
    padding: 0;
    background: url(../images/common/arrow02.gif) no-repeat 100% 50%;
    display: block;
    text-decoration: none;
    width: 100%;
    color: #fff;
  }

  /* コピーライト */
  #copy {
    padding: 4%;
    text-align: center;
    font-size: 10px;
  }

  /* [sp] pageTop
  ----------------------------------------------------------*/
  #pageTop {
    display: block;
    width: 100%;
    height: 50px;
    line-height: 50px;
    background: #ed1b23;
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
  }

  .textImgBox49 li.main_read {
    margin-top: 30px;
    line-height: 180%;
    padding-bottom: 30px;
  }

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

  .textImgBox49 li h2 {
    font-size: 36px;
    line-height: 140%;
    color: #333;
    font-weight: bold;
    letter-spacing: 0.3rem;
    margin-top: 50px;
  }

  /* [sp] textImgBox53
  ----------------------------------------*/
  .textImgBox53 {
    color: white;
  }

  .textImgBox53 a {
    color: inherit;
  }

  .textImgBox53 li a {
    color: inherit;
  }

  .textImgBox53 li.about a {
    color: inherit;
  }

  .textImgBox53 li.about {
    padding-bottom: 2%;
    background: #0c4da2;
  }

  .textImgBox53 li.about .photo {
    padding: 8% 0 4%;
    width: 100%;
    height: auto;
  }

  .textImgBox53 li.about .photo img {
    width: 90%;
    height: auto;
    margin: 0 auto;
    display: block;
  }

  .textImgBox53 li.about .photo .caption {
    width: 90%;
    margin: 5px auto 0;
  }

  .textImgBox53 li.about .box {
    padding: 20px;
  }

  .textImgBox53 li.about .box:after {
    content: " ";
    display: block;
    clear: both;
  }

  .textImgBox53 li.rosen {
    padding-bottom: 2%;
    background: #ddd;
    color: #333346;
  }

  .textImgBox53 li.rosen .photo {
    padding: 8% 0 4%;
    width: 100%;
    height: auto;
  }

  .textImgBox53 li.rosen .photo img {
    width: 90%;
    height: auto;
    margin: 0 auto;
    display: block;
  }

  .textImgBox53 li.rosen .photo .caption {
    width: 90%;
    margin: 5px auto 0;
  }

  .textImgBox53 li.rosen .box {
    padding: 20px;
  }

  .textImgBox53 li.rosen .box:after {
    content: " ";
    display: block;
    clear: both;
  }

  .textImgBox53 .box a,
.textImgBox53 .box a:visited {
    color: white;
  }

  .textImgBox53 .caption {
    font-size: 14px;
  }

  .textImgBox53 li.about .box {
    padding-bottom: 8%;
  }

  .textImgBox46 .photoR img,
.textImgBox46 .photoL img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
    padding-bottom: 10px;
  }

  .textImgBox46 .photoR .caption,
.textImgBox46 .photoL .caption {
    padding-bottom: 30px;
    font-size: 14px;
  }

  .textImgBox46 p.title {
    font-weight: bold;
    margin-top: 0;
    color: #0c4da2;
    padding: 4% 0 4% 20px;
    background: url(../images/icon02.png) no-repeat center left;
    font-size: 20px;
  }

  .textImgBox46 p.title.large {
    padding: 0;
    margin-top: 8%;
    background: none;
    font-size: 36px;
    color: #333346;
    font-weight: bold;
  }

  .textImgBox35 {
    margin-top: 0;
  }

  .textImgBox35 .corporate {
    background: white;
    margin-bottom: 0;
  }

  .textImgBox35 .corporate:first-of-type .box p.title {
    color: white;
    background: #117cb0;
    border-bottom: #117cb0;
    padding-left: 4.6%;
    padding-top: 2%;
    margin-left: -4.6%;
    margin-right: -4.6%;
  }

  .textImgBox35 .corporate:nth-of-type(2) .box p.title {
    border-bottom: 2px solid #117cb0;
  }

  .textImgBox35 .photo img {
    width: 80%;
    height: auto;
    display: block;
    margin: 4% auto 0;
  }

  .textImgBox35 li.profile {
    background: white;
    border-bottom: 1px solid #eee;
  }

  .textImgBox35 li.profile:last-of-type {
    border-bottom: none;
  }

  .textImgBox35 .box {
    padding-bottom: 4%;
  }

  .profile_title {
    color: white;
    background: #0c4da2;
    padding: 4% 0 4% 4%;
    margin-top: 50px;
  }

      
    .pc {
      display: none;
    }
    .sp {
      display: block;
    }

    .f26 {
      font-size: 17px !important;
    }

    .cl4_6 {
      display: block !important;
    }

    .cl50 {
      display: block !important;
    }

    .container03 {
      display: block;
      margin: 30px 0 !important;
    }

    .runner_text {
      margin-left: 0px;
      width: 100%;
    }
    .qr {
      margin-left: 0px !important;
      width: 24%;
      position: absolute;
      right: 9px;
    }
    .flex {
      width: 100% !important;
      display: block;
    }
    .message_logo {
      width: 43%;
      position: absolute;
      right: 5%;
      top: 1%;
    }
    .runner {
      margin: 0 auto;
    }
    .message_tit{
      font-size: 22px;
      margin-bottom: 10px;
      padding-top: 44px;
    }
    .bg_red {
    transform: translate(0px, -8px);
    }
    .container03:last-child {
      margin-bottom: 30px !important;
    }
    .movie_sp {
      align-items: center;
      padding: 20px;
      margin-bottom: 10px;
      font-size: 13px;
      margin: 20px;
      border: 3px solid #008ED8;
      background-color: #ffffffde;
    }
    .float_r > img {
      width: 100% !important;
    }

    .float_l  > img {
      width: 100% !important;
    }

}
/* ---------------------------------------------------------------------------

	パソコン（ブラウザの横幅が指定したpx以上の時に適用されます）

--------------------------------------------------------------------------- */
@media screen and (min-width: 960px) {
  body {
    font-size: 16px;
    line-height: 150%;
  }

  /* a */
  a img:hover {
    opacity: 0.6;
  }

  /* P */
  p {
    padding: 0 0 20px 0;
    line-height: 170%;
  }

  p:last-child {
    padding-bottom: 0;
  }

  /* PC版の発信リンクを無効にする */
  a.telLink {
    pointer-events: none;
    text-decoration: none;
  }

  /* PCでは非表示
  ----------------------------------------*/
  .pcNone {
    display: none;
  }

  /* ---------------------------------------------------------------------------------------------------------------------------------------
  ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼　必ず設定する　▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
  ------------------------------------------------------------------------------------------------------------------------------------------*/
  /* ベースの横幅
  ----------------------------------------------------------*/
  .innerBox {
    margin: 0 auto;
    padding-bottom: 100px;
    width: 960px;
    overflow: hidden;
  }

  /* borderBox01
  ----------------------------------------------------------*/
  .borderBox01 {
    margin: 0 auto 100px auto;
    padding: 60px;
    border-radius: 20px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    width: 960px;
  }

  .borderBox01 p.title {
    padding-bottom: 20px;
    text-align: center;
    font-weight: bold;
    font-size: 24px;
  }

  /* ----------------------------------------------------------------------------------------------------------------------------------------
  ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
  --------------------------------------------------------------------------------------------------------------------------------------- */
  /* 背景色
  ----------------------------------------------------------*/
  .innerBoxColor01 {
    margin-bottom: 80px;
    padding-top: 80px;
    background: #58b530;
    color: #fff;
  }

  .innerBoxColor01 .innerBox {
    padding-bottom: 80px;
  }

  .innerBoxColor02 {
    background: url(../images/common/innerBoxColor04.jpg) no-repeat top center;
  }

  /* パンくずリスト
  ----------------------------------------------------------*/
  #breadcrumbs {
    margin-bottom: 50px;
    padding: 5px 0;
    background: #cdd9f1;
    font-size: 11px;
  }

  #breadcrumbs ul {
    margin: 0 auto;
    width: 960px;
  }

  #breadcrumbs .innerBox {
    padding-bottom: 0;
  }

  #breadcrumbs li {
    display: inline;
  }

  #breadcrumbs a {
    padding: 0 12px 0 0;
    background: url(../images/common/topic_path.gif) no-repeat 90% 50%;
  }

  /* ヘディングタグ
  ----------------------------------------------------------*/
  h3 {
    margin-bottom: 50px;
    padding-bottom: 5px;
    text-align: center;
  }

  h4 {
    margin-bottom: 30px;
    padding-top: 40px;
    background: #e2e9f7;
    border-left: 8px solid #003399;
  }

  h4 span {
    font-size: 20px;
  }

  /* YouTube
  ----------------------------------------------------------*/
  .videoContainer {
    text-align: center;
  }

  .videoContainer iframe,
.videoContainer object,
.videoContainer embed {
    width: 100%;
  }

  /* 各ページのメイン画像
  ----------------------------------------------------------*/
  #pageMainPhoto {
    padding-bottom: 40px;
    text-align: center;
  }

  /* textImgBox01
  ----------------------------------------*/
  .textImgBox01 {
    overflow: hidden;
  }

  .textImgBox01 li {
    padding: 0 6% 40px 0;
    float: left;
    width: 47%;
  }

  .textImgBox01 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox01 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox01 li .photo {
    float: left;
    width: 20%;
  }

  .textImgBox01 li .photo img {
    width: 100%;
  }

  .textImgBox01 li .box {
    float: right;
    width: 76%;
  }

  .textImgBox01 p.title {
    padding-bottom: 5px;
    line-height: 140%;
    font-weight: bold;
    font-size: 18px;
  }

  .textImgBox01 table {
    border-collapse: separate;
    border-spacing: 2px;
  }

  .textImgBox01 th {
    padding: 2px 6px;
    background: #f2f2f2;
    width: 60px;
  }

  .textImgBox01 td {
    padding: 2px 6px;
  }

  /* textImgBox02
  ----------------------------------------*/
  .textImgBox02 {
    overflow: hidden;
  }

  .textImgBox02 li {
    padding: 0 4% 60px 0;
    float: left;
    width: 48%;
  }

  .textImgBox02 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox02 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox02 li .photo {
    padding-bottom: 10px;
  }

  .textImgBox02 li .photo img {
    width: 100%;
  }

  .textImgBox02 p.title {
    padding-bottom: 10px;
    font-size: 24px;
  }

  .textImgBox02 p.sub {
    padding-bottom: 0;
    font-size: 18px;
  }

  /* textImgBox03
  ----------------------------------------*/
  .textImgBox03 {
    overflow: hidden;
  }

  .textImgBox03 li {
    padding: 0 2% 20px 0;
    float: left;
    width: 23.5%;
  }

  .textImgBox03 li:nth-child(4n) {
    padding-right: 0;
  }

  .textImgBox03 li:nth-child(4n+1) {
    clear: both;
  }

  .textImgBox03 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox03 li .photo img {
    width: 100%;
  }

  .textImgBox03 li p.title {
    padding-bottom: 0;
  }

  /* textImgBox04
  ----------------------------------------*/
  .textImgBox04 {
    overflow: hidden;
  }

  .textImgBox04 li {
    padding: 0 2% 20px 0;
    float: left;
    width: 23.5%;
  }

  .textImgBox04 li:nth-child(4n) {
    padding-right: 0;
  }

  .textImgBox04 li:nth-child(4n+1) {
    clear: both;
  }

  .textImgBox04 li .photo {
    padding-bottom: 10px;
  }

  .textImgBox04 li .photo img {
    width: 100%;
  }

  .textImgBox04 p {
    line-height: 140%;
  }

  .textImgBox04 li p.title {
    padding-bottom: 5px;
    font-size: 16px;
  }

  .textImgBox04 p.sub {
    padding-bottom: 0;
    font-size: 12px;
  }

  .textImgBox04 p.title {
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e0e0;
    font-size: 16px;
  }

  .textImgBox04 p.name span {
    padding-left: 5px;
    font-size: 12px;
  }

  .textImgBox04 p.catch {
    padding-top: 10px;
  }

  /* textImgBox05
  ----------------------------------------------------------*/
  .textImgBox05 {
    overflow: hidden;
  }

  .textImgBox05 li {
    padding: 0 2% 20px 0;
    float: left;
    width: 15%;
  }

  .textImgBox05 li:nth-child(6n) {
    padding-right: 0;
  }

  .textImgBox05 li:nth-child(6n+1) {
    clear: both;
  }

  .textImgBox05 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox05 li .photo img {
    width: 100%;
    height: 100%;
  }

  .textImgBox05 li p.title {
    padding-bottom: 0;
    text-align: center;
  }

  /* textImgBox06
  ----------------------------------------------------------*/
  .textImgBox06 {
    overflow: hidden;
  }

  .textImgBox06 li {
    padding: 0 2% 20px 0;
    float: left;
    width: 23.5%;
  }

  .textImgBox06 li:nth-child(4n) {
    padding-right: 0;
  }

  .textImgBox06 li:nth-child(4n+1) {
    clear: both;
  }

  .textImgBox06 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox06 li .photo img {
    width: 100%;
  }

  .textImgBox06 li p.title {
    padding-bottom: 0;
    text-align: center;
    font-size: 18px;
  }

  /* textImgBox07
  ----------------------------------------------------------*/
  .textImgBox07 {
    overflow: hidden;
  }

  .textImgBox07 .box {
    float: left;
    width: 48%;
  }

  /* ボタンリンク */
  .textImgBox07 .bnr {
    float: right;
    width: 48%;
  }

  .textImgBox07 .bnr img {
    width: 100%;
  }

  /* お知らせなど */
  .textImgBox07 .box li {
    padding-bottom: 10px;
    overflow: hidden;
  }

  .textImgBox07 h3.style04 {
    margin-bottom: 15px;
    padding: 7px 0 7px 20px;
    border-left: 5px solid #248aca;
    font-size: 24px;
  }

  .textImgBox07 h3.style04 span {
    display: block;
    color: #aaa;
    font-size: 10px;
  }

  .textImgBox07 .box li p {
    padding-bottom: 0;
  }

  .textImgBox07 .box li p.date {
    padding-bottom: 0;
    float: left;
    width: 12%;
  }

  .textImgBox07 .box li p.title {
    padding-bottom: 0;
    float: right;
    width: 84%;
  }

  /* textImgBox08
  ----------------------------------------------------------*/
  .textImgBox08 {
    overflow: hidden;
  }

  .textImgBox08 li {
    margin: 0 2% 20px 0;
    float: left;
    width: 32%;
  }

  .textImgBox08 li:nth-child(3n) {
    margin-right: 0;
  }

  .textImgBox08 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox08 a {
    padding: 130px 0 30px 0;
    display: block;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
  }

  .textImgBox08 span {
    padding-top: 10px;
    display: block;
    font-weight: normal;
    font-size: 11px;
  }

  /* btn01 */
  .textImgBox08 li#btn01 {
    background: url(../images/sample_photo.jpg) no-repeat;
    background-size: cover;
  }

  /* btn02 */
  .textImgBox08 li#btn02 {
    background: url(../images/sample_photo.jpg) no-repeat;
    background-size: cover;
  }

  /* btn03 */
  .textImgBox08 li#btn03 {
    background: url(../images/sample_photo.jpg) no-repeat;
    background-size: cover;
  }

  .textImgBox08 a {
    background-color: rgba(0, 0, 0, 0.5);
  }

  .textImgBox08 a:hover {
    background-color: rgba(255, 255, 255, 0);
  }

  /* textImgBox09
  ----------------------------------------------------------*/
  .textImgBox09 {
    overflow: hidden;
  }

  .textImgBox09 .photo {
    float: left;
    width: 30%;
  }

  .textImgBox09 .photo img {
    width: 100%;
  }

  .textImgBox09 .box {
    float: right;
    width: 67%;
  }

  .textImgBox09 .box p.title {
    padding-bottom: 10px;
    font-size: 30px;
  }

  .textImgBox09 .box p.sub {
    padding-bottom: 10px;
    font-size: 24px;
  }

  .textImgBox09 .name {
    padding-top: 20px;
    text-align: right;
  }

  .textImgBox09 .name span {
    font-size: 22px;
  }

  /* textImgBox10
  ----------------------------------------------------------*/
  .textImgBox10 {
    overflow: hidden;
  }

  .textImgBox10 .photo {
    float: left;
    width: 48%;
  }

  .textImgBox10 .photo img {
    width: 100%;
  }

  .textImgBox10 .box {
    float: right;
    width: 48%;
  }

  .textImgBox10 .box p.title {
    padding-bottom: 10px;
    font-size: 30px;
  }

  .textImgBox10 .box p.sub {
    padding-bottom: 10px;
    font-size: 24px;
  }

  .textImgBox10 .box a.btn02 {
    margin-right: 0;
    padding: 10px 0;
    display: block;
    width: 200px;
    text-align: center;
    text-decoration: none;
    font-size: 14px;
  }

  /* テーブル */
  .textImgBox10 th.title {
    padding: 20px 0 5px 5px;
    border-bottom: 1px dashed #ccc;
    font-size: 22px;
  }

  .textImgBox10 td.price {
    padding: 10px 0 5px 5px;
    border-bottom: 1px dashed #ccc;
    text-align: right;
  }

  .textImgBox10 td.price span {
    text-align: right;
    color: #ae1c1e;
    font-size: 26px;
  }

  .textImgBox10 td.price span.sub {
    display: block;
    color: #444;
    font-size: 12px;
  }

  /* telephone */
  .textImgBox10 .telephone p.title {
    margin-bottom: 15px;
    padding-bottom: 5px;
    background: none;
    border-left: none;
    border-bottom: 1px solid #345700;
    color: #345700;
    font-weight: bold;
    font-size: 18px;
  }

  .textImgBox10 .telephone p.tel {
    padding-left: 85px;
    background: url(../images/common/arrow_tel02.png) no-repeat;
    background-size: 70px;
    font-size: 16px;
  }

  .textImgBox10 .telephone p.tel span {
    display: block;
    color: #e60012;
    line-height: 95%;
    font-weight: bold;
    font-size: 50px;
  }

  /* textImgBox11
  ----------------------------------------------------------*/
  .textImgBox11 {
    overflow: hidden;
  }

  .textImgBox11 .photo {
    float: right;
    width: 48%;
  }

  .textImgBox11 .photo img {
    width: 100%;
  }

  .textImgBox11 .box {
    float: left;
    width: 48%;
  }

  .textImgBox11 .box p.title {
    padding-bottom: 10px;
    font-size: 30px;
  }

  .textImgBox11 .box p.sub {
    padding-bottom: 10px;
    font-size: 24px;
  }

  .textImgBox11 .box a.btn02 {
    padding: 5px 0;
    background: #ca2437;
    display: block;
    width: 150px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
  }

  /* textImgBox12
  ----------------------------------------------------------*/
  .textImgBox12 {
    overflow: hidden;
  }

  .textImgBox12 li {
    padding: 0 2% 20px 0;
    float: left;
    width: 18.4%;
  }

  .textImgBox12 li:nth-child(5n) {
    padding-right: 0;
  }

  .textImgBox12 li:nth-child(5n+1) {
    clear: both;
  }

  .textImgBox12 li .photo {
    padding-bottom: 5px;
  }

  .textImgBox12 li .photo img {
    width: 100%;
  }

  .textImgBox12 li p.title {
    padding-bottom: 0;
    text-align: center;
    font-size: 18px;
  }

  /* textImgBox13
  ----------------------------------------*/
  .textImgBox13 {
    overflow: hidden;
  }

  .textImgBox13 li {
    padding: 0 2% 6% 0;
    float: left;
    width: 32%;
  }

  .textImgBox13 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox13 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox13 li .photo {
    margin-bottom: 10px;
  }

  .textImgBox13 li .photo img {
    width: 100%;
  }

  .textImgBox13 p.title {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
    color: #248aca;
    font-weight: bold;
    font-size: 16px;
  }

  .textImgBox13 p.sub {
    padding-bottom: 5px;
    display: block;
    font-weight: normal;
    font-size: 12px;
  }

  .textImgBox13 .body p {
    padding-bottom: 20px;
    line-height: 140%;
  }

  /* textImgBox14
  ----------------------------------------*/
  .textImgBox14 {
    overflow: hidden;
  }

  .textImgBox14 li {
    padding: 0 2% 70px 0;
    float: left;
    width: 32%;
  }

  .textImgBox14 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox14 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox14 li p.title {
    margin-bottom: 20px;
    padding-bottom: 5px;
    border-bottom: 1px solid #e1e1e1;
    text-align: center;
    color: #0058a1;
    font-weight: bold;
    font-size: 20px;
  }

  .textImgBox14 li .photo {
    text-align: center;
  }

  .textImgBox14 li .photo img {
    text-align: center;
    width: 80%;
  }

  .textImgBox14 li .body {
    padding: 0 30px;
  }

  /* textImgBox15
  ----------------------------------------*/
  .textImgBox15 {
    overflow: hidden;
  }

  .textImgBox15 li {
    padding: 0 2% 70px 0;
    float: left;
    width: 32%;
  }

  .textImgBox15 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox15 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox15 li p.title {
    margin-bottom: 20px;
    padding-bottom: 5px;
    border-bottom: 1px solid #e1e1e1;
    text-align: center;
    color: #0058a1;
    font-weight: bold;
    font-size: 20px;
  }

  .textImgBox15 li th,
.textImgBox15 li td {
    padding: 15px 10px 5px 10px;
    border-bottom: 1px solid #e1e1e1;
  }

  .textImgBox15 li th {
    padding-left: 28px;
  }

  .textImgBox15 li th.no01 {
    background: url(../images/common/arrow_no01.gif) no-repeat 0 15px;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox15 li th.no02 {
    background: url(../images/common/arrow_no02.gif) no-repeat 0 15px;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox15 li th.no03 {
    background: url(../images/common/arrow_no03.gif) no-repeat 0 15px;
    font-weight: bold;
    font-size: 14px;
  }

  .textImgBox15 li td.no01,
.textImgBox15 li td.no02,
.textImgBox15 li td.no03 {
    color: #a10008;
    font-weight: bold;
    font-size: 16px;
  }

  .textImgBox15 li td {
    text-align: right;
    vertical-align: bottom;
    width: 50px;
  }

  .textImgBox15 li .body {
    padding: 10px 20px 0 20px;
  }

  /* textImgBox16
  ----------------------------------------*/
  .textImgBox16 {
    overflow: hidden;
  }

  .textImgBox16 li {
    padding: 0 4% 80px 0;
    float: left;
    width: 30.666%;
  }

  .textImgBox16 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox16 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox16 li .photo {
    float: left;
    width: 30%;
  }

  .textImgBox16 li .photo img {
    width: 100%;
  }

  .textImgBox16 li .box {
    float: right;
    width: 66%;
  }

  .textImgBox16 li .box p {
    padding: 0;
  }

  .textImgBox16 li .box p.rank {
    padding-top: 10px;
    font-size: 14px;
  }

  .textImgBox16 li .box p.name {
    padding-bottom: 5px;
    border-bottom: 1px solid #e0e0e0;
    font-size: 16px;
  }

  .textImgBox16 li .box span {
    font-size: 11px;
  }

  .textImgBox16 li p.catch {
    padding-top: 5px;
  }

  /* textImgBox17
  ----------------------------------------*/
  .textImgBox17 {
    overflow: hidden;
  }

  .textImgBox17 .titleText {
    text-align: center;
    font-weight: bold;
    font-size: 24px;
  }

  .textImgBox17 .imgBox01 {
    float: left;
    width: 47%;
  }

  .textImgBox17 .imgBox02 {
    float: right;
    width: 47%;
  }

  .textImgBox17 li {
    padding: 20px 0;
    border-bottom: 1px dashed #ccc;
    overflow: hidden;
  }

  .textImgBox17 li .photo {
    float: left;
    width: 30%;
  }

  .textImgBox17 li .photo img {
    width: 100%;
  }

  .textImgBox17 li .box {
    float: right;
    width: 66%;
  }

  .textImgBox17 li .box p {
    padding: 0;
  }

  .textImgBox17 li .box p.title {
    padding-bottom: 5px;
    font-size: 18px;
  }

  .textImgBox17 li p.catch {
    padding-top: 5px;
  }

  /* textImgBox18
  ----------------------------------------------------------*/
  .textImgBox18 li {
    margin-bottom: 20px;
  }

  .textImgBox18 a {
    padding: 80px 0;
    display: block;
    text-decoration: none;
    text-align: center;
    color: #fff;
    font-size: 30px;
  }

  .textImgBox18 span {
    display: block;
    font-weight: normal;
    font-size: 22px;
  }

  /* btn01 */
  .textImgBox18 li#btn01 {
    background: url(../images/sample_btn01.jpg) no-repeat;
    background-size: cover;
  }

  /* btn02 */
  .textImgBox18 li#btn02 {
    background: url(../images/sample_btn02.jpg) no-repeat;
    background-size: cover;
  }

  /* btn03 */
  .textImgBox18 li#btn03 {
    background: url(../images/sample_btn03.jpg) no-repeat;
    background-size: cover;
  }

  .textImgBox18 a {
    background-color: rgba(0, 0, 0, 0.5);
  }

  .textImgBox18 a:hover {
    background-color: rgba(255, 255, 255, 0);
  }

  /* textImgBox19
  ----------------------------------------------------------*/
  .textImgBox19 {
    margin: 0 auto;
    overflow: hidden;
    width: 60%;
  }

  .textImgBox19 li {
    margin-bottom: 30px;
    padding-bottom: 60px;
    background: url(../images/yazi.gif) no-repeat center bottom;
    background-size: 30px;
    overflow: hidden;
  }

  .textImgBox19 li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    background: none;
  }

  .textImgBox19 .photo {
    float: left;
    width: 36%;
  }

  .textImgBox19 .photo img {
    width: 100%;
  }

  .textImgBox19 .box {
    float: right;
    width: 60%;
  }

  .textImgBox19 .box p.title {
    padding-bottom: 0;
    font-size: 22px;
  }

  .textImgBox19 .box p.title span {
    color: #ae1c1e;
  }

  /* textImgBox20
  ----------------------------------------------------------*/
  .textImgBox20 p.number {
    padding: 0;
    float: left;
    width: 20%;
    line-height: 100%;
    font-size: 150px;
  }

  .textImgBox20 p.number span {
    padding-left: 15px;
    display: block;
    line-height: 20%;
    color: #aaa;
    font-size: 12px;
  }

  .textImgBox20 li {
    padding: 20px 0;
    border-bottom: 1px dashed #ccc;
    overflow: hidden;
  }

  .textImgBox20 li .photo {
    float: right;
    width: 25%;
  }

  .textImgBox20 li .photo img {
    width: 100%;
  }

  .textImgBox20 li .body {
    padding-top: 20px;
    float: left;
    width: 51%;
  }

  .textImgBox20 li .title {
    padding-bottom: 10px;
    font-size: 24px;
  }

  /* textImgBox21
  ----------------------------------------------------------*/
  .textImgBox21 {
    overflow: hidden;
  }

  .textImgBox21 li {
    padding: 0 2% 2% 0;
    float: left;
    width: 23.5%;
  }

  .textImgBox21 li:nth-child(4n) {
    padding-right: 0;
  }

  .textImgBox21 li:nth-child(4n+1) {
    clear: both;
  }

  .textImgBox21 li a {
    padding: 7px 0 7px 30px;
    border-radius: 4px;
    background: #ffd232 url(../images/common/arrow01.gif) no-repeat 15px 50%;
    display: block;
    text-decoration: none;
    color: #222;
    font-size: 18px;
  }

  .textImgBox21 li a:hover {
    background: #ffe898 url(../images/common/arrow01.gif) no-repeat 15px 50%;
  }

  /* textImgBox22
  ----------------------------------------*/
  .textImgBox22 {
    overflow: hidden;
  }

  .textImgBox22 li {
    padding-right: 2%;
    float: left;
    width: 32%;
  }

  .textImgBox22 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox22 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox22 img {
    width: 100%;
  }

  /* textImgBox23
  ----------------------------------------------------------*/
  .textImgBox23 {
    overflow: hidden;
  }

  .textImgBox23 li {
    margin: 0 2% 2% 0;
    padding: 50px 0;
    background: #eae2fa url(../images/bg01.png) no-repeat right bottom;
    background-size: 50%;
    float: left;
    text-align: center;
    width: 32%;
    font-size: 22px;
  }

  .textImgBox23 li:nth-child(3n) {
    margin-right: 0;
  }

  .textImgBox23 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox23 span {
    display: block;
    font-size: 16px;
  }

  /* textImgBox24
  ----------------------------------------------------------*/
  .textImgBox24 {
    padding: 40px;
    background: #ccc;
  }

  /* textImgBox14 */
  .textImgBox24 .textImgBox14 {
    overflow: hidden;
  }

  .textImgBox24 .textImgBox14 li {
    padding: 0 2% 30px 0;
    float: left;
    width: 32%;
  }

  .textImgBox24 .textImgBox14 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox24 .textImgBox14 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox24 .textImgBox14 li p.title {
    margin-bottom: 10px;
    padding: 5px 0;
    border-radius: 10px;
    background: none;
    text-indent: inherit;
    color: #fff;
    font-size: 16px;
  }

  .textImgBox24 .textImgBox14 li .photo {
    padding-bottom: 10px;
    width: auto;
  }

  .textImgBox24 .textImgBox14 li .photo img {
    border-radius: 10px;
    text-align: center;
    width: 100%;
  }

  .textImgBox24 .textImgBox14 li .body {
    padding: 0;
    text-align: left;
  }

  /* カラータイトル01 */
  .textImgBox24 .textImgBox14 li.bg01 p.title {
    background: #1a889f;
  }

  /* カラータイトル02 */
  .textImgBox24 .textImgBox14 li.bg02 p.title {
    background: #ea5514;
  }

  /* カラータイトル03 */
  .textImgBox24 .textImgBox14 li.bg03 p.title {
    background: #345700;
  }

  /* 共通 */
  .textImgBox24 .box {
    margin: 0 auto;
    padding: 20px 4% 0 4%;
    border-radius: 18px;
    background: #fff;
    text-align: center;
    width: 92%;
  }

  /* タグ */
  .textImgBox24 .type01,
.textImgBox24 .type02,
.textImgBox24 .type03 {
    margin-bottom: 10px;
  }

  .textImgBox24 .type01 span,
.textImgBox24 .type02 span,
.textImgBox24 .type03 span {
    padding: 7px 10px;
    border-radius: 6px;
    color: #fff;
    font-size: 16px;
  }

  .textImgBox24 .type01 span {
    background: #1a889f;
  }

  .textImgBox24 .type02 span {
    background: #ea5514;
  }

  .textImgBox24 .type03 span {
    background: #345700;
  }

  /* stepStart */
  .textImgBox24 .stepStart {
    text-align: left;
  }

  /* 枠線01 */
  .textImgBox24 .step01 {
    border: 5px solid #1a889f;
  }

  /* 枠線02 */
  .textImgBox24 .step02 {
    border: 5px solid #f00;
  }

  .textImgBox24 .box .title {
    padding-bottom: 20px;
    background-position: center;
    font-weight: bold;
    font-size: 30px;
  }

  /* 写真テキスト */
  .textImgBox24 .photoBox {
    padding-bottom: 40px;
    overflow: hidden;
  }

  .textImgBox24 .photoBox .photo {
    float: left;
    width: 34%;
  }

  .textImgBox24 .photoBox .photo img {
    border-radius: 10px;
    width: 100%;
  }

  .textImgBox24 .photoBox .textBox {
    margin-top: 10px;
    text-align: left;
    float: right;
    width: 64%;
  }

  .textImgBox24 .photoBox dl {
    margin-top: 20px;
  }

  .textImgBox24 .photoBox dt {
    padding-bottom: 10px;
    background-size: 20px;
    color: #f62837;
    font-weight: bold;
    font-size: 16px;
  }

  /* リスト */
  .textImgBox24 ul {
    margin: 20px 0;
  }

  .textImgBox24 li {
    padding: 0 0 5px 16px;
    background: url(../images/common/arrow03.png) no-repeat 0 6px;
    background-size: 12px;
  }

  /* 注意書き */
  .textImgBox24 .pointBox {
    padding: 10px 20px;
    border-radius: 6px;
    background: #efefef;
    font-size: 13px;
  }

  /* 矢印 */
  .textImgBox24 .yazi {
    padding: 30px 0;
    text-align: center;
  }

  .textImgBox24 .yazi img {
    width: 30px;
  }

  /* textImgBox25
  ----------------------------------------------------------*/
  .textImgBox25 {
    background: #ae1c1e;
    overflow: hidden;
  }

  .textImgBox25 li {
    padding: 20px 2% 20px 0;
    float: left;
    width: 48%;
  }

  .textImgBox25 li:nth-child(2n) {
    padding-right: 0;
  }

  .textImgBox25 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox25 li .photo {
    padding-bottom: 10px;
  }

  .textImgBox25 li .photo img {
    width: 100%;
  }

  .textImgBox25 li p.title {
    padding-bottom: 5px;
    font-size: 16px;
  }

  .textImgBox25 #telBox {
    color: #fff;
  }

  .textImgBox25 #telBox p {
    padding-bottom: 0;
  }

  .textImgBox25 #telBox p.title {
    margin-bottom: 15px;
    padding-bottom: 5px;
    border-bottom: 1px solid #fff;
    font-size: 22px;
  }

  .textImgBox25 #telBox p.tel {
    padding-left: 85px;
    background: url(../images/common/arrow_tel03.png) no-repeat;
    background-size: 70px;
    font-weight: bold;
    font-size: 16px;
  }

  .textImgBox25 #telBox p.tel span {
    display: block;
    line-height: 95%;
    font-weight: bold;
    font-size: 50px;
  }

  .textImgBox25 .innerBox {
    padding-bottom: 0;
  }

  /* textImgBox26
  ----------------------------------------*/
  .textImgBox26 {
    overflow: hidden;
  }

  .textImgBox26 .photo {
    float: left;
    width: 48%;
  }

  .textImgBox26 .photo img {
    width: 100%;
  }

  .textImgBox26 .box {
    float: right;
    width: 48%;
  }

  .textImgBox26 p.rank {
    padding-bottom: 5px;
  }

  .textImgBox26 .rank span {
    margin-right: 10px;
    padding: 5px 10px;
    background: #999 none repeat scroll 0% 0%;
    line-height: 220%;
    color: #fff;
  }

  .textImgBox26 .box p.title {
    margin-bottom: 20px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
    font-size: 40px;
  }

  .textImgBox26 .box p.catch {
    padding-bottom: 20px;
    line-height: 130%;
    font-size: 26px;
  }

  /* thum */
  .textImgBox26 .thum {
    overflow: hidden;
  }

  .textImgBox26 .thum li {
    padding-right: 5%;
    float: left;
    width: 30%;
  }

  .textImgBox26 .thum li:last-child {
    padding-right: 0;
  }

  .textImgBox26 .thum li img {
    width: 100%;
  }

  /* textImgBox27
  ----------------------------------------*/
  .textImgBox27 {
    overflow: hidden;
  }

  .textImgBox27 li {
    padding: 0 4%;
    border-left: 1px solid #ccc;
    box-sizing: border-box;
    float: left;
    width: 25%;
  }

  .textImgBox27 li:nth-child(4n) {
    border-right: 1px solid #ccc;
  }

  .textImgBox27 li:nth-child(4n+1) {
    clear: both;
  }

  .textImgBox27 li .photo {
    padding-bottom: 20px;
    text-align: center;
  }

  .textImgBox27 li .photo img {
    width: 50px;
  }

  .textImgBox27 p {
    padding: 0 10px;
  }

  .textImgBox27 p.rank {
    padding-bottom: 0;
  }

  .textImgBox27 p.name {
    padding-bottom: 15px;
    text-align: center;
    font-weight: bold;
    font-size: 16px;
  }

  .textImgBox27 p.catch {
    padding-bottom: 10px;
  }

  /* リンク */
  .textImgBox27 a.btn {
    margin-bottom: 0;
    padding: 5px 0;
    width: 100%;
    font-size: 12px;
  }

  /* textImgBox28
  ----------------------------------------------------------*/
  .textImgBox28 li {
    padding: 15px 0;
    overflow: hidden;
  }

  .textImgBox28 p {
    padding-bottom: 0;
  }

  .textImgBox28 p.date {
    float: left;
    width: 12%;
    text-align: center;
  }

  .textImgBox28 p.icon {
    margin-left: 2%;
    float: left;
    width: 12%;
    text-align: center;
    color: #fff;
  }

  .textImgBox28 p.title {
    float: right;
    width: 72%;
  }

  /* アイコンカラー */
  .textImgBox28 p.bg01 {
    background: #666;
  }

  .textImgBox28 p.bg02 {
    background: #e60012;
  }

  /* 偶数行の背景色を変更 */
  .textImgBox28 li:nth-child(2n) {
    background: #f3f3f3;
  }

  /* 奇数行の背景色を変更 */
  .textImgBox28 li:nth-child(2n+1) td {
    background: #fff;
  }

  /* textImgBox29
  ----------------------------------------------------------*/
  /* 共通 */
  .textImgBox29 li {
    padding: 50px;
  }

  .textImgBox29 .title {
    margin-bottom: 30px;
    padding-bottom: 10px;
    text-align: center;
    line-height: 200%;
    font-size: 20px;
  }

  .textImgBox29 .title span {
    padding-bottom: 10px;
    display: block;
    font-weight: bold;
    font-size: 40px;
  }

  .textImgBox29 .icon img {
    width: 70px;
  }

  .textImgBox29 .photo {
    padding-bottom: 30px;
    text-align: center;
  }

  .textImgBox29 .photo img {
    width: 450px;
  }

  .textImgBox29 th {
    padding: 15px;
    border-bottom: 3px solid #fff;
    width: 230px;
    font-size: 16px;
  }

  .textImgBox29 td {
    padding: 15px;
    border-bottom: 3px solid #fff;
  }

  .textImgBox29 .bg01 th {
    background: #fbedee;
  }

  .textImgBox29 .bg01 td {
    background: #fbedee;
  }

  .textImgBox29 .bg02 th {
    background: #eef0f5;
  }

  .textImgBox29 .bg02 td {
    background: #eef0f5;
  }

  /* box01 */
  .textImgBox29 .box01 {
    margin-bottom: 50px;
    border: 5px solid #d0111b;
    border-radius: 20px;
    position: relative;
  }

  .textImgBox29 .box01 .icon {
    position: absolute;
    top: -16px;
    left: 70px;
  }

  .textImgBox29 .box01 .title {
    border-bottom: 3px solid #d0111b;
  }

  .textImgBox29 .box01 .title span {
    color: #d0111b;
  }

  /* box02 */
  .textImgBox29 .box02 {
    margin-bottom: 50px;
    border: 5px solid #f6ac1d;
    border-radius: 20px;
    position: relative;
  }

  .textImgBox29 .box02 .icon {
    position: absolute;
    top: -16px;
    left: 70px;
  }

  .textImgBox29 .box02 .title {
    border-bottom: 3px solid #f6ac1d;
  }

  .textImgBox29 .box02 .title span {
    color: #f6ac1d;
  }

  /* box03 */
  .textImgBox29 .box03 {
    border: 5px solid #183b8c;
    border-radius: 20px;
    position: relative;
  }

  .textImgBox29 .box03 .icon {
    position: absolute;
    top: -16px;
    left: 70px;
  }

  .textImgBox29 .box03 .title {
    border-bottom: 3px solid #183b8c;
  }

  .textImgBox29 .box03 .title span {
    color: #183b8c;
  }

  /* textImgBox33
  ----------------------------------------------------------*/
  .textImgBox33 {
    border: 30px solid #333;
    background: #333;
    color: #fff;
  }

  .textImgBox33 li {
    padding: 0 2% 50px 2%;
    overflow: hidden;
  }

  .textImgBox33 li:last-child {
    padding-bottom: 0;
  }

  .textImgBox33 p.title {
    margin: 0 -2% 20px -2%;
    padding: 5px 0;
    background: #fff;
    text-align: center;
    color: #333;
    font-weight: bold;
    font-size: 22px;
  }

  .textImgBox33 .photo {
    float: left;
    width: 48%;
  }

  .textImgBox33 .photo img {
    border-radius: 6px;
    width: 100%;
  }

  .textImgBox33 .box {
    float: right;
    width: 48%;
  }

  /* 偶数行の背景色を変更 */
  .textImgBox33 li:nth-child(2n) .photo {
    float: right;
  }

  .textImgBox33 li:nth-child(2n) .box {
    float: left;
  }

  /* textImgBox35
  ----------------------------------------------------------*/
  .textImgBox35 li {
    margin-bottom: 2px;
    background: #eef6df;
    overflow: hidden;
  }

  .textImgBox35 li:nth-child(4n) .box {
    padding-top: 60px;
  }

  .textImgBox35 p.title {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 2px solid #8bc327;
    font-size: 20px;
  }

  .textImgBox35 .photo {
    float: left;
    width: 46%;
  }

  .textImgBox35 .photo img {
    width: 100%;
  }

  .textImgBox35 .box {
    padding: 80px 4% 0 4%;
    box-sizing: border-box;
    float: right;
    width: 54%;
  }

  /* 偶数行の背景色を変更 */
  .textImgBox35 li:nth-child(2n) .photo {
    float: right;
  }

  .textImgBox35 li:nth-child(2n) .box p.title {
    border-bottom: 2px solid #f59a17;
  }

  /* textImgBox36
  ----------------------------------------------------------*/
  .textImgBox36 {
    margin: 0 auto;
    width: 760px;
  }

  .textImgBox36 li {
    overflow: hidden;
  }

  .textImgBox36 li p.date {
    padding: 2px 0;
    background: #8bc327;
    border-radius: 2px;
    text-align: center;
    float: left;
    width: 16%;
    color: #fff;
  }

  .textImgBox36 li p.title {
    padding-bottom: 10px;
    float: right;
    width: 82%;
    color: #74a917;
    font-size: 18px;
  }

  .textImgBox36 li .box {
    padding: 15px 0 30px 0;
    border-top: 1px solid #ccc;
    clear: both;
  }

  .textImgBox36 li:last-child .box {
    padding-bottom: 0;
  }

  /* textImgBox37
  ----------------------------------------*/
  .textImgBox37 {
    overflow: hidden;
  }

  .textImgBox37 li {
    padding: 0 2% 6% 0;
    float: left;
    width: 32%;
  }

  .textImgBox37 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox37 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox37 li .photo {
    margin-bottom: 10px;
  }

  .textImgBox37 li .photo img {
    border: 1px solid #ccc;
    box-sizing: border-box;
    width: 100%;
  }

  .textImgBox37 p.title {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
    color: #248aca;
    font-weight: bold;
    font-size: 16px;
  }

  .textImgBox37 p.sub {
    padding-bottom: 5px;
    display: block;
    font-weight: normal;
    font-size: 12px;
  }

  /* textImgBox38
  ----------------------------------------------------------*/
  .textImgBox38 {
    overflow: hidden;
  }

  .textImgBox38 .photo {
    float: left;
    width: 48%;
  }

  .textImgBox38 .photo img {
    width: 100%;
  }

  /* lead */
  .textImgBox38 .lead {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
    float: right;
    width: 48%;
  }

  .textImgBox38 .lead p.title {
    padding-bottom: 10px;
    line-height: 120%;
    font-size: 30px;
  }

  .textImgBox38 .lead p.title span {
    display: block;
    font-size: 20px;
  }

  /* box */
  .textImgBox38 .box {
    float: right;
    width: 48%;
  }

  .textImgBox38 .box p.title {
    padding-bottom: 10px;
    line-height: 120%;
    font-size: 24px;
  }

  /* textImgBox42
  ----------------------------------------------------------*/
  .textImgBox42 {
    overflow: hidden;
  }

  .textImgBox42 li {
    padding: 0 2% 2% 0;
    float: left;
    width: 32%;
  }

  .textImgBox42 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox42 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox42 li a {
    padding: 25px 0 25px 6%;
    border: 1px solid #ccc;
    background: #ffd232 url(../images/common/arrow01.gif) no-repeat 96% 50%;
    display: block;
    text-decoration: none;
    color: #222;
    font-size: 18px;
  }

  .textImgBox42 li a:hover {
    opacity: 0.6;
  }

  /* textImgBox43
  ----------------------------------------------------------*/
  .textImgBox43 {
    margin: 0 auto 100px;
    overflow: hidden;
    width: 740px;
  }

  .textImgBox43 li {
    width: 740px;
  }

  .textImgBox43 li:last-child {
    margin-bottom: 0;
    color: #fff;
    text-align: center;
  }

  .textImgBox43 li:last-child p.title {
    padding-bottom: 15px;
    font-size: 24px;
    font-weight: 600;
    line-height: 100%;
  }

  .textImgBox43 li:last-child .bgBox01 {
    background: #000;
    text-align: center;
    padding: 40px;
  }

  .textImgBox43 .bgBox01 p.title {
    padding-bottom: 15px;
    font-size: 24px;
    font-weight: 600;
    line-height: 100%;
  }

  .textImgBox43 .bgBox01 {
    background: #e0e0e0;
    text-align: center;
    padding: 40px;
  }

  .textImgBox43 .bgBox02 {
    width: 5%;
    margin: 15px auto;
  }

  .textImgBox43 .bgBox02 img {
    width: 100%;
  }

  /* textImgBox45
  ----------------------------------------------------------*/
  .textImgBox45 {
    background: #1b1b1b;
    overflow: hidden;
    margin-bottom: 30px;
  }

  .textImgBox45 .photoL {
    width: 60%;
    float: left;
  }

  .textImgBox45 .photoL img {
    width: 100%;
  }

  .textImgBox45 .box {
    padding: 45px;
    box-sizing: border-box;
    width: 40%;
    float: right;
    color: #fff;
  }

  .textImgBox45 p.cate {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #fff;
  }

  .textImgBox45 p.sub {
    padding-bottom: 5px;
    font-size: 14px;
  }

  .textImgBox45 .box p.title {
    font-size: 30px;
  }

  .textImgBox45 .box p.title span {
    display: block;
    line-height: 170%;
    font-size: 16px;
  }

  /* textImgBox46
  ----------------------------------------------------------*/
  .textImgBox46 {
    margin-top: 30px;
  }

  .textImgBox46 p.title {
    margin-top: 40px;
    padding: 2px 0 20px 50px;
    background: url(../images/icon02.png) no-repeat;
    overflow: hidden;
    color: #094db1;
    font-size: 20px;
  }

  .textImgBox46 p.title:first-child {
    margin-top: 0;
  }

  /* 左画像 */
  .textImgBox46 .photoL {
    width: 50%;
    float: left;
    padding: 0 40px 40px 0;
  }

  .textImgBox46 .photoL img {
    width: 100%;
  }

  /* 右画像 */
  .textImgBox46 .photoR {
    width: 50%;
    float: right;
    padding: 0 0 40px 40px;
  }

  .textImgBox46 .photoR img {
    width: 100%;
  }

  /* 横幅いっぱい画像 */
  .textImgBox46 .photo {
    padding-bottom: 20px;
    width: 100%;
  }

  .textImgBox46 .photo img {
    width: 100%;
  }

  .textImgBox46 .box {
    width: 50%;
    float: right;
    color: #fff;
    margin-top: 50px;
  }

  /* textImgBox47
  ----------------------------------------------------------*/
  .textImgBox47 {
    overflow: hidden;
  }

  .textImgBox47 .photo {
    float: left;
    width: 48%;
  }

  .textImgBox47 .photo img {
    width: 100%;
  }

  .textImgBox47 .box {
    float: right;
    width: 48%;
  }

  .textImgBox47 dl {
    background: url(../images/line.png) repeat-y 20px 0;
  }

  .textImgBox47 dt {
    font-size: 24px;
    padding: 5px 70px 15px;
    background: url(../images/clock.png) no-repeat;
  }

  .textImgBox47 dd {
    padding: 0px 70px 20px;
  }

  .textImgBox47 dd:last-child {
    background: #fff;
  }

  /* textImgBox49
  ----------------------------------------------------------*/
  .textImgBox49 {
    text-align: center;
  }

  .textImgBox49 li {
    padding-bottom: 20px;
  }

  /* textImgBox50
  ----------------------------------------*/
  .textImgBox50 {
    margin: 0 auto;
    width: 960px;
    overflow: hidden;
  }

  .textImgBox50 li {
    margin: 0 4% 20px 0;
    float: left;
    width: 48%;
  }

  .textImgBox50 li:nth-child(2n) {
    margin-right: 0;
  }

  .textImgBox50 li:nth-child(2n+1) {
    clear: both;
  }

  .textImgBox50 li img {
    width: 100%;
  }

  /* textImgBox51
  ----------------------------------------*/
  .textImgBox51 {
    margin: 0 auto;
    width: 960px;
    overflow: hidden;
  }

  .textImgBox51 li {
    padding: 0 2% 20px 0;
    float: left;
    width: 32%;
  }

  .textImgBox51 li:nth-child(3n) {
    padding-right: 0;
  }

  .textImgBox51 li:nth-child(3n+1) {
    clear: both;
  }

  .textImgBox51 li img {
    width: 100%;
  }

  /* textImgBox52
  ----------------------------------------*/
  .textImgBox52 li {
    padding-bottom: 20px;
  }

  .textImgBox52 li p.title {
    padding-bottom: 0;
    font-weight: 600;
    font-size: 24px;
  }

  .textImgBox52 li p.title span {
    margin-right: 10px;
    padding: 0 30px;
    background: #cd0000;
    border-radius: 30px;
    color: #fff;
    font-weight: 400;
    font-family: "Oswald", sans-serif;
    font-size: 18px;
  }

  /* textImgBox53
  ----------------------------------------------------------*/
  .textImgBox53 {
    color: white;
  }

  .textImgBox53 li {
    padding: 40px 0;
    background: #efefef;
    overflow: hidden;
  }

  .textImgBox53 li .bg {
    margin: 0 auto;
    width: 960px;
  }

  .textImgBox53 li:nth-child(4n) .box {
    padding-top: 60px;
  }

  .textImgBox53 p.sub {
    padding-bottom: 5px;
    font-size: 16px;
  }

  .textImgBox53 p.title {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
    font-size: 20px;
  }

  .textImgBox53 .photo {
    float: left;
    width: 46%;
  }

  .textImgBox53 .photo img {
    width: 100%;
  }

  .textImgBox53 .box {
    padding: 80px 0 0 4%;
    box-sizing: border-box;
    float: right;
    width: 54%;
  }

  /* 偶数行の背景色を変更 */
  .textImgBox53 li:nth-child(2n) {
    background: #fff;
  }

  .textImgBox53 li:nth-child(2n) .photo {
    float: right;
  }

  .textImgBox53 li:nth-child(2n) .box {
    float: left;
  }

  /* LINE@ページのQR
  ----------------------------------------------------------*/
  #line {
    background: #fff;
  }

  #line h3 {
    margin-bottom: 40px;
    padding-bottom: 20px;
    font-size: 30px;
  }

  #line h3 span {
    border-bottom: 5px solid #4db848;
  }

  #line h4 {
    margin-bottom: 40px;
    padding: 20px;
    border-left: 7px solid #126c0e;
    background: #4db848;
    text-align: left;
    font-size: 24px;
  }

  #line h4 span {
    border-bottom: none;
    color: #fff;
  }

  /* borderBox01 */
  #line .textImgBox10 p.title {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 3px solid #4db848;
    color: #4db848;
    font-size: 24px;
  }

  /* borderBox01 */
  #line .borderBox01 {
    margin-bottom: 0;
    border: none;
    background: #e5efd2;
  }

  /* QRコード */
  #line .lineSpQrBox {
    display: none;
  }

  #line .linePcQrBox .photo {
    padding-bottom: 20px;
    text-align: center;
  }

  /* 求める人材像
  ----------------------------------------------------------*/
  #policyBox {
    margin: 0 auto;
    text-align: center;
    width: 760px;
  }

  #policyBox p.catch span {
    margin-bottom: 40px;
    padding: 30px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 5;
    font-size: 26px;
  }

  #policyBox ul {
    margin: 20px 0 40px 0;
  }

  #policyBox li {
    margin-bottom: 10px;
    padding: 20px;
    background: #094db1;
    color: #fff;
    font-size: 20px;
  }

  /* メールでのお問い合わせ
  ----------------------------------------------------------*/
  #contactBg {
    padding: 20px;
    border-radius: 10px;
    background: #b58c67;
  }

  #contactBg02 {
    padding: 0 50px 50px 50px;
    background: #fff;
  }

  #contactBg02 .icon {
    text-align: center;
  }

  #contactBg02 .icon img {
    margin-top: -10px;
  }

  #contactBg h3 {
    margin-top: 40px;
    background: none;
  }

  #contactBg table.style02 th {
    width: 200px;
  }

  /* box_switch01
  ----------------------------------------------------------*/
  .box_switch01 .contentBox01 {
    padding: 30px 0;
  }

  .switchNav01 {
    width: 100%;
  }

  .switchNav01 li {
    float: left;
    width: 100%;
    border-bottom: 3px solid #248b9a;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }

  .switchNav01.col2 li {
    width: 50%;
  }

  .switchNav01 li .tit {
    width: 100%;
  }

  .switchNav01 li .tit a {
    display: block;
    background-color: #dbdad6;
    color: #333;
    text-decoration: none;
    text-align: center;
    vertical-align: middle;
    padding: 11px 10px;
  }

  .switchNav01 li .tit a:hover,
.switchNav01 li .tit a:focus {
    background-color: #248b9a;
    color: #fff;
  }

  .switchNav01 li.current .tit a {
    background-color: #248b9a;
    color: #fff;
  }

  .switchNav01 li .content {
    display: none;
  }

  /* googleMapBox
  ----------------------------------------------------------*/
  .googleMapBox .spMap {
    display: none;
  }

  /* pager
  ----------------------------------------------------------*/
  #pager {
    margin-top: 80px;
    text-align: center;
    font-size: 22px;
  }

  #pager a {
    margin-right: 5px;
    padding: 5px 15px;
    border: 1px solid #ed1b23;
    background: #ed1b23;
    text-decoration: none;
    color: #fff;
  }

  #pager a:hover {
    opacity: 0.6;
  }

  /* カレント */
  #pager span.current {
    margin-right: 5px;
    padding: 5px 15px;
    border: 1px solid #ed1b23;
    background: #fff;
    text-decoration: none;
    color: #ed1b23;
  }

  /* topNews01
  ----------------------------------------------------------*/
  #topNews01 {
    padding-right: 20px;
    border: 1px solid #345700;
    background: url(../images/top/news_bg.gif) repeat-y;
    overflow: hidden;
  }

  #topNews01 p.newsTitle {
    padding-bottom: 40px;
    background: #345700 url(../images/top/news_title.png) no-repeat 30px 20px;
    float: left;
    width: 20%;
    height: 100px;
    text-indent: -9999px;
  }

  #topNews01 ul {
    margin-top: 17px;
    float: right;
    width: 78%;
  }

  #topNews01 p {
    padding-bottom: 0;
  }

  #topNews01 li {
    padding-bottom: 10px;
    overflow: hidden;
  }

  #topNews01 li:last-child {
    padding-bottom: 0;
  }

  #topNews01 .date {
    padding: 5px 0;
    float: left;
    width: 10%;
    line-height: 100%;
  }

  #topNews01 .cate {
    padding: 5px 0;
    float: left;
    width: 15%;
    text-align: center;
    line-height: 100%;
    color: #fff;
    font-size: 12px;
  }

  #topNews01 .body {
    padding: 5px 0;
    float: right;
    width: 72%;
    line-height: 1.5;
  }

  #topNews01 .title {
    padding-bottom: 10px;
    line-height: 120%;
    font-weight: bold;
  }

  /* カテゴリ名01 */
  #topNews01 .cate01 {
    background: #222;
  }

  /* カテゴリ名02 */
  #topNews01 .cate02 {
    background: #345700;
  }

  /* カテゴリ名03 */
  #topNews01 .cate03 {
    background: #ff9900;
  }

  /* textList01
  ----------------------------------------*/
  .textList01 li {
    padding: 15px 0;
    border-bottom: 1px dotted #ccc;
    overflow: hidden;
  }

  .textList01 li p {
    padding-bottom: 0;
  }

  .textList01 li .date {
    float: left;
    width: 10%;
  }

  .textList01 li .title {
    float: right;
    width: 88%;
  }

  /* bnrLink01
  ----------------------------------------------------------*/
  .bnrLink01 {
    padding-bottom: 40px;
    text-align: center;
  }

  /* miniTextBox
  ----------------------------------------------------------*/
  .miniTextBox {
    margin: 0 auto;
    padding-bottom: 50px;
    text-align: center;
    font-size: 120%;
  }

  /* アコーディオン
  ----------------------------------------------------------*/
  .trigger {
    margin-bottom: 20px;
    padding: 10px 15px;
    border: 1px solid #ccc;
    -webkit-box-shadow: 0 7px 6px -6px #777;
    -moz-box-shadow: 0 7px 6px -6px #777;
    box-shadow: 0 7px 6px -6px #777;
    font-size: 16px;
  }

  .open-close {
    padding: 0 10px;
    background: #ca2437;
    border-radius: 50%;
    float: right;
    color: #fff;
    font-weight: bold;
    font-size: 13px;
  }

  /* [TABLE] style01
  ----------------------------------------------------------*/
  table.style01 {
    margin-bottom: 20px;
    width: 100%;
  }

  table.style01 th {
    padding: 20px 25px;
    border: 1px solid #519027;
    background: #7fb15d;
    vertical-align: top;
    color: #fff;
  }

  table.style01 th.title {
    background: #efefef;
    color: #333;
  }

  table.style01 td {
    padding: 20px 25px;
    border: 1px solid #519027;
    vertical-align: top;
  }

  /* [TABLE] style02
  ----------------------------------------------------------*/
  table.style02 {
    margin-bottom: 20px;
    width: 100%;
  }

  table.style02 th {
    padding: 20px 25px;
    vertical-align: top;
    font-weight: bold;
  }

  table.style02 td {
    padding: 20px 25px;
    vertical-align: top;
  }

  /* 偶数行の背景色を変更 */
  table.style02 tr:nth-child(even) th,
table.style02 tr:nth-child(even) td {
    background: #fff;
  }

  /* 奇数行の背景色を変更 */
  table.style02 tr:nth-child(odd) th,
table.style02 tr:nth-child(odd) td {
    background: #efefef;
  }

  /* [TABLE] style03
  ----------------------------------------------------------*/
  table.style03 {
    margin-bottom: 20px;
    width: 100%;
  }

  table.style03 th {
    padding: 20px 25px;
    border-bottom: 1px solid #519027;
    vertical-align: top;
    color: #519027;
  }

  table.style03 th.title {
    background: #efefef;
  }

  table.style03 td {
    padding-bottom: 20px 25px;
    border: 1px solid #519027;
    vertical-align: top;
  }

  /* [UL] style01
  ----------------------------------------------------------*/
  ul.style01 {
    margin-left: 20px;
    list-style-type: disc;
  }

  ul.style01 li {
    padding-bottom: 20px;
  }

  ul.style01 li:last-child {
    padding-bottom: 0;
  }

  /* [OL] style01
  ----------------------------------------------------------*/
  ol.style01 {
    margin-left: 20px;
    list-style-type: decimal;
  }

  ol.style01 li {
    padding-bottom: 20px;
  }

  ol.style01 li:last-child {
    padding-bottom: 0;
  }

  /* [DL] style01
  ----------------------------------------------------------*/
  dl.style01 dt {
    padding: 30px 0 10px 0;
    font-size: 20px;
  }

  dl.style01 dd {
    padding-bottom: 30px;
    border-bottom: 1px solid #ccc;
  }

  dl.style01 dt:first-child {
    padding-top: 0;
  }

  /* GoogleMap埋込み
  ----------------------------------------------------------*/
  .iframeMap {
    width: 100%;
    height: 500px;
  }

  .mapBtn {
    display: none;
    text-align: center;
  }

  .mapBtn img {
    width: 70%;
  }

  /* contents
  ----------------------------------------*/
  /* パンくずリスト
  ----------------------------------------------------------*/
  #breadcrumb {
    margin: 0 auto;
    padding: 10px 0 40px 0;
    width: 960px;
  }

  #breadcrumb li {
    display: inline;
  }

  #breadcrumb a {
    padding: 0 12px 0 0;
    background: url(../images/common/topic_path.gif) no-repeat right;
  }

  /* requestArea
  ----------------------------------------------------------*/
  #requestArea .textImgBox02 li,
#requestArea .textImgBox02 .photo {
    padding-bottom: 0;
  }

  #requestArea .textImgBox02 .telText04 {
    background: url(../images/bnr05.png) no-repeat;
    text-indent: -9999px;
    width: 460px;
    height: 159px;
  }

  /* tableWidthBox01
  ----------------------------------------------------------*/
  .tableWidthBox01 {
    width: 100%;
    overflow-x: auto;
  }

  .tableWidthBox01 table {
    width: 100%;
  }

  .tableWidthBox01 th {
    border: 1px solid #fff;
    background: #002056;
    color: #fff;
  }

  .tableWidthBox01 td {
    border: 1px solid #002056;
    vertical-align: top;
  }

  /* 注釈 */
  p.annotation {
    display: none;
  }

  /* プライバシーポリシー
  ----------------------------------------------------------*/
  #privacyBox {
    overflow: auto;
    height: 200px;
  }

  #privacyBox p.title {
    font-weight: bold;
    font-size: 18px;
  }

  /* dateBox（共通）
  ----------------------------------------------------------*/
  .dateBox {
    margin: 0 auto 30px auto;
    padding: 10px 20px;
    background: #efefef;
    overflow: hidden;
    width: 920px;
    line-height: 170%;
    font-size: 14px;
  }

  .dateBox li.date {
    padding-right: 30px;
    float: left;
  }

  .dateBox li.icon {
    margin-right: 10px;
    padding: 0 20px 2px 20px;
    border-radius: 2px;
    float: left;
  }

  .dateBox li.bg01 {
    border: 1px solid #ccc;
  }

  /* footerBnrList
  ----------------------------------------*/
  #footerBnrList {
    padding: 20px 0;
    background: #333;
    box-sizing: border-box;
  }

  #footerBnrList ul {
    margin: 0 auto;
    width: 960px;
    overflow: hidden;
  }

  #footerBnrList li {
    padding-right: 16px;
    float: left;
    width: 15%;
  }

  #footerBnrList li:first-child {
    width: 50%;
  }

  #footerBnrList li:last-child {
    padding-right: 0;
  }

  #footerBnrList li img {
    width: 100%;
  }

  /* footer footerType03
  ----------------------------------------------------------*/
  footer#footerType03 {
    overflow: hidden;
    border-bottom: 25px solid #313131;
  }

  footer#footerType03 .innerBox {
    padding-bottom: 20px;
  }

  footer#footerType03 .box01 {
    margin-bottom: 20px;
    padding: 50px 0 0 0;
    overflow: hidden;
  }

  /* 住所 */
  footer#footerType03 address {
    float: left;
    width: 55%;
  }

  footer#footerType03 address dt {
    padding-bottom: 5px;
    font-weight: bold;
    font-size: 14px;
  }

  footer#footerType03 address dd {
    padding: 10px 0 30px 0;
    background: none;
    font-size: 13px;
  }

  footer#footerType03 address a {
    color: #fff;
  }

  /* ロゴ */
  footer#footerType03 #footerLogo {
    padding-bottom: 30px;
    font-weight: bold;
    font-size: 24px;
  }

  /* fNavi */
  footer#footerType03 #fNavi {
    float: right;
    width: 45%;
    overflow: hidden;
    font-size: 12px;
  }

  footer#footerType03 #fNavi ul {
    overflow: hidden;
    padding-bottom: 70px;
  }

  footer#footerType03 #fNavi li {
    padding: 0 2%;
    float: left;
    width: 33%;
    box-sizing: border-box;
  }

  footer#footerType03 #fNavi a {
    text-decoration: none;
    color: #333;
  }

  footer#footerType03 #fNavi a:hover {
    text-decoration: underline;
  }

  /* footer footerType02
  ----------------------------------------------------------*/
  footer#footerType02 {
    margin-bottom: 20px;
    overflow: hidden;
    color: #fff;
  }

  footer#footerType02 .innerBox {
    padding-bottom: 20px;
  }

  footer#footerType02 .box01 {
    margin-bottom: 20px;
    padding: 50px 0 50px 0;
    background: #444;
    overflow: hidden;
  }

  /* facebookページ */
  footer#footerType02 #photoBox {
    float: left;
    width: 49%;
  }

  /* 住所 */
  footer#footerType02 address {
    float: right;
    width: 49%;
  }

  footer#footerType02 address dt {
    padding-bottom: 5px;
    border-bottom: 1px solid #b6b6b6;
    font-weight: bold;
    font-size: 14px;
  }

  footer#footerType02 address dd {
    padding: 10px 0 30px 0;
    background: none;
  }

  footer#footerType02 address a {
    color: #fff;
  }

  /* ロゴ */
  footer#footerType02 #footerLogo {
    padding-bottom: 30px;
    font-weight: bold;
    font-size: 24px;
  }

  /* footerBox */
  footer#footerType02 #footerBox {
    padding-bottom: 20px;
    overflow: hidden;
  }

  /* fNavi */
  footer#footerType02 #fNavi {
    float: left;
    width: 60%;
    overflow: hidden;
    font-size: 12px;
  }

  footer#footerType02 #fNavi li {
    padding: 0 2%;
    border-left: 1px solid #ccc;
    float: left;
  }

  footer#footerType02 #fNavi li:last-child {
    border-right: 1px solid #ccc;
  }

  footer#footerType02 #fNavi a {
    text-decoration: none;
    color: #333;
  }

  footer#footerType02 #fNavi a:hover {
    text-decoration: underline;
  }

  /* あああああ株式会社 */
  footer#footerType02 dl.style01 {
    margin-bottom: 20px;
    padding: 20px;
    background: #6c6c6c;
    color: #fff;
  }

  footer#footerType02 dl.style01 dt {
    padding-bottom: 0;
    border-bottom: none;
    font-size: 12px;
  }

  footer#footerType02 dl.style01 dd {
    padding: 0;
    line-height: 150%;
    font-size: 11px;
  }

  footer#footerType02 dl.style01 a {
    text-decoration: underline;
    color: #fff;
  }

  /* コピーライト */
  footer#footerType02 #copy {
    float: right;
    width: 40%;
    text-align: right;
    color: #333;
    font-size: 12px;
  }

  /* footer footerType01
  ----------------------------------------------------------*/
  footer#footerType01 {
    margin-bottom: 20px;
    padding: 20px 0;
    background: #0058a1;
    overflow: hidden;
    color: #fff;
  }

  footer#footerType01 .innerBox {
    padding-bottom: 10px;
  }

  /* ロゴ */
  footer#footerType01 #footerLogo {
    padding-right: 4%;
    float: left;
  }

  /* 住所 */
  footer#footerType01 address {
    float: left;
  }

  footer#footerType01 address a {
    text-decoration: none;
    color: #fff;
  }

  /* バナー */
  footer#footerType01 #bnrList {
    float: right;
    width: 270px;
  }

  footer#footerType01 #bnrList li {
    padding-bottom: 10px;
  }

  footer#footerType01 #bnrList li:last-child {
    padding-bottom: 0;
  }

  footer#footerType01 #bnrList img {
    width: 100%;
  }

  /* fNavi */
  footer#footerType01 #fNavi {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #5080a7;
    overflow: hidden;
    font-size: 12px;
  }

  footer#footerType01 #fNavi li {
    padding-right: 4%;
    float: left;
  }

  footer#footerType01 #fNavi a {
    text-decoration: none;
    color: #fff;
  }

  footer#footerType01 #fNavi a:hover {
    text-decoration: underline;
  }

  /* コピーライト */
  #copy {
    text-align: center;
    font-size: 12px;
  }

  /* pageTop
  ----------------------------------------------------------*/
  #pageTop {
    background: #ed1b23;
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-decoration: none;
    font-size: 13px;
    text-align: center;
    z-index: 1000;
    color: #fff;
  }

  .textImgBox49 li h2 {
    font-size: 60px;
    line-height: 5rem;
    color: #333;
    font-weight: bold;
    letter-spacing: 0.3rem;
    margin-top: 100px;
  }

  .textImgBox49 li.main_read {
    margin-top: 40px;
    line-height: 200%;
    font-size: 18px;
    padding-bottom: 0;
  }

  .textImgBox53 .box {
    padding-top: 0;
  }

  .textImgBox53 li.about {
    background: #117cb0;
  }

  .textImgBox53 .photo img {
    width: 100%;
    height: auto;
  }

  .textImgBox53 .box {
    padding-top: 0;
  }

  .textImgBox53 li.rosen {
    background: #ddd;
    color: #333346;
    margin-top: -2px;
  }

  .textImgBox53 li.rosen p.title {
    border-bottom: 1px solid #333346;
  }

  .textImgBox53 .photo img {
    width: 100%;
    height: auto;
  }

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

  .textImgBox46 .photoR,
.textImgBox46 .photoL {
    width: 36%;
  }

  .textImgBox46 .photoR img,
.textImgBox46 .photoL img {
    width: 100%;
    height: auto;
  }

  .textImgBox46 .photoR .caption,
.textImgBox46 .photoL .caption {
    font-size: 14px;
  }

  .textImgBox46 p.title {
    font-weight: bold;
    margin-top: 0;
    color: #333;
    padding: 30px 0 30px 20px;
    background: url(../images/icon02.png) no-repeat center left;
    font-size: 26px;
    color: #0c4da2;
  }

  .textImgBox46 p.title.large {
    padding: 0;
    margin-top: 50px;
    background: none;
    font-size: 36px;
    font-weight: bold;
    color: #333346;
  }

  .textImgBox35 {
    width: 960px;
    margin: 0 auto;
  }

  .textImgBox35 .corporate .box {
    float: none;
    width: 100%;
    padding: 4%;
  }

  .textImgBox35 .corporate:first-of-type .box {
    padding: 0 0 4%;
  }

  .textImgBox35 .corporate:first-of-type .box p.title {
    color: white;
    background: #117cb0;
    border-bottom: 2px solid #117cb0;
    padding-left: 1em;
    padding-top: 5px;
  }

  .textImgBox35 .corporate:nth-of-type(2) .box p.title {
    border-bottom: 2px solid #0383b9;
    font-weight: bold;
  }

  .textImgBox35 .corporate .box p.title {
    letter-spacing: 0.2rem;
  }

  .textImgBox35 .profile .box {
    width: 75%;
    padding-top: 6%;
  }

  .textImgBox35 .profile .photo {
    width: 24%;
  }

  .textImgBox35 .profile .photo img {
    width: 80%;
    padding: 10%;
    height: auto;
  }

  .textImgBox35 li {
    background: white;
  }

  .textImgBox35 li.profile {
    background: white;
    border-bottom: 1px solid #eee;
  }

  .textImgBox35 li.profile:last-of-type {
    border-bottom: none;
  }

  .main_head {
    position: relative;
  }

  .main_head img {
    width: auto;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
  }

  .profile_title {
    width: 960px;
    margin: 100px auto 0;
    color: white;
    background: #006db9;
    padding-left: 1em;
    padding-top: 10px;
    padding-bottom: 12px;
    font-size: 18px;
    letter-spacing: 0.2rem;
  }
}
.displayAnimation {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 0.5s;
  -ms-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-name: displayAnimation;
  -ms-animation-name: displayAnimation;
  animation-name: displayAnimation;
  visibility: visible !important;
}

@-webkit-keyframes displayAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes displayAnimation {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}
/*body {
	margin-top: -24px;
}*/
.talk-mc {
  color: #d01120;
}

.talk-guest {
  color: #231815;
}

.talk-guest::before {
  content: "福 士　";
  font-weight: bold;
  color: #d01120;
}

.talk-okumura {
  color: #231815;
}

.talk-okumura::before {
  content: "奥 村　";
  font-weight: bold;
  color: #008ED8;
}

.talk-guest02::before {
  content: "深 井　";
  font-weight: bold;
  color: #00ab84;
}

.maintitle {
  font-weight: bold;
  font-size: 3rem;
  color: #4D5357;
}

.subttl {
  color: #d01120;
  font-size: 105%;
  font-weight: bold;
}

.subttl:before {
  content: "";
  width: 50px;
  height: 2px;
  display: inline-block;
  background: #d01120;
  margin: 0 10px 5px 0;
}

.talk-mc span,
.talk-okumura span,
.talk-guest span {
  font-weight: bold;
}

footer {
  background: #008ed8;
  color: white;
  padding: 1.5% 0;
  font-size: 12px;
}

.pointText {
  color: #333;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.textImgBox35 {
  margin-top: 0;
}

.textImgBox35 .history {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.textImgBox35 .history .txt {
  width: 73%;
  padding: 0;
}

.textImgBox35 .history .txt .name {
  font-size: 120%;
  font-weight: bold;
  color: #006db9;
}

.textImgBox35 .history .txt .name span {
  font-size: 80%;
  font-weight: normal;
}

.textImgBox35 .history .txt .name.guest {
  color: #e4007f;
}

.textImgBox35 .history .logoarea {
  width: 20%;
}

.textImgBox35 .history .photoR p {
  font-size: 80%;
  text-align: center;
}

.textImgBox35 .history .img {
  width: 20%;
}

.textImgBox35 .history .img img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 959px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .textImgBox35 .history {
    display: block;
  }

  .textImgBox35 .history .txt {
    width: 100%;
  }

  .textImgBox35 .history img {
    width: 100%;
    height: auto;
  }

  .textImgBox35 .history .photoR p {
    font-size: 100%;
  }

  .textImgBox35 .history .img {
    width: 80%;
    margin: 10px auto 20px;
  }

  .textImgBox53 li.about {
    padding: 5% 10% !important;
  }
}
img {
  width: 100%;
}

.mb_s {
  padding-bottom: 0px !important;
}

p {
  line-height: 180%;
}

.u_red {
  text-decoration: underline;
  color: #d01120;
}

a {
  transition: 0.6s;
  opacity: 1;
}

a:hover {
  opacity: 0.7;
}

.mT60 {
  margin-top: 60px;
}

.cl8_2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.cl8_2 > li {
  width: 78%;
}

.cl8_2 > li:nth-of-type(2) {
  width: 16%;
}

.textImgBox53 a {
  color: inherit;
}

.textImgBox53 li a {
  color: inherit;
}

.textImgBox53 li.about a {
  color: inherit;
}

@media screen and (max-width: 959px) {
  .cl8_2 {
    flex-wrap: wrap;
  }

  .cl8_2 > li,
.cl8_2 > li:nth-of-type(2) {
    width: 100%;
  }

  .cl8_2 > li:nth-of-type(2) {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .cl8_2 > li:nth-of-type(2) img {
    width: 50%;
  }

  .cl8_2 > li:nth-of-type(2) p {
    width: 40%;
  }

  .maintitle {
    padding: 0;
    font-size: 130%;
  }

  .textImgBox35 .history .logoarea {
    width: 100%;
    margin-top: 4%;
    margin-bottom: 10%;
  }

  #contents > div:nth-child(3) > div > div:nth-child(2),
#contents > div:nth-child(3) > div > div:nth-child(3) {
    margin-top: 6%;
  }

  .textImgBox35 .sp_history {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    margin-bottom: 8%;
  }

  footer {
    margin-top: 0;
    font-size: 10px;
  }

  .textImgBox35 .history .txt {
    font-size: 14px;
  }

  .textImgBox35 .corporate:nth-of-type(2) .box p.title {
    font-size: 15px;
    font-weight: bold;
  }
}
/* 2024年版追記 */
.cl33_max {
  display: flex;
}

.cl33_max > * {
  width: 33.3%;
}

.border {
  width: 100%;
  height: 3px;
}

.blue {
  color: #008ED8;
}

.white {
  color: #fff;
}

.red {
  color: #D80C1E;
}

.grey {
  color: #4D5357;
}

.h3Tit {
  font-size: 2.8rem;
}

.introArea > .cl50 {
  width: 90%;
  margin: auto;
}

.introArea p,
.companyArea p,
.p0 p {
  padding: 0;
}


.introArea > .cl50 > li > div > p:nth-of-type(1) {
  margin-bottom: 6px;
}

.introArea > .cl50 > li {
  padding: 20px;
  margin-bottom: 0;
}

.h2Tit {
  font-weight: bold;
  font-size: 5rem;
  text-align: center;
  line-height: 160%;
}

.float_l > img {
  width: 30%;
  margin-right: 30px;
  margin-bottom: 30px;
  float: left;
}

.float_r > img {
  width: 30%;
  margin-left: 30px;
  margin-bottom: 30px;
  float: right;
}

.cm_link,
.movie_link {
  height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.movie_link {
  border: 3px solid #008ED8;
  height: 144px;
}

.cm_link {
  background: #008ED8;
}
.cm_link .btn a {
  background: #fff;
  color: #008ed8;
}
.cm_link .btn a::after {
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #008ed8;
  border-right: 0;
}

.lh150 {
  line-height: 150%;
}

.companyArea {
  background: #EAF6FD;
  text-align: center;
}
.companyArea a {
  display: inline-block;
}
.companyArea .logo {
  width: 30%;
  max-width: 200px;
  /* max-width: 280px; */
}
.companyArea .corporate {
  position: relative;
}
.companyArea .corporate::after {
  content: "";
  position: absolute;
  display: inline-block;
  right: 0;
  bottom: 0;
  background: #008ED8;
  width: 2px;
  height: 100%;
}

.companyArea a {
  color: #333;
  text-decoration: underline;
}

.innerBox02 {
  width: 90%;
  margin: auto;
}
.innerBox02 .cl50 > * {
  margin-bottom: 0;
}

.y_t {
  color: #001c2b;
}

.btn a {
  color: #fff;
  padding: 10px 40px 12px;
  min-width: 200px;
  border-radius: 15px;
  background: #008ed8;
  position: relative;
  font-weight: bold;
  display: inline-block;
}
.btn a::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 18px;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #fff;
  border-right: 0;
  display: inline-block;
}

.cl6_4.qr {
  width: 35%;
  min-width: 336px;
  margin: auto;
}

.X-img {
  max-width: 200px;
  margin: auto;
}

@media screen and (max-width: 1415px) {
  .introArea > .cl50 {
    width: 96%;
    margin: auto;
  }

  .introArea > .cl50 .flex {
    flex-wrap: wrap;
  }

  .introArea > ul > li:nth-child(2) > div > p.blue,
.introArea > ul > li:nth-child(1) > div > p.red {
    width: 100%;
  }
}
@media screen and (max-width: 1250px) {
  .companyArea .cl4_6 > div:nth-child(even) {
    width: 70%;
  }
}
@media screen and (max-width: 1135px) {
  #contents > ul.cl50.introArea > li:nth-child(1) > div,
#contents > ul.cl50.introArea > li:nth-child(2) > div {
    flex-wrap: wrap;
  }

  #contents > ul.cl50.introArea > li:nth-child(2) > div > p.mR10 {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .introArea > .cl50 {
    width: 90%;
    margin: auto;
  }

  .introArea > .cl50 > li {
    padding: 20px 0;
    margin-bottom: 0;
  }

  .introArea .cl50 {
    flex-wrap: wrap;
  }

  .float_l > img,
.float_r > img {
    width: 100%;
    margin: 0;
    float: none;
  }

  .maintitle {
    margin-bottom: 2%;
    text-align: center;
  }

  .cl50 {
    flex-wrap: wrap;
  }

  .companyArea .cl4_6 {
    flex-wrap: wrap;
  }

  .companyArea .logo {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 200px;
  }

  .companyArea .cl50 > *,
.companyArea .cl4_6 > div:nth-child(even) {
    width: 100%;
    /* margin-right: 0 !important; */
    padding-right: 0 !important;
  }

  .companyArea .cl4_6 > div:nth-child(even) {
    margin-bottom: 0;
  }

  .companyArea .cl50::after,
.companyArea .corporate::after {
    display: none;
  }

  .companyArea .cl50 > *:nth-of-type(1) {
    margin-bottom: 4%;
  }
}

/* 2025年分追記 */
.mT50 {
  margin-top: 50px;
}

.flex {
  width: 100% !important;
}

.inner02 {
  max-width: 1200px;
  padding: 10px 50px;
  margin: 0 auto;
}

.bg_w {
  background: #fff;
}

.storyImg img {
  width: 100%;
  height: auto;
  display: block;
}

/* 挨拶 */
.presidentMsg__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 260px 1fr 260px;
  gap: 26px;
  align-items: start;
}

.presidentMsg__photo{
  margin: 0;
}
.presidentMsg__photo img{
  width: 100%;
  height: auto;
  display: block;
}

.presidentMsg__text{
  margin: 0 0 14px;
  color: #0b2e6d;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.65;
  letter-spacing: .02em;
}

.presidentMsg__sign{
  margin: 0;
  color: #0b2e6d;
  font-weight: 900;
  font-size: 14px;
}

.presidentMsg__name{
  margin-left: 6px;
  font-size: 22px;
  letter-spacing: .06em;
}

.presidentMsg__profile{
  border: 2px solid #86a9e8;
  padding: 26px 22px;
  color: #0b2e6d;
  font-weight: 800;
  background: #fff;
}

.profileBox__name{
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 900;
}

.profileBox__desc{
  margin: 0;
  font-size: 15.5px;
  line-height: 1.7;
}

.flow_sp {
  background: #cf2b2b;
  color: #fff;
  padding: 16px 34px 16px 18px;
  font-weight: 700;
}

/* ========= 赤枠 ========= */
.storyTop,
.storyFlow,
.storyBottom{
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr; 
  column-gap: 48px;
  align-items: start;
}

/* 右カラムの画像だけ抑える */
.storyTop > :last-child .storyImg img,
.storyBottom > :last-child .storyImg img {
  max-width: 320px;
  margin: 0 auto;
}

.storyTop{
  row-gap: 10px; align-items: end;
}

.storyTop__note,
.storyList,
.storyBottom__note {
  margin: 8px 0 0;
  font-weight: 700;
  font-size: 16px;
  color: #0b3d4d;
}

.storyTop__right {
  position: relative; 
}

.storyFlow .flow{
position: relative;
}

.storyFlow{
position: relative;
display: grid;
grid-template-columns: 1fr 1fr 1.8fr; 
background: #cf2b2b;
color: #fff;
padding: 28px 72px 28px 32px;
margin: 28px 0;
}

/* 右端矢印 */
.storyFlow::after {
  content: "";
  position: absolute;
  top: 0;
  right: -52px;
  width: 0;
  height: 0;
  border-top: 76px solid transparent;
  border-bottom: 46px solid transparent;
  border-left: 52px solid #cf2b2b;
}

.storyFlow .flow{
background: transparent;
padding: 0;
min-height: auto;
display: grid;
gap: 8px;
align-content: start;
}

/* 1つ目・2つ目の区切り三角 */
.storyFlow .flow:not(:last-child)::after{
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: -49px !important; 
  transform: translateY(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 24px solid transparent !important;
  border-bottom: 24px solid transparent !important;
  border-left: 24px solid #fff !important;
  z-index: 10 !important;
}

.flow__title,
.flow__text{
  margin: 0;
  font-size: 18px;
  font-weight: 900;
  padding: 0 !important;
}

/* 台湾選手 */
.message {
  padding: 4%;
  border: 2px solid #d01120;
  background-color: #fff !important;
  margin: 0 auto;
  border-top: none;
  position: relative;
}

.supportAthletes__inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 16px;
}

.supportAthletes__head{
  display:flex;
  justify-content: space-between;
  gap: 18px;
  align-items:flex-start;
}

.supportAthletes__title{
  margin: 0;
  color: #c20000;
  font-weight: 900;
  font-size: 26px;
  line-height: 1.15;
  letter-spacing: .02em;
}

.supportAthletes__title span{
  display:inline-block;
  margin-top: 4px;
  font-size: 28px;
}

.supportAthletes__lead{
  margin: 10px 0 0;
  color: #111;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8;
  padding: 15px 0 30px;
  text-align: center;
}

.supportAthletes__silhouette{
  margin: 0;
  width: 130px;
  flex: 0 0 130px;
}
.supportAthletes__silhouette img{
  width: 100%;
  height: auto;
  display:block;
}

.supportAthletes__icon img {
  width: 90px;
  height: auto;
  display: block;
  transform: translate(-381px, 0px);
}

.supportAthletes__grid{
  margin-top: 28px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  align-items:start;
}

.athleteCard{
  text-align: center;
}

.athleteCard__photo{
  margin: 0 auto 14px;
  width: 200px;
  aspect-ratio: 1 / 1;
  border-radius: 999px;
  overflow: hidden;
  background: #eee;
}
.athleteCard__photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}

.athleteCard__name{
  margin: 0;
  color:#111;
  font-weight: 900;
  font-size: 20px;
  letter-spacing: .02em;
  line-height: 1.2;
}

.athleteCard__kana{
  font-weight: 800;
  font-size: 14px;
  margin-left: 6px;
  display:inline-block;
}

.athleteCard__meta{
  font-weight: 800;
  font-size: 15px;
  color:#111;
}

.message.dispA.innerBox {
  position: relative;
}

.supportAthletes__icon {
  position: absolute;
  top: 16px;
  right: 16px;
  margin: 0;
  z-index: 10;
}

/* インタビュー */
.coconavi__inner{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: center;
}

.cocoPerson{
  display: grid;
  grid-template-columns: 1fr 160px;
  gap: 16px;
  align-items: center;
}

.cocoPerson--right{
  grid-template-columns: 160px 1fr;
}

.cocoPerson__photo{
  margin: 0;
  width: 160px;
}
.cocoPerson__photo img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}

.cocoPerson__text{
  color: #0b2e6d;
  line-height: 1.5;
}

.cocoPerson__year{
  margin: 0;
  font-weight: 900;
  font-size: 14px;
}

.cocoPerson__sub{
  font-weight: 900;
}

.cocoPerson__name{
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .02em;
  border-bottom: 2px solid #0b2e6d;
  display: inline-block;
}

.cocoPerson__name span{
  font-size: 14px;
  font-weight: 900;
  margin-left: 4px;
}

.cocoPerson__desc{
  margin: 0;
  font-size: 14px; 
  font-weight: 700;
}

.flex {
  justify-content: center;
}

.btnWrap{
  text-align: center;
  margin-bottom: 32px;
}

.btnRedMovie{
  display: inline-block;
  padding: 16px 36px;
  background: #cf2b2b;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .05em;
  text-decoration: none;
  border-radius: 999px; /* 丸み */
  transition: all .25s ease;
}

.btnRedMovie:hover{
  background: #a92020;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,.25);
}

/* 二個目のインタビュー */
.staffProfile__info{
  padding: 20px 0px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.staffProfile__dept{
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.staffProfile__name{
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: .04em;
}

.staffProfile__name span{
  font-size: 14px;
  font-weight: 700;
  margin-left: 10px;
}

.staffProfile__meta{
  list-style: none;
  padding: 0;
  margin: 0;
}

.staffProfile__meta li{
  font-size: 15px;
  font-weight: 700;
}

.staffBodyInner{
  background: #fff;
  padding: 40px;
  min-height: 520px;
  display:flex;
  flex-direction: column;
  justify-content: space-between;
}

.staffRow{
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.staffHeader{
  flex: 0 0 320px;
}

.staffHeader__thumb{
  width: 60%;
}

.staffTalk{
  flex: 1;
  min-width: 0; 
}

.staffText{
  max-width: 420px;
}

.staffText p{
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.7;
  letter-spacing: .02em;
}

.t-red{ color:#e00000; }
.t-blue{ color:#1c3fb3; }

.staffPhotos{
  display:flex;
  gap: 26px;
  align-items: flex-end;
  margin-top: 50px;
}

.staffPhotos__item{
  margin:0;
}

.staffPhotos__item img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 12px;
}

/* 会社情報 */
.companyArea .corporate::after {
  display: none;  
}

.companyMessage {
  max-width: 420px;
  padding: 12px 16px;
  border: 2px solid #4aa3df;
  color: #4aa3df;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 800;
  background: #fff;
  text-align: left !important;
  box-sizing: border-box;
}

.companyArea .logo {
  max-width: 250px !important;
}

.right {
  text-align: right;
}

/* レスポンシブ */
@media (max-width: 900px){

  .inner02 {
    padding: 50px 15px 0;
  }

  .storyTop,
  .storyFlow,
  .storyBottom{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 22px;
  }

  .storyTop,
  .storyFlow,
  .storyBottom{
    align-items: start;
  }

  .storyTop > :nth-child(3),
  .storyFlow > :nth-child(3),
  .storyBottom > :nth-child(3){
    grid-column: 1 / -1;
  }

  .flow{
    max-width: none;
    min-height: 88px;
  }

  /* 挨拶 */
  .presidentMsg__inner{
    grid-template-columns: 1fr;
  }

  .presidentMsg__photo{
    width: min(220px, 100%);
  }

  .presidentMsg__text {
    font-size: 14px;
  }

  .profileBox__desc{
  font-size: 14px;
  }

  .presidentMsg__profile {
    padding: 20px 19px;
  }

  .supportAthletes__grid{
    grid-template-columns: repeat(2, 1fr);
  }

  /* 台湾選手 */
  .message {
      max-width: 100% !important;
  }

  .supportAthletes__head {
    display: block;
  }

  .supportAthletes__title span {
    font-size: 25px;
  }
}

@media (max-width: 820px){
  .coconavi__inner{
    grid-template-columns: 1fr;
  }
  .cocoPerson,
  .cocoPerson--right{
    grid-template-columns: 1fr 140px;
  }
  .cocoPerson--right {
  grid-template-columns: 136px 1fr;
  }
  .cocoPerson__photo{ width: 140px; }

  .staffProfile__name span{
    margin-left: 3px !important;
  }
  .flow_sp {
    padding: 10px !important;
  }
  .cocoPerson {
    align-items: start !important;
  }
}

@media (max-width: 700px){
  .staffRow{
    flex-direction: column;
  }
  .staffHeader{
    display: grid;
    grid-template-columns: 140px 1fr;
    margin-bottom: 30px;
  }
  
  .staffProfile__info {
    padding: 0 0 0 10px !important;
    display: block;
  }
  .staffRow {
  display: block;
  }
  
  .staffHeader__thumb {
      width: 100%;
  }
  .staffHeader__thumbWrap{
    width: 100%;
    flex-basis: 42%;
  }
  .staffHeader__nums{
    width: 100%;
    justify-content: flex-end;
  }
  .staffBodyInner{
    min-height: auto;
  }
  .staffPhotos{
    flex-direction: column;
    align-items: center;
  }
  .staffPhotos__item{
    width: min(320px, 100%);
  }
  .staffCard__fav{
    right: 0;
    top: 140px;
  }
  
  .staffText p {
      font-size: 14px;
  }
}

@media (max-width: 600px){
  .storyTop,
  .storyFlow,
  .storyBottom{
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 18px;
  }

  .flow{
    max-width: none;
    min-height: auto;
    padding: 14px 16px;
    border-radius: 10px; 
  }

  .flow__title ,.flow__text{
    font-size: 13px !important; 
  }

  .storyTop__note,
  .storyBottom__note{
    text-align: center;
  }

  .btnRedMovie{
    font-size: 14px;
    padding: 14px 28px;
  }
}

@media (max-width: 520px){
  .supportAthletes__head{
    flex-direction: column;
  }
  .supportAthletes__silhouette{
    width: 110px;
  }
  .supportAthletes__grid{
    grid-template-columns: 1fr;
  }
  .athleteCard__photo{
    width: 170px;
  }
  .supportAthletes__icon img{
    width: 115px;
    transform: translateY(-71px);
  }

  .supportAthletes__lead {
    font-size: 14px;
    text-align: left;
  }
}

