@charset "UTF-8";body {  background: #fff;  font-family: "Zen Maru Gothic", serif;  font-weight: 700;  font-style: normal;  font-size: 1.1rem;  letter-spacing: 1px;  color: #3E1F13;  counter-reset: number 0; }p {  line-height: 1.8; }h2 {  font-size: clamp(2.6rem, 4vw, 3.8rem);  text-align: center; }  h2.orange, h2.green {    width: fit-content;    padding-bottom: 20px;    margin: 0 auto; }  h2.orange {    color: #954F00;    border-bottom: 15px dotted #F26F1F; }  h2.green {    color: #745100;    border-bottom: 15px dotted #79B565; }a {  text-decoration: none; }ul, ol {  list-style: none; }address {  font-style: normal; }.br_700, .br_1100 {  display: none; }.deco {  position: absolute; }  .deco.d1 {    width: clamp(128px, 17vw, 305px); }  .deco.d2 {    width: clamp(125px, 18vw, 394px); }  .deco.d3 {    width: clamp(110px, 17vw, 311px); }@media (max-width: 1100px) {  h2.orange, h2.green {    padding-bottom: 15px; }  h2.orange {    border-bottom: 10px dotted #F26F1F; }  h2.green {    border-bottom: 10px dotted #79B565; }  .br_1100 {    display: block; }  .br_pc {    display: none; } }@media (max-width: 700px) {  .br_700 {    display: block; }  h2.orange .line {    border-bottom: 10px dotted #F26F1F; }  h2.green .line {    border-bottom: 10px dotted #79B565; } }header {  position: fixed;  top: 0;  left: 0;  display: flex;  justify-content: space-between;  grid-column-gap: 1%;  align-items: center;  width: 96%;  padding: 8px 2%;  background: #FFF7D9;  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);  z-index: 999; }.header_logo {  width: clamp(100px, 15vw, 160px); }.header_nav {  display: grid;  grid-template-areas: "nav inquiry"; }  .header_nav ul {    grid-area: nav;    display: flex;    justify-content: flex-end;    align-items: center;    flex-flow: wrap; }  .header_nav li a {    position: relative;    display: block;    padding: 15px;    font-size: min(1.1rem, 1.4vw);    color: #3E1F13;    transition: .5s;    z-index: 1; }    .header_nav li a::after {      content: "";      position: absolute;      inset: 0;      width: 100%;      height: 110%;      margin: auto;      background: url("../img/nav_hover_icon.svg") no-repeat;      background-size: contain;      background-position: center;      opacity: 0;      z-index: -1;      transition: .3s; }    .header_nav li a:hover::after {      opacity: 1; }.header_inquiry_link {  grid-area: inquiry;  display: flex;  justify-content: center;  align-items: center;  column-gap: 5px;  width: fit-content;  height: 80px;  padding: 0 20px;  margin: auto 0 auto 10px;  border-radius: 100px;  background: #79B565;  color: #fff;  transition: .2s; }  .header_inquiry_link img {    width: 44px; }  .header_inquiry_link p {    font-size: 1.3rem;    text-align: center;    line-height: 100%; }  .header_inquiry_link small {    display: block;    padding-bottom: 2%;    font-size: 1rem; }  .header_inquiry_link:hover {    transform: rotate(2deg); }.header_for_companies {  display: none; }  .header_for_companies:hover {    transform: rotate(2deg); }@media (max-width: 1100px) {  header {    width: 100%;    height: 80px;    padding: 0; }  .header_logo {    margin-left: 4%; }  .hamburger {    position: relative;    display: block;    width: auto;    height: 100%;    aspect-ratio: 1 / 1;    background: #FFFEF9;    cursor: pointer;    z-index: 2;    transition: 1s; }    .hamburger::before {      content: "MENU";      position: absolute;      top: 20%;      left: 0;      right: 0;      margin: 0 auto;      font-family: "Acme", serif;      font-size: 1.1rem;      text-align: center;      letter-spacing: 2px;      color: #654D32;      transition: .8s ease-in-out; }    .hamburger span::before, .hamburger span::after {      content: "";      position: absolute;      left: 0;      right: 0;      width: 65%;      height: 3px;      margin: 0 auto;      border-radius: 3px;      background: #654D32;      transition: .4s ease-in-out; }    .hamburger span::before {      top: 57%; }    .hamburger span::after {      top: 75%; }    .hamburger.open::before {      content: "CLOSE"; }    .hamburger.open span::before, .hamburger.open span::after {      width: 50%; }    .hamburger.open span::before {      transform: rotate(45deg);      transform-origin: 35% 115%; }    .hamburger.open span::after {      transform: rotate(-45deg);      transform-origin: 20% -110%; }  .header_nav {    position: fixed;    top: 0;    right: -100%;    grid-template-areas: "." "nav" "inquiry" "companies" ".";    grid-template-rows: auto auto 80px 80px auto;    grid-row-gap: 15px;    width: min(800px, 100%);    height: 100vh;    background: #FFFEF9;    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);    transition: .8s ease-in-out; }    .header_nav ul {      justify-content: center;      align-items: stretch;      flex-flow: column;      width: max(270px, 50%);      margin: 0 auto; }    .header_nav li {      border-bottom: 2px dotted #94724C; }      .header_nav li a {        display: flex;        justify-content: space-between;        align-items: center;        padding: 20px;        font-size: max(1rem, 2vw); }        .header_nav li a::after {          position: static;          display: block;          width: 23px;          height: auto;          aspect-ratio: 17 / 15;          margin: 0;          background: url("../img/arrow_orange.svg") no-repeat;          background-size: 100%;          background-position: center center;          opacity: 1; }    .header_nav.open {      right: 0; }  .header_inquiry_link {    column-gap: 10px;    width: max(270px, 50%);    height: 100%;    padding: 0;    margin: 0 auto;    border-radius: 20px;    background: #F38846; }    .header_inquiry_link img {      width: max(44px, 5.6vw); }    .header_inquiry_link p {      font-size: max(1.3rem, 2.4vw); }    .header_inquiry_link small {      font-size: max(1rem, 2vw); }  .header_for_companies {    grid-area: companies;    display: flex;    justify-content: center;    align-items: center;    width: max(270px, 50%);    height: 100%;    margin: 0 auto;    border-radius: 20px;    background: #75614B;    font-size: max(1.3rem, 2.4vw);    color: #fff; } }@media (max-width: 700px) {  header {    height: 60px; }  .header_nav {    grid-template-rows: auto auto 64px 64px auto;    grid-row-gap: 10px; }    .header_nav li a {      padding: 15px; }  .hamburger::before {    font-size: 0.9rem; } }.Inquiry {  padding: 40px 5% 0;  background: #FFAE8C; }.inquiry_content {  display: grid;  grid-template-areas: "img . ." "img title title" "img mail mail" "img tel line" "img desc desc" "img . .";  grid-template-columns: 40% 30% 26%;  grid-template-rows: auto auto 85px 80px auto auto;  place-items: center;  grid-gap: 15px;  width: min(1100px, 100%);  margin: 0 auto;  text-align: center; }  .inquiry_content h2 {    grid-area: title;    padding-bottom: 20px; }  .inquiry_content .img_wrap {    grid-area: img;    position: relative;    width: 100%;    height: auto;    aspect-ratio: 361 / 387; }    .inquiry_content .img_wrap p {      position: relative;      top: 0;      left: 0;      right: 0;      width: fit-content;      padding: 15% 9% 0;      margin: 0 auto;      font-size: clamp(1.3rem, 2.8vw, 2rem);      text-align: center;      line-height: 1.3;      color: #654D32;      z-index: 1; }      .inquiry_content .img_wrap p::after {        content: "";        position: absolute;        top: 0;        left: 0;        display: block;        width: 100%;        height: auto;        aspect-ratio: 196 / 213;        background: url("../img/inquiry_speechbubble.svg") no-repeat;        background-size: contain;        z-index: -1; }    .inquiry_content .img_wrap img {      position: absolute;      bottom: 0;      left: 0;      width: 100%;      z-index: 2; }  .inquiry_content a {    display: flex;    justify-content: center;    align-items: center;    grid-column-gap: 20px;    width: 100%;    height: 100%;    border: 3px solid #654D32;    border-radius: 100px;    background: #fff;    font-size: clamp(1.1rem, 2vw, 1.5rem);    color: #654D32;    transition: .2s; }    .inquiry_content a:hover {      transform: rotate(2deg); }  .inquiry_content .mail {    grid-area: mail; }    .inquiry_content .mail img {      width: clamp(45px, 5.5vw, 60px); }    .inquiry_content .mail::after {      content: "お問い合わせフォーム";      font-size: min(1.8rem, 2.6vw); }  .inquiry_content .tel {    grid-area: tel; }    .inquiry_content .tel img {      width: clamp(40px, 4.5vw, 45px); }  .inquiry_content .line {    grid-area: line; }    .inquiry_content .line img {      width: clamp(50px, 5.7vw, 57px); }    .inquiry_content .line::after {      content: "LINE"; }.inquiry_desc {  grid-area: desc;  padding-top: 20px;  line-height: 1.5;  text-align: left; }@media (max-width: 1100px) {  .Inquiry {    padding: 30px 5%; }  .inquiry_content {    grid-template-areas: "img title title" "img mail mail" "img tel line" "img desc desc";    grid-template-rows: auto 75px 65px auto; }    .inquiry_content h2 {      padding-bottom: 5px; }    .inquiry_content a {      column-gap: 8px; }  .inquiry_desc {    padding-top: 5px; } }@media (max-width: 700px) {  .inquiry_content {    grid-template-areas: "title title" "img img" "line line" "tel mail" "desc desc";    grid-template-columns: auto;    grid-template-rows: auto 117px 75px 65px auto;    width: min(400px, 100%); }    .inquiry_content .img_wrap {      display: flex;      flex-flow: row-reverse;      justify-content: center;      align-items: center;      height: 100%;      aspect-ratio: auto; }      .inquiry_content .img_wrap p {        padding: 20px;        margin: 0; }        .inquiry_content .img_wrap p::after {          bottom: 0;          left: auto;          right: 15px;          width: auto;          height: 117px;          margin: auto;          transform: rotate(90deg); }      .inquiry_content .img_wrap img {        position: static;        width: auto;        height: 100%; }    .inquiry_content a {      column-gap: 5px; }    .inquiry_content .mail::after {      content: "メール";      font-size: clamp(1.1rem, 2vw, 1.5rem); }    .inquiry_content .line::after {      content: "LINEでお問い合わせ"; } }footer {  padding: 40px 5%;  background: #FFF8E7; }.footer_nav {  max-width: 1100px;  margin: 0 auto; }  .footer_nav ul {    display: flex;    align-items: center;    justify-content: center;    grid-gap: 5%;    flex-wrap: wrap; }  .footer_nav a {    display: inline-block;    padding: 20px;    font-size: 1.1rem;    color: #3E1F13;    transition: .3s; }    .footer_nav a:hover {      opacity: 0.6; }.pagetop {  position: fixed;  bottom: -90px;  right: 2%;  width: 80px;  height: 80px;  border: 5px solid #FF9567;  border-radius: 100px;  background: #fff;  z-index: 1;  transition: .6s; }  .pagetop::before {    content: "";    display: block;    width: 100%;    height: 100%;    background: url("../img/arrow_top.svg") no-repeat;    background-size: 50%;    background-position: center; }  .pagetop.show {    bottom: 2%; }  .pagetop:hover {    transform: translateY(-10px); }.copy {  margin-top: 40px;  font-size: clamp(0.8rem, 1.6vw, 1rem);  text-align: center; }@media (max-width: 1100px) {  footer {    padding-bottom: 10px; } }@media (max-width: 700px) {  .footer_nav {    display: none; }  .pagetop {    width: 50px;    height: 50px;    border: 3px solid #FF9567; } }