@charset "UTF-8";
/*-------------------------------------------
 variable
-------------------------------------------*/
/***  color  ***/
/***  font-size  ***/
/***  screen  ***/
/***  font(NotoSansJP)  ***/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
/***  point  ***/
/*-------------------------------------------
 reset
-------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, button, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
main {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  vertical-align: baseline; }

ol, ul {
  list-style: none; }

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

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  -webkit-appearance: none !important;
  border-radius: 0; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

/*-------------------------------------------
 common-style
-------------------------------------------*/
/***  tag  ***/
html {
  font-size: 62.5%; }
  @media screen and (max-width: 900px) {
    html {
      font-size: 57.5%; } }
  @media screen and (max-width: 600px) {
    html {
      font-size: 52.5%; } }

body {
  font-family: 'Noto Serif JP', serif, 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
  font-weight: 400;
  color: #333333;
  font-size: 1.6rem;
  text-size-adjust: 100%;
  line-height: 1; }
  @media screen and (max-width: 900px) {
    body {
      padding-top: 8.0rem; } }
  @media screen and (max-width: 340px) {
    body {
      padding-top: 6.0rem; } }

.home article {
  max-width: 1140px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10.0rem;
  padding-left: 2.0rem;
  padding-right: 2.0rem; }
  @media screen and (max-width: 600px) {
    .home article {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }

article.wide {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0; }
article.end {
  margin-bottom: 0; }
article.bottom {
  margin-top: 12.5rem; }
  @media screen and (max-width: 900px) {
    article.bottom iframe {
      height: 400px; } }

main {
  background-image: url("../img/common/bk_01.jpg");
  background-size: 100px 100px;
  background-repeat: repeat;
  background-position: center center; }

.home main {
  padding-top: 8.0rem; }

ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  ul li {
    list-style-type: inherit; }

button {
  background: none;
  border: none;
  padding: 0; }

a {
  color: #333333;
  text-decoration: none;
  transition: all ease-in-out 0.3s; }
  a:hover {
    opacity: 0.6;
    transition: all ease-in-out 0.3s; }
    @media screen and (max-width: 600px) {
      a:hover {
        opacity: 1.0; } }

h1, h2, h3, h4, h5 {
  font-weight: normal;
  font-feature-settings: "palt"; }

p {
  font-size: 1.6rem;
  text-align: justify;
  line-height: 2.0; }
  @media screen and (max-width: 600px) {
    p {
      font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif; } }
  p u {
    color: #EC1212;
    text-decoration: none; }

img {
  height: auto; }

html body .tc {
  text-align: center; }
html body .tl {
  text-align: left; }
html body .tr {
  text-align: right; }
html body .pt00 {
  padding-top: 0; }
html body .pt05 {
  padding-top: 0.5rem; }
html body .pt10 {
  padding-top: 1.0rem; }
html body .pt15 {
  padding-top: 1.5rem; }
html body .pt20 {
  padding-top: 2.0rem; }
html body .pt25 {
  padding-top: 2.5rem; }
html body .pt30 {
  padding-top: 3.0rem; }
html body .pt35 {
  padding-top: 3.5rem; }
html body .pt40 {
  padding-top: 4.0rem; }
html body .pt45 {
  padding-top: 4.5rem; }
html body .pt50 {
  padding-top: 5.0rem; }
html body .pb00 {
  padding-bottom: 0; }
html body .pb05 {
  padding-bottom: 0.5rem; }
html body .pb10 {
  padding-bottom: 1.0rem; }
html body .pb15 {
  padding-bottom: 1.5rem; }
html body .pb20 {
  padding-bottom: 2.0rem; }
html body .pb25 {
  padding-bottom: 2.5rem; }
html body .pb30 {
  padding-bottom: 3.0rem; }
html body .pb35 {
  padding-bottom: 3.5rem; }
html body .pb40 {
  padding-bottom: 4.0rem; }
html body .pb45 {
  padding-bottom: 4.5rem; }
html body .pb50 {
  padding-bottom: 5.0rem; }
html body .mt00 {
  margin-top: 0; }
html body .mt05 {
  margin-top: 0.5rem; }
html body .mt10 {
  margin-top: 1.0rem; }
html body .mt15 {
  margin-top: 1.5rem; }
html body .mt20 {
  margin-top: 2.0rem; }
html body .mt25 {
  margin-top: 2.5rem; }
html body .mt30 {
  margin-top: 3.0rem; }
html body .mt35 {
  margin-top: 3.5rem; }
html body .mt40 {
  margin-top: 4.0rem; }
html body .mt45 {
  margin-top: 4.5rem; }
html body .mt50 {
  margin-top: 5.0rem; }
html body .mb00 {
  margin-bottom: 0; }
html body .mb05 {
  margin-bottom: 0.5rem; }
html body .mb10 {
  margin-bottom: 1.0rem; }
html body .mb15 {
  margin-bottom: 1.5rem; }
html body .mb20 {
  margin-bottom: 2.0rem; }
html body .mb25 {
  margin-bottom: 2.5rem; }
html body .mb30 {
  margin-bottom: 3.0rem; }
html body .mb35 {
  margin-bottom: 3.5rem; }
html body .mb40 {
  margin-bottom: 4.0rem; }
html body .mb45 {
  margin-bottom: 4.5rem; }
html body .mb50 {
  margin-bottom: 5.0rem; }
html body .mt-05 {
  margin-top: -0.5rem; }
html body .mt-10 {
  margin-top: -1.0rem; }
html body .mt-15 {
  margin-top: -1.5rem; }
html body .mt-20 {
  margin-top: -2.0rem; }
html body .mt-25 {
  margin-top: -2.5rem; }
html body .mt-30 {
  margin-top: -3.0rem; }
html body .mt-35 {
  margin-top: -3.5rem; }
html body .mt-40 {
  margin-top: -4.0rem; }
html body .mt-45 {
  margin-top: -4.5rem; }
html body .mt-50 {
  margin-top: -5.0rem; }

.gothic {
  font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif; }

/***  headline  ***/
.heading-wrap {
  max-width: 1140px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.0rem;
  padding-right: 2.0rem; }
  @media screen and (max-width: 600px) {
    .heading-wrap {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  @media screen and (max-width: 340px) {
    .heading-wrap {
      padding-left: 1.0rem;
      padding-right: 1.0rem; } }

.heading {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.0;
  display: flex;
  justify-content: center;
  border-top: 2px solid #cccccc;
  padding-top: 3.0rem;
  margin-top: 5.0rem;
  margin-bottom: 3.0rem;
  position: relative; }
  .heading::before {
    content: '';
    background-color: #432f2f;
    width: 260px;
    height: 2px;
    position: absolute;
    top: -2px; }

.headline {
  background-image: url("../img/common/bk_03.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  width: 100%;
  height: 56px;
  padding-left: 2.5rem;
  margin-bottom: 4.0rem; }
  @media screen and (max-width: 600px) {
    .headline {
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.3;
      height: 70px;
      padding-left: 2.0rem;
      margin-bottom: 3.5rem; } }
  @media screen and (max-width: 340px) {
    .headline {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  .headline:nth-of-type(n+2) {
    margin-top: 6.0rem; }
  .headline + figure {
    margin-top: -2.5rem; }
    .headline + figure p {
      margin-top: 1.0rem; }

.head {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  border-bottom: 1px solid #2f2424;
  padding-bottom: 1.0rem;
  margin-top: 4.0rem;
  margin-bottom: 2.5rem; }
  @media screen and (max-width: 600px) {
    .head {
      margin-top: 3.5rem; } }

.subhead {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.3;
  border-bottom: 1px solid #cccccc;
  margin-top: 3.0rem;
  margin-bottom: 2.0rem;
  padding-bottom: 0.5rem; }
  @media screen and (max-width: 600px) {
    .subhead {
      font-weight: 900; } }

.subtitle {
  color: #2f2424;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.3;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem; }

/***  header  ***/
.header-home {
  background-image: url("../img/page/home_visual_01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  min-height: 900px;
  display: flex;
  justify-content: center;
  padding-top: 1.0rem;
  position: relative; }
  @media screen and (max-width: 600px) {
    .header-home {
      min-height: 620px; } }
  @media screen and (max-width: 340px) {
    .header-home {
      min-height: 550px; } }
  .header-home .info {
    max-width: 1140px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    z-index: 9; }
    @media screen and (max-width: 900px) {
      .header-home .info {
        display: none; } }
    .header-home .info .left {
      width: 340px;
      padding: 1.0rem 0.5rem; }
      .header-home .info .left a {
        display: block; }
        .header-home .info .left a img {
          width: 100%; }
    .header-home .info .right {
      width: 220px; }
      .header-home .info .right img {
        width: 100%; }
  .header-home .board {
    width: 100%;
    height: calc(100% - 9.0rem);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0; }
    .header-home .board figure {
      width: 120px; }
      @media screen and (max-width: 600px) {
        .header-home .board figure {
          width: 100px; } }
      @media screen and (max-width: 340px) {
        .header-home .board figure {
          width: 90px; } }
      .header-home .board figure img {
        width: 100%; }
  .header-home nav {
    background-color: rgba(0, 0, 0, 0.7);
    width: 100%;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    position: absolute;
    bottom: 0; }
    @media screen and (max-width: 900px) {
      .header-home nav {
        display: none; } }
    .header-home nav ul.menu-secondary {
      max-width: 1140px;
      width: 100%;
      display: flex;
      justify-content: center;
      margin-left: auto;
      margin-right: auto; }
      .header-home nav ul.menu-secondary li {
        border-left: 1px solid #ffffff; }
        .header-home nav ul.menu-secondary li:nth-last-of-type(1) {
          border-right: 1px solid #ffffff; }
        .header-home nav ul.menu-secondary li a {
          color: #ffffff;
          font-size: 1.5rem;
          font-feature-settings: "palt";
          display: block;
          padding: 0.5rem 2.5rem; }

.header-lower {
  background-image: url("../img/common/band_01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  height: 350px;
  position: relative; }
  @media screen and (max-width: 900px) {
    .header-lower {
      height: 180px; } }
  @media screen and (max-width: 600px) {
    .header-lower {
      height: 150px; } }
  @media screen and (max-width: 340px) {
    .header-lower {
      height: 120px; } }
  .header-lower .info {
    max-width: 1140px;
    width: 100%;
    display: flex;
    align-items: end;
    justify-content: space-between;
    padding-left: 2.0rem;
    padding-right: 2.0rem;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 900px) {
      .header-lower .info {
        font-size: 5.4rem;
        margin-bottom: 0;
        height: 100%;
        align-items: center; } }
    @media screen and (max-width: 600px) {
      .header-lower .info {
        padding-left: 1.5rem;
        padding-right: 1.5rem; } }
    @media screen and (max-width: 340px) {
      .header-lower .info {
        padding-left: 1.0rem;
        padding-right: 1.0rem; } }
    .header-lower .info .left {
      margin-bottom: 1.0rem; }
      .header-lower .info .left h1 {
        color: #ffffff;
        font-size: 4rem;
        font-weight: 500;
        line-height: 1.3;
        letter-spacing: 1.0rem;
        text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25), 4px 4px 4px rgba(0, 0, 0, 0.25); }
        @media screen and (max-width: 600px) {
          .header-lower .info .left h1 {
            font-size: 3.6rem;
            font-weight: 700;
            letter-spacing: 0.5rem; } }
        @media screen and (max-width: 340px) {
          .header-lower .info .left h1 {
            font-size: 3.2rem;
            letter-spacing: 0; } }
    .header-lower .info .right {
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      margin-top: 1.0rem; }
      .header-lower .info .right .phone {
        margin-top: -2.0rem; }
      @media screen and (max-width: 900px) {
        .header-lower .info .right {
          display: none; } }
  .header-lower .menu-pc {
    background-color: rgba(0, 0, 0, 0.7);
    width: 100%;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    position: absolute;
    bottom: 0; }
    @media screen and (max-width: 900px) {
      .header-lower .menu-pc {
        display: none; } }
    .header-lower .menu-pc ul.menu-secondary {
      display: flex;
      justify-content: center;
      max-width: 1140px;
      width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .header-lower .menu-pc ul.menu-secondary li {
        border-left: 1px solid #ffffff; }
        .header-lower .menu-pc ul.menu-secondary li:nth-last-of-type(1) {
          border-right: 1px solid #ffffff; }
        .header-lower .menu-pc ul.menu-secondary li a {
          color: #ffffff;
          font-size: 1.5rem;
          font-feature-settings: "palt";
          display: block;
          padding: 0.5rem 2.5rem; }

.header-sp {
  display: none;
  /* info */ }
  @media screen and (max-width: 900px) {
    .header-sp {
      display: block; } }
  .header-sp .info {
    background-color: #ffffff;
    width: 100%;
    height: 8.0rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eeeeee;
    box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.05);
    padding-left: 1.0rem;
    padding-right: 1.0rem;
    position: fixed;
    top: 0;
    z-index: 999; }
    @media screen and (max-width: 340px) {
      .header-sp .info {
        height: 6.0rem;
        padding-right: 0; } }
    .header-sp .info .left h1 {
      color: #2f2424;
      font-size: 2.6rem;
      font-weight: 900; }
      @media screen and (max-width: 600px) {
        .header-sp .info .left h1 {
          padding-left: 0.5rem; } }
      @media screen and (max-width: 340px) {
        .header-sp .info .left h1 {
          font-size: 2.4rem; } }
    .header-sp .info .right .icon-menu-wrap {
      display: none; }
      @media screen and (max-width: 900px) {
        .header-sp .info .right .icon-menu-wrap {
          background-color: #d1bc4f;
          width: 6.4rem;
          height: 6.0rem;
          border-radius: 0.2rem;
          display: block;
          cursor: pointer; } }
      .header-sp .info .right .icon-menu-wrap .menu {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 1.0rem; }
        @media screen and (max-width: 600px) {
          .header-sp .info .right .icon-menu-wrap .menu {
            padding: 1.5rem; } }
        .header-sp .info .right .icon-menu-wrap .menu.open span.line-1 {
          top: 1.3rem;
          transform: rotate(45deg); }
        .header-sp .info .right .icon-menu-wrap .menu.open span.line-2 {
          opacity: 0.0;
          left: 6.0rem; }
        .header-sp .info .right .icon-menu-wrap .menu.open span.line-3 {
          bottom: 1.3rem;
          transform: rotate(-45deg); }
        .header-sp .info .right .icon-menu-wrap .menu span {
          background: #ffffff;
          display: block;
          width: 100%;
          height: 0.4rem;
          position: relative;
          transition: all ease-out .3s; }
  .header-sp .menu-sp {
    display: none;
    background-color: #ffffff;
    width: 100%;
    height: calc(100% - 8.0rem);
    position: fixed;
    top: 8.0rem;
    z-index: 999; }
    @media screen and (max-width: 340px) {
      .header-sp .menu-sp {
        height: calc(100% - 6.0rem);
        top: 6.0rem; } }
    .header-sp .menu-sp ul {
      height: 100%;
      border-top: 1px solid #eeeeee; }
      .header-sp .menu-sp ul li {
        border-bottom: 1px solid #eeeeee; }
        .header-sp .menu-sp ul li a {
          color: #2f2424;
          font-size: 1.8rem;
          font-weight: 700;
          text-align: left;
          display: block;
          padding: 2.0rem 5.0rem 2.0rem 2.0rem;
          position: relative; }
          .header-sp .menu-sp ul li a::after {
            content: '';
            width: 10px;
            height: 10px;
            border-top: solid 1px #a31e00;
            border-right: solid 1px #a31e00;
            transform: rotate(45deg);
            position: absolute;
            top: calc(50% - 5px);
            right: 2.5rem; }
    .header-sp .menu-sp .wrap {
      padding: 2.0rem; }
      .header-sp .menu-sp .wrap .in {
        background-color: #f8f8f8;
        display: inline-block;
        border-radius: 0.5rem;
        padding: 1.5rem;
        border-radius: 0.5rem; }

ul.bread {
  display: flex;
  flex-wrap: wrap;
  max-width: 1140px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.0rem;
  padding-right: 2.0rem;
  margin-top: 2.0rem;
  margin-bottom: 4.0rem; }
  @media screen and (max-width: 600px) {
    ul.bread {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  ul.bread li {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    padding-right: 3rem;
    position: relative; }
    @media screen and (max-width: 600px) {
      ul.bread li {
        font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
        font-weight: 400; } }
    ul.bread li:nth-last-of-type(1)::after {
      content: none; }
    ul.bread li::after {
      content: '';
      width: 0.4rem;
      height: 0.4rem;
      border-top: solid 1px #666666;
      border-right: solid 1px #666666;
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: 1.3rem;
      margin-top: -0.2rem; }
    ul.bread li a {
      color: #d1bc4f; }

/***  footer  ***/
footer {
  background-image: url("../img/common/bk_02.jpg");
  background-size: 100px 100px;
  background-repeat: repeat;
  background-position: center center;
  width: 100%;
  padding-top: 5.5rem;
  padding-left: 2.0rem;
  padding-right: 2.0rem; }
  @media screen and (max-width: 340px) {
    footer {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  footer .info {
    width: 100%;
    max-width: 1140px;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #eeeeee;
    padding-bottom: 5.0rem;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 340px) {
      footer .info {
        padding-bottom: 4.0rem; } }
    footer .info .left h2 a {
      color: #ffffff;
      font-size: 2.6rem;
      font-weight: 700;
      margin-bottom: 2.0rem;
      display: block; }
    footer .info .left p {
      color: #ffffff;
      font-size: 1.6rem;
      font-weight: 400;
      line-height: 2.0; }
      footer .info .left p a {
        color: inherit; }
    @media screen and (max-width: 600px) {
      footer .info .right {
        display: none; } }
    footer .info .right ul.menu-secondary li {
      margin-bottom: 1.5rem; }
      footer .info .right ul.menu-secondary li a {
        color: #ffffff;
        font-size: 1.4rem;
        font-weight: 500;
        line-height: 1.0;
        padding-left: 1.5rem;
        position: relative; }
        footer .info .right ul.menu-secondary li a::before {
          content: '';
          width: 0.6rem;
          height: 0.6rem;
          border-top: solid 1px #ffffff;
          border-right: solid 1px #ffffff;
          transform: rotate(45deg);
          position: absolute;
          top: calc(50% - 0.3rem);
          left: 0; }
  footer small {
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.0;
    text-align: center;
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
    display: block; }

/***  frame, box  ***/
.container {
  display: flex;
  justify-content: space-between;
  max-width: 1140px;
  width: 100%;
  margin-top: 4.0rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.0rem;
  padding-right: 2.0rem;
  position: sticky; }
  @media screen and (max-width: 600px) {
    .container {
      padding-left: 1.5rem;
      padding-right: 1.5rem; } }
  @media screen and (max-width: 340px) {
    .container {
      padding-left: 1.0rem;
      padding-right: 1.0rem; } }
  .container .side {
    width: 240px;
    position: relative; }
    @media screen and (max-width: 900px) {
      .container .side {
        width: 180px; } }
    @media screen and (max-width: 600px) {
      .container .side {
        display: none; } }
    .container .side .wrap {
      position: sticky;
      top: 1.5rem; }
      @media screen and (max-width: 900px) {
        .container .side .wrap {
          top: 10.5rem; } }
  .container .content {
    width: calc(100% - 240px);
    padding-left: 5.0rem;
    position: relative; }
    @media screen and (max-width: 900px) {
      .container .content {
        width: calc(100% - 180px);
        padding-left: 2.5rem; } }
    @media screen and (max-width: 600px) {
      .container .content {
        width: 100%;
        padding-left: 0; } }

.frame {
  width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .frame.ptn01 {
    max-width: 680px;
    border: 2px solid #d1bc4f;
    padding: 1.5rem; }
    .frame.ptn01 .wrap {
      border: 1px solid #d1bc4f;
      padding: 6.0rem 6.0rem 6.0rem; }
      @media screen and (max-width: 600px) {
        .frame.ptn01 .wrap {
          padding: 4.0rem 3.0rem; } }
      @media screen and (max-width: 340px) {
        .frame.ptn01 .wrap {
          padding-left: 2.0rem;
          padding-right: 2.0rem; } }
  .frame h2 {
    color: #2f2424;
    font-size: 3.6rem;
    font-weight: 600;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 2.5rem; }
  .frame p {
    color: #333333;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2.2;
    text-align: justify;
    margin-bottom: 3.0rem; }
    @media screen and (max-width: 600px) {
      .frame p {
        font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
        font-weight: 400; } }

/***  list  ***/
.side h2 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.0;
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 1.5rem;
  margin-bottom: 3.0rem;
  position: relative; }
  .side h2::before {
    content: '';
    background-color: #432f2f;
    width: 50px;
    height: 2px;
    position: absolute;
    bottom: -2px; }
.side ul.menu-side {
  padding-left: 3.0rem; }
  .side ul.menu-side li {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 1.5rem; }
    .side ul.menu-side li a {
      color: #2f2424;
      position: relative; }
      .side ul.menu-side li a::after {
        content: '';
        width: 0.8rem;
        height: 0.8rem;
        border-top: solid 1px #d1bc4f;
        border-right: solid 1px #d1bc4f;
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        left: -2.0rem;
        margin-top: -0.4rem; }

ul.list-thumb {
  display: flex;
  justify-content: center;
  width: 100%; }
  @media screen and (max-width: 900px) {
    ul.list-thumb {
      flex-wrap: wrap;
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; } }
  @media screen and (max-width: 600px) {
    ul.list-thumb {
      justify-content: space-between; } }
  ul.list-thumb li {
    width: calc(20% - 1.6rem);
    margin-right: 2.0rem; }
    @media screen and (max-width: 900px) {
      ul.list-thumb li {
        width: calc(33.3% - 1.67rem);
        margin-right: 2.5rem;
        margin-bottom: 2.5rem; } }
    @media screen and (max-width: 600px) {
      ul.list-thumb li {
        width: calc(50% - 0.5rem);
        margin-right: 0;
        margin-bottom: 1.0rem; } }
    @media screen and (max-width: 900px) {
      ul.list-thumb li:nth-of-type(3n) {
        margin-right: 0; } }
    ul.list-thumb li:nth-of-type(5n) {
      margin-right: 0; }
      @media screen and (max-width: 900px) {
        ul.list-thumb li:nth-of-type(5n) {
          margin-right: 2.5rem; } }
    ul.list-thumb li:nth-of-type(1) a {
      background-image: url("../img/page/home_product_01.jpg"); }
    ul.list-thumb li:nth-of-type(2) a {
      background-image: url("../img/page/home_product_02.jpg"); }
    ul.list-thumb li:nth-of-type(3) a {
      background-image: url("../img/page/home_product_03.jpg"); }
    ul.list-thumb li:nth-of-type(4) a {
      background-image: url("../img/page/home_product_04.jpg"); }
    ul.list-thumb li:nth-of-type(5) a {
      background-image: url("../img/page/home_product_05.jpg"); }
    ul.list-thumb li a {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center center;
      display: block; }
      ul.list-thumb li a figure {
        position: relative; }
        ul.list-thumb li a figure img {
          width: 100%; }
        ul.list-thumb li a figure figcaption {
          padding: 0.8rem;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0; }
          ul.list-thumb li a figure figcaption div {
            display: flex;
            align-items: center;
            width: 100%;
            height: 100%;
            border: 1px solid #ffffff;
            padding: 1.0rem; }
          ul.list-thumb li a figure figcaption span {
            background-color: rgba(0, 0, 0, 0.6);
            font-size: 1.5rem;
            color: #ffffff;
            line-height: 1.3;
            text-align: center;
            width: 100%;
            display: block;
            padding: 1.5rem 0.5rem; }
            @media screen and (max-width: 600px) {
              ul.list-thumb li a figure figcaption span {
                font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif; } }

ul.list-pict {
  width: 100%;
  display: flex;
  margin-top: 0.5rem; }
  @media screen and (max-width: 600px) {
    ul.list-pict {
      flex-wrap: wrap;
      justify-content: space-between; } }
  ul.list-pict li {
    width: calc(33.3% - 0.7rem);
    margin-right: 1.0rem; }
    @media screen and (max-width: 600px) {
      ul.list-pict li {
        width: calc(50% - 0.5rem);
        margin-right: 0;
        margin-bottom: 1.0rem; } }
    ul.list-pict li figcaption {
      font-size: 1.4rem;
      text-align: center;
      margin-top: 0.5rem; }
    ul.list-pict li img {
      width: 100%; }

table.list-item {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }
  table.list-item.form tbody th {
    vertical-align: middle; }
  table.list-item.form tbody td {
    vertical-align: middle; }
  table.list-item > tbody > tr {
    width: 100%; }
    table.list-item > tbody > tr:nth-of-type(1) th {
      border-top: 1px solid #ffffff; }
    table.list-item > tbody > tr:nth-of-type(1) td {
      border-top: 1px solid #eeeeee; }
      @media screen and (max-width: 600px) {
        table.list-item > tbody > tr:nth-of-type(1) td {
          padding-left: 1.5rem; } }
    table.list-item > tbody > tr th, table.list-item > tbody > tr td {
      font-size: 1.6rem;
      line-height: 2.0;
      font-feature-settings: "palt"; }
      @media screen and (max-width: 600px) {
        table.list-item > tbody > tr th, table.list-item > tbody > tr td {
          font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif; } }
      table.list-item > tbody > tr th u, table.list-item > tbody > tr td u {
        color: #EC1212;
        text-decoration: none; }
    table.list-item > tbody > tr > th {
      background-color: #d6ebfd;
      font-weight: 600;
      vertical-align: top;
      border-bottom: 1px solid #ffffff;
      width: 18.0rem;
      padding: 1.5rem 0.5rem 1.5rem; }
      @media screen and (max-width: 900px) {
        table.list-item > tbody > tr > th {
          font-weight: 400;
          width: 12.0rem; } }
      @media screen and (max-width: 340px) {
        table.list-item > tbody > tr > th {
          width: 10.0rem; } }
    table.list-item > tbody > tr > td {
      font-weight: 500;
      border-bottom: 1px solid #eeeeee;
      width: calc(100% - 18.0rem);
      padding: 1.5rem 2.5rem; }
      @media screen and (max-width: 900px) {
        table.list-item > tbody > tr > td {
          width: calc(100% - 12.0rem); } }
      @media screen and (max-width: 600px) {
        table.list-item > tbody > tr > td {
          font-weight: 400;
          padding-left: 2.0rem;
          padding-right: 0.5rem; } }
      @media screen and (max-width: 340px) {
        table.list-item > tbody > tr > td {
          width: calc(100% - 10.0rem); } }

ul.list-nape li {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem;
  padding-left: 2.5rem;
  position: relative; }
  ul.list-nape li::before {
    content: '■';
    position: absolute;
    top: 0;
    left: 0; }

table.list-product {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem; }
  table.list-product thead tr th {
    background-color: #d6ebfd;
    text-align: center; }
    @media screen and (max-width: 600px) {
      table.list-product thead tr th {
        font-weight: 400; } }
    table.list-product thead tr th:nth-of-type(1) {
      text-align: left;
      width: 35%;
      padding-left: 4.0rem; }
      @media screen and (max-width: 900px) {
        table.list-product thead tr th:nth-of-type(1) {
          padding-left: 2.0rem; } }
    table.list-product thead tr th:nth-of-type(2) {
      width: 25%; }
    table.list-product thead tr th:nth-of-type(3) {
      width: 40%; }
  table.list-product tbody tr {
    width: 100%;
    border-bottom: 1px solid #eeeeee; }
    table.list-product tbody tr th {
      font-weight: 700;
      text-align: left;
      padding-left: 4.0rem; }
      @media screen and (max-width: 900px) {
        table.list-product tbody tr th {
          padding-left: 2.0rem; } }
      @media screen and (max-width: 600px) {
        table.list-product tbody tr th {
          font-weight: 400;
          padding-left: 1.0rem; } }
    table.list-product tbody tr td {
      font-weight: 500;
      text-align: center; }
      @media screen and (max-width: 600px) {
        table.list-product tbody tr td {
          font-weight: 400; } }
  table.list-product tr th, table.list-product tr td {
    font-size: 1.6rem;
    line-height: 1.5;
    font-feature-settings: "palt";
    vertical-align: middle;
    word-break: break-word;
    padding: 1.5rem 1.5rem; }
    @media screen and (max-width: 600px) {
      table.list-product tr th, table.list-product tr td {
        font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
        padding-left: 1.0rem;
        padding-right: 1.0rem; } }
    @media screen and (max-width: 340px) {
      table.list-product tr th, table.list-product tr td {
        padding: 1.0rem 0.5rem; } }

ul.contact-list {
  display: flex;
  justify-content: space-between;
  width: 100%; }
  @media screen and (max-width: 900px) {
    ul.contact-list {
      flex-direction: column; } }
  ul.contact-list li {
    width: calc(50% - 1.0rem); }
    @media screen and (max-width: 900px) {
      ul.contact-list li {
        width: 100%;
        margin-bottom: 2.0rem; } }
    @media screen and (max-width: 900px) {
      ul.contact-list li:nth-last-of-type(1) {
        margin-bottom: 0; } }
    ul.contact-list li:nth-last-of-type(1) .time {
      display: none; }
    ul.contact-list li h5 {
      font-size: 1.6rem;
      font-weight: 900;
      margin-bottom: 0.5rem; }
    ul.contact-list li .num {
      font-size: 4.2rem;
      font-weight: 900; }
      @media screen and (max-width: 600px) {
        ul.contact-list li .num {
          font-size: 3.6rem; } }
      ul.contact-list li .num img {
        margin-right: 0.5rem; }
    ul.contact-list li .time {
      font-size: 1.6rem;
      font-weight: 500;
      margin-top: 1.0rem; }
  ul.contact-list li.phone a {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 0.5rem;
    border: 1px solid #003366;
    border-radius: 0.4rem; }
  ul.contact-list li.fax {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 3rem 1rem;
    border: 1px solid #003366;
    border-radius: 0.4rem; }

ol.list {
  list-style: decimal;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem;
  padding-left: 3.0rem; }
  ol.list li {
    font-size: 1.6rem;
    line-height: 2.0;
    list-style: decimal;
    padding-left: 0.5rem;
    margin-bottom: 0.5rem; }
    @media screen and (max-width: 600px) {
      ol.list li {
        font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif; } }

ul.list {
  list-style: decimal;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem;
  padding-left: 3.0rem; }
  ul.list li {
    font-size: 1.6rem;
    line-height: 2.0;
    list-style: decimal;
    padding-left: 0.5rem;
    margin-bottom: 0.5rem; }
    @media screen and (max-width: 600px) {
      ul.list li {
        font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif; } }

/***  btn  ***/
.more {
  display: flex;
  justify-content: center;
  margin-top: 3.0rem; }
  .more a, .more .in {
    background-color: #a31e00;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    line-height: 1.0;
    text-align: center;
    display: block;
    max-width: 25.0rem;
    width: 100%;
    padding: 1.5rem; }
    @media screen and (max-width: 600px) {
      .more a, .more .in {
        font-weight: 900; } }
    .more a input, .more .in input {
      background: none;
      font-family: 'Noto Serif JP', serif, 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
      color: #ffffff;
      font-size: inherit;
      font-weight: inherit; }
  .more .in {
    padding: 0; }
    .more .in input {
      width: 100%;
      padding: 1.5rem;
      cursor: pointer; }

.page-contact {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  bottom: 40%;
  right: 0;
  z-index: 99;
  cursor: pointer; }
  @media screen and (max-width: 600px) {
    .page-contact {
      display: none; } }
  .page-contact img {
    width: 100%;
    margin-bottom: 1.0rem; }
  .page-contact a {
    padding: 0.5rem;
    display: block; }
    .page-contact a .in {
      color: #ffffff;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.0;
      letter-spacing: 0.4rem;
      writing-mode: vertical-rl;
      border: 1px solid #ffffff;
      padding: 2.0rem 1.0rem; }

.page-top {
  display: none;
  background-color: rgba(0, 0, 0, 0.75);
  width: 6.0rem;
  height: 6.0rem;
  padding: 1.2rem;
  border-radius: 6.0rem;
  position: fixed;
  bottom: 1.0rem;
  right: 1.0rem;
  z-index: 99;
  cursor: pointer;
  transition: all ease-in-out 0.3s; }
  .page-top:hover {
    opacity: 0.6;
    transition: all ease-in-out 0.3s; }
  .page-top img {
    width: 100%; }

/***  item  ***/
.boxes {
  width: 100%;
  margin-top: 1.0rem;
  margin-bottom: 1.0rem;
  counter-reset: number 0;
  position: relative; }
  .boxes::after {
    content: "";
    clear: both;
    display: block; }
  .boxes figure {
    float: right;
    padding-left: 3.0rem; }
    @media screen and (max-width: 600px) {
      .boxes figure {
        width: 200px; } }
    @media screen and (max-width: 340px) {
      .boxes figure {
        width: 150px;
        padding-left: 2.0rem; } }
    @media screen and (max-width: 600px) {
      .boxes figure img {
        width: 100%; } }
  .boxes .item {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.0; }
  .boxes h3 {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 1.0rem;
    margin-bottom: 0.5rem; }
  .boxes p {
    font-size: 1.6rem;
    line-height: 2.0; }
  .boxes p.list {
    padding-left: 2.5rem;
    position: relative; }
    .boxes p.list::before {
      counter-increment: number 1;
      content: counter(number) ".";
      position: absolute;
      top: 0;
      left: 0; }

/***  plugin mw_wp_form  ***/
.mw_wp_form input[type="text"], .mw_wp_form input[type="email"], .mw_wp_form textarea {
  font-size: 1.5rem;
  width: 100%;
  padding: 1.0rem 1.5rem;
  border: 1px solid #cccccc;
  box-sizing: border-box;
  caret-color: auto;
  border-radius: 0.5rem; }
.mw_wp_form table ul {
  display: flex;
  align-items: center;
  margin-bottom: 1.0rem; }
  .mw_wp_form table ul:nth-last-of-type(1) {
    margin-bottom: 0; }
  .mw_wp_form table ul li {
    line-height: 1.3;
    padding-right: 1.0rem; }
    .mw_wp_form table ul li:nth-last-of-type(1) {
      padding-right: 0; }
.mw_wp_form .error {
  font-size: 1.8rem;
  color: #EC1212;
  font-weight: 500;
  padding-left: 0.5rem;
  padding-right: 0.5rem; }
  @media screen and (max-width: 600px) {
    .mw_wp_form .error {
      font-size: 1.6rem;
      font-weight: 400; } }

/*-------------------------------------------
 style-page
-------------------------------------------*/
/***  home  ***/
.bnr a {
  display: flex; }
  @media screen and (max-width: 900px) {
    .bnr a {
      flex-direction: column; } }
  .bnr a .left {
    background: #FE6411;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 350px; }
    @media screen and (max-width: 900px) {
      .bnr a .left {
        width: 100%;
        padding-top: 2.0rem;
        padding-bottom: 2.0rem; } }
    @media screen and (max-width: 600px) {
      .bnr a .left {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem; } }
    .bnr a .left h2 {
      color: #ffffff;
      font-size: 5.4rem;
      font-weight: 900;
      margin-bottom: 1.5rem;
      padding-bottom: 1.5rem;
      border-bottom: 1px solid #ffffff; }
      @media screen and (max-width: 900px) {
        .bnr a .left h2 {
          font-size: 4.2rem;
          margin-bottom: 1.0rem;
          padding-bottom: 1.0rem; } }
      @media screen and (max-width: 600px) {
        .bnr a .left h2 {
          font-size: 3.2rem;
          margin-bottom: 0.5rem; } }
      .bnr a .left h2 span {
        font-size: 1.6rem;
        font-weight: 700;
        text-align: center;
        margin-top: 1.5rem;
        display: block; }
        @media screen and (max-width: 900px) {
          .bnr a .left h2 span {
            font-size: 1.5rem;
            margin-top: 1.0rem; } }
        @media screen and (max-width: 600px) {
          .bnr a .left h2 span {
            font-size: 1.4rem;
            margin-top: 0.5rem; } }
    .bnr a .left h3 {
      color: #ffffff;
      font-size: 2.2rem;
      font-weight: 500;
      line-height: 1.5;
      text-align: center;
      width: 100%; }
      @media screen and (max-width: 900px) {
        .bnr a .left h3 {
          font-size: 1.8rem; } }
      @media screen and (max-width: 600px) {
        .bnr a .left h3 {
          font-family: 'Noto Sans JP','游ゴシック Medium',YuGothic,YuGothicM,'Hiragino Kaku Gothic ProN','Hiragino Kaku Gothic Pro',メイリオ,Meiryo,sans-serif;
          font-weight: 400; } }
      .bnr a .left h3 span {
        display: block; }
        @media screen and (max-width: 900px) {
          .bnr a .left h3 span {
            display: inline; } }
  .bnr a .right {
    display: flex;
    width: calc(100% - 350px);
    height: 100%;
    overflow: hidden; }
    @media screen and (max-width: 900px) {
      .bnr a .right {
        width: 100%; } }
    .bnr a .right img {
      width: 100%; }

/**/

/*# sourceMappingURL=style.css.map */
