/*html {
  font-size: 62.5%;
}

@media (min-width: 1900px) {
  html {
    font-size: calc(100vw / 1900 * 10);
  }
}

@media (max-width: 1390px) {
  html {
    font-size: calc(100vw / 1390 * 10);
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw / 375 * 10);
  }
}
*/

html {
  font-size: 52.5%; /* これは変更なしですが、15%小さくするには 62.5% * 0.85 を計算します。 */
}

p, table, blockquote, address, pre, iframe, form, figure, dl,
.TOP06_voice_list_item_subttl, .FOOTER, .TOP10_content_btn, .TOP10_column_item_date, .block p {
  color: #606060;
}

@media (min-width: 1900px) {
  html {
    font-size: calc((100vw / 1900 * 10) * 0.85); /* 元の値から15%小さくします */
  }
}

@media (max-width: 1390px) {
  html {
    font-size: calc((100vw / 1390 * 10) * 0.85); /* 元の値から15%小さくします */
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: calc((100vw / 375 * 10) * 0.85); /* 元の値から15%小さくします */
  }
}




body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: normal;
}

.body_container {
  overflow: hidden;
}

.section_inner {
  margin: auto;
  max-width: 128rem;
  position: relative;
}

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

@media screen and (max-width: 767px) {
  body {
    font-size: 1.3rem;
    min-width: inherit;
    padding-top: 60px;
  }

  .section_inner {
    padding: 0 2rem;
  }
body.top {
    margin-top: -10px;
}	
	
}


.block p {
    margin: 2rem 0 0 0;

}



/* ---------------------------------------------------------------------------
// .section_head
--------------------------------------------------------------------------- */
.section_head {
  position: absolute;
  top: -3.7rem;
}

.section_head.right {
  right: 0;
  text-align: right;
}

.section_head.right .section_head_ttl {
  margin-left: auto;
}

.section_head_ttl {
  color: #808080;
  font-size: 3.3rem;
  font-weight: 900;
  margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .section_head {
    top: -3rem;
  }

  .section_head_ttl {
    font-size: calc(3.3rem * .7);
    margin-top: 2rem;
  }

  .section_head.right {
    right: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  header
--------------------------------------------------------------------------- */
.header {
  align-items: center;
  display: flex;
  height: 10rem;
  justify-content: space-between;
  padding: 0 2rem;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.header a {
  transition: .2s;
}

.header a:hover {
  opacity: .8;
}

.header_inner:before {
  background: linear-gradient(to right, rgba(18, 104, 60, .8), rgba(43, 86, 56, .8));
  content: '';
  height: 10rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -100;
}

.header_logo {
  display: block;
  width: 22rem;
}

.sp-btn {
  display: none;
}

.menu_inner {
  align-items: center;
  display: flex;
  height: 10rem;
  justify-content: flex-end;
}

.menu_item {
  height: 100%;
  position: relative;
}

.menu_contact {
  background: #ff800a;
  border-radius: .6rem;
  height: 6rem;
  margin-left: 1rem;
  text-align: center;
}

.menu_link {
  align-items: center;
  color: #fff;
  display: flex;
  font-size: 1.6rem;
  height: 100%;
  justify-content: center;
  padding: 0 1.8rem;
}

/*メガメニュー*/
.menu_contents {
  background: linear-gradient(to right, rgba(18, 104, 60, .8), rgba(43, 86, 56, .8));
  border-top: 1px solid #fff;
  display: none;
  left: 0;
  padding: 1rem 0;
  position: absolute;
  top: 10rem;
  width: auto;
  ;
}

.menu_contents ul li a {
  color: #fff;
  display: block;
  font-size: 1.6rem;
  padding: 1rem 2rem;
  white-space: nowrap;
}

.menu_contents ul li a::after {
  content: '\FF1E';
  margin-left: .6rem;
}

@media screen and (max-width: 767px) {
  .header {
    height: 6rem;
    padding: 0 0 0 1rem;
  }

  .header_inner:before {
    background: #2c5638;
    height: 6rem;
  }

  .header_inner {
    align-items: center;
    display: flex;
    height: 6rem;
    justify-content: space-between;
    width: 100%;
  }

  .header_logo {
    width: 14rem;
  }

  .sp-btn {
    /* background: #2C5638; */
    border: none;
    cursor: pointer;
    display: block;
    height: 100%;
    position: relative;
    width: 6rem;
    z-index: 5000;
  }

  .sp-btn span {
    background: #fff;
    display: block;
    height: .3rem;
    left: 50%;
    overflow: hidden;
    position: absolute;
    text-indent: 100%;
    top: 50%;
    transition: .2s;
    white-space: nowrap;
    width: 2.2rem;
  }

  .sp-btn span:nth-child(1) {
    transform: translate(-50%, -.9rem);
  }

  .sp-btn span:nth-child(2) {
    transform: translate(-50%, -50%);
  }

  .sp-btn span:nth-child(3) {
    transform: translate(-50%, .6rem);
  }

  .sp-btn.active span {
    height: .2rem;
    width: 2.5rem;
  }

  .sp-btn.active span:nth-child(1) {
    transform: translate(-50%, 50%) rotate(45deg);
  }

  .sp-btn.active span:nth-child(2) {
    left: 50%;
    opacity: 0;
  }

  .sp-btn.active span:nth-child(3) {
    transform: translate(-50%, 50%) rotate(-45deg);
  }

  .menu {
    background: #fff;
    color: #2c5638;
    height: calc(100% - 60px);
    left: 0;
    opacity: 0;
    overflow: auto;
    position: fixed;
    top: 6rem;
    transition: opacity .6s ease, visibility .6s ease;
    visibility: hidden;
    width: 100%;
  }

  .menu.active {
    opacity: 100;
    visibility: visible;
  }

  .menu_inner {
    display: block;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    padding: 1rem 2rem 6rem;
    width: 100%;
  }

  .menu_item {
    align-items: flex-start;
    border-bottom: #2c5638 dashed 1px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    width: 100%;
  }

  .menu_link {
    color: #2c5638;
    padding: 1.5rem 2rem;
  }

  .menu_contact {
    margin: 2rem 2rem 0;
    margin-top: 2rem;
  }

  .menu_contact a span {
    color: #fff;
  }

  /*メガメニュー　→アコーディオン*/
  .menu_contents {
    background: #fff;
    display: none;
    padding: 0;
    padding-bottom: 1.5rem;
    position: static;
    width: 100%;
  }

  .menu_contents ul {
    display: block;
  }

  .menu_contents ul li {
    border-bottom: #000;
    height: auto;
    width: 100%;
  }

  .menu_contents ul li a {
    color: #2c5638;
    display: block;
    padding-left: 4rem;
  }

  .menu_contents ul li a::after {
    display: none;
  }

  .menu_item::after {
    border-right: solid 2px #2c5638;
    border-top: solid 2px #2c5638;
    content: '';
    display: block;
    height: 1rem;
    position: absolute;
    right: 1rem;
    top: 2rem;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: all .2s ease-in-out;
    width: 1rem;
  }

  .menu_item.active::after {
    transform: rotate(-45deg);
  }
}

/* ---------------------------------------------------------------------------
//  footer
--------------------------------------------------------------------------- */
footer {
  background: #cbcbcb;
  padding-bottom: 11rem;
}

footer a {
  transition: .2s;
}

footer a:hover {
  opacity: .7;
}

.FOOTER .section_inner {
  padding-top: 7rem;
}

.FOOTER_content {
  display: flex;
  justify-content: space-between;
}

.FOOTER_left {
  width: 28rem;
}

.FOOTER_left_logo {
  display: block;
  width: 22.4rem;
}

.FOOTER_left_ttl {
  font-size: 1.4rem;
  letter-spacing: .08em;
  margin-top: 4rem;
}

.FOOTER_left_desc {
  font-size: 1.1rem;
  line-height: 2;
  margin-bottom: 4rem;
  margin-top: 1rem;
}

.FOOTER_left_link {
  display: block;
  font-weight: bold;
  margin-top: 2rem;
}

.FOOTER_right {
  width: calc(100% - 28rem);
}

.FOOTER_list {
  display: flex;
  justify-content: flex-end;
}

.FOOTER_list_item {
  border-left: 1px solid #b7b7b7;
  font-weight: bold;
  padding: 0 1rem;
  width: 15rem;
}

.FOOTER_list_item:first-of-type {
  border-left: none;
  width: 9rem;
}

.FOOTER_list_item:last-of-type {
  width: 11rem;
}

.FOOTER_list_item_link {
  display: block;
  font-size: 1.4rem;
  margin-bottom: 2rem;
  min-height: 4rem;
}

.FOOTER_sublist_item {
  display: block;
  font-size: 1.2rem;
  margin-top: .5rem;
  min-height: 4rem;
}

.FOOTER_sublist_item:last-of-type {
  min-height: auto;
}

.copyright {
  align-items: center;
  display: flex;
  font-size: 1.6rem;
  font-weight: 400;
  height: 8rem;
  justify-content: center;
  letter-spacing: .1em;
  margin-top: 4rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  footer {
    padding-bottom: 6rem;
  }

  .FOOTER .section_inner {
    padding-top: 6rem;
  }

  .FOOTER_content {
    display: block;
  }

  .FOOTER_left {
    width: 100%;
    /* display: flex;
      flex-direction: column;
      align-items: center; */
  }

  .FOOTER_left_logo {
    margin-left: 2rem;
    width: 22.4rem;
  }

  .FOOTER_left_ttl {
    font-size: 1.6rem;
    letter-spacing: .1em;
    margin-top: 2rem;
  }

  .FOOTER_left_desc {
    font-size: 1.3rem;
    margin-bottom: 0;
  }

  .FOOTER_left_link {
    font-size: 1.4rem;
    margin-right: auto;
    margin-top: 2rem;
  }

  .FOOTER_right {
    display: none;
    width: 100%;
  }

  .FOOTER_list {
    display: block;
  }

  .FOOTER_list_item {
    border-left: none;
    font-weight: bold;
    padding: 0;
    width: 100% !important;
  }

  .FOOTER_list_item_link {
    margin-bottom: 1rem;
    margin-top: 2rem;
    min-height: auto;
  }

  .FOOTER_sublist_item {
    margin-top: .5rem;
    min-height: auto;
  }

  .copyright {
    font-size: 1rem;
    height: 8rem;
    letter-spacing: 0;
    margin-top: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  column
--------------------------------------------------------------------------- */
.archive_column .nishiki-pro-breadcrumbs {
	    margin: 0 auto 40px auto;
    max-width: 150rem;
}
.archive_column .nishiki-pro-breadcrumbs ol {
    display: block;
}
.archive_column .nishiki-pro-breadcrumbs li + li::before {
    content: '/';
    margin: 0 1rem;
}
.archive_column .nishiki-pro-breadcrumbs li {}
.archive_column .nishiki-pro-breadcrumbs li {
    float: left;
    margin: 1rem 0 0 0;
}
.column {
    display: flex;
    gap: 0 5rem;
    flex-direction: row-reverse;
    margin: 70px auto 40px auto;
    max-width: 150rem;
    color: #606060;
}
.column .post {
    display: inline-block;
    /* flex-direction: column; */
    /* width: calc((100% - 12rem) / 3); */
    width: 31%;
    text-align: center;
    margin: 2rem 1rem;
    box-shadow: 0.2rem 0.2rem 0.2rem rgb(91 91 91 / 45%);
    padding: 3rem 1rem;
    transition: .2s;
    border-radius: 15px;
    border: solid 1px #efefef;
}
.column .post-image {}
.column .post-image a {
}
.column .post-detail {}
.column .post-detail a {}
.column .post-title {
    color: #006043;
    font-size: 2.4rem;
    font-weight: bold;
    margin-top: 2rem;
    text-align: center;
}
.column .readmore {
    margin: 0 0 1rem 0;
}
.column .excerpt {
    padding: 1rem 2rem;
    text-align: left;
}
.column footer {
    padding: 0;
    background: none;
}
.column .post-link {
    width: 100%;
}
.column readmore {}
.column .flex {text-align: left;display: block;}
@media screen and (max-width: 767px) {
.column .post {
    width: 100%;
    margin: 1rem 0;
}
}


/* ---------------------------------------------------------------------------
//  CTA
--------------------------------------------------------------------------- */
.CTA {
  background: #fff;
  bottom: 0;
  position: fixed;
  width: 100%;
}

.CTA_content {
  align-items: center;
  display: flex;
  height: 11rem;
  justify-content: center;
}

.CTA_tel {
  cursor: default;
  pointer-events: none;
  width: 48.8rem;
}

.CTA_contact {
  align-items: center;
  background: #2c5638;
  border: solid 4px #2c5638;
  border-radius: 1rem;
  color: #fff;
  display: flex;
  font-size: 3.2rem;
  font-weight: bold;
  height: 8.6rem;
  justify-content: center;
  margin-left: 4rem;
  transition: .2s;
  width: 34rem;
}

.CTA_contact:hover {
  background: #fff;
  color: #2c5638;
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .CTA_content {
    height: 6rem;
    justify-content: space-between;
  }

  .CTA_tel {
    pointer-events: all;
    width: calc((100% - 2rem) / 2);
  }

  .CTA_contact {
    border: solid 2px #2c5638;
    border-radius: .6rem;
    font-size: 1.8rem;
    height: 4rem;
    margin-left: 0;
    width: calc((100% - 2rem) / 2);
  }
}


/* ---------------------------------------------------------------------------
//  charge
--------------------------------------------------------------------------- */
.card-container {
  display: flex;
  justify-content: center; /* コンテナの中央に配置 */
  flex-wrap: wrap; /* 複数行になる場合は折り返す */
  gap: 20px; /* Flexbox gapプロパティを使用してカード間の隙間を設定 */
  padding: 20px; /* コンテナの外側にも同じ隙間を設ける */
	color: #606060;
}

.card {
    border: 3px solid #2c5638;
    border-radius: 13px;
    width: 280px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.card-header {
  background-color: #2c5638;
  color: white;
  padding: 10px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  font-size: 16px;
  text-align: center;
}

.card-body {
  padding: 20px 10px;
  text-align: center;
}

.price {
  color: #606060;
  font-size: 24px;
  font-weight: bold;
}

.price-unit {
  font-size: 18px;
  /*vertical-align: top;*/
}
.img_3column {
	display: flex;
    align-items: center;
}
div#ez-toc-container {
    width: 100% !important;
    margin: 0 0 40px 0 !important;
}

@media (max-width: 768px) {
	.card-body {
		padding: 5px;
	}
	.card-header {
		padding: 10px 1px;
	}
	.card {
		width: 100%;
}
	.table_price {
		width: 100% !important;
	}
	.card-container {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		padding: 0;
		gap: 5px;
	}
	.img_3column {
		display: contents;
	}

	
}


	
/* ---------------------------------------------------------------------------
//  EK1_課題別サポート内容
--------------------------------------------------------------------------- */
.container {
    display: flex;
    justify-content: space-between;
    align-items: center; /* 横に並ぶコンテンツを縦方向の中央に揃える */
    text-align: center;
    padding: 20px;
  }

  .column {
    display: flex;
    flex-direction: column;
    justify-content: center; /* 縦方向の中央揃え */
    align-items: center; /* 横方向の中央揃え */
    flex: 0 0 auto; /* flex-basisをautoに設定して、内容に基づいた幅にする */
  }
	  .left-column img{
		  padding:0.7rem;
	  }
  .left-column {
    flex-grow: 4; /* 左のカラムの成長率を4に設定 */
    background-color: #e5e5e5; /* ボタンの背景色 */
    border-radius: 20px;   
    padding: 1%;
	position:relative;
  }
.col-ttl-l {
    position: absolute;
    top: -3rem; /* Adjusted as per your requirement */
    background-color: #e5e5e5;
    padding: 1rem 2rem;
    border-radius: 10px;
    left: 50%; /* Set left to 50% of the parent */
    transform: translateX(-50%); /* Shift it back by 50% of its own width */
}

  .center-column {
    flex-grow: 2; /* 中央のカラムの成長率を2に設定 */
    flex-basis: 50px; /* 画像を含むカラムの幅を50pxに設定 */
  }

  .right-column {
    flex-grow: 4; /* 右のカラムの成長率を4に設定 */
    background-color: #fbce4a; /* ボタンの背景色 */
    border-radius: 20px;   
    padding: 1%; 
	position:relative;	  
  }
.col-ttl-r {
    position: absolute;
    top: -3rem; /* Adjusted as per your requirement */
    background-color: #fbce4a;
    padding: 1rem 2rem;
    border-radius: 10px;
    left: 50%; /* Set left to 50% of the parent */
    transform: translateX(-50%); /* Shift it back by 50% of its own width */
}
	  .right-column img{
		  padding:0.7rem;
	  }
  .image {
    width: 50px; /* 画像の幅を50pxに設定 */
    height: 50px; /* 画像の高さを50pxに設定 */
    object-fit: contain; /* 画像のアスペクト比を維持 */
  }

  .button {
    background-color: #FFD700; /* ボタンの背景色 */
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    font-size: 1rem;
    text-decoration: none; /* リンクの下線を消す */
    display: inline-block; /* テキストの中央揃えのためにinline-blockにする */
  }

  @media (max-width: 768px) {
    .container {
      flex-direction: column;
    }
    .left-column,
    .center-column,
    .right-column {
      flex-grow: 0;
      width: 100%; /* モバイルビューでカラムの幅を100%に設定 */
    }
	  .center-column {
        transform: rotate(90deg);
    }
.column.center-column {
    margin: 2rem 2rem 6rem 2rem;
}
  }


/* ---------------------------------------------------------------------------
// ?スペース小・中・大
--------------------------------------------------------------------------- */
.space-small {
    height: 50px;
}
.space-medium {
	height: 100px;
}
.space-wide {
    height: 200px;
}
.sp-100 {
    margin: 100px 0 0 0;
}
.sp-50 {
    margin: 50px 0 0 0;
}
.sp-150 {
    margin: 150px 0 0 0;
}




/* ---------------------------------------------------------------------------
// ?アクセス
--------------------------------------------------------------------------- */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
p.p-2 {
    line-height: 3rem;
    margin: 1rem 6% 4rem 6%;
    font-size: 1.8rem;
}

@media (min-width: 768px){
.col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
    display: flex;
    align-content: flex-start;
    justify-content: center;
    flex-wrap: wrap;
}
}

.googlemap {
    display: flex;
    justify-content: center;
    margin: 2rem 0 2rem 0;
    flex-direction: row;
}
small {
    font-size: 80%;
    display: flex;
    justify-content: center;
}


/* ---------------------------------------------------------------------------
// ?アクセス
--------------------------------------------------------------------------- */
.box-body {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
}

.box-body {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
	width: 100%;
}
.box-body-2 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
	    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
}
.box-body-2 {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}
.text-block-list {
    width: 25%;
    margin: 1rem;
    /*height: 492px;*/
    background-color: #EEEEEE;
    padding: 10px 10px 20px 10px;
    border-radius: 13px;
}
.text-block-list-2 {
    width: 25%;
    margin: 1rem;
    background-color: #EEEEEE;
    padding: 10px;
    border-radius: 13px;
}
.text-block {
    margin: 10px 0;
    padding: 15px 3px;
    border: 2px solid #ff800a;
    border-radius: 13px;
    background-color: #fff;
    text-align: center;
    color: #ff800a;

}
.text-block2 {
    margin: 10px 0;
    padding: 15px 20px;
    border: 2px solid #ff800a;
    border-radius: 13px;
    background-color: #fff;
    text-align: center;
    font-size: 1em;
    color: #FA8120;
}
.text-block3 {
    margin: 10px 0;
    padding: 15px 15px;
    border: 2px solid #ff800a;
    border-radius: 13px;
    background-color: #fff;
    text-align: center;
    font-size: 1em;
    color: #ff800a;
    /* margin: 10px; */
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.text-block.orange {
  background-color: #ff800a; /* オレンジ背景 */
  color: #fff; /* テキスト色 */
}

.box-body2 {
  margin: 0;
  padding: 0;
  background-color: #f4f4f4; /* 背景色 */
}*/

.box-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; /* ウィンドウが狭い場合は折り返す */
  gap: 20px; /* コンテナ間のギャップ */
  padding: 20px;
}

.box-container {
    padding: 20px 10px;
    background-color: #EEEEEE;
    border-radius: 13px;
    width: 50%;
    margin: 1rem;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    color: #2c5638;
    align-items: flex-start;
    justify-content: space-around;
}

.box-container-2 {
    padding: 20px 10px 20px 10px;
    background-color: #EEEEEE;
    border-radius: 13px;
    width: 75%;
    /* height: 520px; */
    margin: 1rem;
    display: flex;
    flex-direction: column;
    color: #2c5638;
}
.box-container-3 {
    padding: 20px 10px 20px 10px;
    background-color: #EEEEEE;
    border-radius: 13px;
    width: 100%;
    /* height: 520px; */
    margin: 1rem;
    display: flex;
    flex-direction: column;
    color: #2c5638;
}
.box-column1 {
  flex: 1; /* 各列を等しい幅に */
  max-width: calc(50% - 0px); /* ギャップを差し引いた幅 */
}

.box-column2 {
  flex: 1; /* 各列を等しい幅に */
  max-width: calc(50% - 20px); /* ギャップを差し引いた幅 */
}

.box-column3 {
    flex: 1;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.box-header {
    width: 600px;
    background-color: #2c5638;
    color: white;
    padding: 10px;
    border-radius: 13px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.box-header-2 {
    width: 100%;
    background-color: #2c5638;
    color: white;
    padding: 10px;
    border-radius: 13px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.text-block1 {
    border: 2px solid #2c5638;
    border-radius: 13px;
    padding: 15px 10px;
    margin: 10px 0;
    text-align: center;
    background-color: white;
    color: #2c5638;
}

.text-block2 {
    border: 2px solid #2c5638;
    border-radius: 13px;
    padding: 15px 15px;
    margin: 10px 1px;
    text-align: center;
    background-color: white;
    color: #2c5638;
    width: 32.5%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.text-block4 {
    border: 2px solid #2c5638;
    border-radius: 13px;
    padding: 15px 15px;
    margin: 10px 1px;
    text-align: center;
    background-color: white;
    color: #2c5638;
    width: 24.2%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
}

.box-footer {
  font-size: 1.4rem; /* フォントサイズを小さく */
  color: #333; /* フッターのテキスト色 */
  text-align: center; /* フッターを中央揃え */
  margin-top: 20px; /* 上のマージン */
  border-top: 1px solid #ddd; /* 上部にボーダー */
  padding-top: 10px; /* 上のパディング */
  width: 100%; /* フッターの幅をコンテナ全体に */
}

@media (max-width: 768px) {
	.box-header,
	.text-block.orange{
		font-size: 1.8rem;
	}
.text-block,
.text-block1 {
	font-size: 1.4rem;
	}
.box-footer {
    margin: 10px 0;
	}
.box-body {
    margin: 0;
    padding: 0;
    display: flex;
}
.text-block-list {
    width: 49%;
    background-color: #EEEEEE;
    border-radius: 13px;
    height: auto;
    display: inline-block;
    margin: 0;
}
	.box-body-2{
    display: contents;
}
	.text-block-list-2 {
		width: 100%;
	}
	.box-container-2 {
		width: 100%;
	}
	.text-block3 {
    height: auto;
    font-size: 1.6rem;
    padding: 10px;
}
	.box-column3 {
		    display: inline-block;
	}
	.text-block2 {
    width: 100%;
    height: auto;
    font-size: 1.6rem;
    padding: 10px;
}
	.box-header-2 {    font-size: 1.8rem;}
	.text-block4 {
		width: 100%;
    font-size: 1.6rem;
    height: auto;
    padding: 10px;
	}
}
	
@media (max-width: 480px) {
.box-body {
    margin: 0;
    padding: 0;
    display: block;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
}
.box-body {
    width: 100%;
    margin: 0;
    padding: 0;
}
.box-container {
    padding: 10px;
    background-color: #EEEEEE;
    border-radius: 13px;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    color: #2c5638;
    align-items: flex-start;
    justify-content: space-around;
    margin: 10px 0 0 0;
}
.text-block1 {
    border: 2px solid #008000;
    border-radius: 13px;
    padding: 2px 5px;
    margin-bottom: 10px;
    text-align: center;
    background-color: white;
    font-size: 1.4rem;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
}
}


/* ---------------------------------------------------------------------------
// ?インフォメーションBOX　１
--------------------------------------------------------------------------- */
.box-arrow {
    margin: 1rem;
}
.content-area-text p {
    padding: 1rem;
    border-radius: 20px;
}

.info-box-1 {
    display: flex;
    align-items: center;
	width: 100%;
}

.gray-bar {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-size: 20px;
    color: white;
    font-weight: bold;
}

.gray-header-box {
  width: 575px;/* 画像の幅に合わせて調整 */
  height: 256px; /* 画像の高さに合わせて調整 */
  background-color: #fff; /* 白い背景色 */
  border-radius: 13px; /* 角の丸み */
  border: solid 5px #606060; /* 緑のボーダー */
  box-sizing: border-box;
  position: relative; /* 子要素の位置決めの基準 */
}

.gray-bar {
  height: 40px; /* 緑の帯の高さ */
  width: 100%; /* 全幅 */
  background-color: #606060; /* 緑の背景色 */
  border-top-left-radius: 6px; /* 左上の角の丸み */
  border-top-right-radius: 6px; /* 右上の角の丸み */
  position: absolute; /* 絶対位置指定 */
  top: 0; /* 上部に配置 */
  left: 0; /* 左端に配置 */
}

p.green-area-text {
    background-color: white;
    color: #2c5638;
}
.green-bar {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-size: 20px;
    color: white;
    font-weight: bold;
}

.green-header-box {
  width: 575px;  /*画像の幅に合わせて調整 */
  height: 256px; /* 画像の高さに合わせて調整 */
  background-color: #fff; /* 白い背景色 */
  border-radius: 13px; /* 角の丸み */
  border: solid 5px #2c5638; /* 緑のボーダー */
  box-sizing: border-box;
  position: relative; /* 子要素の位置決めの基準 */
}

.green-bar {
  height: 40px; /* 緑の帯の高さ */
  width: 100%; /* 全幅 */
  background-color: #2c5638; /* 緑の背景色 */
  border-top-left-radius: 6px; /* 左上の角の丸み */
  border-top-right-radius: 6px; /* 右上の角の丸み */
  position: absolute; /* 絶対位置指定 */
  top: 0; /* 上部に配置 */
  left: 0; /* 左端に配置 */
}

.content-area {
    height: calc(100% - 45px);
    position: absolute;
    top: 40px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1rem;
    justify-content: space-around;
}
.content-area-img {
    padding: 2% 2% 2% 1%;
    max-width: 40rem;
}


@media (max-width: 768px) {
	.gray-bar, .green-bar {
		font-size: 1.8rem;
	}
.info-box-1 {
    width: 100%;
    display: flex;
    flex-direction: column;
    font-size: 20px;
}
.content-area-text p {
    padding: 1rem;
    border-radius: 20px;
    padding: 0.5rem;
    margin: 1rem;
}
p.green-area-text {
    background-color: white;
}
.box-arrow {
    transform: rotateZ(90deg);
    margin: 0;
    /* padding: 0; */
    display: flex;
    height: 43px;
}
}


@media (max-width: 480px) {
.info-box-1 {
    width: 100%;
}
.gray-header-box {
    width: 100%;
}
.green-header-box {
    width: 100%;
}
}


/* ---------------------------------------------------------------------------
// ?インフォメーションBOX　２
--------------------------------------------------------------------------- */
/*body {
  margin: 0;
  padding: 0;
  background-color: #f0f0f0; 
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}*/
.info-box-2 {
    display: flex;
}

.info-box-2 {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-weight: bold;
	width: 100%;
}

.idea-container {
    width: 577px;
    height: 152px;
    background-color: #606060;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border: solid 5px #606060;
    box-sizing: border-box;
    border-radius: 13px;
}

.bulb-icon {
    flex-basis: 20%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
}

.content-space {
    flex-basis: 80%;
    height: 100%;
    background-color: #ffffff;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    font-size: 2.1rem;
    color: #606060;
    padding: 0 20px;
}

.idea-container-2 {
    width: 577px;
    height: 152px;
    background-color: #ff800a;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border: solid 5px #ff800a;
    box-sizing: border-box;
    border-radius: 13px;
}

.bulb-icon-2 {
    flex-basis: 20%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
}

.content-space-2 {
    flex-basis: 80%;
    height: 100%;
    background-color: #ffffff;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}
p.content-space-2-txt {
    display: flex;
    justify-content: space-evenly;
    color: #ff800a;
    margin: 0;
	font-size: 2.1rem;
}
p.content-space-2-btn {
    display: flex;
    justify-content: space-evenly;
}
.content-space-2-btn-2 {
    height: 3rem;
    margin-top: 1rem;
    width: 100%;
    display: flex;
    flex-direction: row;
}
.content-space-2-btn-2 {
    align-items: center;
    border: solid 2px #ff800a;
    border-radius: 10rem;
    color: #ff800a;
    display: flex;
    font-weight: bold;
    height: 3rem;
    justify-content: space-around;
    transition: .2s;
    padding: 2.5rem;
    font-size: 2rem !important;
}
p.content-space-2-btn {
    /* padding: 0px; */
    margin: 0;
}

.content-space-2-btn-2::after {
    background-image: url(../img/common/arrow02.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    height: 2.34rem;
    margin-left: 2rem;
    transition: .2s;
    width: 3.4rem;
}
.content-space-2 {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-content: space-around;
    align-items: center;
}


@media (max-width: 768px) {
.info-box-2 {
	width: 100%;
    display: flex;
    flex-direction: column;
}
.info-box-2 p,
.info-box-2 p a {
}
	
p.content-space-2-txt {
    margin: 2rem 0 0 0;
    padding: 0;
    display: contents;
    font-size: 1.8rem;
}
p.content-space-2-btn {
    margin: 0;
    padding: 0;
    display: flex;
	width: 80%;
}
.content-space-2-btn-2 {
    height: 3rem;
    margin-top: 1rem;
    width: 100%;
    display: flex;
    flex-direction: row;
}
.content-space-2-btn-2 {
    align-items: center;
    border: solid 2px #ff800a;
    border-radius: 10rem;
    color: #ff800a;
    display: flex;
    font-weight: bold;
    height: 3rem;
    justify-content: space-around;
    transition: .2s;
}
.content-space-2-btn-2::after {
    background-image: url(../img/common/arrow02.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    height: 2.34rem;
    margin-left: 2rem;
    transition: .2s;
    width: 3.4rem;
}
.content-space-2 {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.content-area-text p {
    padding: 2rem;
    font-size: 1.4rem;
}	
}
	.content-space br {
		display:none;
	}
@media (max-width: 480px) {
.idea-container {
    width: 100%;
}
.idea-container-2 {
    width: 100%;
}

.box-arrow {
    transform: rotateZ(90deg);
    margin: 0;
    /* padding: 0; */
    height: 43px;
    display: flex;
}
.content-space-2-btn-2::after {
    background-image: url(../img/common/arrow02.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    height: 2.34rem;
    margin-left: 2rem;
    transition: .2s;
    width: 3.4rem;
}
.content-space-2 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-content: center;
    align-items: center;
}

.content-area-text p {
    padding: 1rem;
}
.content-space {
    padding: 5px;
    text-align: center;
    font-size: 1.8rem;
}
	.content-space br {
		display:block;
	}
}


/* ---------------------------------------------------------------------------
// ?table design 事務所概要
--------------------------------------------------------------------------- */
.table_design01 {
  border-collapse: collapse;
  width: 100%;
  max-width: 100%;
}
.table_design01 th, .table_design01 td {
  border: 2px solid #fff;
  background-color: #f3f3f3;
  padding: 1em;
}
.table_design01 th {
  background-color: #006043;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 20%;
  min-width: 4em;
}


.heading16 {
	position: relative;
	padding-bottom: 20px;
	font-size: 26px;
	text-align: center;
}

.heading16::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 6px 0 6px;
	border-color: #2c5638 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
}

.heading05 {
    position: relative;
    padding-bottom: 50px;
    text-align: center;
    color: #2c5638;
    font-size: 4.7rem;
    font-weight: 900;
    letter-spacing: .2em;
    margin: 6rem 0 0 0;
}

.heading05::before {
	content: attr(data-en);
	display: block;
	color: #a6a6a6;
	font-size: 2rem;
	text-transform: uppercase;
}

.greeting .h3 {
    border-left: 4px solid;
    color: #2c5638;

    font-weight: bold;
    letter-spacing: .1em;
    margin: 4rem 0 2rem;
    padding-left: 1rem;
}
.center {
	margin: 3rem 0 6rem 0;
	display: flex;
 	justify-content: center; /* 水平方向の中央揃え */
}
@media (max-width: 768px) {
.heading05 {
    font-size: 1.8rem;
}
	.heading05::before {
    font-size: 1.4rem;
}

}

/* ---------------------------------------------------------------------------
// ?social_insurance_procedure 
--------------------------------------------------------------------------- */
.grid-container-wrap {
  background-color: #f7f7f7; /* 背景色 */
  border-radius: 13px;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列のレイアウト */
  gap: 20px; /* グリッドアイテム間のスペース */
  padding: 20px; /* コンテナのパディング */
  max-width: 1200px; /* 最大幅 */
  margin: 0 auto; /* 中央揃え */
  background-color: #e3e3e3; /* タイトルバーの色 */
}

.grid-item {
  background-color: #fff; /* アイテムの背景色 */
  border: solid 1px #ddd; /* 枠線 */
  box-shadow: 0 2px 5px rgba(169, 169, 169, 0.2); /* 影 */
  padding: 20px; /* パディング */
  text-align: center; /* テキスト中央揃え */
  font-size: 1.8rem; /* フォントサイズ */
}

/* 最初のアイテムだけ特別なスタイリングを適用 */
.grid-container > .grid-item:first-child {
  grid-column: span 4; /* 4列分のスペースを取る */
  background-color: #006043; /* タイトルバーの色 */
  font-size: 1.8rem; /* タイトルのフォントサイズ */
  font-weight: bold; /* フォントの太さ */
  color: white;
}

@media (max-width: 768px) {
	.grid-container {
		display: inline-block;
		width: 100%;
	}
	.grid-item {
    width: 42%;
    margin: auto;
    display: block;
    height: 30px;
    padding: 10px;
    float: left;
    box-sizing: content-box;
    font-size: 1.4rem;
}
	.grid-container > .grid-item:first-child {
		    width: 92%;
	}
}

/* ---------------------------------------------------------------------------
// ?edit btn
--------------------------------------------------------------------------- */
span.edit {
    display: flex;
    justify-content: center;
    color: blue;
}




/* ---------------------------------------------------------------------------
// ?編集画面のURL設置　ボタン
--------------------------------------------------------------------------- */
span.edit {
#my-custom-button {
    color: #555;
    border: 1px solid #ccc;
    background: #f7f7f7;
    box-shadow: 0 1px 0 #ccc;
    vertical-align: top;
    display: inline-block;
    text-decoration: none;
    font-size: 13px;
    line-height: 26px;
    height: 28px;
    margin: 0;
    padding: 0 10px 1px;
    cursor: pointer;
    border-radius: 3px;
    white-space: nowrap;
    -webkit-appearance: none;
    box-sizing: border-box;
}

#my-custom-button:hover {
    background: #fafafa;
    border-color: #999;
    color: #23282d;
}

#my-custom-button:focus {
    border-color: #5b9dd9;
    box-shadow: 0 0 2px 1px #5b9dd9;
    outline: none;
}
}
	
	
/* GoogleMapボタン */
.btn-default {
    width:180px;
    height:40px;
    line-height:40px;
}
.btn-default a{
    display:block;
    width:100%;
    height:100%;
    text-decoration: none;
    background:#2C5638;
    text-align:center;
    border:1px solid #FFFFFF;
    color:#FFFFFF;
    font-size:2rem;
    font-weight:bold;
    border-radius:50px;
    -webkit-border-radius:50px;
    -moz-border-radius:50px;
    box-shadow:0px 0px 0px 3px #2C5638 ;
    transition: all 0.5s ease;
}
.btn-default a:hover{
    background:#2C5638;
    color:#999999;
    margin-left:0px;
    margin-top:0px;
    border:1px solid #FFFFFF;
    box-shadow:0px 0px 0px 3px #2C5638 ;
}
.g-btn {
  display: flex; /* フレックスボックスを有効にする */
  justify-content: center; /* 水平方向に中央寄せ */
  align-items: center; /* 垂直方向に中央寄せ（必要に応じて） */
  height: 100%; /* 親要素の高さに合わせる */
}

.btn-default {
  margin: 0; /* ボタンのマージンをリセットする */
  /* その他のボタンスタイル */
}

.btn-default a {
  display: block; /* リンクをブロック要素にする */
  text-align: center; /* テキストを中央寄せにする */
  text-decoration: none; /* テキストの下線を消す */
  /* その他のリンクスタイル */
}

/* 見出しh4 装飾 */
.ttl_line6 {
  font-weight: bold;
  padding: 0.5em 0.3em;
  margin-bottom: 0.3em;
  margin-top: 3rem;
  position: relative;
  font-size: 3rem;	
}
.ttl_line6::before {
  content: '';
  background-color: #2c5638;
  width: 2em;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
}



/* アイキャッチのポップアップ */
/* フルサイズ画像のポップアップ表示用 */
#fullsize-img-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    background-color: #fff;
    padding: 10px;
    border: 1px solid #ccc;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .5);
    display: none; /* 初期状態では非表示 */
    max-width: 80%; /* 画像の最大幅をビューポートの80%に制限 */
    max-height: 80vh; /* 画像の最大高さをビューポートの高さの80%に制限 */
    overflow: auto; /* 画像が大きすぎる場合はスクロールバーを表示 */
}


/* ショートコードのコピーボタン */
#my_custom_shortcode input {
    margin-top: 10px;
}

.table_price {
    width: 80%;
    margin: 50px auto 0 auto;
    border: solid 3px #cdcdcd;
}

.table_price th {
    background-color: #2c5638;
    color: white;
    vertical-align: middle;
    width: 25%;
}

.table_price td {}

.table_price .border {
    border-top: solid 2px #b7b7b7;
}

.table_price tr {}

.table_price th,
.table_price td {
    border: solid 1px #d9d9d9;
    text-align: center;
    padding: 15px;
}
@media (max-width: 768px) {
.table_price th,
.table_price td {
    padding: 10px 5px !important;
	font-size: 1.6rem;
}
	
}

main #ez-toc-container {
    border-top: 10px solid #2c5638;
    border-radius: 3px;
    background-color: white;
    padding: 3%;
    margin: 0 0 60px 0 !important;
}
#ez-toc-container a {
    font-size: 1.8rem;
    line-height: 200%;
    margin: 2px 0;
}
#ez-toc-container .ez-toc-heading-1 {
    border-bottom: 2px solid #dddddd;
    display: block;
    color: #2c5638;
    font-size: 2rem;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding: 0 0 5px 0;
}
.column_contact {
    background-color: #fffce1;
    width: 100%;
    text-align: center;
    padding: 1% 2% 4% 2%;
    border-radius: 3px;
}
.column_contact .btn {
    background: #ff800a;
    border-radius: 0.6rem;
    height: 6rem;
    text-align: center;
    color: white;
    padding: 1% 2%;
    text-decoration: none;
    font-size: 20px;
}
.column_contact ul {
    margin: 0 0 4rem 0;
}
.column_contact ul li {
    line-height: 180%;
    font-size: 16px;
}
.column_contact_title {
    display: inline-block;
    position: relative;
    padding: 0rem 2.5rem;
    font-size: 20px;
    font-weight: bold;
    margin: 3rem 0 2.5rem 0 !important;
}

.column_contact_title::before,
.column_contact_title::after {
    position: absolute;
    top: 0.8rem;
    height: 1.8rem;
    content: '';
}

.column_contact_title::before {
    border-left: solid 2px;
    left: 0;
    transform: rotate(-30deg);
}

.column_contact_title::after {
    border-right: solid 2px;
    right: 0;
    transform: rotate(30deg);
}

.column_writer {
    border: solid 3px #e9e9e9;
    color: #2c5638;
    padding: 3%;
    width: 100%;
    border-radius: 4px;
}
.column_profile_img {
    border-radius: 50%;
    width: 200px;
    height: 200px;
    object-fit: cover; /* ã“ã®ä¸€è¡Œã‚’è¿½åŠ ã™ã‚‹ã ã‘ï¼ */
    float: left;
    margin: 0 5rem 0 0;
}
.column_name {
    font-size: 20px;
    font-weight: bold;
    margin: 2rem 0 3rem 0 !important;
}
.column_profile {}
.h2_column {
    border-bottom: 3px solid;
    color: #2c5638;
    font-size: 4rem;
    font-weight: 900;
    letter-spacing: .2em;
    min-width: 128rem;
    padding: 1.5rem 2rem;
    text-align: left;
}
.h3_column {
	    border-bottom: 2px solid #d1d1d1;
    color: #606060;
    font-size: 3rem;
    font-weight: normal;
    letter-spacing: .2em;
    min-width: 128rem;
    padding: 1.5rem 2rem;
    text-align: left;
}
@media (max-width: 768px) {
	.h2_column {
    border-bottom: 2px solid;
    font-size: 1.8rem;
    letter-spacing: .05em;
    padding: 1rem;
    min-width: -webkit-fill-available;
}
	.h3_column {
    font-size: 1.8rem;
    letter-spacing: .05em;
    min-width: -webkit-fill-available;
    padding: 1rem;
}
main #ez-toc-container {}
#ez-toc-container a {}
#ez-toc-container .ez-toc-heading-1 {}
.column_contact {
    padding: 1% 2% 10% 2%;
}
.column_contact .btn {
    font-size: 1.8rem;
    padding: 3% 5%;
}
.column_contact ul {}
.column_contact ul li {
    font-size: 1.4rem;
}
.column_contact_title {
    font-size: 1.8rem;
}

.column_contact_title::before,
.column_contact_title::after {}
.column_contact_title::before {}
.column_contact_title::after {}
.column_writer {
    text-align: center;
    padding: 5% 3%;
}
.column_profile_img {
    float: inherit;
    margin: 0;
}
.column_name {
    margin: 2rem 0 2rem 0 !important;
    font-size: 1.8rem;
}
.column_profile {}
}