﻿.con_intr .photo02, .con_chef, .con_dish .box_oth, .con_kai .box_kais, .con_kai .box_bre, .con_bre .box_kais, .con_bre .box_bre {
  width: 95%;
  max-width: 1200px;
  margin: auto
}

@media only screen and (max-width: 767px) {
  .con_intr .photo02, .con_chef, .con_dish .box_oth, .con_kai .box_kais, .con_kai .box_bre, .con_bre .box_kais, .con_bre .box_bre {
    width: 91.66667%
  }
}

.con_chef .box_chef:after {
  content: "";
  display: table;
  clear: both
}

@font-face {
  font-family: 'Hannari';
  src: url("font/Hannari.woff") format("woff"), url("font/Hannari.otf’") format("opentype")
}

.con_intr {
  max-width: 1830px;
  margin: 40px auto 100px;
  position: relative
}

@media only screen and (max-width: 1023px) {
  .con_intr {
    width: 100%;
    margin: 5% auto 3em;
    padding: 1.5em 0;
    background: url(../images/common/bg01.jpg) repeat 0 0
  }
}

.con_intr:before {
  content: '';
  width: 75.13661%;
  height: 535px;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../images/common/bg01.jpg) repeat 0 0
}

@media only screen and (max-width: 1023px) {
  .con_intr:before {
    content: none
  }
}

.con_intr:after {
  content: '';
  width: 17.48634%;
  height: 535px;
  position: absolute;
  right: 0;
  top: 0;
  background: url(../images/home/bg_acc.jpg) repeat 0 0
}

@media only screen and (max-width: 1023px) {
  .con_intr:after {
    height: 100%
  }
}

.con_intr .box_intr {
  width: 490px;
  position: absolute;
  top: 4.55789%;
  left: 50%;
  margin-left: 60px;
  z-index: 1
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_intr .box_intr {
    width: 40.86739%
  }
}

@media only screen and (max-width: 1023px) {
  .con_intr .box_intr {
    position: relative;
    left: auto;
    top: auto;
    width: 91.66667%;
    margin: 0 auto 1em
  }
}

.con_intr .box_intr .sst {
  text-align: center;
  background: #000;
  font-size: 118%;
  letter-spacing: .2em;
  color: #cbb77d;
  padding: 0.1em 0 0.4em;
  margin-bottom: 3px
}

@media only screen and (max-width: 1199px) {
  .con_intr .box_intr .sst {
    font-size: 106%
  }
}

.con_intr .box_intr h3 {
  font-weight: normal;
  letter-spacing: .3em;
  font-size: 189%
}

.con_intr .box_intr h3 span {
  letter-spacing: normal
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_intr .box_intr h3 {
    font-size: 153%
  }
}

@media only screen and (max-width: 767px) {
  .con_intr .box_intr h3 {
    font-size: 130%
  }
}

.con_intr .box_intr .txt {
  line-height: 2.25;
  margin-top: 0.5em;
  letter-spacing: -0.01em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_intr .box_intr .txt {
    line-height: 2
  }
}

@media only screen and (max-width: 767px) {
  .con_intr .box_intr .txt {
    line-height: 1.8
  }
}

.con_intr .photo {
  width: 910px;
  position: relative;
  left: 50%;
  top: 0;
  margin-left: -910px;
  z-index: 1;
  -moz-transform: translateY(-40px);
  -ms-transform: translateY(-40px);
  -webkit-transform: translateY(-40px);
  transform: translateY(-40px)
}

@media only screen and (max-width: 1023px) {
  .con_intr .photo {
    left: auto;
    top: auto;
    width: 91.66667%;
    margin: 0 auto;
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

.con_intr .photo02 {
  position: relative;
  z-index: 1
}

@media only screen and (max-width: 1023px) {
  .con_intr .photo02 {
    width: 91.66667%
  }
}

.con_intr .line {
  position: absolute;
  top: 535px;
  right: 0;
  width: 75.13661%;
  height: 5px;
  background: url(../../hotspring/images/line_intr.jpg) repeat 0 0
}

@media only screen and (max-width: 1023px) {
  .con_intr .line {
    width: 100%;
    top: 100%
  }
}

.con_chef {
  border: 2px solid #8d6c0d;
  padding: 1px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.con_chef .box_chef {
  border: 1px solid #8d6c0d;
  padding: 2.91667% 4.58333%
}

.con_chef .box_chef .st {
  float: left;
  width: 7.57856%;
  background: url(../../dishes/images/st_chef.png) no-repeat center/contain;
  padding: 15px 1.20148% 20px 0;
  text-align: center;
  color: #8d6c0d;
  letter-spacing: .2em;
  font-size: 189%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_chef .box_chef .st {
    font-size: 153%
  }
}

@media only screen and (max-width: 1023px) {
  .con_chef .box_chef .st {
    width: 272px;
    float: none;
    padding: 0.4em 0 0.8em;
    background: url(../../dishes/images/st_chef-sp.png) no-repeat left center/contain
  }
}

@media only screen and (max-width: 767px) {
  .con_chef .box_chef .st {
    font-size: 130%;
    width: 70%
  }
}

@media only screen and (min-width: 1024px) {
  .con_chef .box_chef .st span {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
    display: inline-block
  }
}

.con_chef .box_chef .sst {
  font-size: 136%;
  letter-spacing: .15em;
  float: right;
  width: 87.80037%;
  margin-bottom: 2.10526%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_chef .box_chef .sst {
    font-size: 118%
  }
}

@media only screen and (max-width: 1023px) {
  .con_chef .box_chef .sst {
    float: none;
    font-size: 106%;
    width: 100%;
    margin-bottom: 0.6em;
    padding-top: 0.25em
  }
}

@media only screen and (max-width: 767px) {
  .con_chef .box_chef .sst {
    letter-spacing: .1em
  }
}

.con_chef .box_chef .box_txt {
  float: right;
  width: 87.80037%
}

@media only screen and (max-width: 1023px) {
  .con_chef .box_chef .box_txt {
    clear: both;
    float: none;
    width: 100%;
    padding-top: 1em
  }
}

.con_chef .box_chef .box_txt .accordion {
  padding: 0.25em 0.5em 0.5em;
  text-align: center;
  position: relative;
  border: 1px solid #fff
}

.con_chef .box_chef .box_txt .accordion:after {
  content: "";
  font-family: FontAwesome;
  margin-left: .5em;
  position: absolute;
  top: 50%;
  right: 5%;
  margin: auto;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.con_chef .box_chef .box_txt .accordion.active:after {
  content: ""
}

@media only screen and (min-width: 768px) {
  .con_chef .box_chef .box_txt .txt {
    display: block !important
  }
}

@media only screen and (max-width: 767px) {
  .con_chef .box_chef .box_txt .txt {
    width: 98%;
    margin: 0.6em auto 0;
    display: none
  }
}

.con_chef .box_chef .box_txt .txt .name {
  display: block;
  text-align: right;
  margin-top: 1em
}

.con_pnav {
  max-width: 593px;
  margin: 95px auto 0
}

@media only screen and (max-width: 767px) {
  .con_pnav {
    max-width: none;
    margin-top: 3.5em;
    width: 91.66667%
  }
}

.con_pnav .box_pnav {
  overflow: hidden
}

.con_pnav .box_pnav li {
  float: left;
  width: 30.86003%;
  margin-left: 3.44013%
}

.con_pnav .box_pnav li:first-child {
  margin-left: 0
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .con_pnav .box_pnav li {
    width: 30%;
    margin: 2% 0 0 5%
  }
  .con_pnav .box_pnav li:nth-child(-n+3) {
    margin-top: 0
  }
  .con_pnav .box_pnav li:nth-child(3n+1) {
    clear: left;
    margin-left: 0
  }
}

@media only screen and (max-width: 767px) {
  .con_pnav .box_pnav li {
    float: none;
    width: 100%;
    margin: 2% auto 0
  }
  .con_pnav .box_pnav li:first-child {
    margin: 0 auto
  }
}

.con_pnav .box_pnav li a {
  display: block;
  text-decoration: none;
  background: #fff;
  color: #2f2f2f;
  text-align: center;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media only screen and (max-width: 767px) {
  .con_pnav .box_pnav li a {
    letter-spacing: -.4em;
    padding: 1%;
    position: relative;
    text-align: left
  }
}

.con_pnav .box_pnav li a:after {
  content: "";
  font-family: FontAwesome;
  margin-left: .5em;
  color: #8d8a82;
  margin: auto;
  font-size: 95%;
  display: block;
  text-align: center;
  line-height: 1;
  padding-top: 5px;
  border-top: 1px solid #b04c2e
}

@media only screen and (max-width: 767px) {
  .con_pnav .box_pnav li a:after {
    width: 1.2em;
    height: calc(100% + 4%);
    top: -2%;
    right: 0;
    position: absolute;
    text-align: center;
    padding-top: 1.8em;
    border-top: none;
    letter-spacing: normal;
    border-left: 1px solid #b04c2e;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
  }
}

.con_pnav .box_pnav li a .img {
  padding: 5.46448%
}

@media only screen and (max-width: 767px) {
  .con_pnav .box_pnav li a .img {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    width: 30%;
    padding: 0
  }
}

.con_pnav .box_pnav li a .st {
  padding: 0 0 0.8em
}

@media only screen and (max-width: 767px) {
  .con_pnav .box_pnav li a .st {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: middle;
    width: 65%;
    padding: 0 0 0.25em 0.25em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
  }
}

.con_dish {
  max-width: 1620px;
  margin: 110px auto 0;
  width: 95%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_dish {
    margin-top: 8%
  }
}

@media only screen and (max-width: 767px) {
  .con_dish {
    margin-top: 4em;
    width: 91.66667%
  }
}

.con_dish .main_title {
  margin-bottom: 30px
}

@media only screen and (max-width: 767px) {
  .con_dish .main_title {
    margin-bottom: .8em
  }
}

.con_dish .box_dish {
  position: relative;
  background: url(../images/common/bg02.jpg) repeat 0 0;
  margin-bottom: 3.08642%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center
}

@media only screen and (max-width: 767px) {
  .con_dish .box_dish {
    margin-bottom: 2em;
    padding-top: 1em
  }
}

.con_dish .box_dish h4 {
  font-weight: normal;
  z-index: 1;
  position: absolute;
  top: 50%;
  left: 50%;
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 120px;
  background: url(../../dishes/images/bg_st.png) no-repeat center/contain;
  padding: 5.24691% 0 4.62963%;
  text-align: center;
  font-size: 189%;
  letter-spacing: .15em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_dish .box_dish h4 {
    font-size: 153%;
    padding: 2em 0 1.8em;
    width: 10.53556%
  }
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
  .con_dish .box_dish h4 {
    font-size: 142%
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_dish h4 {
    font-size: 130%;
    position: static;
    width: auto;
    display: inline-block;
    text-align: left;
    padding: 0.3em 1.6em 0.6em 1em;
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    background: url(../../dishes/images/bg_st-sp.png) no-repeat left center/100% 100%
  }
}

@media only screen and (min-width: 768px) {
  .con_dish .box_dish h4 span {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
    display: inline-block
  }
}

.con_dish .box_dish h4 span:before {
  content: '';
  width: 1em;
  height: 0.9em;
  background: url(../../dishes/images/ic_knife.png) no-repeat center/contain;
  display: inline-block;
  margin-bottom: 5px
}

@media only screen and (max-width: 767px) {
  .con_dish .box_dish h4 span:before {
    margin: 0 0.5em 0 0;
    vertical-align: middle
  }
}

.con_dish .box_dish .box_det {
  color: #2f2f2f;
  width: 50%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media only screen and (max-width: 767px) {
  .con_dish .box_dish .box_det {
    width: 100%;
    background: url(../images/common/bg02.jpg) repeat 0 0;
    padding: 0.5em 1em 1em
  }
}

.con_dish .box_dish .box_det h5 {
  font-weight: normal;
  letter-spacing: .2em;
  margin-bottom: 0.8em;
  font-size: 142%
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_dish .box_dish .box_det h5 {
    font-size: 118%
  }
}

@media only screen and (max-width: 1023px) {
  .con_dish .box_dish .box_det h5 {
    font-size: 106%;
    margin-bottom: 0.6em
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_dish .box_det h5 {
    letter-spacing: .1em
  }
}

.con_dish .box_dish .box_det .btn_plan {
  max-width: 300px;
  width: 100%;
  margin-top: 4.93827%
}

@media only screen and (max-width: 767px) {
  .con_dish .box_dish .box_det .btn_plan {
    max-width: none
  }
}

.con_dish .box_dish .photo {
  width: 50%
}

@media only screen and (min-width: 1200px) and (max-width: 1280px) {
  .con_dish .box_dish .photo {
    overflow: hidden
  }
  .con_dish .box_dish .photo img {
    position: relative;
    width: 120%;
    max-width: none;
    margin-left: -10%
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1199px) {
  .con_dish .box_dish .photo {
    overflow: hidden
  }
  .con_dish .box_dish .photo img {
    position: relative;
    width: 150%;
    max-width: none;
    margin-left: -25%
  }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .con_dish .box_dish .photo {
    overflow: hidden
  }
  .con_dish .box_dish .photo img {
    position: relative;
    width: 180%;
    max-width: none;
    margin-left: -40%
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_dish .photo {
    width: 100%
  }
  .con_dish .box_dish .photo img {
    width: 100%
  }
}

.con_dish .box_oth .sub_title {
  margin-bottom: 1.66667%
}

@media only screen and (max-width: 767px) {
  .con_dish .box_oth .sub_title {
    margin-bottom: 1em
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_oth .sub_title span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1.4
  }
}

.con_dish .box_oth .oth_list {
  overflow: hidden
}

.con_dish .box_oth .oth_list li {
  float: left;
  width: 31.08333%;
  margin-left: 3.375%
}

.con_dish .box_oth .oth_list li:first-child {
  margin-left: 0
}

@media only screen and (max-width: 767px) {
  .con_dish .box_oth .oth_list li {
    float: none;
    width: 100%;
    margin: 1.3em auto 0;
    overflow: hidden
  }
  .con_dish .box_oth .oth_list li:first-child {
    margin: 0 auto
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_oth .oth_list li .photo {
    float: left;
    width: 30%
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_oth .oth_list li .box_txt {
    float: right;
    width: 68%
  }
}

.con_dish .box_oth .oth_list li .box_txt h6 {
  text-align: center;
  font-weight: normal;
  font-size: 130%;
  color: #cbb77d;
  letter-spacing: .2em;
  margin: 0.2em 0 0.4em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_dish .box_oth .oth_list li .box_txt h6 {
    font-size: 118%
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_oth .oth_list li .box_txt h6 {
    font-size: 106%;
    margin-top: 0;
    text-align: left;
    line-height: 1
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_oth .oth_list li .box_txt .txt {
    font-size: 89%;
    line-height: 1.25
  }
}

@media only screen and (min-width: 768px) {
  .con_dish .box_beef h4 {
    order: 1
  }
}

@media only screen and (min-width: 768px) {
  .con_dish .box_beef .box_det {
    order: 3;
    padding: 0 2% 0 6.17284%
  }
}

.con_dish .box_beef .box_det .txt {
  max-width: 550px
}

@media only screen and (min-width: 768px) {
  .con_dish .box_beef .photo {
    order: 2
  }
}

.con_dish .box_pork {
  margin-top: 80px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_dish .box_pork {
    margin-top: 8%
  }
}

@media only screen and (max-width: 767px) {
  .con_dish .box_pork {
    margin-top: 3em
  }
}

@media only screen and (min-width: 1200px) {
  .con_dish .box_pork h4 {
    padding: 2.77778% 0
  }
}

@media print {
  .con_dish .box_pork h4 {
    padding: 2.77778% 0
  }
}

@media only screen and (min-width: 768px) {
  .con_dish .box_pork .box_det {
    padding: 0 60px 0 12.96296%
  }
}

@media only screen and (min-width: 768px) and (min-width: 984px) and (max-width: 1199px) {
  .con_dish .box_pork .box_det {
    padding-left: 6.48148%
  }
}

@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 983px) {
  .con_dish .box_pork .box_det {
    padding: 0 5% 0 3.08642%
  }
}

@media only screen and (min-width: 768px) {
  .con_dish .box_pork .box_det .txt {
    max-width: 500px
  }
}

.con_kai .main_title, .con_bre .main_title {
  margin-bottom: 30px
}

@media only screen and (max-width: 767px) {
  .con_kai .main_title, .con_bre .main_title {
    margin-bottom: 4%
  }
}

.con_kai .box_bg_slider, .con_bre .box_bg_slider {
  position: relative;
  background: url(../images/home/bg_po01.png) repeat left top;
  margin-bottom: 40px
}

@media only screen and (max-width: 767px) {
  .con_kai .box_bg_slider, .con_bre .box_bg_slider {
    margin-bottom: 1em
  }
}

.con_kai .box_bg_slider:after, .con_bre .box_bg_slider:after {
  content: '';
  width: 100%;
  height: 33%;
  position: absolute;
  left: 0;
  bottom: 0;
  background: url(../images/home/bg_po01-2.png) repeat left bottom;
  z-index: 0
}

.con_kai .box_bg_slider .photo, .con_bre .box_bg_slider .photo {
  max-width: 1620px;
  margin: auto;
  width: 95%;
  z-index: 1;
  position: relative
}

@media only screen and (min-width: 768px) and (max-width: 983px) {
  .con_kai .box_bg_slider .photo, .con_bre .box_bg_slider .photo {
    overflow: hidden
  }
  .con_kai .box_bg_slider .photo img, .con_bre .box_bg_slider .photo img {
    position: relative;
    width: 130%;
    max-width: none;
    margin-left: -15%
  }
}

@media only screen and (max-width: 767px) {
  .con_kai .box_bg_slider .photo, .con_bre .box_bg_slider .photo {
    width: 91.66667%;
    overflow: hidden
  }
  .con_kai .box_bg_slider .photo img, .con_bre .box_bg_slider .photo img {
    position: relative;
    width: 160%;
    max-width: none;
    margin-left: -30%
  }
}

.con_kai .box_kais, .con_kai .box_bre, .con_bre .box_kais, .con_bre .box_bre {
  overflow: hidden
}

.con_kai .box_kais .txt, .con_kai .box_bre .txt, .con_bre .box_kais .txt, .con_bre .box_bre .txt {
  float: left;
  width: 48.33333%;
  margin-bottom: 2.5%
}

@media only screen and (max-width: 767px) {
  .con_kai .box_kais .txt, .con_kai .box_bre .txt, .con_bre .box_kais .txt, .con_bre .box_bre .txt {
    float: none;
    width: 100%;
    margin-bottom: 0.8em
  }
}

@media only screen and (min-width: 768px) {
  .con_kai .box_kais .box_tbl, .con_kai .box_bre .box_tbl, .con_bre .box_kais .box_tbl, .con_bre .box_bre .box_tbl {
    float: right;
    width: 46.66667%
  }
}

.con_kai .box_kais .box_tbl table, .con_kai .box_bre .box_tbl table, .con_bre .box_kais .box_tbl table, .con_bre .box_bre .box_tbl table {
  width: 100%
}

@media only screen and (min-width: 1200px) {
  .con_kai .box_kais .box_tbl table th, .con_kai .box_bre .box_tbl table th, .con_bre .box_kais .box_tbl table th, .con_bre .box_bre .box_tbl table th {
    width: 170px
  }
}

@media print {
  .con_kai .box_kais .box_tbl table th, .con_kai .box_bre .box_tbl table th, .con_bre .box_kais .box_tbl table th, .con_bre .box_bre .box_tbl table th {
    width: 170px
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_kai .box_kais .box_tbl table th, .con_kai .box_bre .box_tbl table th, .con_bre .box_kais .box_tbl table th, .con_bre .box_bre .box_tbl table th {
    width: 120px
  }
}

.con_kai {
  margin-top: 100px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_kai {
    margin-top: 10%
  }
}

@media only screen and (max-width: 767px) {
  .con_kai {
    margin-top: 4em
  }
}

.con_kai .box_kais .btn_plan {
  float: left;
  width: 300px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_kai .box_kais .btn_plan {
    clear: both
  }
}

@media only screen and (max-width: 767px) {
  .con_kai .box_kais .btn_plan {
    float: none;
    width: 94.62366%;
    margin: 0.8em auto 0
  }
}

.con_bre {
  margin-top: 80px
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_bre {
    margin-top: 10%
  }
}

@media only screen and (max-width: 767px) {
  .con_bre {
    margin-top: 3.5em
  }
}

.con_free {
  max-width: 1620px;
  margin: 120px auto 0;
  width: 95%;
  background: url(../images/common/bg01.jpg) repeat 0 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_free {
    margin-top: 12%
  }
}

@media only screen and (max-width: 1023px) {
  .con_free {
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media only screen and (max-width: 767px) {
  .con_free {
    width: 91.66667%;
    margin-top: 4em
  }
}

.con_free .box_free {
  width: 51.23457%;
  padding: 1% 2.46914%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

@media only screen and (max-width: 1023px) {
  .con_free .box_free {
    width: 100%;
    padding: 1em
  }
}

.con_free .box_free h4 {
  font-weight: normal;
  margin-bottom: 3.61446%;
  font-size: 142%;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  margin-left: .2em;
  padding-bottom: 0.25em;
  letter-spacing: .2em
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .con_free .box_free h4 {
    font-size: 130%
  }
}

@media only screen and (max-width: 767px) {
  .con_free .box_free h4 {
    margin-bottom: 0.5em;
    font-size: 118%
  }
}

@media only screen and (min-width: 1024px) {
  .con_free .box_free .txt {
    max-width: 580px
  }
}

.con_free .box_free table {
  width: 100%;
  max-width: 580px;
  margin-top: 3.61446%
}

@media only screen and (max-width: 1023px) {
  .con_free .box_free table {
    max-width: none;
    margin-top: 0.8em
  }
}

@media only screen and (min-width: 768px) {
  .con_free .box_free table th, .con_free .box_free table td {
    padding: 0.3em 1em 0.5em
  }
}

.con_free .box_free table th {
  padding-right: 0
}

@media only screen and (min-width: 768px) {
  .con_free .box_free table th {
    width: 160px
  }
}

.con_free .box_free table td ul li {
  padding-left: 1em;
  text-indent: -0.7em
}

.con_free .box_free table td ul li:before {
  content: '●';
  font-size: 59%;
  color: #e1d6b5;
  margin-right: 0.3em;
  font-family: "Yu Gothic", "游ゴシック体", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", YuGothic, "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif
}

.con_free .photo {
  width: 48.76543%
}

@media only screen and (min-width: 1200px) and (max-width: 1280px) {
  .con_free .photo {
    overflow: hidden
  }
  .con_free .photo img {
    position: relative;
    width: 120%;
    max-width: none;
    margin-left: -10%
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1199px) {
  .con_free .photo {
    overflow: hidden
  }
  .con_free .photo img {
    position: relative;
    width: 140%;
    max-width: none;
    margin-left: -20%
  }
}

@media only screen and (max-width: 1023px) {
  .con_free .photo {
    width: 100%
  }
}
.con_allergy {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
    padding-top: 120px;
    overflow: hidden;
    position: relative
}
@media only screen and(max-width: 767px) {
    .con_allergy {
        padding-top: 4em
    }
}
.con_allergy .list_opt {
    background: #706455;
    color: #fff;
    text-align: center;
    margin: 20px auto 30px;
    max-width: 1000px;
    width: 92.30769%;
    padding: 15px 15px;
}
@media only screen and(max-width: 767px) {
    .con_allergy .list_opt {
        padding: 10px 12px
    }
}
.con_allergy .main_cont {
    width: 90%;
    max-width: 1200px;
    margin: auto
}
.con_allergy .main_cont li {
    list-style: "・";
    margin-bottom: 0.75em
}