@charset "UTF-8";
html {
  font-size: 62.5%;
  font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
  color: #5b5b5b;
  background-color: #fffff9; }

a {
  color: #5b5b5b;
}

/**************************************/
/*common
/**************************************/
.sp_display {
  display: none; }

.sp_space {
  display: none; }

h2 {
  display: inline-block;
  font-size: 2.4rem;
  padding-bottom: 5px;
  border-bottom: 5px solid #f19ec2;
  margin-top: 150px;
  margin-bottom: 80px; }

p {
  font-size: 1.8rem;
  line-height: 2; }

.container {
  width: 80%;
  margin: 0 auto; }

@media (max-width: 767px) {
  .pc_display {
    display: none; }

  .sp_display {
    display: block; }

  .pc_space {
    display: none; }

  .sp_space {
    display: block; }

  h2:first-letter {
    padding-bottom: 0;
    border-bottom: none;
    border-left: 5px solid #f19ec2;
    padding-left: 5px; }

  h2 {
    border-bottom: none;
    line-height: 2;
    margin-top: 100px;
    margin-bottom: 60px; } }
/**************************************/
/*header
/**************************************/
header h1 {
  text-align: center;
  padding: 20px 0; }
header .main_img {
  width: 100%; }

@media (max-width: 767px) {
  header h1 {
    padding: 20px 0; }
  header h1 .sp_display {
    display: inline-block; }
  header ul {
    display: flex;
    justify-content: space-around;
    padding: 25px 40px; }
  header ul li {
    width: 20%; }
  header ul li img {
    width: 100%; }
}
/**************************************/
/*concept
/**************************************/
#concept {
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
  background-image: url("../images/pc/egg_and_milk.png");
  background-size: 100% auto;
  background-position: center;
  background-repeat: no-repeat; }
  #concept p {
    padding-bottom: 150px; }
  #concept .concept_open_box {
    display: block; }

@media (max-width: 767px) {
  #concept {
    background-image: url("../images/sp/egg_and_milk_sp.png");
    background-attachment: fixed;
    padding-bottom: 100px; }
    #concept button.more_btn_concept {
      display: block;
      background-color: #f19ec2;
      font-size: 1.8rem;
      text-transform: uppercase;
      text-align: center;
      border: none;
      outline: 0;
      padding: 12px 89px;
      position: relative; }
    #concept .concept_open_box {
      display: none; } }
/**************************************/
/*menu
/**************************************/
#menu {
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
  background-color: #fff2d2; }
  #menu #wrap_box {
    padding-bottom: 150px; }
    #menu #wrap_box .menu_display_box, #menu #wrap_box .menu_open_box {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
    #menu #wrap_box li {
      width: calc((100% - 60px) / 3);
      padding-bottom: 100px; }
    #menu #wrap_box img {
      width: 100%; }
    #menu #wrap_box p {
      font-size: 1.8rem;
      padding-top: 20px;
      text-align: center; }
    #menu #wrap_box .wrap_open_box {
      display: none; }
    #menu #wrap_box button.more_btn_menu {
      display: block;
      background-color: #f19ec2;
      font-size: 1.8rem;
      text-transform: uppercase;
      text-align: center;
      border: none;
      outline: 0;
      padding: 24px 178px;
      margin: 0 auto;
      position: relative; }

@media (max-width: 767px) {
  #menu #wrap_box {
    padding-bottom: 100px; }
    #menu #wrap_box li {
      width: 100%;
      padding-bottom: 80px; }
    #menu #wrap_box button.more_btn_menu {
      padding: 12px 89px; } }
/**************************************/
/*access
/**************************************/
.full_container {
  width: 100%; }

#access_bottom {
  padding-bottom: 150px; }

.map {
  padding-bottom: 100px; }

@media (max-width: 767px) {
  #access_top {
    padding-bottom: 90px; }

  .map {
    padding-bottom: 0; }

  #access_bottom {
    padding-bottom: 100px; } }
/**************************************/
/*contact
/**************************************/
#contact {
  margin: 0 calc(50% - 50vw);
  padding: 0 calc(50vw - 50%);
  background-color: #fff2d2; }
  #contact .form_box {
    padding-bottom: 150px; }
    #contact .form_box table {
      table-layout: fixed;
      width: 100%; }
    #contact .form_box th, #contact .form_box td {
      font-size: 1.8rem;
      padding-bottom: 90px; }
    #contact .form_box th {
      text-align: left;
      padding-right: 120px;
      white-space: nowrap; }
    #contact .form_box td {
      white-space: nowrap; }
    #contact .form_box .age {
      padding-bottom: 20px; }
    #contact .form_box input {
      font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
      font-size: 1.8rem;
      padding: 5px;
      border: 1px solid #e5e5e5; }
    #contact .form_box .text_box {
      width: 100%; }
    #contact .form_box .radio_input {
      display: none; }
    #contact .form_box .radio_input + label {
      padding-left: 40px;
      position: relative;
      margin-right: 30px; }
    #contact .form_box .radio_input + label::before {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 24px;
      height: 24px;
      border: 1px solid #5b5b5b;
      border-radius: 50%;
      background-color: #fff; }
    #contact .form_box .radio_input:checked + label::after {
      content: "";
      display: block;
      position: absolute;
      top: 5px;
      left: 5px;
      width: 16px;
      height: 15px;
      background: #979797;
      border-radius: 50%; }
    #contact .form_box .textarea_title {
      vertical-align: top; }
    #contact .form_box textarea {
      width: 100%;
      font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
      font-size: 1.8rem;
      padding: 5px;
      border: 1px solid #e5e5e5; }
    #contact .form_box .submit_btn {
      display: block;
      background-color: #f19ec2;
      font-size: 1.8rem;
      text-align: center;
      border: none;
      outline: 0;
      padding: 24px 178px;
      margin: 0 auto;
      position: relative; }

@media (max-width: 767px) {
  #contact .form_box th, #contact .form_box td {
    display: block;
    text-align: left;
    width: 100%;
    padding-bottom: 0; }
  #contact .form_box th {
    padding-top: 90px;
    padding-bottom: 20px;
    padding-right: 0; }
  #contact .form_box .first_th {
    padding-top: 0; }
  #contact .form_box td {
    padding-bottom: 20px; }
  #contact .form_box .no_pb {
    padding-bottom: 0; }
  #contact .form_box .submit_btn {
    margin-top: 90px;
    padding: 12px 89px; } }
/**************************************/
/*footer
/**************************************/
footer ul {
  text-align: center;
  padding: 150px 0; }
footer li {
  display: inline-block;
  padding-right: 5rem; }
footer .small {
  text-align: center;
  font-size: 1.2rem;
  color: #b9b6b6;
  padding-bottom: 20px; }

@media (max-width: 767px) {
  footer .small {
    padding-top: 100px; } }
