@charset "UTF-8";
/* ================================================== *
 *
 *    reset
 *
 * ================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block; }

audio, canvas, video {
  display: inline-block; }

[hidden], audio:not([controls]) {
  display: none; }

html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

body {
  margin: 0; }

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  margin: 0; }

blockquote, dd, dl, figure, p {
  margin: 0; }

hr {
  color: inherit;
  height: auto;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

pre {
  font-family: monospace, sans-serif;
  white-space: pre-wrap;
  word-wrap: break-word;
  margin: 0; }

ol, ul {
  padding: 0;
  margin: 0; }

li {
  list-style: none; }

a:focus {
  outline: dotted thin; }

a:active, a:hover {
  outline: 0; }

b, strong {
  font-weight: 700; }

small {
  font-size: .83em; }

q {
  quotes: none; }

abbr[title] {
  border-bottom: 1px dotted; }

code, kbd, samp {
  font-family: monospace, sans-serif; }

mark {
  color: #000;
  background-color: #ff0; }

sub, sup {
  font-size: .83em;
  line-height: 0;
  vertical-align: baseline;
  position: relative; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

img {
  border: 0;
  vertical-align: top;
  -ms-interpolation-mode: bicubic; }

svg:not(:root) {
  overflow: hidden; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  padding: 0;
  text-align: left; }

td, th {
  text-align: left;
  vertical-align: baseline;
  padding: 0; }

form {
  margin: 0; }

fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

legend {
  border: 0; }

button, input, select, textarea {
  font-family: inherit;
  font-size: 1em;
  color: inherit;
  margin: 0; }

button, input {
  line-height: normal;
  vertical-align: inherit; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

input[type=search]:focus {
  outline-offset: -2px; }

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; }

input[type=checkbox], input[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

button, input[type=submit], input[type=reset], input[type=button] {
  cursor: pointer;
  -webkit-appearance: button; }

select {
  line-height: normal; }

textarea {
  vertical-align: top;
  overflow: auto; }

/* ================================================== *
 *
 *    Utility
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        overflow
 * ------------------------------------------------- */
.u-ofHidden {
  overflow: hidden; }

/* ------------------------------------------------- *
 *        display
 * ------------------------------------------------- */
.u-hidden {
  display: none; }

/* ------------------------------------------------- *
 *        float
 * ------------------------------------------------- */
.u-floatL {
  float: left !important; }

.u-floatR {
  float: right !important; }

.u-clearL {
  clear: left !important; }

.u-clearR {
  clear: right !important; }

.u-clear:before, .u-clear:after {
  content: " ";
  display: table; }

.u-clear:after {
  clear: both; }

/* ------------------------------------------------- *
 *        font
 * ------------------------------------------------- */
.u-alignL {
  text-align: left !important; }

.u-alignC {
  text-align: center !important; }

.u-alignR {
  text-align: right !important; }

.u-alignT {
  vertical-align: top !important; }

.u-alignM {
  vertical-align: middle !important; }

.u-alignB {
  vertical-align: bottom !important; }

.u-fs12 {
  font-size: 12px !important; }

.u-fs14 {
  font-size: 14px !important; }

.u-fNormal {
  font-weight: 500 !important; }

.u-fBold {
  font-weight: 600 !important; }

.u-fColor1 {
  color: #000 !important; }

/* ------------------------------------------------- *
 *        margin & padding
 * ------------------------------------------------- */
.u-mt0 {
  margin-top: 0px !important; }

.u-pt0 {
  padding-top: 0px !important; }

.u-mt5 {
  margin-top: 5px !important; }

.u-pt5 {
  padding-top: 5px !important; }

.u-mt10 {
  margin-top: 10px !important; }

.u-pt10 {
  padding-top: 10px !important; }

.u-mt15 {
  margin-top: 15px !important; }

.u-pt15 {
  padding-top: 15px !important; }

.u-mt20 {
  margin-top: 20px !important; }

.u-pt20 {
  padding-top: 20px !important; }

.u-mt25 {
  margin-top: 25px !important; }

.u-pt25 {
  padding-top: 25px !important; }

.u-mt30 {
  margin-top: 30px !important; }

.u-pt30 {
  padding-top: 30px !important; }

.u-mt35 {
  margin-top: 35px !important; }

.u-pt35 {
  padding-top: 35px !important; }

.u-mt40 {
  margin-top: 40px !important; }

.u-pt40 {
  padding-top: 40px !important; }

.u-mt45 {
  margin-top: 45px !important; }

.u-pt45 {
  padding-top: 45px !important; }

.u-mt50 {
  margin-top: 50px !important; }

.u-pt50 {
  padding-top: 50px !important; }

.u-mr0 {
  margin-right: 0px !important; }

.u-pr0 {
  padding-right: 0px !important; }

.u-mr5 {
  margin-right: 5px !important; }

.u-pr5 {
  padding-right: 5px !important; }

.u-mr10 {
  margin-right: 10px !important; }

.u-pr10 {
  padding-right: 10px !important; }

.u-mr15 {
  margin-right: 15px !important; }

.u-pr15 {
  padding-right: 15px !important; }

.u-mr20 {
  margin-right: 20px !important; }

.u-pr20 {
  padding-right: 20px !important; }

.u-mr25 {
  margin-right: 25px !important; }

.u-pr25 {
  padding-right: 25px !important; }

.u-mr30 {
  margin-right: 30px !important; }

.u-pr30 {
  padding-right: 30px !important; }

.u-mr35 {
  margin-right: 35px !important; }

.u-pr35 {
  padding-right: 35px !important; }

.u-mr40 {
  margin-right: 40px !important; }

.u-pr40 {
  padding-right: 40px !important; }

.u-mr45 {
  margin-right: 45px !important; }

.u-pr45 {
  padding-right: 45px !important; }

.u-mr50 {
  margin-right: 50px !important; }

.u-pr50 {
  padding-right: 50px !important; }

.u-mb0 {
  margin-bottom: 0px !important; }

.u-pb0 {
  padding-bottom: 0px !important; }

.u-mb5 {
  margin-bottom: 5px !important; }

.u-pb5 {
  padding-bottom: 5px !important; }

.u-mb10 {
  margin-bottom: 10px !important; }

.u-pb10 {
  padding-bottom: 10px !important; }

.u-mb15 {
  margin-bottom: 15px !important; }

.u-pb15 {
  padding-bottom: 15px !important; }

.u-mb20 {
  margin-bottom: 20px !important; }

.u-pb20 {
  padding-bottom: 20px !important; }

.u-mb25 {
  margin-bottom: 25px !important; }

.u-pb25 {
  padding-bottom: 25px !important; }

.u-mb30 {
  margin-bottom: 30px !important; }

.u-pb30 {
  padding-bottom: 30px !important; }

.u-mb35 {
  margin-bottom: 35px !important; }

.u-pb35 {
  padding-bottom: 35px !important; }

.u-mb40 {
  margin-bottom: 40px !important; }

.u-pb40 {
  padding-bottom: 40px !important; }

.u-mb45 {
  margin-bottom: 45px !important; }

.u-pb45 {
  padding-bottom: 45px !important; }

.u-mb50 {
  margin-bottom: 50px !important; }

.u-pb50 {
  padding-bottom: 50px !important; }

.u-ml0 {
  margin-left: 0px !important; }

.u-pl0 {
  padding-left: 0px !important; }

.u-ml5 {
  margin-left: 5px !important; }

.u-pl5 {
  padding-left: 5px !important; }

.u-ml10 {
  margin-left: 10px !important; }

.u-pl10 {
  padding-left: 10px !important; }

.u-ml15 {
  margin-left: 15px !important; }

.u-pl15 {
  padding-left: 15px !important; }

.u-ml20 {
  margin-left: 20px !important; }

.u-pl20 {
  padding-left: 20px !important; }

.u-ml25 {
  margin-left: 25px !important; }

.u-pl25 {
  padding-left: 25px !important; }

.u-ml30 {
  margin-left: 30px !important; }

.u-pl30 {
  padding-left: 30px !important; }

.u-ml35 {
  margin-left: 35px !important; }

.u-pl35 {
  padding-left: 35px !important; }

.u-ml40 {
  margin-left: 40px !important; }

.u-pl40 {
  padding-left: 40px !important; }

.u-ml45 {
  margin-left: 45px !important; }

.u-pl45 {
  padding-left: 45px !important; }

.u-ml50 {
  margin-left: 50px !important; }

.u-pl50 {
  padding-left: 50px !important; }

/* ================================================== *
 *
 *    BASE
 *
 * ================================================== */
html {
  min-width: 1140px;
  color: #000;
  font-size: 10px;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500; }

a {
  color: #000;
  text-decoration: none;
  -webkit-transition: color linear 0.2s;
  transition: color linear 0.2s; }

a:active,
a:hover {
  color: #eb5d14; }

a:focus,
*:focus {
  outline: none; }

/* ================================================== *
 *
 *    PAGE LAYOUT
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        header
 * ------------------------------------------------- */
.header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1140px;
  height: 90px;
  margin: 0 auto; }

.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto 0 0; }

.header__logoMainLabel {
  display: block;
  margin: 28px 0 0; }

.header__logoSubLabel {
  display: block;
  margin: 5px 0 0 20px; }

.header__utility {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 0 auto; }
  .header__utility > li {
    margin-left: 10px; }

/* ------------------------------------------------- *
 *        gnav
 * ------------------------------------------------- */
.gnav {
  width: 100%;
  border-top: 1px solid #dcdcdc; }

.gnav__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1140px;
  height: 60px;
  margin: auto;
  font-size: 1.6rem;
  text-align: center; }
  .gnav__menu > li {
    position: relative;
    width: 360px; }
    .gnav__menu > li:first-child {
      width: 60px; }
    .gnav__menu > li:before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 1px;
      display: block;
      width: 1px;
      height: 32px;
      background: #f0f0f0;
      margin: auto; }
    .gnav__menu > li:last-child:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1px;
      display: block;
      width: 1px;
      height: 32px;
      background: #f0f0f0;
      margin: auto; }
    .gnav__menu > li > a {
      display: block;
      line-height: 60px; }
      .gnav__menu > li > a > img {
        vertical-align: middle;
        -webkit-transition: opacity linear 0.2s;
        transition: opacity linear 0.2s; }
      .gnav__menu > li > a:hover img {
        opacity: .5; }
    .gnav__menu > li.-current:before {
      display: none; }
    .gnav__menu > li.-current > a {
      background: #fffbf0;
      color: #eb5d14;
      font-weight: bold; }
      .gnav__menu > li.-current > a:before {
        content: "";
        position: absolute;
        top: -1px;
        left: 0;
        display: block;
        width: 100%;
        height: 2px;
        background: #eb5d14; }
      .gnav__menu > li.-current > a:after {
        content: "";
        position: absolute;
        right: 0;
        bottom: -8px;
        left: 0;
        width: 0;
        height: 0;
        margin: auto;
        border-style: solid;
        border-width: 8px 5px 0 5px;
        border-color: #fffbf0 transparent transparent transparent; }
    .gnav__menu > li:nth-child(4).-current > a:after {
      display: none; }

/* ------------------------------------------------- *
 *        contents
 * ------------------------------------------------- */
/* ------------------------------------------------- *
 *        main
 * ------------------------------------------------- */
/* ------------------------------------------------- *
 *        footer
 * ------------------------------------------------- */
.footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1140px;
  margin: 0 auto;
  padding: 18px 0;
  background: #fff; }

.footer__logo {
  margin: 0 0 0 -6px; }

.footer__copyright {
  margin: 0 0 0 24px; }
  .footer__copyright small {
    font-size: 1.2rem; }

/* ================================================== *
 *
 *    TITLE
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        title1
 * ------------------------------------------------- */
.title1 {
  font-size: 2.4rem;
  font-weight: bold; }
  .title1.-iconAllergy:before {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    margin-right: 12px;
    background: url(/assets/image/icon_allergy1_01.png) no-repeat 0 0;
    vertical-align: middle; }
  .title1.-iconBalloon:before {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    margin-right: 12px;
    background: url(/assets/image/icon_balloon1_01.png) no-repeat 0 0;
    vertical-align: middle; }
  .title1.-iconHeart:before {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    margin-right: 12px;
    background: url(/assets/image/icon_heart1_01.png) no-repeat 0 0;
    vertical-align: middle; }
  .title1.-iconMedia:before {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    margin-right: 12px;
    background: url(/assets/image/icon_media1_01.png) no-repeat 0 0;
    vertical-align: middle; }
  .title1.-type1 {
    text-align: center;
    text-shadow: 0 2px 1px white; }
    .title1.-type1:before {
      display: block;
      margin: 0 auto 5px; }

/* ------------------------------------------------- *
 *        title2
 * ------------------------------------------------- */
.title2 {
  margin: 40px 0 0;
  color: #501e0a;
  font-size: 2.2rem;
  font-weight: bold; }

.grid1__unit > .title2:first-child,
.inFrame1 > .title2:first-child {
  margin-top: 0; }

/* ------------------------------------------------- *
 *        title3
 * ------------------------------------------------- */
.title3 {
  text-align: center;
  font-size: 3rem;
  line-height: 1.4;
  font-weight: bold; }
  .title3 > span {
    font-size: 2rem; }
  .title3.-type1 {
    text-align: left; }
    .title3.-type1 .-icon {
      display: inline-block;
      width: 40px;
      height: 40px;
      margin: 0 5px 0 0;
      line-height: 40px;
      border-radius: 50%;
      background: #eb5d14;
      color: #fff;
      font-size: 1.8rem;
      text-align: center;
      vertical-align: 2px;
      font-weight: bold; }

/* ------------------------------------------------- *
 *        title4
 * ------------------------------------------------- */
.title4 {
  margin: 15px 0 0;
  color: #eb5d14;
  font-size: 2rem;
  font-weight: bold; }

/* ------------------------------------------------- *
 *        title5
 * ------------------------------------------------- */
.title5 {
  position: relative;
  padding: 20px 0;
  border-bottom: 3px solid #ccc; }
  .title5:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 35px;
    display: block;
    width: 159px;
    height: 199px;
    background: url(/assets/image/img_allergy_diacrisis_01.png) no-repeat 0 0; }

.title5__label {
  text-align: center;
  font-size: 3rem;
  font-weight: bold; }
  .title5__label .-sub {
    display: block;
    font-size: 20px; }

.title5__icon {
  display: table;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100px;
  width: 88px;
  height: 88px;
  margin: auto;
  border: 3px solid #eb5d14;
  border-radius: 50%;
  background: #fff;
  color: #eb5d14;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: bold; }
  .title5__icon .-inner {
    display: table-cell;
    vertical-align: middle; }
  .title5__icon .-sub {
    font-size: 1.4rem; }
  .title5__icon .-num {
    font-size: 2.4rem; }

/* ------------------------------------------------- *
 *        title6
 * ------------------------------------------------- */
.title6 {
  color: #501e0a;
  font-size: 1.6rem;
  font-weight: bold; }
  .title6.-iconBalloon:before {
    content: "";
    display: inline-block;
    width: 31px;
    height: 27px;
    margin-right: 7px;
    background: url(/assets/image/icon_balloon1_02.png) no-repeat 0 0;
    vertical-align: middle; }

/* ------------------------------------------------- *
 *        title7
 * ------------------------------------------------- */
.title7 {
  color: #501e0a;
  font-size: 2.4rem;
  font-weight: bold; }
  .title7 > span {
    font-size: 1.6rem; }

/* ------------------------------------------------- *
 *        title8
 * ------------------------------------------------- */
.title8 {
  margin: 26px 0 0;
  padding: 26px 0 0;
  border-top: 1px solid #ccc;
  color: #eb5d14;
  font-size: 2rem;
  font-weight: bold; }

/* ================================================== *
 *
 *    TEXT
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        text1
 * ------------------------------------------------- */
.text1 {
  margin: 15px 0 0; }
  .text1 .lead1 {
    font-size: 1.8rem;
    font-weight: bold; }
    .text1 .lead1 .-small {
      font-size: 1.4rem; }
  .text1 .lead2 {
    text-align: center;
    font-weight: bold; }
  .text1 .lead3 {
    text-align: center;
    font-size: 2.2rem;
    font-weight: bold; }
  .text1 p {
    margin: 15px 0 0;
    font-size: 1.4rem; }
    .text1 p:first-of-type {
      margin-top: 0; }
    .text1 p.-type1 {
      text-align: center;
      text-shadow: 0 2px 1px white; }
    .text1 p.-type2 {
      color: #fff;
      text-align: center;
      font-size: 1.8rem;
      font-weight: bold;
      text-shadow: 0 2px 1px black; }
    .text1 p.-indent {
      text-indent: -1em;
      margin-left: 1em; }
    .text1 p .-bold {
      color: #501e0a;
      font-weight: bold; }
    .text1 p .-bold2 {
      color: #eb5d14;
      font-weight: bold; }
  .text1.-type1 p {
    margin-top: 20px;
    font-size: 1.6rem;
    line-height: 1.8; }
    .text1.-type1 p:first-of-type {
      margin-top: 0; }
  .text1.-type2 p {
    margin-top: 30px;
    font-size: 1.6rem;
    line-height: 1.8; }
    .text1.-type2 p:first-of-type {
      margin-top: 0; }

/* ------------------------------------------------- *
 *        notes1
 * ------------------------------------------------- */
.notes1 {
  margin: 20px 0 0;
  font-size: 1.4rem; }
  .notes1 > li {
    position: relative;
    padding: 0 0 0 1.2em; }
    .notes1 > li:before {
      content: "※";
      position: absolute;
      top: 0;
      left: 0; }
    .notes1 > li.-center {
      padding-left: 0;
      text-align: center; }
      .notes1 > li.-center:before {
        margin-right: 0.5em;
        position: static; }
    .notes1 > li.-right {
      padding-left: 0;
      text-align: right; }
      .notes1 > li.-right:before {
        margin-right: 0.5em;
        position: static; }
  .notes1 a {
    text-decoration: underline; }

/* ================================================== *
 *
 *    LIST
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        list1
 * ------------------------------------------------- */
.list1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .list1 > li {
    margin: 0 0 0 25px; }
    .list1 > li:first-child {
      margin-left: 0; }

/* ------------------------------------------------- *
 *        list2
 * ------------------------------------------------- */
.list2 {
  margin: 10px 0 0;
  font-size: 1.6rem; }
  .list2 > li {
    position: relative;
    margin: 5px 0 0;
    padding: 0 0 0 1.2em; }
    .list2 > li:before {
      content: "●";
      position: absolute;
      left: 0;
      color: #eb5d14; }

/* ------------------------------------------------- *
 *        list3
 * ------------------------------------------------- */
.list3 {
  overflow: hidden;
  margin: 15px 0 0;
  font-size: 1.6rem; }
  .list3 > li {
    position: relative;
    float: left;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    margin: 5px 0 0;
    padding: 0 0 0 1.2em;
    font-weight: normal; }
    .list3 > li:before {
      content: "●";
      position: absolute;
      left: 0;
      color: #eb5d14; }
    .list3 > li:nth-child(2n+1) {
      clear: both; }

/* ------------------------------------------------- *
 *        list4
 * ------------------------------------------------- */
.list4 {
  overflow: hidden;
  margin: 15px 0 0;
  font-size: 1.4rem; }
  .list4 > li {
    float: left;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    margin: 5px 0 0;
    font-weight: normal; }
    .list4 > li:nth-child(2n+1) {
      clear: both; }
  .list4.-type1 > li {
    float: none;
    width: 100%; }

/* ------------------------------------------------- *
 *        list5
 * ------------------------------------------------- */
.list5 {
  margin: 15px 0 0;
  font-size: 1.6rem;
  counter-reset: olcount1; }
  .list5 > li {
    counter-increment: olcount1;
    position: relative;
    margin: 15px 0 0 0;
    padding: 0 0 0 40px;
    font-weight: normal; }
    .list5 > li:before {
      content: counter(olcount1);
      position: absolute;
      top: -2px;
      left: 0;
      display: block;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #eb5d14;
      color: #fff;
      text-align: center;
      font-size: 1.6rem;
      line-height: 30px;
      font-weight: bold; }

/* ------------------------------------------------- *
 *        list6
 * ------------------------------------------------- */
.list6 {
  margin: 15px 0 0;
  font-size: 1.6rem; }
  .list6 > dt {
    clear: both;
    float: left;
    width: 13em; }
  .list6 > dd {
    margin-left: 14em; }

/* ================================================== *
 *
 *    link
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        link1
 * ------------------------------------------------- */
.link1 {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  font-size: 1.4rem;
  font-weight: bold; }
  .link1:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 7px;
    height: 13px;
    margin: auto;
    background: url(/assets/image/icon_arw1_right1.png) no-repeat 0 0; }

/* ------------------------------------------------- *
 *        banner1
 * ------------------------------------------------- */
.banner1 {
  width: 550px;
  margin: 0 auto; }
  .banner1 a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    border-radius: 7px;
    border: 1px solid #eb5d14;
    background: #fff;
    -webkit-transition: all linear 0.2s;
    transition: all linear 0.2s; }
    .banner1 a:hover {
      background: #eb5d14;
      color: #fff; }
      .banner1 a:hover .banner1__title:before {
        background: url(/assets/image/icon_arw1_right2.png) no-repeat 0 0; }

.banner1__image {
  width: 99px;
  min-width: 99px; }
  .banner1__image img {
    width: 100%;
    height: auto; }

.banner1__body {
  margin: 0 30px 0 36px;
  padding: 10px 0; }

.banner1__title {
  position: relative;
  font-size: 1.6rem;
  font-weight: bold; }
  .banner1__title:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -16px;
    width: 7px;
    height: 13px;
    margin: auto;
    background: url(/assets/image/icon_arw1_right1.png) no-repeat 0 0;
    -webkit-transition: background linear 0.2s;
    transition: background linear 0.2s; }

.banner1__text {
  width: 383px;
  min-height: 3em;
  margin: 5px 0 0;
  font-size: 1.2rem; }

/* ================================================== *
 *
 *    BUTTON
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        button1
 * ------------------------------------------------- */
.button1 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  min-width: 180px;
  padding: 6px 29px;
  border: 1px solid #eb5d14;
  border-radius: 40px;
  background: #fff;
  text-align: center;
  color: #eb5d14;
  font-size: 1.6rem;
  font-weight: bold;
  -webkit-transition: background linear 0.2s, color linear 0.2s;
  transition: background linear 0.2s, color linear 0.2s; }
  .button1:hover {
    background: #eb5d14;
    color: #fff; }
  .button1.-important {
    background: #eb5d14;
    color: #fff; }
    .button1.-important:hover {
      background: #fff;
      color: #eb5d14; }
  .button1.-medium {
    min-width: 280px;
    padding: 10px 80px;
    font-size: 2rem; }
  .button1.-medium2 {
    min-width: 280px;
    padding: 5px 5px;
    font-size: 1.6rem;
    line-height: 1.3; }
  .button1.-iconMail {
    position: relative;
    padding-right: 62px;
    padding-left: 62px;
    font-size: 1.8rem; }
    .button1.-iconMail:before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 15px;
      display: block;
      width: 21px;
      height: 16px;
      margin: auto;
      background: url(/assets/image/icon_mail1_01.png) no-repeat 0 0;
      -webkit-transition: background linear 0.2s;
      transition: background linear 0.2s; }
    .button1.-iconMail:hover:before {
      background: url(/assets/image/icon_mail1_02.png) no-repeat 0 0; }
    .button1.-iconMail.-medium {
      padding: 10px 100px;
      font-size: 2rem; }
      .button1.-iconMail.-medium:before {
        left: 18px;
        display: block;
        width: 31px;
        height: 24px;
        margin: auto;
        background: url(/assets/image/icon_mail1_03.png) no-repeat 0 0;
        -webkit-transition: background linear 0.2s;
        transition: background linear 0.2s; }
      .button1.-iconMail.-medium:hover:before {
        background: url(/assets/image/icon_mail1_04.png) no-repeat 0 0; }
    .button1.-iconMail.-large {
      padding-right: 92px;
      padding-left: 92px;
      font-size: 2.8rem; }
      .button1.-iconMail.-large:before {
        left: 28px;
        display: block;
        width: 31px;
        height: 24px;
        margin: auto;
        background: url(/assets/image/icon_mail1_03.png) no-repeat 0 0;
        -webkit-transition: background linear 0.2s;
        transition: background linear 0.2s; }
      .button1.-iconMail.-large:hover:before {
        background: url(/assets/image/icon_mail1_04.png) no-repeat 0 0; }
  .button1.-iconChart {
    position: relative;
    padding-right: 62px;
    padding-left: 62px;
    font-size: 1.8rem; }
    .button1.-iconChart:before {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 15px;
      display: block;
      width: 19px;
      height: 26px;
      margin: auto;
      background: url(/assets/image/icon_chart1_01.png) no-repeat 0 0;
      -webkit-transition: background linear 0.2s;
      transition: background linear 0.2s; }
    .button1.-iconChart:hover:before {
      background: url(/assets/image/icon_chart1_02.png) no-repeat 0 0; }
    .button1.-iconChart.-medium {
      padding: 10px 100px;
      font-size: 2rem; }
      .button1.-iconChart.-medium:before {
        left: 18px;
        display: block;
        width: 29px;
        height: 39px;
        margin: auto;
        background: url(/assets/image/icon_chart1_03.png) no-repeat 0 0;
        -webkit-transition: background linear 0.2s;
        transition: background linear 0.2s; }
      .button1.-iconChart.-medium:hover:before {
        background: url(/assets/image/icon_chart1_04.png) no-repeat 0 0; }
    .button1.-iconChart.-large {
      padding-right: 92px;
      padding-left: 92px;
      font-size: 2.8rem; }
      .button1.-iconChart.-large:before {
        left: 24px;
        display: block;
        width: 29px;
        height: 39px;
        margin: auto;
        background: url(/assets/image/icon_chart1_03.png) no-repeat 0 0;
        -webkit-transition: background linear 0.2s;
        transition: background linear 0.2s; }
      .button1.-iconChart.-large:hover:before {
        background: url(/assets/image/icon_chart1_04.png) no-repeat 0 0; }
  .button1.-iconExternal {
    position: relative;
    padding-right: 48px;
    padding-left: 48px; }
    .button1.-iconExternal:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 15px;
      display: block;
      width: 9px;
      height: 7px;
      margin: auto;
      background: url(/assets/image/icon_external1_01.png) no-repeat 0 0;
      -webkit-transition: background linear 0.2s;
      transition: background linear 0.2s; }
    .button1.-iconExternal:hover:after {
      background: url(/assets/image/icon_external1_02.png) no-repeat 0 0; }

/* ------------------------------------------------- *
 *        btnset1
 * ------------------------------------------------- */
.btnset1 {
  margin: 40px auto 0;
  text-align: center; }

/* ------------------------------------------------- *
 *        btnset2
 * ------------------------------------------------- */
.btnset2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 40px auto 0; }
  .btnset2 > li {
    margin: 0 10px; }
  .btnset2.-gutter40 > li {
    margin: 0 20px; }

/* ================================================== *
 *
 *    IMAGE
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        image1
 * ------------------------------------------------- */
.image1 {
  margin: 20px 0 0;
  text-align: center; }

/* ------------------------------------------------- *
 *        floatImage1
 * ------------------------------------------------- */
.floatImage1 {
  float: right;
  margin: 0 0 40px 40px; }

/* ------------------------------------------------- *
 *        fig1
 * ------------------------------------------------- */
.fig1 {
  margin: 15px 0 0;
  padding: 30px;
  background: #fff; }

.fig1__title {
  color: #eb5d14;
  text-align: center;
  font-size: 2rem;
  font-weight: bold; }

.fig1__image {
  margin: 25px 0 0;
  text-align: center; }

.fig1__text {
  margin: 25px 0 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold; }
  .fig1__text > span {
    color: #eb5d14; }

.fig1__caption {
  margin: 25px 0 0;
  text-align: right;
  font-size: 1rem; }

.fig1__caption2 {
  margin: 15px 0 0;
  text-align: right;
  font-size: 1.2rem; }

/* ------------------------------------------------- *
 *        fig2
 * ------------------------------------------------- */
.fig2 {
  margin: 30px 0 0;
  padding: 24px 29px 24px 350px;
  border: 1px solid #ccc;
  background: #fcfaf5 url(/assets/image/bg_medical_index_03.jpg) no-repeat 0 0;
  background-size: contain; }

.fig2__list {
  margin: 0;
  font-size: 1.6rem; }
  .fig2__list > li {
    position: relative;
    margin: 5px 0 0;
    padding: 0 0 0 1.2em; }
    .fig2__list > li:before {
      content: "●";
      position: absolute;
      left: 0;
      color: #eb5d14; }
    .fig2__list > li:first-child {
      margin-top: 0; }
    .fig2__list > li .-bold {
      color: #501e0a;
      font-weight: bold; }

/* ------------------------------------------------- *
 *        fig3
 * ------------------------------------------------- */
.fig3 {
  width: 800px;
  margin: 30px auto 0; }

.fig3__title {
  color: #eb5d14;
  text-align: center;
  font-size: 2rem;
  font-weight: bold; }

.fig3__table {
  width: 100%;
  margin: 15px 0;
  font-size: 1.6rem; }
  .fig3__table th,
  .fig3__table td {
    padding: 14px 17px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 1px solid #ccc; }
    .fig3__table th.-w330,
    .fig3__table td.-w330 {
      width: 330px; }
    .fig3__table th.-w400,
    .fig3__table td.-w400 {
      width: 400px; }
    .fig3__table th.-center,
    .fig3__table td.-center {
      text-align: center;
      vertical-align: middle; }
  .fig3__table th {
    background: #e6e6e6;
    font-weight: bold; }
  .fig3__table td {
    background: #fff; }
    .fig3__table td.-type1 {
      background: #fef7f3; }
  .fig3__table tr:nth-child(even) td {
    background-color: #fafafa; }
    .fig3__table tr:nth-child(even) td.-type1 {
      background-color: #fce7dc; }
  .fig3__table tr.-type1 td {
    background-image: url(/assets/image/icon_confrontation_01.png);
    background-repeat: no-repeat; }
    .fig3__table tr.-type1 td:first-child {
      border-right: none;
      background-position: 374px 50%; }
    .fig3__table tr.-type1 td:nth-child(2) {
      border-left: none;
      background-position: -23px 50%; }
  .fig3__table thead th {
    padding-top: 5px;
    padding-bottom: 5px;
    border-color: #aaa;
    background: #aaa;
    color: #fff;
    font-size: 1.8rem; }
    .fig3__table thead th.-type1 {
      border-color: #eb5d14;
      background: #eb5d14; }
    .fig3__table thead th.-bdr {
      border-right-color: #fff; }
    .fig3__table thead th + th.-type1 {
      border-left-color: #fff; }
  .fig3__table thead td {
    padding-top: 5px;
    padding-bottom: 5px;
    background: #e6e6e6; }
  .fig3__table tfoot th {
    background: #f0f0f0;
    font-size: 1.8rem; }
    .fig3__table tfoot th.-type1 {
      background: #fad5c4;
      color: #eb5d14; }
  .fig3__table tfoot td {
    padding-top: 5px;
    padding-bottom: 5px;
    background: #e6e6e6; }

/* ================================================== *
 *
 *    Table
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        table1
 * ------------------------------------------------- */
.table1 {
  margin: 30px 0 0; }

.table1__table {
  width: 100%; }
  .table1__table th,
  .table1__table td {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 30px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    vertical-align: middle; }
    .table1__table th.-center,
    .table1__table td.-center {
      text-align: center; }
  .table1__table th {
    background: #fff4eb;
    font-size: 1.8rem;
    font-weight: bold; }
    .table1__table th.-w750 {
      width: 750px; }
  .table1__table td {
    background: #fff;
    font-size: 1.6rem; }
    .table1__table td .-price {
      color: #eb5d14;
      font-size: 2.4rem;
      font-weight: bold; }
    .table1__table td .-num {
      font-size: 4rem; }

/* ------------------------------------------------- *
 *        table2
 * ------------------------------------------------- */
.table2 {
  margin: 30px 0 0; }

.table2__table {
  width: 100%; }
  .table2__table tr th,
  .table2__table tr td {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 30px;
    border-bottom: 1px solid #ccc;
    font-size: 1.6rem; }
  .table2__table tr:first-child th,
  .table2__table tr:first-child td {
    border-top: 1px solid #ccc; }
  .table2__table tr th {
    white-space: nowrap; }
    .table2__table tr th.-w250 {
      width: 250px; }
  .table2__table tr:nth-child(odd) th {
    background: #fafafa; }
  .table2__table tr:nth-child(even) th {
    background: #f0f0f0; }
  .table2__table tr td {
    background: #fff; }

/* ================================================== *
 *
 *    Grid
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        grid1
 * ------------------------------------------------- */
.grid1 .grid1__unit {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 33.33%; }

.grid1.-gutter10 {
  margin-right: -6px;
  margin-left: -5px; }
  .grid1.-gutter10 .grid1__unit {
    padding-right: 6px;
    padding-left: 5px; }

.grid1.-gutter30 {
  margin-right: -15px;
  margin-left: -15px; }
  .grid1.-gutter30 .grid1__unit {
    padding-right: 15px;
    padding-left: 15px; }

.grid1.-gutter40 {
  margin-right: -20px;
  margin-left: -20px; }
  .grid1.-gutter40 .grid1__unit {
    padding-right: 20px;
    padding-left: 20px; }

.grid1.-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.grid1.-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .grid1.-col2 .grid1__unit {
    width: 50%; }
  .grid1.-col2.-type1 .grid1__unit {
    width: 750px; }
    .grid1.-col2.-type1 .grid1__unit:first-child {
      width: 360px; }
  .grid1.-col2.-type2 .grid1__unit {
    width: 780px; }
    .grid1.-col2.-type2 .grid1__unit:first-child {
      width: 390px; }

.grid1.-col3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .grid1.-col3 .grid1__unit {
    width: 33.33%; }

.grid1.-col4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .grid1.-col4 .grid1__unit {
    width: 25%; }

/* ================================================== *
 *
 *    FORM
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        form1
 * ------------------------------------------------- */
.form1__table {
  width: 100%;
  border-bottom: 1px solid #ccc; }
  .form1__table th,
  .form1__table td {
    border-top: 1px solid #ccc;
    vertical-align: middle;
    font-size: 1.6rem; }
  .form1__table th {
    width: 270px; }
  .form1__table td {
    padding: 30px 0 30px 30px; }
  .form1__table tr:nth-child(odd) th {
    background: #fafafa; }
  .form1__table tr:nth-child(even) th {
    background: #f0f0f0; }
  .form1__table .form1__tableInner {
    position: relative;
    padding: 30px; }
  .form1__table .form1__tableTitle {
    margin: 10px 0 0 0;
    font-weight: bold; }
  .form1__table .form1__tableNotes {
    font-size: 1.4rem;
    font-weight: normal; }
    .form1__table .form1__tableNotes > li {
      position: relative;
      margin: 5px 0 0;
      padding: 0 0 0 1.2em; }
      .form1__table .form1__tableNotes > li:before {
        content: "※";
        position: absolute;
        top: 0;
        left: 0; }
  .form1__table .form1__tableRequired {
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    display: block;
    width: 64px;
    height: 24px;
    margin: auto;
    background: #d92202;
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
    line-height: 24px;
    font-weight: bold; }

/* ------------------------------------------------- *
 *        formText1
 * ------------------------------------------------- */
.formText1 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 240px;
  height: 40px;
  padding: 0 15px;
  border: none;
  background: #fafafa;
  font-size: 1.6rem;
  line-height: 40px;
  -webkit-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3) inset;
          box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3) inset; }
  .formText1.-w400 {
    width: 400px; }
  .formText1:placeholder-shown {
    color: #aaa; }
  .formText1::-webkit-input-placeholder {
    color: #aaa; }
  .formText1:-moz-placeholder {
    color: #aaa;
    opacity: 1; }
  .formText1::-moz-placeholder {
    color: #aaa;
    opacity: 1; }
  .formText1:-ms-input-placeholder {
    color: #aaa; }

.formText1__caption {
  display: block;
  margin: 5px 0 0 0;
  font-size: 1.4rem; }

/* ------------------------------------------------- *
 *        formTextArea1
 * ------------------------------------------------- */
.formTextArea1 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 660px;
  height: calc(4.5em + 10px);
  padding: 5px 15px;
  border: none;
  background: #fafafa;
  font-size: 1.6rem;
  line-height: 1.5;
  -webkit-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3) inset;
          box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3) inset; }
  .formTextArea1:placeholder-shown {
    color: #aaa; }
  .formTextArea1::-webkit-input-placeholder {
    color: #aaa; }
  .formTextArea1:-moz-placeholder {
    color: #aaa;
    opacity: 1; }
  .formTextArea1::-moz-placeholder {
    color: #aaa;
    opacity: 1; }
  .formTextArea1:-ms-input-placeholder {
    color: #aaa; }

/* ------------------------------------------------- *
 *        formCheckbox1
 * ------------------------------------------------- */
.formCheckbox1 {
  position: relative; }
  .formCheckbox1 input {
    margin-right: 10px;
    vertical-align: 2px; }
  .formCheckbox1 .-check:before {
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    width: 1.1em;
    height: 1.1em;
    background: #fafafa;
    -webkit-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3) inset;
            box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.3) inset; }
  .formCheckbox1 input:checked + .-check:before {
    background: #eb5d14 url(/assets/image/icon_check_01.png) no-repeat 50% 50%;
    -webkit-box-shadow: none;
            box-shadow: none; }
  .formCheckbox1 .-notes {
    display: inline-block;
    font-size: 1.2rem; }
  .formCheckbox1 .-notes2 {
    display: block;
    margin: 2px 0 0 1.5em;
    font-size: 1.2rem; }

/* ------------------------------------------------- *
 *        formCheckbox2
 * ------------------------------------------------- */
.formCheckbox2 {
  position: relative;
  display: inline-block;
  padding: 0 0 0 35px; }
  .formCheckbox2 input {
    position: absolute;
    top: 2px;
    left: 2px; }
  .formCheckbox2 .-check:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: block;
    width: 24px;
    height: 24px;
    background: url(/assets/image/icon_check_02.png) no-repeat 50% 50%; }
  .formCheckbox2 input:checked + .-check:before {
    background: url(/assets/image/icon_check_02_on.png) no-repeat 50% 50%; }

/* ------------------------------------------------- *
 *        formCheckboxSet1
 * ------------------------------------------------- */
.formCheckboxSet1 {
  overflow: hidden; }
  .formCheckboxSet1 label {
    float: left;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    width: 50%;
    margin: 5px 0 0 0; }
    .formCheckboxSet1 label:nth-child(2n+1) {
      clear: both; }

/* ================================================== *
 *
 *    FRAME
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        frame1
 * ------------------------------------------------- */
.frame1 {
  width: 100%; }
  .frame1.-type1 {
    background: #fcfaf5; }

.frame1__inner {
  width: 1140px;
  margin: 0 auto;
  padding: 40px 0 60px; }

/* ------------------------------------------------- *
 *        frame2
 * ------------------------------------------------- */
.frame2 {
  width: 100%; }

.frame2__inner {
  width: 990px;
  margin: 0 auto;
  padding: 40px 0 60px; }
  .frame2.-type1 .frame2__inner {
    width: 800px; }

/* ------------------------------------------------- *
 *        frame3
 * ------------------------------------------------- */
.frame3 {
  width: 100%; }

.frame3__inner {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 873px;
  margin: 37px auto 0;
  padding: 87px 76px 175px 77px;
  background: url(/assets/image/bg_allergy_diacrisis_02.png) repeat-y 0 0; }
  .frame3__inner:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 873px;
    height: 87px;
    background: #fff url(/assets/image/bg_allergy_diacrisis_01.png) no-repeat 0 0; }
  .frame3__inner:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 873px;
    height: 145px;
    background: #fff url(/assets/image/bg_allergy_diacrisis_03.png) no-repeat 0 0; }

/* ------------------------------------------------- *
 *        topframe1
 * ------------------------------------------------- */
.topframe1 {
  width: 100%;
  margin: 0 auto;
  padding: 125px 0 0;
  background: url(/assets/image/bg_top1_01.jpg) no-repeat 50% 100%;
  background-size: cover; }

.topframe1__inner {
  width: 1140px;
  margin: 0 auto;
  padding: 40px 0 50px; }

/* ------------------------------------------------- *
 *        topframe2
 * ------------------------------------------------- */
.topframe2 {
  width: 100%;
  margin: 0 auto;
  background: #fdfcfa url(/assets/image/bg_top2_01.jpg) no-repeat 50% 0; }
  @media screen and (min-width: 1600px) {
    .topframe2 {
      background-size: 100% auto; } }

.topframe2__inner {
  width: 1140px;
  margin: 0 auto;
  padding: 40px 0 60px; }

/* ------------------------------------------------- *
 *        topframe3
 * ------------------------------------------------- */
.topframe3 {
  width: 100%;
  margin: 0 auto;
  background: url(/assets/image/bg_top3_01.jpg) no-repeat 50% 50%;
  background-size: cover; }

.topframe3__inner {
  width: 1140px;
  margin: 0 auto;
  padding: 60px 0;
  text-align: center; }

/* ------------------------------------------------- *
 *        topframe4
 * ------------------------------------------------- */
.topframe4 {
  width: 100%;
  background: url(/assets/image/bg_top4_01.jpg) no-repeat 50% 50%;
  background-size: cover;
  margin: 0 auto -30px; }

.topframe4__inner {
  width: 1140px;
  margin: 0 auto;
  padding: 60px 0; }

/* ------------------------------------------------- *
 *        nextframe1
 * ------------------------------------------------- */
.nextframe1 {
  width: 100%;
  margin: 60px auto 0; }
  .nextframe1.-allergy {
    background: url(/assets/image/bg_allergy_index_02.jpg) no-repeat 50% 0;
    background-size: cover; }
  .nextframe1.-positive {
    background: url(/assets/image/bg_allergy_positive_01.jpg) no-repeat 50% 0;
    background-size: cover; }
  .nextframe1.-medical {
    background: url(/assets/image/bg_medical_index_02.jpg) no-repeat 50% 0;
    background-size: cover; }

.nextframe1__inner {
  width: 1140px;
  margin: 0 auto;
  padding: 40px 0;
  text-align: center; }

/* ------------------------------------------------- *
 *        inFrame1
 * ------------------------------------------------- */
.inFrame1 {
  margin: 60px 0 0;
  padding: 20px 0 0;
  border-top: 3px solid #dad6d4; }

/* ------------------------------------------------- *
 *        inFrame2
 * ------------------------------------------------- */
.inFrame2 {
  margin: 20px 0 0;
  padding: 18px 20px;
  background: #f0f0f0; }

/* ------------------------------------------------- *
 *        inFrame3
 * ------------------------------------------------- */
.inFrame3 {
  margin: 30px 0 0;
  padding: 25px 30px;
  background: #fff; }

/* ================================================== *
 *
 *    BLOCK
 *
 * ================================================== */
/* ------------------------------------------------- *
 *        lnav
 * ------------------------------------------------- */
.lnav {
  width: 100%;
  background: #562207; }

.sns1 + .lnav {
  margin-top: 60px; }

.lnav__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1140px;
  height: 53px;
  margin: auto;
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  background: #fff; }
  .lnav__menu > li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .lnav__menu > li > a {
      display: block;
      line-height: 53px;
      background: #562207;
      color: #fff;
      -webkit-transition: background linear 0.2s;
      transition: background linear 0.2s; }
      .lnav__menu > li > a:hover {
        background: #aa9083; }
    .lnav__menu > li.-current a {
      background: #391303;
      color: #9C8981; }

/* ------------------------------------------------- *
 *        breadcrumb
 * ------------------------------------------------- */
.breadcrumb {
  width: 100%;
  border-top: 1px solid #dcdcdc; }

.lnav + .breadcrumb {
  border-top: none; }

.breadcrumb_list {
  width: 1140px;
  margin: auto;
  padding: 10px 0;
  font-size: 1.2rem;
  font-weight: bold; }
  .breadcrumb_list > li {
    display: inline-block;
    color: #666; }
    .breadcrumb_list > li:before {
      content: "> "; }
    .breadcrumb_list > li:first-child:before {
      display: none; }
    .breadcrumb_list > li > a {
      color: #eb5d14; }
      .breadcrumb_list > li > a:hover {
        color: #000; }

/* ------------------------------------------------- *
 *        hero1
 * ------------------------------------------------- */
.hero1 {
  width: 100%;
  height: 480px;
  margin: 0 auto;
  background: url(/assets/image/kv1_01.jpg) no-repeat 50% 0; }
  @media screen and (min-width: 1600px) {
    .hero1 {
      background-size: cover; } }

.hero1__title {
  display: table;
  width: 1140px;
  height: 354px;
  margin: 0 auto;
  font-size: 2.6rem;
  line-height: 1.77;
  font-weight: normal; }
  .hero1__title > span {
    display: table-cell;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    vertical-align: middle; }

/* ------------------------------------------------- *
 *        hero2
 * ------------------------------------------------- */
.hero2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 240px;
  margin: 0 auto; }
  .hero2.-allergy {
    background: url(/assets/image/bg_allergy_index_01.jpg) no-repeat 50% 50%;
    background-size: cover; }
  .hero2.-medical {
    background: url(/assets/image/bg_medical_index_01.jpg) no-repeat 50% 50%;
    background-size: cover; }
  .hero2.-clinic {
    background: url(/assets/image/bg_clinic_01.jpg) no-repeat 50% 50%;
    background-size: cover; }
  .hero2.-contact {
    background: url(/assets/image/bg_contact_01.jpg) no-repeat 50% 50%;
    background-size: cover; }

.hero2__inner {
  width: 1140px;
  margin: auto; }

.hero2__title {
  font-size: 3rem;
  font-weight: bold;
  text-shadow: 0 2px 1px white; }

.hero2__text {
  margin: 15px 0 0;
  font-size: 1.6rem;
  text-shadow: 0 2px 1px white; }

/* ------------------------------------------------- *
 *        tocNav1
 * ------------------------------------------------- */
.tocNav1 {
  width: 100%;
  background: #fff; }

.tocNav1__inner {
  width: 1140px;
  margin: auto;
  padding: 30px 0; }

.tocNav1__title {
  font-size: 2.2rem;
  color: #501e0a;
  font-weight: bold; }

.tocNav1__menu {
  overflow: hidden;
  font-size: 1.6rem;
  font-weight: bold; }
  .tocNav1__menu > li {
    float: left;
    width: 50%;
    margin: 10px 0 0; }
    .tocNav1__menu > li:nth-child(2n+1) {
      clear: both; }
    .tocNav1__menu > li > a {
      display: inline-block;
      padding-left: 22px;
      background: url(/assets/image/icon_arw1_down1.png) no-repeat 0 50%; }

/* ------------------------------------------------- *
 *        tocNav2
 * ------------------------------------------------- */
.tocNav2 {
  position: relative;
  top: -40px;
  width: 100%;
  margin: 0 0 -40px; }

.tocNav2__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 1140px;
  margin: auto;
  padding: 5px;
  background: #fff;
  -webkit-box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.05); }

.tocNav2__title {
  padding: 5px;
  background: #562207;
  font-size: 1.8rem;
  color: #fff;
  border-radius: 2px;
  font-weight: bold;
  text-align: center; }

.tocNav2__menu {
  overflow: hidden;
  font-size: 1.6rem;
  font-weight: bold; }
  .tocNav2__menu > li {
    position: relative;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    width: 20%;
    margin: 16px 0;
    text-align: center;
    border-left: 1px solid #ccc;
    line-height: 3; }
    .tocNav2__menu > li:first-child {
      border-left: none;
      line-height: 1.5; }
    .tocNav2__menu > li > a {
      display: block;
      padding: 10px 10px;
      color: #eb5d14; }
      .tocNav2__menu > li > a:after {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        width: 14px;
        height: 8px;
        background: url(/assets/image/icon_arw1_down1.png) no-repeat 0 0;
        margin: auto;
        -webkit-transition: bottom .3s ease-in-out;
        transition: bottom .3s ease-in-out; }
      .tocNav2__menu > li > a:hover:after {
        bottom: -5px; }

/* ------------------------------------------------- *
 *        shortcut1
 * ------------------------------------------------- */
.shortcut1 {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 1140px;
  height: 250px;
  margin: -125px auto;
  padding: 30px 30px 0;
  background: #fff;
  -webkit-box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.05);
  text-align: center; }
  .shortcut1 a {
    position: relative;
    display: block;
    padding: 0 0 15px; }
    .shortcut1 a:after {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      width: 14px;
      height: 8px;
      background: url(/assets/image/icon_arw1_down1.png) no-repeat 0 0;
      margin: auto;
      -webkit-transition: bottom .3s ease-in-out;
      transition: bottom .3s ease-in-out; }
    .shortcut1 a:hover:after {
      bottom: -5px; }
    .shortcut1 a:hover .shortcut1_listImage > img {
      -webkit-transform: scale(1.2);
          -ms-transform: scale(1.2);
              transform: scale(1.2); }

.shortcut1_listImage {
  overflow: hidden;
  display: block;
  width: 340px;
  height: 140px; }
  .shortcut1_listImage > img {
    width: 100%;
    height: auto;
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out; }

.shortcut1_listText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 2.6em;
  margin: 12px 0 0;
  color: #eb5d14;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: bold; }

/* ------------------------------------------------- *
 *        flow1
 * ------------------------------------------------- */
.flow1__unit {
  position: relative;
  padding: 9px;
  border: 1px solid #ccc;
  background: #fff; }
  .flow1__unit:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: -20px;
    display: block;
    width: 20px;
    height: 33px;
    margin: auto;
    background: url(/assets/image/icon_arw2_right1.png) no-repeat 0 0; }
  .flow1__unit.-last:after {
    display: none; }

.flow1__title img {
  width: 100%;
  height: auto; }

.flow1__title {
  margin: 12px 10px 0;
  font-size: 1.6rem;
  font-weight: bold; }
  .flow1__title > span {
    display: inline-block;
    width: 30px;
    height: 30px;
    margin: 0 10px 0 0;
    border-radius: 15px;
    background: #eb5d14;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    font-size: 1.4rem;
    line-height: 30px; }

.flow1__text {
  margin: 10px;
  font-size: 1.4rem; }

/* ------------------------------------------------- *
 *        flow2
 * ------------------------------------------------- */
.flow2__unit {
  position: relative;
  margin: 30px 0 0;
  padding: 29px;
  border: 1px solid #ccc;
  background: #fff; }
  .flow2__unit:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    width: 50px;
    height: 30px;
    margin: auto;
    background: url(/assets/image/icon_arw2_bottom1.png) no-repeat 0 0; }
  .flow2__unit .text1 {
    margin-top: 10px; }
    .flow2__unit .text1 p {
      margin: 10px 0 0; }
  .flow2__unit:last-child:after {
    display: none; }
  .flow2__unit.-type1 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 360px;
    padding: 17px;
    margin-right: auto;
    margin-left: auto;
    background: #f5f5f5; }
    .flow2__unit.-type1:after {
      background: url(/assets/image/icon_arw2_bottom2.png) no-repeat 0 0; }

.flow2__time {
  position: absolute;
  top: 19px;
  left: -11px;
  padding: 2px 10px;
  background: #eb5d14;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold; }
  .flow2__time:before {
    content: "";
    position: absolute;
    bottom: -9px;
    left: 1px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 9px 9px 0;
    border-color: transparent #722d0a transparent transparent; }

.flow2__title {
  font-size: 2.2rem;
  font-weight: bold; }

.flow2__titleIcon {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 0 10px 0 0;
  border-radius: 50%;
  background: #eb5d14;
  color: #fff;
  text-align: center;
  vertical-align: 2px;
  font-size: 1.6rem;
  line-height: 30px; }

.flow2__text {
  text-align: center;
  font-size: 1.6rem; }

/* ------------------------------------------------- *
 *        news1
 * ------------------------------------------------- */
.news1 {
  margin: 30px 0 0; }

.news1__list {
  font-size: 1.4rem; }
  .news1__list > li {
    overflow: hidden;
    margin: 25px 0 0; }

.news1__listDate {
  float: left;
  display: block;
  width: 134px;
  min-width: 134px;
  text-align: left; }

.news1__listLabel {
  float: left;
  display: block;
  width: 92px;
  min-width: 92px; }
  .news1__listLabel > span {
    display: block;
    margin: -2px 0 0;
    padding: 3px 0;
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold; }
    .news1__listLabel > span.-magazine {
      background: #eb5d14; }
    .news1__listLabel > span.-tv {
      background: #148feb; }
    .news1__listLabel > span.-seminar {
      background: #4bb810; }

.news1__listText {
  display: block;
  margin: 0 0 0 246px;
  text-align: left; }

/* ------------------------------------------------- *
 *        sns1
 * ------------------------------------------------- */
.sns1 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 1140px;
  margin: 0 auto;
  padding: 20px;
  border: 2px solid #dcdcdc; }

.sns1__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  -webkit-box-align: top;
      -ms-flex-align: top;
          align-items: top;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.sns1__title {
  font-size: 1.6rem;
  line-height: 20px;
  font-weight: bold; }

.sns1__list {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: top;
      -ms-flex-align: top;
          align-items: top;
  height: 20px;
  margin: 0 0 0 10px; }
  .sns1__list > li {
    margin-left: 20px;
    vertical-align: middle; }

/* ------------------------------------------------- *
 *        check1
 * ------------------------------------------------- */
.check1 {
  margin: 30px 0 0; }

.check1__unit {
  display: table;
  width: 100%;
  border-bottom: 1px solid #ccc; }
  .check1__unit:first-child {
    border-top: 1px solid #ccc; }

.check1__title {
  display: table-cell;
  width: 150px;
  padding: 25px 0;
  color: #501e0a;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  vertical-align: top; }
  .check1__unit:nth-child(odd) .check1__title {
    background: #fafafa; }
  .check1__unit:nth-child(even) .check1__title {
    background: #f0f0f0; }

.check1__list {
  display: table-cell;
  padding: 25px 28px;
  font-size: 1.6rem;
  font-weight: bold; }
  .check1__list > li {
    margin: 15px 0 0; }
    .check1__list > li:first-child {
      margin-top: 0; }

.check1__result {
  display: none; }

.check1__resultText {
  padding: 0 27px 20px; }
  .check1__resultText.-type1 {
    border: 3px solid #0066cc;
    background: #effbff; }
    .check1__resultText.-type1 .check1__resultLine {
      background: #d2f3ff;
      color: #0066cc; }
  .check1__resultText.-type2 {
    border: 3px solid #eb9000;
    background: #fdf6e5; }
    .check1__resultText.-type2 .check1__resultLine {
      background: #fae9c3;
      color: #eb9000; }
  .check1__resultText.-type3 {
    border: 3px solid #e53258;
    background: #fdeff2; }
    .check1__resultText.-type3 .check1__resultLine {
      background: #fad9e0;
      color: #e53258; }

.check1__resultLine {
  margin: 0 -27px;
  padding: 10px 27px;
  font-size: 2.2rem;
  line-height: 1.2;
  font-weight: bold; }
  .check1__resultLine > span {
    font-size: 4rem; }

.check1__resultTitle {
  margin: 20px 0 0;
  font-size: 2rem;
  font-weight: bold; }

/* ------------------------------------------------- *
 *        case1__unit
 * ------------------------------------------------- */
.case1__unit {
  margin: 40px 0 0 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff; }

.case1__header {
  position: relative;
  cursor: pointer; }
  .case1__header:after {
    content: "";
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    display: block;
    width: 30px;
    height: 30px;
    margin: auto;
    background: url(/assets/image/icon_plus1_01.png) no-repeat 0 0;
    -webkit-transition: opacity linear 0.2s;
    transition: opacity linear 0.2s; }
  .case1__header:hover:after {
    opacity: .5; }
  .case1__header.-active:after {
    background: url(/assets/image/icon_minus1_01.png) no-repeat 0 0; }

.case1__title {
  position: relative;
  padding: 19px 80px 14px 29px;
  color: #501e0a;
  font-size: 2.2rem;
  -webkit-transition: color linear 0.2s;
  transition: color linear 0.2s; }
  .case1__header:hover .case1__title {
    color: #b5a8a4; }

.case1__titleIcon {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 202px;
  height: 24px;
  margin: 0 0 2px 0;
  font-size: 1.1rem;
  line-height: 24px;
  color: #fff;
  text-align: center;
  -webkit-transition: opacity linear 0.2s;
  transition: opacity linear 0.2s; }
  .case1__titleIcon.-woman {
    background: #de255a; }
  .case1__titleIcon.-man {
    background: #376acb; }
  .case1__titleIcon.-child {
    background: #e568be; }
  .case1__header:hover .case1__titleIcon {
    opacity: .5; }

.case1__body {
  display: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 14px 29px 29px;
  border-top: 1px solid #ccc; }

/* ------------------------------------------------- *
 *        googlemap1
 * ------------------------------------------------- */
.googlemap1 {
  width: 100%;
  height: 300px; }

/* ------------------------------------------------- *
 *        modal1
 * ------------------------------------------------- */
.modal1 {
  position: fixed;
  z-index: 1001;
  display: none;
  width: 1060px;
  height: auto;
  margin: 0;
  padding: 0;
  background-color: #ffffff; }

#modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); }

/* ------------------------------------------------- *
 *        conversion1
 * ------------------------------------------------- */
.conversion1 {
  width: 100%;
  margin: 30px auto 0;
  background: #eb5d14;
  color: #fff; }

.conversion1__inner {
  width: 1140px;
  margin: 0 auto;
  padding: 30px 0; }

.conversion1__title {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold; }

.conversion1__subTitle {
  margin: 0 0 30px;
  padding: 15px 20px;
  background: #fce7dc;
  color: #000;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold; }

.conversion1__unit {
  margin: 20px 0 0;
  padding: 0 0 30px;
  background: #fff;
  text-align: center; }


/* ------------------------------------------------- *
 *        view-more
 * ------------------------------------------------- */

  .view-more {
    display: flex;
    justify-content: end;
    justify-content: center;
    align-items: end;
    /*margin-top: 20px;*/
    padding-left: 20px;
  }
  
  @media screen and (max-width: 767px) {
    .view-more {
      margin-top: 16px;
      padding-top: 0;
      padding-left: 0;
    }
  }
  
  /* consolidated below */
  
  .view-more .view-more-box {
    border: none;
    font-family: 'Zen Old Mincho', serif;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    position: relative;
    padding-right: 24px;
  }
  
  .view-more .view-more-box::after {
    content: '';
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='9' viewBox='0 0 8 9' fill='none'%3e%3cg clip-path='url(%23clip0_3672_87)'%3e%3cpath d='M2.07666 7.24366L2.66666 7.83366L5.99999 4.50033L2.66666 1.16699L2.07666 1.75699L4.81999 4.50033L2.07666 7.24366Z' fill='%23F58C00'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='clip0_3672_87'%3e%3crect width='8' height='8' fill='white' transform='translate(0 0.5)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 8px 9px;
  
    display: flex;
    align-items: center;
    justify-content: center;
  
    gap: 10px;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  
    /* アイコンのサイズと形 */
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-left: 4px;
  
    border: 1px solid #F58C00;
    color: #F58C00;
    background-color: transparent;
  
  
  }

  /* セクション全体を囲むコンテナ */
.info-section-container {
  display: flex;
  /* justify-content: center; */
  /* align-items: stretch; */
  background-color: #FFFFFF;
  /*padding: 60px 20px;*/
  padding: 0 40px;
  /* width: 100%; */
  /*max-width: 1100px;*/
  /*margin: 40px auto;*/
  /* box-sizing: border-box; */
  padding: 20px 0 0;
}

/* 各情報ボックス（診療の流れ、料金一覧） */
.info-section-container .info-box {
  /* flex: 1; */
  /* padding: 40px; */
  /* max-width: 50%; */
  /* display: flex; */
  flex-direction: column;
  /* text-align: left; */
}

/* 中央の区切り線 */
.info-section-container .separator {
  width: 1px;
  height: 49px;
  background-color: #E0E0E0;
  align-self: center;
}

.bg-orange {
  /* background-color: #FCF9F3; */
}