@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  box-sizing: border-box;
}

img {
  vertical-align: bottom;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

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

/* -------------------------------------------------------------------
 ヘッダー
------------------------------------------------------------------- */
.mt-sp00 {
  margin-top: 0 !important;
}

.pt-sp00 {
  padding-top: 0 !important;
}

.mt-sp05 {
  margin-top: 0.5rem !important;
}

.pt-sp05 {
  padding-top: 0.5rem !important;
}

.mt-sp10 {
  margin-top: 1rem !important;
}

.pt-sp10 {
  padding-top: 1rem !important;
}

.mt-sp15 {
  margin-top: 1.5rem !important;
}

.pt-sp15 {
  padding-top: 1.5rem !important;
}

.mt-sp20 {
  margin-top: 2rem !important;
}

.pt-sp20 {
  padding-top: 2rem !important;
}

.mt-sp25 {
  margin-top: 2.5rem !important;
}

.pt-sp25 {
  padding-top: 2.5rem !important;
}

.mt-sp30 {
  margin-top: 3rem !important;
}

.pt-sp30 {
  padding-top: 3rem !important;
}

.mt-sp35 {
  margin-top: 3.5rem !important;
}

.pt-sp35 {
  padding-top: 3.5rem !important;
}

.mt-sp40 {
  margin-top: 4rem !important;
}

.pt-sp40 {
  padding-top: 4rem !important;
}

.mt-sp45 {
  margin-top: 4.5rem !important;
}

.pt-sp45 {
  padding-top: 4.5rem !important;
}

.mt-sp50 {
  margin-top: 5rem !important;
}

.pt-sp50 {
  padding-top: 5rem !important;
}

.mt-sp55 {
  margin-top: 5.5rem !important;
}

.pt-sp55 {
  padding-top: 5.5rem !important;
}

.mt-sp60 {
  margin-top: 6rem !important;
}

.pt-sp60 {
  padding-top: 6rem !important;
}

.mt-sp65 {
  margin-top: 6.5rem !important;
}

.pt-sp65 {
  padding-top: 6.5rem !important;
}

.mt-sp70 {
  margin-top: 7rem !important;
}

.pt-sp70 {
  padding-top: 7rem !important;
}

.mt-sp75 {
  margin-top: 7.5rem !important;
}

.pt-sp75 {
  padding-top: 7.5rem !important;
}

.mt-sp80 {
  margin-top: 8rem !important;
}

.pt-sp80 {
  padding-top: 8rem !important;
}

.mt-sp85 {
  margin-top: 8.5rem !important;
}

.pt-sp85 {
  padding-top: 8.5rem !important;
}

.mt-sp90 {
  margin-top: 9rem !important;
}

.pt-sp90 {
  padding-top: 9rem !important;
}

.mt-sp95 {
  margin-top: 9.5rem !important;
}

.pt-sp95 {
  padding-top: 9.5rem !important;
}

.mt-sp100 {
  margin-top: 10rem !important;
}

.pt-sp100 {
  padding-top: 10rem !important;
}

.mr-sp00 {
  margin-right: 0 !important;
}

.pr-sp00 {
  padding-right: 0 !important;
}

.mr-sp05 {
  margin-right: 0.5rem !important;
}

.pr-sp05 {
  padding-right: 0.5rem !important;
}

.mr-sp10 {
  margin-right: 1rem !important;
}

.pr-sp10 {
  padding-right: 1rem !important;
}

.mr-sp15 {
  margin-right: 1.5rem !important;
}

.pr-sp15 {
  padding-right: 1.5rem !important;
}

.mr-sp20 {
  margin-right: 2rem !important;
}

.pr-sp20 {
  padding-right: 2rem !important;
}

.mr-sp25 {
  margin-right: 2.5rem !important;
}

.pr-sp25 {
  padding-right: 2.5rem !important;
}

.mr-sp30 {
  margin-right: 3rem !important;
}

.pr-sp30 {
  padding-right: 3rem !important;
}

.mr-sp35 {
  margin-right: 3.5rem !important;
}

.pr-sp35 {
  padding-right: 3.5rem !important;
}

.mr-sp40 {
  margin-right: 4rem !important;
}

.pr-sp40 {
  padding-right: 4rem !important;
}

.mr-sp45 {
  margin-right: 4.5rem !important;
}

.pr-sp45 {
  padding-right: 4.5rem !important;
}

.mr-sp50 {
  margin-right: 5rem !important;
}

.pr-sp50 {
  padding-right: 5rem !important;
}

.mr-sp55 {
  margin-right: 5.5rem !important;
}

.pr-sp55 {
  padding-right: 5.5rem !important;
}

.mr-sp60 {
  margin-right: 6rem !important;
}

.pr-sp60 {
  padding-right: 6rem !important;
}

.mr-sp65 {
  margin-right: 6.5rem !important;
}

.pr-sp65 {
  padding-right: 6.5rem !important;
}

.mr-sp70 {
  margin-right: 7rem !important;
}

.pr-sp70 {
  padding-right: 7rem !important;
}

.mr-sp75 {
  margin-right: 7.5rem !important;
}

.pr-sp75 {
  padding-right: 7.5rem !important;
}

.mr-sp80 {
  margin-right: 8rem !important;
}

.pr-sp80 {
  padding-right: 8rem !important;
}

.mr-sp85 {
  margin-right: 8.5rem !important;
}

.pr-sp85 {
  padding-right: 8.5rem !important;
}

.mr-sp90 {
  margin-right: 9rem !important;
}

.pr-sp90 {
  padding-right: 9rem !important;
}

.mr-sp95 {
  margin-right: 9.5rem !important;
}

.pr-sp95 {
  padding-right: 9.5rem !important;
}

.mr-sp100 {
  margin-right: 10rem !important;
}

.pr-sp100 {
  padding-right: 10rem !important;
}

.mb-sp00 {
  margin-bottom: 0 !important;
}

.pb-sp00 {
  padding-bottom: 0 !important;
}

.mb-sp05 {
  margin-bottom: 0.5rem !important;
}

.pb-sp05 {
  padding-bottom: 0.5rem !important;
}

.mb-sp10 {
  margin-bottom: 1rem !important;
}

.pb-sp10 {
  padding-bottom: 1rem !important;
}

.mb-sp15 {
  margin-bottom: 1.5rem !important;
}

.pb-sp15 {
  padding-bottom: 1.5rem !important;
}

.mb-sp20 {
  margin-bottom: 2rem !important;
}

.pb-sp20 {
  padding-bottom: 2rem !important;
}

.mb-sp25 {
  margin-bottom: 2.5rem !important;
}

.pb-sp25 {
  padding-bottom: 2.5rem !important;
}

.mb-sp30 {
  margin-bottom: 3rem !important;
}

.pb-sp30 {
  padding-bottom: 3rem !important;
}

.mb-sp35 {
  margin-bottom: 3.5rem !important;
}

.pb-sp35 {
  padding-bottom: 3.5rem !important;
}

.mb-sp40 {
  margin-bottom: 4rem !important;
}

.pb-sp40 {
  padding-bottom: 4rem !important;
}

.mb-sp45 {
  margin-bottom: 4.5rem !important;
}

.pb-sp45 {
  padding-bottom: 4.5rem !important;
}

.mb-sp50 {
  margin-bottom: 5rem !important;
}

.pb-sp50 {
  padding-bottom: 5rem !important;
}

.mb-sp55 {
  margin-bottom: 5.5rem !important;
}

.pb-sp55 {
  padding-bottom: 5.5rem !important;
}

.mb-sp60 {
  margin-bottom: 6rem !important;
}

.pb-sp60 {
  padding-bottom: 6rem !important;
}

.mb-sp65 {
  margin-bottom: 6.5rem !important;
}

.pb-sp65 {
  padding-bottom: 6.5rem !important;
}

.mb-sp70 {
  margin-bottom: 7rem !important;
}

.pb-sp70 {
  padding-bottom: 7rem !important;
}

.mb-sp75 {
  margin-bottom: 7.5rem !important;
}

.pb-sp75 {
  padding-bottom: 7.5rem !important;
}

.mb-sp80 {
  margin-bottom: 8rem !important;
}

.pb-sp80 {
  padding-bottom: 8rem !important;
}

.mb-sp85 {
  margin-bottom: 8.5rem !important;
}

.pb-sp85 {
  padding-bottom: 8.5rem !important;
}

.mb-sp90 {
  margin-bottom: 9rem !important;
}

.pb-sp90 {
  padding-bottom: 9rem !important;
}

.mb-sp95 {
  margin-bottom: 9.5rem !important;
}

.pb-sp95 {
  padding-bottom: 9.5rem !important;
}

.mb-sp100 {
  margin-bottom: 10rem !important;
}

.pb-sp100 {
  padding-bottom: 10rem !important;
}

.ml-sp00 {
  margin-left: 0 !important;
}

.pl-sp00 {
  padding-left: 0 !important;
}

.ml-sp05 {
  margin-left: 0.5rem !important;
}

.pl-sp05 {
  padding-left: 0.5rem !important;
}

.ml-sp10 {
  margin-left: 1rem !important;
}

.pl-sp10 {
  padding-left: 1rem !important;
}

.ml-sp15 {
  margin-left: 1.5rem !important;
}

.pl-sp15 {
  padding-left: 1.5rem !important;
}

.ml-sp20 {
  margin-left: 2rem !important;
}

.pl-sp20 {
  padding-left: 2rem !important;
}

.ml-sp25 {
  margin-left: 2.5rem !important;
}

.pl-sp25 {
  padding-left: 2.5rem !important;
}

.ml-sp30 {
  margin-left: 3rem !important;
}

.pl-sp30 {
  padding-left: 3rem !important;
}

.ml-sp35 {
  margin-left: 3.5rem !important;
}

.pl-sp35 {
  padding-left: 3.5rem !important;
}

.ml-sp40 {
  margin-left: 4rem !important;
}

.pl-sp40 {
  padding-left: 4rem !important;
}

.ml-sp45 {
  margin-left: 4.5rem !important;
}

.pl-sp45 {
  padding-left: 4.5rem !important;
}

.ml-sp50 {
  margin-left: 5rem !important;
}

.pl-sp50 {
  padding-left: 5rem !important;
}

.ml-sp55 {
  margin-left: 5.5rem !important;
}

.pl-sp55 {
  padding-left: 5.5rem !important;
}

.ml-sp60 {
  margin-left: 6rem !important;
}

.pl-sp60 {
  padding-left: 6rem !important;
}

.ml-sp65 {
  margin-left: 6.5rem !important;
}

.pl-sp65 {
  padding-left: 6.5rem !important;
}

.ml-sp70 {
  margin-left: 7rem !important;
}

.pl-sp70 {
  padding-left: 7rem !important;
}

.ml-sp75 {
  margin-left: 7.5rem !important;
}

.pl-sp75 {
  padding-left: 7.5rem !important;
}

.ml-sp80 {
  margin-left: 8rem !important;
}

.pl-sp80 {
  padding-left: 8rem !important;
}

.ml-sp85 {
  margin-left: 8.5rem !important;
}

.pl-sp85 {
  padding-left: 8.5rem !important;
}

.ml-sp90 {
  margin-left: 9rem !important;
}

.pl-sp90 {
  padding-left: 9rem !important;
}

.ml-sp95 {
  margin-left: 9.5rem !important;
}

.pl-sp95 {
  padding-left: 9.5rem !important;
}

.ml-sp100 {
  margin-left: 10rem !important;
}

.pl-sp100 {
  padding-left: 10rem !important;
}

/* -------------------------------------------------------------------
 スマホ用
------------------------------------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  color: #000;
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic",'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 1.4rem;
  line-height: 1.7;
  overflow-x: hidden;
}

img {
  height: auto;
  -webkit-backface-visibility: hidden;
}

*,
::before,
::after {
  box-sizing: border-box;
}

.sp-none {
  display: none !important;
}

/* -------------------------------------------------------------------
 共通コンテンツ
------------------------------------------------------------------- */
#is-loading {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 9999;
}

#loading {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #fff;
  z-index: 9999;
}

#load {
  width: 150px;
  animation: loading 3s linear infinite;
}

#load #loading-inner {
  stroke-dashoffset: 0;
  stroke-dasharray: 300;
  stroke-width: 10;
  stroke-miterlimit: 10;
  stroke-linecap: round;
  animation: loading-circle 2s linear infinite;
  stroke: #51BBA7;
  fill: transparent;
}

@keyframes loading {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes loading-circle {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -600;
  }
}

#wrapper {
  width: 100%;
  position: relative;
}

#contents {
  margin: 57px 0 0 0;
}

#location {
  display: none;
}

.sp-tel-area {
  padding: 2rem 0 3rem 0;
  background: #FDEBE9;
}

.sp-tel-area .txt {
  text-align: center;
  font-weight: bold;
}

.sp-tel-area .txt strong {
  font-weight: bold;
  color: #CD0003;
  font-size: 1.6rem;
}

.sp-tel-area .contact {
  width: 94%;
  display: flex;
  justify-content: space-between;
  margin: 2rem auto;
}

.sp-tel-area .contact a {
  width: 48%;
  height: 55px;
  display: block;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: bold;
  border-radius: 3px;
  color: #000;
}

.sp-tel-area .contact a .time {
  width: 100%;
  margin: 0.7rem 0 0 0;
  font-size: 1.1rem;
  font-weight: bold;
}

.sp-tel-area .contact .tel {
  padding: 2.1rem 0 0 0;
  background: #DB5B88;
  outline: 1px solid #fff;
  outline-offset: -3px;
  box-shadow: 0px 3px 0px 1px #aa2956;
  color: #fff;
}

.sp-tel-area .contact .tel span {
  padding: 0 0 0 2.5rem;
  font-weight: bold;
  background: url("../../assets/img/common/icon_tel_sp.png") no-repeat;
  background-size: contain;
}

.sp-tel-area .contact .document-request {
  padding: 2.1rem 0 0 0;
  background: #0856BF;
  outline: 1px solid #fff;
  outline-offset: -3px;
  box-shadow: 0px 3px 0px 1px #0C346A;
  color: #fff;
}

.sp-tel-area .contact .document-request span {
  padding: 0 0 0 2.5rem;
  font-weight: bold;
  background: url("../../assets/img/common/icon_doc_sp.png") no-repeat;
  background-size: contain;
}

.sp-tel-area .btn-hasten {
  width: 310px;
  margin: 1.5rem auto 0 auto;
}

.sp-tel-area .btn-hasten a {
  display: block;
  padding: 1.5rem 0;
  text-decoration: none;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  font-weight: bold;
  border-radius: 3px;
  outline: 1px solid #fff;
  outline-offset: -3px;
  background: #D10003;
  box-shadow: 0px 4px 0px 1px #760001;
}

.wp-pagenavi {
  margin: 5rem 0 0 0;
  padding: 0 0 5rem 0;
  font-size: 1.4rem;
  text-align: center;
}

.wp-pagenavi a, .wp-pagenavi a:link {
  padding: 0.5rem 1rem;
  margin: 0.25rem;
  text-decoration: none;
  color: #000;
  border: 1px solid #333;
  background: #fff;
}

.wp-pagenavi a:visited {
  color: #000;
}

.wp-pagenavi a:hover {
  text-decoration: underline;
  background: #333;
  color: #fff;
}

.wp-pagenavi a:active {
  color: #000;
}

.wp-pagenavi span.pages, .wp-pagenavi span.current, .wp-pagenavi span.extend {
  margin: 0.25rem;
  padding: 0.5rem 1rem;
  border: 1px solid #333;
  color: #000;
  background: #fff;
}

.wp-pagenavi span.current {
  font-weight: bold;
  background: #333;
  color: #FFF;
}

.container {
  width: 96%;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.title_wrap {
  height: 200px;
  background: #eeeeee;
}

.title_wrap .container {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.breadcrumb {
  height: 60px;
  display: none;
}

.breadcrumb .container {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.breadcrumb .container ol {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.breadcrumb .container ol li:not(:last-of-type):after {
  content: ">";
  display: inline-block;
  margin: 0 7px;
}

.breadcrumb .container ol li a {
  text-decoration: none;
  color: #1a1a1a;
}

.btn01 {
  border: solid 2px #00479d;
  border-radius: 100px;
  text-align: center;
  padding: 1rem 0;
  width: 100%;
  color: #00479d;
  font-size: 1.4rem;
  display: block;
  margin: 0 auto;
  text-decoration: none;
  font-weight: 700;
  margin-top: 1rem;
  transition-duration: 0.1s;
}

.btn01:hover {
  background: #00479d;
  color: #fff;
  transition-duration: 0.1s;
}

.pc {
  display: none !important;
}

.pc_flex {
  display: none !important;
}

.sp {
  display: block !important;
}

.sp_flex {
  display: flex !important;
}

.telbutton .tel {
  width: 100%;
  height: 55px;
  display: block;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 1.4rem;
  border-radius: 3px;
  color: #000;
}

.telbutton .tel .time {
  width: 100%;
  margin: 0.7rem 0 0 0;
  font-size: 1.1rem;
  font-weight: bold;
}

.telbutton .tel {
  padding: 1.4rem 0 0 0;
  background: #F80004;
  box-shadow: 0px 3px 0px 1px #760001;
  color: #fff;
}

.telbutton .tel span {
  padding: 0 0 0 2.5rem;
  font-weight: bold;
  background: url("../../assets/img/common/icon_tel_sp.png") no-repeat;
  background-size: contain;
}

.wp-pagenavi a, .wp-pagenavi a:link {
  margin: 0.25rem;
  padding: 1rem 1rem;
  text-decoration: none;
  color: #000;
  border: 1px solid #333;
  background: #fff;
}

.wp-pagenavi span.pages, .wp-pagenavi span.current, .wp-pagenavi span.extend {
  padding: 1rem 1rem;
  margin: 0.25rem;
  border: 1px solid #6D6D30;
  color: #000;
  background: #fff;
}

.wp-pagenavi span.current {
  font-weight: bold;
  background: #6D6D30 !important;
  color: #FFF !important;
}

.bg_pattern01 {
  background: url(../../assets/img/top/pattern_-01.png);
}

.bg_pattern02 {
  background: url(../../assets/img/top/pattern_-02.png);
}

.bg_pattern03 {
  background-image: url(../../assets/img/top/pattern_-03.png);
  background-color: rgba(239, 239, 232, 0.38);
}

.font_mincho {
  font-family: 'Noto Serif JP', serif;
}

section .container h3 {
  margin: 2rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: 2.2rem;
  font-weight: 700;
}

section .container h3 svg {
  margin: 0 2rem;
  width: auto;
  height: 30px;
}

section .container .subprice {
  margin-top: 2rem;
}

section .container .subprice .font_mincho {
  font-size: 2.2rem;
  font-weight: 700;
  color: #6D6D30;
  margin-right: 0.5rem;
}

img {
  max-width: 100%;
  height: auto;
}

.readmore {
  background: #6D6D30;
  padding: 1rem 1.5rem 1rem 2rem;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-radius: 100px;
  color: #fff;
  width: 200px;
  text-decoration: none;
  margin: 0 auto;
  margin-top: 1rem;
}

.sub_section {
  padding: 2rem 0;
}

.sub_section .container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.sub_section .container img:not(:first-of-type) {
  margin-top: 2rem;
}

.sub_bg {
  background-image: url(../../assets/img/top/sub_mv_bg.png);
  height: 150px;
  width: 100%;
  background-size: cover;
}

.bnr_section {
  padding: 2rem 0;
  margin-bottom: -5rem;
}

.bnr_section .bnrs {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.bnr_section .bnrs img {
  width: 100%;
  max-width: 350px;
  padding: 0.5rem 0.5rem;
}

.highlight01 {
  background: linear-gradient(rgba(255, 242, 160, 0) 60%, #fff2a0 60%, #fff2a0);
}

h3.under_decoration {
  position: relative;
  display: table !important;
  margin: 0 auto 4rem !important;
  padding: 0 1rem;
}

h3.under_decoration:before {
  content: "";
  width: 100%;
  height: 6px;
  position: absolute;
  bottom: -18px;
  background: #6D6D30;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 400px;
}

h3.under_decoration:after {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -23px;
  background: #6D6D30;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 400px;
}

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

.sp_text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

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

.copyright_hr {
  margin-top: 2rem;
}

.copyright {
  font-size: 1.2rem;
  text-align: center;
}

.d-none {
  display: none;
}

.sub_section {
  padding: 2rem 0;
}

.sub_section .container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.sub_section .container a {
  margin-top: 1rem;
}

/* -------------------------------------------------------------------
 ヘッダー
------------------------------------------------------------------- */
#hd {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 8888;
  color: #000;
}

#hd-inner {
  width: 100%;
  background: #fff;
}

#hd-inner #mobile-head {
  width: calc(100% - 70px);
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#hd-inner #mobile-head .logo {
  width: 180px;
  margin-left: 10px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#hd-inner #mobile-head .logo img {
  width: 100%;
}

#hd-inner #mobile-head .contact {
  display: none;
}

#hd-inner .toggle {
  width: 60px;
  height: 60px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 90;
  background: #fff;
}

#hd-inner .toggle .menu-btn {
  width: 40px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

#hd-inner .toggle .menu-btn span,
#hd-inner .toggle .menu-btn span:before,
#hd-inner .toggle .menu-btn span:after {
  content: '';
  width: 25px;
  height: 2px;
  display: block;
  position: absolute;
  border-radius: 3px;
  background: #6D6D30;
}

#hd-inner .toggle .menu-btn span:before {
  bottom: 8px;
}

#hd-inner .toggle .menu-btn span:after {
  top: 8px;
}

#hd-inner .toggle .txt {
  margin: 0.2rem 0 0 0;
  text-align: center;
  font-size: 0.8rem;
  font-weight: bold;
  color: #000;
}

#hd-inner #menu-btn-check:checked ~ .toggle .menu-btn span {
  background-color: rgba(255, 255, 255, 0);
  /*メニューオープン時は真ん中の線を透明にする*/
}

#hd-inner #menu-btn-check:checked ~ .toggle .menu-btn span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#hd-inner #menu-btn-check:checked ~ .toggle .menu-btn span::after {
  top: 0;
  transform: rotate(-45deg);
}

#hd-inner #menu-btn-check {
  display: none;
}

#hd-inner #global-nav {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 100%;
  /*leftの値を変更してメニューを画面外へ*/
  z-index: 80;
  padding: 1rem;
  overflow: scroll;
  background: rgba(255, 255, 255, 0.95);
  transition: all 0.5s;
  /*アニメーション設定*/
}

#hd-inner #global-nav .btn-top {
  width: calc(100% - 30px);
  margin: 0.6rem 0 0 0;
}

#hd-inner #global-nav .btn-top a {
  width: 170px;
  display: block;
  margin: 0 auto;
  padding: 0.7rem 0;
  text-align: center;
  color: #fff;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  background: #6D6D30;
}

#hd-inner #global-nav .contact {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 3rem 0;
}

#hd-inner #global-nav .contact a {
  width: 75%;
  display: block;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 1.4rem;
  border-radius: 3px;
  color: #000;
}

#hd-inner #global-nav .contact a .time {
  width: 100%;
  margin: 0.7rem 0 0 0;
  font-size: 1.1rem;
  font-weight: bold;
}

#hd-inner #global-nav .contact .tel {
  color: #fff;
}

#hd-inner #global-nav .contact .tel span {
  font-weight: bold;
  background-size: contain;
}

#hd-inner #global-nav .contact .document-request {
  color: #fff;
  margin-top: 1rem;
}

#hd-inner #global-nav .contact .document-request span {
  padding: 0 0 0 2.5rem;
  font-weight: bold;
  background-size: contain;
}

#hd-inner #global-nav .menu {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  background: #6D6D30;
  margin-top: 4rem;
}

#hd-inner #global-nav .menu li {
  width: 50%;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}

#hd-inner #global-nav .menu li a {
  display: block;
  padding: 1rem;
  color: #fff;
  text-decoration: none;
}

#hd-inner #global-nav .menu li .navi-arrow {
  position: relative;
  display: block;
  padding: 15px;
  color: #fff;
  vertical-align: middle;
  text-decoration: none;
}

#hd-inner #global-nav .menu li .navi-arrow::before,
#hd-inner #global-nav .menu li .navi-arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

#hd-inner #global-nav .menu li .right::before {
  right: 15px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#hd-inner #global-nav .menu .pc-only {
  display: none;
}

#hd-inner #menu-btn-check:checked ~ #global-nav {
  left: 0;
  /*メニューを画面内へ*/
}

/* -------------------------------------------------------------------
 TOPページ
------------------------------------------------------------------- */
#index .mv {
  background: url(../../assets/img/top/mv_img_sp.png);
  width: 100%;
  height: 270px;
  background-size: cover;
  background-position: center;
  margin-bottom: 200px;
}

#index .mv .container {
  position: relative;
  height: 100%;
}

#index .mv .container .content {
  width: 90%;
  text-align: center;
  position: absolute;
  bottom: -200px;
  left: -10px;
  background: rgba(255, 255, 255, 0.9);
  border-top: 5px solid #6D6D30;
  padding: 1.5rem;
}

#index .mv .container .content p {
  line-height: 2;
}

#index .mv .container .content a {
  border: 1px solid #6D6D30;
  padding: 1rem 0.5rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  max-width: 250px;
  margin: 0 auto;
  margin-top: 2rem;
  color: #000;
  background: #fff;
}

#index .mv .container .content a p {
  font-size: 1.6rem;
  line-height: 1.3;
}

#index .mv .container .content a p span {
  font-size: 1.2rem;
}

#index .mv .container .content a svg {
  margin-left: 1rem;
}

#index .sp_container_0 {
  width: 100%;
  padding: 0;
}

#index .contact_wrap {
  padding: 2rem 0;
}

#index .contact_wrap img {
  max-width: 350px;
  display: block;
  margin: 1rem auto;
}

#index .medias {
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  border: 1px solid #6D6D30;
  width: 100%;
}

#index .medias .left {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
  background-color: #A7A783;
}

#index .medias .left p {
  color: #fff;
  font-weight: 700;
}

#index .medias .right {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

#index .medias .right hr {
  width: 90%;
}

#index .medias .right > div {
  padding: 2rem 1.5rem;
  width: 100%;
}

#index .medias .right > div > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#index .medias .right > div > div p {
  font-weight: 700;
  font-size: 1.6rem;
}

#index .medias .right > div > div img {
  margin-right: 1rem;
}

#index .medias .right > div:first-of-type {
  border-right: 1px solid #c9c9c9;
}

#index .medias .right > div .min {
  margin-top: 2rem;
}

#index .sec01 {
  padding: 3rem 0 5rem 0;
  margin-top: 3rem;
}

#index .sec01 h2 {
  font-size: 3.1rem;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1rem;
}

#index .sec01 h2 {
  margin: 2rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  font-size: 2.2rem;
  font-weight: 700;
}

#index .sec01 h3 svg {
  margin: 0 2rem;
  width: auto;
  height: 30px;
}

#index .sec01 .box > p {
  text-align: center;
  margin-top: 2rem;
  line-height: 2;
}

#index .sec01 .box .subtitle {
  font-weight: 700;
  text-align: center;
  font-size: 1.8rem;
}

#index .sec01 .box .column.left {
  margin-top: 3.5rem;
  position: relative;
}

#index .sec01 .box .column.left > div {
  position: absolute;
  bottom: -100px;
  right: 0;
  background: rgba(243, 243, 239, 0.9);
  padding: 1.5rem 2rem;
  width: 90%;
}

#index .sec01 .box .column.left > div h3 {
  font-weight: 700;
  font-size: 1.8rem;
}

#index .sec01 .box .column.left > div p {
  margin-top: 1rem;
  line-height: 1.5;
}

#index .sec01 .box .column.left > div a {
  background: #6D6D30;
  padding: 0.7rem 1rem;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-radius: 100px;
  color: #fff;
  width: 160px;
  text-decoration: none;
  margin-left: auto;
  margin-top: 2rem;
}

#index .sec01 .box .column.right {
  margin-top: 5rem;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 130px;
}

#index .sec01 .box .column.right > div {
  position: absolute;
  bottom: -130px;
  left: 0;
  background: rgba(243, 243, 239, 0.9);
  padding: 1.5rem 2rem;
  width: 90%;
}

#index .sec01 .box .column.right > div h3 {
  font-weight: 700;
  text-align: right;
  font-size: 1.8rem;
}

#index .sec01 .box .column.right > div p {
  margin-top: 1rem;
}

#index .sec01 .box .column.right > div a {
  background: #6D6D30;
  padding: 0.7rem 1rem;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-radius: 100px;
  color: #fff;
  width: 160px;
  text-decoration: none;
  margin-right: auto;
  margin-top: 2rem;
}

#index .sec02 {
  padding: 9rem 0 5rem 0;
}

#index .sec02 .container {
  padding: 0;
}

#index .sec02 .container h3 {
  margin: 2rem 0;
}

#index .sec02 .container > p {
  text-align: center;
}

#index .sec02 .container .plans {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

#index .sec02 .container .plans .box.first {
  margin-top: 2rem;
  background: #fff;
  width: 100%;
  box-shadow: 6px 6px 0 0 #a7a783;
  padding: 2rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  left: -10px;
  position: relative;
  opacity: 1;
  transition-duration: 0.2s;
}

#index .sec02 .container .plans .box.first:hover {
  opacity: 0.8;
  transition-duration: 0.2s;
}

#index .sec02 .container .plans .box.first .masklink {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

#index .sec02 .container .plans .box.first div:first-of-type {
  width: 40%;
}

#index .sec02 .container .plans .box.first div:last-of-type {
  width: 53%;
}

#index .sec02 .container .plans .box.first div:last-of-type h4 {
  font-weight: 700;
  font-size: 2rem;
  color: #6D6D30;
  line-height: 1.5;
  margin-top: 1rem;
}

#index .sec02 .container .plans .box.first div:last-of-type p:not(.price) {
  font-size: 1.5rem;
}

#index .sec02 .container .plans .box.first div:last-of-type a {
  border: 1px solid #6D6D30;
  border-radius: 5px;
  padding: 0.5rem 1rem;
  background: #fff;
  box-shadow: 3px 3px 0 0 #6D6D30;
  margin-top: 1rem;
  display: inline-block;
  text-decoration: none;
  color: #6D6D30;
  font-size: 1.15rem;
  width: 100%;
  text-align: center;
}

#index .sec02 .container .plans .box.mid {
  margin-top: 2rem;
  background: #fff;
  width: 100%;
  box-shadow: 6px 6px 0 0 #a7a783;
  padding: 2rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  left: -10px;
  opacity: 1;
  transition-duration: 0.2s;
}

#index .sec02 .container .plans .box.mid:hover {
  opacity: 0.8;
  transition-duration: 0.2s;
}

#index .sec02 .container .plans .box.mid .masklink {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

#index .sec02 .container .plans .box.mid > a {
  width: 40%;
}

#index .sec02 .container .plans .box.mid > div.fxc > div {
  margin-top: 2rem;
  align-items: flex-end;
}

#index .sec02 .container .plans .box.mid div:first-of-type {
  width: 40%;
}

#index .sec02 .container .plans .box.mid div:last-of-type {
  width: 56%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#index .sec02 .container .plans .box.mid div:last-of-type .price {
  font-size: 2rem;
}

#index .sec02 .container .plans .box.mid div:last-of-type .price span {
  font-size: 1.5rem;
}

#index .sec02 .container .plans .box.mid div:last-of-type > div {
  width: 100%;
  margin-top: 0.7rem;
}

#index .sec02 .container .plans .box.mid div:last-of-type > span {
  font-size: 1rem;
}

#index .sec02 .container .plans .box.mid div:last-of-type h4 {
  font-weight: 700;
  font-size: 2rem;
  color: #6D6D30;
  line-height: 1.5;
  width: 100%;
}

#index .sec02 .container .plans .box.mid div:last-of-type h4.mintxt span {
  font-size: 1.1rem;
  display: block;
  margin-left: 0;
  color: #000;
}

#index .sec02 .container .plans .box.mid div:last-of-type p {
  font-size: 1.3rem;
  margin-top: -0.5rem;
}

#index .sec02 .container .plans .box.mid div:last-of-type p span {
  font-size: 1.2rem;
}

#index .sec02 .container .plans .box.mid div:last-of-type a {
  border: 1px solid #6D6D30;
  border-radius: 5px;
  padding: 0.5rem 0.5rem;
  background: #fff;
  box-shadow: 3px 3px 0 0 #6D6D30;
  margin-top: 1rem;
  display: inline-block;
  text-decoration: none;
  color: #6D6D30;
  font-size: 1.25rem;
  letter-spacing: -0.05rem;
  width: 100%;
  text-align: center;
}

#index .sub_bg {
  background-image: url(../../assets/img/top/sub_mv_bg.png);
  height: 150px;
  width: 100%;
  background-size: cover;
}

#index .sec03 {
  padding: 3rem 0 5rem;
  background: #E2E2D6;
}

#index .sec03 ul {
  margin-bottom: 3rem;
}

#index .sec03 ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px dotted #000;
}

#index .sec03 ul li > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

#index .sec03 ul li > div .date {
  margin-right: 2rem;
  width: 100%;
}

#index .sec03 ul li > div a {
  text-decoration: none;
  color: #000;
}

#index .bnr_section {
  padding: 2rem 0;
  margin-bottom: -5rem;
}

#index .bnr_section .bnrs {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

#index .bnr_section .bnrs img {
  width: 100%;
  max-width: 350px;
  padding: 0.5rem 0.5rem;
}

/* -------------------------------------------------------------------
 コンテンツ
------------------------------------------------------------------- */
#page .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/xxx/xxxx.png);
}

#page .title_wrap .container h2 {
  font-size: 2.2rem;
  font-weight: 700;
  background: #b5b5b6;
  padding: 0.5rem 10rem 0.5rem 1rem;
}

#plan {
  /*各種プランの共通Style*/
  /*
  .sec01{
    .box{
      background: rgba(226,226,215,1);
      border: 1px solid #fff;
      padding: 0.7rem;
      margin-top: 5rem;
      >div{
        border: 1px solid #fff;
        padding: 5rem 10rem;
        text-align: center;
        line-height: 2;
        .bold{
          font-weight: 700;
          margin: 1rem 0;
        }
      }
    }
  }

  */
}

#plan .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/plan/plan_mv_bg.png);
}

#plan .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#plan .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#plan .medias {
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  border: 1px solid #6D6D30;
  width: 100%;
}

#plan .medias .left {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px;
}

#plan .medias .right {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

#plan .medias .right hr {
  width: 90%;
}

#plan .medias .right > div {
  padding: 2rem 1.5rem;
  width: 100%;
}

#plan .medias .right > div > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#plan .medias .right > div > div p {
  font-weight: 700;
  font-size: 1.6rem;
}

#plan .medias .right > div > div img {
  margin-right: 1rem;
}

#plan .medias .right > div:first-of-type {
  border-right: 1px solid #c9c9c9;
}

#plan .medias .right > div .min {
  margin-top: 2rem;
}

#plan .sec01 {
  padding: 5rem 0 5rem 0;
}

#plan .sec01 .container {
  padding: 0;
}

#plan .sec01 .container h3 {
  margin: 2rem 0;
}

#plan .sec01 .container > p {
  text-align: center;
}

#plan .sec01 .container .plans {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

#plan .sec01 .container .plans .box {
  position: relative;
  opacity: 1;
  transition-duration: 0.2s;
}

#plan .sec01 .container .plans .box:hover {
  opacity: 0.8;
  transition-duration: 0.2s;
}

#plan .sec01 .container .plans .box .masklink {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

#plan .sec01 .container .plans .box.first {
  margin-top: 2rem;
  background: #fff;
  width: 100%;
  box-shadow: 6px 6px 0 0 #a7a783;
  padding: 2rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  left: -10px;
}

#plan .sec01 .container .plans .box.first div:first-of-type {
  width: 40%;
}

#plan .sec01 .container .plans .box.first div:last-of-type {
  width: 56%;
}

#plan .sec01 .container .plans .box.first div:last-of-type h4 {
  font-weight: 700;
  font-size: 2rem;
  color: #6D6D30;
  line-height: 1.5;
  margin-top: 1rem;
}

#plan .sec01 .container .plans .box.first div:last-of-type p:not(.price) {
  font-size: 1.5rem;
}

#plan .sec01 .container .plans .box.first div:last-of-type a {
  border: 1px solid #6D6D30;
  border-radius: 5px;
  padding: 0.5rem 1rem;
  background: #fff;
  box-shadow: 3px 3px 0 0 #6D6D30;
  margin-top: 1rem;
  display: inline-block;
  text-decoration: none;
  color: #6D6D30;
  font-size: 1.15rem;
  width: 100%;
  text-align: center;
}

#plan .sec01 .container .plans .box.mid {
  margin-top: 2rem;
  background: #fff;
  width: 100%;
  box-shadow: 6px 6px 0 0 #a7a783;
  padding: 2rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  left: -10px;
  position: relative;
  opacity: 1;
  transition-duration: 0.2s;
}

#plan .sec01 .container .plans .box.mid:hover {
  opacity: 0.8;
  transition-duration: 0.2s;
}

#plan .sec01 .container .plans .box.mid .masklink {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  height: 100%;
  margin: auto;
}

#plan .sec01 .container .plans .box.mid > a {
  width: 40%;
}

#plan .sec01 .container .plans .box.mid > div.fxc > div {
  margin-top: 2rem;
  align-items: flex-end;
}

#plan .sec01 .container .plans .box.mid div:first-of-type {
  width: 40%;
}

#plan .sec01 .container .plans .box.mid div:last-of-type {
  width: 56%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#plan .sec01 .container .plans .box.mid div:last-of-type > div {
  width: 100%;
  margin-top: 0.7rem;
}

#plan .sec01 .container .plans .box.mid div:last-of-type > span {
  font-size: 1.2rem;
}

#plan .sec01 .container .plans .box.mid div:last-of-type h4 {
  width: 100%;
  font-weight: 700;
  font-size: 2rem;
  color: #6D6D30;
  line-height: 1.5;
}

#plan .sec01 .container .plans .box.mid div:last-of-type h4.mintxt span {
  font-size: 1.1rem;
  display: block;
  margin-left: 0;
  color: #000;
}

#plan .sec01 .container .plans .box.mid div:last-of-type p {
  font-size: 1.3rem;
  margin-top: 0;
}

#plan .sec01 .container .plans .box.mid div:last-of-type p span {
  font-size: 1.2rem;
}

#plan .sec01 .container .plans .box.mid div:last-of-type .price {
  font-size: 2rem;
}

#plan .sec01 .container .plans .box.mid div:last-of-type .price span {
  font-size: 1.5rem;
}

#plan .sec01 .container .plans .box.mid div:last-of-type a {
  border: 1px solid #6D6D30;
  border-radius: 5px;
  padding: 0.5rem 0.5rem;
  background: #fff;
  box-shadow: 3px 3px 0 0 #6D6D30;
  margin-top: 1rem;
  display: inline-block;
  text-decoration: none;
  color: #6D6D30;
  font-size: 1.25rem;
  letter-spacing: -0.05rem;
  width: 100%;
  text-align: center;
}

#plan .bnr_section {
  padding-top: 0;
}

#plan .page_title {
  background: #f3f3ee;
  text-align: center;
  padding: 3rem 0 5rem;
}

#plan .page_title h3 {
  margin-bottom: 1rem;
}

#plan .recommend {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#plan .recommend .subimage img {
  cursor: pointer;
}

#plan .recommend > div:first-of-type {
  width: 100%;
}

#plan .recommend > div:last-of-type {
  width: 100%;
  margin-top: 2rem;
}

#plan .recommend > div:last-of-type div.bg_pattern01 {
  border: 1px solid #6D6D30;
  padding: 0.7rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

#plan .recommend > div:last-of-type div.bg_pattern01 div {
  border: 1px solid #6D6D30;
  padding: 2rem 4rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#plan .recommend > div:last-of-type div.bg_pattern01 div h3 {
  text-align: center;
  font-weight: 700;
  display: inline;
  padding: 0 0.5rem;
  font-size: 1.8rem;
  margin: 0;
}

#plan .recommend > div:last-of-type div.bg_pattern01 div p {
  width: 100%;
  margin-top: 2rem;
  line-height: 2;
  font-size: 1.6rem;
}

#plan .recommend .onecol {
  width: 100% !important;
  text-align: center;
}

#plan .recommend ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 3rem;
  margin-bottom: 2rem;
}

#plan .recommend ul li {
  width: 49%;
  margin-top: 1rem;
}

#plan.free .sec01 .box,
#plan._63 .sec01 .box {
  background: #e2e2d7;
  border: 1px solid #fff;
  padding: 0.7rem;
  margin-top: 2.5rem;
}

#plan.free .sec01 .box > div,
#plan._63 .sec01 .box > div {
  border: 1px solid #fff;
  padding: 3rem 3rem;
  text-align: left;
  line-height: 2;
}

#plan.free .sec01 .box > div .bold,
#plan._63 .sec01 .box > div .bold {
  font-weight: 700;
  margin: 1rem 0;
}

#plan.free .sec01 .box.home,
#plan._63 .sec01 .box.home {
  margin-bottom: 2rem;
}

#plan.free .sec01 .yukan_bnr,
#plan._63 .sec01 .yukan_bnr {
  text-align: center;
  margin-top: 5rem;
}

#plan.free .sec02 {
  padding: 3rem 0;
}

#plan.free .sec02 .container {
  padding: 0;
}

#plan.free .sec02 ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#plan.free .sec02 ul li {
  width: 50%;
  background: #fff;
  padding: 1.5rem;
  text-align: center;
}

#plan.free .sec02 ul li:nth-of-type(1), #plan.free .sec02 ul li:nth-of-type(4), #plan.free .sec02 ul li:nth-of-type(5), #plan.free .sec02 ul li:nth-of-type(8), #plan.free .sec02 ul li:nth-of-type(9), #plan.free .sec02 ul li:nth-of-type(12), #plan.free .sec02 ul li:nth-of-type(13), #plan.free .sec02 ul li:nth-of-type(17), #plan.free .sec02 ul li:nth-of-type(18), #plan.free .sec02 ul li:nth-of-type(21), #plan.free .sec02 ul li:nth-of-type(22), #plan.free .sec02 ul li:nth-of-type(25), #plan.free .sec02 ul li:nth-of-type(28), #plan.free .sec02 ul li:nth-of-type(29) {
  background: #DCDCCD;
}

#plan.free .sec02 ul li p {
  margin-top: 2rem;
  font-weight: 700;
}

#plan.free .sec03 {
  padding: 5rem 0 5rem 0;
  display: none;
}

#plan.free .sec03 .box {
  border: 1px solid #6D6D30;
  padding: 2rem 2rem;
  margin-top: 2rem;
}

#plan.free .sec03 .box .btn_01 {
  background: #DCDCCD;
  padding: 1rem 2rem;
  text-decoration: none;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  border: 1px solid #6D6D30;
  font-weight: 700;
  width: 100%;
  margin: 2rem auto 2rem;
  box-shadow: 0 3px 0 0 #6D6D30;
}

#plan.free .sec03 .box .btn_01 svg {
  margin-right: 2rem;
}

#plan.free .sec03 .box .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#plan.free .sec03 .box .content > div {
  width: 100%;
}

#plan.free .sec03 .box .content > div .price p {
  background: #F1F1EB;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1rem 2rem;
}

#plan.free .sec03 .box .content > div .price p > span {
  margin-left: 2rem;
}

#plan.free .sec03 .box .content > div .price p span {
  color: #A81B04;
  font-size: 2.4rem;
  font-weight: 700;
}

#plan.free .sec03 .box .content > div .price p span span {
  font-size: 1.6rem;
  color: #000;
  font-weight: normal;
}

#plan.free .sec03 .box .content > div ul {
  margin-top: 1.8rem;
}

#plan.free .sec03 .box .content > div ul li {
  border-top: 1px solid #333;
  padding: 0.9rem 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

#plan.free .sec03 .box .content > div ul li .head {
  background: #6D6D30;
  color: #fff;
  text-align: center;
  padding: 0.2rem 1rem;
  margin-right: 1rem;
  min-width: 70px;
  font-size: 1.4rem;
}

#plan.free .sec03 .box .content > div ul li .head + p {
  margin-top: 0;
  font-weight: normal;
  font-size: 1.2rem;
}

#plan.free .sec03 .box .content > div ul li:last-of-type {
  border-bottom: 1px solid #333;
}

#plan._63 .sec02 {
  padding: 5rem 0 5rem 0;
}

#plan._63 .sec02 ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 6rem;
}

#plan._63 .sec02 ul li {
  width: 49%;
  text-align: center;
  margin-top: 1.5rem;
}

#plan._63 .sec02 ul li p {
  margin-top: 2rem;
  font-weight: 700;
}

#plan._63 .sec03 {
  padding: 5rem 0 5rem 0;
}

#plan._63 .sec03 ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 6rem;
}

#plan._63 .sec03 ul li {
  width: 49%;
  text-align: center;
  margin-top: 1.5rem;
}

#plan._63 .sec03 ul li p {
  margin-top: 2rem;
  font-weight: 700;
}

#plan._63 .sec03 .box {
  display: none;
  border: 1px solid #6D6D30;
  padding: 2rem 2rem;
  margin-top: 2rem;
}

#plan._63 .sec03 .box .btn_01 {
  background: #DCDCCD;
  padding: 1rem 2rem;
  text-decoration: none;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  border: 1px solid #6D6D30;
  font-weight: 700;
  width: 100%;
  margin: 2rem auto 2rem;
  box-shadow: 0 3px 0 0 #6D6D30;
}

#plan._63 .sec03 .box .btn_01 svg {
  margin-right: 2rem;
}

#plan._63 .sec03 .box .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#plan._63 .sec03 .box .content > div {
  width: 100%;
}

#plan._63 .sec03 .box .content > div .price p {
  background: #F1F1EB;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1rem 2rem;
}

#plan._63 .sec03 .box .content > div .price p > span {
  margin-left: 2rem;
}

#plan._63 .sec03 .box .content > div .price p span {
  color: #A81B04;
  font-size: 2.4rem;
  font-weight: 700;
}

#plan._63 .sec03 .box .content > div .price p span span {
  font-size: 1.6rem;
  color: #000;
  font-weight: normal;
}

#plan._63 .sec03 .box .content > div ul {
  margin-top: 1.8rem;
}

#plan._63 .sec03 .box .content > div ul li {
  border-top: 1px solid #333;
  padding: 0.9rem 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: 0;
}

#plan._63 .sec03 .box .content > div ul li .head {
  background: #6D6D30;
  color: #fff;
  text-align: center;
  padding: 0.2rem 1rem;
  margin-right: 1rem;
  min-width: 70px;
  margin-top: 0;
  font-size: 1.4rem;
}

#plan._63 .sec03 .box .content > div ul li .head + p {
  margin-top: 0;
  font-weight: normal;
  font-size: 1.2rem;
}

#plan._63 .sec03 .box .content > div ul li:last-of-type {
  border-bottom: 1px solid #333;
}

#plan._63 .sec03 .min {
  margin-top: 4rem;
}

#plan._63 .sec03 h3.under_decoration:not(:first-of-type) {
  margin-top: 8rem !important;
  display: none !important;
}

#plan._63 .yukan_bnr {
  margin-top: 3rem;
  text-align: center;
}

#plan .plan_tab {
  margin-top: 5rem;
}

#plan .plan_tab hr {
  margin: 0;
}

#plan .plan_tab ul {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80%;
  margin: 0 auto;
}

#plan .plan_tab ul li {
  width: 50%;
}

#plan .plan_tab ul li a {
  border-radius: 15px 15px 0 0;
  background: #6D6D30;
  padding: 3rem 2rem;
  width: 100%;
  display: block;
  text-align: center;
  color: #fff;
  text-decoration: none;
}

#plan .plan_tab ul li.active a {
  background: #e8e8d9 !important;
  color: #000;
}

#plan .sec04{
  padding: 3rem 0;
  background: #F3F3ED;
}

#plan .sec04 .container .box{
  width: 100%;
  margin: 0 0 2rem 0;
  padding: 1rem;
  background: #fff;
}

#plan .sec04 .container .under_decoration{
  margin-bottom: 5rem !important; 
}

#plan .sec04 .container .box .photo{
  width: 100%;
  margin: 0 0 2rem 0;
}

#plan .sec04 .container .box .photo img{
  width: 100%;
}

#plan .sec04 .container .box .txt{
  width: 100%;
}

#plan .sec04 .container .box .txt h4{
  margin: 2rem 0 0 0;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
}

#plan .sec04 .container .box .txt .price{
  margin: 0 0 1rem 0;
  text-align: center;
  font-weight: bold;
}

#plan .sec04 .container .box .txt .price span{
  font-size: 2rem;
  font-weight: bold;
  color: #FF0004;
}

#plan .sec04 .container .box .txt .table01{
  width: 100%;
  margin: 0 0 1rem 0;
  border-bottom: 1px dotted #000000;
}

#plan .sec04 .container .box .txt .table01 dl{
  width: 100%;
  margin: 0 0 1rem 0;
}

#plan .sec04 .container .box .txt .table02{
  width: 100%;
  margin: 0 0 1rem 0;
  padding: 0 0 1rem 0;
  border-bottom: 1px dotted #000000;
}

#plan .sec04 .container .box .txt .table02 dl dt{
  color: #6d6d30;
}

#plan .sec04 .container .box .txt .table03{
  width: 100%;
}

#plan .sec04 .container .box .txt .table03 dl dt{
  color: #1a3fa7;
}

#news .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#news .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#news .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#news .sec01 {
  padding: 3rem 0 5rem;
  background: #E2E2D6;
}

#news .sec01 ul {
  margin-bottom: 3rem;
}

#news .sec01 ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px dotted #000;
}

#news .sec01 ul li > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#news .sec01 ul li > div .date {
  margin-right: 2rem;
}

#news .sec01 ul li > div a {
  text-decoration: none;
  color: #000;
}

#news .bnr_section {
  padding-top: 0;
}

#news.single .aligncenter {
  display: block;
  margin-left: auto !important;
  margin-right: auto !important;
}

#news.single .container {
  padding: 0;
}

#news.single .content {
  background: #fff;
  padding: 1.5rem;
}

#news.single .content h2 {
  font-weight: 700;
  font-size: 2rem;
}

#news.single .content .date {
  margin-top: 1rem;
}

#news.single .content .main {
  margin-top: 1rem;
  padding-top: 2rem;
}

#knowledge .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/knowledge/knowledge_mv_bg.png);
}

#knowledge .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#knowledge .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#knowledge h3 {
  font-size: 2.2rem;
}

#knowledge p.min {
  text-align: right;
}

#knowledge .sec01 {
  padding: 3rem 0 2rem;
}

#knowledge .sec01 ul {
  margin-bottom: 3rem;
  margin-top: 5rem;
}

#knowledge .sec01 ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 2rem;
}

#knowledge .sec01 ul li:nth-of-type(odd) {
  background: #EEEEE6;
}

#knowledge .sec01 ul li div:first-of-type {
  width: 100%;
}

#knowledge .sec01 ul li div:first-of-type img {
  display: block;
  margin: 0 auto;
}

#knowledge .sec01 ul li div:last-of-type {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 2rem;
}

#knowledge .sec01 ul li div:last-of-type h4 {
  width: 100%;
  font-size: 2rem;
  border-left: 5px solid #6D6D30;
  font-weight: 700;
  padding: 0.5rem;
  padding-left: 1rem;
  background: url(../../assets/img/top/pattern_-01.png);
  margin-bottom: 1rem;
}

#knowledge .sec01 ul li div:last-of-type p {
  line-height: 1.6;
}

#knowledge .sec01 ul li div:last-of-type p span {
  color: #A81B04;
  font-weight: 700;
}

#knowledge .bnr_section {
  padding-top: 0;
}

#schedule .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#schedule .title_wrap .container {
  padding: 0;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

#schedule .title_wrap .container h2 {
  font-size: 2.1rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#schedule .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#schedule .sec01 {
  padding: 5rem 0;
  background: #fff;
}

#schedule .sec01 .text-center {
  text-align: left !important;
}

#schedule .sec02 {
  padding: 5rem 0;
}

#schedule .sec02 .text-center {
  text-align: center;
}

#schedule .sec02 table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 3rem;
}

#schedule .sec02 table tr th {
  background: rgba(197, 197, 174, 0.79);
  position: relative;
}

#schedule .sec02 table tr th:after {
  content: "▼";
  position: absolute;
  bottom: -18px;
  right: 0;
  left: 0;
  margin: auto;
  color: rgba(197, 197, 174, 0.79);
}

#schedule .sec02 table tr th, #schedule .sec02 table tr td {
  display: block;
}

#schedule .sec02 table tr th {
  vertical-align: middle;
  font-weight: 700;
  width: 100%;
  padding: 1.5rem;
}

#schedule .sec02 table tr td {
  line-height: 1.8;
  width: 100%;
  padding: 3rem 2rem;
  background: #fff;
}

#schedule .sec02 table tr td .box {
  border: 2px solid #6D6D30;
  padding: 0.7rem;
  margin-top: 2rem;
}

#schedule .sec02 table tr td .box .head {
  color: #6D6D30;
  font-weight: 700;
}

#schedule .sec02 table tr td .box > div {
  border: 1px solid #6D6D30;
  padding: 1.5rem 2.3rem;
}

#schedule .sec02 table tr td .box > div h4.under_decoration {
  position: relative;
  display: table !important;
  margin: 0 auto 4rem !important;
  padding: 0 1rem;
  font-weight: 700;
  font-size: 2rem;
}

#schedule .sec02 table tr td .box > div h4.under_decoration:before {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -9px;
  background: #6D6D30;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 400px;
}

#schedule .sec02 table tr td .box > div h4.under_decoration:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -12px;
  background: #6D6D30;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 400px;
}

#schedule .sec02 .min {
  font-size: 1.4rem;
}

#schedule .sec02 .container > .box {
  border: 2px solid #6D6D30;
  padding: 0.7rem;
  margin: 0 auto;
  margin-top: 5rem;
  max-width: 750px;
}

#schedule .sec02 .container > .box .head {
  color: #6D6D30;
  font-weight: 700;
  margin-bottom: 1rem;
}

#schedule .sec02 .container > .box > div {
  border: 1px solid #6D6D30;
  padding: 1.5rem 2.3rem;
}

#schedule .sec02 .container > .box > div h4.under_decoration {
  position: relative;
  display: table !important;
  margin: 0 auto 4rem !important;
  padding: 0 1rem;
  font-weight: 700;
  font-size: 2rem;
}

#schedule .sec02 .container > .box > div h4.under_decoration:before {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -9px;
  background: #6D6D30;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 400px;
}

#schedule .sec02 .container > .box > div h4.under_decoration:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -12px;
  background: #6D6D30;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 400px;
}

#consul .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/consul/consul_mv_bg.png);
}

#consul .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#consul .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#consul .sec01 {
  padding: 3rem 0 5rem;
  background: #E2E2D6;
}

#consul .sec01 #ac01.container {
  padding-top: 80px !important;
  margin-top: -80px !important;
}

#consul .sec01 h3.under_decoration + p {
  text-align: left !important;
}

#consul .sec01 .box {
  margin-top: 5rem;
  position: relative;
}

#consul .sec01 .box img {
  position: relative;
  z-index: 9;
}

#consul .sec01 .box div {
  background: #6D6D30;
  color: #fff;
  padding: 4rem;
  width: 100%;
}

#consul .sec01 .box div h4 {
  font-weight: 700;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
}

#consul .sec01 .box div p {
  line-height: 1.8;
}

#consul .sec02 {
  padding: 3rem 0;
}

#consul .sec02 #ac02.container {
  padding-top: 80px !important;
  margin-top: -80px !important;
}

#consul .sec02 .box_wrap {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

#consul .sec02 .box_wrap .box {
  width: 100%;
  background: #E2E2D6;
  padding: 1.5rem 1rem 2rem;
  margin-top: 2rem;
}

#consul .sec02 .box_wrap .box:nth-of-type(2) h4 {
  text-align: left !important;
}

#consul .sec02 .box_wrap .box h4 {
  background: url(../../assets/img/top/pattern_-01.png);
  border: 2px solid #6D6D30;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 0;
}

#consul .sec02 .box_wrap .box p {
  margin-top: 1.5rem;
  padding: 0 3rem;
  line-height: 1.8;
}

#consul .sec02 .box_wrap .box a {
  background: #6D6D30;
  max-width: 495px;
  width: 100%;
  text-align: center;
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 2rem 1rem;
  margin: 0 auto;
  margin-top: 2rem;
}

#consul .sec02 .box_wrap .box img {
  display: block;
  margin: 0 auto;
  margin-top: 2rem;
}

#consul .sec03 {
  padding: 3rem 0;
}

#consul .sec03 h3 {
  text-align: center;
  line-height: 1.5;
}

#consul .sec03 h3 span {
  font-size: 1.8rem;
}

#consul .sec03 h3 + p {
  margin-top: 2rem;
  line-height: 2;
  text-align: left !important;
}

#consul .sec03 .sub_contact_box {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: 4rem;
}

#consul .sec03 .sub_contact_box .telbtn svg {
  width: 100%;
}

#consul .sec03 .sub_contact_box .left {
  border: 2px solid #6D6D30;
  padding: 0.7rem;
  margin: 0 auto;
  width: 100%;
}

#consul .sec03 .sub_contact_box .left > div {
  height: 100%;
  border: 1px solid #6D6D30;
  padding: 2.5rem 1.5rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
}

#consul .sec03 .sub_contact_box .left > div .head {
  font-weight: 700;
  text-align: center;
  border-bottom: 2px solid #9b9b49;
  display: inline;
  padding-bottom: 0.5rem;
  width: initial;
  margin-top: 0;
}

#consul .sec03 .sub_contact_box .left > div p {
  width: 100%;
  margin-top: 1.5rem;
  font-size: 1.6rem;
}

#consul .sec03 .sub_contact_box .left > div p span {
  font-weight: 700;
  font-size: 1.8rem;
}

#consul .sec03 .sub_contact_box .left > div p span.red {
  color: #D4145A;
}

#consul .sec03 .sub_contact_box .left > div svg {
  margin-top: 1rem;
  max-height: 75px;
}

#consul .sec03 .sub_contact_box .right {
  background: #E2E2D6;
  width: 100%;
  padding: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

#consul .sec03 .sub_contact_box .right p {
  margin-top: 1.5rem;
}

#consul .sec03 .container > .box {
  margin-top: 2rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

#consul .sec03 .container > .box:nth-of-type(even) {
  flex-direction: column-reverse;
}

#consul .sec03 .container > .box .left {
  background: #6D6D30;
  color: #fff;
  padding: 2rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-content: center;
  flex-wrap: wrap;
}

#consul .sec03 .container > .box .left h4 {
  width: 100%;
  font-weight: 700;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  font-size: 1.8rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 2.4rem;
  padding-bottom: 1.5rem;
}

#consul .sec03 .container > .box .left h4 svg {
  margin-right: 2rem;
}

#consul .sec03 .container > .box .left p {
  line-height: 1.8;
}

#company .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#company .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#company .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#company .sec01 {
  padding: 5rem 0;
}

#company .sec01 .right {
  text-align: right;
  margin-top: 1rem;
}

#company .sec01 p {
  line-height: 1.8;
}

#company .sec02 {
  padding: 5rem 0;
  background: #EEEEE6;
}

#company .sec02 iframe {
  max-width: 100%;
}

#company .sec02 table {
  width: 100%;
  margin-top: 7rem;
}

#company .sec02 table tr th, #company .sec02 table tr td {
  display: block;
  width: 100%;
}

#company .sec02 table tr th {
  border-bottom: 1px solid #fff;
  vertical-align: middle;
  font-weight: 700;
  font-size: 1.8rem;
  padding: 1rem 1rem;
  text-align: center;
  width: 100%;
  background-image: url(../../assets/img/top/pattern_-01.png);
  background-color: #6D6D30;
  color: #fff;
}

#company .sec02 table tr td {
  border-bottom: 1px dotted #333;
  width: 100%;
  padding: 2rem 1rem 2rem 3rem;
  vertical-align: middle;
  background: #fff;
}

#company .sec02 .flow {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: 3rem;
}

#company .sec02 .flow > div:first-of-type {
  border-bottom: 1px solid #fff;
  vertical-align: middle;
  font-weight: 700;
  font-size: 2rem;
  padding: 2rem 1rem;
  text-align: center;
  width: 100%;
  background-image: url(../../assets/img/top/pattern_-01.png);
  background-color: #6D6D30;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

#company .sec02 .flow > div:last-of-type {
  width: 100%;
  background: #fff;
  padding: 2rem 1rem;
}

#company .sec02 .flow > div:last-of-type ul li {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  position: relative;
}

#company .sec02 .flow > div:last-of-type ul li .date {
  font-weight: 700;
  border-right: 1px solid #6D6D30;
  min-width: 100px;
  padding: 2.5rem 0;
  text-align: right;
  padding-right: 1.5rem;
}

#company .sec02 .flow > div:last-of-type ul li .text {
  padding: 2.5rem;
  padding-left: 2.5rem;
}

#company .sec02 .flow > div:last-of-type ul li.lg_dot .date {
  position: relative;
}

#company .sec02 .flow > div:last-of-type ul li.lg_dot .date:before {
  content: "";
  position: absolute;
  right: -7px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 13px;
  height: 13px;
  border-radius: 20px;
  background: #6d6d30;
}

#company .sec02 .flow > div:last-of-type ul li.min_dot .date {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

#company .sec02 .flow > div:last-of-type ul li.min_dot .date:before {
  content: "";
  position: absolute;
  right: -6px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 20px;
  background: #6d6d30;
}

#ritual .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#ritual .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#ritual .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#ritual .sec01 {
  padding: 5rem 0 5rem;
}

#ritual .sec01 h3 + p {
  margin-top: 7rem;
  line-height: 2;
  text-align: left !important;
}

#ritual .sec01 ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: 4rem;
  overflow: hidden;
}

#ritual .sec01 ul li {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  padding: 2rem 2rem 8rem 2rem;
  position: relative;
}

#ritual .sec01 ul li:nth-of-type(odd) {
  background: #E2E2D6;
}

#ritual .sec01 ul li:nth-of-type(odd):after {
  content: "▶";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -8px;
  margin: auto;
  z-index: 9;
  color: #E2E2D6;
}

#ritual .sec01 ul li:nth-of-type(even) {
  background: #fff;
}

#ritual .sec01 ul li:nth-of-type(even):after {
  content: "▶";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -8px;
  margin: auto;
  z-index: 9;
  color: #fff;
}

#ritual .sec01 ul li > .svg {
  width: 100%;
  text-align: center;
}

#ritual .sec01 ul li img {
  display: block;
  margin: 0 auto;
  margin-top: 1.5rem;
}

#ritual .sec01 ul li p {
  margin-top: 2rem;
}

#ritual .sec01 ul li .num {
  position: absolute;
  right: 20px;
  bottom: 0;
}

#ritual .sec01 ul li .num svg {
  height: 60px;
}

#ritual .bnr_section {
  padding-top: 0;
}

#hall .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#hall .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#hall .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#hall .sec01 {
  padding: 5rem 0;
  background-image: url(../../assets/img/top/pattern_-03.png);
  text-align: center;
}

#hall .sec01 .container h3 {
  margin-bottom: 6rem !important;
}

#hall .sec01 .container p {
  line-height: 2;
  margin-top: 3rem;
  letter-spacing: 0.1rem;
  text-align: left !important;
}

#hall .sec01 svg {
  height: 80px;
}

#hall .sec02 {
  padding: 2rem 0;
  background-image: url(../../assets/img/top/pattern_-03.png);
  text-align: center;
}

#hall .sec02 .container h3 {
  margin-bottom: 6rem !important;
}

#hall .sec02 .container > svg {
  display: block;
  margin: 0 auto;
}

#hall .sec02 .container > p {
  line-height: 2;
  margin-top: 3rem;
  letter-spacing: 0.1rem;
  text-align: left !important;
}

#hall .sec02 .container .halls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 5rem;
}

#hall .sec02 .container .halls div {
  width: 100%;
  margin-top: 3rem;
}

#hall .sec02 .container .halls div h4 {
  border-bottom: 2px solid #9b9b49;
  font-weight: 700;
  padding-bottom: 1rem;
  font-size: 2rem;
}

#hall .sec02 .container .halls div p {
  margin-top: 2rem;
}

#hall .sec02 .container .halls div img {
  margin-top: 2rem;
}

#hall .sec02 .container .min {
  font-size: 1.4rem;
  margin-top: 3rem;
  text-align: left;
}

#hall .sec02 svg {
  height: 80px;
}

#hall .sec03 {
  padding: 5rem 0;
  background-image: url(../../assets/img/top/pattern_-03.png);
  text-align: center;
}

#hall .sec03 .container h3 {
  margin-bottom: 10rem !important;
}

#hall .sec03 .container p {
  line-height: 2;
  letter-spacing: 0.1rem;
  text-align: left !important;
}

#hall .sec03 .container .room {
  margin-top: 4rem;
}

#hall .sec03 .container .room h4 {
  font-weight: 700;
  text-align: left;
  font-size: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #9b9b49;
}

#hall .sec03 .container .room .main {
  position: relative;
  text-align: left;
  margin-top: 2rem;
}

#hall .sec03 .container .room .main .box {
  background: rgba(109, 109, 48, 0.78);
  padding: 3rem 3rem 6rem;
  width: 100%;
}

#hall .sec03 .container .room .main .box p {
  color: #fff;
  line-height: 1.5;
}

#hall .sec03 .container .room .main .box a {
  float: right;
  text-decoration: none;
  color: #fff;
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 0.5rem;
  height: 3rem;
  margin-top: 1rem;
  font-size: 2.4rem;
  border-bottom: 1px solid #fff;
}

#hall .sec03 .container .room .main .box a svg {
  margin-right: 1rem;
}

#hall .sec03 .container .room .sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

#hall .sec03 .container .room .sub div {
  width: 100%;
  margin-top: 3rem;
}

#hall .sec03 .container .room .sub div p {
  margin-top: 1.5rem;
  text-align: left;
  line-height: 1.7;
}

#hall .sec03 .container .room .sub div img {
  margin-top: 1.5rem;
}

#hall .sec03 svg {
  height: 80px;
}

#hall .sec04 {
  padding: 5rem 0;
  text-align: center;
}

#hall .sec04 .container h3 {
  margin-bottom: 8rem !important;
}

#hall .sec04 .container p {
  line-height: 2;
  margin-top: 4rem;
  letter-spacing: 0.1rem;
  text-align: left !important;
}

#hall .sec04 .container ul {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

#hall .sec04 .container ul li {
  width: 100%;
  background: #e9e9e1;
  padding: 2.5rem 1.5rem;
  margin-top: 2rem;
}

#hall .sec04 .container ul li h4 {
  font-weight: 700;
  text-align: center;
  font-size: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #9b9b49;
}

#hall .sec04 .container ul li p {
  text-align: left !important;
  margin-top: 1.5rem;
  line-height: 1.8;
}

#hall .sec04 .container ul li img {
  margin-top: 1.5rem;
}

#hall .sec04 svg {
  height: 80px;
}

#hall .sec05 {
  padding: 5rem 0;
  background-image: url(../../assets/img/top/pattern_-03.png);
  text-align: center;
}

#hall .sec05 .container h3 {
  margin-bottom: 7rem !important;
}

#hall .sec05 .container iframe {
  width: 100%;
  height: 350px;
}

#hall .sec05 .container p {
  line-height: 2;
  margin-top: 4rem;
  letter-spacing: 0.1rem;
}

#hall .sec05 .container .access_texts {
  margin-top: 3rem;
}

#hall .sec05 .container .access_texts h4 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  font-weight: 700;
  font-size: 2.2rem;
}

#hall .sec05 .container .access_texts h4 span {
  font-weight: normal;
  font-size: 1.8rem;
  width: 100%;
  text-align: left;
}

#hall .sec05 .container .access_texts ul {
  max-width: 700px;
  margin: 0 auto;
  margin-top: 4rem;
}

#hall .sec05 .container .access_texts ul li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 2px dotted #9b9b49;
  padding: 1rem;
}

#hall .sec05 .container .access_texts ul li div:first-of-type {
  margin-right: 2rem;
  min-width: 75px;
}

#hall .sec05 .container .access_texts ul li div:last-of-type {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  text-align: left;
}

#hall .sec05 .container .access_texts ul li div:last-of-type .head {
  width: 100%;
  font-weight: 700;
  color: #6D6D30;
}

#hall .sec05 .container .access_texts ul li div:last-of-type p {
  margin-top: 0;
}

#hall .sec05 svg {
  height: 80px;
}

#contact .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#contact .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#contact .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#contact .sec01 {
  padding: 5rem 0 0rem 0;
}

#contact .sec01 .container {
  max-width: 1050px;
}

#contact .sec01 h2 {
  font-size: 3.1rem;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1rem;
}

#contact .sec01 h3.under_frame {
  margin: 5rem 0;
}

#contact .sec01 h3.under_frame span {
  display: block;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
}

#contact .sec01 h3.under_frame svg {
  display: block;
  margin: 0 auto;
  margin-top: 2rem;
  width: 100%;
}

#contact .sec01 p {
  font-size: 1.4rem;
}

#contact .sec01 dl {
  font-size: 1.4rem;
}

#contact .sec01 dl dt {
  color: #6d6d30;
}

#contact .sec01 .page-back a {
  background: #6d6d30;
  text-align: center;
  color: #fff;
  text-decoration: none;
  padding: 2rem;
  display: block;
  width: 100%;
  margin: 0 auto;
  margin-top: 3rem;
  border-radius: 5px;
}

#privacy .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#privacy .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#privacy .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#privacy .sec01 {
  padding: 5rem 0 5rem 0;
}

#privacy .sec01 .container {
  max-width: 1050px;
}

#privacy .sec01 h2 {
  font-size: 3.1rem;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1rem;
}

#privacy .sec01 h3.under_frame {
  margin: 5rem 0;
}

#privacy .sec01 h3.under_frame span {
  display: block;
  text-align: center;
  font-size: 2.9rem;
  font-weight: 700;
}

#privacy .sec01 h3.under_frame svg {
  display: block;
  margin: 0 auto;
  margin-top: 3rem;
}

#privacy .sec01 ul {
  margin-top: 3rem;
  font-size: 1.6rem;
  background: #f3f3f3;
  padding: 2rem;
}

#privacy .sec01 ul li {
  color: #000;
}

#privacy .sec01 ul li:not(:first-of-type) {
  margin-top: 3rem;
}

#sitemap .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/news/news_mv_bg.png);
}

#sitemap .title_wrap .container h2 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#sitemap .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#sitemap .sec01 {
  padding: 2rem 0 5rem 0;
}

#sitemap .sec01 .container {
  max-width: 1050px;
}

#sitemap .sec01 h2 {
  font-size: 3.1rem;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1rem;
}

#sitemap .sec01 h3 {
  margin-bottom: 0;
}

#sitemap .sec01 .box {
  box-shadow: 0px 0px 20px 0px rgba(2, 68, 0, 0.31);
  background-color: #fff;
  background-size: 100% 100%;
  min-height: 460px;
  background-repeat: no-repeat;
  padding: 5.5rem 2rem 5rem;
  text-align: center;
}

#sitemap .sec01 .box p {
  line-height: 2.5;
  font-size: 2.1rem;
}

#sitemap .sec01 .box .title {
  font-size: 3.0rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
}

#sitemap .sec01 .box .title span {
  background: #7A9D5B;
  text-align: center;
  font-size: 2.4rem;
  font-weight: normal;
  color: #fff;
  padding: 0.5rem 4rem;
  display: inline-block;
  margin-right: 3rem;
}

#sitemap .sec01 .box .mintxt {
  margin-top: 5rem;
}

#sitemap .sec01 .box .mintxt span {
  font-size: 2.8rem;
  font-weight: 700;
  margin: 0 1rem;
  position: relative;
  top: 1px;
}

#sitemap .sec01 .box .lgtxt {
  font-size: 2.6rem;
}

#sitemap .sec01 .box .lgtxt span {
  font-size: 3.4rem;
  margin: 0 1rem;
  position: relative;
  top: 1px;
  color: #951E23;
}

#sitemap .sec01 .box .readmore {
  margin-top: 5rem;
}

#sitemap .sec01 .sitemaps {
  max-width: 900px;
  margin: 0 auto;
  margin-top: 3rem;
  background: #fff;
  box-shadow: 0px 0px 11px 6px rgba(0, 0, 0, 0.15);
  padding: 2rem;
}

#sitemap .sec01 .sitemaps.row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

#sitemap .sec01 .sitemaps.row dl {
  width: 100%;
}

#sitemap .sec01 .sitemaps.row dl a {
  text-decoration: none;
  color: #000E88;
  font-size: 1.4rem;
}

#sitemap .sec01 .sitemaps.row dt {
  width: 100%;
  margin-bottom: 0rem;
  border-bottom: 1px solid #e5e5e5;
  padding: 1rem 0 1rem 1.5rem;
}

#sitemap .sec01 .sitemaps.row dd {
  width: 100%;
  margin-bottom: 0rem;
  border-bottom: 1px solid #e5e5e5;
  padding: 1rem 0 1rem 6rem;
}

/* -------------------------------------------------------------------
 お問い合わせフォーム　
------------------------------------------------------------------- */
.subtabletitle {
  margin-top: 25px;
  font-size: 1.6rem !important;
  font-weight: 700;
}

.table.ajust {
  margin-top: 10px !important;
}

#form {
  width: 100%;
}

#form #contact {
  width: 96%;
  margin: 0 auto;
}

#form #contact .read br {
  display: none;
}

#form #contact .table {
  width: 100%;
  margin: 3rem 0 0 0;
}

#form #contact .table dl {
  width: 100%;
  border-left: 1px solid #999;
  border-right: 1px solid #999;
}

#form #contact .table dl dt {
  padding: 1rem 1.5rem;
  font-weight: bold;
  background: #EFEFEF;
}

#form #contact .table dl dt span {
  margin: 0 0 0 1rem;
  padding: 0.2rem 0.5rem;
  font-weight: bold;
  font-size: 1.2rem;
  color: #FFFFFF;
  background: #FF0033;
}

#form #contact .table dl dd {
  padding: 1.5rem;
  background: #fff;
}

#form #contact .table dl dd .float-zip {
  width: 100%;
}

#form #contact .table dl dd .float-zip .caution {
  margin: 0.5rem 0 0 0;
  font-size: 1.2rem;
}

#form #contact .table dl dd .float-check-radio {
  display: flex;
  flex-wrap: wrap;
}

#form #contact .table dl dd .float-check-radio li {
  margin: 0 1.5rem 0.3rem 0;
}

#form #contact .table dl dd .float-input {
  display: flex;
  flex-wrap: wrap;
}

#form #contact .table dl dd .float-input li {
  margin: 0 0.7rem 0 0;
}

#form #contact .table dl dd input {
  padding: 0.3rem;
}

#form #contact .table dl dd input[type=text] {
  font-size: 1.4rem;
}

#form #contact .table dl dd input[type=tel] {
  font-size: 1.4rem;
}

#form #contact .table dl dd input[type=number] {
  font-size: 1.4rem;
}

#form #contact .table dl dd select {
  padding: 0.4rem;
  font-size: 1.4rem;
}

#form #contact .table dl dd textarea {
  padding: 0.3rem;
  font-size: 1.4rem;
  font-family: 'Noto Sans Japanese';
}

#form #contact .table dl dd select {
  padding: 0.3rem;
}

#form #contact .table dl dd .form-ss {
  width: 70px;
}

#form #contact .table dl dd .form-s {
  width: 130px;
}

#form #contact .table dl dd .form-m {
  width: 100%;
}

#form #contact .table dl dd .form-l {
  width: 100%;
}

#form #contact .table dl dd .error {
  max-width: 270px;
}

#form #contact .table dl dd .error .triangle {
  width: 5px;
  margin: 0.5rem auto 0 auto;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #FF0033;
  border-left: 8px solid transparent;
}

#form #contact .table dl dd .error .txt {
  margin: 0 auto;
  padding: 0.3rem;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  border: 3px solid #FF0033;
  background: #EF3F42;
  font-weight: bold;
  font-size: 14px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}

#form #contact .table dl dd .error .txt02 {
  margin: 0.5rem auto 0 auto;
  padding: 0.3rem;
  color: #fff;
  text-align: center;
  border-radius: 10px;
  border: 3px solid #FF0033;
  background: #EF3F42;
  font-weight: bold;
  font-size: 1.4rem;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}

#form #contact .table dl:first-child {
  border-top: 1px solid #999;
}

#form #contact .table dl:last-child {
  border-bottom: 1px solid #999;
}

#form #contact .error-box {
  width: 300px;
  margin: 0 auto;
  padding: 1rem;
  border-radius: 10px;
  border: 3px solid #FF0033;
  background: #EF3F42;
  color: #fff;
}

#form #contact .error-box .txt01 {
  margin: 0 0 0.5rem 0;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

#form #contact .error-box .txt02 {
  font-weight: bold;
  text-align: center;
  color: #fff;
}

#form #contact-check {
  width: 96%;
  margin: 0 auto;
}

#form #contact-check .read {
  margin: 0 0 2rem 0;
}

#form #contact-check dl {
  width: 100%;
  border-left: 1px solid #999;
  border-right: 1px solid #999;
}

#form #contact-check dl dt {
  padding: 1rem;
  font-weight: bold;
  background: #EFEFEF;
}

#form #contact-check dl dt span {
  margin: 0 0 0 1rem;
  padding: 0.2rem 0.5rem;
  font-weight: bold;
  font-size: 1.2rem;
  color: #FFFFFF;
  background: #FF0033;
}

#form #contact-check dl dd {
  padding: 1rem;
}

#form #contact-check dl:first-child {
  border-top: 1px solid #999;
}

#form #contact-check dl:last-child {
  border-bottom: 1px solid #999;
}

#form #contact-error {
  width: 96%;
  margin: 0 auto;
}

#form #contact-error .read {
  margin: 0 0 2rem 0;
  text-align: center;
  color: #FF0004;
}

#form #contact-error ul {
  width: 300px;
  margin: 0 auto;
  color: #FF0033;
}

#form #contact-error ul li {
  margin: 0 0 0 2rem;
  list-style-type: disc;
}

#form #contact-error .txt {
  margin: 2rem 0;
  text-align: center;
}

#form #contact-finish {
  width: 96%;
  margin: 0 auto;
}

#form #contact-finish .read {
  margin: 0 0 2rem 0;
  text-align: center;
}

#form #contact-finish .txt {
  margin: 0 0 4rem 0;
}

#form #contact-finish .txt p {
  margin: 1rem 0 0 0;
}

#form .tel-box {
  width: 300px;
  margin: 3rem auto;
  padding: 2rem 0;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  text-align: center;
}

#form .tel-box .txt01 {
  font-weight: bold;
}

#form .tel-box .tel-pc {
  display: none;
}

#form .tel-box .tel-sp {
  width: 280px;
  margin: 0rem auto 0 auto;
  font-size: 1.6rem;
}

#form .tel-box .tel-sp a {
  display: block;
  padding: 1rem 0;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 5px;
  background: #F80004;
  box-shadow: 0px 3px 0px 1px #760001;
}

#form .tel-box.sp a {
  background-image: url(../../assets/img/common/icon_tel_sp.png);
  background-size: contain;
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: 20px 50%;
}

#form .tel-box .time {
  margin: 1.5rem 0 0 0;
  font-weight: bold;
}

#form .tel-box .caution {
  margin: 1rem 0 0 0;
  font-weight: bold;
  color: #EB0003;
}

#form .submit {
  margin: 5rem 0 0 0;
  text-align: center;
}

#form .submit input {
  width: 150px;
  padding: 1rem 0;
  font-family: 'Lato','Noto Sans JP', sans-serif;
  /* font-family: 'Noto Serif JP', serif; */
  cursor: pointer;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#d8d8d8+0,b2b2b2+100 */
      background: #d8d8d8; /* Old browsers */
      background: -moz-linear-gradient(top,  #d8d8d8 0%, #b2b2b2 100%); /* FF3.6-15 */
      background: -webkit-linear-gradient(top,  #d8d8d8 0%,#b2b2b2 100%); /* Chrome10-25,Safari5.1-6 */
      background: linear-gradient(to bottom,  #d8d8d8 0%,#b2b2b2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d8d8d8', endColorstr='#b2b2b2',GradientType=0 ); /* IE6-9 */
}

#form .submit form.inline {
  display: inline;
}

#form .page-back {
  margin: 0 auto;
  text-align: center;
}

#kyouka-form {
  width: 96%;
  margin: 0 auto;
}

#kyouka-form .table {
  width: 100%;
  margin: 2rem auto 0 auto;
}

#kyouka-form .table dl {
  width: 100%;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  border-right: 1px solid #999;
}

#kyouka-form .table dl dt {
  padding: 1rem;
  background: #F6F5F4;
  color: #000;
}

#kyouka-form .table dl dt span {
  margin: 0 0 0 1rem;
  padding: 0.3rem 1rem;
  background: #FF0004;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 5px;
  border: 1px solid #fff;
}

#kyouka-form .table dl dd {
  padding: 1rem;
  background: #fff;
}

#kyouka-form .table dl dd input {
  padding: 0.3rem;
  font-family: sans-serif;
}

#kyouka-form .table dl dd input[type=checkbox] {
  transform: scale(1.2);
}

#kyouka-form .table dl dd textarea {
  padding: 0.3rem;
  font-size: 1.6rem;
  font-family: sans-serif;
}

#kyouka-form .table dl dd select {
  padding: 0.5rem;
}

#kyouka-form .table dl dd .width-max {
  width: 98%;
}

#kyouka-form .table dl dd .width-long {
  width: 98%;
}

#kyouka-form .table dl dd .width-mid {
  width: 60%;
}

#kyouka-form .table dl dd .width-short {
  width: 40%;
}

#kyouka-form .table dl dd .width-v-short {
  width: 25%;
}

#kyouka-form .table dl dd li {
  margin: 0 0 0.5rem 0;
}

#kyouka-form .table dl dd li:last-child {
  margin: 0;
}

#kyouka-form .table dl dd .caution {
  margin: 0.5rem 0 0 0;
  font-size: 1.2rem;
}

#kyouka-form .table dl dd .margin {
  margin: 1rem 0 0 0;
}

#kyouka-form .table dl:last-child {
  border-bottom: 1px solid #999;
}

#kyouka-form .caution-box {
  margin: 5rem 0 0 0;
}

#kyouka-form .caution-box .read {
  margin: 0 0 1.5rem 0;
}

#kyouka-form .caution-box-in {
  width: 90%;
  height: 300px;
  margin: 0 auto;
  padding: 1.5rem;
  font-size: 1.4rem;
  background: #fff;
  overflow: auto;
  border: 1px solid #353434;
}

#kyouka-form .caution-box-in dl {
  margin: 0 0 1rem 0;
}

#kyouka-form .caution-box-in dl dt {
  margin: 0 0 0.5rem 0;
  font-weight: bold;
}

#kyouka-form .submit {
  width: 70%;
  margin: 3rem auto 0 auto;
}

#kyouka-form .submit .btn {
  width: 100%;
  padding: 1rem 0;
  text-align: center;
  border-radius: 40px;
  border: 2px solid #5A5A5A;
  color: #000;
  font-weight: bold;
  font-size: 1.4rem;
  text-decoration: none;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ededed+2,b2b2b2+100 */
  background: #ededed;
  /* Old browsers */
  background: -moz-linear-gradient(top, #ededed 2%, #b2b2b2 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #ededed 2%, #b2b2b2 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #ededed 2%, #b2b2b2 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ededed', endColorstr='#b2b2b2',GradientType=0 );
  /* IE6-9 */
}

.table2 {
  margin-top: 35px;
}

.table2.ajust {
  margin-top: 10px;
}

.table2 table {
  width: 100%;
  border-top: 1px solid #999;
  border-collapse: collapse;
}

.table2 table .table_flex {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  white-space: nowrap;
}

.table2 table .table_flex input {
  width: 50% !important;
}

.table2 table tr {
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  width: 100%;
}

.table2 table tr th, .table2 table tr td {
  display: block;
}

.table2 table tr th {
  width: 100%;
  display: block;
  color: #6d6d30;
  font-weight: 700;
  vertical-align: middle;
  padding: 0.7rem 2rem;
  background: #EFEFEF;
  border-bottom: 1px solid #999;
  text-align: left;
}

.table2 table tr td {
  width: 100%;
  display: block;
  padding: 1.5rem;
  background: #fff;
}

.table2 table tr td select {
  padding: 4px 10px;
  min-width: 100%;
  margin-bottom: 10px;
  font-size: 1.6rem;
  width: 100%;
}

.table2 table tr td input[type="text"] {
  padding: 4px 10px;
  font-size: 1.6rem;
  width: 100%;
}

/* -------------------------------------------------------------------
 フッター
------------------------------------------------------------------- */
.top-link {
  margin: 0 0 7.8rem 0;
  text-align: center;
}

.top-link br {
  display: none;
}

.top-link a {
  display: block;
  padding: 1rem 0;
  background: #DB5E8A;
  color: #fff;
}

#ft-tel {
  width: 100%;
  position: fixed;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
}

#ft-tel .pc {
  display: none;
}

#ft-tel .sp {
  width: 100%;
  padding: 1rem 0 1.3rem 0;
}

#ft-tel .sp .contact {
  width: 96%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

#ft-tel .sp .contact a {
  width: 48%;
  height: 55px;
  display: block;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  font-size: 1.4rem;
  border-radius: 3px;
  color: #000;
}

#ft-tel .sp .contact a .time {
  width: 100%;
  margin: 0.7rem 0 0 0;
  font-size: 1.1rem;
  font-weight: bold;
}

#ft-tel .sp .contact .tel {
  padding: 1.4rem 0 0 0;
  background: #F80004;
  box-shadow: 0px 3px 0px 1px #760001;
  color: #fff;
}

#ft-tel .sp .contact .tel span {
  padding: 0 0 0 2.5rem;
  font-weight: bold;
  background: url("../../assets/img/common/icon_tel_sp.png") no-repeat;
  background-size: contain;
}

#ft-tel .sp .contact .document-request {
  padding: 2.1rem 0 0 0;
  background: #0856BF;
  box-shadow: 0px 3px 0px 1px #0C346A;
  color: #fff;
}

#ft-tel .sp .contact .document-request span {
  padding: 0 0 0 2.5rem;
  font-weight: bold;
  background: url("../../assets/img/common/icon_doc_sp.png") no-repeat;
  background-size: contain;
}

#ft {
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 1rem;
  position: relative;
  margin-top: 6rem;
  background-image: url(../../assets/img/top/pattern_-01.png);
  position: fixed;
  bottom: 0;
}

#ft .container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}

#ft .container .wrap {
  display: none;
}

#ft .footer_ft {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#ft .footer_ft a img {
  padding: 0 0.3rem;
}

/* ---------- venobox --------- */
.vbox-overlay *, .vbox-overlay :after, .vbox-overlay :before {
  -webkit-backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.vbox-overlay * {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
}

.vbox-overlay {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 2;
  -webkit-transform: translateZ(1000px);
  transform: translateZ(1000px);
  transform-style: preserve-3d;
}

.vbox-title {
  width: 100%;
  float: left;
  line-height: 28px;
  font-size: 9pt;
  padding: 6px 40px;
  display: none;
  left: 0;
}

.vbox-close, .vbox-title {
  height: 40px;
  text-align: center;
  overflow: hidden;
  position: fixed;
  z-index: 3;
}

.vbox-close {
  cursor: pointer;
  top: -1px;
  right: 0;
  width: 50px;
  padding: 6px;
  display: block;
  background-position: 10px center;
  font-size: 24px;
  line-height: 1;
}

.vbox-num {
  left: 0;
  height: 40px;
  display: block;
  line-height: 28px;
  font-size: 9pt;
  padding: 6px 10px;
  display: none;
}

.vbox-next, .vbox-num, .vbox-prev {
  cursor: pointer;
  position: fixed;
  overflow: hidden;
  z-index: 3;
}

.vbox-next, .vbox-prev {
  top: 50%;
  margin-top: -15px;
  display: block;
  width: 45px;
  height: 45px;
}

.vbox-next span, .vbox-prev span {
  position: relative;
  width: 20px;
  height: 20px;
  border: 2px solid transparent;
  border-top-color: #b6b6b6;
  border-right-color: #b6b6b6;
  text-indent: -75pt;
  position: absolute;
  top: 8px;
  display: block;
}

.vbox-prev {
  left: 15px;
}

.vbox-next {
  right: 15px;
}

.vbox-prev span {
  left: 10px;
  -ms-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.vbox-next span {
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 10px;
}

.vbox-inline {
  width: 420px;
  height: 315px;
  height: 70vh;
  padding: 10px;
  background: #fff;
  margin: 0 auto;
  overflow: auto;
  text-align: left;
}

.venoframe {
  max-width: 100%;
  width: 100%;
  border: 0;
  height: 260px;
  height: 70vh;
}

.venoframe.vbvid {
  height: 260px;
}

@media (min-width: 768px) {
  .vbox-inline, .venoframe {
    width: 90%;
    height: 360px;
    height: 70vh;
  }
  .venoframe.vbvid {
    width: 40pc;
    height: 360px;
  }
}

@media (min-width: 992px) {
  .vbox-inline, .venoframe {
    max-width: 75pc;
    width: 80%;
    height: 540px;
    height: 70vh;
  }
  .venoframe.vbvid {
    width: 60pc;
    height: 540px;
  }
}

.vbox-open {
  overflow: hidden;
}

.vbox-container {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  overflow-scrolling: touch;
  -webkit-overflow-scrolling: touch;
  z-index: 1;
  max-height: 100%;
}

.vbox-content {
  text-align: center;
  float: left;
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 20px 10px;
}

.vbox-container img {
  max-width: 100%;
  height: auto;
}

.vbox-figlio {
  box-shadow: 0 0 9pt rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
  max-width: 100%;
  text-align: initial;
}

img.vbox-figlio {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.vbox-content.swipe-left {
  margin-left: -200px !important;
}

.vbox-content.swipe-right {
  margin-left: 200px !important;
}

.vbox-animated {
  webkit-transition: margin .3s ease-out;
  transition: margin .3s ease-out;
}

/* ---------- preloader ----------
 * SPINKIT
 * http://tobiasahlin.com/spinkit/
-------------------------------- */
.sk-double-bounce, .sk-rotating-plane {
  width: 40px;
  height: 40px;
  margin: 40px auto;
}

.sk-rotating-plane {
  background-color: #333;
  -webkit-animation: sk-rotatePlane 1.2s infinite ease-in-out;
  animation: sk-rotatePlane 1.2s infinite ease-in-out;
}

@-webkit-keyframes sk-rotatePlane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0) rotateY(0);
    transform: perspective(120px) rotateX(0) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0);
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0);
  }
  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

@keyframes sk-rotatePlane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0) rotateY(0);
    transform: perspective(120px) rotateX(0) rotateY(0);
  }
  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0);
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0);
  }
  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}

.sk-double-bounce {
  position: relative;
}

.sk-double-bounce .sk-child {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #333;
  opacity: .6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-doubleBounce 2s infinite ease-in-out;
  animation: sk-doubleBounce 2s infinite ease-in-out;
}

.sk-chasing-dots .sk-child, .sk-spinner-pulse, .sk-three-bounce .sk-child {
  background-color: #333;
  border-radius: 100%;
}

.sk-double-bounce .sk-double-bounce2 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

@-webkit-keyframes sk-doubleBounce {
  0%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-doubleBounce {
  0%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.sk-wave {
  margin: 40px auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}

.sk-wave .sk-rect {
  background-color: #333;
  height: 100%;
  width: 6px;
  display: inline-block;
  -webkit-animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
  animation: sk-waveStretchDelay 1.2s infinite ease-in-out;
}

.sk-wave .sk-rect1 {
  -webkit-animation-delay: -1.2s;
  animation-delay: -1.2s;
}

.sk-wave .sk-rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-wave .sk-rect3 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-wave .sk-rect4 {
  -webkit-animation-delay: -.9s;
  animation-delay: -.9s;
}

.sk-wave .sk-rect5 {
  -webkit-animation-delay: -.8s;
  animation-delay: -.8s;
}

@-webkit-keyframes sk-waveStretchDelay {
  0%, 100%, 40% {
    -webkit-transform: scaleY(0.4);
    transform: scaleY(0.4);
  }
  20% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

@keyframes sk-waveStretchDelay {
  0%, 100%, 40% {
    -webkit-transform: scaleY(0.4);
    transform: scaleY(0.4);
  }
  20% {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
  }
}

.sk-wandering-cubes {
  margin: 40px auto;
  width: 40px;
  height: 40px;
  position: relative;
}

.sk-wandering-cubes .sk-cube {
  background-color: #333;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-wanderingCube 1.8s ease-in-out -1.8s infinite both;
  animation: sk-wanderingCube 1.8s ease-in-out -1.8s infinite both;
}

.sk-chasing-dots, .sk-spinner-pulse {
  width: 40px;
  height: 40px;
  margin: 40px auto;
}

.sk-wandering-cubes .sk-cube2 {
  -webkit-animation-delay: -.9s;
  animation-delay: -.9s;
}

@-webkit-keyframes sk-wanderingCube {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  25% {
    -webkit-transform: translateX(30px) rotate(-90deg) scale(0.5);
    transform: translateX(30px) rotate(-90deg) scale(0.5);
  }
  50% {
    -webkit-transform: translateX(30px) translateY(30px) rotate(-179deg);
    transform: translateX(30px) translateY(30px) rotate(-179deg);
  }
  50.1% {
    -webkit-transform: translateX(30px) translateY(30px) rotate(-180deg);
    transform: translateX(30px) translateY(30px) rotate(-180deg);
  }
  75% {
    -webkit-transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
    transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
  }
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}

@keyframes sk-wanderingCube {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  25% {
    -webkit-transform: translateX(30px) rotate(-90deg) scale(0.5);
    transform: translateX(30px) rotate(-90deg) scale(0.5);
  }
  50% {
    -webkit-transform: translateX(30px) translateY(30px) rotate(-179deg);
    transform: translateX(30px) translateY(30px) rotate(-179deg);
  }
  50.1% {
    -webkit-transform: translateX(30px) translateY(30px) rotate(-180deg);
    transform: translateX(30px) translateY(30px) rotate(-180deg);
  }
  75% {
    -webkit-transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
    transform: translateX(0) translateY(30px) rotate(-270deg) scale(0.5);
  }
  100% {
    -webkit-transform: rotate(-360deg);
    transform: rotate(-360deg);
  }
}

.sk-spinner-pulse {
  -webkit-animation: sk-pulseScaleOut 1s infinite ease-in-out;
  animation: sk-pulseScaleOut 1s infinite ease-in-out;
}

@-webkit-keyframes sk-pulseScaleOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

@keyframes sk-pulseScaleOut {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}

.sk-chasing-dots {
  position: relative;
  text-align: center;
  -webkit-animation: sk-chasingDotsRotate 2s infinite linear;
  animation: sk-chasingDotsRotate 2s infinite linear;
}

.sk-chasing-dots .sk-child {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  -webkit-animation: sk-chasingDotsBounce 2s infinite ease-in-out;
  animation: sk-chasingDotsBounce 2s infinite ease-in-out;
}

.sk-chasing-dots .sk-dot2 {
  top: auto;
  bottom: 0;
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

@-webkit-keyframes sk-chasingDotsRotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes sk-chasingDotsRotate {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes sk-chasingDotsBounce {
  0%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-chasingDotsBounce {
  0%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.sk-three-bounce {
  margin: 40px auto;
  width: 80px;
  text-align: center;
}

.sk-three-bounce .sk-child {
  width: 20px;
  height: 20px;
  display: inline-block;
  -webkit-animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
  animation: sk-three-bounce 1.4s ease-in-out 0s infinite both;
}

.sk-circle .sk-child:before, .sk-fading-circle .sk-circle:before {
  display: block;
  border-radius: 100%;
  content: '';
  background-color: #333;
}

.sk-three-bounce .sk-bounce1 {
  -webkit-animation-delay: -.32s;
  animation-delay: -.32s;
}

.sk-three-bounce .sk-bounce2 {
  -webkit-animation-delay: -.16s;
  animation-delay: -.16s;
}

@-webkit-keyframes sk-three-bounce {
  0%, 100%, 80% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-three-bounce {
  0%, 100%, 80% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.sk-circle {
  margin: 40px auto;
  width: 40px;
  height: 40px;
  position: relative;
}

.sk-circle .sk-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle .sk-child:before {
  margin: 0 auto;
  width: 15%;
  height: 15%;
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
  animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}

.sk-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.sk-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

.sk-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sk-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}

.sk-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
}

.sk-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sk-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  -ms-transform: rotate(210deg);
  transform: rotate(210deg);
}

.sk-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}

.sk-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.sk-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  -ms-transform: rotate(300deg);
  transform: rotate(300deg);
}

.sk-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  -ms-transform: rotate(330deg);
  transform: rotate(330deg);
}

.sk-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-circle .sk-circle4:before {
  -webkit-animation-delay: -.9s;
  animation-delay: -.9s;
}

.sk-circle .sk-circle5:before {
  -webkit-animation-delay: -.8s;
  animation-delay: -.8s;
}

.sk-circle .sk-circle6:before {
  -webkit-animation-delay: -.7s;
  animation-delay: -.7s;
}

.sk-circle .sk-circle7:before {
  -webkit-animation-delay: -.6s;
  animation-delay: -.6s;
}

.sk-circle .sk-circle8:before {
  -webkit-animation-delay: -.5s;
  animation-delay: -.5s;
}

.sk-circle .sk-circle9:before {
  -webkit-animation-delay: -.4s;
  animation-delay: -.4s;
}

.sk-circle .sk-circle10:before {
  -webkit-animation-delay: -.3s;
  animation-delay: -.3s;
}

.sk-circle .sk-circle11:before {
  -webkit-animation-delay: -.2s;
  animation-delay: -.2s;
}

.sk-circle .sk-circle12:before {
  -webkit-animation-delay: -.1s;
  animation-delay: -.1s;
}

@-webkit-keyframes sk-circleBounceDelay {
  0%, 100%, 80% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes sk-circleBounceDelay {
  0%, 100%, 80% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.sk-cube-grid {
  width: 40px;
  height: 40px;
  margin: 40px auto;
}

.sk-cube-grid .sk-cube {
  width: 33.33%;
  height: 33.33%;
  background-color: #333;
  float: left;
  -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
  animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
}

.sk-cube-grid .sk-cube1 {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}

.sk-cube-grid .sk-cube2 {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}

.sk-cube-grid .sk-cube3 {
  -webkit-animation-delay: .4s;
  animation-delay: .4s;
}

.sk-cube-grid .sk-cube4 {
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
}

.sk-cube-grid .sk-cube5 {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}

.sk-cube-grid .sk-cube6 {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}

.sk-cube-grid .sk-cube7 {
  -webkit-animation-delay: 0ms;
  animation-delay: 0ms;
}

.sk-cube-grid .sk-cube8 {
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
}

.sk-cube-grid .sk-cube9 {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}

@-webkit-keyframes sk-cubeGridScaleDelay {
  0%, 100%, 70% {
    -webkit-transform: scale3D(1, 1, 1);
    transform: scale3D(1, 1, 1);
  }
  35% {
    -webkit-transform: scale3D(0, 0, 1);
    transform: scale3D(0, 0, 1);
  }
}

@keyframes sk-cubeGridScaleDelay {
  0%, 100%, 70% {
    -webkit-transform: scale3D(1, 1, 1);
    transform: scale3D(1, 1, 1);
  }
  35% {
    -webkit-transform: scale3D(0, 0, 1);
    transform: scale3D(0, 0, 1);
  }
}

.sk-fading-circle {
  margin: 40px auto;
  width: 40px;
  height: 40px;
  position: relative;
}

.sk-fading-circle .sk-circle {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-fading-circle .sk-circle:before {
  margin: 0 auto;
  width: 15%;
  height: 15%;
  -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
  animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}

.sk-fading-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
  -ms-transform: rotate(30deg);
  transform: rotate(30deg);
}

.sk-fading-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
  -ms-transform: rotate(60deg);
  transform: rotate(60deg);
}

.sk-fading-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.sk-fading-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
  -ms-transform: rotate(120deg);
  transform: rotate(120deg);
}

.sk-fading-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
  -ms-transform: rotate(150deg);
  transform: rotate(150deg);
}

.sk-fading-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sk-fading-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
  -ms-transform: rotate(210deg);
  transform: rotate(210deg);
}

.sk-fading-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
  -ms-transform: rotate(240deg);
  transform: rotate(240deg);
}

.sk-fading-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.sk-fading-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
  -ms-transform: rotate(300deg);
  transform: rotate(300deg);
}

.sk-fading-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
  -ms-transform: rotate(330deg);
  transform: rotate(330deg);
}

.sk-fading-circle .sk-circle2:before {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s;
}

.sk-fading-circle .sk-circle3:before {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

.sk-fading-circle .sk-circle4:before {
  -webkit-animation-delay: -.9s;
  animation-delay: -.9s;
}

.sk-fading-circle .sk-circle5:before {
  -webkit-animation-delay: -.8s;
  animation-delay: -.8s;
}

.sk-fading-circle .sk-circle6:before {
  -webkit-animation-delay: -.7s;
  animation-delay: -.7s;
}

.sk-fading-circle .sk-circle7:before {
  -webkit-animation-delay: -.6s;
  animation-delay: -.6s;
}

.sk-fading-circle .sk-circle8:before {
  -webkit-animation-delay: -.5s;
  animation-delay: -.5s;
}

.sk-fading-circle .sk-circle9:before {
  -webkit-animation-delay: -.4s;
  animation-delay: -.4s;
}

.sk-fading-circle .sk-circle10:before {
  -webkit-animation-delay: -.3s;
  animation-delay: -.3s;
}

.sk-fading-circle .sk-circle11:before {
  -webkit-animation-delay: -.2s;
  animation-delay: -.2s;
}

.sk-fading-circle .sk-circle12:before {
  -webkit-animation-delay: -.1s;
  animation-delay: -.1s;
}

@-webkit-keyframes sk-circleFadeDelay {
  0%, 100%, 39% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

@keyframes sk-circleFadeDelay {
  0%, 100%, 39% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
}

.sk-folding-cube {
  margin: 40px auto;
  width: 40px;
  height: 40px;
  position: relative;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.sk-folding-cube .sk-cube {
  float: left;
  width: 50%;
  height: 50%;
  position: relative;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}

.sk-folding-cube .sk-cube:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #333;
  -webkit-animation: sk-foldCubeAngle 2.4s infinite linear both;
  animation: sk-foldCubeAngle 2.4s infinite linear both;
  -webkit-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

.sk-folding-cube .sk-cube2 {
  -webkit-transform: scale(1.1) rotateZ(90deg);
  transform: scale(1.1) rotateZ(90deg);
}

.sk-folding-cube .sk-cube3 {
  -webkit-transform: scale(1.1) rotateZ(180deg);
  transform: scale(1.1) rotateZ(180deg);
}

.sk-folding-cube .sk-cube4 {
  -webkit-transform: scale(1.1) rotateZ(270deg);
  transform: scale(1.1) rotateZ(270deg);
}

.sk-folding-cube .sk-cube2:before {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}

.sk-folding-cube .sk-cube3:before {
  -webkit-animation-delay: .6s;
  animation-delay: .6s;
}

.sk-folding-cube .sk-cube4:before {
  -webkit-animation-delay: .9s;
  animation-delay: .9s;
}

@-webkit-keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0);
    transform: perspective(140px) rotateX(0);
    opacity: 1;
  }
  100%, 90% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}

@keyframes sk-foldCubeAngle {
  0%, 10% {
    -webkit-transform: perspective(140px) rotateX(-180deg);
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
  }
  25%, 75% {
    -webkit-transform: perspective(140px) rotateX(0);
    transform: perspective(140px) rotateX(0);
    opacity: 1;
  }
  100%, 90% {
    -webkit-transform: perspective(140px) rotateY(180deg);
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
  }
}

/*# sourceMappingURL=assets/css/smart.css.map */


#index .medias .right > div > div img{
  max-width: 48%;
  height: auto;
}



#items .title_wrap {
  background-position: center center;
  background-size: cover;
  background: url(../../assets/img/items/items_mv.png);
}

#items .title_wrap .container {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

#items .title_wrap .container h2 {
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto;
  color: #fff;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

#items .title_wrap .container h2 svg {
  margin: 0 1rem;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  height: 30px;
}

#items .sec01 {
  padding: 3rem 0 5rem;
  background-image: url(../../assets/img/top/pattern_-03.png);
}

#items .sec01 .box {
  border: 2px solid #6D6D30;
  padding: 5px;
  background: #fff;
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}

#items .sec01 .box > div {
  border: 2px solid #6D6D30;
  padding: 30px 20px;
  text-align: center;
}

#items .sec01 .box > div svg {
  max-width: 100%;
  height: auto;
  margin-top: 30px;
}

#items .sec01 .box > div > p {
  font-weight: 700;
  font-size: 1.8rem;
}

#items .sec01 .box > div > div {
  margin-top: 30px;
}

#items .sec01 .box > div > div > p {
  font-size: 20px;
  border-bottom: 3px solid #6D6D30;
  font-weight: 700;
  padding-bottom: 5px;
}

#items .sec01 .box > div > div .flexes {
  margin-top: 0px;
  display: flex;
  justify-content: space-between;
  align-content: center;
  flex-wrap: wrap;
}

#items .sec01 .box > div > div .flexes > div {
  width: 100%;
  margin-top: 15px;
}

#items .sec01 .box > div > div .flexes > div p:first-of-type {
  background: #6D6D30;
  color: #fff;
  font-size: 18px;
  width: 100%;
  display: block;
  padding: 5px 0;
  font-weight: 700;
}

#items .sec01 .box > div > div .flexes > div p:last-of-type {
  background: #E2E2D6;
  color: #C1272D;
  font-size: 20px;
  width: 100%;
  display: block;
  padding: 20px 0;
  font-weight: 700;
}

#items .sec01 .box2 {
  margin: 0 auto;
  margin-top: 80px;
  max-width: 940px;
  text-align: center;
}

#items .sec01 .box2 p.midashi {
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 2px solid #6D6D30;
  padding-bottom: 5px;
  text-align: center;
  display: inline-block;
}

#items .sec01 .box2 div.flexes {
  display: flex;
  justify-content: space-between;
  align-content: stretch;
  margin-top: 30px;
  flex-wrap: wrap;
}

#items .sec01 .box2 div.flexes > div {
  width: 100%;
  background: rgba(226, 226, 214, 0.46);
  padding: 30px 15px;
  text-align: center;
  margin-top: 15px;
}

#items .sec01 .box2 div.flexes > div p:first-of-type {
  font-size: 20px;
  font-weight: 700;
  width: 100%;
  display: block;
  border-bottom: 2px solid #6D6D30;
  padding-bottom: 10px;
}

#items .sec01 .box2 div.flexes > div p:first-of-type span {
  color: #C1272D;
  font-weight: 700;
}

#items .sec01 .box2 div.flexes > div p:last-of-type {
  margin-top: 20px;
  font-size: 16px;
  text-align: left;
}

#items .sec01 .box2 div.flexes > div p:last-of-type span {
  font-size: 14px;
}

#items .sec01 .ctwrap {
  margin-top: 50px;
  text-align: center;
}

#items .sec01 .ctwrap p {
  font-weight: 700;
}

#items .sec01 .ctwrap a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  color: #fff;
  background: #6D6D30;
  padding: 25px 10px;
  font-weight: 700;
  margin: 0 auto;
  margin-top: 30px;
  text-decoration: none;
  font-size: 1.6rem;
  box-shadow: 5px 5px 0 #B3B3B3;
}

#items .sec01 .ctwrap a svg {
  margin-left: 20px;
}

#items .sec02 {
  padding: 5rem 0 5rem;
  text-align: center;
  overflow-x: hidden;
}

#items .sec02 p.sub {
  font-size: 25px;
  color: #6D6D30;
  font-weight: 700;
  margin-top: 25px;
}

#items .sec02 p.sub + p {
  margin-top: 15px;
  line-height: 2;
  text-align: left;
  margin-bottom: 15px;
}

#items .sec02 .items_col {
  display: flex;
  justify-content: space-around;
  align-content: stretch;
  flex-wrap: wrap;
  background: #E2E2D6;
  margin-top: 0px;
  padding-bottom: 40px;
  position: relative;
}
#items .sec02 .items_col > div {
  width: 80%;
  margin-top: 15px;
}
#items .sec02 .items_col > div img {
  display: block;
  margin: 0 auto;
}

#items .sec02 .items_col > div > div {
  border: 2px solid #6D6D30;
  padding: 20px;
  text-align: center;
  background: #fff;
}

#items .sec02 .items_col > div > div p {
  display: inline-block;
  letter-spacing: 2px;
}

#items .sec02 .items_col > div > div p > span {
  font-weight: 700;
  margin-left: 3px;
}

#items .sec02 .items_col > div > div p > span > span {
  font-size: 12px;
}

#items .sec03 {
  padding: 3rem 0 5rem;
  text-align: center;
}

#items .sec03 p.sub {
  font-size: 25px;
  color: #6D6D30;
  font-weight: 700;
  margin-top: 25px;
}

#items .sec03 p.sub + p {
  margin-top: 15px;
  line-height: 2;
}

#items .sec03 .flexes {
  display: flex;
  justify-content: space-between;
  align-content: stretch;
  flex-wrap: wrap;
}

#items .sec03 .flexes > div {
  background: #fff;
  border: 2px solid #6D6D30;
  padding: 15px;
  display: flex;
  justify-content: center;
  align-content: stretch;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 30px;
}

#items .sec03 .flexes > div p.midashi {
  font-size: 20px;
  font-weight: 700;
  color: #6D6D30;
  width: 100%;
}

#items .sec03 .flexes > div p.midashi + p {
  font-size: 16px;
  width: 100%;
}

#items .sec03 .flexes > div > div {
  margin: 30px 0 15px;
  width: 50%;
}

#items .sec03 .flexes > div > div img {
  max-width: 100%;
  height: auto;
}

#items .sec03 .flexes > div > div p {
  margin-top: 15px;
  font-weight: 700;
  font-size: 20px;
}

#items .sec03 .flexes > div > div p span {
  font-size: 16px;
  font-weight: 500;
}

#items .sec03 .flexes > div > div p span.font_mincho {
  font-size: 20px;
  font-weight: 700;
}




#contact .subtabletitle {
  text-align: center;
}

#contact .telbtn a svg {
  max-width: 100%;
}
#contact .sec01 a.freetel {
  width: 430px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  border: 1px solid #6d6d30;
  padding: 1.5rem 0 1rem;
  margin: 0 auto;
  color: #6d6d30;
  text-decoration: none;
  font-size: 1.8rem;
  margin-top: 2.5rem;
}

.copyright_hr {
  margin-top: 5rem;
}