@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Oswald:wght@300;400;500;600;700&family=Roboto+Condensed:wght@300;400;700&display=swap');
@import url("https://use.typekit.net/vxt0gvy.css");
/*
Theme Name: pet-shiren
Theme URI: null
Description: Description
Author: 81bridge - SGX
Version: 1.0
*/

.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignright {
	float: right;
}
.alignleft {
	float: left;
}
/* img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
} */
.wp-block-image figure,
.wp-block-image figcaption {
	display: block;
}
a.nolink,
a.nolink:hover {
	opacity: 1;
	cursor: default;
	pointer-events: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, 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 {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
    font-family: 'Kosugi Maru', sans-serif;

    
}

.oswald {
    font-family: 'Kosugi Maru', sans-serif;

    
}
.roboto {
    font-family: 'Kosugi Maru', sans-serif;

    
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
    height: auto;
}
a,
a:link {
	color: #e8845d;
	text-decoration: none;
    transition: all ease 0.3s;
}
a:visited {
	color: #b75f3c;
}
a:hover {
	color: #691900;
}
a:active {
	color: #212836;
}
p,
h4 {
    color: #691900;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -0.5px;
    
}
.highlight{
    text-decoration: underline; /* 下線 */
    text-decoration-thickness: 0.5em; /* 線の太さ */
    text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
    text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
    text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #212836;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 2.375;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
body.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
body.modal-open {
    overflow: hidden;
}
#container {
    overflow: hidden;
	text-align: left;
    background: #fff1dd;
}
#main {
    padding-top: 160px;
	display: block;
}
@media (min-width: 1250px) {
    #main::before {
        position: fixed;
        background: url(img/common/bg-11.png) no-repeat;
        top: 100px;
        right: 0;
        content: "";
        width: 396px;
        height: 100%;
        z-index: -5000;
        background-size: cover;
        /* opacity: 0.6; */
    }
    #main::after {
        position: fixed;
        background: url(img/common/bg-16.png) no-repeat;
        top: 100px;
        left: 0;
        content: "";
        width: 396px;
        height: 100%;
        z-index: -5000;
        background-size: cover;
        /* opacity: 0.6; */
    }
}
/* a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
} */
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
    .menuBox {
        display: none !important;
    }
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
		line-height: 1.857;
	}
    body.fixed {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
    #main {
        padding-top: 70px;
    }
	p,
	h4 {
		font-size: 1.5rem;
	}
}
@media all and (max-width: 500px) {
    #main {
        padding-top: 56px;
    }
}



/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
  background-color: white;

  .hInner {
    height: 56px;
    /* height: 70px; */
    display: block;
    padding: 0;

    > h1 {
      width: 120px;
      padding: 5px 0 0 10px;
    }

    > .link,
    > .naviUl {
      display: none;
    }

    > .header_youtube {
      width: 70px;
      right: 100px;
      top: 30%;
    }

    > .header_instagram {
      width: 30px;
      right: 50px;
      top: 30%;
    }

    > .header_call {
      width: 100px;
      margin-right: 40px;
      display: flex;
      gap: 0 10px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 20px;
      /* width: 150px; */
    }
  }

  > .menu {
    position: absolute;
    /* top: 15px; */
    /* width: 40px; */
    top: 10px;
    right: 10px;
    width: 35px;

    &.on a {
      display: block;
      transition: none;
      background: url("img/common/close.png") no-repeat center center;
      background-size: 35px auto;

      img {
        visibility: hidden;
      }
    }
  }

  &.on {
    .header_instagram,
    .header_youtube,
    .header_call {
      max-width: 45px;
      margin-right: 20px;
    }
  }

  @media (min-width: 501px) {
    .hInner {
      height: 56px;

      > h1 {
        width: 120px;
        padding: 5px 0 0 10px;
      }

      > .header_call {
        width: 100px;
      }
    }

    .menu {
      top: 10px;
      width: 35px;
    }
  }

  @media (min-width: 600px) {
    .hInner {
        height: 70px;

    > h1 {
        width: 180px;
        padding: 0 0 0 10px;
    }

    > .header_call {
        width: 150px;
    }
    }

    .menu {
        position: absolute;
        top: 15px;
        width: 40px;
    }

  }

  @media (min-width: 897px) {
    .hInner {
      /* align-content: center; */
      height: 180px;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      position: relative;
      padding: 0px 20px 20px 20px;
      box-sizing: border-box;
      flex-direction: column;
      justify-content: flex-end;

      > h1 {
        padding: 0px 0 0 15px;
        width: 250px;
        position: absolute;
        left: 0;
        top: 0;

        &:hover {
          opacity: 0.4;
          transition: all .4s ease;
        }
      }

      > .header_call {
        width: 200px;
        margin-right: 40px;
        display: flex;
        gap: 0 10px;
        position: absolute;
        top: 20px;
        right: 0px;
        cursor: pointer;
        transform: initial;
      }

      > .link {
        position: absolute;
        top: 34px;
        right: 77px;
        width: 186px;

        > a {
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 1.6rem;
          color: white;
          width: 186px;
          height: 50px;
          font-weight: 700;
          letter-spacing: 0.06em;
          text-align: center;
          border-radius: 30px;
          background-color: #ff7b00;

          &:hover {
            opacity: 0.7;
          }
        }
      }

      > .naviUl {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        align-items: flex-start;
        /* gap: 3px 0px; */
        justify-content: center;
        padding-left: 0px;
        gap: 0px 20px;

        > li {
          margin: 0 1vw;
          z-index: 1;

          > a {
            padding: 7px 0;
            color: #ff7b00;
            font-weight: 500;
            position: relative;
            letter-spacing: 0.06em;

            &::after {
              content: '';
              position: absolute;
              bottom: 0;
              left: 0;
              width: 100%;
              height: 1px;
              background: #37b4fe;
              transition: all .3s;
              transform: scale(0, 1);
              transform-origin: center top;
            }

            &:hover {
              color: #37b4fe;
              transform: scale(1.2);

              &::after {
                transform: scale(1, 1);
              }
            }
          }

          &.on > a {
            color: #37b4fe;
          }

          &.on a::after {
            opacity: 1;
          }

          > .jsBox {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            padding: 0 24px;
            box-sizing: border-box;
            width: 100%;
            font-family: 'Noto Sans JP', sans-serif;

            > .sub {
              max-width: 1110px;
              margin: 0 auto;
              display: flex;
              flex-wrap: wrap;
              justify-content: space-between;
              background: rgba(255,255,255,0.9);
              box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.16);

              > .rBox {
                flex: 1;
                padding: 27px 86px;

                > .subUl {
                  display: flex;
                  flex-wrap: wrap;
                  justify-content: space-between;

                  > li {
                    margin: 10px 0;
                    width: 36%;

                    > a {
                      display: block;
                      font-size: 1.6rem;
                      font-weight: 500;
                      color: #ff7b00;
                      letter-spacing: 0.06em;
                      background: url("img/common/icon04.png") no-repeat right center;
                      background-size: 17px auto;
                      position: relative;

                      &:hover {
                        color: #03A9F4;
                        opacity: 0.7;
                        transform: scale(1.05);
                      }

                      &::after {
                        content: '';
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        width: 100%;
                        height: 1px;
                        background: #37b4fe;
                        transition: all .3s;
                        transform: scale(0, 1);
                        transform-origin: center top;
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

.menuBox {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  padding: 0 24px;
  z-index: 1000;
  box-sizing: border-box;
  background-color: white;

  > .naviUl {
    margin: 68px 0 34px;
    border-bottom: 1px solid #CCCCCC;

    > li {
      > a {
        padding: 17px 0;
        display: block;
        font-size: 1.6rem;
        letter-spacing: 0.06em;
        color: #e8845d;
        font-weight: 500;
        background: url("img/common/sp_icon01.png") no-repeat right center;
        background-size: 14px auto;
        border-top: 1px solid #CCCCCC;
      }

      > .subUl {
        margin: -3px 0 23px 15px;
        font-family: 'Noto Sans JP', sans-serif;

        > li {
          margin-bottom: 12px;

          > a {
            font-size: 1.6rem;
            font-weight: 500;
            letter-spacing: 0.06em;
            color: #e8845d;
          }
        }
      }
    }
  }

  > .header-btn.sp {
    width: 30%;
    display: flex;
    gap: 30px;
    align-items: center;
    padding-bottom: 20px;
    margin: 0 30px 20px 0;

    @media (min-width: 501px) {
      width: 40%;
    }
  }
}

li.lin_lists:hover {
  transform: scale(1.2);
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
  position: relative;
  background-color: #ffae00;
  padding: 0px 0px;

  &.on {
    .footer_instagram,
    .footer_youtube {
      max-width: 45px;
      margin-right: 20px;
    }
  }

  > .sns-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-around;
    margin: 60px 0;
  }

  > .fInner {
    max-width: inherit;
    /* display: block; */
    padding: 55px 24px 25px;

    > .fInner-button {
      margin-bottom: 50px;
      display: flex;
      flex-direction: column;
      align-items: center;
      align-content: center;

      > .fLogo {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        left: 0;
        margin-bottom: 15px;
        width: 180px;

        &:hover {
          opacity: 0.4;
          transition: all 0.4s ease;
        }
      }

      > .footer_sns {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-content: center;
        align-items: center;
        gap: 32px;

        > .footer_instagram {
          width: 40px;
          display: flex;
          gap: 0 10px;
          top: 185px;
          left: 160px;
          margin: 0;
          max-width: 180px;
          transition: all 0.4s ease;

          &:hover {
            opacity: 0.4;
          }
        }

        > .footer_youtube {
          width: 100px;
          display: flex;
          gap: 0 10px;
          top: 150px;
          left: 20px;
          max-width: 180px;
          transition: all 0.4s ease;

          &:hover {
            opacity: 0.4;
          }
        }
      }
    }

    > .rBox {
      padding: 0;
      display: block;

      > .naviUl {
        flex-direction: column;
        flex-wrap: wrap;
        align-content: center;
        align-items: flex-start;
        justify-content: center;
        gap: 10px 0;
        margin-bottom: 30px;
        display: flex;

        > .subUl,
        > ul {
          margin-left: 0;

          > li,
          > .subul-block > li,
          > .subul-block > .pagelink {
            text-align: left;
            margin: 5px 0;
            font-size: 1.5rem;


            & a {
            color: #ffffff;
          }
          }
        }

        > li {
          width: auto;
          margin: 0 0 44px;

          > p {
            letter-spacing: 0.06em;
            font-weight: 500;
            margin-bottom: 11px;
          }

          > .subUl {
            margin: 5px 0 38px 5px;

            &:last-child {
              margin-bottom: 0;
              display: inline-grid;
              justify-content: space-evenly;
            }

            > li {
              margin-bottom: 3px;
              padding: 0;
              font-size: 1.5rem;
              position: relative;
              letter-spacing: 0.06em;

              &:after {
                width: 6px;
                height: 1px;
                position: absolute;
                top: 12px;
                left: 5px;
                content: "";
              }
            }
          }
        }
      }
    }

    > li.pagelink {
      margin: -5px 0 0 20px;
    }

    > .pageTop {
      display: none;
      width: 35px;
      right: 10px;
    }
  }

  @media (min-width: 501px) {
    > .fInner {
      > .fInner-button > .footer_sns {
        > .footer_youtube {
          top: 100px;
          left: 20px;
        }

        > .footer_instagram {
          width: 50px;
          top: 135px;
          left: 160px;
        }
      }
    }
  }

  @media (min-width: 600px) {
    > .fInner {

            > .fInner-button {
                > .fLogo {
                width: 180px;
                margin-bottom: 15px;
            }
        }
            > .rBox {
            
            > .naviUl {
                display: block;
                margin: 0;
                margin-bottom: 30px;
                display: flex;                ;
                flex-direction: row;
                flex-wrap: wrap;
                align-content: center;
                align-items: flex-end;
                gap: 40px;
                justify-content: center;

                > .subUl, > ul {
                    display: flex;
                    flex-direction: column;
                    gap: 15px 0;
                    flex-wrap: wrap;
                    justify-content: flex-end;
                }

                > .subUl-2 {
                    display: flex;
                    flex-direction: column;
                    gap: 10px 0;
                    justify-content: center;
                }
            }
        }
    }
  }

  @media (min-width: 897px) {
    padding: 50px 70px;

    > .sns-wrap {
      display: contents;
    }

    > .fInner {
      max-width: 1110px;
      margin: 0 auto;
      padding: 0;
      display: flex;
      flex-direction: column;
      align-items: center;

      > .fInner-button {
        align-items: center;
        > .fLogo {
          width: auto;
          margin-bottom: 30px;
        }
        > .footer_sns {
          gap: 60px;
          > .footer_instagram {
            width: 60px;
            top: 42%;
          }
          > .footer_youtube {
            display: flex;
            gap: 0 10px;
            top: 25%;
            width: 100px;
          }
          > .footer_instagram {
            display: flex;
            gap: 0 10px;
            top: 42%;
            width: 50px;
          }
        }
      }

      > .rBox {
        padding: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;

        a {
          color: #ffffff;

          &:hover {
            color: #691a00;
          }

          &[target="_blank"] {
            padding-right: 22px;
            background: url("img/common/icon11.png") no-repeat right center;
            background-size: 17px auto;
          }
        }

        > .naviUl {
          display: flex;
          flex-wrap: wrap;
          gap: 0 40px;
          align-items: flex-start;

            & > .subUl, & > ul {
                gap: 0 0;

                > li, > .subul-block > li, > .subul-block > .pagelink {
                    text-align: left;
                    margin: 5px 0;
                    font-size: initial;
                }
            }

            & > .subUl-2, & > ul {
                gap: 0 0;

                > .subul-block > .pagelink {
                    margin: -5px 0 0 20px;
                }
                > li {
                    font-size: initial;
                }
            }
  
            }
        }

        > .pageTop {
        display: block;
        position: fixed;
        bottom: 30px;
        right: 30px;
        width: 80px;
        z-index: 200;

        a:hover {
            opacity: 0.7;
          }
        }
      }
  }

  @media (min-width: 1001px) {
    > .fInner > .fInner-button > .footer_sns {
      > .footer_youtube {
        width: 140px;
      }

      > .footer_instagram {
        width: 60px;
      }
    }
  }

  @media (min-width: 1201px) {
    > .fInner {
      flex-direction: row;
      align-items: flex-start;
      justify-content: space-between;
    }
  }
}

address {
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  color: #fff;
  text-align: center;
  font-style: normal;
  background: #fff1dd;
  color: #691900;
  padding: 20px;

  @media (min-width: 897px) {
    font-size: 1.4rem;
  }
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}


/* ------------------------------
パンくずリスト
------------------------------ */
.topBg {
    position: relative;
}
/* pagePath */
#pagePath {
  padding: 15px 40px;
  margin: 0;
  position: relative;
  background: #ffae00;

  li {
    display: inline-block;
    color: #691900;
    letter-spacing: 0.08em;
    line-height: 1.8;

    a {
      color: #691900;

      &::after {
        margin: 0 11px 0 17px;
        display: inline-block;
        content: '';
        width: 7px;
        height: 11px;
        background: url(img/common/icon02.png) no-repeat center center / 100%;
      }

      &:hover {
        opacity: 0.7;
      }
    }

    br {
      display: none;
    }
  }

  img {
    vertical-align: middle;
    margin-top: -4px;
    width: 13px;

    @media (min-width: 897px) {
      width: 15px;
    }
  }

  @media (min-width: 897px) {
    padding: 20px 40px;
    margin: 0 auto 80px;

    li {
      a {
        &::after {
          margin: 0 11px 0 20px;
          width: 9px;
        }
      }
    }
  }
}

/* ------------------------------------
content
------------------------------------ */
.content {
  margin: 0 auto;
  padding: 0 32px;
  max-width: 100%;

  @media (min-width: 897px) {
    padding: 0 40px;
    max-width: 1200px;
  }
}

/* comLink */
.comLink {
  a {
    display: inline-block;
    padding-right: 30px;
    font-weight: bold;
    font-size: 1.7rem;
    letter-spacing: 0.08em;
    color: #184C6C;
    position: relative;

    &::after {
      content: "";
      position: absolute;
      right: 0;
      top: 48%;
      transform: translateY(-50%);
      width: 16px;
      height: 16px;
      background: url("img/common/next.png") no-repeat;
      background-size: 100% auto;
      transition: all ease 0.3s;
    }

    @media (min-width: 897px) {
      padding-right: 20px;
      font-size: initial;

      &::after {
        width: 14px;
        height: 14px;
      }

      &:hover::after {
        right: -10px;
      }
    }
  }
}

/* mainBox */
.mainBox {
  margin: 0 auto;
  padding: 0 24px;
  max-width: 100%;

  @media (min-width: 897px) {
    max-width: 919px !important;
  }
}

/* midTxt */
.midTxt {
  margin: 0 24px 47px;
  max-width: 100%;
  font-size: 1.4rem;
  line-height: 2.14;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.06em;

  @media (min-width: 897px) {
    margin: 0 auto 150px;
    max-width: 1110px;
    font-size: 2rem;
    line-height: 2.5;
  }
}

/* headLine */
.headLine01 {
  margin-bottom: 150px;
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.67;
  color: #e8845d;
  letter-spacing: 0.06em;

  .txtSpan {
    text-align: left;
    padding-bottom: 10px;
  }

  .color {
    color: #57B8FF;
  }

  @media (min-width: 897px) {
    font-size: 3rem;
    text-align: left;
    line-height: normal;
  }
}

.headLine02 {
  margin-bottom: 15px;
  font-size: 2rem;
  color: #FFF;
  text-align: center;
  letter-spacing: 0.05em;

  .en {
    margin-bottom: 5px;
    display: block;
    font-family: 'Roboto', sans-serif;
    font-size: 2.6rem;
    letter-spacing: 0.08em;
    line-height: 1;

    @media (min-width: 897px) {
      font-size: 3.6rem;
      letter-spacing: 0.06em;
    }
  }

  @media (min-width: 897px) {
    margin-bottom: 35px;
    font-size: 3rem;
  }
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
  margin-bottom: 14px;
  padding-bottom: 20px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #ff7b00;
  /* background: url("img/common/line.png") repeat-x left bottom; */
  background-size: auto 3px;

  @media (min-width: 897px) {
    margin-bottom: 22px;
    padding-bottom: 10px;
    font-size: 3rem;
  }
}

/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
  margin-bottom: 44px;
  font-size: 3rem;
  letter-spacing: 0.06em;
  color: #ff7b00;

  .txtSpan {
    margin-bottom: -26px;
    display: block;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    font-size: 4rem;
    color: #5dc1e8;
    font-family: 'RocknRoll One', sans-serif;
    font-weight: 200;
  }

  .color {
    color: #fff;
    background-color: #ff7b00;
    border-radius: 50%;
    padding: 0 8px;

    @media (min-width: 897px) {
      padding: 0 10px;
    }
  }
}

/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
    font-size: 2rem;
    text-align: center;
    letter-spacing: 0.06em;
    margin-bottom: 20px;
    color: #ff7b00;

    @media (min-width: 897px) {
    font-size: 2.5rem;
  } 
}

/*------------------------------------------------------------
	h2title
------------------------------------------------------------*/
.h2title {
  font-size: 2rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.8;
  padding: 10px;
  margin-bottom: 20px;
  border-radius: 20px;
  color: #ff7b00;
  background: #fff;
  border: 2px solid #ffae00;
  position: relative;
  z-index: 2;

  &.en-goal {
    font-size: 1.8rem;
    text-align: center;
  }

  @media (min-width: 897px) {
    font-size: 2.8rem;
    padding: 20px;
    margin-bottom: 40px;

    &.en-goal {
       font-size: 2.8rem;
    }
  }
}

br.break {
  display: none;

  @media (max-width: 500px) {
    display: block;
  }
}

p.h2sub {
  font-size: 2rem;
  margin-bottom: 30px;
  color: #ff7b00;
  text-align: center;
  font-weight: 600;
  position: relative;
}

/*------------------------------------------------------------
	comVisual
------------------------------------------------------------*/
.comVisual {
  background: url(img/index/privacy_bg.jpg) no-repeat center center / cover;
  background-size: 100%;
  color: #fff;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 45%;
  position: relative;

  > .headLine05 {
    position: absolute;
    color: #fff;
    text-shadow: 0px 0px 10px #00000050;
    font-size: clamp(2rem, 2.4vw, 5rem);
    letter-spacing: 0.06em;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin-bottom: 0;
  }

  @media (min-width: 897px) {
    padding-top: 40%;
  }
}

/*------------------------------------------------------------
	comMore
------------------------------------------------------------*/
.comMore {
  margin: 0 auto;

  > a {
    margin: 0 auto;
    width: 280px;
    height: 60px;
    font-size: 1.5rem;
    color: #ffae00;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    letter-spacing: 0.08em;
    border: 1px solid #ffae00;
    border-radius: 50px;
    overflow: hidden;
    z-index: 1;

    @media (min-width: 501px) {
      width: 300px;
    }

    @media (min-width: 897px) {
      font-size: initial;
      border-width: 3px;

      &:hover {
        color: #fff;

        &::after {
          width: 100%;
          right: auto;
          left: 0;
        }

        &::before {
          right: 15px;
          background: url(img/common/icon04_on.png) no-repeat right center;
          background-size: 15px auto;
          width: 15px;
          height: 20px;
        }
      }
    }

    &::before {
      position: absolute;
      top: 50%;
      margin-top: -7px;
      right: 10px;
      width: 10px;
      height: 18px;
      background: url(img/common/icon04.png) no-repeat left top;
      background-size: 10px auto;
      content: "";
      transition: 0.3s;
      z-index: 2;

      @media (min-width: 897px) {
        margin-top: -9px;
        right: 20px;
        width: 15px;
        height: 25px;
        background-size: 15px auto;
      }
    }

    &::after {
      content: " ";
      position: absolute;
      top: 0;
      height: 100%;
      width: 0;
      left: auto;
      right: 0;
      background-color: #ffae00;
      border-radius: 80px;
      transition: 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
      z-index: -1;
    }
  }

  > .info {
    position: relative;
    z-index: 2;
  }
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/

.indexPage {
  /* background: url(img/index/bg.jpg) repeat; */
  padding: 0;
  @media (min-width: 897px) {
    padding: 0 0px;
  }

  @media (min-width: 1201px) {
    padding: 0px;
  }

  /* メインビジュアル */
  .mainVisual {
    padding: 24px 32px 0;
    margin-bottom: 0;
    position: relative;
    z-index: 5;
    background: #ffae00;

    @media (min-width: 897px) {
      padding: 80px 80px 0;
      margin-bottom: 80px;
    }

    &::before {
      position: absolute;
      left: 0;
      bottom: -50%;
      width: 100%;
      height: 100%;
      background: url(img/index/bg001.png) no-repeat center bottom;
      background-size: 100% 100%;
      content: "";
      z-index: 0;

      @media (min-width: 600px) {
        bottom: -30%;
      }

      @media (min-width: 1601px) {
        bottom: -20%;
      }
    }    

    .mainImgBox {
      .mainImg {
        height: auto;
        padding-top: 0;
        z-index: 2;
        position: relative;

        @media (min-width: 897px) {
          padding-top: 56%;
        }

        .videoBox {
          position: static;
          width: 100%;
          height: 100%;
          left: 0;
          top: 0;
          overflow: hidden;
          -webkit-mask-image: -webkit-radial-gradient(white, black);
          will-change: transform;

          @media (min-width: 897px) {
            position: absolute;
          }
        }
      }
    }
  }

  /* トップメッセージ */
  .toptextSec {
    position: relative;
    z-index: 5;
    padding: 10px 32px 32px;

    @media (min-width: 897px) {
      padding: 0 40px;
    }

    &::before {
      content: "";
      position: absolute;
      left: 0;
      bottom: -60%;
      width: 100%;
      height: 1350px;
      z-index: 0;

      @media (min-width: 801px) {
        bottom: -30%;
        height: 1600px;
      }

      @media (min-width: 701px) {
        height: 1500px;
      }

      @media (min-width: 1025px) {
        left: -20px;
        width: calc(100% + 40px);
      }

      @media (min-width: 1601px) {
        bottom: -20%;
      }
    }

    .content {
      position: relative;
      max-width: 1200px;
      margin: 0 auto;
      padding: 0;
      border-radius: 25px;
      background: #fff;
      border: 3px solid #ff7b00;
      z-index: 1;

      @media (min-width: 897px) {
        border: none;
      }

      @media (min-width: 1023px) {
        max-width: 1200px;
      }
    }

    .txtInner {
      padding: 0;

      .ttl {
        color: #ff7b00;
        background: #fff;
        font-size: 2rem;
        font-weight: 700;
        text-align: left;
        letter-spacing: 0.06em;
        line-height: 1.6;
        padding: 30px 0;
        margin: 0 40px;
        border-radius: 25px;
        z-index: 5;

        span3 {
          color: #ff7b00;
          font-size: 3rem;
          font-weight: 700;
          text-align: center;
          letter-spacing: 0.06em;
          line-height: 2;
        }
      }

      .mainttl {
        color: #ff7b00;
        background: #fff;
        font-size: 1.8rem;
        font-weight: 700;
        text-align: center;
        letter-spacing: 0.0em;
        line-height: 1.8;
        padding: 18px;
        margin: 0;
        border-radius: 25px;
        position: relative;
        z-index: 3;

        @media (min-width: 897px) {
          font-size: 1.8rem;
          padding: 20px;
        }

        @media (min-width: 1201px) {
          font-size: 2.2rem;
          padding: 30px 20px;
        }

        &.ttl {
          @media (min-width: 1201px) {
            font-size: 1.5rem;
            text-align: left;
            letter-spacing: 0.06em;
            padding: 30px;
          }
        }
      }
    }
  }
}

p {
  &.mainttl {
    color: #ff7b00;
    background: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.8;
    padding: 16px;
    border-radius: 25px;
    position: relative;
    z-index: 3;

    @media (min-width: 897px) {
      font-size: 2.2rem;
      padding: 30px 20px;
    }
  }

  &.ttl {
    color: #ff7b00;
    background: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: left;
    letter-spacing: 0.06em;
    line-height: 1.6;
    padding: 30px 0;
    margin: 0 40px;
    border-radius: 25px;
    z-index: 1;

    @media (min-width: 897px) {
      font-size: 2rem;
    }

    span3 {
      color: #ff7b00;
      font-size: 3rem;
      font-weight: 700;
      text-align: center;
      letter-spacing: 0.06em;
      line-height: 2;
    }
  }
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

/* --------------------------
メディアクエリ改行
-------------------------- */
.pc1200 {
  display: none;

  @media (min-width: 897px) {
    display: block;
  }
}

.sp700 {
  display: block;

  @media (min-width: 701px) {
    display: none;
  }
}

.sp600 {
  display: block;

  @media (min-width: 600px) {
    display: none;
  }
}

.sp500 {
  display: none;

  @media (max-width: 500px) {
    display: block;
  }
}

.sp400 {
  display: none;

  @media (max-width: 400px) {
    display: block;
  }
}


/* 思恋のこだわり */
.indexPage {
  .aboutSec {
    padding: 0;

    @media (min-width: 897px) {
      padding: 80px 0 120px;
    }

    .content {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 40px;
    }

    .flow_about_features {
      display: flex;
      margin: 0;
      gap: 0;
      justify-content: space-between;
      flex-flow: row wrap;
      flex-direction: column;
      align-content: center;
      
      @media (min-width: 897px) {
        margin: 30px 0;
        gap: 30px;
        flex-direction: row;
      }
    }

    .about_features {
    &:nth-child(2n) {
      margin-right: 0;
      }
    }

    .about_features-box {
      background: #ffffff;
      width: 100%;
      line-height: 2.3;
      text-align: center;
      border-radius: 25px;    
      position: relative;
      box-sizing: border-box;
      margin: 0 0 40px 0;

      @media (min-width: 600px) {
        width: 100%;
      }

      @media (min-width: 897px) {
        margin: 0;
        width: 48%;
      }

      @media (min-width: 1201px) {
        border-radius: 25px;
      }

      > .title {
        font-size: 1.8rem;
        font-weight: 700;
        color: #ffffff;
        background: #ffae00;
        border-radius: 20px 20px 0 0;
        padding: 20px 8px;
        line-height: 1.6;

        @media (min-width: 601px) {
          font-size: 2rem;
          padding: 20px;
        }

        @media (min-width: 897px) {
            font-size: 2.5rem;
        }
      }

      > .photobox {
        position: relative;
      }

      > p {
        text-align: justify;
        padding: 20px;
      }

      h4 {
        font-size: 1.8rem;
        font-weight: 700;
        border-radius: 20px 20px 0 0;
        padding: 20px 8px;
      }
    }
  }
}

/* 解決策 */
.introSec {
  padding: 0 32px 0;

  @media (min-width: 897px) {
    padding: 40px 0;
  }

  @media (min-width: 1501px) {
    padding: 80px 0;
    gap: 50px;
  }

  .title {
      top: 0;
      left: 0;
      padding: 20px;
      margin: 0;
      color: #fff;
      background: #ffae00;
      display: flex;
      justify-content: center;
      flex-direction: column;
      align-items: center;
      flex-wrap: wrap;
      z-index: 999;
      line-height: 1.6;
      border-radius: 20px;
      font-size: 1.6rem;

      @media (min-width: 897px) {
        display: none;
      }

      &.fadeInUp.on {
        position: static;
        z-index: 1000;
        left: -5%;
        font-size: 2rem;
        white-space: normal;
        text-shadow: 0 0 black;
        border-radius: 25px;
        padding: 20px;

        @media (min-width: 1201px) {
          position: absolute;
          top: 5%;
          left: 0;
          padding: 5px 30px;
          font-size: 2.5rem;
        }
      }

      @media (min-width: 1001px) {
        display: none;
      }
    }

    .no-content {
      position: relative;
    }


  .intro-wrap {
      position: relative;
      margin-bottom: 40px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      gap: 20px 0;
      align-items: stretch;
      align-content: center;

    @media (min-width: 897px) {
        gap: 50px 0;    
    }

    @media (min-width: 1001px) {
      display: block;
      margin-bottom: 0;
    }

    .introSec-content {
        position: static;
        left: 5%;
        bottom: 0;

        @media (min-width: 897px) {
          position: static;
          left: 5%;
          bottom: 0;
        }

        @media (min-width: 1001px) {
          left: 15%;
        }

        @media (min-width: 1201px) {
          position: static;
          left: 5%;
        }

        @media (min-width: 1501px) {
          position: absolute;
          left: 10%;
        } 
      }

      .content:nth-child(2n) {
        margin-right: auto;
        margin-left: 0;
        text-align: right;
        font-size: 3rem;

        h3.headLine04 {
          left: initial;

          @media (min-width: 897px) {
            left: 0;
            top: 0;
            text-align: left;
          }

          &.fadeInUp.on {
            text-align: left;
          }
        }

        .photoBox {
          margin-right: auto;
          margin-left: 0;
          transform: scale(1, 1);
        }
      }
  }

  .intro-wrap:nth-child(2n) {
    .introSec-content {
        @media (min-width: 1501px) {
          right: 10%;
          left: initial
        }
    }
  }

  .photoBox {
      border-radius: 25px;
      width: 100%;
      margin-left: auto;

      &.fadeInUp.on {
        margin-bottom: 50px;
      }

      @media (min-width: 897px) {
        /* margin-bottom: 160px; */
        margin: 0 0 0 0;
      }

      @media (min-width: 1501px) {
        margin: 0;
        margin-bottom: 160px;
      }

      img {
        top: 0;
        right: 0;
        position: relative;
        max-height: 900px;
        width: 100%;
        object-fit: cover;
        border-radius: 25px;
      }
    }

  .innerBox {
    padding: 0;
    margin: 0 0 40px;
    max-width: 1000px;
    margin-inline: auto;
    position: relative;
    text-align: left;

    @media (min-width: 1001px) {
        padding: 30px;
        margin: 0 0 50px 0;
        /* max-width: 650px; */
        margin-right: auto;
        margin-left: auto;
      }

      @media (min-width: 1201px) {
        padding: 30px;
        margin: 40px 0;
        max-width: 1200px;
      }

      @media (min-width: 1501px) {

        margin: 0 0 50px 0;
        max-width: 600px;
      }

      .photoBox {
        img {
          position: absolute;
          top: 0;
          right: 0;
        }
      }
  }

  .textBox {
    line-height: 35px;
    font-weight: 600;
    text-align: -webkit-center;
    background: #fff;
    border-radius: 20px;
  }

  p {
      margin-top: 0;
      padding: 20px;
      /* font-size: 1.5rem; */
      text-align: left;

      @media (min-width: 1001px) {
        padding: 30px;
      }

      @media (min-width: 1201px) {
        padding: 30px;
        margin-top: 0;
        text-align: justify;
      }

      @media (min-width: 1501px) {
        text-align: justify;
        padding: 30px;
      }
    }
}

/* 思恋の想い */
.index-introduction {
  padding: 0 0 60px;

  @media (min-width: 897px) {
    padding: 80px 0 120px;
  }

  .content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;

    @media (min-width: 1201px) {
      padding: 0 40px;
      flex-direction: row;
      justify-content: space-between;
    }
  }

  .index-introduction-wrap {
    display: flex;
    flex-direction: column-reverse;
    justify-content: space-between;
    align-items: center;

    @media (min-width: 1201px) {
      flex-direction: row;
    }
  }

  .index-introduction-text {
    width: 100%;
    padding: 20px;
    margin-bottom: 40px;

    @media (min-width: 1201px) {
      width: 50%;
      margin-bottom: 0;
    }

    .infoBox {
      line-height: 2;
      font-weight: 600;
      background: #fff;
      border: 2px solid #ffae00;
      padding: 20px;
      border-radius: 25px;
    }

    .h2title {
      font-size: 3rem;
      margin-bottom: 15px;
      color: #ff7b00;
      text-align: center;
      font-weight: 700;
      position: relative;

      @media (min-width: 1201px) {
          text-align: center;
       }
    }

    .headLine05 {
      font-size: 1.8rem;
      line-height: 1.8;
    }

      p,
      p.fadeInUp.on {
        text-align: center;
        padding-top: 0;
      }
    }
  }

  .index-introduction-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 4%;
    width: 100%;

    @media (min-width: 1201px) {
      width: 46%;
    }

    a {
      width: 100%;
      aspect-ratio: 1;
      position: relative;
      overflow: hidden;
      transition: all 0.4s ease;
      display: block;
      border-radius: 25px;

      @media (min-width: 501px) {
          width: 48%;
       }

      @media (min-width: 897px) {
        &:hover {
          transform: scale(1.03);

           &::after {
              width: 100%;
              right: auto;
              left: 0;
            }
          }
        }

    &::before {
        content: "";
        position: absolute;
        background: #00000030;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 1;
    }

    .textBox {
    position: absolute;
    text-shadow: 1px 1px 8px black;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;

    h4 {
        font-weight: 700;
        font-size: 2rem;
        white-space: nowrap;
        color: #fff;

        @media (min-width: 897px) {
        font-size: 2.5rem;
        }
    }

    p {
        font-weight: 600;
        margin-top: 5px;
        font-size: 1.5rem;
        white-space: nowrap;
        color: #fff;

        @media (min-width: 897px) {
        font-size: 1.6rem;
        }
      }     
    }
  }

  img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: all 0.4s ease;
      border-radius: 0;
      position: relative;

      &::before {
        width: 250px;
        height: 250px;
        object-fit: cover;
        transition: all 0.4s ease;
        border-radius: 0;
        background: #000;
        position: absolute;
        content: "";
        top: 0;
        }
      }
}

/* ブログ */
.infoBox.blogBox {
  padding: 80px 0 120px;

  .content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
  }

  ul.article_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    margin-bottom: 20px;
    gap: 30px;

    @media (min-width: 897px) {
      flex-direction: column;
      gap: 0 30px;
    }

    @media (min-width: 1201px) {
      flex-direction: row;
      align-items: flex-start;
      margin-bottom: 40px;
    }

    > li.article_item {
      width: 100%;
      background: #fff;
      border-radius: 25px;
      padding-bottom: 20px;
      transition: all 0.4s ease;
      height: auto;
      margin: 0;

      @media (min-width: 897px) {
        margin: 20px 0;
        padding: 0px;
      }

      @media (min-width: 1201px) {
        height: 500px;
        margin: 0;

        &:hover {
          transform: scale(1.03);
        }
      }

      > .article_thumb {
        text-align: center;
      }

       & img.attachment-medium.size-medium.wp-post-image {
          width: 100%;
          height: 300px;
          object-fit: cover;
          border-radius: 20px 20px 0 0;

          @media (max-width: 500px) {
            height: 200px;
          }
        }

       .article_date_wrap {
        padding: 20px;

        > .article_date {
          margin-top: 10px;

          @media (max-width: 896px) {
            font-size: 1.6rem;
          }
        }

        > .article_title {
          margin-top: 10px;
          line-height: 1.8;
        }
      }
    }
  }
}

/* ペット火葬業者に依頼するメリット */
.indexPage {
  .melitBox {
    position: relative;
    padding: 0;
    margin-bottom: 0;

    .content {
      margin: 0 auto;
      padding: 0 32px;
      max-width: 100%;
    }

    .melit-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 20px;
      margin-bottom: 40px;

      .textBox {
        width: 100%;
        margin: 0 20px 40px;
        padding: 0;
        background: #fff;
        border-radius: 20px;
        position: relative;
        text-align: left;

        .title {
          margin: 20px 20px 0;
          padding: 0;
          font-size: 1.8rem;
          font-weight: 600;
          color: #ff7b00;
        }

        p {
          padding: 20px;
        }
      }

      .photoBox {
        width: 100%;
        margin: 0 40px;

        img {
          position: relative;
          /* height: 360px; */
          width: 100%;
          object-fit: cover;
          border-radius: 25px;
        }
      }
    }
  }

  @media all and (min-width: 601px) {
    .melit-wrap {      
      .photoBox {        
        img {
          height: 360px;
        }
      }
    }

  }

  @media all and (min-width: 897px) {
    .melitBox {
      padding: 80px 0 120px;

      .content {
        max-width: 1200px;
        padding: 0 40px;
      }

      .melit-wrap {
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        margin-bottom: 80px;

        .textBox {
          width: 46%;
          padding: 30px;
          margin: 0;

          .title {
            margin: 0 0 20px;
            font-size: 2rem;
          }

          p {
            padding: 0;
          }
        }

        .photoBox {
          width: 46%;
          margin: 0;

          img {
            height: 440px;
          }
        }
      }
    }
  }
}

/* ご家族様のご希望に合わせた対応 */
.indexPage {
  .supportBox {
    position: relative;
    padding: 0 0 60px;

    .content {
      margin: 0 auto;
      padding: 0 32px;
      max-width: 100%;
    }

    .support-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 20px;
      margin-bottom: 40px;

      .textBox {
        width: 100%;
        margin: 0 20px 40px;
        padding: 0;
        background: #fff;
        border-radius: 20px;
        position: relative;
        text-align: left;

        .title {
          margin: 20px 20px 0;
          padding: 0;
          font-size: clamp(1.594rem, 1.4vw, 1.8rem);
          font-weight: 600;
          color: #ff7b00;
        }

        p {
          padding: 20px;
        }
      }

      .photoBox {
        width: 100%;
        margin: 0 40px;

        img {
          position: relative;
          width: 100%;
          object-fit: cover;
          border-radius: 25px;
        }
      }
    }
  }

  @media all and (min-width: 897px) {
    .supportBox {
      padding: 0 0 120px;

      .content {
        max-width: 1200px;
        padding: 0 40px;
      }

      .support-wrap {
        flex-direction: row;
        align-items: stretch;
        justify-content: space-between;
        margin-bottom: 80px;

        .textBox {
          width: 46%;
          padding: 30px;
          margin: 0;

          .title {
            margin: 0 0 20px;
            /* font-size remains the same (clamp) */
          }

          p {
            padding: 0;
          }
        }

        .photoBox {
          width: 46%;
          margin: 0;
        }
      }
    }
  }
}

.chengeFont {
    font-size: 1.5rem;
}
@media (600px <= width <= 1022px) {
    .chengeFont {
    	font-size: 1.52rem;
    }
}
@media (1023px <= width <= 1280px) {
    .chengeFont {
    	font-size: 1.6rem;
    }
}
@media (1281px <= width) {
    .chengeFont {
    	font-size: 1.65rem;
    }
} 

/*------------------------------------------------------------
	news
------------------------------------------------------------*/
.newsPage {
  .pageTitle {
    background-image: url("img/index/blog_bg.jpg");
  }

  .bgBox {
    position: relative;
    padding-bottom: 75px;

    &::before {
      position: absolute;
      content: "";
      top: -30px;
      right: 0;
      background: url("img/common/sp_com_bg03.png") repeat left top;
      background-size: 571px auto;
      width: 130px;
      height: 89px;
      z-index: -1;
    }

    &::after {
      position: absolute;
      content: "";
      left: 0;
      bottom: -30px;
      background: url("img/common/sp_com_bg03.png") repeat left top;
      background-size: 571px auto;
      width: 130px;
      height: 89px;
      z-index: -1;
    }

    @media (min-width: 897px) {
      padding-bottom: 180px;

      &::before {
        left: 0;
        right: auto;
        background: url("img/common/com_bg03.png") repeat left top;
        background-size: 1368px auto;
        width: 573px;
        height: 530px;
      }

      &::after {
        right: 0;
        left: auto;
        bottom: -30px;
        background: url("img/common/com_bg03.png") repeat left top;
        background-size: 1368px auto;
        width: 573px;
        height: 460px;
      }
    }
  }

  &.newsDetail {
    .bgBox {
      &::before {
        top: 26px;
        right: 23px;
        width: 45px;
        height: 61px;
        background: url("img/common/sp_add_icon01.png") no-repeat left top;
        background-size: 45px auto;
      }

      &::after {
        left: auto;
        right: 0;
        bottom: -37px;
        width: 126px;
        height: 120px;
      }
    }
  }
}

.newsDetail {
  .mainBox {
    position: relative;

    &::before {
      position: absolute;
      content: "";
      bottom: -36px;
      left: 25px;
      width: 45px;
      height: 61px;
      background: url("img/common/sp_add_icon01.png") no-repeat left top;
      background-size: 45px auto;
    }
  }
}

.special {
  .newsPage {
    .comVisual {
      background: url(img/index/animal23.jpg) no-repeat center center;
      background-size: 100%;
    }
  }
}

.pageNavi {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;

  li {
    margin: 0 10px;

    a {
      display: inline-block;
      color: #fefefe;
      padding: 3px 10px;
      background: #ffae00;
      border-radius: 25px;

      &:hover {
        opacity: 0.7;
      }
    }
  }

  @media (min-width: 897px) {
    padding-top: 0;
  }
}

/*------------------------------------------------------------
    archive
/*------------------------------------------------------------*/
.newsPage {
  padding-bottom: 120px;
}

.newsArchive {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;

  @media (min-width: 897px) {
    display: flex;
    flex-direction: row;
    flex-wrap: initial;
    max-width: 1200px;
    justify-content: center;
    margin: 80px auto 0;
    padding: 0;
  }

  & .newsArchive_inner {
    width: auto;

    @media (min-width: 897px) {
      width: calc(100% - 200px);
    }
  }

  & .newsArchive_items {
    background: #ffe8aa;
    padding: 0;
    margin-right: 0;
    border-radius: 25px;

    @media (min-width: 897px) {
      padding: 40px;
      margin-right: 30px;
    }
  }

  & .newsArchive_item {
    &:not(:first-child) {
      border-top: 2px dashed #ffae00;
    }

    & a {
      display: flex;
      flex-direction: column;
      align-items: center;
      color: #691900;
      padding: 20px;
      transition: all 0.4s ease;

      @media (min-width: 897px) {
        flex-direction: initial;
      }

      &:hover {
        background: rgba(255, 174, 0, 0.8);
        transition: all 0.4s ease;

        .newsArchive_item_img {
          transition: all 0.4s ease;
        }
      }

      @media (max-width: 450px) {
        display: block;
      }
    }

    & .newsArchive_item_img {
      width: 100%;
      padding: 20px 0;
      transition: all 0.4s ease;

      img {
        width: 100%;
        object-fit: cover;
      }

      @media (min-width: 897px) {
        width: 150px;
        padding: 0;

        img {
          width: 150px;
        }
      }
    }

    & .newsArchive_item_txtBox {
      width: 100%;
      padding: 20px 0;
      color: #691900;

      @media (max-width: 450px) {
        padding-left: 0;
        margin-top: 10px;
      }

      @media (min-width: 897px) {
        width: calc(100% - 150px);
        padding: 20px;
      }
    }

    & .newsArchive_item_meta

    & .newsArchive_item_ttl {
      /* font-size: 1.6rem; */
      font-size: 1.8rem;
      margin-top: 5px;
      line-height: 1.8;

      @media (min-width: 897px) {
        /* font-size: 1.8rem; */
      }
    }
  }
}

.news_pagenation {
  text-align: center;
  margin-top: 30px;
}

.pages {
  display: none;
}

/*------------------------------------------------------------
    ブログ詳細
------------------------------------------------------------*/
.single_post {
    display: flex;
    max-width: 1200px;
    justify-content: center;
    margin: 0 auto;
    padding: 0 15px 120px;
}
.single_post_item {
    width: calc(100% - 200px);
    margin-right: 30px;
}
.single_post_item_inner {
    background: #fcf8f1;
    border-radius: 4px;
    padding: 40px 20px;
}
.new_recent {
    color: #fefefe;
    background: #ff7b00;
    width: 50px;
    border-radius: 5px;
    text-align: center;
    padding: 3px 10px;
}
.single_post_ttl {
    font-size: 2.5rem;
    padding: 10px 0;
    border-bottom: 1px solid #ff7b00;
}
.single_post_text {
    margin-top: 30px;
}

/* ↑ 6.25調査中 ↑*/

/*------------------------------------------------------------
    ブログ アーカイブ
------------------------------------------------------------*/
.sidebar {
  display: flex;
  width: 100%;
  flex-direction: column-reverse;

  @media (min-width: 897px) {
    flex-direction: column;
    width: 30%;
  }

  .sidebar_item {
    width: 100%;
    margin: 60px 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;

    @media (min-width: 897px) {
        margin: 0;
    }

    .sidebar_item img {
      aspect-ratio: 3 / 2;
    }
  }

  .sidebar_ttl {
    margin-bottom: 10px;
    color: #fefefe;
    background: #ffae00;
    padding: 10px 0;
    text-align: center;
    border-radius: 10px;

    @media (min-width: 897px) {
      padding: 3px 0;
    }
  }

  .sidebar_monthly {
    margin-bottom: 40px;

    select {
      width: 100%;
      height: auto;
      padding: 15px;
      display: block;

      option {
        padding: 20px;
      }
    }
  }

  .sidebar_resent {
    margin: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;

    @media (max-width: 600px) {
      flex-direction: column;
    }

    @media (min-width: 897px) {
      /* margin-top: 40px; */
      margin-top: 30px;
      flex-direction: column;
      flex-wrap: nowrap;
    }

    .sidebar_news_item {
      width: 48%;

      @media (max-width: 600px) {
        width: 100%;
      }

      @media (min-width: 897px) {
        width: 100%;
      }

      a {
        color: #691900;
        padding: 20px 0;
        display: block;
        transition: all 0.4s ease;
        border-bottom: 1px solid #691900;

        &:hover {
          background: rgba(255, 174, 0, 0.8);
          transition: all 0.4s ease;
        }

        .sidebar_news_item_ttl {
          margin-top: 5px;
          line-height: 1.8;
        }

        .sidebar_news_item_txtBox {
          text-align: left;
          padding: 10px;
        }
      }
    }
  }
}

.fa-paperclip {
  color: #daa520;
}

li.pagenav {
  display: none;
}

.mfp-bg {
  background: rgba(33, 40, 54, 0.8);
}

.mfp-container {
  padding-left: 25px;
  padding-right: 25px;

  @media (min-width: 897px) {
    padding-left: 0;
    padding-right: 0;
  }
}

/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
	opacity: 0;
	-webkit-transform: translateY(60px);
	transform: translateY(60px);
	transition: transform 1s, opacity 1s;
}
.fadeInUp.on {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}  

/*------------------------------------------------------------
    company
------------------------------------------------------------*/
.companyPage .pageTitle {
    background-image: url("img/company/main_img.jpg");
}
.companyPage .midTxt {
	padding-top: 55px;
    margin-bottom: 133px;
}
.companyPage .topBox {
	padding: 130px 20px 120px;
	position: relative;
}
.companyPage .topBox:before {
	position: absolute;
	right: 0;
	bottom: -100px;
	height: 670px;
	background: url("img/common/com_bg03.png") no-repeat left top;
	background-size: 1368px auto;
	width: 570px;
	content: "";
}
.companyPage .compareList {
	padding: 0;
	position: relative;
}
.companyPage .compareList:before {
	position: absolute;
	left: auto;
	right: -183px;
	top: -23px;
	width: 110px;
	height: 158px;
	background: url("img/common/add_icon02.png") no-repeat left top;
	background-size: 110px auto; 
	content: "";
}
.companyPage .compareList > li {
    margin-bottom: 37px;
    padding-bottom: 45px;
    text-align: center;
    background-color: #FDF4E8;
}
.companyPage .compareList .wid {
    margin-right: 0;
}
.companyPage .compareList h3 {
    margin-bottom: 10px;
    color: #FFF;
    font-size: 2rem;
    font-weight: 500;
    line-height: 46px;
    letter-spacing: 0.06em;
    background-color: #e8845d;
}
.companyPage .compareList p {
    margin: 0 10px 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-align: center;
    color: #212836;
}
.companyPage .compareList .img {
    margin: 0 10px;
}
.companyPage .compareList .txtList {
    margin: 20px 60px 9px;
    display: flex;
    flex-wrap: wrap;
}
.companyPage .compareList .txtList li {
    margin: 12px 6px 0;
    padding: 3px 13px 5px;
    font-weight: 500;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0.06em;
    text-align: left;
    color: #362121;
    border-radius: 15px;
    border: 1px solid #362121;
}
.companyPage .compareList .txtList .black {
    color: #212836;
}
.companyPage .faqArea {
    padding: 105px 0 60px;
}
.companyPage .faqArea .headLine01 {
    margin-bottom: 101px;
}
.companyPage .faqArea .headLine03 {
    margin-bottom: 20px;
    padding-bottom: 0;
	background: none;
}
.companyPage .faqArea .faqDl {
	position: relative;
}
.companyPage .faqArea .faqDl:first-of-type:before {
	position: absolute;
	left: -105px;
	top: 100px;
	width: 62px;
	height: 85px;
	background: url("img/common/add_icon01.png") no-repeat left top;
	background-size: 62px auto;
	content: "";
}
@media all and (min-width: 897px) {
    .companyPage .compareList {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .companyPage .compareList > li {
        width: calc((100% - 60px)/3);
    }
    .companyPage .compareList .wid01 {
        padding-bottom: 60px;
        width: calc(50% - 16px);
    }
    .companyPage .compareList .wid02 {
        width: 100%;
    }
    .companyPage .compareList .wid01 h3 {
        margin-bottom: 22px;
    }
    .companyPage .compareList .wid01 p {
        margin-bottom: 33px;
    }
}
@media all and (max-width: 896px) {
    .companyPage .pageTitle {
        background-image: url("img/company/sp_main_img.jpg");
    }
	.companyPage .comTopBox {
		padding-bottom: 58px;
	}
	.companyPage .comTopBox:before {
		display: none;
	}
	.companyPage .topBox {
		padding: 20px 0 0;
	}
	.companyPage {
		position: relative;
	}
	.companyPage:before {
		position: absolute;
		right: 0;
		bottom: -100px;
		height: 90px;
		background: url("img/common/sp_com_bg03.png") no-repeat left top;
		background-size: 571px auto;
		width: 125px;
		content: "";
	}
	.companyPage .topBox:before {
		position: absolute;
		right: auto;
		left: 8px;
		bottom: -100px;
		height: 90px;
		background: url("img/common/sp_com_bg03.png") no-repeat left top;
		background-size: 571px auto;
		width: 125px;
		content: "";
	}
    .companyPage .midTxt {
        margin-bottom: 35px;
		padding: 0;
    }
	.companyPage .topBox .content {
		padding: 0 13px;
	}
	.companyPage .compareList:bfore {
		display: none;
	}
    .companyPage .compareList > li {
        margin-bottom: 30px;
    }
    .companyPage .compareList .wid01 {
        padding-bottom: 25px;
    }
    .companyPage .compareList h3 {
        margin-bottom: 17px;
    }
    .companyPage .compareList .wid01 p {
        margin-bottom: 13px;
    }
    .companyPage .compareList .txtList {
        margin: -5px 20px -10px 35px;
    }
    .companyPage .faqArea .headLine01 {
        margin-bottom: 50px;
		text-align: left;
		font-size: 3rem;
    }
    .companyPage .faqArea .headLine03 {
        font-size: 2rem;
    }
    .companyPage .faqArea {
		margin-bottom: 60px;
        padding: 40px 0 13px;
        background-image: none;
    }
}



@media all and (min-width: 897px) and (max-width: 1200px) {

    .fInner .naviUl > li {
        width: 300px;
        margin-left: 25px;
    }
    .contactPage th {
        width: 32%;
        padding-right: 20px;
    }
    .contactPage td {
        padding-left: 20px;
    }
}

@media all and (min-width: 897px) and (max-width: 1500px) {
    .hInner {
        height: 180px;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        position: relative;
        padding: 0px 20px 20px 20px;
        box-sizing: border-box;
        flex-direction: column;
        justify-content: flex-end;
    }
    .hInner .link a {
        width: 160px;
    }
	.hInner .naviUl {
        padding-left: 0px;
        gap: 0px 20px;
	}
    .hInner .naviUl > li {
        margin: 0 1vw;
    }
    .hInner .jsBox .sub .rBox {
        padding-left: 30px;
        padding-right: 30px;
    }
    .hInner .jsBox .subUl li {
        width: 45%;
    }

	.indexPage .interviewSec .listUl .slick-next {
		right: 0px;
	}
	.indexPage .interviewSec .listUl .slick-prev {
		left: 0px;
	}
	.indexPage .interviewSec .listUl::before {
		right: -20px;
	}
	.companyBox .map::before {
		right: -20px;
	}
	.companyBox .content::after {
		right: 0px;
	}
	.interviewInner02 .rBox .textBox::before {
		left: auto;
		right: -20px;
		bottom: -150px;
	}
	.interviewPage .interviewInner .rBox .textBox {
		margin: 0 20px 0 20px;
	}
	.interviewPage .interviewInner .rBox {
		padding: 0;
	}
	.interviewPage .interviewInner .jsBox {
		padding-right: 20px;
		width: 46%;
	}
	.interviewInner .dlBox::before {
		right: -200px;
	}
	.interviewPage .interviewInner02 .jsBox {
		padding: 0 0 0 20px;
	}
	.interviewPage .interviewInner02 .dlBox::before {
		left: -200px;
	}
	.interviewPage .interviewInner02 .rBox .textBox::before {
		right: -20px;
	}
	.interviewPage .bgBox .interviewInner:last-child .rBox .textBox::before {
		left: -20px;
	}
	.businessPage .interviewInner02 .textBox h3 {
		padding-left: 20px;
	}
	.businessPage .interviewInner02 .rBox {
		padding: 0 20px 0 0;
	}
	.businessPage .interviewInner02 .textBox h4 {
		padding-left: 20px;
	}
	.businessPage .interviewInner02 .textBox p {
		padding-left: 20px;
	}
	.interviewInner02::before {
		width: 295px;
	}
}



/*------------------------------------------------------------
    ペットちゃんの訪問火葬とは
------------------------------------------------------------*/
.conceptPage {
  padding-bottom: 40px;

  @media (min-width: 897px) {
    padding-bottom: 160px;
  }

  .about {
      margin: 80px 0;
      width: 100%;
      text-align: center;
  }

  .crematorium-wrap,
  .Enshrinement-wrap {
    h3 {
      font-size: 2rem;
      padding: 10px 0;
      font-family: 'RocknRoll One', sans-serif;
      font-weight: 600;
      text-align: center;
      color: #ffffff;
      background: #ffae00;
      border-radius: 20px 20px 0 0;

      @media (min-width: 897px) {
        font-size: 2.5rem;
        padding: 20px 0;
      }
    }
  }

  /* こんなお悩みありませんか */
  .worry-wrap {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 40px 0;
    gap: 10px;
    position: relative;

    @media (min-width: 897px) {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      padding: 160px 0;
    }

    .photobox {
      width: 100%;
      position: relative;

      @media (min-width: 897px) {
        position: absolute;
      }

      img {
        width: 100%;
        border-radius: 20px;
      }
    }

    & .worry-wrap_ul {
      background: #fffffff0;
      padding: 20px 18px;
      margin: 0;
      gap: 10px;
      border-radius: 20px;
      flex-direction: column;
      width: 100%;
      z-index: 2;
      align-content: center;
      display: flex;

      @media (min-width: 600px) {
        flex-wrap: wrap;
        position: relative;
        top: 20%;
        left: 0%;
      }

      @media (min-width: 897px) {
        padding: 40px 20px;
        margin: 20px;
        width: 60%;
      }

      .title {
        color: #ff7b00;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.8;
        padding: 10px 0;

        @media (min-width: 897px) {
          font-size: 2.5rem;
        }
      }
    }

    .trouble_li {
      position: relative;
      margin: 0;
      border-bottom: 1px solid #ccc;
      line-height: 1.5;
      padding: 10px 0px 10px 24px;
      font-size: 1.5rem;
      font-weight: 500;
      text-align: left;

      @media (min-width: 897px) {
        font-size: 1.8rem;
        padding: 10px 0px 10px 20px;
      }

      &::before {
        content: "";
        width: 16px;
        height: 16px;
        border: 1px solid #999;
        border-radius: 1px;
        position: absolute;
        top: 12px;
        left: -5px;

        @media (min-width: 600px) {
          top: 22px;
          left: -5px;
        }

        @media (min-width: 897px) {
          top: 16px;
        }
      }

      &::after {
        content: "";
        width: 8px;
        height: 16px;
        border-right: 2px solid #36b7fa;
        border-bottom: 2px solid #36b7fa;
        position: absolute;
        top: 8px;
        left: 0px;
        transform: rotate(45deg);

        @media (min-width: 600px) {
          top: 18px;
        }

        @media (min-width: 897px) {
          top: 12px;
        }
      }
    }
  }

  /* そんなご家族様のお悩みに～ */
  .concept-features-Sec {
    padding: 0;

    @media (min-width: 897px) {
      padding: 40px 0;
    }

    .features {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      flex-flow: row wrap;
      justify-content: space-between;
      align-content: space-around;
      gap: 40px 0;
      margin: 40px 0;
      padding: 0;

      @media (min-width: 897px) {
        flex-direction: row;
        gap: 30px 4%;
        margin: 40px 0 80px;
        padding: 0 0 80px;
      }

      .concept_about_features {
        background: #ffffff;
        width: 100%;
        border-radius: 25px;
        text-align: center;
        margin: 0;

        @media (min-width: 897px) {
          width: 48%;
        }

        &:nth-child(2n) {
          margin-right: 0;
        }

        .title {
          font-size: 1.8rem;
          font-weight: 700;
          color: #ffffff;
          background: #ffae00;
          border-radius: 20px 20px 0 0;
          padding: 10px 0;

          @media (min-width: 601px) {
            font-size: 2rem;
          }
        }

        p {
          text-align: justify;
          padding: 20px;
        }
      }
    }
  }

  /* 火葬炉のご案内 */
  .concept-crematorium-Sec {
    padding: 0 0 60px;

    @media (min-width: 897px) {
      padding: 0 0 160px;
    }
  }

  .crematorium {
    padding: 0px;

    .crematorium-wrap {
      margin-bottom: 50px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      width: 100%;
      border-radius: 25px;

      h3 {
        color: #ffffff;
        background: #ffae00;
        padding: 10px;
        border-radius: 20px 20px 0 0;
        font-size: 2rem;

        @media (min-width: 601px) {
          font-size: 2.5rem;
          padding: 20px 0;
        }

        @media (max-width: 600px) {
          font-size: 1.8rem;
          font-family: 'RocknRoll One', sans-serif;
          font-weight: 600;
          position: relative;
          text-align: center;
          padding: 10px 0;
        }
      }

      .crematorium_ttl_txt {
        position: relative;
        border-radius: 0 0 25px 25px;
        text-align: left;
        background: #fff;
        display: flex;
        flex-direction: column;
        /* flex-wrap: wrap; */
        align-items: center;
        padding: 0;

        @media (min-width: 897px) {
          flex-direction: row;
        }

        .photoBox {
          /* width: 100%; */

          @media (min-width: 897px) {
            width: 50%;
          }

          img {
            border-radius: 0 0 0 0;
            object-fit: cover;

            @media (min-width: 897px) {
              border-radius: 0 0 0 25px;
            }
          }
        }

        .textBox {
          padding: 20px;
          width: auto;

          @media (min-width: 897px) {
            width: 50%;
          }

          p {
            width: 100%;
          }
        }
      }
    }
  }

  .crematorium-report {
    padding: 20px;
    background: #fff;
    border-radius: 20px;

    .crematorium_data_textBox {
      padding: 20px;

      p {
        font-size: 1.5rem;
        text-align: left;
        margin-top: 0;

        @media (min-width: 897px) {
          font-size: 1.8rem;
          margin-top: 40px;
        }
      }
    }
  }

  /* 調査結果スライダー */
  .certificate {
    background: #ffe8aa;
    width: 60%;
    /* display: inline-block; */
    display: block;
    margin: 20px auto 0;
    padding: 20px;
    border-radius: 20px;

    @media (min-width: 601px) {
      margin: 40px auto 40px;
      padding: 30px;
    }

    .slick-dotted.slick-slider {
      margin-bottom: 0;

      @media (min-width: 1201px) {
        margin-bottom: 0;
      }
    }

    .slick-dots {
      li {
        width: 31%;
        opacity: 0.5;
        display: none;

        @media (min-width: 601px) {
          display: none;
        }

        @media (min-width: 897px) {
          display: none;
        }

        width: 100px;
        height: 100px;
      }
    }
  }

  .slider-wrap {
    border-radius: 25px;
    background: #ffe8aa;
    padding: 20px 50px;
    width: 40%;
    height: 100%;
  }

  .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .slick-dots {
    bottom: -145px;
    display: none;
    justify-content: center;
    margin: -5px;
    flex-wrap: wrap;
    gap: 10px 3.5%;

    li {
      width: 100px;
      height: 100px;
      opacity: 0.5;
      display: none;

      &.slick-active {
        opacity: 1 !important;
      }
    }
  }

  .slide-arrow {
    &.prev-arrow,
    &.next-arrow {
      top: 42%;
      position: absolute;
      z-index: 100;
      cursor: pointer;
    }

    &.prev-arrow {
      left: -16%;
      width: 30px;
      background-size: 30px;

      @media (min-width: 601px) {
        left: -14%;
        width: 40px;
        background-size: 40px;
      }

      @media (min-width: 897px) {
        width: 60px;
        background-size: 60px;
      }
    }

    &.next-arrow {
      right: -16%;
      width: 30px;
      background-size: 30px;

      @media (min-width: 601px) {
        right: -14%;
        width: 40px;
        background-size: 40px;
      }

      @media (min-width: 897px) {
        width: 60px;
        background-size: 60px;
      }
    }
  }

  /* ペットちゃんが亡くなったら */
  .concept_if_wrap {
    margin-bottom: 0;

    @media (min-width: 897px) {
      margin-bottom: 160px;
    }

    .concept_if {
      margin-bottom: 50px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      width: 100%;
      color: #ffffff;
      background: #ffae00;
      border-radius: 25px;

      .title {
        color: #ffffff;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.8;
        padding: 20px 0;
        border-radius: 20px 20px 0 0;
        text-align: center;

        @media (min-width: 897px) {
          font-size: 2.5rem;
        }
      }

      .concept_if_ttl_txt {
        display: flex;
        flex-direction: column;
        align-items: center;
        background: #fff;
        border-radius: 0 0 25px 25px;

        .photoBox {
          padding: 0;
          display: flex;
          /* width: 100%; */
          border-radius: 0;

          @media (min-width: 897px) {
            padding: 0 0px;
            border-radius: 0 0 0 25px;
          }

          img {
            object-fit: cover;
            height: 100%;
            border-radius: 0;

            @media (min-width: 897px) {
              /* border-radius: 0 0 0 25px; */
            }
          }
        }

        .textBox {
          padding: 0;
          width: 100%;
          background: #fff;
          overflow: hidden;
          object-fit: cover;
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          text-align: left;
          border-radius: 0 0 25px 25px;

          @media (min-width: 897px) {
            /* same values; retained for consistency */
          }

          p {
            font-size: 1.5rem;
            padding: 20px;
            width: 80%;

            @media (min-width: 897px) {
              font-size: inherit;
              padding: 30px;
            }
          }
        }
      }  
    }
  }


  /* 保冷・安置の仕方 */
  .fea-con {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0 auto;
  }

  .Enshrinement-wrap {
    position: relative;
    margin: 0 0 30px;
    border-radius: 25px;
    text-align: justify;
    background: #ffae00;

    @media (min-width: 897px) {
      margin: 20px 0;
    }

    h3 {
      color: #ffffff;
      background: #ffae00;
      font-size: 1.8rem;
      font-family: 'RocknRoll One', sans-serif;
      font-weight: 600;
      position: relative;
      text-align: center;
      padding: 10px 0;
      border-radius: 20px 20px 0 0;

      @media (min-width: 897px) {
        font-size: 2.5rem;
        padding: 20px 0;
        font-family: inherit;
        font-weight: 600;
        line-height: 1.8;
        position: relative;
      }
    }

    p {
      padding: 20px;
    }

    img {
      width: 100%;
      object-fit: cover;
    }

    .Enshrinement-box {
      display: flex;
      align-items: center;
      flex-direction: column;
      flex-wrap: wrap;
      background: #fff;
      overflow: hidden;
      border-radius: 0 0 25px 25px;

      @media (min-width: 897px) {
        /* flex-direction: row; */
        flex-direction: column;
      }

      .photoBox {
        /* width: 100%; */
        display: flex;
        object-fit: cover;
        overflow: hidden;
      }

      p {
        width: auto;
        padding: 20px;

        @media (min-width: 897px) {
          width: 80%;
        }
      }
    }
  }
}

/*------------------------------------------------------------
    訪問火葬の流れ
------------------------------------------------------------*/

.feature {
      margin: 40px 0;
  }

.flowPage {
  /* 訪問火葬車について */
  .about {
    margin: 80px 0;
    width: 100%;
    text-align: center;
  
    .flow_about_car-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;

      @media (min-width: 897px) {
        flex-direction: row;
        justify-content: center;
        flex-wrap: nowrap;
      }

      img {
        width: 100%;
        border-radius: 20px;

        @media (min-width: 897px) {
          width: 48%;
        }
      }

      .about-text {
        width: 80%;
        margin: 30px 0;
        text-align: justify;
        font-size: 1.5rem;

        @media (min-width: 897px) {
          width: 48%;
          margin: 30px 0 30px 30px;
          font-size: 1.7rem;
        }
      }
    }
  }

  .features {
    display: flex;
    margin: 0;
    padding: 0;
    gap: 0;
    flex-flow: row wrap;
    justify-content: space-between;

    @media (min-width: 897px) {
      margin: 40px 0 80px;
      padding: 0 0 80px;
      gap: 30px 4%;
    }
  }

  .about_features {
    &:nth-child(2n) {
      margin-right: 0;
    }
  }

  .about_features-box {
    background: #ffffff;
    width: 100%;
    line-height: 2.3;
    text-align: center;
    border-radius: 25px;
    position: relative;
    box-sizing: border-box;
    margin: 0 0 40px 0;

    @media (min-width: 897px) {
      width: 48%;
      margin: 0;
    }

    h4 {
      font-size: 1.8rem;
      font-weight: 700;
      color: #ffffff;
      background: #ffae00;
      border-radius: 20px 20px 0 0;
      padding: 20px 8px;

      @media (min-width: 897px) {
        font-size: 2.5rem;
        line-height: 1.6;
        padding: 20px;
      }
    }

    p {
      text-align: justify;
      padding: 20px;
    }
  }
}


.flowPage {

  /* 訪問対応エリア */
  .flow_areas {
    padding: 0 0 80px;

    h3 {
      font-size: 2.2rem;
      color: #ffffff;
      background: #ffaf00;
      border-radius: 20px 20px 0 0;
      text-align: center;
      font-weight: 600;
      position: relative;
      padding: 10px 8px;

      @media (min-width: 897px) {
        font-size: 2.5rem;
        padding: 0;
      }
    }

    p {
      font-size: 1.8rem;
      padding: 0 20px 20px;
      border-radius: 0 0 20px 20px;
      color: #691900;
      background: #ffffff;
      font-weight: 500;
      position: relative;

      @media (min-width: 897px) {
        padding: 0;
      }
    }

    .area {
      font-size: 1.6rem;
      padding: 0;
      border-radius: 0 0 20px 20px;
      color: #691900;
      background: #ffffff;
      font-weight: 500;
      text-align: left;
      position: relative;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
    }
  }

  .flow_areas-wrap {
    background: #ffe8aa;
    border-radius: 25px;
    margin-bottom: 50px;
    overflow: hidden;
  }

  .goal {
    padding: 20px 30px;
    border-radius: 25px;
    margin-bottom: 80px;
  }

  .area-wrap {
    /* display: flex; */

    @media (max-width: 896px) {
      flex-direction: column;
      align-items: center;
    }

    .photoBox {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;

      img {
        padding: 20px;
        box-sizing: border-box;
      }
    }

    .area-txt {
      font-size: 2rem;
      color: #691900;
      background: #ffffff;
      text-align: center;
      font-weight: 500;
      position: relative;
      box-sizing: border-box;
      padding: 20px;
      width: 100%;

      h4 {
        font-size: 2rem;
        margin-bottom: 10px;

        span {
          display: block;
          font-size: 1.6rem;
          color: #ffaf00;
          line-height: 15px;
          margin-bottom: 10px;
        }

        span2 {
          display: block;
          font-size: 1.6rem;
          color: #0ed145;
          line-height: 15px;
          margin-bottom: 10px;
        }
      }

      p {
        font-weight: 500;
      }

      .area {
        font-weight: 500;
      }

      p + h4 {
        padding-top: 14px;
        margin-top: 0;
        border-top: 4px dotted #ffaf00;

        @media (min-width: 897px) {
          margin-top: 20px;
        }
      }
    }
  }
}


.flowPage {

  /* 訪問対応エリア */
  .ff_flow_process {
    .content {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0;
    }  

    .listBox {
      position: relative;

      &::before {
        position: absolute;
        left: 55px;
        top: 0;
        bottom: 64px;
        width: 3px;
        background: #fff;
        content: "";

        @media (min-width: 897px) {
          left: 50%;
          top: 68px;
          bottom: 0;
        }
        @media (max-width: 428px) {
          left: 22px;
        }
      }

      .timeBox {
        clear: both;
        width: auto;
        margin: 0 0 30px 28px;
        display: flex;
        flex-direction: row;
        align-items: center;

        @media (min-width: 429px) {
          margin: 0 0 15px 58px;
        }

        @media (min-width: 897px) {
          width: 50%;
          margin: 0 0 15px 0;
          flex-direction: row-reverse;
          margin-bottom: -15px;
        }

        &:last-child {
          margin-bottom: 0;
        }

        &::before {
          content: "";
          width: 47px;
          display: block;
          border-bottom: 3px dotted #ffaf00;

          @media (min-width: 897px) {
            width: 145px;
          }
        }

        .txtInner {
          width: 100%;
          position: relative;
          background: #ffffff;
          border-radius: 25px;
          box-sizing: border-box;

          &::before {
            margin-top: -10px;
            position: absolute;
            left: -55px;
            top: 50%;
            width: 20px;
            height: 20px;
            background: #ffaf00;
            content: "";
            border: 3px solid #fff;
            border-radius: 50%;
            box-sizing: border-box;

            @media (min-width: 897px) {
              right: -121px;
              left: auto;
            }
            @media (min-width: 1000px) {
              right: -121px;
            }
            @media (min-width: 1100px) {
              right: -123px;
            }
            @media (min-width: 1200px) {
              right: -126px;
            }
          }

          .ttl {
            color: #ffffff;
            background: #ffaf00;
            border-radius: 20px 20px 0 0;
            padding: 10px 10px 10px 20px;
            font-size: 2rem;
            font-weight: 700;
            text-align: center;
            letter-spacing: 0.06em;
            margin: 0;

            @media (min-width: 897px) {
              font-size: 2rem;
            }
          }

          .txt {
            letter-spacing: 0.06em;
            line-height: 1.8;
            position: relative;
            text-align: left;
            padding: 20px;

            @media (max-width: 896px) {
              font-size: 1.5rem;
              line-height: 1.6;
            }

            /* .tel {
              width: 100%;
              font-size: 2.2rem;
              font-weight: bold;
              letter-spacing: 0.1em;
              margin-bottom: 10px;
              text-align: center;
            } */

            /* .contact {
              color: #0a0a0a;
              margin-bottom: -4px;
              background: #fff;
              border: 2px solid #0a0a0a;
              display: block;
              max-width: 260px;
              text-align: center;
              font-size: 1.4rem;
              padding: 4px 8px;
              transition: 0.3s;

              @media (min-width: 897px) {
                margin-bottom: -20px;
              }
            } */
          }

          img {
            border-radius: 0 0 25px 25px;
          }
        }

        &.timeBox01 {
          float: none;
          flex-direction: row;

          @media (min-width: 897px) {
            float: right;
            flex-direction: row;
          }

          &:nth-child(7) {
            margin-bottom: 80px;
          }

          .txtInner {
            &::before {
              left: -55px;

              @media (min-width: 897px) {
                left: -118px;
              }
              @media (min-width: 1000px) {
                left: -118px;
              }
              @media (min-width: 1100px) {
                left: -120px;
              }
              @media (min-width: 1200px) {
                left: -122px;
              }
            }
          }
        }

        &:nth-of-type(5) .txtInner .ttl {
          background: #ff939f;
        }
        &:nth-of-type(6) .txtInner .ttl {
          background: #97e0ff;
        }
        &:nth-of-type(7) .txtInner .ttl {
          background: #9fe7a7;
        }
      }
    }
  }
}

/* ↓　6.26調査中　*/
.schedule-section {
    margin-bottom: 120px;
    width: 100%;
}

.schedule {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    width: 95%;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 25px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.schedule tr {
    display: flex;
    flex-direction: column;
}
.schedule th {
    padding: 20px 0;
    background: #c1e85d;
    text-align: center;
    border-radius: 15px;

}
.schedule tbody {
    display: flex;
    flex-wrap: wrap;
}
.schedule-tr-1, .schedule-tr-3 {
    width: 45%;
}
.schedule-tr-2 {
    width: 10%;

}
@media (min-width: 897px) {
.schedule-tr-1 .schedule-td {
    width: 42%;
    margin: auto 10% auto auto;
}

.schedule-tr-3 .schedule-td {
    width: 42%;
    margin: auto auto auto 10%;
}
}


/*------------------------------------------------------------
	ご葬儀費用
------------------------------------------------------------*/
.price-wrap {
  padding: 80px 0;

  @media (min-width: 897px) {
    padding: 0 0 160px;
  }
}

.price_about {
  .content {
    padding-bottom: 0;
  }

  p.ttl.fadeInUp.on {
    font-size: 1.6rem;
    text-align: left;

    @media (min-width: 897px) {
      font-size: 2rem;
    }
  }

  /* 火葬についての説明 */
  .txtInner {
    .content {
      max-width: 1200px;
      margin: 0 auto 30px;
      padding: 0;
      border-radius: 25px;
      background: #fff;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      position: relative;
      z-index: 3;
    }
  }
}

/* 3つの火葬の違いとは */
.differenceSec {
  position: relative;
  padding: 40px 0;

  .difference-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;

    @media (min-width: 897px) {
      flex-direction: row;
      justify-content: space-between;
    }

    .photoBox {
      width: 100%;
      margin-bottom: 40px;

      @media (min-width: 897px) {
        width: 48%;
        margin-bottom: 0;
      }

      img {
        border-radius: 25px;
      }
    }

    .textBox {
      width: 100%;
      background: #fff;
      border-radius: 25px;

      @media (min-width: 897px) {
        width: 48%;
      }

      p {
        padding: 30px;
      }
    }
  }
}


/* 火葬の種類 */
.price_cremation {
  display: flex;

  .content {
    margin: 0 auto 0;
    padding: 0 0 50px;
    max-width: 1110px;
  }

  li.fadeInUp.on {
    border-radius: 25px;
    background: #ff7b00;
  }

  .price_cremation-wrap {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-content: center;
    align-items: center;

    @media (min-width: 897px) {
      flex-direction: row;
      align-items: initial;
      align-content: initial;
    }
  }

  .price_cremation-box {
    width: 100%;
    background: #fff;
    border-radius: 25px;
    position: relative;
    overflow: hidden;
    margin-bottom: 80px;

    img {
      width: 100%;
      height: 300px;
      object-fit: cover;

      @media (min-width: 897px) {
        width: 50%;
        height: auto;
      }
    }

    .congruence,
    .entrust,
    .witness {
      display: flex;
      flex-direction: column;
      padding: 20px;
      font-size: 2.5rem;
      font-weight: 600;
      text-align: center;
      white-space: nowrap;
      color: #ffffff;
      border-radius: 20px 20px 0 0;
      z-index: 10;
      text-align: center;
    }

    .congruence {
      background: #ff939f;
    }

    .entrust {
      background: #97e0ff;
    }

    .witness {
      background: #9fe7a7;
    }

    span2 {
      font-size: 2rem;
      font-weight: 600;
      color: #ff7b00;
    }

    .price_cremation-textbox-wrap {
      width: 100%;

      @media (min-width: 897px) {
        width: 50%;
      }
    }

    p {
      padding: 20px;
      border-radius: 0 0 25px 25px;
      line-height: 1.8;
      font-weight: 500;
      text-align: justify;
    }
  }

  .price_cremation-p {
    display: flex;
    flex-direction: column;
    border-radius: 25px;
    position: relative;
    margin: 0 5px 70px;
  }
}

.fea_con {
  display: flex;
  margin: 30px 0;
  flex-direction: column;
  align-items: center;
  align-content: center;

  @media (min-width: 897px) {
    /* gap: 50px 4%; */
  }
}

.price_cremation_features {
  display: flex;
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  background: #ffaf00;
  color: #ffffff;
  text-shadow: 1px 1px 8px black;
  z-index: 10;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/* 料金 */
#price_table {
  box-sizing: border-box;

  .table-wrap {
    overflow-x: hidden;

    @media (min-width: 897px) {
      overflow-x: initial;
    }
  }

  &.price_table {
    table {
      width: 100%;
      border-collapse: separate;
      margin-bottom: 50px;
      font-size: 2rem;
      background: none;
      border-spacing: 4px 20px;

      @media (min-width: 601px) {
        border-spacing: 2px;
      }

      @media (min-width: 897px) {
        border-collapse: collapse;
      }

      th,
      td {
        padding: 10px;
        /* border: none; */
        /* border: 2px solid #fff1dd; */

        @media (min-width: 897px) {
          padding: 20px;
          border: 2px solid #fff1dd;
        }
      }

      th {
        width: 30%;
        font-size: 1.6rem;
        border-radius: 20px 0 0 20px;
        white-space: nowrap;
        color: #ffffff;
        background: #ffae00;
        text-align: center;

        @media (min-width: 601px) {
          width: 15%;
          border-radius: 0;
        }

        @media (min-width: 897px) {
          font-size: 2rem;
        }
      }

      td {
        width: 100%;
        display: block;
        padding: 10px 0;
        color: #691a00;
        text-align: center;
        font-family: 'Barlow Semi Condensed', 'Kosugi Maru', sans-serif;
        font-size: 1.6rem;
        font-weight: 700;

        @media (min-width: 601px) {
          display: table-cell;
          width: 15%;
        }

        &.group01 {
          background: #fff;
          margin-bottom: 4px;
        }

        &.group02 {
          background: #fff;
          margin-bottom: 4px;
        }

        &.group03 {
          background: #fff;

          @media (max-width: 600px) {
            border-radius: 0 0 20px 0;
          }
        }

        &.group1 {
          color: #fff;
          background: #ff939f;
          border-radius: 0 20px 0 0;

          @media (min-width: 601px) {
            border-radius: 0;
          }
        }

        &.group2 {
          color: #fff;
          background: #97e0ff;
        }

        &.group3 {
          color: #fff;
          background: #9fe7a7;
        }
      }

      tr {
        padding: 10px;

        &:first-child {
          color: #691900;
          /* background: #ffae00; */
          font-size: 1.8rem;

          th {
            background: #ffae00;
            /* border-right: 2px solid #fff1dd; */
          }

          td.group1 {
            @media (min-width: 601px) {
              color: #fff;
              background: #ff939f;
            }
          }

          td.group2 {
            @media (min-width: 601px) {
              color: #fff;
              background: #97e0ff;
            }
          }

          td.group3 {
            @media (min-width: 601px) {
              color: #fff;
              background: #9fe7a7;
            }
          }
        }
      }
    }

    .table-l {
      display: none;

      @media (min-width: 601px) {
        display: inline-table;
      }
    }

    .table-s {
      display: inline-table;

      @media (min-width: 601px) {
        display: none;
      }
    }
  }
}


/* 注意事項 */
#price_attention {
  text-align: center;
  background: #ffffff;
  background-size: 550px;
  padding: 40px;
  margin: 60px 0;
  border-radius: 25px;
  /* border: 3px solid #ffaf00; */

  @media (min-width: 897px) {
    margin: 80px 0 0;
  }

  &.price_attention {
    & ul {
      list-style-type: disc;
      display: inline-block;

      li {
        text-align: left;
      }
    }

    .photoBox {
      img {
        &.pc {
          width: 50%;
          margin-top: 20px;
        }

        &.sp {
          margin-top: 20px;
          width: 100%;
        }
      }
    }
  }
}

/*------------------------------------------------------------
    ご家族様の声
------------------------------------------------------------*/

.voicePage {
  margin-bottom: 120px;

  .voiceSec {
    padding: 80px 0 0;

    @media (min-width: 897px) {
      padding: 0 0 60px;
    }

    .txtInner {
      .content {
        max-width: 1200px;
        margin: 0 auto 60px;
        padding: 0;
        border-radius: 25px;
        background: #fff;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        position: relative;
        z-index: 3;
      }
    }
  }

  .content {
    margin: 0 auto;
    padding: 0 24px;

    @media (min-width: 897px) {
      padding: 0 40px;
    }
  }

  .headLine04 {
    padding: 50px 0 0;

    @media (min-width: 897px) {
      padding: 0;
    }
  }

  .modal_inner {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    background: #fff;
    align-items: center;
    border-radius: 25px;
    flex-direction: column;
    align-content: center;

    @media (min-width: 897px) {
      
    }

    .photoBox {
      width: 80%;
      height: 100%;
      overflow: hidden;
      border-radius: 25px;
    }
  }
}

/* ↓ 6.27調査中 ↓ */
/* @media screen and (max-width: 768px) {
    .voicePage .modaal-content-container .modal_inner {
        display: block;
    }
    .voicePage .modaal-content-container .modal_inner .photoBox {
        position: relative;
        width: 100%;
        max-width: 100%;
        height: 450px;
        margin-bottom: 20px;
        overflow: hidden;
    }
    .voicePage .modaal-content-container .modal_inner .txtBox {
        width: 100%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 540px) {
    .voicePage .modaal-content-container .modal_inner .photoBox {
        height: 350px;
    }
} */

/* ---------------------------------
ご家族様の声・メモリアルグッズ一覧 ※「メモリアルグッズ一覧」には関与していないかも？6.27
--------------------------------- */
.modaal-container {
  border-radius: 30px;
}

.modaal-content-container {
  padding: 20px;
}

.modaal-close {
  position: absolute;
  top: -60px;
  right: 0;

  &:after,
  &:before {
    background: #ccc;
  }

  &:focus:after,
  &:focus:before,
  &:hover:after,
  &:hover:before {
    background: #cdb336;
  }
}

.modal_list {
  display: block;
  width: 100%;
  margin: 0 auto 40px;

  @media (min-width: 600px) {
    display: flex;
    gap: 60px 2.6%;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .item {
    width: auto;
    margin: 0 0 30px;
    background: #fff;
    border-radius: 25px;
    cursor: pointer;

    @media (min-width: 600px) {
      width: 48%;
    }

    @media (min-width: 1025px) {
      width: 30%;
    }

    &:hover {
      transform: scale(1.05);
      transition: transform 0.6s ease;

      a:before {
        content: "";
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 2rem;
        font-weight: 700;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        background: rgba(244, 179, 255, 0.4);
        width: 100%;
        height: 100%;
        transition: transform 0.6s ease;
      }

      @media (max-width: 480px) {
        &:after {
          top: 3px;
          left: 3px;
        }
      }
    }

    a {
      display: block;
      color: #665e4b;
      width: 230px;
      height: 230px;
      overflow: hidden;
      box-shadow: 3px 3px 8px rgba(102, 94, 75, 0.5);
      border-radius: 50%;
      position: relative;

      &:before {
        display: none;
      }
    }

    img {
      width: 100%;
      aspect-ratio: 1;
      object-position: 50% 50%;
      object-fit: cover;
      transition: transform 0.6s ease;
      display: block;
      color: #665e4b;
      overflow: hidden;
      position: relative;
      border-radius: 25px 25px 0 0;
    }
  }

  .modalItem {
    display: none;
  }
}

.mfp-content {
  [id^="popup"] {
    width: 80%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
  }
}

.modal_inner {
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 60px 20px;
  border-radius: 10px;
  align-items: center;

  @media (min-width: 897px) {
    flex-direction: row;
    padding: 40px;
  }

  .photoBox {
    width: 90%;

    @media (min-width: 897px) {
      width: 35%;
    }
  }

  p {
    width: 90%;

    @media (min-width: 897px) {
      width: 60%;
    }
  }
}

.voiceclick {
  .txtBox {
    padding: 20px;

    p {
      margin-top: 10px;
    }
  }

  p {
    br {
      display: none;
    }
  }
}

.photoBox {
  h4 {
    font-weight: 600;
  }
}

h4.voicename {
  font-weight: 600;
}

.hidden {
  display: none;
}

button#loadMore {
  margin: 0 auto;
  width: 300px;
  height: 60px;
  color: #ffae00;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  letter-spacing: 0.08em;
  border: 3px solid #ffae00;
  border-radius: 50px;
  overflow: hidden;
  transition-duration: 0.5s;
  z-index: 1;

  &:after {
    content: " ";
    position: absolute;
    top: 0;
    height: 100%;
    width: 0;
    left: auto;
    right: 0;
    background-color: #ffae00;
    border-radius: 80px;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    z-index: -1;
  }

  &:hover {
    color: #fff;
    background-color: #ffae00;
  }
}

.no-scroll {
  overflow: hidden;
}

/*------------------------------------------------------------
    よくあるご質問
------------------------------------------------------------*/
.questionPage {
  padding-bottom: 160px;

  .question-wrap {
    padding: 80px 0 0;

    @media (min-width: 1001px) {
      padding: 0;
    }
  }

  .photoBox.fadeInUp.on {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .accordion-area {
    .answer {
      img {
        width: 100%;
        margin-top: 20px;

        @media (min-width: 1001px) {
          width: 70%;
        }
      }
    }
  }

  img {
    width: 100%;
    margin-top: 20px;

    @media (min-width: 501px) {

    }
  }
}

.questionsPage {
  .pageTitle {
    background-image: url(img/index/blog_bg.jpg);
  }
}

.questions {
  h3 {
    position: relative;
    text-align: center;
    margin: 100px 0 60px;

    @media (min-width: 1001px) {
      margin-bottom: 80px;
    }

    &::before {
      content: "";
      position: absolute;
      background: url(img/common/title-bg04.png) no-repeat center;
      background-size: contain;
      width: 320px;
      height: 130px;
      top: -51px;
      left: 50%;
      transform: translate(-50%, 0%);

      @media (min-width: 1001px) {
        width: 400px;
        height: 161px;
        top: -65px;
      }
    }
  }

  .accordion-area {
    list-style: none;
    margin: 0 auto;

    li {
      margin: 3% 0;

      @media (min-width: 1001px) {
        margin: 30px 0;
      }
    }

    section {
      border: 3px solid #fff;
      background: #ffae00;
      border-radius: 25px;
    }
  }

  h4 {
    position: relative;
    cursor: pointer;
    color: #fff;
    padding: 3% 3% 3% 31px;
    font-size: 1.6rem;
    transition: all 0.5s ease;

    @media (min-width: 501px) {
      padding-left: 60px;
      font-size: 1.8rem;
    }

    @media (min-width: 1001px) {
      padding-left: 7%;
      font-size: 2rem;
    }

    span1 {
      padding: 0 20px 0 0;
      font-size: 2rem;

      @media (min-width: 501px) {
        padding: 0 10px 0 0;
        font-size: 2rem;
      }

      @media (min-width: 1001px) {
        padding: 0 30px 0 0;
        font-size: 3rem;
      }
    }

    &::before,
    &::after {
      position: absolute;
      content: '';
      width: 15px;
      height: 2px;
      background-color: #fff;
      top: 48%;
      left: 10px;

      @media (min-width: 501px) {
        left: 20px;
      }

      @media (min-width: 1001px) {
        left: 40px;
      }
    }

    &::after {
      transform: rotate(90deg);
    }

    &.close::before {
      transform: rotate(45deg);
    }

    &.close::after {
      transform: rotate(-45deg);
    }
  }

  .answer {
    display: none;
    background: #fff;
    color: #691900;
    margin: 0 3% 3%;
    padding: 20px;
    border-radius: 20px;

    @media (min-width: 1001px) {
      padding: 3%;
    }

    span2 {
      display: block;
      line-height: 30px;
      padding: 0;
      font-size: 2rem;
      color: #ffae00;

      @media (min-width: 1001px) {
        padding: 0 10px 0 0;
        font-size: 2rem;
      }

      @media (min-width: 1001px) {
        padding: 0 30px 0 0;
        font-size: 3rem;
      }
    }

    p {
      display: inline;
    }
  }
}


/*animation部分*/
.dog-box1{
     /*アニメーションに関係ある部分*/
     position:relative;
      animation: move-to-right 2.5s linear forwards;
     /*アニメーション名：move-to-right
      どれだけの時間をかけてアニメーションするか：2.5s
      動き方の特徴：linear
      アニメーションの終わり方：forwards
     */
     /*以下はスタイリングのためのコード*/
      width:150px;
      height:150px;
      background-image:url("img/common/bg-17.png");
      background-size:cover;
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      font-size:20px;
    }
    /*アニメーションの指定*/
    /*transform:rotateZ()で要素自体が回転する
     leftで要素の移動
     
     80%・90%で少し行き過ぎた感じを出す
     100%の時に止めたいところを指定
    */
     
    @keyframes move-to-right{
      0% {
        transform:rotateZ(0);
        left:-200px;
      }
      80% {
        transform:rotateZ(370deg);
        left:220px;
      }
      90% {
        transform:rotateZ(380deg);
        left:240px;
      }
      100% {
        transform:rotateZ(360deg);
        left:200px;
      }
    }
@media (max-width:896px) {
    .dog-box1{
        width: 100px;
        height: 100px;
    }
}
/* 犬のごはん */
.dog-container {
    position: relative;
}
.dog-box2 {
    position: absolute;
    bottom: 0;
    left: 260px;
    background: url("img/common/bg-18.png") no-repeat;
    background-size: contain;
    content: "";
    width: 150px;
    height: 150px; 
}
@media (max-width: 896px) {
    .dog-box2 {
        width: 100px;
        height: 100px;
    }
}



/*------------------------------------------------------------
	メモリアルグッズ
------------------------------------------------------------*/
.goods-wrap {
    padding: 0 0 160px;
}

.special .goodsPage .comVisual {
    background: url(img/index/animal22.jpg) no-repeat center center;
    background-size: cover;
    margin: 0;
}

.special .comVisual {
    background: url(img/index/blog_bg.jpg) no-repeat center center;
    background-size: cover;
}

.txtInner .txtbg {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px;
    border-radius: 25px;
    padding: 30px;
    background: #fff;
    border: 3px solid #ff7b00;
    text-align: center;
    z-index: 2;
    position: relative;
}
.txtInner span {
    color: #ff7b00;
    font-size: 2rem;
    font-weight: 700;
    /* font-family: 'Noto Sans JP', sans-serif; */
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 2;
    padding-top: 30px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 30px;
}

.archivePage .base_width {
    margin-top:120px;
}

.pdf-wrap {
    position: relative;
    display: block;
    width: 300px;
    margin: 0 auto;
}

.pdf{
    max-width: 300px;
    width: 300px;
    margin-right: 0px;
    display: flex;
    gap: 0 10px;
    position: absolute;
    right: 0;
    top: -80px;
    cursor: pointer;
    display: block;
    /* width: 150px; */
    margin: 0 auto;
}
.pdf:hover {
    opacity: 0.4;
    transition: all .4s ease;
}
.archivePage ul.goods-list .on .pdf {
    max-width: 45px;
    margin-right: 20px;
}


/* グッズのカテゴリー一覧 */
.archivePage ul.goods-list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.archivePage ul.goods-list li {
    margin: 0 10px;
    font-size: 2rem;
    margin: 10px 0 0;
    width: 14.2%;
    text-align: center;
    position: relative;
}
.archivePage ul.goods-list li:before {
    position: absolute;
    content: "";
    background: #ff7b00;
    width: 90%;
    height: 1px;
    bottom: 1px;
    left: 5%;
    transition: 0.3s;
}
.archivePage ul.goods-list li a {
    display: inline-block;
    width: 100%;
    color: #691900;
}


.archivePage ul.style-list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.archivePage li {
    margin: 0 10px;
    /* font-size: 2rem; */
    margin: 10px 0 0;
    /* width: 14.2%; */
    text-align: center;
    position: relative;
}

/* spデザイン */
@media all and (max-width: 896px) {
.goods-wrap {
    padding: 80px 0;
} 
.archivePage ul.goods-list li {
    margin: 0 10px;
    font-size: 2rem;
    margin: 10px 0 0;
    width: 100%;
    text-align: center;
    position: relative;
}
.archivePage ul.goods-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-direction: column;
}


}
/* 各商品ページの一覧 */
.archivePage .blog_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 120px;
    justify-content: space-between;
}

.archivePage ul.blogUl {
    padding: 50px 0;
    display: flex;
    gap: 50px 3%;
    flex-wrap: wrap;
    justify-content: space-between;
}

.archivePage li.blog_li {
    width: 31%;
    border-radius: 25px;
    background: #ffaf00;
    border: 3px solid #ffae00;
    box-sizing: border-box;
}

.archivePage img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 20px 20px 0px 0px;
    width: 100%;
}

.archivePage .title-wrap {
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.6;
    padding: 20px 0;
}
.archivePage .blog_title {
    color: #fff;
}

.archivePage .blog_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 0px;
    justify-content: center;
}
@media screen and (max-width: 1024px) {
    .archivePage ul.blogUl {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .archivePage li.blog_li {
        width: 48%;
    }   
    .archivePage .blog_title {
        font-size: 1.8rem;
    } 
}

/* spデザイン */
@media all and (max-width: 599px) {
.archivePage ul.blogUl {
    padding: 50px 0;
    display: flex;
    gap: 50px 3%;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.archivePage li.blog_li {
    width: 100%;
}


.txtInner .txtbg {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px;
    padding: 20px;
    text-align: left;
    z-index: 1;
    position: relative;
}
.txtInner span {
    font-size: 1.6rem;
    font-weight: 700;
    /* font-family: 'Noto Sans JP', sans-serif; */
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 2;
	padding: 30px 0;
}


.pdf-wrap {
    padding: 0px 0px 0px 0px;
    width: 50%;
}

.pdf {
    width: 200px;
    gap: 0 10px;
    position: absolute;
    transform: translateY(-50%);
    cursor: pointer;
    display: contents;
}

.archivePage .title-wrap {
    font-size: 1.8rem;
    font-weight: 600;
}

}

@media (max-width: 500px){
    .pdf-wrap {
        padding: 0px 0px 0px 0px;
        width: 80%;
    }
}


/*------------------------------------------------------------
	メモリアルグッズ/商品紹介各ページ
------------------------------------------------------------*/
.goodsPage .goodsInnerBox {
    padding: 0;
}
.goodsPage .pageTitle.fadeInUp.on {
    background: url(img/index/animal21.jpg) no-repeat center;
    background-size: cover;
    object-fit: cover;
}
.goodsInner .rBox {
    margin-top: -14px;
    position: relative;
    margin-bottom: 50px;
}

.goodsPage .wrapper {
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: space-between;
}

.goodsPage .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.goodsPage .slider-wrap {
    border-radius: 25px;
    background: #ffe8aa;
    padding: 20px 50px;
    width: 40%;
    height: 100%;
}

.goodsPage .goodsInner .slick-prev {
    left: -10px;
    top: 50%;
    background-image: url(img/common/prev.png);
    z-index: 10;
}
.goodsPage .goodsInner .slick-next {
    right: -10px;
    top: 50%;
    background-image: url(img/common/next.png);
    z-index: 10;
}
img.slide-arrow.prev-arrow.slick-arrow {
    top: 42%;
    left: -8%;
    width: 8%;
    background-size: 15px;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
img.slide-arrow.next-arrow.slick-arrow {
    top: 42%;
    right: -8%;
    width: 8%;
    background-size: 15px;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
/* .slick-dotted.slick-slider {
    margin-bottom: 30px;
} */
.slick-dots {
    bottom: -145px;
}

.slick-dots li {
    width: 31%;
    opacity: 0.5;
}
.indexPage .slick-dots li {
    width: 100px;
    height: 100px;
    display: none;
}

ul.slick-dots {
    display: flex;
    justify-content: center;
    margin: 20px 0 0;
    flex-wrap: wrap;
    gap: 10px 3.5%;
}

.slick-active {
    opacity: 1!important;
}

.goodsPage .dlBox {
    width: 45%;
    margin: 0 0 0 20px;
}
.goodsPage .dlBox table {
    width: 100%;
}
.goodsPage .dlBox dl {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.goodsInnerBox .goods_table table {
	width: 100%;
	border-collapse:collapse;
	margin-bottom: 50px;
}
.goodsPage .dlBox th,
.goodsPage .dlBox td {
    padding: 10px 15px;
    background: #ffe8aa;
    /* border-left: 6px solid #fff1dd; */
    /* border-bottom: 6px solid #fff1dd; */
    line-height: 1.8;
}

.goodsPage .dlBox th {
    width: 35%;
    text-align: center;
}
.goodsPage .dlBox td {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.goodsPage dt {
    line-height: 2;
    font-weight: 600;
    padding: 10px 0;
    margin: 50px 0;
    color: #691900;
}
.goods-attention-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    margin-top: auto;
}
.goodsPage span1 {
    font-size: 2rem;
    font-weight: 600;
    color: #ff0000;
}

.goodsPage span2 {
    font-size: 2.5rem;
    font-weight: 600;
    color: #ff0000;
}


.goodsInner  .comMore {
    margin-bottom: 80px;
}



/* spデザイン */
@media all and (max-width: 896px) {
    .goodsPage .goodsInnerBox {
        padding: 40px 0;
    }
    .goodsPage .wrapper {
        display: flex;
        flex-direction: column;
        align-content: center;
    }

    .goodsInner .rBox {
        margin-top: 0px;
        position: relative;
        padding: 0 0px 0 0px;
        margin-bottom: 50px;
    }
    .goodsPage .slider-wrap {
        border-radius: 25px;
        padding: 48px;
        margin: 0;
        width: auto;
    }
    .goodsPage .dlBox {
        width: auto;
        margin: 20px auto;
    }
    .goodsPage .dlBox table {
        margin: 0 auto;
    }
    .goodsPage .dlBox dl {
        display: flex;
        flex-direction: column;
        height: 100%;
        align-items: center;
    }
    .goodsPage dt {
        margin: 20px 0;
    }
    .goods-attention-wrap {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: auto;
    }
    .goodsPage span1 {
        font-size: 1.8rem;
        font-weight: 600;
        color: #ff0000;
    }
}
@media all and (max-width: 500px) {
    .goodsPage .slider-wrap {
        padding: 40px;
        margin: 0;
        width: auto;
    }
}
@media all and (max-width: 450px) {
    img.slide-arrow.prev-arrow.slick-arrow {
        top: 40%;
        left: -15%;
        width: 15%;
        background-size: 15%;
        position: absolute;
        z-index: 100;
        cursor: pointer;
    }
    img.slide-arrow.next-arrow.slick-arrow {
        top: 40%;
        right: -15%;
        width: 15%;
        background-size: 15%;
        position: absolute;
        z-index: 100;
        cursor: pointer;
    }
}
/*------------------------------------------------------------
	ブログ
------------------------------------------------------------*/
ul.goods-list {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

ul.goods-list li {
    margin: 0 10px;
    font-size: 2rem;
}

ul.blogUl {
    padding: 50px 0;
}

/*------------------------------------------------------------
	会社概要
------------------------------------------------------------*/
.profilePage {
  padding-bottom: 160px;

  .profile-wrap {
    padding: 80px 0 0;

    @media (min-width: 601px) {
      padding: 80px 0;
    }
  }

  .textBox {
    background: #ffffff;
    border: 3px solid #ffae00;
    border-radius: 20px;
    overflow: hidden;
  }

  .h2title {
    font-size: 4rem;
    margin-bottom: 0;
    color: #ffffff;
    background: #ffae00;
    text-align: center;
    font-family: 'RocknRoll One', sans-serif;
    font-weight: 700;
    position: relative;
  }

  .mapInner {
    z-index: 2;
    position: relative;
  }

  iframe {
    width: 100%;
    height: 300px;

    @media (min-width: 601px) {
      height: 500px;
    }
  }

  table {
    margin: 0 auto;
    width: 100%;
    padding: 10px;

    @media (min-width: 601px) {
      padding: 30px;
    }
  }

  tr {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 3px;
    border-bottom: solid 1px #c8c7b6;

    &:last-child {
      border-bottom: none;
    }

    @media (min-width: 601px) {
      padding: 20px 10px;
    }
  }

  th {
    font-size: 1.4rem;
    line-height: 2.2rem;
    font-weight: 400;
    flex: 0 0 30%;
    text-align: center;

    @media (min-width: 601px) {
      flex: 0 0 50%;
    }
  }

  td {
    font-size: 1.4rem;
    line-height: 2.2rem;
    font-weight: 400;
    flex: 0 0 60%;
    text-align: left;

    @media (min-width: 601px) {
      flex: 0 0 50%;
    }
  }
}

/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.privacy {
  margin-bottom: 75px;

  @media (min-width: 897px) {
    margin-bottom: 200px;
  }

  .pageTitle {
    margin-bottom: 19px;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(img/index/privacy_bg.jpg) no-repeat center center / cover;

    @media (max-width: 896px) {
      padding: 28px 0 30px;
    }
  }

  #pagePath {
    @media (max-width: 896px) {
      margin-bottom: 56px;
    }
  }

  p {
    margin-bottom: 4px;
    line-height: 2.14;
    letter-spacing: 0.06em;
    font-size: 1.4rem;
    font-weight: 500;

    @media (min-width: 897px) {
      margin-bottom: 6px;
      line-height: 2.25;
      font-size: inherit;
      font-weight: inherit;
    }
  }

  h4 {
    margin-bottom: 5px;
    font-size: 2rem;

    @media (min-width: 897px) {
      margin-bottom: initial;
      font-size: initial;
      font-size: 3rem;
    }
  }

  h3.headLine02.fadeInUp.on {
    color: #ff7b00;
  }

  h5 {
    line-height: 1.5;
    margin-bottom: 0;
    font-weight: 700;
    letter-spacing: 0.06em;
    font-size: 1.6rem;
    color: #ff7b00;

    @media (min-width: 897px) {
      font-size: 2rem;
      margin-bottom: 6px;
    }
  }

  .txt01 {
    margin-bottom: 36px;

    @media (min-width: 897px) {
      margin-bottom: 65px;
    }
  }

  .txt02 {
    margin-bottom: 35px;

    @media (min-width: 897px) {
      margin-bottom: 72px;
    }
  }

  .txt03 {
    margin-bottom: 27px;

    @media (min-width: 897px) {
      margin-bottom: 35px;
    }
  }

  .txt04 {
    margin-bottom: 0;
  }
}

.wpcf7-response-output {
  display: none !important;
}

/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
.contactPage {
    padding-bottom: 160px;
}

/* comVisual_contact */
.contactPage .comVisual {
    background: url(img/index/contact_bg.jpg) no-repeat center center / cover;
}

#wpcf7-f6-p42-o1 {
    padding: 80px 0;
}

.contactPage .topTxt {
    margin: 0 0 80px;
    letter-spacing: 0.06em;
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.contactPage table {
    margin-bottom: 80px;
	width: 100%;
	border-collapse: collapse;
	word-break: break-all;
}
.contactPage th,
.contactPage td {
	padding: 28px 0 28px 58px;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #D1CFCF;
}
.contactPage th {
	padding: 20px 50px 20px 0;
	width: 29%;
	font-weight: 500;
}
.contactPage td {
    font-size: 1.3rem;
	position: relative;
}
.wpcf7c-elm-step2 td div{
    background: #FFF;
    padding: 5px 10px 5px 23px;
    border: 1px solid #ffae00;
    border-radius: 4px;
}
.contactPage th .must {
    float: left;
    width: 50px;
    margin-right: 10px;
    color: #fcf9f4;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 500;
    background: #ff7b00;
    text-align: center;
    border-radius: 5px;
    position: relative;
}
.contactPage th .any {
    float: left;
    width: 50px;
    margin-right: 10px;
    color: #ffae00;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 500;
    background: #fff;
    border: 2px solid #ffae00;
    text-align: center;
    border-radius: 5px;
    position: relative;
}
@media (max-width: 896px) {

    .contactPage th .must,
    .contactPage th .any {
        top: 0;
    }
    .contactPage th,
    .contactPage td {
	padding: 28px 0 28px 58px;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #fff;
    }

}
.contactPage td:before {
	position: absolute;
	left: 0;
	top: 27px;
	width: 1px;
	bottom: 27px;
	background: #D1CFCF;
	content: "";	
}
.contactPage td input[type="text"],
.contactPage td input[type="email"],
.contactPage td input[type="number"],
.contactPage td input[type="tel"],
.contactPage td select,
.contactPage td textarea {
	width: 100%;
	height: 58px;
	color: #212836;
	font-size: 1.3rem;
	padding: 5px 10px 5px 23px;
	-webkit-appearance: none;
	box-sizing: border-box;
	background: #fff;
    border: 1px solid #ffae00;
	border-radius: 4px;
}
.contactPage td .wid01 {
    width: 98px !important;
}
.contactPage td .ico {
    display: inline-block;
    margin-right: 10px;
	font-size: 1.6rem;
}
.contactPage td .add {
    margin-bottom: 20px;
}
.contactPage td textarea {
    height: 265px;
    resize: vertical;
    padding: 20px 10px 20px 23px;
}
.contactPage .txtP {
    margin-bottom: 45px;
    line-height: 1.9;
    text-align: center;
}
.contactPage .txtP a {
    text-decoration: underline;
}
.contactPage .txtP a:hover {
    opacity: 0.7;
}
.contactPage .agreeTxt {
    width: 460px;
    margin: 0 auto 100px;
    padding: 10px 50px;
    box-sizing: border-box;
    border: 1px solid #ffae00;
    border-radius: 5px;
}
.contactPage .agreeTxt input[type="checkbox"] {
    display: none;
}
.contactPage .agreeTxt input[type="checkbox"] ~ span {
    background: url("img/common/check_box_bg02.png") no-repeat left top 10px;
    background-size: 16px 16px;
    display: block;
    min-height: 16px;
    padding: 4px 0 6px 65px;
}
.contactPage .agreeTxt input[type="checkbox"]:checked ~ span {
    background: url("img/common/check_box_bg01.png") no-repeat left top 10px;
    background-size: 16px 16px;
}
.contactPage .submit {
    text-align: center
}
.contactPage .submit li {
    margin: 0 6px;
    display: inline-block;
    vertical-align: top;
}
.ajax-loader {
	display: none !important;
}
.contactPage .submit li .info01 {
    display: block;
    position: relative;
    background: #ffae00;
	border: 1px solid #ffae00;
}
@media (max-width: 896px) {
    .contactPage .submit li .info01 {
        display: block;
        position: relative;
        background: #ff7b00;
        border: 1px solid #ff7b00;
    }
    .contactPage .agreeTxt input[type="checkbox"] ~ span {
        display: block;
        min-height: 16px;
        padding: 4px 0 6px 30px;
    }
    
}
.contactPage .submit li .info02 {
	position: relative;
	z-index: 2;
}
.contactPage .submit li .info01:before {
    margin-top: -5px;
    position: absolute;
    right: 10px;
    top: 50%;
    width: 21px;
    height: 11px;
    /* background: url("img/common/icon05.png") no-repeat left center; */
    background-size: 21px 11px; 
    /* content: ""; */
	z-index: 3;
    transition: .3s;
	-webkit-transition: .3s;
}
.contactPage .submit li .info01:before {
    margin-top: -5px;
    position: absolute;
    right: 10px;
    top: 50%;
    width: 21px;
    height: 11px;
    background: url(img/common/icon05.png) no-repeat left center;
    background-size: 21px 11px;
    content: "";
    z-index: 3;
    transition: .3s;
    -webkit-transition: .3s;
}
.contactPage .submit li .info01:after {
	content: " ";
	position: absolute;
	top: 0;
	height: 100%;
	width: 0;
	left: auto;
	right: 0;
	background-color: #fcf9f4;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	-ms-transition-duration: 0.5s;
	-ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.contactPage .submit .back .info01:before {
    margin-top: -5px;
    position: absolute;
    right: auto;
    left: 10px;
    top: 50%;
    width: 21px;
    height: 11px;
    background: url("img/common/icon07.png") no-repeat left center;
    background-size: 21px 11px; 
    content: "";
}
.contactPage .submit li input {
    color: #fcf9f4;
    width: 258px;
    height: 48px;
    font-size: 1.6rem;
    border: 0;
    -webkit-appearance: none;
    cursor: pointer;
	background: none;
}

.contactPage .submit li input:disabled {
	cursor: default;
	pointer-events: none;
}
.contactPage .submit .back .info01 {
    background: #d0c1b7;
    border-color: #d0c1b7;
}
.contactPage .submit li.disabled .info01 {
	background: #CECECE;
	border-color: #CECECE;
}
.contactPage .submit li.disabled .info01:after {
	display: none;
}
.contactPage .errTop {
    margin-bottom: 80px;
    padding: 18px 10px;
    color: #C1272D;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    border: 3px solid #C1272D;
    background: #FCDEDD;
    text-align: center;
}
.contactPage .errTop img {
    margin: -3px 10px 0 0;
    display: inline-block;
    vertical-align: middle;
}
.contactPage .error td input,
.contactPage .error td select,
.contactPage .error td textarea {
    background: #FCDEDD;
    border: 1px solid #C1272D;
}
.contactPage .error td .errorTxt {
    margin: 2px 0 -22px;
    display: block;
    color: #DE2B2B;
    font-weight: 500;
    letter-spacing: 0.03em;
    font-size: 1.4rem;
}
.contactPage .confirmTab th,
.contactPage .confirmTab td {
    height: 60px;
}
.contactPage .confirmTab td .add {
    margin-bottom: 4px;
}

/*-------------------
	contact画像
---------------------*/

.contactPage .confirmTab th,
.contactPage .confirmTab td {
    height: 60px;
}
.wpcf7c-elm-step2 td div{
    background: #FFF;
    padding: 5px 10px 5px 23px;
    border: 1px solid #ffae00;
    border-radius: 4px;
}
.contactPage .confirmTab td .add {
    margin-bottom: 4px;
}
.contact-img{
    text-align: center;
}
.contactPage .contact-img img{
    width: 250px;
}
.contact_confirmBox{
    max-width: 500px;
    margin: 0 auto;
    color: #fff;
    font-weight: 700;
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 40px 0;
    line-height: 60px;
}
.contact_confirmBox_nyuryoku{
    text-align: center;
    width: 60px;
    height: 60px;
    background: #c1e85d;
    border-radius: 50%;
    position: relative;
}
.contact_confirmBox_kakunin1 {
    text-align: center;
    width: 60px;
    height: 60px;
    background: #d5e6ae;
    border-radius: 50%;
    margin-left: 50px;
    position: relative;
}
.contact_confirmBox_kakunin2 {
    text-align: center;
    width: 60px;
    height: 60px;
    background: #c1e85d;
    border-radius: 50%;
    margin-left: 50px;
    position: relative;
}
.contact_confirmBox_kanryo {
    text-align: center;
    width: 60px;
    height: 60px;
    background: #d5e6ae;
    border-radius: 50%;
    margin-left: 50px;
}
.contact_confirmBox_kanryo2 {
    text-align: center;
    width: 60px;
    height: 60px;
    background: #c1e85d;
    border-radius: 50%;
    margin-left: 50px;
}
.contact_confirmBox_nyuryoku::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 10px;
    border-color: transparent transparent transparent #c1e85d;
    top: 50%;
    transform: translateY(-50%);
    right: -30px;
}
.contact_confirmBox_kakunin1::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 10px;
    border-color: transparent transparent transparent #d5e6ae;
    top: 50%;
    transform: translateY(-50%);
    right: -30px;
}
.contact_confirmBox_kakunin2::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 0 7px 10px;
    border-color: transparent transparent transparent #c1e85d;
    top: 50%;
    transform: translateY(-50%);
    right: -30px;
}
.newsPage_inner {
    position: relative;

}
.newsPage_inner::before {
    position: absolute;
    top: 0;
    left: 0;
    background: url("img/common/bg-30.png") no-repeat;
    background-size: 100%;
    content: "";
    width: 550px;
    height: 300px;
    z-index: -2;
    
}
.newsPage_inner::after {
    position: absolute;
    bottom: 0;
    right: 0;
    background: url(img/common/bg-30.png) no-repeat center center;
    background-size: 500px;
    content: "";
    width: 425px;
    height: 300px; 
    z-index: -2;   
}



/*-------------------
	送信完了
---------------------*/

.thanks .title {
    margin-bottom: 32px;
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.06em;
}
.thanks .thanksTxt {
    margin-bottom: 180px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.06em;
    text-align: center;
}
.thanks .linkBtn a {
    margin: 0 auto;
    display: flex;
    height: 50px;
    justify-content: center;
    align-items: center;
    width: 256px;
    color: #fcf9f4;
    text-align: center;
    position: relative;
    background: #c1e85d;
	border: 1px solid #c1e85d;
	box-sizing: border-box;
}
.thanks .linkBtn a:before {
    margin-top: -4px;
    position: absolute;
    left: 11px;
    top: 50%;
    width: 21px;
    height: 11px;
    background: url("img/common/icon07.png") no-repeat left center;
    background-size: 21px auto;
    content: "";
	z-index: 3;
    transition: .3s;
	-webkit-transition: .3s;
}
.thanks .linkBtn .info {
	position: relative;
	z-index: 2;
}
.thanks .linkBtn a:after {
	content: " ";
	position: absolute;
	top: 0;
	height: 100%;
	width: 0;
	left: auto;
	right: 0;
	background-color: #fcf9f4;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	-ms-transition-duration: 0.5s;
	-ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
	-moz-transition-duration: 0.5s;
	-moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
@media all and (min-width: 1001px) {
	.contactPage .submit li:hover .info01:after {
        width: 100%;
        right: auto;
        left: 0;
	}
	.contactPage .submit li:hover .info01:before {
		right: -21px;
		background-image: url("img/common/icon08.png");
	}
	.contactPage .submit li.disabled:hover .info01:before {
		right: 10px;
		background-image: url("img/common/icon05.png");
	}
	.contactPage .submit li:hover input {
		color: #212836;
	}
	.contactPage .submit li.disabled:hover input {
		color: #fcf9f4;
	}
	.contactPage .submit li.back:hover .info01:before {
		left: -21px;
		background-image: url("img/common/icon14.png");
	}
	.thanks .linkBtn a:hover {
		color: #212836;
	}
	.thanks .linkBtn a:hover:before {
		background-image: url("img/common/icon14.png");
		left: -21px;
	}
    .thanks .linkBtn a:hover:after {
        width: 100%;
        right: auto;
        left: 0;
    }
}
@media all and (max-width: 1000px) {
    
    .contactPage .topTxt {
        margin: 0 0 40px;
        line-height: 1.9;
        text-align: center;
    }
    .contactPage table {
        margin-bottom: 48px;
    }
    .contactPage th,
    .contactPage td {
        float: left;
        width: 100%;
        padding: 0 0 25px;
        box-sizing: border-box;
    }
    .contactPage th {
        padding: 22px 0 10px;
        width: 100%;
        border: none;
    }
    .contactPage td:before {
        display: none;
    }
    .contactPage td input[type="text"],
    .contactPage td input[type="email"],
    .contactPage td input[type="tel"],
    .contactPage td textarea {
        height: 58px;
        font-size: 1.2rem;
        padding: 5px 10px 5px 25px;
    }
    .contactPage td {
        font-size: 1.4rem;
    }
    .contactPage td .wid01 {
        width: 124px !important;
    }
    .contactPage td .ico {
        margin-right: 7px;
    }
    .contactPage td .add {
        margin-bottom: 20px;
    }
    .contactPage td textarea {
        height: 180px;
        padding: 20px 10px 20px 25px;
    }
    .contactPage .txtP {
        margin-bottom: 23px;
        line-height: 1.85;
		font-size: 1.4rem;
    }
    .contactPage .agreeTxt {
        width: auto;
        margin: 0 auto 51px;
        padding: 14px 10px 14px 30px;
    }
	.contactPage .agreeTxt span.wpcf7-list-item {
		margin: 0 !important;
	}
    .contactPage .submit li {
        margin: 0 0 15px;
        display: block;
    }
    .contactPage .submit li:last-child {
        margin-bottom: 0;
    }
    .contactPage .submit li span:before {
        right: 17px;
    }
    .contactPage .submit li input {
        width: 100%;
        height: 60px;
    }
    .contactPage .errTop {
        margin-bottom: 18px;
        padding: 23px 10px 20px;
        font-size: 1.6rem;
        border-width: 2px;
        line-height: 1.9;
    }
    .contactPage .errTop img {
        margin: 0 auto 5px;
        display: block;
    }
    .contactPage .error td .errorTxt {
        margin: 3px 0 -19px;
        font-size: 1.1rem;
    }
    .contactPage .confirmTab th,
    .contactPage .confirmTab td {
        padding: 21px 0 7px;
        height: auto;
        line-height: 2;
    }
    .contactPage .confirmTab td {
        padding: 0 0 20px;
    }
    .contactPage .confirmTab td .add {
        margin-bottom: 4px;
    }
    .thanks .title {
        margin-bottom: 22px;
        font-size: 2.4rem;
    }
    .thanks .thanksTxt {
        margin-bottom: 37px;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1.9; 
    }
    .thanks .linkBtn a {
        margin: 0 auto;
        height: 60px;
        width: 100%;
        font-size: 1.6rem;
        max-width: 450px;
        letter-spacing: 0.06em;
    }
    .thanks .linkBtn a:before {
        left: 16px;
    }
}
@media all and (max-width: 374px) {
    .contactPage .txtP {
        margin: 0 -17px 23px;
    }
    .contactPage .agreeTxt {
        padding: 14px 5px 14px 10px;
        font-size: 1.3rem;
    }
}

.contact-form {
    margin-bottom: 25px;
    color: #ffae00;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-bottom: 120px;
    position: relative;
}
.contact-form::before {
    position: absolute;
    top: 0px;
    bottom: 0;
    right: 0;
    left: 0;
    background: url(img/common/bg-19.png) no-repeat center center;
    background-size: 60%;
    width: 100%;
    height: 100%;
    content: "";
}
@media (max-width: 896px) {
    .contact-form {
        /* background: #fff; */
    }
    .contact-form::before {
        position: absolute;
        top: 82px;
        bottom: 0;
        right: 0;
        left: 0;
        background: #fff url(img/common/bg-19.png) no-repeat center center;
        background-size: 100%;
        width: 70%;
        height: 90%;
        content: "";
        margin: 0 auto;
        border-radius: 50px;
    }
    
}
.headLine05.contact-title {
    color: #c1e85d;
    width: 400px;
    font-size: 4.5rem;
    padding-bottom: 50%;
}
@media (max-width: 896px) {
    .headLine05.contact-title {
        color: #fff;
        width: 400px;
        font-size: 4rem;
        padding-bottom: 50%;
    }
    
}
/*お知らせ・ブログ*/
.news {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}
@media (max-width: 896px) {
    .news {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
    }
    .newsPage_item.newsPage_item_widget {
        width: 100%;
    }
    
}
.singleBox {
    margin-top: 30px;
    padding: 40px;
    border-radius: 15px;
    background: #fff;
    margin-bottom: 40px;
}
@media (max-width: 896px) {
    .singleBox {
        padding: 20px;
    }
}
.newsPage_item.newsPage_item_widget {
    width: 20%;
}
@media (min-width: 897px) {
    .newsPage_item.newsPage_item_widget {
        margin-left: 20px;
    }
    
}
.widget.widget_archive {
    padding: 10px;
    background: #ffae00;
    border-radius: 25px;
    padding-left: 20px;
    padding-right: 20px;
    color: #fff;
}
.widget.widget_archive li {
    padding-left: 10px;
    border-radius: 15px;
}
.widget.widget_archive ul {
    background: #ffffef;
    border-radius: 15px;
    margin-bottom: 20px;
    padding-top: 15px;
    padding-bottom: 15px;
}

.single_txt {
    color: #492a1e;
}
.single_txt h3 {
    padding: 15px 0;
    color: #5dc1e8;
    line-height: 1.8;
}
.single_txt p {
    padding-bottom: 20px;
}
.single_txt li {
    padding-bottom: 50px;
}
.single_txt img {
    border-radius: 25px;
    width: 100%;
}

/*お知らせ一覧*/
.newsPage_inner {
  display: flex;
  flex-direction: row;  
  justify-content: space-evenly;
}
@media (max-width: 896px) {
    .newsPage_inner {
        display: flex;
        flex-direction: column-reverse;  
      }
    .newsPage_item_widget {
        width: 100%;
    }
    .widget.widget_archive {
        margin-bottom: 50px;
    }
    .newsPage_item.newsPage_item_widget {
        width: 90%;
        
    }
    .single_txt h3 {
        padding-bottom: 30px;
        padding-top: 20px;
    }
}
.newsPage_item_widget {
    width: 20%;
}
.news_date {
    color: #492a1e;
}
@media (max-width: 896px) {
    .newsPage_item_widget {
        width: 100%;
    }
    .widget.widget_archive {

    }    
    .widget-title {
        margin-bottom: 20px;
    }
    .type1 {
        position: relative;
    }
    .type1::after {
        position: absolute;
        background: url(img/common/bg-33.png) no-repeat left bottom;
        background-size: 100%;
        left: -10%;
        bottom: -110px;
        content: "";
        width: 130%;
        height: 200px;
        z-index: -5;

    }

}


.grecaptcha-badge { visibility: hidden; }
