
body{
  font-family: 'Roboto Condensed',-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  font-weight: 400;
}

a {
  color: #0056b3;
}


.front h1{
  color: #b22222;
  font-weight: bold;
}

.front p{
  font-size: 1.2em;
}

.title-area{
  text-align: center;
}

.sub-title01{
  text-align: center;
  margin: 15px 0;
  line-height: 1.1;
  position: relative;
  display: inline-block;
}

.sub-title01 small{
  font-size: 0.7em;
}
 
.sub-title01 span{
  position: relative;
  display: inline-block;
  padding: 0 0.5em;
}

.sub-title01 span::before, .sub-title01 span::after{
  position: absolute;
  top: 50%;
  content: '';
  width: 3.5em;
  height: 2px;
  background-color: #b22222;
}
 
.sub-title01 span::before {left: 100%;}
.sub-title01 span::after { right: 100%;}



.align-center {
  display: flex;
  align-items: center;
  flex-direction: column;
}



.page_head01 {
  margin:  10px 0 30px 0;
  position:  relative;
  border-bottom: solid 4px rgba(76, 175, 80, 0.6);/* 線指定 */
  border-radius: 0px 0px 160px 180px/0px 0px 20px 4px;/* 角丸指定 */
  line-height: 1.3;
}

.page_head02 {
  margin:  10px 0 30px 0;
  position:  relative;
  border-bottom: solid 4px rgba(131, 39, 78, 0.6);/* 線指定 */
  border-radius: 0px 0px 160px 180px/0px 0px 20px 4px;/* 角丸指定 */
  line-height: 1.3;
  -webkit-animation: fadein03 1.8s ease .5s 1 forwards;
  animation: fadein03 1.8s ease .5s 1 forwards;
  opacity:0;
}

.page_head03 {
  margin:  10px 0 30px 0;
  position:  relative;
  border-bottom: solid 4px rgba(92, 65, 56, 0.7);/* 線指定 */
  border-radius: 0px 0px 160px 180px/0px 0px 20px 4px;/* 角丸指定 */
  line-height: 1.3;
  -webkit-animation: fadein03 1.8s ease .5s 1 forwards;
  animation: fadein03 1.8s ease .5s 1 forwards;
  opacity:0;
}

.page_head10 {
  border-bottom: solid 1px #ccc;
  margin:  10px 0 30px 0;
  font-size: 1.7em;
}

h3{
  font-size: 1.6em;
  font-weight: bold;
  line-height: 0.9;
}

h3.page-header{
  margin-bottom: 15px;
  padding-bottom: 5px;
  padding-left: 5px;
  border-bottom: 2px solid #b22222;
}

.card {
  padding: 5px;
}

.card h4{
  font-size: 1.2em;
  margin-top: 5px;
  margin-bottom: 5px;
}


.page_intro{
  margin:  30px 0;
  font-size:1.1em;
}


.post-title{
  font-size: 1.6em;
  overflow-wrap: break-word;
  word-break: keep-all;
}

.attention01{
  font-weight: bold;
  font-size:1.4em!important;
}

.attention02{
  font-weight: bold;
  font-size: 1.0em;
}

.attention03{
  font-weight: bold;
  font-size: 1.3em;
}


/*フォント設定*/

.f-size01{
  font-size: 1.3em!important;
}


/* モバイルメニュー表示設定 */
.fix-menu{
  display:none;
  height:100%;
  width:100%;
}

body.fix{
  position: fixed;
  width: 100%;
}

body.fix .nav-wrap{
  display:block;
  color:#fff;
  position:fixed;
  top:0;
  overflow-y:scroll;
  -webkit-overflow-scrolling:touch;
}

.nav-wrap{
  display:none;
  height:100%;
  width:100%;
  text-align:center;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { 
  display: block !important; 
}
.sp { 
  display: none !important; 
}

img {
  width: 100%;
  height:100%;
}

.ban-overflow{
  overflow-x: hidden;
}

.icatch {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  -webkit-animation: fadein02 4s ease 0s 1 forwards;
  animation: fadein02 4s ease 0s 1 forwards;
}

.icatch ul li{
}

.icatch2 {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}


.parent-cont {
  position: relative;
  margin-bottom: 50px;
}

.nav-header{
  position: relative;
  background: #fff;
  width:100%;
  min-height: 100px;
  z-index: 10;
  padding: 15px 0 0 0;
  box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.25);
}

.nav-header .logo{
  font-size: 30px;
  margin: 10px 15px;
  text-align: center;
}

.nav-header .logo a{
  color: #5C4138;
  text-decoration: none;
}


.nav-button{
  display: none;
}

.nav-list {
  margin:0;
  padding: 18px 0;
}

.nav-list a{
  color: #000;
  text-decoration: none;
  font-size: 14px;
  color: #448aff;
}

.nav-list li{
  display: inline-block;
  margin: 0 10px;
}


.fix-header{
  background: #b22222;
  top: -77px;/* 上に隠す鷹さ */
  width: 100%;
  margin: 0 auto;
  position: fixed;
  opacity:0;/*  最初読み込んだときは透過 */
  z-index: 15;/*　他のアイテムに対して最上位のレイヤーになるように */
  display: flex;
  justify-content: space-between;
  padding: 20px 15px;
}

.fix-header .logo{
  font-size: 18px;
  width: 10%;
  margin-left: 15px;
}

.fix-header .logo a{
  color: #5C4138;
  text-decoration: none;
}


.fix-header ul.fix-menu-list{
  width:100%;
}

.fix-header ul.fix-menu-list {
  margin-top: 5px;
  margin-bottom:0;
}

ul.fix-menu-list a{
  color: #000;
  text-decoration: none;
  font-size: 14px;
  color: #448aff;
}

ul.fix-menu-list li{
  display: inline-block;
  margin: 0 10px;
  position: relative;
}


/* 自動付加z-index解除 */
.zrelease{
  position:relative;
  z-index:1;
}

.head-back{
  max-width: 1140px;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}


/* ヘッダー バック固定背景指定 */
.top-fixedback{
  height:380px;
  width:100%;
  position: relative;
  background-repeat: no-repeat;
  background-attachment: fixed;
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto;
  -o-background-size: 100% auto;
  background-size: 100% auto;
  z-index:2;
}

/* ヘッダー内情報設定 */
.head-box{
  height: 380px;
  background: rgba(178,34,34, 0.4);
}

.head-box h1{
  text-align: center;
  text-shadow: 1px 1px 2px #111;
  color:#fff;
  line-height: 1.0;
  padding: 0px 60px;
  font-size: 3.5em;
}


.head-box h1 small{
  font-size: 0.6em;
}


/* 共通ヘッダー */
.top-common-back{
  background:#5C4138;
  padding: 20px 10px;
  color:#fff;
}





/* パンくずリスト */
.breadcrumbs{
  margin: 10px 0 0 0;
  font-size: 1.0em;
}

.current-item{
  font-weight: bold;
}



/* イントロ設定 */
.intro-back{
  background: #b22222;
}

.intro{
  margin: 20px 0 20px 0
}


/*トップ新着情報・お知らせ設定*/
ul.info, ul{
  margin:0;
  padding:0;
}

ul.info a, ul.topic a{
  text-decoration: none;
}

ul.topic li{
  list-style-type: none;
}

ul.topic li .topic-cotent{
  width: 75%;
  margin: 15px 0 20px 0;
}

ul.topic li .topic-image{
  width: 25%;
  margin: 15px 0 20px 0;
}

ul.info li, ul.topic li{
  margin: 10px 0;
  border-bottom: 1px solid rgba(0,0,0,.2);
  position: relative;
  padding: 10px 10px 10px 0em;
  color:#333;
}

ul.topic p.news-date{
  font-size: 1.1em;
  font-weight: bold;
  margin-right: 15px;
}

ul.topic h3.news-subject{
  font-size: 1.1em;
  font-weight: bold;
  margin-top: 2px;
  overflow-wrap: break-word;
  word-break: keep-all;
}

ul.topic li a{
  text-decoration: underline;
  font-weight: bold;
  color: #0056b3;
}


.news-date{
  width: 100px;
}
.news-cat{
  width: 100px;
}

.news-cat span{
  border: 1px solid #5C4138;
  width: 140px;
  display: block;
  text-align:center;
  }

.news-subject{
  width:100%;
  text-decoration: none;
  overflow-wrap: break-word;
  word-break: keep-all;
}

.news-list{
  width:100%;
  text-decoration: none;
  position: relative;
  padding: 10px 35px 10px 2em;
  color:#333;
  font-weight: bold;
}

.link a:hover{
  text-decoration: none;
}


/* トップページコンテンツ設定 */
.intro h1, .intro h2, .intro p {
  color: #fff;
  line-height: 1.8;
}

.intro-r p, .intro-l p{
  margin-top:30px;
  margin-bottom:30px;
  font-size:21px;
}

.intro-r{
  padding: 10px 25px 30px 0px;
  width:100%;
}

.intro-l{
  padding: 10px 0px 30px 25px;
  width:100%;
}


/* 新着情報ページ設定 */
.info-list li{
  border-bottom: 1px solid rgba(0,0,0,.1);
  padding-bottom: 25px;
  margin-bottom: 25px;
}

.info-list h4 a{
  color:#0056b3;
}

.info02-l{
  width: 20%;
  margin-right:10px;
}

.info02-r{
  width: 80%;
  margin-left:10px;
}

.info02-r h4{
  font-size: 1.1em;
  color: #286aab;
}


/* 新着情報投稿ページ設定*/
.info-l {
  width: 30%;
  margin-right: 10px;
}

.info-r {
  width: 70%;
  margin-left: 10px;
}

.info-r h3 {
  font-size: 1.2em;
}

.news-date2{
  width: 100px;
  border: 1px solid #96a9b3;
  text-align:center;
}

.news-cat2{
  width: 100px;
}

.news-cat2 span{
  background: #96a9b3;
  border: 1px solid #96a9b3;
  display: block;
  text-align:center;
}

.news-cat2 span a{
  color:#fff;
}

/* ブログ投稿ページ設定*/
.blog-date2{
  width: 100px;
  border: 1px solid #293e5b;
  text-align:center;
}

.blog-cat2{
  width: 100px;
}

.blog-cat2 span{
  color:#fff;
  background: #b22222;
  border: 1px solid #b22222;
  display: block;
  text-align:center;
}

.blog-cat2 span a{
  color:#fff;
} 



/* 投稿ページサイドフッター */
.aside-title1 {
  position: relative;
  padding: 5px 5px 5px 42px;
  background: #96a9b3;
  font-size: 20px;
  color: white;
  margin-top: 25px;
  margin-left: -20px;
  line-height: 1.3;
  z-index:-1;
}

.aside-title1:after {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index:-2
}


.aside-title2 {
  position: relative;
  padding: 5px 5px 5px 42px;
  background: #b22222;
  font-size: 20px;
  color: white;
  margin-top: 25px;
  margin-left: -20px;
  line-height: 1.3;
  z-index:-1;
}

.aside-title2:after {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index:-2
}

.aside-info-list {
  margin-bottom: 50px;
}

.aside-info-list li {
  padding: 5px 0 5px 10px;
  border-bottom: 1px dashed #888;
  font-size: 1.1em;
  list-style: none;
}

.aside-info-list li > a {
  width: 100%;
  color: #286aab;
}




/* delighter設定 */
/* 基本のスタイル */
.delighter.slide-l {
  -webkit-transition: all 1.8s ease-out;
  transition: all 1.8s ease-out .2s;
  -webkit-transform: translateX(-150px);
          transform: translateX(-150px);
  opacity: 0;
  visibility: hidden;
  position: relative;
}


.delighter.slide-r {
  -webkit-transition: all 1.8s ease-out;
  transition: all 1.8s ease-out .2s;
  -webkit-transform: translateX(150px);
          transform: translateX(150px);
  opacity: 0;
  visibility: hidden;
  position: relative;
}

/* アニメーションスタート時のスタイル */
.delighter.slide-l.started, .delighter.slide-r.started{
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  visibility: visible; 
}

.delighter.slide-l h2.title-part01{
  position: absolute;
  bottom:8%;
  left:0;
  font-size:5em;
  padding: 10px 20px;
  background: #5C4138;
  color: #fff;
  opacity: 0.8;
}

.delighter.slide-r h2.title-part02{
  position: absolute;
  bottom:8%;
  left:0;
  font-size:5em;
  padding: 10px 50px;
  background: #5C4138;
  color: #fff;
  opacity: 0.8;
}

/* overflow非表示 */
.topintro, .parts, .concept{
  overflow: hidden;
}

/* トップページイントロ設定 */
.delighter.topintro .part1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateY(80px);
          transform: translateY(80px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro .part2 {
  -webkit-transition: all 1.0s ease-out .4s;
  transition: all 1.0s ease-out .4s;
  -webkit-transform: translateX(80px);
          transform: translateX(80px);
  visibility: hidden;
  opacity: 0; }

.delighter.topintro .part3 {
  -webkit-transition: all 1.0s ease-out .8s;
  transition: all 1.0s ease-out .8s;
  -webkit-transform: translateX(-80px);
          transform: translateX(-80px);
  visibility: hidden;
  opacity: 0; }


.delighter.topintro.started .part1, .delighter.topintro.started .part2, .delighter.topintro.started .part3{
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  visibility: visible; }


/* concept設定 */
.delighter.concept .con1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateX(-80px);
          transform: translateX(-80px);
  visibility: hidden;
  opacity: 0; }

.delighter.concept .con1-1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateX(80px);
          transform: translateX(80px);
  visibility: hidden;
  opacity: 0; }


.delighter.concept .con2 {
  -webkit-transition: all 2.0s ease-out .4s;
  transition: all 2.0s ease-out .4s;
  opacity: 0; }

.delighter.concept .con3 {
  -webkit-transition: all 1.0s ease-out .4s;
  transition: all 1.0s ease-out .4s;
  -webkit-transform: translateY(80px);
          transform: translateY(80px);
  visibility: hidden;
  opacity: 0; }


.delighter.concept.started .con1, .delighter.concept.started .con1-1, .delighter.concept.started .con2, .delighter.concept.started .con3{
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  visibility: visible; }


.delighter.parts .parts1 {
  -webkit-transition: all 1.0s ease-out;
  transition: all 1.0s ease-out;
  -webkit-transform: translateY(100px);
          transform: translateY(100px);
  visibility: hidden;
  overflow-y: hidden;
  opacity: 0; }
.delighter.parts .parts2 {
  -webkit-transition: all 1.0s ease-out .2s;
  transition: all 1.0s ease-out .2s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts3 {
  -webkit-transition: all 1.0s ease-out .5s;
  transition: all 1.0s ease-out .5s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts4 {
  -webkit-transition: all 1.0s ease-out .8s;
  transition: all 1.0s ease-out .8s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }
.delighter.parts .parts5 {
  -webkit-transition: all 1.0s ease-out 1.1s;
  transition: all 1.0s ease-out 1.1s;
  -webkit-transform: translateY(70px);
          transform: translateY(70px);
  visibility: hidden;
  opacity: 0; }

.delighter.parts.started .parts1, .delighter.parts.started .parts2, .delighter.parts.started .parts3, .delighter.parts.started .parts4, .delighter.parts.started .parts5{
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  visibility: visible; }

.delighter.fade {
  -webkit-transition: all 2.2s 2.2;
  transition: all 2.2s ease-out;
  opacity: 0; }
  .delighter.fade.started {
  opacity: 1; 
}


/* slick slider設定 */
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 0px;
}


/* ポインター設定 */
.hpointer{
  cursor: pointer;
  cursor: hand;
}

/* マージン設定 */
.t-mgn01{
  margin-top: 10px;
}

.t-mgn02{
  margin-top: 20px;
}

.t-mgn03{
  margin-top: 30px;
}

.t-mgn04{
  margin-top: 40px;
}

.t-mgn10{
  margin-top: 100px;
}

.t-mgn05{
  margin-top: 50px;
}


.b-mgn01{
  margin-bottom: 10px;
}

.b-mgn02{
  margin-bottom: 20px;
}

.b-mgn03{
  margin-bottom: 30px;
}

.b-mgn04{
  margin-bottom: 40px;
}

.b-mgn05{
  margin-bottom: 50px !important;
}

.b-mgn06{
  margin-bottom: 60px !important;
}

.b-mgn07{
  margin-bottom: 70px !important;
}

.b-mgn08{
  margin-bottom: 80px !important;
}

.b-mgn10{
  margin-bottom: 100px;
}

.opt-mgn02{
  margin-bottom:10px!important;
}

.tb-mgn01{
  margin-top: 15px;
  margin-bottom: 15px;
}

.tb-mgn02{
  margin-top: 15px;
  margin-bottom: 30px;
}


/* フェードインアニメーション設定 */
/* アニメーション設定 */
@keyframes fadein {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@-webkit-keyframes fadein {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}


@keyframes fadein02 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadein02 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


@keyframes fadein03 {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@-webkit-keyframes fadein03 {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



/* リンクボタン設定 */
.button-area a {
  transition: all 400ms linear;
  text-decoration: none;
  color:#111;
  width:100%;
}

.button-area a:hover {
  color: #fff;
  background-color: #b22222;
}

a.link-button01{
  width: 100%;
  border: 1px solid #b22222;
  display: block;
  font-size: 16px;
  margin: 30px auto;
  padding: 15px 10px;
  position: relative;
  text-align: center;
}

a.link-button02{
  width: 55%;
  border: 1px solid #b22222;
  display: block;
  font-size: 16px;
  margin: 30px auto;
  padding: 15px 10px;
  position: relative;
  text-align: center;
}

a.link-button03{
  width: 100%;
  border: 1px solid #b22222;
  display: block;
  margin: 30px auto;
  padding: 25px 10px;
  position: relative;
  text-align: center;
  text-decoration: underline;
  font-weight: bold;
  font-size: 1.4em;
}


a.link-button01:before, a.link-button01:after, 
a.link-button02:before, a.link-button02:after{
  content:"";
  display:block;
  position:absolute;
  right:15%;
  bottom:38%;
  height: 1px;
  background: #b22222;
}
a.link-button01:before, a.link-button02:before{
  width: 100px;
  transform: translate(30px, 0px);
}
a.link-button01:after, a.link-button02:after{
  width: 30px;
  transform-origin: right center;
  transform: translate(30px, 0px) rotate(25deg);
}

a.link-button01:hover:before, a.link-button01:hover:after, 
a.link-button02:hover:before, a.link-button02:hover:after{
  background: #fff;
}



/* Box設定 */
.box {
  position: relative;
  min-width: 0;
  word-wrap: break-word;
  border: 1px solid rgba(0,0,0,.125);
  color:#111;
}

.box a:hover{
  text-decoration:none;
}

.box-body {
  transition: all 400ms linear;
  text-decoration: none;
  color:#111;
  width: 100%;
  display: block;
  font-size: 16px;
  padding: 20px 10px;
  position: relative;
  text-align: center;
}

.box-title {
    text-align: center;
    margin-bottom: 0;
    font-size: 1.5em;
    line-height: 1.1;
}

.box-title::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.4em;
  right: 20px;
  width: 1em;
  height: 1em;
  border-top: #111 1px solid;
  border-right: #111 1px solid;
  transform: rotate(45deg);
}

.box-title small{
  font-size: 0.8em;
}



/* アクセス */

.ac-info{
  margin: 45px 0;
  text-align: center;
}

.ac-info a.tel{
  font-weight: bold;
  font-size: 1.5em;
}


/* メニュー設定 */
.menuintro{
  margin: 15px 0;
}

.menu dl{
  border-bottom: 1px solid #ccc;
  margin: 15px 0;
}

.menu h4{
  text-align: center;
  margin-top: 30px;
}

.menu h4{
  line-height:1.2;
}

.menu h4.attention span.recommend{
  border: 1px solid #111;
  font-size: 1.0em;
  padding: 3px;
}

.menu h4.attention span{
  border-bottom: 3px double #111;
}


.menu h5{
  text-align: center;
  margin-top: 30px;
}

.menu h5.attention{
  line-height:1.7;
}

.menu h5.attention span.recommend{
  border: 1px solid #111;
  font-size: 0.8em;
  padding: 3px;
}

.menu h5.attention span{
  border-bottom: 3px double #111;
}

.menu h5.choice{
  margin-top: 15px;
  padding-left: 0.0em;
}

.menu p.point{
  font-weight:bold;
}

.menu p.point small{
  font-weight:bold;
}

.flame01{
  padding :15px 0;
  border: 1px solid #ccc;
}

ol.common{
  counter-reset: list-count;
  list-style: none;
  padding:0 10px;
}

ol.common li{
  margin: 15px 0;
}

ol.common li::before {
  content: counter(list-count) ". ";
  counter-increment: list-count;
  font-weight: bold;
  font-size: 1.2em;
}


ol.menulist{
  counter-reset:list;
  list-style-type:none;
  padding:0;
}

ol.menulist li{
  position:relative;
  padding: 0 0 0 20px;
  margin: 7px 0 7px 0px;
  font-weight: bold;
  font-size:14px;
  line-height: 30px;
  border-bottom: dashed 1px #F6A38B;
}

ol.menulist li:before{
  counter-increment: list;
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: #F6A38B;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}


.menu h5 {
  position: relative;/*相対位置*/
  line-height: 1.1;
  font-size: 1.2em;
  margin-top: 35px;
}

.menu h5.red:before {
  color: rgba(105, 31, 62, 0.6);
}
.menu h5.white:before {
  color: #e4e7b8;
}
.menu h5.champagne:before {
  color: rgba(193, 171, 5, 0.6);
}
.menu h5.sparkring:before {
  color: #c9caca;
}

.menu h5.attention{
  padding-left: 0em;/*アイコン分のスペース*/
  font-size: 1.3em;
  margin-bottom: 25px;
}

.menu h5.attention:before {
  content: none;
}

.menu h5.price {
  margin-top: 10px;
  padding-left: 0em;/*アイコン分のスペース*/
  font-weight: bold;
}

.menu h5.price:before {
  content: none;
}

.menu h5 small{
  font-size: 0.8em;
}

.menu h5 small:before{
  content: '-';
  display: inline-block;
  text-indent: 0;
  margin-right: 4px;
}

.menu h5 small:after{
  content: '-';
  display: inline-block;
  text-indent: 0;
  margin-left: 4px;
}

.text-centering{
  margin: auto 0;
}

.course{
  text-align: center;
  margin: 15px 0;
}

.course p{
  font-size: 1.2em;
  line-height: 1.2;
  margin-bottom: 25px;
}

.course p.examp{
  font-size: 1.0em;
}


ol.select{
  font-size: 1.2em;
}

ol.select li{
  line-height: 1.8;
}


/* アクセスページ */
.route{
  margin: 45px 0;
}

.map{
  margin: 45px 0;
}

/* 情報テーブル */


table.maintenance {
  margin:10px 0 10px 0;
  background:#fff;
  width:100%;
  border: 1px solid #777;
}

table.maintenance th {
  padding:12px 10px;
  background:#b22222;
  width:25%;
  color:#fff;
  border-bottom: 1px solid #b22222;
  border-left: 1px solid #fff;
}

table.maintenance tr:first-child th {
  border-left: 1px solid #b22222;
}

table.maintenance td {
  padding:10px;
  border: 1px solid #b22222;
}

caption {
  padding-top: .75rem;
  padding-bottom: .75rem;
  color: #111;
  text-align: left;
  caption-side: top;
  font-size: 1.3em;
  font-weight:bold;
}


table.profile{
  margin:10px 0 50px 0;
  width:100%;
}

table.profile th{
  padding:18px 10px;
  width:28%;
  border-bottom: 1px solid #ccc;
}

table.profile tr:last-child th{
  border-bottom: 1px solid #ccc;
}

table.profile td{
  padding:10px;
  border-bottom: 1px solid #ccc;
}


/* 新着情報・お知らせ設定 */
.info-list li{
  border-bottom: 1px dashed #888;
  padding-bottom: 25px;
  margin-bottom: 25px;
}

.info-l{
  width: 30%;
  margin-right:10px;
}

.info-r{
  width: 70%;
  margin-left:10px;
}

.info-r h3{
  font-size: 1.2em;
  color: #5C4138;
  font-weight: bold;
  overflow-wrap: break-word;
  word-break: keep-all;
  line-height: 1.1;
}



a.more{
  font-weight: bold;
  color: #0056b3;
}

/* 個別記事 */
.post-content{
  margin: 25px 0;
}


/* ペイジャー設定 */
.pager{
  text-align:center;
  margin: 15px 0 20px 0;
}

a.page-numbers,
.pager .current{
  background: #fff;
  border:solid 1px #b22222;
  border-radius:50%;
  padding:7px 7px;
  margin:0 2px;
  width: 40px;
  height: 40px;
  display: inline-block;
}

.pager .current{
  background: #b22222;
  color:rgba(255,255,255,1);
  font-weight:bold;
}


.aside-info-list{
  list-style-type: none;
  margin:0;
  padding:0;
}

.aside-info-list li{
  padding: 5px 0 5px 10px;
  border-bottom: 1px dashed #888;
  font-size: 1.1em;
}

.aside-info-list li > a{
  width: 100%;
  color: #286aab;
}


/* ご挨拶 */
.greeting{
  border: 1px solid #ccc;
  margin: 25px 0 30px;
}

.greeting .l-box{
  padding: 15px;
  width: 25%;
}

.greeting .r-box{
  padding: 15px;
  width: 75%;
}

/* ポリシー */
.policy ul {
  margin: 0px 0 25px 0;
  padding: 0.2em 0.5em 0.5em 1em;
}

.policy h3 {
  font-size: 1.2em;
  font-weight: bold;
}

.policy h4 {
  font-size: 1.2rem;
  font-weight: bold;
}


/* フッター情報 */

.b-info{
  padding: 18px 0;
  color: #fff;
}

.b-wrapper{
  border-bottom: 1px solid #ddd;
  background: #b22222;
}

.b-address{
  width: 60%;
}

.b-address span{
  font-size:25px;
}

.title{
  font-size: 1.6em;
  font-weight: bold;
}

.b-logo{
  width: 40%;
  text-align: right;
}

.b-logo img{
  width: 70%;
}

/* Top Return Button */
.pagetop {
  position: fixed;
  bottom: 80px;
  right: -80px;
  z-index: 501;
}

.pagetop a {
  display: block;
  position: relative;
  width: 70px;
  height: 70px;
  background-color: #b22222;
  border-radius: 70px;
  text-align: center;
  color: #fff;
  font-size: 35px;
  text-decoration: none;
  line-height: 70px;
  opacity: 0.9;
  overflow: hidden;
  outline: none;
}

.pagetop a::before{
  font-family: "FontAwesome";
  font-weight: 900;
  content: '\f102';
  font-size: 1.2em;
  color: #fff;
  position: absolute;
  width: 35px;
  height: 35px;
  top: 0;
  bottom: 35px;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


footer {
  padding: 20px 0;
  color: #b22222;
  font-weight: bold;
}

ul.b-nav{
  padding: 15px 10px;
  font-size: 1.2em;
}

ul.b-nav li {
  margin: 0 12px;
  list-style-type: none!important;
  position: relative;
  padding-left: 20px;
}

ul.b-nav li a{
  color: #fff;
}

ul.b-nav li::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -0.5em;
  left : 0; /*左端からのアイコンまで*/
  width: 1em;
  height: 1em;
  border-top: #fff 3px solid;
  border-right: #fff 3px solid;
  transform: rotate(45deg);
  font-size: 0.6em;
}

ul.list {
  margin: 20px 20px;
}

ul.list li{
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.8;
}

ul.list li span{
  color: #ff0000;
}


/* Q&A */
.qa-list dl {
  position: relative;
  margin: 0;
  padding: 28px 80px 28px 30px;
  cursor: pointer;
  border-bottom: 1px solid #293e5b;
}
.qa-list dl:first-child {
  border-top: 1px solid #293e5b;
}
.qa-list dl::before {
  position: absolute;
  top: 35px;
  right: 35px;
  display: block;
  width: 10px;
  height: 10px;
  margin: auto;
  content: '';
  transform: rotate(135deg);
  border-top: 3px solid #293e5b;
  border-right: 3px solid #293e5b;
}
.qa-list .open::before {
  transform: rotate(-45deg);
}
.qa-list dl dt {
  position: relative;
  margin: 0;
  padding: 0 0 0 50px;
  font-weight: bold;
  font-size: 1.0em;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #293e5b;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #b22222;
}

.qa-list dl dd {
  position: relative;
  display: none;
  height: auto;
  margin: 20px 0 0;
  padding: 0 0 0 50px;
}
.qa-list dl dd p {
  margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
  margin-top: 0;
}



.f-logo{
  text-align: center;
  font-size: 1.4em;
  font-weight:bold;
  margin: 15px 0;
}

.copy{
  margin: 20px 0;
  text-align: center;
  font-size: 1.2em;
}

.f-tel{
  margin: 20px 0;
  text-align: center;
  font-size: 1.5em;
}

.f-tel a{
  color:#fff;
  text-decoration: none;
}


/* ページトップリバースボタン */
#page_top{
  width: 100px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  background: #5C4138;
  opacity: 0.7;
}
#page_top a{
  position: relative;
  display: block;
  width: 100px;
  height: 60px;
  text-decoration: none;
}
#page_top a::before{
  font-family: FontAwesome;
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -25px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 35px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}


/* コンタクトフォーム設定 */
.table > tbody > tr > th {
  padding: 18px 10px;
  line-height: 1.42857143;
  border-top: 1px solid #ddd;
}

.table-striped > tbody > tr:nth-of-type(2n+0) {
  background-color: #fff;
}

.table-contactform7{
  overflow: hidden;
  table-layout: fixed;
  margin-bottom:20px;
}

.required-contactform7{
  padding: 5px;
  background: #b22222;
  color: #fff;
  margin-right: 3px;
  margin-left: 3px;
}

.unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  margin-right: 3px;
}

 
.table-contactform7 input,
.table-contactform7 textarea,
.table-contactform7 select{
  max-width: 97% !important;
  margin: 10px 10px 10px 5px;
  padding:5px;
}

#num{
  width: 50%;
}

.numm1{
  width:22%;
}

.address-100 input{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}

.message-100 textarea{
  width: 100%;
  margin: 5px 10px 10px 5px;
}

.btn-success ,.btn-success:hover {
  color: #fff;
  background-color: #b22222;
  border-color: #b22222;
}

.btn-success.focus, .btn-success:focus {
  box-shadow: none;
}

.wpcf7 .wpcf7-spinner {
  display: block!important;
  margin: 10px auto!important;
}




/* サイトマップ */

ul.sitemap{
  list-style-type:none;
  padding:0;
  margin-bottom: 30px;
}

ul.sitemap li{
  position:relative;
  padding: 0 0 0 25px;
  margin: 7px 0 7px 0px;
  font-weight: bold;
  font-size:1.3em;
  line-height: 30px;
  border-bottom: dashed 1px #F6A38B;
}

ul.sitemap li a{
  text-decoration: none;
  color: #0056b3;
}

ul.sitemap li:before{
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background: #5C4138;
  top: 50%;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

ul.sitemap li small{
  margin-left: 5px;
  text-indent: -1em;
}

ul.sitemap li small:before {
  content: '-';
  display: inline-block;
  text-indent: 0;
  margin-right: 3px;
}

ul.sitemap li small:after{
  content: '-';
  display: inline-block;
  text-indent: 0;
  margin-left: 3px;
}


/* ガター幅調整 */
.gutter1 > [class*='col-'] {
  padding-right: 5px;
  padding-left: 5px;
}

.gutter1 {
  margin-left: -5px;
  margin-right: -5px;
}

.gutter2 > [class*='col-'] {
  padding-right: 7px;
  padding-left: 7px;
}

.gutter2 {
  margin-left: -7px;
  margin-right: -7px;
}



/* 左右並びボックス */
.general-box{
  border-bottom: 1px solid #ccc;
  padding-bottom: 15px;
  margin-bottom: 80px;
  margin-left: 80px;
  margin-right: 80px;
}

.general-box .l-box{
  margin-right: 0px;
  width: 50%;
}

.general-box .r-box{
  margin-left: 0px;
  width: 50%;
}



@media screen and (min-width: 992px){

  /* PC表示時テキスト位置 */
  .text-pcmob{
    text-align: center;
  }

  .text-point{
    text-align: center;
    margin-top: 25px;
    font-weight:bold;
  }



  /* 通常メニュー */
  .nav-header{
    position: relative;
  }

  .nav-header .nav-tel{
    position: absolute;
    top:0;
    right:0;
    font-size:30px;
    padding: 10px 25px 5px 20px;
    background: #b22222;
    color: #fff;
    line-height: 0.8;
    
  }

  .nav-header .nav-request{
    position: absolute;
    top: 55px;
    right:0;
    border: 1px solid #b22222;
    font-size:30px;
    padding: 10px 20px 10px 20px;
    line-height: 0.8;
    font-size: 1.3em;
  }

  .nav-header .nav-request a{
    color: #b22222;
    font-weight: bold;
    text-decoration: none;
  }

  .nav-header .nav-info{
    position: absolute;
    top: 100px;
    right:0;
    font-size:30px;
    padding: 10px 20px 10px 20px;
    line-height: 1.2;
    font-size: 1.1em;
    font-weight: bold;
  }


  .nav-header .nav-tel span{
    font-size:0.5em;
  }

  .nav-header .nav-tel a{
    color: #fff;
    text-decoration: none;
  }

  .nav-header .logo{
    position:relative;
    font-size: 30px;
    text-align: center;
    color: #5C4138;
  }

  .nav-header .logo img {
    width: 350px;
    margin: 0px 15px;
    display: inline-block;
  }

  ul.nav-list{
    width:100%;
  }

  ul.nav-list li{
    text-align: center;
  }

  ul.nav-list > li.current {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding:2px 5px;
    line-height:0.9;
  }

  ul.nav-list > li.current a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #5C4138;
    transform: scale(1, 1);
    transform-origin: center top;
  }

  ul.nav-list > li > a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding:2px 5px;
    line-height:0.9;
    font-size:17px;
    transition: all 0.5s ease 0s;
    color:#5C4138;
  }

  ul.nav-list li > a:hover {
    color:#111;
  }

  ul.nav-list li > a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #5C4138;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .4s;
  }

  .nav-list li > a:hover::after {
    transform: scale(1, 1);
  }

  .nav-list li > a span{
    font-size:12px;
  }


  /* 途中表示固定メニュー */
  .fix-header{
    box-shadow: 0 52px 50px -25px rgba(53, 47, 47, 0.25);
  }

  .fix-header .fix-menu{
    display: block !important;
    width: 100%;
    text-align: center;
  }

  .fix-header .fix-tel{
    width:25%;
  }

  .fix-header .fix-tel p{
    margin-top: 5px;
  }

  .fix-header .fix-tel p span{
    position: relative;
    border: 1px solid #111;
    background: #5C4138;
    color: #fff;
    padding: 10px;
  }

  ul.fix-menu-list{
    width:100%;
  }

  ul.fix-menu-list li{
    text-align: center;
  }

  ul.fix-menu-list > li.current {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding:2px 5px;
    line-height:0.9;
  }

  ul.fix-menu-list > li.current a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(1, 1);
    transform-origin: center top;
  }

  ul.fix-menu-list > li > a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding:2px 5px;
    line-height:0.9;
    font-size:17px;
    transition: all 0.5s ease 0s;
    color:#fff;
  }

  ul.fix-menu-list li > a:hover {
    color: #fff;
  }

  ul.fix-menu-list li > a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .6s;
  }

  ul.fix-menu-list li > a:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
  }

  ul.fix-menu-list li > a span{
    font-size:12px;
  }



  /* 通常メニュー */
  .nav-wrap{
    display: block !important;
  }

  ul.nav-list{
    width:100%;
    background: #b22222;
  }

  ul.nav-list li{
    text-align: center;
  }

  ul.nav-list li.list-tel, ul.nav-list li.list-request{
    display: none;
  }

  ul.nav-list > li.current {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding:2px 5px;
    line-height:0.9;
  }

  ul.nav-list > li.current a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(1, 1);
    transform-origin: center top;
  }

  ul.nav-list > li > a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding:2px 5px;
    line-height:0.9;
    font-size:17px;
    transition: all 0.5s ease 0s;
    color:#fff;
  }

  ul.nav-list li > a:hover {
    color:#fff;
  }

  ul.nav-list li > a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .6s;
  }

  .nav-list li > a:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
  }

  .nav-list li > a span{
    font-size:12px;
  }

  /* メニューページ */
  .frame1, .frame2{
    text-align: center;
    border: 1px solid #111;
    border-radius: 1em; 
    margin: 0 150px 20px 150px;
  }

  .frame3{
    text-align: left;
    border: 1px solid #111;
    margin: 0 150px 20px 150px;
  }

  .frame4{
    text-align: center;
    border: 1px solid #111;
    margin: 0 150px 20px 150px;
  }

  .frame2, .frame3, .frame4{
    padding: 0 20px;
  }

  .frame1 h5, .frame2 h5, .frame3 h5 , .frame4 h5{
    margin-top: 15px;
  }

  .frame1 h5:before, .frame2 h5:before, .frame3 h5:before, .frame4 h5:before{
    content: "";
  }


  /* コンタクトフォーム設定 */
  .table-contactform7 th{
    font-weight:bold;
    margin:20px;
    width:28%;
  }

}



@media screen and (max-width: 991px) {

  /* モバイル時 ヘッダーメニュー固定のためヘッダー分の余白指定 */
  body {
   padding-top: 70px;
  }

  .loading-logo {
    text-align: center;
    width: 100%;
    height: 100px;
    margin: 220px auto 50px;
    font-size: 1.4em;
    font-weight: bold;
  }

  .loading-logo img{
    width: 80%;
    height: auto;
  }

  ul.topic li .topic-cotent{
    width: 100%;
  }
  
  ul.topic li .topic-image{
    width: 100%;
    padding: 0 25px;
  }


  .front h1{
    font-size:1.4em;
  }

  .front p{
    font-size:1.1em;
  }

  h1.common {
    font-size: 1.4em;
  }

  .intro h1 {
    font-size: 22px;
  }

  h2.sub-title01 {
    font-size: 1.6em;
    line-height: 1.1;
  }

  h2.page_head01, h2.page_head02, h2.page_head03{
    font-size: 1.4em;
  }

  h3{
    font-size: 1.3em;
  }

  h3.page_head10{
    font-size: 1.3em;
    text-align: center;
  }

  h3.sub-title01 {
    font-size: 1.3em;
    line-height: 1.1;
  }

  h3.title{
    font-size: 1.4em;
  }

  h3.box-title {
    font-size: 1.2em;
  }

  .concept h3 {
    font-size: 1.2em;
  }

  .title-area h4 {
    font-size: 1.3em;
  }

  .menu h4 {
    font-size: 1.2em;
  }

  .menu h5 {
    font-size: 1.1em;
  }

  .menu h5 small {
    font-size: 0.7em;
    line-height: 0.7!important;
  }

  h5.choice{
    margin-top: 15px;
  }

  .sub-title01 span::before, .sub-title01 span::after {
    width: 1.5em;
  }

  .delighter.slide-l h2.title-part01 {
    font-size: 2.5em;
  }

  .delighter.slide-r h2.title-part02{
    left:0;
    font-size:2.5em;
  }

  .post-title{
    font-size: 1.3em;
  }


  /* スマホPC切り替え */
  .pc { 
    display: none !important; 
  }
  .sp { 
    display: block !important; 
  }

  /* スマホサイズ時は途中から出現するヘッダーは非表示 */
  .fix-header{
    display: none;
  }

  /* モバイルサイズ固定ヘッダー */
  .nav-header{
    display: flex;
    justify-content: space-between;
  }

  /* 通常ヘッダーモバイル時固定 */
  .nav-header{
    position: fixed;
    width: 100%;
    z-index: 30;
    top:0px;
    left:0px;
    min-height: 70px;
    padding: 0px 0 0 0;
  }

  .parent-cont {
    margin-bottom:0px;
  }

  .nav-header .logo{
    width: 100%;
    text-align: left;
    font-size: 18px;
    margin:0;
  }

  .nav-header .logo img {
    width: 140px;
    margin: 10px 5px;
    display: inline-block;
  }

  .nav-header .nav-tel, .nav-header .nav-request, .nav-header .nav-info{
    display: none;
  }

  .nav-wrap{
    background-color: rgba(255, 255, 255, 0.9);
    width: 100%;
    display:none;
  }

  .nav-list{
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .nav-list li{
    display: block;
    margin: 10px 30px 20px 30px;
    border-bottom: 1px solid #ccc;
  }

  ul.nav-list li.list-tel{
    background: #b22222;
  }

  ul.nav-list li.list-tel a{
    display: block;
    padding: 5px 0;
  }

  ul.nav-list li.list-request{
    border: 1px solid #111;
    padding: 5px 0;
    font-weight:bold;
  }

  .nav-list li a{
    color: #b22222;
    font-size: 18px;
  }

  ul.nav-list li.list-tel a{
    color: #fff;
  }

  .nav-list li a span{
    margin-left: 12px;
    font-size: 12px;
  }

  .nav-list li a span.tel{
    font-size: 1.0em;
  }

  .nav-button{
    position:fixed;
    top:15px;
    right:20px;
    z-index:99;
    cursor: pointer;
  }

  /*メニューボタン*/
  .nav-button,
  .nav-button span{
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }

  .nav-button{
    width: 40px;
    height: 40px;
    line-height:0.8;
  }

  .nav-button span{
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #b22222;
    border-radius: 4px;
  }

  .nav-button span.tex{
    position: absolute;
    left: 0;
    width: 100%;
    background: none;
    color: #b22222;
  }

  /* 通常メニューボタン */
  .nav-button span:nth-of-type(1){
    top: 0;
  }

  .nav-button span:nth-of-type(2){
    top: 12px;
  }

  .nav-button span:nth-of-type(3){
    bottom: 11px;
  }

  .nav-button span:nth-of-type(4){
    bottom: 2px;
  }

  .nav-button.active span:nth-of-type(1){
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
  }

  .nav-button.active span:nth-of-type(2){
    opacity: 0;
  }

  .nav-button.active span:nth-of-type(3){
    -webkit-transform: translateY(-13px) rotate(45deg);
    transform: translateY(-13px) rotate(45deg);
  }

  .top-fixedback{
    height:180px;
    background-position: left top;
    background-attachment: scroll !important;
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
  }

  .head-back{
    width: 100%;
    padding-right: 0px;
    padding-left: 0px;
    margin-right: auto;
    margin-left: auto;
  }

  /* ヘッダー内情報設定 */
  .head-box{
    height: 100%;
    background: rgba(92,65,56, 0.7);
  }
  
  .head-box h1{
    text-align: center;
    color:#fff;
    line-height: 1.0;
    padding: 0px 20px;
    font-size: 1.7em;
  }
  
  .head-box h1 small{
    font-size: 0.6em;
  }

  /* パンくずリスト */
  .breadcrumbs{
    font-size: 0.8em;
  }

  /* 新着情報設定 */
  ul.info{
    margin-bottom: 20px;
  }

  .box {
    margin-bottom: 20px;
  }

  /* リンクボタン設定 */
  a.link-button01 {
    margin: 30px auto 10px;
  }

  a.link-button02{
    width: 100%;
    margin: 0px auto;
  }

  a.link-button03{
    width: 100%;
    margin: 30px auto;
    padding: 15px 10px;
    font-size: 1.2em;
  }


  a.link-button01:before, a.link-button01:after, 
  a.link-button02:before, a.link-button02:after{
    right:12%;
  }
  a.link-button01:before, a.link-button02:before{
    width: 40px;
    transform: translate(30px, 0px);
  }

  /* トップアニメーション設定 */
  .intro-r, .intro-l{
    margin-bottom:20px;
    padding: 20px 20px;
  }

  .intro-r p, .intro-l p{
    margin-bottom:20px;
    font-size:15px;
  }

  .delighter.concept.started .con3 {
    margin-top: 25px;
  }

  .greeting{
    border: 1px solid #ccc;
    margin: 25px 0 30px;
  }
  
  .greeting .l-box{
    padding: 10px 5px 10px 10px;
    width: 30%;
  }
  
  .greeting .r-box{
    padding: 10px 10px 10px 5px;
    width: 70%;
  }


  /* マージン設定 */
  .b-mgn10{
    margin-bottom: 50px;
  }

  .opt-mgn01{
    margin-bottom:5px;
  }


  table.maintenance td {
    font-size: 0.8em;
  }

  /* コンタクトフォーム設定 */
  .table-contactform7{
    display:block;
  }
  .table-contactform7 tbody,
  .table-contactform7 tr{
    display: block;
    width: 100%;
  }

  .table-contactform7 th{
    width:100%;
    display:block;
    margin: 0 auto;
    padding: 10px 0;
    border:none;
  }

  .table-contactform7 td{
    display: list-item;
    list-style-type:none;
    margin:0;
    padding:0;
    width: 100%;
    border-top: none !important;
  }

  /* ページトップリバースボタン */
  ul.sitemap li{
    font-size:1.1em;
  }

  /* ページトップリバースボタン */
  #page_top{
    width: 80px;
    height: 60px;
    position: fixed;
    right: 5px;
    bottom: 5px;
    background: #5C4138;
    opacity: 0.7;
  }

  #page_top a{
    position: relative;
    display: block;
    width: 80px;
    height: 60px;
    text-decoration: none;
  }

  #page_top a::before{
    font-family: FontAwesome;
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 20px;
    height: 20px;
    top: -20px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }

  #page_top a::after{
    content: 'PAGE TOP';
    font-size: 11px;
    color: #fff;
    position: absolute;
    top: 35px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }

  .frame1{
    text-align: center;
    border: 1px solid #111;
    border-radius: 1em; 
    padding: 0 10px;
    margin-bottom: 20px;
  }

  .frame2{
    text-align: left;
    border: 1px solid #111;
    border-radius: 1em; 
    padding: 0 10px;
    margin-bottom: 20px;
  }


  .frame3{
    text-align: left;
    border: 1px solid #111;
    padding: 0 10px;
    margin-bottom: 20px;
  }

  .frame4{
    text-align: center;
    border: 1px solid #111;
    padding: 0 10px;
    margin-bottom: 20px;
  }

  .frame1 h5, .frame2 h5, .frame3 h5, , .frame4 h5{
    margin-top: 15px;
  }

  .frame1 h5:before, .frame2 h5:before, .frame3 h5:before, .frame4 h5:before{
    content: "";
  }

  .frame3 h5 {
    padding-left: 0em;
  }


  .text-pcmob{
    text-align: left;
  }

  .text-point{
    text-align: left;
    margin-top: 10px;
    font-weight:bold;
  }

  .course p{
    font-size: 1.0em;
  }

  ol.select{
    font-size: 1.0em;
    margin-left: -10px;
    margin-top: 15px;
  }
  
  ol.select li{
    line-height: 1.3;
    margin-bottom: 10px;
  }


  .b-address{
    margin:0;
    width: 100%;
    text-align: center;
  }

  .b-logo{
    margin:0;
    width: 100%;
    padding: 0 60px;
  }

  .b-logo{
    margin: 20px 0;
    width: 100%;
    padding: 0;
    text-align: center;
  }

  /* 左右並びボックス */
  .general-box{
    margin-left: 0px;
    margin-right: 0px;
  }


}
