@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 共通 common
************************************/

/* 初期設定 */
* {
  box-sizing: border-box;
}

html {
  height: 100%;
}
body {
  width: 100%;
  height: 100%;
}
.eye-catch {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}
.eye-catch-image {
  display: block;
  max-width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  border: none;
  vertical-align: bottom;
}
.wp-post-image {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}


.textwidget,
.custom-html-widget {
  display: block;
  padding: 0 !important;
  margin: 0 !important;
  width: auto;
}

/************************************
** 子テーマ用のスタイルを書く
************************************/

.sp_only {
  display: none !important;
}
.sp_slide {
  display: none !important;
}
@media screen and (max-width: 640px){
.sp_only {
display: block !important;
}
.pc_only {
display: none !important;
}
.pc_slide {
display: none !important;
}
}




/*ページの投稿日・更新日・著者情報を消す*/
.page .date-tags,
.page .author-info {
  display: none;
}
/*エントリーカードカテゴリー名非表示*/
.cat-label {
  display: none;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

#container {
  position: relative;
  overflow: hidden;
  padding: 0 !important;
}
.container {
  margin: 0 auto;
  padding: 0;
  display: block;
  background: none;
}

.content {
  background: none;
  margin: 0;
  padding: 0;
  width: auto !important;
  max-width: none !important;
  float: none;
}

.content-in {
  background: none;
  margin: 0 auto;
  width: auto;
  padding: 0;
}

@media only screen and (max-width: 640px) {
  .content-in {
    width: auto;
    margin: 0 0;
	padding: 0 0;
  }
}

.entry-content,
article {
  margin: 0;
  padding: 0;
}

/************************************
** カラムサイズ指定
************************************/

.main,
.main_top {
  display: block;
  width: auto;
  padding: 0!important;
  margin: 0 !important;
}

/************************************
** カラムサイズ指定
************************************/
.entry-card {
  height: auto;
}

.article-header,
.entry-header {
  margin: 0;
  padding: 0;
}

#breadcrumb {
  width: auto;
  max-width: 1032px;
  margin: 0 auto;
  margin-bottom: 1em;
  padding: 0;
}

@media screen and (max-width: 640px){
  #breadcrumb {
    display: none;
}
}

img {
  max-width: 100%;
  /* width: 100%; */
}


/************************************
** 級数指定
************************************/
p.side_title,
.entry-content,
article,
.top_main,
.top_content,
.sidebar,
.bt_news, .bt_left_arrow,
p, ul, ol, dl,
dl.top_news,
dl.top_shinryou,
table.table_timetable,
table {
  line-height: 1.8;
  font-size: 16px;
}
.box_top_pointno_flex_txt p,
ul.bt_top_af li {
  font-size: 18px;
}
table.table_top_news,
.footer,
ul.foot_menu li,s
dl.footer_schedule,
.footer p {
font-size: 14px;
}
p.head_top,
.copy {
font-size: 12px;
}
.header_bt {
font-size: 26px;
}
p.foot_tel {
font-size: 20px;
}

@media screen and (max-width: 768px) {
p.side_title,
.entry-content,
article,
.top_main,
.top_content,
.sidebar,
.bt_news, .bt_left_arrow,
p, ul, ol, dl,
dl.top_news,
dl.top_shinryou,
table.table_timetable,
table {
  line-height: 1.8;
  font-size: 2.083vw;
}
.box_top_pointno_flex_txt p,
ul.bt_top_af li {
  font-size: 2.344vw;
}
table.table_top_news,
.footer,
ul.foot_menu li,
dl.footer_schedule,
.footer p {
font-size: 1.823vw;
}
p.head_top,
.copy {
font-size: 1.563vw;
}
.header_bt {
font-size: 3.385vw;
}
p.foot_tel {
font-size: 2.604vw;
}
}

@media screen and (max-width: 540px) {
p.side_title,
.entry-content,
article,
.top_main,
.top_main,
.top_content,
.sidebar,
.bt_news, .bt_left_arrow,
p, ul, ol, dl,
dl.top_news,
dl.top_shinryou,
table.table_timetable,
table {
  line-height: 1.6;
  font-size: 14px;
}
.box_top_pointno_flex_txt p,
ul.bt_top_af li {
  font-size: 16px;
}

table.table_top_news,
.footer,
ul.foot_menu li,
dl.footer_schedule,
.footer p {
font-size: 12px;
}
p.head_top,
.copy {
font-size: 10px;
}

.header_bt {
font-size: 20px;
}


p.foot_tel {
font-size: 18px;
}
}



article h2,
.sidebar h2,
.title h2,
.topmain h2,
.entry-content h2,
h2 {
  font-size: 38px;
}
article h3,
.sidebar h3,
.title h3,
.topmain h3,
.box_title h3,
.entry-content h3,
h3 {
  font-size: 28px;
}
  h3.entry_title,
  h4.entry_title,
article h4,
.sidebar h4,
.title h4,
.topmain h4,
.entry-content h4,
ul.footerMenulist,
h4 {
  font-size: 24px;
}
article h5,
.sidebar h5,
.title h5,
.topmain h5,
.entry-content h5,
h5 {
  font-size: 20px;
}

@media screen and (max-width: 768px) {
article h2,
.sidebar h2,
.title h2,
.topmain h2,
.entry-content h2,
h2 {
  font-size: 4.948vw;
}
article h3,
.sidebar h3,
.title h3,
.topmain h3,
.box_title h3,
.entry-content h3,
h3 {
  font-size: 3.646vw;
}
  h3.entry_title,
  h4.entry_title,
article h4,
.sidebar h4,
.title h4,
.topmain h4,
.entry-content h4,
ul.footerMenulist,
h4 {
  font-size: 3.125vw;
}
article h5,
.sidebar h5,
.title h5,
.topmain h5,
.entry-content h5,
h5 {
  font-size: 2.604vw;
}
}

@media screen and (max-width: 540px) {
article h2,
.sidebar h2,
.title h2,
.topmain h2,
.entry-content h2,
h2 {
  font-size: 24px;
}
article h3,
.sidebar h3,
.title h3,
.topmain h3,
.box_title h3,
.entry-content h3,
h3 {
  font-size: 20px;
}
  h3.entry_title,
  h4.entry_title,
article h4,
.sidebar h4,
.title h4,
.topmain h4,
.entry-content h4,
ul.footerMenulist,
h4 {
  font-size: 18px;
}
article h5,
.sidebar h5,
.title h5,
.topmain h5,
.entry-content h5,
h5 {
  font-size: 16px;
}
}


/************************************
** 見出し
************************************/



/************************************
** テキスト位置
************************************/
.t_center {
  text-align: center !important;
}
.t_center_pc {
  text-align: center !important;
}
@media only screen and (max-width: 640px) {
  .t_center_pc {
    text-align: left !important;
  }
  .t_center_sp {
    text-align: center !important;
  }
}
.t_left {
  text-align: left;
}
.t_right {
  text-align: right;
}
.right {
  float: right;
}

/************************************
** フォント 太さ 行間
************************************/
.fw300 {
  font-weight: 300 !important;
}
.fw400 {
  font-weight: 400 !important;
}
.fw500 {
  font-weight: 500 !important;
}
.fw600 {
  font-weight: 600 !important;
}
.fw700 {
  font-weight: 700 !important;
}
.fw800 {
  font-weight: 800 !important;
}
.fw900 {
  font-weight: 900 !important;
}
.ls005 {
  letter-spacing: 0.05rem;
}
.ls01 {
  letter-spacing: 0.1rem;
}
.ls02 {
  letter-spacing: 0.2rem;
}
.ls05 {
  letter-spacing: 0.5rem;
}

/************************************
** マージン
************************************/
.mb0 {
  margin-bottom: 0 !important;
}
.mb8 {
  margin-bottom: 8px !important;
}
.mb16 {
  margin-bottom: 16px !important;
}
.mb24 {
  margin-bottom: 24px !important;
}
.mb32 {
  margin-bottom: 32px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}

/************************************
** フォントサイズ
************************************/
.f80 {
font-size: 80%;
}
.f90 {
font-size: 90%;
}
.f110 {
font-size: 110%;
}
.f120 {
font-size: 120%;
}
.f130 {
font-size: 130%;
}
.f140 {
font-size: 140%;
}
.f150 {
font-size: 150%;
}
.f160 {
font-size: 160%;
}
.f170 {
font-size: 170%;
}
.f180 {
font-size: 180%;
}
.f190 {
font-size: 190%;
}
.f200 {
font-size: 200%;
}

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

.f110 {
font-size: 105%;
}
.f120 {
font-size: 110%;
}
.f130 {
font-size: 115%;
}
.f140 {
font-size: 120%;
}
.f150 {
font-size: 130%;
}
.f200 {
font-size: 160%;
}
}
.fs10 {
  font-size: 10px;
}
.fs12 {
  font-size: 12px;
}
.fs14 {
  font-size: 14px;
}
.fs16 {
  font-size: 16px;
}
.fs18 {
  font-size: 18px;
}
.fs20 {
  font-size: 20px;
}
.fs22 {
  font-size: 22px;
}
.fs23 {
  font-size: 23px;
}
.fs24 {
  font-size: 24px;
}
.fs26 {
  font-size: 26px;
}
.fs28 {
  font-size: 28px;
}
.fs30 {
  font-size: 30px;
}
.fs32 {
  font-size: 32px;
}
.fs34 {
  font-size: 34px;
}
.fs36 {
  font-size: 36px;
}
.fs37 {
  font-size: 37px;
}
.fs38 {
  font-size: 38px;
}
.fs40 {
  font-size: 40px;
}
.fs42 {
  font-size: 42px;
}

@media screen and (max-width: 1366px) {
  .fs10 {
    font-size: 0.732vw;
  }
  .fs12 {
    font-size: 0.878vw;
  }
  .fs14 {
    font-size: 1.025vw;
  }
  .fs16 {
    font-size: 1.171vw;
  }
  .fs18 {
    font-size: 1.318vw;
  }
  .fs20 {
    font-size: 1.464vw;
  }
  .fs22 {
    font-size: 1.611vw;
  }
  .fs23 {
    font-size: 1.684vw;
  }
  .fs24 {
    font-size: 1.757vw;
  }
  .fs26 {
    font-size: 1.903vw;
  }
  .fs28 {
    font-size: 2.05vw;
  }
  .fs30 {
    font-size: 2.196vw;
  }
  .fs32 {
    font-size: 2.343vw;
  }
  .fs34 {
    font-size: 2.489vw;
  }
  .fs36 {
    font-size: 2.635vw;
  }
  .fs37 {
    font-size: 2.709vw;
  }
  .fs38 {
    font-size: 2.782vw;
  }
  .fs40 {
    font-size: 2.928vw;
  }
  .fs42 {
    font-size: 3.075vw;
  }
}

@media screen and (max-width: 1280px) {
  .fs10 {
    font-size: 0.781vw;
  }
  .fs12 {
    font-size: 0.938vw;
  }
  .fs14 {
    font-size: 1.094vw;
  }
  .fs16 {
    font-size: 1.25vw;
  }
  .fs18 {
    font-size: 1.406vw;
  }
  .fs20 {
    font-size: 1.563vw;
  }
  .fs22 {
    font-size: 1.719vw;
  }
  .fs23 {
    font-size: 1.797vw;
  }
  .fs24 {
    font-size: 1.875vw;
  }
  .fs26 {
    font-size: 2.031vw;
  }
  .fs28 {
    font-size: 2.188vw;
  }
  .fs30 {
    font-size: 2.344vw;
  }
  .fs32 {
    font-size: 2.5vw;
  }
  .fs34 {
    font-size: 2.656vw;
  }
  .fs36 {
    font-size: 2.813vw;
  }
  .fs37 {
    font-size: 2.891vw;
  }
  .fs38 {
    font-size: 2.969vw;
  }
  .fs40 {
    font-size: 3.125vw;
  }
  .fs42 {
    font-size: 3.281vw;
  }
}

@media screen and (max-width: 640px){
  .fs10 {
    font-size: 0.959vw;
  }
  .fs12 {
    font-size: 1.199vw;
  }
  .fs14 {
    font-size: 1.439vw;
  }
  .fs16 {
    font-size: 1.679vw;
  }
  .fs18 {
    font-size: 1.918vw;
  }
  .fs20 {
    font-size: 2.158vw;
  }
  .fs22 {
    font-size: 2.158vw;
  }
  .fs23 {
    font-size: 2.518vw;
  }
  .fs24 {
    font-size: 2.638vw;
  }
  .fs26 {
    font-size: 2.878vw;
  }
  .fs28 {
    font-size: 3.118vw;
  }
  .fs30 {
    font-size: 3.357vw;
  }
  .fs32 {
    font-size: 3.357vw;
  }
  .fs34 {
    font-size: 3.597vw;
  }
  .fs36 {
    font-size: 3.638vw;
  }
  .fs37 {
    font-size: 3.758vw;
  }
  .fs38 {
    font-size: 3.878vw;
  }
  .fs40 {
    font-size: 4.317vw;
  }
  .fs42 {
    font-size: 4.556vw;
  }
}

@media screen and (max-width: 430px) {
  .fs10 {
    font-size: 8px;
  }
  .fs12 {
    font-size: 10px;
  }
  .fs14 {
    font-size: 12px;
  }
  .fs16 {
    font-size: 14px;
  }
  .fs18 {
    font-size: 16px;
  }
  .fs20 {
    font-size: 18px;
  }
  .fs22 {
    font-size: 20px;
  }
  .fs23 {
    font-size: 21px;
  }
  .fs24 {
    font-size: 22px;
  }
  .fs26 {
    font-size: 24px;
  }
  .fs28 {
    font-size: 26px;
  }
  .fs30 {
    font-size: 28px;
  }
  .fs32 {
    font-size: 30px;
  }
  .fs34 {
    font-size: 32px;
  }
  .fs36 {
    font-size: 34px;
  }
  .fs37 {
    font-size: 35px;
  }
  .fs38 {
    font-size: 36px;
  }
  .fs40 {
    font-size: 36px;
  }
  .fs42 {
    font-size: 38px;
  }
}

.line-h-1 {
  line-height: 1;
}

.line-h-1_2 {
  line-height: 1.2;
}

.line-h-1_25 {
  line-height: 1.25;
}

.line-h-1_3 {
  line-height: 1.3;
}

.line-h-1_5 {
  line-height: 1.5;
}

.line-h-1_8 {
  line-height: 1.8;
}

.line-h-2 {
  line-height: 2;
}

/************************************
** カラー
************************************/
.red {
  color: #f00;
}
.pink {
  color: #fc5987;
}
.yellow {
  color: #f9d50b;
}

.yellow02 {
  color: #fcff00;
}
.blue {
  color: #1376cb;
}
.orange {
  color: #fd9902;
}
.blown {
  color: #ae1c29;
}
.green {
  color: #287928;
}
.navy {
  color: #2f418f;
}
.pink02 {
  color: #f9b;
}
.gold {
  color: #eee06d;
}
.gray {
  color: #555;
}
.wine {
  color: #b07;
}

/************************************
** ボックス
************************************/

.box_white {
  display: block;
  vertical-align: top;
  list-style: none;
  background-color: #fff;
  margin: 0;
  padding: 16px 16px;
  margin-bottom: 24px;
}

.box_gray {
  display: block;
  padding: 16px 16px;
  background-color: #f5f5f5;
}

.box_shadow {
  display: block;
  padding: 16px 16px;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  margin-bottom: 24px;
}
@media screen and (max-width: 640px){
  .box_gray {
    padding: 1em;
  }
  .box_shadow {
    padding: 1em;
    margin-bottom: 16px;
  }
}

/************************************
** ボタン
************************************/
.bt {
  display: block;
}
.bt:hover {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.7;
}


.bt_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 5px;
	margin-bottom: 5px;
}
.bt_center:hover {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.7;
}

.bt_shousai {
position: relative;
display: inline-block;
padding-left: 1em;
  color: #be9876;
}
.bt_shousai a {
display: block;
  color: #e65041;
  }
.bt_shousai::before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f152";
  left: 0;
  font-weight: 400;
  color: #e65041;
}
.bt_shousai a:hover {
text-decoration: underline;
  }
.bt_kuwashiku {
  display: inline-block !important;
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 90%;
}
.bt_kuwashiku a {
  display: block;
  padding: 0 0.4em;
  padding-right: 1.5em;
  color: #000;
  border: 1px solid #999;
  text-decoration: none;
}
.bt_kuwashiku a::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  top: 0;
  right: 0.2em;
  color: #999;
  font-weight: 900;
}
.bt_kuwashiku a:hover {
  color: #000;
  background-color: #F5F5F5;
}

/************************************
** 画像
************************************/

.imageleft {
  max-width: 40%;
  float: left;
  margin-right: 16px;
  margin-bottom: 16px;
}
.imageright {
  max-width: 40%;
  float: right;
  margin-bottom: 16px;
  margin-left: 16px;
}
.imagecenter {
  max-width: 100%;
  display: block;
  margin: 0 auto;
  margin-bottom: 16px;
}
.imagecenter00 {
  max-width: 100%;
  display: block;
  margin: 0 auto;
}
.imagecenter80 {
  max-width: 80%;
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 640px){
  .imageleft {
    max-width: 50%;
    float: left;
    margin-right: 8px;
    margin-bottom: 8px;
  }
  .imageright {
    max-width: 50%;
    float: right;
    margin-bottom: 8px;
    margin-left: 8px;
  }
  .imagecenter {
    max-width: 100%;
    display: block;
    margin: 0 auto;
    margin-bottom: 8px;
  }
}

/************************************
** list-style
************************************/


ul.list_dott {
  margin: 0;
  padding: 0;
}
ul.list_dott li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-left: 1em;
  line-height: 150%;
  margin-bottom: 8px;
}
ul.list_dott li:before {
	content: "・" !important;
	color: #000 !important;
	display: block !important;
	float: left !important;
	margin-left: -1em !important;
	border: none !important
}
ul.list_dott li:last-child {
  margin-bottom: 0;
}
ul.list_kome {
  margin: 0;
  padding: 0;
}
ul.list_kome li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.0em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_kome li:last-child {
  margin-bottom: 0;
}
ul.list_kome li:before {
  position: absolute;
  content: "※";
  margin-left: -1.0em;
}
ul.list_star {
  margin: 0;
  padding: 0;
}
ul.list_star li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.2em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_star li:last-child {
  margin-bottom: 0;
}
ul.list_star li:before {
  position: absolute;
  top:0;
  font-family: "Font Awesome 5 Free";
  content: "\f005";
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #79d0a5;
  font-weight: 400;
}

ul.list_bus {
  margin: 0;
  padding: 0;
}
ul.list_bus li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.2em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_bus li:last-child {
  margin-bottom: 0;
}
ul.list_bus li:before {
  position: absolute;
  top:0;
  font-family: "Font Awesome 5 Free";
  content: "\f207";
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #79d0a5;
  font-weight: 900;
}

ul.list_medical {
  margin: 0;
  padding: 0;
}
ul.list_medical li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.2em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_medical li:last-child {
  margin-bottom: 0;
}
ul.list_medical li:before {
  position: absolute;
  top:0;
  font-family: "Font Awesome 5 Free";
  content: "\f477";
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #79d0a5;
  font-weight: 900;
}



ul.list_care {
  margin: 0;
  padding: 0;
}
ul.list_care li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.5em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_care li:last-child {
  margin-bottom: 0;
}
ul.list_care li:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\e05c";
  top:0;
  margin: 0;
  margin-left: -1.5em;
  padding: 0;
  color: #79d0a5;
  font-weight: 900;
}



ul.list_check {
  margin: 0;
  padding: 0;
}
ul.list_check li {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1.2em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_check li:last-child {
  margin-bottom: 0;
}
ul.list_check li:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  top:0;
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #79d0a5;
  font-weight: 400;
}

ul.list_check_inline,
ul.list_clip_inline,
ul.list_arrow_inline {
  margin: 0;
  padding: 0;
}
ul.list_check_inline li {
  position: relative;
  display: inline-block;
  min-width: calc(100% / 5 - 16px);
  list-style: none;
  margin: 0;
  margin-right: 8px;
  padding: 0;
  padding-left: 1.2em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_clip_inline li {
  position: relative;
  display: inline-block;
  min-width: calc(100% / 5 - 16px);
  list-style: none;
  margin: 0;
  margin-right: 8px;
  padding: 0;
  padding-left: 1.2em;
  line-height: 150%;
  margin-bottom: 4px;
}
ul.list_arrow_inline li {
  position: relative;
  display: inline-block;
  min-width: calc(100% / 5 - 16px);
  list-style: none;
  margin: 0;
  margin-right: 8px;
  padding: 0;
  padding-left: 1.2em;
  line-height: 150%;
  margin-bottom: 4px;
}

ul.list_arrow_inline li a {
  display: block;
  text-decoration: underline;
  font-weight: 600;
}

ul.list_check_inline li:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f14a";
  top:0;
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #79d0a5;
  font-weight: 400;
}
ul.list_clip_inline li:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f0c6";
  top:0;
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #79d0a5;
  font-weight: 900;
}
ul.list_arrow_inline li:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  top:0;
  margin: 0;
  margin-left: -1.2em;
  padding: 0;
  color: #F9B54F;
  font-weight: 900;
}



@media screen and (max-width: 640px) {
ul.list_check_inline li,
ul.list_clip_inline li,
ul.list_arrow_inline li {
  display: block;
  margin-bottom: 4px;
  margin-right: 0;
}
ul.list_check_inline li:last-child,
ul.list_clip_inline li:last-child,
ul.list_arrow_inline li:last-child {
  margin-bottom: 0;
}
}

.bt_arrow {
display: inline-block;
min-width: calc(50% - 16px);
text-align: center;
}

@media screen and (max-width: 640px) {
.bt_arrow {
min-width: calc(75% - 16px);
}
}
.bt_arrow a {
position: relative;
display: block;
padding: 0.5em 0.5em;
padding-right: 1.5em;
text-decoration: none;
color: #479557;
border: 1px solid #479557;
}
.bt_arrow a:hover {
background-color: #E9F6F2;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.bt_arrow a:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f138";
top:50%;
right: 1.5em;
transform: translateY(-50%);
  margin: 0;
  padding: 0;
  color: #F9B54F;
  font-weight: 900;
}
.bt_arrow a:hover:before {
right: 0.5em;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}



/************************************
** ページャー
************************************/

table.table_postnavi {
  table-layout: auto;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
table.table_postnavi tr,
table.table_postnavi th,
table.table_postnavi td {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
}
table.table_postnavi th {
  font-weight: 400;
  padding: 0 15px;
  width: auto;
  text-align: center;
  white-space: nowrap;
}
table.table_postnavi th a {
  padding: 15px;
}
table.table_postnavi td.left_post {
}
table.table_postnavi td.right_post {
  text-align: right;
}



/************************************
** ボックス
************************************/
.flex_two {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
width: 100%;
}
.flex_two_box {
width: calc(100% / 2 - 8px);
display: block;
}
.flex_two_box .inner {
padding: 16px;
}
.flex_two_box:nth-child(n+3) {
margin-top: 16px;
}


@media screen and (max-width: 640px) {
.flex_two {
flex-flow: column;
}
.flex_two_box {
width: auto;
}
.flex_two_box:nth-child(n+2) {
margin-top: 8px;
}
}

.flex_three {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin: 0;
padding: 0;
}
.flex_three_box {
width: calc(100% / 3 - 11px);
display: block;
  flex-grow: 1;
padding: 0 !important;
margin: 0 8px;
}
.flex_three_box:first-child {
margin-left: 0;
}
.flex_three_box:last-child {
margin-right: 0;
}

@media screen and (max-width: 640px) {
.flex_three {
margin: 0 -16px;
margin-top: -8px;
}
.flex_three_box {
width: auto;
display: block;
margin: 0 4px;
}

}




.flex_four {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
  flex-grow: 1;
}
.flex_four_box::after {
content: "";
display: block;
width: calc(100% / 4 - 12px);
}
.flex_four_box::before {
order: 1;
content: "";
display: block;
width: calc(100% / 4 - 12px);
}
.flex_four_box {
width: calc(100% / 4 - 12px);
display: block;
}
.flex_four_box:nth-child(n+5) {
margin-top: 16px;
}

@media screen and (max-width: 640px) {
.flex_four_box::after {
display: none;
}
.flex_four_box::before {
display: none;
}
.flex_four_box {
width: calc(100% / 2 - 4px);
min-height: 138px;
}
.flex_four_box:nth-child(n+3) {
margin-top: 4px;
}
}



.flex_two_pic,
.flex_two_txt,
.flex_two_expic_old,
.flex_two_expic_new {
width: calc(100% / 2 - 8px);
display: block;
}
.flex_two_txt,
.flex_two_expic_new {
order: 1;
}
.flex_two_pic,
.flex_two_expic_old {
order: 2;
}


@media screen and (max-width: 640px) {
.flex_two_pic,
.flex_two_txt,
.flex_two_expic_old,
.flex_two_expic_new {
width: auto;
flex-flow: column;
}
.flex_two_txt,
.flex_two_expic_new {
margin-top: 8px;
}
}


.flex_twoone {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.flex_twoone_box_pic_one_right {
order: 2;
width: calc(100% / 3 - 8px);
display: block;
}

.flex_twoone_box_txt_two_left {
order: 1;
width: calc(100% / 3 * 2 - 8px);
display: block;
}

.flex_twoone_box_pic_one_left {
order: 1;
width: calc(100% / 3 - 8px);
display: block;
}

.flex_twoone_box_txt_two_right {
order: 2;
width: calc(100% / 3 * 2 - 8px);
display: block;
}



.flex_twoone_box_pic_two_right {
order: 2;
width: calc(100% / 3 * 2 - 8px);
display: block;
}

.flex_twoone_box_txt_one_left {
order: 1;
width: calc(100% / 3 - 8px);
display: block;
}

.flex_twoone_box_pic_one_left {
order: 1;
width: calc(100% / 3 - 8px);
display: block;
}

.flex_twoone_box_txt_two_right {
order: 2;
width: calc(100% / 3 * 2 -8px);
display: block;
}


.flex_twoone_box_pic_two_left {
order: 1;
width: calc(100% / 3 * 2 - 8px);
display: block;
}

.flex_twoone_box_txt_one_right {
order: 2;
width: calc(100% / 3 - 8px);
display: block;
}

.scroll_txt {
display: block;
}
p.sp_scroll {
display: none;
}

@media screen and (max-width: 640px) {
.scroll_txt {
min-width: 640px;
}

p.sp_scroll {
display: block;
margin-bottom: 0;
}

.flex_twoone_box_pic_one_right {
width: calc(40% - 4px);
}

.flex_twoone_box_txt_two_left {
width: calc(60% - 4px);
overflow-x: scroll;
}

.flex_twoone_box_pic_one_left {
width: calc(40% - 4px);
}

.flex_twoone_box_txt_two_right {
width: calc(60% - 4px);
overflow-x: scroll;
}

.flex_twoone_box_pic_two_right {
width: calc(60% - 4px);
}

.flex_twoone_box_txt_one_left {
width: calc(40% - 4px);
overflow-x: scroll;
}



.flex_twoone_box_pic_two_left {
width: calc(40% - 4px);
overflow-x: scroll;
}



}



.flex_threeone {
position: relative;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.flex_threeone_pic_one_right {
order: 2;
width: calc(100% / 4 - 8px);
display: block;
background: #EEE;
}

.flex_threeone_txt_three_left {
order: 1;
width: calc(100% / 4 * 3 - 8px);
display: block;
background: #EEE;
}

.flex_threeone_pic_one_left {
order: 2;
width: calc(100% / 4 - 8px);
display: block;
background: #EEE;
}

.flex_threeone_txt_three_right {
order: 2;
width: calc(100% / 4 * 3 - 8px);
display: block;
background: #EEE;
}


.flex_threeone_pic_three_right {
order: 2;
width: calc(100% / 4 * 3 - 8px);
display: block;
background: #EEE;
}

.flex_threeone_txt_one_left {
order: 1;
width: calc(100% / 4 - 8px);
display: block;
background: #EEE;
}

.flex_threeone_pic_three_left {
order: 2;
width: calc(100% / 4 * 3 - 8px);
display: block;
background: #EEE;
}

.flex_threeone_txt_one_right {
order: 2;
width: calc(100% / 4 - 8px);
display: block;
background: #EEE;
}

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

.flex_threeone_pic_one_right {
float: right;
margin-left: 8px;
margin-bottom: 4px;
width: calc(100% / 2 - 4px);
}
.flex_threeone_txt_three_left {
width: auto;
}
.flex_threeone_pic_one_left {
float: left;
margin-right: 8px;
margin-bottom: 4px;
width: calc(100% / 2 - 4px);
}
.flex_threeone_txt_three_right {
width: auto;
}

.flex_threeone_pic_three_right {
width: auto;
}
.flex_threeone_txt_one_left {
width: auto;
margin: 0 auto;
margin-top: 8px;
}
.flex_threeone_pic_three_left {
width: auto;
}
.flex_threeone_txt_one_right {
width: auto;
margin: 0 auto;
margin-top: 8px;
}
}


ol.list_suuji {
	counter-reset: my-counter;
	list-style: none;
  margin: 0;
  padding: 0;
}
ol.list_suuji li {
position: relative;
list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 1em;
}
ol.list_suuji li::before {
	content: counter(my-counter);
	counter-increment: my-counter;
	display: block;
	float: left;
	margin-left: -1em;
}
ol.list_suuji li:last-child {
  margin-bottom: 0;
}
