@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho:wght@400;600;800&family=Zen+Old+Mincho&display=swap');
@import url("//use.fontawesome.com/releases/v5.6.1/css/all.css");

.pc{display:inline;}
.sp{display:none;}

.ta_c{text-align:center !important;}
.ta_r{text-align:right !important;}
.ta_l{text-align:left !important;}

.mt0{margin-top: 0px !important;}
.ml0{margin-left: 0px !important;}
.mb0{margin-bottom: 0px !important;}
.pb0{padding-bottom: 0px !important;}
.m_auto{margin-left: auto; margin-right: auto;}

.fw_b{font-weight: bold;}

.mt10{margin-top: 10px !important;}
.mb10{margin-bottom: 10px !important;}
.mt20{margin-top: 20px !important;}
.mb20{margin-bottom: 20px !important;}
.mt20{margin-top: 20px !important;}
.mb20{margin-bottom: 20px !important;}
.mt30{margin-top: 30px !important;}
.mb30{margin-bottom: 30px !important;}
.mt40{margin-top: 40px !important;}
.mb40{margin-bottom: 40px !important;}

.ml10{margin-left: 10px !important;}
.mr10{margin-right: 10px !important;}
.ml20{margin-left: 20px !important;}
.mr20{margin-right: 20px !important;}

.pt10{padding-top: 10px !important;}
.pb10{padding-bottom: 10px !important;}
.pt20{padding-top: 20px !important;}
.pb20{padding-bottom: 20px !important;}
.pt20{padding-top: 20px !important;}
.pb20{padding-bottom: 20px !important;}
.pt30{padding-top: 30px !important;}
.pb30{padding-bottom: 30px !important;}
.pt40{padding-top: 40px !important;}
.pb40{padding-bottom: 40px !important;}

html {
  scroll-behavior: smooth;
  /* PCの固定ヘッダーの高さに合わせて設定 */
  /*--scroll-padding-top: 191px;--*/
}

#wrap * {
  box-sizing: border-box;
}

#wrap{min-width: 1024px;}

#mainContents,
#mainArticles,
.mainArticles .article,
.mainArticles div.gallery,
#mainTopics,
#listTopics,
#mainServices
{
	width: 1100px;
}

#mainContents{padding-bottom: 0;}

.mainArticles .article_center .image,
.mainArticles .article_center
{
	max-width: 1024px;
}

.mainArticles .bg_full{
  width:100vw !important;
  margin: 0 calc(50% - 50vw);
  background: #d6e1d7;
  padding-top: 40px;
  box-sizing: border-box;

}
.mainArticles .bg_full .article_left,
.mainArticles .bg_full .article_right,
.mainArticles .bg_full .article_center{ width: 1024px !important; margin-left: auto !important; margin-right: auto !important;}

body {
  font-size: 17px;
  line-height: 1.7;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: #333;
  word-break: break-word;
}
#wrap {
  background: #faf5ec;
}
.article.bg, .gallery.bg {
  background: #989f67;
}
.mainContents .article.full,
.mainContents .gallery.full {
  width: 100vw;
  margin: 0 calc(50% - 50vw) 40px;
}
a {
  color: #64574f;
}
a:hover {
  transition: 0.3s;
}
strong {
  font-family: sans-serif;
  font-weight: bold;
      color: #327357;
}
.leadText {
  font-size: 1.2em;
  font-weight: bold;
  color: #ed6a05;
}
.article table.normalTbl {
  font-size: 1.0em;
}
.article table.normalTbl th {
  width: 30%;
  background: #799b7d;
    color: #fff;
}

.article table.normalTbl {
  width: 100%;
  border-left: none;
  font-size: 0.85em;
  margin-bottom: 24px;
}
.article table.normalTbl:last-child {
  margin-bottom: 0;
}
.article table.normalTbl td,
.article table.normalTbl th {
  padding: 16px;
  border-right: none;
}
.article table.normalTbl th {
  width: 25%;
  text-align: left;
}
.article table.normalTbl td {
  width: auto;
}

.article table.normalTbl {
  border-top: solid 1px #ccc;
}
.article table.normalTbl td,
.article table.normalTbl th {
  border-bottom: dotted 1px #ccc;
}

.article table.normalTbl tr:last-child td,
.article table.normalTbl tr:last-child th {
  border-bottom: solid 1px #ccc;
}

table.contactTable{width: 100% !important;}

table.contactTable th{width: 30%; background: #799b7d; color: #fff;}
table.contactTable th,
table.contactTable td{padding: 1em;}

table.contactTable tr.must th {
  background-position: right 1em center;
  background-repeat: no-repeat;
  padding-right: calc(40px + 1em);
  padding-left: 0;
}

table.contactTable input.button {
  background-color: #64574f;
}

table.contactTable input.button:hover {
  background-color: #4c834c;
}

#mainArticles table.contactTable tr th, #mainArticles table.contactTable tr td, #mainBlogCommentForm table.contactTable tr th, #mainBlogCommentForm table.contactTable tr td {
  border-bottom: dotted 1px #ccc;
}

ul.ps, ul.maru, ul.notes, ol.pp {
  font-size: 0.94em;
  line-height: 1.6;
}
.ol > * {
  margin-left: 2em;
  list-style: decimal;
}
#mainArticles h2, #listTopics h2,
.mainContents .article h3, .gallery h3,
.article h4,
.article h5,
.article h6 {
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #46543c;
}

#mainTopics h2, #mainArticles .article h2, .mainContents .article h3, .gallery h3, .freeHtml h3 {
  padding: 24px 0;
  line-height: 1.85;
  font-size: 1.55em !important;
  font-weight: normal;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 40px 0 0;
  width: 100%;
  position: relative;
  -webkit-font-smoothing: subpixel-antialiased;
}


.article h4 {
  font-size: 1.26em;
  border: none;
  background: unset;
  padding: 0;
  padding-left: 50px;
  margin-top: 28px;
  margin-bottom: 28px;
      color: #789b7d;
  position: relative;
}
.col4 h4 {
  font-size: 1.1em;
}

.article h4::before {
  content: "";
  margin-right: 4px;
  background: url(/materials/175928114424301.png) no-repeat;
  background-size: auto;
  background-size: contain;
  height: 80px;
  width: 40px;
  position: absolute;
  margin: auto 8px auto 0;
  left: 0;
  top: 50%;
  bottom: 50%
}


h4.numbering::before {
  display: none;
}
h4.numbering > span {
  font-size: 2.8em;
  line-height: 1.2;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "BIZ UDPMincho", "Yu Mincho", "游明朝体", "YuMincho", "游明朝", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: normal;
  color: #64574f;
  display: inline-block;
  margin: 0;
  padding: 0;
}
.article h5 {
  border-left: solid 4px #989f67;
  font-size: 105%;
    padding-left: 0.5em;
    margin: 10px 0;
}
ul.dot {
  list-style-type: none;
  font-size: 1.0em;
  line-height: 1.6;
  margin: 1.0em 0 1.0em 1.0em;
}
ul.dot li {
  list-style-type: none;
  margin: 0.5em 0;
}
ul.dot li::before {
  content: "・";
  margin-left: -1.0em;
}

.sideContents ul li, .sideContents dl dt {
  border: none;
}
p.access_root {
  line-height: 2;
  margin: 5px 0 0px;
  font-size: 19px;
  font-weight: 700;
}
/* 院長挨拶 */
.mainContents .article.greeting {
  padding: 30px 4%;
  margin-bottom: 0;
  background: #ecffd1;
}
.article.greeting .article_right .image {
  float: right;
  margin-left: 2%;
  margin-right: calc(-12vw);
}
/* カード */
.article.card {
  position: relative;
  line-height: 1.4;
}
.article.card:before {
  content: "";
  width: 100px;
  height: 100px;
  background: url("/materials/173010765851301.png") no-repeat center;
  background-size: contain;
  position: absolute;
  top: -16px;
  left: -6px;
}
.card_num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  line-height: 30px;
  color: #FFF;
  background: #e6bfab;
  font-weight: bold;
}
/* FAQ */
ul.faq li.qus::before {
  background-color: #46543c;
  content: "Q";
}
ul.faq li.ans::before {
  background-color: #989f67;
  content: "A";
}
/* 画像 */
.article .image img {
  border-radius: 20px;
}
/* 診療時間テーブル */
table.timeTbl {
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #664c40;
  border-spacing: 0;
  border-top: 1px solid #664c40;
  margin: 10px auto;
}
table.timeTbl th, table.timeTbl td {
  text-align: center;
  border-bottom: 1px solid #664c40;
  border-right: 1px solid #664c40;
  height: auto;
  padding: 10px;
  vertical-align: middle;
}
table.timeTbl th {
  background: #799b7d;
    color: #fff;
}
.article table.timeTbl th {
      background: #799b7d;
    color: #fff;
}
/* サイト案内ギャラリー */
#siteGuide .gallery_grid li.galleryGrid .galleryGrid_outer {
  padding: 10px;
  margin: 10px;
  background: #fff;
  border-radius: 10px;
}
#siteGuide .gallery_grid li.galleryGrid .image {
  padding: 10% 25%;
  background: #fff;
}
#siteGuide .comment {
  padding-bottom: 10px;
  padding-top: 10px;
  font-weight: bold;
  color: #64574f;
  text-align: center;
  font-size: 1.0em;
}
/* freeHtml 会社概要 */
.freeHtml{font-size: initial;}
.freeHtml_outer{background: transparent; padding: 0;}

#sideCompany {
  display: block;
  width: 100%;
  /*--margin: 50px 0 100px 0;--*/
  margin: 0;
  padding: 0 0 0 0;
  box-sizing: border-box;
}
#sideCompany h2.logomark {
  width: 100%;
  max-width: 250px;
  height: 250px;
  background: url(/materials/175912624683901.png) no-repeat;
  margin: 0 auto 0px;
  background-size: contain;
  display: block;
  overflow: hidden;
  text-indent: 110%;
  white-space: nowrap;
}
#sideCompany dl {
  font-size: 1.0em;
  font-weight: normal !important;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
}
#sideCompany dt {
  width: 20%;
  height: 40px;
  font-size: 1.0em;
  color: #fff;
  font-weight: 500;
  line-height: 40px;
  text-align: center;
  border-top: none;
  background: #989f67;
  border-radius: 2px;
  margin-bottom: 1.0em;
  box-sizing: border-box;
}
#sideCompany dd {
  width: 78%;
  font-size: 1.0em;
  color: #664c40;
  line-height: 1.5;
  border-bottom: dotted 1px #664c40;
  margin-bottom: 1.0em;
  margin-left: 2%;
  padding: 0.5em;
  box-sizing: border-box;
}
#sideCompany a.linkbtn {
  width: 50%;
  margin: 1em auto;
  padding: 0.5em;
  background: #ffed6c;
  border-radius: 4px;
  display: block;
  color: #675347;
  letter-spacing: normal;
  text-decoration: none;
  text-align: center;
  font-size: 1.0em;
  font-weight: bold;
  box-sizing: border-box;
  position: relative;
}
#sideCompany a.linkbtn:after {
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
}
#sideCompany a.linkbtn:hover {
  background: #b0bfc9;
  color: #fff;
}
/* GoogleMap */
.gmap-wrap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%; /*16:9*/
  position: relative;
}
.gmap-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
/* 診療内容メニューボタン */
ul.menubtn {
  list-style-type: none;
  margin: 50px 0 25px 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  width: 100%;
}
ul.menubtn li {
  display: inline-flex;
  justify-content: space-between;
  width: 45%;
  margin-right: 5%;
  margin-bottom: 0;
  padding: 0.5em 0.5em 0.5em 50px;
  position: relative;
  font-size: 1.2em;
}
ul.menubtn li,
ul.menubtn li a {
  font-weight: bold;
  color: #64574f;
  text-decoration: none;
}
ul.menubtn li:has(> a)::after {
  font-family: "Font Awesome 5 Free";
  content: "\f063";
  font-size: 1.4em;
  color: #64574f;
  font-weight: bold;
  line-height: 1.4;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
ul.menubtn li:nth-child(1) {
  background: url(/materials/169232608914901.png) no-repeat left center / 40px;
}
ul.menubtn li:nth-child(2) {
  background: url(/materials/169232610675601.png) no-repeat left center / 40px;
}
ul.menubtn li:nth-child(3) {
  background: url(/materials/169232612157101.png) no-repeat left center / 40px;
}
ul.menubtn li:nth-child(4) {
  background: url(/materials/169232614281301.png) no-repeat left center / 40px;
}
ul.menubtn li:nth-child(5) {
  background: url(/materials/169232615825401.png) no-repeat left center / 40px;
}
ul.menubtn li:nth-child(6) {
  background: url(/materials/169232619151301.png) no-repeat left center / 40px;
}
.article table.simple-border {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  margin: 30px auto;
}
.article table.simple-border th {
  width: 25%;
  background: #edf2f5;
  border: none;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  height: auto;
  padding: 10px 16px;
  text-align: left;
  vertical-align: middle;
}
.article table.simple-border td {
  background: none;
  border: none;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  height: auto;
  padding: 10px 16px;
  text-align: left;
  vertical-align: middle;
}

/* ヘッダー・トップメニュー固定 */
#wrap_body #title {
  /*--position: fixed;--*/
  position: absolute;
  top: 0;
  z-index: 99;
  /*--background: #feffe2;--*/
  background: transparent;
  padding: 0;
}
#wrap_body #topMenu {
  /*--position: fixed;--*/
  top: 120px;
  z-index: 100;
  /*--background: #feffe2;--*/
  background: transparent;
  min-width: 1024px;
}
/*--
#wrap_body {
  padding-top: 191px;
}--*/

#wrap_body {
  padding-top: 219px;
}


/* ヘッダ固定の際の管理画面内 編集画面 */
body.ams-build #wrap_body #title, body.ams-build #wrap_body #topMenu {
  position: absolute;
}
body.ams-build #wrap_body #title {
  /*--top: 50px;--*/
  top:0;
}
body.ams-build #wrap_body #topMenu {
  top: 182px;
}

/* ヘッダー */

#title{padding-bottom: 118px; width: 100%;}

#title #title_outer {
  width: 92%;
  height: 101px;
  background: url(/materials/175927797484501.png) right center no-repeat;
  background-size: 420px;
}
#title h1 {
  width: 310px;
  height: 101px;
}
#title h1 a {
  display: block;
  width: 310px;
  height: 101px;
  background: url(/materials/175920698587201.png) left top no-repeat;
  background-size: 310px;
  text-indent: -9000px;
  margin: 0;
  padding: 0;
}

#title .description {
  text-indent: -9999px;
  visibility: hidden;
}

/* topMenu */

#topMenu_outer{background-image: none;}

#topMenu_outer .topMenu li a:hover {
  background: none;
  color: #634E40;
  opacity: 0.8;
}
#topMenu_outer .topMenu li a {
  padding-top: 30px;
  line-height: 60px;
  font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-weight: bold;
  color: #634E40;
  position: relative;
  font-size: 16px;
  background-image: none;
}
#topMenu_outer .topMenu li a:before {
  content: "";
  width: 32px;
  height: 32px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  background-size: contain;
}

#topMenu .topMenu li.first a:before {
  background:url(/materials/175912632978701.png) no-repeat center;
}

#topMenu .topMenu li.second a:before {
  background:url(/materials/175912632978704.png) no-repeat center;
}

#topMenu .topMenu li.third a:before {
  background:url(/materials/175912632978702.png) no-repeat center;
}

#topMenu .topMenu li.fourth a:before {
  background:url(/materials/175912632978705.png) no-repeat center;
}

#topMenu .topMenu li.fifth a:before {
  background:url(/materials/175912632978703.png) no-repeat center;
}

#topMenu_outer .topMenu li a::after {
  content: "";
  width: 1px;
  height: 28px;
  display: inline-block;
  position: absolute;
  top: 16px;
  right: 0;
}

#topMenu_outer .topMenu li a::after {
  background: #ccc;
}

#topMenu_outer .topMenu li:last-of-type a::after {
  content: none;
}

/* PC用ボタン: 右サイド固定 */
a.btn-reserve {
  font-size: 17px;
  color: #fff;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  display: block;
  position: fixed;
  top: 210px;
  right: 0;
  width: 50px;
  background: #64574f;
  border-radius: 8px 0 0 8px;
  padding: 20px 15px;
  word-break: break-all;
  z-index: 9999;
}
a.btn-reserve::before {
  display: inline-block;
  font-size: 1.2em;
  color: inherit;
  font-family: "Font Awesome 5 Free";
  content: "\f022";
  font-weight: normal;
  margin-bottom: 4px;
  margin-left: -0.0em;
}
a.btn-reserve:hover {
  background: #779a7b;
}
a.btn-reserve2 {
  font-size: 17px;
  color: #fff;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  display: block;
  position: fixed;
  top: 490px;
  right: 0;
  width: 50px;
  background: #64574f;
  border-radius: 8px 0 0 8px;
  padding: 20px 15px;
  word-break: break-all;
  z-index: 9999;
}
a.btn-reserve2::before {
  display: inline-block;
  font-size: 1.2em;
  color: inherit;
  font-family: "Font Awesome 5 Free";
  content: "\f164";
  font-weight: normal;
  margin-bottom: 4px;
  margin-left: -0.0em;
}
a.btn-reserve2:hover {
  background: #779a7b;
}
/* 通常ボタン */
a.btn-normal, a.btn-normal2 {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  background: #3a9253;
  border-radius: 3px;
  padding: 6px 30px;
  box-sizing: border-box;
  border-bottom: 3px solid #00662d;
  min-width: 300px;
}
a.btn-normal:hover, a.btn-normal2:hover {
  background: #52b86f;
}
a.btn-large, a.btn-large2 {
  font-size: 160%;
}
.btnBox, .btnBox2 {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 60px 0;
  background: #989f67;
  background-image: url(/materials/173001570138401.jpg);
  background-position: center 33%;
  background-size: cover;
  position: relative;
}
.btnBox:before, .btnBox2:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  z-index: 0;
}
.btnBox .btn-normal, .btnBox2 .btn-normal2 {
  position: relative;
  z-index: 1;
}

/* 見出し */
#mainArticles h2 {
  /*--font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;--*/
  color: #4c834c;
  /*--background: url(/materials/173077791751601.png) repeat;--*/
  top: 20px;
  border-bottom: 0px none;

  width:100vw !important;
  margin: 0 calc(50% - 50vw);
  background: #e0e2d1;
  padding: 3vw 0;
}

#mainArticles h2 {
font-size: 1.8em;
  font-weight: normal;
  margin: 0 calc(512px - 50vw) 16px;
  padding: 3vw 0;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05em;
  border: none;
  position: relative;
  width: 100vw;
      font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

#mainArticles h2:after {
  content: "";
  width: 200px;
  height: 64px;
  background: url("/materials/175928444796001.png") no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;
  background-size: contain;
}
#listTopics h2,
#mainArticles div[id^="blog"] h2 {
  background: none;
  padding: 24px 0;
  line-height: 1.85;
  font-size: 1.55em;
  font-weight: normal;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 40px 0 0;
  width: 1024px !important;
  position: relative;
  -webkit-font-smoothing: subpixel-antialiased;
  border-bottom: 0px none !important;
  
}

#mainTopics h2{font-family: "M PLUS Rounded 1c", sans-serif;
  color: #46543c;}

#listTopics h2:after,
#mainArticles div[id^="blog"] h2:after,
#mainTopics h2:after, #mainArticles .article h2:after, .mainContents .article h3:after, .gallery h3:after, .freeHtml h3:after {
  width: 200px;
  height: 50px;
  background: url(/materials/175928202165601.png) no-repeat center center;
  background-size: contain;
  margin: 24px auto;
  position: static;
  content: "";
  display: block;
}
/* mainTopics */
#mainTopics {
  background: none;
  border-bottom: 0px none;
}

#mainTopics h2{border-bottom: 0px none;}

#mainTopics .listview,
#mainTopics .topics li .more a,
#mainTopics .topics h3,
#mainTopics .topics .description,
.mainTopics .topics li{font-size: initial;}



ul.topics li {
  background: #FFF;
  border-radius: 8px;
  min-height: 120px;
}
ul.topics li h3 a {
  color: #989f67;
}
ul.topics li p.date {
  background: #989f67;
  
  font-size: 0.666em !important;
  line-height: 1;
  margin: 0 0 3px;
  display: inline-block;
  padding: 6px 14px;
  border-radius: 4px;
  color: #fff !important;
}
ul.topics li p.more a {
  background: #3a9253;
  padding: 4px 16px;
  font-size: 0.85em;
}

#mainTopics .topics li .more{right: 20px;}

ul.topics li p.more a {
  text-indent: 0;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  display: inline-block;
  width: auto;
  height: auto;
  padding: 4px 16px;
  font-size: 0.85em;
  border: none;
}

.mainTopics .topics li .more a,.mainTopics .topics li .more a:hover{border: 0px none; color: #fff;}

.mainTopics .topics li .more a:hover{background: #989f67;}

.mainTopics .topics {
  overflow: hidden;
  width:1024px;
  /*--
  padding: 0 80px;
  margin: -20px 0 15px;--*/
  padding: 0;
  margin: 0;
  border-bottom:0px none;
  box-sizing: border-box;
}

#mainTopics .listview {
  width: initial;
  text-align: right;
  margin-top: 0;
}
#mainTopics .listview a {
  color: #64574f;
  background: unset;
}
#mainTopics .listview a:hover {
  color: #779a7b;
  background: unset;
}

#mainTopics .listview a {
  color: #fff;
  text-indent: 0;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  display: inline-block;
  width: auto;
  height: auto;
  padding: 4px 16px;
  font-size: 1em;
  border: none;
  color: #64574f;
}

#mainTopics .listview a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 8px;
}

#mainTopics .listview a:hover {
  color: #4c834c;
  background: unset;
  text-decoration: none;
}

/* sideContents */

#sideContents{background-image: none; background: #e8ebe8; margin-top: 0;}

#sideContents_outer{width: 1024px; /*--padding: 30px 0;--*/ padding: 0 0 30px;}

.sideContents #sideServices h2:before, .sideContents #sideBlogCategories h2:before, .sideContents #sideBlogDates h2:before, .sideContents #sideMobile h2:before {
  background: #64574f;
}
.sideContents ul li a:hover, .sideContents dt a:hover {
  background: #779a7b;
}
/* footer */
#footer {
  background: #799b7d;
  padding: 45px 0 95px 0;
}
#footer * {
  color: #64574f;
}
#footer_body .copyright {
  font-size: 0.88em;
  color: #FFF;
  font-weight: normal;
  background: #e7f2f1;
  background: url(/materials/173008817308601.jpg) repeat-x;
  background-size: 600px;
}
#footer_body .copyright a {
  color: #FFF;
}
#footer_body .topMenu li a, #footer_body .services li a {
  color: #fff;
  background: none;
  border-bottom: 1px solid #64574f;
  font-size: initial;
}
#footer_body .topMenu li a:before, #footer_body .services li a:before {
  color: inherit;
}
#footer_body .topMenu li a:hover, #footer_body .services li a:hover {
  color: #64574f;
  background-color: transparent;
  border-bottom: 1px dashed #64574f;
}


#footer_body .topMenu, #footer_body .services {
  margin: 8px;
  clear: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 35%;
}

#footer_body .topMenu li, #footer_body .services li {
  box-sizing: border-box;
  border: none;
  margin-bottom: 5px;
  margin-right: 8px;
  float: none;
  height: auto;
  line-height: 32px;
}

#footer_body .topMenu li a::before, #footer_body .services li a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-right: 8px;
}

#footer_body .copyright {
  font-weight: bold;
  /*--
  padding: 32px 0;
  line-height: 18px;
  --*/
  padding: 0;
  height: 60px;
  line-height: 60px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  clear: both;
  text-align: center;
}

/*---------------------
記事
-------------------------*/
#mainArticles_body.mainArticles {
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
}

.mainArticles .article{
	border-bottom:none;
}

.mainArticles .article.col2 {
  flex-basis:calc(100% / 2 );
	padding: 4px 24px;
}

.mainArticles .article.col3 {
  flex-basis:calc(94% / 3 );
	padding: 4px 10px;
}

.mainArticles .article.col2 {
  flex-basis:calc(96% / 2 );
  margin-bottom: 30px !important;
	padding: 4px 24px;
}

.mainArticles .article.col4 {
  flex-basis:calc( (100% - 80px) / 4);
	padding: 4px 10px;
}

.mainArticles .article.col2,
.mainArticles .article.col3,
.mainArticles .article.col4{box-sizing: border-box;}

.mainArticles .article.col2 .article_body ,
.mainArticles .article.col3 .article_body ,
.mainArticles .article.col4 .article_body {
	padding:0;
}
.mainArticles .article.col2 img,
.mainArticles .article.col3 img,
.mainArticles .article.col4 img{max-width: initial; width: 100%;}

.equipment{
	box-sizing: border-box !important;
	background: #fff;
	border-radius: 20px;
	padding: 0 !important;
	margin: 0px 10px !important;
}

.equipment .article_outer{
	padding: 10px !important;
}
.equipment .image{margin-bottom: 0 !important;}
.equipment .image img{margin-bottom: 0 !important;}

.equipment h4{ margin: 10px 0 !important;}


/* Buttons -----*/
a.btn {
  width: 50%;
  padding: 8px 16px;
  border-radius: 4px;
  display: flow-root;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  box-sizing: border-box;
  color: #fff;
  background: #64574f;
  margin-left: auto;
  margin-right: auto;
}
a.btn:after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: bold;
  margin-left: 10px;
}
a.btn.anchor:after {
  font-family: "Font Awesome 5 Free";
  content: "\f107";
}

a.btn:hover {
  background: #4c834c;
}


@media only screen and (max-width: 1024px) {
	#mainArticles h2, #listTopics h2,
	.mainArticles .bg_full{
		width: 100% !important;
		margin: 0 !important;
	}
}
.mainArticles .article, .mainArticles div.gallery, #mainTopics, #listTopics {
    margin-top: 50px;
}

/*追従型ボタン*/
.freeHtml #contact-box{
  position:fixed;
  top:250px;
  right:0px;
  z-index:100;
  width:50px;
}