@charset "UTF-8";

/* --------------------------------------------------------- */
/* reset 
------------------------------------------------------------ */

html, body, div, span,
article, section, nav, header, footer, main, aside,
h1, h2, h3, h4, h5, h6,
form, fieldset, legend, label,
dl, dt, dd, ol, ul, li, p,
table, caption, tbody, thead, tfoot, tr, th, td,
a, strong, em, mark, b, small, i, img,
object, figure, figcaption, canvas, audio, video, iframe {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 100%;
  vertical-align: baseline;
  outline: 0;
  box-sizing: border-box;
}
article, section, nav, header, footer, main, aside,
figure, figcaption {
  display: block;
}
html, body, div, p, span,
article, section, nav, header, footer, main, aside,
h1, h2, h3, h4, h5, h6,
input, select {
  box-sizing: border-box;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
}
select::-ms-expand {
  display: none;
}
ol, ul {
  list-style: none;
}

/* --------------------------------------------------------- */
/* font 
------------------------------------------------------------ */

/* NotoSerifCJKjp */
@font-face {
  font-family: 'NotoSerifCJKjp';
  font-style: normal;
  font-weight: 400;
  src:
    local("NotoSerifCJKjp-Regular"),
    url("../fonts/NotoSerifCJKjp-Regular.woff2") format("woff2"),
    url("../fonts/NotoSerifCJKjp-Regular.woff") format("woff"),
    url("../fonts/NotoSerifCJKjp-Regular.otf") format("opentype");
}
@font-face {
  font-family: 'NotoSerifCJKjp';
  font-style: normal;
  font-weight: 700;
  src:
    local("NotoSerifCJKjp-Bold"),
    url("../fonts/NotoSerifCJKjp-Bold.woff2") format("woff2"),
    url("../fonts/NotoSerifCJKjp-Bold.woff") format("woff"),
    url("../fonts/NotoSerifCJKjp-Bold.otf") format("opentype");
}

/* NotoSansCJKjp */
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 400;
  src:
    local("NotoSansCJKjp-Regular"),
    url("../fonts/NotoSansCJKjp-Regular.woff2") format("woff2"),
    url("../fonts/NotoSansCJKjp-Regular.woff") format("woff"),
    url("../fonts/NotoSansCJKjp-Regular.otf") format("opentype");
}
@font-face {
  font-family: 'NotoSansCJKjp';
  font-style: normal;
  font-weight: 700;
  src:
    local("NotoSansCJKjp-Bold"),
    url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2"),
    url("../fonts/NotoSansCJKjp-Bold.woff") format("woff"),
    url("../fonts/NotoSansCJKjp-Bold.otf") format("opentype");
}

/* --------------------------------------------------------- */
/* layout 
------------------------------------------------------------ */

html {
  font-size: 62.5%;
}
body {
  font-size: 1.5rem;
  font-weight: normal;
  font-family: 'ＭＳ Ｐゴシック', Verdana, Arial, Helvetica, sans-serif;
  line-height: 1.6;
  letter-spacing: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  color: #51463f;
}
a,
button {
  display: block;
  color: #f2861d;
  text-decoration: none;
  cursor: pointer;
}
a:hover,
button:hover,
a:active,
button:active {
  color: #ffbd7c;
}
img,
video {
  width: 100%;
  vertical-align: bottom;
}
#wrap {
  padding: 0;
  background-image: url(../img/common/bac_main.jpg);
  background-repeat: repeat;
  background-position: top left;
  background-size: 500px auto;
}
.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.only-pc {
  display: block;
}
.only-sp {
  display: none;
}
@media only screen and (max-width: 760px) {
  #wrap {
    padding: 99px 0 0 0;
  }
  .only-pc {
    display: none;
  }
  .only-sp {
    display: block;
  }
}

/* --------------------------------------------------------- */
/* header 
------------------------------------------------------------ */

#headerWrap {
  width: 100%;
  height: 113px;
  background-image: url(../img/common/bac_header.jpg);
  background-repeat: repeat;
  background-position: top center;
  background-size: 500px auto;
}
#headerBox {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 88%;
  height: 100%;
  max-width: 980px;
  margin: 0 auto;
  background-image: url(../img/common/bac_flower.png);
  background-repeat: no-repeat;
  background-position: top left 30%;
  background-size: 378px auto;
}
#headerLogo {
  width: 82.12%;
  max-width: 352px;
  margin: 0 0 12px 0;
}
#headerMenu {
  margin: 0 0 -24px 0;
}
#headerMenu .headerMenu-pc {
  font-size: 0;
}
#headerMenu .headerMenu-pc p {
  display: inline-block;
}
#headerMenu .headerMenu-pc p.m_inquiry {
  position: absolute;
  top: 0;
  right: 0;
  width: 167px;
  height: auto;
}
@media only screen and (max-width: 760px) {
  #headerWrap {
    position: fixed;
    top: 0;
    left: 0;
    height: 99px;
    z-index: 100;
  }
  #headerBox {
    background-image: none;
  }
  #headerLogo {
    margin: 0;
  }
  #headerMenu {
    margin: 0;
  }
  #headerMenu .headerMenu-sp .menuBtn {
    width: 29px;
    height: 22px;
  }
  #headerMenu .headerMenu-sp .menuBtn button {
    position: relative;
    width: 100%;
    height: 100%;
    outline: none;
  }
  #headerMenu .headerMenu-sp .menuBtn button::before,
  #headerMenu .headerMenu-sp .menuBtn button::after,
  #headerMenu .headerMenu-sp .menuBtn button span {
    content: '';
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 4px;
    text-indent: -9999px;
    background: #6AADC0;
    border-radius: 100px;
    -webkit-transition: all 0.5s ease-out 0s;
    transition: all 0.5s ease-out 0s;
  }
  #headerMenu .headerMenu-sp .menuBtn button::before {
    top: 0;
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  #headerMenu .headerMenu-sp .menuBtn button::after {
    top: 100%;
    -webkit-transform: translate(0, -100%) rotate(0);
    transform: translate(0, -100%) rotate(0);
  }
  #headerMenu .headerMenu-sp .menuBtn button span {
    top: 50%;
    -webkit-transform: translate(0, -50%) rotate(0);
    transform: translate(0, -50%) rotate(0);
  }
  #headerMenu .headerMenu-sp .menuBtn.is-open button::before,
  #headerMenu .headerMenu-sp .menuBtn.is-open button::after {
    top: 50%;
    left: 50%;
    width: 116.07%;
  }
  #headerMenu .headerMenu-sp .menuBtn.is-open button::before {
    -webkit-transform: translate(-50%, -50%) rotate(35deg);
    transform: translate(-50%, -50%) rotate(35deg);
  }
  #headerMenu .headerMenu-sp .menuBtn.is-open button::after {
    -webkit-transform: translate(-50%, -50%) rotate(-35deg);
    transform: translate(-50%, -50%) rotate(-35deg);
  }
  #headerMenu .headerMenu-sp .menuBtn.is-open button span {
    width: 0;
  }
  #headerMenu .headerMenu-sp .menuContent {
    display: none;
    position: fixed;
    top: 99px;
    left: 0;
    width: 100%;
    height: calc(100% - 99px);
    padding: 47px 6%;
    background: #6AADC0;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-scrolling: touch;
  }
  #headerMenu .headerMenu-sp .menuContent::-webkit-scrollbar {
    display: none;
  }
  #headerMenu .headerMenu-sp .menuItem {
    margin: 0 0 30px 0;
  }
  #headerMenu .headerMenu-sp .menuItem:last-child {
    margin: 0;
  }
  #headerMenu .headerMenu-sp .menuItem a {
    font-size: 1.6rem;
    font-weight: bold;
    font-family: 'NotoSerifCJKjp', serif;
    text-align: center;
    color: #FFFFFF;
  }
  #headerMenu .headerMenu-sp .menuItem a span {
    display: block;
    font-size: 1.4rem;
    font-family: 'NotoSansCJKjp', sans-serif;
    color: #89C5D6;
  }
}

/* --------------------------------------------------------- */
/* main 
------------------------------------------------------------ */

/* -----[ mainImage ]----- */

/* globalnav */
#mainimageWrap .globalnav {
  overflow: hidden;
  width: 88%;
  max-width: 900px;
  margin: 0 auto;
  background: #fffefc;
  border-radius: 5px;
  box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.207843);
}
#mainimageWrap .globalnav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
#mainimageWrap .globalnav ul li {
  position: relative;
  width: 25%;
}
#mainimageWrap .globalnav ul li::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  display: block;
  width: 0;
  height: 100%;
  border-right: dashed 1px #000;
  z-index: 2;
}
#mainimageWrap .globalnav ul li:last-child:after {
  display: none;
}
#mainimageWrap .globalnav ul li a {
  position: relative;
  z-index: 1;
}

/* -----[ contents ]----- */

#contentsWrap {
  width: 88%;
  max-width: 980px;
  margin: 0 auto;
}
#contentsWrap::after {
  content: '';
  display: block;
  clear: both;
}
#contentsWrap #leftWrap {
  float: left;
}
#contentsWrap #rightWrap {
  float: right;
}

/* sideInquiry */
#contentsWrap .sideInquiry {
  background: #fff;
  border-radius: 5px;
}
#contentsWrap .sideInquiry h3 {
  border-bottom: dotted 1px #836b5c;
}
@media only screen and (max-width: 760px) {
  #contentsWrap .sideInquiry {
    border-radius: 15px;
  }
  #contentsWrap .sideInquiry h3 {
    border-bottom: solid 1px #CCC0AF;
  }
}

/* --------------------------------------------------------- */
/* footer 
------------------------------------------------------------ */

#footeMenu {
  width: 88%;
  max-width: 980px;
  margin: 0 auto 26px auto;
}
#footeMenu ul {
  margin: -8px;
  font-size: 0;
  text-align: center;
}
#footeMenu ul li {
  position: relative;
  display: inline-block;
  margin: 8px;
  padding: 0 15px 0 0;
  font-size: 1.4rem;
}
#footeMenu ul li::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  display: block;
  width: 2px;
  height: 100%;
  background-image: url(../img/common/frn_footer.gif);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#footeMenu ul li:last-child {
  padding: 0;
}
#footeMenu ul li:last-child::after {
  display: none;
}
#footeMenu ul li a {
  text-decoration: underline;
}
#footerTopback {
  width: 88%;
  max-width: 97px;
  margin: 0 auto;
}
#footerBox {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 15px 6% 25px 6%;
  background-image: url(../img/common/bac_footer.gif);
  background-repeat: repeat;
  background-position: top left;
  background-size: 10px auto;
}
#footerBox .copyright {
  font-size: 1.5rem;
  line-height: 1.71;
  text-align: center;
  color: #fff;
}
@media only screen and (max-width: 760px) {
  #footeMenu {
    margin: 0 auto 41px auto;
  }
  #footerTopback {
    max-width: 107px;
  }
  #footerBox {
    padding: 47px 6%;
    background: #68b3c6;
  }
  #footerBox .copyright {
    font-size: 1.4rem;
  }
}