@charset "UTF-8";

html {
    font-size: 100%;
    scroll-behavior: smooth;
}
body {
    overflow-x: hidden;
    overflow-y: auto;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    color: #4E3018;
    line-height: 1.75;
}
img {
    height: auto;
    width: 100%;
}
a {
    text-decoration: none;
    color: #4E3018;
    transition: all .7s;
    cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    display: block;
    width: 100%;
    border: 0;
    font-family: inherit;
    font-weight: inherit;
}

/*
@media screen and (min-width: 1050px),print {

    .tail-button {
        position: relative;
        padding: 12px 24px;
        background-color: #E8B493;
        color: white;
        font-weight: bold;
        border: none;
        border-radius: 10px;
        cursor: pointer;
        overflow: hidden;
    }
    
    .tail {
        position: absolute;
        right: -5px;
        top: 40%;
        width: 16px;
        height: 30px;
        background-color: #B38B6D;
        border-radius: 160% 20% 0 0;
        transform-origin: bottom center;
    }
    
    .tail.wag {
        animation: wag-tail-real 1.2s ease-in-out infinite;
    }
    
    @keyframes wag-tail-real {
        0%   { transform: rotate(0deg); }
        15%  { transform: rotate(12deg); }
        30%  { transform: rotate(-8deg); }
        45%  { transform: rotate(10deg); }
        60%  { transform: rotate(-6deg); }
        75%  { transform: rotate(5deg); }
        100% { transform: rotate(0deg); }
    }
}

/*---------------------------------------
header
----------------------------------------*/
.header {
    position: relative;
    background : #EFEAE6 url(../img/IMG_8367\ 2.jpeg) no-repeat center center / cover;
    height: 85vh;
}
.header_inner {
    padding: 120px 30px;
    margin-left: auto;
    margin-right: auto;
}
.header_ttl {
    position: absolute;
    bottom: 120px;
}
.header_ttl > span {
    display: block;
    background: rgb(245, 236, 195, .7);
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
    padding: 10px;
    max-width: 220px;
    margin-top: 6px;
    border-radius: 1rem;
}
.header_ttl > span:first-child {
    max-width: 160px;
}
.br {
    display: none;
}

.down-header_inner {
    position: relative;
    background: #FDF9EF;
    width: 154px;
    height: 154px;
    padding: 30px;
    top: -75px;
    left: 50%;
    border-radius: 50%;
    transform: translateX(-50%);
    z-index: 1000;
}
.header-logo_cow {
    text-align: center;
    border: 0;
    vertical-align: top;
}
@media screen and (min-width: 576px),print {
    .header_ttl > span {
        font-size: 20px;
        padding: 12px;
        margin-top: 6px;
        max-width: 430px;
    }
    .header_ttl > span:first-child {
        max-width: 165px;
    }
}

@media screen and (min-width: 768px),print {
    .header {
        height: 90vh;
    }
    .header_inner {
        padding: 120px 10% 170px;
    }
    
    .header_ttl { /*キャッチコピー部分*/
        position: static;
        writing-mode: vertical-rl;/*縦書き右から*/
        vertical-align: top;
        width: 100%;
    }
    .header-ttl-en {
        writing-mode: unset;/*英語版横書き*/
    }
    .header_ttl > span {
        display: inline-block;
        font-size: 28px;
        background: rgb(245, 236, 195, .7);
        padding: 10px 15px 0;
        letter-spacing: .5em;
        margin-top: 0;
        margin-left: 21px;
        position: static;
        max-width: 432px;
        border-radius: 1rem;
    }
    .br {
        display: block;
    }
}
/*---------------------------------------
gnav
----------------------------------------*/
.gnav {
    margin-top: -154px;
    background: #FDF9EF;
    height: 200px;
}

.gnav_inner {
    display: flex;
    padding-left: 30px;
    padding-right: 30px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1042px;
}
.gnav_list {
    position: relative;
}
.gnav_link:focus, .gnav_link:hover {
    color: #FED966;
}
.gnav_item {
    display: none;
}
.gnav_link {
    text-decoration: none;
    color: #4E3018;
    transition: all .7s;
    cursor: pointer;
}
.header_logo_name {
    position: absolute;
    margin-top: 35px;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1001;
}

@media screen and (min-width: 768px),print {
    .gnav {
        height: 300px;
    }
    .gnav_list {
        position: relative;
        padding-top: 120px;
    }
    .gnav_list_container {
        display: flex;
        flex: 1 33%;
        justify-content: space-around;
    }
    .gnav_item {
        display: block;
    }
    .gnav_item:nth-of-type(3) {
        margin-right: -4%;
    }
    .gnav_link {
        font-weight: 700;
    }
    .gnav_item_name {
        text-align: center;
    }
    .gnav_item4, .gnav_item5{
        display: none;
    }
    .header_logo_name {
        margin-top: 50px;
    }
}

@media screen and (min-width: 1050px),print {
    .gnav {
        height: 200px;
    }
    .gnav_item {
        display: block;
    }
    .gnav_item:nth-of-type(3) {
        margin-right: 4%;
    }
    .header_logo_name {
        position: static;
        transform: translateX(0);
    }
    .gnav_item4, .gnav_item5 {
        display: block;
    }
    .gnav_list {
        padding-top: 92px;
    }
}


/* btn
------------------------------------------------------ */
.btn {
    padding: 13px 93px;
    border-radius: 10px;
    background-color: #FED966;
    color: #4E301B;
    margin: 0 auto;
    font-size: 14px;
    font-weight: 700;
    max-width: 243px;
}
.btn2 {
    position: relative;
    padding: 10px 24px;
    background-color: #E8B493;
    color: white;
    font-weight: bold;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    overflow: hidden;
    left: 45%;
}

@media screen and (max-width: 576px),print {
    .btn2 {
        position: relative;
        padding: 10px 24px;
        background-color: #E8B493;
        color: white;
        font-weight: bold;
        border: none;
        border-radius: 10px;
        cursor: pointer;
        overflow: hidden;
        left: 35%;
    } 
}

.btn:focus, .btn:hover {
    color: #fff;
    background: #4E301B;
    transition: 0.5s;
}
  
.btn_center {
    margin-top: 50px;
}
  
.btn_action {
    display: block;
}
  
#submit:disabled {
    background: linear-gradient(90deg, #808080, #808080);
    color: #fff;
    cursor: pointer;
}


/*---------------------------------------
hamburger
----------------------------------------*/
.hamburger {
    position: fixed;
    width: 50px;
    height: 50px;
    right: 10px;
    top: 20px;
    background: #FED966;
    transition: .3s;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10001;
    margin-left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, .16);
}
.hamburger_line {
    position: relative;
    width: 18px;
    height: 2px;
    background: #4E301B;
}
.hamburger_line::before,
.hamburger_line::after {
    position: absolute;
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    background: #4E301B;
    transition: transform .3s;
}
.hamburger_line::before {
    top: -5px;
}
.hamburger_line::after {
    bottom: -5px;
}
/*閉じる*/
.hamburger[aria-expanded=true] .hamburger_line {
    background: transparent;
}
.hamburger[aria-expanded=true] .hamburger_line::before {
    top: 0;
    transform: rotate(45deg);
}
.hamburger[aria-expanded=true] .hamburger_line::after {
    bottom: 0;
    transform: rotate(-45deg);
}

@media screen and (min-width: 768px),print {
    .hamburger {
        display: none;
    }
}

/*------------
spmenu
--------------*/

.spmenu {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    overflow-x: hidden;
    overflow-y: auto;
    max-width: 100vw;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255,1);
    overflow: auto;
}

@media screen and (min-width: 768px),print {
    .spmenu {
        display: none!important;
    }
}

.spmenu_inner {
    padding: 60px 15px;
    text-align: center;
}
.spmenu_logo_cow {
    width: 55px;
    height: 55px;
}
.spmenu_logo_name {
    margin: 0 auto;
}
.spmenu_list {
    margin-top: 35px;
}
.spmenu_item {
    padding-top: 15px;
    font-size: 16px;
    font-weight: 700;
}
.spmenu_link:focus,
.spmenu_link:hover {
    color: #FED966;
}

/*---------------------------------------
section
----------------------------------------*/
.section_inner {
    padding-top: 90px;
    padding-bottom: 90px;
    margin-left: auto;
    margin-right: auto;
}

.section_inner_lg {
    max-width: 1059px;
}
.section_inner_md {
    max-width: 934px;
}
.section_inner_sm {
    max-width: 740px;
}

._cream-bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    background: #FDF9EF;
}
  
._gray-bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    background: #D9D9D9;
}
  
.section_ttl {
    font-size: clamp(28px, 2.8vw, 32px);
    font-weight: bold;
    text-align: center;
}
  
.section_ttl_67 + * {
    margin-top: 67px;
}
  
.section_ttl_75 + * {
    margin-top: 75px;
}
  
.section_ttl_90 + * {
    margin-top: 90px;
}


/*---------------------------------------
logo
----------------------------------------*/
.logo_cow {
    width: 96px;
    height: 96px;
    display: block;
}
.logo_name {
    width: 300px;
    height: 100px;
    display: block;
}

/*---------------------------------------
middle_pic
----------------------------------------*/
.middle_pic {
    position: relative;
    margin-left: auto;
}
.insert_pic {
    position: absolute;
    z-index: 1000;
    top: -50px;
}
.insert_pic_r {
    right: 0;
    display: block;
}
.insert_pic1 {
    width: 142px;
    height: auto;
}
.insert_pic2 {
    width: 123px;
    height: auto;
}
.insert_pic3 {
    width: 132px;
    height: auto;
}

@media screen and (min-width: 768px),print {
    .insert_pic {
        top: -80px;
    }
    .insert_pic1 {
        width: 197px;
        height: auto;
    }
    .insert_pic2 {
        width: 197px;
        height: auto;
    }
    .insert_pic3 {
        width: 197px;
        height: auto;
    }
}

/*---------------------------------------
element
----------------------------------------*/
.element {
    opacity: 0;
    visibility: hidden;
    transform: translateX(30px);
    transition: opacity 1s, visibility 1s, transform 1s;
}
.is-fadein {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
}

/*---------------------------------------
loading
----------------------------------------*/
#loadingWrap {
    width: 100%;
    height: 100vh;
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10005;
}
#loading {
    width: 5em;
    height: 5em;
    border-top: 1em solid rgba(255, 255, 255, 0.2);
    border-right: 1em solid rgba(255, 255, 255, 0.2);
    border-bottom: 1em solid rgba(255, 255, 255, 0.2);
    border-left: 1em solid white;
    -webkit-animation: loaderAnime 1s infinite linear;
            animation: loaderAnime 1s infinite linear;
    border-radius: 50%;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 11;
}
  
@-webkit-keyframes loaderAnime {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
}
  
@keyframes loaderAnime {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
}
.loadingNone {
    -webkit-animation: loadingAnime 1s forwards;
            animation: loadingAnime 1s forwards;
    display: none;
}
  
@-webkit-keyframes loadingAnime {
    0% {
      opacity: 1;
    }
    99% {
      opacity: 0;
    }
    100% {
      opacity: 0;
      display: none;
    }
}
  
@keyframes loadingAnime {
    0% {
      opacity: 1;
    }
    99% {
      opacity: 0;
    }
    100% {
      opacity: 0;
      display: none;
    }
}

/*---------------------------------------
home
----------------------------------------*/
.home_inner {
    padding: 50px 15px 90px 15px;
    box-sizing: content-box;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width: 768px),print {
    .home_inner {
        padding: 50px 15px 188px 15px;
    }
}
.home_inner_ttl {
    text-align: center;
}
.home_ttl {
    display: inline-block;
    font-size: clamp(30px, 2.8vw, 40px);
    color: #b66e3b;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 10px;
    line-height: 1.45;
}
.home_txt {
    display: inline-block;
    font-size: clamp(14px, 2.8vw, 16px);
    font-weight: 700;
    color: #857868;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 15px;
    margin-top: 30px;
    line-height: 2.5;
}
.home_txt .br {
    display: none;
}
.home_inner > figure {
    text-align: right;
}
.home_main_pic {
    width: 100%;
    margin-top: 50px;
    border-radius: 150px;
}
.home_sub_pic {
    width: 60%;
    max-width: 393px;
    border-radius: 50px;
    margin-top: -50px;
}


@media screen and (min-width: 768px),print {
    .home_inner_ttl {
        text-align-last: left;
    }
    .home_ttl {
        position: relative;
        font-size: 28px;
        z-index: 100;
    }
    .home_txt {
        z-index: 100;
        position: relative;
    }
    .home_txt .br {
        display: block;
    }
    .home_inner > figure {
        position: relative;
    }
    .home_main_pic {
        width: clamp(500px, 74%,640px);
        overflow: hidden;
        margin-top: 0;
        position: absolute;
        top: -720px;
        right: 0;
    }
    .home_sub_pic {
        width: clamp(300px, 74%, 393px);
        overflow: hidden;
        position: absolute;
        top: -200px;
        right: 0;
    }
}
@media screen and (min-width: 1050px),print {
    .home_ttl {
        margin-left: 20px;
    }
    .home_txt {
        margin-left: 20px;
    }
    .home_sub_pic {
        top: -100px;
    }
}
@media screen and (min-width: 1200px),print {
    .home_main_pic {
        overflow: hidden;
        margin-top: 0px;
        position: absolute;
        top: -700px;
        right: -100px;
    }
    .home_sub_pic {
        overflow: hidden;
        position: absolute;
        top: -100px;
        right: -100px;
    }
}

/*---------------------------------------
product
----------------------------------------*/
.product-inner {
    padding-bottom: 90px;
}
.swiper {
    overflow: hidden;
    padding-bottom: 50px;
}
.swiper-wrapper {
    display: flex;
}
.swiper-slide:not(.swiper-slide-visible) .slide {
    pointer-events: none;
    opacity: 0.3;
}
.swiper-slide {
    width: 264px;
    height: 331px;
    max-width: 264px;
    max-height: 330px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
}
.swiper-slide figure img {
    width: 264px;
    height: 166px;
    display: block;
    width: 100%;
    -o-object-fit: cover;
     object-fit: cover;
}
.swiper-slide__textbox-heading {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    padding: 14px;
}

.swiper-slide__textbox-desk {
    font-size: 16px;
    font-weight: 400;
    padding: 14px;
    margin-top: auto;
}

/*---------------------------------------
announce
----------------------------------------*/
.announce_container {
    max-width: 934px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.announce_item {
    display: flex;
    line-height: 1.44;
    align-items: center;
    border-top: 1px solid #c6c6c6;
    padding: 22px 0;
    font-weight: 400;
}
.announce_item:last-child {
    border-bottom: 1px solid #c6c6c6;
}
.announce_date {
    position: relative;
    font-size: 14px;
    float: left;
	clear: left;
    margin-right: 0.5em ;
    width: 250px;
    padding-left: 30px;
}
.announce_txt {
    font-size: 16px;
    float: left ;
	margin-left: 1em ;
}

@media screen and (max-width: 768px), print {
    .announce_date {
        max-width: 130px;
    }
}
/*-------------------------------------------
Flow
-------------------------------------------*/
#flow p {
    margin-bottom: 60px;
}
#flow .step {
    display: flex;
}
.flow-h2 {
    font-weight: bold;
    font-size: 24px;
    text-align: center;
    margin-bottom: 15px;
    padding-left: 15px;
    padding-right: 15px;
}
.flow-txt {
    text-align: center;
    padding-left: 15px;
    padding-right: 15px;
}
/*
丸数字を作成
「position」を使用して、タイトルの左側に配置
*/
.description dt span {
    display: block;
    position: absolute;
    top: -40%;
    left: -10px;
    color: #fff;
    background-color: rgb(240, 196, 100);
    border-radius: 50%;
    width: 35px;
    height: 35px;
    text-align: center;
    line-height: 35px;
    font-size: 1rem;
}

@media screen and (max-width: 768px), print {
    .description dt span {
        top: -10%;
        width: 25px;
        height: 25px;
        line-height: 25px;
        font-size: .9rem;
    }
}
.description dd {
    margin-bottom: 43px;
}
.description dd:last-child {
    margin-bottom: 0;
}

/*---------------------------------------
faq
----------------------------------------*/
.faq_container {
    text-align-last: left;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}
.faq_container dt:not(:first-child) {
    margin-top: 31px;
}
.faq_question {
    display: flex;
    align-items: center;
    color: #4E301B;
    background-color: #fff;
    padding: 12px 20px 12px 14px;
    cursor: pointer;
}
.faq_question .faq_q_icon {
    font-size: 24px;
    font-family: Roboto;
    vertical-align: middle;
    line-height: 24px;
    flex-shrink: 0;
}
.faq_question .faq_q_txt {
    font-size: clamp(16px, 2.8vw, 18px);
    font-weight: 700;
    margin-left: 8px;
    flex-grow: 1;
}
.faq_action {
    flex-shrink: 0;
    position: relative;
    display: block;
    width: 16px;
    height: 10px;
    margin-left: auto;
}
.faq_action::after {
    position: absolute;
    margin: auto;
    border-top: 2px solid #C6C6C6;
    border-right: 2px solid #C6C6C6;
    height: 8px;
    display: block;
    content: "";
    left: 0;
    top: 0;
    transform: rotate(135deg);
    transition: transform 0.3s ease-in-out, top 0.3s ease-in-out;
    width: 8px;
}
.faq_question[aria-expanded=true] .faq_action {
    left: -8px;
    transform: rotate(180deg);
}
/*スクリーンリーダーから隠す*/
.visually_hidden {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    border: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    margin: -1px;
}
.accordion_panel {
    text-align: left;
    /*display: none;*/
}
.faq_answer {
    font-size: 16px;
    line-height: 24px;
    margin-top: 24px;
}
.accordion_panel {
    display: none;
}
/*---------------------------------------
access
----------------------------------------*/
.access_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
}
.access_container_body {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #C6C6C6;
    font-size: clamp(14px, 2.8vw, 18px);
    font-weight: 700;
}
.access_container_body dt {
    width: 40%;
    padding: 20px 0;
    border-top: 1px solid #C6C6C6;
}
.access_container_body dt:nth-of-type(5) {
    display:flex;
    align-items: center;
}
.access_container_body dt:nth-of-type(6) {
    display:flex;
    align-items: center;
}
.access_container_body dd {
    width: 60%;
    padding: 20px 0;
    border-top: 1px solid #C6C6C6;
}
.map {
    margin-top: 50px;
    width: 100%;
    height: auto;
    overflow: hidden;
}
iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 12/9;
    display: block;
}

@media screen and (min-width: 768px), print {
    .access_container  {
    flex-direction:row;
    align-items: center;
    }
    .access_container_body {
        margin-right: 3.4%;
    }
    .map {
        margin-top: 0;
        
    }
}

/*---------------------------------------
contact
----------------------------------------*/
.contact_inner {
    text-align: center;
    margin: 0 auto;
    padding: 90px 20px 70px 20px;
}
@media screen and (min-width: 768px), print {
    .contact_inner {
        padding-top: 105px;
        padding-bottom: 30px;
    }
}

.contact .br {
    display: block;
}
.contact_txt {
    font-size: clamp(14px, 2.8vw, 18px);
    font-weight: 700;
    margin: 47px 0 47px;
}
form {
    background-color: #FFFFFF;
    border-radius: 20px;
}
#form {
    padding: 37px 30px 43px;
}
.form_ttl {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 44px;
}
.contact_container {
    margin: 40px 0;
    text-align: left;
}
.input_field {
    display: flex;
    flex-direction: column;
}
.input_field label {
    display: block;
    flex: 1;
    text-align: left;
    cursor: pointer;
}
.input_field label:not(.radio_wrap_item label) {
    font-weight: 700;
}
.input_field .radio_wrap,
.input_field input[type=text],
.input_field input[type=email],
.input_field input[type=tel],
.input_field textarea {
    display: block;
    margin-top: 15px;
    width: 100%;
    cursor: pointer;
}
.input_field input[type=text],
.input_field input[type=email],
.input_field input[type=tel],
.input_field textarea {
    background-color: #EFEAE6;
    border-radius: 5px;
    padding: 6px 10px;
    font-size: 16px;
    border: 1px solid transparent;
}
.input_field textarea {
    resize: none;
}
.require {
    font-size: 14px;
    background: #FED966;
    padding: 5px 11px;
    margin-left: 18px;
    border-radius: 10px;
    flex-shrink: 0;
}
.radio_wrap {
    display: flex;
    flex-direction: column;
}
.radio_wrap_item {
    font-weight: 400;
}

/*ラジオボタン*/
input[type^=radio] + label {
    display: inline-block;
    position: relative;
    padding: 5px 0 5px 23px;
}
input[type^=radio] + label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 16px;
    height: 16px;
    border: 2px solid #4E301B;
    border-radius: 50%;
    background: #fff;
}
input[type^=radio] + label::after {
    content: "";
    display: none;
}

input[type^=radio]:checked + label::before {
    background: #4E301B;
}
input[type^=radio]:checked + label::after {
    display: block;
    position: absolute;
    background: #fff;
    width: 4px;
    height: 4px;
    top: 50%;
    transform: translateY(-50%);
    left: 6px;
    border-radius: 50%;
    margin: 0;
    padding: 0;
    line-height: 1;
}
input[type^=radio] {
    opacity: 0;
    position: absolute;
}
#contact_post {
    max-width: 157px;
    margin-right: 155px;
}

/*エラー時*/
.is-error .input-field input[type=text],
.is-error .input-field input[type=email],
.is-error .input-field input[type=tel],
.is-error .input-field textarea {
    color: #F7320E;
    border-color: #F7320E;
}
.error_txt {
    display: none;
    margin-top: 16px;
    color: #F7320E;
    font-weight: bold;
}
  
.is-error .error_txt {
    display: block;
}
  
.error_txt::before {
    content: "";
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    margin-right: 0.2em;
    background: url(../../img/ico_attention.svg) center center/contain no-repeat;
    vertical-align: middle;
}
  
.end_message {
    display: none;
    margin-top: 26px;
    font-weight: bold;
}
  
.false_message {
    display: none;
    margin-top: 26px;
    color: #F7320E;
    font-weight: bold;
}


@media screen and (min-width: 768px), print {
    .contact .br {
        display: none;
    }
    .contact_txt {
        margin: 67px 0 97px;
    } 
    #form {
        padding: 37px 76px 43px;
    }
    .contact_container {
        margin: 24px 0;
    }
    .input_field {
        flex-direction: row;
        justify-content: space-between;
        text-align: left;
    }
    .input_field .radio_wrap,
    .input_field input[type^=text],
    .input_field input[type^=email],
    .input_field input[type^=tel],
    .input_field textarea {
        width: 57%;
        margin-top: 0;
    }
}

/* thanks
-------------------------------------*/
.contact_thanks {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background: url(img/);
    background: url(../../img/fv.jpg) no-repeat center center/cover;
}
  
.thanks_txt {
    text-align: center;
    margin-top: 60px;
    font-weight: bold;
    font-size: 16px;
}
  
.contact_thanks {
    margin-top: 30px;
    font-weight: bold;
    font-size: 16px;
}
  
.thanks_inner {
    padding-top: 200px;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background: rgba(255, 255, 255, 0.9);
}


@media screen and (min-width: 768px), print {
  .thanks_inner {
    padding-top: 300px;
  }
}
/*---------------------------------------
footer
----------------------------------------*/
.footer_inner {
    padding: 25px 15px 0 15px;
}
.footer_logo {
    text-align: center;
}
.footer-logo_cow,
.footer-logo_name {
    margin: 0 auto;
}
.ftmenu_list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
}
.ftmenu_item {
    margin-top: 15px;
    line-height: 23.17px;
    flex-shrink: 0;
}
.ftmenu_link {
    font-size: 16px;
    font-weight: 700;
}
.ftmenu_link:focus,
.ftmenu_link:hover {
    color: #FED966;
}
.footer_pic1 {
    text-align: left;
}
.footer_pic1 .footer_img1 {
    width: 142px;
    height: auto;
    margin-left: -15px;
    margin-bottom: -28px;
}
.footer_pic2 {
    text-align: right;
}
.footer_pic2 .footer_img2 {
    width: 137px;
    height: auto;
    margin-right: -15px;
    margin-top: -280px;
    vertical-align: bottom;
}

.footer-s_inner {
    text-align: center;
    line-height: 60px;
}
.footer-s_inner,
.copyright small {
    font-size: 16px;
    background: #D9D9D9;
}
@media screen and (min-width: 576px), print {
    .footer_pic1 .footer_img1 {
      width: 197px;
    }
    .footer_pic2 .footer_img2 {
      width: 197px;
    }
}
@media screen and (min-width: 768px), print {
    .footer_inner {
        text-align: center;
    }
    .ftmenu_list {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0px;
        padding: 0 27.4%;
        flex-wrap: wrap;
    }
    .ftmenu_item {
        margin-top: 33px;
        width: calc((100% - 20px) / 2);
    }
    .footer_pic1 .footer_img1 {
        margin-top: -70px;
        width: 197px;
    }
    .footer_pic2 .footer_img2 {
        margin-top: -232px;
        width: 197px;
    }
}
@media screen and (min-width: 1050px), print {
    .ftmenu_item {
        margin-left: 0%;
        width: initial;
    }
    .ftmenu_list {
        flex-wrap: nowrap;
        padding: 0 16%;
    }
}


/*---------------------------------------
thanks.html
----------------------------------------*/
.thanks_container {
    width: 100%;
    height: 432px;
    text-align: center;
}
.thanks_ttl1 {
    font-size: 24px;
    padding-top: 90px;
    font-weight: 700;
}
.thanks_txt1 {
    font-weight: 700;
    padding: 60px;
}
.thanks_inner2 {
    background: #fff;
    width: 500px;
    display: inline-block;
}
.thanks_ttl2 {
    font-weight: 700;
    padding: 25px;
}
.thanks_txt2 {
    color: #35A1C3;
    padding-bottom: 25px;
}

/*---------------------------------------
service.html
----------------------------------------*/
/*
display: inline-block;
下線をテキスト幅にあわせる
*/
.item-ttl {
    font-size: 1.8rem;
    display: inline-block;
    margin-bottom: 30px;
    border-bottom: solid 6px #ebc064;
    font-weight: bold;
}

.menu-content {
    display: flex;
    padding: 45px 0;
}
.menu-item {
    width: 50%;
    padding: 0 45px;
}
.menu-item:first-child {
    border-right: 1px solid #000;
}

.menu-item dl {
    display: flex;
    flex-wrap: wrap;
}
.menu-item dt {
    width: 87%;
    text-align: left;
    border-bottom: 1px dotted #000;
    margin-bottom: 25px;
}
.menu-item dd {
    width: 13%;
    text-align: right;
    padding-top: 8px;
}
.menu-item .sitter {
    margin-bottom: 55px;
}
.menu-item .food {
    margin-bottom: 55px;
}

.caution {
    margin-top: 20px;
}
.caution2 {
    padding: 30px 15px;
    margin: 30px;
    border-top: #b66e3b dashed;
    border-bottom: #b66e3b dashed;
}
.caution3 {
    padding: 30px 45px 0 45px;
}
.caution4 {
    padding: 0 15px 30px 15px;
    margin: 30px;
    border-bottom: #b66e3b dashed;
}
.caution3txt {
    font-size: 1.4em;
    color: #b66e3b;
}

@media screen and (max-width: 767px) {
    .site-ttl {
        top: 42%;
    }

    .sec-ttl {
        font-size: 2rem;
        top: 26%;
    }
    .item-ttl {
        font-size: 1.25rem;
        padding-top: 40px;
    }
    .fixed-bg {
        height: 94px;
        /* スマホ時は背景をスクロールするように変更 */
        background-attachment: scroll;
    }
    .wrapper {
        padding: 20px 16px 20px 16px;
    }
    /*------------------
    menu
    -------------------*/
    .menu-content {
        flex-direction: column;
    }
    .menu-item {
        width: 100%;
        padding: 20px;
    }
    .menu-item:first-child {
        border-right: none;
        margin-bottom: 10px;
    }
    .menu-item .food {
        margin-bottom: 10px;
    }
}


/* thanks
------------------------------------------------------ */
.contact__thanks {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background: url(img/);
    background: url(../../img/fv.jpg) no-repeat center center/cover;

}

.thanks_txt {
    text-align: center;
    margin-top: 60px;
    font-weight: bold;
    font-size: 16px;
}

.contact-thanks {
    margin-top: 30px;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}

.thanks-inner {
    padding-top: 200px;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background: rgba(255, 255, 255, 0.9);

}

@include medium {
    .thanks-inner {
        padding-top: 300px;
    }
}

