@charset "UTF-8";
/*-----------------------
 basic
-------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-weight: bold; }

h1, h2, h3, h4, h5, h6, p, dt, dd, li, input, textarea, button {
  line-height: 1em;
  margin-bottom: 1em; }

section h1, section h2, section h3, section h4, section h5, section h6 {
  line-height: 1.2em;
  letter-spacing: 0.2em;
  font-weight: 700; }
section p, section dt, section dd, section li, section input, section textarea, section button {
  line-height: 1.5em;
  letter-spacing: 0.2em;
  font-weight: 700; }

.content {
  display: table; }
  .content > div {
    display: table-cell;
    vertical-align: middle; }

/*-----------------------
 header
-------------------------*/
/*basic*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999; }
  .header .header_inner {
    width: 1000px;
    margin: auto;
    display: table; }
    .header .header_inner > div {
      display: table-cell;
      vertical-align: top; }

/*customize*/
.header {
  height: 64px;
  border-bottom: 2px solid #7c7c7c;
  background: #FFF; }
  .header .header_inner {
    padding: 8px 15px 8px 25px; }
  .header .header_logo h1 {
    margin: 0; }

.menu-content ul {
  display: flex;
  justify-content: flex-end; }
  .menu-content ul li.header_navi_tel a {
    font-size: 2.4rem;
    font-weight: 700;
    font-family: "小塚ゴシック Pr6N","メイリオ","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    display: block;
    margin: 7px 0 0 0;
    padding: 0 0 0 30px;
    position: relative; }
    .menu-content ul li.header_navi_tel a span {
      position: absolute;
      top: -3px;
      left: 0; }
  .menu-content ul li.header_navi_tel small {
    display: block;
    text-align: center;
    font-family: "メイリオ","小塚ゴシック Pr6N","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 1.1rem;
    text-indent: 0.1em;
    display: block;
    margin: 10px 0 0 0; }
  .menu-content ul li.header_navi_form {
    margin-left: 15px; }
    .menu-content ul li.header_navi_form a {
      font-size: 1.4rem;
      font-weight: bold;
      color: #FFF;
      width: 184px;
      height: 46px;
      display: block;
      position: relative;
      padding: 16px 0 0 20px;
      letter-spacing: 0.1em;
      background: #22284c; }
      .menu-content ul li.header_navi_form a::before {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        content: "";
        background: url("../images/arr01.png") no-repeat;
        width: 16px;
        height: 13px; }
  .menu-content ul li.header_navi_line {
    margin-left: 15px; }
    .menu-content ul li.header_navi_line a {
      font-size: 1.4rem;
      font-weight: bold;
      color: #FFF;
      width: 184px;
      height: 46px;
      display: block;
      position: relative;
      padding: 16px 0 0 60px;
      letter-spacing: 0.1em;
      background: #01b901; }
      .menu-content ul li.header_navi_line a::before {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        content: "";
        background: url("../images/arr01.png") no-repeat;
        width: 16px;
        height: 13px; }
      .menu-content ul li.header_navi_line a span {
        position: absolute;
        top: 4px;
        left: 14px; }

#menu-btn-check {
  display: none; }

@media screen and (max-width: 999px) {
  .header {
    height: 64px; }
    .header .header_inner {
      padding: 8px 10px 8px;
      width: 100%; }

  .menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 40px;
    width: 40px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background: #000; }

  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 20px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute; }

  .menu-btn span:before {
    bottom: 8px; }

  .menu-btn span:after {
    top: 8px; }

  #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/ }

  #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg); }

  #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg); }

  #menu-btn-check {
    display: none; }

  .menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    /*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    transition: all 0.5s;
    /*アニメーション設定*/
    background: rgba(255, 255, 255, 0.9); }

  .menu-content ul {
    padding: 70px 10px 0; }

  #menu-btn-check:checked ~ .menu-content {
    left: 0%;
    /*メニューを画面内へ*/ }

  .menu-content ul {
    display: block; }
    .menu-content ul li.header_navi_tel {
      text-align: center; }
      .menu-content ul li.header_navi_tel a {
        margin: auto;
        text-align: center;
        display: inline-block; }
    .menu-content ul li.header_navi_form {
      margin-left: 0; }
      .menu-content ul li.header_navi_form a {
        margin: auto; }
    .menu-content ul li.header_navi_line {
      margin-left: 0; }
      .menu-content ul li.header_navi_line a {
        margin: auto; } }
/*-----------------------
 mv
-------------------------*/
.mv {
  height: 490px;
  background: url("../images/mv_bg.jpg") no-repeat;
  background-size: cover;
  padding: 30px 0; }
  .mv .wrap {
    padding: 0; }
  .mv .mv_inner {
    width: 640px;
    margin: auto;
    background: rgba(255, 255, 255, 0.5);
    padding: 27px 0 1px 0; }
    .mv .mv_inner h2 {
      text-align: center;
      font-size: 3.6rem;
      text-indent: 0.05em;
      letter-spacing: 0.05em;
      line-height: 1em; }
      .mv .mv_inner h2 small {
        display: block;
        font-size: 1.6rem; }
    .mv .mv_inner p {
      text-align: center; }
      .mv .mv_inner p a {
        font-size: 1.4rem;
        font-weight: bold;
        color: #FFF;
        width: 300px;
        height: 46px;
        display: block;
        position: relative;
        padding: 12px 20px 0 0px;
        letter-spacing: 0.1em;
        background: #22284c;
        margin: auto; }
        .mv .mv_inner p a::before {
          position: absolute;
          top: 50%;
          right: 20px;
          transform: translateY(-50%);
          content: "";
          background: url("../images/arr01.png") no-repeat;
          width: 16px;
          height: 13px; }
    .mv .mv_inner ul {
      width: 300px;
      margin: auto; }
      .mv .mv_inner ul li {
        margin: 0 0 12px 0; }

@media screen and (max-width: 999px) {
  .mv {
    height: auto; }
    .mv .mv_inner {
      width: calc(100% - 30px);
      margin: 15px;
      padding: 15px; }
      .mv .mv_inner h2 {
        line-height: 1.25em;
        margin-bottom: 1em; }
        .mv .mv_inner h2 small {
          line-height: 1.5em; } }
/*-----------------------
 mv2
-------------------------*/
.mv2 .wrap {
  height: 490px;
  background: url("../images/mv2_bg.jpg") no-repeat center right;
  background-size: auto;
  padding: 30px 0; }
.mv2 .mv2_inner {
  width: 550px;
  /*background: rgba(255,255,255,0.5);*/
  padding: 18px 0 0 10px; }
  .mv2 .mv2_inner h2 {
    text-align: center;
    font-size: 3.6rem;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    line-height: 1em; }
    .mv2 .mv2_inner h2 small {
      display: block;
      font-size: 1.6rem; }
  .mv2 .mv2_inner p {
    text-align: center;
    margin-bottom: 25px; }
    .mv2 .mv2_inner p a {
      font-size: 1.4rem;
      font-weight: bold;
      color: #FFF;
      width: 300px;
      height: 46px;
      display: block;
      position: relative;
      padding: 12px 20px 0 0px;
      letter-spacing: 0.1em;
      background: #22284c;
      margin: auto; }
      .mv2 .mv2_inner p a::before {
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        content: "";
        background: url("../images/arr01.png") no-repeat;
        width: 16px;
        height: 13px; }
  .mv2 .mv2_inner ul {
    width: 315px;
    margin: auto;
    margin-bottom: 15px; }
    .mv2 .mv2_inner ul li {
      margin: 0 0 8px 0;
      font-size: 1.8rem;
      letter-spacing: 0.1em; }

@media screen and (max-width: 999px) {
  .mv2 .wrap {
    height: auto;
    background: url("../images/mv2_bg.jpg") no-repeat center center;
    background-size: 100% 100%;
    padding: 30px 0; }
  .mv2 .mv2_inner {
    background: rgba(255, 255, 255, 0.75);
    width: calc(100% - 30px);
    margin: 15px;
    padding: 15px; }
    .mv2 .mv2_inner h2 {
      line-height: 1.25em;
      margin-bottom: 1em; }
      .mv2 .mv2_inner h2 small {
        line-height: 1.5em; } }
/*-----------------------
 form
-------------------------*/
.form {
  background: #2c3366; }
  .form .wrap {
    padding: 75px 90px; }
  .form .form_inner {
    background: #FFF;
    padding-bottom: 15px;
    margin-bottom: 35px; }
  .form h2 {
    text-align: center;
    padding-top: 70px;
    margin-bottom: 65px; }
    .form h2 span {
      text-align: center;
      display: inline-block;
      width: auto;
      margin-left: auto;
      margin-right: auto;
      font-size: 3.0rem;
      position: relative; }
      .form h2 span::before {
        width: 170px;
        height: 14px;
        position: absolute;
        top: 0;
        left: -6.5em;
        content: "";
        background: url("../images/form_img.png") no-repeat; }
      .form h2 span::after {
        width: 170px;
        height: 14px;
        position: absolute;
        top: 0;
        right: -6.5em;
        content: "";
        background: url("../images/form_img.png") no-repeat;
        transform: rotate(180deg); }
  .form .form_box {
    width: 530px;
    margin: 0 auto 10px; }
    .form .form_box dl {
      display: flex;
      flex-wrap: wrap; }
      .form .form_box dl dt {
        width: 180px;
        font-size: 1.6rem;
        line-height: 2em;
        letter-spacing: 0.05em; }
      .form .form_box dl dd {
        width: 350px;
        font-size: 1.6rem;
        line-height: 2em;
        letter-spacing: 0.05em; }
        .form .form_box dl dd label {
          width: 8em;
          display: inline-block;
          letter-spacing: 0.05em; }
          .form .form_box dl dd label .formError {
            margin-left: 130px; }
        .form .form_box dl dd input[type="text"], .form .form_box dl dd input[type="tel"] {
          font-weight: normal;
          font-size: 1.6rem;
          width: 100%;
          letter-spacing: 0.05em; }
        .form .form_box dl dd input.urikake {
          width: 9em;
          letter-spacing: 0.05em; }
  .form .contact_form_check {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    margin-bottom: 30px; }
  .form .contact_form_submit {
    text-align: center; }
    .form .contact_form_submit button {
      width: 365px;
      height: 52px;
      font-size: 3.0rem;
      font-weight: bold;
      color: #FFF;
      background: #7e82a1;
      position: relative;
      border: none; }
      .form .contact_form_submit button span {
        position: absolute;
        top: 50%;
        right: 30px;
        display: block;
        width: 32px;
        height: 26px;
        background: url("../images/arr02.png") no-repeat;
        transform: translateY(-50%); }

.pp {
  background: #FFF;
  padding: 15px 20px; }
  .pp h3 {
    font-size: 1.8rem;
    text-decoration: underline;
    margin-bottom: 0; }
  .pp p {
    font-size: 1.2rem;
    font-weight: bold; }
  .pp dt {
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    color: #2c3366; }
  .pp dd {
    font-size: 1.2rem;
    letter-spacing: 0.05em; }

@media screen and (max-width: 999px) {
  .form .wrap {
    padding: 75px 15px; }
  .form .form_inner {
    background: #FFF;
    padding-bottom: 15px;
    margin-bottom: 35px; }
  .form h2 {
    text-align: center;
    padding-top: 70px;
    margin-bottom: 65px; }
    .form h2 span {
      font-size: 2.4rem;
      position: relative; }
      .form h2 span::before {
        top: -25px;
        left: 0;
        background: none; }
      .form h2 span::after {
        top: 25px;
        right: 0;
        background: none; }
  .form .form_box {
    width: auto; }
    .form .form_box dl {
      display: block;
      padding: 0 15px; }
      .form .form_box dl dt {
        width: auto; }
      .form .form_box dl dd {
        width: auto; }
  .form .contact_form_check {
    padding: 0 15px; }
  .form .contact_form_submit {
    text-align: center;
    padding: 0 15px; }
    .form .contact_form_submit button {
      width: 100%;
      max-width: 365px; }

  .pp h3 {
    letter-spacing: 0.1em; } }
/*-----------------------
 riyou
-------------------------*/
.riyou .wrap {
  padding: 85px 0 68px 0; }
.riyou h2 {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
  margin-bottom: 15px; }
.riyou p {
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 10px; }
.riyou ul {
  display: flex;
  justify-content: space-between;
  padding: 15px 120px 0; }

@media screen and (max-width: 999px) {
  .riyou .wrap {
    padding: 85px 15px 68px 15px; }
  .riyou ul {
    display: block;
    padding: 15px 0 0;
    text-align: center; } }
/*-----------------------
 nayami
-------------------------*/
.nayami .nayami_list {
  background: #d3a24f; }
  .nayami .nayami_list .wrap {
    padding: 95px 0 80px; }
  .nayami .nayami_list .nayami_list_inner {
    background: #FFF;
    border-radius: 30px;
    width: 790px;
    margin: auto;
    position: relative;
    padding: 50px 75px 30px; }
    .nayami .nayami_list .nayami_list_inner::before {
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 30px 30px 0 30px;
      border-color: #ffffff transparent transparent transparent; }
    .nayami .nayami_list .nayami_list_inner h2 {
      font-size: 2.6rem;
      text-align: center;
      letter-spacing: 0.1em; }
    .nayami .nayami_list .nayami_list_inner ul li {
      letter-spacing: 0.1em;
      margin-bottom: 0;
      font-size: 1.8rem;
      font-weight: bold;
      position: relative;
      padding-left: 1em; }
      .nayami .nayami_list .nayami_list_inner ul li::before {
        content: "・";
        position: absolute;
        top: 0;
        left: 0; }
.nayami .nayami_kaiketsu .wrap {
  padding: 110px 0 80px; }
.nayami .nayami_kaiketsu h3 {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.4em;
  margin-bottom: 85px; }
.nayami .nayami_kaiketsu .nayami_kaiketsu_list {
  padding: 0 110px; }
  .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl {
    position: relative;
    padding: 25px 0 0 120px;
    height: 96px;
    margin-bottom: 32px; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl::before {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      width: 103px;
      height: 96px; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl:nth-child(1)::before {
      background: url("../images/nayami_num01.png") no-repeat; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl:nth-child(2)::before {
      background: url("../images/nayami_num02.png") no-repeat; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl:nth-child(3)::before {
      background: url("../images/nayami_num03.png") no-repeat; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl::after {
      position: absolute;
      content: "";
      top: 96px;
      left: 0;
      width: 100%;
      height: 3px;
      background: #000; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dt {
      font-size: 2.2rem;
      letter-spacing: 0.1em;
      margin-bottom: 5px; }
      .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dt span {
        font-size: 2.8rem;
        letter-spacing: 0.1em;
        color: #22284c;
        display: inline-block;
        position: relative; }
        .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dt span::after {
          content: "";
          display: block;
          width: 100%;
          height: 6px;
          background: #efd75e; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dd {
      font-size: 1.5rem;
      letter-spacing: 0em; }

@media screen and (max-width: 999px) {
  .nayami .nayami_list .wrap {
    padding: 95px 15px 80px; }
  .nayami .nayami_list .nayami_list_inner {
    width: auto;
    padding: 30px 15px; }
  .nayami .nayami_kaiketsu .wrap {
    padding: 110px 15px 80px; }
  .nayami .nayami_kaiketsu .nayami_kaiketsu_list {
    padding: 0; }
    .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl {
      position: relative;
      padding: 85px 0 0 20px;
      height: auto; }
      .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl::after {
        top: 32px;
        z-index: -1; }
      .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dt {
        font-size: 2.2rem;
        letter-spacing: 0.1em;
        margin-bottom: 5px; }
        .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dt span {
          font-size: 2.8rem;
          letter-spacing: 0.1em;
          color: #22284c;
          display: inline-block;
          position: relative; }
          .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dt span::after {
            content: "";
            display: block;
            width: 100%;
            height: 6px;
            background: #efd75e; }
      .nayami .nayami_kaiketsu .nayami_kaiketsu_list dl dd {
        font-size: 1.5rem;
        letter-spacing: 0em; } }
/*-----------------------
 shikumi
-------------------------*/
.shikumi .wrap {
  padding: 100px 15px 0; }
.shikumi h2 {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 77px; }
.shikumi p {
  letter-spacing: 0.05em;
  font-weight: normal;
  margin-bottom: 24px; }
.shikumi dl {
  padding-top: 70px; }
  .shikumi dl dt {
    width: 890px;
    margin: 0 auto 50px; }
    .shikumi dl dt img {
      height: auto; }
  .shikumi dl dd {
    font-weight: normal;
    margin-bottom: 37px;
    letter-spacing: 0.075em; }
    .shikumi dl dd span {
      width: 890px;
      display: block;
      margin: auto; }

@media screen and (max-width: 999px) {
  .shikumi .wrap {
    padding: 100px 15px 0; }
  .shikumi dl dt {
    width: auto; }
  .shikumi dl dd span {
    width: auto; } }
/*-----------------------
 nagare
-------------------------*/
.nagare .wrap {
  padding: 90px 15px 90px; }
.nagare h2 {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 100px; }
.nagare p {
  text-align: center; }
.nagare ol {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px; }
  .nagare ol li {
    width: 230px; }
    .nagare ol li dl {
      border: 2px solid #000;
      padding: 15px 10px;
      position: relative; }
      .nagare ol li dl::before {
        position: absolute;
        content: "";
        top: 8px;
        left: -6px;
        width: 30px;
        border-bottom: 2px solid #000;
        transform: rotate(45deg);
        z-index: 100; }
      .nagare ol li dl dt {
        letter-spacing: 0;
        margin-bottom: 0;
        text-align: center; }
        .nagare ol li dl dt small {
          position: absolute;
          top: -40px;
          left: 0;
          width: 100px;
          background: #FFF;
          text-align: center;
          color: #db9e29;
          z-index: 10; }
          .nagare ol li dl dt small span {
            display: block;
            font-size: 3.5rem; }
      .nagare ol li dl dd {
        background: #dad2bf;
        font-size: 1.2rem;
        letter-spacing: 0;
        margin-bottom: 0;
        display: table-cell;
        width: 1000px;
        height: 72px;
        text-align: center;
        vertical-align: middle; }

@media screen and (max-width: 999px) {
  .nagare .wrap {
    padding: 90px 15px 90px; }
  .nagare ol {
    display: block;
    margin-bottom: 50px; }
    .nagare ol li {
      width: auto;
      margin-bottom: 50px; } }
/*-----------------------
 about
-------------------------*/
.about {
  background: url("../images/about_bg.jpg") no-repeat center bottom;
  background-size: cover; }
  .about .wrap {
    padding: 100px 0 60px; }
  .about h2 {
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 95px; }
  .about dl {
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    display: flex;
    flex-wrap: wrap;
    margin: 0 70px 0;
    background: rgba(255, 255, 255, 0.35); }
    .about dl dt {
      border-bottom: 1px solid #000;
      width: 300px;
      margin: 0;
      line-height: 1em;
      padding: 19px 19px 19px 146px;
      letter-spacing: 0.05em; }
    .about dl dd {
      border-bottom: 1px solid #000;
      border-right: 1px solid #000;
      width: calc(100% - 300px);
      margin: 0;
      line-height: 1em;
      padding: 19px 19px 19px 0px;
      letter-spacing: 0.05em; }

@media screen and (max-width: 999px) {
  .about .wrap {
    padding: 100px 15px 60px; }
  .about dl {
    display: block;
    flex-wrap: wrap;
    margin: 0; }
    .about dl dt {
      border-bottom: 1px dotted #000;
      border-right: 1px solid #000;
      width: auto;
      padding: 19px; }
    .about dl dd {
      border-bottom: 1px solid #000;
      border-right: 1px solid #000;
      width: auto;
      margin: 0;
      padding: 19px;
      line-height: 1.2em; } }
/*-----------------------
 contact
-------------------------*/
.contact {
  background: #f6e6c8; }
  .contact .wrap {
    padding: 0; }
  .contact .contact_inner {
    display: flex; }
    .contact .contact_inner > div {
      width: 50%; }
    .contact .contact_inner > div:nth-child(1) {
      padding: 35px 20px 0; }
    .contact .contact_inner > div:nth-child(2) {
      text-align: center; }
    .contact .contact_inner h2 {
      text-align: center;
      margin-bottom: 30px; }
    .contact .contact_inner dl dt {
      font-size: 1.8rem;
      letter-spacing: 0.05em;
      text-align: center;
      margin-bottom: 1px; }
    .contact .contact_inner dl dd {
      letter-spacing: 0.05em; }
    .contact .contact_inner dl.contact_inner_tel dd {
      text-align: center;
      font-size: 4.2rem;
      font-family: "小塚ゴシック Pr6N","メイリオ","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      line-height: 1em;
      margin: 0 0 17px 0; }
      .contact .contact_inner dl.contact_inner_tel dd a {
        display: inline-block;
        padding-left: 70px;
        color: #22284c;
        position: relative; }
        .contact .contact_inner dl.contact_inner_tel dd a span {
          position: absolute;
          top: -5px;
          left: 0; }
      .contact .contact_inner dl.contact_inner_tel dd small {
        display: block;
        font-size: 1.6rem;
        line-height: 2em;
        letter-spacing: 0.05em; }
    .contact .contact_inner dl.contact_inner_btn dt {
      margin-bottom: 10px; }
    .contact .contact_inner dl.contact_inner_btn dd ul {
      display: flex;
      justify-content: space-between; }
      .contact .contact_inner dl.contact_inner_btn dd ul li {
        font-size: 1.4rem;
        letter-spacing: 0.05em; }
        .contact .contact_inner dl.contact_inner_btn dd ul li:nth-child(1) a {
          margin: auto;
          font-size: 1.4rem;
          font-weight: bold;
          color: #FFF;
          width: 222px;
          height: 46px;
          display: block;
          position: relative;
          padding: 13px 0 0 20px;
          letter-spacing: 0.1em;
          background: #22284c; }
          .contact .contact_inner dl.contact_inner_btn dd ul li:nth-child(1) a::before {
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            content: "";
            background: url("../images/arr01.png") no-repeat;
            width: 16px;
            height: 13px; }
        .contact .contact_inner dl.contact_inner_btn dd ul li:nth-child(2) a {
          margin: auto;
          font-size: 1.4rem;
          font-weight: bold;
          color: #FFF;
          width: 222px;
          height: 46px;
          display: block;
          position: relative;
          padding: 13px 0 0 60px;
          letter-spacing: 0.1em;
          background: #01b901; }
          .contact .contact_inner dl.contact_inner_btn dd ul li:nth-child(2) a::before {
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            content: "";
            background: url("../images/arr01.png") no-repeat;
            width: 16px;
            height: 13px; }
          .contact .contact_inner dl.contact_inner_btn dd ul li:nth-child(2) a span {
            position: absolute;
            top: 4px;
            left: 14px; }

@media screen and (max-width: 999px) {
  .contact .wrap {
    padding: 15px 5px 0px; }
  .contact .contact_inner {
    display: block; }
    .contact .contact_inner > div {
      width: auto; }
    .contact .contact_inner > div:nth-child(1) {
      padding: 35px 0; }
    .contact .contact_inner > div:nth-child(2) {
      display: none;
      text-align: center; }
      .contact .contact_inner > div:nth-child(2) img {
        max-width: 200px;
        height: auto; }
    .contact .contact_inner dl.contact_inner_tel dt {
      letter-spacing: 0em; }
    .contact .contact_inner dl.contact_inner_tel dd {
      text-align: center;
      font-size: 3.6rem;
      font-family: "小塚ゴシック Pr6N","メイリオ","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      line-height: 1em;
      margin: 0 0 17px 0; }
      .contact .contact_inner dl.contact_inner_tel dd a {
        letter-spacing: 0em;
        padding-left: 60px; }
      .contact .contact_inner dl.contact_inner_tel dd small {
        letter-spacing: 0em; }
    .contact .contact_inner dl.contact_inner_btn dd ul {
      display: block; }
      .contact .contact_inner dl.contact_inner_btn dd ul li:nth-child(1) a {
        margin: auto;
        letter-spacing: 0em; }
      .contact .contact_inner dl.contact_inner_btn dd ul li:nth-child(2) a {
        margin: auto;
        letter-spacing: 0em; } }
/*-----------------------
 contact2
-------------------------*/
.contact2 {
  background: #f6e6c8; }
  .contact2 .wrap {
    padding: 0; }
  .contact2 .contact2_inner {
    display: flex; }
    .contact2 .contact2_inner > div {
      width: 50%; }
    .contact2 .contact2_inner > div:nth-child(1) {
      padding: 35px 20px 0; }
    .contact2 .contact2_inner > div:nth-child(2) {
      text-align: center; }
    .contact2 .contact2_inner h2 {
      text-align: center;
      margin-bottom: 30px; }
    .contact2 .contact2_inner dl dt {
      font-size: 1.8rem;
      letter-spacing: 0.05em;
      text-align: center;
      margin-bottom: 1px; }
    .contact2 .contact2_inner dl dd {
      letter-spacing: 0.05em; }
    .contact2 .contact2_inner dl.contact2_inner_tel dd {
      text-align: center;
      font-size: 4.2rem;
      font-family: "小塚ゴシック Pr6N","メイリオ","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      line-height: 1em;
      margin: 0 0 17px 0; }
      .contact2 .contact2_inner dl.contact2_inner_tel dd a {
        display: inline-block;
        padding-left: 70px;
        color: #22284c;
        position: relative; }
        .contact2 .contact2_inner dl.contact2_inner_tel dd a span {
          position: absolute;
          top: -5px;
          left: 0; }
      .contact2 .contact2_inner dl.contact2_inner_tel dd small {
        display: block;
        font-size: 1.6rem;
        line-height: 2em;
        letter-spacing: 0.05em; }
    .contact2 .contact2_inner dl.contact2_inner_btn dt {
      margin-bottom: 10px; }
    .contact2 .contact2_inner dl.contact2_inner_btn dd ul {
      display: flex;
      justify-content: center; }
      .contact2 .contact2_inner dl.contact2_inner_btn dd ul li {
        font-size: 1.4rem;
        letter-spacing: 0.05em; }
        .contact2 .contact2_inner dl.contact2_inner_btn dd ul li:nth-child(1) a {
          margin: auto;
          font-size: 1.4rem;
          font-weight: bold;
          color: #FFF;
          width: 222px;
          height: 46px;
          display: block;
          position: relative;
          padding: 13px 0 0 20px;
          letter-spacing: 0.1em;
          background: #22284c; }
          .contact2 .contact2_inner dl.contact2_inner_btn dd ul li:nth-child(1) a::before {
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            content: "";
            background: url("../images/arr01.png") no-repeat;
            width: 16px;
            height: 13px; }
        .contact2 .contact2_inner dl.contact2_inner_btn dd ul li:nth-child(2) a {
          margin: auto;
          font-size: 1.4rem;
          font-weight: bold;
          color: #FFF;
          width: 222px;
          height: 46px;
          display: block;
          position: relative;
          padding: 13px 0 0 60px;
          letter-spacing: 0.1em;
          background: #01b901; }
          .contact2 .contact2_inner dl.contact2_inner_btn dd ul li:nth-child(2) a::before {
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            content: "";
            background: url("../images/arr01.png") no-repeat;
            width: 16px;
            height: 13px; }
          .contact2 .contact2_inner dl.contact2_inner_btn dd ul li:nth-child(2) a span {
            position: absolute;
            top: 4px;
            left: 14px; }

@media screen and (max-width: 999px) {
  .contact2 .wrap {
    padding: 15px 15px 0px; }
  .contact2 .contact2_inner {
    display: block; }
    .contact2 .contact2_inner > div {
      width: auto; }
    .contact2 .contact2_inner > div:nth-child(1) {
      padding: 35px 0 0; }
    .contact2 .contact2_inner > div:nth-child(2) {
      text-align: center; }
      .contact2 .contact2_inner > div:nth-child(2) img {
        max-width: 200px;
        height: auto; }
    .contact2 .contact2_inner dl.contact2_inner_tel dd {
      text-align: center;
      font-size: 3.6rem;
      font-family: "小塚ゴシック Pr6N","メイリオ","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
      line-height: 1em;
      margin: 0 0 17px 0; }
    .contact2 .contact2_inner dl.contact2_inner_btn dd ul {
      display: block; }
      .contact2 .contact2_inner dl.contact2_inner_btn dd ul li:nth-child(1) a {
        margin: auto;
        letter-spacing: 0em; }
      .contact2 .contact2_inner dl.contact2_inner_btn dd ul li:nth-child(2) a {
        margin: auto;
        letter-spacing: 0em; } }
/*-----------------------
 footer
-------------------------*/
.footer {
  text-align: center;
  border-top: 2px solid #7c7c7c;
  font-size: 1.4rem;
  letter-spacing: 0.15em; }
  .footer .wrap {
    padding: 50px 0; }
