@charset "UTF-8";
/*
	BASE
*******************************/
/*
font-family: "Cinzel", serif;
font-family: "Shippori Mincho", serif;
*/
/* ゴシック系 */
/* font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,'Hiragino Kaku Gothic Pro',Osaka, "ＭＳ Ｐゴシック", "MS PGothic",sans-serif; */
/* 明朝系 */
/* font-family: 'Noto Serif JP', "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; */
/* MPLUS */
/*font-family: 'Lato','M PLUS 1p','Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,'Hiragino Kaku Gothic Pro',Osaka, "ＭＳ Ｐゴシック", "MS PGothic",sans-serif;
*/
* {
  font-family: "Cinzel", "Shippori Mincho", "Noto Serif JP", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
  line-height: 1em;
}
body {
  font-size: 1.8rem;
  background-color: #ffffff;
}
img {
  -webkit-backface-visibility: hidden;
  vertical-align: bottom;
  line-height: 0;
}
p, th, td, dt, dd, li, h1, h2, h3, h4, h5, h6, label {
  color: #000000;
}
a, a:link, a:visited {
  color: #000000;
  text-decoration: none;
  outline: none;
  border: none;
}
a:hover {
  text-decoration: none;
}
a img {
  outline: none;
  border: none;
  -webkit-backface-visibility: hidden;
}
area {
  border: none;
  outline: none;
}
.clear {
  clear: both;
}
* img {
  max-width: 100%;
  height: auto;
}
a.tel {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}
/*//////////////////////////////////////////////////////////////////////////*/
/*
	BASE LAYOUT
******************/
body {
  /* min-width:1024px; */
}
#main {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}
#main p {
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 2;
  margin: 0;
  padding: 0;
  text-align: justify;
}
/*//////////////////////////////////////////////////////////////////////////*/
/*
	Contents LAYOUT
******************/
/*共通*/
.wrap {
  width: 100%;
  text-align: center;
  padding: 90px 0;
  overflow: hidden;
}
.wrap.mg {
  margin-bottom: 90px;
}
.contents {
  width: calc(100% - 60px);
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  text-align: left;
}
.contents_inner {
  width: 100%;
}
/*標準的なリスト*/
.list_box li {
  list-style: disc;
  margin-left: 1.5em;
  padding-left: -1em;
  line-height: 1.5em;
}
/*括弧付き文字*/
#main .contents div.frame {
  text-align: center;
  margin-bottom: 3em;
}
#main .contents .frame p {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 3.2rem;
  font-weight: 600;
  display: inline-block;
  padding: 0 2em;
  position: relative;
}
#main .contents .frame p::before {
  content: "";
  border: solid 5px #000000;
  border-right: none;
  height: 100%;
  width: 22px;
  display: inline-block;
  position: absolute;
  top: -5px;
  left: 0;
}
#main .contents .frame p::after {
  content: "";
  border: solid 5px #000000;
  border-left: none;
  height: 100%;
  width: 22px;
  display: inline-block;
  position: absolute;
  top: -5px;
  right: 0;
}
/*色*/
.red {
  color: #FF0000;
}
.orange {
  color: #FF9900;
}
/*背景*/
.wrap.bg {
  background: url(../img/common/bg.jpg) repeat center center/130% auto;
  text-align: center;
}
/*真ん中よせ*/
.center {
  text-align: center;
}
/*ボタン*/
a.btn {
  font-size: 1.8rem;
  border: solid 2px #000000;
  padding: 0.7em 3em;
  position: relative;
  font-weight: 500;
  display: inline-block;
  background-color: #ffffff;
  max-width: 15em;
  text-align: center;
}
a.btn:hover {
  background-color: #eeeeee;
}
@media screen and (max-width: 1200px) {
  /*共通*/
  /*ボタン*/
  .wrap {
    padding: 70px 0;
  }
  .wrap.mg {
    margin-bottom: 50px;
  }
  .contents h2 {
    font-size: 2.8rem;
    margin: 0 auto 1.2em;
  }
  #main p {
    font-size: 1.6rem;
  }
  a.btn {
    font-size: 1.6rem;
    padding: 0.7em 2em;
  }
}
@media screen and (max-width: 1024px) {
  /*共通*/
  /*ボタン*/
  .wrap {
    padding: 50px 0;
  }
  a.btn {
    font-size: 1.5rem;
    padding: 0.7em 2em;
  }
}
@media screen and (max-width: 768px) {
  /*共通*/
  /*共通ボタン*/
  /*
		Contents LAYOUT
	******************/
  #main p {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .wrap {
    padding: 30px 0;
  }
  .wrap.mg {
    margin-bottom: 30px;
  }
  a.btn {
    font-size: 1.3rem;
    margin-left: 2em;
    padding: 0.5em 1.5em;
  }
  .contents {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 400px) {
  .btn_box {
    display: grid;
    grid-template-columns: 14em;
    justify-content: center;
  }
  a.btn.voice {
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .pcOnly {
    display: none !important;
  }
}
@media screen and (min-width: 769px) {
  .spOnly {
    display: none !important;
  }
}
