@charset "UTF-8";
@import url(//use.fontawesome.com/releases/v5.10.2/css/all.css);
.flex5 .box {
  width: 18%;
  margin: 0 1% 20px 1%;
  position: relative;
  overflow: inherit !important;
  display: block;
  justify-content: flex-start;
}
@media only screen and (max-width: 834px) {
  .flex5 .box {
    width: 31.11111%;
    margin: 0 1% 10px 1%;
  }
}
@media only screen and (max-width: 640px) {
  .flex5 .box {
    width: 48%;
    margin: 0 1% 10px 1%;
  }
}
.flex5 .box img {
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 230px !important;
}

.flex6 .box {
  width: 14.666666%;
  margin: 0 1% 10px 1%;
}

a.itext {
  width: auto !important;
  height: auto !important;
}

.annot {
  display: none !important;
}

.wp-block-columns {
  max-width: 1300px !important;
}

::selection {
  background-color: #d0d0ff;
}

.pcnone {
  display: none;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .pcnone {
    display: block;
  }
}

@media only screen and (max-width: 640px) {
  .spnone {
    display: none;
  }
}

@media screen and (min-width: 834px) and (max-width: 1200px) {
  .bp1200none {
    display: none;
  }
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .bp1200none {
    display: block;
  }
}

@media screen and (min-width: 834px) and (max-width: 1000px) {
  .bp1000none {
    display: none;
  }
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .bp1000none {
    display: block;
  }
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

li {
  list-style: none;
}

html {
  font-size: 65.5% !important;
  overflow: visible !important;
}

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, 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 {
  font-weight: 500;
}

body {
  counter-reset: number 0;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 400;
  word-wrap: break-word;
  font-size: 16px;
  overflow-x: hidden;
  background: none;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #333333 !important;
}
@media only screen and (max-width: 834px) {
  body {
    font-size: 14px;
  }
}

#main {
  padding-top: 0 !important;
}

.inner {
  margin: 0 auto;
  max-width: 1200px;
}

.inner1100 {
  margin: 0 auto;
  max-width: 1100px;
}

.inner1200 {
  margin: 0 auto;
  max-width: 1200px;
}

.inner1300 {
  margin: 0 auto;
  max-width: 1300px;
}

.inner1400 {
  margin: 0 auto;
  max-width: 1400px;
}

#main {
  width: 100%;
}

#main #col_main {
  width: 100%;
}

#side {
  width: 18.75%;
}

.map {
  margin: 56px 20px 0;
}

.map li {
  border-left: 5px solid #CCCCCC;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left;
}

table {
  table-layout: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  table {
    table-layout: fixed;
  }
}
.tlfix table {
  table-layout: fixed;
}

table td img {
  height: auto !important;
}

.tdpd10 td {
  padding: 10px !important;
}

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line;
}

b, strong {
  font-weight: bold;
}

u {
  text-decoration: line-through;
}

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

small {
  font-size: 80%;
}

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3;
}

span {
  font-weight: inherit;
}

u {
  text-decoration: underline;
}

input[type=button] {
  cursor: pointer;
  padding: 5px 10px;
}

a {
  color: #DE9B4B;
  transition: 1s;
}

a:hover {
  opacity: 0.4;
  transition: 0.3s;
}

.imgR {
  margin-left: 20px !important;
  margin-bottom: 20px !important;
}
@media only screen and (max-width: 640px) {
  .imgR {
    display: block;
    float: none;
    margin: 0 auto 10px auto !important;
    max-width: 100% !important;
    text-align: center;
    float: none;
  }
}

.imgL {
  margin-bottom: 20px !important;
  margin-right: 20px !important;
}
@media only screen and (max-width: 640px) {
  .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px auto !important;
    max-width: 100% !important;
    text-align: center;
  }
}

.mincho {
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.gothic {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.gothic {
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media only screen and (max-width: 640px) {
  .fltL {
    float: none;
    width: 100% !important;
  }
  .fltR {
    float: none;
    width: 100% !important;
  }
  .sptal {
    text-align: left !important;
  }
  .sptar {
    text-align: right !important;
  }
  .sptac {
    text-align: center !important;
  }
  .spcenter {
    text-align: center;
    display: block;
    margin-top: 10px;
  }
}
header#global_header {
  min-width: auto;
}

footer#global_footer {
  min-width: auto;
}

@media screen and (min-width: 834px) and (max-width: 1000px) {
  #main {
    width: 100%;
  }
}

@media screen and (min-width: 834px) and (max-width: 1000px) {
  #main #col_main {
    width: 100%;
  }
}

figure {
  padding: 0;
  margin: 0;
}

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line;
}

.br0 table td {
  border: 0;
}

/************************************コンテンツ************************************/
#contents_wrap {
  padding: 0px;
  position: relative;
  z-index: 2;
  min-width: auto !important;
  overflow: hidden;
}

#contents {
  position: relative;
  z-index: 2;
  width: 100% !important;
  max-width: 1300px !important;
  background: none !important;
  margin: 0 auto;
  padding: 0 20px;
  padding-bottom: 150px;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  #contents {
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 640px) {
  #contents {
    padding-bottom: 30px;
  }
}
#contents a {
  color: #DE9B4B;
}

#main {
  width: 100% !important;
}

.nega {
  margin-left: calc((100vw - 100%) / 2 * -1) !important;
  margin-right: calc((100vw - 100%) / 2 * -1) !important;
  overflow: hidden;
}
@media only screen and (max-width: 834px) {
  .nega {
    margin: 0;
  }
}

.nega_bottom {
  margin-bottom: -150px;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .nega_bottom {
    margin-bottom: -50px;
  }
}
@media only screen and (max-width: 640px) {
  .nega_bottom {
    margin-bottom: -30px;
  }
}

/***********************************右寄せ左寄せ*******************************************/
.tacenter {
  text-align: center !important;
}

.text_center div {
  text-align: center;
}

.tal div {
  text-align: left;
}

.text_right div {
  text-align: right;
}

@media screen and (min-width: 641px) and (max-width: 834px) {
  .tabtal div {
    text-align: left !important;
  }
  .tabtar div {
    text-align: right !important;
  }
  .tabtac div {
    text-align: center !important;
  }
}
@media only screen and (max-width: 640px) {
  .sptal div {
    text-align: left !important;
  }
  .sptar div {
    text-align: right !important;
  }
  .sptac div {
    text-align: center !important;
  }
}
/***********************************サイドバー*******************************************/
@media screen and (min-width: 834px) and (max-width: 1000px) {
  #side {
    width: 18.75%;
  }
}

@media screen and (min-width: 834px) and (max-width: 1000px) {
  #side aside {
    width: 100% !important;
  }
}

/***********************************非表示*******************************************/
.dnone {
  display: none;
}

/***********************************フレックス*******************************************/
.flex_box {
  display: flex;
}

.jcss {
  justify-content: start;
}

.jcsc {
  justify-content: center;
}

.jcsb {
  justify-content: space-between;
}

.aic {
  align-items: center;
}

.ais {
  align-items: start;
}

.wrap {
  flex-wrap: wrap;
}

.dir_reverse {
  flex-direction: row-reverse;
}

.box2 {
  width: 48%;
  margin: 20px 1% 0 1%;
}

.box3 {
  width: 31.111%;
  margin: 20px 1% 0 1%;
}

.box33 {
  width: 33.333%;
  margin: 0 0 10px 0;
}

.box4 {
  width: 23%;
  margin: 20px 1% 0 1%;
}

.box55 {
  width: 53%;
}

.box60 {
  width: 58%;
}

.box70 {
  width: 68%;
}

.box40 {
  width: 38%;
}

.box45 {
  width: 43%;
}

.box50 {
  width: 48%;
}

.box30 {
  width: 28%;
}

.box100 {
  width: 100%;
}

.box80 {
  width: 78%;
}

.box20 {
  width: 18%;
}

.box75 {
  width: 73%;
}

.box25 {
  width: 23%;
}

@media only screen and (max-width: 834px) {
  .box_tabsp40 {
    width: 38%;
    margin: 0 1% 10px 1%;
  }
}
@media only screen and (max-width: 640px) {
  .box_tabsp40 {
    width: 100%;
    margin: 0 0 10px 0;
  }
}

@media only screen and (max-width: 834px) {
  .box_tabsp60 {
    width: 58%;
    margin: 0 1% 10px 1%;
  }
}
@media only screen and (max-width: 640px) {
  .box_tabsp60 {
    width: 100%;
    margin: 0 0 10px 0;
  }
}

@media only screen and (max-width: 834px) {
  .box_tabsp100 {
    width: 100%;
    margin: 0 0 10px 0;
  }
}

@media only screen and (max-width: 834px) {
  .box_tabsp50 {
    width: 48%;
    margin: 0 1% 10px 1%;
  }
}

@media only screen and (max-width: 834px) {
  .box_sp50 {
    width: 48%;
    margin: 0 1% 10% 1%;
  }
}

@media only screen and (max-width: 640px) {
  .box_sp100 {
    width: 100%;
    margin: 0 0 10px 0;
  }
}

.img100 img {
  width: 100% !important;
}

.img80 img {
  width: 80% !important;
}

.img50 img {
  width: 50% !important;
}

.center_img a {
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .center_img a img {
    width: 100% !important;
  }
}

/*********************************電話番号************************************/
.sp_tel a {
  text-decoration: none;
  pointer-events: none;
}
@media only screen and (max-width: 834px) {
  .sp_tel a {
    pointer-events: auto;
  }
}

.sp_tel_text a {
  color: #333333 !important;
  text-decoration: none;
  pointer-events: none;
}
@media only screen and (max-width: 834px) {
  .sp_tel_text a {
    pointer-events: auto;
    color: #C76955 !important;
    text-decoration: underline;
  }
}

/*************************ノーホバー***********************************/
.no_events {
  pointer-events: none;
}
.no_events:hover {
  opacity: 1 !important;
}

/*******************改行*******************************************/
.pc_block {
  display: block;
}
@media only screen and (max-width: 640px) {
  .pc_block {
    display: inline;
  }
}

/******************表示非表示**************************************/
.dnone {
  display: none;
}

.pc_none {
  display: none;
}
@media only screen and (max-width: 834px) {
  .pc_none {
    display: block;
  }
}

.pctb_none {
  display: none;
}
@media only screen and (max-width: 640px) {
  .pctb_none {
    display: block;
  }
}

@media only screen and (max-width: 834px) {
  .tab_none {
    display: none;
  }
}

@media only screen and (max-width: 640px) {
  .sp_none {
    display: none;
  }
}

@media only screen and (max-width: 834px) {
  .tab_block {
    display: block;
  }
}

@media only screen and (max-width: 640px) {
  .sp_block {
    display: block;
  }
}

.nohover {
  pointer-events: none;
}

.waku01 {
  border: 1px solid #DE9B4B;
}

.waku02 {
  border: 1px solid #C76955;
}

.waku_c {
  border: 1px solid #ccc;
}

.white_text div {
  color: #fff;
}

.div_top10 div {
  margin-top: 10px;
}

.div_top20 div {
  margin-top: 20px;
}

.div_top30 div {
  margin-top: 30px;
}

.div_top40 div {
  margin-top: 50px;
}

@media only screen and (max-width: 834px) {
  .div_tabsptop10 div {
    margin-top: 10px;
  }
}

@media only screen and (max-width: 640px) {
  .div_sptop10 div {
    margin-top: 10px;
  }
}

@media only screen and (max-width: 834px) {
  .div_tabsptop20 div {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 640px) {
  .div_sptop20 div {
    margin-top: 20px;
  }
}

/******************順番スクロールフェード**************************************/
.scroll_slide .box {
  opacity: 0;
  transition: all 1s;
  transform: translate(0, -50px);
}
@media only screen and (max-width: 640px) {
  .scroll_slide .box {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.scroll_slide .box.active {
  opacity: unset;
  opacity: 1 !important;
  transition: all 1s;
  transform: translate(0, 0);
}
@media only screen and (max-width: 640px) {
  .scroll_slide .box.active {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.insta_scroll div.sns_list > div {
  opacity: 0;
  transition: all 1s;
  transform: translate(0, -50px);
}
@media only screen and (max-width: 640px) {
  .insta_scroll div.sns_list > div {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.insta_scroll div.sns_list > div.active {
  opacity: unset;
  opacity: 1 !important;
  transition: all 1s;
  transform: translate(0, 0);
}
@media only screen and (max-width: 640px) {
  .insta_scroll div.sns_list > div.active {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.table_scroll .table_box {
  opacity: 0;
  transition: all 1s;
  transform: translate(0, -50px);
}
@media only screen and (max-width: 640px) {
  .table_scroll .table_box {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.table_scroll .table_box.active {
  opacity: unset;
  opacity: 1 !important;
  transition: all 1s;
  transform: translate(0, 0);
}
@media only screen and (max-width: 640px) {
  .table_scroll .table_box.active {
    transform: translate(0, 0);
    opacity: 1;
  }
}

/******************枠テキストボックス**************************************/
.waku_textbox .box {
  border: 1px solid #ccc;
  width: 48%;
  margin: 0 1% 10px 1%;
  padding: 20px;
  align-items: flex-start;
}
@media only screen and (max-width: 834px) {
  .waku_textbox .box {
    width: 100%;
    margin: 0 1% 10px 1%;
  }
}
@media only screen and (max-width: 640px) {
  .waku_textbox .box {
    width: 100%;
    margin: 0 1% 10px 1%;
    padding: 10px;
  }
}
.waku_textbox .box h3 {
  border-bottom: 1px solid #DE9B4B;
  padding-bottom: 10px;
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #DE9B4B;
  padding-left: 5px;
}
@media only screen and (max-width: 640px) {
  .waku_textbox .box h3 {
    font-size: 14px;
  }
}
.waku_textbox .box div {
  font-size: 14px;
}
@media only screen and (max-width: 640px) {
  .waku_textbox .box div {
    font-size: 12px;
  }
}
.waku_textbox .box article {
  display: flex;
}
.waku_textbox .box article img {
  min-width: 200px;
  max-width: 200px;
  margin-right: 20px;
  width: 100% !important;
  height: 150px !important;
  object-fit: cover;
  font-family: "object-fit:cover;";
}
@media only screen and (max-width: 640px) {
  .waku_textbox .box article img {
    min-width: 120px;
    max-width: 120px;
    margin-right: 10px;
    width: 100% !important;
    height: auto !important;
  }
}

.imgbox4 {
  display: flex;
  flex-wrap: wrap !important;
}
.imgbox4 .box {
  width: 23%;
  margin: 0 1% 20px 1%;
}
@media only screen and (max-width: 834px) {
  .imgbox4 .box {
    width: 31%;
    margin: 0 1% 10px 1%;
  }
}
@media only screen and (max-width: 640px) {
  .imgbox4 .box {
    width: 48%;
    margin: 0 1% 10px 1%;
  }
}
.imgbox4 .box img {
  width: 100% !important;
  height: 250px !important;
  object-fit: cover;
  font-family: "object-fit:cover;";
}
@media only screen and (max-width: 834px) {
  .imgbox4 .box img {
    height: 150px !important;
  }
}

.imgbox2 {
  display: flex;
  flex-wrap: wrap !important;
}
.imgbox2 .box {
  width: 48%;
  margin: 0 1% 20px 1%;
}
.imgbox2 .box img {
  width: 100% !important;
  height: 250px !important;
  object-fit: cover;
  font-family: "object-fit:cover;";
}
@media only screen and (max-width: 834px) {
  .imgbox2 .box img {
    height: 150px !important;
  }
}

.imgbox3 {
  display: flex;
  flex-wrap: wrap !important;
}
.imgbox3 .box {
  width: 31.111111%;
  margin: 0 1% 20px 1%;
}
@media only screen and (max-width: 834px) {
  .imgbox3 .box {
    width: 31%;
    margin: 0 1% 10px 1%;
  }
}
@media only screen and (max-width: 640px) {
  .imgbox3 .box {
    width: 48%;
    margin: 0 1% 10px 1%;
  }
}
.imgbox3 .box img {
  width: 100% !important;
  height: 250px !important;
  object-fit: cover;
  font-family: "object-fit:cover;";
}
@media only screen and (max-width: 834px) {
  .imgbox3 .box img {
    height: 150px !important;
  }
}

.top_mein {
  position: relative;
  background: #fff;
}

main {
  padding: 0 !important;
  margin: 0 !important;
}

.header_fix {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  background: #FAF0E6;
}
@media only screen and (max-width: 834px) {
  .header_fix {
    position: relative;
    background: none;
  }
}

#header {
  background: #FAF0E6 !important;
}

.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 834px) {
  .header_inner {
    display: block;
  }
}

.cnt_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

.header_logo {
  width: 200px;
}

.header_right {
  width: calc(100% - 200px);
}
.header_right .cnt_h_info ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media only screen and (max-width: 834px) {
  .header_right .cnt_h_info ul {
    justify-content: center;
    width: 100%;
  }
}
.header_right .cnt_h_info ul li {
  margin: 5px;
}
@media only screen and (max-width: 834px) {
  .header_right .cnt_h_info ul li {
    width: 48%;
    margin: 5px 1% 0 1%;
  }
}
@media only screen and (max-width: 834px) {
  .header_right .cnt_h_info {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    position: fixed;
    bottom: 10px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 99;
    padding: 5px;
  }
}
@media only screen and (max-width: 834px) and (max-width: 834px) {
  .header_right .cnt_h_info {
    justify-content: center;
  }
}
@media only screen and (max-width: 834px) {
  .header_right .nav {
    display: none;
  }
}
.header_right .nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.header_right .nav ul li a {
  color: #333;
  text-decoration: none;
  padding: 10px;
  position: relative;
  display: block;
}
.header_right .nav ul li ul {
  background: #DE9B4B;
  position: absolute;
  display: block;
  z-index: 99;
  text-align: left;
  display: block;
}
.header_right .nav ul li ul a {
  color: #fff !important;
  font-size: 16px;
  padding: 10px;
  display: block;
}

.top_header_right {
  width: 340px;
  padding-top: 30px;
  padding-left: 30px;
  padding-right: 30px;
}
@media screen and (min-width: 834px) and (max-width: 1600px) {
  .top_header_right {
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
    width: 200px;
  }
}
@media only screen and (max-width: 834px) {
  .top_header_right {
    width: 100%;
    padding: 0;
  }
}
.top_header_right .nav {
  margin: 0 auto;
  width: 90%;
}
@media only screen and (max-width: 834px) {
  .top_header_right .nav {
    display: none;
  }
}
.top_header_right .nav ul {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
  z-index: 3;
  display: -webkit-flex;
  display: block;
  justify-content: space-between;
}
.top_header_right .nav ul li {
  padding: 5px 0;
  position: relative;
  text-align: left;
  padding-left: 20px;
}
@media screen and (min-width: 834px) and (max-width: 1600px) {
  .top_header_right .nav ul li {
    padding: 2px 0;
    padding-left: 10px;
  }
}
.top_header_right .nav ul li:after {
  content: "";
  height: 8px;
  width: 8px;
  background: #DE9B4B;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 15px;
  margin: auto;
}
@media screen and (min-width: 834px) and (max-width: 1600px) {
  .top_header_right .nav ul li:after {
    height: 4px;
    width: 4px;
  }
}
.top_header_right .nav ul li a {
  color: #000 !important;
  text-decoration: none;
  padding: 10px;
  font-size: 16px;
}
@media screen and (min-width: 834px) and (max-width: 1600px) {
  .top_header_right .nav ul li a {
    font-size: 12px;
  }
}
@media only screen and (min-width: 834px) and (max-width: 1600px) and (max-width: 834px) {
  .top_header_right .nav ul li a {
    font-size: 10px;
  }
}
.top_header_right .nav ul li a:hover {
  color: #d54c4a !important;
  opacity: 1 !important;
}
.top_header_right .nav ul li ul {
  margin-top: 5px;
  background: #DE9B4B;
}
.top_header_right .nav ul li ul li {
  text-align: left;
}
.top_header_right .nav ul li ul li a {
  color: #fff !important;
  font-size: 12px;
  margin: 0;
  padding: 5px 0;
}
.top_header_right .top_h_info {
  padding-top: 20px;
}
@media screen and (min-width: 834px) and (max-width: 1600px) {
  .top_header_right .top_h_info {
    padding-top: 5px;
  }
}
@media only screen and (max-width: 834px) {
  .top_header_right .top_h_info {
    padding: 0;
  }
}
@media only screen and (max-width: 834px) {
  .top_header_right .top_h_info ul {
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    bottom: 10px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 99;
    padding: 5px;
  }
}
.top_header_right .top_h_info ul li {
  margin-top: 5px;
}
@media screen and (min-width: 834px) and (max-width: 1600px) {
  .top_header_right .top_h_info ul li {
    font-size: 12px;
  }
}
@media only screen and (max-width: 834px) {
  .top_header_right .top_h_info ul li {
    width: 48%;
    margin: 2px 1%;
  }
}

.h_btn01 a {
  display: block;
  padding: 10px 20px;
  border-radius: 50px;
  background: #DE9B4B;
  text-decoration: none;
  color: #fff !important;
}
.h_btn01 a img {
  margin-right: 5px;
}

.h_btn02 a {
  display: block;
  padding: 10px 20px;
  border-radius: 50px;
  background: #C76955;
  text-decoration: none;
  color: #fff !important;
}
.h_btn02 a img {
  margin-right: 5px;
}

.h_tel a {
  background: #3aaa5f;
  padding: 10px 20px;
  border-radius: 30px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  display: block;
}
.h_tel a i {
  margin-right: 5px;
}
.h_tel a span {
  display: block;
  padding: 10px;
  background: #fff;
  border-radius: 50%;
  margin-right: 10px;
}

.h_mail a {
  background: #803686;
  padding: 10px 20px;
  border-radius: 30px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  display: block;
}
.h_mail a i {
  margin-right: 5px;
}
.h_mail a span {
  display: block;
  padding: 10px;
  background: #fff;
  border-radius: 50%;
  margin-right: 10px;
}

.nav_bg {
  background: #FAF0E6;
  padding: 5px 0;
}

.top_header {
  position: relative;
}

@media only screen and (max-width: 834px) {
  div#builingual {
    padding-top: 53px !important;
  }
}

.h_info ul {
  display: flex;
}
@media only screen and (max-width: 834px) {
  .h_info ul {
    justify-content: flex-end;
  }
}
.h_info ul li {
  margin-left: 10px;
}
@media only screen and (max-width: 834px) {
  .h_info ul li {
    margin-right: 10px;
    margin-left: 0;
  }
}
.h_info ul .h_line {
  max-width: 55px;
}
.h_info ul .h_tel a {
  font-size: 16px;
  background: #C76955;
  padding: 10px 10px;
  border-radius: 30px;
  display: flex;
  color: #fff;
  text-decoration: none;
  align-items: center;
}
.h_info ul .h_tel a span {
  display: block;
  padding: 10px;
  background: #fff;
  border-radius: 50%;
  margin-right: 10px;
}
.h_info ul .h_tel a span i {
  color: #C76955;
}

.top_header {
  display: flex;
}
@media only screen and (max-width: 834px) {
  .top_header {
    display: block;
  }
}

#mainArea {
  position: relative;
  width: calc(100% - 340px);
}
@media screen and (min-width: 834px) and (max-width: 1600px) {
  #mainArea {
    width: calc(100% - 200px);
  }
}
@media only screen and (max-width: 834px) {
  #mainArea {
    width: 100%;
  }
}

.main_img {
  z-index: 3;
  position: relative;
}
.main_img img {
  position: relative;
  width: 100% !important;
  height: 100vh !important;
}
@media only screen and (max-width: 834px) {
  .main_img img {
    display: block;
    height: auto !important;
    width: 100% !important;
  }
}

.catch01 img {
  max-width: 548px;
  width: 50%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  margin: auto;
  bottom: 0;
  z-index: 5;
}

.new_btn {
  margin-top: 10px;
}
@media only screen and (max-width: 834px) {
  .new_btn {
    position: fixed;
    left: 5px;
    top: 0px;
    z-index: 10;
    width: 95px;
  }
}

.h_block {
  display: block;
}

#colophon {
  display: none !important;
}

.widget-area {
  display: none !important;
}

footer#global_footer {
  position: relative;
  background: none !important;
}

#footer {
  background: #333 !important;
  padding: 20px 20px 0 20px;
  position: relative;
  color: #fff;
}
#footer a {
  color: #fff;
  text-decoration: none;
}

.f_img01 img {
  position: absolute;
  bottom: 10px;
  left: 10px;
  width: 12%;
}

.f_img02 img {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 5%;
  max-width: 69px;
}

.f_bg01 {
  position: relative;
  z-index: 1;
}

.f_fixbtn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
}
@media only screen and (max-width: 834px) {
  .f_fixbtn {
    width: 200px;
    bottom: 10px;
    right: 10px;
    display: flex;
  }
}
.f_fixbtn li {
  margin-top: 10px;
}
@media only screen and (max-width: 834px) {
  .f_fixbtn li {
    margin: 5px;
  }
}

.contact_title h2 {
  font-size: 36px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}
.contact_title h2:before {
  margin-right: 1em; /* 文字の右隣 */
  border-top: 3px solid #DE9B4B;
  content: "";
  width: 8em; /* 線の長さ */
}
@media screen and (max-width: 1200px) {
  .contact_title h2:before {
    width: 0;
  }
}
@media only screen and (max-width: 834px) {
  .contact_title h2:before {
    width: 0;
  }
}
.contact_title h2:after {
  margin-left: 1em; /* 文字の左隣 */
  border-top: 3px solid #DE9B4B;
  content: "";
  width: 8em; /* 線の長さ */
}
@media screen and (max-width: 1200px) {
  .contact_title h2:after {
    width: 0;
  }
}
@media only screen and (max-width: 834px) {
  .contact_title h2:after {
    width: 0;
  }
}

.contact {
  padding: 100px 20px;
  font-size: 16px;
  background: url(../images/common/contact_bg.png);
  background-size: cover;
  background-position: right center;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .contact {
    padding: 30px 20px;
  }
}

.contact_inner {
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.5);
  padding: 50px 20px;
  max-width: 1000px;
}

.contact_text {
  padding-top: 30px;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  color: #fff;
}
@media only screen and (max-width: 834px) {
  .contact_text {
    text-align: left;
  }
}

.contact_btn {
  margin-top: 50px;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media only screen and (max-width: 834px) {
  .contact_btn {
    margin-top: 20px;
  }
}
.contact_btn li {
  width: 48%;
  margin: 20px auto;
  max-width: 600px;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .contact_btn li {
    margin: 10px 0 0 0;
    width: 100%;
  }
}
.contact_btn li a {
  font-size: 24px;
  background: #C76955;
  border-radius: 30px;
  display: flex;
  color: #fff;
  padding: 10px;
  text-decoration: none;
  align-items: center;
  display: flex;
  justify-content: center;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact_btn li a i {
  margin-right: 10px;
}
.contact_btn li a:hover {
  background: #fff;
  color: #C76955;
  opacity: 1 !important;
}
@media only screen and (max-width: 834px) {
  .contact_btn li a {
    font-size: 20px;
  }
}
.contact_btn .f_tel a {
  background: #35982C;
  border-radius: 50px;
  margin-right: 10px;
  display: block;
}
.contact_btn .f_tel a:hover {
  background: #fff;
  color: #35982C;
  opacity: 1 !important;
}
@media only screen and (max-width: 834px) {
  .contact_btn .f_tel a i {
    margin-right: 5px;
  }
}
.contact_btn .f_mail a {
  position: relative;
}

.f_tel01 {
  margin-bottom: 10px;
}
.f_tel01 a {
  font-size: 48px;
  color: #C76955 !important;
}
@media screen and (min-width: 834px) and (max-width: 1200px) {
  .f_tel01 a {
    font-size: 30px;
  }
}
@media only screen and (max-width: 834px) {
  .f_tel01 a {
    font-size: 16px;
  }
}
.f_tel01 a span {
  background: #C76955;
  color: #fff;
  border-radius: 50%;
  padding: 5px 10px;
  margin-right: 10px;
  font-size: 34px;
}
@media screen and (min-width: 834px) and (max-width: 1200px) {
  .f_tel01 a span {
    font-size: 24px;
  }
}
@media only screen and (max-width: 834px) {
  .f_tel01 a span {
    font-size: 16px;
  }
}

.f_inner {
  padding: 20px 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  color: #fff;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media only screen and (max-width: 834px) {
  .f_inner {
    display: block;
    width: 90%;
  }
}

.footer_info {
  width: 50%;
  align-items: center;
}
@media only screen and (max-width: 834px) {
  .footer_info {
    padding: 0;
    width: 100%;
    display: block;
  }
}

#nav_map {
  width: 50%;
}
@media only screen and (max-width: 834px) {
  #nav_map {
    padding: 0;
    width: 100%;
    display: block;
  }
  #nav_map iframe {
    height: 500px;
  }
}

.footer_tel a {
  color: #fff !important;
}
.footer_tel a:link {
  color: #fff !important;
  text-decoration: none;
}
.footer_tel a:visited {
  color: #fff !important;
}

.f_logo {
  font-size: 28px;
}

.f_info {
  font-size: 16px;
  width: 60%;
}
@media only screen and (max-width: 834px) {
  .f_info {
    width: 100%;
  }
}

#nav_footer {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
@media only screen and (max-width: 834px) {
  #nav_footer {
    width: 100%;
    display: block;
    max-width: 100%;
    margin: 20px auto 0 auto;
  }
}
#nav_footer ul {
  font-weight: bold;
  width: auto;
  margin: 0 1%;
  flex-wrap: wrap;
  display: block;
  justify-content: center;
}
@media only screen and (max-width: 834px) {
  #nav_footer ul {
    max-width: 100%;
    width: 100%;
    display: block;
    padding: 0 !important;
  }
}
#nav_footer ul li {
  display: block;
  margin: 5px 15px;
  width: auto;
  text-align: left;
}
@media only screen and (max-width: 834px) {
  #nav_footer ul li {
    text-align: center;
    margin: 5px auto;
    display: block;
  }
}
#nav_footer ul li a {
  color: #fff !important;
  font-size: 16px;
}
#nav_footer ul li a:link {
  color: #fff !important;
  text-decoration: none;
}
#nav_footer ul li a:visited {
  color: #fff !important;
}
@media only screen and (max-width: 834px) {
  #nav_footer ul li a {
    background: #DE9B4B !important;
    padding: 10px;
    display: block;
  }
  #nav_footer ul li a:link {
    color: #fff !important;
    text-decoration: none;
  }
  #nav_footer ul li a:visited {
    color: #fff !important;
  }
}

.nv_small {
  margin: 3px;
}
.nv_small a {
  font-size: 14px;
  padding-left: 15px;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .nv_small a {
    font-size: 16px;
  }
}
@media only screen and (max-width: 834px) {
  .nv_small a {
    font-size: 14px;
  }
}
.nv_small a:after {
  position: absolute;
  content: "";
  width: 8px;
  height: 1px;
  background: #000;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width: 834px) {
  .nv_small a:after {
    display: none;
  }
}

#pagetop {
  position: fixed;
  bottom: 50px;
  right: 20px;
  z-index: 10;
  width: 80px;
}
@media only screen and (max-width: 834px) {
  #pagetop {
    bottom: 20px;
    right: 0;
    width: 80px;
  }
  #pagetop img {
    width: 100% !important;
    height: auto;
  }
}

.f_map {
  width: 50%;
}
@media only screen and (max-width: 834px) {
  .f_map {
    width: 100%;
    height: 400px;
  }
}

.f_access {
  width: 100%;
  margin-top: 30px;
  color: #C76955;
  font-size: 20px;
}
@media only screen and (max-width: 834px) {
  .f_access {
    width: 100%;
    font-size: 16px;
  }
}
.f_access .f_access_inner01 {
  padding: 80px;
}
@media screen and (max-width: 1200px) {
  .f_access .f_access_inner01 {
    padding: 30px;
  }
}

.f_access_title {
  margin-bottom: 10px;
}
.f_access_title span {
  background: #C76955;
  border-radius: 20px;
  display: inline-block;
  padding: 5px 10px;
  color: #fff;
}

#copy {
  background: #333 !important;
  color: #fff !important;
  text-align: center;
  padding: 20px;
  display: block !important;
  font-size: 14px !important;
}
@media only screen and (max-width: 834px) {
  #copy {
    padding-bottom: 130px;
  }
}
#copy a:link {
  color: #fff;
  text-decoration: none;
}
#copy a:hover {
  text-decoration: underline;
}
#copy a:visited {
  color: #fff;
  text-decoration: none;
}

.f_bana {
  position: fixed;
  right: 0;
  bottom: 20px;
  z-index: 20;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
}
.f_bana li {
  text-align: right;
  padding: 5px 0;
}
.f_bana li img {
  margin: 0 0 0 auto;
  height: auto;
}
@media only screen and (max-width: 834px) {
  .f_bana li img {
    width: 140px;
  }
}
.f_bana .sp_none {
  display: none;
}
@media only screen and (max-width: 834px) {
  .f_bana .sp_none {
    display: block;
  }
  .f_bana .sp_none img {
    width: 40px;
    margin-right: 10px;
  }
}

html {
  scroll-behavior: smooth;
}

.top01_01 {
  position: relative;
  width: 50%;
}
@media only screen and (max-width: 834px) {
  .top01_01 {
    width: 100%;
  }
}
.top01_01 div {
  color: #fff;
}
.top01_01 article {
  padding: 15% 30px;
}
.top01_01 article table {
  max-width: 540px;
  margin: 0 auto;
}
.top01_01 article table td {
  border: 0 !important;
  padding: 10px 0 !important;
}

.top_title01 h1, .top_title01 h2 {
  color: "#fff";
  font-size: 2vw;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1;
}
@media only screen and (max-width: 834px) {
  .top_title01 h1, .top_title01 h2 {
    font-size: 36px;
  }
}
@media only screen and (max-width: 640px) {
  .top_title01 h1, .top_title01 h2 {
    font-size: 24px;
  }
}
.top_title01 h1 span, .top_title01 h2 span {
  font-size: 16px;
  line-height: 1;
}

.top01_cnt_textbtn01 {
  display: block !important;
}
.top01_cnt_textbtn01 a {
  padding: 10px 80px 10px 80px;
  display: inline-block;
  text-decoration: none;
  position: relative;
  background: #fff;
  color: #DE9B4B !important;
  border-radius: 30px;
  opacity: 1 !important;
}
.top01_cnt_textbtn01 a:hover {
  background: #DE9B4B;
  opacity: 1 !important;
  color: #fff !important;
}
@media only screen and (max-width: 640px) {
  .top01_cnt_textbtn01 a {
    font-size: 14px;
    display: block;
    max-width: 300px;
    margin: 0 auto;
    padding: 10px;
    text-align: center;
  }
}

.top01 {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 834px) {
  .top01 {
    width: 100%;
    margin: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

.top01_01 {
  width: 50%;
  background-size: cover;
}
@media screen and (max-width: 1200px) {
  .top01_01 {
    width: 100%;
  }
}

.top02 {
  width: 50%;
  padding: 50px 30px;
}
@media screen and (max-width: 1200px) {
  .top02 {
    width: 100%;
  }
}
.top02 .top_news {
  max-width: 800px;
  margin: 0 auto;
}
.top02 h2 {
  font-size: 36px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: left;
}
.top02 h2:first-letter {
  color: #DE9B4B;
}
@media only screen and (max-width: 834px) {
  .top02 h2 {
    font-size: 36px;
  }
}
@media only screen and (max-width: 640px) {
  .top02 h2 {
    font-size: 24px;
  }
}
.top02 h2 span {
  color: #DE9B4B;
  font-size: 16px;
  margin-left: 10px;
}
@media only screen and (max-width: 834px) {
  .top02 h2 span {
    display: block;
  }
}

.top03 {
  background-size: cover;
  position: relative;
}

.top03_wave img {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 !important;
}

.top03_inner {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top_teble_malu01 {
  margin-top: 15%;
}
@media screen and (max-width: 1200px) {
  .top_teble_malu01 {
    margin: 10px 0 0 auto;
  }
}

.top_teble_malu {
  width: 48%;
  max-width: 600px;
}
@media screen and (max-width: 1200px) {
  .top_teble_malu {
    width: 100%;
  }
}
.top_teble_malu article {
  padding: 16% 15%;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .top_teble_malu article {
    padding: 20px;
    border-radius: 30px;
    background: #fff;
  }
}
.top_teble_malu article:after {
  content: "";
  padding-top: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
  border-radius: 50%;
  z-index: 1;
}
@media only screen and (max-width: 834px) {
  .top_teble_malu article:after {
    padding: 0;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    display: none;
  }
}
.top_teble_malu table {
  position: relative;
  z-index: 3;
}
.top_teble_malu table td {
  border: 0 !important;
}
.top_teble_malu table .maru_text div {
  z-index: 5;
  position: relative;
}
.top_teble_malu table .maru_text div h3 {
  font-size: 18px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width: 1200px) {
  .top_teble_malu table .maru_text div {
    font-size: 14px;
  }
}

.top_title02 h1, .top_title02 h2 {
  color: "#fff";
  font-size: 2vw;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1;
}
.top_title02 h1:first-letter, .top_title02 h2:first-letter {
  color: #DE9B4B;
}
@media only screen and (max-width: 834px) {
  .top_title02 h1, .top_title02 h2 {
    font-size: 36px;
  }
}
@media only screen and (max-width: 640px) {
  .top_title02 h1, .top_title02 h2 {
    font-size: 24px;
  }
}
.top_title02 h1 span, .top_title02 h2 span {
  font-size: 16px;
  line-height: 1;
  display: block;
  color: #DE9B4B;
}

.top_teble_malu_img {
  position: absolute;
  right: 0;
  top: -30px;
  z-index: 1;
  width: 50%;
}
@media only screen and (max-width: 834px) {
  .top_teble_malu_img {
    top: 10px;
  }
}

.top04 {
  position: relative;
}

.top04_inner {
  max-width: 1400px;
  margin: 0 auto;
  z-index: 3;
  position: relative;
}
.top04_inner .table_icon01 {
  padding: 30px;
  background-repeat: no-repeat;
  background-size: 100%;
  max-width: 388px;
}
.top04_imgbtn {
  justify-content: center;
}
.top04_imgbtn .box {
  max-width: 388px;
  width: 31.111111%;
  margin: 10px 1%;
}
@media only screen and (max-width: 640px) {
  .top04_imgbtn .box {
    width: 48%;
  }
}

.top04_imgbg {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  right: 0;
}
.top04_imgbg img {
  margin: 0 !important;
  width: 100% !important;
}

.title_icon h2 {
  padding-left: 50px;
  font-size: 36px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  padding-left: 60px;
  padding-top: 15px;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .title_icon h2 {
    font-size: 24px;
    padding-left: 40px;
    padding-top: 0;
  }
}
.title_icon h2::after {
  content: "";
  width: 44px;
  height: 64px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/common/h_icon01.png);
  background-position: center;
  background-size: cover;
  background-position: center center;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  z-index: 4;
}
@media only screen and (max-width: 834px) {
  .title_icon h2::after {
    width: 22px;
    height: 31px;
  }
}

.top_waku article {
  padding: 30px;
  background: #fff;
  border: 10px solid #DE9B4B;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
  width: 80%;
}
@media only screen and (max-width: 834px) {
  .top_waku article {
    width: 90%;
    padding: 10px;
  }
}
.top_waku article::after {
  content: "";
  width: 253px;
  height: 47px;
  position: absolute;
  top: -28px;
  left: 0;
  background: url(../images/common/waku_img01.png);
  background-position: center;
  background-size: cover;
  background-position: center center;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  z-index: 4;
}
@media only screen and (max-width: 834px) {
  .top_waku article::after {
    width: 177px;
    height: 33px;
    top: -20px;
  }
}
.top_waku article::before {
  content: "";
  width: 253px;
  height: 47px;
  position: absolute;
  bottom: -28px;
  right: 0;
  background: url(../images/common/waku_img01.png);
  background-position: center;
  background-size: cover;
  background-position: center center;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  z-index: 4;
}
@media only screen and (max-width: 834px) {
  .top_waku article::before {
    width: 177px;
    height: 33px;
    bottom: -20px;
  }
}

.top05 {
  position: relative;
}

.top05_wave img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 !important;
  width: 100% !important;
}

.top05_hari img {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  z-index: 3;
  max-width: 212px;
  width: 15% !important;
}

.waku_titletext {
  background: #FAF0E6;
  padding: 20px;
  border: solid #DE9B4B 5px;
  position: relative;
  z-index: 5;
}
.waku_titletext h2, .waku_titletext h3 {
  font-size: 20px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #DE9B4B;
  margin-bottom: 10px;
}

.top06 {
  position: relative;
}

.top06_img01 img {
  position: absolute;
  top: -100px;
  left: 0;
  margin: 0 !important;
  z-index: 3;
  max-width: 205px;
  width: 15% !important;
}

.top06_img02 img {
  position: absolute;
  bottom: -100px;
  right: 0;
  margin: 0 !important;
  z-index: 3;
  max-width: 212px;
  max-width: 289px;
  width: 20% !important;
}

.top_imgbtn01 {
  flex-wrap: wrap;
  z-index: 5;
  position: relative;
}
.top_imgbtn01 .box {
  width: 48%;
  margin: 10px 1%;
}
@media only screen and (max-width: 834px) {
  .top_imgbtn01 .box {
    width: 100%;
    margin: 20px 0 0 0;
  }
}

.top_imgbtn02 {
  flex-wrap: wrap;
}
.top_imgbtn02 .box {
  width: 31.111111%;
  margin: 10px 1%;
}
@media only screen and (max-width: 834px) {
  .top_imgbtn02 .box {
    width: 100%;
    margin: 20px 0 0 0;
  }
}

.btn a {
  display: block;
  max-width: 300px;
  background: #333333;
  color: #fff;
  margin-top: 20px;
  padding: 15px 0;
  width: 100%;
  text-align: center;
  text-decoration: none;
}
@media only screen and (max-width: 640px) {
  .btn a {
    margin-right: auto;
    margin-left: auto;
  }
}

.flex1 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex1._top {
  align-items: flex-start;
}
.flex1._center {
  align-items: center;
}
.flex1:before {
  width: calc(100% / 1 - 1%);
  content: "";
  order: 1;
}
.flex1:before {
  width: calc(100% / 1 - 1%);
  content: "";
  order: 1;
}
.flex1:after {
  width: calc(100% / 1 - 1%);
  content: "";
  order: 2;
}
.flex1 .box {
  width: calc(100% / 1 - 1%);
  margin-bottom: 2%;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(50% - 1%);
  }
  ._tabwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(50% - 1%);
  }
  ._spwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
.flex1 .box img {
  width: 100% !important;
}

.flex2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex2._top {
  align-items: flex-start;
}
.flex2._center {
  align-items: center;
}
.flex2:before {
  width: calc(100% / 2 - 1%);
  content: "";
  order: 1;
}
.flex2:before {
  width: calc(100% / 2 - 1%);
  content: "";
  order: 1;
}
.flex2:after {
  width: calc(100% / 2 - 1%);
  content: "";
  order: 2;
}
.flex2 .box {
  width: calc(100% / 2 - 1%);
  margin-bottom: 2%;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(50% - 1%);
  }
  ._tabwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(50% - 1%);
  }
  ._spwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
.flex2 .box img {
  width: 100% !important;
}

.flex3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex3._top {
  align-items: flex-start;
}
.flex3._center {
  align-items: center;
}
.flex3:before {
  width: calc(100% / 3 - 1%);
  content: "";
  order: 1;
}
.flex3:before {
  width: calc(100% / 3 - 1%);
  content: "";
  order: 1;
}
.flex3:after {
  width: calc(100% / 3 - 1%);
  content: "";
  order: 2;
}
.flex3 .box {
  width: calc(100% / 3 - 1%);
  margin-bottom: 2%;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(50% - 1%);
  }
  ._tabwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(50% - 1%);
  }
  ._spwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
.flex3 .box img {
  width: 100% !important;
}

.flex4 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex4._top {
  align-items: flex-start;
}
.flex4._center {
  align-items: center;
}
.flex4:before {
  width: calc(100% / 4 - 1%);
  content: "";
  order: 1;
}
.flex4:before {
  width: calc(100% / 4 - 1%);
  content: "";
  order: 1;
}
.flex4:after {
  width: calc(100% / 4 - 1%);
  content: "";
  order: 2;
}
.flex4 .box {
  width: calc(100% / 4 - 1%);
  margin-bottom: 2%;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  ._tabwidth1 .box {
    width: 100%;
  }
  ._tabwidth2 .box {
    width: calc(50% - 1%);
  }
  ._tabwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
@media only screen and (max-width: 640px) {
  ._spwidth1 .box {
    width: 100%;
  }
  ._spwidth2 .box {
    width: calc(50% - 1%);
  }
  ._spwidth3 .box {
    width: calc(33.3333333333% - 1%);
  }
}
.flex4 .box img {
  width: 100% !important;
}

.square._100 .square-inner:before {
  padding-top: 100%;
}
.square._75 .square-inner:before {
  padding-top: 75%;
}
.square._66 .square-inner:before {
  padding-top: 66%;
}
.square td .square-inner {
  display: block;
  position: relative;
}
.square td .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}
.square td .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}
.square > .square-inner {
  display: block;
  position: relative;
}
.square > .square-inner .itext {
  float: none !important;
  margin-right: 0 !important;
}
.square > .square-inner .itext img {
  float: none !important;
  margin-right: 0 !important;
}
.square > .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}
.square > .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}
.square > .box .itext {
  float: none !important;
  margin-right: 0 !important;
}
.square > .box .itext img {
  float: none !important;
  margin-right: 0 !important;
}
.square > .box .square-inner {
  display: block;
  position: relative;
}
.square > .box .square-inner:before {
  position: relative;
  z-index: 1;
  content: "";
  display: block;
  width: 100% !important;
}
.square > .box .square-inner img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}

.bg100 {
  margin-right: calc((100vw - 100%) / 2 * -1) !important;
  margin-left: calc((100vw - 100%) / 2 * -1) !important;
}
@media screen and (max-width: 1200px) {
  .bg100 {
    margin: 0 !important;
  }
}

.flex2cl_01 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .flex2cl_01 {
    flex-direction: column-reverse;
  }
}
.flex2cl_01 .flxL {
  width: 57%;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .flex2cl_01 .flxL {
    width: 100%;
  }
}
.flex2cl_01 .flxR {
  width: 40%;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .flex2cl_01 .flxR {
    width: 100%;
    margin-bottom: 20px;
  }
}
.flex2cl_01 .flxR .img {
  width: 100%;
}
.flex2cl_01 .flxR .img img {
  width: 100% !important;
}

.flex2cl_02 {
  border: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: -4%;
  margin-bottom: 50px;
}
@media screen and (max-width: 1200px) {
  .flex2cl_02 {
    margin-left: -2.439%;
  }
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .flex2cl_02 {
    justify-content: space-between;
    margin-left: 0;
  }
}
.flex2cl_02 .box {
  position: relative;
  width: 46%;
  margin-left: 4%;
  margin-bottom: 20px;
}
@media screen and (max-width: 1200px) {
  .flex2cl_02 .box {
    width: 47.5609%;
    margin-left: 2.439%;
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .flex2cl_02 .box {
    width: 100%;
    margin-left: 0;
  }
}
.flex2cl_02 .box img {
  width: 100% !important;
}
.flex2cl_02 .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}
.flex2cl_02 .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.flex3cl {
  border: 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: -2.4390243902%;
}
@media screen and (max-width: 1200px) {
  .flex3cl {
    margin-left: -2.439%;
  }
}
@media only screen and (max-width: 640px) {
  .flex3cl {
    justify-content: space-between;
    margin-left: 0;
  }
}
.flex3cl .box {
  position: relative;
  width: 30.8943089431%;
  margin-left: 2.4390243902%;
  margin-bottom: 30px;
}
@media screen and (max-width: 1200px) {
  .flex3cl .box {
    width: 47.5609%;
    margin-left: 2.439%;
    display: block;
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 640px) {
  .flex3cl .box {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}
.flex3cl .box img {
  width: 100% !important;
}
.flex3cl .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}
.flex3cl .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

.flex4cl {
  border: 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  margin-left: -3.2258064516%;
}
@media screen and (max-width: 1200px) {
  .flex4cl {
    margin-left: -2.439%;
  }
}
@media only screen and (max-width: 640px) {
  .flex4cl {
    justify-content: space-between;
    margin-left: 0;
  }
}
.flex4cl .box {
  position: relative;
  width: 21.7741935484%;
  margin-left: 3.2258064516%;
  margin-bottom: 30px;
}
@media screen and (max-width: 1200px) {
  .flex4cl .box {
    width: 47.5609%;
    margin-left: 2.439%;
    display: block;
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 640px) {
  .flex4cl .box {
    width: 100%;
    margin-left: 0;
    margin-bottom: 20px;
  }
}
.flex4cl .box img {
  width: 100% !important;
}
.flex4cl .box tr:nth-child(2) {
  font-size: 18px;
  font-weight: 700;
}
.flex4cl .box tr td {
  padding: 0 !important;
  border: 0 !important;
}

/************************************プライバシーポリシー************************************/
.policy {
  font-size: 16px;
}
.policy h2 {
  font-size: 18px;
  font-weight: bold;
  border-bottom: 1px solid #DE9B4B;
  margin-bottom: 10px;
  color: #333;
  padding: 10px;
  margin-top: 20px;
}
.policy p {
  padding: 10px;
  padding-bottom: 20px;
}
.policy h3 {
  font-size: 18px;
  font-weight: bold;
  border-bottom: 1px solid #DE9B4B;
  display: inline-block;
  margin-bottom: 10px;
}
.policy ol li {
  padding: 10px;
  font-weight: bold;
}
.policy ol li ul li {
  font-weight: normal;
}
.policy dl {
  margin-top: 10px;
}
.policy dl dt {
  background: #FAF0E6;
  padding: 5px;
  color: #C76955;
  font-weight: bold;
}
.policy dl dd {
  margin-top: 10px;
}

/************************************サイトマップ************************************/
.map {
  max-width: 1000px;
  width: 95%;
}
.map li {
  border-left: 3px solid #DE9B4B;
  list-style-type: none;
  padding-left: 10px;
  margin-bottom: 10px;
  display: block;
  float: none !important;
}
.map li a {
  color: #DE9B4B;
  font-size: 16px;
  text-decoration: none;
}
.map li a:hover {
  text-decoration: underline;
}

/**********************お問合せ*****************************/
.submit {
  margin: 20px auto 50px auto !important;
}

/***************ボタン************************/
input[type=button] {
  cursor: pointer;
  padding: 5px 10px;
}

/***************パンクズ************************/
.pan1 ul {
  display: flex;
  flex-wrap: wrap;
}
.pan1 ul li {
  margin: 0 10px;
}
.pan1 ul a:link {
  color: #C76955 !important;
  text-decoration: none !important;
}
.pan1 ul a:visited {
  color: #C76955 !important;
}

/*********PDFボタン************/
.pdf_btn {
  padding: 10px 0;
}
.pdf_btn a {
  display: block;
  padding: 20px 5px;
  background: #d66464;
  position: relative;
  text-align: center;
  font-size: 16px;
  color: #fff !important;
  text-decoration: none;
  font-weight: bold;
  max-width: 300px;
}
@media only screen and (max-width: 640px) {
  .pdf_btn a {
    margin: 0 auto;
    max-width: 300px;
  }
}
.pdf_btn a:after {
  content: "";
  width: calc(100% - 5px);
  height: calc(100% - 5px);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  border: 1px #fff solid;
}
.pdf_btn a:before {
  content: "PDF";
  display: block;
  width: calc(100% - 50px);
  position: absolute;
  right: -50px;
  bottom: -10px;
  color: rgba(255, 255, 255, 0.2);
  font-size: 50px;
}

/****************************画像回転************************************/
.rotate5 img {
  -moz-transform: rotate(5deg);
  -webkit-transform: rotate(5deg);
  -o-transform: rotate(5deg);
  -ms-transform: rotate(5deg);
  transform: rotate(5deg);
}

.rotate8 img {
  -moz-transform: rotate(8deg);
  -webkit-transform: rotate(8deg);
  -o-transform: rotate(8deg);
  -ms-transform: rotate(8deg);
  transform: rotate(8deg);
}

.rotate-10 img {
  -moz-transform: rotate(-10deg);
  -webkit-transform: rotate(-10deg);
  -o-transform: rotate(-10deg);
  -ms-transform: rotate(-10deg);
  transform: rotate(-10deg);
}

/*画像拡大*/
.imgWrap {
  overflow: hidden; /*拡大時にはみ出た部分を隠す*/
}

.imgWrap img {
  display: block;
  transition-duration: 0.3s; /*変化に掛かる時間*/
}

.imgWrap img:hover {
  transform: scale(1.1); /*画像の拡大率*/
  transition-duration: 0.3s; /*変化に掛かる時間*/
}

input.cmn-toggle-round:checked + label:before {
  background: #e18c90 !important;
}

#builingual {
  position: fixed;
  bottom: 0;
  right: 0;
  background: #DE9B4B !important;
  z-index: 6999999;
  padding: 5px 20px !important;
  color: #fff;
}
@media only screen and (max-width: 834px) {
  #builingual {
    width: 320px;
    padding: 8px 5px !important;
    background: none !important;
    top: 0;
    left: 0;
    right: auto;
    bottom: auto;
  }
}
#builingual select {
  margin-left: 10px !important;
}
@media only screen and (max-width: 834px) {
  #builingual select {
    margin-top: 0px !important;
    padding: 5px !important;
  }
}

.language {
  color: #fff !important;
  float: right !important;
}
@media only screen and (max-width: 834px) {
  .language {
    font-size: 12px !important;
    padding: 0 10px 0 0 !important;
  }
}

.switch {
  float: right;
  padding-top: 3px !important;
  position: relative;
  color: #000;
}
.switch:after {
  content: "OFF";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  z-index: 1;
}
.switch:before {
  content: "ON";
  position: absolute;
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  z-index: 1;
}

.cmn-toggle {
  position: absolute;
  margin-left: -9999px;
  visibility: hidden;
}

.cmn-toggle + label {
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  user-select: none;
}

input.cmn-toggle-round + label {
  padding: 2px;
  width: 60px;
  height: 30px;
  background-color: #dddddd;
  border-radius: 60px;
}

input.cmn-toggle-round + label:before,
input.cmn-toggle-round + label:after {
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  bottom: 1px;
  content: "";
}

input.cmn-toggle-round + label:before {
  right: 1px;
  background-color: #f1f1f1;
  border-radius: 60px;
  transition: 0.4s;
}

input.cmn-toggle-round + label:after {
  width: 28px;
  background-color: #fff;
  border-radius: 100%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: 0.4s;
  z-index: 2;
}

input.cmn-toggle-round:checked + label:before {
  background-color: #FAF0E6;
}

input.cmn-toggle-round:checked + label:after {
  margin-left: 28px;
}

@media only screen and (max-width: 834px) {
  .switch {
    float: right;
    order: 1;
    padding-top: 0px !important;
  }
  #builingual {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}
/***********************スライドスクロールイン*******************************************/
.scroll-obj {
  opacity: 0;
  transition: all 1s ease 2s;
}
@media only screen and (max-width: 640px) {
  .scroll-obj {
    opacity: 1 !important;
    transform: none !important;
  }
}

.scroll-hop {
  transform: translate(0, 100px);
}
@media only screen and (max-width: 640px) {
  .scroll-hop {
    opacity: 1 !important;
    transform: none !important;
  }
}

.scroll-left {
  transform: translate(-100px, 0);
}
@media only screen and (max-width: 640px) {
  .scroll-left {
    opacity: 1 !important;
    transform: none !important;
  }
}

.scroll-right {
  transform: translate(100px, 0);
}
@media only screen and (max-width: 640px) {
  .scroll-right {
    opacity: 1 !important;
    transform: none !important;
  }
}

/***************フェードイン**************************/
.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms;
}
@media only screen and (max-width: 640px) {
  .fadein {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/***********************link_name*******************************************/
.link_name {
  padding-top: 48px;
  margin-top: -48px;
}
@media only screen and (max-width: 834px) {
  .link_name {
    padding-top: 48px;
    margin-top: -48px;
  }
}

.link_name01 {
  padding-top: 68px;
  margin-top: -68px;
}
@media only screen and (max-width: 834px) {
  .link_name01 {
    padding-top: 68px;
    margin-top: -68px;
  }
}

/***********************objectfit*******************************************/
.objc_01 .box {
  display: block;
  position: relative;
}
.objc_01 .box:before {
  position: relative;
  z-index: 1;
  content: "";
  padding-top: 75%;
  display: block;
  width: 100% !important;
}
@media only screen and (max-width: 834px) {
  .objc_01 .box:before {
    display: none;
  }
}
.objc_01 .box img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}
@media only screen and (max-width: 834px) {
  .objc_01 .box img {
    position: static;
    margin-bottom: 10px;
  }
}
.objc_01 div {
  text-align: center;
}

.objc_02 .box > a {
  display: block;
  position: relative;
}
.objc_02 .box > a:before {
  position: relative;
  z-index: 1;
  content: "";
  padding-top: 100%;
  display: block;
  width: 100% !important;
}
@media only screen and (max-width: 834px) {
  .objc_02 .box > a:before {
    display: none;
  }
}
.objc_02 .box > a img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  object-fit: cover;
  font-family: "object-fit:cover;";
  width: 100% !important;
  height: 100% !important;
}
@media only screen and (max-width: 834px) {
  .objc_02 .box > a img {
    position: static;
    margin-bottom: 10px;
  }
}
.objc_02 div {
  text-align: center;
}

/******************dl リスト01**************************************/
.dldt_list01 dl {
  width: 100%;
  border-bottom: 1px solid #DE9B4B !important;
  padding: 10px 0;
  align-items: flex-start !important;
}
@media screen and (max-width: 1200px) {
  .dldt_list01 dl {
    flex-wrap: wrap;
  }
}
.dldt_list01 dl dt {
  color: #000 !important;
  display: block !important;
  border: 0px !important;
  padding: 10px 10px !important;
  display: flex;
  text-align: center !important;
  width: 150px !important;
  background: #DE9B4B !important;
  border-radius: 50px;
  margin-bottom: 1px;
  color: #fff !important;
}
.dldt_list01 dd {
  display: block !important;
  border: 0px !important;
  padding: 0 10px !important;
  width: calc(100% - 150px) !important;
  background: none !important;
}
@media screen and (max-width: 1200px) {
  .dldt_list01 dd {
    width: 100% !important;
  }
}
@media only screen and (max-width: 1200px) and (max-width: 640px) {
  .dldt_list01 dd {
    width: 100% !important;
  }
}

.dldt_list02 dl {
  width: 100%;
  margin: 0 auto;
  display: flex !important;
}
@media only screen and (max-width: 640px) {
  .dldt_list02 dl {
    display: flex !important;
    width: 100% !important;
    border: 0 !important;
    flex-direction: column;
  }
}
.dldt_list02 dl dt {
  font-weight: bold;
  text-align: center !important;
  background: none !important;
  color: #333 !important;
  align-items: center !important;
  border: 0px !important;
  border-bottom: 1px solid #DE9B4B !important;
  padding: 30px 5px !important;
}
@media only screen and (max-width: 640px) {
  .dldt_list02 dl dt {
    padding: 10px !important;
    width: 100% !important;
    border: 0 !important;
    text-align: left !important;
    display: block !important;
    background: #FAF0E6 !important;
  }
}
.dldt_list02 dl dd {
  padding: 30px !important;
  border: 0px !important;
  background: none !important;
  border-bottom: 1px solid #ccc !important;
}
@media only screen and (max-width: 640px) {
  .dldt_list02 dl dd {
    padding: 10px !important;
    width: 100% !important;
    border: 0 !important;
  }
}

.dldt_list03 dl {
  width: 100%;
  margin: 0 auto;
  display: flex !important;
}
@media only screen and (max-width: 640px) {
  .dldt_list03 dl {
    display: flex !important;
    width: 100% !important;
    border: 0 !important;
    flex-direction: column;
  }
}
.dldt_list03 dl dt {
  font-weight: bold;
  text-align: center !important;
  background: none !important;
  color: #333 !important;
  align-items: center !important;
  border: 0px !important;
  border-bottom: 1px solid #DE9B4B !important;
  padding: 15px 5px !important;
}
@media only screen and (max-width: 640px) {
  .dldt_list03 dl dt {
    padding: 10px !important;
    width: 100% !important;
    border: 0 !important;
    text-align: left !important;
    display: block !important;
    background: #FAF0E6 !important;
  }
}
.dldt_list03 dl dd {
  padding: 15px !important;
  border: 0px !important;
  background: none !important;
  border-bottom: 1px solid #ccc !important;
}
@media only screen and (max-width: 640px) {
  .dldt_list03 dl dd {
    padding: 10px !important;
    width: 100% !important;
    border: 0 !important;
  }
}

.dldt_list04 dl {
  width: 100%;
  display: block !important;
}
@media screen and (max-width: 1200px) {
  .dldt_list04 dl {
    flex-wrap: wrap;
  }
}
.dldt_list04 dl dt {
  color: #000 !important;
  display: block !important;
  border: 0px !important;
  padding: 10px 10px !important;
  display: block !important;
  text-align: left !important;
  width: 100% !important;
  background: #FAF0E6 !important;
}
.dldt_list04 dd {
  display: block !important;
  border: 0px !important;
  padding: 10px 10px 20px 10px !important;
  width: 100% !important;
  background: none !important;
}
@media screen and (max-width: 1200px) {
  .dldt_list04 dd {
    width: 100% !important;
  }
}
@media only screen and (max-width: 1200px) and (max-width: 640px) {
  .dldt_list04 dd {
    width: 100% !important;
  }
}

.dldt_list05 dl {
  width: 100%;
  border-bottom: 1px solid #ccc !important;
}
@media only screen and (max-width: 834px) {
  .dldt_list05 dl {
    flex-wrap: wrap;
  }
}
.dldt_list05 dl:nth-child(odd) dt {
  background: #efefef !important;
}
.dldt_list05 dl:nth-child(odd) dd {
  background: #efefef !important;
}
@media only screen and (max-width: 834px) {
  .dldt_list05 dl:nth-child(odd) dd {
    background: #fff !important;
    border: 0 !important;
  }
}
.dldt_list05 dl dt {
  color: #333 !important;
  display: block !important;
  border: 0px !important;
  background: none !important;
  padding: 20px 10px !important;
  display: flex;
  text-align: center !important;
  width: 150px !important;
}
@media only screen and (max-width: 834px) {
  .dldt_list05 dl dt {
    background: #efefef !important;
    width: 100% !important;
  }
}
@media only screen and (max-width: 640px) {
  .dldt_list05 dl dt {
    border-bottom: 1px solid #ccc !important;
    border-top: 1px solid #ccc !important;
  }
}
.dldt_list05 dd {
  display: block !important;
  border: 0px !important;
  padding: 20px 10px !important;
  width: calc(100% - 150px) !important;
}
@media only screen and (max-width: 834px) {
  .dldt_list05 dd {
    width: 100% !important;
  }
}
@media only screen and (max-width: 834px) and (max-width: 640px) {
  .dldt_list05 dd {
    width: 100% !important;
  }
}

/*******************チェック　ul(AI用)******************************/
.ul_list01 ul {
  margin: 0 auto;
  display: block !important;
}
.ul_list01 ul li {
  float: none !important;
  display: block !important;
  padding-left: 30px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.ul_list01 ul li .no {
  color: #DE9B4B;
  margin-right: 10px;
  font-weight: bold;
  font-size: 20px;
}
.ul_list01 ul li:after {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  position: absolute;
  border-radius: 5px;
  left: 10px;
  top: 20px;
  background: #DE9B4B;
}

/*******************チェック　ul(AI用)******************************/
.ul_list02 ul {
  margin: 0 auto;
  display: block !important;
}
.ul_list02 ul li {
  float: none !important;
  display: block !important;
  padding-left: 30px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #C76955;
  position: relative;
}
.ul_list02 ul li .no {
  color: #C76955;
  margin-right: 10px;
  font-weight: bold;
  font-size: 20px;
}
.ul_list02 ul li:after {
  content: "";
  width: 5px;
  height: 5px;
  display: block;
  position: absolute;
  border-radius: 5px;
  left: 10px;
  top: 20px;
  background: #C76955;
}

/*******************チェック　ul(AI用)******************************/
.ul_list03 ul {
  margin: 0 auto;
  display: block !important;
}
.ul_list03 ul li {
  float: none !important;
  display: block !important;
  border-bottom: 1px dotted #DE9B4B;
  position: relative;
  padding: 10px;
}
.ul_list03 ul li:nth-child(odd) {
  background: #FAF0E6;
}
.ul_list03 ul li .no {
  color: #DE9B4B;
  margin-right: 10px;
  font-weight: bold;
  font-size: 20px;
}

.ul_w30 ul {
  display: flex !important;
  flex-wrap: wrap;
}
.ul_w30 ul li {
  width: 31.111%;
  margin: 0 1% 10px 1% !important;
}
@media only screen and (max-width: 640px) {
  .ul_w30 ul li {
    width: 48%;
  }
}

/*******************チェック　ul(AI用)******************************/
.check_ul01 ul {
  margin: 0 auto;
  display: block !important;
}
.check_ul01 ul li {
  float: none !important;
  display: block !important;
  padding-left: 60px;
  border-bottom: 1px dashed #ccc;
  position: relative;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-bottom: 30px;
  margin-top: 30px;
  font-weight: bold;
  font-size: 20px;
}
@media only screen and (max-width: 834px) {
  .check_ul01 ul li {
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 16px;
  }
}
@media only screen and (max-width: 834px) {
  .check_ul01 ul li {
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 14px;
    margin-top: 5px;
    margin-bottom: 5px;
  }
}
.check_ul01 ul li:after {
  content: "";
  width: 45px;
  height: 20px;
  display: block;
  position: absolute;
  left: 5px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../images/common/check_icon01.png);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
}

/*************************テーブルリスト(ボタン横列)***********************************/
.link_list {
  padding: 20px 0;
}
@media only screen and (max-width: 640px) {
  .link_list {
    padding: 10px 0;
  }
}
.link_list ul {
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  display: flex;
  flex-wrap: wrap;
  width: auto;
  justify-content: center;
}
.link_list li {
  display: block;
  padding: 0 10px;
  width: 23%;
  margin: 0 1% 10px 1%;
}
@media only screen and (max-width: 834px) {
  .link_list li {
    width: 48%;
  }
}
@media only screen and (max-width: 640px) {
  .link_list li {
    width: 100%;
  }
}
.link_list li a {
  width: 100%;
  padding: 10px;
  background: #DE9B4B;
  color: #fff !important;
  display: block;
  text-decoration: none;
  text-align: center;
  position: relative;
  border-radius: 3px;
}
@media only screen and (max-width: 640px) {
  .link_list li a {
    padding: 5px;
  }
}

/****************テキストボタン****************************************/
.cnt_textbtn01 a {
  padding: 10px 80px 10px 80px;
  display: inline-block;
  text-decoration: none;
  position: relative;
  background: #C76955;
  color: #fff !important;
  border-radius: 30px;
  font-size: 18px;
  border: 1px solid #C76955;
}
.cnt_textbtn01 a:hover {
  background: #fff;
  color: #C76955 !important;
  opacity: 1 !important;
}
@media only screen and (max-width: 640px) {
  .cnt_textbtn01 a {
    font-size: 14px;
    display: block;
    padding: 10px;
    text-align: center;
  }
}

.cnt_textbtn02 {
  display: block !important;
}
.cnt_textbtn02 a {
  padding: 10px 80px 10px 80px;
  display: inline-block;
  text-decoration: none;
  position: relative;
  background: #fff;
  color: #C76955 !important;
  font-size: 16px;
  border: 1px solid #C76955;
}
.cnt_textbtn02 a:hover {
  background: #C76955;
  color: #fff !important;
  opacity: 1 !important;
}
@media only screen and (max-width: 640px) {
  .cnt_textbtn02 a {
    font-size: 14px;
    display: block;
    max-width: 300px;
    margin: 0 auto;
    padding: 10px;
    text-align: center;
  }
}

.wp-block-buttons {
  justify-content: center;
}

.cnt_textbtn02 {
  display: block !important;
  text-align: left !important;
}
.cnt_textbtn02 a {
  padding: 10px 30px 10px 30px;
  display: inline-block;
  text-decoration: none;
  position: relative;
  background: #DE9B4B;
  color: #fff !important;
  font-size: 16px;
  border-radius: 5px;
}
@media only screen and (max-width: 640px) {
  .cnt_textbtn02 a {
    font-size: 14px;
    display: block;
    max-width: 300px;
    margin: 0 auto;
    padding: 10px;
    text-align: center;
  }
}

.wp-block-buttons {
  justify-content: center;
}

/******************値段テーブル*************************************/
.price_table {
  padding: 10px 0;
}
.price_table table {
  border-bottom: 1px solid #DE9B4B;
}
.price_table table td {
  padding: 5px !important;
  border: 0 !important;
  font-weight: bold;
}
@media only screen and (max-width: 834px) {
  .price_table table td {
    width: 100%;
    display: block;
  }
}
.price_table table .price {
  color: #e25325;
  font-weight: bold;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  text-align: right;
  vertical-align: bottom;
  font-size: 20px;
  width: 200px;
}
@media only screen and (max-width: 834px) {
  .price_table table .price {
    width: 100%;
  }
}

/*********************ブログ***********************/
.single .site-main > article > .entry-footer {
  display: none !important;
}

/*********************ブログ***********************/
.blog .wrap {
  display: flex;
  max-width: 1300px;
  margin: 80px auto;
  padding: 0 20px;
}
.blog .sns {
  padding-top: 20px;
}
.blog .sns a {
  margin: 10px !important;
}
.blog div.detail, .blog div.detail2 {
  margin-top: 20px;
}
.blog nav h3 {
  padding: 10px;
  background: #C76955;
  margin: 10px 0;
  color: #fff;
}
.blog h1 {
  display: block;
  padding: 0 0 10px 0;
  position: relative;
  font-size: 24px;
  color: #333;
  position: relative;
  font-weight: bold;
  border-bottom: 1px solid #DE9B4B;
  margin-bottom: 20px;
}
@media only screen and (max-width: 640px) {
  .blog h1 {
    font-size: 20px;
  }
}
.blog h1 + ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0;
}
.blog h1 + ul li {
  margin: 5px 5px 5px 0;
  display: inline-block;
  font-size: 14px;
}
.blog h2 + ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 0;
}
.blog h2 + ul li {
  margin: 5px 5px 5px 0;
  display: inline-block;
  font-size: 14px;
}
.blog h2 + ul li a {
  color: #C76955 !important;
}
.blog .date + h2 {
  font-weight: bold;
  font-size: 16px;
  border-bottom: 1px solid #DE9B4B;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.blog aside nav div {
  padding: 10px;
  background: #DE9B4B;
  color: #fff;
  margin: 30px 0 10px 0;
}
.blog #contents > article {
  padding: 0 0 30px 0;
  margin-bottom: 30px;
  border-bottom: 1px solid #ccc;
}
.blog a {
  color: #C76955;
}
.blog a:visited {
  color: #C76955;
}
.blog a:link {
  color: #C76955;
}
.blog li {
  text-align: left !important;
}
.blog #calendar #form_calendar {
  margin: 0 auto !important;
  box-shadow: 0 !important;
}
.blog #calendar .blog {
  background: #FAF0E6;
}
.blog .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  width: 100%;
  padding: 50px auto !important;
  margin: 50px auto;
}
@media only screen and (max-width: 834px) {
  .blog .wrap {
    flex-direction: column-reverse;
    margin: 30px auto;
  }
}
.blog .wrap aside {
  width: 25%;
}
@media only screen and (max-width: 834px) {
  .blog .wrap aside {
    width: 100%;
  }
}
.blog .wrap aside button {
  margin-top: 10px;
  padding: 5px 20px;
}
.blog .wrap aside .pages li {
  margin-bottom: 10px;
  text-align: left;
}
.blog .wrap aside .pages li a:link {
  color: #C76955 !important;
}
.blog .wrap aside .pages li a:visited {
  color: #C76955 !important;
}
.blog .wrap aside .category li {
  margin-bottom: 10px;
  text-align: left;
}
.blog .wrap aside .category li a:link {
  color: #C76955 !important;
}
.blog .wrap aside .category li a:visited {
  color: #C76955 !important;
}
.blog .wrap #contents > dl {
  padding: 20px;
  margin-bottom: 10px;
  border: 1px solid #ccc !important;
  background: rgba(255, 255, 255, 0.3);
}
.blog .wrap #contents > dl dt span.translate {
  padding-right: 5px;
  display: block;
  font-size: 20px;
  margin: 0 0;
}
.blog .wrap #contents > dl dd ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5px;
}
.blog .wrap #contents > dl dd ul li {
  margin: 0 5px 5px 0;
  display: inline-block;
  font-size: 14px;
}
.blog .wrap #contents > dl dd ul li a {
  border: 1px solid #DE9B4B;
  padding: 5px;
  margin-right: 5px;
  border-radius: 5px;
  font-size: 14px;
  text-decoration: none;
  background: #eee;
}
.blog .wrap #contents > dl dd ul li a:link {
  color: #DE9B4B !important;
}
.blog .wrap #contents > dl dd ul li a:visited {
  color: #DE9B4B !important;
}
.blog .wrap #contents > dl dd ul {
  padding-top: 10px;
}
.blog .wrap #contents > dl dd ul li a {
  background: #FAF0E6 !important;
  border: 1px #ccc solid !important;
}
.blog .wrap #contents {
  width: 70% !important;
  padding: 0;
}
@media only screen and (max-width: 834px) {
  .blog .wrap #contents {
    text-align: left;
  }
}
@media only screen and (max-width: 834px) {
  .blog .wrap #contents .detail {
    text-align: left;
    margin-top: 30px !important;
  }
}
.blog .wrap #contents .date {
  font-size: 14px;
  color: #DE9B4B;
  font-weight: bold;
  text-align: left !important;
}

#prof {
  padding-bottom: 10px;
  display: block;
}

#prof_text {
  padding-top: 30px;
  text-align: left;
}

#prof_detail {
  text-align: center;
}
#prof_detail img {
  margin: 0 auto !important;
}

.pager a {
  display: block !important;
  margin-left: 0px !important;
  margin-bottom: 20px;
  width: auto !important;
  padding: 5px;
  height: auto !important;
  line-height: 32px;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif !important;
  font-size: 16px;
  font-weight: bold;
  border: 1px solid #DE9B4B;
  border-radius: 0px;
  text-shadow: none !important;
  border: 1px solid #ccc !important;
  color: #DE9B4B !important;
  text-align: center;
  text-indent: -1px;
  float: none !important;
  text-decoration: none;
  margin-top: 20px;
}

.singular .entry-title {
  border: 0 !important;
  display: inline-block !important;
  position: relative;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
  font-size: 42px !important;
}

.entry-footer {
  display: none;
}

/***************topInstagram***************************/
.top_instagram .sns_photo img {
  height: auto !important;
  width: 100% !important;
  margin: 0 auto;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.top_instagram div.sns_list div.sns_video {
  width: 100%;
  padding: 0;
}

.top_instagram div.sns_list {
  display: flex;
  border: 0px;
  flex-direction: row;
  flex-wrap: wrap;
}

.top_instagram div.sns_list > div {
  width: 31.11111%;
  margin: 10px 1%;
  display: flex;
  border-bottom: 0px;
  margin-bottom: 0;
  flex-direction: column;
}
.top_instagram div.sns_list > div:first-child {
  margin-left: 0;
}
.top_instagram div.sns_list > div:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 834px) {
  .top_instagram div.sns_list > div {
    width: 48%;
    margin: 10px 1%;
  }
}
@media only screen and (max-width: 640px) {
  .top_instagram div.sns_list > div {
    width: 100% !important;
    margin: 10px 0 0 0;
  }
}

.top_instagram div.sns_list > div:last-child {
  display: flex;
}

.top_instagram div.sns_list div.sns_photo {
  text-align: center;
  width: 100%;
  padding: 0px;
  box-sizing: border-box;
}

.top_instagram .sns_date {
  color: #DE9B4B !important;
}

.top_instagram .caption {
  font-size: 14px;
  font-weight: bold;
}

/***************cntInstagram***************************/
.cnt_insta div.sns_list div.sns_date {
  color: #333;
  font-size: 18px;
  font-weight: bold;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  padding: 8px;
  border-bottom: 1px solid #DE9B4B;
}
@media only screen and (max-width: 834px) {
  .cnt_insta div.sns_list div.sns_date {
    padding-top: 0;
    padding: 5px;
    font-size: 12px;
  }
}
.cnt_insta ul li {
  margin: 5px 5px 0 0;
}
.cnt_insta .caption {
  padding: 20px 0 0 0;
  font-size: 14px;
}
@media only screen and (max-width: 834px) {
  .cnt_insta .caption {
    padding: 10px 0 0 0;
    font-size: 12px;
  }
}
.cnt_insta .sns_photo {
  width: 25% !important;
}
@media only screen and (max-width: 834px) {
  .cnt_insta .sns_photo {
    padding: 3px !important;
    width: 30% !important;
  }
}
.cnt_insta .sns_photo img {
  width: 100% !important;
  height: 120px !important;
}
.cnt_insta div.sns_list > div {
  padding: 50px 0;
  border-bottom: 1px dashed #ccc;
}
@media only screen and (max-width: 834px) {
  .cnt_insta div.sns_list > div {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 20px 0;
  }
}
.cnt_insta div.sns_list {
  border: 0 !important;
}
.cnt_insta div.sns_list div.sns_text {
  width: 75% !important;
  font-size: 14px;
}
@media only screen and (max-width: 834px) {
  .cnt_insta div.sns_list div.sns_text {
    font-size: 12px;
    padding: 0px 0px 3px 10px !important;
    width: 70% !important;
  }
}
.cnt_insta .sns_photo img {
  height: 250px !important;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
@media only screen and (max-width: 834px) {
  .cnt_insta .sns_photo img {
    height: 150px !important;
  }
}
@media only screen and (max-width: 640px) {
  .cnt_insta .sns_photo img {
    width: 100% !important;
    height: auto !important;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 640px) {
  .cnt_insta div.sns_list ul li a {
    font-size: 12px;
  }
}

/******************新着情報　AI用***************************/
.top_scroll {
  width: 100%;
  margin: 0 auto;
  overflow-y: scroll;
  max-width: 1200px;
  height: 300px;
}
@media only screen and (max-width: 640px) {
  .top_scroll {
    padding: 0;
    padding-top: 20px;
  }
}
@media only screen and (max-width: 834px) {
  .top_scroll {
    width: 100%;
  }
}
.top_scroll dl {
  border-bottom: 1px dashed #DE9B4B;
  padding: 10px 0;
  display: flex !important;
}
@media only screen and (max-width: 640px) {
  .top_scroll dl {
    display: block !important;
  }
}
.top_scroll dl dt {
  display: block !important;
  width: 120px !important;
  background: none !important;
  border: 0px !important;
  font-weight: bold;
  padding: 5px !important;
  color: #DE9B4B;
}
@media only screen and (max-width: 640px) {
  .top_scroll dl dt {
    display: block !important;
    padding: 5px !important;
    width: 100% !important;
  }
}
.top_scroll dl dd {
  display: block !important;
  background: none !important;
  border: 0px !important;
  padding: 5px !important;
  text-align: left;
  width: calc(100% - 140px) !important;
}
@media only screen and (max-width: 640px) {
  .top_scroll dl dd {
    display: block !important;
    padding: 5px !important;
    width: 100% !important;
  }
}

.scroll {
  height: 300px;
  text-align: left;
  overflow-y: scroll;
}

.mCSB_dragger_bar {
  margin-top: 10px !important;
  background: #DE9B4B !important;
  width: 10px !important;
  border-radius: 0px !important;
}

/***************画像を使用した新着情報***************************/
.top_sbox .box {
  padding: 20px 0 10px 0;
  clear: both;
  border-bottom: 1px dotted #DE9B4B !important;
  overflow: auto;
  display: flex;
  align-items: flex-start;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .top_sbox .box {
    display: block;
  }
}
.top_sbox .box img {
  margin-right: 20px;
  margin-bottom: 20px;
}
.top_sbox .box div {
  display: block;
}
.top_sbox .box div .news_day {
  display: block;
  color: #DE9B4B;
  font-weight: bold;
}

.top_sbox {
  overflow-y: scroll;
  height: 400px;
  padding: 0 30px 0 0;
  -webkit-overflow-scrolling: touch;
}
@media only screen and (max-width: 640px) {
  .top_sbox {
    height: 300px;
  }
}

.top_sbox::-webkit-scrollbar { /* スクロールバー本体 */
  width: 10px;
  background: #9aadfc;
}

.top_sbox::-webkit-scrollbar:horizontal { /* 横方向のスクロールバー本体 */
  width: 10px;
  background: #9aadfc;
}

.top_sbox::-webkit-scrollbar-thumb { /* スクロールバーの動く部分 */
  background: #DE9B4B;
}

.top_sbox::-webkit-scrollbar-thumb:horizontal { /* 横方向のスクロールバーの動く部分 */
  background: #DE9B4B;
}

.top_sbox::-webkit-scrollbar-track-piece:start { /* スクロールバーの動く部分の前 */
  background: #ccc;
}

.top_sbox::-webkit-scrollbar-track-piece:end { /* スクロールバーの動く部分の後ろ */
  background: #ccc;
}

/*****************************よくある質問****************************************/
.qa_box {
  border: 1px solid #ccc;
  padding: 10px 20px !important;
  display: block !important;
  background: rgba(255, 255, 255, 0.8);
}
.qa_box .box {
  position: relative;
  overflow: initial !important;
  padding: 15px 0;
  display: block !important;
}
@media only screen and (max-width: 640px) {
  .qa_box .box {
    padding: 20px 0;
  }
}
.qa_box .box div {
  padding-left: 60px;
}
.qa_box .box:nth-child(odd) div {
  font-weight: bold;
  color: #DE9B4B;
}
.qa_box .box:nth-child(odd):after {
  content: "";
  background: url(../images/common/faq_q.png);
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  width: 40px;
  height: 40px;
  top: 8px;
  left: 0;
  margin: auto;
  display: block;
  visibility: inherit !important;
}
.qa_box .box:nth-child(even):after {
  content: "";
  background: url(../images/common/faq_a.png);
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  width: 40px;
  height: 40px;
  top: 12px;
  left: 0;
  margin: auto;
  display: block;
  visibility: inherit !important;
}

.faq article {
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
}
.faq td {
  border: 0 !important;
  padding: 0 !important;
}
.faq .question div {
  color: #DE9B4B;
  font-size: 20px;
  font-weight: bold;
  padding-left: 80px !important;
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media only screen and (max-width: 640px) {
  .faq .question div {
    font-size: 16px;
    padding-left: 50px !important;
  }
}
.faq .question div:after {
  content: "";
  background: url(../images/common/faq_q.png);
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
  width: 60px;
  height: 60px;
  top: 0;
  left: 0;
  margin: auto;
  display: block;
  visibility: inherit;
}
@media only screen and (max-width: 640px) {
  .faq .question div:after {
    width: 40px;
    height: 40px;
  }
}
.faq .answer div {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  padding-left: 80px !important;
  padding-top: 20px;
  padding-bottom: 30px;
}
@media only screen and (max-width: 834px) {
  .faq .answer div {
    font-size: 14px;
    padding-left: 50px !important;
  }
}
.faq .answer div:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  top: 10px;
  left: 0;
  background: url(../images/common/faq_a.png);
  background-size: 100%;
  background-repeat: no-repeat;
  margin: auto;
  display: block;
  visibility: inherit;
}
@media only screen and (max-width: 640px) {
  .faq .answer div:before {
    width: 40px;
    height: 40px;
  }
}

/***************クーポン***************************/
.coupon {
  padding: 10px !important;
}
.coupon table {
  border: 1px solid #fff;
}
.coupon table td {
  color: #fff;
  padding: 10px !important;
}
.coupon table .coupon_title {
  font-size: 40px;
  border-bottom: 1px solid #fff !important;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: bold;
}
.coupon table .coupon_price {
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: bold;
}
.coupon table .coupon_price span {
  font-size: 30px;
}

/***********************ビフォ―アフター********************************/
.before_after {
  margin: 0 auto;
}
.before_after table {
  margin: 0 auto;
}
.before_after table td {
  border: 0px;
  padding: 10px !important;
  text-align: center;
}
@media only screen and (max-width: 834px) {
  .before_after table td {
    display: block;
  }
}
.before_after table td p {
  text-align: center;
  font-weight: bold;
  color: #DE9B4B;
  font-size: 18px;
  margin-top: 10px;
}
.before_after table .before_after_img img {
  width: 100% !important;
}
@media only screen and (max-width: 834px) {
  .before_after table .before_after_img img {
    width: 95% !important;
  }
}
.before_after table .arrow_img {
  width: 50px !important;
}
@media only screen and (max-width: 834px) {
  .before_after table .arrow_img {
    width: 100% !important;
  }
}
/****************************お問い合わせ、会社概要************************************/
section form h2.mail.title {
  display: none;
}

.contact_dl {
  font-size: 16px;
}
.contact_dl dl {
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 640px) {
  .contact_dl dl {
    display: flex !important;
    width: 100% !important;
    border: 0 !important;
    flex-direction: column;
  }
}
.contact_dl dl dt {
  font-weight: bold;
  text-align: center !important;
  background: none !important;
  color: #333 !important;
  align-items: center !important;
  border: 0px !important;
  border-bottom: 1px solid #DE9B4B !important;
  padding: 30px 5px !important;
}
@media only screen and (max-width: 640px) {
  .contact_dl dl dt {
    padding: 10px !important;
    width: 100% !important;
    border: 0 !important;
    text-align: left !important;
    display: block !important;
    background: #eee !important;
    padding: 30px 5px !important;
  }
}
.contact_dl dl dd {
  padding: 30px !important;
  border: 0px !important;
  background: none !important;
  border-bottom: 1px solid #ccc !important;
}
@media only screen and (max-width: 640px) {
  .contact_dl dl dd {
    padding: 10px !important;
    width: 100% !important;
    border: 0 !important;
  }
}

/***********************お問い合わせテーブル********************************/
.contact_table {
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid #C76955;
}
.contact_table table td {
  border: 0 !important;
  padding: 5px !important;
}
.contact_table table .contact_tel div {
  font-weight: bold;
  font-size: 32px;
  color: #C76955;
}
@media only screen and (max-width: 640px) {
  .contact_table table .contact_tel div {
    font-size: 24px;
  }
}

/***********************ボタンボックス********************************/
.btnbox .box {
  margin: 0 1%;
  width: 48%;
  max-width: 530px;
  position: relative;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .btnbox .box {
    width: 100%;
    margin-top: 10px;
  }
}
.btnbox .box:hover {
  opacity: 0.9 !important;
}
.btnbox .box:after {
  content: "";
  position: absolute;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  pointer-events: none;
  border: 1px solid #fff;
}
@media only screen and (max-width: 640px) {
  .btnbox .box:after {
    width: calc(100% - 4px);
    height: calc(100% - 4px);
  }
}
.btnbox .box img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.btnbox .box article a:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  z-index: 99;
}
.btnbox .box article a:after:hover {
  opacity: 1 !important;
}
.btnbox .box article h3 {
  display: none;
}
.btnbox .box article div {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: 46px;
  width: 100%;
  left: 0;
  margin: auto;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  z-index: 99;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  pointer-events: none;
}
@media only screen and (max-width: 640px) {
  .btnbox .box article div {
    font-size: 16px;
  }
}
.btnbox .box article div span {
  display: block;
  font-size: 14px;
}

.tokuho_h2 {
  padding-top: 30px;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 24px;
}

.owl-stage {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: right;
  margin: 0 auto;
}

/****オウル**********/
.owlCarousel {
  max-width: 1000px;
  overflow: hidden;
}

.owlCarousel01 {
  max-width: 1000px;
  direction: rtl !important;
  overflow: hidden;
}

.owlCarousel01 .owl-stage {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: right;
  margin: 0 auto;
}

.img_toplist {
  overflow: hidden;
  max-width: 1000px;
}

.owl-nav {
  display: none;
}

.owl-dots {
  margin-top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.owl-dots button {
  margin: 0 5px;
  padding: 0;
  box-shadow: inherit;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  background: #eaeaea;
  display: none;
}

/******************お客様の声**************************************/
.voice_table {
  padding: 5px 0 !important;
}

.voice_title div {
  font-size: 24px;
  border-bottom: 1px solid #C76955;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  padding-bottom: 10px;
  color: #DE9B4B;
}
@media only screen and (max-width: 640px) {
  .voice_title div {
    font-size: 20px;
  }
}
.voice_title div span {
  color: #de8800;
}

.price_table01 td {
  padding: 5px 0 !important;
}

.price_text01 div {
  font-size: 24px;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media only screen and (max-width: 640px) {
  .price_text01 div {
    font-size: 18px;
  }
}
.price_text01 div .price01 {
  font-size: 36px;
  color: #dc143c;
  margin-left: 10px;
}
@media only screen and (max-width: 640px) {
  .price_text01 div .price01 {
    font-size: 24px;
  }
}

.price_text02 div {
  font-size: 14px;
}
@media only screen and (max-width: 640px) {
  .price_text02 div {
    font-size: 12px;
  }
}

/******************値段表**************************************/
.price_dl {
  font-size: 16px;
}
.price_dl dl {
  width: 100%;
  margin: 0 auto;
  flex-direction: row-reverse;
  padding: 10px 0;
}
@media only screen and (max-width: 640px) {
  .price_dl dl {
    display: flex !important;
    border: 0 !important;
    flex-direction: column-reverse;
    border-bottom: 1px solid #ccc !important;
  }
}
.price_dl dl dt {
  font-weight: bold;
  text-align: center !important;
  background: none !important;
  color: #dc143c !important;
  align-items: center !important;
  border: 0px !important;
  border-bottom: 1px solid #de8800 !important;
  padding: 10px 0 !important;
  width: 150px !important;
  font-size: 18px;
}
@media only screen and (max-width: 640px) {
  .price_dl dl dt {
    padding: 5px 0 !important;
    width: 100% !important;
    border: 0 !important;
    text-align: right !important;
    display: block !important;
  }
}
.price_dl dl dd {
  padding: 10px 0 !important;
  border: 0px !important;
  background: none !important;
  border-bottom: 1px solid #ccc !important;
  width: calc(100% - 150px) !important;
  font-size: 14px;
}
.price_dl dl dd h3 {
  font-size: 16px;
  font-weight: bold;
  color: #DE9B4B;
}
@media only screen and (max-width: 640px) {
  .price_dl dl dd {
    padding: 5px 0 !important;
    width: 100% !important;
    border: 0 !important;
  }
}

/******************枠**************************************/
.cnt_contact_waku {
  padding: 20px;
  border: 1px solid #ccc;
}
.cnt_contact_waku td {
  padding: 3px !important;
}

.cnt_tel div {
  font-size: 36px;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media only screen and (max-width: 640px) {
  .cnt_tel div {
    font-size: 24px;
  }
}
.cnt_tel div a {
  color: #416800 !important;
  font-weight: bold;
}

@media only screen and (max-width: 640px) {
  .sp_voice_img img {
    width: 40% !important;
    margin: 0 auto;
    max-width: 200px;
  }
}

/******************スライダー(画像サムネイル付き)**************************************/
.slider01 .slick-prev, .slider01 .slick-next {
  top: 50px !important;
  color: #DE9B4B;
  display: none !important;
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-prev, .slider01 .slick-next {
    bottom: -10% !important;
  }
}
.slider01 .slick-prev:after, .slider01 .slick-prev:before, .slider01 .slick-next:after, .slider01 .slick-next:before {
  color: #DE9B4B !important;
}
.slider01 .slick-prev {
  left: 10px !important;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-prev {
    left: 0 !important;
  }
}
.slider01 .slick-next {
  right: 10px !important;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-next {
    right: 0 !important;
  }
}
.slider01 .slick-slide {
  max-width: 1000px;
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-slide {
    height: auto;
  }
}
.slider01 .slick-slide img {
  max-width: 840px;
  width: 100% !important;
  margin: 0 auto;
  height: 440px !important;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
@media only screen and (max-width: 834px) {
  .slider01 .slick-slide img {
    height: 460px !important;
    max-width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-slide img {
    height: 270px !important;
  }
}
.slider01 .slick-slide article div {
  margin-bottom: 20px;
  font-size: 16px;
}
.slider01 .slick-list {
  padding: 10px 0 0 0;
  height: 450px !important;
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-list {
    height: 280px !important;
  }
}
.slider01 .slick-dots {
  position: static !important;
  display: -webkit-flex !important;
  display: flex !important;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: center;
}
.slider01 .slick-dots li {
  list-style: none;
  width: 18% !important;
  margin: 0 !important;
  margin: 0 1% !important;
  margin-top: 10px !important;
  height: 100px !important;
  object-fit: contain !important;
  font-family: "object-fit: contain!important;";
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-dots li {
    height: 80px !important;
    width: 31.11111% !important;
  }
}
@media screen and (min-width: 641px) and (max-width: 834px) {
  .slider01 .slick-dots li {
    width: 31.11111% !important;
  }
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-dots li {
    width: 23% !important;
  }
}
.slider01 .slick-dots li img {
  width: 100% !important;
  height: 100px !important;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
@media only screen and (max-width: 640px) {
  .slider01 .slick-dots li img {
    height: 80px !important;
  }
}

.slider02 {
  max-width: 840px;
  margin: 0 auto;
}
.slider02 ul li {
  text-align: center !important;
  max-width: 840px !important;
  height: 480px !important;
  margin: 0 auto;
}
@media only screen and (max-width: 834px) {
  .slider02 ul li {
    height: 480px !important;
  }
}
@media only screen and (max-width: 640px) {
  .slider02 ul li {
    height: 300px !important;
  }
}

.slider02 .slick-dots li img {
  width: 100% !important;
}

@media only screen and (max-width: 640px) {
  .slider02 .slick-dots {
    margin-top: 0 !important;
  }
}

.slider02 .slick-slide .slick-current .slick-active {
  width: 100% !important;
}

.slider02 .slick-list {
  height: 460px;
}
@media only screen and (max-width: 640px) {
  .slider02 .slick-list {
    height: 300px !important;
  }
}

.tab-group {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.tab-group li {
  width: 30%;
  padding: 10px;
  margin: 0 1% 20px 1%;
  display: block;
  border: 1px #DE9B4B solid;
  color: #DE9B4B;
}
@media only screen and (max-width: 640px) {
  .tab-group li {
    width: 100%;
    margin: 10px auto 0 auto;
  }
}

.tab {
  flex-grow: 1;
  padding: 5px;
  list-style: none;
  border: solid 1px #CCC;
  text-align: center;
  cursor: pointer;
}

.panel {
  display: none;
}

.tab.is-active {
  background: #DE9B4B;
  color: #FFF;
  transition: all 0.2s ease-out;
}

.panel.is-show {
  display: block;
}

.staff_box {
  justify-content: space-between;
}
.staff_box .box {
  width: 48%;
  margin-bottom: 40px;
  padding: 40px;
  background: #fff;
  border: 1px #ccc solid;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .staff_box .box {
    margin-bottom: 10px;
    padding: 30px;
    width: 49%;
  }
}
@media only screen and (max-width: 640px) {
  .staff_box .box {
    width: 90%;
    margin: 0 auto 20px auto;
  }
}
.staff_box .box:after {
  z-index: 1;
  content: "";
  width: 200px;
  height: 200px;
  position: absolute;
  background: #FAF0E6;
  top: -100px;
  right: -100px;
  transform: rotate(45deg);
}
@media only screen and (max-width: 834px) {
  .staff_box .box:after {
    width: 100px;
    height: 100px;
    top: -50px;
    right: -50px;
  }
}
.staff_box .box:before {
  z-index: 1;
  content: "";
  width: 200px;
  height: 200px;
  position: absolute;
  background: #FAF0E6;
  bottom: -100px;
  left: -100px;
  transform: rotate(45deg);
}
@media only screen and (max-width: 834px) {
  .staff_box .box:before {
    width: 100px;
    height: 100px;
    bottom: -50px;
    left: -50px;
  }
}
.staff_box .box img {
  z-index: 2;
  position: relative;
}
.staff_box .box h3 {
  position: relative;
  z-index: 2;
  font-size: 18px;
  font-weight: bold;
  border-bottom: 1px solid #DE9B4B;
  margin-bottom: 10px;
  padding-top: 20px;
  padding-bottom: 20px;
}
.staff_box .box div {
  position: relative;
  z-index: 2;
  text-align: left;
}

/******************SNS**************************************/
#media {
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 20px 50px 20px;
}
@media only screen and (max-width: 834px) {
  #media {
    padding: 50px 20px 50px 20px;
  }
}
@media only screen and (max-width: 640px) {
  #media {
    padding: 30px 20px 30px 20px;
  }
}
#media .row {
  display: flex;
  flex-wrap: wrap;
}
#media .row .box {
  width: 31.1111%;
  margin: 0 1% 20px 1%;
  text-align: left;
  font-size: 14px;
}
@media only screen and (max-width: 640px) {
  #media .row .box {
    width: 48%;
    margin: 0 1% 10px 1%;
  }
}
#media .row .box h3 {
  margin-top: 10px;
  font-weight: bold;
}

#more {
  padding: 10px;
  margin-top: 50px;
  margin-bottom: 100px;
}
#more a {
  padding: 10px 80px 10px 80px;
  display: inline-block;
  text-decoration: none;
  position: relative;
  color: #DE9B4B !important;
  font-size: 16px;
  background: #fff;
  border-top: 1px solid #DE9B4B;
  border-bottom: 1px solid #DE9B4B;
  font-weight: bold;
}
#more a:hover {
  background: #DE9B4B;
  opacity: 1 !important;
  color: #fff !important;
}
#more a:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 0 8px;
  border-color: transparent transparent transparent #DE9B4B;
}
@media only screen and (max-width: 640px) {
  #more a {
    font-size: 14px;
    display: block;
    max-width: 300px;
    margin: 0 auto;
    padding: 10px;
    text-align: center;
  }
}
#more a i {
  margin-right: 10px;
}

/******************順番スクロールフェード**************************************/
.scroll_slide .box {
  opacity: 0;
  transition: all 1s;
  transform: translate(0, -50px);
}
@media only screen and (max-width: 640px) {
  .scroll_slide .box {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.scroll_slide .box.active {
  opacity: unset;
  opacity: 1 !important;
  transition: all 1s;
  transform: translate(0, 0);
}
@media only screen and (max-width: 640px) {
  .scroll_slide .box.active {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.insta_scroll div.sns_list > div {
  opacity: 0;
  transition: all 1s;
  transform: translate(0, -50px);
}
@media only screen and (max-width: 640px) {
  .insta_scroll div.sns_list > div {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.insta_scroll div.sns_list > div.active {
  opacity: unset;
  opacity: 1 !important;
  transition: all 1s;
  transform: translate(0, 0);
}
@media only screen and (max-width: 640px) {
  .insta_scroll div.sns_list > div.active {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.blog_scroll div.blog_list > div {
  opacity: 0;
  transition: all 1s;
  transform: translate(-50px, 0);
}
@media only screen and (max-width: 640px) {
  .blog_scroll div.blog_list > div {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.blog_scroll div.blog_list > div.active {
  opacity: unset;
  opacity: 1 !important;
  transition: all 1s;
  transform: translate(0, 0);
}
@media only screen and (max-width: 640px) {
  .blog_scroll div.blog_list > div.active {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.table_scroll > div {
  opacity: 0;
  transition: all 1s;
  transform: translate(0, -50px);
}
@media only screen and (max-width: 640px) {
  .table_scroll > div {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.table_scroll > div div.active {
  opacity: unset;
  opacity: 1 !important;
  transition: all 1s;
  transform: translate(0, 0);
}
@media only screen and (max-width: 640px) {
  .table_scroll > div div.active {
    transform: translate(0, 0);
    opacity: 1;
  }
}

.btn_list ul {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}
.btn_list ul li {
  margin: 0 1% 10px 1% !important;
  width: 31.1111111%;
  text-align: center;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .btn_list ul li {
    display: block;
    width: 100%;
  }
}
.btn_list ul li a {
  background: #C76955;
  display: block;
  padding: 10px;
  text-align: center;
  color: #fff !important;
  text-decoration: none;
  border: 1px solid #C76955;
}
.btn_list ul li a:hover {
  background: #fff;
  opacity: 1 !important;
  color: #C76955 !important;
}
.btn_list ul li a:hover:after {
  content: "";
  border-right: 2px solid #C76955;
  border-top: 2px solid #C76955;
}
.btn_list ul li a:after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg);
}

.btn_list01 ul {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}
.btn_list01 ul li {
  margin: 0 1% 10px 1% !important;
  width: 31.1111111%;
  text-align: center;
}
@media only screen and (max-width: 834px) {
  .btn_list01 ul li {
    display: block;
    width: 100%;
  }
}
.btn_list01 ul li a {
  background: #C76955;
  display: block;
  padding: 10px;
  text-align: center;
  color: #fff !important;
  text-decoration: none;
  border: 1px solid #C76955;
  position: relative;
}
.btn_list01 ul li a:hover {
  background: #fff;
  opacity: 1 !important;
  color: #C76955 !important;
}
.btn_list01 ul li a:hover:after {
  content: "";
  border-right: 2px solid #C76955;
  border-top: 2px solid #C76955;
}
.btn_list01 ul li a:after {
  content: "";
  width: 8px;
  height: 8px;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg);
}

.pankuzu ul {
  display: flex;
  margin-top: 10px;
}
.pankuzu ul li {
  margin: 0 10px;
}

/*****************タイトル*******************************/
.h_cnt_h1 {
  position: relative;
  z-index: 1;
  background-position: center;
  background-image: url(../images/common/h_bg.jpg);
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background-size: cover;
}
@media only screen and (max-width: 834px) {
  .h_cnt_h1 {
    background-position: center;
  }
}
@media only screen and (max-width: 640px) {
  .h_cnt_h1 {
    background-position: center;
  }
}
.h_cnt_h1 article {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  text-align: left;
  align-items: center;
}
@media only screen and (max-width: 834px) {
  .h_cnt_h1 article {
    display: block;
    text-align: center !important;
    padding: 0 10px;
  }
}
.h_cnt_h1 article h1, .h_cnt_h1 article p {
  margin: 0 auto;
  text-align: center;
  font-size: 40px;
  color: #fff;
  text-align: left;
  display: inline-block;
  position: relative;
  margin: 0;
}
@media only screen and (max-width: 834px) {
  .h_cnt_h1 article h1, .h_cnt_h1 article p {
    padding: 0;
    font-size: 36px;
    display: block;
    text-align: center !important;
  }
}
@media only screen and (max-width: 640px) {
  .h_cnt_h1 article h1, .h_cnt_h1 article p {
    font-size: 24px;
  }
}
.h_cnt_h1 article div {
  padding-top: 20px;
  font-size: 16px;
  display: block;
  color: #fff;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media only screen and (max-width: 834px) {
  .h_cnt_h1 article div {
    display: block;
    margin-left: 0;
    text-align: center !important;
  }
}
@media only screen and (max-width: 640px) {
  .h_cnt_h1 article div {
    padding-top: 10px;
    font-size: 16px;
  }
}

.h1txt {
  background-size: cover;
  padding: 100px 0;
}
@media only screen and (max-width: 834px) {
  .h1txt {
    padding: 30px 0;
  }
}

.titletext_01 div {
  margin-top: 20px;
}
@media only screen and (max-width: 640px) {
  .titletext_01 div {
    margin-top: 5px;
  }
}
.titletext_01 h2, .titletext_01 h3 {
  display: block;
  font-size: 32px;
  color: #DE9B4B;
  font-weight: bold;
  position: relative;
  color: #DE9B4B;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 834px) {
  .titletext_01 h2, .titletext_01 h3 {
    font-size: 24px;
  }
}
@media only screen and (max-width: 640px) {
  .titletext_01 h2, .titletext_01 h3 {
    font-size: 18px;
  }
}
.kamoku_table table tr:first-child td {
  background: #FAF0E6;
}

.course_title01 h2, .course_title01 h3 {
  padding-bottom: 10px;
  background: #DE9B4B;
  padding: 10px;
  color: #fff;
}

/***************タイトル01***************/
.title_01 h3, .title_01 h2, .title_01 h4 {
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  font-size: 32px;
  padding-bottom: 30px;
  display: inline-block;
}
@media only screen and (max-width: 640px) {
  .title_01 h3, .title_01 h2, .title_01 h4 {
    font-size: 20px;
    padding-right: 0;
    padding-bottom: 20px;
  }
}
.title_01 h3 span, .title_01 h2 span, .title_01 h4 span {
  color: #DE9B4B;
  font-size: 16px;
  display: block;
}
@media only screen and (max-width: 834px) {
  .title_01 h3 span, .title_01 h2 span, .title_01 h4 span {
    display: block;
    margin: 0;
    font-size: 16px;
  }
}
.title_01 h3:after, .title_01 h2:after, .title_01 h4:after {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 3px;
  z-index: 1;
  background: #de8800;
  background-size: 100%;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 640px) {
  .title_01 h3:after, .title_01 h2:after, .title_01 h4:after {
    width: 30px;
    bottom: 0;
    top: auto;
    left: 0;
    right: auto;
  }
}

/***************タイトル02***************/
.title_02 h3, .title_02 h2, .title_02 h4 {
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  font-weight: bold;
  font-size: 42px;
  padding-right: 70px;
  display: inline-block;
}
@media only screen and (max-width: 640px) {
  .title_02 h3, .title_02 h2, .title_02 h4 {
    font-size: 20px;
    padding-right: 0;
    padding-bottom: 20px;
  }
}
.title_02 h3 span, .title_02 h2 span, .title_02 h4 span {
  color: #DE9B4B;
  font-size: 16px;
  display: block;
}
@media only screen and (max-width: 834px) {
  .title_02 h3 span, .title_02 h2 span, .title_02 h4 span {
    display: block;
    margin: 0;
    font-size: 16px;
  }
}
.title_02 h3:after, .title_02 h2:after, .title_02 h4:after {
  content: "";
  position: absolute;
  right: 0px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 30px;
  height: 3px;
  z-index: 1;
  background: #de8800;
  background-size: 100%;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 640px) {
  .title_02 h3:after, .title_02 h2:after, .title_02 h4:after {
    width: 30px;
    bottom: 0;
    top: auto;
    left: 0;
    right: auto;
  }
}

/***************タイトル03***************/
.title_03 h3, .title_03 h2, .title_03 h4 {
  display: block;
  padding-bottom: 30px;
  padding-left: 10px;
  position: relative;
  border-bottom: 3px dotted #C76955;
  font-size: 24px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media only screen and (max-width: 834px) {
  .title_03 h3, .title_03 h2, .title_03 h4 {
    padding-bottom: 20px;
    padding-top: 10px;
  }
}
.title_03 h3 .no, .title_03 h2 .no, .title_03 h4 .no {
  font-size: 32px;
  color: #C76955;
  padding: 10px;
  background: #C76955;
  color: #fff;
  border-radius: 50%;
  margin-right: 10px;
}
@media only screen and (max-width: 834px) {
  .title_03 h3 .no, .title_03 h2 .no, .title_03 h4 .no {
    font-size: 18px;
    padding: 3px;
    margin-right: 5px;
  }
}
@media only screen and (max-width: 834px) {
  .title_03 h3, .title_03 h2, .title_03 h4 {
    font-size: 18px;
  }
}

/***************タイトル04***************/
.title_04 h3, .title_04 h2, .title_04 h4 {
  display: block;
  position: relative;
  font-size: 20px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  padding: 10px;
  border-bottom: 1px solid #C76955;
  padding-right: 20px;
}
.title_04 h3::after, .title_04 h2::after, .title_04 h4::after {
  content: "";
  width: 144px;
  height: 154px;
  position: absolute;
  bottom: -10px;
  right: 0;
  background: url(../images/common/h_icon04.png);
  background-position: center;
  background-size: cover;
  background-position: center center;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  z-index: 4;
}
@media only screen and (max-width: 834px) {
  .title_04 h3::after, .title_04 h2::after, .title_04 h4::after {
    width: 72px;
    height: 77px;
  }
}
@media only screen and (max-width: 834px) {
  .title_04 h3, .title_04 h2, .title_04 h4 {
    font-size: 16px;
  }
}

/***************タイトル05***************/
.title_05 h3, .title_05 h2, .title_05 h4, .title_05 h5 {
  display: block;
  position: relative;
  font-size: 24px;
  border-bottom: 1px solid #C76955;
  padding: 10px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media only screen and (max-width: 834px) {
  .title_05 h3, .title_05 h2, .title_05 h4, .title_05 h5 {
    font-size: 18px;
  }
}

/***************タイトル05***************/
.title_06 h3, .title_06 h2, .title_06 h4, .title_06 h5 {
  display: block;
  position: relative;
  font-size: 18px;
  padding: 10px;
  border-bottom: 1px dashed #ccc;
}
@media screen and (max-width: 834px) {
  .title_06 h3, .title_06 h2, .title_06 h4, .title_06 h5 {
    font-size: 16px;
  }
}

.midashi01 h2, .midashi01 h3 {
  font-size: 48px;
}
@media only screen and (max-width: 834px) {
  .midashi01 h2, .midashi01 h3 {
    font-size: 24px;
    font-weight: bold;
  }
}
.midashi01 article {
  position: relative;
  padding-bottom: 30px;
}
.midashi01 article:after {
  content: "";
  background: #de8800;
  width: 100px;
  height: 2px;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

.midashi02 h2, .midashi02 h3 {
  font-size: 28px;
  display: flex;
  align-items: center; /* 縦位置の調整 */
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #fff;
  background: #DE9B4B;
  padding: 10px;
  border-radius: 0 50px 0 0;
}
@media only screen and (max-width: 834px) {
  .midashi02 h2, .midashi02 h3 {
    font-size: 24px;
  }
}

/******************強調テキスト**************************************/
.syoujyou_list ul {
  display: flex;
  flex-wrap: wrap;
}
.syoujyou_list ul li {
  background: #DE9B4B;
  border-radius: 10px;
  padding: 10px;
  color: #fff;
  text-align: center !important;
  display: block;
  width: 18%;
  margin: 0 1% 10px 1%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 834px) {
  .syoujyou_list ul li {
    width: 31%;
  }
}

.clear_bg {
  background: rgba(255, 255, 255, 0.8);
}

.shadow_box {
  box-shadow: 2px 2px 10px #ccc;
}

.bottom_line {
  border-bottom: 1px dashed #ccc;
}

.flow_box {
  position: relative;
  box-shadow: 2px 2px 10px #ccc;
  background: rgba(255, 255, 255, 0.5);
}
@media only screen and (max-width: 640px) {
  .flow_box {
    width: 90%;
  }
}

.flow_title_03 h2, .flow_title_03 h3 {
  font-weight: bold;
  border-bottom: 1px dashed #DE9B4B;
  font-size: 20px;
  padding-bottom: 20px;
  padding-left: 10px;
}
@media only screen and (max-width: 640px) {
  .flow_title_03 h2, .flow_title_03 h3 {
    text-align: center;
    padding-bottom: 10px;
  }
}
.flow_title_03 .no {
  position: absolute;
  padding: 15px;
  display: flex;
  justify-content: center;
  align-itmes: center;
  font-weight: bold;
  right: 0;
  font-size: 24px;
  line-height: 1;
  color: #fff;
  top: 0;
  z-index: 2;
  display: block;
  background: #C76955;
}
@media only screen and (max-width: 640px) {
  .flow_title_03 .no {
    padding: 10px;
    font-size: 20px;
  }
}

.price_text div {
  font-weight: bold;
  font-size: 40px;
  color: #ff5c00;
  padding-bottom: 10px;
  border-bottom: 1px solid #666;
}
@media only screen and (max-width: 640px) {
  .price_text div {
    font-size: 32px;
  }
}
.price_text div span {
  font-size: 24px;
}
@media only screen and (max-width: 640px) {
  .price_text div span {
    font-size: 20px;
  }
}

.hosokutext {
  padding-top: 0 !important;
}
.hosokutext div {
  border-top: 1px dashed #ccc;
  padding-top: 10px;
}

.teacher_box {
  border: 1px solid #ccc;
  border-top: 3px solid #DE9B4B;
  border-bottom: 3px solid #DE9B4B;
}
.teacher_box div {
  font-size: 14px;
}

.teacher_name div {
  border-bottom: 1px solid #DE9B4B;
  padding-bottom: 10px;
  font-weight: bold;
  font-size: 16px;
}
.teacher_name div .sub {
  color: #de8800;
}

.shikaku {
  padding: 2px 5px;
  background: #FAF0E6;
  margin-bottom: 3px;
  color: #C76955;
  display: inline-block;
  font-weight: bold;
}

.revue_sub {
  background: #FAF0E6;
  padding: 5px 10px;
  display: inline-block;
  color: #C76955;
  margin-bottom: 5px;
  font-weight: bold;
  border-radius: 5px;
}

.review_table {
  border-bottom: 1px #ccc dashed;
}
@media only screen and (max-width: 640px) {
  .review_table div {
    font-size: 12px;
  }
}

.review_img {
  width: 200px;
}
@media only screen and (max-width: 640px) {
  .review_img {
    width: 100px;
    padding: 0 !important;
  }
}
.review_img div {
  margin-top: 5px;
  font-size: 14px;
}
@media only screen and (max-width: 640px) {
  .review_img div {
    font-size: 10px;
  }
}

.jisseki_school ul {
  display: flex;
  flex-wrap: wrap !important;
  justify-content: center !important;
}
@media only screen and (max-width: 640px) {
  .jisseki_school ul {
    font-size: 10px;
    justify-content: flex-start !important;
  }
}
.jisseki_school ul li {
  display: inline-block !important;
  padding: 5px;
  border-bottom: 1px solid #DE9B4B;
  margin: 5px !important;
}

.blog_box .blog_list {
  flex-direction: row !important;
  border: 0 !important;
  flex-wrap: wrap;
}
.blog_box .blog_list div {
  display: block;
  border: 0 !important;
  width: 33.3333333%;
}
@media only screen and (max-width: 834px) {
  .blog_box .blog_list div {
    width: 50%;
  }
}
@media only screen and (max-width: 640px) {
  .blog_box .blog_list div {
    width: 100%;
  }
}
.blog_box .blog_list div .blog_photo {
  display: block;
  width: 100% !important;
}
.blog_box .blog_list div .blog_photo img {
  width: 100% !important;
  height: 250px !important;
}
.blog_box .blog_list div .blog_text {
  display: block;
  padding-top: 0 !important;
  width: 100% !important;
}
.blog_box .blog_list div .blog_text .blog_date {
  color: #C76955 !important;
}
.blog_box .blog_list div .blog_text .detail {
  margin-top: 0 !important;
}
.blog_box .blog_list div .blog_text h3 {
  color: #C76955 !important;
}
.blog_box .blog_list div .blog_text .detail {
  width: 100%;
}

.vacancy_box {
  position: relative;
  overflow: hidden;
}

.vacancy_box01 {
  position: relative;
  z-index: 3;
}

.vacancy_title01 {
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  width: 60%;
  z-index: 3;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .vacancy_title01 {
    width: 70%;
  }
}
@media only screen and (max-width: 640px) {
  .vacancy_title01 {
    width: 100%;
  }
}
.vacancy_title01 h2 {
  font-size: 2.2vw;
  font-weight: bold;
  position: relative;
  text-shadow: 0px 0px 5px #fff;
  z-index: 3;
}
@media only screen and (max-width: 834px) {
  .vacancy_title01 h2 {
    font-size: 3.2vw;
  }
}
@media only screen and (max-width: 640px) {
  .vacancy_title01 h2 {
    font-size: 18px;
  }
}
.vacancy_title01 div {
  text-align: right !important;
  font-size: 2.2vw;
  font-weight: bold;
  position: relative;
  z-index: 3;
  text-shadow: 0px 0px 5px #fff;
}
@media only screen and (max-width: 834px) {
  .vacancy_title01 div {
    font-size: 3.2vw;
  }
}
@media only screen and (max-width: 640px) {
  .vacancy_title01 div {
    font-size: 18px;
  }
}

.vacancy_text01 {
  width: 60%;
  background: rgba(255, 255, 255, 0.5);
  z-index: 2;
  padding: 30px;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .vacancy_text01 {
    width: 80%;
  }
}
@media only screen and (max-width: 640px) {
  .vacancy_text01 {
    width: 100%;
  }
}

.vacancy_img01 {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .vacancy_img01 {
    position: relative;
  }
}

.vacancy_box01 {
  position: relative;
}

.vacancy_box02 {
  width: 65%;
  margin: 0 0 0 auto;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 640px) {
  .vacancy_box02 {
    position: relative;
    width: 100%;
    margin-top: 20px;
  }
}

.vacancy_title02 {
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  width: 100%;
  z-index: 3;
  position: relative;
}
.vacancy_title02 h2 {
  font-size: 2.2vw;
  font-weight: bold;
  position: relative;
  z-index: 3;
  text-shadow: 0px 0px 5px #fff;
}
@media only screen and (max-width: 640px) {
  .vacancy_title02 h2 {
    font-size: 20px;
  }
}
.vacancy_title02 div {
  text-align: right !important;
  font-size: 2.2vw;
  font-weight: bold;
  position: relative;
  z-index: 3;
}

.vacancy_img02 {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
  width: 45%;
}
@media only screen and (max-width: 640px) {
  .vacancy_img02 {
    position: relative;
    width: 100%;
  }
}

.vacancy_title_text {
  position: relative;
  box-shadow: 0px 0px 10px #ccc;
  padding: 20px;
  background: #fff;
}
.vacancy_title_text h3 {
  font-size: 24px;
  font-family: "Times New Roman", "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  text-shadow: 0px 0px 5px #fff;
}
.vacancy_title_text h3 span {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 82px;
  z-index: 1;
  opacity: 0.3;
}
.vacancy_title_text div {
  z-index: 3;
  position: relative;
}

.tokutyo_table {
  width: 31%;
  margin: 0 1% 20px 1%;
}
@media only screen and (max-width: 834px) {
  .tokutyo_table {
    width: 48%;
  }
}
@media only screen and (max-width: 640px) {
  .tokutyo_table {
    width: 100%;
  }
}
.tokutyo_table article {
  position: relative;
}
.tokutyo_table article:after {
  content: "";
  background: #FAF0E6;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
  width: 280px;
  height: 280px;
  margin: auto;
}
@media screen and (min-width: 834px) and (max-width: 1200px) {
  .tokutyo_table article:after {
    width: 200px;
    height: 200px;
  }
}
@media only screen and (max-width: 834px) {
  .tokutyo_table article:after {
    width: 200px;
    height: 200px;
  }
}
.tokutyo_table article table {
  position: relative;
  z-index: 2;
}
.tokutyo_table article table td {
  border: 0 !important;
}
.tokutyo_table article table td div {
  font-size: 16px;
  max-width: 280px;
  margin: auto;
}
.tokutyo_table article table .tokutyo_table_title h3 {
  font-size: 24px;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #C76955;
}
@media only screen and (max-width: 834px) {
  .tokutyo_table article table .tokutyo_table_title h3 {
    font-size: 20px;
  }
}
.tokutyo_table article table .tokutyo_img img {
  max-height: 121px;
  width: auto !important;
}

.btn_list02 ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}
.btn_list02 ul li {
  width: 31%;
  margin: 0 1% 20px 1% !important;
  float: none !important;
}
@media screen and (min-width: 834px) and (max-width: 1200px) {
  .btn_list02 ul li {
    width: 48% !important;
  }
}
@media only screen and (max-width: 834px) {
  .btn_list02 ul li {
    width: 48% !important;
  }
}
@media only screen and (max-width: 640px) {
  .btn_list02 ul li {
    width: 100% !important;
  }
}
.btn_list02 ul li a {
  text-align: center;
  background: #C76955;
  border: 1px solid #C76955;
  padding: 20px 10px;
  color: #fff !important;
  border-radius: 30px;
  display: block;
  font-size: 16px;
  text-decoration: none;
  border-radius: 20px;
}
@media screen and (min-width: 834px) and (max-width: 1200px) {
  .btn_list02 ul li a {
    font-size: 16px;
  }
}
@media only screen and (max-width: 834px) {
  .btn_list02 ul li a {
    font-size: 14px;
    line-height: 1.5;
    writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    height: auto;
  }
}
.btn_list02 ul li a:hover {
  background: #fff;
  opacity: 1 !important;
  color: #C76955 !important;
}

.big_btn01 {
  max-width: 600px;
  margin: 0 auto;
}
.big_btn01 a {
  text-align: center;
  background: #37b064;
  border: 1px solid #37b064;
  padding: 30px 10px;
  color: #fff !important;
  border-radius: 30px;
  display: block;
  font-size: 32px;
  text-decoration: none;
  border-radius: 50px;
}
.big_btn01 a:hover {
  background: #fff;
  opacity: 1 !important;
  color: #37b064 !important;
}
@media screen and (min-width: 834px) and (max-width: 1200px) {
  .big_btn01 a {
    font-size: 24px;
  }
}
@media only screen and (max-width: 834px) {
  .big_btn01 a {
    font-size: 20px;
    line-height: 1.5;
    height: auto;
  }
}

.matu {
  border-radius: 50px;
}
@media only screen and (max-width: 834px) {
  .matu {
    border-radius: 30px;
  }
}

.list_jisan ul li {
  padding: 10px;
  background: #eee;
  margin: 10px;
}

.r_table {
  width: 31%;
  margin: 0 1% 10px 1%;
  background: #eee;
  padding: 20px;
  border-radius: 30px;
}
@media only screen and (max-width: 834px) {
  .r_table {
    width: 48%;
  }
}
@media only screen and (max-width: 640px) {
  .r_table {
    width: 100%;
  }
}
.r_table table td {
  border: 0 !important;
}
.r_table table .r_table_img img {
  height: 144px !important;
  width: auto !important;
}

.syain_img img {
  max-width: 200px;
  width: 100% !important;
}
@media only screen and (max-width: 640px) {
  .syain_img img {
    max-width: 150px;
  }
}

.syain_box .box {
  background: #eee;
  padding: 20px;
  margin-bottom: 10px;
  border-radius: 20px;
}
.syain_box .box h3 {
  padding: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #C76955;
}

.dl_time dl {
  position: relative;
  padding: 20px;
  padding-left: 50px;
}
.dl_time dl:after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #C76955;
}
.dl_time dl:before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  left: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #000;
}
.dl_time dl dt {
  border: 0 !important;
  text-align: center;
  display: block !important;
  width: 200px !important;
  border-bottom: 1px solid #C76955 !important;
}
@media only screen and (max-width: 834px) {
  .dl_time dl dt {
    width: 100px !important;
  }
}
.dl_time dl dd {
  border: 0 !important;
  width: calc(100% - 200px) !important;
  border-bottom: 1px solid #ccc !important;
}
@media only screen and (max-width: 834px) {
  .dl_time dl dd {
    width: calc(100% - 100px) !important;
  }
}

section form h3.mail.region {
  display: none;
}

.cont_waku {
  margin-top: 50px;
}
.cont_waku .waku_inner {
  padding: 50px 30px;
  background: #fff;
  border: 10px solid #DE9B4B;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 834px) {
  .cont_waku .waku_inner {
    padding: 30px 10px;
  }
}
.cont_waku .waku_inner::after {
  content: "";
  width: 253px;
  height: 47px;
  position: absolute;
  top: -28px;
  left: 0;
  background: url(../images/common/waku_img01.png);
  background-position: center;
  background-size: cover;
  background-position: center center;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  z-index: 4;
}
@media only screen and (max-width: 834px) {
  .cont_waku .waku_inner::after {
    width: 177px;
    height: 33px;
    top: -20px;
  }
}
.cont_waku .waku_inner::before {
  content: "";
  width: 253px;
  height: 47px;
  position: absolute;
  bottom: -28px;
  right: 0;
  background: url(../images/common/waku_img01.png);
  background-position: center;
  background-size: cover;
  background-position: center center;
  font-family: "Kiwi Maru", "Kosugi Maru", "M PLUS Rounded 1c", "Kosugi Maru", "Kiwi Maru", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  z-index: 4;
}
@media only screen and (max-width: 834px) {
  .cont_waku .waku_inner::before {
    width: 177px;
    height: 33px;
    bottom: -20px;
  }
}

.maru_img img {
  border-radius: 10%;
}

html.is-fixed,
html.is-fixed body {
  height: 100%;
}

#nav-toggle {
  position: fixed;
  top: 10px;
  right: 10px;
  height: 50px;
  width: 56px;
  padding: 11px 6px;
  cursor: pointer;
  display: none;
  z-index: 999999999;
  background-color: #C76955 !important;
}
@media only screen and (max-width: 834px) {
  #nav-toggle {
    display: block;
  }
}
#nav-toggle p {
  font-size: 1.1rem;
  color: white;
  position: relative;
  left: 2px;
  bottom: -30px;
  font-weight: 500;
  padding-top: 5px;
  display: none;
}
#nav-toggle > div {
  position: relative;
  width: 40px;
}
#nav-toggle span {
  height: 3px;
  left: 2px;
  display: block;
  background: white;
  position: absolute;
  transition: transform 0.6s ease-in-out, top 0.5s ease;
}
#nav-toggle span:nth-child(1) {
  top: 2px;
  width: 100%;
}
#nav-toggle span:nth-child(2) {
  top: 12px;
  width: 100%;
}
#nav-toggle span:nth-child(3) {
  top: 22px;
  width: 100%;
}
#nav-toggle:hover span:nth-child(1) {
  top: 2px;
}
#nav-toggle:hover span:nth-child(3) {
  top: 22px;
}

/* z-index */
#container {
  z-index: 900;
}

.nav_wrap {
  width: 90%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  overflow-x: hidden;
}

#nav_sp {
  display: none;
  background-color: #c76955;
  position: fixed;
  transition: 0.3s;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  text-align: left;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 29px;
  opacity: 0;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#nav_sp .nav_wrap {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#nav_sp .nav_wrap ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  list-style: none;
  -webkit-overflow-scrolling: touch;
}
#nav_sp .nav_wrap ul li a {
  padding: 10px 0;
  margin: 0;
  border-bottom: 1px solid #fff;
  display: block;
}
#nav_sp .nav_wrap ul li ul li a {
  padding: 10px 0;
  border-bottom: 1px dotted #fff;
  font-size: 12px;
}
@media only screen and (max-width: 834px) {
  #nav_sp .nav_wrap ul li {
    width: 100%;
  }
}
#nav_sp .nav_wrap .nav-item a, #nav_sp .nav_wrap .nav-item > span {
  align-items: flex-start;
  text-align: left;
  font-size: 16px !important;
  color: #fff !important;
}
#nav_sp .nav_wrap li {
  width: 100%;
  margin-left: 0;
  opacity: 0;
  transform: translateX(200px);
  transition: transform 7.5s ease, opacity 0.2s ease;
  list-style: none;
  flex-grow: inherit;
  color: #fff !important;
}
#nav_sp .nav_wrap li:nth-child(2) {
  transition-delay: 0.15s;
}
#nav_sp .nav_wrap li:nth-child(3), #nav_sp .nav_wrap li:nth-child(4) {
  transition-delay: 0.3s;
}
#nav_sp .nav_wrap li:nth-child(5), #nav_sp .nav_wrap li:nth-child(6) {
  transition-delay: 0.45s;
}
#nav_sp .nav_wrap li:nth-child(7), #nav_sp .nav_wrap li:nth-child(8) {
  transition-delay: 0.6s;
}
#nav_sp .nav_wrap li:nth-child(9) {
  transition-delay: 0.75s;
}
#nav_sp .nav_wrap li:nth-child(10) {
  transition-delay: 0.8s;
}
#nav_sp .nav_wrap li:nth-child(11) {
  transition-delay: 0.85s;
}
#nav_sp .nav_wrap li:nth-child(12) {
  transition-delay: 0.9s;
}
#nav_sp .nav_wrap li:nth-child(13) {
  transition-delay: 1s;
}
#nav_sp .nav_wrap li:nth-child(14) {
  transition-delay: 1.1s;
}
#nav_sp .nav_wrap li:nth-child(15) {
  transition-delay: 1.2s;
}
#nav_sp .nav_wrap li:nth-child(16) {
  transition-delay: 1.3s;
}
#nav_sp .nav_wrap li:nth-child(17) {
  transition-delay: 1.4s;
}
#nav_sp .nav_wrap li:nth-child(18) {
  transition-delay: 1.5s;
}
#nav_sp .nav_wrap a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
#nav_sp .nav_wrap .ddmenu {
  position: relative;
  top: 0;
  flex-direction: column;
  background-color: #333333 !important;
}
#nav_sp .nav_wrap .ddmenu li {
  width: 100%;
  border-bottom: 1px solid #fff;
}
#nav_sp .nav_wrap .ddmenu li a {
  border: none;
  padding: 5px 5px 5px 20px;
  width: 100%;
  font-size: 1.3rem !important;
}
#nav_sp .nav_wrap .ddmenu li:last-child {
  border-bottom: none;
}

.nav_wrap a {
  border: none;
  padding: 5px 5px 5px 20px;
  width: 100%;
  font-size: 16px !important;
  text-decoration: none;
  color: #fff;
}

.nav-info {
  text-align: center;
  margin-top: 30px;
  display: none;
  width: 100% !important;
}
@media only screen and (max-width: 834px) {
  .nav-info {
    display: block;
  }
}
.nav-info .logo {
  width: 200px !important;
  margin: 0 auto 50px auto;
}
.nav-info .logo img {
  width: 100%;
}
.nav-info .contact {
  width: 100%;
  margin-top: 30px;
}
.nav-info .contact a {
  padding: 10px;
}
.nav-info .sub_nav {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
}
.nav-info .sub_nav a {
  display: block;
  padding: 5px;
  font-size: 1.3rem;
  color: #333333;
  position: relative;
  transition: 0.3s;
  flex-grow: 1;
}
@media only screen and (max-width: 640px) {
  .nav-info .sub_nav a {
    flex-grow: inherit;
    width: 50%;
  }
}
.nav-info .sub_nav a::before {
  content: "\f054";
  font-family: "Font Awesome 5 Pro";
  color: #333333;
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  display: block;
  font-size: 1rem;
  transition: 0.3s;
}

/* open */
.open {
  height: 100%;
}
.open #nav-toggle {
  position: fixed;
}
.open #nav-toggle span {
  background: #fff !important;
}
.open #nav-toggle span:nth-child(1) {
  top: 12px;
  transform: rotate(45deg);
  width: 100%;
}
.open #nav-toggle span:nth-child(2) {
  top: 12px;
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 12px !important;
  transform: rotate(-45deg);
  width: 100%;
}
.open #nav_sp {
  visibility: visible;
  opacity: 1;
}
.open #nav_sp li {
  opacity: 1;
  transform: translateX(0);
  transition: transform 1s ease, opacity 1.05s ease;
}
.open .nav-item > span {
  position: relative;
  display: block;
}
.open .nav-item > span::before {
  content: "+";
  position: absolute;
  top: 50% !important;
  transform: translateY(-50%);
  right: 0 !important;
  display: block;
  color: #fff;
  font-size: 1.6rem;
}
.open .plus {
  position: relative;
}
.open .plus > span {
  position: relative;
  display: block;
}
.open .plus > span::before {
  content: "-";
  position: absolute;
  top: 50% !important;
  transform: translateY(-50%);
  right: 0 !important;
  display: block;
  color: #333333;
  font-size: 1.6rem;
}

.pc_none {
  display: none;
}
@media only screen and (max-width: 834px) {
  .pc_none {
    display: block;
  }
}/*# sourceMappingURL=common_style.css.map */