@charset "utf-8";
/* CSS Document */

body {
    font-family:  "Zen Kaku Gothic New", "Zen MaruGothic 6Bold",sans-serif;  
    /* -webkit-text-size-adjust: 100%; */
	/* text-size-adjust: 100%; */
}

img {
    max-width: 100%;
    min-width: 10px;
    height: auto;
}

ul {
    list-style: none;
}

a {
    text-decoration:none;
    color: black;
}

.wrap {
    max-width: 1200px;
    display: flex;
    margin: 0 auto;
    padding: 2% 2% 0% 2%;
}

/* ----------header logo（固定）　始まり---------- */
header {
    width: 200px; /* サイドバーの幅 */
    height: 100vh; /* ビューポートの高さをフルで使用 */
    position:fixed;
    top: 3%;
    left:10%;
    z-index: 2;
    /* ヘッダーと重ならないように固定 */
    /* position: sticky;  */
}

header .logo {
    width: 140px;
    height: 140px;
    max-width: 100%;
    border: #f95f30 1px solid; 
    background-color: #f95f30;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 20%;
}

header .logo p {
    margin: 0 auto;
    text-align: center;
    color: #ffffff;
    line-height: 1.7;
    letter-spacing: 0.1em;
}

header .sub_title {
    font-size: 15px;
}

header .main_title {
    font-size: 23px;
}

header .subsub_title {
    font-size: 9px;
}
/* ----------header logo（固定）　終わり---------- */

@media (max-width: 820px) {
    header {
        width: 100%;
        height: 150px;
        background-color: #ffffff;
        top: 0;
        left: 0;
        padding-left: 8%;
        padding-top: 5%;
        padding-bottom: 5%;
    }

    .information_wrap header {
        /* background-color: #FFEEBD; */
    background-color: #fDffD5;

    }
    
    header .logo {
        width: 100px;
        height: 100px;
    }

    header .logo p {
        line-height: 1.7;
        letter-spacing: 0.15em;
    }
    
    header .sub_title {
        font-size: 10px;
    }
    
    header .main_title {
        font-size: 16px;
    }
    
    header .subsub_title {
        font-size: 6px;
    }  
}

@media (max-width: 428px) {
    header {
        width: 100%;
        height: 90px;
        padding-bottom: 4%;
        left: 0;
        padding-left: 7%;
    }

    header .logo {
        width: 70px;
        height: 70px;
    }

    header .logo p {
        line-height: 1.8;
        letter-spacing: 0.15em;
    }
    
    header .sub_title {
        font-size: 7px;
    }
    
    header .main_title {
        font-size: 10px;
    }
    
    header .subsub_title {
        font-size: 4px;
    }   
}

/* ---------header nav（固定）　始まり---------- */
header nav {
    width: 200px;
    margin-left: 6%;
    line-height: 3.5;
}

header nav p {
    /* color: #f95f30; */
    color: #67514D;
    font-size: 14px;
    letter-spacing: 0.1em;
    font-weight: bold;
}

header nav .etext {
    font-size: 14.5px;
}

header .instagram {
    display: flex;
    align-items: center;
    height: 49px;
}

header .mobile_navigation {
    display: none;
}

header .pc_navigation {
    display: block;
}

@media (max-width: 820px) {
    header .pc_navigation {
        display: none;
    }

    header .mobile_navigation {
        display: block;
    }   

    header nav p {
        font-size: 13px;
    }

    header nav .etext {
        font-size: 13.5px;
    }       
}

@media (max-width: 428px) {
    header nav {
    line-height: 3.5;
    }


    header nav p {
        font-size: 12px;
    }

    header nav .etext {
        font-size: 12.5px;
    }
}
/* ---------header nav（固定）　終わり---------- */


/* https://nnc-studio.jp/plugin/2024/10/22/hamburger/ */
@media (max-width: 820px) {
    .menu {
        position: fixed;
        top: 0;
        right: -100%; /* 初期状態では画面の外に隠れている */
        /* width: 300px; */
        width: 100%;
        height: 100%;
        /* background-color: #f7f4e2; */
        background-color: #D1CAC9;
        opacity: 0.9;
        /* color: #f50a0a; */
        transition: right 0.5s ease; /* スライドインのアニメーション */
        padding: 20px;
        box-sizing: border-box;
        z-index: 10;
      }
      
      /* メニューが開いているとき */
      .menu.open {
        right: 0;
      }
      
      /* ボタンのスタイル */
      .hamburger {
        position: fixed;
        top: 20px;
        right: 20px;
        width: 30px;
        cursor: pointer;
        z-index: 20;
      }
      
      .hamburger span {
        display: block;
        height: 3px;
        width: 100%;
        /* background-color: #f95f30; */
        /* background-color: #ffff00; */
        /* background-color: #fcf600; */
        /* background-color: #f8f200; */
        /* background-color: #f5E401; */
        background-color: #f6D900;
        margin: 5px 0;
        transition: 0.4s;
      }
      
      /* バツ印に変化するスタイル */
      .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
      }
      
      .hamburger.active span:nth-child(2) {
        opacity: 0;
      }
      
      .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(6px, -6px);
      }
      
      /* メニューリストのスタイル */
      .menu ul {
        list-style-type: none;
        padding: 0;
        /* margin-top: 80px; */
        margin-top: 25px;
      }
      
      .menu li {
        padding: 7px 0;
        /* border-bottom: 1px solid #444; */
      }
      
      .menu li a {
        color: #333;
        text-decoration: none;
        display: block;
      }
        }

/* ---------footer　始まり---------- */
footer p {
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    color: #f95f30;
}

@media (max-width: 820px) {
    footer {
    margin-top: 10%;
    }
}

@media (max-width: 428px) {
    footer p {
    font-size: 11px;
    }
}
/* ---------footer　終わり---------- */

/* ----------top　始まり---------- */
.exception .wrap {
    padding: 2% 1% 0% 1%;
}

.top {
    max-width: 1000px;
    margin: 0 auto;
    margin-left: 250px;
    position: relative;
    /* ヘッダーと重ならないように */
    flex-grow: 1;
} 

.top img {
    max-width: 100%;
    width: 800px;
    height: auto;
}

.top .pc_line {
    display: block;
    width: fit-content;
    margin: 0 auto;
}

.top .mobile_line {
    display: none;
}

.top .slogan {
    position: absolute;
    top: 15%;
    width: 100%;
}

.top .slogan p {
    font-size: min(1.8vw, 13px);
    text-align: right;
    margin-right: 11%;
}

.top .message {
    position: absolute;
    top: 70%;
    left: 7%;
}

.top .message p {
    text-align: center;
    line-height: 1.6;
}

.top .topfoot {
    display: block;
    position: absolute;
    top: 97%;
    left: 35%;
}

.mobile_foot {
    display: none;
}

@media (max-width: 820px) {
    .exception .wrap {
        padding: 5% 5% 0% 5%;
    }
    
    .top {
        width: fit-content;
        margin: 0 auto;
        margin-top: 25%;
        padding: 0% 5%;
    }

    .top .pc_line img { 
        margin-left: 8%;
    }
    
    .top .slogan {
        top: 13%;
    }

    .top .slogan p {
        font-size: min(1.8vw, 10px);
        margin-right: 9%;
    }

    .top .message {
        font-size: 15px;
        /* margin-left: 2%; */
        left: 10%;
        top: 60%
    }

    .top .topfoot {
        display: none;
    }

    .mobile_foot {
        display: block;
        margin-top: 10%;
    }
}

@media (max-width: 428px) {
    .top .pc_line {
        display: none;
    }

    .top .mobile_line {
        display: block;
    }

    .top {
        margin-top: 35%;
    }
    
    .top .slogan {
        top: 8%;
    }

    .top .slogan p {
        font-size: min(1.5vw, 8px);
    }

    .top .message {
        left: auto;
        margin-left: 1%;
        font-size: 11px;
        top: 70%;
    }

    .top .noturnback {
        white-space: nowrap;
    }

    .mobile_foot {
        margin-top: 50%;
    }

}
/* ----------top　終わり---------- */

/* ----------各ページタイトル navname　始まり---------- */
.navname {
    color: #67514D;
    letter-spacing: 1.5px;
    font-size: 18px;
    margin: 5% 0% 7%;
    font-weight: bold;   
}

.cook .navname {
    margin-bottom: 3%;
}

.craft .navname {
    margin-bottom: 3%;
}

.contact .navname {
    font-size: 20px;
}

.about .navname {
    margin-bottom: 3%;
    font-size: 20px;
}

.profile .navname {
    font-size: 20px;
}
/* ----------各ページタイトル navname　終わり---------- */

/* ----------各ページ main　始まり---------- */
.cook, .craft, .calendar, .contact, .thanks, .journal, .about, .archive, .information, .privacypolicy, .profile {
    max-width: 1000px;
    /* width: 90%; */
    margin: 0 auto;
    margin-left: 250px;
    padding: 2% 2% 0% 2%;
    /* margin-bottom: 10%; */
    /* ヘッダーと重ならないように */
    flex-grow: 1;
}

.orangedot{
    text-decoration: underline;
    text-decoration-style: dotted; /* 下線のスタイルを点線（ドット）に変更 */
    line-height: 2.0;
    text-underline-offset: 5px;
    color: #f95f30;
    font-weight: bold;
}

@media (max-width: 820px) {
    .cook, .craft, .calendar, .contact, .thanks, .journal, .about, .archive, .information, .privacypolicy, .profile {
        margin: 0 auto;
        margin-top: 20%;
        /* margin-right: 10%; */
        padding: 7% 7% 0% 7%;
        font-size: 15px;
    }
}

@media (max-width: 428px) {
    .cook, .craft, .calendar, .contact, .thanks, .journal, .about, .archive, .information, .privacypolicy, .profile {
        margin-top: 30%;
        font-size: 12px;
        padding: 5% 5% 0% 5%;
    }

    .navname {
        font-size: 14px;
    }

    .contact .navname {
        font-size: 16px;
    }

    .about .navname {
        font-size: 16px;
    }

    .profile .navname {
        font-size: 16px;
    }
    .place .navname {
        font-size: 16px;
    }
}
/* ----------各ページ main　終わり---------- */

/* ----------cook　始まり---------- */
.cook .text {
    margin-top: 3%;
    margin-bottom: 5%;
    line-height: 1.6;
}

.cook .text p {
    margin-bottom: 3%;
}

.cook .text .pc {
    display: block;
}

.cook .text .mobile {
    display: none;
}


.cook .pc_photo {
    display: block;
    display: flex;
    gap: 5%;
    margin-left: 5%;
}

.cook .mobile_photo {
    display: none;
}

.cook .container {
    margin-left: 3%;
    line-height: 1.8;
    margin-top: 5%;
    margin-bottom: 6%;
}

.cook .box {
    display: flex;
    flex: wrap;
    width: 100%;
}

.cook .box dl {
    display: flex;
    flex-wrap: wrap;
}

.cook .box dt {
    width: 80px;
     /* 定義語の幅を固定 */
    white-space: nowrap;
}

.cook dd {
    flex: 1;
     /* 残りのスペースを埋める */
     margin: 0;
}

.cook .box .pc {
    display: block;
}

.cook .box .mobile {
    display: none;
}


.cook .pc_lead {
    display: block;
    margin-left: 5%;
    margin-bottom: 5%;
}

.cook .mobile_lead {
    display: none;
}

@media (max-width: 820px) {
    .cook .pc_photo {
        width: fit-content;
        margin: 0 auto;
    }

    .cook .box dt {
        width: 60px;
         /* 定義語の幅を固定 */
        white-space: nowrap;
    }
}

@media (max-width: 768px) {
    .cook .noturnback{
        white-space: nowrap;

    }
    }


@media (max-width: 428px) {
    .cook .pc_photo {
        display: none;
    }

    .cook .mobile_photo {
        display: block;
        display: flex;
        flex-direction: column;
        /* align-items: center; */
    }

    .cook .mobile_photo .inner {
        display: flex;
        /* justify-content: space-between; */
        width: fit-content;
        margin: 0 auto;
        /* margin-bottom: 3%; */
        /* width: 90%; */
        /* gap:5% */
    }

    .cook .mobile_photo img {
        padding: 3%;
        /* height: auto; */
    }

    .cook .box dt {
        width: 50px;
         /* 定義語の幅を固定 */
        /* white-space: nowrap; */
    }

    .cook .container {
        margin-top: 10%;
        /* font-size: 12px; */
    }

    .cook .box .pc {
    display: none;
}

.cook .box .mobile {
    display: block;
}

.cook .text .pc {
    display: none;
}

.cook .text .mobile {
    display: block;
}



.cook .pc_lead {
    display: none;
}

.cook .mobile_lead {
    display: block;
    margin-left: 5%;
    margin-bottom: 5%;

}
 
.cook .mobile_lead li {
    margin-bottom: 2%;
}

    .cook .noturnback{
        white-space: normal;

/* .cook .lead { */
    /* width: 80px; */
    /* 定義語の幅を固定 */
        /* white-space: nowrap; */
    /* } */
}
}

/* @media (max-width: 390px) { */
/* .noturnback_1 { */
    /* white-space: nowrap; */
        /* } */
/* } */




@media (max-width: 375px) {
  .cook {      
    /* padding: 5% 5% 0% 5%; */
    font-size: 11.5px;
    }

}
/* ----------cook　終わり---------- */

/* ----------craft　始まり ---------- */
.craft .text {
    margin-top: 3%;
    margin-bottom: 5%;
    line-height: 1.6;
}

.craft .photo {
    display: flex;
    gap: 5%;
    margin-left: 13%;
}

.craft .container {
    margin-left: 3%;
    line-height: 1.8;
    margin-top: 5%;
    margin-bottom: 6%;
}

.craft .craftday {
    white-space: nowrap;
}

.craft .box {
    display: flex;
    flex: wrap;
    width: 100%;
}

.craft .box dl {
    display: flex;
    flex-wrap: wrap;
}

.craft .box dt {
    width: 80px;
     /* 定義語の幅を固定 */
    white-space: nowrap;
}

.craft dd {
    flex: 1; 
    /* 残りのスペースを埋める */
    margin: 0;
}

.craft .lead {
    margin-left: 5%;
    margin-bottom: 5%;
}

@media (max-width: 820px) {
    .craft .photo {
        margin-left: 13%;
    }

    .craft .box dt {
        width: 60px;
         /* 定義語の幅を固定 */
        white-space: nowrap;
    }
}

@media (min-width: 810px) and (max-width: 820px) {
.craft .noturnback {
    white-space: nowrap;
        }
    }


@media (max-width: 428px) {
    .craft .photo {
        width: fit-content;
        margin: 0 auto;
        margin-bottom: 10%;
    }
    /* .craft img { */
        /* padding: 3%; */
    /* } */
    .craft .box dt {
        width: 42px;
         /* 定義語の幅を固定 */
        white-space: nowrap;
    }

    .craft .container {
        margin-top: 10%;
    }
       
    .craft .lead {
            /* width: 80px; */
            /* 定義語の幅を固定 */
           white-space: nowrap;
    }
}

@media (max-width: 375px) {
  .craft {      
    font-size: 11.5px;
    }

}

/* ----------craft　終わり ---------- */

/* ----------about　始まり---------- */
.about {
    padding: 3% 2% 0% 2%;
}

.about .photo .a {
    max-width: 321px;
    width: 100%;
    display: block;
}

.about .photo .b {
    display: none;
}

.about .photo {
    width: fit-content;
    margin: 0 auto;
}

.about .first_text {
    margin-top: 3%;
    margin-bottom: 2%;
    line-height: 1.4;
    letter-spacing: 0.1em;
    /* font-size: 13.5px; */
    font-size: 14px;

}

.about .first_text p {
    margin-bottom: 2%;
    text-align: center;
}

@media (max-width: 820px) {
    .about {
        margin: 0 auto;
        margin-top: 20%;
        padding: 7%;
    }

    .about .first_text p {
        font-size: 13.5px;
    }  


}

@media (max-width: 428px) {

    .about {
        padding: 7% 4% 0% 4%;
        /* max-width: 100%; */
        /* width: 100%; */
    }

    .about .photo .b {
        display: block;
        max-width: 245px;
        width: 70%;
        margin: 0 auto;
    }

    .about .photo .a {
        display: none;
    }

    .about .photo {
        width: fit-content;
        margin: 0 auto;
        margin-top: 3%;
        margin-bottom: 3%;
    }

    .about .first_text {
        line-height: 1.6;
        letter-spacing: normal;
        margin-bottom: 7%;
    }

    .about .first_text p {
        margin-bottom: 4%;
        font-size: 11px;
    }

    .about .second_text {
        display: block;
        margin-top: 12%;
        padding: 2%;
        /* letter-spacing: 0.05em; */
    }

    .about .second_text p {
        margin-bottom: 3%;
        font-size: 11px;
    }

    .about .noturnback_2 {
        white-space: nowrap;
    }

    .about .profile_box p {
        font-size: 9px;
    }

    /* .about footer { */
  /* position: fixed; */
  /* bottom: 0; */
  /* left: 0; */
  /* width: 100%; */
  /* background-color: #333; */
  /* color: white; */
  /* padding: 10px; */
  /* text-align: center; */
/* } */
}


/* ----------about　終わり ---------- */

/* ----------calendar　始まり---------- */
.exception_3 .wrap {
    padding: 2% 1% 1% 0%;
}

.calendar {
    padding: 2% 1% 1% 0%;
}

.calendar .navname {
    display: flex;
    width: fit-content;
    margin: 0 auto;
    margin-top: 5%;
    margin-bottom: 5%;
    align-items: center;
}

.calendar .navname p {
    letter-spacing: 0.1em;
    color: #f95f30;
    font-weight: bold;
    text-align: center;
}

.calendar .season {
    font-size: 20px;
}

.calendar .sub_navname {
    font-size: 18px;
}

.calendar .schedule {
    text-align: left;
    width: 80%;
    margin: 0 auto;
}
 
.calendar .remarks {
    width: fit-content;
    margin-top: 1%;
    margin-bottom: 5%;
    font-size: 14px;
    line-height: 1.5;
}

.calendar .remarks .pc {
    display: block;
}

.calendar .remarks .mobile {
    display: none;
}

.calendar .box {
    display: flex;
    flex: wrap;
    width: 100%;
}

.calendar .box dl {
    display: flex;
    flex-wrap: wrap;
}

.calendar .box dt {
    width: 350px;
     /* 定義語の幅を固定 */
    white-space: nowrap;
}

.calendar dd {
    flex: 1;
     /* 残りのスペースを埋める */
     margin: 0;
}

.calendar .section {
    margin-bottom: 5%;
    font-size: 14px;
}

.calendar .item {
    margin-bottom: 1%;
}

.calendar .title_cooking {
    font-size: 20px;
    color: #f6D900;
    font-weight: bold;
}

.calendar .section ul {
    margin-left: 1%;
}

.calendar .noturnback {
    white-space: nowrap;
}

.calendar .section .pc {
    display: block;
}

.calendar .section .mobile {
    display: none;
}

/* @media (max-width: 1355px) { */
    /* .exception_3 .wrap { */
        /* padding: 2% 2% 0% 2%; */
    /* } */

    /* .calendar { */
        /* padding: 2% 1% 0% 2%; */
    /* } */
/* } */

/* @media (max-width: 834px) {
.exception_3 {


    max-width: 100%;
    width: 100%;
}
    .calendar .section .noturnback {
            white-space: normal;
    }
    

} */

@media (max-width: 820px) {
    .calendar {
        /* max-width: 100%; */
        /* width: 100%; */
        padding: 7% 5% 0% 5%;
        /* padding: 7% 4% 0% 7%; */

    }
     
    .calendar .remarks .pc {
        display: none;
    }

    .calendar .remarks .mobile {
        display: block;
    }

    .calendar .mobile_noturnback {
        white-space: nowrap;
    }
/*  */
    .calendar .section .pc {
        display: none;
    }

    .calendar .section .mobile {
        display: block;
    }
    
    .calendar .word {
            white-space: nowrap;
    }
    
    .calendar .section .noturnback {
            white-space: normal;
    }
    }

@media (max-width: 768px) {
    .calendar .remarks .pc {
        display: block;
    }

    .calendar .remarks .mobile {
        display: none;
    }
    }

@media (max-width: 428px) {

        .exception_3 .wrap {
            padding: 0;
            padding: 2% 2% 0% 2%;
    }

    .calendar .season {
        font-size: 16px;
    }

    .calendar .sub_navname {
        font-size: 14px;
    }

    .calendar .title_cooking {
        font-size: 14px;
    }

    .calendar .section .pc {
        display: block;
    }

    .calendar .section .mobile {
        display: none;
    }
    
    .calendar .mobile_noturnback {
        white-space: normal;
    }

    .calendar {
        padding: 0% 5% 0% 5%;
        max-width: 100%;
        width: 100%;
        /* margin: 0 auto; */
    }


    .calendar .schedule {
        text-align: initial;
        width: 100%;
        margin: 0 auto;
    }

    .calendar .remarks {
        font-size: 8px;
        margin-left: 0%;
    }

    /* .calendar .noturnback {
        white-space: normal;
    } */

  

    .calendar .section li {
        font-size: 10px;
    }

    .calendar .box dt {
        width: 180px;

    }

/* .calendar img {
    width: 100%;
    display: block;
    margin: 0 auto;
} */

/* } */
/* @media (max-width: 390px) { */

/* .calendar .noturnback_a {
            white-space: nowrap;

} */
/* .calendar .section .pc {
    display: none;
} */

/* .calendar .section .pc_390 {
    display: none;
} */

/* .calendar .section .mobile {
    display: block;
} */

/* .calendar .section .mobile_390 {
    display: block;
} */

/* ok */
.calendar .remarks .pc {
    display: none;
}
/* ok */
.calendar .remarks .mobile {
    display: block;
}

/* } */

/* @media (max-width: 414px) { */
/* .calendar .noturnback_a { */
            /* white-space: normal; */

/* } */
    .calendar .section li {
        font-size: 8px;
    }

/* } */
}
@media (max-width: 390px) {
    .calendar .mobile_noturnback {
        white-space: nowrap;

  }

.calendar .word {
            white-space: nowrap;

}

/* .calendar .section .pc_390 { */
    /* display: block; */
    /* } */

/* .calendar .section .mobile_390 { */
    /* display: none; */
/* } */

.calendar .noturnback_a {
                white-space: nowrap;

}
    /* .calendar .section li { */
        /* font-size: 8px; */
    /* } */
/*  */
/* } */

/* @media (max-width: 375px) { */

    /* .calendar .section li { */
        /* font-size: 7.5px; */
    /* } */
/* } */
}
/* ----------calendar　終わり---------- */

/* ----------information　始まり---------- */
.information_wrap {
    background-color: #fDffD5;
}

.information .box {
    margin-bottom: 4%;
}

.information dd {
    margin-left: 1%;
}

.information .text {
    margin-left: 2.5%;
}
.information li {
    list-style-type: none;
}

.information a {
    text-decoration: underline;
    text-decoration-style: dotted; /* 下線のスタイルを点線（ドット）に変更 */
    /* text-decoration-color: #E40000; */
    line-height: 2.0;
    text-underline-offset: 5px;
    color: #f95f30;
    font-weight: bold;
}

.information footer {
    margin-top: 5%;
}

@media (max-width: 414px) {
    .information{
        max-width: 100%;
        width: 100%;
    }

    .information .noturnback {
        white-space: nowrap;
    }
}

@media (max-width: 375px) {
    .information .noturnback {
        white-space: normal;
    }
}
/* ----------information　終わり---------- */

/* ----------contact　始まり---------- */
/* スマホサイズで線に丸みが出るので、リセット */
.contact {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* リセットしたので、再設設定コピペ */
.contact {
    max-width: 1000px;
    /* width: 90%; */
    margin: 0 auto;
    margin-left: 250px;
    padding: 2% 2% 0% 2%;
    /* margin-bottom: 10%; */
    /* ヘッダーと重ならないように */
    flex-grow: 1;
}

.contact form dt {
    margin-bottom: 1%;
    font-size: 14px;
}

.contact form dd {
    margin-bottom: 10%;
}

.contact form .last_pc  {
    margin-bottom: 5%;
}

.contact form .personal {
    border: none; /* デフォルトの枠線を削除 */
    border-bottom: 1px solid #999; /* 下線だけ表示 */
    background: transparent; /* 背景を透明に */
    padding: 5px 10px; /* テキストの見やすさを確保 */
    outline: none; /* フォーカス時の枠線を削除 */
    appearance: none;
    border-radius: 0;
    box-shadow: none;
}

.contact form textarea {
    padding: 1%;
    line-height: 1.5
}

.contact form .submit {
    width: fit-content;
}

.contact input[type="submit"]{
    padding: 5%;
    width: 150px;
    background-color: #edefef;
    border: 1px solid #999;
    letter-spacing: 0.1em;
    color: black;
}

.submit input:hover {
    background-color: #b7b6b6;
}

.contact footer {
    margin-top: 3%;
}

@media (max-width: 820px) {
    .contact{
        margin: 0 auto;
        margin-top: 20%;
        /* margin-right: 10%; */
        padding: 7% 7% 0% 7%;
        font-size: 15px;
    }
}

@media (max-width: 428px) {
    .contact {
        margin-top: 30%;
        font-size: 12px;
        /* padding: 5% 5% 0% 5%; */
    }

    .contact form dt {
        font-size: 12px;
    }

    .contact form .personal {
        width: 100%;
        font-size: 12px;
    }

.contact form .last_pc  {
    margin-bottom: 8%;
}

    .contact input[type="submit"]{
            box-sizing: border-box;

        padding: 0%;
        padding: 2.5px;
        width: 80px;
        font-size: 11px;
        border-radius: 0;
    }

    .contact footer {



        margin-top: 32%;
}}

   
/* ----------contact　終わり---------- */

/* ----------thanks　始まり---------- */
.thanks .pc_text {
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    margin-top: 30%;
    margin-bottom: 10%;
    display: block;
}

.thanks .mobile_text {
    display: none;
}

@media (max-width: 428px) {
    .thanks .pc_text {
        display: none;
    }
    
    .thanks .mobile_text {
        text-align: center;
        width: fit-content;
        margin: 0 auto;
        margin-top: 30%;
        margin-bottom: 10%;
        display: block;
    }
        
    .thanks .mobile_text p {
        text-align: center;}
}
/* ----------thanks　終わり---------- */

/* ----------profile　始まり---------- */
.profile .classroom {
    margin-bottom: 1%;
    color: #67514D;
}

.profile .photo {
    max-width: 150px;
    width: 100%;
}

.profile .pro_photo {
    max-width: 150px;
    width: 100%;
}

.profile .address {
    margin-bottom: 5%;
}

.profile .map_item {
    margin-bottom: 1%;
    color: #67514D;
}

    .profile .googlemap {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%; /* 16:9 の比率 */
}

.profile .googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 70%;  /* 地図を幅いっぱいに */
    height: 70%;
    border: 0;
}

.profile_box {
    position: relative; /* relativeにして流れるレイアウトに */
    width: 100%; /* 地図の幅に合わせる */
    margin-top: -10%; /* 地図の下に適切な余白を追加 */
    /* text-align: center; */
}
.sub_name {
    color: #67514D;
           margin-bottom: 1%;


}
.profile .staff {
    margin-bottom: 10%;
}

.profile .blackdot{
    text-decoration: underline;
    text-decoration-style: dotted; /* 下線のスタイルを点線（ドット）に変更 */
    line-height: 2.0;
    text-underline-offset: 5px;
    color: #000000;
}

.profile .pro_photo {
    margin-bottom: 1%;
}

.profile .pc {
    display: block;
}

.profile .mobile {
    display: none;
}

@media (max-width: 810px) {
.profile {
    max-width: 100%;
    width: 100%;
}

 .profile .noturnback { 
          white-space: nowrap;
 }
}


@media (max-width: 428px) {
.profile {
    max-width: 100%;
    width: 100%;
}

.profile .googlemap iframe {
    width: 100%;  
    /* 地図を幅いっぱいに */
    height: 100%;
}

.profile_box {

    margin-top: 10%; /* 地図の下に適切な余白を追加 */

}

.profile .photo {
    max-width: 150px;
    width: 100%;
}

.profile .pro_photo {
    max-width: 100px;
    width: 100%;
}


    .profile .blackdot{
margin-bottom: 1%
}

.profile .sub_name {
font-size: 14px;
}

    .profile .noturnback{ 
          white-space: normal;
 }

.profile .pc {
    display: none;
}

.profile .mobile {
    display: block;
}

/* .profile footer { */

/* } */

}

@media (max-width: 375px) {
    .profile .noturnback_375 {
                  white-space: nowrap;

    }
}
/* ----------profile　終わり---------- */

/* ----------privacypolicy　始まり---------- */
.privacypolicy .main_text {
    margin-bottom: 4%;
}

.privacypolicy h2 {
    margin-bottom: 1%;
}

.privacypolicy .text {
    margin-left: 1.5%;
    margin-bottom: 4%;
}

.privacypolicy ul {
    list-style: disc;
    margin-left: 3.5%;
    margin-bottom: 4%;
}

.privacypolicy ul li::marker {
    font-size: 8px;
}

.privacypolicy .link {
    white-space: nowrap;
    /* font-weight: bold; */
}

.privacypolicy .ppform {
    margin-top: 10%;
}

/* .privacypolicy a { */
    /* text-decoration: underline; */
    /* text-decoration-style: dotted;  */
    /* 下線のスタイルを点線（ドット）に変更 */
    /* text-decoration-color: #E40000; */
    /* line-height: 2.0; */
    /* text-underline-offset: 5px; */
    /* color: #f95f30; */
    /* font-weight: bold; */
/* } */

@media (max-width: 428px) {
    .privacypolicy ul {
        margin-left: 7.5%;
    }
}

@media (max-width: 390px) and (min-width: 390px){
    .privacypolicy .noturnback {
        white-space: nowrap;
    }
}
/* ----------privacypolicy　終わり---------- */